diff --git a/.github/workflows/cast_deployment.yaml b/.github/workflows/cast_deployment.yaml index 63957be8b1..e9e41b8b4d 100644 --- a/.github/workflows/cast_deployment.yaml +++ b/.github/workflows/cast_deployment.yaml @@ -22,7 +22,7 @@ jobs: url: ${{ steps.deploy.outputs.NETLIFY_LIVE_URL || steps.deploy.outputs.NETLIFY_URL }} steps: - name: Check out files from GitHub - uses: actions/checkout@v3.3.0 + uses: actions/checkout@v3.5.0 with: ref: dev @@ -58,7 +58,7 @@ jobs: url: ${{ steps.deploy.outputs.NETLIFY_LIVE_URL || steps.deploy.outputs.NETLIFY_URL }} steps: - name: Check out files from GitHub - uses: actions/checkout@v3.3.0 + uses: actions/checkout@v3.5.0 with: ref: master diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 625ff3ddbe..c2b8d29baa 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -25,7 +25,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Check out files from GitHub - uses: actions/checkout@v3.3.0 + uses: actions/checkout@v3.5.0 - name: Set up Node ${{ env.NODE_VERSION }} uses: actions/setup-node@v3.6.0 with: @@ -48,7 +48,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Check out files from GitHub - uses: actions/checkout@v3.3.0 + uses: actions/checkout@v3.5.0 - name: Set up Node ${{ env.NODE_VERSION }} uses: actions/setup-node@v3.6.0 with: @@ -66,7 +66,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Check out files from GitHub - uses: actions/checkout@v3.3.0 + uses: actions/checkout@v3.5.0 - name: Set up Node ${{ env.NODE_VERSION }} uses: actions/setup-node@v3.6.0 with: @@ -84,7 +84,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Check out files from GitHub - uses: actions/checkout@v3.3.0 + uses: actions/checkout@v3.5.0 - name: Set up Node ${{ env.NODE_VERSION }} uses: actions/setup-node@v3.6.0 with: diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 7e417b355b..94b8ee085d 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -23,7 +23,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v3.3.0 + uses: actions/checkout@v3.5.0 with: # We must fetch at least the immediate parents so that if this is # a pull request then we can checkout the head. diff --git a/.github/workflows/demo_deployment.yaml b/.github/workflows/demo_deployment.yaml index f760ad9021..56bb35996d 100644 --- a/.github/workflows/demo_deployment.yaml +++ b/.github/workflows/demo_deployment.yaml @@ -23,7 +23,7 @@ jobs: url: ${{ steps.deploy.outputs.NETLIFY_LIVE_URL || steps.deploy.outputs.NETLIFY_URL }} steps: - name: Check out files from GitHub - uses: actions/checkout@v3.3.0 + uses: actions/checkout@v3.5.0 with: ref: dev @@ -59,7 +59,7 @@ jobs: url: ${{ steps.deploy.outputs.NETLIFY_LIVE_URL || steps.deploy.outputs.NETLIFY_URL }} steps: - name: Check out files from GitHub - uses: actions/checkout@v3.3.0 + uses: actions/checkout@v3.5.0 with: ref: master diff --git a/.github/workflows/design_deployment.yaml b/.github/workflows/design_deployment.yaml index 1803766c92..22f8673603 100644 --- a/.github/workflows/design_deployment.yaml +++ b/.github/workflows/design_deployment.yaml @@ -17,7 +17,7 @@ jobs: url: ${{ steps.deploy.outputs.NETLIFY_LIVE_URL || steps.deploy.outputs.NETLIFY_URL }} steps: - name: Check out files from GitHub - uses: actions/checkout@v3.3.0 + uses: actions/checkout@v3.5.0 - name: Set up Node ${{ env.NODE_VERSION }} uses: actions/setup-node@v3.6.0 diff --git a/.github/workflows/design_preview.yaml b/.github/workflows/design_preview.yaml index 6677c65f43..335cbca79b 100644 --- a/.github/workflows/design_preview.yaml +++ b/.github/workflows/design_preview.yaml @@ -22,7 +22,7 @@ jobs: if: github.repository == 'home-assistant/frontend' && contains(github.event.pull_request.labels.*.name, 'needs design preview') steps: - name: Check out files from GitHub - uses: actions/checkout@v3.3.0 + uses: actions/checkout@v3.5.0 - name: Set up Node ${{ env.NODE_VERSION }} uses: actions/setup-node@v3.6.0 diff --git a/.github/workflows/nightly.yaml b/.github/workflows/nightly.yaml index ffadf0a483..a79cfb5249 100644 --- a/.github/workflows/nightly.yaml +++ b/.github/workflows/nightly.yaml @@ -21,7 +21,7 @@ jobs: contents: write steps: - name: Checkout the repository - uses: actions/checkout@v3.3.0 + uses: actions/checkout@v3.5.0 - name: Set up Python ${{ env.PYTHON_VERSION }} uses: actions/setup-python@v4 diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 01058a9413..686ca2ab02 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -24,7 +24,7 @@ jobs: contents: write # Required to upload release assets steps: - name: Checkout the repository - uses: actions/checkout@v3.3.0 + uses: actions/checkout@v3.5.0 - name: Verify version uses: home-assistant/actions/helpers/verify-version@master diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index bd5f019615..f93097d982 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -10,7 +10,7 @@ jobs: runs-on: ubuntu-latest steps: - name: 90 days stale policy - uses: actions/stale@v7.0.0 + uses: actions/stale@v8.0.0 with: repo-token: ${{ secrets.GITHUB_TOKEN }} days-before-stale: 90 diff --git a/.github/workflows/translations.yaml b/.github/workflows/translations.yaml index 594117661c..a0eee41524 100644 --- a/.github/workflows/translations.yaml +++ b/.github/workflows/translations.yaml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout the repository - uses: actions/checkout@v3.3.0 + uses: actions/checkout@v3.5.0 - name: Upload Translations run: | diff --git a/.yarn/releases/yarn-3.4.1.cjs b/.yarn/releases/yarn-3.5.0.cjs similarity index 53% rename from .yarn/releases/yarn-3.4.1.cjs rename to .yarn/releases/yarn-3.5.0.cjs index 2bdb752d86..093e64a9fe 100755 --- a/.yarn/releases/yarn-3.4.1.cjs +++ b/.yarn/releases/yarn-3.5.0.cjs @@ -1,48 +1,48 @@ #!/usr/bin/env node /* eslint-disable */ //prettier-ignore -(()=>{var Mue=Object.create;var Wb=Object.defineProperty;var Kue=Object.getOwnPropertyDescriptor;var Uue=Object.getOwnPropertyNames;var Hue=Object.getPrototypeOf,Gue=Object.prototype.hasOwnProperty;var J=(r=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(r,{get:(e,t)=>(typeof require<"u"?require:e)[t]}):r)(function(r){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+r+'" is not supported')});var Yue=(r,e)=>()=>(r&&(e=r(r=0)),e);var w=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),ut=(r,e)=>{for(var t in e)Wb(r,t,{get:e[t],enumerable:!0})},jue=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Uue(e))!Gue.call(r,n)&&n!==t&&Wb(r,n,{get:()=>e[n],enumerable:!(i=Kue(e,n))||i.enumerable});return r};var Pe=(r,e,t)=>(t=r!=null?Mue(Hue(r)):{},jue(e||!r||!r.__esModule?Wb(t,"default",{value:r,enumerable:!0}):t,r));var _1=w((O7e,X1)=>{X1.exports=V1;V1.sync=uge;var W1=J("fs");function cge(r,e){var t=e.pathExt!==void 0?e.pathExt:process.env.PATHEXT;if(!t||(t=t.split(";"),t.indexOf("")!==-1))return!0;for(var i=0;i{tK.exports=$1;$1.sync=gge;var Z1=J("fs");function $1(r,e,t){Z1.stat(r,function(i,n){t(i,i?!1:eK(n,e))})}function gge(r,e){return eK(Z1.statSync(r),e)}function eK(r,e){return r.isFile()&&fge(r,e)}function fge(r,e){var t=r.mode,i=r.uid,n=r.gid,s=e.uid!==void 0?e.uid:process.getuid&&process.getuid(),o=e.gid!==void 0?e.gid:process.getgid&&process.getgid(),a=parseInt("100",8),l=parseInt("010",8),c=parseInt("001",8),u=a|l,g=t&c||t&l&&n===o||t&a&&i===s||t&u&&s===0;return g}});var nK=w((U7e,iK)=>{var K7e=J("fs"),_E;process.platform==="win32"||global.TESTING_WINDOWS?_E=_1():_E=rK();iK.exports=uS;uS.sync=hge;function uS(r,e,t){if(typeof e=="function"&&(t=e,e={}),!t){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(i,n){uS(r,e||{},function(s,o){s?n(s):i(o)})})}_E(r,e||{},function(i,n){i&&(i.code==="EACCES"||e&&e.ignoreErrors)&&(i=null,n=!1),t(i,n)})}function hge(r,e){try{return _E.sync(r,e||{})}catch(t){if(e&&e.ignoreErrors||t.code==="EACCES")return!1;throw t}}});var uK=w((H7e,cK)=>{var Ig=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",sK=J("path"),pge=Ig?";":":",oK=nK(),aK=r=>Object.assign(new Error(`not found: ${r}`),{code:"ENOENT"}),AK=(r,e)=>{let t=e.colon||pge,i=r.match(/\//)||Ig&&r.match(/\\/)?[""]:[...Ig?[process.cwd()]:[],...(e.path||process.env.PATH||"").split(t)],n=Ig?e.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",s=Ig?n.split(t):[""];return Ig&&r.indexOf(".")!==-1&&s[0]!==""&&s.unshift(""),{pathEnv:i,pathExt:s,pathExtExe:n}},lK=(r,e,t)=>{typeof e=="function"&&(t=e,e={}),e||(e={});let{pathEnv:i,pathExt:n,pathExtExe:s}=AK(r,e),o=[],a=c=>new Promise((u,g)=>{if(c===i.length)return e.all&&o.length?u(o):g(aK(r));let f=i[c],h=/^".*"$/.test(f)?f.slice(1,-1):f,p=sK.join(h,r),C=!h&&/^\.[\\\/]/.test(r)?r.slice(0,2)+p:p;u(l(C,c,0))}),l=(c,u,g)=>new Promise((f,h)=>{if(g===n.length)return f(a(u+1));let p=n[g];oK(c+p,{pathExt:s},(C,y)=>{if(!C&&y)if(e.all)o.push(c+p);else return f(c+p);return f(l(c,u,g+1))})});return t?a(0).then(c=>t(null,c),t):a(0)},dge=(r,e)=>{e=e||{};let{pathEnv:t,pathExt:i,pathExtExe:n}=AK(r,e),s=[];for(let o=0;o{"use strict";var gK=(r={})=>{let e=r.env||process.env;return(r.platform||process.platform)!=="win32"?"PATH":Object.keys(e).reverse().find(i=>i.toUpperCase()==="PATH")||"Path"};gS.exports=gK;gS.exports.default=gK});var CK=w((Y7e,dK)=>{"use strict";var hK=J("path"),Cge=uK(),mge=fK();function pK(r,e){let t=r.options.env||process.env,i=process.cwd(),n=r.options.cwd!=null,s=n&&process.chdir!==void 0&&!process.chdir.disabled;if(s)try{process.chdir(r.options.cwd)}catch{}let o;try{o=Cge.sync(r.command,{path:t[mge({env:t})],pathExt:e?hK.delimiter:void 0})}catch{}finally{s&&process.chdir(i)}return o&&(o=hK.resolve(n?r.options.cwd:"",o)),o}function Ege(r){return pK(r)||pK(r,!0)}dK.exports=Ege});var mK=w((j7e,hS)=>{"use strict";var fS=/([()\][%!^"`<>&|;, *?])/g;function Ige(r){return r=r.replace(fS,"^$1"),r}function yge(r,e){return r=`${r}`,r=r.replace(/(\\*)"/g,'$1$1\\"'),r=r.replace(/(\\*)$/,"$1$1"),r=`"${r}"`,r=r.replace(fS,"^$1"),e&&(r=r.replace(fS,"^$1")),r}hS.exports.command=Ige;hS.exports.argument=yge});var IK=w((q7e,EK)=>{"use strict";EK.exports=/^#!(.*)/});var wK=w((J7e,yK)=>{"use strict";var wge=IK();yK.exports=(r="")=>{let e=r.match(wge);if(!e)return null;let[t,i]=e[0].replace(/#! ?/,"").split(" "),n=t.split("/").pop();return n==="env"?i:i?`${n} ${i}`:n}});var QK=w((W7e,BK)=>{"use strict";var pS=J("fs"),Bge=wK();function Qge(r){let t=Buffer.alloc(150),i;try{i=pS.openSync(r,"r"),pS.readSync(i,t,0,150,0),pS.closeSync(i)}catch{}return Bge(t.toString())}BK.exports=Qge});var xK=w((z7e,vK)=>{"use strict";var bge=J("path"),bK=CK(),SK=mK(),Sge=QK(),vge=process.platform==="win32",xge=/\.(?:com|exe)$/i,Pge=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function Dge(r){r.file=bK(r);let e=r.file&&Sge(r.file);return e?(r.args.unshift(r.file),r.command=e,bK(r)):r.file}function kge(r){if(!vge)return r;let e=Dge(r),t=!xge.test(e);if(r.options.forceShell||t){let i=Pge.test(e);r.command=bge.normalize(r.command),r.command=SK.command(r.command),r.args=r.args.map(s=>SK.argument(s,i));let n=[r.command].concat(r.args).join(" ");r.args=["/d","/s","/c",`"${n}"`],r.command=process.env.comspec||"cmd.exe",r.options.windowsVerbatimArguments=!0}return r}function Rge(r,e,t){e&&!Array.isArray(e)&&(t=e,e=null),e=e?e.slice(0):[],t=Object.assign({},t);let i={command:r,args:e,options:t,file:void 0,original:{command:r,args:e}};return t.shell?i:kge(i)}vK.exports=Rge});var kK=w((V7e,DK)=>{"use strict";var dS=process.platform==="win32";function CS(r,e){return Object.assign(new Error(`${e} ${r.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${e} ${r.command}`,path:r.command,spawnargs:r.args})}function Fge(r,e){if(!dS)return;let t=r.emit;r.emit=function(i,n){if(i==="exit"){let s=PK(n,e,"spawn");if(s)return t.call(r,"error",s)}return t.apply(r,arguments)}}function PK(r,e){return dS&&r===1&&!e.file?CS(e.original,"spawn"):null}function Nge(r,e){return dS&&r===1&&!e.file?CS(e.original,"spawnSync"):null}DK.exports={hookChildProcess:Fge,verifyENOENT:PK,verifyENOENTSync:Nge,notFoundError:CS}});var IS=w((X7e,yg)=>{"use strict";var RK=J("child_process"),mS=xK(),ES=kK();function FK(r,e,t){let i=mS(r,e,t),n=RK.spawn(i.command,i.args,i.options);return ES.hookChildProcess(n,i),n}function Lge(r,e,t){let i=mS(r,e,t),n=RK.spawnSync(i.command,i.args,i.options);return n.error=n.error||ES.verifyENOENTSync(n.status,i),n}yg.exports=FK;yg.exports.spawn=FK;yg.exports.sync=Lge;yg.exports._parse=mS;yg.exports._enoent=ES});var LK=w((_7e,NK)=>{"use strict";function Tge(r,e){function t(){this.constructor=r}t.prototype=e.prototype,r.prototype=new t}function Ml(r,e,t,i){this.message=r,this.expected=e,this.found=t,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,Ml)}Tge(Ml,Error);Ml.buildMessage=function(r,e){var t={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,f=1;g>",ie=me(">>",!1),de=">&",tt=me(">&",!1),Pt=">",It=me(">",!1),Or="<<<",ii=me("<<<",!1),gi="<&",hr=me("<&",!1),fi="<",ni=me("<",!1),Ls=function(m){return{type:"argument",segments:[].concat(...m)}},pr=function(m){return m},Ei="$'",_n=me("$'",!1),oa="'",aA=me("'",!1),eg=function(m){return[{type:"text",text:m}]},Zn='""',AA=me('""',!1),aa=function(){return{type:"text",text:""}},up='"',lA=me('"',!1),cA=function(m){return m},wr=function(m){return{type:"arithmetic",arithmetic:m,quoted:!0}},wl=function(m){return{type:"shell",shell:m,quoted:!0}},tg=function(m){return{type:"variable",...m,quoted:!0}},po=function(m){return{type:"text",text:m}},rg=function(m){return{type:"arithmetic",arithmetic:m,quoted:!1}},gp=function(m){return{type:"shell",shell:m,quoted:!1}},fp=function(m){return{type:"variable",...m,quoted:!1}},vr=function(m){return{type:"glob",pattern:m}},se=/^[^']/,Co=Je(["'"],!0,!1),Dn=function(m){return m.join("")},ig=/^[^$"]/,Qt=Je(["$",'"'],!0,!1),Bl=`\\ -`,kn=me(`\\ -`,!1),$n=function(){return""},es="\\",gt=me("\\",!1),mo=/^[\\$"`]/,At=Je(["\\","$",'"',"`"],!1,!1),an=function(m){return m},S="\\a",Tt=me("\\a",!1),ng=function(){return"a"},Ql="\\b",hp=me("\\b",!1),pp=function(){return"\b"},dp=/^[Ee]/,Cp=Je(["E","e"],!1,!1),mp=function(){return"\x1B"},G="\\f",yt=me("\\f",!1),uA=function(){return"\f"},ji="\\n",bl=me("\\n",!1),Xe=function(){return` -`},Aa="\\r",sg=me("\\r",!1),bE=function(){return"\r"},Ep="\\t",SE=me("\\t",!1),ar=function(){return" "},Rn="\\v",Sl=me("\\v",!1),Ip=function(){return"\v"},Ts=/^[\\'"?]/,la=Je(["\\","'",'"',"?"],!1,!1),An=function(m){return String.fromCharCode(parseInt(m,16))},Te="\\x",og=me("\\x",!1),vl="\\u",Os=me("\\u",!1),xl="\\U",gA=me("\\U",!1),ag=function(m){return String.fromCodePoint(parseInt(m,16))},Ag=/^[0-7]/,ca=Je([["0","7"]],!1,!1),ua=/^[0-9a-fA-f]/,rt=Je([["0","9"],["a","f"],["A","f"]],!1,!1),Eo=nt(),fA="-",Pl=me("-",!1),Ms="+",Dl=me("+",!1),vE=".",yp=me(".",!1),lg=function(m,b,N){return{type:"number",value:(m==="-"?-1:1)*parseFloat(b.join("")+"."+N.join(""))}},wp=function(m,b){return{type:"number",value:(m==="-"?-1:1)*parseInt(b.join(""))}},xE=function(m){return{type:"variable",...m}},kl=function(m){return{type:"variable",name:m}},PE=function(m){return m},cg="*",hA=me("*",!1),Rr="/",DE=me("/",!1),Ks=function(m,b,N){return{type:b==="*"?"multiplication":"division",right:N}},Us=function(m,b){return b.reduce((N,U)=>({left:N,...U}),m)},ug=function(m,b,N){return{type:b==="+"?"addition":"subtraction",right:N}},pA="$((",R=me("$((",!1),q="))",Ce=me("))",!1),Ke=function(m){return m},Re="$(",ze=me("$(",!1),dt=function(m){return m},Ft="${",Fn=me("${",!1),Db=":-",$M=me(":-",!1),e1=function(m,b){return{name:m,defaultValue:b}},kb=":-}",t1=me(":-}",!1),r1=function(m){return{name:m,defaultValue:[]}},Rb=":+",i1=me(":+",!1),n1=function(m,b){return{name:m,alternativeValue:b}},Fb=":+}",s1=me(":+}",!1),o1=function(m){return{name:m,alternativeValue:[]}},Nb=function(m){return{name:m}},a1="$",A1=me("$",!1),l1=function(m){return e.isGlobPattern(m)},c1=function(m){return m},Lb=/^[a-zA-Z0-9_]/,Tb=Je([["a","z"],["A","Z"],["0","9"],"_"],!1,!1),Ob=function(){return T()},Mb=/^[$@*?#a-zA-Z0-9_\-]/,Kb=Je(["$","@","*","?","#",["a","z"],["A","Z"],["0","9"],"_","-"],!1,!1),u1=/^[(){}<>$|&; \t"']/,gg=Je(["(",")","{","}","<",">","$","|","&",";"," "," ",'"',"'"],!1,!1),Ub=/^[<>&; \t"']/,Hb=Je(["<",">","&",";"," "," ",'"',"'"],!1,!1),kE=/^[ \t]/,RE=Je([" "," "],!1,!1),Q=0,Me=0,dA=[{line:1,column:1}],d=0,E=[],I=0,k;if("startRule"in e){if(!(e.startRule in i))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');n=i[e.startRule]}function T(){return r.substring(Me,Q)}function _(){return Et(Me,Q)}function te(m,b){throw b=b!==void 0?b:Et(Me,Q),ki([lt(m)],r.substring(Me,Q),b)}function Be(m,b){throw b=b!==void 0?b:Et(Me,Q),Nn(m,b)}function me(m,b){return{type:"literal",text:m,ignoreCase:b}}function Je(m,b,N){return{type:"class",parts:m,inverted:b,ignoreCase:N}}function nt(){return{type:"any"}}function wt(){return{type:"end"}}function lt(m){return{type:"other",description:m}}function it(m){var b=dA[m],N;if(b)return b;for(N=m-1;!dA[N];)N--;for(b=dA[N],b={line:b.line,column:b.column};Nd&&(d=Q,E=[]),E.push(m))}function Nn(m,b){return new Ml(m,null,null,b)}function ki(m,b,N){return new Ml(Ml.buildMessage(m,b),m,b,N)}function CA(){var m,b;return m=Q,b=Mr(),b===t&&(b=null),b!==t&&(Me=m,b=s(b)),m=b,m}function Mr(){var m,b,N,U,ce;if(m=Q,b=Kr(),b!==t){for(N=[],U=He();U!==t;)N.push(U),U=He();N!==t?(U=ga(),U!==t?(ce=ts(),ce===t&&(ce=null),ce!==t?(Me=m,b=o(b,U,ce),m=b):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t)}else Q=m,m=t;if(m===t)if(m=Q,b=Kr(),b!==t){for(N=[],U=He();U!==t;)N.push(U),U=He();N!==t?(U=ga(),U===t&&(U=null),U!==t?(Me=m,b=a(b,U),m=b):(Q=m,m=t)):(Q=m,m=t)}else Q=m,m=t;return m}function ts(){var m,b,N,U,ce;for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();if(b!==t)if(N=Mr(),N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();U!==t?(Me=m,b=l(N),m=b):(Q=m,m=t)}else Q=m,m=t;else Q=m,m=t;return m}function ga(){var m;return r.charCodeAt(Q)===59?(m=c,Q++):(m=t,I===0&&Qe(u)),m===t&&(r.charCodeAt(Q)===38?(m=g,Q++):(m=t,I===0&&Qe(f))),m}function Kr(){var m,b,N;return m=Q,b=g1(),b!==t?(N=yue(),N===t&&(N=null),N!==t?(Me=m,b=h(b,N),m=b):(Q=m,m=t)):(Q=m,m=t),m}function yue(){var m,b,N,U,ce,Se,ht;for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();if(b!==t)if(N=wue(),N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();if(U!==t)if(ce=Kr(),ce!==t){for(Se=[],ht=He();ht!==t;)Se.push(ht),ht=He();Se!==t?(Me=m,b=p(N,ce),m=b):(Q=m,m=t)}else Q=m,m=t;else Q=m,m=t}else Q=m,m=t;else Q=m,m=t;return m}function wue(){var m;return r.substr(Q,2)===C?(m=C,Q+=2):(m=t,I===0&&Qe(y)),m===t&&(r.substr(Q,2)===B?(m=B,Q+=2):(m=t,I===0&&Qe(v))),m}function g1(){var m,b,N;return m=Q,b=bue(),b!==t?(N=Bue(),N===t&&(N=null),N!==t?(Me=m,b=D(b,N),m=b):(Q=m,m=t)):(Q=m,m=t),m}function Bue(){var m,b,N,U,ce,Se,ht;for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();if(b!==t)if(N=Que(),N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();if(U!==t)if(ce=g1(),ce!==t){for(Se=[],ht=He();ht!==t;)Se.push(ht),ht=He();Se!==t?(Me=m,b=L(N,ce),m=b):(Q=m,m=t)}else Q=m,m=t;else Q=m,m=t}else Q=m,m=t;else Q=m,m=t;return m}function Que(){var m;return r.substr(Q,2)===H?(m=H,Q+=2):(m=t,I===0&&Qe(j)),m===t&&(r.charCodeAt(Q)===124?(m=$,Q++):(m=t,I===0&&Qe(V))),m}function FE(){var m,b,N,U,ce,Se;if(m=Q,b=Q1(),b!==t)if(r.charCodeAt(Q)===61?(N=W,Q++):(N=t,I===0&&Qe(Z)),N!==t)if(U=p1(),U!==t){for(ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();ce!==t?(Me=m,b=A(b,U),m=b):(Q=m,m=t)}else Q=m,m=t;else Q=m,m=t;else Q=m,m=t;if(m===t)if(m=Q,b=Q1(),b!==t)if(r.charCodeAt(Q)===61?(N=W,Q++):(N=t,I===0&&Qe(Z)),N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();U!==t?(Me=m,b=ae(b),m=b):(Q=m,m=t)}else Q=m,m=t;else Q=m,m=t;return m}function bue(){var m,b,N,U,ce,Se,ht,Bt,Jr,hi,rs;for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();if(b!==t)if(r.charCodeAt(Q)===40?(N=ge,Q++):(N=t,I===0&&Qe(re)),N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();if(U!==t)if(ce=Mr(),ce!==t){for(Se=[],ht=He();ht!==t;)Se.push(ht),ht=He();if(Se!==t)if(r.charCodeAt(Q)===41?(ht=O,Q++):(ht=t,I===0&&Qe(F)),ht!==t){for(Bt=[],Jr=He();Jr!==t;)Bt.push(Jr),Jr=He();if(Bt!==t){for(Jr=[],hi=Bp();hi!==t;)Jr.push(hi),hi=Bp();if(Jr!==t){for(hi=[],rs=He();rs!==t;)hi.push(rs),rs=He();hi!==t?(Me=m,b=ue(ce,Jr),m=b):(Q=m,m=t)}else Q=m,m=t}else Q=m,m=t}else Q=m,m=t;else Q=m,m=t}else Q=m,m=t;else Q=m,m=t}else Q=m,m=t;else Q=m,m=t;if(m===t){for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();if(b!==t)if(r.charCodeAt(Q)===123?(N=he,Q++):(N=t,I===0&&Qe(ke)),N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();if(U!==t)if(ce=Mr(),ce!==t){for(Se=[],ht=He();ht!==t;)Se.push(ht),ht=He();if(Se!==t)if(r.charCodeAt(Q)===125?(ht=Fe,Q++):(ht=t,I===0&&Qe(Ne)),ht!==t){for(Bt=[],Jr=He();Jr!==t;)Bt.push(Jr),Jr=He();if(Bt!==t){for(Jr=[],hi=Bp();hi!==t;)Jr.push(hi),hi=Bp();if(Jr!==t){for(hi=[],rs=He();rs!==t;)hi.push(rs),rs=He();hi!==t?(Me=m,b=oe(ce,Jr),m=b):(Q=m,m=t)}else Q=m,m=t}else Q=m,m=t}else Q=m,m=t;else Q=m,m=t}else Q=m,m=t;else Q=m,m=t}else Q=m,m=t;else Q=m,m=t;if(m===t){for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();if(b!==t){for(N=[],U=FE();U!==t;)N.push(U),U=FE();if(N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();if(U!==t){if(ce=[],Se=h1(),Se!==t)for(;Se!==t;)ce.push(Se),Se=h1();else ce=t;if(ce!==t){for(Se=[],ht=He();ht!==t;)Se.push(ht),ht=He();Se!==t?(Me=m,b=le(N,ce),m=b):(Q=m,m=t)}else Q=m,m=t}else Q=m,m=t}else Q=m,m=t}else Q=m,m=t;if(m===t){for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();if(b!==t){if(N=[],U=FE(),U!==t)for(;U!==t;)N.push(U),U=FE();else N=t;if(N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();U!==t?(Me=m,b=we(N),m=b):(Q=m,m=t)}else Q=m,m=t}else Q=m,m=t}}}return m}function f1(){var m,b,N,U,ce;for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();if(b!==t){if(N=[],U=NE(),U!==t)for(;U!==t;)N.push(U),U=NE();else N=t;if(N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();U!==t?(Me=m,b=fe(N),m=b):(Q=m,m=t)}else Q=m,m=t}else Q=m,m=t;return m}function h1(){var m,b,N;for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();if(b!==t?(N=Bp(),N!==t?(Me=m,b=Ae(N),m=b):(Q=m,m=t)):(Q=m,m=t),m===t){for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();b!==t?(N=NE(),N!==t?(Me=m,b=Ae(N),m=b):(Q=m,m=t)):(Q=m,m=t)}return m}function Bp(){var m,b,N,U,ce;for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();return b!==t?(qe.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(ne)),N===t&&(N=null),N!==t?(U=Sue(),U!==t?(ce=NE(),ce!==t?(Me=m,b=Y(N,U,ce),m=b):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t),m}function Sue(){var m;return r.substr(Q,2)===pe?(m=pe,Q+=2):(m=t,I===0&&Qe(ie)),m===t&&(r.substr(Q,2)===de?(m=de,Q+=2):(m=t,I===0&&Qe(tt)),m===t&&(r.charCodeAt(Q)===62?(m=Pt,Q++):(m=t,I===0&&Qe(It)),m===t&&(r.substr(Q,3)===Or?(m=Or,Q+=3):(m=t,I===0&&Qe(ii)),m===t&&(r.substr(Q,2)===gi?(m=gi,Q+=2):(m=t,I===0&&Qe(hr)),m===t&&(r.charCodeAt(Q)===60?(m=fi,Q++):(m=t,I===0&&Qe(ni))))))),m}function NE(){var m,b,N;for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();return b!==t?(N=p1(),N!==t?(Me=m,b=Ae(N),m=b):(Q=m,m=t)):(Q=m,m=t),m}function p1(){var m,b,N;if(m=Q,b=[],N=d1(),N!==t)for(;N!==t;)b.push(N),N=d1();else b=t;return b!==t&&(Me=m,b=Ls(b)),m=b,m}function d1(){var m,b;return m=Q,b=vue(),b!==t&&(Me=m,b=pr(b)),m=b,m===t&&(m=Q,b=xue(),b!==t&&(Me=m,b=pr(b)),m=b,m===t&&(m=Q,b=Pue(),b!==t&&(Me=m,b=pr(b)),m=b,m===t&&(m=Q,b=Due(),b!==t&&(Me=m,b=pr(b)),m=b))),m}function vue(){var m,b,N,U;return m=Q,r.substr(Q,2)===Ei?(b=Ei,Q+=2):(b=t,I===0&&Qe(_n)),b!==t?(N=Fue(),N!==t?(r.charCodeAt(Q)===39?(U=oa,Q++):(U=t,I===0&&Qe(aA)),U!==t?(Me=m,b=eg(N),m=b):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t),m}function xue(){var m,b,N,U;return m=Q,r.charCodeAt(Q)===39?(b=oa,Q++):(b=t,I===0&&Qe(aA)),b!==t?(N=kue(),N!==t?(r.charCodeAt(Q)===39?(U=oa,Q++):(U=t,I===0&&Qe(aA)),U!==t?(Me=m,b=eg(N),m=b):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t),m}function Pue(){var m,b,N,U;if(m=Q,r.substr(Q,2)===Zn?(b=Zn,Q+=2):(b=t,I===0&&Qe(AA)),b!==t&&(Me=m,b=aa()),m=b,m===t)if(m=Q,r.charCodeAt(Q)===34?(b=up,Q++):(b=t,I===0&&Qe(lA)),b!==t){for(N=[],U=C1();U!==t;)N.push(U),U=C1();N!==t?(r.charCodeAt(Q)===34?(U=up,Q++):(U=t,I===0&&Qe(lA)),U!==t?(Me=m,b=cA(N),m=b):(Q=m,m=t)):(Q=m,m=t)}else Q=m,m=t;return m}function Due(){var m,b,N;if(m=Q,b=[],N=m1(),N!==t)for(;N!==t;)b.push(N),N=m1();else b=t;return b!==t&&(Me=m,b=cA(b)),m=b,m}function C1(){var m,b;return m=Q,b=w1(),b!==t&&(Me=m,b=wr(b)),m=b,m===t&&(m=Q,b=B1(),b!==t&&(Me=m,b=wl(b)),m=b,m===t&&(m=Q,b=qb(),b!==t&&(Me=m,b=tg(b)),m=b,m===t&&(m=Q,b=Rue(),b!==t&&(Me=m,b=po(b)),m=b))),m}function m1(){var m,b;return m=Q,b=w1(),b!==t&&(Me=m,b=rg(b)),m=b,m===t&&(m=Q,b=B1(),b!==t&&(Me=m,b=gp(b)),m=b,m===t&&(m=Q,b=qb(),b!==t&&(Me=m,b=fp(b)),m=b,m===t&&(m=Q,b=Tue(),b!==t&&(Me=m,b=vr(b)),m=b,m===t&&(m=Q,b=Lue(),b!==t&&(Me=m,b=po(b)),m=b)))),m}function kue(){var m,b,N;for(m=Q,b=[],se.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(Co));N!==t;)b.push(N),se.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(Co));return b!==t&&(Me=m,b=Dn(b)),m=b,m}function Rue(){var m,b,N;if(m=Q,b=[],N=E1(),N===t&&(ig.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(Qt))),N!==t)for(;N!==t;)b.push(N),N=E1(),N===t&&(ig.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(Qt)));else b=t;return b!==t&&(Me=m,b=Dn(b)),m=b,m}function E1(){var m,b,N;return m=Q,r.substr(Q,2)===Bl?(b=Bl,Q+=2):(b=t,I===0&&Qe(kn)),b!==t&&(Me=m,b=$n()),m=b,m===t&&(m=Q,r.charCodeAt(Q)===92?(b=es,Q++):(b=t,I===0&&Qe(gt)),b!==t?(mo.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(At)),N!==t?(Me=m,b=an(N),m=b):(Q=m,m=t)):(Q=m,m=t)),m}function Fue(){var m,b,N;for(m=Q,b=[],N=I1(),N===t&&(se.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(Co)));N!==t;)b.push(N),N=I1(),N===t&&(se.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(Co)));return b!==t&&(Me=m,b=Dn(b)),m=b,m}function I1(){var m,b,N;return m=Q,r.substr(Q,2)===S?(b=S,Q+=2):(b=t,I===0&&Qe(Tt)),b!==t&&(Me=m,b=ng()),m=b,m===t&&(m=Q,r.substr(Q,2)===Ql?(b=Ql,Q+=2):(b=t,I===0&&Qe(hp)),b!==t&&(Me=m,b=pp()),m=b,m===t&&(m=Q,r.charCodeAt(Q)===92?(b=es,Q++):(b=t,I===0&&Qe(gt)),b!==t?(dp.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(Cp)),N!==t?(Me=m,b=mp(),m=b):(Q=m,m=t)):(Q=m,m=t),m===t&&(m=Q,r.substr(Q,2)===G?(b=G,Q+=2):(b=t,I===0&&Qe(yt)),b!==t&&(Me=m,b=uA()),m=b,m===t&&(m=Q,r.substr(Q,2)===ji?(b=ji,Q+=2):(b=t,I===0&&Qe(bl)),b!==t&&(Me=m,b=Xe()),m=b,m===t&&(m=Q,r.substr(Q,2)===Aa?(b=Aa,Q+=2):(b=t,I===0&&Qe(sg)),b!==t&&(Me=m,b=bE()),m=b,m===t&&(m=Q,r.substr(Q,2)===Ep?(b=Ep,Q+=2):(b=t,I===0&&Qe(SE)),b!==t&&(Me=m,b=ar()),m=b,m===t&&(m=Q,r.substr(Q,2)===Rn?(b=Rn,Q+=2):(b=t,I===0&&Qe(Sl)),b!==t&&(Me=m,b=Ip()),m=b,m===t&&(m=Q,r.charCodeAt(Q)===92?(b=es,Q++):(b=t,I===0&&Qe(gt)),b!==t?(Ts.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(la)),N!==t?(Me=m,b=an(N),m=b):(Q=m,m=t)):(Q=m,m=t),m===t&&(m=Nue()))))))))),m}function Nue(){var m,b,N,U,ce,Se,ht,Bt,Jr,hi,rs,Jb;return m=Q,r.charCodeAt(Q)===92?(b=es,Q++):(b=t,I===0&&Qe(gt)),b!==t?(N=Gb(),N!==t?(Me=m,b=An(N),m=b):(Q=m,m=t)):(Q=m,m=t),m===t&&(m=Q,r.substr(Q,2)===Te?(b=Te,Q+=2):(b=t,I===0&&Qe(og)),b!==t?(N=Q,U=Q,ce=Gb(),ce!==t?(Se=Ln(),Se!==t?(ce=[ce,Se],U=ce):(Q=U,U=t)):(Q=U,U=t),U===t&&(U=Gb()),U!==t?N=r.substring(N,Q):N=U,N!==t?(Me=m,b=An(N),m=b):(Q=m,m=t)):(Q=m,m=t),m===t&&(m=Q,r.substr(Q,2)===vl?(b=vl,Q+=2):(b=t,I===0&&Qe(Os)),b!==t?(N=Q,U=Q,ce=Ln(),ce!==t?(Se=Ln(),Se!==t?(ht=Ln(),ht!==t?(Bt=Ln(),Bt!==t?(ce=[ce,Se,ht,Bt],U=ce):(Q=U,U=t)):(Q=U,U=t)):(Q=U,U=t)):(Q=U,U=t),U!==t?N=r.substring(N,Q):N=U,N!==t?(Me=m,b=An(N),m=b):(Q=m,m=t)):(Q=m,m=t),m===t&&(m=Q,r.substr(Q,2)===xl?(b=xl,Q+=2):(b=t,I===0&&Qe(gA)),b!==t?(N=Q,U=Q,ce=Ln(),ce!==t?(Se=Ln(),Se!==t?(ht=Ln(),ht!==t?(Bt=Ln(),Bt!==t?(Jr=Ln(),Jr!==t?(hi=Ln(),hi!==t?(rs=Ln(),rs!==t?(Jb=Ln(),Jb!==t?(ce=[ce,Se,ht,Bt,Jr,hi,rs,Jb],U=ce):(Q=U,U=t)):(Q=U,U=t)):(Q=U,U=t)):(Q=U,U=t)):(Q=U,U=t)):(Q=U,U=t)):(Q=U,U=t)):(Q=U,U=t),U!==t?N=r.substring(N,Q):N=U,N!==t?(Me=m,b=ag(N),m=b):(Q=m,m=t)):(Q=m,m=t)))),m}function Gb(){var m;return Ag.test(r.charAt(Q))?(m=r.charAt(Q),Q++):(m=t,I===0&&Qe(ca)),m}function Ln(){var m;return ua.test(r.charAt(Q))?(m=r.charAt(Q),Q++):(m=t,I===0&&Qe(rt)),m}function Lue(){var m,b,N,U,ce;if(m=Q,b=[],N=Q,r.charCodeAt(Q)===92?(U=es,Q++):(U=t,I===0&&Qe(gt)),U!==t?(r.length>Q?(ce=r.charAt(Q),Q++):(ce=t,I===0&&Qe(Eo)),ce!==t?(Me=N,U=an(ce),N=U):(Q=N,N=t)):(Q=N,N=t),N===t&&(N=Q,U=Q,I++,ce=b1(),I--,ce===t?U=void 0:(Q=U,U=t),U!==t?(r.length>Q?(ce=r.charAt(Q),Q++):(ce=t,I===0&&Qe(Eo)),ce!==t?(Me=N,U=an(ce),N=U):(Q=N,N=t)):(Q=N,N=t)),N!==t)for(;N!==t;)b.push(N),N=Q,r.charCodeAt(Q)===92?(U=es,Q++):(U=t,I===0&&Qe(gt)),U!==t?(r.length>Q?(ce=r.charAt(Q),Q++):(ce=t,I===0&&Qe(Eo)),ce!==t?(Me=N,U=an(ce),N=U):(Q=N,N=t)):(Q=N,N=t),N===t&&(N=Q,U=Q,I++,ce=b1(),I--,ce===t?U=void 0:(Q=U,U=t),U!==t?(r.length>Q?(ce=r.charAt(Q),Q++):(ce=t,I===0&&Qe(Eo)),ce!==t?(Me=N,U=an(ce),N=U):(Q=N,N=t)):(Q=N,N=t));else b=t;return b!==t&&(Me=m,b=Dn(b)),m=b,m}function Yb(){var m,b,N,U,ce,Se;if(m=Q,r.charCodeAt(Q)===45?(b=fA,Q++):(b=t,I===0&&Qe(Pl)),b===t&&(r.charCodeAt(Q)===43?(b=Ms,Q++):(b=t,I===0&&Qe(Dl))),b===t&&(b=null),b!==t){if(N=[],qe.test(r.charAt(Q))?(U=r.charAt(Q),Q++):(U=t,I===0&&Qe(ne)),U!==t)for(;U!==t;)N.push(U),qe.test(r.charAt(Q))?(U=r.charAt(Q),Q++):(U=t,I===0&&Qe(ne));else N=t;if(N!==t)if(r.charCodeAt(Q)===46?(U=vE,Q++):(U=t,I===0&&Qe(yp)),U!==t){if(ce=[],qe.test(r.charAt(Q))?(Se=r.charAt(Q),Q++):(Se=t,I===0&&Qe(ne)),Se!==t)for(;Se!==t;)ce.push(Se),qe.test(r.charAt(Q))?(Se=r.charAt(Q),Q++):(Se=t,I===0&&Qe(ne));else ce=t;ce!==t?(Me=m,b=lg(b,N,ce),m=b):(Q=m,m=t)}else Q=m,m=t;else Q=m,m=t}else Q=m,m=t;if(m===t){if(m=Q,r.charCodeAt(Q)===45?(b=fA,Q++):(b=t,I===0&&Qe(Pl)),b===t&&(r.charCodeAt(Q)===43?(b=Ms,Q++):(b=t,I===0&&Qe(Dl))),b===t&&(b=null),b!==t){if(N=[],qe.test(r.charAt(Q))?(U=r.charAt(Q),Q++):(U=t,I===0&&Qe(ne)),U!==t)for(;U!==t;)N.push(U),qe.test(r.charAt(Q))?(U=r.charAt(Q),Q++):(U=t,I===0&&Qe(ne));else N=t;N!==t?(Me=m,b=wp(b,N),m=b):(Q=m,m=t)}else Q=m,m=t;if(m===t&&(m=Q,b=qb(),b!==t&&(Me=m,b=xE(b)),m=b,m===t&&(m=Q,b=Rl(),b!==t&&(Me=m,b=kl(b)),m=b,m===t)))if(m=Q,r.charCodeAt(Q)===40?(b=ge,Q++):(b=t,I===0&&Qe(re)),b!==t){for(N=[],U=He();U!==t;)N.push(U),U=He();if(N!==t)if(U=y1(),U!==t){for(ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();ce!==t?(r.charCodeAt(Q)===41?(Se=O,Q++):(Se=t,I===0&&Qe(F)),Se!==t?(Me=m,b=PE(U),m=b):(Q=m,m=t)):(Q=m,m=t)}else Q=m,m=t;else Q=m,m=t}else Q=m,m=t}return m}function jb(){var m,b,N,U,ce,Se,ht,Bt;if(m=Q,b=Yb(),b!==t){for(N=[],U=Q,ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();if(ce!==t)if(r.charCodeAt(Q)===42?(Se=cg,Q++):(Se=t,I===0&&Qe(hA)),Se===t&&(r.charCodeAt(Q)===47?(Se=Rr,Q++):(Se=t,I===0&&Qe(DE))),Se!==t){for(ht=[],Bt=He();Bt!==t;)ht.push(Bt),Bt=He();ht!==t?(Bt=Yb(),Bt!==t?(Me=U,ce=Ks(b,Se,Bt),U=ce):(Q=U,U=t)):(Q=U,U=t)}else Q=U,U=t;else Q=U,U=t;for(;U!==t;){for(N.push(U),U=Q,ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();if(ce!==t)if(r.charCodeAt(Q)===42?(Se=cg,Q++):(Se=t,I===0&&Qe(hA)),Se===t&&(r.charCodeAt(Q)===47?(Se=Rr,Q++):(Se=t,I===0&&Qe(DE))),Se!==t){for(ht=[],Bt=He();Bt!==t;)ht.push(Bt),Bt=He();ht!==t?(Bt=Yb(),Bt!==t?(Me=U,ce=Ks(b,Se,Bt),U=ce):(Q=U,U=t)):(Q=U,U=t)}else Q=U,U=t;else Q=U,U=t}N!==t?(Me=m,b=Us(b,N),m=b):(Q=m,m=t)}else Q=m,m=t;return m}function y1(){var m,b,N,U,ce,Se,ht,Bt;if(m=Q,b=jb(),b!==t){for(N=[],U=Q,ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();if(ce!==t)if(r.charCodeAt(Q)===43?(Se=Ms,Q++):(Se=t,I===0&&Qe(Dl)),Se===t&&(r.charCodeAt(Q)===45?(Se=fA,Q++):(Se=t,I===0&&Qe(Pl))),Se!==t){for(ht=[],Bt=He();Bt!==t;)ht.push(Bt),Bt=He();ht!==t?(Bt=jb(),Bt!==t?(Me=U,ce=ug(b,Se,Bt),U=ce):(Q=U,U=t)):(Q=U,U=t)}else Q=U,U=t;else Q=U,U=t;for(;U!==t;){for(N.push(U),U=Q,ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();if(ce!==t)if(r.charCodeAt(Q)===43?(Se=Ms,Q++):(Se=t,I===0&&Qe(Dl)),Se===t&&(r.charCodeAt(Q)===45?(Se=fA,Q++):(Se=t,I===0&&Qe(Pl))),Se!==t){for(ht=[],Bt=He();Bt!==t;)ht.push(Bt),Bt=He();ht!==t?(Bt=jb(),Bt!==t?(Me=U,ce=ug(b,Se,Bt),U=ce):(Q=U,U=t)):(Q=U,U=t)}else Q=U,U=t;else Q=U,U=t}N!==t?(Me=m,b=Us(b,N),m=b):(Q=m,m=t)}else Q=m,m=t;return m}function w1(){var m,b,N,U,ce,Se;if(m=Q,r.substr(Q,3)===pA?(b=pA,Q+=3):(b=t,I===0&&Qe(R)),b!==t){for(N=[],U=He();U!==t;)N.push(U),U=He();if(N!==t)if(U=y1(),U!==t){for(ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();ce!==t?(r.substr(Q,2)===q?(Se=q,Q+=2):(Se=t,I===0&&Qe(Ce)),Se!==t?(Me=m,b=Ke(U),m=b):(Q=m,m=t)):(Q=m,m=t)}else Q=m,m=t;else Q=m,m=t}else Q=m,m=t;return m}function B1(){var m,b,N,U;return m=Q,r.substr(Q,2)===Re?(b=Re,Q+=2):(b=t,I===0&&Qe(ze)),b!==t?(N=Mr(),N!==t?(r.charCodeAt(Q)===41?(U=O,Q++):(U=t,I===0&&Qe(F)),U!==t?(Me=m,b=dt(N),m=b):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t),m}function qb(){var m,b,N,U,ce,Se;return m=Q,r.substr(Q,2)===Ft?(b=Ft,Q+=2):(b=t,I===0&&Qe(Fn)),b!==t?(N=Rl(),N!==t?(r.substr(Q,2)===Db?(U=Db,Q+=2):(U=t,I===0&&Qe($M)),U!==t?(ce=f1(),ce!==t?(r.charCodeAt(Q)===125?(Se=Fe,Q++):(Se=t,I===0&&Qe(Ne)),Se!==t?(Me=m,b=e1(N,ce),m=b):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t),m===t&&(m=Q,r.substr(Q,2)===Ft?(b=Ft,Q+=2):(b=t,I===0&&Qe(Fn)),b!==t?(N=Rl(),N!==t?(r.substr(Q,3)===kb?(U=kb,Q+=3):(U=t,I===0&&Qe(t1)),U!==t?(Me=m,b=r1(N),m=b):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t),m===t&&(m=Q,r.substr(Q,2)===Ft?(b=Ft,Q+=2):(b=t,I===0&&Qe(Fn)),b!==t?(N=Rl(),N!==t?(r.substr(Q,2)===Rb?(U=Rb,Q+=2):(U=t,I===0&&Qe(i1)),U!==t?(ce=f1(),ce!==t?(r.charCodeAt(Q)===125?(Se=Fe,Q++):(Se=t,I===0&&Qe(Ne)),Se!==t?(Me=m,b=n1(N,ce),m=b):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t),m===t&&(m=Q,r.substr(Q,2)===Ft?(b=Ft,Q+=2):(b=t,I===0&&Qe(Fn)),b!==t?(N=Rl(),N!==t?(r.substr(Q,3)===Fb?(U=Fb,Q+=3):(U=t,I===0&&Qe(s1)),U!==t?(Me=m,b=o1(N),m=b):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t),m===t&&(m=Q,r.substr(Q,2)===Ft?(b=Ft,Q+=2):(b=t,I===0&&Qe(Fn)),b!==t?(N=Rl(),N!==t?(r.charCodeAt(Q)===125?(U=Fe,Q++):(U=t,I===0&&Qe(Ne)),U!==t?(Me=m,b=Nb(N),m=b):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t),m===t&&(m=Q,r.charCodeAt(Q)===36?(b=a1,Q++):(b=t,I===0&&Qe(A1)),b!==t?(N=Rl(),N!==t?(Me=m,b=Nb(N),m=b):(Q=m,m=t)):(Q=m,m=t)))))),m}function Tue(){var m,b,N;return m=Q,b=Oue(),b!==t?(Me=Q,N=l1(b),N?N=void 0:N=t,N!==t?(Me=m,b=c1(b),m=b):(Q=m,m=t)):(Q=m,m=t),m}function Oue(){var m,b,N,U,ce;if(m=Q,b=[],N=Q,U=Q,I++,ce=S1(),I--,ce===t?U=void 0:(Q=U,U=t),U!==t?(r.length>Q?(ce=r.charAt(Q),Q++):(ce=t,I===0&&Qe(Eo)),ce!==t?(Me=N,U=an(ce),N=U):(Q=N,N=t)):(Q=N,N=t),N!==t)for(;N!==t;)b.push(N),N=Q,U=Q,I++,ce=S1(),I--,ce===t?U=void 0:(Q=U,U=t),U!==t?(r.length>Q?(ce=r.charAt(Q),Q++):(ce=t,I===0&&Qe(Eo)),ce!==t?(Me=N,U=an(ce),N=U):(Q=N,N=t)):(Q=N,N=t);else b=t;return b!==t&&(Me=m,b=Dn(b)),m=b,m}function Q1(){var m,b,N;if(m=Q,b=[],Lb.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(Tb)),N!==t)for(;N!==t;)b.push(N),Lb.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(Tb));else b=t;return b!==t&&(Me=m,b=Ob()),m=b,m}function Rl(){var m,b,N;if(m=Q,b=[],Mb.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(Kb)),N!==t)for(;N!==t;)b.push(N),Mb.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(Kb));else b=t;return b!==t&&(Me=m,b=Ob()),m=b,m}function b1(){var m;return u1.test(r.charAt(Q))?(m=r.charAt(Q),Q++):(m=t,I===0&&Qe(gg)),m}function S1(){var m;return Ub.test(r.charAt(Q))?(m=r.charAt(Q),Q++):(m=t,I===0&&Qe(Hb)),m}function He(){var m,b;if(m=[],kE.test(r.charAt(Q))?(b=r.charAt(Q),Q++):(b=t,I===0&&Qe(RE)),b!==t)for(;b!==t;)m.push(b),kE.test(r.charAt(Q))?(b=r.charAt(Q),Q++):(b=t,I===0&&Qe(RE));else m=t;return m}if(k=n(),k!==t&&Q===r.length)return k;throw k!==t&&Q{"use strict";function Mge(r,e){function t(){this.constructor=r}t.prototype=e.prototype,r.prototype=new t}function Ul(r,e,t,i){this.message=r,this.expected=e,this.found=t,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,Ul)}Mge(Ul,Error);Ul.buildMessage=function(r,e){var t={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,f=1;gH&&(H=v,j=[]),j.push(ne))}function Ne(ne,Y){return new Ul(ne,null,null,Y)}function oe(ne,Y,pe){return new Ul(Ul.buildMessage(ne,Y),ne,Y,pe)}function le(){var ne,Y,pe,ie;return ne=v,Y=we(),Y!==t?(r.charCodeAt(v)===47?(pe=s,v++):(pe=t,$===0&&Fe(o)),pe!==t?(ie=we(),ie!==t?(D=ne,Y=a(Y,ie),ne=Y):(v=ne,ne=t)):(v=ne,ne=t)):(v=ne,ne=t),ne===t&&(ne=v,Y=we(),Y!==t&&(D=ne,Y=l(Y)),ne=Y),ne}function we(){var ne,Y,pe,ie;return ne=v,Y=fe(),Y!==t?(r.charCodeAt(v)===64?(pe=c,v++):(pe=t,$===0&&Fe(u)),pe!==t?(ie=qe(),ie!==t?(D=ne,Y=g(Y,ie),ne=Y):(v=ne,ne=t)):(v=ne,ne=t)):(v=ne,ne=t),ne===t&&(ne=v,Y=fe(),Y!==t&&(D=ne,Y=f(Y)),ne=Y),ne}function fe(){var ne,Y,pe,ie,de;return ne=v,r.charCodeAt(v)===64?(Y=c,v++):(Y=t,$===0&&Fe(u)),Y!==t?(pe=Ae(),pe!==t?(r.charCodeAt(v)===47?(ie=s,v++):(ie=t,$===0&&Fe(o)),ie!==t?(de=Ae(),de!==t?(D=ne,Y=h(),ne=Y):(v=ne,ne=t)):(v=ne,ne=t)):(v=ne,ne=t)):(v=ne,ne=t),ne===t&&(ne=v,Y=Ae(),Y!==t&&(D=ne,Y=h()),ne=Y),ne}function Ae(){var ne,Y,pe;if(ne=v,Y=[],p.test(r.charAt(v))?(pe=r.charAt(v),v++):(pe=t,$===0&&Fe(C)),pe!==t)for(;pe!==t;)Y.push(pe),p.test(r.charAt(v))?(pe=r.charAt(v),v++):(pe=t,$===0&&Fe(C));else Y=t;return Y!==t&&(D=ne,Y=h()),ne=Y,ne}function qe(){var ne,Y,pe;if(ne=v,Y=[],y.test(r.charAt(v))?(pe=r.charAt(v),v++):(pe=t,$===0&&Fe(B)),pe!==t)for(;pe!==t;)Y.push(pe),y.test(r.charAt(v))?(pe=r.charAt(v),v++):(pe=t,$===0&&Fe(B));else Y=t;return Y!==t&&(D=ne,Y=h()),ne=Y,ne}if(V=n(),V!==t&&v===r.length)return V;throw V!==t&&v{"use strict";function UK(r){return typeof r>"u"||r===null}function Uge(r){return typeof r=="object"&&r!==null}function Hge(r){return Array.isArray(r)?r:UK(r)?[]:[r]}function Gge(r,e){var t,i,n,s;if(e)for(s=Object.keys(e),t=0,i=s.length;t{"use strict";function Op(r,e){Error.call(this),this.name="YAMLException",this.reason=r,this.mark=e,this.message=(this.reason||"(unknown reason)")+(this.mark?" "+this.mark.toString():""),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}Op.prototype=Object.create(Error.prototype);Op.prototype.constructor=Op;Op.prototype.toString=function(e){var t=this.name+": ";return t+=this.reason||"(unknown reason)",!e&&this.mark&&(t+=" "+this.mark.toString()),t};HK.exports=Op});var jK=w((pXe,YK)=>{"use strict";var GK=Gl();function SS(r,e,t,i,n){this.name=r,this.buffer=e,this.position=t,this.line=i,this.column=n}SS.prototype.getSnippet=function(e,t){var i,n,s,o,a;if(!this.buffer)return null;for(e=e||4,t=t||75,i="",n=this.position;n>0&&`\0\r +(()=>{var Qge=Object.create;var AS=Object.defineProperty;var bge=Object.getOwnPropertyDescriptor;var Sge=Object.getOwnPropertyNames;var vge=Object.getPrototypeOf,xge=Object.prototype.hasOwnProperty;var J=(r=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(r,{get:(e,t)=>(typeof require<"u"?require:e)[t]}):r)(function(r){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+r+'" is not supported')});var Pge=(r,e)=>()=>(r&&(e=r(r=0)),e);var w=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),ut=(r,e)=>{for(var t in e)AS(r,t,{get:e[t],enumerable:!0})},Dge=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Sge(e))!xge.call(r,n)&&n!==t&&AS(r,n,{get:()=>e[n],enumerable:!(i=bge(e,n))||i.enumerable});return r};var Pe=(r,e,t)=>(t=r!=null?Qge(vge(r)):{},Dge(e||!r||!r.__esModule?AS(t,"default",{value:r,enumerable:!0}):t,r));var QK=w((GXe,BK)=>{BK.exports=wK;wK.sync=Zge;var IK=J("fs");function Xge(r,e){var t=e.pathExt!==void 0?e.pathExt:process.env.PATHEXT;if(!t||(t=t.split(";"),t.indexOf("")!==-1))return!0;for(var i=0;i{xK.exports=SK;SK.sync=_ge;var bK=J("fs");function SK(r,e,t){bK.stat(r,function(i,n){t(i,i?!1:vK(n,e))})}function _ge(r,e){return vK(bK.statSync(r),e)}function vK(r,e){return r.isFile()&&$ge(r,e)}function $ge(r,e){var t=r.mode,i=r.uid,n=r.gid,s=e.uid!==void 0?e.uid:process.getuid&&process.getuid(),o=e.gid!==void 0?e.gid:process.getgid&&process.getgid(),a=parseInt("100",8),l=parseInt("010",8),c=parseInt("001",8),u=a|l,g=t&c||t&l&&n===o||t&a&&i===s||t&u&&s===0;return g}});var kK=w((qXe,DK)=>{var jXe=J("fs"),sI;process.platform==="win32"||global.TESTING_WINDOWS?sI=QK():sI=PK();DK.exports=SS;SS.sync=efe;function SS(r,e,t){if(typeof e=="function"&&(t=e,e={}),!t){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(i,n){SS(r,e||{},function(s,o){s?n(s):i(o)})})}sI(r,e||{},function(i,n){i&&(i.code==="EACCES"||e&&e.ignoreErrors)&&(i=null,n=!1),t(i,n)})}function efe(r,e){try{return sI.sync(r,e||{})}catch(t){if(e&&e.ignoreErrors||t.code==="EACCES")return!1;throw t}}});var MK=w((JXe,OK)=>{var vg=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",RK=J("path"),tfe=vg?";":":",FK=kK(),NK=r=>Object.assign(new Error(`not found: ${r}`),{code:"ENOENT"}),LK=(r,e)=>{let t=e.colon||tfe,i=r.match(/\//)||vg&&r.match(/\\/)?[""]:[...vg?[process.cwd()]:[],...(e.path||process.env.PATH||"").split(t)],n=vg?e.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",s=vg?n.split(t):[""];return vg&&r.indexOf(".")!==-1&&s[0]!==""&&s.unshift(""),{pathEnv:i,pathExt:s,pathExtExe:n}},TK=(r,e,t)=>{typeof e=="function"&&(t=e,e={}),e||(e={});let{pathEnv:i,pathExt:n,pathExtExe:s}=LK(r,e),o=[],a=c=>new Promise((u,g)=>{if(c===i.length)return e.all&&o.length?u(o):g(NK(r));let f=i[c],h=/^".*"$/.test(f)?f.slice(1,-1):f,p=RK.join(h,r),C=!h&&/^\.[\\\/]/.test(r)?r.slice(0,2)+p:p;u(l(C,c,0))}),l=(c,u,g)=>new Promise((f,h)=>{if(g===n.length)return f(a(u+1));let p=n[g];FK(c+p,{pathExt:s},(C,y)=>{if(!C&&y)if(e.all)o.push(c+p);else return f(c+p);return f(l(c,u,g+1))})});return t?a(0).then(c=>t(null,c),t):a(0)},rfe=(r,e)=>{e=e||{};let{pathEnv:t,pathExt:i,pathExtExe:n}=LK(r,e),s=[];for(let o=0;o{"use strict";var KK=(r={})=>{let e=r.env||process.env;return(r.platform||process.platform)!=="win32"?"PATH":Object.keys(e).reverse().find(i=>i.toUpperCase()==="PATH")||"Path"};vS.exports=KK;vS.exports.default=KK});var jK=w((zXe,YK)=>{"use strict";var HK=J("path"),ife=MK(),nfe=UK();function GK(r,e){let t=r.options.env||process.env,i=process.cwd(),n=r.options.cwd!=null,s=n&&process.chdir!==void 0&&!process.chdir.disabled;if(s)try{process.chdir(r.options.cwd)}catch{}let o;try{o=ife.sync(r.command,{path:t[nfe({env:t})],pathExt:e?HK.delimiter:void 0})}catch{}finally{s&&process.chdir(i)}return o&&(o=HK.resolve(n?r.options.cwd:"",o)),o}function sfe(r){return GK(r)||GK(r,!0)}YK.exports=sfe});var qK=w((VXe,PS)=>{"use strict";var xS=/([()\][%!^"`<>&|;, *?])/g;function ofe(r){return r=r.replace(xS,"^$1"),r}function afe(r,e){return r=`${r}`,r=r.replace(/(\\*)"/g,'$1$1\\"'),r=r.replace(/(\\*)$/,"$1$1"),r=`"${r}"`,r=r.replace(xS,"^$1"),e&&(r=r.replace(xS,"^$1")),r}PS.exports.command=ofe;PS.exports.argument=afe});var WK=w((XXe,JK)=>{"use strict";JK.exports=/^#!(.*)/});var VK=w((ZXe,zK)=>{"use strict";var Afe=WK();zK.exports=(r="")=>{let e=r.match(Afe);if(!e)return null;let[t,i]=e[0].replace(/#! ?/,"").split(" "),n=t.split("/").pop();return n==="env"?i:i?`${n} ${i}`:n}});var ZK=w((_Xe,XK)=>{"use strict";var DS=J("fs"),lfe=VK();function cfe(r){let t=Buffer.alloc(150),i;try{i=DS.openSync(r,"r"),DS.readSync(i,t,0,150,0),DS.closeSync(i)}catch{}return lfe(t.toString())}XK.exports=cfe});var tU=w(($Xe,eU)=>{"use strict";var ufe=J("path"),_K=jK(),$K=qK(),gfe=ZK(),ffe=process.platform==="win32",hfe=/\.(?:com|exe)$/i,pfe=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function dfe(r){r.file=_K(r);let e=r.file&&gfe(r.file);return e?(r.args.unshift(r.file),r.command=e,_K(r)):r.file}function Cfe(r){if(!ffe)return r;let e=dfe(r),t=!hfe.test(e);if(r.options.forceShell||t){let i=pfe.test(e);r.command=ufe.normalize(r.command),r.command=$K.command(r.command),r.args=r.args.map(s=>$K.argument(s,i));let n=[r.command].concat(r.args).join(" ");r.args=["/d","/s","/c",`"${n}"`],r.command=process.env.comspec||"cmd.exe",r.options.windowsVerbatimArguments=!0}return r}function mfe(r,e,t){e&&!Array.isArray(e)&&(t=e,e=null),e=e?e.slice(0):[],t=Object.assign({},t);let i={command:r,args:e,options:t,file:void 0,original:{command:r,args:e}};return t.shell?i:Cfe(i)}eU.exports=mfe});var nU=w((eZe,iU)=>{"use strict";var kS=process.platform==="win32";function RS(r,e){return Object.assign(new Error(`${e} ${r.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${e} ${r.command}`,path:r.command,spawnargs:r.args})}function Efe(r,e){if(!kS)return;let t=r.emit;r.emit=function(i,n){if(i==="exit"){let s=rU(n,e,"spawn");if(s)return t.call(r,"error",s)}return t.apply(r,arguments)}}function rU(r,e){return kS&&r===1&&!e.file?RS(e.original,"spawn"):null}function Ife(r,e){return kS&&r===1&&!e.file?RS(e.original,"spawnSync"):null}iU.exports={hookChildProcess:Efe,verifyENOENT:rU,verifyENOENTSync:Ife,notFoundError:RS}});var LS=w((tZe,xg)=>{"use strict";var sU=J("child_process"),FS=tU(),NS=nU();function oU(r,e,t){let i=FS(r,e,t),n=sU.spawn(i.command,i.args,i.options);return NS.hookChildProcess(n,i),n}function yfe(r,e,t){let i=FS(r,e,t),n=sU.spawnSync(i.command,i.args,i.options);return n.error=n.error||NS.verifyENOENTSync(n.status,i),n}xg.exports=oU;xg.exports.spawn=oU;xg.exports.sync=yfe;xg.exports._parse=FS;xg.exports._enoent=NS});var AU=w((rZe,aU)=>{"use strict";function wfe(r,e){function t(){this.constructor=r}t.prototype=e.prototype,r.prototype=new t}function Wl(r,e,t,i){this.message=r,this.expected=e,this.found=t,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,Wl)}wfe(Wl,Error);Wl.buildMessage=function(r,e){var t={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,f=1;g>",ie=me(">>",!1),de=">&",_e=me(">&",!1),Pt=">",It=me(">",!1),Or="<<<",ii=me("<<<",!1),gi="<&",hr=me("<&",!1),fi="<",ni=me("<",!1),Os=function(m){return{type:"argument",segments:[].concat(...m)}},pr=function(m){return m},Ii="$'",es=me("$'",!1),ua="'",pA=me("'",!1),ag=function(m){return[{type:"text",text:m}]},ts='""',dA=me('""',!1),ga=function(){return{type:"text",text:""}},yp='"',CA=me('"',!1),mA=function(m){return m},wr=function(m){return{type:"arithmetic",arithmetic:m,quoted:!0}},kl=function(m){return{type:"shell",shell:m,quoted:!0}},Ag=function(m){return{type:"variable",...m,quoted:!0}},Io=function(m){return{type:"text",text:m}},lg=function(m){return{type:"arithmetic",arithmetic:m,quoted:!1}},wp=function(m){return{type:"shell",shell:m,quoted:!1}},Bp=function(m){return{type:"variable",...m,quoted:!1}},vr=function(m){return{type:"glob",pattern:m}},se=/^[^']/,yo=Je(["'"],!0,!1),kn=function(m){return m.join("")},cg=/^[^$"]/,Qt=Je(["$",'"'],!0,!1),Rl=`\\ +`,Rn=me(`\\ +`,!1),rs=function(){return""},is="\\",gt=me("\\",!1),wo=/^[\\$"`]/,At=Je(["\\","$",'"',"`"],!1,!1),an=function(m){return m},S="\\a",Tt=me("\\a",!1),ug=function(){return"a"},Fl="\\b",Qp=me("\\b",!1),bp=function(){return"\b"},Sp=/^[Ee]/,vp=Je(["E","e"],!1,!1),xp=function(){return"\x1B"},G="\\f",yt=me("\\f",!1),EA=function(){return"\f"},Ji="\\n",Nl=me("\\n",!1),Xe=function(){return` +`},fa="\\r",gg=me("\\r",!1),FE=function(){return"\r"},Pp="\\t",NE=me("\\t",!1),ar=function(){return" "},Fn="\\v",Ll=me("\\v",!1),Dp=function(){return"\v"},Ms=/^[\\'"?]/,ha=Je(["\\","'",'"',"?"],!1,!1),An=function(m){return String.fromCharCode(parseInt(m,16))},Te="\\x",fg=me("\\x",!1),Tl="\\u",Ks=me("\\u",!1),Ol="\\U",IA=me("\\U",!1),hg=function(m){return String.fromCodePoint(parseInt(m,16))},pg=/^[0-7]/,pa=Je([["0","7"]],!1,!1),da=/^[0-9a-fA-f]/,rt=Je([["0","9"],["a","f"],["A","f"]],!1,!1),Bo=nt(),yA="-",Ml=me("-",!1),Us="+",Kl=me("+",!1),LE=".",kp=me(".",!1),dg=function(m,b,N){return{type:"number",value:(m==="-"?-1:1)*parseFloat(b.join("")+"."+N.join(""))}},Rp=function(m,b){return{type:"number",value:(m==="-"?-1:1)*parseInt(b.join(""))}},TE=function(m){return{type:"variable",...m}},Ul=function(m){return{type:"variable",name:m}},OE=function(m){return m},Cg="*",wA=me("*",!1),Rr="/",ME=me("/",!1),Hs=function(m,b,N){return{type:b==="*"?"multiplication":"division",right:N}},Gs=function(m,b){return b.reduce((N,U)=>({left:N,...U}),m)},mg=function(m,b,N){return{type:b==="+"?"addition":"subtraction",right:N}},BA="$((",R=me("$((",!1),q="))",Ce=me("))",!1),Ke=function(m){return m},Re="$(",ze=me("$(",!1),dt=function(m){return m},Ft="${",Nn=me("${",!1),qb=":-",S1=me(":-",!1),v1=function(m,b){return{name:m,defaultValue:b}},Jb=":-}",x1=me(":-}",!1),P1=function(m){return{name:m,defaultValue:[]}},Wb=":+",D1=me(":+",!1),k1=function(m,b){return{name:m,alternativeValue:b}},zb=":+}",R1=me(":+}",!1),F1=function(m){return{name:m,alternativeValue:[]}},Vb=function(m){return{name:m}},N1="$",L1=me("$",!1),T1=function(m){return e.isGlobPattern(m)},O1=function(m){return m},Xb=/^[a-zA-Z0-9_]/,Zb=Je([["a","z"],["A","Z"],["0","9"],"_"],!1,!1),_b=function(){return T()},$b=/^[$@*?#a-zA-Z0-9_\-]/,eS=Je(["$","@","*","?","#",["a","z"],["A","Z"],["0","9"],"_","-"],!1,!1),M1=/^[(){}<>$|&; \t"']/,Eg=Je(["(",")","{","}","<",">","$","|","&",";"," "," ",'"',"'"],!1,!1),tS=/^[<>&; \t"']/,rS=Je(["<",">","&",";"," "," ",'"',"'"],!1,!1),KE=/^[ \t]/,UE=Je([" "," "],!1,!1),Q=0,Me=0,QA=[{line:1,column:1}],d=0,E=[],I=0,k;if("startRule"in e){if(!(e.startRule in i))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');n=i[e.startRule]}function T(){return r.substring(Me,Q)}function Z(){return Et(Me,Q)}function te(m,b){throw b=b!==void 0?b:Et(Me,Q),Ri([lt(m)],r.substring(Me,Q),b)}function Be(m,b){throw b=b!==void 0?b:Et(Me,Q),Ln(m,b)}function me(m,b){return{type:"literal",text:m,ignoreCase:b}}function Je(m,b,N){return{type:"class",parts:m,inverted:b,ignoreCase:N}}function nt(){return{type:"any"}}function wt(){return{type:"end"}}function lt(m){return{type:"other",description:m}}function it(m){var b=QA[m],N;if(b)return b;for(N=m-1;!QA[N];)N--;for(b=QA[N],b={line:b.line,column:b.column};Nd&&(d=Q,E=[]),E.push(m))}function Ln(m,b){return new Wl(m,null,null,b)}function Ri(m,b,N){return new Wl(Wl.buildMessage(m,b),m,b,N)}function bA(){var m,b;return m=Q,b=Mr(),b===t&&(b=null),b!==t&&(Me=m,b=s(b)),m=b,m}function Mr(){var m,b,N,U,ce;if(m=Q,b=Kr(),b!==t){for(N=[],U=He();U!==t;)N.push(U),U=He();N!==t?(U=Ca(),U!==t?(ce=ns(),ce===t&&(ce=null),ce!==t?(Me=m,b=o(b,U,ce),m=b):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t)}else Q=m,m=t;if(m===t)if(m=Q,b=Kr(),b!==t){for(N=[],U=He();U!==t;)N.push(U),U=He();N!==t?(U=Ca(),U===t&&(U=null),U!==t?(Me=m,b=a(b,U),m=b):(Q=m,m=t)):(Q=m,m=t)}else Q=m,m=t;return m}function ns(){var m,b,N,U,ce;for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();if(b!==t)if(N=Mr(),N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();U!==t?(Me=m,b=l(N),m=b):(Q=m,m=t)}else Q=m,m=t;else Q=m,m=t;return m}function Ca(){var m;return r.charCodeAt(Q)===59?(m=c,Q++):(m=t,I===0&&Qe(u)),m===t&&(r.charCodeAt(Q)===38?(m=g,Q++):(m=t,I===0&&Qe(f))),m}function Kr(){var m,b,N;return m=Q,b=K1(),b!==t?(N=age(),N===t&&(N=null),N!==t?(Me=m,b=h(b,N),m=b):(Q=m,m=t)):(Q=m,m=t),m}function age(){var m,b,N,U,ce,Se,ht;for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();if(b!==t)if(N=Age(),N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();if(U!==t)if(ce=Kr(),ce!==t){for(Se=[],ht=He();ht!==t;)Se.push(ht),ht=He();Se!==t?(Me=m,b=p(N,ce),m=b):(Q=m,m=t)}else Q=m,m=t;else Q=m,m=t}else Q=m,m=t;else Q=m,m=t;return m}function Age(){var m;return r.substr(Q,2)===C?(m=C,Q+=2):(m=t,I===0&&Qe(y)),m===t&&(r.substr(Q,2)===B?(m=B,Q+=2):(m=t,I===0&&Qe(v))),m}function K1(){var m,b,N;return m=Q,b=uge(),b!==t?(N=lge(),N===t&&(N=null),N!==t?(Me=m,b=D(b,N),m=b):(Q=m,m=t)):(Q=m,m=t),m}function lge(){var m,b,N,U,ce,Se,ht;for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();if(b!==t)if(N=cge(),N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();if(U!==t)if(ce=K1(),ce!==t){for(Se=[],ht=He();ht!==t;)Se.push(ht),ht=He();Se!==t?(Me=m,b=L(N,ce),m=b):(Q=m,m=t)}else Q=m,m=t;else Q=m,m=t}else Q=m,m=t;else Q=m,m=t;return m}function cge(){var m;return r.substr(Q,2)===H?(m=H,Q+=2):(m=t,I===0&&Qe(j)),m===t&&(r.charCodeAt(Q)===124?(m=$,Q++):(m=t,I===0&&Qe(V))),m}function HE(){var m,b,N,U,ce,Se;if(m=Q,b=Z1(),b!==t)if(r.charCodeAt(Q)===61?(N=W,Q++):(N=t,I===0&&Qe(_)),N!==t)if(U=G1(),U!==t){for(ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();ce!==t?(Me=m,b=A(b,U),m=b):(Q=m,m=t)}else Q=m,m=t;else Q=m,m=t;else Q=m,m=t;if(m===t)if(m=Q,b=Z1(),b!==t)if(r.charCodeAt(Q)===61?(N=W,Q++):(N=t,I===0&&Qe(_)),N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();U!==t?(Me=m,b=ae(b),m=b):(Q=m,m=t)}else Q=m,m=t;else Q=m,m=t;return m}function uge(){var m,b,N,U,ce,Se,ht,Bt,Jr,hi,ss;for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();if(b!==t)if(r.charCodeAt(Q)===40?(N=ge,Q++):(N=t,I===0&&Qe(re)),N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();if(U!==t)if(ce=Mr(),ce!==t){for(Se=[],ht=He();ht!==t;)Se.push(ht),ht=He();if(Se!==t)if(r.charCodeAt(Q)===41?(ht=O,Q++):(ht=t,I===0&&Qe(F)),ht!==t){for(Bt=[],Jr=He();Jr!==t;)Bt.push(Jr),Jr=He();if(Bt!==t){for(Jr=[],hi=Fp();hi!==t;)Jr.push(hi),hi=Fp();if(Jr!==t){for(hi=[],ss=He();ss!==t;)hi.push(ss),ss=He();hi!==t?(Me=m,b=ue(ce,Jr),m=b):(Q=m,m=t)}else Q=m,m=t}else Q=m,m=t}else Q=m,m=t;else Q=m,m=t}else Q=m,m=t;else Q=m,m=t}else Q=m,m=t;else Q=m,m=t;if(m===t){for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();if(b!==t)if(r.charCodeAt(Q)===123?(N=he,Q++):(N=t,I===0&&Qe(ke)),N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();if(U!==t)if(ce=Mr(),ce!==t){for(Se=[],ht=He();ht!==t;)Se.push(ht),ht=He();if(Se!==t)if(r.charCodeAt(Q)===125?(ht=Fe,Q++):(ht=t,I===0&&Qe(Ne)),ht!==t){for(Bt=[],Jr=He();Jr!==t;)Bt.push(Jr),Jr=He();if(Bt!==t){for(Jr=[],hi=Fp();hi!==t;)Jr.push(hi),hi=Fp();if(Jr!==t){for(hi=[],ss=He();ss!==t;)hi.push(ss),ss=He();hi!==t?(Me=m,b=oe(ce,Jr),m=b):(Q=m,m=t)}else Q=m,m=t}else Q=m,m=t}else Q=m,m=t;else Q=m,m=t}else Q=m,m=t;else Q=m,m=t}else Q=m,m=t;else Q=m,m=t;if(m===t){for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();if(b!==t){for(N=[],U=HE();U!==t;)N.push(U),U=HE();if(N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();if(U!==t){if(ce=[],Se=H1(),Se!==t)for(;Se!==t;)ce.push(Se),Se=H1();else ce=t;if(ce!==t){for(Se=[],ht=He();ht!==t;)Se.push(ht),ht=He();Se!==t?(Me=m,b=le(N,ce),m=b):(Q=m,m=t)}else Q=m,m=t}else Q=m,m=t}else Q=m,m=t}else Q=m,m=t;if(m===t){for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();if(b!==t){if(N=[],U=HE(),U!==t)for(;U!==t;)N.push(U),U=HE();else N=t;if(N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();U!==t?(Me=m,b=we(N),m=b):(Q=m,m=t)}else Q=m,m=t}else Q=m,m=t}}}return m}function U1(){var m,b,N,U,ce;for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();if(b!==t){if(N=[],U=GE(),U!==t)for(;U!==t;)N.push(U),U=GE();else N=t;if(N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();U!==t?(Me=m,b=fe(N),m=b):(Q=m,m=t)}else Q=m,m=t}else Q=m,m=t;return m}function H1(){var m,b,N;for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();if(b!==t?(N=Fp(),N!==t?(Me=m,b=Ae(N),m=b):(Q=m,m=t)):(Q=m,m=t),m===t){for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();b!==t?(N=GE(),N!==t?(Me=m,b=Ae(N),m=b):(Q=m,m=t)):(Q=m,m=t)}return m}function Fp(){var m,b,N,U,ce;for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();return b!==t?(qe.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(ne)),N===t&&(N=null),N!==t?(U=gge(),U!==t?(ce=GE(),ce!==t?(Me=m,b=Y(N,U,ce),m=b):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t),m}function gge(){var m;return r.substr(Q,2)===pe?(m=pe,Q+=2):(m=t,I===0&&Qe(ie)),m===t&&(r.substr(Q,2)===de?(m=de,Q+=2):(m=t,I===0&&Qe(_e)),m===t&&(r.charCodeAt(Q)===62?(m=Pt,Q++):(m=t,I===0&&Qe(It)),m===t&&(r.substr(Q,3)===Or?(m=Or,Q+=3):(m=t,I===0&&Qe(ii)),m===t&&(r.substr(Q,2)===gi?(m=gi,Q+=2):(m=t,I===0&&Qe(hr)),m===t&&(r.charCodeAt(Q)===60?(m=fi,Q++):(m=t,I===0&&Qe(ni))))))),m}function GE(){var m,b,N;for(m=Q,b=[],N=He();N!==t;)b.push(N),N=He();return b!==t?(N=G1(),N!==t?(Me=m,b=Ae(N),m=b):(Q=m,m=t)):(Q=m,m=t),m}function G1(){var m,b,N;if(m=Q,b=[],N=Y1(),N!==t)for(;N!==t;)b.push(N),N=Y1();else b=t;return b!==t&&(Me=m,b=Os(b)),m=b,m}function Y1(){var m,b;return m=Q,b=fge(),b!==t&&(Me=m,b=pr(b)),m=b,m===t&&(m=Q,b=hge(),b!==t&&(Me=m,b=pr(b)),m=b,m===t&&(m=Q,b=pge(),b!==t&&(Me=m,b=pr(b)),m=b,m===t&&(m=Q,b=dge(),b!==t&&(Me=m,b=pr(b)),m=b))),m}function fge(){var m,b,N,U;return m=Q,r.substr(Q,2)===Ii?(b=Ii,Q+=2):(b=t,I===0&&Qe(es)),b!==t?(N=Ege(),N!==t?(r.charCodeAt(Q)===39?(U=ua,Q++):(U=t,I===0&&Qe(pA)),U!==t?(Me=m,b=ag(N),m=b):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t),m}function hge(){var m,b,N,U;return m=Q,r.charCodeAt(Q)===39?(b=ua,Q++):(b=t,I===0&&Qe(pA)),b!==t?(N=Cge(),N!==t?(r.charCodeAt(Q)===39?(U=ua,Q++):(U=t,I===0&&Qe(pA)),U!==t?(Me=m,b=ag(N),m=b):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t),m}function pge(){var m,b,N,U;if(m=Q,r.substr(Q,2)===ts?(b=ts,Q+=2):(b=t,I===0&&Qe(dA)),b!==t&&(Me=m,b=ga()),m=b,m===t)if(m=Q,r.charCodeAt(Q)===34?(b=yp,Q++):(b=t,I===0&&Qe(CA)),b!==t){for(N=[],U=j1();U!==t;)N.push(U),U=j1();N!==t?(r.charCodeAt(Q)===34?(U=yp,Q++):(U=t,I===0&&Qe(CA)),U!==t?(Me=m,b=mA(N),m=b):(Q=m,m=t)):(Q=m,m=t)}else Q=m,m=t;return m}function dge(){var m,b,N;if(m=Q,b=[],N=q1(),N!==t)for(;N!==t;)b.push(N),N=q1();else b=t;return b!==t&&(Me=m,b=mA(b)),m=b,m}function j1(){var m,b;return m=Q,b=V1(),b!==t&&(Me=m,b=wr(b)),m=b,m===t&&(m=Q,b=X1(),b!==t&&(Me=m,b=kl(b)),m=b,m===t&&(m=Q,b=oS(),b!==t&&(Me=m,b=Ag(b)),m=b,m===t&&(m=Q,b=mge(),b!==t&&(Me=m,b=Io(b)),m=b))),m}function q1(){var m,b;return m=Q,b=V1(),b!==t&&(Me=m,b=lg(b)),m=b,m===t&&(m=Q,b=X1(),b!==t&&(Me=m,b=wp(b)),m=b,m===t&&(m=Q,b=oS(),b!==t&&(Me=m,b=Bp(b)),m=b,m===t&&(m=Q,b=wge(),b!==t&&(Me=m,b=vr(b)),m=b,m===t&&(m=Q,b=yge(),b!==t&&(Me=m,b=Io(b)),m=b)))),m}function Cge(){var m,b,N;for(m=Q,b=[],se.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(yo));N!==t;)b.push(N),se.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(yo));return b!==t&&(Me=m,b=kn(b)),m=b,m}function mge(){var m,b,N;if(m=Q,b=[],N=J1(),N===t&&(cg.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(Qt))),N!==t)for(;N!==t;)b.push(N),N=J1(),N===t&&(cg.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(Qt)));else b=t;return b!==t&&(Me=m,b=kn(b)),m=b,m}function J1(){var m,b,N;return m=Q,r.substr(Q,2)===Rl?(b=Rl,Q+=2):(b=t,I===0&&Qe(Rn)),b!==t&&(Me=m,b=rs()),m=b,m===t&&(m=Q,r.charCodeAt(Q)===92?(b=is,Q++):(b=t,I===0&&Qe(gt)),b!==t?(wo.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(At)),N!==t?(Me=m,b=an(N),m=b):(Q=m,m=t)):(Q=m,m=t)),m}function Ege(){var m,b,N;for(m=Q,b=[],N=W1(),N===t&&(se.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(yo)));N!==t;)b.push(N),N=W1(),N===t&&(se.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(yo)));return b!==t&&(Me=m,b=kn(b)),m=b,m}function W1(){var m,b,N;return m=Q,r.substr(Q,2)===S?(b=S,Q+=2):(b=t,I===0&&Qe(Tt)),b!==t&&(Me=m,b=ug()),m=b,m===t&&(m=Q,r.substr(Q,2)===Fl?(b=Fl,Q+=2):(b=t,I===0&&Qe(Qp)),b!==t&&(Me=m,b=bp()),m=b,m===t&&(m=Q,r.charCodeAt(Q)===92?(b=is,Q++):(b=t,I===0&&Qe(gt)),b!==t?(Sp.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(vp)),N!==t?(Me=m,b=xp(),m=b):(Q=m,m=t)):(Q=m,m=t),m===t&&(m=Q,r.substr(Q,2)===G?(b=G,Q+=2):(b=t,I===0&&Qe(yt)),b!==t&&(Me=m,b=EA()),m=b,m===t&&(m=Q,r.substr(Q,2)===Ji?(b=Ji,Q+=2):(b=t,I===0&&Qe(Nl)),b!==t&&(Me=m,b=Xe()),m=b,m===t&&(m=Q,r.substr(Q,2)===fa?(b=fa,Q+=2):(b=t,I===0&&Qe(gg)),b!==t&&(Me=m,b=FE()),m=b,m===t&&(m=Q,r.substr(Q,2)===Pp?(b=Pp,Q+=2):(b=t,I===0&&Qe(NE)),b!==t&&(Me=m,b=ar()),m=b,m===t&&(m=Q,r.substr(Q,2)===Fn?(b=Fn,Q+=2):(b=t,I===0&&Qe(Ll)),b!==t&&(Me=m,b=Dp()),m=b,m===t&&(m=Q,r.charCodeAt(Q)===92?(b=is,Q++):(b=t,I===0&&Qe(gt)),b!==t?(Ms.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(ha)),N!==t?(Me=m,b=an(N),m=b):(Q=m,m=t)):(Q=m,m=t),m===t&&(m=Ige()))))))))),m}function Ige(){var m,b,N,U,ce,Se,ht,Bt,Jr,hi,ss,aS;return m=Q,r.charCodeAt(Q)===92?(b=is,Q++):(b=t,I===0&&Qe(gt)),b!==t?(N=iS(),N!==t?(Me=m,b=An(N),m=b):(Q=m,m=t)):(Q=m,m=t),m===t&&(m=Q,r.substr(Q,2)===Te?(b=Te,Q+=2):(b=t,I===0&&Qe(fg)),b!==t?(N=Q,U=Q,ce=iS(),ce!==t?(Se=Tn(),Se!==t?(ce=[ce,Se],U=ce):(Q=U,U=t)):(Q=U,U=t),U===t&&(U=iS()),U!==t?N=r.substring(N,Q):N=U,N!==t?(Me=m,b=An(N),m=b):(Q=m,m=t)):(Q=m,m=t),m===t&&(m=Q,r.substr(Q,2)===Tl?(b=Tl,Q+=2):(b=t,I===0&&Qe(Ks)),b!==t?(N=Q,U=Q,ce=Tn(),ce!==t?(Se=Tn(),Se!==t?(ht=Tn(),ht!==t?(Bt=Tn(),Bt!==t?(ce=[ce,Se,ht,Bt],U=ce):(Q=U,U=t)):(Q=U,U=t)):(Q=U,U=t)):(Q=U,U=t),U!==t?N=r.substring(N,Q):N=U,N!==t?(Me=m,b=An(N),m=b):(Q=m,m=t)):(Q=m,m=t),m===t&&(m=Q,r.substr(Q,2)===Ol?(b=Ol,Q+=2):(b=t,I===0&&Qe(IA)),b!==t?(N=Q,U=Q,ce=Tn(),ce!==t?(Se=Tn(),Se!==t?(ht=Tn(),ht!==t?(Bt=Tn(),Bt!==t?(Jr=Tn(),Jr!==t?(hi=Tn(),hi!==t?(ss=Tn(),ss!==t?(aS=Tn(),aS!==t?(ce=[ce,Se,ht,Bt,Jr,hi,ss,aS],U=ce):(Q=U,U=t)):(Q=U,U=t)):(Q=U,U=t)):(Q=U,U=t)):(Q=U,U=t)):(Q=U,U=t)):(Q=U,U=t)):(Q=U,U=t),U!==t?N=r.substring(N,Q):N=U,N!==t?(Me=m,b=hg(N),m=b):(Q=m,m=t)):(Q=m,m=t)))),m}function iS(){var m;return pg.test(r.charAt(Q))?(m=r.charAt(Q),Q++):(m=t,I===0&&Qe(pa)),m}function Tn(){var m;return da.test(r.charAt(Q))?(m=r.charAt(Q),Q++):(m=t,I===0&&Qe(rt)),m}function yge(){var m,b,N,U,ce;if(m=Q,b=[],N=Q,r.charCodeAt(Q)===92?(U=is,Q++):(U=t,I===0&&Qe(gt)),U!==t?(r.length>Q?(ce=r.charAt(Q),Q++):(ce=t,I===0&&Qe(Bo)),ce!==t?(Me=N,U=an(ce),N=U):(Q=N,N=t)):(Q=N,N=t),N===t&&(N=Q,U=Q,I++,ce=_1(),I--,ce===t?U=void 0:(Q=U,U=t),U!==t?(r.length>Q?(ce=r.charAt(Q),Q++):(ce=t,I===0&&Qe(Bo)),ce!==t?(Me=N,U=an(ce),N=U):(Q=N,N=t)):(Q=N,N=t)),N!==t)for(;N!==t;)b.push(N),N=Q,r.charCodeAt(Q)===92?(U=is,Q++):(U=t,I===0&&Qe(gt)),U!==t?(r.length>Q?(ce=r.charAt(Q),Q++):(ce=t,I===0&&Qe(Bo)),ce!==t?(Me=N,U=an(ce),N=U):(Q=N,N=t)):(Q=N,N=t),N===t&&(N=Q,U=Q,I++,ce=_1(),I--,ce===t?U=void 0:(Q=U,U=t),U!==t?(r.length>Q?(ce=r.charAt(Q),Q++):(ce=t,I===0&&Qe(Bo)),ce!==t?(Me=N,U=an(ce),N=U):(Q=N,N=t)):(Q=N,N=t));else b=t;return b!==t&&(Me=m,b=kn(b)),m=b,m}function nS(){var m,b,N,U,ce,Se;if(m=Q,r.charCodeAt(Q)===45?(b=yA,Q++):(b=t,I===0&&Qe(Ml)),b===t&&(r.charCodeAt(Q)===43?(b=Us,Q++):(b=t,I===0&&Qe(Kl))),b===t&&(b=null),b!==t){if(N=[],qe.test(r.charAt(Q))?(U=r.charAt(Q),Q++):(U=t,I===0&&Qe(ne)),U!==t)for(;U!==t;)N.push(U),qe.test(r.charAt(Q))?(U=r.charAt(Q),Q++):(U=t,I===0&&Qe(ne));else N=t;if(N!==t)if(r.charCodeAt(Q)===46?(U=LE,Q++):(U=t,I===0&&Qe(kp)),U!==t){if(ce=[],qe.test(r.charAt(Q))?(Se=r.charAt(Q),Q++):(Se=t,I===0&&Qe(ne)),Se!==t)for(;Se!==t;)ce.push(Se),qe.test(r.charAt(Q))?(Se=r.charAt(Q),Q++):(Se=t,I===0&&Qe(ne));else ce=t;ce!==t?(Me=m,b=dg(b,N,ce),m=b):(Q=m,m=t)}else Q=m,m=t;else Q=m,m=t}else Q=m,m=t;if(m===t){if(m=Q,r.charCodeAt(Q)===45?(b=yA,Q++):(b=t,I===0&&Qe(Ml)),b===t&&(r.charCodeAt(Q)===43?(b=Us,Q++):(b=t,I===0&&Qe(Kl))),b===t&&(b=null),b!==t){if(N=[],qe.test(r.charAt(Q))?(U=r.charAt(Q),Q++):(U=t,I===0&&Qe(ne)),U!==t)for(;U!==t;)N.push(U),qe.test(r.charAt(Q))?(U=r.charAt(Q),Q++):(U=t,I===0&&Qe(ne));else N=t;N!==t?(Me=m,b=Rp(b,N),m=b):(Q=m,m=t)}else Q=m,m=t;if(m===t&&(m=Q,b=oS(),b!==t&&(Me=m,b=TE(b)),m=b,m===t&&(m=Q,b=Hl(),b!==t&&(Me=m,b=Ul(b)),m=b,m===t)))if(m=Q,r.charCodeAt(Q)===40?(b=ge,Q++):(b=t,I===0&&Qe(re)),b!==t){for(N=[],U=He();U!==t;)N.push(U),U=He();if(N!==t)if(U=z1(),U!==t){for(ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();ce!==t?(r.charCodeAt(Q)===41?(Se=O,Q++):(Se=t,I===0&&Qe(F)),Se!==t?(Me=m,b=OE(U),m=b):(Q=m,m=t)):(Q=m,m=t)}else Q=m,m=t;else Q=m,m=t}else Q=m,m=t}return m}function sS(){var m,b,N,U,ce,Se,ht,Bt;if(m=Q,b=nS(),b!==t){for(N=[],U=Q,ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();if(ce!==t)if(r.charCodeAt(Q)===42?(Se=Cg,Q++):(Se=t,I===0&&Qe(wA)),Se===t&&(r.charCodeAt(Q)===47?(Se=Rr,Q++):(Se=t,I===0&&Qe(ME))),Se!==t){for(ht=[],Bt=He();Bt!==t;)ht.push(Bt),Bt=He();ht!==t?(Bt=nS(),Bt!==t?(Me=U,ce=Hs(b,Se,Bt),U=ce):(Q=U,U=t)):(Q=U,U=t)}else Q=U,U=t;else Q=U,U=t;for(;U!==t;){for(N.push(U),U=Q,ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();if(ce!==t)if(r.charCodeAt(Q)===42?(Se=Cg,Q++):(Se=t,I===0&&Qe(wA)),Se===t&&(r.charCodeAt(Q)===47?(Se=Rr,Q++):(Se=t,I===0&&Qe(ME))),Se!==t){for(ht=[],Bt=He();Bt!==t;)ht.push(Bt),Bt=He();ht!==t?(Bt=nS(),Bt!==t?(Me=U,ce=Hs(b,Se,Bt),U=ce):(Q=U,U=t)):(Q=U,U=t)}else Q=U,U=t;else Q=U,U=t}N!==t?(Me=m,b=Gs(b,N),m=b):(Q=m,m=t)}else Q=m,m=t;return m}function z1(){var m,b,N,U,ce,Se,ht,Bt;if(m=Q,b=sS(),b!==t){for(N=[],U=Q,ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();if(ce!==t)if(r.charCodeAt(Q)===43?(Se=Us,Q++):(Se=t,I===0&&Qe(Kl)),Se===t&&(r.charCodeAt(Q)===45?(Se=yA,Q++):(Se=t,I===0&&Qe(Ml))),Se!==t){for(ht=[],Bt=He();Bt!==t;)ht.push(Bt),Bt=He();ht!==t?(Bt=sS(),Bt!==t?(Me=U,ce=mg(b,Se,Bt),U=ce):(Q=U,U=t)):(Q=U,U=t)}else Q=U,U=t;else Q=U,U=t;for(;U!==t;){for(N.push(U),U=Q,ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();if(ce!==t)if(r.charCodeAt(Q)===43?(Se=Us,Q++):(Se=t,I===0&&Qe(Kl)),Se===t&&(r.charCodeAt(Q)===45?(Se=yA,Q++):(Se=t,I===0&&Qe(Ml))),Se!==t){for(ht=[],Bt=He();Bt!==t;)ht.push(Bt),Bt=He();ht!==t?(Bt=sS(),Bt!==t?(Me=U,ce=mg(b,Se,Bt),U=ce):(Q=U,U=t)):(Q=U,U=t)}else Q=U,U=t;else Q=U,U=t}N!==t?(Me=m,b=Gs(b,N),m=b):(Q=m,m=t)}else Q=m,m=t;return m}function V1(){var m,b,N,U,ce,Se;if(m=Q,r.substr(Q,3)===BA?(b=BA,Q+=3):(b=t,I===0&&Qe(R)),b!==t){for(N=[],U=He();U!==t;)N.push(U),U=He();if(N!==t)if(U=z1(),U!==t){for(ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();ce!==t?(r.substr(Q,2)===q?(Se=q,Q+=2):(Se=t,I===0&&Qe(Ce)),Se!==t?(Me=m,b=Ke(U),m=b):(Q=m,m=t)):(Q=m,m=t)}else Q=m,m=t;else Q=m,m=t}else Q=m,m=t;return m}function X1(){var m,b,N,U;return m=Q,r.substr(Q,2)===Re?(b=Re,Q+=2):(b=t,I===0&&Qe(ze)),b!==t?(N=Mr(),N!==t?(r.charCodeAt(Q)===41?(U=O,Q++):(U=t,I===0&&Qe(F)),U!==t?(Me=m,b=dt(N),m=b):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t),m}function oS(){var m,b,N,U,ce,Se;return m=Q,r.substr(Q,2)===Ft?(b=Ft,Q+=2):(b=t,I===0&&Qe(Nn)),b!==t?(N=Hl(),N!==t?(r.substr(Q,2)===qb?(U=qb,Q+=2):(U=t,I===0&&Qe(S1)),U!==t?(ce=U1(),ce!==t?(r.charCodeAt(Q)===125?(Se=Fe,Q++):(Se=t,I===0&&Qe(Ne)),Se!==t?(Me=m,b=v1(N,ce),m=b):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t),m===t&&(m=Q,r.substr(Q,2)===Ft?(b=Ft,Q+=2):(b=t,I===0&&Qe(Nn)),b!==t?(N=Hl(),N!==t?(r.substr(Q,3)===Jb?(U=Jb,Q+=3):(U=t,I===0&&Qe(x1)),U!==t?(Me=m,b=P1(N),m=b):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t),m===t&&(m=Q,r.substr(Q,2)===Ft?(b=Ft,Q+=2):(b=t,I===0&&Qe(Nn)),b!==t?(N=Hl(),N!==t?(r.substr(Q,2)===Wb?(U=Wb,Q+=2):(U=t,I===0&&Qe(D1)),U!==t?(ce=U1(),ce!==t?(r.charCodeAt(Q)===125?(Se=Fe,Q++):(Se=t,I===0&&Qe(Ne)),Se!==t?(Me=m,b=k1(N,ce),m=b):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t),m===t&&(m=Q,r.substr(Q,2)===Ft?(b=Ft,Q+=2):(b=t,I===0&&Qe(Nn)),b!==t?(N=Hl(),N!==t?(r.substr(Q,3)===zb?(U=zb,Q+=3):(U=t,I===0&&Qe(R1)),U!==t?(Me=m,b=F1(N),m=b):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t),m===t&&(m=Q,r.substr(Q,2)===Ft?(b=Ft,Q+=2):(b=t,I===0&&Qe(Nn)),b!==t?(N=Hl(),N!==t?(r.charCodeAt(Q)===125?(U=Fe,Q++):(U=t,I===0&&Qe(Ne)),U!==t?(Me=m,b=Vb(N),m=b):(Q=m,m=t)):(Q=m,m=t)):(Q=m,m=t),m===t&&(m=Q,r.charCodeAt(Q)===36?(b=N1,Q++):(b=t,I===0&&Qe(L1)),b!==t?(N=Hl(),N!==t?(Me=m,b=Vb(N),m=b):(Q=m,m=t)):(Q=m,m=t)))))),m}function wge(){var m,b,N;return m=Q,b=Bge(),b!==t?(Me=Q,N=T1(b),N?N=void 0:N=t,N!==t?(Me=m,b=O1(b),m=b):(Q=m,m=t)):(Q=m,m=t),m}function Bge(){var m,b,N,U,ce;if(m=Q,b=[],N=Q,U=Q,I++,ce=$1(),I--,ce===t?U=void 0:(Q=U,U=t),U!==t?(r.length>Q?(ce=r.charAt(Q),Q++):(ce=t,I===0&&Qe(Bo)),ce!==t?(Me=N,U=an(ce),N=U):(Q=N,N=t)):(Q=N,N=t),N!==t)for(;N!==t;)b.push(N),N=Q,U=Q,I++,ce=$1(),I--,ce===t?U=void 0:(Q=U,U=t),U!==t?(r.length>Q?(ce=r.charAt(Q),Q++):(ce=t,I===0&&Qe(Bo)),ce!==t?(Me=N,U=an(ce),N=U):(Q=N,N=t)):(Q=N,N=t);else b=t;return b!==t&&(Me=m,b=kn(b)),m=b,m}function Z1(){var m,b,N;if(m=Q,b=[],Xb.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(Zb)),N!==t)for(;N!==t;)b.push(N),Xb.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(Zb));else b=t;return b!==t&&(Me=m,b=_b()),m=b,m}function Hl(){var m,b,N;if(m=Q,b=[],$b.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(eS)),N!==t)for(;N!==t;)b.push(N),$b.test(r.charAt(Q))?(N=r.charAt(Q),Q++):(N=t,I===0&&Qe(eS));else b=t;return b!==t&&(Me=m,b=_b()),m=b,m}function _1(){var m;return M1.test(r.charAt(Q))?(m=r.charAt(Q),Q++):(m=t,I===0&&Qe(Eg)),m}function $1(){var m;return tS.test(r.charAt(Q))?(m=r.charAt(Q),Q++):(m=t,I===0&&Qe(rS)),m}function He(){var m,b;if(m=[],KE.test(r.charAt(Q))?(b=r.charAt(Q),Q++):(b=t,I===0&&Qe(UE)),b!==t)for(;b!==t;)m.push(b),KE.test(r.charAt(Q))?(b=r.charAt(Q),Q++):(b=t,I===0&&Qe(UE));else m=t;return m}if(k=n(),k!==t&&Q===r.length)return k;throw k!==t&&Q{"use strict";function Qfe(r,e){function t(){this.constructor=r}t.prototype=e.prototype,r.prototype=new t}function Vl(r,e,t,i){this.message=r,this.expected=e,this.found=t,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,Vl)}Qfe(Vl,Error);Vl.buildMessage=function(r,e){var t={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,f=1;gH&&(H=v,j=[]),j.push(ne))}function Ne(ne,Y){return new Vl(ne,null,null,Y)}function oe(ne,Y,pe){return new Vl(Vl.buildMessage(ne,Y),ne,Y,pe)}function le(){var ne,Y,pe,ie;return ne=v,Y=we(),Y!==t?(r.charCodeAt(v)===47?(pe=s,v++):(pe=t,$===0&&Fe(o)),pe!==t?(ie=we(),ie!==t?(D=ne,Y=a(Y,ie),ne=Y):(v=ne,ne=t)):(v=ne,ne=t)):(v=ne,ne=t),ne===t&&(ne=v,Y=we(),Y!==t&&(D=ne,Y=l(Y)),ne=Y),ne}function we(){var ne,Y,pe,ie;return ne=v,Y=fe(),Y!==t?(r.charCodeAt(v)===64?(pe=c,v++):(pe=t,$===0&&Fe(u)),pe!==t?(ie=qe(),ie!==t?(D=ne,Y=g(Y,ie),ne=Y):(v=ne,ne=t)):(v=ne,ne=t)):(v=ne,ne=t),ne===t&&(ne=v,Y=fe(),Y!==t&&(D=ne,Y=f(Y)),ne=Y),ne}function fe(){var ne,Y,pe,ie,de;return ne=v,r.charCodeAt(v)===64?(Y=c,v++):(Y=t,$===0&&Fe(u)),Y!==t?(pe=Ae(),pe!==t?(r.charCodeAt(v)===47?(ie=s,v++):(ie=t,$===0&&Fe(o)),ie!==t?(de=Ae(),de!==t?(D=ne,Y=h(),ne=Y):(v=ne,ne=t)):(v=ne,ne=t)):(v=ne,ne=t)):(v=ne,ne=t),ne===t&&(ne=v,Y=Ae(),Y!==t&&(D=ne,Y=h()),ne=Y),ne}function Ae(){var ne,Y,pe;if(ne=v,Y=[],p.test(r.charAt(v))?(pe=r.charAt(v),v++):(pe=t,$===0&&Fe(C)),pe!==t)for(;pe!==t;)Y.push(pe),p.test(r.charAt(v))?(pe=r.charAt(v),v++):(pe=t,$===0&&Fe(C));else Y=t;return Y!==t&&(D=ne,Y=h()),ne=Y,ne}function qe(){var ne,Y,pe;if(ne=v,Y=[],y.test(r.charAt(v))?(pe=r.charAt(v),v++):(pe=t,$===0&&Fe(B)),pe!==t)for(;pe!==t;)Y.push(pe),y.test(r.charAt(v))?(pe=r.charAt(v),v++):(pe=t,$===0&&Fe(B));else Y=t;return Y!==t&&(D=ne,Y=h()),ne=Y,ne}if(V=n(),V!==t&&v===r.length)return V;throw V!==t&&v{"use strict";function fU(r){return typeof r>"u"||r===null}function Sfe(r){return typeof r=="object"&&r!==null}function vfe(r){return Array.isArray(r)?r:fU(r)?[]:[r]}function xfe(r,e){var t,i,n,s;if(e)for(s=Object.keys(e),t=0,i=s.length;t{"use strict";function Wp(r,e){Error.call(this),this.name="YAMLException",this.reason=r,this.mark=e,this.message=(this.reason||"(unknown reason)")+(this.mark?" "+this.mark.toString():""),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}Wp.prototype=Object.create(Error.prototype);Wp.prototype.constructor=Wp;Wp.prototype.toString=function(e){var t=this.name+": ";return t+=this.reason||"(unknown reason)",!e&&this.mark&&(t+=" "+this.mark.toString()),t};hU.exports=Wp});var CU=w((IZe,dU)=>{"use strict";var pU=Zl();function HS(r,e,t,i,n){this.name=r,this.buffer=e,this.position=t,this.line=i,this.column=n}HS.prototype.getSnippet=function(e,t){var i,n,s,o,a;if(!this.buffer)return null;for(e=e||4,t=t||75,i="",n=this.position;n>0&&`\0\r \x85\u2028\u2029`.indexOf(this.buffer.charAt(n-1))===-1;)if(n-=1,this.position-n>t/2-1){i=" ... ",n+=5;break}for(s="",o=this.position;ot/2-1){s=" ... ",o-=5;break}return a=this.buffer.slice(n,o),GK.repeat(" ",e)+i+a+s+` -`+GK.repeat(" ",e+this.position-n+i.length)+"^"};SS.prototype.toString=function(e){var t,i="";return this.name&&(i+='in "'+this.name+'" '),i+="at line "+(this.line+1)+", column "+(this.column+1),e||(t=this.getSnippet(),t&&(i+=`: -`+t)),i};YK.exports=SS});var si=w((dXe,JK)=>{"use strict";var qK=Qg(),qge=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],Jge=["scalar","sequence","mapping"];function Wge(r){var e={};return r!==null&&Object.keys(r).forEach(function(t){r[t].forEach(function(i){e[String(i)]=t})}),e}function zge(r,e){if(e=e||{},Object.keys(e).forEach(function(t){if(qge.indexOf(t)===-1)throw new qK('Unknown option "'+t+'" is met in definition of "'+r+'" YAML type.')}),this.tag=r,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(t){return t},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.defaultStyle=e.defaultStyle||null,this.styleAliases=Wge(e.styleAliases||null),Jge.indexOf(this.kind)===-1)throw new qK('Unknown kind "'+this.kind+'" is specified for "'+r+'" YAML type.')}JK.exports=zge});var Yl=w((CXe,zK)=>{"use strict";var WK=Gl(),nI=Qg(),Vge=si();function vS(r,e,t){var i=[];return r.include.forEach(function(n){t=vS(n,e,t)}),r[e].forEach(function(n){t.forEach(function(s,o){s.tag===n.tag&&s.kind===n.kind&&i.push(o)}),t.push(n)}),t.filter(function(n,s){return i.indexOf(s)===-1})}function Xge(){var r={scalar:{},sequence:{},mapping:{},fallback:{}},e,t;function i(n){r[n.kind][n.tag]=r.fallback[n.tag]=n}for(e=0,t=arguments.length;e{"use strict";var _ge=si();VK.exports=new _ge("tag:yaml.org,2002:str",{kind:"scalar",construct:function(r){return r!==null?r:""}})});var ZK=w((EXe,_K)=>{"use strict";var Zge=si();_K.exports=new Zge("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(r){return r!==null?r:[]}})});var eU=w((IXe,$K)=>{"use strict";var $ge=si();$K.exports=new $ge("tag:yaml.org,2002:map",{kind:"mapping",construct:function(r){return r!==null?r:{}}})});var sI=w((yXe,tU)=>{"use strict";var efe=Yl();tU.exports=new efe({explicit:[XK(),ZK(),eU()]})});var iU=w((wXe,rU)=>{"use strict";var tfe=si();function rfe(r){if(r===null)return!0;var e=r.length;return e===1&&r==="~"||e===4&&(r==="null"||r==="Null"||r==="NULL")}function ife(){return null}function nfe(r){return r===null}rU.exports=new tfe("tag:yaml.org,2002:null",{kind:"scalar",resolve:rfe,construct:ife,predicate:nfe,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})});var sU=w((BXe,nU)=>{"use strict";var sfe=si();function ofe(r){if(r===null)return!1;var e=r.length;return e===4&&(r==="true"||r==="True"||r==="TRUE")||e===5&&(r==="false"||r==="False"||r==="FALSE")}function afe(r){return r==="true"||r==="True"||r==="TRUE"}function Afe(r){return Object.prototype.toString.call(r)==="[object Boolean]"}nU.exports=new sfe("tag:yaml.org,2002:bool",{kind:"scalar",resolve:ofe,construct:afe,predicate:Afe,represent:{lowercase:function(r){return r?"true":"false"},uppercase:function(r){return r?"TRUE":"FALSE"},camelcase:function(r){return r?"True":"False"}},defaultStyle:"lowercase"})});var aU=w((QXe,oU)=>{"use strict";var lfe=Gl(),cfe=si();function ufe(r){return 48<=r&&r<=57||65<=r&&r<=70||97<=r&&r<=102}function gfe(r){return 48<=r&&r<=55}function ffe(r){return 48<=r&&r<=57}function hfe(r){if(r===null)return!1;var e=r.length,t=0,i=!1,n;if(!e)return!1;if(n=r[t],(n==="-"||n==="+")&&(n=r[++t]),n==="0"){if(t+1===e)return!0;if(n=r[++t],n==="b"){for(t++;t=0?"0b"+r.toString(2):"-0b"+r.toString(2).slice(1)},octal:function(r){return r>=0?"0"+r.toString(8):"-0"+r.toString(8).slice(1)},decimal:function(r){return r.toString(10)},hexadecimal:function(r){return r>=0?"0x"+r.toString(16).toUpperCase():"-0x"+r.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})});var cU=w((bXe,lU)=>{"use strict";var AU=Gl(),Cfe=si(),mfe=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function Efe(r){return!(r===null||!mfe.test(r)||r[r.length-1]==="_")}function Ife(r){var e,t,i,n;return e=r.replace(/_/g,"").toLowerCase(),t=e[0]==="-"?-1:1,n=[],"+-".indexOf(e[0])>=0&&(e=e.slice(1)),e===".inf"?t===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:e.indexOf(":")>=0?(e.split(":").forEach(function(s){n.unshift(parseFloat(s,10))}),e=0,i=1,n.forEach(function(s){e+=s*i,i*=60}),t*e):t*parseFloat(e,10)}var yfe=/^[-+]?[0-9]+e/;function wfe(r,e){var t;if(isNaN(r))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===r)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===r)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(AU.isNegativeZero(r))return"-0.0";return t=r.toString(10),yfe.test(t)?t.replace("e",".e"):t}function Bfe(r){return Object.prototype.toString.call(r)==="[object Number]"&&(r%1!==0||AU.isNegativeZero(r))}lU.exports=new Cfe("tag:yaml.org,2002:float",{kind:"scalar",resolve:Efe,construct:Ife,predicate:Bfe,represent:wfe,defaultStyle:"lowercase"})});var xS=w((SXe,uU)=>{"use strict";var Qfe=Yl();uU.exports=new Qfe({include:[sI()],implicit:[iU(),sU(),aU(),cU()]})});var PS=w((vXe,gU)=>{"use strict";var bfe=Yl();gU.exports=new bfe({include:[xS()]})});var dU=w((xXe,pU)=>{"use strict";var Sfe=si(),fU=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),hU=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function vfe(r){return r===null?!1:fU.exec(r)!==null||hU.exec(r)!==null}function xfe(r){var e,t,i,n,s,o,a,l=0,c=null,u,g,f;if(e=fU.exec(r),e===null&&(e=hU.exec(r)),e===null)throw new Error("Date resolve error");if(t=+e[1],i=+e[2]-1,n=+e[3],!e[4])return new Date(Date.UTC(t,i,n));if(s=+e[4],o=+e[5],a=+e[6],e[7]){for(l=e[7].slice(0,3);l.length<3;)l+="0";l=+l}return e[9]&&(u=+e[10],g=+(e[11]||0),c=(u*60+g)*6e4,e[9]==="-"&&(c=-c)),f=new Date(Date.UTC(t,i,n,s,o,a,l)),c&&f.setTime(f.getTime()-c),f}function Pfe(r){return r.toISOString()}pU.exports=new Sfe("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:vfe,construct:xfe,instanceOf:Date,represent:Pfe})});var mU=w((PXe,CU)=>{"use strict";var Dfe=si();function kfe(r){return r==="<<"||r===null}CU.exports=new Dfe("tag:yaml.org,2002:merge",{kind:"scalar",resolve:kfe})});var yU=w((DXe,IU)=>{"use strict";var jl;try{EU=J,jl=EU("buffer").Buffer}catch{}var EU,Rfe=si(),DS=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= -\r`;function Ffe(r){if(r===null)return!1;var e,t,i=0,n=r.length,s=DS;for(t=0;t64)){if(e<0)return!1;i+=6}return i%8===0}function Nfe(r){var e,t,i=r.replace(/[\r\n=]/g,""),n=i.length,s=DS,o=0,a=[];for(e=0;e>16&255),a.push(o>>8&255),a.push(o&255)),o=o<<6|s.indexOf(i.charAt(e));return t=n%4*6,t===0?(a.push(o>>16&255),a.push(o>>8&255),a.push(o&255)):t===18?(a.push(o>>10&255),a.push(o>>2&255)):t===12&&a.push(o>>4&255),jl?jl.from?jl.from(a):new jl(a):a}function Lfe(r){var e="",t=0,i,n,s=r.length,o=DS;for(i=0;i>18&63],e+=o[t>>12&63],e+=o[t>>6&63],e+=o[t&63]),t=(t<<8)+r[i];return n=s%3,n===0?(e+=o[t>>18&63],e+=o[t>>12&63],e+=o[t>>6&63],e+=o[t&63]):n===2?(e+=o[t>>10&63],e+=o[t>>4&63],e+=o[t<<2&63],e+=o[64]):n===1&&(e+=o[t>>2&63],e+=o[t<<4&63],e+=o[64],e+=o[64]),e}function Tfe(r){return jl&&jl.isBuffer(r)}IU.exports=new Rfe("tag:yaml.org,2002:binary",{kind:"scalar",resolve:Ffe,construct:Nfe,predicate:Tfe,represent:Lfe})});var BU=w((kXe,wU)=>{"use strict";var Ofe=si(),Mfe=Object.prototype.hasOwnProperty,Kfe=Object.prototype.toString;function Ufe(r){if(r===null)return!0;var e=[],t,i,n,s,o,a=r;for(t=0,i=a.length;t{"use strict";var Gfe=si(),Yfe=Object.prototype.toString;function jfe(r){if(r===null)return!0;var e,t,i,n,s,o=r;for(s=new Array(o.length),e=0,t=o.length;e{"use strict";var Jfe=si(),Wfe=Object.prototype.hasOwnProperty;function zfe(r){if(r===null)return!0;var e,t=r;for(e in t)if(Wfe.call(t,e)&&t[e]!==null)return!1;return!0}function Vfe(r){return r!==null?r:{}}SU.exports=new Jfe("tag:yaml.org,2002:set",{kind:"mapping",resolve:zfe,construct:Vfe})});var Sg=w((NXe,xU)=>{"use strict";var Xfe=Yl();xU.exports=new Xfe({include:[PS()],implicit:[dU(),mU()],explicit:[yU(),BU(),bU(),vU()]})});var DU=w((LXe,PU)=>{"use strict";var _fe=si();function Zfe(){return!0}function $fe(){}function ehe(){return""}function the(r){return typeof r>"u"}PU.exports=new _fe("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:Zfe,construct:$fe,predicate:the,represent:ehe})});var RU=w((TXe,kU)=>{"use strict";var rhe=si();function ihe(r){if(r===null||r.length===0)return!1;var e=r,t=/\/([gim]*)$/.exec(r),i="";return!(e[0]==="/"&&(t&&(i=t[1]),i.length>3||e[e.length-i.length-1]!=="/"))}function nhe(r){var e=r,t=/\/([gim]*)$/.exec(r),i="";return e[0]==="/"&&(t&&(i=t[1]),e=e.slice(1,e.length-i.length-1)),new RegExp(e,i)}function she(r){var e="/"+r.source+"/";return r.global&&(e+="g"),r.multiline&&(e+="m"),r.ignoreCase&&(e+="i"),e}function ohe(r){return Object.prototype.toString.call(r)==="[object RegExp]"}kU.exports=new rhe("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:ihe,construct:nhe,predicate:ohe,represent:she})});var LU=w((OXe,NU)=>{"use strict";var oI;try{FU=J,oI=FU("esprima")}catch{typeof window<"u"&&(oI=window.esprima)}var FU,ahe=si();function Ahe(r){if(r===null)return!1;try{var e="("+r+")",t=oI.parse(e,{range:!0});return!(t.type!=="Program"||t.body.length!==1||t.body[0].type!=="ExpressionStatement"||t.body[0].expression.type!=="ArrowFunctionExpression"&&t.body[0].expression.type!=="FunctionExpression")}catch{return!1}}function lhe(r){var e="("+r+")",t=oI.parse(e,{range:!0}),i=[],n;if(t.type!=="Program"||t.body.length!==1||t.body[0].type!=="ExpressionStatement"||t.body[0].expression.type!=="ArrowFunctionExpression"&&t.body[0].expression.type!=="FunctionExpression")throw new Error("Failed to resolve function");return t.body[0].expression.params.forEach(function(s){i.push(s.name)}),n=t.body[0].expression.body.range,t.body[0].expression.body.type==="BlockStatement"?new Function(i,e.slice(n[0]+1,n[1]-1)):new Function(i,"return "+e.slice(n[0],n[1]))}function che(r){return r.toString()}function uhe(r){return Object.prototype.toString.call(r)==="[object Function]"}NU.exports=new ahe("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:Ahe,construct:lhe,predicate:uhe,represent:che})});var Mp=w((MXe,OU)=>{"use strict";var TU=Yl();OU.exports=TU.DEFAULT=new TU({include:[Sg()],explicit:[DU(),RU(),LU()]})});var r2=w((KXe,Kp)=>{"use strict";var da=Gl(),jU=Qg(),ghe=jK(),qU=Sg(),fhe=Mp(),wA=Object.prototype.hasOwnProperty,aI=1,JU=2,WU=3,AI=4,kS=1,hhe=2,MU=3,phe=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,dhe=/[\x85\u2028\u2029]/,Che=/[,\[\]\{\}]/,zU=/^(?:!|!!|![a-z\-]+!)$/i,VU=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function KU(r){return Object.prototype.toString.call(r)}function Bo(r){return r===10||r===13}function Jl(r){return r===9||r===32}function un(r){return r===9||r===32||r===10||r===13}function vg(r){return r===44||r===91||r===93||r===123||r===125}function mhe(r){var e;return 48<=r&&r<=57?r-48:(e=r|32,97<=e&&e<=102?e-97+10:-1)}function Ehe(r){return r===120?2:r===117?4:r===85?8:0}function Ihe(r){return 48<=r&&r<=57?r-48:-1}function UU(r){return r===48?"\0":r===97?"\x07":r===98?"\b":r===116||r===9?" ":r===110?` -`:r===118?"\v":r===102?"\f":r===114?"\r":r===101?"\x1B":r===32?" ":r===34?'"':r===47?"/":r===92?"\\":r===78?"\x85":r===95?"\xA0":r===76?"\u2028":r===80?"\u2029":""}function yhe(r){return r<=65535?String.fromCharCode(r):String.fromCharCode((r-65536>>10)+55296,(r-65536&1023)+56320)}var XU=new Array(256),_U=new Array(256);for(ql=0;ql<256;ql++)XU[ql]=UU(ql)?1:0,_U[ql]=UU(ql);var ql;function whe(r,e){this.input=r,this.filename=e.filename||null,this.schema=e.schema||fhe,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=r.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function ZU(r,e){return new jU(e,new ghe(r.filename,r.input,r.position,r.line,r.position-r.lineStart))}function ft(r,e){throw ZU(r,e)}function lI(r,e){r.onWarning&&r.onWarning.call(null,ZU(r,e))}var HU={YAML:function(e,t,i){var n,s,o;e.version!==null&&ft(e,"duplication of %YAML directive"),i.length!==1&&ft(e,"YAML directive accepts exactly one argument"),n=/^([0-9]+)\.([0-9]+)$/.exec(i[0]),n===null&&ft(e,"ill-formed argument of the YAML directive"),s=parseInt(n[1],10),o=parseInt(n[2],10),s!==1&&ft(e,"unacceptable YAML version of the document"),e.version=i[0],e.checkLineBreaks=o<2,o!==1&&o!==2&&lI(e,"unsupported YAML version of the document")},TAG:function(e,t,i){var n,s;i.length!==2&&ft(e,"TAG directive accepts exactly two arguments"),n=i[0],s=i[1],zU.test(n)||ft(e,"ill-formed tag handle (first argument) of the TAG directive"),wA.call(e.tagMap,n)&&ft(e,'there is a previously declared suffix for "'+n+'" tag handle'),VU.test(s)||ft(e,"ill-formed tag prefix (second argument) of the TAG directive"),e.tagMap[n]=s}};function yA(r,e,t,i){var n,s,o,a;if(e1&&(r.result+=da.repeat(` -`,e-1))}function Bhe(r,e,t){var i,n,s,o,a,l,c,u,g=r.kind,f=r.result,h;if(h=r.input.charCodeAt(r.position),un(h)||vg(h)||h===35||h===38||h===42||h===33||h===124||h===62||h===39||h===34||h===37||h===64||h===96||(h===63||h===45)&&(n=r.input.charCodeAt(r.position+1),un(n)||t&&vg(n)))return!1;for(r.kind="scalar",r.result="",s=o=r.position,a=!1;h!==0;){if(h===58){if(n=r.input.charCodeAt(r.position+1),un(n)||t&&vg(n))break}else if(h===35){if(i=r.input.charCodeAt(r.position-1),un(i))break}else{if(r.position===r.lineStart&&cI(r)||t&&vg(h))break;if(Bo(h))if(l=r.line,c=r.lineStart,u=r.lineIndent,zr(r,!1,-1),r.lineIndent>=e){a=!0,h=r.input.charCodeAt(r.position);continue}else{r.position=o,r.line=l,r.lineStart=c,r.lineIndent=u;break}}a&&(yA(r,s,o,!1),FS(r,r.line-l),s=o=r.position,a=!1),Jl(h)||(o=r.position+1),h=r.input.charCodeAt(++r.position)}return yA(r,s,o,!1),r.result?!0:(r.kind=g,r.result=f,!1)}function Qhe(r,e){var t,i,n;if(t=r.input.charCodeAt(r.position),t!==39)return!1;for(r.kind="scalar",r.result="",r.position++,i=n=r.position;(t=r.input.charCodeAt(r.position))!==0;)if(t===39)if(yA(r,i,r.position,!0),t=r.input.charCodeAt(++r.position),t===39)i=r.position,r.position++,n=r.position;else return!0;else Bo(t)?(yA(r,i,n,!0),FS(r,zr(r,!1,e)),i=n=r.position):r.position===r.lineStart&&cI(r)?ft(r,"unexpected end of the document within a single quoted scalar"):(r.position++,n=r.position);ft(r,"unexpected end of the stream within a single quoted scalar")}function bhe(r,e){var t,i,n,s,o,a;if(a=r.input.charCodeAt(r.position),a!==34)return!1;for(r.kind="scalar",r.result="",r.position++,t=i=r.position;(a=r.input.charCodeAt(r.position))!==0;){if(a===34)return yA(r,t,r.position,!0),r.position++,!0;if(a===92){if(yA(r,t,r.position,!0),a=r.input.charCodeAt(++r.position),Bo(a))zr(r,!1,e);else if(a<256&&XU[a])r.result+=_U[a],r.position++;else if((o=Ehe(a))>0){for(n=o,s=0;n>0;n--)a=r.input.charCodeAt(++r.position),(o=mhe(a))>=0?s=(s<<4)+o:ft(r,"expected hexadecimal character");r.result+=yhe(s),r.position++}else ft(r,"unknown escape sequence");t=i=r.position}else Bo(a)?(yA(r,t,i,!0),FS(r,zr(r,!1,e)),t=i=r.position):r.position===r.lineStart&&cI(r)?ft(r,"unexpected end of the document within a double quoted scalar"):(r.position++,i=r.position)}ft(r,"unexpected end of the stream within a double quoted scalar")}function She(r,e){var t=!0,i,n=r.tag,s,o=r.anchor,a,l,c,u,g,f={},h,p,C,y;if(y=r.input.charCodeAt(r.position),y===91)l=93,g=!1,s=[];else if(y===123)l=125,g=!0,s={};else return!1;for(r.anchor!==null&&(r.anchorMap[r.anchor]=s),y=r.input.charCodeAt(++r.position);y!==0;){if(zr(r,!0,e),y=r.input.charCodeAt(r.position),y===l)return r.position++,r.tag=n,r.anchor=o,r.kind=g?"mapping":"sequence",r.result=s,!0;t||ft(r,"missed comma between flow collection entries"),p=h=C=null,c=u=!1,y===63&&(a=r.input.charCodeAt(r.position+1),un(a)&&(c=u=!0,r.position++,zr(r,!0,e))),i=r.line,Pg(r,e,aI,!1,!0),p=r.tag,h=r.result,zr(r,!0,e),y=r.input.charCodeAt(r.position),(u||r.line===i)&&y===58&&(c=!0,y=r.input.charCodeAt(++r.position),zr(r,!0,e),Pg(r,e,aI,!1,!0),C=r.result),g?xg(r,s,f,p,h,C):c?s.push(xg(r,null,f,p,h,C)):s.push(h),zr(r,!0,e),y=r.input.charCodeAt(r.position),y===44?(t=!0,y=r.input.charCodeAt(++r.position)):t=!1}ft(r,"unexpected end of the stream within a flow collection")}function vhe(r,e){var t,i,n=kS,s=!1,o=!1,a=e,l=0,c=!1,u,g;if(g=r.input.charCodeAt(r.position),g===124)i=!1;else if(g===62)i=!0;else return!1;for(r.kind="scalar",r.result="";g!==0;)if(g=r.input.charCodeAt(++r.position),g===43||g===45)kS===n?n=g===43?MU:hhe:ft(r,"repeat of a chomping mode identifier");else if((u=Ihe(g))>=0)u===0?ft(r,"bad explicit indentation width of a block scalar; it cannot be less than one"):o?ft(r,"repeat of an indentation width identifier"):(a=e+u-1,o=!0);else break;if(Jl(g)){do g=r.input.charCodeAt(++r.position);while(Jl(g));if(g===35)do g=r.input.charCodeAt(++r.position);while(!Bo(g)&&g!==0)}for(;g!==0;){for(RS(r),r.lineIndent=0,g=r.input.charCodeAt(r.position);(!o||r.lineIndenta&&(a=r.lineIndent),Bo(g)){l++;continue}if(r.lineIndente)&&l!==0)ft(r,"bad indentation of a sequence entry");else if(r.lineIndente)&&(Pg(r,e,AI,!0,n)&&(p?f=r.result:h=r.result),p||(xg(r,c,u,g,f,h,s,o),g=f=h=null),zr(r,!0,-1),y=r.input.charCodeAt(r.position)),r.lineIndent>e&&y!==0)ft(r,"bad indentation of a mapping entry");else if(r.lineIndente?l=1:r.lineIndent===e?l=0:r.lineIndente?l=1:r.lineIndent===e?l=0:r.lineIndent tag; it should be "scalar", not "'+r.kind+'"'),g=0,f=r.implicitTypes.length;g tag; it should be "'+h.kind+'", not "'+r.kind+'"'),h.resolve(r.result)?(r.result=h.construct(r.result),r.anchor!==null&&(r.anchorMap[r.anchor]=r.result)):ft(r,"cannot resolve a node with !<"+r.tag+"> explicit tag")):ft(r,"unknown tag !<"+r.tag+">");return r.listener!==null&&r.listener("close",r),r.tag!==null||r.anchor!==null||u}function Rhe(r){var e=r.position,t,i,n,s=!1,o;for(r.version=null,r.checkLineBreaks=r.legacy,r.tagMap={},r.anchorMap={};(o=r.input.charCodeAt(r.position))!==0&&(zr(r,!0,-1),o=r.input.charCodeAt(r.position),!(r.lineIndent>0||o!==37));){for(s=!0,o=r.input.charCodeAt(++r.position),t=r.position;o!==0&&!un(o);)o=r.input.charCodeAt(++r.position);for(i=r.input.slice(t,r.position),n=[],i.length<1&&ft(r,"directive name must not be less than one character in length");o!==0;){for(;Jl(o);)o=r.input.charCodeAt(++r.position);if(o===35){do o=r.input.charCodeAt(++r.position);while(o!==0&&!Bo(o));break}if(Bo(o))break;for(t=r.position;o!==0&&!un(o);)o=r.input.charCodeAt(++r.position);n.push(r.input.slice(t,r.position))}o!==0&&RS(r),wA.call(HU,i)?HU[i](r,i,n):lI(r,'unknown document directive "'+i+'"')}if(zr(r,!0,-1),r.lineIndent===0&&r.input.charCodeAt(r.position)===45&&r.input.charCodeAt(r.position+1)===45&&r.input.charCodeAt(r.position+2)===45?(r.position+=3,zr(r,!0,-1)):s&&ft(r,"directives end mark is expected"),Pg(r,r.lineIndent-1,AI,!1,!0),zr(r,!0,-1),r.checkLineBreaks&&dhe.test(r.input.slice(e,r.position))&&lI(r,"non-ASCII line breaks are interpreted as content"),r.documents.push(r.result),r.position===r.lineStart&&cI(r)){r.input.charCodeAt(r.position)===46&&(r.position+=3,zr(r,!0,-1));return}if(r.position"u"&&(t=e,e=null);var i=$U(r,t);if(typeof e!="function")return i;for(var n=0,s=i.length;n"u"&&(t=e,e=null),e2(r,e,da.extend({schema:qU},t))}function Nhe(r,e){return t2(r,da.extend({schema:qU},e))}Kp.exports.loadAll=e2;Kp.exports.load=t2;Kp.exports.safeLoadAll=Fhe;Kp.exports.safeLoad=Nhe});var b2=w((UXe,OS)=>{"use strict";var Hp=Gl(),Gp=Qg(),Lhe=Mp(),The=Sg(),c2=Object.prototype.toString,u2=Object.prototype.hasOwnProperty,Ohe=9,Up=10,Mhe=13,Khe=32,Uhe=33,Hhe=34,g2=35,Ghe=37,Yhe=38,jhe=39,qhe=42,f2=44,Jhe=45,h2=58,Whe=61,zhe=62,Vhe=63,Xhe=64,p2=91,d2=93,_he=96,C2=123,Zhe=124,m2=125,Fi={};Fi[0]="\\0";Fi[7]="\\a";Fi[8]="\\b";Fi[9]="\\t";Fi[10]="\\n";Fi[11]="\\v";Fi[12]="\\f";Fi[13]="\\r";Fi[27]="\\e";Fi[34]='\\"';Fi[92]="\\\\";Fi[133]="\\N";Fi[160]="\\_";Fi[8232]="\\L";Fi[8233]="\\P";var $he=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function epe(r,e){var t,i,n,s,o,a,l;if(e===null)return{};for(t={},i=Object.keys(e),n=0,s=i.length;nt/2-1){s=" ... ",o-=5;break}return a=this.buffer.slice(n,o),pU.repeat(" ",e)+i+a+s+` +`+pU.repeat(" ",e+this.position-n+i.length)+"^"};HS.prototype.toString=function(e){var t,i="";return this.name&&(i+='in "'+this.name+'" '),i+="at line "+(this.line+1)+", column "+(this.column+1),e||(t=this.getSnippet(),t&&(i+=`: +`+t)),i};dU.exports=HS});var si=w((yZe,EU)=>{"use strict";var mU=kg(),kfe=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],Rfe=["scalar","sequence","mapping"];function Ffe(r){var e={};return r!==null&&Object.keys(r).forEach(function(t){r[t].forEach(function(i){e[String(i)]=t})}),e}function Nfe(r,e){if(e=e||{},Object.keys(e).forEach(function(t){if(kfe.indexOf(t)===-1)throw new mU('Unknown option "'+t+'" is met in definition of "'+r+'" YAML type.')}),this.tag=r,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(t){return t},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.defaultStyle=e.defaultStyle||null,this.styleAliases=Ffe(e.styleAliases||null),Rfe.indexOf(this.kind)===-1)throw new mU('Unknown kind "'+this.kind+'" is specified for "'+r+'" YAML type.')}EU.exports=Nfe});var _l=w((wZe,yU)=>{"use strict";var IU=Zl(),gI=kg(),Lfe=si();function GS(r,e,t){var i=[];return r.include.forEach(function(n){t=GS(n,e,t)}),r[e].forEach(function(n){t.forEach(function(s,o){s.tag===n.tag&&s.kind===n.kind&&i.push(o)}),t.push(n)}),t.filter(function(n,s){return i.indexOf(s)===-1})}function Tfe(){var r={scalar:{},sequence:{},mapping:{},fallback:{}},e,t;function i(n){r[n.kind][n.tag]=r.fallback[n.tag]=n}for(e=0,t=arguments.length;e{"use strict";var Ofe=si();wU.exports=new Ofe("tag:yaml.org,2002:str",{kind:"scalar",construct:function(r){return r!==null?r:""}})});var bU=w((QZe,QU)=>{"use strict";var Mfe=si();QU.exports=new Mfe("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(r){return r!==null?r:[]}})});var vU=w((bZe,SU)=>{"use strict";var Kfe=si();SU.exports=new Kfe("tag:yaml.org,2002:map",{kind:"mapping",construct:function(r){return r!==null?r:{}}})});var fI=w((SZe,xU)=>{"use strict";var Ufe=_l();xU.exports=new Ufe({explicit:[BU(),bU(),vU()]})});var DU=w((vZe,PU)=>{"use strict";var Hfe=si();function Gfe(r){if(r===null)return!0;var e=r.length;return e===1&&r==="~"||e===4&&(r==="null"||r==="Null"||r==="NULL")}function Yfe(){return null}function jfe(r){return r===null}PU.exports=new Hfe("tag:yaml.org,2002:null",{kind:"scalar",resolve:Gfe,construct:Yfe,predicate:jfe,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})});var RU=w((xZe,kU)=>{"use strict";var qfe=si();function Jfe(r){if(r===null)return!1;var e=r.length;return e===4&&(r==="true"||r==="True"||r==="TRUE")||e===5&&(r==="false"||r==="False"||r==="FALSE")}function Wfe(r){return r==="true"||r==="True"||r==="TRUE"}function zfe(r){return Object.prototype.toString.call(r)==="[object Boolean]"}kU.exports=new qfe("tag:yaml.org,2002:bool",{kind:"scalar",resolve:Jfe,construct:Wfe,predicate:zfe,represent:{lowercase:function(r){return r?"true":"false"},uppercase:function(r){return r?"TRUE":"FALSE"},camelcase:function(r){return r?"True":"False"}},defaultStyle:"lowercase"})});var NU=w((PZe,FU)=>{"use strict";var Vfe=Zl(),Xfe=si();function Zfe(r){return 48<=r&&r<=57||65<=r&&r<=70||97<=r&&r<=102}function _fe(r){return 48<=r&&r<=55}function $fe(r){return 48<=r&&r<=57}function ehe(r){if(r===null)return!1;var e=r.length,t=0,i=!1,n;if(!e)return!1;if(n=r[t],(n==="-"||n==="+")&&(n=r[++t]),n==="0"){if(t+1===e)return!0;if(n=r[++t],n==="b"){for(t++;t=0?"0b"+r.toString(2):"-0b"+r.toString(2).slice(1)},octal:function(r){return r>=0?"0"+r.toString(8):"-0"+r.toString(8).slice(1)},decimal:function(r){return r.toString(10)},hexadecimal:function(r){return r>=0?"0x"+r.toString(16).toUpperCase():"-0x"+r.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})});var OU=w((DZe,TU)=>{"use strict";var LU=Zl(),ihe=si(),nhe=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function she(r){return!(r===null||!nhe.test(r)||r[r.length-1]==="_")}function ohe(r){var e,t,i,n;return e=r.replace(/_/g,"").toLowerCase(),t=e[0]==="-"?-1:1,n=[],"+-".indexOf(e[0])>=0&&(e=e.slice(1)),e===".inf"?t===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:e.indexOf(":")>=0?(e.split(":").forEach(function(s){n.unshift(parseFloat(s,10))}),e=0,i=1,n.forEach(function(s){e+=s*i,i*=60}),t*e):t*parseFloat(e,10)}var ahe=/^[-+]?[0-9]+e/;function Ahe(r,e){var t;if(isNaN(r))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===r)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===r)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(LU.isNegativeZero(r))return"-0.0";return t=r.toString(10),ahe.test(t)?t.replace("e",".e"):t}function lhe(r){return Object.prototype.toString.call(r)==="[object Number]"&&(r%1!==0||LU.isNegativeZero(r))}TU.exports=new ihe("tag:yaml.org,2002:float",{kind:"scalar",resolve:she,construct:ohe,predicate:lhe,represent:Ahe,defaultStyle:"lowercase"})});var YS=w((kZe,MU)=>{"use strict";var che=_l();MU.exports=new che({include:[fI()],implicit:[DU(),RU(),NU(),OU()]})});var jS=w((RZe,KU)=>{"use strict";var uhe=_l();KU.exports=new uhe({include:[YS()]})});var YU=w((FZe,GU)=>{"use strict";var ghe=si(),UU=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),HU=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function fhe(r){return r===null?!1:UU.exec(r)!==null||HU.exec(r)!==null}function hhe(r){var e,t,i,n,s,o,a,l=0,c=null,u,g,f;if(e=UU.exec(r),e===null&&(e=HU.exec(r)),e===null)throw new Error("Date resolve error");if(t=+e[1],i=+e[2]-1,n=+e[3],!e[4])return new Date(Date.UTC(t,i,n));if(s=+e[4],o=+e[5],a=+e[6],e[7]){for(l=e[7].slice(0,3);l.length<3;)l+="0";l=+l}return e[9]&&(u=+e[10],g=+(e[11]||0),c=(u*60+g)*6e4,e[9]==="-"&&(c=-c)),f=new Date(Date.UTC(t,i,n,s,o,a,l)),c&&f.setTime(f.getTime()-c),f}function phe(r){return r.toISOString()}GU.exports=new ghe("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:fhe,construct:hhe,instanceOf:Date,represent:phe})});var qU=w((NZe,jU)=>{"use strict";var dhe=si();function Che(r){return r==="<<"||r===null}jU.exports=new dhe("tag:yaml.org,2002:merge",{kind:"scalar",resolve:Che})});var zU=w((LZe,WU)=>{"use strict";var $l;try{JU=J,$l=JU("buffer").Buffer}catch{}var JU,mhe=si(),qS=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r`;function Ehe(r){if(r===null)return!1;var e,t,i=0,n=r.length,s=qS;for(t=0;t64)){if(e<0)return!1;i+=6}return i%8===0}function Ihe(r){var e,t,i=r.replace(/[\r\n=]/g,""),n=i.length,s=qS,o=0,a=[];for(e=0;e>16&255),a.push(o>>8&255),a.push(o&255)),o=o<<6|s.indexOf(i.charAt(e));return t=n%4*6,t===0?(a.push(o>>16&255),a.push(o>>8&255),a.push(o&255)):t===18?(a.push(o>>10&255),a.push(o>>2&255)):t===12&&a.push(o>>4&255),$l?$l.from?$l.from(a):new $l(a):a}function yhe(r){var e="",t=0,i,n,s=r.length,o=qS;for(i=0;i>18&63],e+=o[t>>12&63],e+=o[t>>6&63],e+=o[t&63]),t=(t<<8)+r[i];return n=s%3,n===0?(e+=o[t>>18&63],e+=o[t>>12&63],e+=o[t>>6&63],e+=o[t&63]):n===2?(e+=o[t>>10&63],e+=o[t>>4&63],e+=o[t<<2&63],e+=o[64]):n===1&&(e+=o[t>>2&63],e+=o[t<<4&63],e+=o[64],e+=o[64]),e}function whe(r){return $l&&$l.isBuffer(r)}WU.exports=new mhe("tag:yaml.org,2002:binary",{kind:"scalar",resolve:Ehe,construct:Ihe,predicate:whe,represent:yhe})});var XU=w((TZe,VU)=>{"use strict";var Bhe=si(),Qhe=Object.prototype.hasOwnProperty,bhe=Object.prototype.toString;function She(r){if(r===null)return!0;var e=[],t,i,n,s,o,a=r;for(t=0,i=a.length;t{"use strict";var xhe=si(),Phe=Object.prototype.toString;function Dhe(r){if(r===null)return!0;var e,t,i,n,s,o=r;for(s=new Array(o.length),e=0,t=o.length;e{"use strict";var Rhe=si(),Fhe=Object.prototype.hasOwnProperty;function Nhe(r){if(r===null)return!0;var e,t=r;for(e in t)if(Fhe.call(t,e)&&t[e]!==null)return!1;return!0}function Lhe(r){return r!==null?r:{}}$U.exports=new Rhe("tag:yaml.org,2002:set",{kind:"mapping",resolve:Nhe,construct:Lhe})});var Fg=w((KZe,t2)=>{"use strict";var The=_l();t2.exports=new The({include:[jS()],implicit:[YU(),qU()],explicit:[zU(),XU(),_U(),e2()]})});var i2=w((UZe,r2)=>{"use strict";var Ohe=si();function Mhe(){return!0}function Khe(){}function Uhe(){return""}function Hhe(r){return typeof r>"u"}r2.exports=new Ohe("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:Mhe,construct:Khe,predicate:Hhe,represent:Uhe})});var s2=w((HZe,n2)=>{"use strict";var Ghe=si();function Yhe(r){if(r===null||r.length===0)return!1;var e=r,t=/\/([gim]*)$/.exec(r),i="";return!(e[0]==="/"&&(t&&(i=t[1]),i.length>3||e[e.length-i.length-1]!=="/"))}function jhe(r){var e=r,t=/\/([gim]*)$/.exec(r),i="";return e[0]==="/"&&(t&&(i=t[1]),e=e.slice(1,e.length-i.length-1)),new RegExp(e,i)}function qhe(r){var e="/"+r.source+"/";return r.global&&(e+="g"),r.multiline&&(e+="m"),r.ignoreCase&&(e+="i"),e}function Jhe(r){return Object.prototype.toString.call(r)==="[object RegExp]"}n2.exports=new Ghe("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:Yhe,construct:jhe,predicate:Jhe,represent:qhe})});var A2=w((GZe,a2)=>{"use strict";var hI;try{o2=J,hI=o2("esprima")}catch{typeof window<"u"&&(hI=window.esprima)}var o2,Whe=si();function zhe(r){if(r===null)return!1;try{var e="("+r+")",t=hI.parse(e,{range:!0});return!(t.type!=="Program"||t.body.length!==1||t.body[0].type!=="ExpressionStatement"||t.body[0].expression.type!=="ArrowFunctionExpression"&&t.body[0].expression.type!=="FunctionExpression")}catch{return!1}}function Vhe(r){var e="("+r+")",t=hI.parse(e,{range:!0}),i=[],n;if(t.type!=="Program"||t.body.length!==1||t.body[0].type!=="ExpressionStatement"||t.body[0].expression.type!=="ArrowFunctionExpression"&&t.body[0].expression.type!=="FunctionExpression")throw new Error("Failed to resolve function");return t.body[0].expression.params.forEach(function(s){i.push(s.name)}),n=t.body[0].expression.body.range,t.body[0].expression.body.type==="BlockStatement"?new Function(i,e.slice(n[0]+1,n[1]-1)):new Function(i,"return "+e.slice(n[0],n[1]))}function Xhe(r){return r.toString()}function Zhe(r){return Object.prototype.toString.call(r)==="[object Function]"}a2.exports=new Whe("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:zhe,construct:Vhe,predicate:Zhe,represent:Xhe})});var zp=w((YZe,c2)=>{"use strict";var l2=_l();c2.exports=l2.DEFAULT=new l2({include:[Fg()],explicit:[i2(),s2(),A2()]})});var P2=w((jZe,Vp)=>{"use strict";var ya=Zl(),C2=kg(),_he=CU(),m2=Fg(),$he=zp(),DA=Object.prototype.hasOwnProperty,pI=1,E2=2,I2=3,dI=4,JS=1,epe=2,u2=3,tpe=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,rpe=/[\x85\u2028\u2029]/,ipe=/[,\[\]\{\}]/,y2=/^(?:!|!!|![a-z\-]+!)$/i,w2=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function g2(r){return Object.prototype.toString.call(r)}function vo(r){return r===10||r===13}function tc(r){return r===9||r===32}function un(r){return r===9||r===32||r===10||r===13}function Ng(r){return r===44||r===91||r===93||r===123||r===125}function npe(r){var e;return 48<=r&&r<=57?r-48:(e=r|32,97<=e&&e<=102?e-97+10:-1)}function spe(r){return r===120?2:r===117?4:r===85?8:0}function ope(r){return 48<=r&&r<=57?r-48:-1}function f2(r){return r===48?"\0":r===97?"\x07":r===98?"\b":r===116||r===9?" ":r===110?` +`:r===118?"\v":r===102?"\f":r===114?"\r":r===101?"\x1B":r===32?" ":r===34?'"':r===47?"/":r===92?"\\":r===78?"\x85":r===95?"\xA0":r===76?"\u2028":r===80?"\u2029":""}function ape(r){return r<=65535?String.fromCharCode(r):String.fromCharCode((r-65536>>10)+55296,(r-65536&1023)+56320)}var B2=new Array(256),Q2=new Array(256);for(ec=0;ec<256;ec++)B2[ec]=f2(ec)?1:0,Q2[ec]=f2(ec);var ec;function Ape(r,e){this.input=r,this.filename=e.filename||null,this.schema=e.schema||$he,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=r.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function b2(r,e){return new C2(e,new _he(r.filename,r.input,r.position,r.line,r.position-r.lineStart))}function ft(r,e){throw b2(r,e)}function CI(r,e){r.onWarning&&r.onWarning.call(null,b2(r,e))}var h2={YAML:function(e,t,i){var n,s,o;e.version!==null&&ft(e,"duplication of %YAML directive"),i.length!==1&&ft(e,"YAML directive accepts exactly one argument"),n=/^([0-9]+)\.([0-9]+)$/.exec(i[0]),n===null&&ft(e,"ill-formed argument of the YAML directive"),s=parseInt(n[1],10),o=parseInt(n[2],10),s!==1&&ft(e,"unacceptable YAML version of the document"),e.version=i[0],e.checkLineBreaks=o<2,o!==1&&o!==2&&CI(e,"unsupported YAML version of the document")},TAG:function(e,t,i){var n,s;i.length!==2&&ft(e,"TAG directive accepts exactly two arguments"),n=i[0],s=i[1],y2.test(n)||ft(e,"ill-formed tag handle (first argument) of the TAG directive"),DA.call(e.tagMap,n)&&ft(e,'there is a previously declared suffix for "'+n+'" tag handle'),w2.test(s)||ft(e,"ill-formed tag prefix (second argument) of the TAG directive"),e.tagMap[n]=s}};function PA(r,e,t,i){var n,s,o,a;if(e1&&(r.result+=ya.repeat(` +`,e-1))}function lpe(r,e,t){var i,n,s,o,a,l,c,u,g=r.kind,f=r.result,h;if(h=r.input.charCodeAt(r.position),un(h)||Ng(h)||h===35||h===38||h===42||h===33||h===124||h===62||h===39||h===34||h===37||h===64||h===96||(h===63||h===45)&&(n=r.input.charCodeAt(r.position+1),un(n)||t&&Ng(n)))return!1;for(r.kind="scalar",r.result="",s=o=r.position,a=!1;h!==0;){if(h===58){if(n=r.input.charCodeAt(r.position+1),un(n)||t&&Ng(n))break}else if(h===35){if(i=r.input.charCodeAt(r.position-1),un(i))break}else{if(r.position===r.lineStart&&mI(r)||t&&Ng(h))break;if(vo(h))if(l=r.line,c=r.lineStart,u=r.lineIndent,zr(r,!1,-1),r.lineIndent>=e){a=!0,h=r.input.charCodeAt(r.position);continue}else{r.position=o,r.line=l,r.lineStart=c,r.lineIndent=u;break}}a&&(PA(r,s,o,!1),zS(r,r.line-l),s=o=r.position,a=!1),tc(h)||(o=r.position+1),h=r.input.charCodeAt(++r.position)}return PA(r,s,o,!1),r.result?!0:(r.kind=g,r.result=f,!1)}function cpe(r,e){var t,i,n;if(t=r.input.charCodeAt(r.position),t!==39)return!1;for(r.kind="scalar",r.result="",r.position++,i=n=r.position;(t=r.input.charCodeAt(r.position))!==0;)if(t===39)if(PA(r,i,r.position,!0),t=r.input.charCodeAt(++r.position),t===39)i=r.position,r.position++,n=r.position;else return!0;else vo(t)?(PA(r,i,n,!0),zS(r,zr(r,!1,e)),i=n=r.position):r.position===r.lineStart&&mI(r)?ft(r,"unexpected end of the document within a single quoted scalar"):(r.position++,n=r.position);ft(r,"unexpected end of the stream within a single quoted scalar")}function upe(r,e){var t,i,n,s,o,a;if(a=r.input.charCodeAt(r.position),a!==34)return!1;for(r.kind="scalar",r.result="",r.position++,t=i=r.position;(a=r.input.charCodeAt(r.position))!==0;){if(a===34)return PA(r,t,r.position,!0),r.position++,!0;if(a===92){if(PA(r,t,r.position,!0),a=r.input.charCodeAt(++r.position),vo(a))zr(r,!1,e);else if(a<256&&B2[a])r.result+=Q2[a],r.position++;else if((o=spe(a))>0){for(n=o,s=0;n>0;n--)a=r.input.charCodeAt(++r.position),(o=npe(a))>=0?s=(s<<4)+o:ft(r,"expected hexadecimal character");r.result+=ape(s),r.position++}else ft(r,"unknown escape sequence");t=i=r.position}else vo(a)?(PA(r,t,i,!0),zS(r,zr(r,!1,e)),t=i=r.position):r.position===r.lineStart&&mI(r)?ft(r,"unexpected end of the document within a double quoted scalar"):(r.position++,i=r.position)}ft(r,"unexpected end of the stream within a double quoted scalar")}function gpe(r,e){var t=!0,i,n=r.tag,s,o=r.anchor,a,l,c,u,g,f={},h,p,C,y;if(y=r.input.charCodeAt(r.position),y===91)l=93,g=!1,s=[];else if(y===123)l=125,g=!0,s={};else return!1;for(r.anchor!==null&&(r.anchorMap[r.anchor]=s),y=r.input.charCodeAt(++r.position);y!==0;){if(zr(r,!0,e),y=r.input.charCodeAt(r.position),y===l)return r.position++,r.tag=n,r.anchor=o,r.kind=g?"mapping":"sequence",r.result=s,!0;t||ft(r,"missed comma between flow collection entries"),p=h=C=null,c=u=!1,y===63&&(a=r.input.charCodeAt(r.position+1),un(a)&&(c=u=!0,r.position++,zr(r,!0,e))),i=r.line,Tg(r,e,pI,!1,!0),p=r.tag,h=r.result,zr(r,!0,e),y=r.input.charCodeAt(r.position),(u||r.line===i)&&y===58&&(c=!0,y=r.input.charCodeAt(++r.position),zr(r,!0,e),Tg(r,e,pI,!1,!0),C=r.result),g?Lg(r,s,f,p,h,C):c?s.push(Lg(r,null,f,p,h,C)):s.push(h),zr(r,!0,e),y=r.input.charCodeAt(r.position),y===44?(t=!0,y=r.input.charCodeAt(++r.position)):t=!1}ft(r,"unexpected end of the stream within a flow collection")}function fpe(r,e){var t,i,n=JS,s=!1,o=!1,a=e,l=0,c=!1,u,g;if(g=r.input.charCodeAt(r.position),g===124)i=!1;else if(g===62)i=!0;else return!1;for(r.kind="scalar",r.result="";g!==0;)if(g=r.input.charCodeAt(++r.position),g===43||g===45)JS===n?n=g===43?u2:epe:ft(r,"repeat of a chomping mode identifier");else if((u=ope(g))>=0)u===0?ft(r,"bad explicit indentation width of a block scalar; it cannot be less than one"):o?ft(r,"repeat of an indentation width identifier"):(a=e+u-1,o=!0);else break;if(tc(g)){do g=r.input.charCodeAt(++r.position);while(tc(g));if(g===35)do g=r.input.charCodeAt(++r.position);while(!vo(g)&&g!==0)}for(;g!==0;){for(WS(r),r.lineIndent=0,g=r.input.charCodeAt(r.position);(!o||r.lineIndenta&&(a=r.lineIndent),vo(g)){l++;continue}if(r.lineIndente)&&l!==0)ft(r,"bad indentation of a sequence entry");else if(r.lineIndente)&&(Tg(r,e,dI,!0,n)&&(p?f=r.result:h=r.result),p||(Lg(r,c,u,g,f,h,s,o),g=f=h=null),zr(r,!0,-1),y=r.input.charCodeAt(r.position)),r.lineIndent>e&&y!==0)ft(r,"bad indentation of a mapping entry");else if(r.lineIndente?l=1:r.lineIndent===e?l=0:r.lineIndente?l=1:r.lineIndent===e?l=0:r.lineIndent tag; it should be "scalar", not "'+r.kind+'"'),g=0,f=r.implicitTypes.length;g tag; it should be "'+h.kind+'", not "'+r.kind+'"'),h.resolve(r.result)?(r.result=h.construct(r.result),r.anchor!==null&&(r.anchorMap[r.anchor]=r.result)):ft(r,"cannot resolve a node with !<"+r.tag+"> explicit tag")):ft(r,"unknown tag !<"+r.tag+">");return r.listener!==null&&r.listener("close",r),r.tag!==null||r.anchor!==null||u}function mpe(r){var e=r.position,t,i,n,s=!1,o;for(r.version=null,r.checkLineBreaks=r.legacy,r.tagMap={},r.anchorMap={};(o=r.input.charCodeAt(r.position))!==0&&(zr(r,!0,-1),o=r.input.charCodeAt(r.position),!(r.lineIndent>0||o!==37));){for(s=!0,o=r.input.charCodeAt(++r.position),t=r.position;o!==0&&!un(o);)o=r.input.charCodeAt(++r.position);for(i=r.input.slice(t,r.position),n=[],i.length<1&&ft(r,"directive name must not be less than one character in length");o!==0;){for(;tc(o);)o=r.input.charCodeAt(++r.position);if(o===35){do o=r.input.charCodeAt(++r.position);while(o!==0&&!vo(o));break}if(vo(o))break;for(t=r.position;o!==0&&!un(o);)o=r.input.charCodeAt(++r.position);n.push(r.input.slice(t,r.position))}o!==0&&WS(r),DA.call(h2,i)?h2[i](r,i,n):CI(r,'unknown document directive "'+i+'"')}if(zr(r,!0,-1),r.lineIndent===0&&r.input.charCodeAt(r.position)===45&&r.input.charCodeAt(r.position+1)===45&&r.input.charCodeAt(r.position+2)===45?(r.position+=3,zr(r,!0,-1)):s&&ft(r,"directives end mark is expected"),Tg(r,r.lineIndent-1,dI,!1,!0),zr(r,!0,-1),r.checkLineBreaks&&rpe.test(r.input.slice(e,r.position))&&CI(r,"non-ASCII line breaks are interpreted as content"),r.documents.push(r.result),r.position===r.lineStart&&mI(r)){r.input.charCodeAt(r.position)===46&&(r.position+=3,zr(r,!0,-1));return}if(r.position"u"&&(t=e,e=null);var i=S2(r,t);if(typeof e!="function")return i;for(var n=0,s=i.length;n"u"&&(t=e,e=null),v2(r,e,ya.extend({schema:m2},t))}function Ipe(r,e){return x2(r,ya.extend({schema:m2},e))}Vp.exports.loadAll=v2;Vp.exports.load=x2;Vp.exports.safeLoadAll=Epe;Vp.exports.safeLoad=Ipe});var _2=w((qZe,_S)=>{"use strict";var Zp=Zl(),_p=kg(),ype=zp(),wpe=Fg(),O2=Object.prototype.toString,M2=Object.prototype.hasOwnProperty,Bpe=9,Xp=10,Qpe=13,bpe=32,Spe=33,vpe=34,K2=35,xpe=37,Ppe=38,Dpe=39,kpe=42,U2=44,Rpe=45,H2=58,Fpe=61,Npe=62,Lpe=63,Tpe=64,G2=91,Y2=93,Ope=96,j2=123,Mpe=124,q2=125,Ni={};Ni[0]="\\0";Ni[7]="\\a";Ni[8]="\\b";Ni[9]="\\t";Ni[10]="\\n";Ni[11]="\\v";Ni[12]="\\f";Ni[13]="\\r";Ni[27]="\\e";Ni[34]='\\"';Ni[92]="\\\\";Ni[133]="\\N";Ni[160]="\\_";Ni[8232]="\\L";Ni[8233]="\\P";var Kpe=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function Upe(r,e){var t,i,n,s,o,a,l;if(e===null)return{};for(t={},i=Object.keys(e),n=0,s=i.length;n0?r.charCodeAt(s-1):null,f=f&&s2(o,a)}else{for(s=0;si&&r[g+1]!==" ",g=s);else if(!Dg(o))return uI;a=s>0?r.charCodeAt(s-1):null,f=f&&s2(o,a)}c=c||u&&s-g-1>i&&r[g+1]!==" "}return!l&&!c?f&&!n(r)?I2:y2:t>9&&E2(r)?uI:c?B2:w2}function ope(r,e,t,i){r.dump=function(){if(e.length===0)return"''";if(!r.noCompatMode&&$he.indexOf(e)!==-1)return"'"+e+"'";var n=r.indent*Math.max(1,t),s=r.lineWidth===-1?-1:Math.max(Math.min(r.lineWidth,40),r.lineWidth-n),o=i||r.flowLevel>-1&&t>=r.flowLevel;function a(l){return rpe(r,l)}switch(spe(e,o,r.indent,s,a)){case I2:return e;case y2:return"'"+e.replace(/'/g,"''")+"'";case w2:return"|"+o2(e,r.indent)+a2(n2(e,n));case B2:return">"+o2(e,r.indent)+a2(n2(ape(e,s),n));case uI:return'"'+Ape(e,s)+'"';default:throw new Gp("impossible error: invalid scalar style")}}()}function o2(r,e){var t=E2(r)?String(e):"",i=r[r.length-1]===` +`&&(s+=t),s+=o;return s}function VS(r,e){return` +`+Zp.repeat(" ",r.indent*e)}function Gpe(r,e){var t,i,n;for(t=0,i=r.implicitTypes.length;t0?r.charCodeAt(s-1):null,f=f&&R2(o,a)}else{for(s=0;si&&r[g+1]!==" ",g=s);else if(!Og(o))return EI;a=s>0?r.charCodeAt(s-1):null,f=f&&R2(o,a)}c=c||u&&s-g-1>i&&r[g+1]!==" "}return!l&&!c?f&&!n(r)?W2:z2:t>9&&J2(r)?EI:c?X2:V2}function Jpe(r,e,t,i){r.dump=function(){if(e.length===0)return"''";if(!r.noCompatMode&&Kpe.indexOf(e)!==-1)return"'"+e+"'";var n=r.indent*Math.max(1,t),s=r.lineWidth===-1?-1:Math.max(Math.min(r.lineWidth,40),r.lineWidth-n),o=i||r.flowLevel>-1&&t>=r.flowLevel;function a(l){return Gpe(r,l)}switch(qpe(e,o,r.indent,s,a)){case W2:return e;case z2:return"'"+e.replace(/'/g,"''")+"'";case V2:return"|"+F2(e,r.indent)+N2(k2(e,n));case X2:return">"+F2(e,r.indent)+N2(k2(Wpe(e,s),n));case EI:return'"'+zpe(e,s)+'"';default:throw new _p("impossible error: invalid scalar style")}}()}function F2(r,e){var t=J2(r)?String(e):"",i=r[r.length-1]===` `,n=i&&(r[r.length-2]===` `||r===` `),s=n?"+":i?"":"-";return t+s+` -`}function a2(r){return r[r.length-1]===` -`?r.slice(0,-1):r}function ape(r,e){for(var t=/(\n+)([^\n]*)/g,i=function(){var c=r.indexOf(` -`);return c=c!==-1?c:r.length,t.lastIndex=c,A2(r.slice(0,c),e)}(),n=r[0]===` +`}function N2(r){return r[r.length-1]===` +`?r.slice(0,-1):r}function Wpe(r,e){for(var t=/(\n+)([^\n]*)/g,i=function(){var c=r.indexOf(` +`);return c=c!==-1?c:r.length,t.lastIndex=c,L2(r.slice(0,c),e)}(),n=r[0]===` `||r[0]===" ",s,o;o=t.exec(r);){var a=o[1],l=o[2];s=l[0]===" ",i+=a+(!n&&!s&&l!==""?` -`:"")+A2(l,e),n=s}return i}function A2(r,e){if(r===""||r[0]===" ")return r;for(var t=/ [^ ]/g,i,n=0,s,o=0,a=0,l="";i=t.exec(r);)a=i.index,a-n>e&&(s=o>n?o:a,l+=` +`:"")+L2(l,e),n=s}return i}function L2(r,e){if(r===""||r[0]===" ")return r;for(var t=/ [^ ]/g,i,n=0,s,o=0,a=0,l="";i=t.exec(r);)a=i.index,a-n>e&&(s=o>n?o:a,l+=` `+r.slice(n,s),n=s+1),o=a;return l+=` `,r.length-n>e&&o>n?l+=r.slice(n,o)+` -`+r.slice(o+1):l+=r.slice(n),l.slice(1)}function Ape(r){for(var e="",t,i,n,s=0;s=55296&&t<=56319&&(i=r.charCodeAt(s+1),i>=56320&&i<=57343)){e+=i2((t-55296)*1024+i-56320+65536),s++;continue}n=Fi[t],e+=!n&&Dg(t)?r[s]:n||i2(t)}return e}function lpe(r,e,t){var i="",n=r.tag,s,o;for(s=0,o=t.length;s1024&&(u+="? "),u+=r.dump+(r.condenseFlow?'"':"")+":"+(r.condenseFlow?"":" "),Wl(r,e,c,!1,!1)&&(u+=r.dump,i+=u));r.tag=n,r.dump="{"+i+"}"}function gpe(r,e,t,i){var n="",s=r.tag,o=Object.keys(t),a,l,c,u,g,f;if(r.sortKeys===!0)o.sort();else if(typeof r.sortKeys=="function")o.sort(r.sortKeys);else if(r.sortKeys)throw new Gp("sortKeys must be a boolean or a function");for(a=0,l=o.length;a1024,g&&(r.dump&&Up===r.dump.charCodeAt(0)?f+="?":f+="? "),f+=r.dump,g&&(f+=NS(r,e)),Wl(r,e+1,u,!0,g)&&(r.dump&&Up===r.dump.charCodeAt(0)?f+=":":f+=": ",f+=r.dump,n+=f));r.tag=s,r.dump=n||"{}"}function l2(r,e,t){var i,n,s,o,a,l;for(n=t?r.explicitTypes:r.implicitTypes,s=0,o=n.length;s tag resolver accepts not "'+l+'" style');r.dump=i}return!0}return!1}function Wl(r,e,t,i,n,s){r.tag=null,r.dump=t,l2(r,t,!1)||l2(r,t,!0);var o=c2.call(r.dump);i&&(i=r.flowLevel<0||r.flowLevel>e);var a=o==="[object Object]"||o==="[object Array]",l,c;if(a&&(l=r.duplicates.indexOf(t),c=l!==-1),(r.tag!==null&&r.tag!=="?"||c||r.indent!==2&&e>0)&&(n=!1),c&&r.usedDuplicates[l])r.dump="*ref_"+l;else{if(a&&c&&!r.usedDuplicates[l]&&(r.usedDuplicates[l]=!0),o==="[object Object]")i&&Object.keys(r.dump).length!==0?(gpe(r,e,r.dump,n),c&&(r.dump="&ref_"+l+r.dump)):(upe(r,e,r.dump),c&&(r.dump="&ref_"+l+" "+r.dump));else if(o==="[object Array]"){var u=r.noArrayIndent&&e>0?e-1:e;i&&r.dump.length!==0?(cpe(r,u,r.dump,n),c&&(r.dump="&ref_"+l+r.dump)):(lpe(r,u,r.dump),c&&(r.dump="&ref_"+l+" "+r.dump))}else if(o==="[object String]")r.tag!=="?"&&ope(r,r.dump,e,s);else{if(r.skipInvalid)return!1;throw new Gp("unacceptable kind of an object to dump "+o)}r.tag!==null&&r.tag!=="?"&&(r.dump="!<"+r.tag+"> "+r.dump)}return!0}function fpe(r,e){var t=[],i=[],n,s;for(LS(r,t,i),n=0,s=i.length;n{"use strict";var gI=r2(),S2=b2();function fI(r){return function(){throw new Error("Function "+r+" is deprecated and cannot be used.")}}Fr.exports.Type=si();Fr.exports.Schema=Yl();Fr.exports.FAILSAFE_SCHEMA=sI();Fr.exports.JSON_SCHEMA=xS();Fr.exports.CORE_SCHEMA=PS();Fr.exports.DEFAULT_SAFE_SCHEMA=Sg();Fr.exports.DEFAULT_FULL_SCHEMA=Mp();Fr.exports.load=gI.load;Fr.exports.loadAll=gI.loadAll;Fr.exports.safeLoad=gI.safeLoad;Fr.exports.safeLoadAll=gI.safeLoadAll;Fr.exports.dump=S2.dump;Fr.exports.safeDump=S2.safeDump;Fr.exports.YAMLException=Qg();Fr.exports.MINIMAL_SCHEMA=sI();Fr.exports.SAFE_SCHEMA=Sg();Fr.exports.DEFAULT_SCHEMA=Mp();Fr.exports.scan=fI("scan");Fr.exports.parse=fI("parse");Fr.exports.compose=fI("compose");Fr.exports.addConstructor=fI("addConstructor")});var P2=w((GXe,x2)=>{"use strict";var ppe=v2();x2.exports=ppe});var k2=w((YXe,D2)=>{"use strict";function dpe(r,e){function t(){this.constructor=r}t.prototype=e.prototype,r.prototype=new t}function zl(r,e,t,i){this.message=r,this.expected=e,this.found=t,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,zl)}dpe(zl,Error);zl.buildMessage=function(r,e){var t={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,f=1;g({[Ke]:Ce})))},H=function(R){return R},j=function(R){return R},$=Ts("correct indentation"),V=" ",W=ar(" ",!1),Z=function(R){return R.length===pA*ug},A=function(R){return R.length===(pA+1)*ug},ae=function(){return pA++,!0},ge=function(){return pA--,!0},re=function(){return sg()},O=Ts("pseudostring"),F=/^[^\r\n\t ?:,\][{}#&*!|>'"%@`\-]/,ue=Rn(["\r",` -`," "," ","?",":",",","]","[","{","}","#","&","*","!","|",">","'",'"',"%","@","`","-"],!0,!1),he=/^[^\r\n\t ,\][{}:#"']/,ke=Rn(["\r",` -`," "," ",",","]","[","{","}",":","#",'"',"'"],!0,!1),Fe=function(){return sg().replace(/^ *| *$/g,"")},Ne="--",oe=ar("--",!1),le=/^[a-zA-Z\/0-9]/,we=Rn([["a","z"],["A","Z"],"/",["0","9"]],!1,!1),fe=/^[^\r\n\t :,]/,Ae=Rn(["\r",` -`," "," ",":",","],!0,!1),qe="null",ne=ar("null",!1),Y=function(){return null},pe="true",ie=ar("true",!1),de=function(){return!0},tt="false",Pt=ar("false",!1),It=function(){return!1},Or=Ts("string"),ii='"',gi=ar('"',!1),hr=function(){return""},fi=function(R){return R},ni=function(R){return R.join("")},Ls=/^[^"\\\0-\x1F\x7F]/,pr=Rn(['"',"\\",["\0",""],"\x7F"],!0,!1),Ei='\\"',_n=ar('\\"',!1),oa=function(){return'"'},aA="\\\\",eg=ar("\\\\",!1),Zn=function(){return"\\"},AA="\\/",aa=ar("\\/",!1),up=function(){return"/"},lA="\\b",cA=ar("\\b",!1),wr=function(){return"\b"},wl="\\f",tg=ar("\\f",!1),po=function(){return"\f"},rg="\\n",gp=ar("\\n",!1),fp=function(){return` -`},vr="\\r",se=ar("\\r",!1),Co=function(){return"\r"},Dn="\\t",ig=ar("\\t",!1),Qt=function(){return" "},Bl="\\u",kn=ar("\\u",!1),$n=function(R,q,Ce,Ke){return String.fromCharCode(parseInt(`0x${R}${q}${Ce}${Ke}`))},es=/^[0-9a-fA-F]/,gt=Rn([["0","9"],["a","f"],["A","F"]],!1,!1),mo=Ts("blank space"),At=/^[ \t]/,an=Rn([" "," "],!1,!1),S=Ts("white space"),Tt=/^[ \t\n\r]/,ng=Rn([" "," ",` -`,"\r"],!1,!1),Ql=`\r -`,hp=ar(`\r -`,!1),pp=` -`,dp=ar(` -`,!1),Cp="\r",mp=ar("\r",!1),G=0,yt=0,uA=[{line:1,column:1}],ji=0,bl=[],Xe=0,Aa;if("startRule"in e){if(!(e.startRule in i))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');n=i[e.startRule]}function sg(){return r.substring(yt,G)}function bE(){return An(yt,G)}function Ep(R,q){throw q=q!==void 0?q:An(yt,G),vl([Ts(R)],r.substring(yt,G),q)}function SE(R,q){throw q=q!==void 0?q:An(yt,G),og(R,q)}function ar(R,q){return{type:"literal",text:R,ignoreCase:q}}function Rn(R,q,Ce){return{type:"class",parts:R,inverted:q,ignoreCase:Ce}}function Sl(){return{type:"any"}}function Ip(){return{type:"end"}}function Ts(R){return{type:"other",description:R}}function la(R){var q=uA[R],Ce;if(q)return q;for(Ce=R-1;!uA[Ce];)Ce--;for(q=uA[Ce],q={line:q.line,column:q.column};Ceji&&(ji=G,bl=[]),bl.push(R))}function og(R,q){return new zl(R,null,null,q)}function vl(R,q,Ce){return new zl(zl.buildMessage(R,q),R,q,Ce)}function Os(){var R;return R=ag(),R}function xl(){var R,q,Ce;for(R=G,q=[],Ce=gA();Ce!==t;)q.push(Ce),Ce=gA();return q!==t&&(yt=R,q=s(q)),R=q,R}function gA(){var R,q,Ce,Ke,Re;return R=G,q=ua(),q!==t?(r.charCodeAt(G)===45?(Ce=o,G++):(Ce=t,Xe===0&&Te(a)),Ce!==t?(Ke=Rr(),Ke!==t?(Re=ca(),Re!==t?(yt=R,q=l(Re),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R}function ag(){var R,q,Ce;for(R=G,q=[],Ce=Ag();Ce!==t;)q.push(Ce),Ce=Ag();return q!==t&&(yt=R,q=c(q)),R=q,R}function Ag(){var R,q,Ce,Ke,Re,ze,dt,Ft,Fn;if(R=G,q=Rr(),q===t&&(q=null),q!==t){if(Ce=G,r.charCodeAt(G)===35?(Ke=u,G++):(Ke=t,Xe===0&&Te(g)),Ke!==t){if(Re=[],ze=G,dt=G,Xe++,Ft=Us(),Xe--,Ft===t?dt=void 0:(G=dt,dt=t),dt!==t?(r.length>G?(Ft=r.charAt(G),G++):(Ft=t,Xe===0&&Te(f)),Ft!==t?(dt=[dt,Ft],ze=dt):(G=ze,ze=t)):(G=ze,ze=t),ze!==t)for(;ze!==t;)Re.push(ze),ze=G,dt=G,Xe++,Ft=Us(),Xe--,Ft===t?dt=void 0:(G=dt,dt=t),dt!==t?(r.length>G?(Ft=r.charAt(G),G++):(Ft=t,Xe===0&&Te(f)),Ft!==t?(dt=[dt,Ft],ze=dt):(G=ze,ze=t)):(G=ze,ze=t);else Re=t;Re!==t?(Ke=[Ke,Re],Ce=Ke):(G=Ce,Ce=t)}else G=Ce,Ce=t;if(Ce===t&&(Ce=null),Ce!==t){if(Ke=[],Re=Ks(),Re!==t)for(;Re!==t;)Ke.push(Re),Re=Ks();else Ke=t;Ke!==t?(yt=R,q=h(),R=q):(G=R,R=t)}else G=R,R=t}else G=R,R=t;if(R===t&&(R=G,q=ua(),q!==t?(Ce=Pl(),Ce!==t?(Ke=Rr(),Ke===t&&(Ke=null),Ke!==t?(r.charCodeAt(G)===58?(Re=p,G++):(Re=t,Xe===0&&Te(C)),Re!==t?(ze=Rr(),ze===t&&(ze=null),ze!==t?(dt=ca(),dt!==t?(yt=R,q=y(Ce,dt),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R===t&&(R=G,q=ua(),q!==t?(Ce=Ms(),Ce!==t?(Ke=Rr(),Ke===t&&(Ke=null),Ke!==t?(r.charCodeAt(G)===58?(Re=p,G++):(Re=t,Xe===0&&Te(C)),Re!==t?(ze=Rr(),ze===t&&(ze=null),ze!==t?(dt=ca(),dt!==t?(yt=R,q=y(Ce,dt),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R===t))){if(R=G,q=ua(),q!==t)if(Ce=Ms(),Ce!==t)if(Ke=Rr(),Ke!==t)if(Re=vE(),Re!==t){if(ze=[],dt=Ks(),dt!==t)for(;dt!==t;)ze.push(dt),dt=Ks();else ze=t;ze!==t?(yt=R,q=y(Ce,Re),R=q):(G=R,R=t)}else G=R,R=t;else G=R,R=t;else G=R,R=t;else G=R,R=t;if(R===t)if(R=G,q=ua(),q!==t)if(Ce=Ms(),Ce!==t){if(Ke=[],Re=G,ze=Rr(),ze===t&&(ze=null),ze!==t?(r.charCodeAt(G)===44?(dt=B,G++):(dt=t,Xe===0&&Te(v)),dt!==t?(Ft=Rr(),Ft===t&&(Ft=null),Ft!==t?(Fn=Ms(),Fn!==t?(yt=Re,ze=D(Ce,Fn),Re=ze):(G=Re,Re=t)):(G=Re,Re=t)):(G=Re,Re=t)):(G=Re,Re=t),Re!==t)for(;Re!==t;)Ke.push(Re),Re=G,ze=Rr(),ze===t&&(ze=null),ze!==t?(r.charCodeAt(G)===44?(dt=B,G++):(dt=t,Xe===0&&Te(v)),dt!==t?(Ft=Rr(),Ft===t&&(Ft=null),Ft!==t?(Fn=Ms(),Fn!==t?(yt=Re,ze=D(Ce,Fn),Re=ze):(G=Re,Re=t)):(G=Re,Re=t)):(G=Re,Re=t)):(G=Re,Re=t);else Ke=t;Ke!==t?(Re=Rr(),Re===t&&(Re=null),Re!==t?(r.charCodeAt(G)===58?(ze=p,G++):(ze=t,Xe===0&&Te(C)),ze!==t?(dt=Rr(),dt===t&&(dt=null),dt!==t?(Ft=ca(),Ft!==t?(yt=R,q=L(Ce,Ke,Ft),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)}else G=R,R=t;else G=R,R=t}return R}function ca(){var R,q,Ce,Ke,Re,ze,dt;if(R=G,q=G,Xe++,Ce=G,Ke=Us(),Ke!==t?(Re=rt(),Re!==t?(r.charCodeAt(G)===45?(ze=o,G++):(ze=t,Xe===0&&Te(a)),ze!==t?(dt=Rr(),dt!==t?(Ke=[Ke,Re,ze,dt],Ce=Ke):(G=Ce,Ce=t)):(G=Ce,Ce=t)):(G=Ce,Ce=t)):(G=Ce,Ce=t),Xe--,Ce!==t?(G=q,q=void 0):q=t,q!==t?(Ce=Ks(),Ce!==t?(Ke=Eo(),Ke!==t?(Re=xl(),Re!==t?(ze=fA(),ze!==t?(yt=R,q=H(Re),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R===t&&(R=G,q=Us(),q!==t?(Ce=Eo(),Ce!==t?(Ke=ag(),Ke!==t?(Re=fA(),Re!==t?(yt=R,q=H(Ke),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R===t))if(R=G,q=Dl(),q!==t){if(Ce=[],Ke=Ks(),Ke!==t)for(;Ke!==t;)Ce.push(Ke),Ke=Ks();else Ce=t;Ce!==t?(yt=R,q=j(q),R=q):(G=R,R=t)}else G=R,R=t;return R}function ua(){var R,q,Ce;for(Xe++,R=G,q=[],r.charCodeAt(G)===32?(Ce=V,G++):(Ce=t,Xe===0&&Te(W));Ce!==t;)q.push(Ce),r.charCodeAt(G)===32?(Ce=V,G++):(Ce=t,Xe===0&&Te(W));return q!==t?(yt=G,Ce=Z(q),Ce?Ce=void 0:Ce=t,Ce!==t?(q=[q,Ce],R=q):(G=R,R=t)):(G=R,R=t),Xe--,R===t&&(q=t,Xe===0&&Te($)),R}function rt(){var R,q,Ce;for(R=G,q=[],r.charCodeAt(G)===32?(Ce=V,G++):(Ce=t,Xe===0&&Te(W));Ce!==t;)q.push(Ce),r.charCodeAt(G)===32?(Ce=V,G++):(Ce=t,Xe===0&&Te(W));return q!==t?(yt=G,Ce=A(q),Ce?Ce=void 0:Ce=t,Ce!==t?(q=[q,Ce],R=q):(G=R,R=t)):(G=R,R=t),R}function Eo(){var R;return yt=G,R=ae(),R?R=void 0:R=t,R}function fA(){var R;return yt=G,R=ge(),R?R=void 0:R=t,R}function Pl(){var R;return R=kl(),R===t&&(R=yp()),R}function Ms(){var R,q,Ce;if(R=kl(),R===t){if(R=G,q=[],Ce=lg(),Ce!==t)for(;Ce!==t;)q.push(Ce),Ce=lg();else q=t;q!==t&&(yt=R,q=re()),R=q}return R}function Dl(){var R;return R=wp(),R===t&&(R=xE(),R===t&&(R=kl(),R===t&&(R=yp()))),R}function vE(){var R;return R=wp(),R===t&&(R=kl(),R===t&&(R=lg())),R}function yp(){var R,q,Ce,Ke,Re,ze;if(Xe++,R=G,F.test(r.charAt(G))?(q=r.charAt(G),G++):(q=t,Xe===0&&Te(ue)),q!==t){for(Ce=[],Ke=G,Re=Rr(),Re===t&&(Re=null),Re!==t?(he.test(r.charAt(G))?(ze=r.charAt(G),G++):(ze=t,Xe===0&&Te(ke)),ze!==t?(Re=[Re,ze],Ke=Re):(G=Ke,Ke=t)):(G=Ke,Ke=t);Ke!==t;)Ce.push(Ke),Ke=G,Re=Rr(),Re===t&&(Re=null),Re!==t?(he.test(r.charAt(G))?(ze=r.charAt(G),G++):(ze=t,Xe===0&&Te(ke)),ze!==t?(Re=[Re,ze],Ke=Re):(G=Ke,Ke=t)):(G=Ke,Ke=t);Ce!==t?(yt=R,q=Fe(),R=q):(G=R,R=t)}else G=R,R=t;return Xe--,R===t&&(q=t,Xe===0&&Te(O)),R}function lg(){var R,q,Ce,Ke,Re;if(R=G,r.substr(G,2)===Ne?(q=Ne,G+=2):(q=t,Xe===0&&Te(oe)),q===t&&(q=null),q!==t)if(le.test(r.charAt(G))?(Ce=r.charAt(G),G++):(Ce=t,Xe===0&&Te(we)),Ce!==t){for(Ke=[],fe.test(r.charAt(G))?(Re=r.charAt(G),G++):(Re=t,Xe===0&&Te(Ae));Re!==t;)Ke.push(Re),fe.test(r.charAt(G))?(Re=r.charAt(G),G++):(Re=t,Xe===0&&Te(Ae));Ke!==t?(yt=R,q=Fe(),R=q):(G=R,R=t)}else G=R,R=t;else G=R,R=t;return R}function wp(){var R,q;return R=G,r.substr(G,4)===qe?(q=qe,G+=4):(q=t,Xe===0&&Te(ne)),q!==t&&(yt=R,q=Y()),R=q,R}function xE(){var R,q;return R=G,r.substr(G,4)===pe?(q=pe,G+=4):(q=t,Xe===0&&Te(ie)),q!==t&&(yt=R,q=de()),R=q,R===t&&(R=G,r.substr(G,5)===tt?(q=tt,G+=5):(q=t,Xe===0&&Te(Pt)),q!==t&&(yt=R,q=It()),R=q),R}function kl(){var R,q,Ce,Ke;return Xe++,R=G,r.charCodeAt(G)===34?(q=ii,G++):(q=t,Xe===0&&Te(gi)),q!==t?(r.charCodeAt(G)===34?(Ce=ii,G++):(Ce=t,Xe===0&&Te(gi)),Ce!==t?(yt=R,q=hr(),R=q):(G=R,R=t)):(G=R,R=t),R===t&&(R=G,r.charCodeAt(G)===34?(q=ii,G++):(q=t,Xe===0&&Te(gi)),q!==t?(Ce=PE(),Ce!==t?(r.charCodeAt(G)===34?(Ke=ii,G++):(Ke=t,Xe===0&&Te(gi)),Ke!==t?(yt=R,q=fi(Ce),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)),Xe--,R===t&&(q=t,Xe===0&&Te(Or)),R}function PE(){var R,q,Ce;if(R=G,q=[],Ce=cg(),Ce!==t)for(;Ce!==t;)q.push(Ce),Ce=cg();else q=t;return q!==t&&(yt=R,q=ni(q)),R=q,R}function cg(){var R,q,Ce,Ke,Re,ze;return Ls.test(r.charAt(G))?(R=r.charAt(G),G++):(R=t,Xe===0&&Te(pr)),R===t&&(R=G,r.substr(G,2)===Ei?(q=Ei,G+=2):(q=t,Xe===0&&Te(_n)),q!==t&&(yt=R,q=oa()),R=q,R===t&&(R=G,r.substr(G,2)===aA?(q=aA,G+=2):(q=t,Xe===0&&Te(eg)),q!==t&&(yt=R,q=Zn()),R=q,R===t&&(R=G,r.substr(G,2)===AA?(q=AA,G+=2):(q=t,Xe===0&&Te(aa)),q!==t&&(yt=R,q=up()),R=q,R===t&&(R=G,r.substr(G,2)===lA?(q=lA,G+=2):(q=t,Xe===0&&Te(cA)),q!==t&&(yt=R,q=wr()),R=q,R===t&&(R=G,r.substr(G,2)===wl?(q=wl,G+=2):(q=t,Xe===0&&Te(tg)),q!==t&&(yt=R,q=po()),R=q,R===t&&(R=G,r.substr(G,2)===rg?(q=rg,G+=2):(q=t,Xe===0&&Te(gp)),q!==t&&(yt=R,q=fp()),R=q,R===t&&(R=G,r.substr(G,2)===vr?(q=vr,G+=2):(q=t,Xe===0&&Te(se)),q!==t&&(yt=R,q=Co()),R=q,R===t&&(R=G,r.substr(G,2)===Dn?(q=Dn,G+=2):(q=t,Xe===0&&Te(ig)),q!==t&&(yt=R,q=Qt()),R=q,R===t&&(R=G,r.substr(G,2)===Bl?(q=Bl,G+=2):(q=t,Xe===0&&Te(kn)),q!==t?(Ce=hA(),Ce!==t?(Ke=hA(),Ke!==t?(Re=hA(),Re!==t?(ze=hA(),ze!==t?(yt=R,q=$n(Ce,Ke,Re,ze),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)))))))))),R}function hA(){var R;return es.test(r.charAt(G))?(R=r.charAt(G),G++):(R=t,Xe===0&&Te(gt)),R}function Rr(){var R,q;if(Xe++,R=[],At.test(r.charAt(G))?(q=r.charAt(G),G++):(q=t,Xe===0&&Te(an)),q!==t)for(;q!==t;)R.push(q),At.test(r.charAt(G))?(q=r.charAt(G),G++):(q=t,Xe===0&&Te(an));else R=t;return Xe--,R===t&&(q=t,Xe===0&&Te(mo)),R}function DE(){var R,q;if(Xe++,R=[],Tt.test(r.charAt(G))?(q=r.charAt(G),G++):(q=t,Xe===0&&Te(ng)),q!==t)for(;q!==t;)R.push(q),Tt.test(r.charAt(G))?(q=r.charAt(G),G++):(q=t,Xe===0&&Te(ng));else R=t;return Xe--,R===t&&(q=t,Xe===0&&Te(S)),R}function Ks(){var R,q,Ce,Ke,Re,ze;if(R=G,q=Us(),q!==t){for(Ce=[],Ke=G,Re=Rr(),Re===t&&(Re=null),Re!==t?(ze=Us(),ze!==t?(Re=[Re,ze],Ke=Re):(G=Ke,Ke=t)):(G=Ke,Ke=t);Ke!==t;)Ce.push(Ke),Ke=G,Re=Rr(),Re===t&&(Re=null),Re!==t?(ze=Us(),ze!==t?(Re=[Re,ze],Ke=Re):(G=Ke,Ke=t)):(G=Ke,Ke=t);Ce!==t?(q=[q,Ce],R=q):(G=R,R=t)}else G=R,R=t;return R}function Us(){var R;return r.substr(G,2)===Ql?(R=Ql,G+=2):(R=t,Xe===0&&Te(hp)),R===t&&(r.charCodeAt(G)===10?(R=pp,G++):(R=t,Xe===0&&Te(dp)),R===t&&(r.charCodeAt(G)===13?(R=Cp,G++):(R=t,Xe===0&&Te(mp)))),R}let ug=2,pA=0;if(Aa=n(),Aa!==t&&G===r.length)return Aa;throw Aa!==t&&G{"use strict";var wpe=r=>{let e=!1,t=!1,i=!1;for(let n=0;n{if(!(typeof r=="string"||Array.isArray(r)))throw new TypeError("Expected the input to be `string | string[]`");e=Object.assign({pascalCase:!1},e);let t=n=>e.pascalCase?n.charAt(0).toUpperCase()+n.slice(1):n;return Array.isArray(r)?r=r.map(n=>n.trim()).filter(n=>n.length).join("-"):r=r.trim(),r.length===0?"":r.length===1?e.pascalCase?r.toUpperCase():r.toLowerCase():(r!==r.toLowerCase()&&(r=wpe(r)),r=r.replace(/^[_.\- ]+/,"").toLowerCase().replace(/[_.\- ]+(\w|$)/g,(n,s)=>s.toUpperCase()).replace(/\d+(\w|$)/g,n=>n.toUpperCase()),t(r))};KS.exports=T2;KS.exports.default=T2});var M2=w((VXe,Bpe)=>{Bpe.exports=[{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI",pr:"SYSTEM_PULLREQUEST_PULLREQUESTID"},{name:"Appcircle",constant:"APPCIRCLE",env:"AC_APPCIRCLE"},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN"},{name:"Codefresh",constant:"CODEFRESH",env:"CF_BUILD_ID",pr:{any:["CF_PULL_REQUEST_NUMBER","CF_PULL_REQUEST_ID"]}},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"GitHub Actions",constant:"GITHUB_ACTIONS",env:"GITHUB_ACTIONS",pr:{GITHUB_EVENT_NAME:"pull_request"}},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI",pr:"CI_MERGE_REQUEST_ID"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"LayerCI",constant:"LAYERCI",env:"LAYERCI",pr:"LAYERCI_PULL_REQUEST"},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Nevercode",constant:"NEVERCODE",env:"NEVERCODE",pr:{env:"NEVERCODE_PULL_REQUEST",ne:"false"}},{name:"Render",constant:"RENDER",env:"RENDER",pr:{IS_PULL_REQUEST:"true"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Screwdriver",constant:"SCREWDRIVER",env:"SCREWDRIVER",pr:{env:"SD_PULL_REQUEST",ne:"false"}},{name:"Shippable",constant:"SHIPPABLE",env:"SHIPPABLE",pr:{IS_PULL_REQUEST:"true"}},{name:"Solano CI",constant:"SOLANO",env:"TDDIUM",pr:"TDDIUM_PR_ID"},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}},{name:"Vercel",constant:"VERCEL",env:"NOW_BUILDER"},{name:"Visual Studio App Center",constant:"APPCENTER",env:"APPCENTER_BUILD_ID"}]});var Vl=w(On=>{"use strict";var U2=M2(),Qo=process.env;Object.defineProperty(On,"_vendors",{value:U2.map(function(r){return r.constant})});On.name=null;On.isPR=null;U2.forEach(function(r){let t=(Array.isArray(r.env)?r.env:[r.env]).every(function(i){return K2(i)});if(On[r.constant]=t,t)switch(On.name=r.name,typeof r.pr){case"string":On.isPR=!!Qo[r.pr];break;case"object":"env"in r.pr?On.isPR=r.pr.env in Qo&&Qo[r.pr.env]!==r.pr.ne:"any"in r.pr?On.isPR=r.pr.any.some(function(i){return!!Qo[i]}):On.isPR=K2(r.pr);break;default:On.isPR=null}});On.isCI=!!(Qo.CI||Qo.CONTINUOUS_INTEGRATION||Qo.BUILD_NUMBER||Qo.RUN_ID||On.name);function K2(r){return typeof r=="string"?!!Qo[r]:Object.keys(r).every(function(e){return Qo[e]===r[e]})}});var gn={};ut(gn,{KeyRelationship:()=>Xl,applyCascade:()=>zp,base64RegExp:()=>q2,colorStringAlphaRegExp:()=>j2,colorStringRegExp:()=>Y2,computeKey:()=>BA,getPrintable:()=>Vr,hasExactLength:()=>X2,hasForbiddenKeys:()=>tde,hasKeyRelationship:()=>JS,hasMaxLength:()=>Mpe,hasMinLength:()=>Ope,hasMutuallyExclusiveKeys:()=>rde,hasRequiredKeys:()=>ede,hasUniqueItems:()=>Kpe,isArray:()=>Ppe,isAtLeast:()=>Gpe,isAtMost:()=>Ype,isBase64:()=>Zpe,isBoolean:()=>Spe,isDate:()=>xpe,isDict:()=>kpe,isEnum:()=>Wi,isHexColor:()=>_pe,isISO8601:()=>Xpe,isInExclusiveRange:()=>qpe,isInInclusiveRange:()=>jpe,isInstanceOf:()=>Fpe,isInteger:()=>Jpe,isJSON:()=>$pe,isLiteral:()=>Qpe,isLowerCase:()=>Wpe,isNegative:()=>Upe,isNullable:()=>Tpe,isNumber:()=>vpe,isObject:()=>Rpe,isOneOf:()=>Npe,isOptional:()=>Lpe,isPositive:()=>Hpe,isString:()=>Wp,isTuple:()=>Dpe,isUUID4:()=>Vpe,isUnknown:()=>V2,isUpperCase:()=>zpe,iso8601RegExp:()=>qS,makeCoercionFn:()=>_l,makeSetter:()=>z2,makeTrait:()=>W2,makeValidator:()=>bt,matchesRegExp:()=>Vp,plural:()=>EI,pushError:()=>pt,simpleKeyRegExp:()=>G2,uuid4RegExp:()=>J2});function bt({test:r}){return W2(r)()}function Vr(r){return r===null?"null":r===void 0?"undefined":r===""?"an empty string":JSON.stringify(r)}function BA(r,e){var t,i,n;return typeof e=="number"?`${(t=r==null?void 0:r.p)!==null&&t!==void 0?t:"."}[${e}]`:G2.test(e)?`${(i=r==null?void 0:r.p)!==null&&i!==void 0?i:""}.${e}`:`${(n=r==null?void 0:r.p)!==null&&n!==void 0?n:"."}[${JSON.stringify(e)}]`}function _l(r,e){return t=>{let i=r[e];return r[e]=t,_l(r,e).bind(null,i)}}function z2(r,e){return t=>{r[e]=t}}function EI(r,e,t){return r===1?e:t}function pt({errors:r,p:e}={},t){return r==null||r.push(`${e!=null?e:"."}: ${t}`),!1}function Qpe(r){return bt({test:(e,t)=>e!==r?pt(t,`Expected a literal (got ${Vr(r)})`):!0})}function Wi(r){let e=Array.isArray(r)?r:Object.values(r),t=new Set(e);return bt({test:(i,n)=>t.has(i)?!0:pt(n,`Expected a valid enumeration value (got ${Vr(i)})`)})}var G2,Y2,j2,q2,J2,qS,W2,V2,Wp,bpe,Spe,vpe,xpe,Ppe,Dpe,kpe,Rpe,Fpe,Npe,zp,Lpe,Tpe,Ope,Mpe,X2,Kpe,Upe,Hpe,Gpe,Ype,jpe,qpe,Jpe,Vp,Wpe,zpe,Vpe,Xpe,_pe,Zpe,$pe,ede,tde,rde,Xl,ide,JS,ns=Yue(()=>{G2=/^[a-zA-Z_][a-zA-Z0-9_]*$/,Y2=/^#[0-9a-f]{6}$/i,j2=/^#[0-9a-f]{6}([0-9a-f]{2})?$/i,q2=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,J2=/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}$/i,qS=/^(?:[1-9]\d{3}(-?)(?:(?:0[1-9]|1[0-2])\1(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])\1(?:29|30)|(?:0[13578]|1[02])(?:\1)31|00[1-9]|0[1-9]\d|[12]\d{2}|3(?:[0-5]\d|6[0-5]))|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)(?:(-?)02(?:\2)29|-?366))T(?:[01]\d|2[0-3])(:?)[0-5]\d(?:\3[0-5]\d)?(?:Z|[+-][01]\d(?:\3[0-5]\d)?)$/,W2=r=>()=>r;V2=()=>bt({test:(r,e)=>!0});Wp=()=>bt({test:(r,e)=>typeof r!="string"?pt(e,`Expected a string (got ${Vr(r)})`):!0});bpe=new Map([["true",!0],["True",!0],["1",!0],[1,!0],["false",!1],["False",!1],["0",!1],[0,!1]]),Spe=()=>bt({test:(r,e)=>{var t;if(typeof r!="boolean"){if(typeof(e==null?void 0:e.coercions)<"u"){if(typeof(e==null?void 0:e.coercion)>"u")return pt(e,"Unbound coercion result");let i=bpe.get(r);if(typeof i<"u")return e.coercions.push([(t=e.p)!==null&&t!==void 0?t:".",e.coercion.bind(null,i)]),!0}return pt(e,`Expected a boolean (got ${Vr(r)})`)}return!0}}),vpe=()=>bt({test:(r,e)=>{var t;if(typeof r!="number"){if(typeof(e==null?void 0:e.coercions)<"u"){if(typeof(e==null?void 0:e.coercion)>"u")return pt(e,"Unbound coercion result");let i;if(typeof r=="string"){let n;try{n=JSON.parse(r)}catch{}if(typeof n=="number")if(JSON.stringify(n)===r)i=n;else return pt(e,`Received a number that can't be safely represented by the runtime (${r})`)}if(typeof i<"u")return e.coercions.push([(t=e.p)!==null&&t!==void 0?t:".",e.coercion.bind(null,i)]),!0}return pt(e,`Expected a number (got ${Vr(r)})`)}return!0}}),xpe=()=>bt({test:(r,e)=>{var t;if(!(r instanceof Date)){if(typeof(e==null?void 0:e.coercions)<"u"){if(typeof(e==null?void 0:e.coercion)>"u")return pt(e,"Unbound coercion result");let i;if(typeof r=="string"&&qS.test(r))i=new Date(r);else{let n;if(typeof r=="string"){let s;try{s=JSON.parse(r)}catch{}typeof s=="number"&&(n=s)}else typeof r=="number"&&(n=r);if(typeof n<"u")if(Number.isSafeInteger(n)||!Number.isSafeInteger(n*1e3))i=new Date(n*1e3);else return pt(e,`Received a timestamp that can't be safely represented by the runtime (${r})`)}if(typeof i<"u")return e.coercions.push([(t=e.p)!==null&&t!==void 0?t:".",e.coercion.bind(null,i)]),!0}return pt(e,`Expected a date (got ${Vr(r)})`)}return!0}}),Ppe=(r,{delimiter:e}={})=>bt({test:(t,i)=>{var n;if(typeof t=="string"&&typeof e<"u"&&typeof(i==null?void 0:i.coercions)<"u"){if(typeof(i==null?void 0:i.coercion)>"u")return pt(i,"Unbound coercion result");t=t.split(e),i.coercions.push([(n=i.p)!==null&&n!==void 0?n:".",i.coercion.bind(null,t)])}if(!Array.isArray(t))return pt(i,`Expected an array (got ${Vr(t)})`);let s=!0;for(let o=0,a=t.length;o{let t=X2(r.length);return bt({test:(i,n)=>{var s;if(typeof i=="string"&&typeof e<"u"&&typeof(n==null?void 0:n.coercions)<"u"){if(typeof(n==null?void 0:n.coercion)>"u")return pt(n,"Unbound coercion result");i=i.split(e),n.coercions.push([(s=n.p)!==null&&s!==void 0?s:".",n.coercion.bind(null,i)])}if(!Array.isArray(i))return pt(n,`Expected a tuple (got ${Vr(i)})`);let o=t(i,Object.assign({},n));for(let a=0,l=i.length;abt({test:(t,i)=>{if(typeof t!="object"||t===null)return pt(i,`Expected an object (got ${Vr(t)})`);let n=Object.keys(t),s=!0;for(let o=0,a=n.length;o{let t=Object.keys(r);return bt({test:(i,n)=>{if(typeof i!="object"||i===null)return pt(n,`Expected an object (got ${Vr(i)})`);let s=new Set([...t,...Object.keys(i)]),o={},a=!0;for(let l of s){if(l==="constructor"||l==="__proto__")a=pt(Object.assign(Object.assign({},n),{p:BA(n,l)}),"Unsafe property name");else{let c=Object.prototype.hasOwnProperty.call(r,l)?r[l]:void 0,u=Object.prototype.hasOwnProperty.call(i,l)?i[l]:void 0;typeof c<"u"?a=c(u,Object.assign(Object.assign({},n),{p:BA(n,l),coercion:_l(i,l)}))&&a:e===null?a=pt(Object.assign(Object.assign({},n),{p:BA(n,l)}),`Extraneous property (got ${Vr(u)})`):Object.defineProperty(o,l,{enumerable:!0,get:()=>u,set:z2(i,l)})}if(!a&&(n==null?void 0:n.errors)==null)break}return e!==null&&(a||(n==null?void 0:n.errors)!=null)&&(a=e(o,n)&&a),a}})},Fpe=r=>bt({test:(e,t)=>e instanceof r?!0:pt(t,`Expected an instance of ${r.name} (got ${Vr(e)})`)}),Npe=(r,{exclusive:e=!1}={})=>bt({test:(t,i)=>{var n,s,o;let a=[],l=typeof(i==null?void 0:i.errors)<"u"?[]:void 0;for(let c=0,u=r.length;c1?pt(i,`Expected to match exactly a single predicate (matched ${a.join(", ")})`):(o=i==null?void 0:i.errors)===null||o===void 0||o.push(...l),!1}}),zp=(r,e)=>bt({test:(t,i)=>{var n,s;let o={value:t},a=typeof(i==null?void 0:i.coercions)<"u"?_l(o,"value"):void 0,l=typeof(i==null?void 0:i.coercions)<"u"?[]:void 0;if(!r(t,Object.assign(Object.assign({},i),{coercion:a,coercions:l})))return!1;let c=[];if(typeof l<"u")for(let[,u]of l)c.push(u());try{if(typeof(i==null?void 0:i.coercions)<"u"){if(o.value!==t){if(typeof(i==null?void 0:i.coercion)>"u")return pt(i,"Unbound coercion result");i.coercions.push([(n=i.p)!==null&&n!==void 0?n:".",i.coercion.bind(null,o.value)])}(s=i==null?void 0:i.coercions)===null||s===void 0||s.push(...l)}return e.every(u=>u(o.value,i))}finally{for(let u of c)u()}}}),Lpe=r=>bt({test:(e,t)=>typeof e>"u"?!0:r(e,t)}),Tpe=r=>bt({test:(e,t)=>e===null?!0:r(e,t)}),Ope=r=>bt({test:(e,t)=>e.length>=r?!0:pt(t,`Expected to have a length of at least ${r} elements (got ${e.length})`)}),Mpe=r=>bt({test:(e,t)=>e.length<=r?!0:pt(t,`Expected to have a length of at most ${r} elements (got ${e.length})`)}),X2=r=>bt({test:(e,t)=>e.length!==r?pt(t,`Expected to have a length of exactly ${r} elements (got ${e.length})`):!0}),Kpe=({map:r}={})=>bt({test:(e,t)=>{let i=new Set,n=new Set;for(let s=0,o=e.length;sbt({test:(r,e)=>r<=0?!0:pt(e,`Expected to be negative (got ${r})`)}),Hpe=()=>bt({test:(r,e)=>r>=0?!0:pt(e,`Expected to be positive (got ${r})`)}),Gpe=r=>bt({test:(e,t)=>e>=r?!0:pt(t,`Expected to be at least ${r} (got ${e})`)}),Ype=r=>bt({test:(e,t)=>e<=r?!0:pt(t,`Expected to be at most ${r} (got ${e})`)}),jpe=(r,e)=>bt({test:(t,i)=>t>=r&&t<=e?!0:pt(i,`Expected to be in the [${r}; ${e}] range (got ${t})`)}),qpe=(r,e)=>bt({test:(t,i)=>t>=r&&tbt({test:(e,t)=>e!==Math.round(e)?pt(t,`Expected to be an integer (got ${e})`):Number.isSafeInteger(e)?!0:pt(t,`Expected to be a safe integer (got ${e})`)}),Vp=r=>bt({test:(e,t)=>r.test(e)?!0:pt(t,`Expected to match the pattern ${r.toString()} (got ${Vr(e)})`)}),Wpe=()=>bt({test:(r,e)=>r!==r.toLowerCase()?pt(e,`Expected to be all-lowercase (got ${r})`):!0}),zpe=()=>bt({test:(r,e)=>r!==r.toUpperCase()?pt(e,`Expected to be all-uppercase (got ${r})`):!0}),Vpe=()=>bt({test:(r,e)=>J2.test(r)?!0:pt(e,`Expected to be a valid UUID v4 (got ${Vr(r)})`)}),Xpe=()=>bt({test:(r,e)=>qS.test(r)?!1:pt(e,`Expected to be a valid ISO 8601 date string (got ${Vr(r)})`)}),_pe=({alpha:r=!1})=>bt({test:(e,t)=>(r?Y2.test(e):j2.test(e))?!0:pt(t,`Expected to be a valid hexadecimal color string (got ${Vr(e)})`)}),Zpe=()=>bt({test:(r,e)=>q2.test(r)?!0:pt(e,`Expected to be a valid base 64 string (got ${Vr(r)})`)}),$pe=(r=V2())=>bt({test:(e,t)=>{let i;try{i=JSON.parse(e)}catch{return pt(t,`Expected to be a valid JSON string (got ${Vr(e)})`)}return r(i,t)}}),ede=r=>{let e=new Set(r);return bt({test:(t,i)=>{let n=new Set(Object.keys(t)),s=[];for(let o of e)n.has(o)||s.push(o);return s.length>0?pt(i,`Missing required ${EI(s.length,"property","properties")} ${s.map(o=>`"${o}"`).join(", ")}`):!0}})},tde=r=>{let e=new Set(r);return bt({test:(t,i)=>{let n=new Set(Object.keys(t)),s=[];for(let o of e)n.has(o)&&s.push(o);return s.length>0?pt(i,`Forbidden ${EI(s.length,"property","properties")} ${s.map(o=>`"${o}"`).join(", ")}`):!0}})},rde=r=>{let e=new Set(r);return bt({test:(t,i)=>{let n=new Set(Object.keys(t)),s=[];for(let o of e)n.has(o)&&s.push(o);return s.length>1?pt(i,`Mutually exclusive properties ${s.map(o=>`"${o}"`).join(", ")}`):!0}})};(function(r){r.Forbids="Forbids",r.Requires="Requires"})(Xl||(Xl={}));ide={[Xl.Forbids]:{expect:!1,message:"forbids using"},[Xl.Requires]:{expect:!0,message:"requires using"}},JS=(r,e,t,{ignore:i=[]}={})=>{let n=new Set(i),s=new Set(t),o=ide[e];return bt({test:(a,l)=>{let c=new Set(Object.keys(a));if(!c.has(r)||n.has(a[r]))return!0;let u=[];for(let g of s)(c.has(g)&&!n.has(a[g]))!==o.expect&&u.push(g);return u.length>=1?pt(l,`Property "${r}" ${o.message} ${EI(u.length,"property","properties")} ${u.map(g=>`"${g}"`).join(", ")}`):!0}})}});var fH=w((V_e,gH)=>{"use strict";gH.exports=(r,...e)=>new Promise(t=>{t(r(...e))})});var Tg=w((X_e,ev)=>{"use strict";var Ide=fH(),hH=r=>{if(r<1)throw new TypeError("Expected `concurrency` to be a number from 1 and up");let e=[],t=0,i=()=>{t--,e.length>0&&e.shift()()},n=(a,l,...c)=>{t++;let u=Ide(a,...c);l(u),u.then(i,i)},s=(a,l,...c)=>{tnew Promise(c=>s(a,c,...l));return Object.defineProperties(o,{activeCount:{get:()=>t},pendingCount:{get:()=>e.length}}),o};ev.exports=hH;ev.exports.default=hH});var ed=w((Z_e,pH)=>{var yde="2.0.0",wde=Number.MAX_SAFE_INTEGER||9007199254740991,Bde=16;pH.exports={SEMVER_SPEC_VERSION:yde,MAX_LENGTH:256,MAX_SAFE_INTEGER:wde,MAX_SAFE_COMPONENT_LENGTH:Bde}});var td=w(($_e,dH)=>{var Qde=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...r)=>console.error("SEMVER",...r):()=>{};dH.exports=Qde});var Zl=w((bA,CH)=>{var{MAX_SAFE_COMPONENT_LENGTH:tv}=ed(),bde=td();bA=CH.exports={};var Sde=bA.re=[],$e=bA.src=[],et=bA.t={},vde=0,St=(r,e,t)=>{let i=vde++;bde(i,e),et[r]=i,$e[i]=e,Sde[i]=new RegExp(e,t?"g":void 0)};St("NUMERICIDENTIFIER","0|[1-9]\\d*");St("NUMERICIDENTIFIERLOOSE","[0-9]+");St("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*");St("MAINVERSION",`(${$e[et.NUMERICIDENTIFIER]})\\.(${$e[et.NUMERICIDENTIFIER]})\\.(${$e[et.NUMERICIDENTIFIER]})`);St("MAINVERSIONLOOSE",`(${$e[et.NUMERICIDENTIFIERLOOSE]})\\.(${$e[et.NUMERICIDENTIFIERLOOSE]})\\.(${$e[et.NUMERICIDENTIFIERLOOSE]})`);St("PRERELEASEIDENTIFIER",`(?:${$e[et.NUMERICIDENTIFIER]}|${$e[et.NONNUMERICIDENTIFIER]})`);St("PRERELEASEIDENTIFIERLOOSE",`(?:${$e[et.NUMERICIDENTIFIERLOOSE]}|${$e[et.NONNUMERICIDENTIFIER]})`);St("PRERELEASE",`(?:-(${$e[et.PRERELEASEIDENTIFIER]}(?:\\.${$e[et.PRERELEASEIDENTIFIER]})*))`);St("PRERELEASELOOSE",`(?:-?(${$e[et.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${$e[et.PRERELEASEIDENTIFIERLOOSE]})*))`);St("BUILDIDENTIFIER","[0-9A-Za-z-]+");St("BUILD",`(?:\\+(${$e[et.BUILDIDENTIFIER]}(?:\\.${$e[et.BUILDIDENTIFIER]})*))`);St("FULLPLAIN",`v?${$e[et.MAINVERSION]}${$e[et.PRERELEASE]}?${$e[et.BUILD]}?`);St("FULL",`^${$e[et.FULLPLAIN]}$`);St("LOOSEPLAIN",`[v=\\s]*${$e[et.MAINVERSIONLOOSE]}${$e[et.PRERELEASELOOSE]}?${$e[et.BUILD]}?`);St("LOOSE",`^${$e[et.LOOSEPLAIN]}$`);St("GTLT","((?:<|>)?=?)");St("XRANGEIDENTIFIERLOOSE",`${$e[et.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);St("XRANGEIDENTIFIER",`${$e[et.NUMERICIDENTIFIER]}|x|X|\\*`);St("XRANGEPLAIN",`[v=\\s]*(${$e[et.XRANGEIDENTIFIER]})(?:\\.(${$e[et.XRANGEIDENTIFIER]})(?:\\.(${$e[et.XRANGEIDENTIFIER]})(?:${$e[et.PRERELEASE]})?${$e[et.BUILD]}?)?)?`);St("XRANGEPLAINLOOSE",`[v=\\s]*(${$e[et.XRANGEIDENTIFIERLOOSE]})(?:\\.(${$e[et.XRANGEIDENTIFIERLOOSE]})(?:\\.(${$e[et.XRANGEIDENTIFIERLOOSE]})(?:${$e[et.PRERELEASELOOSE]})?${$e[et.BUILD]}?)?)?`);St("XRANGE",`^${$e[et.GTLT]}\\s*${$e[et.XRANGEPLAIN]}$`);St("XRANGELOOSE",`^${$e[et.GTLT]}\\s*${$e[et.XRANGEPLAINLOOSE]}$`);St("COERCE",`(^|[^\\d])(\\d{1,${tv}})(?:\\.(\\d{1,${tv}}))?(?:\\.(\\d{1,${tv}}))?(?:$|[^\\d])`);St("COERCERTL",$e[et.COERCE],!0);St("LONETILDE","(?:~>?)");St("TILDETRIM",`(\\s*)${$e[et.LONETILDE]}\\s+`,!0);bA.tildeTrimReplace="$1~";St("TILDE",`^${$e[et.LONETILDE]}${$e[et.XRANGEPLAIN]}$`);St("TILDELOOSE",`^${$e[et.LONETILDE]}${$e[et.XRANGEPLAINLOOSE]}$`);St("LONECARET","(?:\\^)");St("CARETTRIM",`(\\s*)${$e[et.LONECARET]}\\s+`,!0);bA.caretTrimReplace="$1^";St("CARET",`^${$e[et.LONECARET]}${$e[et.XRANGEPLAIN]}$`);St("CARETLOOSE",`^${$e[et.LONECARET]}${$e[et.XRANGEPLAINLOOSE]}$`);St("COMPARATORLOOSE",`^${$e[et.GTLT]}\\s*(${$e[et.LOOSEPLAIN]})$|^$`);St("COMPARATOR",`^${$e[et.GTLT]}\\s*(${$e[et.FULLPLAIN]})$|^$`);St("COMPARATORTRIM",`(\\s*)${$e[et.GTLT]}\\s*(${$e[et.LOOSEPLAIN]}|${$e[et.XRANGEPLAIN]})`,!0);bA.comparatorTrimReplace="$1$2$3";St("HYPHENRANGE",`^\\s*(${$e[et.XRANGEPLAIN]})\\s+-\\s+(${$e[et.XRANGEPLAIN]})\\s*$`);St("HYPHENRANGELOOSE",`^\\s*(${$e[et.XRANGEPLAINLOOSE]})\\s+-\\s+(${$e[et.XRANGEPLAINLOOSE]})\\s*$`);St("STAR","(<|>)?=?\\s*\\*");St("GTE0","^\\s*>=\\s*0.0.0\\s*$");St("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")});var rd=w((eZe,mH)=>{var xde=["includePrerelease","loose","rtl"],Pde=r=>r?typeof r!="object"?{loose:!0}:xde.filter(e=>r[e]).reduce((e,t)=>(e[t]=!0,e),{}):{};mH.exports=Pde});var bI=w((tZe,yH)=>{var EH=/^[0-9]+$/,IH=(r,e)=>{let t=EH.test(r),i=EH.test(e);return t&&i&&(r=+r,e=+e),r===e?0:t&&!i?-1:i&&!t?1:rIH(e,r);yH.exports={compareIdentifiers:IH,rcompareIdentifiers:Dde}});var Li=w((rZe,bH)=>{var SI=td(),{MAX_LENGTH:wH,MAX_SAFE_INTEGER:vI}=ed(),{re:BH,t:QH}=Zl(),kde=rd(),{compareIdentifiers:id}=bI(),Un=class{constructor(e,t){if(t=kde(t),e instanceof Un){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if(typeof e!="string")throw new TypeError(`Invalid Version: ${e}`);if(e.length>wH)throw new TypeError(`version is longer than ${wH} characters`);SI("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;let i=e.trim().match(t.loose?BH[QH.LOOSE]:BH[QH.FULL]);if(!i)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+i[1],this.minor=+i[2],this.patch=+i[3],this.major>vI||this.major<0)throw new TypeError("Invalid major version");if(this.minor>vI||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>vI||this.patch<0)throw new TypeError("Invalid patch version");i[4]?this.prerelease=i[4].split(".").map(n=>{if(/^[0-9]+$/.test(n)){let s=+n;if(s>=0&&s=0;)typeof this.prerelease[i]=="number"&&(this.prerelease[i]++,i=-2);i===-1&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error(`invalid increment argument: ${e}`)}return this.format(),this.raw=this.version,this}};bH.exports=Un});var $l=w((iZe,PH)=>{var{MAX_LENGTH:Rde}=ed(),{re:SH,t:vH}=Zl(),xH=Li(),Fde=rd(),Nde=(r,e)=>{if(e=Fde(e),r instanceof xH)return r;if(typeof r!="string"||r.length>Rde||!(e.loose?SH[vH.LOOSE]:SH[vH.FULL]).test(r))return null;try{return new xH(r,e)}catch{return null}};PH.exports=Nde});var kH=w((nZe,DH)=>{var Lde=$l(),Tde=(r,e)=>{let t=Lde(r,e);return t?t.version:null};DH.exports=Tde});var FH=w((sZe,RH)=>{var Ode=$l(),Mde=(r,e)=>{let t=Ode(r.trim().replace(/^[=v]+/,""),e);return t?t.version:null};RH.exports=Mde});var LH=w((oZe,NH)=>{var Kde=Li(),Ude=(r,e,t,i)=>{typeof t=="string"&&(i=t,t=void 0);try{return new Kde(r,t).inc(e,i).version}catch{return null}};NH.exports=Ude});var ss=w((aZe,OH)=>{var TH=Li(),Hde=(r,e,t)=>new TH(r,t).compare(new TH(e,t));OH.exports=Hde});var xI=w((AZe,MH)=>{var Gde=ss(),Yde=(r,e,t)=>Gde(r,e,t)===0;MH.exports=Yde});var HH=w((lZe,UH)=>{var KH=$l(),jde=xI(),qde=(r,e)=>{if(jde(r,e))return null;{let t=KH(r),i=KH(e),n=t.prerelease.length||i.prerelease.length,s=n?"pre":"",o=n?"prerelease":"";for(let a in t)if((a==="major"||a==="minor"||a==="patch")&&t[a]!==i[a])return s+a;return o}};UH.exports=qde});var YH=w((cZe,GH)=>{var Jde=Li(),Wde=(r,e)=>new Jde(r,e).major;GH.exports=Wde});var qH=w((uZe,jH)=>{var zde=Li(),Vde=(r,e)=>new zde(r,e).minor;jH.exports=Vde});var WH=w((gZe,JH)=>{var Xde=Li(),_de=(r,e)=>new Xde(r,e).patch;JH.exports=_de});var VH=w((fZe,zH)=>{var Zde=$l(),$de=(r,e)=>{let t=Zde(r,e);return t&&t.prerelease.length?t.prerelease:null};zH.exports=$de});var _H=w((hZe,XH)=>{var eCe=ss(),tCe=(r,e,t)=>eCe(e,r,t);XH.exports=tCe});var $H=w((pZe,ZH)=>{var rCe=ss(),iCe=(r,e)=>rCe(r,e,!0);ZH.exports=iCe});var PI=w((dZe,tG)=>{var eG=Li(),nCe=(r,e,t)=>{let i=new eG(r,t),n=new eG(e,t);return i.compare(n)||i.compareBuild(n)};tG.exports=nCe});var iG=w((CZe,rG)=>{var sCe=PI(),oCe=(r,e)=>r.sort((t,i)=>sCe(t,i,e));rG.exports=oCe});var sG=w((mZe,nG)=>{var aCe=PI(),ACe=(r,e)=>r.sort((t,i)=>aCe(i,t,e));nG.exports=ACe});var nd=w((EZe,oG)=>{var lCe=ss(),cCe=(r,e,t)=>lCe(r,e,t)>0;oG.exports=cCe});var DI=w((IZe,aG)=>{var uCe=ss(),gCe=(r,e,t)=>uCe(r,e,t)<0;aG.exports=gCe});var rv=w((yZe,AG)=>{var fCe=ss(),hCe=(r,e,t)=>fCe(r,e,t)!==0;AG.exports=hCe});var kI=w((wZe,lG)=>{var pCe=ss(),dCe=(r,e,t)=>pCe(r,e,t)>=0;lG.exports=dCe});var RI=w((BZe,cG)=>{var CCe=ss(),mCe=(r,e,t)=>CCe(r,e,t)<=0;cG.exports=mCe});var iv=w((QZe,uG)=>{var ECe=xI(),ICe=rv(),yCe=nd(),wCe=kI(),BCe=DI(),QCe=RI(),bCe=(r,e,t,i)=>{switch(e){case"===":return typeof r=="object"&&(r=r.version),typeof t=="object"&&(t=t.version),r===t;case"!==":return typeof r=="object"&&(r=r.version),typeof t=="object"&&(t=t.version),r!==t;case"":case"=":case"==":return ECe(r,t,i);case"!=":return ICe(r,t,i);case">":return yCe(r,t,i);case">=":return wCe(r,t,i);case"<":return BCe(r,t,i);case"<=":return QCe(r,t,i);default:throw new TypeError(`Invalid operator: ${e}`)}};uG.exports=bCe});var fG=w((bZe,gG)=>{var SCe=Li(),vCe=$l(),{re:FI,t:NI}=Zl(),xCe=(r,e)=>{if(r instanceof SCe)return r;if(typeof r=="number"&&(r=String(r)),typeof r!="string")return null;e=e||{};let t=null;if(!e.rtl)t=r.match(FI[NI.COERCE]);else{let i;for(;(i=FI[NI.COERCERTL].exec(r))&&(!t||t.index+t[0].length!==r.length);)(!t||i.index+i[0].length!==t.index+t[0].length)&&(t=i),FI[NI.COERCERTL].lastIndex=i.index+i[1].length+i[2].length;FI[NI.COERCERTL].lastIndex=-1}return t===null?null:vCe(`${t[2]}.${t[3]||"0"}.${t[4]||"0"}`,e)};gG.exports=xCe});var pG=w((SZe,hG)=>{"use strict";hG.exports=function(r){r.prototype[Symbol.iterator]=function*(){for(let e=this.head;e;e=e.next)yield e.value}}});var sd=w((vZe,dG)=>{"use strict";dG.exports=Ht;Ht.Node=ec;Ht.create=Ht;function Ht(r){var e=this;if(e instanceof Ht||(e=new Ht),e.tail=null,e.head=null,e.length=0,r&&typeof r.forEach=="function")r.forEach(function(n){e.push(n)});else if(arguments.length>0)for(var t=0,i=arguments.length;t1)t=e;else if(this.head)i=this.head.next,t=this.head.value;else throw new TypeError("Reduce of empty list with no initial value");for(var n=0;i!==null;n++)t=r(t,i.value,n),i=i.next;return t};Ht.prototype.reduceReverse=function(r,e){var t,i=this.tail;if(arguments.length>1)t=e;else if(this.tail)i=this.tail.prev,t=this.tail.value;else throw new TypeError("Reduce of empty list with no initial value");for(var n=this.length-1;i!==null;n--)t=r(t,i.value,n),i=i.prev;return t};Ht.prototype.toArray=function(){for(var r=new Array(this.length),e=0,t=this.head;t!==null;e++)r[e]=t.value,t=t.next;return r};Ht.prototype.toArrayReverse=function(){for(var r=new Array(this.length),e=0,t=this.tail;t!==null;e++)r[e]=t.value,t=t.prev;return r};Ht.prototype.slice=function(r,e){e=e||this.length,e<0&&(e+=this.length),r=r||0,r<0&&(r+=this.length);var t=new Ht;if(ethis.length&&(e=this.length);for(var i=0,n=this.head;n!==null&&ithis.length&&(e=this.length);for(var i=this.length,n=this.tail;n!==null&&i>e;i--)n=n.prev;for(;n!==null&&i>r;i--,n=n.prev)t.push(n.value);return t};Ht.prototype.splice=function(r,e,...t){r>this.length&&(r=this.length-1),r<0&&(r=this.length+r);for(var i=0,n=this.head;n!==null&&i{"use strict";var RCe=sd(),tc=Symbol("max"),Ia=Symbol("length"),Og=Symbol("lengthCalculator"),ad=Symbol("allowStale"),rc=Symbol("maxAge"),Ea=Symbol("dispose"),CG=Symbol("noDisposeOnSet"),di=Symbol("lruList"),Ws=Symbol("cache"),EG=Symbol("updateAgeOnGet"),nv=()=>1,ov=class{constructor(e){if(typeof e=="number"&&(e={max:e}),e||(e={}),e.max&&(typeof e.max!="number"||e.max<0))throw new TypeError("max must be a non-negative number");let t=this[tc]=e.max||1/0,i=e.length||nv;if(this[Og]=typeof i!="function"?nv:i,this[ad]=e.stale||!1,e.maxAge&&typeof e.maxAge!="number")throw new TypeError("maxAge must be a number");this[rc]=e.maxAge||0,this[Ea]=e.dispose,this[CG]=e.noDisposeOnSet||!1,this[EG]=e.updateAgeOnGet||!1,this.reset()}set max(e){if(typeof e!="number"||e<0)throw new TypeError("max must be a non-negative number");this[tc]=e||1/0,od(this)}get max(){return this[tc]}set allowStale(e){this[ad]=!!e}get allowStale(){return this[ad]}set maxAge(e){if(typeof e!="number")throw new TypeError("maxAge must be a non-negative number");this[rc]=e,od(this)}get maxAge(){return this[rc]}set lengthCalculator(e){typeof e!="function"&&(e=nv),e!==this[Og]&&(this[Og]=e,this[Ia]=0,this[di].forEach(t=>{t.length=this[Og](t.value,t.key),this[Ia]+=t.length})),od(this)}get lengthCalculator(){return this[Og]}get length(){return this[Ia]}get itemCount(){return this[di].length}rforEach(e,t){t=t||this;for(let i=this[di].tail;i!==null;){let n=i.prev;mG(this,e,i,t),i=n}}forEach(e,t){t=t||this;for(let i=this[di].head;i!==null;){let n=i.next;mG(this,e,i,t),i=n}}keys(){return this[di].toArray().map(e=>e.key)}values(){return this[di].toArray().map(e=>e.value)}reset(){this[Ea]&&this[di]&&this[di].length&&this[di].forEach(e=>this[Ea](e.key,e.value)),this[Ws]=new Map,this[di]=new RCe,this[Ia]=0}dump(){return this[di].map(e=>LI(this,e)?!1:{k:e.key,v:e.value,e:e.now+(e.maxAge||0)}).toArray().filter(e=>e)}dumpLru(){return this[di]}set(e,t,i){if(i=i||this[rc],i&&typeof i!="number")throw new TypeError("maxAge must be a number");let n=i?Date.now():0,s=this[Og](t,e);if(this[Ws].has(e)){if(s>this[tc])return Mg(this,this[Ws].get(e)),!1;let l=this[Ws].get(e).value;return this[Ea]&&(this[CG]||this[Ea](e,l.value)),l.now=n,l.maxAge=i,l.value=t,this[Ia]+=s-l.length,l.length=s,this.get(e),od(this),!0}let o=new av(e,t,s,n,i);return o.length>this[tc]?(this[Ea]&&this[Ea](e,t),!1):(this[Ia]+=o.length,this[di].unshift(o),this[Ws].set(e,this[di].head),od(this),!0)}has(e){if(!this[Ws].has(e))return!1;let t=this[Ws].get(e).value;return!LI(this,t)}get(e){return sv(this,e,!0)}peek(e){return sv(this,e,!1)}pop(){let e=this[di].tail;return e?(Mg(this,e),e.value):null}del(e){Mg(this,this[Ws].get(e))}load(e){this.reset();let t=Date.now();for(let i=e.length-1;i>=0;i--){let n=e[i],s=n.e||0;if(s===0)this.set(n.k,n.v);else{let o=s-t;o>0&&this.set(n.k,n.v,o)}}}prune(){this[Ws].forEach((e,t)=>sv(this,t,!1))}},sv=(r,e,t)=>{let i=r[Ws].get(e);if(i){let n=i.value;if(LI(r,n)){if(Mg(r,i),!r[ad])return}else t&&(r[EG]&&(i.value.now=Date.now()),r[di].unshiftNode(i));return n.value}},LI=(r,e)=>{if(!e||!e.maxAge&&!r[rc])return!1;let t=Date.now()-e.now;return e.maxAge?t>e.maxAge:r[rc]&&t>r[rc]},od=r=>{if(r[Ia]>r[tc])for(let e=r[di].tail;r[Ia]>r[tc]&&e!==null;){let t=e.prev;Mg(r,e),e=t}},Mg=(r,e)=>{if(e){let t=e.value;r[Ea]&&r[Ea](t.key,t.value),r[Ia]-=t.length,r[Ws].delete(t.key),r[di].removeNode(e)}},av=class{constructor(e,t,i,n,s){this.key=e,this.value=t,this.length=i,this.now=n,this.maxAge=s||0}},mG=(r,e,t,i)=>{let n=t.value;LI(r,n)&&(Mg(r,t),r[ad]||(n=void 0)),n&&e.call(i,n.value,n.key,r)};IG.exports=ov});var os=w((PZe,bG)=>{var ic=class{constructor(e,t){if(t=NCe(t),e instanceof ic)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new ic(e.raw,t);if(e instanceof Av)return this.raw=e.value,this.set=[[e]],this.format(),this;if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e,this.set=e.split(/\s*\|\|\s*/).map(i=>this.parseRange(i.trim())).filter(i=>i.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${e}`);if(this.set.length>1){let i=this.set[0];if(this.set=this.set.filter(n=>!BG(n[0])),this.set.length===0)this.set=[i];else if(this.set.length>1){for(let n of this.set)if(n.length===1&&KCe(n[0])){this.set=[n];break}}}this.format()}format(){return this.range=this.set.map(e=>e.join(" ").trim()).join("||").trim(),this.range}toString(){return this.range}parseRange(e){e=e.trim();let i=`parseRange:${Object.keys(this.options).join(",")}:${e}`,n=wG.get(i);if(n)return n;let s=this.options.loose,o=s?Ti[Bi.HYPHENRANGELOOSE]:Ti[Bi.HYPHENRANGE];e=e.replace(o,VCe(this.options.includePrerelease)),Gr("hyphen replace",e),e=e.replace(Ti[Bi.COMPARATORTRIM],TCe),Gr("comparator trim",e,Ti[Bi.COMPARATORTRIM]),e=e.replace(Ti[Bi.TILDETRIM],OCe),e=e.replace(Ti[Bi.CARETTRIM],MCe),e=e.split(/\s+/).join(" ");let a=s?Ti[Bi.COMPARATORLOOSE]:Ti[Bi.COMPARATOR],l=e.split(" ").map(f=>UCe(f,this.options)).join(" ").split(/\s+/).map(f=>zCe(f,this.options)).filter(this.options.loose?f=>!!f.match(a):()=>!0).map(f=>new Av(f,this.options)),c=l.length,u=new Map;for(let f of l){if(BG(f))return[f];u.set(f.value,f)}u.size>1&&u.has("")&&u.delete("");let g=[...u.values()];return wG.set(i,g),g}intersects(e,t){if(!(e instanceof ic))throw new TypeError("a Range is required");return this.set.some(i=>QG(i,t)&&e.set.some(n=>QG(n,t)&&i.every(s=>n.every(o=>s.intersects(o,t)))))}test(e){if(!e)return!1;if(typeof e=="string")try{e=new LCe(e,this.options)}catch{return!1}for(let t=0;tr.value==="<0.0.0-0",KCe=r=>r.value==="",QG=(r,e)=>{let t=!0,i=r.slice(),n=i.pop();for(;t&&i.length;)t=i.every(s=>n.intersects(s,e)),n=i.pop();return t},UCe=(r,e)=>(Gr("comp",r,e),r=YCe(r,e),Gr("caret",r),r=HCe(r,e),Gr("tildes",r),r=qCe(r,e),Gr("xrange",r),r=WCe(r,e),Gr("stars",r),r),Vi=r=>!r||r.toLowerCase()==="x"||r==="*",HCe=(r,e)=>r.trim().split(/\s+/).map(t=>GCe(t,e)).join(" "),GCe=(r,e)=>{let t=e.loose?Ti[Bi.TILDELOOSE]:Ti[Bi.TILDE];return r.replace(t,(i,n,s,o,a)=>{Gr("tilde",r,i,n,s,o,a);let l;return Vi(n)?l="":Vi(s)?l=`>=${n}.0.0 <${+n+1}.0.0-0`:Vi(o)?l=`>=${n}.${s}.0 <${n}.${+s+1}.0-0`:a?(Gr("replaceTilde pr",a),l=`>=${n}.${s}.${o}-${a} <${n}.${+s+1}.0-0`):l=`>=${n}.${s}.${o} <${n}.${+s+1}.0-0`,Gr("tilde return",l),l})},YCe=(r,e)=>r.trim().split(/\s+/).map(t=>jCe(t,e)).join(" "),jCe=(r,e)=>{Gr("caret",r,e);let t=e.loose?Ti[Bi.CARETLOOSE]:Ti[Bi.CARET],i=e.includePrerelease?"-0":"";return r.replace(t,(n,s,o,a,l)=>{Gr("caret",r,n,s,o,a,l);let c;return Vi(s)?c="":Vi(o)?c=`>=${s}.0.0${i} <${+s+1}.0.0-0`:Vi(a)?s==="0"?c=`>=${s}.${o}.0${i} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.0${i} <${+s+1}.0.0-0`:l?(Gr("replaceCaret pr",l),s==="0"?o==="0"?c=`>=${s}.${o}.${a}-${l} <${s}.${o}.${+a+1}-0`:c=`>=${s}.${o}.${a}-${l} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.${a}-${l} <${+s+1}.0.0-0`):(Gr("no pr"),s==="0"?o==="0"?c=`>=${s}.${o}.${a}${i} <${s}.${o}.${+a+1}-0`:c=`>=${s}.${o}.${a}${i} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.${a} <${+s+1}.0.0-0`),Gr("caret return",c),c})},qCe=(r,e)=>(Gr("replaceXRanges",r,e),r.split(/\s+/).map(t=>JCe(t,e)).join(" ")),JCe=(r,e)=>{r=r.trim();let t=e.loose?Ti[Bi.XRANGELOOSE]:Ti[Bi.XRANGE];return r.replace(t,(i,n,s,o,a,l)=>{Gr("xRange",r,i,n,s,o,a,l);let c=Vi(s),u=c||Vi(o),g=u||Vi(a),f=g;return n==="="&&f&&(n=""),l=e.includePrerelease?"-0":"",c?n===">"||n==="<"?i="<0.0.0-0":i="*":n&&f?(u&&(o=0),a=0,n===">"?(n=">=",u?(s=+s+1,o=0,a=0):(o=+o+1,a=0)):n==="<="&&(n="<",u?s=+s+1:o=+o+1),n==="<"&&(l="-0"),i=`${n+s}.${o}.${a}${l}`):u?i=`>=${s}.0.0${l} <${+s+1}.0.0-0`:g&&(i=`>=${s}.${o}.0${l} <${s}.${+o+1}.0-0`),Gr("xRange return",i),i})},WCe=(r,e)=>(Gr("replaceStars",r,e),r.trim().replace(Ti[Bi.STAR],"")),zCe=(r,e)=>(Gr("replaceGTE0",r,e),r.trim().replace(Ti[e.includePrerelease?Bi.GTE0PRE:Bi.GTE0],"")),VCe=r=>(e,t,i,n,s,o,a,l,c,u,g,f,h)=>(Vi(i)?t="":Vi(n)?t=`>=${i}.0.0${r?"-0":""}`:Vi(s)?t=`>=${i}.${n}.0${r?"-0":""}`:o?t=`>=${t}`:t=`>=${t}${r?"-0":""}`,Vi(c)?l="":Vi(u)?l=`<${+c+1}.0.0-0`:Vi(g)?l=`<${c}.${+u+1}.0-0`:f?l=`<=${c}.${u}.${g}-${f}`:r?l=`<${c}.${u}.${+g+1}-0`:l=`<=${l}`,`${t} ${l}`.trim()),XCe=(r,e,t)=>{for(let i=0;i0){let n=r[i].semver;if(n.major===e.major&&n.minor===e.minor&&n.patch===e.patch)return!0}return!1}return!0}});var Ad=w((DZe,DG)=>{var ld=Symbol("SemVer ANY"),Kg=class{static get ANY(){return ld}constructor(e,t){if(t=_Ce(t),e instanceof Kg){if(e.loose===!!t.loose)return e;e=e.value}cv("comparator",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===ld?this.value="":this.value=this.operator+this.semver.version,cv("comp",this)}parse(e){let t=this.options.loose?SG[vG.COMPARATORLOOSE]:SG[vG.COMPARATOR],i=e.match(t);if(!i)throw new TypeError(`Invalid comparator: ${e}`);this.operator=i[1]!==void 0?i[1]:"",this.operator==="="&&(this.operator=""),i[2]?this.semver=new xG(i[2],this.options.loose):this.semver=ld}toString(){return this.value}test(e){if(cv("Comparator.test",e,this.options.loose),this.semver===ld||e===ld)return!0;if(typeof e=="string")try{e=new xG(e,this.options)}catch{return!1}return lv(e,this.operator,this.semver,this.options)}intersects(e,t){if(!(e instanceof Kg))throw new TypeError("a Comparator is required");if((!t||typeof t!="object")&&(t={loose:!!t,includePrerelease:!1}),this.operator==="")return this.value===""?!0:new PG(e.value,t).test(this.value);if(e.operator==="")return e.value===""?!0:new PG(this.value,t).test(e.semver);let i=(this.operator===">="||this.operator===">")&&(e.operator===">="||e.operator===">"),n=(this.operator==="<="||this.operator==="<")&&(e.operator==="<="||e.operator==="<"),s=this.semver.version===e.semver.version,o=(this.operator===">="||this.operator==="<=")&&(e.operator===">="||e.operator==="<="),a=lv(this.semver,"<",e.semver,t)&&(this.operator===">="||this.operator===">")&&(e.operator==="<="||e.operator==="<"),l=lv(this.semver,">",e.semver,t)&&(this.operator==="<="||this.operator==="<")&&(e.operator===">="||e.operator===">");return i||n||s&&o||a||l}};DG.exports=Kg;var _Ce=rd(),{re:SG,t:vG}=Zl(),lv=iv(),cv=td(),xG=Li(),PG=os()});var cd=w((kZe,kG)=>{var ZCe=os(),$Ce=(r,e,t)=>{try{e=new ZCe(e,t)}catch{return!1}return e.test(r)};kG.exports=$Ce});var FG=w((RZe,RG)=>{var eme=os(),tme=(r,e)=>new eme(r,e).set.map(t=>t.map(i=>i.value).join(" ").trim().split(" "));RG.exports=tme});var LG=w((FZe,NG)=>{var rme=Li(),ime=os(),nme=(r,e,t)=>{let i=null,n=null,s=null;try{s=new ime(e,t)}catch{return null}return r.forEach(o=>{s.test(o)&&(!i||n.compare(o)===-1)&&(i=o,n=new rme(i,t))}),i};NG.exports=nme});var OG=w((NZe,TG)=>{var sme=Li(),ome=os(),ame=(r,e,t)=>{let i=null,n=null,s=null;try{s=new ome(e,t)}catch{return null}return r.forEach(o=>{s.test(o)&&(!i||n.compare(o)===1)&&(i=o,n=new sme(i,t))}),i};TG.exports=ame});var UG=w((LZe,KG)=>{var uv=Li(),Ame=os(),MG=nd(),lme=(r,e)=>{r=new Ame(r,e);let t=new uv("0.0.0");if(r.test(t)||(t=new uv("0.0.0-0"),r.test(t)))return t;t=null;for(let i=0;i{let a=new uv(o.semver.version);switch(o.operator){case">":a.prerelease.length===0?a.patch++:a.prerelease.push(0),a.raw=a.format();case"":case">=":(!s||MG(a,s))&&(s=a);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${o.operator}`)}}),s&&(!t||MG(t,s))&&(t=s)}return t&&r.test(t)?t:null};KG.exports=lme});var GG=w((TZe,HG)=>{var cme=os(),ume=(r,e)=>{try{return new cme(r,e).range||"*"}catch{return null}};HG.exports=ume});var TI=w((OZe,JG)=>{var gme=Li(),qG=Ad(),{ANY:fme}=qG,hme=os(),pme=cd(),YG=nd(),jG=DI(),dme=RI(),Cme=kI(),mme=(r,e,t,i)=>{r=new gme(r,i),e=new hme(e,i);let n,s,o,a,l;switch(t){case">":n=YG,s=dme,o=jG,a=">",l=">=";break;case"<":n=jG,s=Cme,o=YG,a="<",l="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(pme(r,e,i))return!1;for(let c=0;c{h.semver===fme&&(h=new qG(">=0.0.0")),g=g||h,f=f||h,n(h.semver,g.semver,i)?g=h:o(h.semver,f.semver,i)&&(f=h)}),g.operator===a||g.operator===l||(!f.operator||f.operator===a)&&s(r,f.semver))return!1;if(f.operator===l&&o(r,f.semver))return!1}return!0};JG.exports=mme});var zG=w((MZe,WG)=>{var Eme=TI(),Ime=(r,e,t)=>Eme(r,e,">",t);WG.exports=Ime});var XG=w((KZe,VG)=>{var yme=TI(),wme=(r,e,t)=>yme(r,e,"<",t);VG.exports=wme});var $G=w((UZe,ZG)=>{var _G=os(),Bme=(r,e,t)=>(r=new _G(r,t),e=new _G(e,t),r.intersects(e));ZG.exports=Bme});var tY=w((HZe,eY)=>{var Qme=cd(),bme=ss();eY.exports=(r,e,t)=>{let i=[],n=null,s=null,o=r.sort((u,g)=>bme(u,g,t));for(let u of o)Qme(u,e,t)?(s=u,n||(n=u)):(s&&i.push([n,s]),s=null,n=null);n&&i.push([n,null]);let a=[];for(let[u,g]of i)u===g?a.push(u):!g&&u===o[0]?a.push("*"):g?u===o[0]?a.push(`<=${g}`):a.push(`${u} - ${g}`):a.push(`>=${u}`);let l=a.join(" || "),c=typeof e.raw=="string"?e.raw:String(e);return l.length{var rY=os(),OI=Ad(),{ANY:gv}=OI,ud=cd(),fv=ss(),Sme=(r,e,t={})=>{if(r===e)return!0;r=new rY(r,t),e=new rY(e,t);let i=!1;e:for(let n of r.set){for(let s of e.set){let o=vme(n,s,t);if(i=i||o!==null,o)continue e}if(i)return!1}return!0},vme=(r,e,t)=>{if(r===e)return!0;if(r.length===1&&r[0].semver===gv){if(e.length===1&&e[0].semver===gv)return!0;t.includePrerelease?r=[new OI(">=0.0.0-0")]:r=[new OI(">=0.0.0")]}if(e.length===1&&e[0].semver===gv){if(t.includePrerelease)return!0;e=[new OI(">=0.0.0")]}let i=new Set,n,s;for(let h of r)h.operator===">"||h.operator===">="?n=iY(n,h,t):h.operator==="<"||h.operator==="<="?s=nY(s,h,t):i.add(h.semver);if(i.size>1)return null;let o;if(n&&s){if(o=fv(n.semver,s.semver,t),o>0)return null;if(o===0&&(n.operator!==">="||s.operator!=="<="))return null}for(let h of i){if(n&&!ud(h,String(n),t)||s&&!ud(h,String(s),t))return null;for(let p of e)if(!ud(h,String(p),t))return!1;return!0}let a,l,c,u,g=s&&!t.includePrerelease&&s.semver.prerelease.length?s.semver:!1,f=n&&!t.includePrerelease&&n.semver.prerelease.length?n.semver:!1;g&&g.prerelease.length===1&&s.operator==="<"&&g.prerelease[0]===0&&(g=!1);for(let h of e){if(u=u||h.operator===">"||h.operator===">=",c=c||h.operator==="<"||h.operator==="<=",n){if(f&&h.semver.prerelease&&h.semver.prerelease.length&&h.semver.major===f.major&&h.semver.minor===f.minor&&h.semver.patch===f.patch&&(f=!1),h.operator===">"||h.operator===">="){if(a=iY(n,h,t),a===h&&a!==n)return!1}else if(n.operator===">="&&!ud(n.semver,String(h),t))return!1}if(s){if(g&&h.semver.prerelease&&h.semver.prerelease.length&&h.semver.major===g.major&&h.semver.minor===g.minor&&h.semver.patch===g.patch&&(g=!1),h.operator==="<"||h.operator==="<="){if(l=nY(s,h,t),l===h&&l!==s)return!1}else if(s.operator==="<="&&!ud(s.semver,String(h),t))return!1}if(!h.operator&&(s||n)&&o!==0)return!1}return!(n&&c&&!s&&o!==0||s&&u&&!n&&o!==0||f||g)},iY=(r,e,t)=>{if(!r)return e;let i=fv(r.semver,e.semver,t);return i>0?r:i<0||e.operator===">"&&r.operator===">="?e:r},nY=(r,e,t)=>{if(!r)return e;let i=fv(r.semver,e.semver,t);return i<0?r:i>0||e.operator==="<"&&r.operator==="<="?e:r};sY.exports=Sme});var Xr=w((YZe,aY)=>{var hv=Zl();aY.exports={re:hv.re,src:hv.src,tokens:hv.t,SEMVER_SPEC_VERSION:ed().SEMVER_SPEC_VERSION,SemVer:Li(),compareIdentifiers:bI().compareIdentifiers,rcompareIdentifiers:bI().rcompareIdentifiers,parse:$l(),valid:kH(),clean:FH(),inc:LH(),diff:HH(),major:YH(),minor:qH(),patch:WH(),prerelease:VH(),compare:ss(),rcompare:_H(),compareLoose:$H(),compareBuild:PI(),sort:iG(),rsort:sG(),gt:nd(),lt:DI(),eq:xI(),neq:rv(),gte:kI(),lte:RI(),cmp:iv(),coerce:fG(),Comparator:Ad(),Range:os(),satisfies:cd(),toComparators:FG(),maxSatisfying:LG(),minSatisfying:OG(),minVersion:UG(),validRange:GG(),outside:TI(),gtr:zG(),ltr:XG(),intersects:$G(),simplifyRange:tY(),subset:oY()}});var pv=w(MI=>{"use strict";Object.defineProperty(MI,"__esModule",{value:!0});MI.VERSION=void 0;MI.VERSION="9.1.0"});var Gt=w((exports,module)=>{"use strict";var __spreadArray=exports&&exports.__spreadArray||function(r,e,t){if(t||arguments.length===2)for(var i=0,n=e.length,s;i{(function(r,e){typeof define=="function"&&define.amd?define([],e):typeof KI=="object"&&KI.exports?KI.exports=e():r.regexpToAst=e()})(typeof self<"u"?self:AY,function(){function r(){}r.prototype.saveState=function(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}},r.prototype.restoreState=function(p){this.idx=p.idx,this.input=p.input,this.groupIdx=p.groupIdx},r.prototype.pattern=function(p){this.idx=0,this.input=p,this.groupIdx=0,this.consumeChar("/");var C=this.disjunction();this.consumeChar("/");for(var y={type:"Flags",loc:{begin:this.idx,end:p.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};this.isRegExpFlag();)switch(this.popChar()){case"g":o(y,"global");break;case"i":o(y,"ignoreCase");break;case"m":o(y,"multiLine");break;case"u":o(y,"unicode");break;case"y":o(y,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:y,value:C,loc:this.loc(0)}},r.prototype.disjunction=function(){var p=[],C=this.idx;for(p.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),p.push(this.alternative());return{type:"Disjunction",value:p,loc:this.loc(C)}},r.prototype.alternative=function(){for(var p=[],C=this.idx;this.isTerm();)p.push(this.term());return{type:"Alternative",value:p,loc:this.loc(C)}},r.prototype.term=function(){return this.isAssertion()?this.assertion():this.atom()},r.prototype.assertion=function(){var p=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(p)};case"$":return{type:"EndAnchor",loc:this.loc(p)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(p)};case"B":return{type:"NonWordBoundary",loc:this.loc(p)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");var C;switch(this.popChar()){case"=":C="Lookahead";break;case"!":C="NegativeLookahead";break}a(C);var y=this.disjunction();return this.consumeChar(")"),{type:C,value:y,loc:this.loc(p)}}l()},r.prototype.quantifier=function(p){var C,y=this.idx;switch(this.popChar()){case"*":C={atLeast:0,atMost:1/0};break;case"+":C={atLeast:1,atMost:1/0};break;case"?":C={atLeast:0,atMost:1};break;case"{":var B=this.integerIncludingZero();switch(this.popChar()){case"}":C={atLeast:B,atMost:B};break;case",":var v;this.isDigit()?(v=this.integerIncludingZero(),C={atLeast:B,atMost:v}):C={atLeast:B,atMost:1/0},this.consumeChar("}");break}if(p===!0&&C===void 0)return;a(C);break}if(!(p===!0&&C===void 0))return a(C),this.peekChar(0)==="?"?(this.consumeChar("?"),C.greedy=!1):C.greedy=!0,C.type="Quantifier",C.loc=this.loc(y),C},r.prototype.atom=function(){var p,C=this.idx;switch(this.peekChar()){case".":p=this.dotAll();break;case"\\":p=this.atomEscape();break;case"[":p=this.characterClass();break;case"(":p=this.group();break}return p===void 0&&this.isPatternCharacter()&&(p=this.patternCharacter()),a(p),p.loc=this.loc(C),this.isQuantifier()&&(p.quantifier=this.quantifier()),p},r.prototype.dotAll=function(){return this.consumeChar("."),{type:"Set",complement:!0,value:[n(` +`+r.slice(o+1):l+=r.slice(n),l.slice(1)}function zpe(r){for(var e="",t,i,n,s=0;s=55296&&t<=56319&&(i=r.charCodeAt(s+1),i>=56320&&i<=57343)){e+=D2((t-55296)*1024+i-56320+65536),s++;continue}n=Ni[t],e+=!n&&Og(t)?r[s]:n||D2(t)}return e}function Vpe(r,e,t){var i="",n=r.tag,s,o;for(s=0,o=t.length;s1024&&(u+="? "),u+=r.dump+(r.condenseFlow?'"':"")+":"+(r.condenseFlow?"":" "),rc(r,e,c,!1,!1)&&(u+=r.dump,i+=u));r.tag=n,r.dump="{"+i+"}"}function _pe(r,e,t,i){var n="",s=r.tag,o=Object.keys(t),a,l,c,u,g,f;if(r.sortKeys===!0)o.sort();else if(typeof r.sortKeys=="function")o.sort(r.sortKeys);else if(r.sortKeys)throw new _p("sortKeys must be a boolean or a function");for(a=0,l=o.length;a1024,g&&(r.dump&&Xp===r.dump.charCodeAt(0)?f+="?":f+="? "),f+=r.dump,g&&(f+=VS(r,e)),rc(r,e+1,u,!0,g)&&(r.dump&&Xp===r.dump.charCodeAt(0)?f+=":":f+=": ",f+=r.dump,n+=f));r.tag=s,r.dump=n||"{}"}function T2(r,e,t){var i,n,s,o,a,l;for(n=t?r.explicitTypes:r.implicitTypes,s=0,o=n.length;s tag resolver accepts not "'+l+'" style');r.dump=i}return!0}return!1}function rc(r,e,t,i,n,s){r.tag=null,r.dump=t,T2(r,t,!1)||T2(r,t,!0);var o=O2.call(r.dump);i&&(i=r.flowLevel<0||r.flowLevel>e);var a=o==="[object Object]"||o==="[object Array]",l,c;if(a&&(l=r.duplicates.indexOf(t),c=l!==-1),(r.tag!==null&&r.tag!=="?"||c||r.indent!==2&&e>0)&&(n=!1),c&&r.usedDuplicates[l])r.dump="*ref_"+l;else{if(a&&c&&!r.usedDuplicates[l]&&(r.usedDuplicates[l]=!0),o==="[object Object]")i&&Object.keys(r.dump).length!==0?(_pe(r,e,r.dump,n),c&&(r.dump="&ref_"+l+r.dump)):(Zpe(r,e,r.dump),c&&(r.dump="&ref_"+l+" "+r.dump));else if(o==="[object Array]"){var u=r.noArrayIndent&&e>0?e-1:e;i&&r.dump.length!==0?(Xpe(r,u,r.dump,n),c&&(r.dump="&ref_"+l+r.dump)):(Vpe(r,u,r.dump),c&&(r.dump="&ref_"+l+" "+r.dump))}else if(o==="[object String]")r.tag!=="?"&&Jpe(r,r.dump,e,s);else{if(r.skipInvalid)return!1;throw new _p("unacceptable kind of an object to dump "+o)}r.tag!==null&&r.tag!=="?"&&(r.dump="!<"+r.tag+"> "+r.dump)}return!0}function $pe(r,e){var t=[],i=[],n,s;for(XS(r,t,i),n=0,s=i.length;n{"use strict";var II=P2(),$2=_2();function yI(r){return function(){throw new Error("Function "+r+" is deprecated and cannot be used.")}}Fr.exports.Type=si();Fr.exports.Schema=_l();Fr.exports.FAILSAFE_SCHEMA=fI();Fr.exports.JSON_SCHEMA=YS();Fr.exports.CORE_SCHEMA=jS();Fr.exports.DEFAULT_SAFE_SCHEMA=Fg();Fr.exports.DEFAULT_FULL_SCHEMA=zp();Fr.exports.load=II.load;Fr.exports.loadAll=II.loadAll;Fr.exports.safeLoad=II.safeLoad;Fr.exports.safeLoadAll=II.safeLoadAll;Fr.exports.dump=$2.dump;Fr.exports.safeDump=$2.safeDump;Fr.exports.YAMLException=kg();Fr.exports.MINIMAL_SCHEMA=fI();Fr.exports.SAFE_SCHEMA=Fg();Fr.exports.DEFAULT_SCHEMA=zp();Fr.exports.scan=yI("scan");Fr.exports.parse=yI("parse");Fr.exports.compose=yI("compose");Fr.exports.addConstructor=yI("addConstructor")});var rH=w((WZe,tH)=>{"use strict";var tde=eH();tH.exports=tde});var nH=w((zZe,iH)=>{"use strict";function rde(r,e){function t(){this.constructor=r}t.prototype=e.prototype,r.prototype=new t}function ic(r,e,t,i){this.message=r,this.expected=e,this.found=t,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,ic)}rde(ic,Error);ic.buildMessage=function(r,e){var t={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,f=1;g({[Ke]:Ce})))},H=function(R){return R},j=function(R){return R},$=Ms("correct indentation"),V=" ",W=ar(" ",!1),_=function(R){return R.length===BA*mg},A=function(R){return R.length===(BA+1)*mg},ae=function(){return BA++,!0},ge=function(){return BA--,!0},re=function(){return gg()},O=Ms("pseudostring"),F=/^[^\r\n\t ?:,\][{}#&*!|>'"%@`\-]/,ue=Fn(["\r",` +`," "," ","?",":",",","]","[","{","}","#","&","*","!","|",">","'",'"',"%","@","`","-"],!0,!1),he=/^[^\r\n\t ,\][{}:#"']/,ke=Fn(["\r",` +`," "," ",",","]","[","{","}",":","#",'"',"'"],!0,!1),Fe=function(){return gg().replace(/^ *| *$/g,"")},Ne="--",oe=ar("--",!1),le=/^[a-zA-Z\/0-9]/,we=Fn([["a","z"],["A","Z"],"/",["0","9"]],!1,!1),fe=/^[^\r\n\t :,]/,Ae=Fn(["\r",` +`," "," ",":",","],!0,!1),qe="null",ne=ar("null",!1),Y=function(){return null},pe="true",ie=ar("true",!1),de=function(){return!0},_e="false",Pt=ar("false",!1),It=function(){return!1},Or=Ms("string"),ii='"',gi=ar('"',!1),hr=function(){return""},fi=function(R){return R},ni=function(R){return R.join("")},Os=/^[^"\\\0-\x1F\x7F]/,pr=Fn(['"',"\\",["\0",""],"\x7F"],!0,!1),Ii='\\"',es=ar('\\"',!1),ua=function(){return'"'},pA="\\\\",ag=ar("\\\\",!1),ts=function(){return"\\"},dA="\\/",ga=ar("\\/",!1),yp=function(){return"/"},CA="\\b",mA=ar("\\b",!1),wr=function(){return"\b"},kl="\\f",Ag=ar("\\f",!1),Io=function(){return"\f"},lg="\\n",wp=ar("\\n",!1),Bp=function(){return` +`},vr="\\r",se=ar("\\r",!1),yo=function(){return"\r"},kn="\\t",cg=ar("\\t",!1),Qt=function(){return" "},Rl="\\u",Rn=ar("\\u",!1),rs=function(R,q,Ce,Ke){return String.fromCharCode(parseInt(`0x${R}${q}${Ce}${Ke}`))},is=/^[0-9a-fA-F]/,gt=Fn([["0","9"],["a","f"],["A","F"]],!1,!1),wo=Ms("blank space"),At=/^[ \t]/,an=Fn([" "," "],!1,!1),S=Ms("white space"),Tt=/^[ \t\n\r]/,ug=Fn([" "," ",` +`,"\r"],!1,!1),Fl=`\r +`,Qp=ar(`\r +`,!1),bp=` +`,Sp=ar(` +`,!1),vp="\r",xp=ar("\r",!1),G=0,yt=0,EA=[{line:1,column:1}],Ji=0,Nl=[],Xe=0,fa;if("startRule"in e){if(!(e.startRule in i))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');n=i[e.startRule]}function gg(){return r.substring(yt,G)}function FE(){return An(yt,G)}function Pp(R,q){throw q=q!==void 0?q:An(yt,G),Tl([Ms(R)],r.substring(yt,G),q)}function NE(R,q){throw q=q!==void 0?q:An(yt,G),fg(R,q)}function ar(R,q){return{type:"literal",text:R,ignoreCase:q}}function Fn(R,q,Ce){return{type:"class",parts:R,inverted:q,ignoreCase:Ce}}function Ll(){return{type:"any"}}function Dp(){return{type:"end"}}function Ms(R){return{type:"other",description:R}}function ha(R){var q=EA[R],Ce;if(q)return q;for(Ce=R-1;!EA[Ce];)Ce--;for(q=EA[Ce],q={line:q.line,column:q.column};CeJi&&(Ji=G,Nl=[]),Nl.push(R))}function fg(R,q){return new ic(R,null,null,q)}function Tl(R,q,Ce){return new ic(ic.buildMessage(R,q),R,q,Ce)}function Ks(){var R;return R=hg(),R}function Ol(){var R,q,Ce;for(R=G,q=[],Ce=IA();Ce!==t;)q.push(Ce),Ce=IA();return q!==t&&(yt=R,q=s(q)),R=q,R}function IA(){var R,q,Ce,Ke,Re;return R=G,q=da(),q!==t?(r.charCodeAt(G)===45?(Ce=o,G++):(Ce=t,Xe===0&&Te(a)),Ce!==t?(Ke=Rr(),Ke!==t?(Re=pa(),Re!==t?(yt=R,q=l(Re),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R}function hg(){var R,q,Ce;for(R=G,q=[],Ce=pg();Ce!==t;)q.push(Ce),Ce=pg();return q!==t&&(yt=R,q=c(q)),R=q,R}function pg(){var R,q,Ce,Ke,Re,ze,dt,Ft,Nn;if(R=G,q=Rr(),q===t&&(q=null),q!==t){if(Ce=G,r.charCodeAt(G)===35?(Ke=u,G++):(Ke=t,Xe===0&&Te(g)),Ke!==t){if(Re=[],ze=G,dt=G,Xe++,Ft=Gs(),Xe--,Ft===t?dt=void 0:(G=dt,dt=t),dt!==t?(r.length>G?(Ft=r.charAt(G),G++):(Ft=t,Xe===0&&Te(f)),Ft!==t?(dt=[dt,Ft],ze=dt):(G=ze,ze=t)):(G=ze,ze=t),ze!==t)for(;ze!==t;)Re.push(ze),ze=G,dt=G,Xe++,Ft=Gs(),Xe--,Ft===t?dt=void 0:(G=dt,dt=t),dt!==t?(r.length>G?(Ft=r.charAt(G),G++):(Ft=t,Xe===0&&Te(f)),Ft!==t?(dt=[dt,Ft],ze=dt):(G=ze,ze=t)):(G=ze,ze=t);else Re=t;Re!==t?(Ke=[Ke,Re],Ce=Ke):(G=Ce,Ce=t)}else G=Ce,Ce=t;if(Ce===t&&(Ce=null),Ce!==t){if(Ke=[],Re=Hs(),Re!==t)for(;Re!==t;)Ke.push(Re),Re=Hs();else Ke=t;Ke!==t?(yt=R,q=h(),R=q):(G=R,R=t)}else G=R,R=t}else G=R,R=t;if(R===t&&(R=G,q=da(),q!==t?(Ce=Ml(),Ce!==t?(Ke=Rr(),Ke===t&&(Ke=null),Ke!==t?(r.charCodeAt(G)===58?(Re=p,G++):(Re=t,Xe===0&&Te(C)),Re!==t?(ze=Rr(),ze===t&&(ze=null),ze!==t?(dt=pa(),dt!==t?(yt=R,q=y(Ce,dt),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R===t&&(R=G,q=da(),q!==t?(Ce=Us(),Ce!==t?(Ke=Rr(),Ke===t&&(Ke=null),Ke!==t?(r.charCodeAt(G)===58?(Re=p,G++):(Re=t,Xe===0&&Te(C)),Re!==t?(ze=Rr(),ze===t&&(ze=null),ze!==t?(dt=pa(),dt!==t?(yt=R,q=y(Ce,dt),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R===t))){if(R=G,q=da(),q!==t)if(Ce=Us(),Ce!==t)if(Ke=Rr(),Ke!==t)if(Re=LE(),Re!==t){if(ze=[],dt=Hs(),dt!==t)for(;dt!==t;)ze.push(dt),dt=Hs();else ze=t;ze!==t?(yt=R,q=y(Ce,Re),R=q):(G=R,R=t)}else G=R,R=t;else G=R,R=t;else G=R,R=t;else G=R,R=t;if(R===t)if(R=G,q=da(),q!==t)if(Ce=Us(),Ce!==t){if(Ke=[],Re=G,ze=Rr(),ze===t&&(ze=null),ze!==t?(r.charCodeAt(G)===44?(dt=B,G++):(dt=t,Xe===0&&Te(v)),dt!==t?(Ft=Rr(),Ft===t&&(Ft=null),Ft!==t?(Nn=Us(),Nn!==t?(yt=Re,ze=D(Ce,Nn),Re=ze):(G=Re,Re=t)):(G=Re,Re=t)):(G=Re,Re=t)):(G=Re,Re=t),Re!==t)for(;Re!==t;)Ke.push(Re),Re=G,ze=Rr(),ze===t&&(ze=null),ze!==t?(r.charCodeAt(G)===44?(dt=B,G++):(dt=t,Xe===0&&Te(v)),dt!==t?(Ft=Rr(),Ft===t&&(Ft=null),Ft!==t?(Nn=Us(),Nn!==t?(yt=Re,ze=D(Ce,Nn),Re=ze):(G=Re,Re=t)):(G=Re,Re=t)):(G=Re,Re=t)):(G=Re,Re=t);else Ke=t;Ke!==t?(Re=Rr(),Re===t&&(Re=null),Re!==t?(r.charCodeAt(G)===58?(ze=p,G++):(ze=t,Xe===0&&Te(C)),ze!==t?(dt=Rr(),dt===t&&(dt=null),dt!==t?(Ft=pa(),Ft!==t?(yt=R,q=L(Ce,Ke,Ft),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)}else G=R,R=t;else G=R,R=t}return R}function pa(){var R,q,Ce,Ke,Re,ze,dt;if(R=G,q=G,Xe++,Ce=G,Ke=Gs(),Ke!==t?(Re=rt(),Re!==t?(r.charCodeAt(G)===45?(ze=o,G++):(ze=t,Xe===0&&Te(a)),ze!==t?(dt=Rr(),dt!==t?(Ke=[Ke,Re,ze,dt],Ce=Ke):(G=Ce,Ce=t)):(G=Ce,Ce=t)):(G=Ce,Ce=t)):(G=Ce,Ce=t),Xe--,Ce!==t?(G=q,q=void 0):q=t,q!==t?(Ce=Hs(),Ce!==t?(Ke=Bo(),Ke!==t?(Re=Ol(),Re!==t?(ze=yA(),ze!==t?(yt=R,q=H(Re),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R===t&&(R=G,q=Gs(),q!==t?(Ce=Bo(),Ce!==t?(Ke=hg(),Ke!==t?(Re=yA(),Re!==t?(yt=R,q=H(Ke),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R===t))if(R=G,q=Kl(),q!==t){if(Ce=[],Ke=Hs(),Ke!==t)for(;Ke!==t;)Ce.push(Ke),Ke=Hs();else Ce=t;Ce!==t?(yt=R,q=j(q),R=q):(G=R,R=t)}else G=R,R=t;return R}function da(){var R,q,Ce;for(Xe++,R=G,q=[],r.charCodeAt(G)===32?(Ce=V,G++):(Ce=t,Xe===0&&Te(W));Ce!==t;)q.push(Ce),r.charCodeAt(G)===32?(Ce=V,G++):(Ce=t,Xe===0&&Te(W));return q!==t?(yt=G,Ce=_(q),Ce?Ce=void 0:Ce=t,Ce!==t?(q=[q,Ce],R=q):(G=R,R=t)):(G=R,R=t),Xe--,R===t&&(q=t,Xe===0&&Te($)),R}function rt(){var R,q,Ce;for(R=G,q=[],r.charCodeAt(G)===32?(Ce=V,G++):(Ce=t,Xe===0&&Te(W));Ce!==t;)q.push(Ce),r.charCodeAt(G)===32?(Ce=V,G++):(Ce=t,Xe===0&&Te(W));return q!==t?(yt=G,Ce=A(q),Ce?Ce=void 0:Ce=t,Ce!==t?(q=[q,Ce],R=q):(G=R,R=t)):(G=R,R=t),R}function Bo(){var R;return yt=G,R=ae(),R?R=void 0:R=t,R}function yA(){var R;return yt=G,R=ge(),R?R=void 0:R=t,R}function Ml(){var R;return R=Ul(),R===t&&(R=kp()),R}function Us(){var R,q,Ce;if(R=Ul(),R===t){if(R=G,q=[],Ce=dg(),Ce!==t)for(;Ce!==t;)q.push(Ce),Ce=dg();else q=t;q!==t&&(yt=R,q=re()),R=q}return R}function Kl(){var R;return R=Rp(),R===t&&(R=TE(),R===t&&(R=Ul(),R===t&&(R=kp()))),R}function LE(){var R;return R=Rp(),R===t&&(R=Ul(),R===t&&(R=dg())),R}function kp(){var R,q,Ce,Ke,Re,ze;if(Xe++,R=G,F.test(r.charAt(G))?(q=r.charAt(G),G++):(q=t,Xe===0&&Te(ue)),q!==t){for(Ce=[],Ke=G,Re=Rr(),Re===t&&(Re=null),Re!==t?(he.test(r.charAt(G))?(ze=r.charAt(G),G++):(ze=t,Xe===0&&Te(ke)),ze!==t?(Re=[Re,ze],Ke=Re):(G=Ke,Ke=t)):(G=Ke,Ke=t);Ke!==t;)Ce.push(Ke),Ke=G,Re=Rr(),Re===t&&(Re=null),Re!==t?(he.test(r.charAt(G))?(ze=r.charAt(G),G++):(ze=t,Xe===0&&Te(ke)),ze!==t?(Re=[Re,ze],Ke=Re):(G=Ke,Ke=t)):(G=Ke,Ke=t);Ce!==t?(yt=R,q=Fe(),R=q):(G=R,R=t)}else G=R,R=t;return Xe--,R===t&&(q=t,Xe===0&&Te(O)),R}function dg(){var R,q,Ce,Ke,Re;if(R=G,r.substr(G,2)===Ne?(q=Ne,G+=2):(q=t,Xe===0&&Te(oe)),q===t&&(q=null),q!==t)if(le.test(r.charAt(G))?(Ce=r.charAt(G),G++):(Ce=t,Xe===0&&Te(we)),Ce!==t){for(Ke=[],fe.test(r.charAt(G))?(Re=r.charAt(G),G++):(Re=t,Xe===0&&Te(Ae));Re!==t;)Ke.push(Re),fe.test(r.charAt(G))?(Re=r.charAt(G),G++):(Re=t,Xe===0&&Te(Ae));Ke!==t?(yt=R,q=Fe(),R=q):(G=R,R=t)}else G=R,R=t;else G=R,R=t;return R}function Rp(){var R,q;return R=G,r.substr(G,4)===qe?(q=qe,G+=4):(q=t,Xe===0&&Te(ne)),q!==t&&(yt=R,q=Y()),R=q,R}function TE(){var R,q;return R=G,r.substr(G,4)===pe?(q=pe,G+=4):(q=t,Xe===0&&Te(ie)),q!==t&&(yt=R,q=de()),R=q,R===t&&(R=G,r.substr(G,5)===_e?(q=_e,G+=5):(q=t,Xe===0&&Te(Pt)),q!==t&&(yt=R,q=It()),R=q),R}function Ul(){var R,q,Ce,Ke;return Xe++,R=G,r.charCodeAt(G)===34?(q=ii,G++):(q=t,Xe===0&&Te(gi)),q!==t?(r.charCodeAt(G)===34?(Ce=ii,G++):(Ce=t,Xe===0&&Te(gi)),Ce!==t?(yt=R,q=hr(),R=q):(G=R,R=t)):(G=R,R=t),R===t&&(R=G,r.charCodeAt(G)===34?(q=ii,G++):(q=t,Xe===0&&Te(gi)),q!==t?(Ce=OE(),Ce!==t?(r.charCodeAt(G)===34?(Ke=ii,G++):(Ke=t,Xe===0&&Te(gi)),Ke!==t?(yt=R,q=fi(Ce),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)),Xe--,R===t&&(q=t,Xe===0&&Te(Or)),R}function OE(){var R,q,Ce;if(R=G,q=[],Ce=Cg(),Ce!==t)for(;Ce!==t;)q.push(Ce),Ce=Cg();else q=t;return q!==t&&(yt=R,q=ni(q)),R=q,R}function Cg(){var R,q,Ce,Ke,Re,ze;return Os.test(r.charAt(G))?(R=r.charAt(G),G++):(R=t,Xe===0&&Te(pr)),R===t&&(R=G,r.substr(G,2)===Ii?(q=Ii,G+=2):(q=t,Xe===0&&Te(es)),q!==t&&(yt=R,q=ua()),R=q,R===t&&(R=G,r.substr(G,2)===pA?(q=pA,G+=2):(q=t,Xe===0&&Te(ag)),q!==t&&(yt=R,q=ts()),R=q,R===t&&(R=G,r.substr(G,2)===dA?(q=dA,G+=2):(q=t,Xe===0&&Te(ga)),q!==t&&(yt=R,q=yp()),R=q,R===t&&(R=G,r.substr(G,2)===CA?(q=CA,G+=2):(q=t,Xe===0&&Te(mA)),q!==t&&(yt=R,q=wr()),R=q,R===t&&(R=G,r.substr(G,2)===kl?(q=kl,G+=2):(q=t,Xe===0&&Te(Ag)),q!==t&&(yt=R,q=Io()),R=q,R===t&&(R=G,r.substr(G,2)===lg?(q=lg,G+=2):(q=t,Xe===0&&Te(wp)),q!==t&&(yt=R,q=Bp()),R=q,R===t&&(R=G,r.substr(G,2)===vr?(q=vr,G+=2):(q=t,Xe===0&&Te(se)),q!==t&&(yt=R,q=yo()),R=q,R===t&&(R=G,r.substr(G,2)===kn?(q=kn,G+=2):(q=t,Xe===0&&Te(cg)),q!==t&&(yt=R,q=Qt()),R=q,R===t&&(R=G,r.substr(G,2)===Rl?(q=Rl,G+=2):(q=t,Xe===0&&Te(Rn)),q!==t?(Ce=wA(),Ce!==t?(Ke=wA(),Ke!==t?(Re=wA(),Re!==t?(ze=wA(),ze!==t?(yt=R,q=rs(Ce,Ke,Re,ze),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)))))))))),R}function wA(){var R;return is.test(r.charAt(G))?(R=r.charAt(G),G++):(R=t,Xe===0&&Te(gt)),R}function Rr(){var R,q;if(Xe++,R=[],At.test(r.charAt(G))?(q=r.charAt(G),G++):(q=t,Xe===0&&Te(an)),q!==t)for(;q!==t;)R.push(q),At.test(r.charAt(G))?(q=r.charAt(G),G++):(q=t,Xe===0&&Te(an));else R=t;return Xe--,R===t&&(q=t,Xe===0&&Te(wo)),R}function ME(){var R,q;if(Xe++,R=[],Tt.test(r.charAt(G))?(q=r.charAt(G),G++):(q=t,Xe===0&&Te(ug)),q!==t)for(;q!==t;)R.push(q),Tt.test(r.charAt(G))?(q=r.charAt(G),G++):(q=t,Xe===0&&Te(ug));else R=t;return Xe--,R===t&&(q=t,Xe===0&&Te(S)),R}function Hs(){var R,q,Ce,Ke,Re,ze;if(R=G,q=Gs(),q!==t){for(Ce=[],Ke=G,Re=Rr(),Re===t&&(Re=null),Re!==t?(ze=Gs(),ze!==t?(Re=[Re,ze],Ke=Re):(G=Ke,Ke=t)):(G=Ke,Ke=t);Ke!==t;)Ce.push(Ke),Ke=G,Re=Rr(),Re===t&&(Re=null),Re!==t?(ze=Gs(),ze!==t?(Re=[Re,ze],Ke=Re):(G=Ke,Ke=t)):(G=Ke,Ke=t);Ce!==t?(q=[q,Ce],R=q):(G=R,R=t)}else G=R,R=t;return R}function Gs(){var R;return r.substr(G,2)===Fl?(R=Fl,G+=2):(R=t,Xe===0&&Te(Qp)),R===t&&(r.charCodeAt(G)===10?(R=bp,G++):(R=t,Xe===0&&Te(Sp)),R===t&&(r.charCodeAt(G)===13?(R=vp,G++):(R=t,Xe===0&&Te(xp)))),R}let mg=2,BA=0;if(fa=n(),fa!==t&&G===r.length)return fa;throw fa!==t&&G{"use strict";var Ade=r=>{let e=!1,t=!1,i=!1;for(let n=0;n{if(!(typeof r=="string"||Array.isArray(r)))throw new TypeError("Expected the input to be `string | string[]`");e=Object.assign({pascalCase:!1},e);let t=n=>e.pascalCase?n.charAt(0).toUpperCase()+n.slice(1):n;return Array.isArray(r)?r=r.map(n=>n.trim()).filter(n=>n.length).join("-"):r=r.trim(),r.length===0?"":r.length===1?e.pascalCase?r.toUpperCase():r.toLowerCase():(r!==r.toLowerCase()&&(r=Ade(r)),r=r.replace(/^[_.\- ]+/,"").toLowerCase().replace(/[_.\- ]+(\w|$)/g,(n,s)=>s.toUpperCase()).replace(/\d+(\w|$)/g,n=>n.toUpperCase()),t(r))};ev.exports=lH;ev.exports.default=lH});var uH=w((e_e,lde)=>{lde.exports=[{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI",pr:"SYSTEM_PULLREQUEST_PULLREQUESTID"},{name:"Appcircle",constant:"APPCIRCLE",env:"AC_APPCIRCLE"},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN"},{name:"Codefresh",constant:"CODEFRESH",env:"CF_BUILD_ID",pr:{any:["CF_PULL_REQUEST_NUMBER","CF_PULL_REQUEST_ID"]}},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"GitHub Actions",constant:"GITHUB_ACTIONS",env:"GITHUB_ACTIONS",pr:{GITHUB_EVENT_NAME:"pull_request"}},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI",pr:"CI_MERGE_REQUEST_ID"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"LayerCI",constant:"LAYERCI",env:"LAYERCI",pr:"LAYERCI_PULL_REQUEST"},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Nevercode",constant:"NEVERCODE",env:"NEVERCODE",pr:{env:"NEVERCODE_PULL_REQUEST",ne:"false"}},{name:"Render",constant:"RENDER",env:"RENDER",pr:{IS_PULL_REQUEST:"true"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Screwdriver",constant:"SCREWDRIVER",env:"SCREWDRIVER",pr:{env:"SD_PULL_REQUEST",ne:"false"}},{name:"Shippable",constant:"SHIPPABLE",env:"SHIPPABLE",pr:{IS_PULL_REQUEST:"true"}},{name:"Solano CI",constant:"SOLANO",env:"TDDIUM",pr:"TDDIUM_PR_ID"},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}},{name:"Vercel",constant:"VERCEL",env:"NOW_BUILDER"},{name:"Visual Studio App Center",constant:"APPCENTER",env:"APPCENTER_BUILD_ID"}]});var nc=w(Mn=>{"use strict";var fH=uH(),xo=process.env;Object.defineProperty(Mn,"_vendors",{value:fH.map(function(r){return r.constant})});Mn.name=null;Mn.isPR=null;fH.forEach(function(r){let t=(Array.isArray(r.env)?r.env:[r.env]).every(function(i){return gH(i)});if(Mn[r.constant]=t,t)switch(Mn.name=r.name,typeof r.pr){case"string":Mn.isPR=!!xo[r.pr];break;case"object":"env"in r.pr?Mn.isPR=r.pr.env in xo&&xo[r.pr.env]!==r.pr.ne:"any"in r.pr?Mn.isPR=r.pr.any.some(function(i){return!!xo[i]}):Mn.isPR=gH(r.pr);break;default:Mn.isPR=null}});Mn.isCI=!!(xo.CI||xo.CONTINUOUS_INTEGRATION||xo.BUILD_NUMBER||xo.RUN_ID||Mn.name);function gH(r){return typeof r=="string"?!!xo[r]:Object.keys(r).every(function(e){return xo[e]===r[e]})}});var gn={};ut(gn,{KeyRelationship:()=>sc,applyCascade:()=>nd,base64RegExp:()=>mH,colorStringAlphaRegExp:()=>CH,colorStringRegExp:()=>dH,computeKey:()=>kA,getPrintable:()=>Vr,hasExactLength:()=>BH,hasForbiddenKeys:()=>Hde,hasKeyRelationship:()=>av,hasMaxLength:()=>Qde,hasMinLength:()=>Bde,hasMutuallyExclusiveKeys:()=>Gde,hasRequiredKeys:()=>Ude,hasUniqueItems:()=>bde,isArray:()=>pde,isAtLeast:()=>xde,isAtMost:()=>Pde,isBase64:()=>Mde,isBoolean:()=>gde,isDate:()=>hde,isDict:()=>Cde,isEnum:()=>Vi,isHexColor:()=>Ode,isISO8601:()=>Tde,isInExclusiveRange:()=>kde,isInInclusiveRange:()=>Dde,isInstanceOf:()=>Ede,isInteger:()=>Rde,isJSON:()=>Kde,isLiteral:()=>cde,isLowerCase:()=>Fde,isNegative:()=>Sde,isNullable:()=>wde,isNumber:()=>fde,isObject:()=>mde,isOneOf:()=>Ide,isOptional:()=>yde,isPositive:()=>vde,isString:()=>id,isTuple:()=>dde,isUUID4:()=>Lde,isUnknown:()=>wH,isUpperCase:()=>Nde,iso8601RegExp:()=>ov,makeCoercionFn:()=>oc,makeSetter:()=>yH,makeTrait:()=>IH,makeValidator:()=>bt,matchesRegExp:()=>sd,plural:()=>vI,pushError:()=>pt,simpleKeyRegExp:()=>pH,uuid4RegExp:()=>EH});function bt({test:r}){return IH(r)()}function Vr(r){return r===null?"null":r===void 0?"undefined":r===""?"an empty string":JSON.stringify(r)}function kA(r,e){var t,i,n;return typeof e=="number"?`${(t=r==null?void 0:r.p)!==null&&t!==void 0?t:"."}[${e}]`:pH.test(e)?`${(i=r==null?void 0:r.p)!==null&&i!==void 0?i:""}.${e}`:`${(n=r==null?void 0:r.p)!==null&&n!==void 0?n:"."}[${JSON.stringify(e)}]`}function oc(r,e){return t=>{let i=r[e];return r[e]=t,oc(r,e).bind(null,i)}}function yH(r,e){return t=>{r[e]=t}}function vI(r,e,t){return r===1?e:t}function pt({errors:r,p:e}={},t){return r==null||r.push(`${e!=null?e:"."}: ${t}`),!1}function cde(r){return bt({test:(e,t)=>e!==r?pt(t,`Expected a literal (got ${Vr(r)})`):!0})}function Vi(r){let e=Array.isArray(r)?r:Object.values(r),t=new Set(e);return bt({test:(i,n)=>t.has(i)?!0:pt(n,`Expected a valid enumeration value (got ${Vr(i)})`)})}var pH,dH,CH,mH,EH,ov,IH,wH,id,ude,gde,fde,hde,pde,dde,Cde,mde,Ede,Ide,nd,yde,wde,Bde,Qde,BH,bde,Sde,vde,xde,Pde,Dde,kde,Rde,sd,Fde,Nde,Lde,Tde,Ode,Mde,Kde,Ude,Hde,Gde,sc,Yde,av,as=Pge(()=>{pH=/^[a-zA-Z_][a-zA-Z0-9_]*$/,dH=/^#[0-9a-f]{6}$/i,CH=/^#[0-9a-f]{6}([0-9a-f]{2})?$/i,mH=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,EH=/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}$/i,ov=/^(?:[1-9]\d{3}(-?)(?:(?:0[1-9]|1[0-2])\1(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])\1(?:29|30)|(?:0[13578]|1[02])(?:\1)31|00[1-9]|0[1-9]\d|[12]\d{2}|3(?:[0-5]\d|6[0-5]))|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)(?:(-?)02(?:\2)29|-?366))T(?:[01]\d|2[0-3])(:?)[0-5]\d(?:\3[0-5]\d)?(?:Z|[+-][01]\d(?:\3[0-5]\d)?)$/,IH=r=>()=>r;wH=()=>bt({test:(r,e)=>!0});id=()=>bt({test:(r,e)=>typeof r!="string"?pt(e,`Expected a string (got ${Vr(r)})`):!0});ude=new Map([["true",!0],["True",!0],["1",!0],[1,!0],["false",!1],["False",!1],["0",!1],[0,!1]]),gde=()=>bt({test:(r,e)=>{var t;if(typeof r!="boolean"){if(typeof(e==null?void 0:e.coercions)<"u"){if(typeof(e==null?void 0:e.coercion)>"u")return pt(e,"Unbound coercion result");let i=ude.get(r);if(typeof i<"u")return e.coercions.push([(t=e.p)!==null&&t!==void 0?t:".",e.coercion.bind(null,i)]),!0}return pt(e,`Expected a boolean (got ${Vr(r)})`)}return!0}}),fde=()=>bt({test:(r,e)=>{var t;if(typeof r!="number"){if(typeof(e==null?void 0:e.coercions)<"u"){if(typeof(e==null?void 0:e.coercion)>"u")return pt(e,"Unbound coercion result");let i;if(typeof r=="string"){let n;try{n=JSON.parse(r)}catch{}if(typeof n=="number")if(JSON.stringify(n)===r)i=n;else return pt(e,`Received a number that can't be safely represented by the runtime (${r})`)}if(typeof i<"u")return e.coercions.push([(t=e.p)!==null&&t!==void 0?t:".",e.coercion.bind(null,i)]),!0}return pt(e,`Expected a number (got ${Vr(r)})`)}return!0}}),hde=()=>bt({test:(r,e)=>{var t;if(!(r instanceof Date)){if(typeof(e==null?void 0:e.coercions)<"u"){if(typeof(e==null?void 0:e.coercion)>"u")return pt(e,"Unbound coercion result");let i;if(typeof r=="string"&&ov.test(r))i=new Date(r);else{let n;if(typeof r=="string"){let s;try{s=JSON.parse(r)}catch{}typeof s=="number"&&(n=s)}else typeof r=="number"&&(n=r);if(typeof n<"u")if(Number.isSafeInteger(n)||!Number.isSafeInteger(n*1e3))i=new Date(n*1e3);else return pt(e,`Received a timestamp that can't be safely represented by the runtime (${r})`)}if(typeof i<"u")return e.coercions.push([(t=e.p)!==null&&t!==void 0?t:".",e.coercion.bind(null,i)]),!0}return pt(e,`Expected a date (got ${Vr(r)})`)}return!0}}),pde=(r,{delimiter:e}={})=>bt({test:(t,i)=>{var n;if(typeof t=="string"&&typeof e<"u"&&typeof(i==null?void 0:i.coercions)<"u"){if(typeof(i==null?void 0:i.coercion)>"u")return pt(i,"Unbound coercion result");t=t.split(e),i.coercions.push([(n=i.p)!==null&&n!==void 0?n:".",i.coercion.bind(null,t)])}if(!Array.isArray(t))return pt(i,`Expected an array (got ${Vr(t)})`);let s=!0;for(let o=0,a=t.length;o{let t=BH(r.length);return bt({test:(i,n)=>{var s;if(typeof i=="string"&&typeof e<"u"&&typeof(n==null?void 0:n.coercions)<"u"){if(typeof(n==null?void 0:n.coercion)>"u")return pt(n,"Unbound coercion result");i=i.split(e),n.coercions.push([(s=n.p)!==null&&s!==void 0?s:".",n.coercion.bind(null,i)])}if(!Array.isArray(i))return pt(n,`Expected a tuple (got ${Vr(i)})`);let o=t(i,Object.assign({},n));for(let a=0,l=i.length;abt({test:(t,i)=>{if(typeof t!="object"||t===null)return pt(i,`Expected an object (got ${Vr(t)})`);let n=Object.keys(t),s=!0;for(let o=0,a=n.length;o{let t=Object.keys(r);return bt({test:(i,n)=>{if(typeof i!="object"||i===null)return pt(n,`Expected an object (got ${Vr(i)})`);let s=new Set([...t,...Object.keys(i)]),o={},a=!0;for(let l of s){if(l==="constructor"||l==="__proto__")a=pt(Object.assign(Object.assign({},n),{p:kA(n,l)}),"Unsafe property name");else{let c=Object.prototype.hasOwnProperty.call(r,l)?r[l]:void 0,u=Object.prototype.hasOwnProperty.call(i,l)?i[l]:void 0;typeof c<"u"?a=c(u,Object.assign(Object.assign({},n),{p:kA(n,l),coercion:oc(i,l)}))&&a:e===null?a=pt(Object.assign(Object.assign({},n),{p:kA(n,l)}),`Extraneous property (got ${Vr(u)})`):Object.defineProperty(o,l,{enumerable:!0,get:()=>u,set:yH(i,l)})}if(!a&&(n==null?void 0:n.errors)==null)break}return e!==null&&(a||(n==null?void 0:n.errors)!=null)&&(a=e(o,n)&&a),a}})},Ede=r=>bt({test:(e,t)=>e instanceof r?!0:pt(t,`Expected an instance of ${r.name} (got ${Vr(e)})`)}),Ide=(r,{exclusive:e=!1}={})=>bt({test:(t,i)=>{var n,s,o;let a=[],l=typeof(i==null?void 0:i.errors)<"u"?[]:void 0;for(let c=0,u=r.length;c1?pt(i,`Expected to match exactly a single predicate (matched ${a.join(", ")})`):(o=i==null?void 0:i.errors)===null||o===void 0||o.push(...l),!1}}),nd=(r,e)=>bt({test:(t,i)=>{var n,s;let o={value:t},a=typeof(i==null?void 0:i.coercions)<"u"?oc(o,"value"):void 0,l=typeof(i==null?void 0:i.coercions)<"u"?[]:void 0;if(!r(t,Object.assign(Object.assign({},i),{coercion:a,coercions:l})))return!1;let c=[];if(typeof l<"u")for(let[,u]of l)c.push(u());try{if(typeof(i==null?void 0:i.coercions)<"u"){if(o.value!==t){if(typeof(i==null?void 0:i.coercion)>"u")return pt(i,"Unbound coercion result");i.coercions.push([(n=i.p)!==null&&n!==void 0?n:".",i.coercion.bind(null,o.value)])}(s=i==null?void 0:i.coercions)===null||s===void 0||s.push(...l)}return e.every(u=>u(o.value,i))}finally{for(let u of c)u()}}}),yde=r=>bt({test:(e,t)=>typeof e>"u"?!0:r(e,t)}),wde=r=>bt({test:(e,t)=>e===null?!0:r(e,t)}),Bde=r=>bt({test:(e,t)=>e.length>=r?!0:pt(t,`Expected to have a length of at least ${r} elements (got ${e.length})`)}),Qde=r=>bt({test:(e,t)=>e.length<=r?!0:pt(t,`Expected to have a length of at most ${r} elements (got ${e.length})`)}),BH=r=>bt({test:(e,t)=>e.length!==r?pt(t,`Expected to have a length of exactly ${r} elements (got ${e.length})`):!0}),bde=({map:r}={})=>bt({test:(e,t)=>{let i=new Set,n=new Set;for(let s=0,o=e.length;sbt({test:(r,e)=>r<=0?!0:pt(e,`Expected to be negative (got ${r})`)}),vde=()=>bt({test:(r,e)=>r>=0?!0:pt(e,`Expected to be positive (got ${r})`)}),xde=r=>bt({test:(e,t)=>e>=r?!0:pt(t,`Expected to be at least ${r} (got ${e})`)}),Pde=r=>bt({test:(e,t)=>e<=r?!0:pt(t,`Expected to be at most ${r} (got ${e})`)}),Dde=(r,e)=>bt({test:(t,i)=>t>=r&&t<=e?!0:pt(i,`Expected to be in the [${r}; ${e}] range (got ${t})`)}),kde=(r,e)=>bt({test:(t,i)=>t>=r&&tbt({test:(e,t)=>e!==Math.round(e)?pt(t,`Expected to be an integer (got ${e})`):Number.isSafeInteger(e)?!0:pt(t,`Expected to be a safe integer (got ${e})`)}),sd=r=>bt({test:(e,t)=>r.test(e)?!0:pt(t,`Expected to match the pattern ${r.toString()} (got ${Vr(e)})`)}),Fde=()=>bt({test:(r,e)=>r!==r.toLowerCase()?pt(e,`Expected to be all-lowercase (got ${r})`):!0}),Nde=()=>bt({test:(r,e)=>r!==r.toUpperCase()?pt(e,`Expected to be all-uppercase (got ${r})`):!0}),Lde=()=>bt({test:(r,e)=>EH.test(r)?!0:pt(e,`Expected to be a valid UUID v4 (got ${Vr(r)})`)}),Tde=()=>bt({test:(r,e)=>ov.test(r)?!1:pt(e,`Expected to be a valid ISO 8601 date string (got ${Vr(r)})`)}),Ode=({alpha:r=!1})=>bt({test:(e,t)=>(r?dH.test(e):CH.test(e))?!0:pt(t,`Expected to be a valid hexadecimal color string (got ${Vr(e)})`)}),Mde=()=>bt({test:(r,e)=>mH.test(r)?!0:pt(e,`Expected to be a valid base 64 string (got ${Vr(r)})`)}),Kde=(r=wH())=>bt({test:(e,t)=>{let i;try{i=JSON.parse(e)}catch{return pt(t,`Expected to be a valid JSON string (got ${Vr(e)})`)}return r(i,t)}}),Ude=r=>{let e=new Set(r);return bt({test:(t,i)=>{let n=new Set(Object.keys(t)),s=[];for(let o of e)n.has(o)||s.push(o);return s.length>0?pt(i,`Missing required ${vI(s.length,"property","properties")} ${s.map(o=>`"${o}"`).join(", ")}`):!0}})},Hde=r=>{let e=new Set(r);return bt({test:(t,i)=>{let n=new Set(Object.keys(t)),s=[];for(let o of e)n.has(o)&&s.push(o);return s.length>0?pt(i,`Forbidden ${vI(s.length,"property","properties")} ${s.map(o=>`"${o}"`).join(", ")}`):!0}})},Gde=r=>{let e=new Set(r);return bt({test:(t,i)=>{let n=new Set(Object.keys(t)),s=[];for(let o of e)n.has(o)&&s.push(o);return s.length>1?pt(i,`Mutually exclusive properties ${s.map(o=>`"${o}"`).join(", ")}`):!0}})};(function(r){r.Forbids="Forbids",r.Requires="Requires"})(sc||(sc={}));Yde={[sc.Forbids]:{expect:!1,message:"forbids using"},[sc.Requires]:{expect:!0,message:"requires using"}},av=(r,e,t,{ignore:i=[]}={})=>{let n=new Set(i),s=new Set(t),o=Yde[e];return bt({test:(a,l)=>{let c=new Set(Object.keys(a));if(!c.has(r)||n.has(a[r]))return!0;let u=[];for(let g of s)(c.has(g)&&!n.has(a[g]))!==o.expect&&u.push(g);return u.length>=1?pt(l,`Property "${r}" ${o.message} ${vI(u.length,"property","properties")} ${u.map(g=>`"${g}"`).join(", ")}`):!0}})}});var UH=w((e$e,KH)=>{"use strict";KH.exports=(r,...e)=>new Promise(t=>{t(r(...e))})});var Yg=w((t$e,pv)=>{"use strict";var oCe=UH(),HH=r=>{if(r<1)throw new TypeError("Expected `concurrency` to be a number from 1 and up");let e=[],t=0,i=()=>{t--,e.length>0&&e.shift()()},n=(a,l,...c)=>{t++;let u=oCe(a,...c);l(u),u.then(i,i)},s=(a,l,...c)=>{tnew Promise(c=>s(a,c,...l));return Object.defineProperties(o,{activeCount:{get:()=>t},pendingCount:{get:()=>e.length}}),o};pv.exports=HH;pv.exports.default=HH});var cd=w((i$e,GH)=>{var aCe="2.0.0",ACe=Number.MAX_SAFE_INTEGER||9007199254740991,lCe=16;GH.exports={SEMVER_SPEC_VERSION:aCe,MAX_LENGTH:256,MAX_SAFE_INTEGER:ACe,MAX_SAFE_COMPONENT_LENGTH:lCe}});var ud=w((n$e,YH)=>{var cCe=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...r)=>console.error("SEMVER",...r):()=>{};YH.exports=cCe});var ac=w((FA,jH)=>{var{MAX_SAFE_COMPONENT_LENGTH:dv}=cd(),uCe=ud();FA=jH.exports={};var gCe=FA.re=[],et=FA.src=[],tt=FA.t={},fCe=0,St=(r,e,t)=>{let i=fCe++;uCe(i,e),tt[r]=i,et[i]=e,gCe[i]=new RegExp(e,t?"g":void 0)};St("NUMERICIDENTIFIER","0|[1-9]\\d*");St("NUMERICIDENTIFIERLOOSE","[0-9]+");St("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*");St("MAINVERSION",`(${et[tt.NUMERICIDENTIFIER]})\\.(${et[tt.NUMERICIDENTIFIER]})\\.(${et[tt.NUMERICIDENTIFIER]})`);St("MAINVERSIONLOOSE",`(${et[tt.NUMERICIDENTIFIERLOOSE]})\\.(${et[tt.NUMERICIDENTIFIERLOOSE]})\\.(${et[tt.NUMERICIDENTIFIERLOOSE]})`);St("PRERELEASEIDENTIFIER",`(?:${et[tt.NUMERICIDENTIFIER]}|${et[tt.NONNUMERICIDENTIFIER]})`);St("PRERELEASEIDENTIFIERLOOSE",`(?:${et[tt.NUMERICIDENTIFIERLOOSE]}|${et[tt.NONNUMERICIDENTIFIER]})`);St("PRERELEASE",`(?:-(${et[tt.PRERELEASEIDENTIFIER]}(?:\\.${et[tt.PRERELEASEIDENTIFIER]})*))`);St("PRERELEASELOOSE",`(?:-?(${et[tt.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${et[tt.PRERELEASEIDENTIFIERLOOSE]})*))`);St("BUILDIDENTIFIER","[0-9A-Za-z-]+");St("BUILD",`(?:\\+(${et[tt.BUILDIDENTIFIER]}(?:\\.${et[tt.BUILDIDENTIFIER]})*))`);St("FULLPLAIN",`v?${et[tt.MAINVERSION]}${et[tt.PRERELEASE]}?${et[tt.BUILD]}?`);St("FULL",`^${et[tt.FULLPLAIN]}$`);St("LOOSEPLAIN",`[v=\\s]*${et[tt.MAINVERSIONLOOSE]}${et[tt.PRERELEASELOOSE]}?${et[tt.BUILD]}?`);St("LOOSE",`^${et[tt.LOOSEPLAIN]}$`);St("GTLT","((?:<|>)?=?)");St("XRANGEIDENTIFIERLOOSE",`${et[tt.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);St("XRANGEIDENTIFIER",`${et[tt.NUMERICIDENTIFIER]}|x|X|\\*`);St("XRANGEPLAIN",`[v=\\s]*(${et[tt.XRANGEIDENTIFIER]})(?:\\.(${et[tt.XRANGEIDENTIFIER]})(?:\\.(${et[tt.XRANGEIDENTIFIER]})(?:${et[tt.PRERELEASE]})?${et[tt.BUILD]}?)?)?`);St("XRANGEPLAINLOOSE",`[v=\\s]*(${et[tt.XRANGEIDENTIFIERLOOSE]})(?:\\.(${et[tt.XRANGEIDENTIFIERLOOSE]})(?:\\.(${et[tt.XRANGEIDENTIFIERLOOSE]})(?:${et[tt.PRERELEASELOOSE]})?${et[tt.BUILD]}?)?)?`);St("XRANGE",`^${et[tt.GTLT]}\\s*${et[tt.XRANGEPLAIN]}$`);St("XRANGELOOSE",`^${et[tt.GTLT]}\\s*${et[tt.XRANGEPLAINLOOSE]}$`);St("COERCE",`(^|[^\\d])(\\d{1,${dv}})(?:\\.(\\d{1,${dv}}))?(?:\\.(\\d{1,${dv}}))?(?:$|[^\\d])`);St("COERCERTL",et[tt.COERCE],!0);St("LONETILDE","(?:~>?)");St("TILDETRIM",`(\\s*)${et[tt.LONETILDE]}\\s+`,!0);FA.tildeTrimReplace="$1~";St("TILDE",`^${et[tt.LONETILDE]}${et[tt.XRANGEPLAIN]}$`);St("TILDELOOSE",`^${et[tt.LONETILDE]}${et[tt.XRANGEPLAINLOOSE]}$`);St("LONECARET","(?:\\^)");St("CARETTRIM",`(\\s*)${et[tt.LONECARET]}\\s+`,!0);FA.caretTrimReplace="$1^";St("CARET",`^${et[tt.LONECARET]}${et[tt.XRANGEPLAIN]}$`);St("CARETLOOSE",`^${et[tt.LONECARET]}${et[tt.XRANGEPLAINLOOSE]}$`);St("COMPARATORLOOSE",`^${et[tt.GTLT]}\\s*(${et[tt.LOOSEPLAIN]})$|^$`);St("COMPARATOR",`^${et[tt.GTLT]}\\s*(${et[tt.FULLPLAIN]})$|^$`);St("COMPARATORTRIM",`(\\s*)${et[tt.GTLT]}\\s*(${et[tt.LOOSEPLAIN]}|${et[tt.XRANGEPLAIN]})`,!0);FA.comparatorTrimReplace="$1$2$3";St("HYPHENRANGE",`^\\s*(${et[tt.XRANGEPLAIN]})\\s+-\\s+(${et[tt.XRANGEPLAIN]})\\s*$`);St("HYPHENRANGELOOSE",`^\\s*(${et[tt.XRANGEPLAINLOOSE]})\\s+-\\s+(${et[tt.XRANGEPLAINLOOSE]})\\s*$`);St("STAR","(<|>)?=?\\s*\\*");St("GTE0","^\\s*>=\\s*0.0.0\\s*$");St("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")});var gd=w((s$e,qH)=>{var hCe=["includePrerelease","loose","rtl"],pCe=r=>r?typeof r!="object"?{loose:!0}:hCe.filter(e=>r[e]).reduce((e,t)=>(e[t]=!0,e),{}):{};qH.exports=pCe});var FI=w((o$e,zH)=>{var JH=/^[0-9]+$/,WH=(r,e)=>{let t=JH.test(r),i=JH.test(e);return t&&i&&(r=+r,e=+e),r===e?0:t&&!i?-1:i&&!t?1:rWH(e,r);zH.exports={compareIdentifiers:WH,rcompareIdentifiers:dCe}});var Ti=w((a$e,_H)=>{var NI=ud(),{MAX_LENGTH:VH,MAX_SAFE_INTEGER:LI}=cd(),{re:XH,t:ZH}=ac(),CCe=gd(),{compareIdentifiers:fd}=FI(),Hn=class{constructor(e,t){if(t=CCe(t),e instanceof Hn){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if(typeof e!="string")throw new TypeError(`Invalid Version: ${e}`);if(e.length>VH)throw new TypeError(`version is longer than ${VH} characters`);NI("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;let i=e.trim().match(t.loose?XH[ZH.LOOSE]:XH[ZH.FULL]);if(!i)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+i[1],this.minor=+i[2],this.patch=+i[3],this.major>LI||this.major<0)throw new TypeError("Invalid major version");if(this.minor>LI||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>LI||this.patch<0)throw new TypeError("Invalid patch version");i[4]?this.prerelease=i[4].split(".").map(n=>{if(/^[0-9]+$/.test(n)){let s=+n;if(s>=0&&s=0;)typeof this.prerelease[i]=="number"&&(this.prerelease[i]++,i=-2);i===-1&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error(`invalid increment argument: ${e}`)}return this.format(),this.raw=this.version,this}};_H.exports=Hn});var Ac=w((A$e,rG)=>{var{MAX_LENGTH:mCe}=cd(),{re:$H,t:eG}=ac(),tG=Ti(),ECe=gd(),ICe=(r,e)=>{if(e=ECe(e),r instanceof tG)return r;if(typeof r!="string"||r.length>mCe||!(e.loose?$H[eG.LOOSE]:$H[eG.FULL]).test(r))return null;try{return new tG(r,e)}catch{return null}};rG.exports=ICe});var nG=w((l$e,iG)=>{var yCe=Ac(),wCe=(r,e)=>{let t=yCe(r,e);return t?t.version:null};iG.exports=wCe});var oG=w((c$e,sG)=>{var BCe=Ac(),QCe=(r,e)=>{let t=BCe(r.trim().replace(/^[=v]+/,""),e);return t?t.version:null};sG.exports=QCe});var AG=w((u$e,aG)=>{var bCe=Ti(),SCe=(r,e,t,i)=>{typeof t=="string"&&(i=t,t=void 0);try{return new bCe(r,t).inc(e,i).version}catch{return null}};aG.exports=SCe});var As=w((g$e,cG)=>{var lG=Ti(),vCe=(r,e,t)=>new lG(r,t).compare(new lG(e,t));cG.exports=vCe});var TI=w((f$e,uG)=>{var xCe=As(),PCe=(r,e,t)=>xCe(r,e,t)===0;uG.exports=PCe});var hG=w((h$e,fG)=>{var gG=Ac(),DCe=TI(),kCe=(r,e)=>{if(DCe(r,e))return null;{let t=gG(r),i=gG(e),n=t.prerelease.length||i.prerelease.length,s=n?"pre":"",o=n?"prerelease":"";for(let a in t)if((a==="major"||a==="minor"||a==="patch")&&t[a]!==i[a])return s+a;return o}};fG.exports=kCe});var dG=w((p$e,pG)=>{var RCe=Ti(),FCe=(r,e)=>new RCe(r,e).major;pG.exports=FCe});var mG=w((d$e,CG)=>{var NCe=Ti(),LCe=(r,e)=>new NCe(r,e).minor;CG.exports=LCe});var IG=w((C$e,EG)=>{var TCe=Ti(),OCe=(r,e)=>new TCe(r,e).patch;EG.exports=OCe});var wG=w((m$e,yG)=>{var MCe=Ac(),KCe=(r,e)=>{let t=MCe(r,e);return t&&t.prerelease.length?t.prerelease:null};yG.exports=KCe});var QG=w((E$e,BG)=>{var UCe=As(),HCe=(r,e,t)=>UCe(e,r,t);BG.exports=HCe});var SG=w((I$e,bG)=>{var GCe=As(),YCe=(r,e)=>GCe(r,e,!0);bG.exports=YCe});var OI=w((y$e,xG)=>{var vG=Ti(),jCe=(r,e,t)=>{let i=new vG(r,t),n=new vG(e,t);return i.compare(n)||i.compareBuild(n)};xG.exports=jCe});var DG=w((w$e,PG)=>{var qCe=OI(),JCe=(r,e)=>r.sort((t,i)=>qCe(t,i,e));PG.exports=JCe});var RG=w((B$e,kG)=>{var WCe=OI(),zCe=(r,e)=>r.sort((t,i)=>WCe(i,t,e));kG.exports=zCe});var hd=w((Q$e,FG)=>{var VCe=As(),XCe=(r,e,t)=>VCe(r,e,t)>0;FG.exports=XCe});var MI=w((b$e,NG)=>{var ZCe=As(),_Ce=(r,e,t)=>ZCe(r,e,t)<0;NG.exports=_Ce});var Cv=w((S$e,LG)=>{var $Ce=As(),eme=(r,e,t)=>$Ce(r,e,t)!==0;LG.exports=eme});var KI=w((v$e,TG)=>{var tme=As(),rme=(r,e,t)=>tme(r,e,t)>=0;TG.exports=rme});var UI=w((x$e,OG)=>{var ime=As(),nme=(r,e,t)=>ime(r,e,t)<=0;OG.exports=nme});var mv=w((P$e,MG)=>{var sme=TI(),ome=Cv(),ame=hd(),Ame=KI(),lme=MI(),cme=UI(),ume=(r,e,t,i)=>{switch(e){case"===":return typeof r=="object"&&(r=r.version),typeof t=="object"&&(t=t.version),r===t;case"!==":return typeof r=="object"&&(r=r.version),typeof t=="object"&&(t=t.version),r!==t;case"":case"=":case"==":return sme(r,t,i);case"!=":return ome(r,t,i);case">":return ame(r,t,i);case">=":return Ame(r,t,i);case"<":return lme(r,t,i);case"<=":return cme(r,t,i);default:throw new TypeError(`Invalid operator: ${e}`)}};MG.exports=ume});var UG=w((D$e,KG)=>{var gme=Ti(),fme=Ac(),{re:HI,t:GI}=ac(),hme=(r,e)=>{if(r instanceof gme)return r;if(typeof r=="number"&&(r=String(r)),typeof r!="string")return null;e=e||{};let t=null;if(!e.rtl)t=r.match(HI[GI.COERCE]);else{let i;for(;(i=HI[GI.COERCERTL].exec(r))&&(!t||t.index+t[0].length!==r.length);)(!t||i.index+i[0].length!==t.index+t[0].length)&&(t=i),HI[GI.COERCERTL].lastIndex=i.index+i[1].length+i[2].length;HI[GI.COERCERTL].lastIndex=-1}return t===null?null:fme(`${t[2]}.${t[3]||"0"}.${t[4]||"0"}`,e)};KG.exports=hme});var GG=w((k$e,HG)=>{"use strict";HG.exports=function(r){r.prototype[Symbol.iterator]=function*(){for(let e=this.head;e;e=e.next)yield e.value}}});var YI=w((R$e,YG)=>{"use strict";YG.exports=Ht;Ht.Node=lc;Ht.create=Ht;function Ht(r){var e=this;if(e instanceof Ht||(e=new Ht),e.tail=null,e.head=null,e.length=0,r&&typeof r.forEach=="function")r.forEach(function(n){e.push(n)});else if(arguments.length>0)for(var t=0,i=arguments.length;t1)t=e;else if(this.head)i=this.head.next,t=this.head.value;else throw new TypeError("Reduce of empty list with no initial value");for(var n=0;i!==null;n++)t=r(t,i.value,n),i=i.next;return t};Ht.prototype.reduceReverse=function(r,e){var t,i=this.tail;if(arguments.length>1)t=e;else if(this.tail)i=this.tail.prev,t=this.tail.value;else throw new TypeError("Reduce of empty list with no initial value");for(var n=this.length-1;i!==null;n--)t=r(t,i.value,n),i=i.prev;return t};Ht.prototype.toArray=function(){for(var r=new Array(this.length),e=0,t=this.head;t!==null;e++)r[e]=t.value,t=t.next;return r};Ht.prototype.toArrayReverse=function(){for(var r=new Array(this.length),e=0,t=this.tail;t!==null;e++)r[e]=t.value,t=t.prev;return r};Ht.prototype.slice=function(r,e){e=e||this.length,e<0&&(e+=this.length),r=r||0,r<0&&(r+=this.length);var t=new Ht;if(ethis.length&&(e=this.length);for(var i=0,n=this.head;n!==null&&ithis.length&&(e=this.length);for(var i=this.length,n=this.tail;n!==null&&i>e;i--)n=n.prev;for(;n!==null&&i>r;i--,n=n.prev)t.push(n.value);return t};Ht.prototype.splice=function(r,e,...t){r>this.length&&(r=this.length-1),r<0&&(r=this.length+r);for(var i=0,n=this.head;n!==null&&i{"use strict";var mme=YI(),cc=Symbol("max"),ba=Symbol("length"),jg=Symbol("lengthCalculator"),dd=Symbol("allowStale"),uc=Symbol("maxAge"),Qa=Symbol("dispose"),jG=Symbol("noDisposeOnSet"),di=Symbol("lruList"),Vs=Symbol("cache"),JG=Symbol("updateAgeOnGet"),Ev=()=>1,yv=class{constructor(e){if(typeof e=="number"&&(e={max:e}),e||(e={}),e.max&&(typeof e.max!="number"||e.max<0))throw new TypeError("max must be a non-negative number");let t=this[cc]=e.max||1/0,i=e.length||Ev;if(this[jg]=typeof i!="function"?Ev:i,this[dd]=e.stale||!1,e.maxAge&&typeof e.maxAge!="number")throw new TypeError("maxAge must be a number");this[uc]=e.maxAge||0,this[Qa]=e.dispose,this[jG]=e.noDisposeOnSet||!1,this[JG]=e.updateAgeOnGet||!1,this.reset()}set max(e){if(typeof e!="number"||e<0)throw new TypeError("max must be a non-negative number");this[cc]=e||1/0,pd(this)}get max(){return this[cc]}set allowStale(e){this[dd]=!!e}get allowStale(){return this[dd]}set maxAge(e){if(typeof e!="number")throw new TypeError("maxAge must be a non-negative number");this[uc]=e,pd(this)}get maxAge(){return this[uc]}set lengthCalculator(e){typeof e!="function"&&(e=Ev),e!==this[jg]&&(this[jg]=e,this[ba]=0,this[di].forEach(t=>{t.length=this[jg](t.value,t.key),this[ba]+=t.length})),pd(this)}get lengthCalculator(){return this[jg]}get length(){return this[ba]}get itemCount(){return this[di].length}rforEach(e,t){t=t||this;for(let i=this[di].tail;i!==null;){let n=i.prev;qG(this,e,i,t),i=n}}forEach(e,t){t=t||this;for(let i=this[di].head;i!==null;){let n=i.next;qG(this,e,i,t),i=n}}keys(){return this[di].toArray().map(e=>e.key)}values(){return this[di].toArray().map(e=>e.value)}reset(){this[Qa]&&this[di]&&this[di].length&&this[di].forEach(e=>this[Qa](e.key,e.value)),this[Vs]=new Map,this[di]=new mme,this[ba]=0}dump(){return this[di].map(e=>jI(this,e)?!1:{k:e.key,v:e.value,e:e.now+(e.maxAge||0)}).toArray().filter(e=>e)}dumpLru(){return this[di]}set(e,t,i){if(i=i||this[uc],i&&typeof i!="number")throw new TypeError("maxAge must be a number");let n=i?Date.now():0,s=this[jg](t,e);if(this[Vs].has(e)){if(s>this[cc])return qg(this,this[Vs].get(e)),!1;let l=this[Vs].get(e).value;return this[Qa]&&(this[jG]||this[Qa](e,l.value)),l.now=n,l.maxAge=i,l.value=t,this[ba]+=s-l.length,l.length=s,this.get(e),pd(this),!0}let o=new wv(e,t,s,n,i);return o.length>this[cc]?(this[Qa]&&this[Qa](e,t),!1):(this[ba]+=o.length,this[di].unshift(o),this[Vs].set(e,this[di].head),pd(this),!0)}has(e){if(!this[Vs].has(e))return!1;let t=this[Vs].get(e).value;return!jI(this,t)}get(e){return Iv(this,e,!0)}peek(e){return Iv(this,e,!1)}pop(){let e=this[di].tail;return e?(qg(this,e),e.value):null}del(e){qg(this,this[Vs].get(e))}load(e){this.reset();let t=Date.now();for(let i=e.length-1;i>=0;i--){let n=e[i],s=n.e||0;if(s===0)this.set(n.k,n.v);else{let o=s-t;o>0&&this.set(n.k,n.v,o)}}}prune(){this[Vs].forEach((e,t)=>Iv(this,t,!1))}},Iv=(r,e,t)=>{let i=r[Vs].get(e);if(i){let n=i.value;if(jI(r,n)){if(qg(r,i),!r[dd])return}else t&&(r[JG]&&(i.value.now=Date.now()),r[di].unshiftNode(i));return n.value}},jI=(r,e)=>{if(!e||!e.maxAge&&!r[uc])return!1;let t=Date.now()-e.now;return e.maxAge?t>e.maxAge:r[uc]&&t>r[uc]},pd=r=>{if(r[ba]>r[cc])for(let e=r[di].tail;r[ba]>r[cc]&&e!==null;){let t=e.prev;qg(r,e),e=t}},qg=(r,e)=>{if(e){let t=e.value;r[Qa]&&r[Qa](t.key,t.value),r[ba]-=t.length,r[Vs].delete(t.key),r[di].removeNode(e)}},wv=class{constructor(e,t,i,n,s){this.key=e,this.value=t,this.length=i,this.now=n,this.maxAge=s||0}},qG=(r,e,t,i)=>{let n=t.value;jI(r,n)&&(qg(r,t),r[dd]||(n=void 0)),n&&e.call(i,n.value,n.key,r)};WG.exports=yv});var ls=w((N$e,_G)=>{var gc=class{constructor(e,t){if(t=Ime(t),e instanceof gc)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new gc(e.raw,t);if(e instanceof Bv)return this.raw=e.value,this.set=[[e]],this.format(),this;if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e,this.set=e.split(/\s*\|\|\s*/).map(i=>this.parseRange(i.trim())).filter(i=>i.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${e}`);if(this.set.length>1){let i=this.set[0];if(this.set=this.set.filter(n=>!XG(n[0])),this.set.length===0)this.set=[i];else if(this.set.length>1){for(let n of this.set)if(n.length===1&&bme(n[0])){this.set=[n];break}}}this.format()}format(){return this.range=this.set.map(e=>e.join(" ").trim()).join("||").trim(),this.range}toString(){return this.range}parseRange(e){e=e.trim();let i=`parseRange:${Object.keys(this.options).join(",")}:${e}`,n=VG.get(i);if(n)return n;let s=this.options.loose,o=s?Oi[Qi.HYPHENRANGELOOSE]:Oi[Qi.HYPHENRANGE];e=e.replace(o,Lme(this.options.includePrerelease)),Gr("hyphen replace",e),e=e.replace(Oi[Qi.COMPARATORTRIM],wme),Gr("comparator trim",e,Oi[Qi.COMPARATORTRIM]),e=e.replace(Oi[Qi.TILDETRIM],Bme),e=e.replace(Oi[Qi.CARETTRIM],Qme),e=e.split(/\s+/).join(" ");let a=s?Oi[Qi.COMPARATORLOOSE]:Oi[Qi.COMPARATOR],l=e.split(" ").map(f=>Sme(f,this.options)).join(" ").split(/\s+/).map(f=>Nme(f,this.options)).filter(this.options.loose?f=>!!f.match(a):()=>!0).map(f=>new Bv(f,this.options)),c=l.length,u=new Map;for(let f of l){if(XG(f))return[f];u.set(f.value,f)}u.size>1&&u.has("")&&u.delete("");let g=[...u.values()];return VG.set(i,g),g}intersects(e,t){if(!(e instanceof gc))throw new TypeError("a Range is required");return this.set.some(i=>ZG(i,t)&&e.set.some(n=>ZG(n,t)&&i.every(s=>n.every(o=>s.intersects(o,t)))))}test(e){if(!e)return!1;if(typeof e=="string")try{e=new yme(e,this.options)}catch{return!1}for(let t=0;tr.value==="<0.0.0-0",bme=r=>r.value==="",ZG=(r,e)=>{let t=!0,i=r.slice(),n=i.pop();for(;t&&i.length;)t=i.every(s=>n.intersects(s,e)),n=i.pop();return t},Sme=(r,e)=>(Gr("comp",r,e),r=Pme(r,e),Gr("caret",r),r=vme(r,e),Gr("tildes",r),r=kme(r,e),Gr("xrange",r),r=Fme(r,e),Gr("stars",r),r),Zi=r=>!r||r.toLowerCase()==="x"||r==="*",vme=(r,e)=>r.trim().split(/\s+/).map(t=>xme(t,e)).join(" "),xme=(r,e)=>{let t=e.loose?Oi[Qi.TILDELOOSE]:Oi[Qi.TILDE];return r.replace(t,(i,n,s,o,a)=>{Gr("tilde",r,i,n,s,o,a);let l;return Zi(n)?l="":Zi(s)?l=`>=${n}.0.0 <${+n+1}.0.0-0`:Zi(o)?l=`>=${n}.${s}.0 <${n}.${+s+1}.0-0`:a?(Gr("replaceTilde pr",a),l=`>=${n}.${s}.${o}-${a} <${n}.${+s+1}.0-0`):l=`>=${n}.${s}.${o} <${n}.${+s+1}.0-0`,Gr("tilde return",l),l})},Pme=(r,e)=>r.trim().split(/\s+/).map(t=>Dme(t,e)).join(" "),Dme=(r,e)=>{Gr("caret",r,e);let t=e.loose?Oi[Qi.CARETLOOSE]:Oi[Qi.CARET],i=e.includePrerelease?"-0":"";return r.replace(t,(n,s,o,a,l)=>{Gr("caret",r,n,s,o,a,l);let c;return Zi(s)?c="":Zi(o)?c=`>=${s}.0.0${i} <${+s+1}.0.0-0`:Zi(a)?s==="0"?c=`>=${s}.${o}.0${i} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.0${i} <${+s+1}.0.0-0`:l?(Gr("replaceCaret pr",l),s==="0"?o==="0"?c=`>=${s}.${o}.${a}-${l} <${s}.${o}.${+a+1}-0`:c=`>=${s}.${o}.${a}-${l} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.${a}-${l} <${+s+1}.0.0-0`):(Gr("no pr"),s==="0"?o==="0"?c=`>=${s}.${o}.${a}${i} <${s}.${o}.${+a+1}-0`:c=`>=${s}.${o}.${a}${i} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.${a} <${+s+1}.0.0-0`),Gr("caret return",c),c})},kme=(r,e)=>(Gr("replaceXRanges",r,e),r.split(/\s+/).map(t=>Rme(t,e)).join(" ")),Rme=(r,e)=>{r=r.trim();let t=e.loose?Oi[Qi.XRANGELOOSE]:Oi[Qi.XRANGE];return r.replace(t,(i,n,s,o,a,l)=>{Gr("xRange",r,i,n,s,o,a,l);let c=Zi(s),u=c||Zi(o),g=u||Zi(a),f=g;return n==="="&&f&&(n=""),l=e.includePrerelease?"-0":"",c?n===">"||n==="<"?i="<0.0.0-0":i="*":n&&f?(u&&(o=0),a=0,n===">"?(n=">=",u?(s=+s+1,o=0,a=0):(o=+o+1,a=0)):n==="<="&&(n="<",u?s=+s+1:o=+o+1),n==="<"&&(l="-0"),i=`${n+s}.${o}.${a}${l}`):u?i=`>=${s}.0.0${l} <${+s+1}.0.0-0`:g&&(i=`>=${s}.${o}.0${l} <${s}.${+o+1}.0-0`),Gr("xRange return",i),i})},Fme=(r,e)=>(Gr("replaceStars",r,e),r.trim().replace(Oi[Qi.STAR],"")),Nme=(r,e)=>(Gr("replaceGTE0",r,e),r.trim().replace(Oi[e.includePrerelease?Qi.GTE0PRE:Qi.GTE0],"")),Lme=r=>(e,t,i,n,s,o,a,l,c,u,g,f,h)=>(Zi(i)?t="":Zi(n)?t=`>=${i}.0.0${r?"-0":""}`:Zi(s)?t=`>=${i}.${n}.0${r?"-0":""}`:o?t=`>=${t}`:t=`>=${t}${r?"-0":""}`,Zi(c)?l="":Zi(u)?l=`<${+c+1}.0.0-0`:Zi(g)?l=`<${c}.${+u+1}.0-0`:f?l=`<=${c}.${u}.${g}-${f}`:r?l=`<${c}.${u}.${+g+1}-0`:l=`<=${l}`,`${t} ${l}`.trim()),Tme=(r,e,t)=>{for(let i=0;i0){let n=r[i].semver;if(n.major===e.major&&n.minor===e.minor&&n.patch===e.patch)return!0}return!1}return!0}});var Cd=w((L$e,iY)=>{var md=Symbol("SemVer ANY"),Jg=class{static get ANY(){return md}constructor(e,t){if(t=Ome(t),e instanceof Jg){if(e.loose===!!t.loose)return e;e=e.value}bv("comparator",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===md?this.value="":this.value=this.operator+this.semver.version,bv("comp",this)}parse(e){let t=this.options.loose?$G[eY.COMPARATORLOOSE]:$G[eY.COMPARATOR],i=e.match(t);if(!i)throw new TypeError(`Invalid comparator: ${e}`);this.operator=i[1]!==void 0?i[1]:"",this.operator==="="&&(this.operator=""),i[2]?this.semver=new tY(i[2],this.options.loose):this.semver=md}toString(){return this.value}test(e){if(bv("Comparator.test",e,this.options.loose),this.semver===md||e===md)return!0;if(typeof e=="string")try{e=new tY(e,this.options)}catch{return!1}return Qv(e,this.operator,this.semver,this.options)}intersects(e,t){if(!(e instanceof Jg))throw new TypeError("a Comparator is required");if((!t||typeof t!="object")&&(t={loose:!!t,includePrerelease:!1}),this.operator==="")return this.value===""?!0:new rY(e.value,t).test(this.value);if(e.operator==="")return e.value===""?!0:new rY(this.value,t).test(e.semver);let i=(this.operator===">="||this.operator===">")&&(e.operator===">="||e.operator===">"),n=(this.operator==="<="||this.operator==="<")&&(e.operator==="<="||e.operator==="<"),s=this.semver.version===e.semver.version,o=(this.operator===">="||this.operator==="<=")&&(e.operator===">="||e.operator==="<="),a=Qv(this.semver,"<",e.semver,t)&&(this.operator===">="||this.operator===">")&&(e.operator==="<="||e.operator==="<"),l=Qv(this.semver,">",e.semver,t)&&(this.operator==="<="||this.operator==="<")&&(e.operator===">="||e.operator===">");return i||n||s&&o||a||l}};iY.exports=Jg;var Ome=gd(),{re:$G,t:eY}=ac(),Qv=mv(),bv=ud(),tY=Ti(),rY=ls()});var Ed=w((T$e,nY)=>{var Mme=ls(),Kme=(r,e,t)=>{try{e=new Mme(e,t)}catch{return!1}return e.test(r)};nY.exports=Kme});var oY=w((O$e,sY)=>{var Ume=ls(),Hme=(r,e)=>new Ume(r,e).set.map(t=>t.map(i=>i.value).join(" ").trim().split(" "));sY.exports=Hme});var AY=w((M$e,aY)=>{var Gme=Ti(),Yme=ls(),jme=(r,e,t)=>{let i=null,n=null,s=null;try{s=new Yme(e,t)}catch{return null}return r.forEach(o=>{s.test(o)&&(!i||n.compare(o)===-1)&&(i=o,n=new Gme(i,t))}),i};aY.exports=jme});var cY=w((K$e,lY)=>{var qme=Ti(),Jme=ls(),Wme=(r,e,t)=>{let i=null,n=null,s=null;try{s=new Jme(e,t)}catch{return null}return r.forEach(o=>{s.test(o)&&(!i||n.compare(o)===1)&&(i=o,n=new qme(i,t))}),i};lY.exports=Wme});var fY=w((U$e,gY)=>{var Sv=Ti(),zme=ls(),uY=hd(),Vme=(r,e)=>{r=new zme(r,e);let t=new Sv("0.0.0");if(r.test(t)||(t=new Sv("0.0.0-0"),r.test(t)))return t;t=null;for(let i=0;i{let a=new Sv(o.semver.version);switch(o.operator){case">":a.prerelease.length===0?a.patch++:a.prerelease.push(0),a.raw=a.format();case"":case">=":(!s||uY(a,s))&&(s=a);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${o.operator}`)}}),s&&(!t||uY(t,s))&&(t=s)}return t&&r.test(t)?t:null};gY.exports=Vme});var pY=w((H$e,hY)=>{var Xme=ls(),Zme=(r,e)=>{try{return new Xme(r,e).range||"*"}catch{return null}};hY.exports=Zme});var qI=w((G$e,EY)=>{var _me=Ti(),mY=Cd(),{ANY:$me}=mY,eEe=ls(),tEe=Ed(),dY=hd(),CY=MI(),rEe=UI(),iEe=KI(),nEe=(r,e,t,i)=>{r=new _me(r,i),e=new eEe(e,i);let n,s,o,a,l;switch(t){case">":n=dY,s=rEe,o=CY,a=">",l=">=";break;case"<":n=CY,s=iEe,o=dY,a="<",l="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(tEe(r,e,i))return!1;for(let c=0;c{h.semver===$me&&(h=new mY(">=0.0.0")),g=g||h,f=f||h,n(h.semver,g.semver,i)?g=h:o(h.semver,f.semver,i)&&(f=h)}),g.operator===a||g.operator===l||(!f.operator||f.operator===a)&&s(r,f.semver))return!1;if(f.operator===l&&o(r,f.semver))return!1}return!0};EY.exports=nEe});var yY=w((Y$e,IY)=>{var sEe=qI(),oEe=(r,e,t)=>sEe(r,e,">",t);IY.exports=oEe});var BY=w((j$e,wY)=>{var aEe=qI(),AEe=(r,e,t)=>aEe(r,e,"<",t);wY.exports=AEe});var SY=w((q$e,bY)=>{var QY=ls(),lEe=(r,e,t)=>(r=new QY(r,t),e=new QY(e,t),r.intersects(e));bY.exports=lEe});var xY=w((J$e,vY)=>{var cEe=Ed(),uEe=As();vY.exports=(r,e,t)=>{let i=[],n=null,s=null,o=r.sort((u,g)=>uEe(u,g,t));for(let u of o)cEe(u,e,t)?(s=u,n||(n=u)):(s&&i.push([n,s]),s=null,n=null);n&&i.push([n,null]);let a=[];for(let[u,g]of i)u===g?a.push(u):!g&&u===o[0]?a.push("*"):g?u===o[0]?a.push(`<=${g}`):a.push(`${u} - ${g}`):a.push(`>=${u}`);let l=a.join(" || "),c=typeof e.raw=="string"?e.raw:String(e);return l.length{var PY=ls(),JI=Cd(),{ANY:vv}=JI,Id=Ed(),xv=As(),gEe=(r,e,t={})=>{if(r===e)return!0;r=new PY(r,t),e=new PY(e,t);let i=!1;e:for(let n of r.set){for(let s of e.set){let o=fEe(n,s,t);if(i=i||o!==null,o)continue e}if(i)return!1}return!0},fEe=(r,e,t)=>{if(r===e)return!0;if(r.length===1&&r[0].semver===vv){if(e.length===1&&e[0].semver===vv)return!0;t.includePrerelease?r=[new JI(">=0.0.0-0")]:r=[new JI(">=0.0.0")]}if(e.length===1&&e[0].semver===vv){if(t.includePrerelease)return!0;e=[new JI(">=0.0.0")]}let i=new Set,n,s;for(let h of r)h.operator===">"||h.operator===">="?n=DY(n,h,t):h.operator==="<"||h.operator==="<="?s=kY(s,h,t):i.add(h.semver);if(i.size>1)return null;let o;if(n&&s){if(o=xv(n.semver,s.semver,t),o>0)return null;if(o===0&&(n.operator!==">="||s.operator!=="<="))return null}for(let h of i){if(n&&!Id(h,String(n),t)||s&&!Id(h,String(s),t))return null;for(let p of e)if(!Id(h,String(p),t))return!1;return!0}let a,l,c,u,g=s&&!t.includePrerelease&&s.semver.prerelease.length?s.semver:!1,f=n&&!t.includePrerelease&&n.semver.prerelease.length?n.semver:!1;g&&g.prerelease.length===1&&s.operator==="<"&&g.prerelease[0]===0&&(g=!1);for(let h of e){if(u=u||h.operator===">"||h.operator===">=",c=c||h.operator==="<"||h.operator==="<=",n){if(f&&h.semver.prerelease&&h.semver.prerelease.length&&h.semver.major===f.major&&h.semver.minor===f.minor&&h.semver.patch===f.patch&&(f=!1),h.operator===">"||h.operator===">="){if(a=DY(n,h,t),a===h&&a!==n)return!1}else if(n.operator===">="&&!Id(n.semver,String(h),t))return!1}if(s){if(g&&h.semver.prerelease&&h.semver.prerelease.length&&h.semver.major===g.major&&h.semver.minor===g.minor&&h.semver.patch===g.patch&&(g=!1),h.operator==="<"||h.operator==="<="){if(l=kY(s,h,t),l===h&&l!==s)return!1}else if(s.operator==="<="&&!Id(s.semver,String(h),t))return!1}if(!h.operator&&(s||n)&&o!==0)return!1}return!(n&&c&&!s&&o!==0||s&&u&&!n&&o!==0||f||g)},DY=(r,e,t)=>{if(!r)return e;let i=xv(r.semver,e.semver,t);return i>0?r:i<0||e.operator===">"&&r.operator===">="?e:r},kY=(r,e,t)=>{if(!r)return e;let i=xv(r.semver,e.semver,t);return i<0?r:i>0||e.operator==="<"&&r.operator==="<="?e:r};RY.exports=gEe});var Xr=w((z$e,NY)=>{var Pv=ac();NY.exports={re:Pv.re,src:Pv.src,tokens:Pv.t,SEMVER_SPEC_VERSION:cd().SEMVER_SPEC_VERSION,SemVer:Ti(),compareIdentifiers:FI().compareIdentifiers,rcompareIdentifiers:FI().rcompareIdentifiers,parse:Ac(),valid:nG(),clean:oG(),inc:AG(),diff:hG(),major:dG(),minor:mG(),patch:IG(),prerelease:wG(),compare:As(),rcompare:QG(),compareLoose:SG(),compareBuild:OI(),sort:DG(),rsort:RG(),gt:hd(),lt:MI(),eq:TI(),neq:Cv(),gte:KI(),lte:UI(),cmp:mv(),coerce:UG(),Comparator:Cd(),Range:ls(),satisfies:Ed(),toComparators:oY(),maxSatisfying:AY(),minSatisfying:cY(),minVersion:fY(),validRange:pY(),outside:qI(),gtr:yY(),ltr:BY(),intersects:SY(),simplifyRange:xY(),subset:FY()}});var Dv=w(WI=>{"use strict";Object.defineProperty(WI,"__esModule",{value:!0});WI.VERSION=void 0;WI.VERSION="9.1.0"});var Gt=w((exports,module)=>{"use strict";var __spreadArray=exports&&exports.__spreadArray||function(r,e,t){if(t||arguments.length===2)for(var i=0,n=e.length,s;i{(function(r,e){typeof define=="function"&&define.amd?define([],e):typeof zI=="object"&&zI.exports?zI.exports=e():r.regexpToAst=e()})(typeof self<"u"?self:LY,function(){function r(){}r.prototype.saveState=function(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}},r.prototype.restoreState=function(p){this.idx=p.idx,this.input=p.input,this.groupIdx=p.groupIdx},r.prototype.pattern=function(p){this.idx=0,this.input=p,this.groupIdx=0,this.consumeChar("/");var C=this.disjunction();this.consumeChar("/");for(var y={type:"Flags",loc:{begin:this.idx,end:p.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};this.isRegExpFlag();)switch(this.popChar()){case"g":o(y,"global");break;case"i":o(y,"ignoreCase");break;case"m":o(y,"multiLine");break;case"u":o(y,"unicode");break;case"y":o(y,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:y,value:C,loc:this.loc(0)}},r.prototype.disjunction=function(){var p=[],C=this.idx;for(p.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),p.push(this.alternative());return{type:"Disjunction",value:p,loc:this.loc(C)}},r.prototype.alternative=function(){for(var p=[],C=this.idx;this.isTerm();)p.push(this.term());return{type:"Alternative",value:p,loc:this.loc(C)}},r.prototype.term=function(){return this.isAssertion()?this.assertion():this.atom()},r.prototype.assertion=function(){var p=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(p)};case"$":return{type:"EndAnchor",loc:this.loc(p)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(p)};case"B":return{type:"NonWordBoundary",loc:this.loc(p)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");var C;switch(this.popChar()){case"=":C="Lookahead";break;case"!":C="NegativeLookahead";break}a(C);var y=this.disjunction();return this.consumeChar(")"),{type:C,value:y,loc:this.loc(p)}}l()},r.prototype.quantifier=function(p){var C,y=this.idx;switch(this.popChar()){case"*":C={atLeast:0,atMost:1/0};break;case"+":C={atLeast:1,atMost:1/0};break;case"?":C={atLeast:0,atMost:1};break;case"{":var B=this.integerIncludingZero();switch(this.popChar()){case"}":C={atLeast:B,atMost:B};break;case",":var v;this.isDigit()?(v=this.integerIncludingZero(),C={atLeast:B,atMost:v}):C={atLeast:B,atMost:1/0},this.consumeChar("}");break}if(p===!0&&C===void 0)return;a(C);break}if(!(p===!0&&C===void 0))return a(C),this.peekChar(0)==="?"?(this.consumeChar("?"),C.greedy=!1):C.greedy=!0,C.type="Quantifier",C.loc=this.loc(y),C},r.prototype.atom=function(){var p,C=this.idx;switch(this.peekChar()){case".":p=this.dotAll();break;case"\\":p=this.atomEscape();break;case"[":p=this.characterClass();break;case"(":p=this.group();break}return p===void 0&&this.isPatternCharacter()&&(p=this.patternCharacter()),a(p),p.loc=this.loc(C),this.isQuantifier()&&(p.quantifier=this.quantifier()),p},r.prototype.dotAll=function(){return this.consumeChar("."),{type:"Set",complement:!0,value:[n(` `),n("\r"),n("\u2028"),n("\u2029")]}},r.prototype.atomEscape=function(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}},r.prototype.decimalEscapeAtom=function(){var p=this.positiveInteger();return{type:"GroupBackReference",value:p}},r.prototype.characterClassEscape=function(){var p,C=!1;switch(this.popChar()){case"d":p=u;break;case"D":p=u,C=!0;break;case"s":p=f;break;case"S":p=f,C=!0;break;case"w":p=g;break;case"W":p=g,C=!0;break}return a(p),{type:"Set",value:p,complement:C}},r.prototype.controlEscapeAtom=function(){var p;switch(this.popChar()){case"f":p=n("\f");break;case"n":p=n(` `);break;case"r":p=n("\r");break;case"t":p=n(" ");break;case"v":p=n("\v");break}return a(p),{type:"Character",value:p}},r.prototype.controlLetterEscapeAtom=function(){this.consumeChar("c");var p=this.popChar();if(/[a-zA-Z]/.test(p)===!1)throw Error("Invalid ");var C=p.toUpperCase().charCodeAt(0)-64;return{type:"Character",value:C}},r.prototype.nulCharacterAtom=function(){return this.consumeChar("0"),{type:"Character",value:n("\0")}},r.prototype.hexEscapeSequenceAtom=function(){return this.consumeChar("x"),this.parseHexDigits(2)},r.prototype.regExpUnicodeEscapeSequenceAtom=function(){return this.consumeChar("u"),this.parseHexDigits(4)},r.prototype.identityEscapeAtom=function(){var p=this.popChar();return{type:"Character",value:n(p)}},r.prototype.classPatternCharacterAtom=function(){switch(this.peekChar()){case` `:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:var p=this.popChar();return{type:"Character",value:n(p)}}},r.prototype.characterClass=function(){var p=[],C=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),C=!0);this.isClassAtom();){var y=this.classAtom(),B=y.type==="Character";if(B&&this.isRangeDash()){this.consumeChar("-");var v=this.classAtom(),D=v.type==="Character";if(D){if(v.value=this.input.length)throw Error("Unexpected end of input");this.idx++},r.prototype.loc=function(p){return{begin:p,end:this.idx}};var e=/[0-9a-fA-F]/,t=/[0-9]/,i=/[1-9]/;function n(p){return p.charCodeAt(0)}function s(p,C){p.length!==void 0?p.forEach(function(y){C.push(y)}):C.push(p)}function o(p,C){if(p[C]===!0)throw"duplicate flag "+C;p[C]=!0}function a(p){if(p===void 0)throw Error("Internal Error - Should never get here!")}function l(){throw Error("Internal Error - Should never get here!")}var c,u=[];for(c=n("0");c<=n("9");c++)u.push(c);var g=[n("_")].concat(u);for(c=n("a");c<=n("z");c++)g.push(c);for(c=n("A");c<=n("Z");c++)g.push(c);var f=[n(" "),n("\f"),n(` -`),n("\r"),n(" "),n("\v"),n(" "),n("\xA0"),n("\u1680"),n("\u2000"),n("\u2001"),n("\u2002"),n("\u2003"),n("\u2004"),n("\u2005"),n("\u2006"),n("\u2007"),n("\u2008"),n("\u2009"),n("\u200A"),n("\u2028"),n("\u2029"),n("\u202F"),n("\u205F"),n("\u3000"),n("\uFEFF")];function h(){}return h.prototype.visitChildren=function(p){for(var C in p){var y=p[C];p.hasOwnProperty(C)&&(y.type!==void 0?this.visit(y):Array.isArray(y)&&y.forEach(function(B){this.visit(B)},this))}},h.prototype.visit=function(p){switch(p.type){case"Pattern":this.visitPattern(p);break;case"Flags":this.visitFlags(p);break;case"Disjunction":this.visitDisjunction(p);break;case"Alternative":this.visitAlternative(p);break;case"StartAnchor":this.visitStartAnchor(p);break;case"EndAnchor":this.visitEndAnchor(p);break;case"WordBoundary":this.visitWordBoundary(p);break;case"NonWordBoundary":this.visitNonWordBoundary(p);break;case"Lookahead":this.visitLookahead(p);break;case"NegativeLookahead":this.visitNegativeLookahead(p);break;case"Character":this.visitCharacter(p);break;case"Set":this.visitSet(p);break;case"Group":this.visitGroup(p);break;case"GroupBackReference":this.visitGroupBackReference(p);break;case"Quantifier":this.visitQuantifier(p);break}this.visitChildren(p)},h.prototype.visitPattern=function(p){},h.prototype.visitFlags=function(p){},h.prototype.visitDisjunction=function(p){},h.prototype.visitAlternative=function(p){},h.prototype.visitStartAnchor=function(p){},h.prototype.visitEndAnchor=function(p){},h.prototype.visitWordBoundary=function(p){},h.prototype.visitNonWordBoundary=function(p){},h.prototype.visitLookahead=function(p){},h.prototype.visitNegativeLookahead=function(p){},h.prototype.visitCharacter=function(p){},h.prototype.visitSet=function(p){},h.prototype.visitGroup=function(p){},h.prototype.visitGroupBackReference=function(p){},h.prototype.visitQuantifier=function(p){},{RegExpParser:r,BaseRegExpVisitor:h,VERSION:"0.5.0"}})});var GI=w(Ug=>{"use strict";Object.defineProperty(Ug,"__esModule",{value:!0});Ug.clearRegExpParserCache=Ug.getRegExpAst=void 0;var xme=UI(),HI={},Pme=new xme.RegExpParser;function Dme(r){var e=r.toString();if(HI.hasOwnProperty(e))return HI[e];var t=Pme.pattern(e);return HI[e]=t,t}Ug.getRegExpAst=Dme;function kme(){HI={}}Ug.clearRegExpParserCache=kme});var fY=w(pn=>{"use strict";var Rme=pn&&pn.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(pn,"__esModule",{value:!0});pn.canMatchCharCode=pn.firstCharOptimizedIndices=pn.getOptimizedStartCodesIndices=pn.failedOptimizationPrefixMsg=void 0;var cY=UI(),as=Gt(),uY=GI(),ya=Cv(),gY="Complement Sets are not supported for first char optimization";pn.failedOptimizationPrefixMsg=`Unable to use "first char" lexer optimizations: -`;function Fme(r,e){e===void 0&&(e=!1);try{var t=(0,uY.getRegExpAst)(r),i=jI(t.value,{},t.flags.ignoreCase);return i}catch(s){if(s.message===gY)e&&(0,as.PRINT_WARNING)(""+pn.failedOptimizationPrefixMsg+(" Unable to optimize: < "+r.toString()+` > +`),n("\r"),n(" "),n("\v"),n(" "),n("\xA0"),n("\u1680"),n("\u2000"),n("\u2001"),n("\u2002"),n("\u2003"),n("\u2004"),n("\u2005"),n("\u2006"),n("\u2007"),n("\u2008"),n("\u2009"),n("\u200A"),n("\u2028"),n("\u2029"),n("\u202F"),n("\u205F"),n("\u3000"),n("\uFEFF")];function h(){}return h.prototype.visitChildren=function(p){for(var C in p){var y=p[C];p.hasOwnProperty(C)&&(y.type!==void 0?this.visit(y):Array.isArray(y)&&y.forEach(function(B){this.visit(B)},this))}},h.prototype.visit=function(p){switch(p.type){case"Pattern":this.visitPattern(p);break;case"Flags":this.visitFlags(p);break;case"Disjunction":this.visitDisjunction(p);break;case"Alternative":this.visitAlternative(p);break;case"StartAnchor":this.visitStartAnchor(p);break;case"EndAnchor":this.visitEndAnchor(p);break;case"WordBoundary":this.visitWordBoundary(p);break;case"NonWordBoundary":this.visitNonWordBoundary(p);break;case"Lookahead":this.visitLookahead(p);break;case"NegativeLookahead":this.visitNegativeLookahead(p);break;case"Character":this.visitCharacter(p);break;case"Set":this.visitSet(p);break;case"Group":this.visitGroup(p);break;case"GroupBackReference":this.visitGroupBackReference(p);break;case"Quantifier":this.visitQuantifier(p);break}this.visitChildren(p)},h.prototype.visitPattern=function(p){},h.prototype.visitFlags=function(p){},h.prototype.visitDisjunction=function(p){},h.prototype.visitAlternative=function(p){},h.prototype.visitStartAnchor=function(p){},h.prototype.visitEndAnchor=function(p){},h.prototype.visitWordBoundary=function(p){},h.prototype.visitNonWordBoundary=function(p){},h.prototype.visitLookahead=function(p){},h.prototype.visitNegativeLookahead=function(p){},h.prototype.visitCharacter=function(p){},h.prototype.visitSet=function(p){},h.prototype.visitGroup=function(p){},h.prototype.visitGroupBackReference=function(p){},h.prototype.visitQuantifier=function(p){},{RegExpParser:r,BaseRegExpVisitor:h,VERSION:"0.5.0"}})});var ZI=w(Wg=>{"use strict";Object.defineProperty(Wg,"__esModule",{value:!0});Wg.clearRegExpParserCache=Wg.getRegExpAst=void 0;var hEe=VI(),XI={},pEe=new hEe.RegExpParser;function dEe(r){var e=r.toString();if(XI.hasOwnProperty(e))return XI[e];var t=pEe.pattern(e);return XI[e]=t,t}Wg.getRegExpAst=dEe;function CEe(){XI={}}Wg.clearRegExpParserCache=CEe});var UY=w(pn=>{"use strict";var mEe=pn&&pn.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(pn,"__esModule",{value:!0});pn.canMatchCharCode=pn.firstCharOptimizedIndices=pn.getOptimizedStartCodesIndices=pn.failedOptimizationPrefixMsg=void 0;var OY=VI(),cs=Gt(),MY=ZI(),Sa=Rv(),KY="Complement Sets are not supported for first char optimization";pn.failedOptimizationPrefixMsg=`Unable to use "first char" lexer optimizations: +`;function EEe(r,e){e===void 0&&(e=!1);try{var t=(0,MY.getRegExpAst)(r),i=$I(t.value,{},t.flags.ignoreCase);return i}catch(s){if(s.message===KY)e&&(0,cs.PRINT_WARNING)(""+pn.failedOptimizationPrefixMsg+(" Unable to optimize: < "+r.toString()+` > `)+` Complement Sets cannot be automatically optimized. This will disable the lexer's first char optimizations. See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{var n="";e&&(n=` This will disable the lexer's first char optimizations. - See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),(0,as.PRINT_ERROR)(pn.failedOptimizationPrefixMsg+` + See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),(0,cs.PRINT_ERROR)(pn.failedOptimizationPrefixMsg+` `+(" Failed parsing: < "+r.toString()+` > -`)+(" Using the regexp-to-ast library version: "+cY.VERSION+` -`)+" Please open an issue at: https://github.com/bd82/regexp-to-ast/issues"+n)}}return[]}pn.getOptimizedStartCodesIndices=Fme;function jI(r,e,t){switch(r.type){case"Disjunction":for(var i=0;i=ya.minOptimizationVal)for(var f=u.from>=ya.minOptimizationVal?u.from:ya.minOptimizationVal,h=u.to,p=(0,ya.charCodeToOptimizedIndex)(f),C=(0,ya.charCodeToOptimizedIndex)(h),y=p;y<=C;y++)e[y]=y}}});break;case"Group":jI(o.value,e,t);break;default:throw Error("Non Exhaustive Match")}var a=o.quantifier!==void 0&&o.quantifier.atLeast===0;if(o.type==="Group"&&dv(o)===!1||o.type!=="Group"&&a===!1)break}break;default:throw Error("non exhaustive match!")}return(0,as.values)(e)}pn.firstCharOptimizedIndices=jI;function YI(r,e,t){var i=(0,ya.charCodeToOptimizedIndex)(r);e[i]=i,t===!0&&Nme(r,e)}function Nme(r,e){var t=String.fromCharCode(r),i=t.toUpperCase();if(i!==t){var n=(0,ya.charCodeToOptimizedIndex)(i.charCodeAt(0));e[n]=n}else{var s=t.toLowerCase();if(s!==t){var n=(0,ya.charCodeToOptimizedIndex)(s.charCodeAt(0));e[n]=n}}}function lY(r,e){return(0,as.find)(r.value,function(t){if(typeof t=="number")return(0,as.contains)(e,t);var i=t;return(0,as.find)(e,function(n){return i.from<=n&&n<=i.to})!==void 0})}function dv(r){return r.quantifier&&r.quantifier.atLeast===0?!0:r.value?(0,as.isArray)(r.value)?(0,as.every)(r.value,dv):dv(r.value):!1}var Lme=function(r){Rme(e,r);function e(t){var i=r.call(this)||this;return i.targetCharCodes=t,i.found=!1,i}return e.prototype.visitChildren=function(t){if(this.found!==!0){switch(t.type){case"Lookahead":this.visitLookahead(t);return;case"NegativeLookahead":this.visitNegativeLookahead(t);return}r.prototype.visitChildren.call(this,t)}},e.prototype.visitCharacter=function(t){(0,as.contains)(this.targetCharCodes,t.value)&&(this.found=!0)},e.prototype.visitSet=function(t){t.complement?lY(t,this.targetCharCodes)===void 0&&(this.found=!0):lY(t,this.targetCharCodes)!==void 0&&(this.found=!0)},e}(cY.BaseRegExpVisitor);function Tme(r,e){if(e instanceof RegExp){var t=(0,uY.getRegExpAst)(e),i=new Lme(r);return i.visit(t),i.found}else return(0,as.find)(e,function(n){return(0,as.contains)(r,n.charCodeAt(0))})!==void 0}pn.canMatchCharCode=Tme});var Cv=w(Ve=>{"use strict";var hY=Ve&&Ve.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Ve,"__esModule",{value:!0});Ve.charCodeToOptimizedIndex=Ve.minOptimizationVal=Ve.buildLineBreakIssueMessage=Ve.LineTerminatorOptimizedTester=Ve.isShortPattern=Ve.isCustomPattern=Ve.cloneEmptyGroups=Ve.performWarningRuntimeChecks=Ve.performRuntimeChecks=Ve.addStickyFlag=Ve.addStartOfInput=Ve.findUnreachablePatterns=Ve.findModesThatDoNotExist=Ve.findInvalidGroupType=Ve.findDuplicatePatterns=Ve.findUnsupportedFlags=Ve.findStartOfInputAnchor=Ve.findEmptyMatchRegExps=Ve.findEndOfInputAnchor=Ve.findInvalidPatterns=Ve.findMissingPatterns=Ve.validatePatterns=Ve.analyzeTokenTypes=Ve.enableSticky=Ve.disableSticky=Ve.SUPPORT_STICKY=Ve.MODES=Ve.DEFAULT_MODE=void 0;var pY=UI(),ir=gd(),xe=Gt(),Hg=fY(),dY=GI(),So="PATTERN";Ve.DEFAULT_MODE="defaultMode";Ve.MODES="modes";Ve.SUPPORT_STICKY=typeof new RegExp("(?:)").sticky=="boolean";function Ome(){Ve.SUPPORT_STICKY=!1}Ve.disableSticky=Ome;function Mme(){Ve.SUPPORT_STICKY=!0}Ve.enableSticky=Mme;function Kme(r,e){e=(0,xe.defaults)(e,{useSticky:Ve.SUPPORT_STICKY,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",` -`],tracer:function(v,D){return D()}});var t=e.tracer;t("initCharCodeToOptimizedIndexMap",function(){Vme()});var i;t("Reject Lexer.NA",function(){i=(0,xe.reject)(r,function(v){return v[So]===ir.Lexer.NA})});var n=!1,s;t("Transform Patterns",function(){n=!1,s=(0,xe.map)(i,function(v){var D=v[So];if((0,xe.isRegExp)(D)){var L=D.source;return L.length===1&&L!=="^"&&L!=="$"&&L!=="."&&!D.ignoreCase?L:L.length===2&&L[0]==="\\"&&!(0,xe.contains)(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],L[1])?L[1]:e.useSticky?Iv(D):Ev(D)}else{if((0,xe.isFunction)(D))return n=!0,{exec:D};if((0,xe.has)(D,"exec"))return n=!0,D;if(typeof D=="string"){if(D.length===1)return D;var H=D.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),j=new RegExp(H);return e.useSticky?Iv(j):Ev(j)}else throw Error("non exhaustive match")}})});var o,a,l,c,u;t("misc mapping",function(){o=(0,xe.map)(i,function(v){return v.tokenTypeIdx}),a=(0,xe.map)(i,function(v){var D=v.GROUP;if(D!==ir.Lexer.SKIPPED){if((0,xe.isString)(D))return D;if((0,xe.isUndefined)(D))return!1;throw Error("non exhaustive match")}}),l=(0,xe.map)(i,function(v){var D=v.LONGER_ALT;if(D){var L=(0,xe.isArray)(D)?(0,xe.map)(D,function(H){return(0,xe.indexOf)(i,H)}):[(0,xe.indexOf)(i,D)];return L}}),c=(0,xe.map)(i,function(v){return v.PUSH_MODE}),u=(0,xe.map)(i,function(v){return(0,xe.has)(v,"POP_MODE")})});var g;t("Line Terminator Handling",function(){var v=DY(e.lineTerminatorCharacters);g=(0,xe.map)(i,function(D){return!1}),e.positionTracking!=="onlyOffset"&&(g=(0,xe.map)(i,function(D){if((0,xe.has)(D,"LINE_BREAKS"))return D.LINE_BREAKS;if(xY(D,v)===!1)return(0,Hg.canMatchCharCode)(v,D.PATTERN)}))});var f,h,p,C;t("Misc Mapping #2",function(){f=(0,xe.map)(i,wv),h=(0,xe.map)(s,vY),p=(0,xe.reduce)(i,function(v,D){var L=D.GROUP;return(0,xe.isString)(L)&&L!==ir.Lexer.SKIPPED&&(v[L]=[]),v},{}),C=(0,xe.map)(s,function(v,D){return{pattern:s[D],longerAlt:l[D],canLineTerminator:g[D],isCustom:f[D],short:h[D],group:a[D],push:c[D],pop:u[D],tokenTypeIdx:o[D],tokenType:i[D]}})});var y=!0,B=[];return e.safeMode||t("First Char Optimization",function(){B=(0,xe.reduce)(i,function(v,D,L){if(typeof D.PATTERN=="string"){var H=D.PATTERN.charCodeAt(0),j=yv(H);mv(v,j,C[L])}else if((0,xe.isArray)(D.START_CHARS_HINT)){var $;(0,xe.forEach)(D.START_CHARS_HINT,function(W){var Z=typeof W=="string"?W.charCodeAt(0):W,A=yv(Z);$!==A&&($=A,mv(v,A,C[L]))})}else if((0,xe.isRegExp)(D.PATTERN))if(D.PATTERN.unicode)y=!1,e.ensureOptimizations&&(0,xe.PRINT_ERROR)(""+Hg.failedOptimizationPrefixMsg+(" Unable to analyze < "+D.PATTERN.toString()+` > pattern. +`)+(" Using the regexp-to-ast library version: "+OY.VERSION+` +`)+" Please open an issue at: https://github.com/bd82/regexp-to-ast/issues"+n)}}return[]}pn.getOptimizedStartCodesIndices=EEe;function $I(r,e,t){switch(r.type){case"Disjunction":for(var i=0;i=Sa.minOptimizationVal)for(var f=u.from>=Sa.minOptimizationVal?u.from:Sa.minOptimizationVal,h=u.to,p=(0,Sa.charCodeToOptimizedIndex)(f),C=(0,Sa.charCodeToOptimizedIndex)(h),y=p;y<=C;y++)e[y]=y}}});break;case"Group":$I(o.value,e,t);break;default:throw Error("Non Exhaustive Match")}var a=o.quantifier!==void 0&&o.quantifier.atLeast===0;if(o.type==="Group"&&kv(o)===!1||o.type!=="Group"&&a===!1)break}break;default:throw Error("non exhaustive match!")}return(0,cs.values)(e)}pn.firstCharOptimizedIndices=$I;function _I(r,e,t){var i=(0,Sa.charCodeToOptimizedIndex)(r);e[i]=i,t===!0&&IEe(r,e)}function IEe(r,e){var t=String.fromCharCode(r),i=t.toUpperCase();if(i!==t){var n=(0,Sa.charCodeToOptimizedIndex)(i.charCodeAt(0));e[n]=n}else{var s=t.toLowerCase();if(s!==t){var n=(0,Sa.charCodeToOptimizedIndex)(s.charCodeAt(0));e[n]=n}}}function TY(r,e){return(0,cs.find)(r.value,function(t){if(typeof t=="number")return(0,cs.contains)(e,t);var i=t;return(0,cs.find)(e,function(n){return i.from<=n&&n<=i.to})!==void 0})}function kv(r){return r.quantifier&&r.quantifier.atLeast===0?!0:r.value?(0,cs.isArray)(r.value)?(0,cs.every)(r.value,kv):kv(r.value):!1}var yEe=function(r){mEe(e,r);function e(t){var i=r.call(this)||this;return i.targetCharCodes=t,i.found=!1,i}return e.prototype.visitChildren=function(t){if(this.found!==!0){switch(t.type){case"Lookahead":this.visitLookahead(t);return;case"NegativeLookahead":this.visitNegativeLookahead(t);return}r.prototype.visitChildren.call(this,t)}},e.prototype.visitCharacter=function(t){(0,cs.contains)(this.targetCharCodes,t.value)&&(this.found=!0)},e.prototype.visitSet=function(t){t.complement?TY(t,this.targetCharCodes)===void 0&&(this.found=!0):TY(t,this.targetCharCodes)!==void 0&&(this.found=!0)},e}(OY.BaseRegExpVisitor);function wEe(r,e){if(e instanceof RegExp){var t=(0,MY.getRegExpAst)(e),i=new yEe(r);return i.visit(t),i.found}else return(0,cs.find)(e,function(n){return(0,cs.contains)(r,n.charCodeAt(0))})!==void 0}pn.canMatchCharCode=wEe});var Rv=w(Ve=>{"use strict";var HY=Ve&&Ve.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Ve,"__esModule",{value:!0});Ve.charCodeToOptimizedIndex=Ve.minOptimizationVal=Ve.buildLineBreakIssueMessage=Ve.LineTerminatorOptimizedTester=Ve.isShortPattern=Ve.isCustomPattern=Ve.cloneEmptyGroups=Ve.performWarningRuntimeChecks=Ve.performRuntimeChecks=Ve.addStickyFlag=Ve.addStartOfInput=Ve.findUnreachablePatterns=Ve.findModesThatDoNotExist=Ve.findInvalidGroupType=Ve.findDuplicatePatterns=Ve.findUnsupportedFlags=Ve.findStartOfInputAnchor=Ve.findEmptyMatchRegExps=Ve.findEndOfInputAnchor=Ve.findInvalidPatterns=Ve.findMissingPatterns=Ve.validatePatterns=Ve.analyzeTokenTypes=Ve.enableSticky=Ve.disableSticky=Ve.SUPPORT_STICKY=Ve.MODES=Ve.DEFAULT_MODE=void 0;var GY=VI(),ir=yd(),xe=Gt(),zg=UY(),YY=ZI(),Do="PATTERN";Ve.DEFAULT_MODE="defaultMode";Ve.MODES="modes";Ve.SUPPORT_STICKY=typeof new RegExp("(?:)").sticky=="boolean";function BEe(){Ve.SUPPORT_STICKY=!1}Ve.disableSticky=BEe;function QEe(){Ve.SUPPORT_STICKY=!0}Ve.enableSticky=QEe;function bEe(r,e){e=(0,xe.defaults)(e,{useSticky:Ve.SUPPORT_STICKY,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",` +`],tracer:function(v,D){return D()}});var t=e.tracer;t("initCharCodeToOptimizedIndexMap",function(){LEe()});var i;t("Reject Lexer.NA",function(){i=(0,xe.reject)(r,function(v){return v[Do]===ir.Lexer.NA})});var n=!1,s;t("Transform Patterns",function(){n=!1,s=(0,xe.map)(i,function(v){var D=v[Do];if((0,xe.isRegExp)(D)){var L=D.source;return L.length===1&&L!=="^"&&L!=="$"&&L!=="."&&!D.ignoreCase?L:L.length===2&&L[0]==="\\"&&!(0,xe.contains)(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],L[1])?L[1]:e.useSticky?Lv(D):Nv(D)}else{if((0,xe.isFunction)(D))return n=!0,{exec:D};if((0,xe.has)(D,"exec"))return n=!0,D;if(typeof D=="string"){if(D.length===1)return D;var H=D.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),j=new RegExp(H);return e.useSticky?Lv(j):Nv(j)}else throw Error("non exhaustive match")}})});var o,a,l,c,u;t("misc mapping",function(){o=(0,xe.map)(i,function(v){return v.tokenTypeIdx}),a=(0,xe.map)(i,function(v){var D=v.GROUP;if(D!==ir.Lexer.SKIPPED){if((0,xe.isString)(D))return D;if((0,xe.isUndefined)(D))return!1;throw Error("non exhaustive match")}}),l=(0,xe.map)(i,function(v){var D=v.LONGER_ALT;if(D){var L=(0,xe.isArray)(D)?(0,xe.map)(D,function(H){return(0,xe.indexOf)(i,H)}):[(0,xe.indexOf)(i,D)];return L}}),c=(0,xe.map)(i,function(v){return v.PUSH_MODE}),u=(0,xe.map)(i,function(v){return(0,xe.has)(v,"POP_MODE")})});var g;t("Line Terminator Handling",function(){var v=ij(e.lineTerminatorCharacters);g=(0,xe.map)(i,function(D){return!1}),e.positionTracking!=="onlyOffset"&&(g=(0,xe.map)(i,function(D){if((0,xe.has)(D,"LINE_BREAKS"))return D.LINE_BREAKS;if(tj(D,v)===!1)return(0,zg.canMatchCharCode)(v,D.PATTERN)}))});var f,h,p,C;t("Misc Mapping #2",function(){f=(0,xe.map)(i,Ov),h=(0,xe.map)(s,ej),p=(0,xe.reduce)(i,function(v,D){var L=D.GROUP;return(0,xe.isString)(L)&&L!==ir.Lexer.SKIPPED&&(v[L]=[]),v},{}),C=(0,xe.map)(s,function(v,D){return{pattern:s[D],longerAlt:l[D],canLineTerminator:g[D],isCustom:f[D],short:h[D],group:a[D],push:c[D],pop:u[D],tokenTypeIdx:o[D],tokenType:i[D]}})});var y=!0,B=[];return e.safeMode||t("First Char Optimization",function(){B=(0,xe.reduce)(i,function(v,D,L){if(typeof D.PATTERN=="string"){var H=D.PATTERN.charCodeAt(0),j=Tv(H);Fv(v,j,C[L])}else if((0,xe.isArray)(D.START_CHARS_HINT)){var $;(0,xe.forEach)(D.START_CHARS_HINT,function(W){var _=typeof W=="string"?W.charCodeAt(0):W,A=Tv(_);$!==A&&($=A,Fv(v,A,C[L]))})}else if((0,xe.isRegExp)(D.PATTERN))if(D.PATTERN.unicode)y=!1,e.ensureOptimizations&&(0,xe.PRINT_ERROR)(""+zg.failedOptimizationPrefixMsg+(" Unable to analyze < "+D.PATTERN.toString()+` > pattern. `)+` The regexp unicode flag is not currently supported by the regexp-to-ast library. This will disable the lexer's first char optimizations. - For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{var V=(0,Hg.getOptimizedStartCodesIndices)(D.PATTERN,e.ensureOptimizations);(0,xe.isEmpty)(V)&&(y=!1),(0,xe.forEach)(V,function(W){mv(v,W,C[L])})}else e.ensureOptimizations&&(0,xe.PRINT_ERROR)(""+Hg.failedOptimizationPrefixMsg+(" TokenType: <"+D.name+`> is using a custom token pattern without providing parameter. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{var V=(0,zg.getOptimizedStartCodesIndices)(D.PATTERN,e.ensureOptimizations);(0,xe.isEmpty)(V)&&(y=!1),(0,xe.forEach)(V,function(W){Fv(v,W,C[L])})}else e.ensureOptimizations&&(0,xe.PRINT_ERROR)(""+zg.failedOptimizationPrefixMsg+(" TokenType: <"+D.name+`> is using a custom token pattern without providing parameter. `)+` This will disable the lexer's first char optimizations. - For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),y=!1;return v},[])}),t("ArrayPacking",function(){B=(0,xe.packArray)(B)}),{emptyGroups:p,patternIdxToConfig:C,charCodeToPatternIdxToConfig:B,hasCustom:n,canBeOptimized:y}}Ve.analyzeTokenTypes=Kme;function Ume(r,e){var t=[],i=CY(r);t=t.concat(i.errors);var n=mY(i.valid),s=n.valid;return t=t.concat(n.errors),t=t.concat(Hme(s)),t=t.concat(QY(s)),t=t.concat(bY(s,e)),t=t.concat(SY(s)),t}Ve.validatePatterns=Ume;function Hme(r){var e=[],t=(0,xe.filter)(r,function(i){return(0,xe.isRegExp)(i[So])});return e=e.concat(EY(t)),e=e.concat(yY(t)),e=e.concat(wY(t)),e=e.concat(BY(t)),e=e.concat(IY(t)),e}function CY(r){var e=(0,xe.filter)(r,function(n){return!(0,xe.has)(n,So)}),t=(0,xe.map)(e,function(n){return{message:"Token Type: ->"+n.name+"<- missing static 'PATTERN' property",type:ir.LexerDefinitionErrorType.MISSING_PATTERN,tokenTypes:[n]}}),i=(0,xe.difference)(r,e);return{errors:t,valid:i}}Ve.findMissingPatterns=CY;function mY(r){var e=(0,xe.filter)(r,function(n){var s=n[So];return!(0,xe.isRegExp)(s)&&!(0,xe.isFunction)(s)&&!(0,xe.has)(s,"exec")&&!(0,xe.isString)(s)}),t=(0,xe.map)(e,function(n){return{message:"Token Type: ->"+n.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:ir.LexerDefinitionErrorType.INVALID_PATTERN,tokenTypes:[n]}}),i=(0,xe.difference)(r,e);return{errors:t,valid:i}}Ve.findInvalidPatterns=mY;var Gme=/[^\\][\$]/;function EY(r){var e=function(n){hY(s,n);function s(){var o=n!==null&&n.apply(this,arguments)||this;return o.found=!1,o}return s.prototype.visitEndAnchor=function(o){this.found=!0},s}(pY.BaseRegExpVisitor),t=(0,xe.filter)(r,function(n){var s=n[So];try{var o=(0,dY.getRegExpAst)(s),a=new e;return a.visit(o),a.found}catch{return Gme.test(s.source)}}),i=(0,xe.map)(t,function(n){return{message:`Unexpected RegExp Anchor Error: + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),y=!1;return v},[])}),t("ArrayPacking",function(){B=(0,xe.packArray)(B)}),{emptyGroups:p,patternIdxToConfig:C,charCodeToPatternIdxToConfig:B,hasCustom:n,canBeOptimized:y}}Ve.analyzeTokenTypes=bEe;function SEe(r,e){var t=[],i=jY(r);t=t.concat(i.errors);var n=qY(i.valid),s=n.valid;return t=t.concat(n.errors),t=t.concat(vEe(s)),t=t.concat(ZY(s)),t=t.concat(_Y(s,e)),t=t.concat($Y(s)),t}Ve.validatePatterns=SEe;function vEe(r){var e=[],t=(0,xe.filter)(r,function(i){return(0,xe.isRegExp)(i[Do])});return e=e.concat(JY(t)),e=e.concat(zY(t)),e=e.concat(VY(t)),e=e.concat(XY(t)),e=e.concat(WY(t)),e}function jY(r){var e=(0,xe.filter)(r,function(n){return!(0,xe.has)(n,Do)}),t=(0,xe.map)(e,function(n){return{message:"Token Type: ->"+n.name+"<- missing static 'PATTERN' property",type:ir.LexerDefinitionErrorType.MISSING_PATTERN,tokenTypes:[n]}}),i=(0,xe.difference)(r,e);return{errors:t,valid:i}}Ve.findMissingPatterns=jY;function qY(r){var e=(0,xe.filter)(r,function(n){var s=n[Do];return!(0,xe.isRegExp)(s)&&!(0,xe.isFunction)(s)&&!(0,xe.has)(s,"exec")&&!(0,xe.isString)(s)}),t=(0,xe.map)(e,function(n){return{message:"Token Type: ->"+n.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:ir.LexerDefinitionErrorType.INVALID_PATTERN,tokenTypes:[n]}}),i=(0,xe.difference)(r,e);return{errors:t,valid:i}}Ve.findInvalidPatterns=qY;var xEe=/[^\\][\$]/;function JY(r){var e=function(n){HY(s,n);function s(){var o=n!==null&&n.apply(this,arguments)||this;return o.found=!1,o}return s.prototype.visitEndAnchor=function(o){this.found=!0},s}(GY.BaseRegExpVisitor),t=(0,xe.filter)(r,function(n){var s=n[Do];try{var o=(0,YY.getRegExpAst)(s),a=new e;return a.visit(o),a.found}catch{return xEe.test(s.source)}}),i=(0,xe.map)(t,function(n){return{message:`Unexpected RegExp Anchor Error: Token Type: ->`+n.name+`<- static 'PATTERN' cannot contain end of input anchor '$' - See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:ir.LexerDefinitionErrorType.EOI_ANCHOR_FOUND,tokenTypes:[n]}});return i}Ve.findEndOfInputAnchor=EY;function IY(r){var e=(0,xe.filter)(r,function(i){var n=i[So];return n.test("")}),t=(0,xe.map)(e,function(i){return{message:"Token Type: ->"+i.name+"<- static 'PATTERN' must not match an empty string",type:ir.LexerDefinitionErrorType.EMPTY_MATCH_PATTERN,tokenTypes:[i]}});return t}Ve.findEmptyMatchRegExps=IY;var Yme=/[^\\[][\^]|^\^/;function yY(r){var e=function(n){hY(s,n);function s(){var o=n!==null&&n.apply(this,arguments)||this;return o.found=!1,o}return s.prototype.visitStartAnchor=function(o){this.found=!0},s}(pY.BaseRegExpVisitor),t=(0,xe.filter)(r,function(n){var s=n[So];try{var o=(0,dY.getRegExpAst)(s),a=new e;return a.visit(o),a.found}catch{return Yme.test(s.source)}}),i=(0,xe.map)(t,function(n){return{message:`Unexpected RegExp Anchor Error: + See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:ir.LexerDefinitionErrorType.EOI_ANCHOR_FOUND,tokenTypes:[n]}});return i}Ve.findEndOfInputAnchor=JY;function WY(r){var e=(0,xe.filter)(r,function(i){var n=i[Do];return n.test("")}),t=(0,xe.map)(e,function(i){return{message:"Token Type: ->"+i.name+"<- static 'PATTERN' must not match an empty string",type:ir.LexerDefinitionErrorType.EMPTY_MATCH_PATTERN,tokenTypes:[i]}});return t}Ve.findEmptyMatchRegExps=WY;var PEe=/[^\\[][\^]|^\^/;function zY(r){var e=function(n){HY(s,n);function s(){var o=n!==null&&n.apply(this,arguments)||this;return o.found=!1,o}return s.prototype.visitStartAnchor=function(o){this.found=!0},s}(GY.BaseRegExpVisitor),t=(0,xe.filter)(r,function(n){var s=n[Do];try{var o=(0,YY.getRegExpAst)(s),a=new e;return a.visit(o),a.found}catch{return PEe.test(s.source)}}),i=(0,xe.map)(t,function(n){return{message:`Unexpected RegExp Anchor Error: Token Type: ->`+n.name+`<- static 'PATTERN' cannot contain start of input anchor '^' - See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:ir.LexerDefinitionErrorType.SOI_ANCHOR_FOUND,tokenTypes:[n]}});return i}Ve.findStartOfInputAnchor=yY;function wY(r){var e=(0,xe.filter)(r,function(i){var n=i[So];return n instanceof RegExp&&(n.multiline||n.global)}),t=(0,xe.map)(e,function(i){return{message:"Token Type: ->"+i.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:ir.LexerDefinitionErrorType.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[i]}});return t}Ve.findUnsupportedFlags=wY;function BY(r){var e=[],t=(0,xe.map)(r,function(s){return(0,xe.reduce)(r,function(o,a){return s.PATTERN.source===a.PATTERN.source&&!(0,xe.contains)(e,a)&&a.PATTERN!==ir.Lexer.NA&&(e.push(a),o.push(a)),o},[])});t=(0,xe.compact)(t);var i=(0,xe.filter)(t,function(s){return s.length>1}),n=(0,xe.map)(i,function(s){var o=(0,xe.map)(s,function(l){return l.name}),a=(0,xe.first)(s).PATTERN;return{message:"The same RegExp pattern ->"+a+"<-"+("has been used in all of the following Token Types: "+o.join(", ")+" <-"),type:ir.LexerDefinitionErrorType.DUPLICATE_PATTERNS_FOUND,tokenTypes:s}});return n}Ve.findDuplicatePatterns=BY;function QY(r){var e=(0,xe.filter)(r,function(i){if(!(0,xe.has)(i,"GROUP"))return!1;var n=i.GROUP;return n!==ir.Lexer.SKIPPED&&n!==ir.Lexer.NA&&!(0,xe.isString)(n)}),t=(0,xe.map)(e,function(i){return{message:"Token Type: ->"+i.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:ir.LexerDefinitionErrorType.INVALID_GROUP_TYPE_FOUND,tokenTypes:[i]}});return t}Ve.findInvalidGroupType=QY;function bY(r,e){var t=(0,xe.filter)(r,function(n){return n.PUSH_MODE!==void 0&&!(0,xe.contains)(e,n.PUSH_MODE)}),i=(0,xe.map)(t,function(n){var s="Token Type: ->"+n.name+"<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->"+n.PUSH_MODE+"<-which does not exist";return{message:s,type:ir.LexerDefinitionErrorType.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[n]}});return i}Ve.findModesThatDoNotExist=bY;function SY(r){var e=[],t=(0,xe.reduce)(r,function(i,n,s){var o=n.PATTERN;return o===ir.Lexer.NA||((0,xe.isString)(o)?i.push({str:o,idx:s,tokenType:n}):(0,xe.isRegExp)(o)&&qme(o)&&i.push({str:o.source,idx:s,tokenType:n})),i},[]);return(0,xe.forEach)(r,function(i,n){(0,xe.forEach)(t,function(s){var o=s.str,a=s.idx,l=s.tokenType;if(n"+i.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:ir.LexerDefinitionErrorType.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[i]}});return t}Ve.findUnsupportedFlags=VY;function XY(r){var e=[],t=(0,xe.map)(r,function(s){return(0,xe.reduce)(r,function(o,a){return s.PATTERN.source===a.PATTERN.source&&!(0,xe.contains)(e,a)&&a.PATTERN!==ir.Lexer.NA&&(e.push(a),o.push(a)),o},[])});t=(0,xe.compact)(t);var i=(0,xe.filter)(t,function(s){return s.length>1}),n=(0,xe.map)(i,function(s){var o=(0,xe.map)(s,function(l){return l.name}),a=(0,xe.first)(s).PATTERN;return{message:"The same RegExp pattern ->"+a+"<-"+("has been used in all of the following Token Types: "+o.join(", ")+" <-"),type:ir.LexerDefinitionErrorType.DUPLICATE_PATTERNS_FOUND,tokenTypes:s}});return n}Ve.findDuplicatePatterns=XY;function ZY(r){var e=(0,xe.filter)(r,function(i){if(!(0,xe.has)(i,"GROUP"))return!1;var n=i.GROUP;return n!==ir.Lexer.SKIPPED&&n!==ir.Lexer.NA&&!(0,xe.isString)(n)}),t=(0,xe.map)(e,function(i){return{message:"Token Type: ->"+i.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:ir.LexerDefinitionErrorType.INVALID_GROUP_TYPE_FOUND,tokenTypes:[i]}});return t}Ve.findInvalidGroupType=ZY;function _Y(r,e){var t=(0,xe.filter)(r,function(n){return n.PUSH_MODE!==void 0&&!(0,xe.contains)(e,n.PUSH_MODE)}),i=(0,xe.map)(t,function(n){var s="Token Type: ->"+n.name+"<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->"+n.PUSH_MODE+"<-which does not exist";return{message:s,type:ir.LexerDefinitionErrorType.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[n]}});return i}Ve.findModesThatDoNotExist=_Y;function $Y(r){var e=[],t=(0,xe.reduce)(r,function(i,n,s){var o=n.PATTERN;return o===ir.Lexer.NA||((0,xe.isString)(o)?i.push({str:o,idx:s,tokenType:n}):(0,xe.isRegExp)(o)&&kEe(o)&&i.push({str:o.source,idx:s,tokenType:n})),i},[]);return(0,xe.forEach)(r,function(i,n){(0,xe.forEach)(t,function(s){var o=s.str,a=s.idx,l=s.tokenType;if(n"+i.name+"<-")+`in the lexer's definition. -See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:c,type:ir.LexerDefinitionErrorType.UNREACHABLE_PATTERN,tokenTypes:[i,l]})}})}),e}Ve.findUnreachablePatterns=SY;function jme(r,e){if((0,xe.isRegExp)(e)){var t=e.exec(r);return t!==null&&t.index===0}else{if((0,xe.isFunction)(e))return e(r,0,[],{});if((0,xe.has)(e,"exec"))return e.exec(r,0,[],{});if(typeof e=="string")return e===r;throw Error("non exhaustive match")}}function qme(r){var e=[".","\\","[","]","|","^","$","(",")","?","*","+","{"];return(0,xe.find)(e,function(t){return r.source.indexOf(t)!==-1})===void 0}function Ev(r){var e=r.ignoreCase?"i":"";return new RegExp("^(?:"+r.source+")",e)}Ve.addStartOfInput=Ev;function Iv(r){var e=r.ignoreCase?"iy":"y";return new RegExp(""+r.source,e)}Ve.addStickyFlag=Iv;function Jme(r,e,t){var i=[];return(0,xe.has)(r,Ve.DEFAULT_MODE)||i.push({message:"A MultiMode Lexer cannot be initialized without a <"+Ve.DEFAULT_MODE+`> property in its definition +See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:c,type:ir.LexerDefinitionErrorType.UNREACHABLE_PATTERN,tokenTypes:[i,l]})}})}),e}Ve.findUnreachablePatterns=$Y;function DEe(r,e){if((0,xe.isRegExp)(e)){var t=e.exec(r);return t!==null&&t.index===0}else{if((0,xe.isFunction)(e))return e(r,0,[],{});if((0,xe.has)(e,"exec"))return e.exec(r,0,[],{});if(typeof e=="string")return e===r;throw Error("non exhaustive match")}}function kEe(r){var e=[".","\\","[","]","|","^","$","(",")","?","*","+","{"];return(0,xe.find)(e,function(t){return r.source.indexOf(t)!==-1})===void 0}function Nv(r){var e=r.ignoreCase?"i":"";return new RegExp("^(?:"+r.source+")",e)}Ve.addStartOfInput=Nv;function Lv(r){var e=r.ignoreCase?"iy":"y";return new RegExp(""+r.source,e)}Ve.addStickyFlag=Lv;function REe(r,e,t){var i=[];return(0,xe.has)(r,Ve.DEFAULT_MODE)||i.push({message:"A MultiMode Lexer cannot be initialized without a <"+Ve.DEFAULT_MODE+`> property in its definition `,type:ir.LexerDefinitionErrorType.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),(0,xe.has)(r,Ve.MODES)||i.push({message:"A MultiMode Lexer cannot be initialized without a <"+Ve.MODES+`> property in its definition `,type:ir.LexerDefinitionErrorType.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),(0,xe.has)(r,Ve.MODES)&&(0,xe.has)(r,Ve.DEFAULT_MODE)&&!(0,xe.has)(r.modes,r.defaultMode)&&i.push({message:"A MultiMode Lexer cannot be initialized with a "+Ve.DEFAULT_MODE+": <"+r.defaultMode+`>which does not exist `,type:ir.LexerDefinitionErrorType.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),(0,xe.has)(r,Ve.MODES)&&(0,xe.forEach)(r.modes,function(n,s){(0,xe.forEach)(n,function(o,a){(0,xe.isUndefined)(o)&&i.push({message:"A Lexer cannot be initialized using an undefined Token Type. Mode:"+("<"+s+"> at index: <"+a+`> -`),type:ir.LexerDefinitionErrorType.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED})})}),i}Ve.performRuntimeChecks=Jme;function Wme(r,e,t){var i=[],n=!1,s=(0,xe.compact)((0,xe.flatten)((0,xe.mapValues)(r.modes,function(l){return l}))),o=(0,xe.reject)(s,function(l){return l[So]===ir.Lexer.NA}),a=DY(t);return e&&(0,xe.forEach)(o,function(l){var c=xY(l,a);if(c!==!1){var u=PY(l,c),g={message:u,type:c.issue,tokenType:l};i.push(g)}else(0,xe.has)(l,"LINE_BREAKS")?l.LINE_BREAKS===!0&&(n=!0):(0,Hg.canMatchCharCode)(a,l.PATTERN)&&(n=!0)}),e&&!n&&i.push({message:`Warning: No LINE_BREAKS Found. +`),type:ir.LexerDefinitionErrorType.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED})})}),i}Ve.performRuntimeChecks=REe;function FEe(r,e,t){var i=[],n=!1,s=(0,xe.compact)((0,xe.flatten)((0,xe.mapValues)(r.modes,function(l){return l}))),o=(0,xe.reject)(s,function(l){return l[Do]===ir.Lexer.NA}),a=ij(t);return e&&(0,xe.forEach)(o,function(l){var c=tj(l,a);if(c!==!1){var u=rj(l,c),g={message:u,type:c.issue,tokenType:l};i.push(g)}else(0,xe.has)(l,"LINE_BREAKS")?l.LINE_BREAKS===!0&&(n=!0):(0,zg.canMatchCharCode)(a,l.PATTERN)&&(n=!0)}),e&&!n&&i.push({message:`Warning: No LINE_BREAKS Found. This Lexer has been defined to track line and column information, But none of the Token Types can be identified as matching a line terminator. See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS - for details.`,type:ir.LexerDefinitionErrorType.NO_LINE_BREAKS_FLAGS}),i}Ve.performWarningRuntimeChecks=Wme;function zme(r){var e={},t=(0,xe.keys)(r);return(0,xe.forEach)(t,function(i){var n=r[i];if((0,xe.isArray)(n))e[i]=[];else throw Error("non exhaustive match")}),e}Ve.cloneEmptyGroups=zme;function wv(r){var e=r.PATTERN;if((0,xe.isRegExp)(e))return!1;if((0,xe.isFunction)(e))return!0;if((0,xe.has)(e,"exec"))return!0;if((0,xe.isString)(e))return!1;throw Error("non exhaustive match")}Ve.isCustomPattern=wv;function vY(r){return(0,xe.isString)(r)&&r.length===1?r.charCodeAt(0):!1}Ve.isShortPattern=vY;Ve.LineTerminatorOptimizedTester={test:function(r){for(var e=r.length,t=this.lastIndex;t Token Type `)+(" Root cause: "+e.errMsg+`. `)+" For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR";if(e.issue===ir.LexerDefinitionErrorType.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the option. `+(" The problem is in the <"+r.name+`> Token Type -`)+" For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK";throw Error("non exhaustive match")}Ve.buildLineBreakIssueMessage=PY;function DY(r){var e=(0,xe.map)(r,function(t){return(0,xe.isString)(t)&&t.length>0?t.charCodeAt(0):t});return e}function mv(r,e,t){r[e]===void 0?r[e]=[t]:r[e].push(t)}Ve.minOptimizationVal=256;var qI=[];function yv(r){return r255?255+~~(r/255):r}}});var Gg=w(Nt=>{"use strict";Object.defineProperty(Nt,"__esModule",{value:!0});Nt.isTokenType=Nt.hasExtendingTokensTypesMapProperty=Nt.hasExtendingTokensTypesProperty=Nt.hasCategoriesProperty=Nt.hasShortKeyProperty=Nt.singleAssignCategoriesToksMap=Nt.assignCategoriesMapProp=Nt.assignCategoriesTokensProp=Nt.assignTokenDefaultProps=Nt.expandCategories=Nt.augmentTokenTypes=Nt.tokenIdxToClass=Nt.tokenShortNameIdx=Nt.tokenStructuredMatcherNoCategories=Nt.tokenStructuredMatcher=void 0;var _r=Gt();function Xme(r,e){var t=r.tokenTypeIdx;return t===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[t]===!0}Nt.tokenStructuredMatcher=Xme;function _me(r,e){return r.tokenTypeIdx===e.tokenTypeIdx}Nt.tokenStructuredMatcherNoCategories=_me;Nt.tokenShortNameIdx=1;Nt.tokenIdxToClass={};function Zme(r){var e=kY(r);RY(e),NY(e),FY(e),(0,_r.forEach)(e,function(t){t.isParent=t.categoryMatches.length>0})}Nt.augmentTokenTypes=Zme;function kY(r){for(var e=(0,_r.cloneArr)(r),t=r,i=!0;i;){t=(0,_r.compact)((0,_r.flatten)((0,_r.map)(t,function(s){return s.CATEGORIES})));var n=(0,_r.difference)(t,e);e=e.concat(n),(0,_r.isEmpty)(n)?i=!1:t=n}return e}Nt.expandCategories=kY;function RY(r){(0,_r.forEach)(r,function(e){LY(e)||(Nt.tokenIdxToClass[Nt.tokenShortNameIdx]=e,e.tokenTypeIdx=Nt.tokenShortNameIdx++),Bv(e)&&!(0,_r.isArray)(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),Bv(e)||(e.CATEGORIES=[]),TY(e)||(e.categoryMatches=[]),OY(e)||(e.categoryMatchesMap={})})}Nt.assignTokenDefaultProps=RY;function FY(r){(0,_r.forEach)(r,function(e){e.categoryMatches=[],(0,_r.forEach)(e.categoryMatchesMap,function(t,i){e.categoryMatches.push(Nt.tokenIdxToClass[i].tokenTypeIdx)})})}Nt.assignCategoriesTokensProp=FY;function NY(r){(0,_r.forEach)(r,function(e){Qv([],e)})}Nt.assignCategoriesMapProp=NY;function Qv(r,e){(0,_r.forEach)(r,function(t){e.categoryMatchesMap[t.tokenTypeIdx]=!0}),(0,_r.forEach)(e.CATEGORIES,function(t){var i=r.concat(e);(0,_r.contains)(i,t)||Qv(i,t)})}Nt.singleAssignCategoriesToksMap=Qv;function LY(r){return(0,_r.has)(r,"tokenTypeIdx")}Nt.hasShortKeyProperty=LY;function Bv(r){return(0,_r.has)(r,"CATEGORIES")}Nt.hasCategoriesProperty=Bv;function TY(r){return(0,_r.has)(r,"categoryMatches")}Nt.hasExtendingTokensTypesProperty=TY;function OY(r){return(0,_r.has)(r,"categoryMatchesMap")}Nt.hasExtendingTokensTypesMapProperty=OY;function $me(r){return(0,_r.has)(r,"tokenTypeIdx")}Nt.isTokenType=$me});var bv=w(JI=>{"use strict";Object.defineProperty(JI,"__esModule",{value:!0});JI.defaultLexerErrorProvider=void 0;JI.defaultLexerErrorProvider={buildUnableToPopLexerModeMessage:function(r){return"Unable to pop Lexer Mode after encountering Token ->"+r.image+"<- The Mode Stack is empty"},buildUnexpectedCharactersMessage:function(r,e,t,i,n){return"unexpected character: ->"+r.charAt(e)+"<- at offset: "+e+","+(" skipped "+t+" characters.")}}});var gd=w(nc=>{"use strict";Object.defineProperty(nc,"__esModule",{value:!0});nc.Lexer=nc.LexerDefinitionErrorType=void 0;var zs=Cv(),nr=Gt(),eEe=Gg(),tEe=bv(),rEe=GI(),iEe;(function(r){r[r.MISSING_PATTERN=0]="MISSING_PATTERN",r[r.INVALID_PATTERN=1]="INVALID_PATTERN",r[r.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",r[r.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",r[r.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",r[r.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",r[r.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",r[r.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",r[r.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",r[r.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",r[r.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",r[r.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",r[r.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",r[r.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",r[r.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",r[r.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",r[r.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK"})(iEe=nc.LexerDefinitionErrorType||(nc.LexerDefinitionErrorType={}));var fd={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[` -`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:tEe.defaultLexerErrorProvider,traceInitPerf:!1,skipValidations:!1};Object.freeze(fd);var nEe=function(){function r(e,t){var i=this;if(t===void 0&&(t=fd),this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.config=void 0,this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},typeof t=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object. -a boolean 2nd argument is no longer supported`);this.config=(0,nr.merge)(fd,t);var n=this.config.traceInitPerf;n===!0?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):typeof n=="number"&&(this.traceInitMaxIdent=n,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",function(){var s,o=!0;i.TRACE_INIT("Lexer Config handling",function(){if(i.config.lineTerminatorsPattern===fd.lineTerminatorsPattern)i.config.lineTerminatorsPattern=zs.LineTerminatorOptimizedTester;else if(i.config.lineTerminatorCharacters===fd.lineTerminatorCharacters)throw Error(`Error: Missing property on the Lexer config. - For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(t.safeMode&&t.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');i.trackStartLines=/full|onlyStart/i.test(i.config.positionTracking),i.trackEndLines=/full/i.test(i.config.positionTracking),(0,nr.isArray)(e)?(s={modes:{}},s.modes[zs.DEFAULT_MODE]=(0,nr.cloneArr)(e),s[zs.DEFAULT_MODE]=zs.DEFAULT_MODE):(o=!1,s=(0,nr.cloneObj)(e))}),i.config.skipValidations===!1&&(i.TRACE_INIT("performRuntimeChecks",function(){i.lexerDefinitionErrors=i.lexerDefinitionErrors.concat((0,zs.performRuntimeChecks)(s,i.trackStartLines,i.config.lineTerminatorCharacters))}),i.TRACE_INIT("performWarningRuntimeChecks",function(){i.lexerDefinitionWarning=i.lexerDefinitionWarning.concat((0,zs.performWarningRuntimeChecks)(s,i.trackStartLines,i.config.lineTerminatorCharacters))})),s.modes=s.modes?s.modes:{},(0,nr.forEach)(s.modes,function(u,g){s.modes[g]=(0,nr.reject)(u,function(f){return(0,nr.isUndefined)(f)})});var a=(0,nr.keys)(s.modes);if((0,nr.forEach)(s.modes,function(u,g){i.TRACE_INIT("Mode: <"+g+"> processing",function(){if(i.modes.push(g),i.config.skipValidations===!1&&i.TRACE_INIT("validatePatterns",function(){i.lexerDefinitionErrors=i.lexerDefinitionErrors.concat((0,zs.validatePatterns)(u,a))}),(0,nr.isEmpty)(i.lexerDefinitionErrors)){(0,eEe.augmentTokenTypes)(u);var f;i.TRACE_INIT("analyzeTokenTypes",function(){f=(0,zs.analyzeTokenTypes)(u,{lineTerminatorCharacters:i.config.lineTerminatorCharacters,positionTracking:t.positionTracking,ensureOptimizations:t.ensureOptimizations,safeMode:t.safeMode,tracer:i.TRACE_INIT.bind(i)})}),i.patternIdxToConfig[g]=f.patternIdxToConfig,i.charCodeToPatternIdxToConfig[g]=f.charCodeToPatternIdxToConfig,i.emptyGroups=(0,nr.merge)(i.emptyGroups,f.emptyGroups),i.hasCustom=f.hasCustom||i.hasCustom,i.canModeBeOptimized[g]=f.canBeOptimized}})}),i.defaultMode=s.defaultMode,!(0,nr.isEmpty)(i.lexerDefinitionErrors)&&!i.config.deferDefinitionErrorsHandling){var l=(0,nr.map)(i.lexerDefinitionErrors,function(u){return u.message}),c=l.join(`----------------------- +`)+" For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK";throw Error("non exhaustive match")}Ve.buildLineBreakIssueMessage=rj;function ij(r){var e=(0,xe.map)(r,function(t){return(0,xe.isString)(t)&&t.length>0?t.charCodeAt(0):t});return e}function Fv(r,e,t){r[e]===void 0?r[e]=[t]:r[e].push(t)}Ve.minOptimizationVal=256;var ey=[];function Tv(r){return r255?255+~~(r/255):r}}});var Vg=w(Nt=>{"use strict";Object.defineProperty(Nt,"__esModule",{value:!0});Nt.isTokenType=Nt.hasExtendingTokensTypesMapProperty=Nt.hasExtendingTokensTypesProperty=Nt.hasCategoriesProperty=Nt.hasShortKeyProperty=Nt.singleAssignCategoriesToksMap=Nt.assignCategoriesMapProp=Nt.assignCategoriesTokensProp=Nt.assignTokenDefaultProps=Nt.expandCategories=Nt.augmentTokenTypes=Nt.tokenIdxToClass=Nt.tokenShortNameIdx=Nt.tokenStructuredMatcherNoCategories=Nt.tokenStructuredMatcher=void 0;var Zr=Gt();function TEe(r,e){var t=r.tokenTypeIdx;return t===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[t]===!0}Nt.tokenStructuredMatcher=TEe;function OEe(r,e){return r.tokenTypeIdx===e.tokenTypeIdx}Nt.tokenStructuredMatcherNoCategories=OEe;Nt.tokenShortNameIdx=1;Nt.tokenIdxToClass={};function MEe(r){var e=nj(r);sj(e),aj(e),oj(e),(0,Zr.forEach)(e,function(t){t.isParent=t.categoryMatches.length>0})}Nt.augmentTokenTypes=MEe;function nj(r){for(var e=(0,Zr.cloneArr)(r),t=r,i=!0;i;){t=(0,Zr.compact)((0,Zr.flatten)((0,Zr.map)(t,function(s){return s.CATEGORIES})));var n=(0,Zr.difference)(t,e);e=e.concat(n),(0,Zr.isEmpty)(n)?i=!1:t=n}return e}Nt.expandCategories=nj;function sj(r){(0,Zr.forEach)(r,function(e){Aj(e)||(Nt.tokenIdxToClass[Nt.tokenShortNameIdx]=e,e.tokenTypeIdx=Nt.tokenShortNameIdx++),Mv(e)&&!(0,Zr.isArray)(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),Mv(e)||(e.CATEGORIES=[]),lj(e)||(e.categoryMatches=[]),cj(e)||(e.categoryMatchesMap={})})}Nt.assignTokenDefaultProps=sj;function oj(r){(0,Zr.forEach)(r,function(e){e.categoryMatches=[],(0,Zr.forEach)(e.categoryMatchesMap,function(t,i){e.categoryMatches.push(Nt.tokenIdxToClass[i].tokenTypeIdx)})})}Nt.assignCategoriesTokensProp=oj;function aj(r){(0,Zr.forEach)(r,function(e){Kv([],e)})}Nt.assignCategoriesMapProp=aj;function Kv(r,e){(0,Zr.forEach)(r,function(t){e.categoryMatchesMap[t.tokenTypeIdx]=!0}),(0,Zr.forEach)(e.CATEGORIES,function(t){var i=r.concat(e);(0,Zr.contains)(i,t)||Kv(i,t)})}Nt.singleAssignCategoriesToksMap=Kv;function Aj(r){return(0,Zr.has)(r,"tokenTypeIdx")}Nt.hasShortKeyProperty=Aj;function Mv(r){return(0,Zr.has)(r,"CATEGORIES")}Nt.hasCategoriesProperty=Mv;function lj(r){return(0,Zr.has)(r,"categoryMatches")}Nt.hasExtendingTokensTypesProperty=lj;function cj(r){return(0,Zr.has)(r,"categoryMatchesMap")}Nt.hasExtendingTokensTypesMapProperty=cj;function KEe(r){return(0,Zr.has)(r,"tokenTypeIdx")}Nt.isTokenType=KEe});var Uv=w(ty=>{"use strict";Object.defineProperty(ty,"__esModule",{value:!0});ty.defaultLexerErrorProvider=void 0;ty.defaultLexerErrorProvider={buildUnableToPopLexerModeMessage:function(r){return"Unable to pop Lexer Mode after encountering Token ->"+r.image+"<- The Mode Stack is empty"},buildUnexpectedCharactersMessage:function(r,e,t,i,n){return"unexpected character: ->"+r.charAt(e)+"<- at offset: "+e+","+(" skipped "+t+" characters.")}}});var yd=w(fc=>{"use strict";Object.defineProperty(fc,"__esModule",{value:!0});fc.Lexer=fc.LexerDefinitionErrorType=void 0;var Xs=Rv(),nr=Gt(),UEe=Vg(),HEe=Uv(),GEe=ZI(),YEe;(function(r){r[r.MISSING_PATTERN=0]="MISSING_PATTERN",r[r.INVALID_PATTERN=1]="INVALID_PATTERN",r[r.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",r[r.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",r[r.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",r[r.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",r[r.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",r[r.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",r[r.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",r[r.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",r[r.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",r[r.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",r[r.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",r[r.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",r[r.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",r[r.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",r[r.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK"})(YEe=fc.LexerDefinitionErrorType||(fc.LexerDefinitionErrorType={}));var wd={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[` +`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:HEe.defaultLexerErrorProvider,traceInitPerf:!1,skipValidations:!1};Object.freeze(wd);var jEe=function(){function r(e,t){var i=this;if(t===void 0&&(t=wd),this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.config=void 0,this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},typeof t=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object. +a boolean 2nd argument is no longer supported`);this.config=(0,nr.merge)(wd,t);var n=this.config.traceInitPerf;n===!0?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):typeof n=="number"&&(this.traceInitMaxIdent=n,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",function(){var s,o=!0;i.TRACE_INIT("Lexer Config handling",function(){if(i.config.lineTerminatorsPattern===wd.lineTerminatorsPattern)i.config.lineTerminatorsPattern=Xs.LineTerminatorOptimizedTester;else if(i.config.lineTerminatorCharacters===wd.lineTerminatorCharacters)throw Error(`Error: Missing property on the Lexer config. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(t.safeMode&&t.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');i.trackStartLines=/full|onlyStart/i.test(i.config.positionTracking),i.trackEndLines=/full/i.test(i.config.positionTracking),(0,nr.isArray)(e)?(s={modes:{}},s.modes[Xs.DEFAULT_MODE]=(0,nr.cloneArr)(e),s[Xs.DEFAULT_MODE]=Xs.DEFAULT_MODE):(o=!1,s=(0,nr.cloneObj)(e))}),i.config.skipValidations===!1&&(i.TRACE_INIT("performRuntimeChecks",function(){i.lexerDefinitionErrors=i.lexerDefinitionErrors.concat((0,Xs.performRuntimeChecks)(s,i.trackStartLines,i.config.lineTerminatorCharacters))}),i.TRACE_INIT("performWarningRuntimeChecks",function(){i.lexerDefinitionWarning=i.lexerDefinitionWarning.concat((0,Xs.performWarningRuntimeChecks)(s,i.trackStartLines,i.config.lineTerminatorCharacters))})),s.modes=s.modes?s.modes:{},(0,nr.forEach)(s.modes,function(u,g){s.modes[g]=(0,nr.reject)(u,function(f){return(0,nr.isUndefined)(f)})});var a=(0,nr.keys)(s.modes);if((0,nr.forEach)(s.modes,function(u,g){i.TRACE_INIT("Mode: <"+g+"> processing",function(){if(i.modes.push(g),i.config.skipValidations===!1&&i.TRACE_INIT("validatePatterns",function(){i.lexerDefinitionErrors=i.lexerDefinitionErrors.concat((0,Xs.validatePatterns)(u,a))}),(0,nr.isEmpty)(i.lexerDefinitionErrors)){(0,UEe.augmentTokenTypes)(u);var f;i.TRACE_INIT("analyzeTokenTypes",function(){f=(0,Xs.analyzeTokenTypes)(u,{lineTerminatorCharacters:i.config.lineTerminatorCharacters,positionTracking:t.positionTracking,ensureOptimizations:t.ensureOptimizations,safeMode:t.safeMode,tracer:i.TRACE_INIT.bind(i)})}),i.patternIdxToConfig[g]=f.patternIdxToConfig,i.charCodeToPatternIdxToConfig[g]=f.charCodeToPatternIdxToConfig,i.emptyGroups=(0,nr.merge)(i.emptyGroups,f.emptyGroups),i.hasCustom=f.hasCustom||i.hasCustom,i.canModeBeOptimized[g]=f.canBeOptimized}})}),i.defaultMode=s.defaultMode,!(0,nr.isEmpty)(i.lexerDefinitionErrors)&&!i.config.deferDefinitionErrorsHandling){var l=(0,nr.map)(i.lexerDefinitionErrors,function(u){return u.message}),c=l.join(`----------------------- `);throw new Error(`Errors detected in definition of Lexer: -`+c)}(0,nr.forEach)(i.lexerDefinitionWarning,function(u){(0,nr.PRINT_WARNING)(u.message)}),i.TRACE_INIT("Choosing sub-methods implementations",function(){if(zs.SUPPORT_STICKY?(i.chopInput=nr.IDENTITY,i.match=i.matchWithTest):(i.updateLastIndex=nr.NOOP,i.match=i.matchWithExec),o&&(i.handleModes=nr.NOOP),i.trackStartLines===!1&&(i.computeNewColumn=nr.IDENTITY),i.trackEndLines===!1&&(i.updateTokenEndLineColumnLocation=nr.NOOP),/full/i.test(i.config.positionTracking))i.createTokenInstance=i.createFullToken;else if(/onlyStart/i.test(i.config.positionTracking))i.createTokenInstance=i.createStartOnlyToken;else if(/onlyOffset/i.test(i.config.positionTracking))i.createTokenInstance=i.createOffsetOnlyToken;else throw Error('Invalid config option: "'+i.config.positionTracking+'"');i.hasCustom?(i.addToken=i.addTokenUsingPush,i.handlePayload=i.handlePayloadWithCustom):(i.addToken=i.addTokenUsingMemberAccess,i.handlePayload=i.handlePayloadNoCustom)}),i.TRACE_INIT("Failed Optimization Warnings",function(){var u=(0,nr.reduce)(i.canModeBeOptimized,function(g,f,h){return f===!1&&g.push(h),g},[]);if(t.ensureOptimizations&&!(0,nr.isEmpty)(u))throw Error("Lexer Modes: < "+u.join(", ")+` > cannot be optimized. +`+c)}(0,nr.forEach)(i.lexerDefinitionWarning,function(u){(0,nr.PRINT_WARNING)(u.message)}),i.TRACE_INIT("Choosing sub-methods implementations",function(){if(Xs.SUPPORT_STICKY?(i.chopInput=nr.IDENTITY,i.match=i.matchWithTest):(i.updateLastIndex=nr.NOOP,i.match=i.matchWithExec),o&&(i.handleModes=nr.NOOP),i.trackStartLines===!1&&(i.computeNewColumn=nr.IDENTITY),i.trackEndLines===!1&&(i.updateTokenEndLineColumnLocation=nr.NOOP),/full/i.test(i.config.positionTracking))i.createTokenInstance=i.createFullToken;else if(/onlyStart/i.test(i.config.positionTracking))i.createTokenInstance=i.createStartOnlyToken;else if(/onlyOffset/i.test(i.config.positionTracking))i.createTokenInstance=i.createOffsetOnlyToken;else throw Error('Invalid config option: "'+i.config.positionTracking+'"');i.hasCustom?(i.addToken=i.addTokenUsingPush,i.handlePayload=i.handlePayloadWithCustom):(i.addToken=i.addTokenUsingMemberAccess,i.handlePayload=i.handlePayloadNoCustom)}),i.TRACE_INIT("Failed Optimization Warnings",function(){var u=(0,nr.reduce)(i.canModeBeOptimized,function(g,f,h){return f===!1&&g.push(h),g},[]);if(t.ensureOptimizations&&!(0,nr.isEmpty)(u))throw Error("Lexer Modes: < "+u.join(", ")+` > cannot be optimized. Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode. - Or inspect the console log for details on how to resolve these issues.`)}),i.TRACE_INIT("clearRegExpParserCache",function(){(0,rEe.clearRegExpParserCache)()}),i.TRACE_INIT("toFastProperties",function(){(0,nr.toFastProperties)(i)})})}return r.prototype.tokenize=function(e,t){if(t===void 0&&(t=this.defaultMode),!(0,nr.isEmpty)(this.lexerDefinitionErrors)){var i=(0,nr.map)(this.lexerDefinitionErrors,function(o){return o.message}),n=i.join(`----------------------- + Or inspect the console log for details on how to resolve these issues.`)}),i.TRACE_INIT("clearRegExpParserCache",function(){(0,GEe.clearRegExpParserCache)()}),i.TRACE_INIT("toFastProperties",function(){(0,nr.toFastProperties)(i)})})}return r.prototype.tokenize=function(e,t){if(t===void 0&&(t=this.defaultMode),!(0,nr.isEmpty)(this.lexerDefinitionErrors)){var i=(0,nr.map)(this.lexerDefinitionErrors,function(o){return o.message}),n=i.join(`----------------------- `);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer: -`+n)}var s=this.tokenizeInternal(e,t);return s},r.prototype.tokenizeInternal=function(e,t){var i=this,n,s,o,a,l,c,u,g,f,h,p,C,y,B,v,D,L=e,H=L.length,j=0,$=0,V=this.hasCustom?0:Math.floor(e.length/10),W=new Array(V),Z=[],A=this.trackStartLines?1:void 0,ae=this.trackStartLines?1:void 0,ge=(0,zs.cloneEmptyGroups)(this.emptyGroups),re=this.trackStartLines,O=this.config.lineTerminatorsPattern,F=0,ue=[],he=[],ke=[],Fe=[];Object.freeze(Fe);var Ne=void 0;function oe(){return ue}function le(pr){var Ei=(0,zs.charCodeToOptimizedIndex)(pr),_n=he[Ei];return _n===void 0?Fe:_n}var we=function(pr){if(ke.length===1&&pr.tokenType.PUSH_MODE===void 0){var Ei=i.config.errorMessageProvider.buildUnableToPopLexerModeMessage(pr);Z.push({offset:pr.startOffset,line:pr.startLine!==void 0?pr.startLine:void 0,column:pr.startColumn!==void 0?pr.startColumn:void 0,length:pr.image.length,message:Ei})}else{ke.pop();var _n=(0,nr.last)(ke);ue=i.patternIdxToConfig[_n],he=i.charCodeToPatternIdxToConfig[_n],F=ue.length;var oa=i.canModeBeOptimized[_n]&&i.config.safeMode===!1;he&&oa?Ne=le:Ne=oe}};function fe(pr){ke.push(pr),he=this.charCodeToPatternIdxToConfig[pr],ue=this.patternIdxToConfig[pr],F=ue.length,F=ue.length;var Ei=this.canModeBeOptimized[pr]&&this.config.safeMode===!1;he&&Ei?Ne=le:Ne=oe}fe.call(this,t);for(var Ae;jc.length){c=a,u=g,Ae=tt;break}}}break}}if(c!==null){if(f=c.length,h=Ae.group,h!==void 0&&(p=Ae.tokenTypeIdx,C=this.createTokenInstance(c,j,p,Ae.tokenType,A,ae,f),this.handlePayload(C,u),h===!1?$=this.addToken(W,$,C):ge[h].push(C)),e=this.chopInput(e,f),j=j+f,ae=this.computeNewColumn(ae,f),re===!0&&Ae.canLineTerminator===!0){var It=0,Or=void 0,ii=void 0;O.lastIndex=0;do Or=O.test(c),Or===!0&&(ii=O.lastIndex-1,It++);while(Or===!0);It!==0&&(A=A+It,ae=f-ii,this.updateTokenEndLineColumnLocation(C,h,ii,It,A,ae,f))}this.handleModes(Ae,we,fe,C)}else{for(var gi=j,hr=A,fi=ae,ni=!1;!ni&&j <"+e+">");var n=(0,nr.timer)(t),s=n.time,o=n.value,a=s>10?console.warn:console.log;return this.traceInitIndent time: "+s+"ms"),this.traceInitIndent--,o}else return t()},r.SKIPPED="This marks a skipped Token pattern, this means each token identified by it willbe consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace.",r.NA=/NOT_APPLICABLE/,r}();nc.Lexer=nEe});var SA=w(Qi=>{"use strict";Object.defineProperty(Qi,"__esModule",{value:!0});Qi.tokenMatcher=Qi.createTokenInstance=Qi.EOF=Qi.createToken=Qi.hasTokenLabel=Qi.tokenName=Qi.tokenLabel=void 0;var Vs=Gt(),sEe=gd(),Sv=Gg();function oEe(r){return JY(r)?r.LABEL:r.name}Qi.tokenLabel=oEe;function aEe(r){return r.name}Qi.tokenName=aEe;function JY(r){return(0,Vs.isString)(r.LABEL)&&r.LABEL!==""}Qi.hasTokenLabel=JY;var AEe="parent",MY="categories",KY="label",UY="group",HY="push_mode",GY="pop_mode",YY="longer_alt",jY="line_breaks",qY="start_chars_hint";function WY(r){return lEe(r)}Qi.createToken=WY;function lEe(r){var e=r.pattern,t={};if(t.name=r.name,(0,Vs.isUndefined)(e)||(t.PATTERN=e),(0,Vs.has)(r,AEe))throw`The parent property is no longer supported. -See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return(0,Vs.has)(r,MY)&&(t.CATEGORIES=r[MY]),(0,Sv.augmentTokenTypes)([t]),(0,Vs.has)(r,KY)&&(t.LABEL=r[KY]),(0,Vs.has)(r,UY)&&(t.GROUP=r[UY]),(0,Vs.has)(r,GY)&&(t.POP_MODE=r[GY]),(0,Vs.has)(r,HY)&&(t.PUSH_MODE=r[HY]),(0,Vs.has)(r,YY)&&(t.LONGER_ALT=r[YY]),(0,Vs.has)(r,jY)&&(t.LINE_BREAKS=r[jY]),(0,Vs.has)(r,qY)&&(t.START_CHARS_HINT=r[qY]),t}Qi.EOF=WY({name:"EOF",pattern:sEe.Lexer.NA});(0,Sv.augmentTokenTypes)([Qi.EOF]);function cEe(r,e,t,i,n,s,o,a){return{image:e,startOffset:t,endOffset:i,startLine:n,endLine:s,startColumn:o,endColumn:a,tokenTypeIdx:r.tokenTypeIdx,tokenType:r}}Qi.createTokenInstance=cEe;function uEe(r,e){return(0,Sv.tokenStructuredMatcher)(r,e)}Qi.tokenMatcher=uEe});var dn=w(Wt=>{"use strict";var wa=Wt&&Wt.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Wt,"__esModule",{value:!0});Wt.serializeProduction=Wt.serializeGrammar=Wt.Terminal=Wt.Alternation=Wt.RepetitionWithSeparator=Wt.Repetition=Wt.RepetitionMandatoryWithSeparator=Wt.RepetitionMandatory=Wt.Option=Wt.Alternative=Wt.Rule=Wt.NonTerminal=Wt.AbstractProduction=void 0;var Ar=Gt(),gEe=SA(),vo=function(){function r(e){this._definition=e}return Object.defineProperty(r.prototype,"definition",{get:function(){return this._definition},set:function(e){this._definition=e},enumerable:!1,configurable:!0}),r.prototype.accept=function(e){e.visit(this),(0,Ar.forEach)(this.definition,function(t){t.accept(e)})},r}();Wt.AbstractProduction=vo;var zY=function(r){wa(e,r);function e(t){var i=r.call(this,[])||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return Object.defineProperty(e.prototype,"definition",{get:function(){return this.referencedRule!==void 0?this.referencedRule.definition:[]},set:function(t){},enumerable:!1,configurable:!0}),e.prototype.accept=function(t){t.visit(this)},e}(vo);Wt.NonTerminal=zY;var VY=function(r){wa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.orgText="",(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(vo);Wt.Rule=VY;var XY=function(r){wa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.ignoreAmbiguities=!1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(vo);Wt.Alternative=XY;var _Y=function(r){wa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(vo);Wt.Option=_Y;var ZY=function(r){wa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(vo);Wt.RepetitionMandatory=ZY;var $Y=function(r){wa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(vo);Wt.RepetitionMandatoryWithSeparator=$Y;var ej=function(r){wa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(vo);Wt.Repetition=ej;var tj=function(r){wa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(vo);Wt.RepetitionWithSeparator=tj;var rj=function(r){wa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,i.ignoreAmbiguities=!1,i.hasPredicates=!1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return Object.defineProperty(e.prototype,"definition",{get:function(){return this._definition},set:function(t){this._definition=t},enumerable:!1,configurable:!0}),e}(vo);Wt.Alternation=rj;var WI=function(){function r(e){this.idx=1,(0,Ar.assign)(this,(0,Ar.pick)(e,function(t){return t!==void 0}))}return r.prototype.accept=function(e){e.visit(this)},r}();Wt.Terminal=WI;function fEe(r){return(0,Ar.map)(r,hd)}Wt.serializeGrammar=fEe;function hd(r){function e(s){return(0,Ar.map)(s,hd)}if(r instanceof zY){var t={type:"NonTerminal",name:r.nonTerminalName,idx:r.idx};return(0,Ar.isString)(r.label)&&(t.label=r.label),t}else{if(r instanceof XY)return{type:"Alternative",definition:e(r.definition)};if(r instanceof _Y)return{type:"Option",idx:r.idx,definition:e(r.definition)};if(r instanceof ZY)return{type:"RepetitionMandatory",idx:r.idx,definition:e(r.definition)};if(r instanceof $Y)return{type:"RepetitionMandatoryWithSeparator",idx:r.idx,separator:hd(new WI({terminalType:r.separator})),definition:e(r.definition)};if(r instanceof tj)return{type:"RepetitionWithSeparator",idx:r.idx,separator:hd(new WI({terminalType:r.separator})),definition:e(r.definition)};if(r instanceof ej)return{type:"Repetition",idx:r.idx,definition:e(r.definition)};if(r instanceof rj)return{type:"Alternation",idx:r.idx,definition:e(r.definition)};if(r instanceof WI){var i={type:"Terminal",name:r.terminalType.name,label:(0,gEe.tokenLabel)(r.terminalType),idx:r.idx};(0,Ar.isString)(r.label)&&(i.terminalLabel=r.label);var n=r.terminalType.PATTERN;return r.terminalType.PATTERN&&(i.pattern=(0,Ar.isRegExp)(n)?n.source:n),i}else{if(r instanceof VY)return{type:"Rule",name:r.name,orgText:r.orgText,definition:e(r.definition)};throw Error("non exhaustive match")}}}Wt.serializeProduction=hd});var VI=w(zI=>{"use strict";Object.defineProperty(zI,"__esModule",{value:!0});zI.RestWalker=void 0;var vv=Gt(),Cn=dn(),hEe=function(){function r(){}return r.prototype.walk=function(e,t){var i=this;t===void 0&&(t=[]),(0,vv.forEach)(e.definition,function(n,s){var o=(0,vv.drop)(e.definition,s+1);if(n instanceof Cn.NonTerminal)i.walkProdRef(n,o,t);else if(n instanceof Cn.Terminal)i.walkTerminal(n,o,t);else if(n instanceof Cn.Alternative)i.walkFlat(n,o,t);else if(n instanceof Cn.Option)i.walkOption(n,o,t);else if(n instanceof Cn.RepetitionMandatory)i.walkAtLeastOne(n,o,t);else if(n instanceof Cn.RepetitionMandatoryWithSeparator)i.walkAtLeastOneSep(n,o,t);else if(n instanceof Cn.RepetitionWithSeparator)i.walkManySep(n,o,t);else if(n instanceof Cn.Repetition)i.walkMany(n,o,t);else if(n instanceof Cn.Alternation)i.walkOr(n,o,t);else throw Error("non exhaustive match")})},r.prototype.walkTerminal=function(e,t,i){},r.prototype.walkProdRef=function(e,t,i){},r.prototype.walkFlat=function(e,t,i){var n=t.concat(i);this.walk(e,n)},r.prototype.walkOption=function(e,t,i){var n=t.concat(i);this.walk(e,n)},r.prototype.walkAtLeastOne=function(e,t,i){var n=[new Cn.Option({definition:e.definition})].concat(t,i);this.walk(e,n)},r.prototype.walkAtLeastOneSep=function(e,t,i){var n=ij(e,t,i);this.walk(e,n)},r.prototype.walkMany=function(e,t,i){var n=[new Cn.Option({definition:e.definition})].concat(t,i);this.walk(e,n)},r.prototype.walkManySep=function(e,t,i){var n=ij(e,t,i);this.walk(e,n)},r.prototype.walkOr=function(e,t,i){var n=this,s=t.concat(i);(0,vv.forEach)(e.definition,function(o){var a=new Cn.Alternative({definition:[o]});n.walk(a,s)})},r}();zI.RestWalker=hEe;function ij(r,e,t){var i=[new Cn.Option({definition:[new Cn.Terminal({terminalType:r.separator})].concat(r.definition)})],n=i.concat(e,t);return n}});var Yg=w(XI=>{"use strict";Object.defineProperty(XI,"__esModule",{value:!0});XI.GAstVisitor=void 0;var xo=dn(),pEe=function(){function r(){}return r.prototype.visit=function(e){var t=e;switch(t.constructor){case xo.NonTerminal:return this.visitNonTerminal(t);case xo.Alternative:return this.visitAlternative(t);case xo.Option:return this.visitOption(t);case xo.RepetitionMandatory:return this.visitRepetitionMandatory(t);case xo.RepetitionMandatoryWithSeparator:return this.visitRepetitionMandatoryWithSeparator(t);case xo.RepetitionWithSeparator:return this.visitRepetitionWithSeparator(t);case xo.Repetition:return this.visitRepetition(t);case xo.Alternation:return this.visitAlternation(t);case xo.Terminal:return this.visitTerminal(t);case xo.Rule:return this.visitRule(t);default:throw Error("non exhaustive match")}},r.prototype.visitNonTerminal=function(e){},r.prototype.visitAlternative=function(e){},r.prototype.visitOption=function(e){},r.prototype.visitRepetition=function(e){},r.prototype.visitRepetitionMandatory=function(e){},r.prototype.visitRepetitionMandatoryWithSeparator=function(e){},r.prototype.visitRepetitionWithSeparator=function(e){},r.prototype.visitAlternation=function(e){},r.prototype.visitTerminal=function(e){},r.prototype.visitRule=function(e){},r}();XI.GAstVisitor=pEe});var dd=w(Oi=>{"use strict";var dEe=Oi&&Oi.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Oi,"__esModule",{value:!0});Oi.collectMethods=Oi.DslMethodsCollectorVisitor=Oi.getProductionDslName=Oi.isBranchingProd=Oi.isOptionalProd=Oi.isSequenceProd=void 0;var pd=Gt(),Qr=dn(),CEe=Yg();function mEe(r){return r instanceof Qr.Alternative||r instanceof Qr.Option||r instanceof Qr.Repetition||r instanceof Qr.RepetitionMandatory||r instanceof Qr.RepetitionMandatoryWithSeparator||r instanceof Qr.RepetitionWithSeparator||r instanceof Qr.Terminal||r instanceof Qr.Rule}Oi.isSequenceProd=mEe;function xv(r,e){e===void 0&&(e=[]);var t=r instanceof Qr.Option||r instanceof Qr.Repetition||r instanceof Qr.RepetitionWithSeparator;return t?!0:r instanceof Qr.Alternation?(0,pd.some)(r.definition,function(i){return xv(i,e)}):r instanceof Qr.NonTerminal&&(0,pd.contains)(e,r)?!1:r instanceof Qr.AbstractProduction?(r instanceof Qr.NonTerminal&&e.push(r),(0,pd.every)(r.definition,function(i){return xv(i,e)})):!1}Oi.isOptionalProd=xv;function EEe(r){return r instanceof Qr.Alternation}Oi.isBranchingProd=EEe;function IEe(r){if(r instanceof Qr.NonTerminal)return"SUBRULE";if(r instanceof Qr.Option)return"OPTION";if(r instanceof Qr.Alternation)return"OR";if(r instanceof Qr.RepetitionMandatory)return"AT_LEAST_ONE";if(r instanceof Qr.RepetitionMandatoryWithSeparator)return"AT_LEAST_ONE_SEP";if(r instanceof Qr.RepetitionWithSeparator)return"MANY_SEP";if(r instanceof Qr.Repetition)return"MANY";if(r instanceof Qr.Terminal)return"CONSUME";throw Error("non exhaustive match")}Oi.getProductionDslName=IEe;var nj=function(r){dEe(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.separator="-",t.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]},t}return e.prototype.reset=function(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}},e.prototype.visitTerminal=function(t){var i=t.terminalType.name+this.separator+"Terminal";(0,pd.has)(this.dslMethods,i)||(this.dslMethods[i]=[]),this.dslMethods[i].push(t)},e.prototype.visitNonTerminal=function(t){var i=t.nonTerminalName+this.separator+"Terminal";(0,pd.has)(this.dslMethods,i)||(this.dslMethods[i]=[]),this.dslMethods[i].push(t)},e.prototype.visitOption=function(t){this.dslMethods.option.push(t)},e.prototype.visitRepetitionWithSeparator=function(t){this.dslMethods.repetitionWithSeparator.push(t)},e.prototype.visitRepetitionMandatory=function(t){this.dslMethods.repetitionMandatory.push(t)},e.prototype.visitRepetitionMandatoryWithSeparator=function(t){this.dslMethods.repetitionMandatoryWithSeparator.push(t)},e.prototype.visitRepetition=function(t){this.dslMethods.repetition.push(t)},e.prototype.visitAlternation=function(t){this.dslMethods.alternation.push(t)},e}(CEe.GAstVisitor);Oi.DslMethodsCollectorVisitor=nj;var _I=new nj;function yEe(r){_I.reset(),r.accept(_I);var e=_I.dslMethods;return _I.reset(),e}Oi.collectMethods=yEe});var Dv=w(Po=>{"use strict";Object.defineProperty(Po,"__esModule",{value:!0});Po.firstForTerminal=Po.firstForBranching=Po.firstForSequence=Po.first=void 0;var ZI=Gt(),sj=dn(),Pv=dd();function $I(r){if(r instanceof sj.NonTerminal)return $I(r.referencedRule);if(r instanceof sj.Terminal)return Aj(r);if((0,Pv.isSequenceProd)(r))return oj(r);if((0,Pv.isBranchingProd)(r))return aj(r);throw Error("non exhaustive match")}Po.first=$I;function oj(r){for(var e=[],t=r.definition,i=0,n=t.length>i,s,o=!0;n&&o;)s=t[i],o=(0,Pv.isOptionalProd)(s),e=e.concat($I(s)),i=i+1,n=t.length>i;return(0,ZI.uniq)(e)}Po.firstForSequence=oj;function aj(r){var e=(0,ZI.map)(r.definition,function(t){return $I(t)});return(0,ZI.uniq)((0,ZI.flatten)(e))}Po.firstForBranching=aj;function Aj(r){return[r.terminalType]}Po.firstForTerminal=Aj});var kv=w(ey=>{"use strict";Object.defineProperty(ey,"__esModule",{value:!0});ey.IN=void 0;ey.IN="_~IN~_"});var fj=w(As=>{"use strict";var wEe=As&&As.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(As,"__esModule",{value:!0});As.buildInProdFollowPrefix=As.buildBetweenProdsFollowPrefix=As.computeAllProdsFollows=As.ResyncFollowsWalker=void 0;var BEe=VI(),QEe=Dv(),lj=Gt(),cj=kv(),bEe=dn(),uj=function(r){wEe(e,r);function e(t){var i=r.call(this)||this;return i.topProd=t,i.follows={},i}return e.prototype.startWalking=function(){return this.walk(this.topProd),this.follows},e.prototype.walkTerminal=function(t,i,n){},e.prototype.walkProdRef=function(t,i,n){var s=gj(t.referencedRule,t.idx)+this.topProd.name,o=i.concat(n),a=new bEe.Alternative({definition:o}),l=(0,QEe.first)(a);this.follows[s]=l},e}(BEe.RestWalker);As.ResyncFollowsWalker=uj;function SEe(r){var e={};return(0,lj.forEach)(r,function(t){var i=new uj(t).startWalking();(0,lj.assign)(e,i)}),e}As.computeAllProdsFollows=SEe;function gj(r,e){return r.name+e+cj.IN}As.buildBetweenProdsFollowPrefix=gj;function vEe(r){var e=r.terminalType.name;return e+r.idx+cj.IN}As.buildInProdFollowPrefix=vEe});var Cd=w(Ba=>{"use strict";Object.defineProperty(Ba,"__esModule",{value:!0});Ba.defaultGrammarValidatorErrorProvider=Ba.defaultGrammarResolverErrorProvider=Ba.defaultParserErrorProvider=void 0;var jg=SA(),xEe=Gt(),Xs=Gt(),Rv=dn(),hj=dd();Ba.defaultParserErrorProvider={buildMismatchTokenMessage:function(r){var e=r.expected,t=r.actual,i=r.previous,n=r.ruleName,s=(0,jg.hasTokenLabel)(e),o=s?"--> "+(0,jg.tokenLabel)(e)+" <--":"token of type --> "+e.name+" <--",a="Expecting "+o+" but found --> '"+t.image+"' <--";return a},buildNotAllInputParsedMessage:function(r){var e=r.firstRedundant,t=r.ruleName;return"Redundant input, expecting EOF but found: "+e.image},buildNoViableAltMessage:function(r){var e=r.expectedPathsPerAlt,t=r.actual,i=r.previous,n=r.customUserDescription,s=r.ruleName,o="Expecting: ",a=(0,Xs.first)(t).image,l=` -but found: '`+a+"'";if(n)return o+n+l;var c=(0,Xs.reduce)(e,function(h,p){return h.concat(p)},[]),u=(0,Xs.map)(c,function(h){return"["+(0,Xs.map)(h,function(p){return(0,jg.tokenLabel)(p)}).join(", ")+"]"}),g=(0,Xs.map)(u,function(h,p){return" "+(p+1)+". "+h}),f=`one of these possible Token sequences: +`+n)}var s=this.tokenizeInternal(e,t);return s},r.prototype.tokenizeInternal=function(e,t){var i=this,n,s,o,a,l,c,u,g,f,h,p,C,y,B,v,D,L=e,H=L.length,j=0,$=0,V=this.hasCustom?0:Math.floor(e.length/10),W=new Array(V),_=[],A=this.trackStartLines?1:void 0,ae=this.trackStartLines?1:void 0,ge=(0,Xs.cloneEmptyGroups)(this.emptyGroups),re=this.trackStartLines,O=this.config.lineTerminatorsPattern,F=0,ue=[],he=[],ke=[],Fe=[];Object.freeze(Fe);var Ne=void 0;function oe(){return ue}function le(pr){var Ii=(0,Xs.charCodeToOptimizedIndex)(pr),es=he[Ii];return es===void 0?Fe:es}var we=function(pr){if(ke.length===1&&pr.tokenType.PUSH_MODE===void 0){var Ii=i.config.errorMessageProvider.buildUnableToPopLexerModeMessage(pr);_.push({offset:pr.startOffset,line:pr.startLine!==void 0?pr.startLine:void 0,column:pr.startColumn!==void 0?pr.startColumn:void 0,length:pr.image.length,message:Ii})}else{ke.pop();var es=(0,nr.last)(ke);ue=i.patternIdxToConfig[es],he=i.charCodeToPatternIdxToConfig[es],F=ue.length;var ua=i.canModeBeOptimized[es]&&i.config.safeMode===!1;he&&ua?Ne=le:Ne=oe}};function fe(pr){ke.push(pr),he=this.charCodeToPatternIdxToConfig[pr],ue=this.patternIdxToConfig[pr],F=ue.length,F=ue.length;var Ii=this.canModeBeOptimized[pr]&&this.config.safeMode===!1;he&&Ii?Ne=le:Ne=oe}fe.call(this,t);for(var Ae;jc.length){c=a,u=g,Ae=_e;break}}}break}}if(c!==null){if(f=c.length,h=Ae.group,h!==void 0&&(p=Ae.tokenTypeIdx,C=this.createTokenInstance(c,j,p,Ae.tokenType,A,ae,f),this.handlePayload(C,u),h===!1?$=this.addToken(W,$,C):ge[h].push(C)),e=this.chopInput(e,f),j=j+f,ae=this.computeNewColumn(ae,f),re===!0&&Ae.canLineTerminator===!0){var It=0,Or=void 0,ii=void 0;O.lastIndex=0;do Or=O.test(c),Or===!0&&(ii=O.lastIndex-1,It++);while(Or===!0);It!==0&&(A=A+It,ae=f-ii,this.updateTokenEndLineColumnLocation(C,h,ii,It,A,ae,f))}this.handleModes(Ae,we,fe,C)}else{for(var gi=j,hr=A,fi=ae,ni=!1;!ni&&j <"+e+">");var n=(0,nr.timer)(t),s=n.time,o=n.value,a=s>10?console.warn:console.log;return this.traceInitIndent time: "+s+"ms"),this.traceInitIndent--,o}else return t()},r.SKIPPED="This marks a skipped Token pattern, this means each token identified by it willbe consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace.",r.NA=/NOT_APPLICABLE/,r}();fc.Lexer=jEe});var NA=w(bi=>{"use strict";Object.defineProperty(bi,"__esModule",{value:!0});bi.tokenMatcher=bi.createTokenInstance=bi.EOF=bi.createToken=bi.hasTokenLabel=bi.tokenName=bi.tokenLabel=void 0;var Zs=Gt(),qEe=yd(),Hv=Vg();function JEe(r){return Ej(r)?r.LABEL:r.name}bi.tokenLabel=JEe;function WEe(r){return r.name}bi.tokenName=WEe;function Ej(r){return(0,Zs.isString)(r.LABEL)&&r.LABEL!==""}bi.hasTokenLabel=Ej;var zEe="parent",uj="categories",gj="label",fj="group",hj="push_mode",pj="pop_mode",dj="longer_alt",Cj="line_breaks",mj="start_chars_hint";function Ij(r){return VEe(r)}bi.createToken=Ij;function VEe(r){var e=r.pattern,t={};if(t.name=r.name,(0,Zs.isUndefined)(e)||(t.PATTERN=e),(0,Zs.has)(r,zEe))throw`The parent property is no longer supported. +See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return(0,Zs.has)(r,uj)&&(t.CATEGORIES=r[uj]),(0,Hv.augmentTokenTypes)([t]),(0,Zs.has)(r,gj)&&(t.LABEL=r[gj]),(0,Zs.has)(r,fj)&&(t.GROUP=r[fj]),(0,Zs.has)(r,pj)&&(t.POP_MODE=r[pj]),(0,Zs.has)(r,hj)&&(t.PUSH_MODE=r[hj]),(0,Zs.has)(r,dj)&&(t.LONGER_ALT=r[dj]),(0,Zs.has)(r,Cj)&&(t.LINE_BREAKS=r[Cj]),(0,Zs.has)(r,mj)&&(t.START_CHARS_HINT=r[mj]),t}bi.EOF=Ij({name:"EOF",pattern:qEe.Lexer.NA});(0,Hv.augmentTokenTypes)([bi.EOF]);function XEe(r,e,t,i,n,s,o,a){return{image:e,startOffset:t,endOffset:i,startLine:n,endLine:s,startColumn:o,endColumn:a,tokenTypeIdx:r.tokenTypeIdx,tokenType:r}}bi.createTokenInstance=XEe;function ZEe(r,e){return(0,Hv.tokenStructuredMatcher)(r,e)}bi.tokenMatcher=ZEe});var dn=w(zt=>{"use strict";var va=zt&&zt.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(zt,"__esModule",{value:!0});zt.serializeProduction=zt.serializeGrammar=zt.Terminal=zt.Alternation=zt.RepetitionWithSeparator=zt.Repetition=zt.RepetitionMandatoryWithSeparator=zt.RepetitionMandatory=zt.Option=zt.Alternative=zt.Rule=zt.NonTerminal=zt.AbstractProduction=void 0;var Ar=Gt(),_Ee=NA(),ko=function(){function r(e){this._definition=e}return Object.defineProperty(r.prototype,"definition",{get:function(){return this._definition},set:function(e){this._definition=e},enumerable:!1,configurable:!0}),r.prototype.accept=function(e){e.visit(this),(0,Ar.forEach)(this.definition,function(t){t.accept(e)})},r}();zt.AbstractProduction=ko;var yj=function(r){va(e,r);function e(t){var i=r.call(this,[])||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return Object.defineProperty(e.prototype,"definition",{get:function(){return this.referencedRule!==void 0?this.referencedRule.definition:[]},set:function(t){},enumerable:!1,configurable:!0}),e.prototype.accept=function(t){t.visit(this)},e}(ko);zt.NonTerminal=yj;var wj=function(r){va(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.orgText="",(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(ko);zt.Rule=wj;var Bj=function(r){va(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.ignoreAmbiguities=!1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(ko);zt.Alternative=Bj;var Qj=function(r){va(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(ko);zt.Option=Qj;var bj=function(r){va(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(ko);zt.RepetitionMandatory=bj;var Sj=function(r){va(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(ko);zt.RepetitionMandatoryWithSeparator=Sj;var vj=function(r){va(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(ko);zt.Repetition=vj;var xj=function(r){va(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(ko);zt.RepetitionWithSeparator=xj;var Pj=function(r){va(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,i.ignoreAmbiguities=!1,i.hasPredicates=!1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return Object.defineProperty(e.prototype,"definition",{get:function(){return this._definition},set:function(t){this._definition=t},enumerable:!1,configurable:!0}),e}(ko);zt.Alternation=Pj;var ry=function(){function r(e){this.idx=1,(0,Ar.assign)(this,(0,Ar.pick)(e,function(t){return t!==void 0}))}return r.prototype.accept=function(e){e.visit(this)},r}();zt.Terminal=ry;function $Ee(r){return(0,Ar.map)(r,Bd)}zt.serializeGrammar=$Ee;function Bd(r){function e(s){return(0,Ar.map)(s,Bd)}if(r instanceof yj){var t={type:"NonTerminal",name:r.nonTerminalName,idx:r.idx};return(0,Ar.isString)(r.label)&&(t.label=r.label),t}else{if(r instanceof Bj)return{type:"Alternative",definition:e(r.definition)};if(r instanceof Qj)return{type:"Option",idx:r.idx,definition:e(r.definition)};if(r instanceof bj)return{type:"RepetitionMandatory",idx:r.idx,definition:e(r.definition)};if(r instanceof Sj)return{type:"RepetitionMandatoryWithSeparator",idx:r.idx,separator:Bd(new ry({terminalType:r.separator})),definition:e(r.definition)};if(r instanceof xj)return{type:"RepetitionWithSeparator",idx:r.idx,separator:Bd(new ry({terminalType:r.separator})),definition:e(r.definition)};if(r instanceof vj)return{type:"Repetition",idx:r.idx,definition:e(r.definition)};if(r instanceof Pj)return{type:"Alternation",idx:r.idx,definition:e(r.definition)};if(r instanceof ry){var i={type:"Terminal",name:r.terminalType.name,label:(0,_Ee.tokenLabel)(r.terminalType),idx:r.idx};(0,Ar.isString)(r.label)&&(i.terminalLabel=r.label);var n=r.terminalType.PATTERN;return r.terminalType.PATTERN&&(i.pattern=(0,Ar.isRegExp)(n)?n.source:n),i}else{if(r instanceof wj)return{type:"Rule",name:r.name,orgText:r.orgText,definition:e(r.definition)};throw Error("non exhaustive match")}}}zt.serializeProduction=Bd});var ny=w(iy=>{"use strict";Object.defineProperty(iy,"__esModule",{value:!0});iy.RestWalker=void 0;var Gv=Gt(),Cn=dn(),eIe=function(){function r(){}return r.prototype.walk=function(e,t){var i=this;t===void 0&&(t=[]),(0,Gv.forEach)(e.definition,function(n,s){var o=(0,Gv.drop)(e.definition,s+1);if(n instanceof Cn.NonTerminal)i.walkProdRef(n,o,t);else if(n instanceof Cn.Terminal)i.walkTerminal(n,o,t);else if(n instanceof Cn.Alternative)i.walkFlat(n,o,t);else if(n instanceof Cn.Option)i.walkOption(n,o,t);else if(n instanceof Cn.RepetitionMandatory)i.walkAtLeastOne(n,o,t);else if(n instanceof Cn.RepetitionMandatoryWithSeparator)i.walkAtLeastOneSep(n,o,t);else if(n instanceof Cn.RepetitionWithSeparator)i.walkManySep(n,o,t);else if(n instanceof Cn.Repetition)i.walkMany(n,o,t);else if(n instanceof Cn.Alternation)i.walkOr(n,o,t);else throw Error("non exhaustive match")})},r.prototype.walkTerminal=function(e,t,i){},r.prototype.walkProdRef=function(e,t,i){},r.prototype.walkFlat=function(e,t,i){var n=t.concat(i);this.walk(e,n)},r.prototype.walkOption=function(e,t,i){var n=t.concat(i);this.walk(e,n)},r.prototype.walkAtLeastOne=function(e,t,i){var n=[new Cn.Option({definition:e.definition})].concat(t,i);this.walk(e,n)},r.prototype.walkAtLeastOneSep=function(e,t,i){var n=Dj(e,t,i);this.walk(e,n)},r.prototype.walkMany=function(e,t,i){var n=[new Cn.Option({definition:e.definition})].concat(t,i);this.walk(e,n)},r.prototype.walkManySep=function(e,t,i){var n=Dj(e,t,i);this.walk(e,n)},r.prototype.walkOr=function(e,t,i){var n=this,s=t.concat(i);(0,Gv.forEach)(e.definition,function(o){var a=new Cn.Alternative({definition:[o]});n.walk(a,s)})},r}();iy.RestWalker=eIe;function Dj(r,e,t){var i=[new Cn.Option({definition:[new Cn.Terminal({terminalType:r.separator})].concat(r.definition)})],n=i.concat(e,t);return n}});var Xg=w(sy=>{"use strict";Object.defineProperty(sy,"__esModule",{value:!0});sy.GAstVisitor=void 0;var Ro=dn(),tIe=function(){function r(){}return r.prototype.visit=function(e){var t=e;switch(t.constructor){case Ro.NonTerminal:return this.visitNonTerminal(t);case Ro.Alternative:return this.visitAlternative(t);case Ro.Option:return this.visitOption(t);case Ro.RepetitionMandatory:return this.visitRepetitionMandatory(t);case Ro.RepetitionMandatoryWithSeparator:return this.visitRepetitionMandatoryWithSeparator(t);case Ro.RepetitionWithSeparator:return this.visitRepetitionWithSeparator(t);case Ro.Repetition:return this.visitRepetition(t);case Ro.Alternation:return this.visitAlternation(t);case Ro.Terminal:return this.visitTerminal(t);case Ro.Rule:return this.visitRule(t);default:throw Error("non exhaustive match")}},r.prototype.visitNonTerminal=function(e){},r.prototype.visitAlternative=function(e){},r.prototype.visitOption=function(e){},r.prototype.visitRepetition=function(e){},r.prototype.visitRepetitionMandatory=function(e){},r.prototype.visitRepetitionMandatoryWithSeparator=function(e){},r.prototype.visitRepetitionWithSeparator=function(e){},r.prototype.visitAlternation=function(e){},r.prototype.visitTerminal=function(e){},r.prototype.visitRule=function(e){},r}();sy.GAstVisitor=tIe});var bd=w(Mi=>{"use strict";var rIe=Mi&&Mi.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Mi,"__esModule",{value:!0});Mi.collectMethods=Mi.DslMethodsCollectorVisitor=Mi.getProductionDslName=Mi.isBranchingProd=Mi.isOptionalProd=Mi.isSequenceProd=void 0;var Qd=Gt(),Qr=dn(),iIe=Xg();function nIe(r){return r instanceof Qr.Alternative||r instanceof Qr.Option||r instanceof Qr.Repetition||r instanceof Qr.RepetitionMandatory||r instanceof Qr.RepetitionMandatoryWithSeparator||r instanceof Qr.RepetitionWithSeparator||r instanceof Qr.Terminal||r instanceof Qr.Rule}Mi.isSequenceProd=nIe;function Yv(r,e){e===void 0&&(e=[]);var t=r instanceof Qr.Option||r instanceof Qr.Repetition||r instanceof Qr.RepetitionWithSeparator;return t?!0:r instanceof Qr.Alternation?(0,Qd.some)(r.definition,function(i){return Yv(i,e)}):r instanceof Qr.NonTerminal&&(0,Qd.contains)(e,r)?!1:r instanceof Qr.AbstractProduction?(r instanceof Qr.NonTerminal&&e.push(r),(0,Qd.every)(r.definition,function(i){return Yv(i,e)})):!1}Mi.isOptionalProd=Yv;function sIe(r){return r instanceof Qr.Alternation}Mi.isBranchingProd=sIe;function oIe(r){if(r instanceof Qr.NonTerminal)return"SUBRULE";if(r instanceof Qr.Option)return"OPTION";if(r instanceof Qr.Alternation)return"OR";if(r instanceof Qr.RepetitionMandatory)return"AT_LEAST_ONE";if(r instanceof Qr.RepetitionMandatoryWithSeparator)return"AT_LEAST_ONE_SEP";if(r instanceof Qr.RepetitionWithSeparator)return"MANY_SEP";if(r instanceof Qr.Repetition)return"MANY";if(r instanceof Qr.Terminal)return"CONSUME";throw Error("non exhaustive match")}Mi.getProductionDslName=oIe;var kj=function(r){rIe(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.separator="-",t.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]},t}return e.prototype.reset=function(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}},e.prototype.visitTerminal=function(t){var i=t.terminalType.name+this.separator+"Terminal";(0,Qd.has)(this.dslMethods,i)||(this.dslMethods[i]=[]),this.dslMethods[i].push(t)},e.prototype.visitNonTerminal=function(t){var i=t.nonTerminalName+this.separator+"Terminal";(0,Qd.has)(this.dslMethods,i)||(this.dslMethods[i]=[]),this.dslMethods[i].push(t)},e.prototype.visitOption=function(t){this.dslMethods.option.push(t)},e.prototype.visitRepetitionWithSeparator=function(t){this.dslMethods.repetitionWithSeparator.push(t)},e.prototype.visitRepetitionMandatory=function(t){this.dslMethods.repetitionMandatory.push(t)},e.prototype.visitRepetitionMandatoryWithSeparator=function(t){this.dslMethods.repetitionMandatoryWithSeparator.push(t)},e.prototype.visitRepetition=function(t){this.dslMethods.repetition.push(t)},e.prototype.visitAlternation=function(t){this.dslMethods.alternation.push(t)},e}(iIe.GAstVisitor);Mi.DslMethodsCollectorVisitor=kj;var oy=new kj;function aIe(r){oy.reset(),r.accept(oy);var e=oy.dslMethods;return oy.reset(),e}Mi.collectMethods=aIe});var qv=w(Fo=>{"use strict";Object.defineProperty(Fo,"__esModule",{value:!0});Fo.firstForTerminal=Fo.firstForBranching=Fo.firstForSequence=Fo.first=void 0;var ay=Gt(),Rj=dn(),jv=bd();function Ay(r){if(r instanceof Rj.NonTerminal)return Ay(r.referencedRule);if(r instanceof Rj.Terminal)return Lj(r);if((0,jv.isSequenceProd)(r))return Fj(r);if((0,jv.isBranchingProd)(r))return Nj(r);throw Error("non exhaustive match")}Fo.first=Ay;function Fj(r){for(var e=[],t=r.definition,i=0,n=t.length>i,s,o=!0;n&&o;)s=t[i],o=(0,jv.isOptionalProd)(s),e=e.concat(Ay(s)),i=i+1,n=t.length>i;return(0,ay.uniq)(e)}Fo.firstForSequence=Fj;function Nj(r){var e=(0,ay.map)(r.definition,function(t){return Ay(t)});return(0,ay.uniq)((0,ay.flatten)(e))}Fo.firstForBranching=Nj;function Lj(r){return[r.terminalType]}Fo.firstForTerminal=Lj});var Jv=w(ly=>{"use strict";Object.defineProperty(ly,"__esModule",{value:!0});ly.IN=void 0;ly.IN="_~IN~_"});var Uj=w(us=>{"use strict";var AIe=us&&us.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(us,"__esModule",{value:!0});us.buildInProdFollowPrefix=us.buildBetweenProdsFollowPrefix=us.computeAllProdsFollows=us.ResyncFollowsWalker=void 0;var lIe=ny(),cIe=qv(),Tj=Gt(),Oj=Jv(),uIe=dn(),Mj=function(r){AIe(e,r);function e(t){var i=r.call(this)||this;return i.topProd=t,i.follows={},i}return e.prototype.startWalking=function(){return this.walk(this.topProd),this.follows},e.prototype.walkTerminal=function(t,i,n){},e.prototype.walkProdRef=function(t,i,n){var s=Kj(t.referencedRule,t.idx)+this.topProd.name,o=i.concat(n),a=new uIe.Alternative({definition:o}),l=(0,cIe.first)(a);this.follows[s]=l},e}(lIe.RestWalker);us.ResyncFollowsWalker=Mj;function gIe(r){var e={};return(0,Tj.forEach)(r,function(t){var i=new Mj(t).startWalking();(0,Tj.assign)(e,i)}),e}us.computeAllProdsFollows=gIe;function Kj(r,e){return r.name+e+Oj.IN}us.buildBetweenProdsFollowPrefix=Kj;function fIe(r){var e=r.terminalType.name;return e+r.idx+Oj.IN}us.buildInProdFollowPrefix=fIe});var Sd=w(xa=>{"use strict";Object.defineProperty(xa,"__esModule",{value:!0});xa.defaultGrammarValidatorErrorProvider=xa.defaultGrammarResolverErrorProvider=xa.defaultParserErrorProvider=void 0;var Zg=NA(),hIe=Gt(),_s=Gt(),Wv=dn(),Hj=bd();xa.defaultParserErrorProvider={buildMismatchTokenMessage:function(r){var e=r.expected,t=r.actual,i=r.previous,n=r.ruleName,s=(0,Zg.hasTokenLabel)(e),o=s?"--> "+(0,Zg.tokenLabel)(e)+" <--":"token of type --> "+e.name+" <--",a="Expecting "+o+" but found --> '"+t.image+"' <--";return a},buildNotAllInputParsedMessage:function(r){var e=r.firstRedundant,t=r.ruleName;return"Redundant input, expecting EOF but found: "+e.image},buildNoViableAltMessage:function(r){var e=r.expectedPathsPerAlt,t=r.actual,i=r.previous,n=r.customUserDescription,s=r.ruleName,o="Expecting: ",a=(0,_s.first)(t).image,l=` +but found: '`+a+"'";if(n)return o+n+l;var c=(0,_s.reduce)(e,function(h,p){return h.concat(p)},[]),u=(0,_s.map)(c,function(h){return"["+(0,_s.map)(h,function(p){return(0,Zg.tokenLabel)(p)}).join(", ")+"]"}),g=(0,_s.map)(u,function(h,p){return" "+(p+1)+". "+h}),f=`one of these possible Token sequences: `+g.join(` -`);return o+f+l},buildEarlyExitMessage:function(r){var e=r.expectedIterationPaths,t=r.actual,i=r.customUserDescription,n=r.ruleName,s="Expecting: ",o=(0,Xs.first)(t).image,a=` -but found: '`+o+"'";if(i)return s+i+a;var l=(0,Xs.map)(e,function(u){return"["+(0,Xs.map)(u,function(g){return(0,jg.tokenLabel)(g)}).join(",")+"]"}),c=`expecting at least one iteration which starts with one of these possible Token sequences:: - `+("<"+l.join(" ,")+">");return s+c+a}};Object.freeze(Ba.defaultParserErrorProvider);Ba.defaultGrammarResolverErrorProvider={buildRuleNotFoundError:function(r,e){var t="Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<- -inside top level rule: ->`+r.name+"<-";return t}};Ba.defaultGrammarValidatorErrorProvider={buildDuplicateFoundError:function(r,e){function t(u){return u instanceof Rv.Terminal?u.terminalType.name:u instanceof Rv.NonTerminal?u.nonTerminalName:""}var i=r.name,n=(0,Xs.first)(e),s=n.idx,o=(0,hj.getProductionDslName)(n),a=t(n),l=s>0,c="->"+o+(l?s:"")+"<- "+(a?"with argument: ->"+a+"<-":"")+` +`);return o+f+l},buildEarlyExitMessage:function(r){var e=r.expectedIterationPaths,t=r.actual,i=r.customUserDescription,n=r.ruleName,s="Expecting: ",o=(0,_s.first)(t).image,a=` +but found: '`+o+"'";if(i)return s+i+a;var l=(0,_s.map)(e,function(u){return"["+(0,_s.map)(u,function(g){return(0,Zg.tokenLabel)(g)}).join(",")+"]"}),c=`expecting at least one iteration which starts with one of these possible Token sequences:: + `+("<"+l.join(" ,")+">");return s+c+a}};Object.freeze(xa.defaultParserErrorProvider);xa.defaultGrammarResolverErrorProvider={buildRuleNotFoundError:function(r,e){var t="Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<- +inside top level rule: ->`+r.name+"<-";return t}};xa.defaultGrammarValidatorErrorProvider={buildDuplicateFoundError:function(r,e){function t(u){return u instanceof Wv.Terminal?u.terminalType.name:u instanceof Wv.NonTerminal?u.nonTerminalName:""}var i=r.name,n=(0,_s.first)(e),s=n.idx,o=(0,Hj.getProductionDslName)(n),a=t(n),l=s>0,c="->"+o+(l?s:"")+"<- "+(a?"with argument: ->"+a+"<-":"")+` appears more than once (`+e.length+" times) in the top level rule: ->"+i+`<-. For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES `;return c=c.replace(/[ \t]+/g," "),c=c.replace(/\s\s+/g,` @@ -108,49 +108,49 @@ inside top level rule: ->`+r.name+"<-";return t}};Ba.defaultGrammarValidatorErro `+("The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <"+r.name+`>. `)+`To resolve this make sure each Terminal and Non-Terminal names are unique This is easy to accomplish by using the convention that Terminal names start with an uppercase letter -and Non-Terminal names start with a lower case letter.`;return e},buildAlternationPrefixAmbiguityError:function(r){var e=(0,Xs.map)(r.prefixPath,function(n){return(0,jg.tokenLabel)(n)}).join(", "),t=r.alternation.idx===0?"":r.alternation.idx,i="Ambiguous alternatives: <"+r.ambiguityIndices.join(" ,")+`> due to common lookahead prefix +and Non-Terminal names start with a lower case letter.`;return e},buildAlternationPrefixAmbiguityError:function(r){var e=(0,_s.map)(r.prefixPath,function(n){return(0,Zg.tokenLabel)(n)}).join(", "),t=r.alternation.idx===0?"":r.alternation.idx,i="Ambiguous alternatives: <"+r.ambiguityIndices.join(" ,")+`> due to common lookahead prefix `+("in inside <"+r.topLevelRule.name+`> Rule, `)+("<"+e+`> may appears as a prefix path in all these alternatives. `)+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX -For Further details.`;return i},buildAlternationAmbiguityError:function(r){var e=(0,Xs.map)(r.prefixPath,function(n){return(0,jg.tokenLabel)(n)}).join(", "),t=r.alternation.idx===0?"":r.alternation.idx,i="Ambiguous Alternatives Detected: <"+r.ambiguityIndices.join(" ,")+"> in "+(" inside <"+r.topLevelRule.name+`> Rule, +For Further details.`;return i},buildAlternationAmbiguityError:function(r){var e=(0,_s.map)(r.prefixPath,function(n){return(0,Zg.tokenLabel)(n)}).join(", "),t=r.alternation.idx===0?"":r.alternation.idx,i="Ambiguous Alternatives Detected: <"+r.ambiguityIndices.join(" ,")+"> in "+(" inside <"+r.topLevelRule.name+`> Rule, `)+("<"+e+`> may appears as a prefix path in all these alternatives. `);return i=i+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES -For Further details.`,i},buildEmptyRepetitionError:function(r){var e=(0,hj.getProductionDslName)(r.repetition);r.repetition.idx!==0&&(e+=r.repetition.idx);var t="The repetition <"+e+"> within Rule <"+r.topLevelRule.name+`> can never consume any tokens. +For Further details.`,i},buildEmptyRepetitionError:function(r){var e=(0,Hj.getProductionDslName)(r.repetition);r.repetition.idx!==0&&(e+=r.repetition.idx);var t="The repetition <"+e+"> within Rule <"+r.topLevelRule.name+`> can never consume any tokens. This could lead to an infinite loop.`;return t},buildTokenNameError:function(r){return"deprecated"},buildEmptyAlternationError:function(r){var e="Ambiguous empty alternative: <"+(r.emptyChoiceIdx+1)+">"+(" in inside <"+r.topLevelRule.name+`> Rule. `)+"Only the last alternative may be an empty alternative.";return e},buildTooManyAlternativesError:function(r){var e=`An Alternation cannot have more than 256 alternatives: `+(" inside <"+r.topLevelRule.name+`> Rule. - has `+(r.alternation.definition.length+1)+" alternatives.");return e},buildLeftRecursionError:function(r){var e=r.topLevelRule.name,t=xEe.map(r.leftRecursionPath,function(s){return s.name}),i=e+" --> "+t.concat([e]).join(" --> "),n=`Left Recursion found in grammar. + has `+(r.alternation.definition.length+1)+" alternatives.");return e},buildLeftRecursionError:function(r){var e=r.topLevelRule.name,t=hIe.map(r.leftRecursionPath,function(s){return s.name}),i=e+" --> "+t.concat([e]).join(" --> "),n=`Left Recursion found in grammar. `+("rule: <"+e+`> can be invoked from itself (directly or indirectly) `)+(`without consuming any Tokens. The grammar path that causes this is: `+i+` `)+` To fix this refactor your grammar to remove the left recursion. -see: https://en.wikipedia.org/wiki/LL_parser#Left_Factoring.`;return n},buildInvalidRuleNameError:function(r){return"deprecated"},buildDuplicateRuleNameError:function(r){var e;r.topLevelRule instanceof Rv.Rule?e=r.topLevelRule.name:e=r.topLevelRule;var t="Duplicate definition, rule: ->"+e+"<- is already defined in the grammar: ->"+r.grammarName+"<-";return t}}});var Cj=w(vA=>{"use strict";var PEe=vA&&vA.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(vA,"__esModule",{value:!0});vA.GastRefResolverVisitor=vA.resolveGrammar=void 0;var DEe=Hn(),pj=Gt(),kEe=Yg();function REe(r,e){var t=new dj(r,e);return t.resolveRefs(),t.errors}vA.resolveGrammar=REe;var dj=function(r){PEe(e,r);function e(t,i){var n=r.call(this)||this;return n.nameToTopRule=t,n.errMsgProvider=i,n.errors=[],n}return e.prototype.resolveRefs=function(){var t=this;(0,pj.forEach)((0,pj.values)(this.nameToTopRule),function(i){t.currTopLevel=i,i.accept(t)})},e.prototype.visitNonTerminal=function(t){var i=this.nameToTopRule[t.nonTerminalName];if(i)t.referencedRule=i;else{var n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,t);this.errors.push({message:n,type:DEe.ParserDefinitionErrorType.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:t.nonTerminalName})}},e}(kEe.GAstVisitor);vA.GastRefResolverVisitor=dj});var Ed=w(Nr=>{"use strict";var sc=Nr&&Nr.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Nr,"__esModule",{value:!0});Nr.nextPossibleTokensAfter=Nr.possiblePathsFrom=Nr.NextTerminalAfterAtLeastOneSepWalker=Nr.NextTerminalAfterAtLeastOneWalker=Nr.NextTerminalAfterManySepWalker=Nr.NextTerminalAfterManyWalker=Nr.AbstractNextTerminalAfterProductionWalker=Nr.NextAfterTokenWalker=Nr.AbstractNextPossibleTokensWalker=void 0;var mj=VI(),Kt=Gt(),FEe=Dv(),kt=dn(),Ej=function(r){sc(e,r);function e(t,i){var n=r.call(this)||this;return n.topProd=t,n.path=i,n.possibleTokTypes=[],n.nextProductionName="",n.nextProductionOccurrence=0,n.found=!1,n.isAtEndOfPath=!1,n}return e.prototype.startWalking=function(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=(0,Kt.cloneArr)(this.path.ruleStack).reverse(),this.occurrenceStack=(0,Kt.cloneArr)(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes},e.prototype.walk=function(t,i){i===void 0&&(i=[]),this.found||r.prototype.walk.call(this,t,i)},e.prototype.walkProdRef=function(t,i,n){if(t.referencedRule.name===this.nextProductionName&&t.idx===this.nextProductionOccurrence){var s=i.concat(n);this.updateExpectedNext(),this.walk(t.referencedRule,s)}},e.prototype.updateExpectedNext=function(){(0,Kt.isEmpty)(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())},e}(mj.RestWalker);Nr.AbstractNextPossibleTokensWalker=Ej;var NEe=function(r){sc(e,r);function e(t,i){var n=r.call(this,t,i)||this;return n.path=i,n.nextTerminalName="",n.nextTerminalOccurrence=0,n.nextTerminalName=n.path.lastTok.name,n.nextTerminalOccurrence=n.path.lastTokOccurrence,n}return e.prototype.walkTerminal=function(t,i,n){if(this.isAtEndOfPath&&t.terminalType.name===this.nextTerminalName&&t.idx===this.nextTerminalOccurrence&&!this.found){var s=i.concat(n),o=new kt.Alternative({definition:s});this.possibleTokTypes=(0,FEe.first)(o),this.found=!0}},e}(Ej);Nr.NextAfterTokenWalker=NEe;var md=function(r){sc(e,r);function e(t,i){var n=r.call(this)||this;return n.topRule=t,n.occurrence=i,n.result={token:void 0,occurrence:void 0,isEndOfRule:void 0},n}return e.prototype.startWalking=function(){return this.walk(this.topRule),this.result},e}(mj.RestWalker);Nr.AbstractNextTerminalAfterProductionWalker=md;var LEe=function(r){sc(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.walkMany=function(t,i,n){if(t.idx===this.occurrence){var s=(0,Kt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof kt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else r.prototype.walkMany.call(this,t,i,n)},e}(md);Nr.NextTerminalAfterManyWalker=LEe;var TEe=function(r){sc(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.walkManySep=function(t,i,n){if(t.idx===this.occurrence){var s=(0,Kt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof kt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else r.prototype.walkManySep.call(this,t,i,n)},e}(md);Nr.NextTerminalAfterManySepWalker=TEe;var OEe=function(r){sc(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.walkAtLeastOne=function(t,i,n){if(t.idx===this.occurrence){var s=(0,Kt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof kt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else r.prototype.walkAtLeastOne.call(this,t,i,n)},e}(md);Nr.NextTerminalAfterAtLeastOneWalker=OEe;var MEe=function(r){sc(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.walkAtLeastOneSep=function(t,i,n){if(t.idx===this.occurrence){var s=(0,Kt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof kt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else r.prototype.walkAtLeastOneSep.call(this,t,i,n)},e}(md);Nr.NextTerminalAfterAtLeastOneSepWalker=MEe;function Ij(r,e,t){t===void 0&&(t=[]),t=(0,Kt.cloneArr)(t);var i=[],n=0;function s(c){return c.concat((0,Kt.drop)(r,n+1))}function o(c){var u=Ij(s(c),e,t);return i.concat(u)}for(;t.length=0;ge--){var re=B.definition[ge],O={idx:p,def:re.definition.concat((0,Kt.drop)(h)),ruleStack:C,occurrenceStack:y};g.push(O),g.push(o)}else if(B instanceof kt.Alternative)g.push({idx:p,def:B.definition.concat((0,Kt.drop)(h)),ruleStack:C,occurrenceStack:y});else if(B instanceof kt.Rule)g.push(UEe(B,p,C,y));else throw Error("non exhaustive match")}}return u}Nr.nextPossibleTokensAfter=KEe;function UEe(r,e,t,i){var n=(0,Kt.cloneArr)(t);n.push(r.name);var s=(0,Kt.cloneArr)(i);return s.push(1),{idx:e,def:r.definition,ruleStack:n,occurrenceStack:s}}});var Id=w(_t=>{"use strict";var Bj=_t&&_t.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(_t,"__esModule",{value:!0});_t.areTokenCategoriesNotUsed=_t.isStrictPrefixOfPath=_t.containsPath=_t.getLookaheadPathsForOptionalProd=_t.getLookaheadPathsForOr=_t.lookAheadSequenceFromAlternatives=_t.buildSingleAlternativeLookaheadFunction=_t.buildAlternativesLookAheadFunc=_t.buildLookaheadFuncForOptionalProd=_t.buildLookaheadFuncForOr=_t.getProdType=_t.PROD_TYPE=void 0;var sr=Gt(),yj=Ed(),HEe=VI(),ty=Gg(),xA=dn(),GEe=Yg(),oi;(function(r){r[r.OPTION=0]="OPTION",r[r.REPETITION=1]="REPETITION",r[r.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",r[r.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",r[r.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",r[r.ALTERNATION=5]="ALTERNATION"})(oi=_t.PROD_TYPE||(_t.PROD_TYPE={}));function YEe(r){if(r instanceof xA.Option)return oi.OPTION;if(r instanceof xA.Repetition)return oi.REPETITION;if(r instanceof xA.RepetitionMandatory)return oi.REPETITION_MANDATORY;if(r instanceof xA.RepetitionMandatoryWithSeparator)return oi.REPETITION_MANDATORY_WITH_SEPARATOR;if(r instanceof xA.RepetitionWithSeparator)return oi.REPETITION_WITH_SEPARATOR;if(r instanceof xA.Alternation)return oi.ALTERNATION;throw Error("non exhaustive match")}_t.getProdType=YEe;function jEe(r,e,t,i,n,s){var o=bj(r,e,t),a=Lv(o)?ty.tokenStructuredMatcherNoCategories:ty.tokenStructuredMatcher;return s(o,i,a,n)}_t.buildLookaheadFuncForOr=jEe;function qEe(r,e,t,i,n,s){var o=Sj(r,e,n,t),a=Lv(o)?ty.tokenStructuredMatcherNoCategories:ty.tokenStructuredMatcher;return s(o[0],a,i)}_t.buildLookaheadFuncForOptionalProd=qEe;function JEe(r,e,t,i){var n=r.length,s=(0,sr.every)(r,function(l){return(0,sr.every)(l,function(c){return c.length===1})});if(e)return function(l){for(var c=(0,sr.map)(l,function(D){return D.GATE}),u=0;u{"use strict";var Tv=zt&&zt.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(zt,"__esModule",{value:!0});zt.checkPrefixAlternativesAmbiguities=zt.validateSomeNonEmptyLookaheadPath=zt.validateTooManyAlts=zt.RepetionCollector=zt.validateAmbiguousAlternationAlternatives=zt.validateEmptyOrAlternative=zt.getFirstNoneTerminal=zt.validateNoLeftRecursion=zt.validateRuleIsOverridden=zt.validateRuleDoesNotAlreadyExist=zt.OccurrenceValidationCollector=zt.identifyProductionForDuplicates=zt.validateGrammar=void 0;var er=Gt(),br=Gt(),Do=Hn(),Ov=dd(),qg=Id(),_Ee=Ed(),_s=dn(),Mv=Yg();function ZEe(r,e,t,i,n){var s=er.map(r,function(h){return $Ee(h,i)}),o=er.map(r,function(h){return Kv(h,h,i)}),a=[],l=[],c=[];(0,br.every)(o,br.isEmpty)&&(a=(0,br.map)(r,function(h){return Rj(h,i)}),l=(0,br.map)(r,function(h){return Fj(h,e,i)}),c=Tj(r,e,i));var u=rIe(r,t,i),g=(0,br.map)(r,function(h){return Lj(h,i)}),f=(0,br.map)(r,function(h){return kj(h,r,n,i)});return er.flatten(s.concat(c,o,a,l,u,g,f))}zt.validateGrammar=ZEe;function $Ee(r,e){var t=new Dj;r.accept(t);var i=t.allProductions,n=er.groupBy(i,xj),s=er.pick(n,function(a){return a.length>1}),o=er.map(er.values(s),function(a){var l=er.first(a),c=e.buildDuplicateFoundError(r,a),u=(0,Ov.getProductionDslName)(l),g={message:c,type:Do.ParserDefinitionErrorType.DUPLICATE_PRODUCTIONS,ruleName:r.name,dslName:u,occurrence:l.idx},f=Pj(l);return f&&(g.parameter=f),g});return o}function xj(r){return(0,Ov.getProductionDslName)(r)+"_#_"+r.idx+"_#_"+Pj(r)}zt.identifyProductionForDuplicates=xj;function Pj(r){return r instanceof _s.Terminal?r.terminalType.name:r instanceof _s.NonTerminal?r.nonTerminalName:""}var Dj=function(r){Tv(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.allProductions=[],t}return e.prototype.visitNonTerminal=function(t){this.allProductions.push(t)},e.prototype.visitOption=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionWithSeparator=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionMandatory=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionMandatoryWithSeparator=function(t){this.allProductions.push(t)},e.prototype.visitRepetition=function(t){this.allProductions.push(t)},e.prototype.visitAlternation=function(t){this.allProductions.push(t)},e.prototype.visitTerminal=function(t){this.allProductions.push(t)},e}(Mv.GAstVisitor);zt.OccurrenceValidationCollector=Dj;function kj(r,e,t,i){var n=[],s=(0,br.reduce)(e,function(a,l){return l.name===r.name?a+1:a},0);if(s>1){var o=i.buildDuplicateRuleNameError({topLevelRule:r,grammarName:t});n.push({message:o,type:Do.ParserDefinitionErrorType.DUPLICATE_RULE_NAME,ruleName:r.name})}return n}zt.validateRuleDoesNotAlreadyExist=kj;function eIe(r,e,t){var i=[],n;return er.contains(e,r)||(n="Invalid rule override, rule: ->"+r+"<- cannot be overridden in the grammar: ->"+t+"<-as it is not defined in any of the super grammars ",i.push({message:n,type:Do.ParserDefinitionErrorType.INVALID_RULE_OVERRIDE,ruleName:r})),i}zt.validateRuleIsOverridden=eIe;function Kv(r,e,t,i){i===void 0&&(i=[]);var n=[],s=yd(e.definition);if(er.isEmpty(s))return[];var o=r.name,a=er.contains(s,r);a&&n.push({message:t.buildLeftRecursionError({topLevelRule:r,leftRecursionPath:i}),type:Do.ParserDefinitionErrorType.LEFT_RECURSION,ruleName:o});var l=er.difference(s,i.concat([r])),c=er.map(l,function(u){var g=er.cloneArr(i);return g.push(u),Kv(r,u,t,g)});return n.concat(er.flatten(c))}zt.validateNoLeftRecursion=Kv;function yd(r){var e=[];if(er.isEmpty(r))return e;var t=er.first(r);if(t instanceof _s.NonTerminal)e.push(t.referencedRule);else if(t instanceof _s.Alternative||t instanceof _s.Option||t instanceof _s.RepetitionMandatory||t instanceof _s.RepetitionMandatoryWithSeparator||t instanceof _s.RepetitionWithSeparator||t instanceof _s.Repetition)e=e.concat(yd(t.definition));else if(t instanceof _s.Alternation)e=er.flatten(er.map(t.definition,function(o){return yd(o.definition)}));else if(!(t instanceof _s.Terminal))throw Error("non exhaustive match");var i=(0,Ov.isOptionalProd)(t),n=r.length>1;if(i&&n){var s=er.drop(r);return e.concat(yd(s))}else return e}zt.getFirstNoneTerminal=yd;var Uv=function(r){Tv(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.alternations=[],t}return e.prototype.visitAlternation=function(t){this.alternations.push(t)},e}(Mv.GAstVisitor);function Rj(r,e){var t=new Uv;r.accept(t);var i=t.alternations,n=er.reduce(i,function(s,o){var a=er.dropRight(o.definition),l=er.map(a,function(c,u){var g=(0,_Ee.nextPossibleTokensAfter)([c],[],null,1);return er.isEmpty(g)?{message:e.buildEmptyAlternationError({topLevelRule:r,alternation:o,emptyChoiceIdx:u}),type:Do.ParserDefinitionErrorType.NONE_LAST_EMPTY_ALT,ruleName:r.name,occurrence:o.idx,alternative:u+1}:null});return s.concat(er.compact(l))},[]);return n}zt.validateEmptyOrAlternative=Rj;function Fj(r,e,t){var i=new Uv;r.accept(i);var n=i.alternations;n=(0,br.reject)(n,function(o){return o.ignoreAmbiguities===!0});var s=er.reduce(n,function(o,a){var l=a.idx,c=a.maxLookahead||e,u=(0,qg.getLookaheadPathsForOr)(l,r,c,a),g=tIe(u,a,r,t),f=Oj(u,a,r,t);return o.concat(g,f)},[]);return s}zt.validateAmbiguousAlternationAlternatives=Fj;var Nj=function(r){Tv(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.allProductions=[],t}return e.prototype.visitRepetitionWithSeparator=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionMandatory=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionMandatoryWithSeparator=function(t){this.allProductions.push(t)},e.prototype.visitRepetition=function(t){this.allProductions.push(t)},e}(Mv.GAstVisitor);zt.RepetionCollector=Nj;function Lj(r,e){var t=new Uv;r.accept(t);var i=t.alternations,n=er.reduce(i,function(s,o){return o.definition.length>255&&s.push({message:e.buildTooManyAlternativesError({topLevelRule:r,alternation:o}),type:Do.ParserDefinitionErrorType.TOO_MANY_ALTS,ruleName:r.name,occurrence:o.idx}),s},[]);return n}zt.validateTooManyAlts=Lj;function Tj(r,e,t){var i=[];return(0,br.forEach)(r,function(n){var s=new Nj;n.accept(s);var o=s.allProductions;(0,br.forEach)(o,function(a){var l=(0,qg.getProdType)(a),c=a.maxLookahead||e,u=a.idx,g=(0,qg.getLookaheadPathsForOptionalProd)(u,n,l,c),f=g[0];if((0,br.isEmpty)((0,br.flatten)(f))){var h=t.buildEmptyRepetitionError({topLevelRule:n,repetition:a});i.push({message:h,type:Do.ParserDefinitionErrorType.NO_NON_EMPTY_LOOKAHEAD,ruleName:n.name})}})}),i}zt.validateSomeNonEmptyLookaheadPath=Tj;function tIe(r,e,t,i){var n=[],s=(0,br.reduce)(r,function(a,l,c){return e.definition[c].ignoreAmbiguities===!0||(0,br.forEach)(l,function(u){var g=[c];(0,br.forEach)(r,function(f,h){c!==h&&(0,qg.containsPath)(f,u)&&e.definition[h].ignoreAmbiguities!==!0&&g.push(h)}),g.length>1&&!(0,qg.containsPath)(n,u)&&(n.push(u),a.push({alts:g,path:u}))}),a},[]),o=er.map(s,function(a){var l=(0,br.map)(a.alts,function(u){return u+1}),c=i.buildAlternationAmbiguityError({topLevelRule:t,alternation:e,ambiguityIndices:l,prefixPath:a.path});return{message:c,type:Do.ParserDefinitionErrorType.AMBIGUOUS_ALTS,ruleName:t.name,occurrence:e.idx,alternatives:[a.alts]}});return o}function Oj(r,e,t,i){var n=[],s=(0,br.reduce)(r,function(o,a,l){var c=(0,br.map)(a,function(u){return{idx:l,path:u}});return o.concat(c)},[]);return(0,br.forEach)(s,function(o){var a=e.definition[o.idx];if(a.ignoreAmbiguities!==!0){var l=o.idx,c=o.path,u=(0,br.findAll)(s,function(f){return e.definition[f.idx].ignoreAmbiguities!==!0&&f.idx{"use strict";Object.defineProperty(Jg,"__esModule",{value:!0});Jg.validateGrammar=Jg.resolveGrammar=void 0;var Gv=Gt(),iIe=Cj(),nIe=Hv(),Mj=Cd();function sIe(r){r=(0,Gv.defaults)(r,{errMsgProvider:Mj.defaultGrammarResolverErrorProvider});var e={};return(0,Gv.forEach)(r.rules,function(t){e[t.name]=t}),(0,iIe.resolveGrammar)(e,r.errMsgProvider)}Jg.resolveGrammar=sIe;function oIe(r){return r=(0,Gv.defaults)(r,{errMsgProvider:Mj.defaultGrammarValidatorErrorProvider}),(0,nIe.validateGrammar)(r.rules,r.maxLookahead,r.tokenTypes,r.errMsgProvider,r.grammarName)}Jg.validateGrammar=oIe});var Wg=w(mn=>{"use strict";var wd=mn&&mn.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(mn,"__esModule",{value:!0});mn.EarlyExitException=mn.NotAllInputParsedException=mn.NoViableAltException=mn.MismatchedTokenException=mn.isRecognitionException=void 0;var aIe=Gt(),Uj="MismatchedTokenException",Hj="NoViableAltException",Gj="EarlyExitException",Yj="NotAllInputParsedException",jj=[Uj,Hj,Gj,Yj];Object.freeze(jj);function AIe(r){return(0,aIe.contains)(jj,r.name)}mn.isRecognitionException=AIe;var ry=function(r){wd(e,r);function e(t,i){var n=this.constructor,s=r.call(this,t)||this;return s.token=i,s.resyncedTokens=[],Object.setPrototypeOf(s,n.prototype),Error.captureStackTrace&&Error.captureStackTrace(s,s.constructor),s}return e}(Error),lIe=function(r){wd(e,r);function e(t,i,n){var s=r.call(this,t,i)||this;return s.previousToken=n,s.name=Uj,s}return e}(ry);mn.MismatchedTokenException=lIe;var cIe=function(r){wd(e,r);function e(t,i,n){var s=r.call(this,t,i)||this;return s.previousToken=n,s.name=Hj,s}return e}(ry);mn.NoViableAltException=cIe;var uIe=function(r){wd(e,r);function e(t,i){var n=r.call(this,t,i)||this;return n.name=Yj,n}return e}(ry);mn.NotAllInputParsedException=uIe;var gIe=function(r){wd(e,r);function e(t,i,n){var s=r.call(this,t,i)||this;return s.previousToken=n,s.name=Gj,s}return e}(ry);mn.EarlyExitException=gIe});var jv=w(Mi=>{"use strict";Object.defineProperty(Mi,"__esModule",{value:!0});Mi.attemptInRepetitionRecovery=Mi.Recoverable=Mi.InRuleRecoveryException=Mi.IN_RULE_RECOVERY_EXCEPTION=Mi.EOF_FOLLOW_KEY=void 0;var iy=SA(),ls=Gt(),fIe=Wg(),hIe=kv(),pIe=Hn();Mi.EOF_FOLLOW_KEY={};Mi.IN_RULE_RECOVERY_EXCEPTION="InRuleRecoveryException";function Yv(r){this.name=Mi.IN_RULE_RECOVERY_EXCEPTION,this.message=r}Mi.InRuleRecoveryException=Yv;Yv.prototype=Error.prototype;var dIe=function(){function r(){}return r.prototype.initRecoverable=function(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=(0,ls.has)(e,"recoveryEnabled")?e.recoveryEnabled:pIe.DEFAULT_PARSER_CONFIG.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=qj)},r.prototype.getTokenToInsert=function(e){var t=(0,iy.createTokenInstance)(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return t.isInsertedInRecovery=!0,t},r.prototype.canTokenTypeBeInsertedInRecovery=function(e){return!0},r.prototype.tryInRepetitionRecovery=function(e,t,i,n){for(var s=this,o=this.findReSyncTokenType(),a=this.exportLexerState(),l=[],c=!1,u=this.LA(1),g=this.LA(1),f=function(){var h=s.LA(0),p=s.errorMessageProvider.buildMismatchTokenMessage({expected:n,actual:u,previous:h,ruleName:s.getCurrRuleFullName()}),C=new fIe.MismatchedTokenException(p,u,s.LA(0));C.resyncedTokens=(0,ls.dropRight)(l),s.SAVE_ERROR(C)};!c;)if(this.tokenMatcher(g,n)){f();return}else if(i.call(this)){f(),e.apply(this,t);return}else this.tokenMatcher(g,o)?c=!0:(g=this.SKIP_TOKEN(),this.addToResyncTokens(g,l));this.importLexerState(a)},r.prototype.shouldInRepetitionRecoveryBeTried=function(e,t,i){return!(i===!1||e===void 0||t===void 0||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,t)))},r.prototype.getFollowsForInRuleRecovery=function(e,t){var i=this.getCurrentGrammarPath(e,t),n=this.getNextPossibleTokenTypes(i);return n},r.prototype.tryInRuleRecovery=function(e,t){if(this.canRecoverWithSingleTokenInsertion(e,t)){var i=this.getTokenToInsert(e);return i}if(this.canRecoverWithSingleTokenDeletion(e)){var n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new Yv("sad sad panda")},r.prototype.canPerformInRuleRecovery=function(e,t){return this.canRecoverWithSingleTokenInsertion(e,t)||this.canRecoverWithSingleTokenDeletion(e)},r.prototype.canRecoverWithSingleTokenInsertion=function(e,t){var i=this;if(!this.canTokenTypeBeInsertedInRecovery(e)||(0,ls.isEmpty)(t))return!1;var n=this.LA(1),s=(0,ls.find)(t,function(o){return i.tokenMatcher(n,o)})!==void 0;return s},r.prototype.canRecoverWithSingleTokenDeletion=function(e){var t=this.tokenMatcher(this.LA(2),e);return t},r.prototype.isInCurrentRuleReSyncSet=function(e){var t=this.getCurrFollowKey(),i=this.getFollowSetFromFollowKey(t);return(0,ls.contains)(i,e)},r.prototype.findReSyncTokenType=function(){for(var e=this.flattenFollowSet(),t=this.LA(1),i=2;;){var n=t.tokenType;if((0,ls.contains)(e,n))return n;t=this.LA(i),i++}},r.prototype.getCurrFollowKey=function(){if(this.RULE_STACK.length===1)return Mi.EOF_FOLLOW_KEY;var e=this.getLastExplicitRuleShortName(),t=this.getLastExplicitRuleOccurrenceIndex(),i=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:t,inRule:this.shortRuleNameToFullName(i)}},r.prototype.buildFullFollowKeyStack=function(){var e=this,t=this.RULE_STACK,i=this.RULE_OCCURRENCE_STACK;return(0,ls.map)(t,function(n,s){return s===0?Mi.EOF_FOLLOW_KEY:{ruleName:e.shortRuleNameToFullName(n),idxInCallingRule:i[s],inRule:e.shortRuleNameToFullName(t[s-1])}})},r.prototype.flattenFollowSet=function(){var e=this,t=(0,ls.map)(this.buildFullFollowKeyStack(),function(i){return e.getFollowSetFromFollowKey(i)});return(0,ls.flatten)(t)},r.prototype.getFollowSetFromFollowKey=function(e){if(e===Mi.EOF_FOLLOW_KEY)return[iy.EOF];var t=e.ruleName+e.idxInCallingRule+hIe.IN+e.inRule;return this.resyncFollows[t]},r.prototype.addToResyncTokens=function(e,t){return this.tokenMatcher(e,iy.EOF)||t.push(e),t},r.prototype.reSyncTo=function(e){for(var t=[],i=this.LA(1);this.tokenMatcher(i,e)===!1;)i=this.SKIP_TOKEN(),this.addToResyncTokens(i,t);return(0,ls.dropRight)(t)},r.prototype.attemptInRepetitionRecovery=function(e,t,i,n,s,o,a){},r.prototype.getCurrentGrammarPath=function(e,t){var i=this.getHumanReadableRuleStack(),n=(0,ls.cloneArr)(this.RULE_OCCURRENCE_STACK),s={ruleStack:i,occurrenceStack:n,lastTok:e,lastTokOccurrence:t};return s},r.prototype.getHumanReadableRuleStack=function(){var e=this;return(0,ls.map)(this.RULE_STACK,function(t){return e.shortRuleNameToFullName(t)})},r}();Mi.Recoverable=dIe;function qj(r,e,t,i,n,s,o){var a=this.getKeyForAutomaticLookahead(i,n),l=this.firstAfterRepMap[a];if(l===void 0){var c=this.getCurrRuleFullName(),u=this.getGAstProductions()[c],g=new s(u,n);l=g.startWalking(),this.firstAfterRepMap[a]=l}var f=l.token,h=l.occurrence,p=l.isEndOfRule;this.RULE_STACK.length===1&&p&&f===void 0&&(f=iy.EOF,h=1),this.shouldInRepetitionRecoveryBeTried(f,h,o)&&this.tryInRepetitionRecovery(r,e,t,f)}Mi.attemptInRepetitionRecovery=qj});var ny=w(qt=>{"use strict";Object.defineProperty(qt,"__esModule",{value:!0});qt.getKeyForAutomaticLookahead=qt.AT_LEAST_ONE_SEP_IDX=qt.MANY_SEP_IDX=qt.AT_LEAST_ONE_IDX=qt.MANY_IDX=qt.OPTION_IDX=qt.OR_IDX=qt.BITS_FOR_ALT_IDX=qt.BITS_FOR_RULE_IDX=qt.BITS_FOR_OCCURRENCE_IDX=qt.BITS_FOR_METHOD_TYPE=void 0;qt.BITS_FOR_METHOD_TYPE=4;qt.BITS_FOR_OCCURRENCE_IDX=8;qt.BITS_FOR_RULE_IDX=12;qt.BITS_FOR_ALT_IDX=8;qt.OR_IDX=1<{"use strict";Object.defineProperty(sy,"__esModule",{value:!0});sy.LooksAhead=void 0;var Qa=Id(),Zs=Gt(),Jj=Hn(),ba=ny(),oc=dd(),mIe=function(){function r(){}return r.prototype.initLooksAhead=function(e){this.dynamicTokensEnabled=(0,Zs.has)(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:Jj.DEFAULT_PARSER_CONFIG.dynamicTokensEnabled,this.maxLookahead=(0,Zs.has)(e,"maxLookahead")?e.maxLookahead:Jj.DEFAULT_PARSER_CONFIG.maxLookahead,this.lookAheadFuncsCache=(0,Zs.isES2015MapSupported)()?new Map:[],(0,Zs.isES2015MapSupported)()?(this.getLaFuncFromCache=this.getLaFuncFromMap,this.setLaFuncCache=this.setLaFuncCacheUsingMap):(this.getLaFuncFromCache=this.getLaFuncFromObj,this.setLaFuncCache=this.setLaFuncUsingObj)},r.prototype.preComputeLookaheadFunctions=function(e){var t=this;(0,Zs.forEach)(e,function(i){t.TRACE_INIT(i.name+" Rule Lookahead",function(){var n=(0,oc.collectMethods)(i),s=n.alternation,o=n.repetition,a=n.option,l=n.repetitionMandatory,c=n.repetitionMandatoryWithSeparator,u=n.repetitionWithSeparator;(0,Zs.forEach)(s,function(g){var f=g.idx===0?"":g.idx;t.TRACE_INIT(""+(0,oc.getProductionDslName)(g)+f,function(){var h=(0,Qa.buildLookaheadFuncForOr)(g.idx,i,g.maxLookahead||t.maxLookahead,g.hasPredicates,t.dynamicTokensEnabled,t.lookAheadBuilderForAlternatives),p=(0,ba.getKeyForAutomaticLookahead)(t.fullRuleNameToShort[i.name],ba.OR_IDX,g.idx);t.setLaFuncCache(p,h)})}),(0,Zs.forEach)(o,function(g){t.computeLookaheadFunc(i,g.idx,ba.MANY_IDX,Qa.PROD_TYPE.REPETITION,g.maxLookahead,(0,oc.getProductionDslName)(g))}),(0,Zs.forEach)(a,function(g){t.computeLookaheadFunc(i,g.idx,ba.OPTION_IDX,Qa.PROD_TYPE.OPTION,g.maxLookahead,(0,oc.getProductionDslName)(g))}),(0,Zs.forEach)(l,function(g){t.computeLookaheadFunc(i,g.idx,ba.AT_LEAST_ONE_IDX,Qa.PROD_TYPE.REPETITION_MANDATORY,g.maxLookahead,(0,oc.getProductionDslName)(g))}),(0,Zs.forEach)(c,function(g){t.computeLookaheadFunc(i,g.idx,ba.AT_LEAST_ONE_SEP_IDX,Qa.PROD_TYPE.REPETITION_MANDATORY_WITH_SEPARATOR,g.maxLookahead,(0,oc.getProductionDslName)(g))}),(0,Zs.forEach)(u,function(g){t.computeLookaheadFunc(i,g.idx,ba.MANY_SEP_IDX,Qa.PROD_TYPE.REPETITION_WITH_SEPARATOR,g.maxLookahead,(0,oc.getProductionDslName)(g))})})})},r.prototype.computeLookaheadFunc=function(e,t,i,n,s,o){var a=this;this.TRACE_INIT(""+o+(t===0?"":t),function(){var l=(0,Qa.buildLookaheadFuncForOptionalProd)(t,e,s||a.maxLookahead,a.dynamicTokensEnabled,n,a.lookAheadBuilderForOptional),c=(0,ba.getKeyForAutomaticLookahead)(a.fullRuleNameToShort[e.name],i,t);a.setLaFuncCache(c,l)})},r.prototype.lookAheadBuilderForOptional=function(e,t,i){return(0,Qa.buildSingleAlternativeLookaheadFunction)(e,t,i)},r.prototype.lookAheadBuilderForAlternatives=function(e,t,i,n){return(0,Qa.buildAlternativesLookAheadFunc)(e,t,i,n)},r.prototype.getKeyForAutomaticLookahead=function(e,t){var i=this.getLastExplicitRuleShortName();return(0,ba.getKeyForAutomaticLookahead)(i,e,t)},r.prototype.getLaFuncFromCache=function(e){},r.prototype.getLaFuncFromMap=function(e){return this.lookAheadFuncsCache.get(e)},r.prototype.getLaFuncFromObj=function(e){return this.lookAheadFuncsCache[e]},r.prototype.setLaFuncCache=function(e,t){},r.prototype.setLaFuncCacheUsingMap=function(e,t){this.lookAheadFuncsCache.set(e,t)},r.prototype.setLaFuncUsingObj=function(e,t){this.lookAheadFuncsCache[e]=t},r}();sy.LooksAhead=mIe});var zj=w(ko=>{"use strict";Object.defineProperty(ko,"__esModule",{value:!0});ko.addNoneTerminalToCst=ko.addTerminalToCst=ko.setNodeLocationFull=ko.setNodeLocationOnlyOffset=void 0;function EIe(r,e){isNaN(r.startOffset)===!0?(r.startOffset=e.startOffset,r.endOffset=e.endOffset):r.endOffset{"use strict";Object.defineProperty(PA,"__esModule",{value:!0});PA.defineNameProp=PA.functionName=PA.classNameFromInstance=void 0;var BIe=Gt();function QIe(r){return Xj(r.constructor)}PA.classNameFromInstance=QIe;var Vj="name";function Xj(r){var e=r.name;return e||"anonymous"}PA.functionName=Xj;function bIe(r,e){var t=Object.getOwnPropertyDescriptor(r,Vj);return(0,BIe.isUndefined)(t)||t.configurable?(Object.defineProperty(r,Vj,{enumerable:!1,configurable:!0,writable:!1,value:e}),!0):!1}PA.defineNameProp=bIe});var tq=w(bi=>{"use strict";Object.defineProperty(bi,"__esModule",{value:!0});bi.validateRedundantMethods=bi.validateMissingCstMethods=bi.validateVisitor=bi.CstVisitorDefinitionError=bi.createBaseVisitorConstructorWithDefaults=bi.createBaseSemanticVisitorConstructor=bi.defaultVisit=void 0;var cs=Gt(),Bd=qv();function _j(r,e){for(var t=(0,cs.keys)(r),i=t.length,n=0;n: +see: https://en.wikipedia.org/wiki/LL_parser#Left_Factoring.`;return n},buildInvalidRuleNameError:function(r){return"deprecated"},buildDuplicateRuleNameError:function(r){var e;r.topLevelRule instanceof Wv.Rule?e=r.topLevelRule.name:e=r.topLevelRule;var t="Duplicate definition, rule: ->"+e+"<- is already defined in the grammar: ->"+r.grammarName+"<-";return t}}});var jj=w(LA=>{"use strict";var pIe=LA&&LA.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(LA,"__esModule",{value:!0});LA.GastRefResolverVisitor=LA.resolveGrammar=void 0;var dIe=Gn(),Gj=Gt(),CIe=Xg();function mIe(r,e){var t=new Yj(r,e);return t.resolveRefs(),t.errors}LA.resolveGrammar=mIe;var Yj=function(r){pIe(e,r);function e(t,i){var n=r.call(this)||this;return n.nameToTopRule=t,n.errMsgProvider=i,n.errors=[],n}return e.prototype.resolveRefs=function(){var t=this;(0,Gj.forEach)((0,Gj.values)(this.nameToTopRule),function(i){t.currTopLevel=i,i.accept(t)})},e.prototype.visitNonTerminal=function(t){var i=this.nameToTopRule[t.nonTerminalName];if(i)t.referencedRule=i;else{var n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,t);this.errors.push({message:n,type:dIe.ParserDefinitionErrorType.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:t.nonTerminalName})}},e}(CIe.GAstVisitor);LA.GastRefResolverVisitor=Yj});var xd=w(Nr=>{"use strict";var hc=Nr&&Nr.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Nr,"__esModule",{value:!0});Nr.nextPossibleTokensAfter=Nr.possiblePathsFrom=Nr.NextTerminalAfterAtLeastOneSepWalker=Nr.NextTerminalAfterAtLeastOneWalker=Nr.NextTerminalAfterManySepWalker=Nr.NextTerminalAfterManyWalker=Nr.AbstractNextTerminalAfterProductionWalker=Nr.NextAfterTokenWalker=Nr.AbstractNextPossibleTokensWalker=void 0;var qj=ny(),Kt=Gt(),EIe=qv(),kt=dn(),Jj=function(r){hc(e,r);function e(t,i){var n=r.call(this)||this;return n.topProd=t,n.path=i,n.possibleTokTypes=[],n.nextProductionName="",n.nextProductionOccurrence=0,n.found=!1,n.isAtEndOfPath=!1,n}return e.prototype.startWalking=function(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=(0,Kt.cloneArr)(this.path.ruleStack).reverse(),this.occurrenceStack=(0,Kt.cloneArr)(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes},e.prototype.walk=function(t,i){i===void 0&&(i=[]),this.found||r.prototype.walk.call(this,t,i)},e.prototype.walkProdRef=function(t,i,n){if(t.referencedRule.name===this.nextProductionName&&t.idx===this.nextProductionOccurrence){var s=i.concat(n);this.updateExpectedNext(),this.walk(t.referencedRule,s)}},e.prototype.updateExpectedNext=function(){(0,Kt.isEmpty)(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())},e}(qj.RestWalker);Nr.AbstractNextPossibleTokensWalker=Jj;var IIe=function(r){hc(e,r);function e(t,i){var n=r.call(this,t,i)||this;return n.path=i,n.nextTerminalName="",n.nextTerminalOccurrence=0,n.nextTerminalName=n.path.lastTok.name,n.nextTerminalOccurrence=n.path.lastTokOccurrence,n}return e.prototype.walkTerminal=function(t,i,n){if(this.isAtEndOfPath&&t.terminalType.name===this.nextTerminalName&&t.idx===this.nextTerminalOccurrence&&!this.found){var s=i.concat(n),o=new kt.Alternative({definition:s});this.possibleTokTypes=(0,EIe.first)(o),this.found=!0}},e}(Jj);Nr.NextAfterTokenWalker=IIe;var vd=function(r){hc(e,r);function e(t,i){var n=r.call(this)||this;return n.topRule=t,n.occurrence=i,n.result={token:void 0,occurrence:void 0,isEndOfRule:void 0},n}return e.prototype.startWalking=function(){return this.walk(this.topRule),this.result},e}(qj.RestWalker);Nr.AbstractNextTerminalAfterProductionWalker=vd;var yIe=function(r){hc(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.walkMany=function(t,i,n){if(t.idx===this.occurrence){var s=(0,Kt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof kt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else r.prototype.walkMany.call(this,t,i,n)},e}(vd);Nr.NextTerminalAfterManyWalker=yIe;var wIe=function(r){hc(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.walkManySep=function(t,i,n){if(t.idx===this.occurrence){var s=(0,Kt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof kt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else r.prototype.walkManySep.call(this,t,i,n)},e}(vd);Nr.NextTerminalAfterManySepWalker=wIe;var BIe=function(r){hc(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.walkAtLeastOne=function(t,i,n){if(t.idx===this.occurrence){var s=(0,Kt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof kt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else r.prototype.walkAtLeastOne.call(this,t,i,n)},e}(vd);Nr.NextTerminalAfterAtLeastOneWalker=BIe;var QIe=function(r){hc(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.walkAtLeastOneSep=function(t,i,n){if(t.idx===this.occurrence){var s=(0,Kt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof kt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else r.prototype.walkAtLeastOneSep.call(this,t,i,n)},e}(vd);Nr.NextTerminalAfterAtLeastOneSepWalker=QIe;function Wj(r,e,t){t===void 0&&(t=[]),t=(0,Kt.cloneArr)(t);var i=[],n=0;function s(c){return c.concat((0,Kt.drop)(r,n+1))}function o(c){var u=Wj(s(c),e,t);return i.concat(u)}for(;t.length=0;ge--){var re=B.definition[ge],O={idx:p,def:re.definition.concat((0,Kt.drop)(h)),ruleStack:C,occurrenceStack:y};g.push(O),g.push(o)}else if(B instanceof kt.Alternative)g.push({idx:p,def:B.definition.concat((0,Kt.drop)(h)),ruleStack:C,occurrenceStack:y});else if(B instanceof kt.Rule)g.push(SIe(B,p,C,y));else throw Error("non exhaustive match")}}return u}Nr.nextPossibleTokensAfter=bIe;function SIe(r,e,t,i){var n=(0,Kt.cloneArr)(t);n.push(r.name);var s=(0,Kt.cloneArr)(i);return s.push(1),{idx:e,def:r.definition,ruleStack:n,occurrenceStack:s}}});var Pd=w(Zt=>{"use strict";var Xj=Zt&&Zt.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Zt,"__esModule",{value:!0});Zt.areTokenCategoriesNotUsed=Zt.isStrictPrefixOfPath=Zt.containsPath=Zt.getLookaheadPathsForOptionalProd=Zt.getLookaheadPathsForOr=Zt.lookAheadSequenceFromAlternatives=Zt.buildSingleAlternativeLookaheadFunction=Zt.buildAlternativesLookAheadFunc=Zt.buildLookaheadFuncForOptionalProd=Zt.buildLookaheadFuncForOr=Zt.getProdType=Zt.PROD_TYPE=void 0;var sr=Gt(),zj=xd(),vIe=ny(),cy=Vg(),TA=dn(),xIe=Xg(),oi;(function(r){r[r.OPTION=0]="OPTION",r[r.REPETITION=1]="REPETITION",r[r.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",r[r.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",r[r.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",r[r.ALTERNATION=5]="ALTERNATION"})(oi=Zt.PROD_TYPE||(Zt.PROD_TYPE={}));function PIe(r){if(r instanceof TA.Option)return oi.OPTION;if(r instanceof TA.Repetition)return oi.REPETITION;if(r instanceof TA.RepetitionMandatory)return oi.REPETITION_MANDATORY;if(r instanceof TA.RepetitionMandatoryWithSeparator)return oi.REPETITION_MANDATORY_WITH_SEPARATOR;if(r instanceof TA.RepetitionWithSeparator)return oi.REPETITION_WITH_SEPARATOR;if(r instanceof TA.Alternation)return oi.ALTERNATION;throw Error("non exhaustive match")}Zt.getProdType=PIe;function DIe(r,e,t,i,n,s){var o=_j(r,e,t),a=Xv(o)?cy.tokenStructuredMatcherNoCategories:cy.tokenStructuredMatcher;return s(o,i,a,n)}Zt.buildLookaheadFuncForOr=DIe;function kIe(r,e,t,i,n,s){var o=$j(r,e,n,t),a=Xv(o)?cy.tokenStructuredMatcherNoCategories:cy.tokenStructuredMatcher;return s(o[0],a,i)}Zt.buildLookaheadFuncForOptionalProd=kIe;function RIe(r,e,t,i){var n=r.length,s=(0,sr.every)(r,function(l){return(0,sr.every)(l,function(c){return c.length===1})});if(e)return function(l){for(var c=(0,sr.map)(l,function(D){return D.GATE}),u=0;u{"use strict";var Zv=Vt&&Vt.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Vt,"__esModule",{value:!0});Vt.checkPrefixAlternativesAmbiguities=Vt.validateSomeNonEmptyLookaheadPath=Vt.validateTooManyAlts=Vt.RepetionCollector=Vt.validateAmbiguousAlternationAlternatives=Vt.validateEmptyOrAlternative=Vt.getFirstNoneTerminal=Vt.validateNoLeftRecursion=Vt.validateRuleIsOverridden=Vt.validateRuleDoesNotAlreadyExist=Vt.OccurrenceValidationCollector=Vt.identifyProductionForDuplicates=Vt.validateGrammar=void 0;var er=Gt(),br=Gt(),No=Gn(),_v=bd(),_g=Pd(),OIe=xd(),$s=dn(),$v=Xg();function MIe(r,e,t,i,n){var s=er.map(r,function(h){return KIe(h,i)}),o=er.map(r,function(h){return ex(h,h,i)}),a=[],l=[],c=[];(0,br.every)(o,br.isEmpty)&&(a=(0,br.map)(r,function(h){return sq(h,i)}),l=(0,br.map)(r,function(h){return oq(h,e,i)}),c=lq(r,e,i));var u=GIe(r,t,i),g=(0,br.map)(r,function(h){return Aq(h,i)}),f=(0,br.map)(r,function(h){return nq(h,r,n,i)});return er.flatten(s.concat(c,o,a,l,u,g,f))}Vt.validateGrammar=MIe;function KIe(r,e){var t=new iq;r.accept(t);var i=t.allProductions,n=er.groupBy(i,tq),s=er.pick(n,function(a){return a.length>1}),o=er.map(er.values(s),function(a){var l=er.first(a),c=e.buildDuplicateFoundError(r,a),u=(0,_v.getProductionDslName)(l),g={message:c,type:No.ParserDefinitionErrorType.DUPLICATE_PRODUCTIONS,ruleName:r.name,dslName:u,occurrence:l.idx},f=rq(l);return f&&(g.parameter=f),g});return o}function tq(r){return(0,_v.getProductionDslName)(r)+"_#_"+r.idx+"_#_"+rq(r)}Vt.identifyProductionForDuplicates=tq;function rq(r){return r instanceof $s.Terminal?r.terminalType.name:r instanceof $s.NonTerminal?r.nonTerminalName:""}var iq=function(r){Zv(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.allProductions=[],t}return e.prototype.visitNonTerminal=function(t){this.allProductions.push(t)},e.prototype.visitOption=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionWithSeparator=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionMandatory=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionMandatoryWithSeparator=function(t){this.allProductions.push(t)},e.prototype.visitRepetition=function(t){this.allProductions.push(t)},e.prototype.visitAlternation=function(t){this.allProductions.push(t)},e.prototype.visitTerminal=function(t){this.allProductions.push(t)},e}($v.GAstVisitor);Vt.OccurrenceValidationCollector=iq;function nq(r,e,t,i){var n=[],s=(0,br.reduce)(e,function(a,l){return l.name===r.name?a+1:a},0);if(s>1){var o=i.buildDuplicateRuleNameError({topLevelRule:r,grammarName:t});n.push({message:o,type:No.ParserDefinitionErrorType.DUPLICATE_RULE_NAME,ruleName:r.name})}return n}Vt.validateRuleDoesNotAlreadyExist=nq;function UIe(r,e,t){var i=[],n;return er.contains(e,r)||(n="Invalid rule override, rule: ->"+r+"<- cannot be overridden in the grammar: ->"+t+"<-as it is not defined in any of the super grammars ",i.push({message:n,type:No.ParserDefinitionErrorType.INVALID_RULE_OVERRIDE,ruleName:r})),i}Vt.validateRuleIsOverridden=UIe;function ex(r,e,t,i){i===void 0&&(i=[]);var n=[],s=Dd(e.definition);if(er.isEmpty(s))return[];var o=r.name,a=er.contains(s,r);a&&n.push({message:t.buildLeftRecursionError({topLevelRule:r,leftRecursionPath:i}),type:No.ParserDefinitionErrorType.LEFT_RECURSION,ruleName:o});var l=er.difference(s,i.concat([r])),c=er.map(l,function(u){var g=er.cloneArr(i);return g.push(u),ex(r,u,t,g)});return n.concat(er.flatten(c))}Vt.validateNoLeftRecursion=ex;function Dd(r){var e=[];if(er.isEmpty(r))return e;var t=er.first(r);if(t instanceof $s.NonTerminal)e.push(t.referencedRule);else if(t instanceof $s.Alternative||t instanceof $s.Option||t instanceof $s.RepetitionMandatory||t instanceof $s.RepetitionMandatoryWithSeparator||t instanceof $s.RepetitionWithSeparator||t instanceof $s.Repetition)e=e.concat(Dd(t.definition));else if(t instanceof $s.Alternation)e=er.flatten(er.map(t.definition,function(o){return Dd(o.definition)}));else if(!(t instanceof $s.Terminal))throw Error("non exhaustive match");var i=(0,_v.isOptionalProd)(t),n=r.length>1;if(i&&n){var s=er.drop(r);return e.concat(Dd(s))}else return e}Vt.getFirstNoneTerminal=Dd;var tx=function(r){Zv(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.alternations=[],t}return e.prototype.visitAlternation=function(t){this.alternations.push(t)},e}($v.GAstVisitor);function sq(r,e){var t=new tx;r.accept(t);var i=t.alternations,n=er.reduce(i,function(s,o){var a=er.dropRight(o.definition),l=er.map(a,function(c,u){var g=(0,OIe.nextPossibleTokensAfter)([c],[],null,1);return er.isEmpty(g)?{message:e.buildEmptyAlternationError({topLevelRule:r,alternation:o,emptyChoiceIdx:u}),type:No.ParserDefinitionErrorType.NONE_LAST_EMPTY_ALT,ruleName:r.name,occurrence:o.idx,alternative:u+1}:null});return s.concat(er.compact(l))},[]);return n}Vt.validateEmptyOrAlternative=sq;function oq(r,e,t){var i=new tx;r.accept(i);var n=i.alternations;n=(0,br.reject)(n,function(o){return o.ignoreAmbiguities===!0});var s=er.reduce(n,function(o,a){var l=a.idx,c=a.maxLookahead||e,u=(0,_g.getLookaheadPathsForOr)(l,r,c,a),g=HIe(u,a,r,t),f=cq(u,a,r,t);return o.concat(g,f)},[]);return s}Vt.validateAmbiguousAlternationAlternatives=oq;var aq=function(r){Zv(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.allProductions=[],t}return e.prototype.visitRepetitionWithSeparator=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionMandatory=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionMandatoryWithSeparator=function(t){this.allProductions.push(t)},e.prototype.visitRepetition=function(t){this.allProductions.push(t)},e}($v.GAstVisitor);Vt.RepetionCollector=aq;function Aq(r,e){var t=new tx;r.accept(t);var i=t.alternations,n=er.reduce(i,function(s,o){return o.definition.length>255&&s.push({message:e.buildTooManyAlternativesError({topLevelRule:r,alternation:o}),type:No.ParserDefinitionErrorType.TOO_MANY_ALTS,ruleName:r.name,occurrence:o.idx}),s},[]);return n}Vt.validateTooManyAlts=Aq;function lq(r,e,t){var i=[];return(0,br.forEach)(r,function(n){var s=new aq;n.accept(s);var o=s.allProductions;(0,br.forEach)(o,function(a){var l=(0,_g.getProdType)(a),c=a.maxLookahead||e,u=a.idx,g=(0,_g.getLookaheadPathsForOptionalProd)(u,n,l,c),f=g[0];if((0,br.isEmpty)((0,br.flatten)(f))){var h=t.buildEmptyRepetitionError({topLevelRule:n,repetition:a});i.push({message:h,type:No.ParserDefinitionErrorType.NO_NON_EMPTY_LOOKAHEAD,ruleName:n.name})}})}),i}Vt.validateSomeNonEmptyLookaheadPath=lq;function HIe(r,e,t,i){var n=[],s=(0,br.reduce)(r,function(a,l,c){return e.definition[c].ignoreAmbiguities===!0||(0,br.forEach)(l,function(u){var g=[c];(0,br.forEach)(r,function(f,h){c!==h&&(0,_g.containsPath)(f,u)&&e.definition[h].ignoreAmbiguities!==!0&&g.push(h)}),g.length>1&&!(0,_g.containsPath)(n,u)&&(n.push(u),a.push({alts:g,path:u}))}),a},[]),o=er.map(s,function(a){var l=(0,br.map)(a.alts,function(u){return u+1}),c=i.buildAlternationAmbiguityError({topLevelRule:t,alternation:e,ambiguityIndices:l,prefixPath:a.path});return{message:c,type:No.ParserDefinitionErrorType.AMBIGUOUS_ALTS,ruleName:t.name,occurrence:e.idx,alternatives:[a.alts]}});return o}function cq(r,e,t,i){var n=[],s=(0,br.reduce)(r,function(o,a,l){var c=(0,br.map)(a,function(u){return{idx:l,path:u}});return o.concat(c)},[]);return(0,br.forEach)(s,function(o){var a=e.definition[o.idx];if(a.ignoreAmbiguities!==!0){var l=o.idx,c=o.path,u=(0,br.findAll)(s,function(f){return e.definition[f.idx].ignoreAmbiguities!==!0&&f.idx{"use strict";Object.defineProperty($g,"__esModule",{value:!0});$g.validateGrammar=$g.resolveGrammar=void 0;var ix=Gt(),YIe=jj(),jIe=rx(),uq=Sd();function qIe(r){r=(0,ix.defaults)(r,{errMsgProvider:uq.defaultGrammarResolverErrorProvider});var e={};return(0,ix.forEach)(r.rules,function(t){e[t.name]=t}),(0,YIe.resolveGrammar)(e,r.errMsgProvider)}$g.resolveGrammar=qIe;function JIe(r){return r=(0,ix.defaults)(r,{errMsgProvider:uq.defaultGrammarValidatorErrorProvider}),(0,jIe.validateGrammar)(r.rules,r.maxLookahead,r.tokenTypes,r.errMsgProvider,r.grammarName)}$g.validateGrammar=JIe});var ef=w(mn=>{"use strict";var kd=mn&&mn.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(mn,"__esModule",{value:!0});mn.EarlyExitException=mn.NotAllInputParsedException=mn.NoViableAltException=mn.MismatchedTokenException=mn.isRecognitionException=void 0;var WIe=Gt(),fq="MismatchedTokenException",hq="NoViableAltException",pq="EarlyExitException",dq="NotAllInputParsedException",Cq=[fq,hq,pq,dq];Object.freeze(Cq);function zIe(r){return(0,WIe.contains)(Cq,r.name)}mn.isRecognitionException=zIe;var uy=function(r){kd(e,r);function e(t,i){var n=this.constructor,s=r.call(this,t)||this;return s.token=i,s.resyncedTokens=[],Object.setPrototypeOf(s,n.prototype),Error.captureStackTrace&&Error.captureStackTrace(s,s.constructor),s}return e}(Error),VIe=function(r){kd(e,r);function e(t,i,n){var s=r.call(this,t,i)||this;return s.previousToken=n,s.name=fq,s}return e}(uy);mn.MismatchedTokenException=VIe;var XIe=function(r){kd(e,r);function e(t,i,n){var s=r.call(this,t,i)||this;return s.previousToken=n,s.name=hq,s}return e}(uy);mn.NoViableAltException=XIe;var ZIe=function(r){kd(e,r);function e(t,i){var n=r.call(this,t,i)||this;return n.name=dq,n}return e}(uy);mn.NotAllInputParsedException=ZIe;var _Ie=function(r){kd(e,r);function e(t,i,n){var s=r.call(this,t,i)||this;return s.previousToken=n,s.name=pq,s}return e}(uy);mn.EarlyExitException=_Ie});var sx=w(Ki=>{"use strict";Object.defineProperty(Ki,"__esModule",{value:!0});Ki.attemptInRepetitionRecovery=Ki.Recoverable=Ki.InRuleRecoveryException=Ki.IN_RULE_RECOVERY_EXCEPTION=Ki.EOF_FOLLOW_KEY=void 0;var gy=NA(),gs=Gt(),$Ie=ef(),eye=Jv(),tye=Gn();Ki.EOF_FOLLOW_KEY={};Ki.IN_RULE_RECOVERY_EXCEPTION="InRuleRecoveryException";function nx(r){this.name=Ki.IN_RULE_RECOVERY_EXCEPTION,this.message=r}Ki.InRuleRecoveryException=nx;nx.prototype=Error.prototype;var rye=function(){function r(){}return r.prototype.initRecoverable=function(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=(0,gs.has)(e,"recoveryEnabled")?e.recoveryEnabled:tye.DEFAULT_PARSER_CONFIG.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=mq)},r.prototype.getTokenToInsert=function(e){var t=(0,gy.createTokenInstance)(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return t.isInsertedInRecovery=!0,t},r.prototype.canTokenTypeBeInsertedInRecovery=function(e){return!0},r.prototype.tryInRepetitionRecovery=function(e,t,i,n){for(var s=this,o=this.findReSyncTokenType(),a=this.exportLexerState(),l=[],c=!1,u=this.LA(1),g=this.LA(1),f=function(){var h=s.LA(0),p=s.errorMessageProvider.buildMismatchTokenMessage({expected:n,actual:u,previous:h,ruleName:s.getCurrRuleFullName()}),C=new $Ie.MismatchedTokenException(p,u,s.LA(0));C.resyncedTokens=(0,gs.dropRight)(l),s.SAVE_ERROR(C)};!c;)if(this.tokenMatcher(g,n)){f();return}else if(i.call(this)){f(),e.apply(this,t);return}else this.tokenMatcher(g,o)?c=!0:(g=this.SKIP_TOKEN(),this.addToResyncTokens(g,l));this.importLexerState(a)},r.prototype.shouldInRepetitionRecoveryBeTried=function(e,t,i){return!(i===!1||e===void 0||t===void 0||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,t)))},r.prototype.getFollowsForInRuleRecovery=function(e,t){var i=this.getCurrentGrammarPath(e,t),n=this.getNextPossibleTokenTypes(i);return n},r.prototype.tryInRuleRecovery=function(e,t){if(this.canRecoverWithSingleTokenInsertion(e,t)){var i=this.getTokenToInsert(e);return i}if(this.canRecoverWithSingleTokenDeletion(e)){var n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new nx("sad sad panda")},r.prototype.canPerformInRuleRecovery=function(e,t){return this.canRecoverWithSingleTokenInsertion(e,t)||this.canRecoverWithSingleTokenDeletion(e)},r.prototype.canRecoverWithSingleTokenInsertion=function(e,t){var i=this;if(!this.canTokenTypeBeInsertedInRecovery(e)||(0,gs.isEmpty)(t))return!1;var n=this.LA(1),s=(0,gs.find)(t,function(o){return i.tokenMatcher(n,o)})!==void 0;return s},r.prototype.canRecoverWithSingleTokenDeletion=function(e){var t=this.tokenMatcher(this.LA(2),e);return t},r.prototype.isInCurrentRuleReSyncSet=function(e){var t=this.getCurrFollowKey(),i=this.getFollowSetFromFollowKey(t);return(0,gs.contains)(i,e)},r.prototype.findReSyncTokenType=function(){for(var e=this.flattenFollowSet(),t=this.LA(1),i=2;;){var n=t.tokenType;if((0,gs.contains)(e,n))return n;t=this.LA(i),i++}},r.prototype.getCurrFollowKey=function(){if(this.RULE_STACK.length===1)return Ki.EOF_FOLLOW_KEY;var e=this.getLastExplicitRuleShortName(),t=this.getLastExplicitRuleOccurrenceIndex(),i=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:t,inRule:this.shortRuleNameToFullName(i)}},r.prototype.buildFullFollowKeyStack=function(){var e=this,t=this.RULE_STACK,i=this.RULE_OCCURRENCE_STACK;return(0,gs.map)(t,function(n,s){return s===0?Ki.EOF_FOLLOW_KEY:{ruleName:e.shortRuleNameToFullName(n),idxInCallingRule:i[s],inRule:e.shortRuleNameToFullName(t[s-1])}})},r.prototype.flattenFollowSet=function(){var e=this,t=(0,gs.map)(this.buildFullFollowKeyStack(),function(i){return e.getFollowSetFromFollowKey(i)});return(0,gs.flatten)(t)},r.prototype.getFollowSetFromFollowKey=function(e){if(e===Ki.EOF_FOLLOW_KEY)return[gy.EOF];var t=e.ruleName+e.idxInCallingRule+eye.IN+e.inRule;return this.resyncFollows[t]},r.prototype.addToResyncTokens=function(e,t){return this.tokenMatcher(e,gy.EOF)||t.push(e),t},r.prototype.reSyncTo=function(e){for(var t=[],i=this.LA(1);this.tokenMatcher(i,e)===!1;)i=this.SKIP_TOKEN(),this.addToResyncTokens(i,t);return(0,gs.dropRight)(t)},r.prototype.attemptInRepetitionRecovery=function(e,t,i,n,s,o,a){},r.prototype.getCurrentGrammarPath=function(e,t){var i=this.getHumanReadableRuleStack(),n=(0,gs.cloneArr)(this.RULE_OCCURRENCE_STACK),s={ruleStack:i,occurrenceStack:n,lastTok:e,lastTokOccurrence:t};return s},r.prototype.getHumanReadableRuleStack=function(){var e=this;return(0,gs.map)(this.RULE_STACK,function(t){return e.shortRuleNameToFullName(t)})},r}();Ki.Recoverable=rye;function mq(r,e,t,i,n,s,o){var a=this.getKeyForAutomaticLookahead(i,n),l=this.firstAfterRepMap[a];if(l===void 0){var c=this.getCurrRuleFullName(),u=this.getGAstProductions()[c],g=new s(u,n);l=g.startWalking(),this.firstAfterRepMap[a]=l}var f=l.token,h=l.occurrence,p=l.isEndOfRule;this.RULE_STACK.length===1&&p&&f===void 0&&(f=gy.EOF,h=1),this.shouldInRepetitionRecoveryBeTried(f,h,o)&&this.tryInRepetitionRecovery(r,e,t,f)}Ki.attemptInRepetitionRecovery=mq});var fy=w(Jt=>{"use strict";Object.defineProperty(Jt,"__esModule",{value:!0});Jt.getKeyForAutomaticLookahead=Jt.AT_LEAST_ONE_SEP_IDX=Jt.MANY_SEP_IDX=Jt.AT_LEAST_ONE_IDX=Jt.MANY_IDX=Jt.OPTION_IDX=Jt.OR_IDX=Jt.BITS_FOR_ALT_IDX=Jt.BITS_FOR_RULE_IDX=Jt.BITS_FOR_OCCURRENCE_IDX=Jt.BITS_FOR_METHOD_TYPE=void 0;Jt.BITS_FOR_METHOD_TYPE=4;Jt.BITS_FOR_OCCURRENCE_IDX=8;Jt.BITS_FOR_RULE_IDX=12;Jt.BITS_FOR_ALT_IDX=8;Jt.OR_IDX=1<{"use strict";Object.defineProperty(hy,"__esModule",{value:!0});hy.LooksAhead=void 0;var Pa=Pd(),eo=Gt(),Eq=Gn(),Da=fy(),pc=bd(),nye=function(){function r(){}return r.prototype.initLooksAhead=function(e){this.dynamicTokensEnabled=(0,eo.has)(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:Eq.DEFAULT_PARSER_CONFIG.dynamicTokensEnabled,this.maxLookahead=(0,eo.has)(e,"maxLookahead")?e.maxLookahead:Eq.DEFAULT_PARSER_CONFIG.maxLookahead,this.lookAheadFuncsCache=(0,eo.isES2015MapSupported)()?new Map:[],(0,eo.isES2015MapSupported)()?(this.getLaFuncFromCache=this.getLaFuncFromMap,this.setLaFuncCache=this.setLaFuncCacheUsingMap):(this.getLaFuncFromCache=this.getLaFuncFromObj,this.setLaFuncCache=this.setLaFuncUsingObj)},r.prototype.preComputeLookaheadFunctions=function(e){var t=this;(0,eo.forEach)(e,function(i){t.TRACE_INIT(i.name+" Rule Lookahead",function(){var n=(0,pc.collectMethods)(i),s=n.alternation,o=n.repetition,a=n.option,l=n.repetitionMandatory,c=n.repetitionMandatoryWithSeparator,u=n.repetitionWithSeparator;(0,eo.forEach)(s,function(g){var f=g.idx===0?"":g.idx;t.TRACE_INIT(""+(0,pc.getProductionDslName)(g)+f,function(){var h=(0,Pa.buildLookaheadFuncForOr)(g.idx,i,g.maxLookahead||t.maxLookahead,g.hasPredicates,t.dynamicTokensEnabled,t.lookAheadBuilderForAlternatives),p=(0,Da.getKeyForAutomaticLookahead)(t.fullRuleNameToShort[i.name],Da.OR_IDX,g.idx);t.setLaFuncCache(p,h)})}),(0,eo.forEach)(o,function(g){t.computeLookaheadFunc(i,g.idx,Da.MANY_IDX,Pa.PROD_TYPE.REPETITION,g.maxLookahead,(0,pc.getProductionDslName)(g))}),(0,eo.forEach)(a,function(g){t.computeLookaheadFunc(i,g.idx,Da.OPTION_IDX,Pa.PROD_TYPE.OPTION,g.maxLookahead,(0,pc.getProductionDslName)(g))}),(0,eo.forEach)(l,function(g){t.computeLookaheadFunc(i,g.idx,Da.AT_LEAST_ONE_IDX,Pa.PROD_TYPE.REPETITION_MANDATORY,g.maxLookahead,(0,pc.getProductionDslName)(g))}),(0,eo.forEach)(c,function(g){t.computeLookaheadFunc(i,g.idx,Da.AT_LEAST_ONE_SEP_IDX,Pa.PROD_TYPE.REPETITION_MANDATORY_WITH_SEPARATOR,g.maxLookahead,(0,pc.getProductionDslName)(g))}),(0,eo.forEach)(u,function(g){t.computeLookaheadFunc(i,g.idx,Da.MANY_SEP_IDX,Pa.PROD_TYPE.REPETITION_WITH_SEPARATOR,g.maxLookahead,(0,pc.getProductionDslName)(g))})})})},r.prototype.computeLookaheadFunc=function(e,t,i,n,s,o){var a=this;this.TRACE_INIT(""+o+(t===0?"":t),function(){var l=(0,Pa.buildLookaheadFuncForOptionalProd)(t,e,s||a.maxLookahead,a.dynamicTokensEnabled,n,a.lookAheadBuilderForOptional),c=(0,Da.getKeyForAutomaticLookahead)(a.fullRuleNameToShort[e.name],i,t);a.setLaFuncCache(c,l)})},r.prototype.lookAheadBuilderForOptional=function(e,t,i){return(0,Pa.buildSingleAlternativeLookaheadFunction)(e,t,i)},r.prototype.lookAheadBuilderForAlternatives=function(e,t,i,n){return(0,Pa.buildAlternativesLookAheadFunc)(e,t,i,n)},r.prototype.getKeyForAutomaticLookahead=function(e,t){var i=this.getLastExplicitRuleShortName();return(0,Da.getKeyForAutomaticLookahead)(i,e,t)},r.prototype.getLaFuncFromCache=function(e){},r.prototype.getLaFuncFromMap=function(e){return this.lookAheadFuncsCache.get(e)},r.prototype.getLaFuncFromObj=function(e){return this.lookAheadFuncsCache[e]},r.prototype.setLaFuncCache=function(e,t){},r.prototype.setLaFuncCacheUsingMap=function(e,t){this.lookAheadFuncsCache.set(e,t)},r.prototype.setLaFuncUsingObj=function(e,t){this.lookAheadFuncsCache[e]=t},r}();hy.LooksAhead=nye});var yq=w(Lo=>{"use strict";Object.defineProperty(Lo,"__esModule",{value:!0});Lo.addNoneTerminalToCst=Lo.addTerminalToCst=Lo.setNodeLocationFull=Lo.setNodeLocationOnlyOffset=void 0;function sye(r,e){isNaN(r.startOffset)===!0?(r.startOffset=e.startOffset,r.endOffset=e.endOffset):r.endOffset{"use strict";Object.defineProperty(OA,"__esModule",{value:!0});OA.defineNameProp=OA.functionName=OA.classNameFromInstance=void 0;var lye=Gt();function cye(r){return Bq(r.constructor)}OA.classNameFromInstance=cye;var wq="name";function Bq(r){var e=r.name;return e||"anonymous"}OA.functionName=Bq;function uye(r,e){var t=Object.getOwnPropertyDescriptor(r,wq);return(0,lye.isUndefined)(t)||t.configurable?(Object.defineProperty(r,wq,{enumerable:!1,configurable:!0,writable:!1,value:e}),!0):!1}OA.defineNameProp=uye});var xq=w(Si=>{"use strict";Object.defineProperty(Si,"__esModule",{value:!0});Si.validateRedundantMethods=Si.validateMissingCstMethods=Si.validateVisitor=Si.CstVisitorDefinitionError=Si.createBaseVisitorConstructorWithDefaults=Si.createBaseSemanticVisitorConstructor=Si.defaultVisit=void 0;var fs=Gt(),Rd=ox();function Qq(r,e){for(var t=(0,fs.keys)(r),i=t.length,n=0;n: `+(""+s.join(` `).replace(/\n/g,` - `)))}}};return t.prototype=i,t.prototype.constructor=t,t._RULE_NAMES=e,t}bi.createBaseSemanticVisitorConstructor=SIe;function vIe(r,e,t){var i=function(){};(0,Bd.defineNameProp)(i,r+"BaseSemanticsWithDefaults");var n=Object.create(t.prototype);return(0,cs.forEach)(e,function(s){n[s]=_j}),i.prototype=n,i.prototype.constructor=i,i}bi.createBaseVisitorConstructorWithDefaults=vIe;var Jv;(function(r){r[r.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",r[r.MISSING_METHOD=1]="MISSING_METHOD"})(Jv=bi.CstVisitorDefinitionError||(bi.CstVisitorDefinitionError={}));function Zj(r,e){var t=$j(r,e),i=eq(r,e);return t.concat(i)}bi.validateVisitor=Zj;function $j(r,e){var t=(0,cs.map)(e,function(i){if(!(0,cs.isFunction)(r[i]))return{msg:"Missing visitor method: <"+i+"> on "+(0,Bd.functionName)(r.constructor)+" CST Visitor.",type:Jv.MISSING_METHOD,methodName:i}});return(0,cs.compact)(t)}bi.validateMissingCstMethods=$j;var xIe=["constructor","visit","validateVisitor"];function eq(r,e){var t=[];for(var i in r)(0,cs.isFunction)(r[i])&&!(0,cs.contains)(xIe,i)&&!(0,cs.contains)(e,i)&&t.push({msg:"Redundant visitor method: <"+i+"> on "+(0,Bd.functionName)(r.constructor)+` CST Visitor + `)))}}};return t.prototype=i,t.prototype.constructor=t,t._RULE_NAMES=e,t}Si.createBaseSemanticVisitorConstructor=gye;function fye(r,e,t){var i=function(){};(0,Rd.defineNameProp)(i,r+"BaseSemanticsWithDefaults");var n=Object.create(t.prototype);return(0,fs.forEach)(e,function(s){n[s]=Qq}),i.prototype=n,i.prototype.constructor=i,i}Si.createBaseVisitorConstructorWithDefaults=fye;var ax;(function(r){r[r.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",r[r.MISSING_METHOD=1]="MISSING_METHOD"})(ax=Si.CstVisitorDefinitionError||(Si.CstVisitorDefinitionError={}));function bq(r,e){var t=Sq(r,e),i=vq(r,e);return t.concat(i)}Si.validateVisitor=bq;function Sq(r,e){var t=(0,fs.map)(e,function(i){if(!(0,fs.isFunction)(r[i]))return{msg:"Missing visitor method: <"+i+"> on "+(0,Rd.functionName)(r.constructor)+" CST Visitor.",type:ax.MISSING_METHOD,methodName:i}});return(0,fs.compact)(t)}Si.validateMissingCstMethods=Sq;var hye=["constructor","visit","validateVisitor"];function vq(r,e){var t=[];for(var i in r)(0,fs.isFunction)(r[i])&&!(0,fs.contains)(hye,i)&&!(0,fs.contains)(e,i)&&t.push({msg:"Redundant visitor method: <"+i+"> on "+(0,Rd.functionName)(r.constructor)+` CST Visitor There is no Grammar Rule corresponding to this method's name. -`,type:Jv.REDUNDANT_METHOD,methodName:i});return t}bi.validateRedundantMethods=eq});var iq=w(oy=>{"use strict";Object.defineProperty(oy,"__esModule",{value:!0});oy.TreeBuilder=void 0;var zg=zj(),Zr=Gt(),rq=tq(),PIe=Hn(),DIe=function(){function r(){}return r.prototype.initTreeBuilder=function(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=(0,Zr.has)(e,"nodeLocationTracking")?e.nodeLocationTracking:PIe.DEFAULT_PARSER_CONFIG.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=Zr.NOOP,this.cstFinallyStateUpdate=Zr.NOOP,this.cstPostTerminal=Zr.NOOP,this.cstPostNonTerminal=Zr.NOOP,this.cstPostRule=Zr.NOOP;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=zg.setNodeLocationFull,this.setNodeLocationFromNode=zg.setNodeLocationFull,this.cstPostRule=Zr.NOOP,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=Zr.NOOP,this.setNodeLocationFromNode=Zr.NOOP,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=zg.setNodeLocationOnlyOffset,this.setNodeLocationFromNode=zg.setNodeLocationOnlyOffset,this.cstPostRule=Zr.NOOP,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=Zr.NOOP,this.setNodeLocationFromNode=Zr.NOOP,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=Zr.NOOP,this.setNodeLocationFromNode=Zr.NOOP,this.cstPostRule=Zr.NOOP,this.setInitialNodeLocation=Zr.NOOP;else throw Error('Invalid config option: "'+e.nodeLocationTracking+'"')},r.prototype.setInitialNodeLocationOnlyOffsetRecovery=function(e){e.location={startOffset:NaN,endOffset:NaN}},r.prototype.setInitialNodeLocationOnlyOffsetRegular=function(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}},r.prototype.setInitialNodeLocationFullRecovery=function(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}},r.prototype.setInitialNodeLocationFullRegular=function(e){var t=this.LA(1);e.location={startOffset:t.startOffset,startLine:t.startLine,startColumn:t.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}},r.prototype.cstInvocationStateUpdate=function(e,t){var i={name:e,children:{}};this.setInitialNodeLocation(i),this.CST_STACK.push(i)},r.prototype.cstFinallyStateUpdate=function(){this.CST_STACK.pop()},r.prototype.cstPostRuleFull=function(e){var t=this.LA(0),i=e.location;i.startOffset<=t.startOffset?(i.endOffset=t.endOffset,i.endLine=t.endLine,i.endColumn=t.endColumn):(i.startOffset=NaN,i.startLine=NaN,i.startColumn=NaN)},r.prototype.cstPostRuleOnlyOffset=function(e){var t=this.LA(0),i=e.location;i.startOffset<=t.startOffset?i.endOffset=t.endOffset:i.startOffset=NaN},r.prototype.cstPostTerminal=function(e,t){var i=this.CST_STACK[this.CST_STACK.length-1];(0,zg.addTerminalToCst)(i,t,e),this.setNodeLocationFromToken(i.location,t)},r.prototype.cstPostNonTerminal=function(e,t){var i=this.CST_STACK[this.CST_STACK.length-1];(0,zg.addNoneTerminalToCst)(i,t,e),this.setNodeLocationFromNode(i.location,e.location)},r.prototype.getBaseCstVisitorConstructor=function(){if((0,Zr.isUndefined)(this.baseCstVisitorConstructor)){var e=(0,rq.createBaseSemanticVisitorConstructor)(this.className,(0,Zr.keys)(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor},r.prototype.getBaseCstVisitorConstructorWithDefaults=function(){if((0,Zr.isUndefined)(this.baseCstVisitorWithDefaultsConstructor)){var e=(0,rq.createBaseVisitorConstructorWithDefaults)(this.className,(0,Zr.keys)(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor},r.prototype.getLastExplicitRuleShortName=function(){var e=this.RULE_STACK;return e[e.length-1]},r.prototype.getPreviousExplicitRuleShortName=function(){var e=this.RULE_STACK;return e[e.length-2]},r.prototype.getLastExplicitRuleOccurrenceIndex=function(){var e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]},r}();oy.TreeBuilder=DIe});var sq=w(ay=>{"use strict";Object.defineProperty(ay,"__esModule",{value:!0});ay.LexerAdapter=void 0;var nq=Hn(),kIe=function(){function r(){}return r.prototype.initLexerAdapter=function(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1},Object.defineProperty(r.prototype,"input",{get:function(){return this.tokVector},set:function(e){if(this.selfAnalysisDone!==!0)throw Error("Missing invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length},enumerable:!1,configurable:!0}),r.prototype.SKIP_TOKEN=function(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):nq.END_OF_FILE},r.prototype.LA=function(e){var t=this.currIdx+e;return t<0||this.tokVectorLength<=t?nq.END_OF_FILE:this.tokVector[t]},r.prototype.consumeToken=function(){this.currIdx++},r.prototype.exportLexerState=function(){return this.currIdx},r.prototype.importLexerState=function(e){this.currIdx=e},r.prototype.resetLexerState=function(){this.currIdx=-1},r.prototype.moveToTerminatedState=function(){this.currIdx=this.tokVector.length-1},r.prototype.getLexerPosition=function(){return this.exportLexerState()},r}();ay.LexerAdapter=kIe});var aq=w(Ay=>{"use strict";Object.defineProperty(Ay,"__esModule",{value:!0});Ay.RecognizerApi=void 0;var oq=Gt(),RIe=Wg(),Wv=Hn(),FIe=Cd(),NIe=Hv(),LIe=dn(),TIe=function(){function r(){}return r.prototype.ACTION=function(e){return e.call(this)},r.prototype.consume=function(e,t,i){return this.consumeInternal(t,e,i)},r.prototype.subrule=function(e,t,i){return this.subruleInternal(t,e,i)},r.prototype.option=function(e,t){return this.optionInternal(t,e)},r.prototype.or=function(e,t){return this.orInternal(t,e)},r.prototype.many=function(e,t){return this.manyInternal(e,t)},r.prototype.atLeastOne=function(e,t){return this.atLeastOneInternal(e,t)},r.prototype.CONSUME=function(e,t){return this.consumeInternal(e,0,t)},r.prototype.CONSUME1=function(e,t){return this.consumeInternal(e,1,t)},r.prototype.CONSUME2=function(e,t){return this.consumeInternal(e,2,t)},r.prototype.CONSUME3=function(e,t){return this.consumeInternal(e,3,t)},r.prototype.CONSUME4=function(e,t){return this.consumeInternal(e,4,t)},r.prototype.CONSUME5=function(e,t){return this.consumeInternal(e,5,t)},r.prototype.CONSUME6=function(e,t){return this.consumeInternal(e,6,t)},r.prototype.CONSUME7=function(e,t){return this.consumeInternal(e,7,t)},r.prototype.CONSUME8=function(e,t){return this.consumeInternal(e,8,t)},r.prototype.CONSUME9=function(e,t){return this.consumeInternal(e,9,t)},r.prototype.SUBRULE=function(e,t){return this.subruleInternal(e,0,t)},r.prototype.SUBRULE1=function(e,t){return this.subruleInternal(e,1,t)},r.prototype.SUBRULE2=function(e,t){return this.subruleInternal(e,2,t)},r.prototype.SUBRULE3=function(e,t){return this.subruleInternal(e,3,t)},r.prototype.SUBRULE4=function(e,t){return this.subruleInternal(e,4,t)},r.prototype.SUBRULE5=function(e,t){return this.subruleInternal(e,5,t)},r.prototype.SUBRULE6=function(e,t){return this.subruleInternal(e,6,t)},r.prototype.SUBRULE7=function(e,t){return this.subruleInternal(e,7,t)},r.prototype.SUBRULE8=function(e,t){return this.subruleInternal(e,8,t)},r.prototype.SUBRULE9=function(e,t){return this.subruleInternal(e,9,t)},r.prototype.OPTION=function(e){return this.optionInternal(e,0)},r.prototype.OPTION1=function(e){return this.optionInternal(e,1)},r.prototype.OPTION2=function(e){return this.optionInternal(e,2)},r.prototype.OPTION3=function(e){return this.optionInternal(e,3)},r.prototype.OPTION4=function(e){return this.optionInternal(e,4)},r.prototype.OPTION5=function(e){return this.optionInternal(e,5)},r.prototype.OPTION6=function(e){return this.optionInternal(e,6)},r.prototype.OPTION7=function(e){return this.optionInternal(e,7)},r.prototype.OPTION8=function(e){return this.optionInternal(e,8)},r.prototype.OPTION9=function(e){return this.optionInternal(e,9)},r.prototype.OR=function(e){return this.orInternal(e,0)},r.prototype.OR1=function(e){return this.orInternal(e,1)},r.prototype.OR2=function(e){return this.orInternal(e,2)},r.prototype.OR3=function(e){return this.orInternal(e,3)},r.prototype.OR4=function(e){return this.orInternal(e,4)},r.prototype.OR5=function(e){return this.orInternal(e,5)},r.prototype.OR6=function(e){return this.orInternal(e,6)},r.prototype.OR7=function(e){return this.orInternal(e,7)},r.prototype.OR8=function(e){return this.orInternal(e,8)},r.prototype.OR9=function(e){return this.orInternal(e,9)},r.prototype.MANY=function(e){this.manyInternal(0,e)},r.prototype.MANY1=function(e){this.manyInternal(1,e)},r.prototype.MANY2=function(e){this.manyInternal(2,e)},r.prototype.MANY3=function(e){this.manyInternal(3,e)},r.prototype.MANY4=function(e){this.manyInternal(4,e)},r.prototype.MANY5=function(e){this.manyInternal(5,e)},r.prototype.MANY6=function(e){this.manyInternal(6,e)},r.prototype.MANY7=function(e){this.manyInternal(7,e)},r.prototype.MANY8=function(e){this.manyInternal(8,e)},r.prototype.MANY9=function(e){this.manyInternal(9,e)},r.prototype.MANY_SEP=function(e){this.manySepFirstInternal(0,e)},r.prototype.MANY_SEP1=function(e){this.manySepFirstInternal(1,e)},r.prototype.MANY_SEP2=function(e){this.manySepFirstInternal(2,e)},r.prototype.MANY_SEP3=function(e){this.manySepFirstInternal(3,e)},r.prototype.MANY_SEP4=function(e){this.manySepFirstInternal(4,e)},r.prototype.MANY_SEP5=function(e){this.manySepFirstInternal(5,e)},r.prototype.MANY_SEP6=function(e){this.manySepFirstInternal(6,e)},r.prototype.MANY_SEP7=function(e){this.manySepFirstInternal(7,e)},r.prototype.MANY_SEP8=function(e){this.manySepFirstInternal(8,e)},r.prototype.MANY_SEP9=function(e){this.manySepFirstInternal(9,e)},r.prototype.AT_LEAST_ONE=function(e){this.atLeastOneInternal(0,e)},r.prototype.AT_LEAST_ONE1=function(e){return this.atLeastOneInternal(1,e)},r.prototype.AT_LEAST_ONE2=function(e){this.atLeastOneInternal(2,e)},r.prototype.AT_LEAST_ONE3=function(e){this.atLeastOneInternal(3,e)},r.prototype.AT_LEAST_ONE4=function(e){this.atLeastOneInternal(4,e)},r.prototype.AT_LEAST_ONE5=function(e){this.atLeastOneInternal(5,e)},r.prototype.AT_LEAST_ONE6=function(e){this.atLeastOneInternal(6,e)},r.prototype.AT_LEAST_ONE7=function(e){this.atLeastOneInternal(7,e)},r.prototype.AT_LEAST_ONE8=function(e){this.atLeastOneInternal(8,e)},r.prototype.AT_LEAST_ONE9=function(e){this.atLeastOneInternal(9,e)},r.prototype.AT_LEAST_ONE_SEP=function(e){this.atLeastOneSepFirstInternal(0,e)},r.prototype.AT_LEAST_ONE_SEP1=function(e){this.atLeastOneSepFirstInternal(1,e)},r.prototype.AT_LEAST_ONE_SEP2=function(e){this.atLeastOneSepFirstInternal(2,e)},r.prototype.AT_LEAST_ONE_SEP3=function(e){this.atLeastOneSepFirstInternal(3,e)},r.prototype.AT_LEAST_ONE_SEP4=function(e){this.atLeastOneSepFirstInternal(4,e)},r.prototype.AT_LEAST_ONE_SEP5=function(e){this.atLeastOneSepFirstInternal(5,e)},r.prototype.AT_LEAST_ONE_SEP6=function(e){this.atLeastOneSepFirstInternal(6,e)},r.prototype.AT_LEAST_ONE_SEP7=function(e){this.atLeastOneSepFirstInternal(7,e)},r.prototype.AT_LEAST_ONE_SEP8=function(e){this.atLeastOneSepFirstInternal(8,e)},r.prototype.AT_LEAST_ONE_SEP9=function(e){this.atLeastOneSepFirstInternal(9,e)},r.prototype.RULE=function(e,t,i){if(i===void 0&&(i=Wv.DEFAULT_RULE_CONFIG),(0,oq.contains)(this.definedRulesNames,e)){var n=FIe.defaultGrammarValidatorErrorProvider.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),s={message:n,type:Wv.ParserDefinitionErrorType.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(s)}this.definedRulesNames.push(e);var o=this.defineRule(e,t,i);return this[e]=o,o},r.prototype.OVERRIDE_RULE=function(e,t,i){i===void 0&&(i=Wv.DEFAULT_RULE_CONFIG);var n=[];n=n.concat((0,NIe.validateRuleIsOverridden)(e,this.definedRulesNames,this.className)),this.definitionErrors=this.definitionErrors.concat(n);var s=this.defineRule(e,t,i);return this[e]=s,s},r.prototype.BACKTRACK=function(e,t){return function(){this.isBackTrackingStack.push(1);var i=this.saveRecogState();try{return e.apply(this,t),!0}catch(n){if((0,RIe.isRecognitionException)(n))return!1;throw n}finally{this.reloadRecogState(i),this.isBackTrackingStack.pop()}}},r.prototype.getGAstProductions=function(){return this.gastProductionsCache},r.prototype.getSerializedGastProductions=function(){return(0,LIe.serializeGrammar)((0,oq.values)(this.gastProductionsCache))},r}();Ay.RecognizerApi=TIe});var uq=w(cy=>{"use strict";Object.defineProperty(cy,"__esModule",{value:!0});cy.RecognizerEngine=void 0;var Pr=Gt(),Gn=ny(),ly=Wg(),Aq=Id(),Vg=Ed(),lq=Hn(),OIe=jv(),cq=SA(),Qd=Gg(),MIe=qv(),KIe=function(){function r(){}return r.prototype.initRecognizerEngine=function(e,t){if(this.className=(0,MIe.classNameFromInstance)(this),this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=Qd.tokenStructuredMatcherNoCategories,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},(0,Pr.has)(t,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a property. +`,type:ax.REDUNDANT_METHOD,methodName:i});return t}Si.validateRedundantMethods=vq});var Dq=w(py=>{"use strict";Object.defineProperty(py,"__esModule",{value:!0});py.TreeBuilder=void 0;var tf=yq(),_r=Gt(),Pq=xq(),pye=Gn(),dye=function(){function r(){}return r.prototype.initTreeBuilder=function(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=(0,_r.has)(e,"nodeLocationTracking")?e.nodeLocationTracking:pye.DEFAULT_PARSER_CONFIG.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=_r.NOOP,this.cstFinallyStateUpdate=_r.NOOP,this.cstPostTerminal=_r.NOOP,this.cstPostNonTerminal=_r.NOOP,this.cstPostRule=_r.NOOP;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=tf.setNodeLocationFull,this.setNodeLocationFromNode=tf.setNodeLocationFull,this.cstPostRule=_r.NOOP,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=_r.NOOP,this.setNodeLocationFromNode=_r.NOOP,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=tf.setNodeLocationOnlyOffset,this.setNodeLocationFromNode=tf.setNodeLocationOnlyOffset,this.cstPostRule=_r.NOOP,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=_r.NOOP,this.setNodeLocationFromNode=_r.NOOP,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=_r.NOOP,this.setNodeLocationFromNode=_r.NOOP,this.cstPostRule=_r.NOOP,this.setInitialNodeLocation=_r.NOOP;else throw Error('Invalid config option: "'+e.nodeLocationTracking+'"')},r.prototype.setInitialNodeLocationOnlyOffsetRecovery=function(e){e.location={startOffset:NaN,endOffset:NaN}},r.prototype.setInitialNodeLocationOnlyOffsetRegular=function(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}},r.prototype.setInitialNodeLocationFullRecovery=function(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}},r.prototype.setInitialNodeLocationFullRegular=function(e){var t=this.LA(1);e.location={startOffset:t.startOffset,startLine:t.startLine,startColumn:t.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}},r.prototype.cstInvocationStateUpdate=function(e,t){var i={name:e,children:{}};this.setInitialNodeLocation(i),this.CST_STACK.push(i)},r.prototype.cstFinallyStateUpdate=function(){this.CST_STACK.pop()},r.prototype.cstPostRuleFull=function(e){var t=this.LA(0),i=e.location;i.startOffset<=t.startOffset?(i.endOffset=t.endOffset,i.endLine=t.endLine,i.endColumn=t.endColumn):(i.startOffset=NaN,i.startLine=NaN,i.startColumn=NaN)},r.prototype.cstPostRuleOnlyOffset=function(e){var t=this.LA(0),i=e.location;i.startOffset<=t.startOffset?i.endOffset=t.endOffset:i.startOffset=NaN},r.prototype.cstPostTerminal=function(e,t){var i=this.CST_STACK[this.CST_STACK.length-1];(0,tf.addTerminalToCst)(i,t,e),this.setNodeLocationFromToken(i.location,t)},r.prototype.cstPostNonTerminal=function(e,t){var i=this.CST_STACK[this.CST_STACK.length-1];(0,tf.addNoneTerminalToCst)(i,t,e),this.setNodeLocationFromNode(i.location,e.location)},r.prototype.getBaseCstVisitorConstructor=function(){if((0,_r.isUndefined)(this.baseCstVisitorConstructor)){var e=(0,Pq.createBaseSemanticVisitorConstructor)(this.className,(0,_r.keys)(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor},r.prototype.getBaseCstVisitorConstructorWithDefaults=function(){if((0,_r.isUndefined)(this.baseCstVisitorWithDefaultsConstructor)){var e=(0,Pq.createBaseVisitorConstructorWithDefaults)(this.className,(0,_r.keys)(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor},r.prototype.getLastExplicitRuleShortName=function(){var e=this.RULE_STACK;return e[e.length-1]},r.prototype.getPreviousExplicitRuleShortName=function(){var e=this.RULE_STACK;return e[e.length-2]},r.prototype.getLastExplicitRuleOccurrenceIndex=function(){var e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]},r}();py.TreeBuilder=dye});var Rq=w(dy=>{"use strict";Object.defineProperty(dy,"__esModule",{value:!0});dy.LexerAdapter=void 0;var kq=Gn(),Cye=function(){function r(){}return r.prototype.initLexerAdapter=function(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1},Object.defineProperty(r.prototype,"input",{get:function(){return this.tokVector},set:function(e){if(this.selfAnalysisDone!==!0)throw Error("Missing invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length},enumerable:!1,configurable:!0}),r.prototype.SKIP_TOKEN=function(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):kq.END_OF_FILE},r.prototype.LA=function(e){var t=this.currIdx+e;return t<0||this.tokVectorLength<=t?kq.END_OF_FILE:this.tokVector[t]},r.prototype.consumeToken=function(){this.currIdx++},r.prototype.exportLexerState=function(){return this.currIdx},r.prototype.importLexerState=function(e){this.currIdx=e},r.prototype.resetLexerState=function(){this.currIdx=-1},r.prototype.moveToTerminatedState=function(){this.currIdx=this.tokVector.length-1},r.prototype.getLexerPosition=function(){return this.exportLexerState()},r}();dy.LexerAdapter=Cye});var Nq=w(Cy=>{"use strict";Object.defineProperty(Cy,"__esModule",{value:!0});Cy.RecognizerApi=void 0;var Fq=Gt(),mye=ef(),Ax=Gn(),Eye=Sd(),Iye=rx(),yye=dn(),wye=function(){function r(){}return r.prototype.ACTION=function(e){return e.call(this)},r.prototype.consume=function(e,t,i){return this.consumeInternal(t,e,i)},r.prototype.subrule=function(e,t,i){return this.subruleInternal(t,e,i)},r.prototype.option=function(e,t){return this.optionInternal(t,e)},r.prototype.or=function(e,t){return this.orInternal(t,e)},r.prototype.many=function(e,t){return this.manyInternal(e,t)},r.prototype.atLeastOne=function(e,t){return this.atLeastOneInternal(e,t)},r.prototype.CONSUME=function(e,t){return this.consumeInternal(e,0,t)},r.prototype.CONSUME1=function(e,t){return this.consumeInternal(e,1,t)},r.prototype.CONSUME2=function(e,t){return this.consumeInternal(e,2,t)},r.prototype.CONSUME3=function(e,t){return this.consumeInternal(e,3,t)},r.prototype.CONSUME4=function(e,t){return this.consumeInternal(e,4,t)},r.prototype.CONSUME5=function(e,t){return this.consumeInternal(e,5,t)},r.prototype.CONSUME6=function(e,t){return this.consumeInternal(e,6,t)},r.prototype.CONSUME7=function(e,t){return this.consumeInternal(e,7,t)},r.prototype.CONSUME8=function(e,t){return this.consumeInternal(e,8,t)},r.prototype.CONSUME9=function(e,t){return this.consumeInternal(e,9,t)},r.prototype.SUBRULE=function(e,t){return this.subruleInternal(e,0,t)},r.prototype.SUBRULE1=function(e,t){return this.subruleInternal(e,1,t)},r.prototype.SUBRULE2=function(e,t){return this.subruleInternal(e,2,t)},r.prototype.SUBRULE3=function(e,t){return this.subruleInternal(e,3,t)},r.prototype.SUBRULE4=function(e,t){return this.subruleInternal(e,4,t)},r.prototype.SUBRULE5=function(e,t){return this.subruleInternal(e,5,t)},r.prototype.SUBRULE6=function(e,t){return this.subruleInternal(e,6,t)},r.prototype.SUBRULE7=function(e,t){return this.subruleInternal(e,7,t)},r.prototype.SUBRULE8=function(e,t){return this.subruleInternal(e,8,t)},r.prototype.SUBRULE9=function(e,t){return this.subruleInternal(e,9,t)},r.prototype.OPTION=function(e){return this.optionInternal(e,0)},r.prototype.OPTION1=function(e){return this.optionInternal(e,1)},r.prototype.OPTION2=function(e){return this.optionInternal(e,2)},r.prototype.OPTION3=function(e){return this.optionInternal(e,3)},r.prototype.OPTION4=function(e){return this.optionInternal(e,4)},r.prototype.OPTION5=function(e){return this.optionInternal(e,5)},r.prototype.OPTION6=function(e){return this.optionInternal(e,6)},r.prototype.OPTION7=function(e){return this.optionInternal(e,7)},r.prototype.OPTION8=function(e){return this.optionInternal(e,8)},r.prototype.OPTION9=function(e){return this.optionInternal(e,9)},r.prototype.OR=function(e){return this.orInternal(e,0)},r.prototype.OR1=function(e){return this.orInternal(e,1)},r.prototype.OR2=function(e){return this.orInternal(e,2)},r.prototype.OR3=function(e){return this.orInternal(e,3)},r.prototype.OR4=function(e){return this.orInternal(e,4)},r.prototype.OR5=function(e){return this.orInternal(e,5)},r.prototype.OR6=function(e){return this.orInternal(e,6)},r.prototype.OR7=function(e){return this.orInternal(e,7)},r.prototype.OR8=function(e){return this.orInternal(e,8)},r.prototype.OR9=function(e){return this.orInternal(e,9)},r.prototype.MANY=function(e){this.manyInternal(0,e)},r.prototype.MANY1=function(e){this.manyInternal(1,e)},r.prototype.MANY2=function(e){this.manyInternal(2,e)},r.prototype.MANY3=function(e){this.manyInternal(3,e)},r.prototype.MANY4=function(e){this.manyInternal(4,e)},r.prototype.MANY5=function(e){this.manyInternal(5,e)},r.prototype.MANY6=function(e){this.manyInternal(6,e)},r.prototype.MANY7=function(e){this.manyInternal(7,e)},r.prototype.MANY8=function(e){this.manyInternal(8,e)},r.prototype.MANY9=function(e){this.manyInternal(9,e)},r.prototype.MANY_SEP=function(e){this.manySepFirstInternal(0,e)},r.prototype.MANY_SEP1=function(e){this.manySepFirstInternal(1,e)},r.prototype.MANY_SEP2=function(e){this.manySepFirstInternal(2,e)},r.prototype.MANY_SEP3=function(e){this.manySepFirstInternal(3,e)},r.prototype.MANY_SEP4=function(e){this.manySepFirstInternal(4,e)},r.prototype.MANY_SEP5=function(e){this.manySepFirstInternal(5,e)},r.prototype.MANY_SEP6=function(e){this.manySepFirstInternal(6,e)},r.prototype.MANY_SEP7=function(e){this.manySepFirstInternal(7,e)},r.prototype.MANY_SEP8=function(e){this.manySepFirstInternal(8,e)},r.prototype.MANY_SEP9=function(e){this.manySepFirstInternal(9,e)},r.prototype.AT_LEAST_ONE=function(e){this.atLeastOneInternal(0,e)},r.prototype.AT_LEAST_ONE1=function(e){return this.atLeastOneInternal(1,e)},r.prototype.AT_LEAST_ONE2=function(e){this.atLeastOneInternal(2,e)},r.prototype.AT_LEAST_ONE3=function(e){this.atLeastOneInternal(3,e)},r.prototype.AT_LEAST_ONE4=function(e){this.atLeastOneInternal(4,e)},r.prototype.AT_LEAST_ONE5=function(e){this.atLeastOneInternal(5,e)},r.prototype.AT_LEAST_ONE6=function(e){this.atLeastOneInternal(6,e)},r.prototype.AT_LEAST_ONE7=function(e){this.atLeastOneInternal(7,e)},r.prototype.AT_LEAST_ONE8=function(e){this.atLeastOneInternal(8,e)},r.prototype.AT_LEAST_ONE9=function(e){this.atLeastOneInternal(9,e)},r.prototype.AT_LEAST_ONE_SEP=function(e){this.atLeastOneSepFirstInternal(0,e)},r.prototype.AT_LEAST_ONE_SEP1=function(e){this.atLeastOneSepFirstInternal(1,e)},r.prototype.AT_LEAST_ONE_SEP2=function(e){this.atLeastOneSepFirstInternal(2,e)},r.prototype.AT_LEAST_ONE_SEP3=function(e){this.atLeastOneSepFirstInternal(3,e)},r.prototype.AT_LEAST_ONE_SEP4=function(e){this.atLeastOneSepFirstInternal(4,e)},r.prototype.AT_LEAST_ONE_SEP5=function(e){this.atLeastOneSepFirstInternal(5,e)},r.prototype.AT_LEAST_ONE_SEP6=function(e){this.atLeastOneSepFirstInternal(6,e)},r.prototype.AT_LEAST_ONE_SEP7=function(e){this.atLeastOneSepFirstInternal(7,e)},r.prototype.AT_LEAST_ONE_SEP8=function(e){this.atLeastOneSepFirstInternal(8,e)},r.prototype.AT_LEAST_ONE_SEP9=function(e){this.atLeastOneSepFirstInternal(9,e)},r.prototype.RULE=function(e,t,i){if(i===void 0&&(i=Ax.DEFAULT_RULE_CONFIG),(0,Fq.contains)(this.definedRulesNames,e)){var n=Eye.defaultGrammarValidatorErrorProvider.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),s={message:n,type:Ax.ParserDefinitionErrorType.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(s)}this.definedRulesNames.push(e);var o=this.defineRule(e,t,i);return this[e]=o,o},r.prototype.OVERRIDE_RULE=function(e,t,i){i===void 0&&(i=Ax.DEFAULT_RULE_CONFIG);var n=[];n=n.concat((0,Iye.validateRuleIsOverridden)(e,this.definedRulesNames,this.className)),this.definitionErrors=this.definitionErrors.concat(n);var s=this.defineRule(e,t,i);return this[e]=s,s},r.prototype.BACKTRACK=function(e,t){return function(){this.isBackTrackingStack.push(1);var i=this.saveRecogState();try{return e.apply(this,t),!0}catch(n){if((0,mye.isRecognitionException)(n))return!1;throw n}finally{this.reloadRecogState(i),this.isBackTrackingStack.pop()}}},r.prototype.getGAstProductions=function(){return this.gastProductionsCache},r.prototype.getSerializedGastProductions=function(){return(0,yye.serializeGrammar)((0,Fq.values)(this.gastProductionsCache))},r}();Cy.RecognizerApi=wye});var Mq=w(Ey=>{"use strict";Object.defineProperty(Ey,"__esModule",{value:!0});Ey.RecognizerEngine=void 0;var Pr=Gt(),Yn=fy(),my=ef(),Lq=Pd(),rf=xd(),Tq=Gn(),Bye=sx(),Oq=NA(),Fd=Vg(),Qye=ox(),bye=function(){function r(){}return r.prototype.initRecognizerEngine=function(e,t){if(this.className=(0,Qye.classNameFromInstance)(this),this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=Fd.tokenStructuredMatcherNoCategories,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},(0,Pr.has)(t,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a property. See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0 For Further details.`);if((0,Pr.isArray)(e)){if((0,Pr.isEmpty)(e))throw Error(`A Token Vocabulary cannot be empty. Note that the first argument for the parser constructor is no longer a Token vector (since v4.0).`);if(typeof e[0].startOffset=="number")throw Error(`The Parser constructor no longer accepts a token vector as the first argument. See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0 - For Further details.`)}if((0,Pr.isArray)(e))this.tokensMap=(0,Pr.reduce)(e,function(o,a){return o[a.name]=a,o},{});else if((0,Pr.has)(e,"modes")&&(0,Pr.every)((0,Pr.flatten)((0,Pr.values)(e.modes)),Qd.isTokenType)){var i=(0,Pr.flatten)((0,Pr.values)(e.modes)),n=(0,Pr.uniq)(i);this.tokensMap=(0,Pr.reduce)(n,function(o,a){return o[a.name]=a,o},{})}else if((0,Pr.isObject)(e))this.tokensMap=(0,Pr.cloneObj)(e);else throw new Error(" argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=cq.EOF;var s=(0,Pr.every)((0,Pr.values)(e),function(o){return(0,Pr.isEmpty)(o.categoryMatches)});this.tokenMatcher=s?Qd.tokenStructuredMatcherNoCategories:Qd.tokenStructuredMatcher,(0,Qd.augmentTokenTypes)((0,Pr.values)(this.tokensMap))},r.prototype.defineRule=function(e,t,i){if(this.selfAnalysisDone)throw Error("Grammar rule <"+e+`> may not be defined after the 'performSelfAnalysis' method has been called' -Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);var n=(0,Pr.has)(i,"resyncEnabled")?i.resyncEnabled:lq.DEFAULT_RULE_CONFIG.resyncEnabled,s=(0,Pr.has)(i,"recoveryValueFunc")?i.recoveryValueFunc:lq.DEFAULT_RULE_CONFIG.recoveryValueFunc,o=this.ruleShortNameIdx<t},r.prototype.orInternal=function(e,t){var i=this.getKeyForAutomaticLookahead(Gn.OR_IDX,t),n=(0,Pr.isArray)(e)?e:e.DEF,s=this.getLaFuncFromCache(i),o=s.call(this,n);if(o!==void 0){var a=n[o];return a.ALT.call(this)}this.raiseNoAltException(t,e.ERR_MSG)},r.prototype.ruleFinallyStateUpdate=function(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),this.RULE_STACK.length===0&&this.isAtEndOfInput()===!1){var e=this.LA(1),t=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new ly.NotAllInputParsedException(t,e))}},r.prototype.subruleInternal=function(e,t,i){var n;try{var s=i!==void 0?i.ARGS:void 0;return n=e.call(this,t,s),this.cstPostNonTerminal(n,i!==void 0&&i.LABEL!==void 0?i.LABEL:e.ruleName),n}catch(o){this.subruleInternalError(o,i,e.ruleName)}},r.prototype.subruleInternalError=function(e,t,i){throw(0,ly.isRecognitionException)(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,t!==void 0&&t.LABEL!==void 0?t.LABEL:i),delete e.partialCstResult),e},r.prototype.consumeInternal=function(e,t,i){var n;try{var s=this.LA(1);this.tokenMatcher(s,e)===!0?(this.consumeToken(),n=s):this.consumeInternalError(e,s,i)}catch(o){n=this.consumeInternalRecovery(e,t,o)}return this.cstPostTerminal(i!==void 0&&i.LABEL!==void 0?i.LABEL:e.name,n),n},r.prototype.consumeInternalError=function(e,t,i){var n,s=this.LA(0);throw i!==void 0&&i.ERR_MSG?n=i.ERR_MSG:n=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:t,previous:s,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new ly.MismatchedTokenException(n,t,s))},r.prototype.consumeInternalRecovery=function(e,t,i){if(this.recoveryEnabled&&i.name==="MismatchedTokenException"&&!this.isBackTracking()){var n=this.getFollowsForInRuleRecovery(e,t);try{return this.tryInRuleRecovery(e,n)}catch(s){throw s.name===OIe.IN_RULE_RECOVERY_EXCEPTION?i:s}}else throw i},r.prototype.saveRecogState=function(){var e=this.errors,t=(0,Pr.cloneArr)(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:t,CST_STACK:this.CST_STACK}},r.prototype.reloadRecogState=function(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK},r.prototype.ruleInvocationStateUpdate=function(e,t,i){this.RULE_OCCURRENCE_STACK.push(i),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(t,e)},r.prototype.isBackTracking=function(){return this.isBackTrackingStack.length!==0},r.prototype.getCurrRuleFullName=function(){var e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]},r.prototype.shortRuleNameToFullName=function(e){return this.shortRuleNameToFull[e]},r.prototype.isAtEndOfInput=function(){return this.tokenMatcher(this.LA(1),cq.EOF)},r.prototype.reset=function(){this.resetLexerState(),this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]},r}();cy.RecognizerEngine=KIe});var fq=w(uy=>{"use strict";Object.defineProperty(uy,"__esModule",{value:!0});uy.ErrorHandler=void 0;var zv=Wg(),Vv=Gt(),gq=Id(),UIe=Hn(),HIe=function(){function r(){}return r.prototype.initErrorHandler=function(e){this._errors=[],this.errorMessageProvider=(0,Vv.has)(e,"errorMessageProvider")?e.errorMessageProvider:UIe.DEFAULT_PARSER_CONFIG.errorMessageProvider},r.prototype.SAVE_ERROR=function(e){if((0,zv.isRecognitionException)(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:(0,Vv.cloneArr)(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")},Object.defineProperty(r.prototype,"errors",{get:function(){return(0,Vv.cloneArr)(this._errors)},set:function(e){this._errors=e},enumerable:!1,configurable:!0}),r.prototype.raiseEarlyExitException=function(e,t,i){for(var n=this.getCurrRuleFullName(),s=this.getGAstProductions()[n],o=(0,gq.getLookaheadPathsForOptionalProd)(e,s,t,this.maxLookahead),a=o[0],l=[],c=1;c<=this.maxLookahead;c++)l.push(this.LA(c));var u=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:a,actual:l,previous:this.LA(0),customUserDescription:i,ruleName:n});throw this.SAVE_ERROR(new zv.EarlyExitException(u,this.LA(1),this.LA(0)))},r.prototype.raiseNoAltException=function(e,t){for(var i=this.getCurrRuleFullName(),n=this.getGAstProductions()[i],s=(0,gq.getLookaheadPathsForOr)(e,n,this.maxLookahead),o=[],a=1;a<=this.maxLookahead;a++)o.push(this.LA(a));var l=this.LA(0),c=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:s,actual:o,previous:l,customUserDescription:t,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new zv.NoViableAltException(c,this.LA(1),l))},r}();uy.ErrorHandler=HIe});var dq=w(gy=>{"use strict";Object.defineProperty(gy,"__esModule",{value:!0});gy.ContentAssist=void 0;var hq=Ed(),pq=Gt(),GIe=function(){function r(){}return r.prototype.initContentAssist=function(){},r.prototype.computeContentAssist=function(e,t){var i=this.gastProductionsCache[e];if((0,pq.isUndefined)(i))throw Error("Rule ->"+e+"<- does not exist in this grammar.");return(0,hq.nextPossibleTokensAfter)([i],t,this.tokenMatcher,this.maxLookahead)},r.prototype.getNextPossibleTokenTypes=function(e){var t=(0,pq.first)(e.ruleStack),i=this.getGAstProductions(),n=i[t],s=new hq.NextAfterTokenWalker(n,e).startWalking();return s},r}();gy.ContentAssist=GIe});var Qq=w(py=>{"use strict";Object.defineProperty(py,"__esModule",{value:!0});py.GastRecorder=void 0;var En=Gt(),Ro=dn(),YIe=gd(),Iq=Gg(),yq=SA(),jIe=Hn(),qIe=ny(),hy={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(hy);var Cq=!0,mq=Math.pow(2,qIe.BITS_FOR_OCCURRENCE_IDX)-1,wq=(0,yq.createToken)({name:"RECORDING_PHASE_TOKEN",pattern:YIe.Lexer.NA});(0,Iq.augmentTokenTypes)([wq]);var Bq=(0,yq.createTokenInstance)(wq,`This IToken indicates the Parser is in Recording Phase - See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(Bq);var JIe={name:`This CSTNode indicates the Parser is in Recording Phase - See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},WIe=function(){function r(){}return r.prototype.initGastRecorder=function(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1},r.prototype.enableRecording=function(){var e=this;this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",function(){for(var t=function(n){var s=n>0?n:"";e["CONSUME"+s]=function(o,a){return this.consumeInternalRecord(o,n,a)},e["SUBRULE"+s]=function(o,a){return this.subruleInternalRecord(o,n,a)},e["OPTION"+s]=function(o){return this.optionInternalRecord(o,n)},e["OR"+s]=function(o){return this.orInternalRecord(o,n)},e["MANY"+s]=function(o){this.manyInternalRecord(n,o)},e["MANY_SEP"+s]=function(o){this.manySepFirstInternalRecord(n,o)},e["AT_LEAST_ONE"+s]=function(o){this.atLeastOneInternalRecord(n,o)},e["AT_LEAST_ONE_SEP"+s]=function(o){this.atLeastOneSepFirstInternalRecord(n,o)}},i=0;i<10;i++)t(i);e.consume=function(n,s,o){return this.consumeInternalRecord(s,n,o)},e.subrule=function(n,s,o){return this.subruleInternalRecord(s,n,o)},e.option=function(n,s){return this.optionInternalRecord(s,n)},e.or=function(n,s){return this.orInternalRecord(s,n)},e.many=function(n,s){this.manyInternalRecord(n,s)},e.atLeastOne=function(n,s){this.atLeastOneInternalRecord(n,s)},e.ACTION=e.ACTION_RECORD,e.BACKTRACK=e.BACKTRACK_RECORD,e.LA=e.LA_RECORD})},r.prototype.disableRecording=function(){var e=this;this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",function(){for(var t=0;t<10;t++){var i=t>0?t:"";delete e["CONSUME"+i],delete e["SUBRULE"+i],delete e["OPTION"+i],delete e["OR"+i],delete e["MANY"+i],delete e["MANY_SEP"+i],delete e["AT_LEAST_ONE"+i],delete e["AT_LEAST_ONE_SEP"+i]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})},r.prototype.ACTION_RECORD=function(e){},r.prototype.BACKTRACK_RECORD=function(e,t){return function(){return!0}},r.prototype.LA_RECORD=function(e){return jIe.END_OF_FILE},r.prototype.topLevelRuleRecord=function(e,t){try{var i=new Ro.Rule({definition:[],name:e});return i.name=e,this.recordingProdStack.push(i),t.call(this),this.recordingProdStack.pop(),i}catch(n){if(n.KNOWN_RECORDER_ERROR!==!0)try{n.message=n.message+` + For Further details.`)}if((0,Pr.isArray)(e))this.tokensMap=(0,Pr.reduce)(e,function(o,a){return o[a.name]=a,o},{});else if((0,Pr.has)(e,"modes")&&(0,Pr.every)((0,Pr.flatten)((0,Pr.values)(e.modes)),Fd.isTokenType)){var i=(0,Pr.flatten)((0,Pr.values)(e.modes)),n=(0,Pr.uniq)(i);this.tokensMap=(0,Pr.reduce)(n,function(o,a){return o[a.name]=a,o},{})}else if((0,Pr.isObject)(e))this.tokensMap=(0,Pr.cloneObj)(e);else throw new Error(" argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=Oq.EOF;var s=(0,Pr.every)((0,Pr.values)(e),function(o){return(0,Pr.isEmpty)(o.categoryMatches)});this.tokenMatcher=s?Fd.tokenStructuredMatcherNoCategories:Fd.tokenStructuredMatcher,(0,Fd.augmentTokenTypes)((0,Pr.values)(this.tokensMap))},r.prototype.defineRule=function(e,t,i){if(this.selfAnalysisDone)throw Error("Grammar rule <"+e+`> may not be defined after the 'performSelfAnalysis' method has been called' +Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);var n=(0,Pr.has)(i,"resyncEnabled")?i.resyncEnabled:Tq.DEFAULT_RULE_CONFIG.resyncEnabled,s=(0,Pr.has)(i,"recoveryValueFunc")?i.recoveryValueFunc:Tq.DEFAULT_RULE_CONFIG.recoveryValueFunc,o=this.ruleShortNameIdx<t},r.prototype.orInternal=function(e,t){var i=this.getKeyForAutomaticLookahead(Yn.OR_IDX,t),n=(0,Pr.isArray)(e)?e:e.DEF,s=this.getLaFuncFromCache(i),o=s.call(this,n);if(o!==void 0){var a=n[o];return a.ALT.call(this)}this.raiseNoAltException(t,e.ERR_MSG)},r.prototype.ruleFinallyStateUpdate=function(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),this.RULE_STACK.length===0&&this.isAtEndOfInput()===!1){var e=this.LA(1),t=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new my.NotAllInputParsedException(t,e))}},r.prototype.subruleInternal=function(e,t,i){var n;try{var s=i!==void 0?i.ARGS:void 0;return n=e.call(this,t,s),this.cstPostNonTerminal(n,i!==void 0&&i.LABEL!==void 0?i.LABEL:e.ruleName),n}catch(o){this.subruleInternalError(o,i,e.ruleName)}},r.prototype.subruleInternalError=function(e,t,i){throw(0,my.isRecognitionException)(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,t!==void 0&&t.LABEL!==void 0?t.LABEL:i),delete e.partialCstResult),e},r.prototype.consumeInternal=function(e,t,i){var n;try{var s=this.LA(1);this.tokenMatcher(s,e)===!0?(this.consumeToken(),n=s):this.consumeInternalError(e,s,i)}catch(o){n=this.consumeInternalRecovery(e,t,o)}return this.cstPostTerminal(i!==void 0&&i.LABEL!==void 0?i.LABEL:e.name,n),n},r.prototype.consumeInternalError=function(e,t,i){var n,s=this.LA(0);throw i!==void 0&&i.ERR_MSG?n=i.ERR_MSG:n=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:t,previous:s,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new my.MismatchedTokenException(n,t,s))},r.prototype.consumeInternalRecovery=function(e,t,i){if(this.recoveryEnabled&&i.name==="MismatchedTokenException"&&!this.isBackTracking()){var n=this.getFollowsForInRuleRecovery(e,t);try{return this.tryInRuleRecovery(e,n)}catch(s){throw s.name===Bye.IN_RULE_RECOVERY_EXCEPTION?i:s}}else throw i},r.prototype.saveRecogState=function(){var e=this.errors,t=(0,Pr.cloneArr)(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:t,CST_STACK:this.CST_STACK}},r.prototype.reloadRecogState=function(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK},r.prototype.ruleInvocationStateUpdate=function(e,t,i){this.RULE_OCCURRENCE_STACK.push(i),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(t,e)},r.prototype.isBackTracking=function(){return this.isBackTrackingStack.length!==0},r.prototype.getCurrRuleFullName=function(){var e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]},r.prototype.shortRuleNameToFullName=function(e){return this.shortRuleNameToFull[e]},r.prototype.isAtEndOfInput=function(){return this.tokenMatcher(this.LA(1),Oq.EOF)},r.prototype.reset=function(){this.resetLexerState(),this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]},r}();Ey.RecognizerEngine=bye});var Uq=w(Iy=>{"use strict";Object.defineProperty(Iy,"__esModule",{value:!0});Iy.ErrorHandler=void 0;var lx=ef(),cx=Gt(),Kq=Pd(),Sye=Gn(),vye=function(){function r(){}return r.prototype.initErrorHandler=function(e){this._errors=[],this.errorMessageProvider=(0,cx.has)(e,"errorMessageProvider")?e.errorMessageProvider:Sye.DEFAULT_PARSER_CONFIG.errorMessageProvider},r.prototype.SAVE_ERROR=function(e){if((0,lx.isRecognitionException)(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:(0,cx.cloneArr)(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")},Object.defineProperty(r.prototype,"errors",{get:function(){return(0,cx.cloneArr)(this._errors)},set:function(e){this._errors=e},enumerable:!1,configurable:!0}),r.prototype.raiseEarlyExitException=function(e,t,i){for(var n=this.getCurrRuleFullName(),s=this.getGAstProductions()[n],o=(0,Kq.getLookaheadPathsForOptionalProd)(e,s,t,this.maxLookahead),a=o[0],l=[],c=1;c<=this.maxLookahead;c++)l.push(this.LA(c));var u=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:a,actual:l,previous:this.LA(0),customUserDescription:i,ruleName:n});throw this.SAVE_ERROR(new lx.EarlyExitException(u,this.LA(1),this.LA(0)))},r.prototype.raiseNoAltException=function(e,t){for(var i=this.getCurrRuleFullName(),n=this.getGAstProductions()[i],s=(0,Kq.getLookaheadPathsForOr)(e,n,this.maxLookahead),o=[],a=1;a<=this.maxLookahead;a++)o.push(this.LA(a));var l=this.LA(0),c=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:s,actual:o,previous:l,customUserDescription:t,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new lx.NoViableAltException(c,this.LA(1),l))},r}();Iy.ErrorHandler=vye});var Yq=w(yy=>{"use strict";Object.defineProperty(yy,"__esModule",{value:!0});yy.ContentAssist=void 0;var Hq=xd(),Gq=Gt(),xye=function(){function r(){}return r.prototype.initContentAssist=function(){},r.prototype.computeContentAssist=function(e,t){var i=this.gastProductionsCache[e];if((0,Gq.isUndefined)(i))throw Error("Rule ->"+e+"<- does not exist in this grammar.");return(0,Hq.nextPossibleTokensAfter)([i],t,this.tokenMatcher,this.maxLookahead)},r.prototype.getNextPossibleTokenTypes=function(e){var t=(0,Gq.first)(e.ruleStack),i=this.getGAstProductions(),n=i[t],s=new Hq.NextAfterTokenWalker(n,e).startWalking();return s},r}();yy.ContentAssist=xye});var Zq=w(Qy=>{"use strict";Object.defineProperty(Qy,"__esModule",{value:!0});Qy.GastRecorder=void 0;var En=Gt(),To=dn(),Pye=yd(),Wq=Vg(),zq=NA(),Dye=Gn(),kye=fy(),By={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(By);var jq=!0,qq=Math.pow(2,kye.BITS_FOR_OCCURRENCE_IDX)-1,Vq=(0,zq.createToken)({name:"RECORDING_PHASE_TOKEN",pattern:Pye.Lexer.NA});(0,Wq.augmentTokenTypes)([Vq]);var Xq=(0,zq.createTokenInstance)(Vq,`This IToken indicates the Parser is in Recording Phase + See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(Xq);var Rye={name:`This CSTNode indicates the Parser is in Recording Phase + See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},Fye=function(){function r(){}return r.prototype.initGastRecorder=function(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1},r.prototype.enableRecording=function(){var e=this;this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",function(){for(var t=function(n){var s=n>0?n:"";e["CONSUME"+s]=function(o,a){return this.consumeInternalRecord(o,n,a)},e["SUBRULE"+s]=function(o,a){return this.subruleInternalRecord(o,n,a)},e["OPTION"+s]=function(o){return this.optionInternalRecord(o,n)},e["OR"+s]=function(o){return this.orInternalRecord(o,n)},e["MANY"+s]=function(o){this.manyInternalRecord(n,o)},e["MANY_SEP"+s]=function(o){this.manySepFirstInternalRecord(n,o)},e["AT_LEAST_ONE"+s]=function(o){this.atLeastOneInternalRecord(n,o)},e["AT_LEAST_ONE_SEP"+s]=function(o){this.atLeastOneSepFirstInternalRecord(n,o)}},i=0;i<10;i++)t(i);e.consume=function(n,s,o){return this.consumeInternalRecord(s,n,o)},e.subrule=function(n,s,o){return this.subruleInternalRecord(s,n,o)},e.option=function(n,s){return this.optionInternalRecord(s,n)},e.or=function(n,s){return this.orInternalRecord(s,n)},e.many=function(n,s){this.manyInternalRecord(n,s)},e.atLeastOne=function(n,s){this.atLeastOneInternalRecord(n,s)},e.ACTION=e.ACTION_RECORD,e.BACKTRACK=e.BACKTRACK_RECORD,e.LA=e.LA_RECORD})},r.prototype.disableRecording=function(){var e=this;this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",function(){for(var t=0;t<10;t++){var i=t>0?t:"";delete e["CONSUME"+i],delete e["SUBRULE"+i],delete e["OPTION"+i],delete e["OR"+i],delete e["MANY"+i],delete e["MANY_SEP"+i],delete e["AT_LEAST_ONE"+i],delete e["AT_LEAST_ONE_SEP"+i]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})},r.prototype.ACTION_RECORD=function(e){},r.prototype.BACKTRACK_RECORD=function(e,t){return function(){return!0}},r.prototype.LA_RECORD=function(e){return Dye.END_OF_FILE},r.prototype.topLevelRuleRecord=function(e,t){try{var i=new To.Rule({definition:[],name:e});return i.name=e,this.recordingProdStack.push(i),t.call(this),this.recordingProdStack.pop(),i}catch(n){if(n.KNOWN_RECORDER_ERROR!==!0)try{n.message=n.message+` This error was thrown during the "grammar recording phase" For more info see: - https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw n}throw n}},r.prototype.optionInternalRecord=function(e,t){return bd.call(this,Ro.Option,e,t)},r.prototype.atLeastOneInternalRecord=function(e,t){bd.call(this,Ro.RepetitionMandatory,t,e)},r.prototype.atLeastOneSepFirstInternalRecord=function(e,t){bd.call(this,Ro.RepetitionMandatoryWithSeparator,t,e,Cq)},r.prototype.manyInternalRecord=function(e,t){bd.call(this,Ro.Repetition,t,e)},r.prototype.manySepFirstInternalRecord=function(e,t){bd.call(this,Ro.RepetitionWithSeparator,t,e,Cq)},r.prototype.orInternalRecord=function(e,t){return zIe.call(this,e,t)},r.prototype.subruleInternalRecord=function(e,t,i){if(fy(t),!e||(0,En.has)(e,"ruleName")===!1){var n=new Error(" argument is invalid"+(" expecting a Parser method reference but got: <"+JSON.stringify(e)+">")+(` - inside top level rule: <`+this.recordingProdStack[0].name+">"));throw n.KNOWN_RECORDER_ERROR=!0,n}var s=(0,En.peek)(this.recordingProdStack),o=e.ruleName,a=new Ro.NonTerminal({idx:t,nonTerminalName:o,label:i==null?void 0:i.LABEL,referencedRule:void 0});return s.definition.push(a),this.outputCst?JIe:hy},r.prototype.consumeInternalRecord=function(e,t,i){if(fy(t),!(0,Iq.hasShortKeyProperty)(e)){var n=new Error(" argument is invalid"+(" expecting a TokenType reference but got: <"+JSON.stringify(e)+">")+(` - inside top level rule: <`+this.recordingProdStack[0].name+">"));throw n.KNOWN_RECORDER_ERROR=!0,n}var s=(0,En.peek)(this.recordingProdStack),o=new Ro.Terminal({idx:t,terminalType:e,label:i==null?void 0:i.LABEL});return s.definition.push(o),Bq},r}();py.GastRecorder=WIe;function bd(r,e,t,i){i===void 0&&(i=!1),fy(t);var n=(0,En.peek)(this.recordingProdStack),s=(0,En.isFunction)(e)?e:e.DEF,o=new r({definition:[],idx:t});return i&&(o.separator=e.SEP),(0,En.has)(e,"MAX_LOOKAHEAD")&&(o.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(o),s.call(this),n.definition.push(o),this.recordingProdStack.pop(),hy}function zIe(r,e){var t=this;fy(e);var i=(0,En.peek)(this.recordingProdStack),n=(0,En.isArray)(r)===!1,s=n===!1?r:r.DEF,o=new Ro.Alternation({definition:[],idx:e,ignoreAmbiguities:n&&r.IGNORE_AMBIGUITIES===!0});(0,En.has)(r,"MAX_LOOKAHEAD")&&(o.maxLookahead=r.MAX_LOOKAHEAD);var a=(0,En.some)(s,function(l){return(0,En.isFunction)(l.GATE)});return o.hasPredicates=a,i.definition.push(o),(0,En.forEach)(s,function(l){var c=new Ro.Alternative({definition:[]});o.definition.push(c),(0,En.has)(l,"IGNORE_AMBIGUITIES")?c.ignoreAmbiguities=l.IGNORE_AMBIGUITIES:(0,En.has)(l,"GATE")&&(c.ignoreAmbiguities=!0),t.recordingProdStack.push(c),l.ALT.call(t),t.recordingProdStack.pop()}),hy}function Eq(r){return r===0?"":""+r}function fy(r){if(r<0||r>mq){var e=new Error("Invalid DSL Method idx value: <"+r+`> - `+("Idx value must be a none negative value smaller than "+(mq+1)));throw e.KNOWN_RECORDER_ERROR=!0,e}}});var Sq=w(dy=>{"use strict";Object.defineProperty(dy,"__esModule",{value:!0});dy.PerformanceTracer=void 0;var bq=Gt(),VIe=Hn(),XIe=function(){function r(){}return r.prototype.initPerformanceTracer=function(e){if((0,bq.has)(e,"traceInitPerf")){var t=e.traceInitPerf,i=typeof t=="number";this.traceInitMaxIdent=i?t:1/0,this.traceInitPerf=i?t>0:t}else this.traceInitMaxIdent=0,this.traceInitPerf=VIe.DEFAULT_PARSER_CONFIG.traceInitPerf;this.traceInitIndent=-1},r.prototype.TRACE_INIT=function(e,t){if(this.traceInitPerf===!0){this.traceInitIndent++;var i=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <"+e+">");var n=(0,bq.timer)(t),s=n.time,o=n.value,a=s>10?console.warn:console.log;return this.traceInitIndent time: "+s+"ms"),this.traceInitIndent--,o}else return t()},r}();dy.PerformanceTracer=XIe});var vq=w(Cy=>{"use strict";Object.defineProperty(Cy,"__esModule",{value:!0});Cy.applyMixins=void 0;function _Ie(r,e){e.forEach(function(t){var i=t.prototype;Object.getOwnPropertyNames(i).forEach(function(n){if(n!=="constructor"){var s=Object.getOwnPropertyDescriptor(i,n);s&&(s.get||s.set)?Object.defineProperty(r.prototype,n,s):r.prototype[n]=t.prototype[n]}})})}Cy.applyMixins=_Ie});var Hn=w(dr=>{"use strict";var Dq=dr&&dr.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(dr,"__esModule",{value:!0});dr.EmbeddedActionsParser=dr.CstParser=dr.Parser=dr.EMPTY_ALT=dr.ParserDefinitionErrorType=dr.DEFAULT_RULE_CONFIG=dr.DEFAULT_PARSER_CONFIG=dr.END_OF_FILE=void 0;var Xi=Gt(),ZIe=fj(),xq=SA(),kq=Cd(),Pq=Kj(),$Ie=jv(),eye=Wj(),tye=iq(),rye=sq(),iye=aq(),nye=uq(),sye=fq(),oye=dq(),aye=Qq(),Aye=Sq(),lye=vq();dr.END_OF_FILE=(0,xq.createTokenInstance)(xq.EOF,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(dr.END_OF_FILE);dr.DEFAULT_PARSER_CONFIG=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:kq.defaultParserErrorProvider,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1});dr.DEFAULT_RULE_CONFIG=Object.freeze({recoveryValueFunc:function(){},resyncEnabled:!0});var cye;(function(r){r[r.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",r[r.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",r[r.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",r[r.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",r[r.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",r[r.LEFT_RECURSION=5]="LEFT_RECURSION",r[r.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",r[r.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",r[r.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",r[r.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",r[r.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",r[r.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",r[r.TOO_MANY_ALTS=12]="TOO_MANY_ALTS"})(cye=dr.ParserDefinitionErrorType||(dr.ParserDefinitionErrorType={}));function uye(r){return r===void 0&&(r=void 0),function(){return r}}dr.EMPTY_ALT=uye;var my=function(){function r(e,t){this.definitionErrors=[],this.selfAnalysisDone=!1;var i=this;if(i.initErrorHandler(t),i.initLexerAdapter(),i.initLooksAhead(t),i.initRecognizerEngine(e,t),i.initRecoverable(t),i.initTreeBuilder(t),i.initContentAssist(),i.initGastRecorder(t),i.initPerformanceTracer(t),(0,Xi.has)(t,"ignoredIssues"))throw new Error(`The IParserConfig property has been deprecated. + https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw n}throw n}},r.prototype.optionInternalRecord=function(e,t){return Nd.call(this,To.Option,e,t)},r.prototype.atLeastOneInternalRecord=function(e,t){Nd.call(this,To.RepetitionMandatory,t,e)},r.prototype.atLeastOneSepFirstInternalRecord=function(e,t){Nd.call(this,To.RepetitionMandatoryWithSeparator,t,e,jq)},r.prototype.manyInternalRecord=function(e,t){Nd.call(this,To.Repetition,t,e)},r.prototype.manySepFirstInternalRecord=function(e,t){Nd.call(this,To.RepetitionWithSeparator,t,e,jq)},r.prototype.orInternalRecord=function(e,t){return Nye.call(this,e,t)},r.prototype.subruleInternalRecord=function(e,t,i){if(wy(t),!e||(0,En.has)(e,"ruleName")===!1){var n=new Error(" argument is invalid"+(" expecting a Parser method reference but got: <"+JSON.stringify(e)+">")+(` + inside top level rule: <`+this.recordingProdStack[0].name+">"));throw n.KNOWN_RECORDER_ERROR=!0,n}var s=(0,En.peek)(this.recordingProdStack),o=e.ruleName,a=new To.NonTerminal({idx:t,nonTerminalName:o,label:i==null?void 0:i.LABEL,referencedRule:void 0});return s.definition.push(a),this.outputCst?Rye:By},r.prototype.consumeInternalRecord=function(e,t,i){if(wy(t),!(0,Wq.hasShortKeyProperty)(e)){var n=new Error(" argument is invalid"+(" expecting a TokenType reference but got: <"+JSON.stringify(e)+">")+(` + inside top level rule: <`+this.recordingProdStack[0].name+">"));throw n.KNOWN_RECORDER_ERROR=!0,n}var s=(0,En.peek)(this.recordingProdStack),o=new To.Terminal({idx:t,terminalType:e,label:i==null?void 0:i.LABEL});return s.definition.push(o),Xq},r}();Qy.GastRecorder=Fye;function Nd(r,e,t,i){i===void 0&&(i=!1),wy(t);var n=(0,En.peek)(this.recordingProdStack),s=(0,En.isFunction)(e)?e:e.DEF,o=new r({definition:[],idx:t});return i&&(o.separator=e.SEP),(0,En.has)(e,"MAX_LOOKAHEAD")&&(o.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(o),s.call(this),n.definition.push(o),this.recordingProdStack.pop(),By}function Nye(r,e){var t=this;wy(e);var i=(0,En.peek)(this.recordingProdStack),n=(0,En.isArray)(r)===!1,s=n===!1?r:r.DEF,o=new To.Alternation({definition:[],idx:e,ignoreAmbiguities:n&&r.IGNORE_AMBIGUITIES===!0});(0,En.has)(r,"MAX_LOOKAHEAD")&&(o.maxLookahead=r.MAX_LOOKAHEAD);var a=(0,En.some)(s,function(l){return(0,En.isFunction)(l.GATE)});return o.hasPredicates=a,i.definition.push(o),(0,En.forEach)(s,function(l){var c=new To.Alternative({definition:[]});o.definition.push(c),(0,En.has)(l,"IGNORE_AMBIGUITIES")?c.ignoreAmbiguities=l.IGNORE_AMBIGUITIES:(0,En.has)(l,"GATE")&&(c.ignoreAmbiguities=!0),t.recordingProdStack.push(c),l.ALT.call(t),t.recordingProdStack.pop()}),By}function Jq(r){return r===0?"":""+r}function wy(r){if(r<0||r>qq){var e=new Error("Invalid DSL Method idx value: <"+r+`> + `+("Idx value must be a none negative value smaller than "+(qq+1)));throw e.KNOWN_RECORDER_ERROR=!0,e}}});var $q=w(by=>{"use strict";Object.defineProperty(by,"__esModule",{value:!0});by.PerformanceTracer=void 0;var _q=Gt(),Lye=Gn(),Tye=function(){function r(){}return r.prototype.initPerformanceTracer=function(e){if((0,_q.has)(e,"traceInitPerf")){var t=e.traceInitPerf,i=typeof t=="number";this.traceInitMaxIdent=i?t:1/0,this.traceInitPerf=i?t>0:t}else this.traceInitMaxIdent=0,this.traceInitPerf=Lye.DEFAULT_PARSER_CONFIG.traceInitPerf;this.traceInitIndent=-1},r.prototype.TRACE_INIT=function(e,t){if(this.traceInitPerf===!0){this.traceInitIndent++;var i=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <"+e+">");var n=(0,_q.timer)(t),s=n.time,o=n.value,a=s>10?console.warn:console.log;return this.traceInitIndent time: "+s+"ms"),this.traceInitIndent--,o}else return t()},r}();by.PerformanceTracer=Tye});var eJ=w(Sy=>{"use strict";Object.defineProperty(Sy,"__esModule",{value:!0});Sy.applyMixins=void 0;function Oye(r,e){e.forEach(function(t){var i=t.prototype;Object.getOwnPropertyNames(i).forEach(function(n){if(n!=="constructor"){var s=Object.getOwnPropertyDescriptor(i,n);s&&(s.get||s.set)?Object.defineProperty(r.prototype,n,s):r.prototype[n]=t.prototype[n]}})})}Sy.applyMixins=Oye});var Gn=w(dr=>{"use strict";var iJ=dr&&dr.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(dr,"__esModule",{value:!0});dr.EmbeddedActionsParser=dr.CstParser=dr.Parser=dr.EMPTY_ALT=dr.ParserDefinitionErrorType=dr.DEFAULT_RULE_CONFIG=dr.DEFAULT_PARSER_CONFIG=dr.END_OF_FILE=void 0;var _i=Gt(),Mye=Uj(),tJ=NA(),nJ=Sd(),rJ=gq(),Kye=sx(),Uye=Iq(),Hye=Dq(),Gye=Rq(),Yye=Nq(),jye=Mq(),qye=Uq(),Jye=Yq(),Wye=Zq(),zye=$q(),Vye=eJ();dr.END_OF_FILE=(0,tJ.createTokenInstance)(tJ.EOF,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(dr.END_OF_FILE);dr.DEFAULT_PARSER_CONFIG=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:nJ.defaultParserErrorProvider,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1});dr.DEFAULT_RULE_CONFIG=Object.freeze({recoveryValueFunc:function(){},resyncEnabled:!0});var Xye;(function(r){r[r.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",r[r.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",r[r.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",r[r.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",r[r.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",r[r.LEFT_RECURSION=5]="LEFT_RECURSION",r[r.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",r[r.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",r[r.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",r[r.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",r[r.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",r[r.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",r[r.TOO_MANY_ALTS=12]="TOO_MANY_ALTS"})(Xye=dr.ParserDefinitionErrorType||(dr.ParserDefinitionErrorType={}));function Zye(r){return r===void 0&&(r=void 0),function(){return r}}dr.EMPTY_ALT=Zye;var vy=function(){function r(e,t){this.definitionErrors=[],this.selfAnalysisDone=!1;var i=this;if(i.initErrorHandler(t),i.initLexerAdapter(),i.initLooksAhead(t),i.initRecognizerEngine(e,t),i.initRecoverable(t),i.initTreeBuilder(t),i.initContentAssist(),i.initGastRecorder(t),i.initPerformanceTracer(t),(0,_i.has)(t,"ignoredIssues"))throw new Error(`The IParserConfig property has been deprecated. Please use the flag on the relevant DSL method instead. See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES - For further details.`);this.skipValidations=(0,Xi.has)(t,"skipValidations")?t.skipValidations:dr.DEFAULT_PARSER_CONFIG.skipValidations}return r.performSelfAnalysis=function(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")},r.prototype.performSelfAnalysis=function(){var e=this;this.TRACE_INIT("performSelfAnalysis",function(){var t;e.selfAnalysisDone=!0;var i=e.className;e.TRACE_INIT("toFastProps",function(){(0,Xi.toFastProperties)(e)}),e.TRACE_INIT("Grammar Recording",function(){try{e.enableRecording(),(0,Xi.forEach)(e.definedRulesNames,function(s){var o=e[s],a=o.originalGrammarAction,l=void 0;e.TRACE_INIT(s+" Rule",function(){l=e.topLevelRuleRecord(s,a)}),e.gastProductionsCache[s]=l})}finally{e.disableRecording()}});var n=[];if(e.TRACE_INIT("Grammar Resolving",function(){n=(0,Pq.resolveGrammar)({rules:(0,Xi.values)(e.gastProductionsCache)}),e.definitionErrors=e.definitionErrors.concat(n)}),e.TRACE_INIT("Grammar Validations",function(){if((0,Xi.isEmpty)(n)&&e.skipValidations===!1){var s=(0,Pq.validateGrammar)({rules:(0,Xi.values)(e.gastProductionsCache),maxLookahead:e.maxLookahead,tokenTypes:(0,Xi.values)(e.tokensMap),errMsgProvider:kq.defaultGrammarValidatorErrorProvider,grammarName:i});e.definitionErrors=e.definitionErrors.concat(s)}}),(0,Xi.isEmpty)(e.definitionErrors)&&(e.recoveryEnabled&&e.TRACE_INIT("computeAllProdsFollows",function(){var s=(0,ZIe.computeAllProdsFollows)((0,Xi.values)(e.gastProductionsCache));e.resyncFollows=s}),e.TRACE_INIT("ComputeLookaheadFunctions",function(){e.preComputeLookaheadFunctions((0,Xi.values)(e.gastProductionsCache))})),!r.DEFER_DEFINITION_ERRORS_HANDLING&&!(0,Xi.isEmpty)(e.definitionErrors))throw t=(0,Xi.map)(e.definitionErrors,function(s){return s.message}),new Error(`Parser Definition Errors detected: + For further details.`);this.skipValidations=(0,_i.has)(t,"skipValidations")?t.skipValidations:dr.DEFAULT_PARSER_CONFIG.skipValidations}return r.performSelfAnalysis=function(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")},r.prototype.performSelfAnalysis=function(){var e=this;this.TRACE_INIT("performSelfAnalysis",function(){var t;e.selfAnalysisDone=!0;var i=e.className;e.TRACE_INIT("toFastProps",function(){(0,_i.toFastProperties)(e)}),e.TRACE_INIT("Grammar Recording",function(){try{e.enableRecording(),(0,_i.forEach)(e.definedRulesNames,function(s){var o=e[s],a=o.originalGrammarAction,l=void 0;e.TRACE_INIT(s+" Rule",function(){l=e.topLevelRuleRecord(s,a)}),e.gastProductionsCache[s]=l})}finally{e.disableRecording()}});var n=[];if(e.TRACE_INIT("Grammar Resolving",function(){n=(0,rJ.resolveGrammar)({rules:(0,_i.values)(e.gastProductionsCache)}),e.definitionErrors=e.definitionErrors.concat(n)}),e.TRACE_INIT("Grammar Validations",function(){if((0,_i.isEmpty)(n)&&e.skipValidations===!1){var s=(0,rJ.validateGrammar)({rules:(0,_i.values)(e.gastProductionsCache),maxLookahead:e.maxLookahead,tokenTypes:(0,_i.values)(e.tokensMap),errMsgProvider:nJ.defaultGrammarValidatorErrorProvider,grammarName:i});e.definitionErrors=e.definitionErrors.concat(s)}}),(0,_i.isEmpty)(e.definitionErrors)&&(e.recoveryEnabled&&e.TRACE_INIT("computeAllProdsFollows",function(){var s=(0,Mye.computeAllProdsFollows)((0,_i.values)(e.gastProductionsCache));e.resyncFollows=s}),e.TRACE_INIT("ComputeLookaheadFunctions",function(){e.preComputeLookaheadFunctions((0,_i.values)(e.gastProductionsCache))})),!r.DEFER_DEFINITION_ERRORS_HANDLING&&!(0,_i.isEmpty)(e.definitionErrors))throw t=(0,_i.map)(e.definitionErrors,function(s){return s.message}),new Error(`Parser Definition Errors detected: `+t.join(` ------------------------------- -`))})},r.DEFER_DEFINITION_ERRORS_HANDLING=!1,r}();dr.Parser=my;(0,lye.applyMixins)(my,[$Ie.Recoverable,eye.LooksAhead,tye.TreeBuilder,rye.LexerAdapter,nye.RecognizerEngine,iye.RecognizerApi,sye.ErrorHandler,oye.ContentAssist,aye.GastRecorder,Aye.PerformanceTracer]);var gye=function(r){Dq(e,r);function e(t,i){i===void 0&&(i=dr.DEFAULT_PARSER_CONFIG);var n=this,s=(0,Xi.cloneObj)(i);return s.outputCst=!0,n=r.call(this,t,s)||this,n}return e}(my);dr.CstParser=gye;var fye=function(r){Dq(e,r);function e(t,i){i===void 0&&(i=dr.DEFAULT_PARSER_CONFIG);var n=this,s=(0,Xi.cloneObj)(i);return s.outputCst=!1,n=r.call(this,t,s)||this,n}return e}(my);dr.EmbeddedActionsParser=fye});var Fq=w(Ey=>{"use strict";Object.defineProperty(Ey,"__esModule",{value:!0});Ey.createSyntaxDiagramsCode=void 0;var Rq=pv();function hye(r,e){var t=e===void 0?{}:e,i=t.resourceBase,n=i===void 0?"https://unpkg.com/chevrotain@"+Rq.VERSION+"/diagrams/":i,s=t.css,o=s===void 0?"https://unpkg.com/chevrotain@"+Rq.VERSION+"/diagrams/diagrams.css":s,a=` +`))})},r.DEFER_DEFINITION_ERRORS_HANDLING=!1,r}();dr.Parser=vy;(0,Vye.applyMixins)(vy,[Kye.Recoverable,Uye.LooksAhead,Hye.TreeBuilder,Gye.LexerAdapter,jye.RecognizerEngine,Yye.RecognizerApi,qye.ErrorHandler,Jye.ContentAssist,Wye.GastRecorder,zye.PerformanceTracer]);var _ye=function(r){iJ(e,r);function e(t,i){i===void 0&&(i=dr.DEFAULT_PARSER_CONFIG);var n=this,s=(0,_i.cloneObj)(i);return s.outputCst=!0,n=r.call(this,t,s)||this,n}return e}(vy);dr.CstParser=_ye;var $ye=function(r){iJ(e,r);function e(t,i){i===void 0&&(i=dr.DEFAULT_PARSER_CONFIG);var n=this,s=(0,_i.cloneObj)(i);return s.outputCst=!1,n=r.call(this,t,s)||this,n}return e}(vy);dr.EmbeddedActionsParser=$ye});var oJ=w(xy=>{"use strict";Object.defineProperty(xy,"__esModule",{value:!0});xy.createSyntaxDiagramsCode=void 0;var sJ=Dv();function ewe(r,e){var t=e===void 0?{}:e,i=t.resourceBase,n=i===void 0?"https://unpkg.com/chevrotain@"+sJ.VERSION+"/diagrams/":i,s=t.css,o=s===void 0?"https://unpkg.com/chevrotain@"+sJ.VERSION+"/diagrams/diagrams.css":s,a=` @@ -178,62 +178,62 @@ Make sure that all grammar rule definitions are done before 'performSelfAnalysis var diagramsDiv = document.getElementById("diagrams"); main.drawDiagramsFromSerializedGrammar(serializedGrammar, diagramsDiv); <\/script> -`;return a+l+c+u+g+f}Ey.createSyntaxDiagramsCode=hye});var Tq=w(We=>{"use strict";Object.defineProperty(We,"__esModule",{value:!0});We.Parser=We.createSyntaxDiagramsCode=We.clearCache=We.GAstVisitor=We.serializeProduction=We.serializeGrammar=We.Terminal=We.Rule=We.RepetitionWithSeparator=We.RepetitionMandatoryWithSeparator=We.RepetitionMandatory=We.Repetition=We.Option=We.NonTerminal=We.Alternative=We.Alternation=We.defaultLexerErrorProvider=We.NoViableAltException=We.NotAllInputParsedException=We.MismatchedTokenException=We.isRecognitionException=We.EarlyExitException=We.defaultParserErrorProvider=We.tokenName=We.tokenMatcher=We.tokenLabel=We.EOF=We.createTokenInstance=We.createToken=We.LexerDefinitionErrorType=We.Lexer=We.EMPTY_ALT=We.ParserDefinitionErrorType=We.EmbeddedActionsParser=We.CstParser=We.VERSION=void 0;var pye=pv();Object.defineProperty(We,"VERSION",{enumerable:!0,get:function(){return pye.VERSION}});var Iy=Hn();Object.defineProperty(We,"CstParser",{enumerable:!0,get:function(){return Iy.CstParser}});Object.defineProperty(We,"EmbeddedActionsParser",{enumerable:!0,get:function(){return Iy.EmbeddedActionsParser}});Object.defineProperty(We,"ParserDefinitionErrorType",{enumerable:!0,get:function(){return Iy.ParserDefinitionErrorType}});Object.defineProperty(We,"EMPTY_ALT",{enumerable:!0,get:function(){return Iy.EMPTY_ALT}});var Nq=gd();Object.defineProperty(We,"Lexer",{enumerable:!0,get:function(){return Nq.Lexer}});Object.defineProperty(We,"LexerDefinitionErrorType",{enumerable:!0,get:function(){return Nq.LexerDefinitionErrorType}});var Xg=SA();Object.defineProperty(We,"createToken",{enumerable:!0,get:function(){return Xg.createToken}});Object.defineProperty(We,"createTokenInstance",{enumerable:!0,get:function(){return Xg.createTokenInstance}});Object.defineProperty(We,"EOF",{enumerable:!0,get:function(){return Xg.EOF}});Object.defineProperty(We,"tokenLabel",{enumerable:!0,get:function(){return Xg.tokenLabel}});Object.defineProperty(We,"tokenMatcher",{enumerable:!0,get:function(){return Xg.tokenMatcher}});Object.defineProperty(We,"tokenName",{enumerable:!0,get:function(){return Xg.tokenName}});var dye=Cd();Object.defineProperty(We,"defaultParserErrorProvider",{enumerable:!0,get:function(){return dye.defaultParserErrorProvider}});var Sd=Wg();Object.defineProperty(We,"EarlyExitException",{enumerable:!0,get:function(){return Sd.EarlyExitException}});Object.defineProperty(We,"isRecognitionException",{enumerable:!0,get:function(){return Sd.isRecognitionException}});Object.defineProperty(We,"MismatchedTokenException",{enumerable:!0,get:function(){return Sd.MismatchedTokenException}});Object.defineProperty(We,"NotAllInputParsedException",{enumerable:!0,get:function(){return Sd.NotAllInputParsedException}});Object.defineProperty(We,"NoViableAltException",{enumerable:!0,get:function(){return Sd.NoViableAltException}});var Cye=bv();Object.defineProperty(We,"defaultLexerErrorProvider",{enumerable:!0,get:function(){return Cye.defaultLexerErrorProvider}});var Fo=dn();Object.defineProperty(We,"Alternation",{enumerable:!0,get:function(){return Fo.Alternation}});Object.defineProperty(We,"Alternative",{enumerable:!0,get:function(){return Fo.Alternative}});Object.defineProperty(We,"NonTerminal",{enumerable:!0,get:function(){return Fo.NonTerminal}});Object.defineProperty(We,"Option",{enumerable:!0,get:function(){return Fo.Option}});Object.defineProperty(We,"Repetition",{enumerable:!0,get:function(){return Fo.Repetition}});Object.defineProperty(We,"RepetitionMandatory",{enumerable:!0,get:function(){return Fo.RepetitionMandatory}});Object.defineProperty(We,"RepetitionMandatoryWithSeparator",{enumerable:!0,get:function(){return Fo.RepetitionMandatoryWithSeparator}});Object.defineProperty(We,"RepetitionWithSeparator",{enumerable:!0,get:function(){return Fo.RepetitionWithSeparator}});Object.defineProperty(We,"Rule",{enumerable:!0,get:function(){return Fo.Rule}});Object.defineProperty(We,"Terminal",{enumerable:!0,get:function(){return Fo.Terminal}});var Lq=dn();Object.defineProperty(We,"serializeGrammar",{enumerable:!0,get:function(){return Lq.serializeGrammar}});Object.defineProperty(We,"serializeProduction",{enumerable:!0,get:function(){return Lq.serializeProduction}});var mye=Yg();Object.defineProperty(We,"GAstVisitor",{enumerable:!0,get:function(){return mye.GAstVisitor}});function Eye(){console.warn(`The clearCache function was 'soft' removed from the Chevrotain API. +`;return a+l+c+u+g+f}xy.createSyntaxDiagramsCode=ewe});var lJ=w(We=>{"use strict";Object.defineProperty(We,"__esModule",{value:!0});We.Parser=We.createSyntaxDiagramsCode=We.clearCache=We.GAstVisitor=We.serializeProduction=We.serializeGrammar=We.Terminal=We.Rule=We.RepetitionWithSeparator=We.RepetitionMandatoryWithSeparator=We.RepetitionMandatory=We.Repetition=We.Option=We.NonTerminal=We.Alternative=We.Alternation=We.defaultLexerErrorProvider=We.NoViableAltException=We.NotAllInputParsedException=We.MismatchedTokenException=We.isRecognitionException=We.EarlyExitException=We.defaultParserErrorProvider=We.tokenName=We.tokenMatcher=We.tokenLabel=We.EOF=We.createTokenInstance=We.createToken=We.LexerDefinitionErrorType=We.Lexer=We.EMPTY_ALT=We.ParserDefinitionErrorType=We.EmbeddedActionsParser=We.CstParser=We.VERSION=void 0;var twe=Dv();Object.defineProperty(We,"VERSION",{enumerable:!0,get:function(){return twe.VERSION}});var Py=Gn();Object.defineProperty(We,"CstParser",{enumerable:!0,get:function(){return Py.CstParser}});Object.defineProperty(We,"EmbeddedActionsParser",{enumerable:!0,get:function(){return Py.EmbeddedActionsParser}});Object.defineProperty(We,"ParserDefinitionErrorType",{enumerable:!0,get:function(){return Py.ParserDefinitionErrorType}});Object.defineProperty(We,"EMPTY_ALT",{enumerable:!0,get:function(){return Py.EMPTY_ALT}});var aJ=yd();Object.defineProperty(We,"Lexer",{enumerable:!0,get:function(){return aJ.Lexer}});Object.defineProperty(We,"LexerDefinitionErrorType",{enumerable:!0,get:function(){return aJ.LexerDefinitionErrorType}});var nf=NA();Object.defineProperty(We,"createToken",{enumerable:!0,get:function(){return nf.createToken}});Object.defineProperty(We,"createTokenInstance",{enumerable:!0,get:function(){return nf.createTokenInstance}});Object.defineProperty(We,"EOF",{enumerable:!0,get:function(){return nf.EOF}});Object.defineProperty(We,"tokenLabel",{enumerable:!0,get:function(){return nf.tokenLabel}});Object.defineProperty(We,"tokenMatcher",{enumerable:!0,get:function(){return nf.tokenMatcher}});Object.defineProperty(We,"tokenName",{enumerable:!0,get:function(){return nf.tokenName}});var rwe=Sd();Object.defineProperty(We,"defaultParserErrorProvider",{enumerable:!0,get:function(){return rwe.defaultParserErrorProvider}});var Ld=ef();Object.defineProperty(We,"EarlyExitException",{enumerable:!0,get:function(){return Ld.EarlyExitException}});Object.defineProperty(We,"isRecognitionException",{enumerable:!0,get:function(){return Ld.isRecognitionException}});Object.defineProperty(We,"MismatchedTokenException",{enumerable:!0,get:function(){return Ld.MismatchedTokenException}});Object.defineProperty(We,"NotAllInputParsedException",{enumerable:!0,get:function(){return Ld.NotAllInputParsedException}});Object.defineProperty(We,"NoViableAltException",{enumerable:!0,get:function(){return Ld.NoViableAltException}});var iwe=Uv();Object.defineProperty(We,"defaultLexerErrorProvider",{enumerable:!0,get:function(){return iwe.defaultLexerErrorProvider}});var Oo=dn();Object.defineProperty(We,"Alternation",{enumerable:!0,get:function(){return Oo.Alternation}});Object.defineProperty(We,"Alternative",{enumerable:!0,get:function(){return Oo.Alternative}});Object.defineProperty(We,"NonTerminal",{enumerable:!0,get:function(){return Oo.NonTerminal}});Object.defineProperty(We,"Option",{enumerable:!0,get:function(){return Oo.Option}});Object.defineProperty(We,"Repetition",{enumerable:!0,get:function(){return Oo.Repetition}});Object.defineProperty(We,"RepetitionMandatory",{enumerable:!0,get:function(){return Oo.RepetitionMandatory}});Object.defineProperty(We,"RepetitionMandatoryWithSeparator",{enumerable:!0,get:function(){return Oo.RepetitionMandatoryWithSeparator}});Object.defineProperty(We,"RepetitionWithSeparator",{enumerable:!0,get:function(){return Oo.RepetitionWithSeparator}});Object.defineProperty(We,"Rule",{enumerable:!0,get:function(){return Oo.Rule}});Object.defineProperty(We,"Terminal",{enumerable:!0,get:function(){return Oo.Terminal}});var AJ=dn();Object.defineProperty(We,"serializeGrammar",{enumerable:!0,get:function(){return AJ.serializeGrammar}});Object.defineProperty(We,"serializeProduction",{enumerable:!0,get:function(){return AJ.serializeProduction}});var nwe=Xg();Object.defineProperty(We,"GAstVisitor",{enumerable:!0,get:function(){return nwe.GAstVisitor}});function swe(){console.warn(`The clearCache function was 'soft' removed from the Chevrotain API. It performs no action other than printing this message. - Please avoid using it as it will be completely removed in the future`)}We.clearCache=Eye;var Iye=Fq();Object.defineProperty(We,"createSyntaxDiagramsCode",{enumerable:!0,get:function(){return Iye.createSyntaxDiagramsCode}});var yye=function(){function r(){throw new Error(`The Parser class has been deprecated, use CstParser or EmbeddedActionsParser instead. -See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_7-0-0`)}return r}();We.Parser=yye});var Kq=w((k$e,Mq)=>{var yy=Tq(),Sa=yy.createToken,Oq=yy.tokenMatcher,Xv=yy.Lexer,wye=yy.EmbeddedActionsParser;Mq.exports=r=>{let e=Sa({name:"LogicalOperator",pattern:Xv.NA}),t=Sa({name:"Or",pattern:/\|/,categories:e}),i=Sa({name:"Xor",pattern:/\^/,categories:e}),n=Sa({name:"And",pattern:/&/,categories:e}),s=Sa({name:"Not",pattern:/!/}),o=Sa({name:"LParen",pattern:/\(/}),a=Sa({name:"RParen",pattern:/\)/}),l=Sa({name:"Query",pattern:r}),u=[Sa({name:"WhiteSpace",pattern:/\s+/,group:Xv.SKIPPED}),t,i,n,o,a,s,e,l],g=new Xv(u);class f extends wye{constructor(p){super(u),this.RULE("expression",()=>this.SUBRULE(this.logicalExpression)),this.RULE("logicalExpression",()=>{let y=this.SUBRULE(this.atomicExpression);return this.MANY(()=>{let B=y,v=this.CONSUME(e),D=this.SUBRULE2(this.atomicExpression);Oq(v,t)?y=L=>B(L)||D(L):Oq(v,i)?y=L=>!!(B(L)^D(L)):y=L=>B(L)&&D(L)}),y}),this.RULE("atomicExpression",()=>this.OR([{ALT:()=>this.SUBRULE(this.parenthesisExpression)},{ALT:()=>{let{image:C}=this.CONSUME(l);return y=>y(C)}},{ALT:()=>{this.CONSUME(s);let C=this.SUBRULE(this.atomicExpression);return y=>!C(y)}}])),this.RULE("parenthesisExpression",()=>{let C;return this.CONSUME(o),C=this.SUBRULE(this.expression),this.CONSUME(a),C}),this.performSelfAnalysis()}}return{TinylogicLexer:g,TinylogicParser:f}}});var Uq=w(wy=>{var Bye=Kq();wy.makeParser=(r=/[a-z]+/)=>{let{TinylogicLexer:e,TinylogicParser:t}=Bye(r),i=new t;return(n,s)=>{let o=e.tokenize(n);return i.input=o.tokens,i.expression()(s)}};wy.parse=wy.makeParser()});var Gq=w((F$e,Hq)=>{"use strict";Hq.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var _v=w((N$e,jq)=>{var vd=Gq(),Yq={};for(let r of Object.keys(vd))Yq[vd[r]]=r;var st={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};jq.exports=st;for(let r of Object.keys(st)){if(!("channels"in st[r]))throw new Error("missing channels property: "+r);if(!("labels"in st[r]))throw new Error("missing channel labels property: "+r);if(st[r].labels.length!==st[r].channels)throw new Error("channel and label counts mismatch: "+r);let{channels:e,labels:t}=st[r];delete st[r].channels,delete st[r].labels,Object.defineProperty(st[r],"channels",{value:e}),Object.defineProperty(st[r],"labels",{value:t})}st.rgb.hsl=function(r){let e=r[0]/255,t=r[1]/255,i=r[2]/255,n=Math.min(e,t,i),s=Math.max(e,t,i),o=s-n,a,l;s===n?a=0:e===s?a=(t-i)/o:t===s?a=2+(i-e)/o:i===s&&(a=4+(e-t)/o),a=Math.min(a*60,360),a<0&&(a+=360);let c=(n+s)/2;return s===n?l=0:c<=.5?l=o/(s+n):l=o/(2-s-n),[a,l*100,c*100]};st.rgb.hsv=function(r){let e,t,i,n,s,o=r[0]/255,a=r[1]/255,l=r[2]/255,c=Math.max(o,a,l),u=c-Math.min(o,a,l),g=function(f){return(c-f)/6/u+1/2};return u===0?(n=0,s=0):(s=u/c,e=g(o),t=g(a),i=g(l),o===c?n=i-t:a===c?n=1/3+e-i:l===c&&(n=2/3+t-e),n<0?n+=1:n>1&&(n-=1)),[n*360,s*100,c*100]};st.rgb.hwb=function(r){let e=r[0],t=r[1],i=r[2],n=st.rgb.hsl(r)[0],s=1/255*Math.min(e,Math.min(t,i));return i=1-1/255*Math.max(e,Math.max(t,i)),[n,s*100,i*100]};st.rgb.cmyk=function(r){let e=r[0]/255,t=r[1]/255,i=r[2]/255,n=Math.min(1-e,1-t,1-i),s=(1-e-n)/(1-n)||0,o=(1-t-n)/(1-n)||0,a=(1-i-n)/(1-n)||0;return[s*100,o*100,a*100,n*100]};function Qye(r,e){return(r[0]-e[0])**2+(r[1]-e[1])**2+(r[2]-e[2])**2}st.rgb.keyword=function(r){let e=Yq[r];if(e)return e;let t=1/0,i;for(let n of Object.keys(vd)){let s=vd[n],o=Qye(r,s);o.04045?((e+.055)/1.055)**2.4:e/12.92,t=t>.04045?((t+.055)/1.055)**2.4:t/12.92,i=i>.04045?((i+.055)/1.055)**2.4:i/12.92;let n=e*.4124+t*.3576+i*.1805,s=e*.2126+t*.7152+i*.0722,o=e*.0193+t*.1192+i*.9505;return[n*100,s*100,o*100]};st.rgb.lab=function(r){let e=st.rgb.xyz(r),t=e[0],i=e[1],n=e[2];t/=95.047,i/=100,n/=108.883,t=t>.008856?t**(1/3):7.787*t+16/116,i=i>.008856?i**(1/3):7.787*i+16/116,n=n>.008856?n**(1/3):7.787*n+16/116;let s=116*i-16,o=500*(t-i),a=200*(i-n);return[s,o,a]};st.hsl.rgb=function(r){let e=r[0]/360,t=r[1]/100,i=r[2]/100,n,s,o;if(t===0)return o=i*255,[o,o,o];i<.5?n=i*(1+t):n=i+t-i*t;let a=2*i-n,l=[0,0,0];for(let c=0;c<3;c++)s=e+1/3*-(c-1),s<0&&s++,s>1&&s--,6*s<1?o=a+(n-a)*6*s:2*s<1?o=n:3*s<2?o=a+(n-a)*(2/3-s)*6:o=a,l[c]=o*255;return l};st.hsl.hsv=function(r){let e=r[0],t=r[1]/100,i=r[2]/100,n=t,s=Math.max(i,.01);i*=2,t*=i<=1?i:2-i,n*=s<=1?s:2-s;let o=(i+t)/2,a=i===0?2*n/(s+n):2*t/(i+t);return[e,a*100,o*100]};st.hsv.rgb=function(r){let e=r[0]/60,t=r[1]/100,i=r[2]/100,n=Math.floor(e)%6,s=e-Math.floor(e),o=255*i*(1-t),a=255*i*(1-t*s),l=255*i*(1-t*(1-s));switch(i*=255,n){case 0:return[i,l,o];case 1:return[a,i,o];case 2:return[o,i,l];case 3:return[o,a,i];case 4:return[l,o,i];case 5:return[i,o,a]}};st.hsv.hsl=function(r){let e=r[0],t=r[1]/100,i=r[2]/100,n=Math.max(i,.01),s,o;o=(2-t)*i;let a=(2-t)*n;return s=t*n,s/=a<=1?a:2-a,s=s||0,o/=2,[e,s*100,o*100]};st.hwb.rgb=function(r){let e=r[0]/360,t=r[1]/100,i=r[2]/100,n=t+i,s;n>1&&(t/=n,i/=n);let o=Math.floor(6*e),a=1-i;s=6*e-o,(o&1)!==0&&(s=1-s);let l=t+s*(a-t),c,u,g;switch(o){default:case 6:case 0:c=a,u=l,g=t;break;case 1:c=l,u=a,g=t;break;case 2:c=t,u=a,g=l;break;case 3:c=t,u=l,g=a;break;case 4:c=l,u=t,g=a;break;case 5:c=a,u=t,g=l;break}return[c*255,u*255,g*255]};st.cmyk.rgb=function(r){let e=r[0]/100,t=r[1]/100,i=r[2]/100,n=r[3]/100,s=1-Math.min(1,e*(1-n)+n),o=1-Math.min(1,t*(1-n)+n),a=1-Math.min(1,i*(1-n)+n);return[s*255,o*255,a*255]};st.xyz.rgb=function(r){let e=r[0]/100,t=r[1]/100,i=r[2]/100,n,s,o;return n=e*3.2406+t*-1.5372+i*-.4986,s=e*-.9689+t*1.8758+i*.0415,o=e*.0557+t*-.204+i*1.057,n=n>.0031308?1.055*n**(1/2.4)-.055:n*12.92,s=s>.0031308?1.055*s**(1/2.4)-.055:s*12.92,o=o>.0031308?1.055*o**(1/2.4)-.055:o*12.92,n=Math.min(Math.max(0,n),1),s=Math.min(Math.max(0,s),1),o=Math.min(Math.max(0,o),1),[n*255,s*255,o*255]};st.xyz.lab=function(r){let e=r[0],t=r[1],i=r[2];e/=95.047,t/=100,i/=108.883,e=e>.008856?e**(1/3):7.787*e+16/116,t=t>.008856?t**(1/3):7.787*t+16/116,i=i>.008856?i**(1/3):7.787*i+16/116;let n=116*t-16,s=500*(e-t),o=200*(t-i);return[n,s,o]};st.lab.xyz=function(r){let e=r[0],t=r[1],i=r[2],n,s,o;s=(e+16)/116,n=t/500+s,o=s-i/200;let a=s**3,l=n**3,c=o**3;return s=a>.008856?a:(s-16/116)/7.787,n=l>.008856?l:(n-16/116)/7.787,o=c>.008856?c:(o-16/116)/7.787,n*=95.047,s*=100,o*=108.883,[n,s,o]};st.lab.lch=function(r){let e=r[0],t=r[1],i=r[2],n;n=Math.atan2(i,t)*360/2/Math.PI,n<0&&(n+=360);let o=Math.sqrt(t*t+i*i);return[e,o,n]};st.lch.lab=function(r){let e=r[0],t=r[1],n=r[2]/360*2*Math.PI,s=t*Math.cos(n),o=t*Math.sin(n);return[e,s,o]};st.rgb.ansi16=function(r,e=null){let[t,i,n]=r,s=e===null?st.rgb.hsv(r)[2]:e;if(s=Math.round(s/50),s===0)return 30;let o=30+(Math.round(n/255)<<2|Math.round(i/255)<<1|Math.round(t/255));return s===2&&(o+=60),o};st.hsv.ansi16=function(r){return st.rgb.ansi16(st.hsv.rgb(r),r[2])};st.rgb.ansi256=function(r){let e=r[0],t=r[1],i=r[2];return e===t&&t===i?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(t/255*5)+Math.round(i/255*5)};st.ansi16.rgb=function(r){let e=r%10;if(e===0||e===7)return r>50&&(e+=3.5),e=e/10.5*255,[e,e,e];let t=(~~(r>50)+1)*.5,i=(e&1)*t*255,n=(e>>1&1)*t*255,s=(e>>2&1)*t*255;return[i,n,s]};st.ansi256.rgb=function(r){if(r>=232){let s=(r-232)*10+8;return[s,s,s]}r-=16;let e,t=Math.floor(r/36)/5*255,i=Math.floor((e=r%36)/6)/5*255,n=e%6/5*255;return[t,i,n]};st.rgb.hex=function(r){let t=(((Math.round(r[0])&255)<<16)+((Math.round(r[1])&255)<<8)+(Math.round(r[2])&255)).toString(16).toUpperCase();return"000000".substring(t.length)+t};st.hex.rgb=function(r){let e=r.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!e)return[0,0,0];let t=e[0];e[0].length===3&&(t=t.split("").map(a=>a+a).join(""));let i=parseInt(t,16),n=i>>16&255,s=i>>8&255,o=i&255;return[n,s,o]};st.rgb.hcg=function(r){let e=r[0]/255,t=r[1]/255,i=r[2]/255,n=Math.max(Math.max(e,t),i),s=Math.min(Math.min(e,t),i),o=n-s,a,l;return o<1?a=s/(1-o):a=0,o<=0?l=0:n===e?l=(t-i)/o%6:n===t?l=2+(i-e)/o:l=4+(e-t)/o,l/=6,l%=1,[l*360,o*100,a*100]};st.hsl.hcg=function(r){let e=r[1]/100,t=r[2]/100,i=t<.5?2*e*t:2*e*(1-t),n=0;return i<1&&(n=(t-.5*i)/(1-i)),[r[0],i*100,n*100]};st.hsv.hcg=function(r){let e=r[1]/100,t=r[2]/100,i=e*t,n=0;return i<1&&(n=(t-i)/(1-i)),[r[0],i*100,n*100]};st.hcg.rgb=function(r){let e=r[0]/360,t=r[1]/100,i=r[2]/100;if(t===0)return[i*255,i*255,i*255];let n=[0,0,0],s=e%1*6,o=s%1,a=1-o,l=0;switch(Math.floor(s)){case 0:n[0]=1,n[1]=o,n[2]=0;break;case 1:n[0]=a,n[1]=1,n[2]=0;break;case 2:n[0]=0,n[1]=1,n[2]=o;break;case 3:n[0]=0,n[1]=a,n[2]=1;break;case 4:n[0]=o,n[1]=0,n[2]=1;break;default:n[0]=1,n[1]=0,n[2]=a}return l=(1-t)*i,[(t*n[0]+l)*255,(t*n[1]+l)*255,(t*n[2]+l)*255]};st.hcg.hsv=function(r){let e=r[1]/100,t=r[2]/100,i=e+t*(1-e),n=0;return i>0&&(n=e/i),[r[0],n*100,i*100]};st.hcg.hsl=function(r){let e=r[1]/100,i=r[2]/100*(1-e)+.5*e,n=0;return i>0&&i<.5?n=e/(2*i):i>=.5&&i<1&&(n=e/(2*(1-i))),[r[0],n*100,i*100]};st.hcg.hwb=function(r){let e=r[1]/100,t=r[2]/100,i=e+t*(1-e);return[r[0],(i-e)*100,(1-i)*100]};st.hwb.hcg=function(r){let e=r[1]/100,t=r[2]/100,i=1-t,n=i-e,s=0;return n<1&&(s=(i-n)/(1-n)),[r[0],n*100,s*100]};st.apple.rgb=function(r){return[r[0]/65535*255,r[1]/65535*255,r[2]/65535*255]};st.rgb.apple=function(r){return[r[0]/255*65535,r[1]/255*65535,r[2]/255*65535]};st.gray.rgb=function(r){return[r[0]/100*255,r[0]/100*255,r[0]/100*255]};st.gray.hsl=function(r){return[0,0,r[0]]};st.gray.hsv=st.gray.hsl;st.gray.hwb=function(r){return[0,100,r[0]]};st.gray.cmyk=function(r){return[0,0,0,r[0]]};st.gray.lab=function(r){return[r[0],0,0]};st.gray.hex=function(r){let e=Math.round(r[0]/100*255)&255,i=((e<<16)+(e<<8)+e).toString(16).toUpperCase();return"000000".substring(i.length)+i};st.rgb.gray=function(r){return[(r[0]+r[1]+r[2])/3/255*100]}});var Jq=w((L$e,qq)=>{var By=_v();function bye(){let r={},e=Object.keys(By);for(let t=e.length,i=0;i{var Zv=_v(),Pye=Jq(),_g={},Dye=Object.keys(Zv);function kye(r){let e=function(...t){let i=t[0];return i==null?i:(i.length>1&&(t=i),r(t))};return"conversion"in r&&(e.conversion=r.conversion),e}function Rye(r){let e=function(...t){let i=t[0];if(i==null)return i;i.length>1&&(t=i);let n=r(t);if(typeof n=="object")for(let s=n.length,o=0;o{_g[r]={},Object.defineProperty(_g[r],"channels",{value:Zv[r].channels}),Object.defineProperty(_g[r],"labels",{value:Zv[r].labels});let e=Pye(r);Object.keys(e).forEach(i=>{let n=e[i];_g[r][i]=Rye(n),_g[r][i].raw=kye(n)})});Wq.exports=_g});var eJ=w((O$e,$q)=>{"use strict";var Vq=(r,e)=>(...t)=>`\x1B[${r(...t)+e}m`,Xq=(r,e)=>(...t)=>{let i=r(...t);return`\x1B[${38+e};5;${i}m`},_q=(r,e)=>(...t)=>{let i=r(...t);return`\x1B[${38+e};2;${i[0]};${i[1]};${i[2]}m`},Qy=r=>r,Zq=(r,e,t)=>[r,e,t],Zg=(r,e,t)=>{Object.defineProperty(r,e,{get:()=>{let i=t();return Object.defineProperty(r,e,{value:i,enumerable:!0,configurable:!0}),i},enumerable:!0,configurable:!0})},$v,$g=(r,e,t,i)=>{$v===void 0&&($v=zq());let n=i?10:0,s={};for(let[o,a]of Object.entries($v)){let l=o==="ansi16"?"ansi":o;o===e?s[l]=r(t,n):typeof a=="object"&&(s[l]=r(a[e],n))}return s};function Fye(){let r=new Map,e={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};e.color.gray=e.color.blackBright,e.bgColor.bgGray=e.bgColor.bgBlackBright,e.color.grey=e.color.blackBright,e.bgColor.bgGrey=e.bgColor.bgBlackBright;for(let[t,i]of Object.entries(e)){for(let[n,s]of Object.entries(i))e[n]={open:`\x1B[${s[0]}m`,close:`\x1B[${s[1]}m`},i[n]=e[n],r.set(s[0],s[1]);Object.defineProperty(e,t,{value:i,enumerable:!1})}return Object.defineProperty(e,"codes",{value:r,enumerable:!1}),e.color.close="\x1B[39m",e.bgColor.close="\x1B[49m",Zg(e.color,"ansi",()=>$g(Vq,"ansi16",Qy,!1)),Zg(e.color,"ansi256",()=>$g(Xq,"ansi256",Qy,!1)),Zg(e.color,"ansi16m",()=>$g(_q,"rgb",Zq,!1)),Zg(e.bgColor,"ansi",()=>$g(Vq,"ansi16",Qy,!0)),Zg(e.bgColor,"ansi256",()=>$g(Xq,"ansi256",Qy,!0)),Zg(e.bgColor,"ansi16m",()=>$g(_q,"rgb",Zq,!0)),e}Object.defineProperty($q,"exports",{enumerable:!0,get:Fye})});var rJ=w((M$e,tJ)=>{"use strict";tJ.exports=(r,e=process.argv)=>{let t=r.startsWith("-")?"":r.length===1?"-":"--",i=e.indexOf(t+r),n=e.indexOf("--");return i!==-1&&(n===-1||i{"use strict";var Nye=J("os"),iJ=J("tty"),us=rJ(),{env:ai}=process,DA;us("no-color")||us("no-colors")||us("color=false")||us("color=never")?DA=0:(us("color")||us("colors")||us("color=true")||us("color=always"))&&(DA=1);"FORCE_COLOR"in ai&&(ai.FORCE_COLOR==="true"?DA=1:ai.FORCE_COLOR==="false"?DA=0:DA=ai.FORCE_COLOR.length===0?1:Math.min(parseInt(ai.FORCE_COLOR,10),3));function ex(r){return r===0?!1:{level:r,hasBasic:!0,has256:r>=2,has16m:r>=3}}function tx(r,e){if(DA===0)return 0;if(us("color=16m")||us("color=full")||us("color=truecolor"))return 3;if(us("color=256"))return 2;if(r&&!e&&DA===void 0)return 0;let t=DA||0;if(ai.TERM==="dumb")return t;if(process.platform==="win32"){let i=Nye.release().split(".");return Number(i[0])>=10&&Number(i[2])>=10586?Number(i[2])>=14931?3:2:1}if("CI"in ai)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(i=>i in ai)||ai.CI_NAME==="codeship"?1:t;if("TEAMCITY_VERSION"in ai)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(ai.TEAMCITY_VERSION)?1:0;if("GITHUB_ACTIONS"in ai)return 1;if(ai.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in ai){let i=parseInt((ai.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(ai.TERM_PROGRAM){case"iTerm.app":return i>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(ai.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(ai.TERM)||"COLORTERM"in ai?1:t}function Lye(r){let e=tx(r,r&&r.isTTY);return ex(e)}nJ.exports={supportsColor:Lye,stdout:ex(tx(!0,iJ.isatty(1))),stderr:ex(tx(!0,iJ.isatty(2)))}});var aJ=w((U$e,oJ)=>{"use strict";var Tye=(r,e,t)=>{let i=r.indexOf(e);if(i===-1)return r;let n=e.length,s=0,o="";do o+=r.substr(s,i-s)+e+t,s=i+n,i=r.indexOf(e,s);while(i!==-1);return o+=r.substr(s),o},Oye=(r,e,t,i)=>{let n=0,s="";do{let o=r[i-1]==="\r";s+=r.substr(n,(o?i-1:i)-n)+e+(o?`\r + Please avoid using it as it will be completely removed in the future`)}We.clearCache=swe;var owe=oJ();Object.defineProperty(We,"createSyntaxDiagramsCode",{enumerable:!0,get:function(){return owe.createSyntaxDiagramsCode}});var awe=function(){function r(){throw new Error(`The Parser class has been deprecated, use CstParser or EmbeddedActionsParser instead. +See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_7-0-0`)}return r}();We.Parser=awe});var gJ=w((Met,uJ)=>{var Dy=lJ(),ka=Dy.createToken,cJ=Dy.tokenMatcher,ux=Dy.Lexer,Awe=Dy.EmbeddedActionsParser;uJ.exports=r=>{let e=ka({name:"LogicalOperator",pattern:ux.NA}),t=ka({name:"Or",pattern:/\|/,categories:e}),i=ka({name:"Xor",pattern:/\^/,categories:e}),n=ka({name:"And",pattern:/&/,categories:e}),s=ka({name:"Not",pattern:/!/}),o=ka({name:"LParen",pattern:/\(/}),a=ka({name:"RParen",pattern:/\)/}),l=ka({name:"Query",pattern:r}),u=[ka({name:"WhiteSpace",pattern:/\s+/,group:ux.SKIPPED}),t,i,n,o,a,s,e,l],g=new ux(u);class f extends Awe{constructor(p){super(u),this.RULE("expression",()=>this.SUBRULE(this.logicalExpression)),this.RULE("logicalExpression",()=>{let y=this.SUBRULE(this.atomicExpression);return this.MANY(()=>{let B=y,v=this.CONSUME(e),D=this.SUBRULE2(this.atomicExpression);cJ(v,t)?y=L=>B(L)||D(L):cJ(v,i)?y=L=>!!(B(L)^D(L)):y=L=>B(L)&&D(L)}),y}),this.RULE("atomicExpression",()=>this.OR([{ALT:()=>this.SUBRULE(this.parenthesisExpression)},{ALT:()=>{let{image:C}=this.CONSUME(l);return y=>y(C)}},{ALT:()=>{this.CONSUME(s);let C=this.SUBRULE(this.atomicExpression);return y=>!C(y)}}])),this.RULE("parenthesisExpression",()=>{let C;return this.CONSUME(o),C=this.SUBRULE(this.expression),this.CONSUME(a),C}),this.performSelfAnalysis()}}return{TinylogicLexer:g,TinylogicParser:f}}});var fJ=w(ky=>{var lwe=gJ();ky.makeParser=(r=/[a-z]+/)=>{let{TinylogicLexer:e,TinylogicParser:t}=lwe(r),i=new t;return(n,s)=>{let o=e.tokenize(n);return i.input=o.tokens,i.expression()(s)}};ky.parse=ky.makeParser()});var pJ=w((Uet,hJ)=>{"use strict";hJ.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var gx=w((Het,CJ)=>{var Td=pJ(),dJ={};for(let r of Object.keys(Td))dJ[Td[r]]=r;var st={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};CJ.exports=st;for(let r of Object.keys(st)){if(!("channels"in st[r]))throw new Error("missing channels property: "+r);if(!("labels"in st[r]))throw new Error("missing channel labels property: "+r);if(st[r].labels.length!==st[r].channels)throw new Error("channel and label counts mismatch: "+r);let{channels:e,labels:t}=st[r];delete st[r].channels,delete st[r].labels,Object.defineProperty(st[r],"channels",{value:e}),Object.defineProperty(st[r],"labels",{value:t})}st.rgb.hsl=function(r){let e=r[0]/255,t=r[1]/255,i=r[2]/255,n=Math.min(e,t,i),s=Math.max(e,t,i),o=s-n,a,l;s===n?a=0:e===s?a=(t-i)/o:t===s?a=2+(i-e)/o:i===s&&(a=4+(e-t)/o),a=Math.min(a*60,360),a<0&&(a+=360);let c=(n+s)/2;return s===n?l=0:c<=.5?l=o/(s+n):l=o/(2-s-n),[a,l*100,c*100]};st.rgb.hsv=function(r){let e,t,i,n,s,o=r[0]/255,a=r[1]/255,l=r[2]/255,c=Math.max(o,a,l),u=c-Math.min(o,a,l),g=function(f){return(c-f)/6/u+1/2};return u===0?(n=0,s=0):(s=u/c,e=g(o),t=g(a),i=g(l),o===c?n=i-t:a===c?n=1/3+e-i:l===c&&(n=2/3+t-e),n<0?n+=1:n>1&&(n-=1)),[n*360,s*100,c*100]};st.rgb.hwb=function(r){let e=r[0],t=r[1],i=r[2],n=st.rgb.hsl(r)[0],s=1/255*Math.min(e,Math.min(t,i));return i=1-1/255*Math.max(e,Math.max(t,i)),[n,s*100,i*100]};st.rgb.cmyk=function(r){let e=r[0]/255,t=r[1]/255,i=r[2]/255,n=Math.min(1-e,1-t,1-i),s=(1-e-n)/(1-n)||0,o=(1-t-n)/(1-n)||0,a=(1-i-n)/(1-n)||0;return[s*100,o*100,a*100,n*100]};function cwe(r,e){return(r[0]-e[0])**2+(r[1]-e[1])**2+(r[2]-e[2])**2}st.rgb.keyword=function(r){let e=dJ[r];if(e)return e;let t=1/0,i;for(let n of Object.keys(Td)){let s=Td[n],o=cwe(r,s);o.04045?((e+.055)/1.055)**2.4:e/12.92,t=t>.04045?((t+.055)/1.055)**2.4:t/12.92,i=i>.04045?((i+.055)/1.055)**2.4:i/12.92;let n=e*.4124+t*.3576+i*.1805,s=e*.2126+t*.7152+i*.0722,o=e*.0193+t*.1192+i*.9505;return[n*100,s*100,o*100]};st.rgb.lab=function(r){let e=st.rgb.xyz(r),t=e[0],i=e[1],n=e[2];t/=95.047,i/=100,n/=108.883,t=t>.008856?t**(1/3):7.787*t+16/116,i=i>.008856?i**(1/3):7.787*i+16/116,n=n>.008856?n**(1/3):7.787*n+16/116;let s=116*i-16,o=500*(t-i),a=200*(i-n);return[s,o,a]};st.hsl.rgb=function(r){let e=r[0]/360,t=r[1]/100,i=r[2]/100,n,s,o;if(t===0)return o=i*255,[o,o,o];i<.5?n=i*(1+t):n=i+t-i*t;let a=2*i-n,l=[0,0,0];for(let c=0;c<3;c++)s=e+1/3*-(c-1),s<0&&s++,s>1&&s--,6*s<1?o=a+(n-a)*6*s:2*s<1?o=n:3*s<2?o=a+(n-a)*(2/3-s)*6:o=a,l[c]=o*255;return l};st.hsl.hsv=function(r){let e=r[0],t=r[1]/100,i=r[2]/100,n=t,s=Math.max(i,.01);i*=2,t*=i<=1?i:2-i,n*=s<=1?s:2-s;let o=(i+t)/2,a=i===0?2*n/(s+n):2*t/(i+t);return[e,a*100,o*100]};st.hsv.rgb=function(r){let e=r[0]/60,t=r[1]/100,i=r[2]/100,n=Math.floor(e)%6,s=e-Math.floor(e),o=255*i*(1-t),a=255*i*(1-t*s),l=255*i*(1-t*(1-s));switch(i*=255,n){case 0:return[i,l,o];case 1:return[a,i,o];case 2:return[o,i,l];case 3:return[o,a,i];case 4:return[l,o,i];case 5:return[i,o,a]}};st.hsv.hsl=function(r){let e=r[0],t=r[1]/100,i=r[2]/100,n=Math.max(i,.01),s,o;o=(2-t)*i;let a=(2-t)*n;return s=t*n,s/=a<=1?a:2-a,s=s||0,o/=2,[e,s*100,o*100]};st.hwb.rgb=function(r){let e=r[0]/360,t=r[1]/100,i=r[2]/100,n=t+i,s;n>1&&(t/=n,i/=n);let o=Math.floor(6*e),a=1-i;s=6*e-o,(o&1)!==0&&(s=1-s);let l=t+s*(a-t),c,u,g;switch(o){default:case 6:case 0:c=a,u=l,g=t;break;case 1:c=l,u=a,g=t;break;case 2:c=t,u=a,g=l;break;case 3:c=t,u=l,g=a;break;case 4:c=l,u=t,g=a;break;case 5:c=a,u=t,g=l;break}return[c*255,u*255,g*255]};st.cmyk.rgb=function(r){let e=r[0]/100,t=r[1]/100,i=r[2]/100,n=r[3]/100,s=1-Math.min(1,e*(1-n)+n),o=1-Math.min(1,t*(1-n)+n),a=1-Math.min(1,i*(1-n)+n);return[s*255,o*255,a*255]};st.xyz.rgb=function(r){let e=r[0]/100,t=r[1]/100,i=r[2]/100,n,s,o;return n=e*3.2406+t*-1.5372+i*-.4986,s=e*-.9689+t*1.8758+i*.0415,o=e*.0557+t*-.204+i*1.057,n=n>.0031308?1.055*n**(1/2.4)-.055:n*12.92,s=s>.0031308?1.055*s**(1/2.4)-.055:s*12.92,o=o>.0031308?1.055*o**(1/2.4)-.055:o*12.92,n=Math.min(Math.max(0,n),1),s=Math.min(Math.max(0,s),1),o=Math.min(Math.max(0,o),1),[n*255,s*255,o*255]};st.xyz.lab=function(r){let e=r[0],t=r[1],i=r[2];e/=95.047,t/=100,i/=108.883,e=e>.008856?e**(1/3):7.787*e+16/116,t=t>.008856?t**(1/3):7.787*t+16/116,i=i>.008856?i**(1/3):7.787*i+16/116;let n=116*t-16,s=500*(e-t),o=200*(t-i);return[n,s,o]};st.lab.xyz=function(r){let e=r[0],t=r[1],i=r[2],n,s,o;s=(e+16)/116,n=t/500+s,o=s-i/200;let a=s**3,l=n**3,c=o**3;return s=a>.008856?a:(s-16/116)/7.787,n=l>.008856?l:(n-16/116)/7.787,o=c>.008856?c:(o-16/116)/7.787,n*=95.047,s*=100,o*=108.883,[n,s,o]};st.lab.lch=function(r){let e=r[0],t=r[1],i=r[2],n;n=Math.atan2(i,t)*360/2/Math.PI,n<0&&(n+=360);let o=Math.sqrt(t*t+i*i);return[e,o,n]};st.lch.lab=function(r){let e=r[0],t=r[1],n=r[2]/360*2*Math.PI,s=t*Math.cos(n),o=t*Math.sin(n);return[e,s,o]};st.rgb.ansi16=function(r,e=null){let[t,i,n]=r,s=e===null?st.rgb.hsv(r)[2]:e;if(s=Math.round(s/50),s===0)return 30;let o=30+(Math.round(n/255)<<2|Math.round(i/255)<<1|Math.round(t/255));return s===2&&(o+=60),o};st.hsv.ansi16=function(r){return st.rgb.ansi16(st.hsv.rgb(r),r[2])};st.rgb.ansi256=function(r){let e=r[0],t=r[1],i=r[2];return e===t&&t===i?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(t/255*5)+Math.round(i/255*5)};st.ansi16.rgb=function(r){let e=r%10;if(e===0||e===7)return r>50&&(e+=3.5),e=e/10.5*255,[e,e,e];let t=(~~(r>50)+1)*.5,i=(e&1)*t*255,n=(e>>1&1)*t*255,s=(e>>2&1)*t*255;return[i,n,s]};st.ansi256.rgb=function(r){if(r>=232){let s=(r-232)*10+8;return[s,s,s]}r-=16;let e,t=Math.floor(r/36)/5*255,i=Math.floor((e=r%36)/6)/5*255,n=e%6/5*255;return[t,i,n]};st.rgb.hex=function(r){let t=(((Math.round(r[0])&255)<<16)+((Math.round(r[1])&255)<<8)+(Math.round(r[2])&255)).toString(16).toUpperCase();return"000000".substring(t.length)+t};st.hex.rgb=function(r){let e=r.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!e)return[0,0,0];let t=e[0];e[0].length===3&&(t=t.split("").map(a=>a+a).join(""));let i=parseInt(t,16),n=i>>16&255,s=i>>8&255,o=i&255;return[n,s,o]};st.rgb.hcg=function(r){let e=r[0]/255,t=r[1]/255,i=r[2]/255,n=Math.max(Math.max(e,t),i),s=Math.min(Math.min(e,t),i),o=n-s,a,l;return o<1?a=s/(1-o):a=0,o<=0?l=0:n===e?l=(t-i)/o%6:n===t?l=2+(i-e)/o:l=4+(e-t)/o,l/=6,l%=1,[l*360,o*100,a*100]};st.hsl.hcg=function(r){let e=r[1]/100,t=r[2]/100,i=t<.5?2*e*t:2*e*(1-t),n=0;return i<1&&(n=(t-.5*i)/(1-i)),[r[0],i*100,n*100]};st.hsv.hcg=function(r){let e=r[1]/100,t=r[2]/100,i=e*t,n=0;return i<1&&(n=(t-i)/(1-i)),[r[0],i*100,n*100]};st.hcg.rgb=function(r){let e=r[0]/360,t=r[1]/100,i=r[2]/100;if(t===0)return[i*255,i*255,i*255];let n=[0,0,0],s=e%1*6,o=s%1,a=1-o,l=0;switch(Math.floor(s)){case 0:n[0]=1,n[1]=o,n[2]=0;break;case 1:n[0]=a,n[1]=1,n[2]=0;break;case 2:n[0]=0,n[1]=1,n[2]=o;break;case 3:n[0]=0,n[1]=a,n[2]=1;break;case 4:n[0]=o,n[1]=0,n[2]=1;break;default:n[0]=1,n[1]=0,n[2]=a}return l=(1-t)*i,[(t*n[0]+l)*255,(t*n[1]+l)*255,(t*n[2]+l)*255]};st.hcg.hsv=function(r){let e=r[1]/100,t=r[2]/100,i=e+t*(1-e),n=0;return i>0&&(n=e/i),[r[0],n*100,i*100]};st.hcg.hsl=function(r){let e=r[1]/100,i=r[2]/100*(1-e)+.5*e,n=0;return i>0&&i<.5?n=e/(2*i):i>=.5&&i<1&&(n=e/(2*(1-i))),[r[0],n*100,i*100]};st.hcg.hwb=function(r){let e=r[1]/100,t=r[2]/100,i=e+t*(1-e);return[r[0],(i-e)*100,(1-i)*100]};st.hwb.hcg=function(r){let e=r[1]/100,t=r[2]/100,i=1-t,n=i-e,s=0;return n<1&&(s=(i-n)/(1-n)),[r[0],n*100,s*100]};st.apple.rgb=function(r){return[r[0]/65535*255,r[1]/65535*255,r[2]/65535*255]};st.rgb.apple=function(r){return[r[0]/255*65535,r[1]/255*65535,r[2]/255*65535]};st.gray.rgb=function(r){return[r[0]/100*255,r[0]/100*255,r[0]/100*255]};st.gray.hsl=function(r){return[0,0,r[0]]};st.gray.hsv=st.gray.hsl;st.gray.hwb=function(r){return[0,100,r[0]]};st.gray.cmyk=function(r){return[0,0,0,r[0]]};st.gray.lab=function(r){return[r[0],0,0]};st.gray.hex=function(r){let e=Math.round(r[0]/100*255)&255,i=((e<<16)+(e<<8)+e).toString(16).toUpperCase();return"000000".substring(i.length)+i};st.rgb.gray=function(r){return[(r[0]+r[1]+r[2])/3/255*100]}});var EJ=w((Get,mJ)=>{var Ry=gx();function uwe(){let r={},e=Object.keys(Ry);for(let t=e.length,i=0;i{var fx=gx(),pwe=EJ(),sf={},dwe=Object.keys(fx);function Cwe(r){let e=function(...t){let i=t[0];return i==null?i:(i.length>1&&(t=i),r(t))};return"conversion"in r&&(e.conversion=r.conversion),e}function mwe(r){let e=function(...t){let i=t[0];if(i==null)return i;i.length>1&&(t=i);let n=r(t);if(typeof n=="object")for(let s=n.length,o=0;o{sf[r]={},Object.defineProperty(sf[r],"channels",{value:fx[r].channels}),Object.defineProperty(sf[r],"labels",{value:fx[r].labels});let e=pwe(r);Object.keys(e).forEach(i=>{let n=e[i];sf[r][i]=mwe(n),sf[r][i].raw=Cwe(n)})});IJ.exports=sf});var vJ=w((jet,SJ)=>{"use strict";var wJ=(r,e)=>(...t)=>`\x1B[${r(...t)+e}m`,BJ=(r,e)=>(...t)=>{let i=r(...t);return`\x1B[${38+e};5;${i}m`},QJ=(r,e)=>(...t)=>{let i=r(...t);return`\x1B[${38+e};2;${i[0]};${i[1]};${i[2]}m`},Fy=r=>r,bJ=(r,e,t)=>[r,e,t],of=(r,e,t)=>{Object.defineProperty(r,e,{get:()=>{let i=t();return Object.defineProperty(r,e,{value:i,enumerable:!0,configurable:!0}),i},enumerable:!0,configurable:!0})},hx,af=(r,e,t,i)=>{hx===void 0&&(hx=yJ());let n=i?10:0,s={};for(let[o,a]of Object.entries(hx)){let l=o==="ansi16"?"ansi":o;o===e?s[l]=r(t,n):typeof a=="object"&&(s[l]=r(a[e],n))}return s};function Ewe(){let r=new Map,e={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};e.color.gray=e.color.blackBright,e.bgColor.bgGray=e.bgColor.bgBlackBright,e.color.grey=e.color.blackBright,e.bgColor.bgGrey=e.bgColor.bgBlackBright;for(let[t,i]of Object.entries(e)){for(let[n,s]of Object.entries(i))e[n]={open:`\x1B[${s[0]}m`,close:`\x1B[${s[1]}m`},i[n]=e[n],r.set(s[0],s[1]);Object.defineProperty(e,t,{value:i,enumerable:!1})}return Object.defineProperty(e,"codes",{value:r,enumerable:!1}),e.color.close="\x1B[39m",e.bgColor.close="\x1B[49m",of(e.color,"ansi",()=>af(wJ,"ansi16",Fy,!1)),of(e.color,"ansi256",()=>af(BJ,"ansi256",Fy,!1)),of(e.color,"ansi16m",()=>af(QJ,"rgb",bJ,!1)),of(e.bgColor,"ansi",()=>af(wJ,"ansi16",Fy,!0)),of(e.bgColor,"ansi256",()=>af(BJ,"ansi256",Fy,!0)),of(e.bgColor,"ansi16m",()=>af(QJ,"rgb",bJ,!0)),e}Object.defineProperty(SJ,"exports",{enumerable:!0,get:Ewe})});var PJ=w((qet,xJ)=>{"use strict";xJ.exports=(r,e=process.argv)=>{let t=r.startsWith("-")?"":r.length===1?"-":"--",i=e.indexOf(t+r),n=e.indexOf("--");return i!==-1&&(n===-1||i{"use strict";var Iwe=J("os"),DJ=J("tty"),hs=PJ(),{env:ai}=process,MA;hs("no-color")||hs("no-colors")||hs("color=false")||hs("color=never")?MA=0:(hs("color")||hs("colors")||hs("color=true")||hs("color=always"))&&(MA=1);"FORCE_COLOR"in ai&&(ai.FORCE_COLOR==="true"?MA=1:ai.FORCE_COLOR==="false"?MA=0:MA=ai.FORCE_COLOR.length===0?1:Math.min(parseInt(ai.FORCE_COLOR,10),3));function px(r){return r===0?!1:{level:r,hasBasic:!0,has256:r>=2,has16m:r>=3}}function dx(r,e){if(MA===0)return 0;if(hs("color=16m")||hs("color=full")||hs("color=truecolor"))return 3;if(hs("color=256"))return 2;if(r&&!e&&MA===void 0)return 0;let t=MA||0;if(ai.TERM==="dumb")return t;if(process.platform==="win32"){let i=Iwe.release().split(".");return Number(i[0])>=10&&Number(i[2])>=10586?Number(i[2])>=14931?3:2:1}if("CI"in ai)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(i=>i in ai)||ai.CI_NAME==="codeship"?1:t;if("TEAMCITY_VERSION"in ai)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(ai.TEAMCITY_VERSION)?1:0;if("GITHUB_ACTIONS"in ai)return 1;if(ai.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in ai){let i=parseInt((ai.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(ai.TERM_PROGRAM){case"iTerm.app":return i>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(ai.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(ai.TERM)||"COLORTERM"in ai?1:t}function ywe(r){let e=dx(r,r&&r.isTTY);return px(e)}kJ.exports={supportsColor:ywe,stdout:px(dx(!0,DJ.isatty(1))),stderr:px(dx(!0,DJ.isatty(2)))}});var NJ=w((Wet,FJ)=>{"use strict";var wwe=(r,e,t)=>{let i=r.indexOf(e);if(i===-1)return r;let n=e.length,s=0,o="";do o+=r.substr(s,i-s)+e+t,s=i+n,i=r.indexOf(e,s);while(i!==-1);return o+=r.substr(s),o},Bwe=(r,e,t,i)=>{let n=0,s="";do{let o=r[i-1]==="\r";s+=r.substr(n,(o?i-1:i)-n)+e+(o?`\r `:` `)+t,n=i+1,i=r.indexOf(` -`,n)}while(i!==-1);return s+=r.substr(n),s};oJ.exports={stringReplaceAll:Tye,stringEncaseCRLFWithFirstIndex:Oye}});var gJ=w((H$e,uJ)=>{"use strict";var Mye=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,AJ=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,Kye=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,Uye=/\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.)|([^\\])/gi,Hye=new Map([["n",` -`],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e","\x1B"],["a","\x07"]]);function cJ(r){let e=r[0]==="u",t=r[1]==="{";return e&&!t&&r.length===5||r[0]==="x"&&r.length===3?String.fromCharCode(parseInt(r.slice(1),16)):e&&t?String.fromCodePoint(parseInt(r.slice(2,-1),16)):Hye.get(r)||r}function Gye(r,e){let t=[],i=e.trim().split(/\s*,\s*/g),n;for(let s of i){let o=Number(s);if(!Number.isNaN(o))t.push(o);else if(n=s.match(Kye))t.push(n[2].replace(Uye,(a,l,c)=>l?cJ(l):c));else throw new Error(`Invalid Chalk template style argument: ${s} (in style '${r}')`)}return t}function Yye(r){AJ.lastIndex=0;let e=[],t;for(;(t=AJ.exec(r))!==null;){let i=t[1];if(t[2]){let n=Gye(i,t[2]);e.push([i].concat(n))}else e.push([i])}return e}function lJ(r,e){let t={};for(let n of e)for(let s of n.styles)t[s[0]]=n.inverse?null:s.slice(1);let i=r;for(let[n,s]of Object.entries(t))if(!!Array.isArray(s)){if(!(n in i))throw new Error(`Unknown Chalk style: ${n}`);i=s.length>0?i[n](...s):i[n]}return i}uJ.exports=(r,e)=>{let t=[],i=[],n=[];if(e.replace(Mye,(s,o,a,l,c,u)=>{if(o)n.push(cJ(o));else if(l){let g=n.join("");n=[],i.push(t.length===0?g:lJ(r,t)(g)),t.push({inverse:a,styles:Yye(l)})}else if(c){if(t.length===0)throw new Error("Found extraneous } in Chalk template literal");i.push(lJ(r,t)(n.join(""))),n=[],t.pop()}else n.push(u)}),i.push(n.join("")),t.length>0){let s=`Chalk template literal is missing ${t.length} closing bracket${t.length===1?"":"s"} (\`}\`)`;throw new Error(s)}return i.join("")}});var ax=w((G$e,dJ)=>{"use strict";var xd=eJ(),{stdout:ix,stderr:nx}=sJ(),{stringReplaceAll:jye,stringEncaseCRLFWithFirstIndex:qye}=aJ(),fJ=["ansi","ansi","ansi256","ansi16m"],ef=Object.create(null),Jye=(r,e={})=>{if(e.level>3||e.level<0)throw new Error("The `level` option should be an integer from 0 to 3");let t=ix?ix.level:0;r.level=e.level===void 0?t:e.level},sx=class{constructor(e){return hJ(e)}},hJ=r=>{let e={};return Jye(e,r),e.template=(...t)=>Vye(e.template,...t),Object.setPrototypeOf(e,by.prototype),Object.setPrototypeOf(e.template,e),e.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},e.template.Instance=sx,e.template};function by(r){return hJ(r)}for(let[r,e]of Object.entries(xd))ef[r]={get(){let t=Sy(this,ox(e.open,e.close,this._styler),this._isEmpty);return Object.defineProperty(this,r,{value:t}),t}};ef.visible={get(){let r=Sy(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:r}),r}};var pJ=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(let r of pJ)ef[r]={get(){let{level:e}=this;return function(...t){let i=ox(xd.color[fJ[e]][r](...t),xd.color.close,this._styler);return Sy(this,i,this._isEmpty)}}};for(let r of pJ){let e="bg"+r[0].toUpperCase()+r.slice(1);ef[e]={get(){let{level:t}=this;return function(...i){let n=ox(xd.bgColor[fJ[t]][r](...i),xd.bgColor.close,this._styler);return Sy(this,n,this._isEmpty)}}}}var Wye=Object.defineProperties(()=>{},{...ef,level:{enumerable:!0,get(){return this._generator.level},set(r){this._generator.level=r}}}),ox=(r,e,t)=>{let i,n;return t===void 0?(i=r,n=e):(i=t.openAll+r,n=e+t.closeAll),{open:r,close:e,openAll:i,closeAll:n,parent:t}},Sy=(r,e,t)=>{let i=(...n)=>zye(i,n.length===1?""+n[0]:n.join(" "));return i.__proto__=Wye,i._generator=r,i._styler=e,i._isEmpty=t,i},zye=(r,e)=>{if(r.level<=0||!e)return r._isEmpty?"":e;let t=r._styler;if(t===void 0)return e;let{openAll:i,closeAll:n}=t;if(e.indexOf("\x1B")!==-1)for(;t!==void 0;)e=jye(e,t.close,t.open),t=t.parent;let s=e.indexOf(` -`);return s!==-1&&(e=qye(e,n,i,s)),i+e+n},rx,Vye=(r,...e)=>{let[t]=e;if(!Array.isArray(t))return e.join(" ");let i=e.slice(1),n=[t.raw[0]];for(let s=1;s{"use strict";gs.isInteger=r=>typeof r=="number"?Number.isInteger(r):typeof r=="string"&&r.trim()!==""?Number.isInteger(Number(r)):!1;gs.find=(r,e)=>r.nodes.find(t=>t.type===e);gs.exceedsLimit=(r,e,t=1,i)=>i===!1||!gs.isInteger(r)||!gs.isInteger(e)?!1:(Number(e)-Number(r))/Number(t)>=i;gs.escapeNode=(r,e=0,t)=>{let i=r.nodes[e];!i||(t&&i.type===t||i.type==="open"||i.type==="close")&&i.escaped!==!0&&(i.value="\\"+i.value,i.escaped=!0)};gs.encloseBrace=r=>r.type!=="brace"?!1:r.commas>>0+r.ranges>>0===0?(r.invalid=!0,!0):!1;gs.isInvalidBrace=r=>r.type!=="brace"?!1:r.invalid===!0||r.dollar?!0:r.commas>>0+r.ranges>>0===0||r.open!==!0||r.close!==!0?(r.invalid=!0,!0):!1;gs.isOpenOrClose=r=>r.type==="open"||r.type==="close"?!0:r.open===!0||r.close===!0;gs.reduce=r=>r.reduce((e,t)=>(t.type==="text"&&e.push(t.value),t.type==="range"&&(t.type="text"),e),[]);gs.flatten=(...r)=>{let e=[],t=i=>{for(let n=0;n{"use strict";var CJ=vy();mJ.exports=(r,e={})=>{let t=(i,n={})=>{let s=e.escapeInvalid&&CJ.isInvalidBrace(n),o=i.invalid===!0&&e.escapeInvalid===!0,a="";if(i.value)return(s||o)&&CJ.isOpenOrClose(i)?"\\"+i.value:i.value;if(i.value)return i.value;if(i.nodes)for(let l of i.nodes)a+=t(l);return a};return t(r)}});var IJ=w((q$e,EJ)=>{"use strict";EJ.exports=function(r){return typeof r=="number"?r-r===0:typeof r=="string"&&r.trim()!==""?Number.isFinite?Number.isFinite(+r):isFinite(+r):!1}});var PJ=w((J$e,xJ)=>{"use strict";var yJ=IJ(),ac=(r,e,t)=>{if(yJ(r)===!1)throw new TypeError("toRegexRange: expected the first argument to be a number");if(e===void 0||r===e)return String(r);if(yJ(e)===!1)throw new TypeError("toRegexRange: expected the second argument to be a number.");let i={relaxZeros:!0,...t};typeof i.strictZeros=="boolean"&&(i.relaxZeros=i.strictZeros===!1);let n=String(i.relaxZeros),s=String(i.shorthand),o=String(i.capture),a=String(i.wrap),l=r+":"+e+"="+n+s+o+a;if(ac.cache.hasOwnProperty(l))return ac.cache[l].result;let c=Math.min(r,e),u=Math.max(r,e);if(Math.abs(c-u)===1){let C=r+"|"+e;return i.capture?`(${C})`:i.wrap===!1?C:`(?:${C})`}let g=vJ(r)||vJ(e),f={min:r,max:e,a:c,b:u},h=[],p=[];if(g&&(f.isPadded=g,f.maxLen=String(f.max).length),c<0){let C=u<0?Math.abs(u):1;p=wJ(C,Math.abs(c),f,i),c=f.a=0}return u>=0&&(h=wJ(c,u,f,i)),f.negatives=p,f.positives=h,f.result=Xye(p,h,i),i.capture===!0?f.result=`(${f.result})`:i.wrap!==!1&&h.length+p.length>1&&(f.result=`(?:${f.result})`),ac.cache[l]=f,f.result};function Xye(r,e,t){let i=Ax(r,e,"-",!1,t)||[],n=Ax(e,r,"",!1,t)||[],s=Ax(r,e,"-?",!0,t)||[];return i.concat(s).concat(n).join("|")}function _ye(r,e){let t=1,i=1,n=QJ(r,t),s=new Set([e]);for(;r<=n&&n<=e;)s.add(n),t+=1,n=QJ(r,t);for(n=bJ(e+1,i)-1;r1&&a.count.pop(),a.count.push(u.count[0]),a.string=a.pattern+SJ(a.count),o=c+1;continue}t.isPadded&&(g=rwe(c,t,i)),u.string=g+u.pattern+SJ(u.count),s.push(u),o=c+1,a=u}return s}function Ax(r,e,t,i,n){let s=[];for(let o of r){let{string:a}=o;!i&&!BJ(e,"string",a)&&s.push(t+a),i&&BJ(e,"string",a)&&s.push(t+a)}return s}function $ye(r,e){let t=[];for(let i=0;ie?1:e>r?-1:0}function BJ(r,e,t){return r.some(i=>i[e]===t)}function QJ(r,e){return Number(String(r).slice(0,-e)+"9".repeat(e))}function bJ(r,e){return r-r%Math.pow(10,e)}function SJ(r){let[e=0,t=""]=r;return t||e>1?`{${e+(t?","+t:"")}}`:""}function twe(r,e,t){return`[${r}${e-r===1?"":"-"}${e}]`}function vJ(r){return/^-?(0+)\d/.test(r)}function rwe(r,e,t){if(!e.isPadded)return r;let i=Math.abs(e.maxLen-String(r).length),n=t.relaxZeros!==!1;switch(i){case 0:return"";case 1:return n?"0?":"0";case 2:return n?"0{0,2}":"00";default:return n?`0{0,${i}}`:`0{${i}}`}}ac.cache={};ac.clearCache=()=>ac.cache={};xJ.exports=ac});var ux=w((W$e,OJ)=>{"use strict";var iwe=J("util"),RJ=PJ(),DJ=r=>r!==null&&typeof r=="object"&&!Array.isArray(r),nwe=r=>e=>r===!0?Number(e):String(e),lx=r=>typeof r=="number"||typeof r=="string"&&r!=="",Dd=r=>Number.isInteger(+r),cx=r=>{let e=`${r}`,t=-1;if(e[0]==="-"&&(e=e.slice(1)),e==="0")return!1;for(;e[++t]==="0";);return t>0},swe=(r,e,t)=>typeof r=="string"||typeof e=="string"?!0:t.stringify===!0,owe=(r,e,t)=>{if(e>0){let i=r[0]==="-"?"-":"";i&&(r=r.slice(1)),r=i+r.padStart(i?e-1:e,"0")}return t===!1?String(r):r},kJ=(r,e)=>{let t=r[0]==="-"?"-":"";for(t&&(r=r.slice(1),e--);r.length{r.negatives.sort((o,a)=>oa?1:0),r.positives.sort((o,a)=>oa?1:0);let t=e.capture?"":"?:",i="",n="",s;return r.positives.length&&(i=r.positives.join("|")),r.negatives.length&&(n=`-(${t}${r.negatives.join("|")})`),i&&n?s=`${i}|${n}`:s=i||n,e.wrap?`(${t}${s})`:s},FJ=(r,e,t,i)=>{if(t)return RJ(r,e,{wrap:!1,...i});let n=String.fromCharCode(r);if(r===e)return n;let s=String.fromCharCode(e);return`[${n}-${s}]`},NJ=(r,e,t)=>{if(Array.isArray(r)){let i=t.wrap===!0,n=t.capture?"":"?:";return i?`(${n}${r.join("|")})`:r.join("|")}return RJ(r,e,t)},LJ=(...r)=>new RangeError("Invalid range arguments: "+iwe.inspect(...r)),TJ=(r,e,t)=>{if(t.strictRanges===!0)throw LJ([r,e]);return[]},Awe=(r,e)=>{if(e.strictRanges===!0)throw new TypeError(`Expected step "${r}" to be a number`);return[]},lwe=(r,e,t=1,i={})=>{let n=Number(r),s=Number(e);if(!Number.isInteger(n)||!Number.isInteger(s)){if(i.strictRanges===!0)throw LJ([r,e]);return[]}n===0&&(n=0),s===0&&(s=0);let o=n>s,a=String(r),l=String(e),c=String(t);t=Math.max(Math.abs(t),1);let u=cx(a)||cx(l)||cx(c),g=u?Math.max(a.length,l.length,c.length):0,f=u===!1&&swe(r,e,i)===!1,h=i.transform||nwe(f);if(i.toRegex&&t===1)return FJ(kJ(r,g),kJ(e,g),!0,i);let p={negatives:[],positives:[]},C=v=>p[v<0?"negatives":"positives"].push(Math.abs(v)),y=[],B=0;for(;o?n>=s:n<=s;)i.toRegex===!0&&t>1?C(n):y.push(owe(h(n,B),g,f)),n=o?n-t:n+t,B++;return i.toRegex===!0?t>1?awe(p,i):NJ(y,null,{wrap:!1,...i}):y},cwe=(r,e,t=1,i={})=>{if(!Dd(r)&&r.length>1||!Dd(e)&&e.length>1)return TJ(r,e,i);let n=i.transform||(f=>String.fromCharCode(f)),s=`${r}`.charCodeAt(0),o=`${e}`.charCodeAt(0),a=s>o,l=Math.min(s,o),c=Math.max(s,o);if(i.toRegex&&t===1)return FJ(l,c,!1,i);let u=[],g=0;for(;a?s>=o:s<=o;)u.push(n(s,g)),s=a?s-t:s+t,g++;return i.toRegex===!0?NJ(u,null,{wrap:!1,options:i}):u},Py=(r,e,t,i={})=>{if(e==null&&lx(r))return[r];if(!lx(r)||!lx(e))return TJ(r,e,i);if(typeof t=="function")return Py(r,e,1,{transform:t});if(DJ(t))return Py(r,e,0,t);let n={...i};return n.capture===!0&&(n.wrap=!0),t=t||n.step||1,Dd(t)?Dd(r)&&Dd(e)?lwe(r,e,t,n):cwe(r,e,Math.max(Math.abs(t),1),n):t!=null&&!DJ(t)?Awe(t,n):Py(r,e,1,t)};OJ.exports=Py});var UJ=w((z$e,KJ)=>{"use strict";var uwe=ux(),MJ=vy(),gwe=(r,e={})=>{let t=(i,n={})=>{let s=MJ.isInvalidBrace(n),o=i.invalid===!0&&e.escapeInvalid===!0,a=s===!0||o===!0,l=e.escapeInvalid===!0?"\\":"",c="";if(i.isOpen===!0||i.isClose===!0)return l+i.value;if(i.type==="open")return a?l+i.value:"(";if(i.type==="close")return a?l+i.value:")";if(i.type==="comma")return i.prev.type==="comma"?"":a?i.value:"|";if(i.value)return i.value;if(i.nodes&&i.ranges>0){let u=MJ.reduce(i.nodes),g=uwe(...u,{...e,wrap:!1,toRegex:!0});if(g.length!==0)return u.length>1&&g.length>1?`(${g})`:g}if(i.nodes)for(let u of i.nodes)c+=t(u,i);return c};return t(r)};KJ.exports=gwe});var YJ=w((V$e,GJ)=>{"use strict";var fwe=ux(),HJ=xy(),tf=vy(),Ac=(r="",e="",t=!1)=>{let i=[];if(r=[].concat(r),e=[].concat(e),!e.length)return r;if(!r.length)return t?tf.flatten(e).map(n=>`{${n}}`):e;for(let n of r)if(Array.isArray(n))for(let s of n)i.push(Ac(s,e,t));else for(let s of e)t===!0&&typeof s=="string"&&(s=`{${s}}`),i.push(Array.isArray(s)?Ac(n,s,t):n+s);return tf.flatten(i)},hwe=(r,e={})=>{let t=e.rangeLimit===void 0?1e3:e.rangeLimit,i=(n,s={})=>{n.queue=[];let o=s,a=s.queue;for(;o.type!=="brace"&&o.type!=="root"&&o.parent;)o=o.parent,a=o.queue;if(n.invalid||n.dollar){a.push(Ac(a.pop(),HJ(n,e)));return}if(n.type==="brace"&&n.invalid!==!0&&n.nodes.length===2){a.push(Ac(a.pop(),["{}"]));return}if(n.nodes&&n.ranges>0){let g=tf.reduce(n.nodes);if(tf.exceedsLimit(...g,e.step,t))throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");let f=fwe(...g,e);f.length===0&&(f=HJ(n,e)),a.push(Ac(a.pop(),f)),n.nodes=[];return}let l=tf.encloseBrace(n),c=n.queue,u=n;for(;u.type!=="brace"&&u.type!=="root"&&u.parent;)u=u.parent,c=u.queue;for(let g=0;g{"use strict";jJ.exports={MAX_LENGTH:1024*64,CHAR_0:"0",CHAR_9:"9",CHAR_UPPERCASE_A:"A",CHAR_LOWERCASE_A:"a",CHAR_UPPERCASE_Z:"Z",CHAR_LOWERCASE_Z:"z",CHAR_LEFT_PARENTHESES:"(",CHAR_RIGHT_PARENTHESES:")",CHAR_ASTERISK:"*",CHAR_AMPERSAND:"&",CHAR_AT:"@",CHAR_BACKSLASH:"\\",CHAR_BACKTICK:"`",CHAR_CARRIAGE_RETURN:"\r",CHAR_CIRCUMFLEX_ACCENT:"^",CHAR_COLON:":",CHAR_COMMA:",",CHAR_DOLLAR:"$",CHAR_DOT:".",CHAR_DOUBLE_QUOTE:'"',CHAR_EQUAL:"=",CHAR_EXCLAMATION_MARK:"!",CHAR_FORM_FEED:"\f",CHAR_FORWARD_SLASH:"/",CHAR_HASH:"#",CHAR_HYPHEN_MINUS:"-",CHAR_LEFT_ANGLE_BRACKET:"<",CHAR_LEFT_CURLY_BRACE:"{",CHAR_LEFT_SQUARE_BRACKET:"[",CHAR_LINE_FEED:` -`,CHAR_NO_BREAK_SPACE:"\xA0",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:" ",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}});var XJ=w((_$e,VJ)=>{"use strict";var pwe=xy(),{MAX_LENGTH:JJ,CHAR_BACKSLASH:gx,CHAR_BACKTICK:dwe,CHAR_COMMA:Cwe,CHAR_DOT:mwe,CHAR_LEFT_PARENTHESES:Ewe,CHAR_RIGHT_PARENTHESES:Iwe,CHAR_LEFT_CURLY_BRACE:ywe,CHAR_RIGHT_CURLY_BRACE:wwe,CHAR_LEFT_SQUARE_BRACKET:WJ,CHAR_RIGHT_SQUARE_BRACKET:zJ,CHAR_DOUBLE_QUOTE:Bwe,CHAR_SINGLE_QUOTE:Qwe,CHAR_NO_BREAK_SPACE:bwe,CHAR_ZERO_WIDTH_NOBREAK_SPACE:Swe}=qJ(),vwe=(r,e={})=>{if(typeof r!="string")throw new TypeError("Expected a string");let t=e||{},i=typeof t.maxLength=="number"?Math.min(JJ,t.maxLength):JJ;if(r.length>i)throw new SyntaxError(`Input length (${r.length}), exceeds max characters (${i})`);let n={type:"root",input:r,nodes:[]},s=[n],o=n,a=n,l=0,c=r.length,u=0,g=0,f,h={},p=()=>r[u++],C=y=>{if(y.type==="text"&&a.type==="dot"&&(a.type="text"),a&&a.type==="text"&&y.type==="text"){a.value+=y.value;return}return o.nodes.push(y),y.parent=o,y.prev=a,a=y,y};for(C({type:"bos"});u0){if(o.ranges>0){o.ranges=0;let y=o.nodes.shift();o.nodes=[y,{type:"text",value:pwe(o)}]}C({type:"comma",value:f}),o.commas++;continue}if(f===mwe&&g>0&&o.commas===0){let y=o.nodes;if(g===0||y.length===0){C({type:"text",value:f});continue}if(a.type==="dot"){if(o.range=[],a.value+=f,a.type="range",o.nodes.length!==3&&o.nodes.length!==5){o.invalid=!0,o.ranges=0,a.type="text";continue}o.ranges++,o.args=[];continue}if(a.type==="range"){y.pop();let B=y[y.length-1];B.value+=a.value+f,a=B,o.ranges--;continue}C({type:"dot",value:f});continue}C({type:"text",value:f})}do if(o=s.pop(),o.type!=="root"){o.nodes.forEach(v=>{v.nodes||(v.type==="open"&&(v.isOpen=!0),v.type==="close"&&(v.isClose=!0),v.nodes||(v.type="text"),v.invalid=!0)});let y=s[s.length-1],B=y.nodes.indexOf(o);y.nodes.splice(B,1,...o.nodes)}while(s.length>0);return C({type:"eos"}),n};VJ.exports=vwe});var $J=w((Z$e,ZJ)=>{"use strict";var _J=xy(),xwe=UJ(),Pwe=YJ(),Dwe=XJ(),Yn=(r,e={})=>{let t=[];if(Array.isArray(r))for(let i of r){let n=Yn.create(i,e);Array.isArray(n)?t.push(...n):t.push(n)}else t=[].concat(Yn.create(r,e));return e&&e.expand===!0&&e.nodupes===!0&&(t=[...new Set(t)]),t};Yn.parse=(r,e={})=>Dwe(r,e);Yn.stringify=(r,e={})=>_J(typeof r=="string"?Yn.parse(r,e):r,e);Yn.compile=(r,e={})=>(typeof r=="string"&&(r=Yn.parse(r,e)),xwe(r,e));Yn.expand=(r,e={})=>{typeof r=="string"&&(r=Yn.parse(r,e));let t=Pwe(r,e);return e.noempty===!0&&(t=t.filter(Boolean)),e.nodupes===!0&&(t=[...new Set(t)]),t};Yn.create=(r,e={})=>r===""||r.length<3?[r]:e.expand!==!0?Yn.compile(r,e):Yn.expand(r,e);ZJ.exports=Yn});var kd=w(($$e,nW)=>{"use strict";var kwe=J("path"),No="\\\\/",eW=`[^${No}]`,va="\\.",Rwe="\\+",Fwe="\\?",Dy="\\/",Nwe="(?=.)",tW="[^/]",fx=`(?:${Dy}|$)`,rW=`(?:^|${Dy})`,hx=`${va}{1,2}${fx}`,Lwe=`(?!${va})`,Twe=`(?!${rW}${hx})`,Owe=`(?!${va}{0,1}${fx})`,Mwe=`(?!${hx})`,Kwe=`[^.${Dy}]`,Uwe=`${tW}*?`,iW={DOT_LITERAL:va,PLUS_LITERAL:Rwe,QMARK_LITERAL:Fwe,SLASH_LITERAL:Dy,ONE_CHAR:Nwe,QMARK:tW,END_ANCHOR:fx,DOTS_SLASH:hx,NO_DOT:Lwe,NO_DOTS:Twe,NO_DOT_SLASH:Owe,NO_DOTS_SLASH:Mwe,QMARK_NO_DOT:Kwe,STAR:Uwe,START_ANCHOR:rW},Hwe={...iW,SLASH_LITERAL:`[${No}]`,QMARK:eW,STAR:`${eW}*?`,DOTS_SLASH:`${va}{1,2}(?:[${No}]|$)`,NO_DOT:`(?!${va})`,NO_DOTS:`(?!(?:^|[${No}])${va}{1,2}(?:[${No}]|$))`,NO_DOT_SLASH:`(?!${va}{0,1}(?:[${No}]|$))`,NO_DOTS_SLASH:`(?!${va}{1,2}(?:[${No}]|$))`,QMARK_NO_DOT:`[^.${No}]`,START_ANCHOR:`(?:^|[${No}])`,END_ANCHOR:`(?:[${No}]|$)`},Gwe={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};nW.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:Gwe,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:kwe.sep,extglobChars(r){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${r.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(r){return r===!0?Hwe:iW}}});var Rd=w(In=>{"use strict";var Ywe=J("path"),jwe=process.platform==="win32",{REGEX_BACKSLASH:qwe,REGEX_REMOVE_BACKSLASH:Jwe,REGEX_SPECIAL_CHARS:Wwe,REGEX_SPECIAL_CHARS_GLOBAL:zwe}=kd();In.isObject=r=>r!==null&&typeof r=="object"&&!Array.isArray(r);In.hasRegexChars=r=>Wwe.test(r);In.isRegexChar=r=>r.length===1&&In.hasRegexChars(r);In.escapeRegex=r=>r.replace(zwe,"\\$1");In.toPosixSlashes=r=>r.replace(qwe,"/");In.removeBackslashes=r=>r.replace(Jwe,e=>e==="\\"?"":e);In.supportsLookbehinds=()=>{let r=process.version.slice(1).split(".").map(Number);return r.length===3&&r[0]>=9||r[0]===8&&r[1]>=10};In.isWindows=r=>r&&typeof r.windows=="boolean"?r.windows:jwe===!0||Ywe.sep==="\\";In.escapeLast=(r,e,t)=>{let i=r.lastIndexOf(e,t);return i===-1?r:r[i-1]==="\\"?In.escapeLast(r,e,i-1):`${r.slice(0,i)}\\${r.slice(i)}`};In.removePrefix=(r,e={})=>{let t=r;return t.startsWith("./")&&(t=t.slice(2),e.prefix="./"),t};In.wrapOutput=(r,e={},t={})=>{let i=t.contains?"":"^",n=t.contains?"":"$",s=`${i}(?:${r})${n}`;return e.negated===!0&&(s=`(?:^(?!${s}).*$)`),s}});var gW=w((tet,uW)=>{"use strict";var sW=Rd(),{CHAR_ASTERISK:px,CHAR_AT:Vwe,CHAR_BACKWARD_SLASH:Fd,CHAR_COMMA:Xwe,CHAR_DOT:dx,CHAR_EXCLAMATION_MARK:Cx,CHAR_FORWARD_SLASH:cW,CHAR_LEFT_CURLY_BRACE:mx,CHAR_LEFT_PARENTHESES:Ex,CHAR_LEFT_SQUARE_BRACKET:_we,CHAR_PLUS:Zwe,CHAR_QUESTION_MARK:oW,CHAR_RIGHT_CURLY_BRACE:$we,CHAR_RIGHT_PARENTHESES:aW,CHAR_RIGHT_SQUARE_BRACKET:eBe}=kd(),AW=r=>r===cW||r===Fd,lW=r=>{r.isPrefix!==!0&&(r.depth=r.isGlobstar?1/0:1)},tBe=(r,e)=>{let t=e||{},i=r.length-1,n=t.parts===!0||t.scanToEnd===!0,s=[],o=[],a=[],l=r,c=-1,u=0,g=0,f=!1,h=!1,p=!1,C=!1,y=!1,B=!1,v=!1,D=!1,L=!1,H=!1,j=0,$,V,W={value:"",depth:0,isGlob:!1},Z=()=>c>=i,A=()=>l.charCodeAt(c+1),ae=()=>($=V,l.charCodeAt(++c));for(;c0&&(re=l.slice(0,u),l=l.slice(u),g-=u),ge&&p===!0&&g>0?(ge=l.slice(0,g),O=l.slice(g)):p===!0?(ge="",O=l):ge=l,ge&&ge!==""&&ge!=="/"&&ge!==l&&AW(ge.charCodeAt(ge.length-1))&&(ge=ge.slice(0,-1)),t.unescape===!0&&(O&&(O=sW.removeBackslashes(O)),ge&&v===!0&&(ge=sW.removeBackslashes(ge)));let F={prefix:re,input:r,start:u,base:ge,glob:O,isBrace:f,isBracket:h,isGlob:p,isExtglob:C,isGlobstar:y,negated:D,negatedExtglob:L};if(t.tokens===!0&&(F.maxDepth=0,AW(V)||o.push(W),F.tokens=o),t.parts===!0||t.tokens===!0){let ue;for(let he=0;he{"use strict";var ky=kd(),jn=Rd(),{MAX_LENGTH:Ry,POSIX_REGEX_SOURCE:rBe,REGEX_NON_SPECIAL_CHARS:iBe,REGEX_SPECIAL_CHARS_BACKREF:nBe,REPLACEMENTS:fW}=ky,sBe=(r,e)=>{if(typeof e.expandRange=="function")return e.expandRange(...r,e);r.sort();let t=`[${r.join("-")}]`;try{new RegExp(t)}catch{return r.map(n=>jn.escapeRegex(n)).join("..")}return t},rf=(r,e)=>`Missing ${r}: "${e}" - use "\\\\${e}" to match literal characters`,hW=(r,e)=>{if(typeof r!="string")throw new TypeError("Expected a string");r=fW[r]||r;let t={...e},i=typeof t.maxLength=="number"?Math.min(Ry,t.maxLength):Ry,n=r.length;if(n>i)throw new SyntaxError(`Input length: ${n}, exceeds maximum allowed length: ${i}`);let s={type:"bos",value:"",output:t.prepend||""},o=[s],a=t.capture?"":"?:",l=jn.isWindows(e),c=ky.globChars(l),u=ky.extglobChars(c),{DOT_LITERAL:g,PLUS_LITERAL:f,SLASH_LITERAL:h,ONE_CHAR:p,DOTS_SLASH:C,NO_DOT:y,NO_DOT_SLASH:B,NO_DOTS_SLASH:v,QMARK:D,QMARK_NO_DOT:L,STAR:H,START_ANCHOR:j}=c,$=Y=>`(${a}(?:(?!${j}${Y.dot?C:g}).)*?)`,V=t.dot?"":y,W=t.dot?D:L,Z=t.bash===!0?$(t):H;t.capture&&(Z=`(${Z})`),typeof t.noext=="boolean"&&(t.noextglob=t.noext);let A={input:r,index:-1,start:0,dot:t.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:o};r=jn.removePrefix(r,A),n=r.length;let ae=[],ge=[],re=[],O=s,F,ue=()=>A.index===n-1,he=A.peek=(Y=1)=>r[A.index+Y],ke=A.advance=()=>r[++A.index]||"",Fe=()=>r.slice(A.index+1),Ne=(Y="",pe=0)=>{A.consumed+=Y,A.index+=pe},oe=Y=>{A.output+=Y.output!=null?Y.output:Y.value,Ne(Y.value)},le=()=>{let Y=1;for(;he()==="!"&&(he(2)!=="("||he(3)==="?");)ke(),A.start++,Y++;return Y%2===0?!1:(A.negated=!0,A.start++,!0)},we=Y=>{A[Y]++,re.push(Y)},fe=Y=>{A[Y]--,re.pop()},Ae=Y=>{if(O.type==="globstar"){let pe=A.braces>0&&(Y.type==="comma"||Y.type==="brace"),ie=Y.extglob===!0||ae.length&&(Y.type==="pipe"||Y.type==="paren");Y.type!=="slash"&&Y.type!=="paren"&&!pe&&!ie&&(A.output=A.output.slice(0,-O.output.length),O.type="star",O.value="*",O.output=Z,A.output+=O.output)}if(ae.length&&Y.type!=="paren"&&(ae[ae.length-1].inner+=Y.value),(Y.value||Y.output)&&oe(Y),O&&O.type==="text"&&Y.type==="text"){O.value+=Y.value,O.output=(O.output||"")+Y.value;return}Y.prev=O,o.push(Y),O=Y},qe=(Y,pe)=>{let ie={...u[pe],conditions:1,inner:""};ie.prev=O,ie.parens=A.parens,ie.output=A.output;let de=(t.capture?"(":"")+ie.open;we("parens"),Ae({type:Y,value:pe,output:A.output?"":p}),Ae({type:"paren",extglob:!0,value:ke(),output:de}),ae.push(ie)},ne=Y=>{let pe=Y.close+(t.capture?")":""),ie;if(Y.type==="negate"){let de=Z;Y.inner&&Y.inner.length>1&&Y.inner.includes("/")&&(de=$(t)),(de!==Z||ue()||/^\)+$/.test(Fe()))&&(pe=Y.close=`)$))${de}`),Y.inner.includes("*")&&(ie=Fe())&&/^\.[^\\/.]+$/.test(ie)&&(pe=Y.close=`)${ie})${de})`),Y.prev.type==="bos"&&(A.negatedExtglob=!0)}Ae({type:"paren",extglob:!0,value:F,output:pe}),fe("parens")};if(t.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(r)){let Y=!1,pe=r.replace(nBe,(ie,de,tt,Pt,It,Or)=>Pt==="\\"?(Y=!0,ie):Pt==="?"?de?de+Pt+(It?D.repeat(It.length):""):Or===0?W+(It?D.repeat(It.length):""):D.repeat(tt.length):Pt==="."?g.repeat(tt.length):Pt==="*"?de?de+Pt+(It?Z:""):Z:de?ie:`\\${ie}`);return Y===!0&&(t.unescape===!0?pe=pe.replace(/\\/g,""):pe=pe.replace(/\\+/g,ie=>ie.length%2===0?"\\\\":ie?"\\":"")),pe===r&&t.contains===!0?(A.output=r,A):(A.output=jn.wrapOutput(pe,A,e),A)}for(;!ue();){if(F=ke(),F==="\0")continue;if(F==="\\"){let ie=he();if(ie==="/"&&t.bash!==!0||ie==="."||ie===";")continue;if(!ie){F+="\\",Ae({type:"text",value:F});continue}let de=/^\\+/.exec(Fe()),tt=0;if(de&&de[0].length>2&&(tt=de[0].length,A.index+=tt,tt%2!==0&&(F+="\\")),t.unescape===!0?F=ke():F+=ke(),A.brackets===0){Ae({type:"text",value:F});continue}}if(A.brackets>0&&(F!=="]"||O.value==="["||O.value==="[^")){if(t.posix!==!1&&F===":"){let ie=O.value.slice(1);if(ie.includes("[")&&(O.posix=!0,ie.includes(":"))){let de=O.value.lastIndexOf("["),tt=O.value.slice(0,de),Pt=O.value.slice(de+2),It=rBe[Pt];if(It){O.value=tt+It,A.backtrack=!0,ke(),!s.output&&o.indexOf(O)===1&&(s.output=p);continue}}}(F==="["&&he()!==":"||F==="-"&&he()==="]")&&(F=`\\${F}`),F==="]"&&(O.value==="["||O.value==="[^")&&(F=`\\${F}`),t.posix===!0&&F==="!"&&O.value==="["&&(F="^"),O.value+=F,oe({value:F});continue}if(A.quotes===1&&F!=='"'){F=jn.escapeRegex(F),O.value+=F,oe({value:F});continue}if(F==='"'){A.quotes=A.quotes===1?0:1,t.keepQuotes===!0&&Ae({type:"text",value:F});continue}if(F==="("){we("parens"),Ae({type:"paren",value:F});continue}if(F===")"){if(A.parens===0&&t.strictBrackets===!0)throw new SyntaxError(rf("opening","("));let ie=ae[ae.length-1];if(ie&&A.parens===ie.parens+1){ne(ae.pop());continue}Ae({type:"paren",value:F,output:A.parens?")":"\\)"}),fe("parens");continue}if(F==="["){if(t.nobracket===!0||!Fe().includes("]")){if(t.nobracket!==!0&&t.strictBrackets===!0)throw new SyntaxError(rf("closing","]"));F=`\\${F}`}else we("brackets");Ae({type:"bracket",value:F});continue}if(F==="]"){if(t.nobracket===!0||O&&O.type==="bracket"&&O.value.length===1){Ae({type:"text",value:F,output:`\\${F}`});continue}if(A.brackets===0){if(t.strictBrackets===!0)throw new SyntaxError(rf("opening","["));Ae({type:"text",value:F,output:`\\${F}`});continue}fe("brackets");let ie=O.value.slice(1);if(O.posix!==!0&&ie[0]==="^"&&!ie.includes("/")&&(F=`/${F}`),O.value+=F,oe({value:F}),t.literalBrackets===!1||jn.hasRegexChars(ie))continue;let de=jn.escapeRegex(O.value);if(A.output=A.output.slice(0,-O.value.length),t.literalBrackets===!0){A.output+=de,O.value=de;continue}O.value=`(${a}${de}|${O.value})`,A.output+=O.value;continue}if(F==="{"&&t.nobrace!==!0){we("braces");let ie={type:"brace",value:F,output:"(",outputIndex:A.output.length,tokensIndex:A.tokens.length};ge.push(ie),Ae(ie);continue}if(F==="}"){let ie=ge[ge.length-1];if(t.nobrace===!0||!ie){Ae({type:"text",value:F,output:F});continue}let de=")";if(ie.dots===!0){let tt=o.slice(),Pt=[];for(let It=tt.length-1;It>=0&&(o.pop(),tt[It].type!=="brace");It--)tt[It].type!=="dots"&&Pt.unshift(tt[It].value);de=sBe(Pt,t),A.backtrack=!0}if(ie.comma!==!0&&ie.dots!==!0){let tt=A.output.slice(0,ie.outputIndex),Pt=A.tokens.slice(ie.tokensIndex);ie.value=ie.output="\\{",F=de="\\}",A.output=tt;for(let It of Pt)A.output+=It.output||It.value}Ae({type:"brace",value:F,output:de}),fe("braces"),ge.pop();continue}if(F==="|"){ae.length>0&&ae[ae.length-1].conditions++,Ae({type:"text",value:F});continue}if(F===","){let ie=F,de=ge[ge.length-1];de&&re[re.length-1]==="braces"&&(de.comma=!0,ie="|"),Ae({type:"comma",value:F,output:ie});continue}if(F==="/"){if(O.type==="dot"&&A.index===A.start+1){A.start=A.index+1,A.consumed="",A.output="",o.pop(),O=s;continue}Ae({type:"slash",value:F,output:h});continue}if(F==="."){if(A.braces>0&&O.type==="dot"){O.value==="."&&(O.output=g);let ie=ge[ge.length-1];O.type="dots",O.output+=F,O.value+=F,ie.dots=!0;continue}if(A.braces+A.parens===0&&O.type!=="bos"&&O.type!=="slash"){Ae({type:"text",value:F,output:g});continue}Ae({type:"dot",value:F,output:g});continue}if(F==="?"){if(!(O&&O.value==="(")&&t.noextglob!==!0&&he()==="("&&he(2)!=="?"){qe("qmark",F);continue}if(O&&O.type==="paren"){let de=he(),tt=F;if(de==="<"&&!jn.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");(O.value==="("&&!/[!=<:]/.test(de)||de==="<"&&!/<([!=]|\w+>)/.test(Fe()))&&(tt=`\\${F}`),Ae({type:"text",value:F,output:tt});continue}if(t.dot!==!0&&(O.type==="slash"||O.type==="bos")){Ae({type:"qmark",value:F,output:L});continue}Ae({type:"qmark",value:F,output:D});continue}if(F==="!"){if(t.noextglob!==!0&&he()==="("&&(he(2)!=="?"||!/[!=<:]/.test(he(3)))){qe("negate",F);continue}if(t.nonegate!==!0&&A.index===0){le();continue}}if(F==="+"){if(t.noextglob!==!0&&he()==="("&&he(2)!=="?"){qe("plus",F);continue}if(O&&O.value==="("||t.regex===!1){Ae({type:"plus",value:F,output:f});continue}if(O&&(O.type==="bracket"||O.type==="paren"||O.type==="brace")||A.parens>0){Ae({type:"plus",value:F});continue}Ae({type:"plus",value:f});continue}if(F==="@"){if(t.noextglob!==!0&&he()==="("&&he(2)!=="?"){Ae({type:"at",extglob:!0,value:F,output:""});continue}Ae({type:"text",value:F});continue}if(F!=="*"){(F==="$"||F==="^")&&(F=`\\${F}`);let ie=iBe.exec(Fe());ie&&(F+=ie[0],A.index+=ie[0].length),Ae({type:"text",value:F});continue}if(O&&(O.type==="globstar"||O.star===!0)){O.type="star",O.star=!0,O.value+=F,O.output=Z,A.backtrack=!0,A.globstar=!0,Ne(F);continue}let Y=Fe();if(t.noextglob!==!0&&/^\([^?]/.test(Y)){qe("star",F);continue}if(O.type==="star"){if(t.noglobstar===!0){Ne(F);continue}let ie=O.prev,de=ie.prev,tt=ie.type==="slash"||ie.type==="bos",Pt=de&&(de.type==="star"||de.type==="globstar");if(t.bash===!0&&(!tt||Y[0]&&Y[0]!=="/")){Ae({type:"star",value:F,output:""});continue}let It=A.braces>0&&(ie.type==="comma"||ie.type==="brace"),Or=ae.length&&(ie.type==="pipe"||ie.type==="paren");if(!tt&&ie.type!=="paren"&&!It&&!Or){Ae({type:"star",value:F,output:""});continue}for(;Y.slice(0,3)==="/**";){let ii=r[A.index+4];if(ii&&ii!=="/")break;Y=Y.slice(3),Ne("/**",3)}if(ie.type==="bos"&&ue()){O.type="globstar",O.value+=F,O.output=$(t),A.output=O.output,A.globstar=!0,Ne(F);continue}if(ie.type==="slash"&&ie.prev.type!=="bos"&&!Pt&&ue()){A.output=A.output.slice(0,-(ie.output+O.output).length),ie.output=`(?:${ie.output}`,O.type="globstar",O.output=$(t)+(t.strictSlashes?")":"|$)"),O.value+=F,A.globstar=!0,A.output+=ie.output+O.output,Ne(F);continue}if(ie.type==="slash"&&ie.prev.type!=="bos"&&Y[0]==="/"){let ii=Y[1]!==void 0?"|$":"";A.output=A.output.slice(0,-(ie.output+O.output).length),ie.output=`(?:${ie.output}`,O.type="globstar",O.output=`${$(t)}${h}|${h}${ii})`,O.value+=F,A.output+=ie.output+O.output,A.globstar=!0,Ne(F+ke()),Ae({type:"slash",value:"/",output:""});continue}if(ie.type==="bos"&&Y[0]==="/"){O.type="globstar",O.value+=F,O.output=`(?:^|${h}|${$(t)}${h})`,A.output=O.output,A.globstar=!0,Ne(F+ke()),Ae({type:"slash",value:"/",output:""});continue}A.output=A.output.slice(0,-O.output.length),O.type="globstar",O.output=$(t),O.value+=F,A.output+=O.output,A.globstar=!0,Ne(F);continue}let pe={type:"star",value:F,output:Z};if(t.bash===!0){pe.output=".*?",(O.type==="bos"||O.type==="slash")&&(pe.output=V+pe.output),Ae(pe);continue}if(O&&(O.type==="bracket"||O.type==="paren")&&t.regex===!0){pe.output=F,Ae(pe);continue}(A.index===A.start||O.type==="slash"||O.type==="dot")&&(O.type==="dot"?(A.output+=B,O.output+=B):t.dot===!0?(A.output+=v,O.output+=v):(A.output+=V,O.output+=V),he()!=="*"&&(A.output+=p,O.output+=p)),Ae(pe)}for(;A.brackets>0;){if(t.strictBrackets===!0)throw new SyntaxError(rf("closing","]"));A.output=jn.escapeLast(A.output,"["),fe("brackets")}for(;A.parens>0;){if(t.strictBrackets===!0)throw new SyntaxError(rf("closing",")"));A.output=jn.escapeLast(A.output,"("),fe("parens")}for(;A.braces>0;){if(t.strictBrackets===!0)throw new SyntaxError(rf("closing","}"));A.output=jn.escapeLast(A.output,"{"),fe("braces")}if(t.strictSlashes!==!0&&(O.type==="star"||O.type==="bracket")&&Ae({type:"maybe_slash",value:"",output:`${h}?`}),A.backtrack===!0){A.output="";for(let Y of A.tokens)A.output+=Y.output!=null?Y.output:Y.value,Y.suffix&&(A.output+=Y.suffix)}return A};hW.fastpaths=(r,e)=>{let t={...e},i=typeof t.maxLength=="number"?Math.min(Ry,t.maxLength):Ry,n=r.length;if(n>i)throw new SyntaxError(`Input length: ${n}, exceeds maximum allowed length: ${i}`);r=fW[r]||r;let s=jn.isWindows(e),{DOT_LITERAL:o,SLASH_LITERAL:a,ONE_CHAR:l,DOTS_SLASH:c,NO_DOT:u,NO_DOTS:g,NO_DOTS_SLASH:f,STAR:h,START_ANCHOR:p}=ky.globChars(s),C=t.dot?g:u,y=t.dot?f:u,B=t.capture?"":"?:",v={negated:!1,prefix:""},D=t.bash===!0?".*?":h;t.capture&&(D=`(${D})`);let L=V=>V.noglobstar===!0?D:`(${B}(?:(?!${p}${V.dot?c:o}).)*?)`,H=V=>{switch(V){case"*":return`${C}${l}${D}`;case".*":return`${o}${l}${D}`;case"*.*":return`${C}${D}${o}${l}${D}`;case"*/*":return`${C}${D}${a}${l}${y}${D}`;case"**":return C+L(t);case"**/*":return`(?:${C}${L(t)}${a})?${y}${l}${D}`;case"**/*.*":return`(?:${C}${L(t)}${a})?${y}${D}${o}${l}${D}`;case"**/.*":return`(?:${C}${L(t)}${a})?${o}${l}${D}`;default:{let W=/^(.*?)\.(\w+)$/.exec(V);if(!W)return;let Z=H(W[1]);return Z?Z+o+W[2]:void 0}}},j=jn.removePrefix(r,v),$=H(j);return $&&t.strictSlashes!==!0&&($+=`${a}?`),$};pW.exports=hW});var mW=w((iet,CW)=>{"use strict";var oBe=J("path"),aBe=gW(),Ix=dW(),yx=Rd(),ABe=kd(),lBe=r=>r&&typeof r=="object"&&!Array.isArray(r),Yr=(r,e,t=!1)=>{if(Array.isArray(r)){let u=r.map(f=>Yr(f,e,t));return f=>{for(let h of u){let p=h(f);if(p)return p}return!1}}let i=lBe(r)&&r.tokens&&r.input;if(r===""||typeof r!="string"&&!i)throw new TypeError("Expected pattern to be a non-empty string");let n=e||{},s=yx.isWindows(e),o=i?Yr.compileRe(r,e):Yr.makeRe(r,e,!1,!0),a=o.state;delete o.state;let l=()=>!1;if(n.ignore){let u={...e,ignore:null,onMatch:null,onResult:null};l=Yr(n.ignore,u,t)}let c=(u,g=!1)=>{let{isMatch:f,match:h,output:p}=Yr.test(u,o,e,{glob:r,posix:s}),C={glob:r,state:a,regex:o,posix:s,input:u,output:p,match:h,isMatch:f};return typeof n.onResult=="function"&&n.onResult(C),f===!1?(C.isMatch=!1,g?C:!1):l(u)?(typeof n.onIgnore=="function"&&n.onIgnore(C),C.isMatch=!1,g?C:!1):(typeof n.onMatch=="function"&&n.onMatch(C),g?C:!0)};return t&&(c.state=a),c};Yr.test=(r,e,t,{glob:i,posix:n}={})=>{if(typeof r!="string")throw new TypeError("Expected input to be a string");if(r==="")return{isMatch:!1,output:""};let s=t||{},o=s.format||(n?yx.toPosixSlashes:null),a=r===i,l=a&&o?o(r):r;return a===!1&&(l=o?o(r):r,a=l===i),(a===!1||s.capture===!0)&&(s.matchBase===!0||s.basename===!0?a=Yr.matchBase(r,e,t,n):a=e.exec(l)),{isMatch:Boolean(a),match:a,output:l}};Yr.matchBase=(r,e,t,i=yx.isWindows(t))=>(e instanceof RegExp?e:Yr.makeRe(e,t)).test(oBe.basename(r));Yr.isMatch=(r,e,t)=>Yr(e,t)(r);Yr.parse=(r,e)=>Array.isArray(r)?r.map(t=>Yr.parse(t,e)):Ix(r,{...e,fastpaths:!1});Yr.scan=(r,e)=>aBe(r,e);Yr.compileRe=(r,e,t=!1,i=!1)=>{if(t===!0)return r.output;let n=e||{},s=n.contains?"":"^",o=n.contains?"":"$",a=`${s}(?:${r.output})${o}`;r&&r.negated===!0&&(a=`^(?!${a}).*$`);let l=Yr.toRegex(a,e);return i===!0&&(l.state=r),l};Yr.makeRe=(r,e={},t=!1,i=!1)=>{if(!r||typeof r!="string")throw new TypeError("Expected a non-empty string");let n={negated:!1,fastpaths:!0};return e.fastpaths!==!1&&(r[0]==="."||r[0]==="*")&&(n.output=Ix.fastpaths(r,e)),n.output||(n=Ix(r,e)),Yr.compileRe(n,e,t,i)};Yr.toRegex=(r,e)=>{try{let t=e||{};return new RegExp(r,t.flags||(t.nocase?"i":""))}catch(t){if(e&&e.debug===!0)throw t;return/$^/}};Yr.constants=ABe;CW.exports=Yr});var wx=w((net,EW)=>{"use strict";EW.exports=mW()});var yn=w((set,BW)=>{"use strict";var yW=J("util"),wW=$J(),Lo=wx(),Bx=Rd(),IW=r=>r===""||r==="./",Sr=(r,e,t)=>{e=[].concat(e),r=[].concat(r);let i=new Set,n=new Set,s=new Set,o=0,a=u=>{s.add(u.output),t&&t.onResult&&t.onResult(u)};for(let u=0;u!i.has(u));if(t&&c.length===0){if(t.failglob===!0)throw new Error(`No matches found for "${e.join(", ")}"`);if(t.nonull===!0||t.nullglob===!0)return t.unescape?e.map(u=>u.replace(/\\/g,"")):e}return c};Sr.match=Sr;Sr.matcher=(r,e)=>Lo(r,e);Sr.isMatch=(r,e,t)=>Lo(e,t)(r);Sr.any=Sr.isMatch;Sr.not=(r,e,t={})=>{e=[].concat(e).map(String);let i=new Set,n=[],o=Sr(r,e,{...t,onResult:a=>{t.onResult&&t.onResult(a),n.push(a.output)}});for(let a of n)o.includes(a)||i.add(a);return[...i]};Sr.contains=(r,e,t)=>{if(typeof r!="string")throw new TypeError(`Expected a string: "${yW.inspect(r)}"`);if(Array.isArray(e))return e.some(i=>Sr.contains(r,i,t));if(typeof e=="string"){if(IW(r)||IW(e))return!1;if(r.includes(e)||r.startsWith("./")&&r.slice(2).includes(e))return!0}return Sr.isMatch(r,e,{...t,contains:!0})};Sr.matchKeys=(r,e,t)=>{if(!Bx.isObject(r))throw new TypeError("Expected the first argument to be an object");let i=Sr(Object.keys(r),e,t),n={};for(let s of i)n[s]=r[s];return n};Sr.some=(r,e,t)=>{let i=[].concat(r);for(let n of[].concat(e)){let s=Lo(String(n),t);if(i.some(o=>s(o)))return!0}return!1};Sr.every=(r,e,t)=>{let i=[].concat(r);for(let n of[].concat(e)){let s=Lo(String(n),t);if(!i.every(o=>s(o)))return!1}return!0};Sr.all=(r,e,t)=>{if(typeof r!="string")throw new TypeError(`Expected a string: "${yW.inspect(r)}"`);return[].concat(e).every(i=>Lo(i,t)(r))};Sr.capture=(r,e,t)=>{let i=Bx.isWindows(t),s=Lo.makeRe(String(r),{...t,capture:!0}).exec(i?Bx.toPosixSlashes(e):e);if(s)return s.slice(1).map(o=>o===void 0?"":o)};Sr.makeRe=(...r)=>Lo.makeRe(...r);Sr.scan=(...r)=>Lo.scan(...r);Sr.parse=(r,e)=>{let t=[];for(let i of[].concat(r||[]))for(let n of wW(String(i),e))t.push(Lo.parse(n,e));return t};Sr.braces=(r,e)=>{if(typeof r!="string")throw new TypeError("Expected a string");return e&&e.nobrace===!0||!/\{.*\}/.test(r)?[r]:wW(r,e)};Sr.braceExpand=(r,e)=>{if(typeof r!="string")throw new TypeError("Expected a string");return Sr.braces(r,{...e,expand:!0})};BW.exports=Sr});var bW=w((oet,QW)=>{"use strict";QW.exports=({onlyFirst:r=!1}={})=>{let e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(e,r?void 0:"g")}});var vW=w((aet,SW)=>{"use strict";var cBe=bW();SW.exports=r=>typeof r=="string"?r.replace(cBe(),""):r});var HW=w((Eet,UW)=>{"use strict";UW.exports=(...r)=>[...new Set([].concat(...r))]});var Yx=w((Iet,jW)=>{"use strict";var BBe=J("stream"),GW=BBe.PassThrough,QBe=Array.prototype.slice;jW.exports=bBe;function bBe(){let r=[],e=!1,t=QBe.call(arguments),i=t[t.length-1];i&&!Array.isArray(i)&&i.pipe==null?t.pop():i={};let n=i.end!==!1;i.objectMode==null&&(i.objectMode=!0),i.highWaterMark==null&&(i.highWaterMark=64*1024);let s=GW(i);function o(){for(let c=0,u=arguments.length;c0||(e=!1,a())}function f(h){function p(){h.removeListener("merge2UnpipeEnd",p),h.removeListener("end",p),g()}if(h._readableState.endEmitted)return g();h.on("merge2UnpipeEnd",p),h.on("end",p),h.pipe(s,{end:!1}),h.resume()}for(let h=0;h{"use strict";Object.defineProperty(My,"__esModule",{value:!0});function SBe(r){return r.reduce((e,t)=>[].concat(e,t),[])}My.flatten=SBe;function vBe(r,e){let t=[[]],i=0;for(let n of r)e(n)?(i++,t[i]=[]):t[i].push(n);return t}My.splitWhen=vBe});var JW=w(jx=>{"use strict";Object.defineProperty(jx,"__esModule",{value:!0});function xBe(r){return r.code==="ENOENT"}jx.isEnoentCodeError=xBe});var WW=w(Jx=>{"use strict";Object.defineProperty(Jx,"__esModule",{value:!0});var qx=class{constructor(e,t){this.name=e,this.isBlockDevice=t.isBlockDevice.bind(t),this.isCharacterDevice=t.isCharacterDevice.bind(t),this.isDirectory=t.isDirectory.bind(t),this.isFIFO=t.isFIFO.bind(t),this.isFile=t.isFile.bind(t),this.isSocket=t.isSocket.bind(t),this.isSymbolicLink=t.isSymbolicLink.bind(t)}};function PBe(r,e){return new qx(r,e)}Jx.createDirentFromStats=PBe});var zW=w(uf=>{"use strict";Object.defineProperty(uf,"__esModule",{value:!0});var DBe=J("path"),kBe=2,RBe=/(\\?)([()*?[\]{|}]|^!|[!+@](?=\())/g;function FBe(r){return r.replace(/\\/g,"/")}uf.unixify=FBe;function NBe(r,e){return DBe.resolve(r,e)}uf.makeAbsolute=NBe;function LBe(r){return r.replace(RBe,"\\$2")}uf.escape=LBe;function TBe(r){if(r.charAt(0)==="."){let e=r.charAt(1);if(e==="/"||e==="\\")return r.slice(kBe)}return r}uf.removeLeadingDotSegment=TBe});var XW=w((bet,VW)=>{VW.exports=function(e){if(typeof e!="string"||e==="")return!1;for(var t;t=/(\\).|([@?!+*]\(.*\))/g.exec(e);){if(t[2])return!0;e=e.slice(t.index+t[0].length)}return!1}});var $W=w((vet,ZW)=>{var OBe=XW(),_W={"{":"}","(":")","[":"]"},MBe=function(r){if(r[0]==="!")return!0;for(var e=0,t=-2,i=-2,n=-2,s=-2,o=-2;ee&&(o===-1||o>i||(o=r.indexOf("\\",e),o===-1||o>i)))||n!==-1&&r[e]==="{"&&r[e+1]!=="}"&&(n=r.indexOf("}",e),n>e&&(o=r.indexOf("\\",e),o===-1||o>n))||s!==-1&&r[e]==="("&&r[e+1]==="?"&&/[:!=]/.test(r[e+2])&&r[e+3]!==")"&&(s=r.indexOf(")",e),s>e&&(o=r.indexOf("\\",e),o===-1||o>s))||t!==-1&&r[e]==="("&&r[e+1]!=="|"&&(tt&&(o=r.indexOf("\\",t),o===-1||o>s))))return!0;if(r[e]==="\\"){var a=r[e+1];e+=2;var l=_W[a];if(l){var c=r.indexOf(l,e);c!==-1&&(e=c+1)}if(r[e]==="!")return!0}else e++}return!1},KBe=function(r){if(r[0]==="!")return!0;for(var e=0;e{"use strict";var UBe=$W(),HBe=J("path").posix.dirname,GBe=J("os").platform()==="win32",Wx="/",YBe=/\\/g,jBe=/[\{\[].*[\}\]]$/,qBe=/(^|[^\\])([\{\[]|\([^\)]+$)/,JBe=/\\([\!\*\?\|\[\]\(\)\{\}])/g;e3.exports=function(e,t){var i=Object.assign({flipBackslashes:!0},t);i.flipBackslashes&&GBe&&e.indexOf(Wx)<0&&(e=e.replace(YBe,Wx)),jBe.test(e)&&(e+=Wx),e+="a";do e=HBe(e);while(UBe(e)||qBe.test(e));return e.replace(JBe,"$1")}});var c3=w($r=>{"use strict";Object.defineProperty($r,"__esModule",{value:!0});var WBe=J("path"),zBe=t3(),r3=yn(),VBe=wx(),i3="**",XBe="\\",_Be=/[*?]|^!/,ZBe=/\[.*]/,$Be=/(?:^|[^!*+?@])\(.*\|.*\)/,e0e=/[!*+?@]\(.*\)/,t0e=/{.*(?:,|\.\.).*}/;function n3(r,e={}){return!s3(r,e)}$r.isStaticPattern=n3;function s3(r,e={}){return!!(e.caseSensitiveMatch===!1||r.includes(XBe)||_Be.test(r)||ZBe.test(r)||$Be.test(r)||e.extglob!==!1&&e0e.test(r)||e.braceExpansion!==!1&&t0e.test(r))}$r.isDynamicPattern=s3;function r0e(r){return Ky(r)?r.slice(1):r}$r.convertToPositivePattern=r0e;function i0e(r){return"!"+r}$r.convertToNegativePattern=i0e;function Ky(r){return r.startsWith("!")&&r[1]!=="("}$r.isNegativePattern=Ky;function o3(r){return!Ky(r)}$r.isPositivePattern=o3;function n0e(r){return r.filter(Ky)}$r.getNegativePatterns=n0e;function s0e(r){return r.filter(o3)}$r.getPositivePatterns=s0e;function o0e(r){return zBe(r,{flipBackslashes:!1})}$r.getBaseDirectory=o0e;function a0e(r){return r.includes(i3)}$r.hasGlobStar=a0e;function a3(r){return r.endsWith("/"+i3)}$r.endsWithSlashGlobStar=a3;function A0e(r){let e=WBe.basename(r);return a3(r)||n3(e)}$r.isAffectDepthOfReadingPattern=A0e;function l0e(r){return r.reduce((e,t)=>e.concat(A3(t)),[])}$r.expandPatternsWithBraceExpansion=l0e;function A3(r){return r3.braces(r,{expand:!0,nodupes:!0})}$r.expandBraceExpansion=A3;function c0e(r,e){let t=VBe.scan(r,Object.assign(Object.assign({},e),{parts:!0}));return t.parts.length===0?[r]:t.parts}$r.getPatternParts=c0e;function l3(r,e){return r3.makeRe(r,e)}$r.makeRe=l3;function u0e(r,e){return r.map(t=>l3(t,e))}$r.convertPatternsToRe=u0e;function g0e(r,e){return e.some(t=>t.test(r))}$r.matchAny=g0e});var g3=w(zx=>{"use strict";Object.defineProperty(zx,"__esModule",{value:!0});var f0e=Yx();function h0e(r){let e=f0e(r);return r.forEach(t=>{t.once("error",i=>e.emit("error",i))}),e.once("close",()=>u3(r)),e.once("end",()=>u3(r)),e}zx.merge=h0e;function u3(r){r.forEach(e=>e.emit("close"))}});var f3=w(Uy=>{"use strict";Object.defineProperty(Uy,"__esModule",{value:!0});function p0e(r){return typeof r=="string"}Uy.isString=p0e;function d0e(r){return r===""}Uy.isEmpty=d0e});var Da=w(Pa=>{"use strict";Object.defineProperty(Pa,"__esModule",{value:!0});var C0e=qW();Pa.array=C0e;var m0e=JW();Pa.errno=m0e;var E0e=WW();Pa.fs=E0e;var I0e=zW();Pa.path=I0e;var y0e=c3();Pa.pattern=y0e;var w0e=g3();Pa.stream=w0e;var B0e=f3();Pa.string=B0e});var m3=w(ka=>{"use strict";Object.defineProperty(ka,"__esModule",{value:!0});var uc=Da();function Q0e(r,e){let t=h3(r),i=p3(r,e.ignore),n=t.filter(l=>uc.pattern.isStaticPattern(l,e)),s=t.filter(l=>uc.pattern.isDynamicPattern(l,e)),o=Vx(n,i,!1),a=Vx(s,i,!0);return o.concat(a)}ka.generate=Q0e;function Vx(r,e,t){let i=d3(r);return"."in i?[Xx(".",r,e,t)]:C3(i,e,t)}ka.convertPatternsToTasks=Vx;function h3(r){return uc.pattern.getPositivePatterns(r)}ka.getPositivePatterns=h3;function p3(r,e){return uc.pattern.getNegativePatterns(r).concat(e).map(uc.pattern.convertToPositivePattern)}ka.getNegativePatternsAsPositive=p3;function d3(r){let e={};return r.reduce((t,i)=>{let n=uc.pattern.getBaseDirectory(i);return n in t?t[n].push(i):t[n]=[i],t},e)}ka.groupPatternsByBaseDirectory=d3;function C3(r,e,t){return Object.keys(r).map(i=>Xx(i,r[i],e,t))}ka.convertPatternGroupsToTasks=C3;function Xx(r,e,t,i){return{dynamic:i,positive:e,negative:t,base:r,patterns:[].concat(e,t.map(uc.pattern.convertToNegativePattern))}}ka.convertPatternGroupToTask=Xx});var I3=w(Hy=>{"use strict";Object.defineProperty(Hy,"__esModule",{value:!0});Hy.read=void 0;function b0e(r,e,t){e.fs.lstat(r,(i,n)=>{if(i!==null){E3(t,i);return}if(!n.isSymbolicLink()||!e.followSymbolicLink){_x(t,n);return}e.fs.stat(r,(s,o)=>{if(s!==null){if(e.throwErrorOnBrokenSymbolicLink){E3(t,s);return}_x(t,n);return}e.markSymbolicLink&&(o.isSymbolicLink=()=>!0),_x(t,o)})})}Hy.read=b0e;function E3(r,e){r(e)}function _x(r,e){r(null,e)}});var y3=w(Gy=>{"use strict";Object.defineProperty(Gy,"__esModule",{value:!0});Gy.read=void 0;function S0e(r,e){let t=e.fs.lstatSync(r);if(!t.isSymbolicLink()||!e.followSymbolicLink)return t;try{let i=e.fs.statSync(r);return e.markSymbolicLink&&(i.isSymbolicLink=()=>!0),i}catch(i){if(!e.throwErrorOnBrokenSymbolicLink)return t;throw i}}Gy.read=S0e});var w3=w(kA=>{"use strict";Object.defineProperty(kA,"__esModule",{value:!0});kA.createFileSystemAdapter=kA.FILE_SYSTEM_ADAPTER=void 0;var Yy=J("fs");kA.FILE_SYSTEM_ADAPTER={lstat:Yy.lstat,stat:Yy.stat,lstatSync:Yy.lstatSync,statSync:Yy.statSync};function v0e(r){return r===void 0?kA.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},kA.FILE_SYSTEM_ADAPTER),r)}kA.createFileSystemAdapter=v0e});var B3=w($x=>{"use strict";Object.defineProperty($x,"__esModule",{value:!0});var x0e=w3(),Zx=class{constructor(e={}){this._options=e,this.followSymbolicLink=this._getValue(this._options.followSymbolicLink,!0),this.fs=x0e.createFileSystemAdapter(this._options.fs),this.markSymbolicLink=this._getValue(this._options.markSymbolicLink,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0)}_getValue(e,t){return e!=null?e:t}};$x.default=Zx});var gc=w(RA=>{"use strict";Object.defineProperty(RA,"__esModule",{value:!0});RA.statSync=RA.stat=RA.Settings=void 0;var Q3=I3(),P0e=y3(),eP=B3();RA.Settings=eP.default;function D0e(r,e,t){if(typeof e=="function"){Q3.read(r,tP(),e);return}Q3.read(r,tP(e),t)}RA.stat=D0e;function k0e(r,e){let t=tP(e);return P0e.read(r,t)}RA.statSync=k0e;function tP(r={}){return r instanceof eP.default?r:new eP.default(r)}});var S3=w((Ket,b3)=>{b3.exports=R0e;function R0e(r,e){var t,i,n,s=!0;Array.isArray(r)?(t=[],i=r.length):(n=Object.keys(r),t={},i=n.length);function o(l){function c(){e&&e(l,t),e=null}s?process.nextTick(c):c()}function a(l,c,u){t[l]=u,(--i===0||c)&&o(c)}i?n?n.forEach(function(l){r[l](function(c,u){a(l,c,u)})}):r.forEach(function(l,c){l(function(u,g){a(c,u,g)})}):o(null),s=!1}});var rP=w(qy=>{"use strict";Object.defineProperty(qy,"__esModule",{value:!0});qy.IS_SUPPORT_READDIR_WITH_FILE_TYPES=void 0;var jy=process.versions.node.split(".");if(jy[0]===void 0||jy[1]===void 0)throw new Error(`Unexpected behavior. The 'process.versions.node' variable has invalid value: ${process.versions.node}`);var v3=Number.parseInt(jy[0],10),F0e=Number.parseInt(jy[1],10),x3=10,N0e=10,L0e=v3>x3,T0e=v3===x3&&F0e>=N0e;qy.IS_SUPPORT_READDIR_WITH_FILE_TYPES=L0e||T0e});var P3=w(Jy=>{"use strict";Object.defineProperty(Jy,"__esModule",{value:!0});Jy.createDirentFromStats=void 0;var iP=class{constructor(e,t){this.name=e,this.isBlockDevice=t.isBlockDevice.bind(t),this.isCharacterDevice=t.isCharacterDevice.bind(t),this.isDirectory=t.isDirectory.bind(t),this.isFIFO=t.isFIFO.bind(t),this.isFile=t.isFile.bind(t),this.isSocket=t.isSocket.bind(t),this.isSymbolicLink=t.isSymbolicLink.bind(t)}};function O0e(r,e){return new iP(r,e)}Jy.createDirentFromStats=O0e});var nP=w(Wy=>{"use strict";Object.defineProperty(Wy,"__esModule",{value:!0});Wy.fs=void 0;var M0e=P3();Wy.fs=M0e});var sP=w(zy=>{"use strict";Object.defineProperty(zy,"__esModule",{value:!0});zy.joinPathSegments=void 0;function K0e(r,e,t){return r.endsWith(t)?r+e:r+t+e}zy.joinPathSegments=K0e});var L3=w(FA=>{"use strict";Object.defineProperty(FA,"__esModule",{value:!0});FA.readdir=FA.readdirWithFileTypes=FA.read=void 0;var U0e=gc(),D3=S3(),H0e=rP(),k3=nP(),R3=sP();function G0e(r,e,t){if(!e.stats&&H0e.IS_SUPPORT_READDIR_WITH_FILE_TYPES){F3(r,e,t);return}N3(r,e,t)}FA.read=G0e;function F3(r,e,t){e.fs.readdir(r,{withFileTypes:!0},(i,n)=>{if(i!==null){Vy(t,i);return}let s=n.map(a=>({dirent:a,name:a.name,path:R3.joinPathSegments(r,a.name,e.pathSegmentSeparator)}));if(!e.followSymbolicLinks){oP(t,s);return}let o=s.map(a=>Y0e(a,e));D3(o,(a,l)=>{if(a!==null){Vy(t,a);return}oP(t,l)})})}FA.readdirWithFileTypes=F3;function Y0e(r,e){return t=>{if(!r.dirent.isSymbolicLink()){t(null,r);return}e.fs.stat(r.path,(i,n)=>{if(i!==null){if(e.throwErrorOnBrokenSymbolicLink){t(i);return}t(null,r);return}r.dirent=k3.fs.createDirentFromStats(r.name,n),t(null,r)})}}function N3(r,e,t){e.fs.readdir(r,(i,n)=>{if(i!==null){Vy(t,i);return}let s=n.map(o=>{let a=R3.joinPathSegments(r,o,e.pathSegmentSeparator);return l=>{U0e.stat(a,e.fsStatSettings,(c,u)=>{if(c!==null){l(c);return}let g={name:o,path:a,dirent:k3.fs.createDirentFromStats(o,u)};e.stats&&(g.stats=u),l(null,g)})}});D3(s,(o,a)=>{if(o!==null){Vy(t,o);return}oP(t,a)})})}FA.readdir=N3;function Vy(r,e){r(e)}function oP(r,e){r(null,e)}});var U3=w(NA=>{"use strict";Object.defineProperty(NA,"__esModule",{value:!0});NA.readdir=NA.readdirWithFileTypes=NA.read=void 0;var j0e=gc(),q0e=rP(),T3=nP(),O3=sP();function J0e(r,e){return!e.stats&&q0e.IS_SUPPORT_READDIR_WITH_FILE_TYPES?M3(r,e):K3(r,e)}NA.read=J0e;function M3(r,e){return e.fs.readdirSync(r,{withFileTypes:!0}).map(i=>{let n={dirent:i,name:i.name,path:O3.joinPathSegments(r,i.name,e.pathSegmentSeparator)};if(n.dirent.isSymbolicLink()&&e.followSymbolicLinks)try{let s=e.fs.statSync(n.path);n.dirent=T3.fs.createDirentFromStats(n.name,s)}catch(s){if(e.throwErrorOnBrokenSymbolicLink)throw s}return n})}NA.readdirWithFileTypes=M3;function K3(r,e){return e.fs.readdirSync(r).map(i=>{let n=O3.joinPathSegments(r,i,e.pathSegmentSeparator),s=j0e.statSync(n,e.fsStatSettings),o={name:i,path:n,dirent:T3.fs.createDirentFromStats(i,s)};return e.stats&&(o.stats=s),o})}NA.readdir=K3});var H3=w(LA=>{"use strict";Object.defineProperty(LA,"__esModule",{value:!0});LA.createFileSystemAdapter=LA.FILE_SYSTEM_ADAPTER=void 0;var gf=J("fs");LA.FILE_SYSTEM_ADAPTER={lstat:gf.lstat,stat:gf.stat,lstatSync:gf.lstatSync,statSync:gf.statSync,readdir:gf.readdir,readdirSync:gf.readdirSync};function W0e(r){return r===void 0?LA.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},LA.FILE_SYSTEM_ADAPTER),r)}LA.createFileSystemAdapter=W0e});var G3=w(AP=>{"use strict";Object.defineProperty(AP,"__esModule",{value:!0});var z0e=J("path"),V0e=gc(),X0e=H3(),aP=class{constructor(e={}){this._options=e,this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!1),this.fs=X0e.createFileSystemAdapter(this._options.fs),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,z0e.sep),this.stats=this._getValue(this._options.stats,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0),this.fsStatSettings=new V0e.Settings({followSymbolicLink:this.followSymbolicLinks,fs:this.fs,throwErrorOnBrokenSymbolicLink:this.throwErrorOnBrokenSymbolicLink})}_getValue(e,t){return e!=null?e:t}};AP.default=aP});var Xy=w(TA=>{"use strict";Object.defineProperty(TA,"__esModule",{value:!0});TA.Settings=TA.scandirSync=TA.scandir=void 0;var Y3=L3(),_0e=U3(),lP=G3();TA.Settings=lP.default;function Z0e(r,e,t){if(typeof e=="function"){Y3.read(r,cP(),e);return}Y3.read(r,cP(e),t)}TA.scandir=Z0e;function $0e(r,e){let t=cP(e);return _0e.read(r,t)}TA.scandirSync=$0e;function cP(r={}){return r instanceof lP.default?r:new lP.default(r)}});var q3=w((Vet,j3)=>{"use strict";function eQe(r){var e=new r,t=e;function i(){var s=e;return s.next?e=s.next:(e=new r,t=e),s.next=null,s}function n(s){t.next=s,t=s}return{get:i,release:n}}j3.exports=eQe});var W3=w((Xet,uP)=>{"use strict";var tQe=q3();function J3(r,e,t){if(typeof r=="function"&&(t=e,e=r,r=null),t<1)throw new Error("fastqueue concurrency must be greater than 1");var i=tQe(rQe),n=null,s=null,o=0,a=null,l={push:C,drain:ps,saturated:ps,pause:u,paused:!1,concurrency:t,running:c,resume:h,idle:p,length:g,getQueue:f,unshift:y,empty:ps,kill:v,killAndDrain:D,error:L};return l;function c(){return o}function u(){l.paused=!0}function g(){for(var H=n,j=0;H;)H=H.next,j++;return j}function f(){for(var H=n,j=[];H;)j.push(H.value),H=H.next;return j}function h(){if(!!l.paused){l.paused=!1;for(var H=0;H{"use strict";Object.defineProperty(Mo,"__esModule",{value:!0});Mo.joinPathSegments=Mo.replacePathSegmentSeparator=Mo.isAppliedFilter=Mo.isFatalError=void 0;function nQe(r,e){return r.errorFilter===null?!0:!r.errorFilter(e)}Mo.isFatalError=nQe;function sQe(r,e){return r===null||r(e)}Mo.isAppliedFilter=sQe;function oQe(r,e){return r.split(/[/\\]/).join(e)}Mo.replacePathSegmentSeparator=oQe;function aQe(r,e,t){return r===""?e:r.endsWith(t)?r+e:r+t+e}Mo.joinPathSegments=aQe});var hP=w(fP=>{"use strict";Object.defineProperty(fP,"__esModule",{value:!0});var AQe=_y(),gP=class{constructor(e,t){this._root=e,this._settings=t,this._root=AQe.replacePathSegmentSeparator(e,t.pathSegmentSeparator)}};fP.default=gP});var CP=w(dP=>{"use strict";Object.defineProperty(dP,"__esModule",{value:!0});var lQe=J("events"),cQe=Xy(),uQe=W3(),Zy=_y(),gQe=hP(),pP=class extends gQe.default{constructor(e,t){super(e,t),this._settings=t,this._scandir=cQe.scandir,this._emitter=new lQe.EventEmitter,this._queue=uQe(this._worker.bind(this),this._settings.concurrency),this._isFatalError=!1,this._isDestroyed=!1,this._queue.drain=()=>{this._isFatalError||this._emitter.emit("end")}}read(){return this._isFatalError=!1,this._isDestroyed=!1,setImmediate(()=>{this._pushToQueue(this._root,this._settings.basePath)}),this._emitter}get isDestroyed(){return this._isDestroyed}destroy(){if(this._isDestroyed)throw new Error("The reader is already destroyed");this._isDestroyed=!0,this._queue.killAndDrain()}onEntry(e){this._emitter.on("entry",e)}onError(e){this._emitter.once("error",e)}onEnd(e){this._emitter.once("end",e)}_pushToQueue(e,t){let i={directory:e,base:t};this._queue.push(i,n=>{n!==null&&this._handleError(n)})}_worker(e,t){this._scandir(e.directory,this._settings.fsScandirSettings,(i,n)=>{if(i!==null){t(i,void 0);return}for(let s of n)this._handleEntry(s,e.base);t(null,void 0)})}_handleError(e){this._isDestroyed||!Zy.isFatalError(this._settings,e)||(this._isFatalError=!0,this._isDestroyed=!0,this._emitter.emit("error",e))}_handleEntry(e,t){if(this._isDestroyed||this._isFatalError)return;let i=e.path;t!==void 0&&(e.path=Zy.joinPathSegments(t,e.name,this._settings.pathSegmentSeparator)),Zy.isAppliedFilter(this._settings.entryFilter,e)&&this._emitEntry(e),e.dirent.isDirectory()&&Zy.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(i,e.path)}_emitEntry(e){this._emitter.emit("entry",e)}};dP.default=pP});var z3=w(EP=>{"use strict";Object.defineProperty(EP,"__esModule",{value:!0});var fQe=CP(),mP=class{constructor(e,t){this._root=e,this._settings=t,this._reader=new fQe.default(this._root,this._settings),this._storage=new Set}read(e){this._reader.onError(t=>{hQe(e,t)}),this._reader.onEntry(t=>{this._storage.add(t)}),this._reader.onEnd(()=>{pQe(e,[...this._storage])}),this._reader.read()}};EP.default=mP;function hQe(r,e){r(e)}function pQe(r,e){r(null,e)}});var V3=w(yP=>{"use strict";Object.defineProperty(yP,"__esModule",{value:!0});var dQe=J("stream"),CQe=CP(),IP=class{constructor(e,t){this._root=e,this._settings=t,this._reader=new CQe.default(this._root,this._settings),this._stream=new dQe.Readable({objectMode:!0,read:()=>{},destroy:()=>{this._reader.isDestroyed||this._reader.destroy()}})}read(){return this._reader.onError(e=>{this._stream.emit("error",e)}),this._reader.onEntry(e=>{this._stream.push(e)}),this._reader.onEnd(()=>{this._stream.push(null)}),this._reader.read(),this._stream}};yP.default=IP});var X3=w(BP=>{"use strict";Object.defineProperty(BP,"__esModule",{value:!0});var mQe=Xy(),$y=_y(),EQe=hP(),wP=class extends EQe.default{constructor(){super(...arguments),this._scandir=mQe.scandirSync,this._storage=new Set,this._queue=new Set}read(){return this._pushToQueue(this._root,this._settings.basePath),this._handleQueue(),[...this._storage]}_pushToQueue(e,t){this._queue.add({directory:e,base:t})}_handleQueue(){for(let e of this._queue.values())this._handleDirectory(e.directory,e.base)}_handleDirectory(e,t){try{let i=this._scandir(e,this._settings.fsScandirSettings);for(let n of i)this._handleEntry(n,t)}catch(i){this._handleError(i)}}_handleError(e){if(!!$y.isFatalError(this._settings,e))throw e}_handleEntry(e,t){let i=e.path;t!==void 0&&(e.path=$y.joinPathSegments(t,e.name,this._settings.pathSegmentSeparator)),$y.isAppliedFilter(this._settings.entryFilter,e)&&this._pushToStorage(e),e.dirent.isDirectory()&&$y.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(i,e.path)}_pushToStorage(e){this._storage.add(e)}};BP.default=wP});var _3=w(bP=>{"use strict";Object.defineProperty(bP,"__esModule",{value:!0});var IQe=X3(),QP=class{constructor(e,t){this._root=e,this._settings=t,this._reader=new IQe.default(this._root,this._settings)}read(){return this._reader.read()}};bP.default=QP});var Z3=w(vP=>{"use strict";Object.defineProperty(vP,"__esModule",{value:!0});var yQe=J("path"),wQe=Xy(),SP=class{constructor(e={}){this._options=e,this.basePath=this._getValue(this._options.basePath,void 0),this.concurrency=this._getValue(this._options.concurrency,Number.POSITIVE_INFINITY),this.deepFilter=this._getValue(this._options.deepFilter,null),this.entryFilter=this._getValue(this._options.entryFilter,null),this.errorFilter=this._getValue(this._options.errorFilter,null),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,yQe.sep),this.fsScandirSettings=new wQe.Settings({followSymbolicLinks:this._options.followSymbolicLinks,fs:this._options.fs,pathSegmentSeparator:this._options.pathSegmentSeparator,stats:this._options.stats,throwErrorOnBrokenSymbolicLink:this._options.throwErrorOnBrokenSymbolicLink})}_getValue(e,t){return e!=null?e:t}};vP.default=SP});var PP=w(Ko=>{"use strict";Object.defineProperty(Ko,"__esModule",{value:!0});Ko.Settings=Ko.walkStream=Ko.walkSync=Ko.walk=void 0;var $3=z3(),BQe=V3(),QQe=_3(),xP=Z3();Ko.Settings=xP.default;function bQe(r,e,t){if(typeof e=="function"){new $3.default(r,ew()).read(e);return}new $3.default(r,ew(e)).read(t)}Ko.walk=bQe;function SQe(r,e){let t=ew(e);return new QQe.default(r,t).read()}Ko.walkSync=SQe;function vQe(r,e){let t=ew(e);return new BQe.default(r,t).read()}Ko.walkStream=vQe;function ew(r={}){return r instanceof xP.default?r:new xP.default(r)}});var RP=w(kP=>{"use strict";Object.defineProperty(kP,"__esModule",{value:!0});var xQe=J("path"),PQe=gc(),e4=Da(),DP=class{constructor(e){this._settings=e,this._fsStatSettings=new PQe.Settings({followSymbolicLink:this._settings.followSymbolicLinks,fs:this._settings.fs,throwErrorOnBrokenSymbolicLink:this._settings.followSymbolicLinks})}_getFullEntryPath(e){return xQe.resolve(this._settings.cwd,e)}_makeEntry(e,t){let i={name:t,path:t,dirent:e4.fs.createDirentFromStats(t,e)};return this._settings.stats&&(i.stats=e),i}_isFatalError(e){return!e4.errno.isEnoentCodeError(e)&&!this._settings.suppressErrors}};kP.default=DP});var LP=w(NP=>{"use strict";Object.defineProperty(NP,"__esModule",{value:!0});var DQe=J("stream"),kQe=gc(),RQe=PP(),FQe=RP(),FP=class extends FQe.default{constructor(){super(...arguments),this._walkStream=RQe.walkStream,this._stat=kQe.stat}dynamic(e,t){return this._walkStream(e,t)}static(e,t){let i=e.map(this._getFullEntryPath,this),n=new DQe.PassThrough({objectMode:!0});n._write=(s,o,a)=>this._getEntry(i[s],e[s],t).then(l=>{l!==null&&t.entryFilter(l)&&n.push(l),s===i.length-1&&n.end(),a()}).catch(a);for(let s=0;sthis._makeEntry(n,t)).catch(n=>{if(i.errorFilter(n))return null;throw n})}_getStat(e){return new Promise((t,i)=>{this._stat(e,this._fsStatSettings,(n,s)=>n===null?t(s):i(n))})}};NP.default=FP});var t4=w(OP=>{"use strict";Object.defineProperty(OP,"__esModule",{value:!0});var ff=Da(),TP=class{constructor(e,t,i){this._patterns=e,this._settings=t,this._micromatchOptions=i,this._storage=[],this._fillStorage()}_fillStorage(){let e=ff.pattern.expandPatternsWithBraceExpansion(this._patterns);for(let t of e){let i=this._getPatternSegments(t),n=this._splitSegmentsIntoSections(i);this._storage.push({complete:n.length<=1,pattern:t,segments:i,sections:n})}}_getPatternSegments(e){return ff.pattern.getPatternParts(e,this._micromatchOptions).map(i=>ff.pattern.isDynamicPattern(i,this._settings)?{dynamic:!0,pattern:i,patternRe:ff.pattern.makeRe(i,this._micromatchOptions)}:{dynamic:!1,pattern:i})}_splitSegmentsIntoSections(e){return ff.array.splitWhen(e,t=>t.dynamic&&ff.pattern.hasGlobStar(t.pattern))}};OP.default=TP});var r4=w(KP=>{"use strict";Object.defineProperty(KP,"__esModule",{value:!0});var NQe=t4(),MP=class extends NQe.default{match(e){let t=e.split("/"),i=t.length,n=this._storage.filter(s=>!s.complete||s.segments.length>i);for(let s of n){let o=s.sections[0];if(!s.complete&&i>o.length||t.every((l,c)=>{let u=s.segments[c];return!!(u.dynamic&&u.patternRe.test(l)||!u.dynamic&&u.pattern===l)}))return!0}return!1}};KP.default=MP});var i4=w(HP=>{"use strict";Object.defineProperty(HP,"__esModule",{value:!0});var tw=Da(),LQe=r4(),UP=class{constructor(e,t){this._settings=e,this._micromatchOptions=t}getFilter(e,t,i){let n=this._getMatcher(t),s=this._getNegativePatternsRe(i);return o=>this._filter(e,o,n,s)}_getMatcher(e){return new LQe.default(e,this._settings,this._micromatchOptions)}_getNegativePatternsRe(e){let t=e.filter(tw.pattern.isAffectDepthOfReadingPattern);return tw.pattern.convertPatternsToRe(t,this._micromatchOptions)}_filter(e,t,i,n){let s=this._getEntryLevel(e,t.path);if(this._isSkippedByDeep(s)||this._isSkippedSymbolicLink(t))return!1;let o=tw.path.removeLeadingDotSegment(t.path);return this._isSkippedByPositivePatterns(o,i)?!1:this._isSkippedByNegativePatterns(o,n)}_isSkippedByDeep(e){return e>=this._settings.deep}_isSkippedSymbolicLink(e){return!this._settings.followSymbolicLinks&&e.dirent.isSymbolicLink()}_getEntryLevel(e,t){let i=e.split("/").length;return t.split("/").length-(e===""?0:i)}_isSkippedByPositivePatterns(e,t){return!this._settings.baseNameMatch&&!t.match(e)}_isSkippedByNegativePatterns(e,t){return!tw.pattern.matchAny(e,t)}};HP.default=UP});var n4=w(YP=>{"use strict";Object.defineProperty(YP,"__esModule",{value:!0});var Ud=Da(),GP=class{constructor(e,t){this._settings=e,this._micromatchOptions=t,this.index=new Map}getFilter(e,t){let i=Ud.pattern.convertPatternsToRe(e,this._micromatchOptions),n=Ud.pattern.convertPatternsToRe(t,this._micromatchOptions);return s=>this._filter(s,i,n)}_filter(e,t,i){if(this._settings.unique){if(this._isDuplicateEntry(e))return!1;this._createIndexRecord(e)}if(this._onlyFileFilter(e)||this._onlyDirectoryFilter(e)||this._isSkippedByAbsoluteNegativePatterns(e,i))return!1;let n=this._settings.baseNameMatch?e.name:e.path;return this._isMatchToPatterns(n,t)&&!this._isMatchToPatterns(e.path,i)}_isDuplicateEntry(e){return this.index.has(e.path)}_createIndexRecord(e){this.index.set(e.path,void 0)}_onlyFileFilter(e){return this._settings.onlyFiles&&!e.dirent.isFile()}_onlyDirectoryFilter(e){return this._settings.onlyDirectories&&!e.dirent.isDirectory()}_isSkippedByAbsoluteNegativePatterns(e,t){if(!this._settings.absolute)return!1;let i=Ud.path.makeAbsolute(this._settings.cwd,e.path);return this._isMatchToPatterns(i,t)}_isMatchToPatterns(e,t){let i=Ud.path.removeLeadingDotSegment(e);return Ud.pattern.matchAny(i,t)}};YP.default=GP});var s4=w(qP=>{"use strict";Object.defineProperty(qP,"__esModule",{value:!0});var TQe=Da(),jP=class{constructor(e){this._settings=e}getFilter(){return e=>this._isNonFatalError(e)}_isNonFatalError(e){return TQe.errno.isEnoentCodeError(e)||this._settings.suppressErrors}};qP.default=jP});var a4=w(WP=>{"use strict";Object.defineProperty(WP,"__esModule",{value:!0});var o4=Da(),JP=class{constructor(e){this._settings=e}getTransformer(){return e=>this._transform(e)}_transform(e){let t=e.path;return this._settings.absolute&&(t=o4.path.makeAbsolute(this._settings.cwd,t),t=o4.path.unixify(t)),this._settings.markDirectories&&e.dirent.isDirectory()&&(t+="/"),this._settings.objectMode?Object.assign(Object.assign({},e),{path:t}):t}};WP.default=JP});var rw=w(VP=>{"use strict";Object.defineProperty(VP,"__esModule",{value:!0});var OQe=J("path"),MQe=i4(),KQe=n4(),UQe=s4(),HQe=a4(),zP=class{constructor(e){this._settings=e,this.errorFilter=new UQe.default(this._settings),this.entryFilter=new KQe.default(this._settings,this._getMicromatchOptions()),this.deepFilter=new MQe.default(this._settings,this._getMicromatchOptions()),this.entryTransformer=new HQe.default(this._settings)}_getRootDirectory(e){return OQe.resolve(this._settings.cwd,e.base)}_getReaderOptions(e){let t=e.base==="."?"":e.base;return{basePath:t,pathSegmentSeparator:"/",concurrency:this._settings.concurrency,deepFilter:this.deepFilter.getFilter(t,e.positive,e.negative),entryFilter:this.entryFilter.getFilter(e.positive,e.negative),errorFilter:this.errorFilter.getFilter(),followSymbolicLinks:this._settings.followSymbolicLinks,fs:this._settings.fs,stats:this._settings.stats,throwErrorOnBrokenSymbolicLink:this._settings.throwErrorOnBrokenSymbolicLink,transform:this.entryTransformer.getTransformer()}}_getMicromatchOptions(){return{dot:this._settings.dot,matchBase:this._settings.baseNameMatch,nobrace:!this._settings.braceExpansion,nocase:!this._settings.caseSensitiveMatch,noext:!this._settings.extglob,noglobstar:!this._settings.globstar,posix:!0,strictSlashes:!1}}};VP.default=zP});var A4=w(_P=>{"use strict";Object.defineProperty(_P,"__esModule",{value:!0});var GQe=LP(),YQe=rw(),XP=class extends YQe.default{constructor(){super(...arguments),this._reader=new GQe.default(this._settings)}read(e){let t=this._getRootDirectory(e),i=this._getReaderOptions(e),n=[];return new Promise((s,o)=>{let a=this.api(t,e,i);a.once("error",o),a.on("data",l=>n.push(i.transform(l))),a.once("end",()=>s(n))})}api(e,t,i){return t.dynamic?this._reader.dynamic(e,i):this._reader.static(t.patterns,i)}};_P.default=XP});var l4=w($P=>{"use strict";Object.defineProperty($P,"__esModule",{value:!0});var jQe=J("stream"),qQe=LP(),JQe=rw(),ZP=class extends JQe.default{constructor(){super(...arguments),this._reader=new qQe.default(this._settings)}read(e){let t=this._getRootDirectory(e),i=this._getReaderOptions(e),n=this.api(t,e,i),s=new jQe.Readable({objectMode:!0,read:()=>{}});return n.once("error",o=>s.emit("error",o)).on("data",o=>s.emit("data",i.transform(o))).once("end",()=>s.emit("end")),s.once("close",()=>n.destroy()),s}api(e,t,i){return t.dynamic?this._reader.dynamic(e,i):this._reader.static(t.patterns,i)}};$P.default=ZP});var c4=w(tD=>{"use strict";Object.defineProperty(tD,"__esModule",{value:!0});var WQe=gc(),zQe=PP(),VQe=RP(),eD=class extends VQe.default{constructor(){super(...arguments),this._walkSync=zQe.walkSync,this._statSync=WQe.statSync}dynamic(e,t){return this._walkSync(e,t)}static(e,t){let i=[];for(let n of e){let s=this._getFullEntryPath(n),o=this._getEntry(s,n,t);o===null||!t.entryFilter(o)||i.push(o)}return i}_getEntry(e,t,i){try{let n=this._getStat(e);return this._makeEntry(n,t)}catch(n){if(i.errorFilter(n))return null;throw n}}_getStat(e){return this._statSync(e,this._fsStatSettings)}};tD.default=eD});var u4=w(iD=>{"use strict";Object.defineProperty(iD,"__esModule",{value:!0});var XQe=c4(),_Qe=rw(),rD=class extends _Qe.default{constructor(){super(...arguments),this._reader=new XQe.default(this._settings)}read(e){let t=this._getRootDirectory(e),i=this._getReaderOptions(e);return this.api(t,e,i).map(i.transform)}api(e,t,i){return t.dynamic?this._reader.dynamic(e,i):this._reader.static(t.patterns,i)}};iD.default=rD});var g4=w(Hd=>{"use strict";Object.defineProperty(Hd,"__esModule",{value:!0});var hf=J("fs"),ZQe=J("os"),$Qe=ZQe.cpus().length;Hd.DEFAULT_FILE_SYSTEM_ADAPTER={lstat:hf.lstat,lstatSync:hf.lstatSync,stat:hf.stat,statSync:hf.statSync,readdir:hf.readdir,readdirSync:hf.readdirSync};var nD=class{constructor(e={}){this._options=e,this.absolute=this._getValue(this._options.absolute,!1),this.baseNameMatch=this._getValue(this._options.baseNameMatch,!1),this.braceExpansion=this._getValue(this._options.braceExpansion,!0),this.caseSensitiveMatch=this._getValue(this._options.caseSensitiveMatch,!0),this.concurrency=this._getValue(this._options.concurrency,$Qe),this.cwd=this._getValue(this._options.cwd,process.cwd()),this.deep=this._getValue(this._options.deep,1/0),this.dot=this._getValue(this._options.dot,!1),this.extglob=this._getValue(this._options.extglob,!0),this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!0),this.fs=this._getFileSystemMethods(this._options.fs),this.globstar=this._getValue(this._options.globstar,!0),this.ignore=this._getValue(this._options.ignore,[]),this.markDirectories=this._getValue(this._options.markDirectories,!1),this.objectMode=this._getValue(this._options.objectMode,!1),this.onlyDirectories=this._getValue(this._options.onlyDirectories,!1),this.onlyFiles=this._getValue(this._options.onlyFiles,!0),this.stats=this._getValue(this._options.stats,!1),this.suppressErrors=this._getValue(this._options.suppressErrors,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!1),this.unique=this._getValue(this._options.unique,!0),this.onlyDirectories&&(this.onlyFiles=!1),this.stats&&(this.objectMode=!0)}_getValue(e,t){return e===void 0?t:e}_getFileSystemMethods(e={}){return Object.assign(Object.assign({},Hd.DEFAULT_FILE_SYSTEM_ADAPTER),e)}};Hd.default=nD});var iw=w((Itt,h4)=>{"use strict";var f4=m3(),ebe=A4(),tbe=l4(),rbe=u4(),sD=g4(),fc=Da();async function oD(r,e){pf(r);let t=aD(r,ebe.default,e),i=await Promise.all(t);return fc.array.flatten(i)}(function(r){function e(o,a){pf(o);let l=aD(o,rbe.default,a);return fc.array.flatten(l)}r.sync=e;function t(o,a){pf(o);let l=aD(o,tbe.default,a);return fc.stream.merge(l)}r.stream=t;function i(o,a){pf(o);let l=[].concat(o),c=new sD.default(a);return f4.generate(l,c)}r.generateTasks=i;function n(o,a){pf(o);let l=new sD.default(a);return fc.pattern.isDynamicPattern(o,l)}r.isDynamicPattern=n;function s(o){return pf(o),fc.path.escape(o)}r.escapePath=s})(oD||(oD={}));function aD(r,e,t){let i=[].concat(r),n=new sD.default(t),s=f4.generate(i,n),o=new e(n);return s.map(o.read,o)}function pf(r){if(![].concat(r).every(i=>fc.string.isString(i)&&!fc.string.isEmpty(i)))throw new TypeError("Patterns must be a string (non empty) or an array of strings")}h4.exports=oD});var d4=w(hc=>{"use strict";var{promisify:ibe}=J("util"),p4=J("fs");async function AD(r,e,t){if(typeof t!="string")throw new TypeError(`Expected a string, got ${typeof t}`);try{return(await ibe(p4[r])(t))[e]()}catch(i){if(i.code==="ENOENT")return!1;throw i}}function lD(r,e,t){if(typeof t!="string")throw new TypeError(`Expected a string, got ${typeof t}`);try{return p4[r](t)[e]()}catch(i){if(i.code==="ENOENT")return!1;throw i}}hc.isFile=AD.bind(null,"stat","isFile");hc.isDirectory=AD.bind(null,"stat","isDirectory");hc.isSymlink=AD.bind(null,"lstat","isSymbolicLink");hc.isFileSync=lD.bind(null,"statSync","isFile");hc.isDirectorySync=lD.bind(null,"statSync","isDirectory");hc.isSymlinkSync=lD.bind(null,"lstatSync","isSymbolicLink")});var y4=w((wtt,cD)=>{"use strict";var pc=J("path"),C4=d4(),m4=r=>r.length>1?`{${r.join(",")}}`:r[0],E4=(r,e)=>{let t=r[0]==="!"?r.slice(1):r;return pc.isAbsolute(t)?t:pc.join(e,t)},nbe=(r,e)=>pc.extname(r)?`**/${r}`:`**/${r}.${m4(e)}`,I4=(r,e)=>{if(e.files&&!Array.isArray(e.files))throw new TypeError(`Expected \`files\` to be of type \`Array\` but received type \`${typeof e.files}\``);if(e.extensions&&!Array.isArray(e.extensions))throw new TypeError(`Expected \`extensions\` to be of type \`Array\` but received type \`${typeof e.extensions}\``);return e.files&&e.extensions?e.files.map(t=>pc.posix.join(r,nbe(t,e.extensions))):e.files?e.files.map(t=>pc.posix.join(r,`**/${t}`)):e.extensions?[pc.posix.join(r,`**/*.${m4(e.extensions)}`)]:[pc.posix.join(r,"**")]};cD.exports=async(r,e)=>{if(e={cwd:process.cwd(),...e},typeof e.cwd!="string")throw new TypeError(`Expected \`cwd\` to be of type \`string\` but received type \`${typeof e.cwd}\``);let t=await Promise.all([].concat(r).map(async i=>await C4.isDirectory(E4(i,e.cwd))?I4(i,e):i));return[].concat.apply([],t)};cD.exports.sync=(r,e)=>{if(e={cwd:process.cwd(),...e},typeof e.cwd!="string")throw new TypeError(`Expected \`cwd\` to be of type \`string\` but received type \`${typeof e.cwd}\``);let t=[].concat(r).map(i=>C4.isDirectorySync(E4(i,e.cwd))?I4(i,e):i);return[].concat.apply([],t)}});var P4=w((Btt,x4)=>{function w4(r){return Array.isArray(r)?r:[r]}var S4="",B4=" ",uD="\\",sbe=/^\s+$/,obe=/^\\!/,abe=/^\\#/,Abe=/\r?\n/g,lbe=/^\.*\/|^\.+$/,gD="/",Q4=typeof Symbol<"u"?Symbol.for("node-ignore"):"node-ignore",cbe=(r,e,t)=>Object.defineProperty(r,e,{value:t}),ube=/([0-z])-([0-z])/g,gbe=r=>r.replace(ube,(e,t,i)=>t.charCodeAt(0)<=i.charCodeAt(0)?e:S4),fbe=r=>{let{length:e}=r;return r.slice(0,e-e%2)},hbe=[[/\\?\s+$/,r=>r.indexOf("\\")===0?B4:S4],[/\\\s/g,()=>B4],[/[\\$.|*+(){^]/g,r=>`\\${r}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(r,e,t)=>e+6`${e}[^\\/]*`],[/\\\\\\(?=[$.|*+(){^])/g,()=>uD],[/\\\\/g,()=>uD],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(r,e,t,i,n)=>e===uD?`\\[${t}${fbe(i)}${n}`:n==="]"&&i.length%2===0?`[${gbe(t)}${i}]`:"[]"],[/(?:[^*])$/,r=>/\/$/.test(r)?`${r}$`:`${r}(?=$|\\/$)`],[/(\^|\\\/)?\\\*$/,(r,e)=>`${e?`${e}[^/]+`:"[^/]*"}(?=$|\\/$)`]],b4=Object.create(null),pbe=(r,e)=>{let t=b4[r];return t||(t=hbe.reduce((i,n)=>i.replace(n[0],n[1].bind(r)),r),b4[r]=t),e?new RegExp(t,"i"):new RegExp(t)},pD=r=>typeof r=="string",dbe=r=>r&&pD(r)&&!sbe.test(r)&&r.indexOf("#")!==0,Cbe=r=>r.split(Abe),fD=class{constructor(e,t,i,n){this.origin=e,this.pattern=t,this.negative=i,this.regex=n}},mbe=(r,e)=>{let t=r,i=!1;r.indexOf("!")===0&&(i=!0,r=r.substr(1)),r=r.replace(obe,"!").replace(abe,"#");let n=pbe(r,e);return new fD(t,r,i,n)},Ebe=(r,e)=>{throw new e(r)},Ra=(r,e,t)=>pD(r)?r?Ra.isNotRelative(r)?t(`path should be a \`path.relative()\`d string, but got "${e}"`,RangeError):!0:t("path must not be empty",TypeError):t(`path must be a string, but got \`${e}\``,TypeError),v4=r=>lbe.test(r);Ra.isNotRelative=v4;Ra.convert=r=>r;var hD=class{constructor({ignorecase:e=!0}={}){cbe(this,Q4,!0),this._rules=[],this._ignorecase=e,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}_addPattern(e){if(e&&e[Q4]){this._rules=this._rules.concat(e._rules),this._added=!0;return}if(dbe(e)){let t=mbe(e,this._ignorecase);this._added=!0,this._rules.push(t)}}add(e){return this._added=!1,w4(pD(e)?Cbe(e):e).forEach(this._addPattern,this),this._added&&this._initCache(),this}addPattern(e){return this.add(e)}_testOne(e,t){let i=!1,n=!1;return this._rules.forEach(s=>{let{negative:o}=s;if(n===o&&i!==n||o&&!i&&!n&&!t)return;s.regex.test(e)&&(i=!o,n=o)}),{ignored:i,unignored:n}}_test(e,t,i,n){let s=e&&Ra.convert(e);return Ra(s,e,Ebe),this._t(s,t,i,n)}_t(e,t,i,n){if(e in t)return t[e];if(n||(n=e.split(gD)),n.pop(),!n.length)return t[e]=this._testOne(e,i);let s=this._t(n.join(gD)+gD,t,i,n);return t[e]=s.ignored?s:this._testOne(e,i)}ignores(e){return this._test(e,this._ignoreCache,!1).ignored}createFilter(){return e=>!this.ignores(e)}filter(e){return w4(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,!0)}},nw=r=>new hD(r),Ibe=()=>!1,ybe=r=>Ra(r&&Ra.convert(r),r,Ibe);nw.isPathValid=ybe;nw.default=nw;x4.exports=nw;if(typeof process<"u"&&(process.env&&process.env.IGNORE_TEST_WIN32||process.platform==="win32")){let r=t=>/^\\\\\?\\/.test(t)||/["<>|\u0000-\u001F]+/u.test(t)?t:t.replace(/\\/g,"/");Ra.convert=r;let e=/^[a-z]:\//i;Ra.isNotRelative=t=>e.test(t)||v4(t)}});var k4=w((Qtt,D4)=>{"use strict";D4.exports=r=>{let e=/^\\\\\?\\/.test(r),t=/[^\u0000-\u0080]+/.test(r);return e||t?r:r.replace(/\\/g,"/")}});var M4=w((btt,dD)=>{"use strict";var{promisify:wbe}=J("util"),R4=J("fs"),Fa=J("path"),F4=iw(),Bbe=P4(),Gd=k4(),N4=["**/node_modules/**","**/flow-typed/**","**/coverage/**","**/.git"],Qbe=wbe(R4.readFile),bbe=r=>e=>e.startsWith("!")?"!"+Fa.posix.join(r,e.slice(1)):Fa.posix.join(r,e),Sbe=(r,e)=>{let t=Gd(Fa.relative(e.cwd,Fa.dirname(e.fileName)));return r.split(/\r?\n/).filter(Boolean).filter(i=>!i.startsWith("#")).map(bbe(t))},L4=r=>{let e=Bbe();for(let t of r)e.add(Sbe(t.content,{cwd:t.cwd,fileName:t.filePath}));return e},vbe=(r,e)=>{if(r=Gd(r),Fa.isAbsolute(e)){if(Gd(e).startsWith(r))return e;throw new Error(`Path ${e} is not in cwd ${r}`)}return Fa.join(r,e)},T4=(r,e)=>t=>r.ignores(Gd(Fa.relative(e,vbe(e,t.path||t)))),xbe=async(r,e)=>{let t=Fa.join(e,r),i=await Qbe(t,"utf8");return{cwd:e,filePath:t,content:i}},Pbe=(r,e)=>{let t=Fa.join(e,r),i=R4.readFileSync(t,"utf8");return{cwd:e,filePath:t,content:i}},O4=({ignore:r=[],cwd:e=Gd(process.cwd())}={})=>({ignore:r,cwd:e});dD.exports=async r=>{r=O4(r);let e=await F4("**/.gitignore",{ignore:N4.concat(r.ignore),cwd:r.cwd}),t=await Promise.all(e.map(n=>xbe(n,r.cwd))),i=L4(t);return T4(i,r.cwd)};dD.exports.sync=r=>{r=O4(r);let t=F4.sync("**/.gitignore",{ignore:N4.concat(r.ignore),cwd:r.cwd}).map(n=>Pbe(n,r.cwd)),i=L4(t);return T4(i,r.cwd)}});var U4=w((Stt,K4)=>{"use strict";var{Transform:Dbe}=J("stream"),sw=class extends Dbe{constructor(){super({objectMode:!0})}},CD=class extends sw{constructor(e){super(),this._filter=e}_transform(e,t,i){this._filter(e)&&this.push(e),i()}},mD=class extends sw{constructor(){super(),this._pushed=new Set}_transform(e,t,i){this._pushed.has(e)||(this.push(e),this._pushed.add(e)),i()}};K4.exports={FilterStream:CD,UniqueStream:mD}});var wD=w((vtt,dc)=>{"use strict";var G4=J("fs"),ow=HW(),kbe=Yx(),aw=iw(),Aw=y4(),ED=M4(),{FilterStream:Rbe,UniqueStream:Fbe}=U4(),Y4=()=>!1,H4=r=>r[0]==="!",Nbe=r=>{if(!r.every(e=>typeof e=="string"))throw new TypeError("Patterns must be a string or an array of strings")},Lbe=(r={})=>{if(!r.cwd)return;let e;try{e=G4.statSync(r.cwd)}catch{return}if(!e.isDirectory())throw new Error("The `cwd` option must be a path to a directory")},Tbe=r=>r.stats instanceof G4.Stats?r.path:r,lw=(r,e)=>{r=ow([].concat(r)),Nbe(r),Lbe(e);let t=[];e={ignore:[],expandDirectories:!0,...e};for(let[i,n]of r.entries()){if(H4(n))continue;let s=r.slice(i).filter(a=>H4(a)).map(a=>a.slice(1)),o={...e,ignore:e.ignore.concat(s)};t.push({pattern:n,options:o})}return t},Obe=(r,e)=>{let t={};return r.options.cwd&&(t.cwd=r.options.cwd),Array.isArray(r.options.expandDirectories)?t={...t,files:r.options.expandDirectories}:typeof r.options.expandDirectories=="object"&&(t={...t,...r.options.expandDirectories}),e(r.pattern,t)},ID=(r,e)=>r.options.expandDirectories?Obe(r,e):[r.pattern],j4=r=>r&&r.gitignore?ED.sync({cwd:r.cwd,ignore:r.ignore}):Y4,yD=r=>e=>{let{options:t}=r;return t.ignore&&Array.isArray(t.ignore)&&t.expandDirectories&&(t.ignore=Aw.sync(t.ignore)),{pattern:e,options:t}};dc.exports=async(r,e)=>{let t=lw(r,e),i=async()=>e&&e.gitignore?ED({cwd:e.cwd,ignore:e.ignore}):Y4,n=async()=>{let l=await Promise.all(t.map(async c=>{let u=await ID(c,Aw);return Promise.all(u.map(yD(c)))}));return ow(...l)},[s,o]=await Promise.all([i(),n()]),a=await Promise.all(o.map(l=>aw(l.pattern,l.options)));return ow(...a).filter(l=>!s(Tbe(l)))};dc.exports.sync=(r,e)=>{let t=lw(r,e),i=[];for(let o of t){let a=ID(o,Aw.sync).map(yD(o));i.push(...a)}let n=j4(e),s=[];for(let o of i)s=ow(s,aw.sync(o.pattern,o.options));return s.filter(o=>!n(o))};dc.exports.stream=(r,e)=>{let t=lw(r,e),i=[];for(let a of t){let l=ID(a,Aw.sync).map(yD(a));i.push(...l)}let n=j4(e),s=new Rbe(a=>!n(a)),o=new Fbe;return kbe(i.map(a=>aw.stream(a.pattern,a.options))).pipe(s).pipe(o)};dc.exports.generateGlobTasks=lw;dc.exports.hasMagic=(r,e)=>[].concat(r).some(t=>aw.isDynamicPattern(t,e));dc.exports.gitignore=ED});var bn=w((jtt,s8)=>{function Xbe(r){var e=typeof r;return r!=null&&(e=="object"||e=="function")}s8.exports=Xbe});var kD=w((qtt,o8)=>{var _be=typeof global=="object"&&global&&global.Object===Object&&global;o8.exports=_be});var ds=w((Jtt,a8)=>{var Zbe=kD(),$be=typeof self=="object"&&self&&self.Object===Object&&self,eSe=Zbe||$be||Function("return this")();a8.exports=eSe});var l8=w((Wtt,A8)=>{var tSe=ds(),rSe=function(){return tSe.Date.now()};A8.exports=rSe});var u8=w((ztt,c8)=>{var iSe=/\s/;function nSe(r){for(var e=r.length;e--&&iSe.test(r.charAt(e)););return e}c8.exports=nSe});var f8=w((Vtt,g8)=>{var sSe=u8(),oSe=/^\s+/;function aSe(r){return r&&r.slice(0,sSe(r)+1).replace(oSe,"")}g8.exports=aSe});var Ec=w((Xtt,h8)=>{var ASe=ds(),lSe=ASe.Symbol;h8.exports=lSe});var m8=w((_tt,C8)=>{var p8=Ec(),d8=Object.prototype,cSe=d8.hasOwnProperty,uSe=d8.toString,eC=p8?p8.toStringTag:void 0;function gSe(r){var e=cSe.call(r,eC),t=r[eC];try{r[eC]=void 0;var i=!0}catch{}var n=uSe.call(r);return i&&(e?r[eC]=t:delete r[eC]),n}C8.exports=gSe});var I8=w((Ztt,E8)=>{var fSe=Object.prototype,hSe=fSe.toString;function pSe(r){return hSe.call(r)}E8.exports=pSe});var Ic=w(($tt,B8)=>{var y8=Ec(),dSe=m8(),CSe=I8(),mSe="[object Null]",ESe="[object Undefined]",w8=y8?y8.toStringTag:void 0;function ISe(r){return r==null?r===void 0?ESe:mSe:w8&&w8 in Object(r)?dSe(r):CSe(r)}B8.exports=ISe});var Go=w((ert,Q8)=>{function ySe(r){return r!=null&&typeof r=="object"}Q8.exports=ySe});var tC=w((trt,b8)=>{var wSe=Ic(),BSe=Go(),QSe="[object Symbol]";function bSe(r){return typeof r=="symbol"||BSe(r)&&wSe(r)==QSe}b8.exports=bSe});var P8=w((rrt,x8)=>{var SSe=f8(),S8=bn(),vSe=tC(),v8=0/0,xSe=/^[-+]0x[0-9a-f]+$/i,PSe=/^0b[01]+$/i,DSe=/^0o[0-7]+$/i,kSe=parseInt;function RSe(r){if(typeof r=="number")return r;if(vSe(r))return v8;if(S8(r)){var e=typeof r.valueOf=="function"?r.valueOf():r;r=S8(e)?e+"":e}if(typeof r!="string")return r===0?r:+r;r=SSe(r);var t=PSe.test(r);return t||DSe.test(r)?kSe(r.slice(2),t?2:8):xSe.test(r)?v8:+r}x8.exports=RSe});var R8=w((irt,k8)=>{var FSe=bn(),RD=l8(),D8=P8(),NSe="Expected a function",LSe=Math.max,TSe=Math.min;function OSe(r,e,t){var i,n,s,o,a,l,c=0,u=!1,g=!1,f=!0;if(typeof r!="function")throw new TypeError(NSe);e=D8(e)||0,FSe(t)&&(u=!!t.leading,g="maxWait"in t,s=g?LSe(D8(t.maxWait)||0,e):s,f="trailing"in t?!!t.trailing:f);function h(j){var $=i,V=n;return i=n=void 0,c=j,o=r.apply(V,$),o}function p(j){return c=j,a=setTimeout(B,e),u?h(j):o}function C(j){var $=j-l,V=j-c,W=e-$;return g?TSe(W,s-V):W}function y(j){var $=j-l,V=j-c;return l===void 0||$>=e||$<0||g&&V>=s}function B(){var j=RD();if(y(j))return v(j);a=setTimeout(B,C(j))}function v(j){return a=void 0,f&&i?h(j):(i=n=void 0,o)}function D(){a!==void 0&&clearTimeout(a),c=0,i=l=n=a=void 0}function L(){return a===void 0?o:v(RD())}function H(){var j=RD(),$=y(j);if(i=arguments,n=this,l=j,$){if(a===void 0)return p(l);if(g)return clearTimeout(a),a=setTimeout(B,e),h(l)}return a===void 0&&(a=setTimeout(B,e)),o}return H.cancel=D,H.flush=L,H}k8.exports=OSe});var N8=w((nrt,F8)=>{var MSe=R8(),KSe=bn(),USe="Expected a function";function HSe(r,e,t){var i=!0,n=!0;if(typeof r!="function")throw new TypeError(USe);return KSe(t)&&(i="leading"in t?!!t.leading:i,n="trailing"in t?!!t.trailing:n),MSe(r,e,{leading:i,maxWait:e,trailing:n})}F8.exports=HSe});var Ta=w((La,kw)=>{"use strict";Object.defineProperty(La,"__esModule",{value:!0});var Y8=["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];function eve(r){return Y8.includes(r)}var tve=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","FormData","URLSearchParams","HTMLElement",...Y8];function rve(r){return tve.includes(r)}var ive=["null","undefined","string","number","bigint","boolean","symbol"];function nve(r){return ive.includes(r)}function Sf(r){return e=>typeof e===r}var{toString:j8}=Object.prototype,oC=r=>{let e=j8.call(r).slice(8,-1);if(/HTML\w+Element/.test(e)&&X.domElement(r))return"HTMLElement";if(rve(e))return e},lr=r=>e=>oC(e)===r;function X(r){if(r===null)return"null";switch(typeof r){case"undefined":return"undefined";case"string":return"string";case"number":return"number";case"boolean":return"boolean";case"function":return"Function";case"bigint":return"bigint";case"symbol":return"symbol";default:}if(X.observable(r))return"Observable";if(X.array(r))return"Array";if(X.buffer(r))return"Buffer";let e=oC(r);if(e)return e;if(r instanceof String||r instanceof Boolean||r instanceof Number)throw new TypeError("Please don't use object wrappers for primitive types");return"Object"}X.undefined=Sf("undefined");X.string=Sf("string");var sve=Sf("number");X.number=r=>sve(r)&&!X.nan(r);X.bigint=Sf("bigint");X.function_=Sf("function");X.null_=r=>r===null;X.class_=r=>X.function_(r)&&r.toString().startsWith("class ");X.boolean=r=>r===!0||r===!1;X.symbol=Sf("symbol");X.numericString=r=>X.string(r)&&!X.emptyStringOrWhitespace(r)&&!Number.isNaN(Number(r));X.array=(r,e)=>Array.isArray(r)?X.function_(e)?r.every(e):!0:!1;X.buffer=r=>{var e,t,i,n;return(n=(i=(t=(e=r)===null||e===void 0?void 0:e.constructor)===null||t===void 0?void 0:t.isBuffer)===null||i===void 0?void 0:i.call(t,r))!==null&&n!==void 0?n:!1};X.nullOrUndefined=r=>X.null_(r)||X.undefined(r);X.object=r=>!X.null_(r)&&(typeof r=="object"||X.function_(r));X.iterable=r=>{var e;return X.function_((e=r)===null||e===void 0?void 0:e[Symbol.iterator])};X.asyncIterable=r=>{var e;return X.function_((e=r)===null||e===void 0?void 0:e[Symbol.asyncIterator])};X.generator=r=>X.iterable(r)&&X.function_(r.next)&&X.function_(r.throw);X.asyncGenerator=r=>X.asyncIterable(r)&&X.function_(r.next)&&X.function_(r.throw);X.nativePromise=r=>lr("Promise")(r);var ove=r=>{var e,t;return X.function_((e=r)===null||e===void 0?void 0:e.then)&&X.function_((t=r)===null||t===void 0?void 0:t.catch)};X.promise=r=>X.nativePromise(r)||ove(r);X.generatorFunction=lr("GeneratorFunction");X.asyncGeneratorFunction=r=>oC(r)==="AsyncGeneratorFunction";X.asyncFunction=r=>oC(r)==="AsyncFunction";X.boundFunction=r=>X.function_(r)&&!r.hasOwnProperty("prototype");X.regExp=lr("RegExp");X.date=lr("Date");X.error=lr("Error");X.map=r=>lr("Map")(r);X.set=r=>lr("Set")(r);X.weakMap=r=>lr("WeakMap")(r);X.weakSet=r=>lr("WeakSet")(r);X.int8Array=lr("Int8Array");X.uint8Array=lr("Uint8Array");X.uint8ClampedArray=lr("Uint8ClampedArray");X.int16Array=lr("Int16Array");X.uint16Array=lr("Uint16Array");X.int32Array=lr("Int32Array");X.uint32Array=lr("Uint32Array");X.float32Array=lr("Float32Array");X.float64Array=lr("Float64Array");X.bigInt64Array=lr("BigInt64Array");X.bigUint64Array=lr("BigUint64Array");X.arrayBuffer=lr("ArrayBuffer");X.sharedArrayBuffer=lr("SharedArrayBuffer");X.dataView=lr("DataView");X.directInstanceOf=(r,e)=>Object.getPrototypeOf(r)===e.prototype;X.urlInstance=r=>lr("URL")(r);X.urlString=r=>{if(!X.string(r))return!1;try{return new URL(r),!0}catch{return!1}};X.truthy=r=>Boolean(r);X.falsy=r=>!r;X.nan=r=>Number.isNaN(r);X.primitive=r=>X.null_(r)||nve(typeof r);X.integer=r=>Number.isInteger(r);X.safeInteger=r=>Number.isSafeInteger(r);X.plainObject=r=>{if(j8.call(r)!=="[object Object]")return!1;let e=Object.getPrototypeOf(r);return e===null||e===Object.getPrototypeOf({})};X.typedArray=r=>eve(oC(r));var ave=r=>X.safeInteger(r)&&r>=0;X.arrayLike=r=>!X.nullOrUndefined(r)&&!X.function_(r)&&ave(r.length);X.inRange=(r,e)=>{if(X.number(e))return r>=Math.min(0,e)&&r<=Math.max(e,0);if(X.array(e)&&e.length===2)return r>=Math.min(...e)&&r<=Math.max(...e);throw new TypeError(`Invalid range: ${JSON.stringify(e)}`)};var Ave=1,lve=["innerHTML","ownerDocument","style","attributes","nodeValue"];X.domElement=r=>X.object(r)&&r.nodeType===Ave&&X.string(r.nodeName)&&!X.plainObject(r)&&lve.every(e=>e in r);X.observable=r=>{var e,t,i,n;return r?r===((t=(e=r)[Symbol.observable])===null||t===void 0?void 0:t.call(e))||r===((n=(i=r)["@@observable"])===null||n===void 0?void 0:n.call(i)):!1};X.nodeStream=r=>X.object(r)&&X.function_(r.pipe)&&!X.observable(r);X.infinite=r=>r===1/0||r===-1/0;var q8=r=>e=>X.integer(e)&&Math.abs(e%2)===r;X.evenInteger=q8(0);X.oddInteger=q8(1);X.emptyArray=r=>X.array(r)&&r.length===0;X.nonEmptyArray=r=>X.array(r)&&r.length>0;X.emptyString=r=>X.string(r)&&r.length===0;X.nonEmptyString=r=>X.string(r)&&r.length>0;var cve=r=>X.string(r)&&!/\S/.test(r);X.emptyStringOrWhitespace=r=>X.emptyString(r)||cve(r);X.emptyObject=r=>X.object(r)&&!X.map(r)&&!X.set(r)&&Object.keys(r).length===0;X.nonEmptyObject=r=>X.object(r)&&!X.map(r)&&!X.set(r)&&Object.keys(r).length>0;X.emptySet=r=>X.set(r)&&r.size===0;X.nonEmptySet=r=>X.set(r)&&r.size>0;X.emptyMap=r=>X.map(r)&&r.size===0;X.nonEmptyMap=r=>X.map(r)&&r.size>0;X.propertyKey=r=>X.any([X.string,X.number,X.symbol],r);X.formData=r=>lr("FormData")(r);X.urlSearchParams=r=>lr("URLSearchParams")(r);var J8=(r,e,t)=>{if(!X.function_(e))throw new TypeError(`Invalid predicate: ${JSON.stringify(e)}`);if(t.length===0)throw new TypeError("Invalid number of values");return r.call(t,e)};X.any=(r,...e)=>(X.array(r)?r:[r]).some(i=>J8(Array.prototype.some,i,e));X.all=(r,...e)=>J8(Array.prototype.every,r,e);var Ye=(r,e,t,i={})=>{if(!r){let{multipleValues:n}=i,s=n?`received values of types ${[...new Set(t.map(o=>`\`${X(o)}\``))].join(", ")}`:`received value of type \`${X(t)}\``;throw new TypeError(`Expected value which is \`${e}\`, ${s}.`)}};La.assert={undefined:r=>Ye(X.undefined(r),"undefined",r),string:r=>Ye(X.string(r),"string",r),number:r=>Ye(X.number(r),"number",r),bigint:r=>Ye(X.bigint(r),"bigint",r),function_:r=>Ye(X.function_(r),"Function",r),null_:r=>Ye(X.null_(r),"null",r),class_:r=>Ye(X.class_(r),"Class",r),boolean:r=>Ye(X.boolean(r),"boolean",r),symbol:r=>Ye(X.symbol(r),"symbol",r),numericString:r=>Ye(X.numericString(r),"string with a number",r),array:(r,e)=>{Ye(X.array(r),"Array",r),e&&r.forEach(e)},buffer:r=>Ye(X.buffer(r),"Buffer",r),nullOrUndefined:r=>Ye(X.nullOrUndefined(r),"null or undefined",r),object:r=>Ye(X.object(r),"Object",r),iterable:r=>Ye(X.iterable(r),"Iterable",r),asyncIterable:r=>Ye(X.asyncIterable(r),"AsyncIterable",r),generator:r=>Ye(X.generator(r),"Generator",r),asyncGenerator:r=>Ye(X.asyncGenerator(r),"AsyncGenerator",r),nativePromise:r=>Ye(X.nativePromise(r),"native Promise",r),promise:r=>Ye(X.promise(r),"Promise",r),generatorFunction:r=>Ye(X.generatorFunction(r),"GeneratorFunction",r),asyncGeneratorFunction:r=>Ye(X.asyncGeneratorFunction(r),"AsyncGeneratorFunction",r),asyncFunction:r=>Ye(X.asyncFunction(r),"AsyncFunction",r),boundFunction:r=>Ye(X.boundFunction(r),"Function",r),regExp:r=>Ye(X.regExp(r),"RegExp",r),date:r=>Ye(X.date(r),"Date",r),error:r=>Ye(X.error(r),"Error",r),map:r=>Ye(X.map(r),"Map",r),set:r=>Ye(X.set(r),"Set",r),weakMap:r=>Ye(X.weakMap(r),"WeakMap",r),weakSet:r=>Ye(X.weakSet(r),"WeakSet",r),int8Array:r=>Ye(X.int8Array(r),"Int8Array",r),uint8Array:r=>Ye(X.uint8Array(r),"Uint8Array",r),uint8ClampedArray:r=>Ye(X.uint8ClampedArray(r),"Uint8ClampedArray",r),int16Array:r=>Ye(X.int16Array(r),"Int16Array",r),uint16Array:r=>Ye(X.uint16Array(r),"Uint16Array",r),int32Array:r=>Ye(X.int32Array(r),"Int32Array",r),uint32Array:r=>Ye(X.uint32Array(r),"Uint32Array",r),float32Array:r=>Ye(X.float32Array(r),"Float32Array",r),float64Array:r=>Ye(X.float64Array(r),"Float64Array",r),bigInt64Array:r=>Ye(X.bigInt64Array(r),"BigInt64Array",r),bigUint64Array:r=>Ye(X.bigUint64Array(r),"BigUint64Array",r),arrayBuffer:r=>Ye(X.arrayBuffer(r),"ArrayBuffer",r),sharedArrayBuffer:r=>Ye(X.sharedArrayBuffer(r),"SharedArrayBuffer",r),dataView:r=>Ye(X.dataView(r),"DataView",r),urlInstance:r=>Ye(X.urlInstance(r),"URL",r),urlString:r=>Ye(X.urlString(r),"string with a URL",r),truthy:r=>Ye(X.truthy(r),"truthy",r),falsy:r=>Ye(X.falsy(r),"falsy",r),nan:r=>Ye(X.nan(r),"NaN",r),primitive:r=>Ye(X.primitive(r),"primitive",r),integer:r=>Ye(X.integer(r),"integer",r),safeInteger:r=>Ye(X.safeInteger(r),"integer",r),plainObject:r=>Ye(X.plainObject(r),"plain object",r),typedArray:r=>Ye(X.typedArray(r),"TypedArray",r),arrayLike:r=>Ye(X.arrayLike(r),"array-like",r),domElement:r=>Ye(X.domElement(r),"HTMLElement",r),observable:r=>Ye(X.observable(r),"Observable",r),nodeStream:r=>Ye(X.nodeStream(r),"Node.js Stream",r),infinite:r=>Ye(X.infinite(r),"infinite number",r),emptyArray:r=>Ye(X.emptyArray(r),"empty array",r),nonEmptyArray:r=>Ye(X.nonEmptyArray(r),"non-empty array",r),emptyString:r=>Ye(X.emptyString(r),"empty string",r),nonEmptyString:r=>Ye(X.nonEmptyString(r),"non-empty string",r),emptyStringOrWhitespace:r=>Ye(X.emptyStringOrWhitespace(r),"empty string or whitespace",r),emptyObject:r=>Ye(X.emptyObject(r),"empty object",r),nonEmptyObject:r=>Ye(X.nonEmptyObject(r),"non-empty object",r),emptySet:r=>Ye(X.emptySet(r),"empty set",r),nonEmptySet:r=>Ye(X.nonEmptySet(r),"non-empty set",r),emptyMap:r=>Ye(X.emptyMap(r),"empty map",r),nonEmptyMap:r=>Ye(X.nonEmptyMap(r),"non-empty map",r),propertyKey:r=>Ye(X.propertyKey(r),"PropertyKey",r),formData:r=>Ye(X.formData(r),"FormData",r),urlSearchParams:r=>Ye(X.urlSearchParams(r),"URLSearchParams",r),evenInteger:r=>Ye(X.evenInteger(r),"even integer",r),oddInteger:r=>Ye(X.oddInteger(r),"odd integer",r),directInstanceOf:(r,e)=>Ye(X.directInstanceOf(r,e),"T",r),inRange:(r,e)=>Ye(X.inRange(r,e),"in range",r),any:(r,...e)=>Ye(X.any(r,...e),"predicate returns truthy for any value",e,{multipleValues:!0}),all:(r,...e)=>Ye(X.all(r,...e),"predicate returns truthy for all values",e,{multipleValues:!0})};Object.defineProperties(X,{class:{value:X.class_},function:{value:X.function_},null:{value:X.null_}});Object.defineProperties(La.assert,{class:{value:La.assert.class_},function:{value:La.assert.function_},null:{value:La.assert.null_}});La.default=X;kw.exports=X;kw.exports.default=X;kw.exports.assert=La.assert});var W8=w((Yrt,ek)=>{"use strict";var Rw=class extends Error{constructor(e){super(e||"Promise was canceled"),this.name="CancelError"}get isCanceled(){return!0}},vf=class{static fn(e){return(...t)=>new vf((i,n,s)=>{t.push(s),e(...t).then(i,n)})}constructor(e){this._cancelHandlers=[],this._isPending=!0,this._isCanceled=!1,this._rejectOnCancel=!0,this._promise=new Promise((t,i)=>{this._reject=i;let n=a=>{this._isPending=!1,t(a)},s=a=>{this._isPending=!1,i(a)},o=a=>{if(!this._isPending)throw new Error("The `onCancel` handler was attached after the promise settled.");this._cancelHandlers.push(a)};return Object.defineProperties(o,{shouldReject:{get:()=>this._rejectOnCancel,set:a=>{this._rejectOnCancel=a}}}),e(n,s,o)})}then(e,t){return this._promise.then(e,t)}catch(e){return this._promise.catch(e)}finally(e){return this._promise.finally(e)}cancel(e){if(!(!this._isPending||this._isCanceled)){if(this._cancelHandlers.length>0)try{for(let t of this._cancelHandlers)t()}catch(t){this._reject(t)}this._isCanceled=!0,this._rejectOnCancel&&this._reject(new Rw(e))}}get isCanceled(){return this._isCanceled}};Object.setPrototypeOf(vf.prototype,Promise.prototype);ek.exports=vf;ek.exports.CancelError=Rw});var z8=w((rk,ik)=>{"use strict";Object.defineProperty(rk,"__esModule",{value:!0});var uve=J("tls"),tk=(r,e)=>{let t;typeof e=="function"?t={connect:e}:t=e;let i=typeof t.connect=="function",n=typeof t.secureConnect=="function",s=typeof t.close=="function",o=()=>{i&&t.connect(),r instanceof uve.TLSSocket&&n&&(r.authorized?t.secureConnect():r.authorizationError||r.once("secureConnect",t.secureConnect)),s&&r.once("close",t.close)};r.writable&&!r.connecting?o():r.connecting?r.once("connect",o):r.destroyed&&s&&t.close(r._hadError)};rk.default=tk;ik.exports=tk;ik.exports.default=tk});var V8=w((sk,ok)=>{"use strict";Object.defineProperty(sk,"__esModule",{value:!0});var gve=z8(),fve=Number(process.versions.node.split(".")[0]),nk=r=>{let e={start:Date.now(),socket:void 0,lookup:void 0,connect:void 0,secureConnect:void 0,upload:void 0,response:void 0,end:void 0,error:void 0,abort:void 0,phases:{wait:void 0,dns:void 0,tcp:void 0,tls:void 0,request:void 0,firstByte:void 0,download:void 0,total:void 0}};r.timings=e;let t=o=>{let a=o.emit.bind(o);o.emit=(l,...c)=>(l==="error"&&(e.error=Date.now(),e.phases.total=e.error-e.start,o.emit=a),a(l,...c))};t(r),r.prependOnceListener("abort",()=>{e.abort=Date.now(),(!e.response||fve>=13)&&(e.phases.total=Date.now()-e.start)});let i=o=>{e.socket=Date.now(),e.phases.wait=e.socket-e.start;let a=()=>{e.lookup=Date.now(),e.phases.dns=e.lookup-e.socket};o.prependOnceListener("lookup",a),gve.default(o,{connect:()=>{e.connect=Date.now(),e.lookup===void 0&&(o.removeListener("lookup",a),e.lookup=e.connect,e.phases.dns=e.lookup-e.socket),e.phases.tcp=e.connect-e.lookup},secureConnect:()=>{e.secureConnect=Date.now(),e.phases.tls=e.secureConnect-e.connect}})};r.socket?i(r.socket):r.prependOnceListener("socket",i);let n=()=>{var o;e.upload=Date.now(),e.phases.request=e.upload-(o=e.secureConnect,o!=null?o:e.connect)};return(()=>typeof r.writableFinished=="boolean"?r.writableFinished:r.finished&&r.outputSize===0&&(!r.socket||r.socket.writableLength===0))()?n():r.prependOnceListener("finish",n),r.prependOnceListener("response",o=>{e.response=Date.now(),e.phases.firstByte=e.response-e.upload,o.timings=e,t(o),o.prependOnceListener("end",()=>{e.end=Date.now(),e.phases.download=e.end-e.response,e.phases.total=e.end-e.start})}),e};sk.default=nk;ok.exports=nk;ok.exports.default=nk});var rz=w((jrt,lk)=>{"use strict";var{V4MAPPED:hve,ADDRCONFIG:pve,ALL:tz,promises:{Resolver:X8},lookup:dve}=J("dns"),{promisify:ak}=J("util"),Cve=J("os"),xf=Symbol("cacheableLookupCreateConnection"),Ak=Symbol("cacheableLookupInstance"),_8=Symbol("expires"),mve=typeof tz=="number",Z8=r=>{if(!(r&&typeof r.createConnection=="function"))throw new Error("Expected an Agent instance as the first argument")},Eve=r=>{for(let e of r)e.family!==6&&(e.address=`::ffff:${e.address}`,e.family=6)},$8=()=>{let r=!1,e=!1;for(let t of Object.values(Cve.networkInterfaces()))for(let i of t)if(!i.internal&&(i.family==="IPv6"?e=!0:r=!0,r&&e))return{has4:r,has6:e};return{has4:r,has6:e}},Ive=r=>Symbol.iterator in r,ez={ttl:!0},yve={all:!0},Fw=class{constructor({cache:e=new Map,maxTtl:t=1/0,fallbackDuration:i=3600,errorTtl:n=.15,resolver:s=new X8,lookup:o=dve}={}){if(this.maxTtl=t,this.errorTtl=n,this._cache=e,this._resolver=s,this._dnsLookup=ak(o),this._resolver instanceof X8?(this._resolve4=this._resolver.resolve4.bind(this._resolver),this._resolve6=this._resolver.resolve6.bind(this._resolver)):(this._resolve4=ak(this._resolver.resolve4.bind(this._resolver)),this._resolve6=ak(this._resolver.resolve6.bind(this._resolver))),this._iface=$8(),this._pending={},this._nextRemovalTime=!1,this._hostnamesToFallback=new Set,i<1)this._fallback=!1;else{this._fallback=!0;let a=setInterval(()=>{this._hostnamesToFallback.clear()},i*1e3);a.unref&&a.unref()}this.lookup=this.lookup.bind(this),this.lookupAsync=this.lookupAsync.bind(this)}set servers(e){this.clear(),this._resolver.setServers(e)}get servers(){return this._resolver.getServers()}lookup(e,t,i){if(typeof t=="function"?(i=t,t={}):typeof t=="number"&&(t={family:t}),!i)throw new Error("Callback must be a function.");this.lookupAsync(e,t).then(n=>{t.all?i(null,n):i(null,n.address,n.family,n.expires,n.ttl)},i)}async lookupAsync(e,t={}){typeof t=="number"&&(t={family:t});let i=await this.query(e);if(t.family===6){let n=i.filter(s=>s.family===6);t.hints&hve&&(mve&&t.hints&tz||n.length===0)?Eve(i):i=n}else t.family===4&&(i=i.filter(n=>n.family===4));if(t.hints&pve){let{_iface:n}=this;i=i.filter(s=>s.family===6?n.has6:n.has4)}if(i.length===0){let n=new Error(`cacheableLookup ENOTFOUND ${e}`);throw n.code="ENOTFOUND",n.hostname=e,n}return t.all?i:i[0]}async query(e){let t=await this._cache.get(e);if(!t){let i=this._pending[e];if(i)t=await i;else{let n=this.queryAndCache(e);this._pending[e]=n,t=await n}}return t=t.map(i=>({...i})),t}async _resolve(e){let t=async c=>{try{return await c}catch(u){if(u.code==="ENODATA"||u.code==="ENOTFOUND")return[];throw u}},[i,n]=await Promise.all([this._resolve4(e,ez),this._resolve6(e,ez)].map(c=>t(c))),s=0,o=0,a=0,l=Date.now();for(let c of i)c.family=4,c.expires=l+c.ttl*1e3,s=Math.max(s,c.ttl);for(let c of n)c.family=6,c.expires=l+c.ttl*1e3,o=Math.max(o,c.ttl);return i.length>0?n.length>0?a=Math.min(s,o):a=s:a=o,{entries:[...i,...n],cacheTtl:a}}async _lookup(e){try{return{entries:await this._dnsLookup(e,{all:!0}),cacheTtl:0}}catch{return{entries:[],cacheTtl:0}}}async _set(e,t,i){if(this.maxTtl>0&&i>0){i=Math.min(i,this.maxTtl)*1e3,t[_8]=Date.now()+i;try{await this._cache.set(e,t,i)}catch(n){this.lookupAsync=async()=>{let s=new Error("Cache Error. Please recreate the CacheableLookup instance.");throw s.cause=n,s}}Ive(this._cache)&&this._tick(i)}}async queryAndCache(e){if(this._hostnamesToFallback.has(e))return this._dnsLookup(e,yve);try{let t=await this._resolve(e);t.entries.length===0&&this._fallback&&(t=await this._lookup(e),t.entries.length!==0&&this._hostnamesToFallback.add(e));let i=t.entries.length===0?this.errorTtl:t.cacheTtl;return await this._set(e,t.entries,i),delete this._pending[e],t.entries}catch(t){throw delete this._pending[e],t}}_tick(e){let t=this._nextRemovalTime;(!t||e{this._nextRemovalTime=!1;let i=1/0,n=Date.now();for(let[s,o]of this._cache){let a=o[_8];n>=a?this._cache.delete(s):a("lookup"in t||(t.lookup=this.lookup),e[xf](t,i))}uninstall(e){if(Z8(e),e[xf]){if(e[Ak]!==this)throw new Error("The agent is not owned by this CacheableLookup instance");e.createConnection=e[xf],delete e[xf],delete e[Ak]}}updateInterfaceInfo(){let{_iface:e}=this;this._iface=$8(),(e.has4&&!this._iface.has4||e.has6&&!this._iface.has6)&&this._cache.clear()}clear(e){if(e){this._cache.delete(e);return}this._cache.clear()}};lk.exports=Fw;lk.exports.default=Fw});var sz=w((qrt,ck)=>{"use strict";var wve=typeof URL>"u"?J("url").URL:URL,Bve="text/plain",Qve="us-ascii",iz=(r,e)=>e.some(t=>t instanceof RegExp?t.test(r):t===r),bve=(r,{stripHash:e})=>{let t=r.match(/^data:([^,]*?),([^#]*?)(?:#(.*))?$/);if(!t)throw new Error(`Invalid URL: ${r}`);let i=t[1].split(";"),n=t[2],s=e?"":t[3],o=!1;i[i.length-1]==="base64"&&(i.pop(),o=!0);let a=(i.shift()||"").toLowerCase(),c=[...i.map(u=>{let[g,f=""]=u.split("=").map(h=>h.trim());return g==="charset"&&(f=f.toLowerCase(),f===Qve)?"":`${g}${f?`=${f}`:""}`}).filter(Boolean)];return o&&c.push("base64"),(c.length!==0||a&&a!==Bve)&&c.unshift(a),`data:${c.join(";")},${o?n.trim():n}${s?`#${s}`:""}`},nz=(r,e)=>{if(e={defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0,...e},Reflect.has(e,"normalizeHttps"))throw new Error("options.normalizeHttps is renamed to options.forceHttp");if(Reflect.has(e,"normalizeHttp"))throw new Error("options.normalizeHttp is renamed to options.forceHttps");if(Reflect.has(e,"stripFragment"))throw new Error("options.stripFragment is renamed to options.stripHash");if(r=r.trim(),/^data:/i.test(r))return bve(r,e);let t=r.startsWith("//");!t&&/^\.*\//.test(r)||(r=r.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,e.defaultProtocol));let n=new wve(r);if(e.forceHttp&&e.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(e.forceHttp&&n.protocol==="https:"&&(n.protocol="http:"),e.forceHttps&&n.protocol==="http:"&&(n.protocol="https:"),e.stripAuthentication&&(n.username="",n.password=""),e.stripHash&&(n.hash=""),n.pathname&&(n.pathname=n.pathname.replace(/((?!:).|^)\/{2,}/g,(s,o)=>/^(?!\/)/g.test(o)?`${o}/`:"/")),n.pathname&&(n.pathname=decodeURI(n.pathname)),e.removeDirectoryIndex===!0&&(e.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(e.removeDirectoryIndex)&&e.removeDirectoryIndex.length>0){let s=n.pathname.split("/"),o=s[s.length-1];iz(o,e.removeDirectoryIndex)&&(s=s.slice(0,s.length-1),n.pathname=s.slice(1).join("/")+"/")}if(n.hostname&&(n.hostname=n.hostname.replace(/\.$/,""),e.stripWWW&&/^www\.([a-z\-\d]{2,63})\.([a-z.]{2,5})$/.test(n.hostname)&&(n.hostname=n.hostname.replace(/^www\./,""))),Array.isArray(e.removeQueryParameters))for(let s of[...n.searchParams.keys()])iz(s,e.removeQueryParameters)&&n.searchParams.delete(s);return e.sortQueryParameters&&n.searchParams.sort(),e.removeTrailingSlash&&(n.pathname=n.pathname.replace(/\/$/,"")),r=n.toString(),(e.removeTrailingSlash||n.pathname==="/")&&n.hash===""&&(r=r.replace(/\/$/,"")),t&&!e.normalizeProtocol&&(r=r.replace(/^http:\/\//,"//")),e.stripProtocol&&(r=r.replace(/^(?:https?:)?\/\//,"")),r};ck.exports=nz;ck.exports.default=nz});var Az=w((Jrt,az)=>{az.exports=oz;function oz(r,e){if(r&&e)return oz(r)(e);if(typeof r!="function")throw new TypeError("need wrapper function");return Object.keys(r).forEach(function(i){t[i]=r[i]}),t;function t(){for(var i=new Array(arguments.length),n=0;n{var lz=Az();uk.exports=lz(Nw);uk.exports.strict=lz(cz);Nw.proto=Nw(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return Nw(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return cz(this)},configurable:!0})});function Nw(r){var e=function(){return e.called?e.value:(e.called=!0,e.value=r.apply(this,arguments))};return e.called=!1,e}function cz(r){var e=function(){if(e.called)throw new Error(e.onceError);return e.called=!0,e.value=r.apply(this,arguments)},t=r.name||"Function wrapped with `once`";return e.onceError=t+" shouldn't be called more than once",e.called=!1,e}});var fk=w((zrt,gz)=>{var Sve=gk(),vve=function(){},xve=function(r){return r.setHeader&&typeof r.abort=="function"},Pve=function(r){return r.stdio&&Array.isArray(r.stdio)&&r.stdio.length===3},uz=function(r,e,t){if(typeof e=="function")return uz(r,null,e);e||(e={}),t=Sve(t||vve);var i=r._writableState,n=r._readableState,s=e.readable||e.readable!==!1&&r.readable,o=e.writable||e.writable!==!1&&r.writable,a=function(){r.writable||l()},l=function(){o=!1,s||t.call(r)},c=function(){s=!1,o||t.call(r)},u=function(p){t.call(r,p?new Error("exited with error code: "+p):null)},g=function(p){t.call(r,p)},f=function(){if(s&&!(n&&n.ended))return t.call(r,new Error("premature close"));if(o&&!(i&&i.ended))return t.call(r,new Error("premature close"))},h=function(){r.req.on("finish",l)};return xve(r)?(r.on("complete",l),r.on("abort",f),r.req?h():r.on("request",h)):o&&!i&&(r.on("end",a),r.on("close",a)),Pve(r)&&r.on("exit",u),r.on("end",c),r.on("finish",l),e.error!==!1&&r.on("error",g),r.on("close",f),function(){r.removeListener("complete",l),r.removeListener("abort",f),r.removeListener("request",h),r.req&&r.req.removeListener("finish",l),r.removeListener("end",a),r.removeListener("close",a),r.removeListener("finish",l),r.removeListener("exit",u),r.removeListener("end",c),r.removeListener("error",g),r.removeListener("close",f)}};gz.exports=uz});var pz=w((Vrt,hz)=>{var Dve=gk(),kve=fk(),hk=J("fs"),aC=function(){},Rve=/^v?\.0/.test(process.version),Lw=function(r){return typeof r=="function"},Fve=function(r){return!Rve||!hk?!1:(r instanceof(hk.ReadStream||aC)||r instanceof(hk.WriteStream||aC))&&Lw(r.close)},Nve=function(r){return r.setHeader&&Lw(r.abort)},Lve=function(r,e,t,i){i=Dve(i);var n=!1;r.on("close",function(){n=!0}),kve(r,{readable:e,writable:t},function(o){if(o)return i(o);n=!0,i()});var s=!1;return function(o){if(!n&&!s){if(s=!0,Fve(r))return r.close(aC);if(Nve(r))return r.abort();if(Lw(r.destroy))return r.destroy();i(o||new Error("stream was destroyed"))}}},fz=function(r){r()},Tve=function(r,e){return r.pipe(e)},Ove=function(){var r=Array.prototype.slice.call(arguments),e=Lw(r[r.length-1]||aC)&&r.pop()||aC;if(Array.isArray(r[0])&&(r=r[0]),r.length<2)throw new Error("pump requires two streams per minimum");var t,i=r.map(function(n,s){var o=s0;return Lve(n,o,a,function(l){t||(t=l),l&&i.forEach(fz),!o&&(i.forEach(fz),e(t))})});return r.reduce(Tve)};hz.exports=Ove});var Cz=w((Xrt,dz)=>{"use strict";var{PassThrough:Mve}=J("stream");dz.exports=r=>{r={...r};let{array:e}=r,{encoding:t}=r,i=t==="buffer",n=!1;e?n=!(t||i):t=t||"utf8",i&&(t=null);let s=new Mve({objectMode:n});t&&s.setEncoding(t);let o=0,a=[];return s.on("data",l=>{a.push(l),n?o=a.length:o+=l.length}),s.getBufferedValue=()=>e?a:i?Buffer.concat(a,o):a.join(""),s.getBufferedLength=()=>o,s}});var mz=w((_rt,Pf)=>{"use strict";var Kve=pz(),Uve=Cz(),Tw=class extends Error{constructor(){super("maxBuffer exceeded"),this.name="MaxBufferError"}};async function Ow(r,e){if(!r)return Promise.reject(new Error("Expected a stream"));e={maxBuffer:1/0,...e};let{maxBuffer:t}=e,i;return await new Promise((n,s)=>{let o=a=>{a&&(a.bufferedData=i.getBufferedValue()),s(a)};i=Kve(r,Uve(e),a=>{if(a){o(a);return}n()}),i.on("data",()=>{i.getBufferedLength()>t&&o(new Tw)})}),i.getBufferedValue()}Pf.exports=Ow;Pf.exports.default=Ow;Pf.exports.buffer=(r,e)=>Ow(r,{...e,encoding:"buffer"});Pf.exports.array=(r,e)=>Ow(r,{...e,array:!0});Pf.exports.MaxBufferError=Tw});var Iz=w(($rt,Ez)=>{"use strict";var Hve=[200,203,204,206,300,301,404,405,410,414,501],Gve=[200,203,204,300,301,302,303,307,308,404,405,410,414,501],Yve={date:!0,connection:!0,"keep-alive":!0,"proxy-authenticate":!0,"proxy-authorization":!0,te:!0,trailer:!0,"transfer-encoding":!0,upgrade:!0},jve={"content-length":!0,"content-encoding":!0,"transfer-encoding":!0,"content-range":!0};function pk(r){let e={};if(!r)return e;let t=r.trim().split(/\s*,\s*/);for(let i of t){let[n,s]=i.split(/\s*=\s*/,2);e[n]=s===void 0?!0:s.replace(/^"|"$/g,"")}return e}function qve(r){let e=[];for(let t in r){let i=r[t];e.push(i===!0?t:t+"="+i)}if(!!e.length)return e.join(", ")}Ez.exports=class{constructor(e,t,{shared:i,cacheHeuristic:n,immutableMinTimeToLive:s,ignoreCargoCult:o,trustServerDate:a,_fromObject:l}={}){if(l){this._fromObject(l);return}if(!t||!t.headers)throw Error("Response headers missing");this._assertRequestHasHeaders(e),this._responseTime=this.now(),this._isShared=i!==!1,this._trustServerDate=a!==void 0?a:!0,this._cacheHeuristic=n!==void 0?n:.1,this._immutableMinTtl=s!==void 0?s:24*3600*1e3,this._status="status"in t?t.status:200,this._resHeaders=t.headers,this._rescc=pk(t.headers["cache-control"]),this._method="method"in e?e.method:"GET",this._url=e.url,this._host=e.headers.host,this._noAuthorization=!e.headers.authorization,this._reqHeaders=t.headers.vary?e.headers:null,this._reqcc=pk(e.headers["cache-control"]),o&&"pre-check"in this._rescc&&"post-check"in this._rescc&&(delete this._rescc["pre-check"],delete this._rescc["post-check"],delete this._rescc["no-cache"],delete this._rescc["no-store"],delete this._rescc["must-revalidate"],this._resHeaders=Object.assign({},this._resHeaders,{"cache-control":qve(this._rescc)}),delete this._resHeaders.expires,delete this._resHeaders.pragma),!t.headers["cache-control"]&&/no-cache/.test(t.headers.pragma)&&(this._rescc["no-cache"]=!0)}now(){return Date.now()}storable(){return!!(!this._reqcc["no-store"]&&(this._method==="GET"||this._method==="HEAD"||this._method==="POST"&&this._hasExplicitExpiration())&&Gve.indexOf(this._status)!==-1&&!this._rescc["no-store"]&&(!this._isShared||!this._rescc.private)&&(!this._isShared||this._noAuthorization||this._allowsStoringAuthenticated())&&(this._resHeaders.expires||this._rescc.public||this._rescc["max-age"]||this._rescc["s-maxage"]||Hve.indexOf(this._status)!==-1))}_hasExplicitExpiration(){return this._isShared&&this._rescc["s-maxage"]||this._rescc["max-age"]||this._resHeaders.expires}_assertRequestHasHeaders(e){if(!e||!e.headers)throw Error("Request headers missing")}satisfiesWithoutRevalidation(e){this._assertRequestHasHeaders(e);let t=pk(e.headers["cache-control"]);return t["no-cache"]||/no-cache/.test(e.headers.pragma)||t["max-age"]&&this.age()>t["max-age"]||t["min-fresh"]&&this.timeToLive()<1e3*t["min-fresh"]||this.stale()&&!(t["max-stale"]&&!this._rescc["must-revalidate"]&&(t["max-stale"]===!0||t["max-stale"]>this.age()-this.maxAge()))?!1:this._requestMatches(e,!1)}_requestMatches(e,t){return(!this._url||this._url===e.url)&&this._host===e.headers.host&&(!e.method||this._method===e.method||t&&e.method==="HEAD")&&this._varyMatches(e)}_allowsStoringAuthenticated(){return this._rescc["must-revalidate"]||this._rescc.public||this._rescc["s-maxage"]}_varyMatches(e){if(!this._resHeaders.vary)return!0;if(this._resHeaders.vary==="*")return!1;let t=this._resHeaders.vary.trim().toLowerCase().split(/\s*,\s*/);for(let i of t)if(e.headers[i]!==this._reqHeaders[i])return!1;return!0}_copyWithoutHopByHopHeaders(e){let t={};for(let i in e)Yve[i]||(t[i]=e[i]);if(e.connection){let i=e.connection.trim().split(/\s*,\s*/);for(let n of i)delete t[n]}if(t.warning){let i=t.warning.split(/,/).filter(n=>!/^\s*1[0-9][0-9]/.test(n));i.length?t.warning=i.join(",").trim():delete t.warning}return t}responseHeaders(){let e=this._copyWithoutHopByHopHeaders(this._resHeaders),t=this.age();return t>3600*24&&!this._hasExplicitExpiration()&&this.maxAge()>3600*24&&(e.warning=(e.warning?`${e.warning}, `:"")+'113 - "rfc7234 5.5.4"'),e.age=`${Math.round(t)}`,e.date=new Date(this.now()).toUTCString(),e}date(){return this._trustServerDate?this._serverDate():this._responseTime}_serverDate(){let e=Date.parse(this._resHeaders.date);return isFinite(e)&&Math.abs(this._responseTime-e)<288e5?e:this._responseTime}age(){let e=Math.max(0,(this._responseTime-this.date())/1e3);if(this._resHeaders.age){let i=this._ageValue();i>e&&(e=i)}let t=(this.now()-this._responseTime)/1e3;return e+t}_ageValue(){let e=parseInt(this._resHeaders.age);return isFinite(e)?e:0}maxAge(){if(!this.storable()||this._rescc["no-cache"]||this._isShared&&this._resHeaders["set-cookie"]&&!this._rescc.public&&!this._rescc.immutable||this._resHeaders.vary==="*")return 0;if(this._isShared){if(this._rescc["proxy-revalidate"])return 0;if(this._rescc["s-maxage"])return parseInt(this._rescc["s-maxage"],10)}if(this._rescc["max-age"])return parseInt(this._rescc["max-age"],10);let e=this._rescc.immutable?this._immutableMinTtl:0,t=this._serverDate();if(this._resHeaders.expires){let i=Date.parse(this._resHeaders.expires);return Number.isNaN(i)||ii)return Math.max(e,(t-i)/1e3*this._cacheHeuristic)}return e}timeToLive(){return Math.max(0,this.maxAge()-this.age())*1e3}stale(){return this.maxAge()<=this.age()}static fromObject(e){return new this(void 0,void 0,{_fromObject:e})}_fromObject(e){if(this._responseTime)throw Error("Reinitialized");if(!e||e.v!==1)throw Error("Invalid serialization");this._responseTime=e.t,this._isShared=e.sh,this._cacheHeuristic=e.ch,this._immutableMinTtl=e.imm!==void 0?e.imm:24*3600*1e3,this._status=e.st,this._resHeaders=e.resh,this._rescc=e.rescc,this._method=e.m,this._url=e.u,this._host=e.h,this._noAuthorization=e.a,this._reqHeaders=e.reqh,this._reqcc=e.reqcc}toObject(){return{v:1,t:this._responseTime,sh:this._isShared,ch:this._cacheHeuristic,imm:this._immutableMinTtl,st:this._status,resh:this._resHeaders,rescc:this._rescc,m:this._method,u:this._url,h:this._host,a:this._noAuthorization,reqh:this._reqHeaders,reqcc:this._reqcc}}revalidationHeaders(e){this._assertRequestHasHeaders(e);let t=this._copyWithoutHopByHopHeaders(e.headers);if(delete t["if-range"],!this._requestMatches(e,!0)||!this.storable())return delete t["if-none-match"],delete t["if-modified-since"],t;if(this._resHeaders.etag&&(t["if-none-match"]=t["if-none-match"]?`${t["if-none-match"]}, ${this._resHeaders.etag}`:this._resHeaders.etag),t["accept-ranges"]||t["if-match"]||t["if-unmodified-since"]||this._method&&this._method!="GET"){if(delete t["if-modified-since"],t["if-none-match"]){let n=t["if-none-match"].split(/,/).filter(s=>!/^\s*W\//.test(s));n.length?t["if-none-match"]=n.join(",").trim():delete t["if-none-match"]}}else this._resHeaders["last-modified"]&&!t["if-modified-since"]&&(t["if-modified-since"]=this._resHeaders["last-modified"]);return t}revalidatedPolicy(e,t){if(this._assertRequestHasHeaders(e),!t||!t.headers)throw Error("Response headers missing");let i=!1;if(t.status!==void 0&&t.status!=304?i=!1:t.headers.etag&&!/^\s*W\//.test(t.headers.etag)?i=this._resHeaders.etag&&this._resHeaders.etag.replace(/^\s*W\//,"")===t.headers.etag:this._resHeaders.etag&&t.headers.etag?i=this._resHeaders.etag.replace(/^\s*W\//,"")===t.headers.etag.replace(/^\s*W\//,""):this._resHeaders["last-modified"]?i=this._resHeaders["last-modified"]===t.headers["last-modified"]:!this._resHeaders.etag&&!this._resHeaders["last-modified"]&&!t.headers.etag&&!t.headers["last-modified"]&&(i=!0),!i)return{policy:new this.constructor(e,t),modified:t.status!=304,matches:!1};let n={};for(let o in this._resHeaders)n[o]=o in t.headers&&!jve[o]?t.headers[o]:this._resHeaders[o];let s=Object.assign({},t,{status:this._status,method:this._method,headers:n});return{policy:new this.constructor(e,s,{shared:this._isShared,cacheHeuristic:this._cacheHeuristic,immutableMinTimeToLive:this._immutableMinTtl,trustServerDate:this._trustServerDate}),modified:!1,matches:!0}}}});var Mw=w((eit,yz)=>{"use strict";yz.exports=r=>{let e={};for(let[t,i]of Object.entries(r))e[t.toLowerCase()]=i;return e}});var Bz=w((tit,wz)=>{"use strict";var Jve=J("stream").Readable,Wve=Mw(),dk=class extends Jve{constructor(e,t,i,n){if(typeof e!="number")throw new TypeError("Argument `statusCode` should be a number");if(typeof t!="object")throw new TypeError("Argument `headers` should be an object");if(!(i instanceof Buffer))throw new TypeError("Argument `body` should be a buffer");if(typeof n!="string")throw new TypeError("Argument `url` should be a string");super(),this.statusCode=e,this.headers=Wve(t),this.body=i,this.url=n}_read(){this.push(this.body),this.push(null)}};wz.exports=dk});var bz=w((rit,Qz)=>{"use strict";var zve=["destroy","setTimeout","socket","headers","trailers","rawHeaders","statusCode","httpVersion","httpVersionMinor","httpVersionMajor","rawTrailers","statusMessage"];Qz.exports=(r,e)=>{let t=new Set(Object.keys(r).concat(zve));for(let i of t)i in e||(e[i]=typeof r[i]=="function"?r[i].bind(r):r[i])}});var vz=w((iit,Sz)=>{"use strict";var Vve=J("stream").PassThrough,Xve=bz(),_ve=r=>{if(!(r&&r.pipe))throw new TypeError("Parameter `response` must be a response stream.");let e=new Vve;return Xve(r,e),r.pipe(e)};Sz.exports=_ve});var xz=w(Ck=>{Ck.stringify=function r(e){if(typeof e>"u")return e;if(e&&Buffer.isBuffer(e))return JSON.stringify(":base64:"+e.toString("base64"));if(e&&e.toJSON&&(e=e.toJSON()),e&&typeof e=="object"){var t="",i=Array.isArray(e);t=i?"[":"{";var n=!0;for(var s in e){var o=typeof e[s]=="function"||!i&&typeof e[s]>"u";Object.hasOwnProperty.call(e,s)&&!o&&(n||(t+=","),n=!1,i?e[s]==null?t+="null":t+=r(e[s]):e[s]!==void 0&&(t+=r(s)+":"+r(e[s])))}return t+=i?"]":"}",t}else return typeof e=="string"?JSON.stringify(/^:/.test(e)?":"+e:e):typeof e>"u"?"null":JSON.stringify(e)};Ck.parse=function(r){return JSON.parse(r,function(e,t){return typeof t=="string"?/^:base64:/.test(t)?Buffer.from(t.substring(8),"base64"):/^:/.test(t)?t.substring(1):t:t})}});var kz=w((sit,Dz)=>{"use strict";var Zve=J("events"),Pz=xz(),$ve=r=>{let e={redis:"@keyv/redis",mongodb:"@keyv/mongo",mongo:"@keyv/mongo",sqlite:"@keyv/sqlite",postgresql:"@keyv/postgres",postgres:"@keyv/postgres",mysql:"@keyv/mysql"};if(r.adapter||r.uri){let t=r.adapter||/^[^:]*/.exec(r.uri)[0];return new(J(e[t]))(r)}return new Map},mk=class extends Zve{constructor(e,t){if(super(),this.opts=Object.assign({namespace:"keyv",serialize:Pz.stringify,deserialize:Pz.parse},typeof e=="string"?{uri:e}:e,t),!this.opts.store){let i=Object.assign({},this.opts);this.opts.store=$ve(i)}typeof this.opts.store.on=="function"&&this.opts.store.on("error",i=>this.emit("error",i)),this.opts.store.namespace=this.opts.namespace}_getKeyPrefix(e){return`${this.opts.namespace}:${e}`}get(e,t){e=this._getKeyPrefix(e);let{store:i}=this.opts;return Promise.resolve().then(()=>i.get(e)).then(n=>typeof n=="string"?this.opts.deserialize(n):n).then(n=>{if(n!==void 0){if(typeof n.expires=="number"&&Date.now()>n.expires){this.delete(e);return}return t&&t.raw?n:n.value}})}set(e,t,i){e=this._getKeyPrefix(e),typeof i>"u"&&(i=this.opts.ttl),i===0&&(i=void 0);let{store:n}=this.opts;return Promise.resolve().then(()=>{let s=typeof i=="number"?Date.now()+i:null;return t={value:t,expires:s},this.opts.serialize(t)}).then(s=>n.set(e,s,i)).then(()=>!0)}delete(e){e=this._getKeyPrefix(e);let{store:t}=this.opts;return Promise.resolve().then(()=>t.delete(e))}clear(){let{store:e}=this.opts;return Promise.resolve().then(()=>e.clear())}};Dz.exports=mk});var Nz=w((oit,Fz)=>{"use strict";var exe=J("events"),Kw=J("url"),txe=sz(),rxe=mz(),Ek=Iz(),Rz=Bz(),ixe=Mw(),nxe=vz(),sxe=kz(),ro=class{constructor(e,t){if(typeof e!="function")throw new TypeError("Parameter `request` must be a function");return this.cache=new sxe({uri:typeof t=="string"&&t,store:typeof t!="string"&&t,namespace:"cacheable-request"}),this.createCacheableRequest(e)}createCacheableRequest(e){return(t,i)=>{let n;if(typeof t=="string")n=Ik(Kw.parse(t)),t={};else if(t instanceof Kw.URL)n=Ik(Kw.parse(t.toString())),t={};else{let[g,...f]=(t.path||"").split("?"),h=f.length>0?`?${f.join("?")}`:"";n=Ik({...t,pathname:g,search:h})}t={headers:{},method:"GET",cache:!0,strictTtl:!1,automaticFailover:!1,...t,...oxe(n)},t.headers=ixe(t.headers);let s=new exe,o=txe(Kw.format(n),{stripWWW:!1,removeTrailingSlash:!1,stripAuthentication:!1}),a=`${t.method}:${o}`,l=!1,c=!1,u=g=>{c=!0;let f=!1,h,p=new Promise(y=>{h=()=>{f||(f=!0,y())}}),C=y=>{if(l&&!g.forceRefresh){y.status=y.statusCode;let v=Ek.fromObject(l.cachePolicy).revalidatedPolicy(g,y);if(!v.modified){let D=v.policy.responseHeaders();y=new Rz(l.statusCode,D,l.body,l.url),y.cachePolicy=v.policy,y.fromCache=!0}}y.fromCache||(y.cachePolicy=new Ek(g,y,g),y.fromCache=!1);let B;g.cache&&y.cachePolicy.storable()?(B=nxe(y),(async()=>{try{let v=rxe.buffer(y);if(await Promise.race([p,new Promise(j=>y.once("end",j))]),f)return;let D=await v,L={cachePolicy:y.cachePolicy.toObject(),url:y.url,statusCode:y.fromCache?l.statusCode:y.statusCode,body:D},H=g.strictTtl?y.cachePolicy.timeToLive():void 0;g.maxTtl&&(H=H?Math.min(H,g.maxTtl):g.maxTtl),await this.cache.set(a,L,H)}catch(v){s.emit("error",new ro.CacheError(v))}})()):g.cache&&l&&(async()=>{try{await this.cache.delete(a)}catch(v){s.emit("error",new ro.CacheError(v))}})(),s.emit("response",B||y),typeof i=="function"&&i(B||y)};try{let y=e(g,C);y.once("error",h),y.once("abort",h),s.emit("request",y)}catch(y){s.emit("error",new ro.RequestError(y))}};return(async()=>{let g=async h=>{await Promise.resolve();let p=h.cache?await this.cache.get(a):void 0;if(typeof p>"u")return u(h);let C=Ek.fromObject(p.cachePolicy);if(C.satisfiesWithoutRevalidation(h)&&!h.forceRefresh){let y=C.responseHeaders(),B=new Rz(p.statusCode,y,p.body,p.url);B.cachePolicy=C,B.fromCache=!0,s.emit("response",B),typeof i=="function"&&i(B)}else l=p,h.headers=C.revalidationHeaders(h),u(h)},f=h=>s.emit("error",new ro.CacheError(h));this.cache.once("error",f),s.on("response",()=>this.cache.removeListener("error",f));try{await g(t)}catch(h){t.automaticFailover&&!c&&u(t),s.emit("error",new ro.CacheError(h))}})(),s}}};function oxe(r){let e={...r};return e.path=`${r.pathname||"/"}${r.search||""}`,delete e.pathname,delete e.search,e}function Ik(r){return{protocol:r.protocol,auth:r.auth,hostname:r.hostname||r.host||"localhost",port:r.port,pathname:r.pathname,search:r.search}}ro.RequestError=class extends Error{constructor(r){super(r.message),this.name="RequestError",Object.assign(this,r)}};ro.CacheError=class extends Error{constructor(r){super(r.message),this.name="CacheError",Object.assign(this,r)}};Fz.exports=ro});var Tz=w((lit,Lz)=>{"use strict";var axe=["aborted","complete","headers","httpVersion","httpVersionMinor","httpVersionMajor","method","rawHeaders","rawTrailers","setTimeout","socket","statusCode","statusMessage","trailers","url"];Lz.exports=(r,e)=>{if(e._readableState.autoDestroy)throw new Error("The second stream must have the `autoDestroy` option set to `false`");let t=new Set(Object.keys(r).concat(axe)),i={};for(let n of t)n in e||(i[n]={get(){let s=r[n];return typeof s=="function"?s.bind(r):s},set(s){r[n]=s},enumerable:!0,configurable:!1});return Object.defineProperties(e,i),r.once("aborted",()=>{e.destroy(),e.emit("aborted")}),r.once("close",()=>{r.complete&&e.readable?e.once("end",()=>{e.emit("close")}):e.emit("close")}),e}});var Mz=w((cit,Oz)=>{"use strict";var{Transform:Axe,PassThrough:lxe}=J("stream"),yk=J("zlib"),cxe=Tz();Oz.exports=r=>{let e=(r.headers["content-encoding"]||"").toLowerCase();if(!["gzip","deflate","br"].includes(e))return r;let t=e==="br";if(t&&typeof yk.createBrotliDecompress!="function")return r.destroy(new Error("Brotli is not supported on Node.js < 12")),r;let i=!0,n=new Axe({transform(a,l,c){i=!1,c(null,a)},flush(a){a()}}),s=new lxe({autoDestroy:!1,destroy(a,l){r.destroy(),l(a)}}),o=t?yk.createBrotliDecompress():yk.createUnzip();return o.once("error",a=>{if(i&&!r.readable){s.end();return}s.destroy(a)}),cxe(r,s),r.pipe(n).pipe(o).pipe(s),s}});var Bk=w((uit,Kz)=>{"use strict";var wk=class{constructor(e={}){if(!(e.maxSize&&e.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");this.maxSize=e.maxSize,this.onEviction=e.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_set(e,t){if(this.cache.set(e,t),this._size++,this._size>=this.maxSize){if(this._size=0,typeof this.onEviction=="function")for(let[i,n]of this.oldCache.entries())this.onEviction(i,n);this.oldCache=this.cache,this.cache=new Map}}get(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e)){let t=this.oldCache.get(e);return this.oldCache.delete(e),this._set(e,t),t}}set(e,t){return this.cache.has(e)?this.cache.set(e,t):this._set(e,t),this}has(e){return this.cache.has(e)||this.oldCache.has(e)}peek(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e))return this.oldCache.get(e)}delete(e){let t=this.cache.delete(e);return t&&this._size--,this.oldCache.delete(e)||t}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}*keys(){for(let[e]of this)yield e}*values(){for(let[,e]of this)yield e}*[Symbol.iterator](){for(let e of this.cache)yield e;for(let e of this.oldCache){let[t]=e;this.cache.has(t)||(yield e)}}get size(){let e=0;for(let t of this.oldCache.keys())this.cache.has(t)||e++;return Math.min(this._size+e,this.maxSize)}};Kz.exports=wk});var bk=w((git,Yz)=>{"use strict";var uxe=J("events"),gxe=J("tls"),fxe=J("http2"),hxe=Bk(),tn=Symbol("currentStreamsCount"),Uz=Symbol("request"),ms=Symbol("cachedOriginSet"),Df=Symbol("gracefullyClosing"),pxe=["maxDeflateDynamicTableSize","maxSessionMemory","maxHeaderListPairs","maxOutstandingPings","maxReservedRemoteStreams","maxSendHeaderBlockLength","paddingStrategy","localAddress","path","rejectUnauthorized","minDHSize","ca","cert","clientCertEngine","ciphers","key","pfx","servername","minVersion","maxVersion","secureProtocol","crl","honorCipherOrder","ecdhCurve","dhparam","secureOptions","sessionIdContext"],dxe=(r,e,t)=>{let i=0,n=r.length;for(;i>>1;t(r[s],e)?i=s+1:n=s}return i},Cxe=(r,e)=>r.remoteSettings.maxConcurrentStreams>e.remoteSettings.maxConcurrentStreams,Qk=(r,e)=>{for(let t of r)t[ms].lengthe[ms].includes(i))&&t[tn]+e[tn]<=e.remoteSettings.maxConcurrentStreams&&Gz(t)},mxe=(r,e)=>{for(let t of r)e[ms].lengtht[ms].includes(i))&&e[tn]+t[tn]<=t.remoteSettings.maxConcurrentStreams&&Gz(e)},Hz=({agent:r,isFree:e})=>{let t={};for(let i in r.sessions){let s=r.sessions[i].filter(o=>{let a=o[jo.kCurrentStreamsCount]{r[Df]=!0,r[tn]===0&&r.close()},jo=class extends uxe{constructor({timeout:e=6e4,maxSessions:t=1/0,maxFreeSessions:i=10,maxCachedTlsSessions:n=100}={}){super(),this.sessions={},this.queue={},this.timeout=e,this.maxSessions=t,this.maxFreeSessions=i,this._freeSessionsCount=0,this._sessionsCount=0,this.settings={enablePush:!1},this.tlsSessionCache=new hxe({maxSize:n})}static normalizeOrigin(e,t){return typeof e=="string"&&(e=new URL(e)),t&&e.hostname!==t&&(e.hostname=t),e.origin}normalizeOptions(e){let t="";if(e)for(let i of pxe)e[i]&&(t+=`:${e[i]}`);return t}_tryToCreateNewSession(e,t){if(!(e in this.queue)||!(t in this.queue[e]))return;let i=this.queue[e][t];this._sessionsCount{Array.isArray(i)?(i=[...i],n()):i=[{resolve:n,reject:s}];let o=this.normalizeOptions(t),a=jo.normalizeOrigin(e,t&&t.servername);if(a===void 0){for(let{reject:u}of i)u(new TypeError("The `origin` argument needs to be a string or an URL object"));return}if(o in this.sessions){let u=this.sessions[o],g=-1,f=-1,h;for(let p of u){let C=p.remoteSettings.maxConcurrentStreams;if(C=C||p[Df]||p.destroyed)continue;h||(g=C),y>f&&(h=p,f=y)}}if(h){if(i.length!==1){for(let{reject:p}of i){let C=new Error(`Expected the length of listeners to be 1, got ${i.length}. -Please report this to https://github.com/szmarczak/http2-wrapper/`);p(C)}return}i[0].resolve(h);return}}if(o in this.queue){if(a in this.queue[o]){this.queue[o][a].listeners.push(...i),this._tryToCreateNewSession(o,a);return}}else this.queue[o]={};let l=()=>{o in this.queue&&this.queue[o][a]===c&&(delete this.queue[o][a],Object.keys(this.queue[o]).length===0&&delete this.queue[o])},c=()=>{let u=`${a}:${o}`,g=!1;try{let f=fxe.connect(e,{createConnection:this.createConnection,settings:this.settings,session:this.tlsSessionCache.get(u),...t});f[tn]=0,f[Df]=!1;let h=()=>f[tn]{this.tlsSessionCache.set(u,y)}),f.once("error",y=>{for(let{reject:B}of i)B(y);this.tlsSessionCache.delete(u)}),f.setTimeout(this.timeout,()=>{f.destroy()}),f.once("close",()=>{if(g){p&&this._freeSessionsCount--,this._sessionsCount--;let y=this.sessions[o];y.splice(y.indexOf(f),1),y.length===0&&delete this.sessions[o]}else{let y=new Error("Session closed without receiving a SETTINGS frame");y.code="HTTP2WRAPPER_NOSETTINGS";for(let{reject:B}of i)B(y);l()}this._tryToCreateNewSession(o,a)});let C=()=>{if(!(!(o in this.queue)||!h())){for(let y of f[ms])if(y in this.queue[o]){let{listeners:B}=this.queue[o][y];for(;B.length!==0&&h();)B.shift().resolve(f);let v=this.queue[o];if(v[y].listeners.length===0&&(delete v[y],Object.keys(v).length===0)){delete this.queue[o];break}if(!h())break}}};f.on("origin",()=>{f[ms]=f.originSet,h()&&(C(),Qk(this.sessions[o],f))}),f.once("remoteSettings",()=>{if(f.ref(),f.unref(),this._sessionsCount++,c.destroyed){let y=new Error("Agent has been destroyed");for(let B of i)B.reject(y);f.destroy();return}f[ms]=f.originSet;{let y=this.sessions;if(o in y){let B=y[o];B.splice(dxe(B,f,Cxe),0,f)}else y[o]=[f]}this._freeSessionsCount+=1,g=!0,this.emit("session",f),C(),l(),f[tn]===0&&this._freeSessionsCount>this.maxFreeSessions&&f.close(),i.length!==0&&(this.getSession(a,t,i),i.length=0),f.on("remoteSettings",()=>{C(),Qk(this.sessions[o],f)})}),f[Uz]=f.request,f.request=(y,B)=>{if(f[Df])throw new Error("The session is gracefully closing. No new streams are allowed.");let v=f[Uz](y,B);return f.ref(),++f[tn],f[tn]===f.remoteSettings.maxConcurrentStreams&&this._freeSessionsCount--,v.once("close",()=>{if(p=h(),--f[tn],!f.destroyed&&!f.closed&&(mxe(this.sessions[o],f),h()&&!f.closed)){p||(this._freeSessionsCount++,p=!0);let D=f[tn]===0;D&&f.unref(),D&&(this._freeSessionsCount>this.maxFreeSessions||f[Df])?f.close():(Qk(this.sessions[o],f),C())}}),v}}catch(f){for(let h of i)h.reject(f);l()}};c.listeners=i,c.completed=!1,c.destroyed=!1,this.queue[o][a]=c,this._tryToCreateNewSession(o,a)})}request(e,t,i,n){return new Promise((s,o)=>{this.getSession(e,t,[{reject:o,resolve:a=>{try{s(a.request(i,n))}catch(l){o(l)}}}])})}createConnection(e,t){return jo.connect(e,t)}static connect(e,t){t.ALPNProtocols=["h2"];let i=e.port||443,n=e.hostname||e.host;return typeof t.servername>"u"&&(t.servername=n),gxe.connect(i,n,t)}closeFreeSessions(){for(let e of Object.values(this.sessions))for(let t of e)t[tn]===0&&t.close()}destroy(e){for(let t of Object.values(this.sessions))for(let i of t)i.destroy(e);for(let t of Object.values(this.queue))for(let i of Object.values(t))i.destroyed=!0;this.queue={}}get freeSessions(){return Hz({agent:this,isFree:!0})}get busySessions(){return Hz({agent:this,isFree:!1})}};jo.kCurrentStreamsCount=tn;jo.kGracefullyClosing=Df;Yz.exports={Agent:jo,globalAgent:new jo}});var vk=w((fit,jz)=>{"use strict";var{Readable:Exe}=J("stream"),Sk=class extends Exe{constructor(e,t){super({highWaterMark:t,autoDestroy:!1}),this.statusCode=null,this.statusMessage="",this.httpVersion="2.0",this.httpVersionMajor=2,this.httpVersionMinor=0,this.headers={},this.trailers={},this.req=null,this.aborted=!1,this.complete=!1,this.upgrade=null,this.rawHeaders=[],this.rawTrailers=[],this.socket=e,this.connection=e,this._dumped=!1}_destroy(e){this.req._request.destroy(e)}setTimeout(e,t){return this.req.setTimeout(e,t),this}_dump(){this._dumped||(this._dumped=!0,this.removeAllListeners("data"),this.resume())}_read(){this.req&&this.req._request.resume()}};jz.exports=Sk});var xk=w((hit,qz)=>{"use strict";qz.exports=r=>{let e={protocol:r.protocol,hostname:typeof r.hostname=="string"&&r.hostname.startsWith("[")?r.hostname.slice(1,-1):r.hostname,host:r.host,hash:r.hash,search:r.search,pathname:r.pathname,href:r.href,path:`${r.pathname||""}${r.search||""}`};return typeof r.port=="string"&&r.port.length!==0&&(e.port=Number(r.port)),(r.username||r.password)&&(e.auth=`${r.username||""}:${r.password||""}`),e}});var Wz=w((pit,Jz)=>{"use strict";Jz.exports=(r,e,t)=>{for(let i of t)r.on(i,(...n)=>e.emit(i,...n))}});var Vz=w((dit,zz)=>{"use strict";zz.exports=r=>{switch(r){case":method":case":scheme":case":authority":case":path":return!0;default:return!1}}});var _z=w((mit,Xz)=>{"use strict";var kf=(r,e,t)=>{Xz.exports[e]=class extends r{constructor(...n){super(typeof t=="string"?t:t(n)),this.name=`${super.name} [${e}]`,this.code=e}}};kf(TypeError,"ERR_INVALID_ARG_TYPE",r=>{let e=r[0].includes(".")?"property":"argument",t=r[1],i=Array.isArray(t);return i&&(t=`${t.slice(0,-1).join(", ")} or ${t.slice(-1)}`),`The "${r[0]}" ${e} must be ${i?"one of":"of"} type ${t}. Received ${typeof r[2]}`});kf(TypeError,"ERR_INVALID_PROTOCOL",r=>`Protocol "${r[0]}" not supported. Expected "${r[1]}"`);kf(Error,"ERR_HTTP_HEADERS_SENT",r=>`Cannot ${r[0]} headers after they are sent to the client`);kf(TypeError,"ERR_INVALID_HTTP_TOKEN",r=>`${r[0]} must be a valid HTTP token [${r[1]}]`);kf(TypeError,"ERR_HTTP_INVALID_HEADER_VALUE",r=>`Invalid value "${r[0]} for header "${r[1]}"`);kf(TypeError,"ERR_INVALID_CHAR",r=>`Invalid character in ${r[0]} [${r[1]}]`)});var Fk=w((Eit,n5)=>{"use strict";var Ixe=J("http2"),{Writable:yxe}=J("stream"),{Agent:Zz,globalAgent:wxe}=bk(),Bxe=vk(),Qxe=xk(),bxe=Wz(),Sxe=Vz(),{ERR_INVALID_ARG_TYPE:Pk,ERR_INVALID_PROTOCOL:vxe,ERR_HTTP_HEADERS_SENT:$z,ERR_INVALID_HTTP_TOKEN:xxe,ERR_HTTP_INVALID_HEADER_VALUE:Pxe,ERR_INVALID_CHAR:Dxe}=_z(),{HTTP2_HEADER_STATUS:e5,HTTP2_HEADER_METHOD:t5,HTTP2_HEADER_PATH:r5,HTTP2_METHOD_CONNECT:kxe}=Ixe.constants,Ki=Symbol("headers"),Dk=Symbol("origin"),kk=Symbol("session"),i5=Symbol("options"),Uw=Symbol("flushedHeaders"),AC=Symbol("jobs"),Rxe=/^[\^`\-\w!#$%&*+.|~]+$/,Fxe=/[^\t\u0020-\u007E\u0080-\u00FF]/,Rk=class extends yxe{constructor(e,t,i){super({autoDestroy:!1});let n=typeof e=="string"||e instanceof URL;if(n&&(e=Qxe(e instanceof URL?e:new URL(e))),typeof t=="function"||t===void 0?(i=t,t=n?e:{...e}):t={...e,...t},t.h2session)this[kk]=t.h2session;else if(t.agent===!1)this.agent=new Zz({maxFreeSessions:0});else if(typeof t.agent>"u"||t.agent===null)typeof t.createConnection=="function"?(this.agent=new Zz({maxFreeSessions:0}),this.agent.createConnection=t.createConnection):this.agent=wxe;else if(typeof t.agent.request=="function")this.agent=t.agent;else throw new Pk("options.agent",["Agent-like Object","undefined","false"],t.agent);if(t.protocol&&t.protocol!=="https:")throw new vxe(t.protocol,"https:");let s=t.port||t.defaultPort||this.agent&&this.agent.defaultPort||443,o=t.hostname||t.host||"localhost";delete t.hostname,delete t.host,delete t.port;let{timeout:a}=t;if(t.timeout=void 0,this[Ki]=Object.create(null),this[AC]=[],this.socket=null,this.connection=null,this.method=t.method||"GET",this.path=t.path,this.res=null,this.aborted=!1,this.reusedSocket=!1,t.headers)for(let[l,c]of Object.entries(t.headers))this.setHeader(l,c);t.auth&&!("authorization"in this[Ki])&&(this[Ki].authorization="Basic "+Buffer.from(t.auth).toString("base64")),t.session=t.tlsSession,t.path=t.socketPath,this[i5]=t,s===443?(this[Dk]=`https://${o}`,":authority"in this[Ki]||(this[Ki][":authority"]=o)):(this[Dk]=`https://${o}:${s}`,":authority"in this[Ki]||(this[Ki][":authority"]=`${o}:${s}`)),a&&this.setTimeout(a),i&&this.once("response",i),this[Uw]=!1}get method(){return this[Ki][t5]}set method(e){e&&(this[Ki][t5]=e.toUpperCase())}get path(){return this[Ki][r5]}set path(e){e&&(this[Ki][r5]=e)}get _mustNotHaveABody(){return this.method==="GET"||this.method==="HEAD"||this.method==="DELETE"}_write(e,t,i){if(this._mustNotHaveABody){i(new Error("The GET, HEAD and DELETE methods must NOT have a body"));return}this.flushHeaders();let n=()=>this._request.write(e,t,i);this._request?n():this[AC].push(n)}_final(e){if(this.destroyed)return;this.flushHeaders();let t=()=>{if(this._mustNotHaveABody){e();return}this._request.end(e)};this._request?t():this[AC].push(t)}abort(){this.res&&this.res.complete||(this.aborted||process.nextTick(()=>this.emit("abort")),this.aborted=!0,this.destroy())}_destroy(e,t){this.res&&this.res._dump(),this._request&&this._request.destroy(),t(e)}async flushHeaders(){if(this[Uw]||this.destroyed)return;this[Uw]=!0;let e=this.method===kxe,t=i=>{if(this._request=i,this.destroyed){i.destroy();return}e||bxe(i,this,["timeout","continue","close","error"]);let n=o=>(...a)=>{!this.writable&&!this.destroyed?o(...a):this.once("finish",()=>{o(...a)})};i.once("response",n((o,a,l)=>{let c=new Bxe(this.socket,i.readableHighWaterMark);this.res=c,c.req=this,c.statusCode=o[e5],c.headers=o,c.rawHeaders=l,c.once("end",()=>{this.aborted?(c.aborted=!0,c.emit("aborted")):(c.complete=!0,c.socket=null,c.connection=null)}),e?(c.upgrade=!0,this.emit("connect",c,i,Buffer.alloc(0))?this.emit("close"):i.destroy()):(i.on("data",u=>{!c._dumped&&!c.push(u)&&i.pause()}),i.once("end",()=>{c.push(null)}),this.emit("response",c)||c._dump())})),i.once("headers",n(o=>this.emit("information",{statusCode:o[e5]}))),i.once("trailers",n((o,a,l)=>{let{res:c}=this;c.trailers=o,c.rawTrailers=l}));let{socket:s}=i.session;this.socket=s,this.connection=s;for(let o of this[AC])o();this.emit("socket",this.socket)};if(this[kk])try{t(this[kk].request(this[Ki]))}catch(i){this.emit("error",i)}else{this.reusedSocket=!0;try{t(await this.agent.request(this[Dk],this[i5],this[Ki]))}catch(i){this.emit("error",i)}}}getHeader(e){if(typeof e!="string")throw new Pk("name","string",e);return this[Ki][e.toLowerCase()]}get headersSent(){return this[Uw]}removeHeader(e){if(typeof e!="string")throw new Pk("name","string",e);if(this.headersSent)throw new $z("remove");delete this[Ki][e.toLowerCase()]}setHeader(e,t){if(this.headersSent)throw new $z("set");if(typeof e!="string"||!Rxe.test(e)&&!Sxe(e))throw new xxe("Header name",e);if(typeof t>"u")throw new Pxe(t,e);if(Fxe.test(t))throw new Dxe("header content",e);this[Ki][e.toLowerCase()]=t}setNoDelay(){}setSocketKeepAlive(){}setTimeout(e,t){let i=()=>this._request.setTimeout(e,t);return this._request?i():this[AC].push(i),this}get maxHeadersCount(){if(!this.destroyed&&this._request)return this._request.session.localSettings.maxHeaderListSize}set maxHeadersCount(e){}};n5.exports=Rk});var o5=w((Iit,s5)=>{"use strict";var Nxe=J("tls");s5.exports=(r={})=>new Promise((e,t)=>{let i=Nxe.connect(r,()=>{r.resolveSocket?(i.off("error",t),e({alpnProtocol:i.alpnProtocol,socket:i})):(i.destroy(),e({alpnProtocol:i.alpnProtocol}))});i.on("error",t)})});var A5=w((yit,a5)=>{"use strict";var Lxe=J("net");a5.exports=r=>{let e=r.host,t=r.headers&&r.headers.host;return t&&(t.startsWith("[")?t.indexOf("]")===-1?e=t:e=t.slice(1,-1):e=t.split(":",1)[0]),Lxe.isIP(e)?"":e}});var u5=w((wit,Lk)=>{"use strict";var l5=J("http"),Nk=J("https"),Txe=o5(),Oxe=Bk(),Mxe=Fk(),Kxe=A5(),Uxe=xk(),Hw=new Oxe({maxSize:100}),lC=new Map,c5=(r,e,t)=>{e._httpMessage={shouldKeepAlive:!0};let i=()=>{r.emit("free",e,t)};e.on("free",i);let n=()=>{r.removeSocket(e,t)};e.on("close",n);let s=()=>{r.removeSocket(e,t),e.off("close",n),e.off("free",i),e.off("agentRemove",s)};e.on("agentRemove",s),r.emit("free",e,t)},Hxe=async r=>{let e=`${r.host}:${r.port}:${r.ALPNProtocols.sort()}`;if(!Hw.has(e)){if(lC.has(e))return(await lC.get(e)).alpnProtocol;let{path:t,agent:i}=r;r.path=r.socketPath;let n=Txe(r);lC.set(e,n);try{let{socket:s,alpnProtocol:o}=await n;if(Hw.set(e,o),r.path=t,o==="h2")s.destroy();else{let{globalAgent:a}=Nk,l=Nk.Agent.prototype.createConnection;i?i.createConnection===l?c5(i,s,r):s.destroy():a.createConnection===l?c5(a,s,r):s.destroy()}return lC.delete(e),o}catch(s){throw lC.delete(e),s}}return Hw.get(e)};Lk.exports=async(r,e,t)=>{if((typeof r=="string"||r instanceof URL)&&(r=Uxe(new URL(r))),typeof e=="function"&&(t=e,e=void 0),e={ALPNProtocols:["h2","http/1.1"],...r,...e,resolveSocket:!0},!Array.isArray(e.ALPNProtocols)||e.ALPNProtocols.length===0)throw new Error("The `ALPNProtocols` option must be an Array with at least one entry");e.protocol=e.protocol||"https:";let i=e.protocol==="https:";e.host=e.hostname||e.host||"localhost",e.session=e.tlsSession,e.servername=e.servername||Kxe(e),e.port=e.port||(i?443:80),e._defaultAgent=i?Nk.globalAgent:l5.globalAgent;let n=e.agent;if(n){if(n.addRequest)throw new Error("The `options.agent` object can contain only `http`, `https` or `http2` properties");e.agent=n[i?"https":"http"]}return i&&await Hxe(e)==="h2"?(n&&(e.agent=n.http2),new Mxe(e,t)):l5.request(e,t)};Lk.exports.protocolCache=Hw});var f5=w((Bit,g5)=>{"use strict";var Gxe=J("http2"),Yxe=bk(),Tk=Fk(),jxe=vk(),qxe=u5(),Jxe=(r,e,t)=>new Tk(r,e,t),Wxe=(r,e,t)=>{let i=new Tk(r,e,t);return i.end(),i};g5.exports={...Gxe,ClientRequest:Tk,IncomingMessage:jxe,...Yxe,request:Jxe,get:Wxe,auto:qxe}});var Mk=w(Ok=>{"use strict";Object.defineProperty(Ok,"__esModule",{value:!0});var h5=Ta();Ok.default=r=>h5.default.nodeStream(r)&&h5.default.function_(r.getBoundary)});var m5=w(Kk=>{"use strict";Object.defineProperty(Kk,"__esModule",{value:!0});var d5=J("fs"),C5=J("util"),p5=Ta(),zxe=Mk(),Vxe=C5.promisify(d5.stat);Kk.default=async(r,e)=>{if(e&&"content-length"in e)return Number(e["content-length"]);if(!r)return 0;if(p5.default.string(r))return Buffer.byteLength(r);if(p5.default.buffer(r))return r.length;if(zxe.default(r))return C5.promisify(r.getLength.bind(r))();if(r instanceof d5.ReadStream){let{size:t}=await Vxe(r.path);return t===0?void 0:t}}});var Hk=w(Uk=>{"use strict";Object.defineProperty(Uk,"__esModule",{value:!0});function Xxe(r,e,t){let i={};for(let n of t)i[n]=(...s)=>{e.emit(n,...s)},r.on(n,i[n]);return()=>{for(let n of t)r.off(n,i[n])}}Uk.default=Xxe});var E5=w(Gk=>{"use strict";Object.defineProperty(Gk,"__esModule",{value:!0});Gk.default=()=>{let r=[];return{once(e,t,i){e.once(t,i),r.push({origin:e,event:t,fn:i})},unhandleAll(){for(let e of r){let{origin:t,event:i,fn:n}=e;t.removeListener(i,n)}r.length=0}}}});var y5=w(cC=>{"use strict";Object.defineProperty(cC,"__esModule",{value:!0});cC.TimeoutError=void 0;var _xe=J("net"),Zxe=E5(),I5=Symbol("reentry"),$xe=()=>{},Gw=class extends Error{constructor(e,t){super(`Timeout awaiting '${t}' for ${e}ms`),this.event=t,this.name="TimeoutError",this.code="ETIMEDOUT"}};cC.TimeoutError=Gw;cC.default=(r,e,t)=>{if(I5 in r)return $xe;r[I5]=!0;let i=[],{once:n,unhandleAll:s}=Zxe.default(),o=(g,f,h)=>{var p;let C=setTimeout(f,g,g,h);(p=C.unref)===null||p===void 0||p.call(C);let y=()=>{clearTimeout(C)};return i.push(y),y},{host:a,hostname:l}=t,c=(g,f)=>{r.destroy(new Gw(g,f))},u=()=>{for(let g of i)g();s()};if(r.once("error",g=>{if(u(),r.listenerCount("error")===0)throw g}),r.once("close",u),n(r,"response",g=>{n(g,"end",u)}),typeof e.request<"u"&&o(e.request,c,"request"),typeof e.socket<"u"){let g=()=>{c(e.socket,"socket")};r.setTimeout(e.socket,g),i.push(()=>{r.removeListener("timeout",g)})}return n(r,"socket",g=>{var f;let{socketPath:h}=r;if(g.connecting){let p=Boolean(h!=null?h:_xe.isIP((f=l!=null?l:a)!==null&&f!==void 0?f:"")!==0);if(typeof e.lookup<"u"&&!p&&typeof g.address().address>"u"){let C=o(e.lookup,c,"lookup");n(g,"lookup",C)}if(typeof e.connect<"u"){let C=()=>o(e.connect,c,"connect");p?n(g,"connect",C()):n(g,"lookup",y=>{y===null&&n(g,"connect",C())})}typeof e.secureConnect<"u"&&t.protocol==="https:"&&n(g,"connect",()=>{let C=o(e.secureConnect,c,"secureConnect");n(g,"secureConnect",C)})}if(typeof e.send<"u"){let p=()=>o(e.send,c,"send");g.connecting?n(g,"connect",()=>{n(r,"upload-complete",p())}):n(r,"upload-complete",p())}}),typeof e.response<"u"&&n(r,"upload-complete",()=>{let g=o(e.response,c,"response");n(r,"response",g)}),u}});var B5=w(Yk=>{"use strict";Object.defineProperty(Yk,"__esModule",{value:!0});var w5=Ta();Yk.default=r=>{r=r;let e={protocol:r.protocol,hostname:w5.default.string(r.hostname)&&r.hostname.startsWith("[")?r.hostname.slice(1,-1):r.hostname,host:r.host,hash:r.hash,search:r.search,pathname:r.pathname,href:r.href,path:`${r.pathname||""}${r.search||""}`};return w5.default.string(r.port)&&r.port.length>0&&(e.port=Number(r.port)),(r.username||r.password)&&(e.auth=`${r.username||""}:${r.password||""}`),e}});var Q5=w(jk=>{"use strict";Object.defineProperty(jk,"__esModule",{value:!0});var ePe=J("url"),tPe=["protocol","host","hostname","port","pathname","search"];jk.default=(r,e)=>{var t,i;if(e.path){if(e.pathname)throw new TypeError("Parameters `path` and `pathname` are mutually exclusive.");if(e.search)throw new TypeError("Parameters `path` and `search` are mutually exclusive.");if(e.searchParams)throw new TypeError("Parameters `path` and `searchParams` are mutually exclusive.")}if(e.search&&e.searchParams)throw new TypeError("Parameters `search` and `searchParams` are mutually exclusive.");if(!r){if(!e.protocol)throw new TypeError("No URL protocol specified");r=`${e.protocol}//${(i=(t=e.hostname)!==null&&t!==void 0?t:e.host)!==null&&i!==void 0?i:""}`}let n=new ePe.URL(r);if(e.path){let s=e.path.indexOf("?");s===-1?e.pathname=e.path:(e.pathname=e.path.slice(0,s),e.search=e.path.slice(s+1)),delete e.path}for(let s of tPe)e[s]&&(n[s]=e[s].toString());return n}});var b5=w(Jk=>{"use strict";Object.defineProperty(Jk,"__esModule",{value:!0});var qk=class{constructor(){this.weakMap=new WeakMap,this.map=new Map}set(e,t){typeof e=="object"?this.weakMap.set(e,t):this.map.set(e,t)}get(e){return typeof e=="object"?this.weakMap.get(e):this.map.get(e)}has(e){return typeof e=="object"?this.weakMap.has(e):this.map.has(e)}};Jk.default=qk});var zk=w(Wk=>{"use strict";Object.defineProperty(Wk,"__esModule",{value:!0});var rPe=async r=>{let e=[],t=0;for await(let i of r)e.push(i),t+=Buffer.byteLength(i);return Buffer.isBuffer(e[0])?Buffer.concat(e,t):Buffer.from(e.join(""))};Wk.default=rPe});var v5=w(Bc=>{"use strict";Object.defineProperty(Bc,"__esModule",{value:!0});Bc.dnsLookupIpVersionToFamily=Bc.isDnsLookupIpVersion=void 0;var S5={auto:0,ipv4:4,ipv6:6};Bc.isDnsLookupIpVersion=r=>r in S5;Bc.dnsLookupIpVersionToFamily=r=>{if(Bc.isDnsLookupIpVersion(r))return S5[r];throw new Error("Invalid DNS lookup IP version")}});var Vk=w(Yw=>{"use strict";Object.defineProperty(Yw,"__esModule",{value:!0});Yw.isResponseOk=void 0;Yw.isResponseOk=r=>{let{statusCode:e}=r,t=r.request.options.followRedirect?299:399;return e>=200&&e<=t||e===304}});var P5=w(Xk=>{"use strict";Object.defineProperty(Xk,"__esModule",{value:!0});var x5=new Set;Xk.default=r=>{x5.has(r)||(x5.add(r),process.emitWarning(`Got: ${r}`,{type:"DeprecationWarning"}))}});var D5=w(_k=>{"use strict";Object.defineProperty(_k,"__esModule",{value:!0});var mr=Ta(),iPe=(r,e)=>{if(mr.default.null_(r.encoding))throw new TypeError("To get a Buffer, set `options.responseType` to `buffer` instead");mr.assert.any([mr.default.string,mr.default.undefined],r.encoding),mr.assert.any([mr.default.boolean,mr.default.undefined],r.resolveBodyOnly),mr.assert.any([mr.default.boolean,mr.default.undefined],r.methodRewriting),mr.assert.any([mr.default.boolean,mr.default.undefined],r.isStream),mr.assert.any([mr.default.string,mr.default.undefined],r.responseType),r.responseType===void 0&&(r.responseType="text");let{retry:t}=r;if(e?r.retry={...e.retry}:r.retry={calculateDelay:i=>i.computedValue,limit:0,methods:[],statusCodes:[],errorCodes:[],maxRetryAfter:void 0},mr.default.object(t)?(r.retry={...r.retry,...t},r.retry.methods=[...new Set(r.retry.methods.map(i=>i.toUpperCase()))],r.retry.statusCodes=[...new Set(r.retry.statusCodes)],r.retry.errorCodes=[...new Set(r.retry.errorCodes)]):mr.default.number(t)&&(r.retry.limit=t),mr.default.undefined(r.retry.maxRetryAfter)&&(r.retry.maxRetryAfter=Math.min(...[r.timeout.request,r.timeout.connect].filter(mr.default.number))),mr.default.object(r.pagination)){e&&(r.pagination={...e.pagination,...r.pagination});let{pagination:i}=r;if(!mr.default.function_(i.transform))throw new Error("`options.pagination.transform` must be implemented");if(!mr.default.function_(i.shouldContinue))throw new Error("`options.pagination.shouldContinue` must be implemented");if(!mr.default.function_(i.filter))throw new TypeError("`options.pagination.filter` must be implemented");if(!mr.default.function_(i.paginate))throw new Error("`options.pagination.paginate` must be implemented")}return r.responseType==="json"&&r.headers.accept===void 0&&(r.headers.accept="application/json"),r};_k.default=iPe});var k5=w(uC=>{"use strict";Object.defineProperty(uC,"__esModule",{value:!0});uC.retryAfterStatusCodes=void 0;uC.retryAfterStatusCodes=new Set([413,429,503]);var nPe=({attemptCount:r,retryOptions:e,error:t,retryAfter:i})=>{if(r>e.limit)return 0;let n=e.methods.includes(t.options.method),s=e.errorCodes.includes(t.code),o=t.response&&e.statusCodes.includes(t.response.statusCode);if(!n||!s&&!o)return 0;if(t.response){if(i)return e.maxRetryAfter===void 0||i>e.maxRetryAfter?0:i;if(t.response.statusCode===413)return 0}let a=Math.random()*100;return 2**(r-1)*1e3+a};uC.default=nPe});var hC=w(Yt=>{"use strict";Object.defineProperty(Yt,"__esModule",{value:!0});Yt.UnsupportedProtocolError=Yt.ReadError=Yt.TimeoutError=Yt.UploadError=Yt.CacheError=Yt.HTTPError=Yt.MaxRedirectsError=Yt.RequestError=Yt.setNonEnumerableProperties=Yt.knownHookEvents=Yt.withoutBody=Yt.kIsNormalizedAlready=void 0;var R5=J("util"),F5=J("stream"),sPe=J("fs"),UA=J("url"),N5=J("http"),Zk=J("http"),oPe=J("https"),aPe=V8(),APe=rz(),L5=Nz(),lPe=Mz(),cPe=f5(),uPe=Mw(),Ee=Ta(),gPe=m5(),T5=Mk(),fPe=Hk(),O5=y5(),hPe=B5(),M5=Q5(),pPe=b5(),dPe=zk(),K5=v5(),CPe=Vk(),HA=P5(),mPe=D5(),EPe=k5(),$k,xi=Symbol("request"),Jw=Symbol("response"),Rf=Symbol("responseSize"),Ff=Symbol("downloadedSize"),Nf=Symbol("bodySize"),Lf=Symbol("uploadedSize"),jw=Symbol("serverResponsesPiped"),U5=Symbol("unproxyEvents"),H5=Symbol("isFromCache"),eR=Symbol("cancelTimeouts"),G5=Symbol("startedReading"),Tf=Symbol("stopReading"),qw=Symbol("triggerRead"),GA=Symbol("body"),gC=Symbol("jobs"),Y5=Symbol("originalResponse"),j5=Symbol("retryTimeout");Yt.kIsNormalizedAlready=Symbol("isNormalizedAlready");var IPe=Ee.default.string(process.versions.brotli);Yt.withoutBody=new Set(["GET","HEAD"]);Yt.knownHookEvents=["init","beforeRequest","beforeRedirect","beforeError","beforeRetry","afterResponse"];function yPe(r){for(let e in r){let t=r[e];if(!Ee.default.string(t)&&!Ee.default.number(t)&&!Ee.default.boolean(t)&&!Ee.default.null_(t)&&!Ee.default.undefined(t))throw new TypeError(`The \`searchParams\` value '${String(t)}' must be a string, number, boolean or null`)}}function wPe(r){return Ee.default.object(r)&&!("statusCode"in r)}var tR=new pPe.default,BPe=async r=>new Promise((e,t)=>{let i=n=>{t(n)};r.pending||e(),r.once("error",i),r.once("ready",()=>{r.off("error",i),e()})}),QPe=new Set([300,301,302,303,304,307,308]),bPe=["context","body","json","form"];Yt.setNonEnumerableProperties=(r,e)=>{let t={};for(let i of r)if(!!i)for(let n of bPe)n in i&&(t[n]={writable:!0,configurable:!0,enumerable:!1,value:i[n]});Object.defineProperties(e,t)};var ei=class extends Error{constructor(e,t,i){var n;if(super(e),Error.captureStackTrace(this,this.constructor),this.name="RequestError",this.code=t.code,i instanceof $w?(Object.defineProperty(this,"request",{enumerable:!1,value:i}),Object.defineProperty(this,"response",{enumerable:!1,value:i[Jw]}),Object.defineProperty(this,"options",{enumerable:!1,value:i.options})):Object.defineProperty(this,"options",{enumerable:!1,value:i}),this.timings=(n=this.request)===null||n===void 0?void 0:n.timings,Ee.default.string(t.stack)&&Ee.default.string(this.stack)){let s=this.stack.indexOf(this.message)+this.message.length,o=this.stack.slice(s).split(` +`,n)}while(i!==-1);return s+=r.substr(n),s};FJ.exports={stringReplaceAll:wwe,stringEncaseCRLFWithFirstIndex:Bwe}});var KJ=w((zet,MJ)=>{"use strict";var Qwe=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,LJ=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,bwe=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,Swe=/\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.)|([^\\])/gi,vwe=new Map([["n",` +`],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e","\x1B"],["a","\x07"]]);function OJ(r){let e=r[0]==="u",t=r[1]==="{";return e&&!t&&r.length===5||r[0]==="x"&&r.length===3?String.fromCharCode(parseInt(r.slice(1),16)):e&&t?String.fromCodePoint(parseInt(r.slice(2,-1),16)):vwe.get(r)||r}function xwe(r,e){let t=[],i=e.trim().split(/\s*,\s*/g),n;for(let s of i){let o=Number(s);if(!Number.isNaN(o))t.push(o);else if(n=s.match(bwe))t.push(n[2].replace(Swe,(a,l,c)=>l?OJ(l):c));else throw new Error(`Invalid Chalk template style argument: ${s} (in style '${r}')`)}return t}function Pwe(r){LJ.lastIndex=0;let e=[],t;for(;(t=LJ.exec(r))!==null;){let i=t[1];if(t[2]){let n=xwe(i,t[2]);e.push([i].concat(n))}else e.push([i])}return e}function TJ(r,e){let t={};for(let n of e)for(let s of n.styles)t[s[0]]=n.inverse?null:s.slice(1);let i=r;for(let[n,s]of Object.entries(t))if(!!Array.isArray(s)){if(!(n in i))throw new Error(`Unknown Chalk style: ${n}`);i=s.length>0?i[n](...s):i[n]}return i}MJ.exports=(r,e)=>{let t=[],i=[],n=[];if(e.replace(Qwe,(s,o,a,l,c,u)=>{if(o)n.push(OJ(o));else if(l){let g=n.join("");n=[],i.push(t.length===0?g:TJ(r,t)(g)),t.push({inverse:a,styles:Pwe(l)})}else if(c){if(t.length===0)throw new Error("Found extraneous } in Chalk template literal");i.push(TJ(r,t)(n.join(""))),n=[],t.pop()}else n.push(u)}),i.push(n.join("")),t.length>0){let s=`Chalk template literal is missing ${t.length} closing bracket${t.length===1?"":"s"} (\`}\`)`;throw new Error(s)}return i.join("")}});var wx=w((Vet,YJ)=>{"use strict";var Od=vJ(),{stdout:mx,stderr:Ex}=RJ(),{stringReplaceAll:Dwe,stringEncaseCRLFWithFirstIndex:kwe}=NJ(),UJ=["ansi","ansi","ansi256","ansi16m"],Af=Object.create(null),Rwe=(r,e={})=>{if(e.level>3||e.level<0)throw new Error("The `level` option should be an integer from 0 to 3");let t=mx?mx.level:0;r.level=e.level===void 0?t:e.level},Ix=class{constructor(e){return HJ(e)}},HJ=r=>{let e={};return Rwe(e,r),e.template=(...t)=>Lwe(e.template,...t),Object.setPrototypeOf(e,Ny.prototype),Object.setPrototypeOf(e.template,e),e.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},e.template.Instance=Ix,e.template};function Ny(r){return HJ(r)}for(let[r,e]of Object.entries(Od))Af[r]={get(){let t=Ly(this,yx(e.open,e.close,this._styler),this._isEmpty);return Object.defineProperty(this,r,{value:t}),t}};Af.visible={get(){let r=Ly(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:r}),r}};var GJ=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(let r of GJ)Af[r]={get(){let{level:e}=this;return function(...t){let i=yx(Od.color[UJ[e]][r](...t),Od.color.close,this._styler);return Ly(this,i,this._isEmpty)}}};for(let r of GJ){let e="bg"+r[0].toUpperCase()+r.slice(1);Af[e]={get(){let{level:t}=this;return function(...i){let n=yx(Od.bgColor[UJ[t]][r](...i),Od.bgColor.close,this._styler);return Ly(this,n,this._isEmpty)}}}}var Fwe=Object.defineProperties(()=>{},{...Af,level:{enumerable:!0,get(){return this._generator.level},set(r){this._generator.level=r}}}),yx=(r,e,t)=>{let i,n;return t===void 0?(i=r,n=e):(i=t.openAll+r,n=e+t.closeAll),{open:r,close:e,openAll:i,closeAll:n,parent:t}},Ly=(r,e,t)=>{let i=(...n)=>Nwe(i,n.length===1?""+n[0]:n.join(" "));return i.__proto__=Fwe,i._generator=r,i._styler=e,i._isEmpty=t,i},Nwe=(r,e)=>{if(r.level<=0||!e)return r._isEmpty?"":e;let t=r._styler;if(t===void 0)return e;let{openAll:i,closeAll:n}=t;if(e.indexOf("\x1B")!==-1)for(;t!==void 0;)e=Dwe(e,t.close,t.open),t=t.parent;let s=e.indexOf(` +`);return s!==-1&&(e=kwe(e,n,i,s)),i+e+n},Cx,Lwe=(r,...e)=>{let[t]=e;if(!Array.isArray(t))return e.join(" ");let i=e.slice(1),n=[t.raw[0]];for(let s=1;s{"use strict";ps.isInteger=r=>typeof r=="number"?Number.isInteger(r):typeof r=="string"&&r.trim()!==""?Number.isInteger(Number(r)):!1;ps.find=(r,e)=>r.nodes.find(t=>t.type===e);ps.exceedsLimit=(r,e,t=1,i)=>i===!1||!ps.isInteger(r)||!ps.isInteger(e)?!1:(Number(e)-Number(r))/Number(t)>=i;ps.escapeNode=(r,e=0,t)=>{let i=r.nodes[e];!i||(t&&i.type===t||i.type==="open"||i.type==="close")&&i.escaped!==!0&&(i.value="\\"+i.value,i.escaped=!0)};ps.encloseBrace=r=>r.type!=="brace"?!1:r.commas>>0+r.ranges>>0===0?(r.invalid=!0,!0):!1;ps.isInvalidBrace=r=>r.type!=="brace"?!1:r.invalid===!0||r.dollar?!0:r.commas>>0+r.ranges>>0===0||r.open!==!0||r.close!==!0?(r.invalid=!0,!0):!1;ps.isOpenOrClose=r=>r.type==="open"||r.type==="close"?!0:r.open===!0||r.close===!0;ps.reduce=r=>r.reduce((e,t)=>(t.type==="text"&&e.push(t.value),t.type==="range"&&(t.type="text"),e),[]);ps.flatten=(...r)=>{let e=[],t=i=>{for(let n=0;n{"use strict";var jJ=Ty();qJ.exports=(r,e={})=>{let t=(i,n={})=>{let s=e.escapeInvalid&&jJ.isInvalidBrace(n),o=i.invalid===!0&&e.escapeInvalid===!0,a="";if(i.value)return(s||o)&&jJ.isOpenOrClose(i)?"\\"+i.value:i.value;if(i.value)return i.value;if(i.nodes)for(let l of i.nodes)a+=t(l);return a};return t(r)}});var WJ=w((_et,JJ)=>{"use strict";JJ.exports=function(r){return typeof r=="number"?r-r===0:typeof r=="string"&&r.trim()!==""?Number.isFinite?Number.isFinite(+r):isFinite(+r):!1}});var rW=w(($et,tW)=>{"use strict";var zJ=WJ(),dc=(r,e,t)=>{if(zJ(r)===!1)throw new TypeError("toRegexRange: expected the first argument to be a number");if(e===void 0||r===e)return String(r);if(zJ(e)===!1)throw new TypeError("toRegexRange: expected the second argument to be a number.");let i={relaxZeros:!0,...t};typeof i.strictZeros=="boolean"&&(i.relaxZeros=i.strictZeros===!1);let n=String(i.relaxZeros),s=String(i.shorthand),o=String(i.capture),a=String(i.wrap),l=r+":"+e+"="+n+s+o+a;if(dc.cache.hasOwnProperty(l))return dc.cache[l].result;let c=Math.min(r,e),u=Math.max(r,e);if(Math.abs(c-u)===1){let C=r+"|"+e;return i.capture?`(${C})`:i.wrap===!1?C:`(?:${C})`}let g=eW(r)||eW(e),f={min:r,max:e,a:c,b:u},h=[],p=[];if(g&&(f.isPadded=g,f.maxLen=String(f.max).length),c<0){let C=u<0?Math.abs(u):1;p=VJ(C,Math.abs(c),f,i),c=f.a=0}return u>=0&&(h=VJ(c,u,f,i)),f.negatives=p,f.positives=h,f.result=Twe(p,h,i),i.capture===!0?f.result=`(${f.result})`:i.wrap!==!1&&h.length+p.length>1&&(f.result=`(?:${f.result})`),dc.cache[l]=f,f.result};function Twe(r,e,t){let i=Bx(r,e,"-",!1,t)||[],n=Bx(e,r,"",!1,t)||[],s=Bx(r,e,"-?",!0,t)||[];return i.concat(s).concat(n).join("|")}function Owe(r,e){let t=1,i=1,n=ZJ(r,t),s=new Set([e]);for(;r<=n&&n<=e;)s.add(n),t+=1,n=ZJ(r,t);for(n=_J(e+1,i)-1;r1&&a.count.pop(),a.count.push(u.count[0]),a.string=a.pattern+$J(a.count),o=c+1;continue}t.isPadded&&(g=Gwe(c,t,i)),u.string=g+u.pattern+$J(u.count),s.push(u),o=c+1,a=u}return s}function Bx(r,e,t,i,n){let s=[];for(let o of r){let{string:a}=o;!i&&!XJ(e,"string",a)&&s.push(t+a),i&&XJ(e,"string",a)&&s.push(t+a)}return s}function Kwe(r,e){let t=[];for(let i=0;ie?1:e>r?-1:0}function XJ(r,e,t){return r.some(i=>i[e]===t)}function ZJ(r,e){return Number(String(r).slice(0,-e)+"9".repeat(e))}function _J(r,e){return r-r%Math.pow(10,e)}function $J(r){let[e=0,t=""]=r;return t||e>1?`{${e+(t?","+t:"")}}`:""}function Hwe(r,e,t){return`[${r}${e-r===1?"":"-"}${e}]`}function eW(r){return/^-?(0+)\d/.test(r)}function Gwe(r,e,t){if(!e.isPadded)return r;let i=Math.abs(e.maxLen-String(r).length),n=t.relaxZeros!==!1;switch(i){case 0:return"";case 1:return n?"0?":"0";case 2:return n?"0{0,2}":"00";default:return n?`0{0,${i}}`:`0{${i}}`}}dc.cache={};dc.clearCache=()=>dc.cache={};tW.exports=dc});var Sx=w((ett,cW)=>{"use strict";var Ywe=J("util"),sW=rW(),iW=r=>r!==null&&typeof r=="object"&&!Array.isArray(r),jwe=r=>e=>r===!0?Number(e):String(e),Qx=r=>typeof r=="number"||typeof r=="string"&&r!=="",Kd=r=>Number.isInteger(+r),bx=r=>{let e=`${r}`,t=-1;if(e[0]==="-"&&(e=e.slice(1)),e==="0")return!1;for(;e[++t]==="0";);return t>0},qwe=(r,e,t)=>typeof r=="string"||typeof e=="string"?!0:t.stringify===!0,Jwe=(r,e,t)=>{if(e>0){let i=r[0]==="-"?"-":"";i&&(r=r.slice(1)),r=i+r.padStart(i?e-1:e,"0")}return t===!1?String(r):r},nW=(r,e)=>{let t=r[0]==="-"?"-":"";for(t&&(r=r.slice(1),e--);r.length{r.negatives.sort((o,a)=>oa?1:0),r.positives.sort((o,a)=>oa?1:0);let t=e.capture?"":"?:",i="",n="",s;return r.positives.length&&(i=r.positives.join("|")),r.negatives.length&&(n=`-(${t}${r.negatives.join("|")})`),i&&n?s=`${i}|${n}`:s=i||n,e.wrap?`(${t}${s})`:s},oW=(r,e,t,i)=>{if(t)return sW(r,e,{wrap:!1,...i});let n=String.fromCharCode(r);if(r===e)return n;let s=String.fromCharCode(e);return`[${n}-${s}]`},aW=(r,e,t)=>{if(Array.isArray(r)){let i=t.wrap===!0,n=t.capture?"":"?:";return i?`(${n}${r.join("|")})`:r.join("|")}return sW(r,e,t)},AW=(...r)=>new RangeError("Invalid range arguments: "+Ywe.inspect(...r)),lW=(r,e,t)=>{if(t.strictRanges===!0)throw AW([r,e]);return[]},zwe=(r,e)=>{if(e.strictRanges===!0)throw new TypeError(`Expected step "${r}" to be a number`);return[]},Vwe=(r,e,t=1,i={})=>{let n=Number(r),s=Number(e);if(!Number.isInteger(n)||!Number.isInteger(s)){if(i.strictRanges===!0)throw AW([r,e]);return[]}n===0&&(n=0),s===0&&(s=0);let o=n>s,a=String(r),l=String(e),c=String(t);t=Math.max(Math.abs(t),1);let u=bx(a)||bx(l)||bx(c),g=u?Math.max(a.length,l.length,c.length):0,f=u===!1&&qwe(r,e,i)===!1,h=i.transform||jwe(f);if(i.toRegex&&t===1)return oW(nW(r,g),nW(e,g),!0,i);let p={negatives:[],positives:[]},C=v=>p[v<0?"negatives":"positives"].push(Math.abs(v)),y=[],B=0;for(;o?n>=s:n<=s;)i.toRegex===!0&&t>1?C(n):y.push(Jwe(h(n,B),g,f)),n=o?n-t:n+t,B++;return i.toRegex===!0?t>1?Wwe(p,i):aW(y,null,{wrap:!1,...i}):y},Xwe=(r,e,t=1,i={})=>{if(!Kd(r)&&r.length>1||!Kd(e)&&e.length>1)return lW(r,e,i);let n=i.transform||(f=>String.fromCharCode(f)),s=`${r}`.charCodeAt(0),o=`${e}`.charCodeAt(0),a=s>o,l=Math.min(s,o),c=Math.max(s,o);if(i.toRegex&&t===1)return oW(l,c,!1,i);let u=[],g=0;for(;a?s>=o:s<=o;)u.push(n(s,g)),s=a?s-t:s+t,g++;return i.toRegex===!0?aW(u,null,{wrap:!1,options:i}):u},My=(r,e,t,i={})=>{if(e==null&&Qx(r))return[r];if(!Qx(r)||!Qx(e))return lW(r,e,i);if(typeof t=="function")return My(r,e,1,{transform:t});if(iW(t))return My(r,e,0,t);let n={...i};return n.capture===!0&&(n.wrap=!0),t=t||n.step||1,Kd(t)?Kd(r)&&Kd(e)?Vwe(r,e,t,n):Xwe(r,e,Math.max(Math.abs(t),1),n):t!=null&&!iW(t)?zwe(t,n):My(r,e,1,t)};cW.exports=My});var fW=w((ttt,gW)=>{"use strict";var Zwe=Sx(),uW=Ty(),_we=(r,e={})=>{let t=(i,n={})=>{let s=uW.isInvalidBrace(n),o=i.invalid===!0&&e.escapeInvalid===!0,a=s===!0||o===!0,l=e.escapeInvalid===!0?"\\":"",c="";if(i.isOpen===!0||i.isClose===!0)return l+i.value;if(i.type==="open")return a?l+i.value:"(";if(i.type==="close")return a?l+i.value:")";if(i.type==="comma")return i.prev.type==="comma"?"":a?i.value:"|";if(i.value)return i.value;if(i.nodes&&i.ranges>0){let u=uW.reduce(i.nodes),g=Zwe(...u,{...e,wrap:!1,toRegex:!0});if(g.length!==0)return u.length>1&&g.length>1?`(${g})`:g}if(i.nodes)for(let u of i.nodes)c+=t(u,i);return c};return t(r)};gW.exports=_we});var dW=w((rtt,pW)=>{"use strict";var $we=Sx(),hW=Oy(),lf=Ty(),Cc=(r="",e="",t=!1)=>{let i=[];if(r=[].concat(r),e=[].concat(e),!e.length)return r;if(!r.length)return t?lf.flatten(e).map(n=>`{${n}}`):e;for(let n of r)if(Array.isArray(n))for(let s of n)i.push(Cc(s,e,t));else for(let s of e)t===!0&&typeof s=="string"&&(s=`{${s}}`),i.push(Array.isArray(s)?Cc(n,s,t):n+s);return lf.flatten(i)},eBe=(r,e={})=>{let t=e.rangeLimit===void 0?1e3:e.rangeLimit,i=(n,s={})=>{n.queue=[];let o=s,a=s.queue;for(;o.type!=="brace"&&o.type!=="root"&&o.parent;)o=o.parent,a=o.queue;if(n.invalid||n.dollar){a.push(Cc(a.pop(),hW(n,e)));return}if(n.type==="brace"&&n.invalid!==!0&&n.nodes.length===2){a.push(Cc(a.pop(),["{}"]));return}if(n.nodes&&n.ranges>0){let g=lf.reduce(n.nodes);if(lf.exceedsLimit(...g,e.step,t))throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");let f=$we(...g,e);f.length===0&&(f=hW(n,e)),a.push(Cc(a.pop(),f)),n.nodes=[];return}let l=lf.encloseBrace(n),c=n.queue,u=n;for(;u.type!=="brace"&&u.type!=="root"&&u.parent;)u=u.parent,c=u.queue;for(let g=0;g{"use strict";CW.exports={MAX_LENGTH:1024*64,CHAR_0:"0",CHAR_9:"9",CHAR_UPPERCASE_A:"A",CHAR_LOWERCASE_A:"a",CHAR_UPPERCASE_Z:"Z",CHAR_LOWERCASE_Z:"z",CHAR_LEFT_PARENTHESES:"(",CHAR_RIGHT_PARENTHESES:")",CHAR_ASTERISK:"*",CHAR_AMPERSAND:"&",CHAR_AT:"@",CHAR_BACKSLASH:"\\",CHAR_BACKTICK:"`",CHAR_CARRIAGE_RETURN:"\r",CHAR_CIRCUMFLEX_ACCENT:"^",CHAR_COLON:":",CHAR_COMMA:",",CHAR_DOLLAR:"$",CHAR_DOT:".",CHAR_DOUBLE_QUOTE:'"',CHAR_EQUAL:"=",CHAR_EXCLAMATION_MARK:"!",CHAR_FORM_FEED:"\f",CHAR_FORWARD_SLASH:"/",CHAR_HASH:"#",CHAR_HYPHEN_MINUS:"-",CHAR_LEFT_ANGLE_BRACKET:"<",CHAR_LEFT_CURLY_BRACE:"{",CHAR_LEFT_SQUARE_BRACKET:"[",CHAR_LINE_FEED:` +`,CHAR_NO_BREAK_SPACE:"\xA0",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:" ",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}});var BW=w((ntt,wW)=>{"use strict";var tBe=Oy(),{MAX_LENGTH:EW,CHAR_BACKSLASH:vx,CHAR_BACKTICK:rBe,CHAR_COMMA:iBe,CHAR_DOT:nBe,CHAR_LEFT_PARENTHESES:sBe,CHAR_RIGHT_PARENTHESES:oBe,CHAR_LEFT_CURLY_BRACE:aBe,CHAR_RIGHT_CURLY_BRACE:ABe,CHAR_LEFT_SQUARE_BRACKET:IW,CHAR_RIGHT_SQUARE_BRACKET:yW,CHAR_DOUBLE_QUOTE:lBe,CHAR_SINGLE_QUOTE:cBe,CHAR_NO_BREAK_SPACE:uBe,CHAR_ZERO_WIDTH_NOBREAK_SPACE:gBe}=mW(),fBe=(r,e={})=>{if(typeof r!="string")throw new TypeError("Expected a string");let t=e||{},i=typeof t.maxLength=="number"?Math.min(EW,t.maxLength):EW;if(r.length>i)throw new SyntaxError(`Input length (${r.length}), exceeds max characters (${i})`);let n={type:"root",input:r,nodes:[]},s=[n],o=n,a=n,l=0,c=r.length,u=0,g=0,f,h={},p=()=>r[u++],C=y=>{if(y.type==="text"&&a.type==="dot"&&(a.type="text"),a&&a.type==="text"&&y.type==="text"){a.value+=y.value;return}return o.nodes.push(y),y.parent=o,y.prev=a,a=y,y};for(C({type:"bos"});u0){if(o.ranges>0){o.ranges=0;let y=o.nodes.shift();o.nodes=[y,{type:"text",value:tBe(o)}]}C({type:"comma",value:f}),o.commas++;continue}if(f===nBe&&g>0&&o.commas===0){let y=o.nodes;if(g===0||y.length===0){C({type:"text",value:f});continue}if(a.type==="dot"){if(o.range=[],a.value+=f,a.type="range",o.nodes.length!==3&&o.nodes.length!==5){o.invalid=!0,o.ranges=0,a.type="text";continue}o.ranges++,o.args=[];continue}if(a.type==="range"){y.pop();let B=y[y.length-1];B.value+=a.value+f,a=B,o.ranges--;continue}C({type:"dot",value:f});continue}C({type:"text",value:f})}do if(o=s.pop(),o.type!=="root"){o.nodes.forEach(v=>{v.nodes||(v.type==="open"&&(v.isOpen=!0),v.type==="close"&&(v.isClose=!0),v.nodes||(v.type="text"),v.invalid=!0)});let y=s[s.length-1],B=y.nodes.indexOf(o);y.nodes.splice(B,1,...o.nodes)}while(s.length>0);return C({type:"eos"}),n};wW.exports=fBe});var SW=w((stt,bW)=>{"use strict";var QW=Oy(),hBe=fW(),pBe=dW(),dBe=BW(),jn=(r,e={})=>{let t=[];if(Array.isArray(r))for(let i of r){let n=jn.create(i,e);Array.isArray(n)?t.push(...n):t.push(n)}else t=[].concat(jn.create(r,e));return e&&e.expand===!0&&e.nodupes===!0&&(t=[...new Set(t)]),t};jn.parse=(r,e={})=>dBe(r,e);jn.stringify=(r,e={})=>QW(typeof r=="string"?jn.parse(r,e):r,e);jn.compile=(r,e={})=>(typeof r=="string"&&(r=jn.parse(r,e)),hBe(r,e));jn.expand=(r,e={})=>{typeof r=="string"&&(r=jn.parse(r,e));let t=pBe(r,e);return e.noempty===!0&&(t=t.filter(Boolean)),e.nodupes===!0&&(t=[...new Set(t)]),t};jn.create=(r,e={})=>r===""||r.length<3?[r]:e.expand!==!0?jn.compile(r,e):jn.expand(r,e);bW.exports=jn});var Ud=w((ott,kW)=>{"use strict";var CBe=J("path"),Mo="\\\\/",vW=`[^${Mo}]`,Ra="\\.",mBe="\\+",EBe="\\?",Ky="\\/",IBe="(?=.)",xW="[^/]",xx=`(?:${Ky}|$)`,PW=`(?:^|${Ky})`,Px=`${Ra}{1,2}${xx}`,yBe=`(?!${Ra})`,wBe=`(?!${PW}${Px})`,BBe=`(?!${Ra}{0,1}${xx})`,QBe=`(?!${Px})`,bBe=`[^.${Ky}]`,SBe=`${xW}*?`,DW={DOT_LITERAL:Ra,PLUS_LITERAL:mBe,QMARK_LITERAL:EBe,SLASH_LITERAL:Ky,ONE_CHAR:IBe,QMARK:xW,END_ANCHOR:xx,DOTS_SLASH:Px,NO_DOT:yBe,NO_DOTS:wBe,NO_DOT_SLASH:BBe,NO_DOTS_SLASH:QBe,QMARK_NO_DOT:bBe,STAR:SBe,START_ANCHOR:PW},vBe={...DW,SLASH_LITERAL:`[${Mo}]`,QMARK:vW,STAR:`${vW}*?`,DOTS_SLASH:`${Ra}{1,2}(?:[${Mo}]|$)`,NO_DOT:`(?!${Ra})`,NO_DOTS:`(?!(?:^|[${Mo}])${Ra}{1,2}(?:[${Mo}]|$))`,NO_DOT_SLASH:`(?!${Ra}{0,1}(?:[${Mo}]|$))`,NO_DOTS_SLASH:`(?!${Ra}{1,2}(?:[${Mo}]|$))`,QMARK_NO_DOT:`[^.${Mo}]`,START_ANCHOR:`(?:^|[${Mo}])`,END_ANCHOR:`(?:[${Mo}]|$)`},xBe={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};kW.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:xBe,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:CBe.sep,extglobChars(r){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${r.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(r){return r===!0?vBe:DW}}});var Hd=w(In=>{"use strict";var PBe=J("path"),DBe=process.platform==="win32",{REGEX_BACKSLASH:kBe,REGEX_REMOVE_BACKSLASH:RBe,REGEX_SPECIAL_CHARS:FBe,REGEX_SPECIAL_CHARS_GLOBAL:NBe}=Ud();In.isObject=r=>r!==null&&typeof r=="object"&&!Array.isArray(r);In.hasRegexChars=r=>FBe.test(r);In.isRegexChar=r=>r.length===1&&In.hasRegexChars(r);In.escapeRegex=r=>r.replace(NBe,"\\$1");In.toPosixSlashes=r=>r.replace(kBe,"/");In.removeBackslashes=r=>r.replace(RBe,e=>e==="\\"?"":e);In.supportsLookbehinds=()=>{let r=process.version.slice(1).split(".").map(Number);return r.length===3&&r[0]>=9||r[0]===8&&r[1]>=10};In.isWindows=r=>r&&typeof r.windows=="boolean"?r.windows:DBe===!0||PBe.sep==="\\";In.escapeLast=(r,e,t)=>{let i=r.lastIndexOf(e,t);return i===-1?r:r[i-1]==="\\"?In.escapeLast(r,e,i-1):`${r.slice(0,i)}\\${r.slice(i)}`};In.removePrefix=(r,e={})=>{let t=r;return t.startsWith("./")&&(t=t.slice(2),e.prefix="./"),t};In.wrapOutput=(r,e={},t={})=>{let i=t.contains?"":"^",n=t.contains?"":"$",s=`${i}(?:${r})${n}`;return e.negated===!0&&(s=`(?:^(?!${s}).*$)`),s}});var KW=w((Att,MW)=>{"use strict";var RW=Hd(),{CHAR_ASTERISK:Dx,CHAR_AT:LBe,CHAR_BACKWARD_SLASH:Gd,CHAR_COMMA:TBe,CHAR_DOT:kx,CHAR_EXCLAMATION_MARK:Rx,CHAR_FORWARD_SLASH:OW,CHAR_LEFT_CURLY_BRACE:Fx,CHAR_LEFT_PARENTHESES:Nx,CHAR_LEFT_SQUARE_BRACKET:OBe,CHAR_PLUS:MBe,CHAR_QUESTION_MARK:FW,CHAR_RIGHT_CURLY_BRACE:KBe,CHAR_RIGHT_PARENTHESES:NW,CHAR_RIGHT_SQUARE_BRACKET:UBe}=Ud(),LW=r=>r===OW||r===Gd,TW=r=>{r.isPrefix!==!0&&(r.depth=r.isGlobstar?1/0:1)},HBe=(r,e)=>{let t=e||{},i=r.length-1,n=t.parts===!0||t.scanToEnd===!0,s=[],o=[],a=[],l=r,c=-1,u=0,g=0,f=!1,h=!1,p=!1,C=!1,y=!1,B=!1,v=!1,D=!1,L=!1,H=!1,j=0,$,V,W={value:"",depth:0,isGlob:!1},_=()=>c>=i,A=()=>l.charCodeAt(c+1),ae=()=>($=V,l.charCodeAt(++c));for(;c0&&(re=l.slice(0,u),l=l.slice(u),g-=u),ge&&p===!0&&g>0?(ge=l.slice(0,g),O=l.slice(g)):p===!0?(ge="",O=l):ge=l,ge&&ge!==""&&ge!=="/"&&ge!==l&&LW(ge.charCodeAt(ge.length-1))&&(ge=ge.slice(0,-1)),t.unescape===!0&&(O&&(O=RW.removeBackslashes(O)),ge&&v===!0&&(ge=RW.removeBackslashes(ge)));let F={prefix:re,input:r,start:u,base:ge,glob:O,isBrace:f,isBracket:h,isGlob:p,isExtglob:C,isGlobstar:y,negated:D,negatedExtglob:L};if(t.tokens===!0&&(F.maxDepth=0,LW(V)||o.push(W),F.tokens=o),t.parts===!0||t.tokens===!0){let ue;for(let he=0;he{"use strict";var Uy=Ud(),qn=Hd(),{MAX_LENGTH:Hy,POSIX_REGEX_SOURCE:GBe,REGEX_NON_SPECIAL_CHARS:YBe,REGEX_SPECIAL_CHARS_BACKREF:jBe,REPLACEMENTS:UW}=Uy,qBe=(r,e)=>{if(typeof e.expandRange=="function")return e.expandRange(...r,e);r.sort();let t=`[${r.join("-")}]`;try{new RegExp(t)}catch{return r.map(n=>qn.escapeRegex(n)).join("..")}return t},cf=(r,e)=>`Missing ${r}: "${e}" - use "\\\\${e}" to match literal characters`,Lx=(r,e)=>{if(typeof r!="string")throw new TypeError("Expected a string");r=UW[r]||r;let t={...e},i=typeof t.maxLength=="number"?Math.min(Hy,t.maxLength):Hy,n=r.length;if(n>i)throw new SyntaxError(`Input length: ${n}, exceeds maximum allowed length: ${i}`);let s={type:"bos",value:"",output:t.prepend||""},o=[s],a=t.capture?"":"?:",l=qn.isWindows(e),c=Uy.globChars(l),u=Uy.extglobChars(c),{DOT_LITERAL:g,PLUS_LITERAL:f,SLASH_LITERAL:h,ONE_CHAR:p,DOTS_SLASH:C,NO_DOT:y,NO_DOT_SLASH:B,NO_DOTS_SLASH:v,QMARK:D,QMARK_NO_DOT:L,STAR:H,START_ANCHOR:j}=c,$=Y=>`(${a}(?:(?!${j}${Y.dot?C:g}).)*?)`,V=t.dot?"":y,W=t.dot?D:L,_=t.bash===!0?$(t):H;t.capture&&(_=`(${_})`),typeof t.noext=="boolean"&&(t.noextglob=t.noext);let A={input:r,index:-1,start:0,dot:t.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:o};r=qn.removePrefix(r,A),n=r.length;let ae=[],ge=[],re=[],O=s,F,ue=()=>A.index===n-1,he=A.peek=(Y=1)=>r[A.index+Y],ke=A.advance=()=>r[++A.index]||"",Fe=()=>r.slice(A.index+1),Ne=(Y="",pe=0)=>{A.consumed+=Y,A.index+=pe},oe=Y=>{A.output+=Y.output!=null?Y.output:Y.value,Ne(Y.value)},le=()=>{let Y=1;for(;he()==="!"&&(he(2)!=="("||he(3)==="?");)ke(),A.start++,Y++;return Y%2===0?!1:(A.negated=!0,A.start++,!0)},we=Y=>{A[Y]++,re.push(Y)},fe=Y=>{A[Y]--,re.pop()},Ae=Y=>{if(O.type==="globstar"){let pe=A.braces>0&&(Y.type==="comma"||Y.type==="brace"),ie=Y.extglob===!0||ae.length&&(Y.type==="pipe"||Y.type==="paren");Y.type!=="slash"&&Y.type!=="paren"&&!pe&&!ie&&(A.output=A.output.slice(0,-O.output.length),O.type="star",O.value="*",O.output=_,A.output+=O.output)}if(ae.length&&Y.type!=="paren"&&(ae[ae.length-1].inner+=Y.value),(Y.value||Y.output)&&oe(Y),O&&O.type==="text"&&Y.type==="text"){O.value+=Y.value,O.output=(O.output||"")+Y.value;return}Y.prev=O,o.push(Y),O=Y},qe=(Y,pe)=>{let ie={...u[pe],conditions:1,inner:""};ie.prev=O,ie.parens=A.parens,ie.output=A.output;let de=(t.capture?"(":"")+ie.open;we("parens"),Ae({type:Y,value:pe,output:A.output?"":p}),Ae({type:"paren",extglob:!0,value:ke(),output:de}),ae.push(ie)},ne=Y=>{let pe=Y.close+(t.capture?")":""),ie;if(Y.type==="negate"){let de=_;if(Y.inner&&Y.inner.length>1&&Y.inner.includes("/")&&(de=$(t)),(de!==_||ue()||/^\)+$/.test(Fe()))&&(pe=Y.close=`)$))${de}`),Y.inner.includes("*")&&(ie=Fe())&&/^\.[^\\/.]+$/.test(ie)){let _e=Lx(ie,{...e,fastpaths:!1}).output;pe=Y.close=`)${_e})${de})`}Y.prev.type==="bos"&&(A.negatedExtglob=!0)}Ae({type:"paren",extglob:!0,value:F,output:pe}),fe("parens")};if(t.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(r)){let Y=!1,pe=r.replace(jBe,(ie,de,_e,Pt,It,Or)=>Pt==="\\"?(Y=!0,ie):Pt==="?"?de?de+Pt+(It?D.repeat(It.length):""):Or===0?W+(It?D.repeat(It.length):""):D.repeat(_e.length):Pt==="."?g.repeat(_e.length):Pt==="*"?de?de+Pt+(It?_:""):_:de?ie:`\\${ie}`);return Y===!0&&(t.unescape===!0?pe=pe.replace(/\\/g,""):pe=pe.replace(/\\+/g,ie=>ie.length%2===0?"\\\\":ie?"\\":"")),pe===r&&t.contains===!0?(A.output=r,A):(A.output=qn.wrapOutput(pe,A,e),A)}for(;!ue();){if(F=ke(),F==="\0")continue;if(F==="\\"){let ie=he();if(ie==="/"&&t.bash!==!0||ie==="."||ie===";")continue;if(!ie){F+="\\",Ae({type:"text",value:F});continue}let de=/^\\+/.exec(Fe()),_e=0;if(de&&de[0].length>2&&(_e=de[0].length,A.index+=_e,_e%2!==0&&(F+="\\")),t.unescape===!0?F=ke():F+=ke(),A.brackets===0){Ae({type:"text",value:F});continue}}if(A.brackets>0&&(F!=="]"||O.value==="["||O.value==="[^")){if(t.posix!==!1&&F===":"){let ie=O.value.slice(1);if(ie.includes("[")&&(O.posix=!0,ie.includes(":"))){let de=O.value.lastIndexOf("["),_e=O.value.slice(0,de),Pt=O.value.slice(de+2),It=GBe[Pt];if(It){O.value=_e+It,A.backtrack=!0,ke(),!s.output&&o.indexOf(O)===1&&(s.output=p);continue}}}(F==="["&&he()!==":"||F==="-"&&he()==="]")&&(F=`\\${F}`),F==="]"&&(O.value==="["||O.value==="[^")&&(F=`\\${F}`),t.posix===!0&&F==="!"&&O.value==="["&&(F="^"),O.value+=F,oe({value:F});continue}if(A.quotes===1&&F!=='"'){F=qn.escapeRegex(F),O.value+=F,oe({value:F});continue}if(F==='"'){A.quotes=A.quotes===1?0:1,t.keepQuotes===!0&&Ae({type:"text",value:F});continue}if(F==="("){we("parens"),Ae({type:"paren",value:F});continue}if(F===")"){if(A.parens===0&&t.strictBrackets===!0)throw new SyntaxError(cf("opening","("));let ie=ae[ae.length-1];if(ie&&A.parens===ie.parens+1){ne(ae.pop());continue}Ae({type:"paren",value:F,output:A.parens?")":"\\)"}),fe("parens");continue}if(F==="["){if(t.nobracket===!0||!Fe().includes("]")){if(t.nobracket!==!0&&t.strictBrackets===!0)throw new SyntaxError(cf("closing","]"));F=`\\${F}`}else we("brackets");Ae({type:"bracket",value:F});continue}if(F==="]"){if(t.nobracket===!0||O&&O.type==="bracket"&&O.value.length===1){Ae({type:"text",value:F,output:`\\${F}`});continue}if(A.brackets===0){if(t.strictBrackets===!0)throw new SyntaxError(cf("opening","["));Ae({type:"text",value:F,output:`\\${F}`});continue}fe("brackets");let ie=O.value.slice(1);if(O.posix!==!0&&ie[0]==="^"&&!ie.includes("/")&&(F=`/${F}`),O.value+=F,oe({value:F}),t.literalBrackets===!1||qn.hasRegexChars(ie))continue;let de=qn.escapeRegex(O.value);if(A.output=A.output.slice(0,-O.value.length),t.literalBrackets===!0){A.output+=de,O.value=de;continue}O.value=`(${a}${de}|${O.value})`,A.output+=O.value;continue}if(F==="{"&&t.nobrace!==!0){we("braces");let ie={type:"brace",value:F,output:"(",outputIndex:A.output.length,tokensIndex:A.tokens.length};ge.push(ie),Ae(ie);continue}if(F==="}"){let ie=ge[ge.length-1];if(t.nobrace===!0||!ie){Ae({type:"text",value:F,output:F});continue}let de=")";if(ie.dots===!0){let _e=o.slice(),Pt=[];for(let It=_e.length-1;It>=0&&(o.pop(),_e[It].type!=="brace");It--)_e[It].type!=="dots"&&Pt.unshift(_e[It].value);de=qBe(Pt,t),A.backtrack=!0}if(ie.comma!==!0&&ie.dots!==!0){let _e=A.output.slice(0,ie.outputIndex),Pt=A.tokens.slice(ie.tokensIndex);ie.value=ie.output="\\{",F=de="\\}",A.output=_e;for(let It of Pt)A.output+=It.output||It.value}Ae({type:"brace",value:F,output:de}),fe("braces"),ge.pop();continue}if(F==="|"){ae.length>0&&ae[ae.length-1].conditions++,Ae({type:"text",value:F});continue}if(F===","){let ie=F,de=ge[ge.length-1];de&&re[re.length-1]==="braces"&&(de.comma=!0,ie="|"),Ae({type:"comma",value:F,output:ie});continue}if(F==="/"){if(O.type==="dot"&&A.index===A.start+1){A.start=A.index+1,A.consumed="",A.output="",o.pop(),O=s;continue}Ae({type:"slash",value:F,output:h});continue}if(F==="."){if(A.braces>0&&O.type==="dot"){O.value==="."&&(O.output=g);let ie=ge[ge.length-1];O.type="dots",O.output+=F,O.value+=F,ie.dots=!0;continue}if(A.braces+A.parens===0&&O.type!=="bos"&&O.type!=="slash"){Ae({type:"text",value:F,output:g});continue}Ae({type:"dot",value:F,output:g});continue}if(F==="?"){if(!(O&&O.value==="(")&&t.noextglob!==!0&&he()==="("&&he(2)!=="?"){qe("qmark",F);continue}if(O&&O.type==="paren"){let de=he(),_e=F;if(de==="<"&&!qn.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");(O.value==="("&&!/[!=<:]/.test(de)||de==="<"&&!/<([!=]|\w+>)/.test(Fe()))&&(_e=`\\${F}`),Ae({type:"text",value:F,output:_e});continue}if(t.dot!==!0&&(O.type==="slash"||O.type==="bos")){Ae({type:"qmark",value:F,output:L});continue}Ae({type:"qmark",value:F,output:D});continue}if(F==="!"){if(t.noextglob!==!0&&he()==="("&&(he(2)!=="?"||!/[!=<:]/.test(he(3)))){qe("negate",F);continue}if(t.nonegate!==!0&&A.index===0){le();continue}}if(F==="+"){if(t.noextglob!==!0&&he()==="("&&he(2)!=="?"){qe("plus",F);continue}if(O&&O.value==="("||t.regex===!1){Ae({type:"plus",value:F,output:f});continue}if(O&&(O.type==="bracket"||O.type==="paren"||O.type==="brace")||A.parens>0){Ae({type:"plus",value:F});continue}Ae({type:"plus",value:f});continue}if(F==="@"){if(t.noextglob!==!0&&he()==="("&&he(2)!=="?"){Ae({type:"at",extglob:!0,value:F,output:""});continue}Ae({type:"text",value:F});continue}if(F!=="*"){(F==="$"||F==="^")&&(F=`\\${F}`);let ie=YBe.exec(Fe());ie&&(F+=ie[0],A.index+=ie[0].length),Ae({type:"text",value:F});continue}if(O&&(O.type==="globstar"||O.star===!0)){O.type="star",O.star=!0,O.value+=F,O.output=_,A.backtrack=!0,A.globstar=!0,Ne(F);continue}let Y=Fe();if(t.noextglob!==!0&&/^\([^?]/.test(Y)){qe("star",F);continue}if(O.type==="star"){if(t.noglobstar===!0){Ne(F);continue}let ie=O.prev,de=ie.prev,_e=ie.type==="slash"||ie.type==="bos",Pt=de&&(de.type==="star"||de.type==="globstar");if(t.bash===!0&&(!_e||Y[0]&&Y[0]!=="/")){Ae({type:"star",value:F,output:""});continue}let It=A.braces>0&&(ie.type==="comma"||ie.type==="brace"),Or=ae.length&&(ie.type==="pipe"||ie.type==="paren");if(!_e&&ie.type!=="paren"&&!It&&!Or){Ae({type:"star",value:F,output:""});continue}for(;Y.slice(0,3)==="/**";){let ii=r[A.index+4];if(ii&&ii!=="/")break;Y=Y.slice(3),Ne("/**",3)}if(ie.type==="bos"&&ue()){O.type="globstar",O.value+=F,O.output=$(t),A.output=O.output,A.globstar=!0,Ne(F);continue}if(ie.type==="slash"&&ie.prev.type!=="bos"&&!Pt&&ue()){A.output=A.output.slice(0,-(ie.output+O.output).length),ie.output=`(?:${ie.output}`,O.type="globstar",O.output=$(t)+(t.strictSlashes?")":"|$)"),O.value+=F,A.globstar=!0,A.output+=ie.output+O.output,Ne(F);continue}if(ie.type==="slash"&&ie.prev.type!=="bos"&&Y[0]==="/"){let ii=Y[1]!==void 0?"|$":"";A.output=A.output.slice(0,-(ie.output+O.output).length),ie.output=`(?:${ie.output}`,O.type="globstar",O.output=`${$(t)}${h}|${h}${ii})`,O.value+=F,A.output+=ie.output+O.output,A.globstar=!0,Ne(F+ke()),Ae({type:"slash",value:"/",output:""});continue}if(ie.type==="bos"&&Y[0]==="/"){O.type="globstar",O.value+=F,O.output=`(?:^|${h}|${$(t)}${h})`,A.output=O.output,A.globstar=!0,Ne(F+ke()),Ae({type:"slash",value:"/",output:""});continue}A.output=A.output.slice(0,-O.output.length),O.type="globstar",O.output=$(t),O.value+=F,A.output+=O.output,A.globstar=!0,Ne(F);continue}let pe={type:"star",value:F,output:_};if(t.bash===!0){pe.output=".*?",(O.type==="bos"||O.type==="slash")&&(pe.output=V+pe.output),Ae(pe);continue}if(O&&(O.type==="bracket"||O.type==="paren")&&t.regex===!0){pe.output=F,Ae(pe);continue}(A.index===A.start||O.type==="slash"||O.type==="dot")&&(O.type==="dot"?(A.output+=B,O.output+=B):t.dot===!0?(A.output+=v,O.output+=v):(A.output+=V,O.output+=V),he()!=="*"&&(A.output+=p,O.output+=p)),Ae(pe)}for(;A.brackets>0;){if(t.strictBrackets===!0)throw new SyntaxError(cf("closing","]"));A.output=qn.escapeLast(A.output,"["),fe("brackets")}for(;A.parens>0;){if(t.strictBrackets===!0)throw new SyntaxError(cf("closing",")"));A.output=qn.escapeLast(A.output,"("),fe("parens")}for(;A.braces>0;){if(t.strictBrackets===!0)throw new SyntaxError(cf("closing","}"));A.output=qn.escapeLast(A.output,"{"),fe("braces")}if(t.strictSlashes!==!0&&(O.type==="star"||O.type==="bracket")&&Ae({type:"maybe_slash",value:"",output:`${h}?`}),A.backtrack===!0){A.output="";for(let Y of A.tokens)A.output+=Y.output!=null?Y.output:Y.value,Y.suffix&&(A.output+=Y.suffix)}return A};Lx.fastpaths=(r,e)=>{let t={...e},i=typeof t.maxLength=="number"?Math.min(Hy,t.maxLength):Hy,n=r.length;if(n>i)throw new SyntaxError(`Input length: ${n}, exceeds maximum allowed length: ${i}`);r=UW[r]||r;let s=qn.isWindows(e),{DOT_LITERAL:o,SLASH_LITERAL:a,ONE_CHAR:l,DOTS_SLASH:c,NO_DOT:u,NO_DOTS:g,NO_DOTS_SLASH:f,STAR:h,START_ANCHOR:p}=Uy.globChars(s),C=t.dot?g:u,y=t.dot?f:u,B=t.capture?"":"?:",v={negated:!1,prefix:""},D=t.bash===!0?".*?":h;t.capture&&(D=`(${D})`);let L=V=>V.noglobstar===!0?D:`(${B}(?:(?!${p}${V.dot?c:o}).)*?)`,H=V=>{switch(V){case"*":return`${C}${l}${D}`;case".*":return`${o}${l}${D}`;case"*.*":return`${C}${D}${o}${l}${D}`;case"*/*":return`${C}${D}${a}${l}${y}${D}`;case"**":return C+L(t);case"**/*":return`(?:${C}${L(t)}${a})?${y}${l}${D}`;case"**/*.*":return`(?:${C}${L(t)}${a})?${y}${D}${o}${l}${D}`;case"**/.*":return`(?:${C}${L(t)}${a})?${o}${l}${D}`;default:{let W=/^(.*?)\.(\w+)$/.exec(V);if(!W)return;let _=H(W[1]);return _?_+o+W[2]:void 0}}},j=qn.removePrefix(r,v),$=H(j);return $&&t.strictSlashes!==!0&&($+=`${a}?`),$};HW.exports=Lx});var jW=w((ctt,YW)=>{"use strict";var JBe=J("path"),WBe=KW(),Tx=GW(),Ox=Hd(),zBe=Ud(),VBe=r=>r&&typeof r=="object"&&!Array.isArray(r),Yr=(r,e,t=!1)=>{if(Array.isArray(r)){let u=r.map(f=>Yr(f,e,t));return f=>{for(let h of u){let p=h(f);if(p)return p}return!1}}let i=VBe(r)&&r.tokens&&r.input;if(r===""||typeof r!="string"&&!i)throw new TypeError("Expected pattern to be a non-empty string");let n=e||{},s=Ox.isWindows(e),o=i?Yr.compileRe(r,e):Yr.makeRe(r,e,!1,!0),a=o.state;delete o.state;let l=()=>!1;if(n.ignore){let u={...e,ignore:null,onMatch:null,onResult:null};l=Yr(n.ignore,u,t)}let c=(u,g=!1)=>{let{isMatch:f,match:h,output:p}=Yr.test(u,o,e,{glob:r,posix:s}),C={glob:r,state:a,regex:o,posix:s,input:u,output:p,match:h,isMatch:f};return typeof n.onResult=="function"&&n.onResult(C),f===!1?(C.isMatch=!1,g?C:!1):l(u)?(typeof n.onIgnore=="function"&&n.onIgnore(C),C.isMatch=!1,g?C:!1):(typeof n.onMatch=="function"&&n.onMatch(C),g?C:!0)};return t&&(c.state=a),c};Yr.test=(r,e,t,{glob:i,posix:n}={})=>{if(typeof r!="string")throw new TypeError("Expected input to be a string");if(r==="")return{isMatch:!1,output:""};let s=t||{},o=s.format||(n?Ox.toPosixSlashes:null),a=r===i,l=a&&o?o(r):r;return a===!1&&(l=o?o(r):r,a=l===i),(a===!1||s.capture===!0)&&(s.matchBase===!0||s.basename===!0?a=Yr.matchBase(r,e,t,n):a=e.exec(l)),{isMatch:Boolean(a),match:a,output:l}};Yr.matchBase=(r,e,t,i=Ox.isWindows(t))=>(e instanceof RegExp?e:Yr.makeRe(e,t)).test(JBe.basename(r));Yr.isMatch=(r,e,t)=>Yr(e,t)(r);Yr.parse=(r,e)=>Array.isArray(r)?r.map(t=>Yr.parse(t,e)):Tx(r,{...e,fastpaths:!1});Yr.scan=(r,e)=>WBe(r,e);Yr.compileRe=(r,e,t=!1,i=!1)=>{if(t===!0)return r.output;let n=e||{},s=n.contains?"":"^",o=n.contains?"":"$",a=`${s}(?:${r.output})${o}`;r&&r.negated===!0&&(a=`^(?!${a}).*$`);let l=Yr.toRegex(a,e);return i===!0&&(l.state=r),l};Yr.makeRe=(r,e={},t=!1,i=!1)=>{if(!r||typeof r!="string")throw new TypeError("Expected a non-empty string");let n={negated:!1,fastpaths:!0};return e.fastpaths!==!1&&(r[0]==="."||r[0]==="*")&&(n.output=Tx.fastpaths(r,e)),n.output||(n=Tx(r,e)),Yr.compileRe(n,e,t,i)};Yr.toRegex=(r,e)=>{try{let t=e||{};return new RegExp(r,t.flags||(t.nocase?"i":""))}catch(t){if(e&&e.debug===!0)throw t;return/$^/}};Yr.constants=zBe;YW.exports=Yr});var Mx=w((utt,qW)=>{"use strict";qW.exports=jW()});var yn=w((gtt,VW)=>{"use strict";var WW=J("util"),zW=SW(),Ko=Mx(),Kx=Hd(),JW=r=>r===""||r==="./",Sr=(r,e,t)=>{e=[].concat(e),r=[].concat(r);let i=new Set,n=new Set,s=new Set,o=0,a=u=>{s.add(u.output),t&&t.onResult&&t.onResult(u)};for(let u=0;u!i.has(u));if(t&&c.length===0){if(t.failglob===!0)throw new Error(`No matches found for "${e.join(", ")}"`);if(t.nonull===!0||t.nullglob===!0)return t.unescape?e.map(u=>u.replace(/\\/g,"")):e}return c};Sr.match=Sr;Sr.matcher=(r,e)=>Ko(r,e);Sr.isMatch=(r,e,t)=>Ko(e,t)(r);Sr.any=Sr.isMatch;Sr.not=(r,e,t={})=>{e=[].concat(e).map(String);let i=new Set,n=[],o=Sr(r,e,{...t,onResult:a=>{t.onResult&&t.onResult(a),n.push(a.output)}});for(let a of n)o.includes(a)||i.add(a);return[...i]};Sr.contains=(r,e,t)=>{if(typeof r!="string")throw new TypeError(`Expected a string: "${WW.inspect(r)}"`);if(Array.isArray(e))return e.some(i=>Sr.contains(r,i,t));if(typeof e=="string"){if(JW(r)||JW(e))return!1;if(r.includes(e)||r.startsWith("./")&&r.slice(2).includes(e))return!0}return Sr.isMatch(r,e,{...t,contains:!0})};Sr.matchKeys=(r,e,t)=>{if(!Kx.isObject(r))throw new TypeError("Expected the first argument to be an object");let i=Sr(Object.keys(r),e,t),n={};for(let s of i)n[s]=r[s];return n};Sr.some=(r,e,t)=>{let i=[].concat(r);for(let n of[].concat(e)){let s=Ko(String(n),t);if(i.some(o=>s(o)))return!0}return!1};Sr.every=(r,e,t)=>{let i=[].concat(r);for(let n of[].concat(e)){let s=Ko(String(n),t);if(!i.every(o=>s(o)))return!1}return!0};Sr.all=(r,e,t)=>{if(typeof r!="string")throw new TypeError(`Expected a string: "${WW.inspect(r)}"`);return[].concat(e).every(i=>Ko(i,t)(r))};Sr.capture=(r,e,t)=>{let i=Kx.isWindows(t),s=Ko.makeRe(String(r),{...t,capture:!0}).exec(i?Kx.toPosixSlashes(e):e);if(s)return s.slice(1).map(o=>o===void 0?"":o)};Sr.makeRe=(...r)=>Ko.makeRe(...r);Sr.scan=(...r)=>Ko.scan(...r);Sr.parse=(r,e)=>{let t=[];for(let i of[].concat(r||[]))for(let n of zW(String(i),e))t.push(Ko.parse(n,e));return t};Sr.braces=(r,e)=>{if(typeof r!="string")throw new TypeError("Expected a string");return e&&e.nobrace===!0||!/\{.*\}/.test(r)?[r]:zW(r,e)};Sr.braceExpand=(r,e)=>{if(typeof r!="string")throw new TypeError("Expected a string");return Sr.braces(r,{...e,expand:!0})};VW.exports=Sr});var ZW=w((ftt,XW)=>{"use strict";XW.exports=({onlyFirst:r=!1}={})=>{let e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(e,r?void 0:"g")}});var $W=w((htt,_W)=>{"use strict";var XBe=ZW();_W.exports=r=>typeof r=="string"?r.replace(XBe(),""):r});var f4=w((btt,g4)=>{"use strict";g4.exports=(...r)=>[...new Set([].concat(...r))]});var sP=w((Stt,d4)=>{"use strict";var l0e=J("stream"),h4=l0e.PassThrough,c0e=Array.prototype.slice;d4.exports=u0e;function u0e(){let r=[],e=!1,t=c0e.call(arguments),i=t[t.length-1];i&&!Array.isArray(i)&&i.pipe==null?t.pop():i={};let n=i.end!==!1;i.objectMode==null&&(i.objectMode=!0),i.highWaterMark==null&&(i.highWaterMark=64*1024);let s=h4(i);function o(){for(let c=0,u=arguments.length;c0||(e=!1,a())}function f(h){function p(){h.removeListener("merge2UnpipeEnd",p),h.removeListener("end",p),g()}if(h._readableState.endEmitted)return g();h.on("merge2UnpipeEnd",p),h.on("end",p),h.pipe(s,{end:!1}),h.resume()}for(let h=0;h{"use strict";Object.defineProperty(Wy,"__esModule",{value:!0});function g0e(r){return r.reduce((e,t)=>[].concat(e,t),[])}Wy.flatten=g0e;function f0e(r,e){let t=[[]],i=0;for(let n of r)e(n)?(i++,t[i]=[]):t[i].push(n);return t}Wy.splitWhen=f0e});var m4=w(oP=>{"use strict";Object.defineProperty(oP,"__esModule",{value:!0});function h0e(r){return r.code==="ENOENT"}oP.isEnoentCodeError=h0e});var E4=w(AP=>{"use strict";Object.defineProperty(AP,"__esModule",{value:!0});var aP=class{constructor(e,t){this.name=e,this.isBlockDevice=t.isBlockDevice.bind(t),this.isCharacterDevice=t.isCharacterDevice.bind(t),this.isDirectory=t.isDirectory.bind(t),this.isFIFO=t.isFIFO.bind(t),this.isFile=t.isFile.bind(t),this.isSocket=t.isSocket.bind(t),this.isSymbolicLink=t.isSymbolicLink.bind(t)}};function p0e(r,e){return new aP(r,e)}AP.createDirentFromStats=p0e});var I4=w(mf=>{"use strict";Object.defineProperty(mf,"__esModule",{value:!0});var d0e=J("path"),C0e=2,m0e=/(\\?)([()*?[\]{|}]|^!|[!+@](?=\())/g;function E0e(r){return r.replace(/\\/g,"/")}mf.unixify=E0e;function I0e(r,e){return d0e.resolve(r,e)}mf.makeAbsolute=I0e;function y0e(r){return r.replace(m0e,"\\$2")}mf.escape=y0e;function w0e(r){if(r.charAt(0)==="."){let e=r.charAt(1);if(e==="/"||e==="\\")return r.slice(C0e)}return r}mf.removeLeadingDotSegment=w0e});var w4=w((ktt,y4)=>{y4.exports=function(e){if(typeof e!="string"||e==="")return!1;for(var t;t=/(\\).|([@?!+*]\(.*\))/g.exec(e);){if(t[2])return!0;e=e.slice(t.index+t[0].length)}return!1}});var b4=w((Rtt,Q4)=>{var B0e=w4(),B4={"{":"}","(":")","[":"]"},Q0e=function(r){if(r[0]==="!")return!0;for(var e=0,t=-2,i=-2,n=-2,s=-2,o=-2;ee&&(o===-1||o>i||(o=r.indexOf("\\",e),o===-1||o>i)))||n!==-1&&r[e]==="{"&&r[e+1]!=="}"&&(n=r.indexOf("}",e),n>e&&(o=r.indexOf("\\",e),o===-1||o>n))||s!==-1&&r[e]==="("&&r[e+1]==="?"&&/[:!=]/.test(r[e+2])&&r[e+3]!==")"&&(s=r.indexOf(")",e),s>e&&(o=r.indexOf("\\",e),o===-1||o>s))||t!==-1&&r[e]==="("&&r[e+1]!=="|"&&(tt&&(o=r.indexOf("\\",t),o===-1||o>s))))return!0;if(r[e]==="\\"){var a=r[e+1];e+=2;var l=B4[a];if(l){var c=r.indexOf(l,e);c!==-1&&(e=c+1)}if(r[e]==="!")return!0}else e++}return!1},b0e=function(r){if(r[0]==="!")return!0;for(var e=0;e{"use strict";var S0e=b4(),v0e=J("path").posix.dirname,x0e=J("os").platform()==="win32",lP="/",P0e=/\\/g,D0e=/[\{\[].*[\}\]]$/,k0e=/(^|[^\\])([\{\[]|\([^\)]+$)/,R0e=/\\([\!\*\?\|\[\]\(\)\{\}])/g;S4.exports=function(e,t){var i=Object.assign({flipBackslashes:!0},t);i.flipBackslashes&&x0e&&e.indexOf(lP)<0&&(e=e.replace(P0e,lP)),D0e.test(e)&&(e+=lP),e+="a";do e=v0e(e);while(S0e(e)||k0e.test(e));return e.replace(R0e,"$1")}});var T4=w($r=>{"use strict";Object.defineProperty($r,"__esModule",{value:!0});var F0e=J("path"),N0e=v4(),x4=yn(),L0e=Mx(),P4="**",T0e="\\",O0e=/[*?]|^!/,M0e=/\[.*]/,K0e=/(?:^|[^!*+?@])\(.*\|.*\)/,U0e=/[!*+?@]\(.*\)/,H0e=/{.*(?:,|\.\.).*}/;function D4(r,e={}){return!k4(r,e)}$r.isStaticPattern=D4;function k4(r,e={}){return!!(e.caseSensitiveMatch===!1||r.includes(T0e)||O0e.test(r)||M0e.test(r)||K0e.test(r)||e.extglob!==!1&&U0e.test(r)||e.braceExpansion!==!1&&H0e.test(r))}$r.isDynamicPattern=k4;function G0e(r){return zy(r)?r.slice(1):r}$r.convertToPositivePattern=G0e;function Y0e(r){return"!"+r}$r.convertToNegativePattern=Y0e;function zy(r){return r.startsWith("!")&&r[1]!=="("}$r.isNegativePattern=zy;function R4(r){return!zy(r)}$r.isPositivePattern=R4;function j0e(r){return r.filter(zy)}$r.getNegativePatterns=j0e;function q0e(r){return r.filter(R4)}$r.getPositivePatterns=q0e;function J0e(r){return N0e(r,{flipBackslashes:!1})}$r.getBaseDirectory=J0e;function W0e(r){return r.includes(P4)}$r.hasGlobStar=W0e;function F4(r){return r.endsWith("/"+P4)}$r.endsWithSlashGlobStar=F4;function z0e(r){let e=F0e.basename(r);return F4(r)||D4(e)}$r.isAffectDepthOfReadingPattern=z0e;function V0e(r){return r.reduce((e,t)=>e.concat(N4(t)),[])}$r.expandPatternsWithBraceExpansion=V0e;function N4(r){return x4.braces(r,{expand:!0,nodupes:!0})}$r.expandBraceExpansion=N4;function X0e(r,e){let t=L0e.scan(r,Object.assign(Object.assign({},e),{parts:!0}));return t.parts.length===0?[r]:t.parts}$r.getPatternParts=X0e;function L4(r,e){return x4.makeRe(r,e)}$r.makeRe=L4;function Z0e(r,e){return r.map(t=>L4(t,e))}$r.convertPatternsToRe=Z0e;function _0e(r,e){return e.some(t=>t.test(r))}$r.matchAny=_0e});var M4=w(cP=>{"use strict";Object.defineProperty(cP,"__esModule",{value:!0});var $0e=sP();function eQe(r){let e=$0e(r);return r.forEach(t=>{t.once("error",i=>e.emit("error",i))}),e.once("close",()=>O4(r)),e.once("end",()=>O4(r)),e}cP.merge=eQe;function O4(r){r.forEach(e=>e.emit("close"))}});var K4=w(Vy=>{"use strict";Object.defineProperty(Vy,"__esModule",{value:!0});function tQe(r){return typeof r=="string"}Vy.isString=tQe;function rQe(r){return r===""}Vy.isEmpty=rQe});var La=w(Na=>{"use strict";Object.defineProperty(Na,"__esModule",{value:!0});var iQe=C4();Na.array=iQe;var nQe=m4();Na.errno=nQe;var sQe=E4();Na.fs=sQe;var oQe=I4();Na.path=oQe;var aQe=T4();Na.pattern=aQe;var AQe=M4();Na.stream=AQe;var lQe=K4();Na.string=lQe});var j4=w(Ta=>{"use strict";Object.defineProperty(Ta,"__esModule",{value:!0});var Ic=La();function cQe(r,e){let t=U4(r),i=H4(r,e.ignore),n=t.filter(l=>Ic.pattern.isStaticPattern(l,e)),s=t.filter(l=>Ic.pattern.isDynamicPattern(l,e)),o=uP(n,i,!1),a=uP(s,i,!0);return o.concat(a)}Ta.generate=cQe;function uP(r,e,t){let i=G4(r);return"."in i?[gP(".",r,e,t)]:Y4(i,e,t)}Ta.convertPatternsToTasks=uP;function U4(r){return Ic.pattern.getPositivePatterns(r)}Ta.getPositivePatterns=U4;function H4(r,e){return Ic.pattern.getNegativePatterns(r).concat(e).map(Ic.pattern.convertToPositivePattern)}Ta.getNegativePatternsAsPositive=H4;function G4(r){let e={};return r.reduce((t,i)=>{let n=Ic.pattern.getBaseDirectory(i);return n in t?t[n].push(i):t[n]=[i],t},e)}Ta.groupPatternsByBaseDirectory=G4;function Y4(r,e,t){return Object.keys(r).map(i=>gP(i,r[i],e,t))}Ta.convertPatternGroupsToTasks=Y4;function gP(r,e,t,i){return{dynamic:i,positive:e,negative:t,base:r,patterns:[].concat(e,t.map(Ic.pattern.convertToNegativePattern))}}Ta.convertPatternGroupToTask=gP});var J4=w(Xy=>{"use strict";Object.defineProperty(Xy,"__esModule",{value:!0});Xy.read=void 0;function uQe(r,e,t){e.fs.lstat(r,(i,n)=>{if(i!==null){q4(t,i);return}if(!n.isSymbolicLink()||!e.followSymbolicLink){fP(t,n);return}e.fs.stat(r,(s,o)=>{if(s!==null){if(e.throwErrorOnBrokenSymbolicLink){q4(t,s);return}fP(t,n);return}e.markSymbolicLink&&(o.isSymbolicLink=()=>!0),fP(t,o)})})}Xy.read=uQe;function q4(r,e){r(e)}function fP(r,e){r(null,e)}});var W4=w(Zy=>{"use strict";Object.defineProperty(Zy,"__esModule",{value:!0});Zy.read=void 0;function gQe(r,e){let t=e.fs.lstatSync(r);if(!t.isSymbolicLink()||!e.followSymbolicLink)return t;try{let i=e.fs.statSync(r);return e.markSymbolicLink&&(i.isSymbolicLink=()=>!0),i}catch(i){if(!e.throwErrorOnBrokenSymbolicLink)return t;throw i}}Zy.read=gQe});var z4=w(KA=>{"use strict";Object.defineProperty(KA,"__esModule",{value:!0});KA.createFileSystemAdapter=KA.FILE_SYSTEM_ADAPTER=void 0;var _y=J("fs");KA.FILE_SYSTEM_ADAPTER={lstat:_y.lstat,stat:_y.stat,lstatSync:_y.lstatSync,statSync:_y.statSync};function fQe(r){return r===void 0?KA.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},KA.FILE_SYSTEM_ADAPTER),r)}KA.createFileSystemAdapter=fQe});var V4=w(pP=>{"use strict";Object.defineProperty(pP,"__esModule",{value:!0});var hQe=z4(),hP=class{constructor(e={}){this._options=e,this.followSymbolicLink=this._getValue(this._options.followSymbolicLink,!0),this.fs=hQe.createFileSystemAdapter(this._options.fs),this.markSymbolicLink=this._getValue(this._options.markSymbolicLink,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0)}_getValue(e,t){return e!=null?e:t}};pP.default=hP});var yc=w(UA=>{"use strict";Object.defineProperty(UA,"__esModule",{value:!0});UA.statSync=UA.stat=UA.Settings=void 0;var X4=J4(),pQe=W4(),dP=V4();UA.Settings=dP.default;function dQe(r,e,t){if(typeof e=="function"){X4.read(r,CP(),e);return}X4.read(r,CP(e),t)}UA.stat=dQe;function CQe(r,e){let t=CP(e);return pQe.read(r,t)}UA.statSync=CQe;function CP(r={}){return r instanceof dP.default?r:new dP.default(r)}});var _4=w((jtt,Z4)=>{Z4.exports=mQe;function mQe(r,e){var t,i,n,s=!0;Array.isArray(r)?(t=[],i=r.length):(n=Object.keys(r),t={},i=n.length);function o(l){function c(){e&&e(l,t),e=null}s?process.nextTick(c):c()}function a(l,c,u){t[l]=u,(--i===0||c)&&o(c)}i?n?n.forEach(function(l){r[l](function(c,u){a(l,c,u)})}):r.forEach(function(l,c){l(function(u,g){a(c,u,g)})}):o(null),s=!1}});var mP=w(ew=>{"use strict";Object.defineProperty(ew,"__esModule",{value:!0});ew.IS_SUPPORT_READDIR_WITH_FILE_TYPES=void 0;var $y=process.versions.node.split(".");if($y[0]===void 0||$y[1]===void 0)throw new Error(`Unexpected behavior. The 'process.versions.node' variable has invalid value: ${process.versions.node}`);var $4=Number.parseInt($y[0],10),EQe=Number.parseInt($y[1],10),e3=10,IQe=10,yQe=$4>e3,wQe=$4===e3&&EQe>=IQe;ew.IS_SUPPORT_READDIR_WITH_FILE_TYPES=yQe||wQe});var t3=w(tw=>{"use strict";Object.defineProperty(tw,"__esModule",{value:!0});tw.createDirentFromStats=void 0;var EP=class{constructor(e,t){this.name=e,this.isBlockDevice=t.isBlockDevice.bind(t),this.isCharacterDevice=t.isCharacterDevice.bind(t),this.isDirectory=t.isDirectory.bind(t),this.isFIFO=t.isFIFO.bind(t),this.isFile=t.isFile.bind(t),this.isSocket=t.isSocket.bind(t),this.isSymbolicLink=t.isSymbolicLink.bind(t)}};function BQe(r,e){return new EP(r,e)}tw.createDirentFromStats=BQe});var IP=w(rw=>{"use strict";Object.defineProperty(rw,"__esModule",{value:!0});rw.fs=void 0;var QQe=t3();rw.fs=QQe});var yP=w(iw=>{"use strict";Object.defineProperty(iw,"__esModule",{value:!0});iw.joinPathSegments=void 0;function bQe(r,e,t){return r.endsWith(t)?r+e:r+t+e}iw.joinPathSegments=bQe});var a3=w(HA=>{"use strict";Object.defineProperty(HA,"__esModule",{value:!0});HA.readdir=HA.readdirWithFileTypes=HA.read=void 0;var SQe=yc(),r3=_4(),vQe=mP(),i3=IP(),n3=yP();function xQe(r,e,t){if(!e.stats&&vQe.IS_SUPPORT_READDIR_WITH_FILE_TYPES){s3(r,e,t);return}o3(r,e,t)}HA.read=xQe;function s3(r,e,t){e.fs.readdir(r,{withFileTypes:!0},(i,n)=>{if(i!==null){nw(t,i);return}let s=n.map(a=>({dirent:a,name:a.name,path:n3.joinPathSegments(r,a.name,e.pathSegmentSeparator)}));if(!e.followSymbolicLinks){wP(t,s);return}let o=s.map(a=>PQe(a,e));r3(o,(a,l)=>{if(a!==null){nw(t,a);return}wP(t,l)})})}HA.readdirWithFileTypes=s3;function PQe(r,e){return t=>{if(!r.dirent.isSymbolicLink()){t(null,r);return}e.fs.stat(r.path,(i,n)=>{if(i!==null){if(e.throwErrorOnBrokenSymbolicLink){t(i);return}t(null,r);return}r.dirent=i3.fs.createDirentFromStats(r.name,n),t(null,r)})}}function o3(r,e,t){e.fs.readdir(r,(i,n)=>{if(i!==null){nw(t,i);return}let s=n.map(o=>{let a=n3.joinPathSegments(r,o,e.pathSegmentSeparator);return l=>{SQe.stat(a,e.fsStatSettings,(c,u)=>{if(c!==null){l(c);return}let g={name:o,path:a,dirent:i3.fs.createDirentFromStats(o,u)};e.stats&&(g.stats=u),l(null,g)})}});r3(s,(o,a)=>{if(o!==null){nw(t,o);return}wP(t,a)})})}HA.readdir=o3;function nw(r,e){r(e)}function wP(r,e){r(null,e)}});var g3=w(GA=>{"use strict";Object.defineProperty(GA,"__esModule",{value:!0});GA.readdir=GA.readdirWithFileTypes=GA.read=void 0;var DQe=yc(),kQe=mP(),A3=IP(),l3=yP();function RQe(r,e){return!e.stats&&kQe.IS_SUPPORT_READDIR_WITH_FILE_TYPES?c3(r,e):u3(r,e)}GA.read=RQe;function c3(r,e){return e.fs.readdirSync(r,{withFileTypes:!0}).map(i=>{let n={dirent:i,name:i.name,path:l3.joinPathSegments(r,i.name,e.pathSegmentSeparator)};if(n.dirent.isSymbolicLink()&&e.followSymbolicLinks)try{let s=e.fs.statSync(n.path);n.dirent=A3.fs.createDirentFromStats(n.name,s)}catch(s){if(e.throwErrorOnBrokenSymbolicLink)throw s}return n})}GA.readdirWithFileTypes=c3;function u3(r,e){return e.fs.readdirSync(r).map(i=>{let n=l3.joinPathSegments(r,i,e.pathSegmentSeparator),s=DQe.statSync(n,e.fsStatSettings),o={name:i,path:n,dirent:A3.fs.createDirentFromStats(i,s)};return e.stats&&(o.stats=s),o})}GA.readdir=u3});var f3=w(YA=>{"use strict";Object.defineProperty(YA,"__esModule",{value:!0});YA.createFileSystemAdapter=YA.FILE_SYSTEM_ADAPTER=void 0;var Ef=J("fs");YA.FILE_SYSTEM_ADAPTER={lstat:Ef.lstat,stat:Ef.stat,lstatSync:Ef.lstatSync,statSync:Ef.statSync,readdir:Ef.readdir,readdirSync:Ef.readdirSync};function FQe(r){return r===void 0?YA.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},YA.FILE_SYSTEM_ADAPTER),r)}YA.createFileSystemAdapter=FQe});var h3=w(QP=>{"use strict";Object.defineProperty(QP,"__esModule",{value:!0});var NQe=J("path"),LQe=yc(),TQe=f3(),BP=class{constructor(e={}){this._options=e,this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!1),this.fs=TQe.createFileSystemAdapter(this._options.fs),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,NQe.sep),this.stats=this._getValue(this._options.stats,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0),this.fsStatSettings=new LQe.Settings({followSymbolicLink:this.followSymbolicLinks,fs:this.fs,throwErrorOnBrokenSymbolicLink:this.throwErrorOnBrokenSymbolicLink})}_getValue(e,t){return e!=null?e:t}};QP.default=BP});var sw=w(jA=>{"use strict";Object.defineProperty(jA,"__esModule",{value:!0});jA.Settings=jA.scandirSync=jA.scandir=void 0;var p3=a3(),OQe=g3(),bP=h3();jA.Settings=bP.default;function MQe(r,e,t){if(typeof e=="function"){p3.read(r,SP(),e);return}p3.read(r,SP(e),t)}jA.scandir=MQe;function KQe(r,e){let t=SP(e);return OQe.read(r,t)}jA.scandirSync=KQe;function SP(r={}){return r instanceof bP.default?r:new bP.default(r)}});var C3=w((ert,d3)=>{"use strict";function UQe(r){var e=new r,t=e;function i(){var s=e;return s.next?e=s.next:(e=new r,t=e),s.next=null,s}function n(s){t.next=s,t=s}return{get:i,release:n}}d3.exports=UQe});var E3=w((trt,vP)=>{"use strict";var HQe=C3();function m3(r,e,t){if(typeof r=="function"&&(t=e,e=r,r=null),t<1)throw new Error("fastqueue concurrency must be greater than 1");var i=HQe(GQe),n=null,s=null,o=0,a=null,l={push:C,drain:ms,saturated:ms,pause:u,paused:!1,concurrency:t,running:c,resume:h,idle:p,length:g,getQueue:f,unshift:y,empty:ms,kill:v,killAndDrain:D,error:L};return l;function c(){return o}function u(){l.paused=!0}function g(){for(var H=n,j=0;H;)H=H.next,j++;return j}function f(){for(var H=n,j=[];H;)j.push(H.value),H=H.next;return j}function h(){if(!!l.paused){l.paused=!1;for(var H=0;H{"use strict";Object.defineProperty(Go,"__esModule",{value:!0});Go.joinPathSegments=Go.replacePathSegmentSeparator=Go.isAppliedFilter=Go.isFatalError=void 0;function jQe(r,e){return r.errorFilter===null?!0:!r.errorFilter(e)}Go.isFatalError=jQe;function qQe(r,e){return r===null||r(e)}Go.isAppliedFilter=qQe;function JQe(r,e){return r.split(/[/\\]/).join(e)}Go.replacePathSegmentSeparator=JQe;function WQe(r,e,t){return r===""?e:r.endsWith(t)?r+e:r+t+e}Go.joinPathSegments=WQe});var DP=w(PP=>{"use strict";Object.defineProperty(PP,"__esModule",{value:!0});var zQe=ow(),xP=class{constructor(e,t){this._root=e,this._settings=t,this._root=zQe.replacePathSegmentSeparator(e,t.pathSegmentSeparator)}};PP.default=xP});var FP=w(RP=>{"use strict";Object.defineProperty(RP,"__esModule",{value:!0});var VQe=J("events"),XQe=sw(),ZQe=E3(),aw=ow(),_Qe=DP(),kP=class extends _Qe.default{constructor(e,t){super(e,t),this._settings=t,this._scandir=XQe.scandir,this._emitter=new VQe.EventEmitter,this._queue=ZQe(this._worker.bind(this),this._settings.concurrency),this._isFatalError=!1,this._isDestroyed=!1,this._queue.drain=()=>{this._isFatalError||this._emitter.emit("end")}}read(){return this._isFatalError=!1,this._isDestroyed=!1,setImmediate(()=>{this._pushToQueue(this._root,this._settings.basePath)}),this._emitter}get isDestroyed(){return this._isDestroyed}destroy(){if(this._isDestroyed)throw new Error("The reader is already destroyed");this._isDestroyed=!0,this._queue.killAndDrain()}onEntry(e){this._emitter.on("entry",e)}onError(e){this._emitter.once("error",e)}onEnd(e){this._emitter.once("end",e)}_pushToQueue(e,t){let i={directory:e,base:t};this._queue.push(i,n=>{n!==null&&this._handleError(n)})}_worker(e,t){this._scandir(e.directory,this._settings.fsScandirSettings,(i,n)=>{if(i!==null){t(i,void 0);return}for(let s of n)this._handleEntry(s,e.base);t(null,void 0)})}_handleError(e){this._isDestroyed||!aw.isFatalError(this._settings,e)||(this._isFatalError=!0,this._isDestroyed=!0,this._emitter.emit("error",e))}_handleEntry(e,t){if(this._isDestroyed||this._isFatalError)return;let i=e.path;t!==void 0&&(e.path=aw.joinPathSegments(t,e.name,this._settings.pathSegmentSeparator)),aw.isAppliedFilter(this._settings.entryFilter,e)&&this._emitEntry(e),e.dirent.isDirectory()&&aw.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(i,e.path)}_emitEntry(e){this._emitter.emit("entry",e)}};RP.default=kP});var I3=w(LP=>{"use strict";Object.defineProperty(LP,"__esModule",{value:!0});var $Qe=FP(),NP=class{constructor(e,t){this._root=e,this._settings=t,this._reader=new $Qe.default(this._root,this._settings),this._storage=new Set}read(e){this._reader.onError(t=>{ebe(e,t)}),this._reader.onEntry(t=>{this._storage.add(t)}),this._reader.onEnd(()=>{tbe(e,[...this._storage])}),this._reader.read()}};LP.default=NP;function ebe(r,e){r(e)}function tbe(r,e){r(null,e)}});var y3=w(OP=>{"use strict";Object.defineProperty(OP,"__esModule",{value:!0});var rbe=J("stream"),ibe=FP(),TP=class{constructor(e,t){this._root=e,this._settings=t,this._reader=new ibe.default(this._root,this._settings),this._stream=new rbe.Readable({objectMode:!0,read:()=>{},destroy:()=>{this._reader.isDestroyed||this._reader.destroy()}})}read(){return this._reader.onError(e=>{this._stream.emit("error",e)}),this._reader.onEntry(e=>{this._stream.push(e)}),this._reader.onEnd(()=>{this._stream.push(null)}),this._reader.read(),this._stream}};OP.default=TP});var w3=w(KP=>{"use strict";Object.defineProperty(KP,"__esModule",{value:!0});var nbe=sw(),Aw=ow(),sbe=DP(),MP=class extends sbe.default{constructor(){super(...arguments),this._scandir=nbe.scandirSync,this._storage=new Set,this._queue=new Set}read(){return this._pushToQueue(this._root,this._settings.basePath),this._handleQueue(),[...this._storage]}_pushToQueue(e,t){this._queue.add({directory:e,base:t})}_handleQueue(){for(let e of this._queue.values())this._handleDirectory(e.directory,e.base)}_handleDirectory(e,t){try{let i=this._scandir(e,this._settings.fsScandirSettings);for(let n of i)this._handleEntry(n,t)}catch(i){this._handleError(i)}}_handleError(e){if(!!Aw.isFatalError(this._settings,e))throw e}_handleEntry(e,t){let i=e.path;t!==void 0&&(e.path=Aw.joinPathSegments(t,e.name,this._settings.pathSegmentSeparator)),Aw.isAppliedFilter(this._settings.entryFilter,e)&&this._pushToStorage(e),e.dirent.isDirectory()&&Aw.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(i,e.path)}_pushToStorage(e){this._storage.add(e)}};KP.default=MP});var B3=w(HP=>{"use strict";Object.defineProperty(HP,"__esModule",{value:!0});var obe=w3(),UP=class{constructor(e,t){this._root=e,this._settings=t,this._reader=new obe.default(this._root,this._settings)}read(){return this._reader.read()}};HP.default=UP});var Q3=w(YP=>{"use strict";Object.defineProperty(YP,"__esModule",{value:!0});var abe=J("path"),Abe=sw(),GP=class{constructor(e={}){this._options=e,this.basePath=this._getValue(this._options.basePath,void 0),this.concurrency=this._getValue(this._options.concurrency,Number.POSITIVE_INFINITY),this.deepFilter=this._getValue(this._options.deepFilter,null),this.entryFilter=this._getValue(this._options.entryFilter,null),this.errorFilter=this._getValue(this._options.errorFilter,null),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,abe.sep),this.fsScandirSettings=new Abe.Settings({followSymbolicLinks:this._options.followSymbolicLinks,fs:this._options.fs,pathSegmentSeparator:this._options.pathSegmentSeparator,stats:this._options.stats,throwErrorOnBrokenSymbolicLink:this._options.throwErrorOnBrokenSymbolicLink})}_getValue(e,t){return e!=null?e:t}};YP.default=GP});var qP=w(Yo=>{"use strict";Object.defineProperty(Yo,"__esModule",{value:!0});Yo.Settings=Yo.walkStream=Yo.walkSync=Yo.walk=void 0;var b3=I3(),lbe=y3(),cbe=B3(),jP=Q3();Yo.Settings=jP.default;function ube(r,e,t){if(typeof e=="function"){new b3.default(r,lw()).read(e);return}new b3.default(r,lw(e)).read(t)}Yo.walk=ube;function gbe(r,e){let t=lw(e);return new cbe.default(r,t).read()}Yo.walkSync=gbe;function fbe(r,e){let t=lw(e);return new lbe.default(r,t).read()}Yo.walkStream=fbe;function lw(r={}){return r instanceof jP.default?r:new jP.default(r)}});var zP=w(WP=>{"use strict";Object.defineProperty(WP,"__esModule",{value:!0});var hbe=J("path"),pbe=yc(),S3=La(),JP=class{constructor(e){this._settings=e,this._fsStatSettings=new pbe.Settings({followSymbolicLink:this._settings.followSymbolicLinks,fs:this._settings.fs,throwErrorOnBrokenSymbolicLink:this._settings.followSymbolicLinks})}_getFullEntryPath(e){return hbe.resolve(this._settings.cwd,e)}_makeEntry(e,t){let i={name:t,path:t,dirent:S3.fs.createDirentFromStats(t,e)};return this._settings.stats&&(i.stats=e),i}_isFatalError(e){return!S3.errno.isEnoentCodeError(e)&&!this._settings.suppressErrors}};WP.default=JP});var ZP=w(XP=>{"use strict";Object.defineProperty(XP,"__esModule",{value:!0});var dbe=J("stream"),Cbe=yc(),mbe=qP(),Ebe=zP(),VP=class extends Ebe.default{constructor(){super(...arguments),this._walkStream=mbe.walkStream,this._stat=Cbe.stat}dynamic(e,t){return this._walkStream(e,t)}static(e,t){let i=e.map(this._getFullEntryPath,this),n=new dbe.PassThrough({objectMode:!0});n._write=(s,o,a)=>this._getEntry(i[s],e[s],t).then(l=>{l!==null&&t.entryFilter(l)&&n.push(l),s===i.length-1&&n.end(),a()}).catch(a);for(let s=0;sthis._makeEntry(n,t)).catch(n=>{if(i.errorFilter(n))return null;throw n})}_getStat(e){return new Promise((t,i)=>{this._stat(e,this._fsStatSettings,(n,s)=>n===null?t(s):i(n))})}};XP.default=VP});var v3=w($P=>{"use strict";Object.defineProperty($P,"__esModule",{value:!0});var If=La(),_P=class{constructor(e,t,i){this._patterns=e,this._settings=t,this._micromatchOptions=i,this._storage=[],this._fillStorage()}_fillStorage(){let e=If.pattern.expandPatternsWithBraceExpansion(this._patterns);for(let t of e){let i=this._getPatternSegments(t),n=this._splitSegmentsIntoSections(i);this._storage.push({complete:n.length<=1,pattern:t,segments:i,sections:n})}}_getPatternSegments(e){return If.pattern.getPatternParts(e,this._micromatchOptions).map(i=>If.pattern.isDynamicPattern(i,this._settings)?{dynamic:!0,pattern:i,patternRe:If.pattern.makeRe(i,this._micromatchOptions)}:{dynamic:!1,pattern:i})}_splitSegmentsIntoSections(e){return If.array.splitWhen(e,t=>t.dynamic&&If.pattern.hasGlobStar(t.pattern))}};$P.default=_P});var x3=w(tD=>{"use strict";Object.defineProperty(tD,"__esModule",{value:!0});var Ibe=v3(),eD=class extends Ibe.default{match(e){let t=e.split("/"),i=t.length,n=this._storage.filter(s=>!s.complete||s.segments.length>i);for(let s of n){let o=s.sections[0];if(!s.complete&&i>o.length||t.every((l,c)=>{let u=s.segments[c];return!!(u.dynamic&&u.patternRe.test(l)||!u.dynamic&&u.pattern===l)}))return!0}return!1}};tD.default=eD});var P3=w(iD=>{"use strict";Object.defineProperty(iD,"__esModule",{value:!0});var cw=La(),ybe=x3(),rD=class{constructor(e,t){this._settings=e,this._micromatchOptions=t}getFilter(e,t,i){let n=this._getMatcher(t),s=this._getNegativePatternsRe(i);return o=>this._filter(e,o,n,s)}_getMatcher(e){return new ybe.default(e,this._settings,this._micromatchOptions)}_getNegativePatternsRe(e){let t=e.filter(cw.pattern.isAffectDepthOfReadingPattern);return cw.pattern.convertPatternsToRe(t,this._micromatchOptions)}_filter(e,t,i,n){let s=this._getEntryLevel(e,t.path);if(this._isSkippedByDeep(s)||this._isSkippedSymbolicLink(t))return!1;let o=cw.path.removeLeadingDotSegment(t.path);return this._isSkippedByPositivePatterns(o,i)?!1:this._isSkippedByNegativePatterns(o,n)}_isSkippedByDeep(e){return e>=this._settings.deep}_isSkippedSymbolicLink(e){return!this._settings.followSymbolicLinks&&e.dirent.isSymbolicLink()}_getEntryLevel(e,t){let i=e.split("/").length;return t.split("/").length-(e===""?0:i)}_isSkippedByPositivePatterns(e,t){return!this._settings.baseNameMatch&&!t.match(e)}_isSkippedByNegativePatterns(e,t){return!cw.pattern.matchAny(e,t)}};iD.default=rD});var D3=w(sD=>{"use strict";Object.defineProperty(sD,"__esModule",{value:!0});var Vd=La(),nD=class{constructor(e,t){this._settings=e,this._micromatchOptions=t,this.index=new Map}getFilter(e,t){let i=Vd.pattern.convertPatternsToRe(e,this._micromatchOptions),n=Vd.pattern.convertPatternsToRe(t,this._micromatchOptions);return s=>this._filter(s,i,n)}_filter(e,t,i){if(this._settings.unique){if(this._isDuplicateEntry(e))return!1;this._createIndexRecord(e)}if(this._onlyFileFilter(e)||this._onlyDirectoryFilter(e)||this._isSkippedByAbsoluteNegativePatterns(e,i))return!1;let n=this._settings.baseNameMatch?e.name:e.path;return this._isMatchToPatterns(n,t)&&!this._isMatchToPatterns(e.path,i)}_isDuplicateEntry(e){return this.index.has(e.path)}_createIndexRecord(e){this.index.set(e.path,void 0)}_onlyFileFilter(e){return this._settings.onlyFiles&&!e.dirent.isFile()}_onlyDirectoryFilter(e){return this._settings.onlyDirectories&&!e.dirent.isDirectory()}_isSkippedByAbsoluteNegativePatterns(e,t){if(!this._settings.absolute)return!1;let i=Vd.path.makeAbsolute(this._settings.cwd,e.path);return this._isMatchToPatterns(i,t)}_isMatchToPatterns(e,t){let i=Vd.path.removeLeadingDotSegment(e);return Vd.pattern.matchAny(i,t)}};sD.default=nD});var k3=w(aD=>{"use strict";Object.defineProperty(aD,"__esModule",{value:!0});var wbe=La(),oD=class{constructor(e){this._settings=e}getFilter(){return e=>this._isNonFatalError(e)}_isNonFatalError(e){return wbe.errno.isEnoentCodeError(e)||this._settings.suppressErrors}};aD.default=oD});var F3=w(lD=>{"use strict";Object.defineProperty(lD,"__esModule",{value:!0});var R3=La(),AD=class{constructor(e){this._settings=e}getTransformer(){return e=>this._transform(e)}_transform(e){let t=e.path;return this._settings.absolute&&(t=R3.path.makeAbsolute(this._settings.cwd,t),t=R3.path.unixify(t)),this._settings.markDirectories&&e.dirent.isDirectory()&&(t+="/"),this._settings.objectMode?Object.assign(Object.assign({},e),{path:t}):t}};lD.default=AD});var uw=w(uD=>{"use strict";Object.defineProperty(uD,"__esModule",{value:!0});var Bbe=J("path"),Qbe=P3(),bbe=D3(),Sbe=k3(),vbe=F3(),cD=class{constructor(e){this._settings=e,this.errorFilter=new Sbe.default(this._settings),this.entryFilter=new bbe.default(this._settings,this._getMicromatchOptions()),this.deepFilter=new Qbe.default(this._settings,this._getMicromatchOptions()),this.entryTransformer=new vbe.default(this._settings)}_getRootDirectory(e){return Bbe.resolve(this._settings.cwd,e.base)}_getReaderOptions(e){let t=e.base==="."?"":e.base;return{basePath:t,pathSegmentSeparator:"/",concurrency:this._settings.concurrency,deepFilter:this.deepFilter.getFilter(t,e.positive,e.negative),entryFilter:this.entryFilter.getFilter(e.positive,e.negative),errorFilter:this.errorFilter.getFilter(),followSymbolicLinks:this._settings.followSymbolicLinks,fs:this._settings.fs,stats:this._settings.stats,throwErrorOnBrokenSymbolicLink:this._settings.throwErrorOnBrokenSymbolicLink,transform:this.entryTransformer.getTransformer()}}_getMicromatchOptions(){return{dot:this._settings.dot,matchBase:this._settings.baseNameMatch,nobrace:!this._settings.braceExpansion,nocase:!this._settings.caseSensitiveMatch,noext:!this._settings.extglob,noglobstar:!this._settings.globstar,posix:!0,strictSlashes:!1}}};uD.default=cD});var N3=w(fD=>{"use strict";Object.defineProperty(fD,"__esModule",{value:!0});var xbe=ZP(),Pbe=uw(),gD=class extends Pbe.default{constructor(){super(...arguments),this._reader=new xbe.default(this._settings)}read(e){let t=this._getRootDirectory(e),i=this._getReaderOptions(e),n=[];return new Promise((s,o)=>{let a=this.api(t,e,i);a.once("error",o),a.on("data",l=>n.push(i.transform(l))),a.once("end",()=>s(n))})}api(e,t,i){return t.dynamic?this._reader.dynamic(e,i):this._reader.static(t.patterns,i)}};fD.default=gD});var L3=w(pD=>{"use strict";Object.defineProperty(pD,"__esModule",{value:!0});var Dbe=J("stream"),kbe=ZP(),Rbe=uw(),hD=class extends Rbe.default{constructor(){super(...arguments),this._reader=new kbe.default(this._settings)}read(e){let t=this._getRootDirectory(e),i=this._getReaderOptions(e),n=this.api(t,e,i),s=new Dbe.Readable({objectMode:!0,read:()=>{}});return n.once("error",o=>s.emit("error",o)).on("data",o=>s.emit("data",i.transform(o))).once("end",()=>s.emit("end")),s.once("close",()=>n.destroy()),s}api(e,t,i){return t.dynamic?this._reader.dynamic(e,i):this._reader.static(t.patterns,i)}};pD.default=hD});var T3=w(CD=>{"use strict";Object.defineProperty(CD,"__esModule",{value:!0});var Fbe=yc(),Nbe=qP(),Lbe=zP(),dD=class extends Lbe.default{constructor(){super(...arguments),this._walkSync=Nbe.walkSync,this._statSync=Fbe.statSync}dynamic(e,t){return this._walkSync(e,t)}static(e,t){let i=[];for(let n of e){let s=this._getFullEntryPath(n),o=this._getEntry(s,n,t);o===null||!t.entryFilter(o)||i.push(o)}return i}_getEntry(e,t,i){try{let n=this._getStat(e);return this._makeEntry(n,t)}catch(n){if(i.errorFilter(n))return null;throw n}}_getStat(e){return this._statSync(e,this._fsStatSettings)}};CD.default=dD});var O3=w(ED=>{"use strict";Object.defineProperty(ED,"__esModule",{value:!0});var Tbe=T3(),Obe=uw(),mD=class extends Obe.default{constructor(){super(...arguments),this._reader=new Tbe.default(this._settings)}read(e){let t=this._getRootDirectory(e),i=this._getReaderOptions(e);return this.api(t,e,i).map(i.transform)}api(e,t,i){return t.dynamic?this._reader.dynamic(e,i):this._reader.static(t.patterns,i)}};ED.default=mD});var M3=w(Xd=>{"use strict";Object.defineProperty(Xd,"__esModule",{value:!0});var yf=J("fs"),Mbe=J("os"),Kbe=Mbe.cpus().length;Xd.DEFAULT_FILE_SYSTEM_ADAPTER={lstat:yf.lstat,lstatSync:yf.lstatSync,stat:yf.stat,statSync:yf.statSync,readdir:yf.readdir,readdirSync:yf.readdirSync};var ID=class{constructor(e={}){this._options=e,this.absolute=this._getValue(this._options.absolute,!1),this.baseNameMatch=this._getValue(this._options.baseNameMatch,!1),this.braceExpansion=this._getValue(this._options.braceExpansion,!0),this.caseSensitiveMatch=this._getValue(this._options.caseSensitiveMatch,!0),this.concurrency=this._getValue(this._options.concurrency,Kbe),this.cwd=this._getValue(this._options.cwd,process.cwd()),this.deep=this._getValue(this._options.deep,1/0),this.dot=this._getValue(this._options.dot,!1),this.extglob=this._getValue(this._options.extglob,!0),this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!0),this.fs=this._getFileSystemMethods(this._options.fs),this.globstar=this._getValue(this._options.globstar,!0),this.ignore=this._getValue(this._options.ignore,[]),this.markDirectories=this._getValue(this._options.markDirectories,!1),this.objectMode=this._getValue(this._options.objectMode,!1),this.onlyDirectories=this._getValue(this._options.onlyDirectories,!1),this.onlyFiles=this._getValue(this._options.onlyFiles,!0),this.stats=this._getValue(this._options.stats,!1),this.suppressErrors=this._getValue(this._options.suppressErrors,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!1),this.unique=this._getValue(this._options.unique,!0),this.onlyDirectories&&(this.onlyFiles=!1),this.stats&&(this.objectMode=!0)}_getValue(e,t){return e===void 0?t:e}_getFileSystemMethods(e={}){return Object.assign(Object.assign({},Xd.DEFAULT_FILE_SYSTEM_ADAPTER),e)}};Xd.default=ID});var gw=w((brt,U3)=>{"use strict";var K3=j4(),Ube=N3(),Hbe=L3(),Gbe=O3(),yD=M3(),wc=La();async function wD(r,e){wf(r);let t=BD(r,Ube.default,e),i=await Promise.all(t);return wc.array.flatten(i)}(function(r){function e(o,a){wf(o);let l=BD(o,Gbe.default,a);return wc.array.flatten(l)}r.sync=e;function t(o,a){wf(o);let l=BD(o,Hbe.default,a);return wc.stream.merge(l)}r.stream=t;function i(o,a){wf(o);let l=[].concat(o),c=new yD.default(a);return K3.generate(l,c)}r.generateTasks=i;function n(o,a){wf(o);let l=new yD.default(a);return wc.pattern.isDynamicPattern(o,l)}r.isDynamicPattern=n;function s(o){return wf(o),wc.path.escape(o)}r.escapePath=s})(wD||(wD={}));function BD(r,e,t){let i=[].concat(r),n=new yD.default(t),s=K3.generate(i,n),o=new e(n);return s.map(o.read,o)}function wf(r){if(![].concat(r).every(i=>wc.string.isString(i)&&!wc.string.isEmpty(i)))throw new TypeError("Patterns must be a string (non empty) or an array of strings")}U3.exports=wD});var G3=w(Bc=>{"use strict";var{promisify:Ybe}=J("util"),H3=J("fs");async function QD(r,e,t){if(typeof t!="string")throw new TypeError(`Expected a string, got ${typeof t}`);try{return(await Ybe(H3[r])(t))[e]()}catch(i){if(i.code==="ENOENT")return!1;throw i}}function bD(r,e,t){if(typeof t!="string")throw new TypeError(`Expected a string, got ${typeof t}`);try{return H3[r](t)[e]()}catch(i){if(i.code==="ENOENT")return!1;throw i}}Bc.isFile=QD.bind(null,"stat","isFile");Bc.isDirectory=QD.bind(null,"stat","isDirectory");Bc.isSymlink=QD.bind(null,"lstat","isSymbolicLink");Bc.isFileSync=bD.bind(null,"statSync","isFile");Bc.isDirectorySync=bD.bind(null,"statSync","isDirectory");Bc.isSymlinkSync=bD.bind(null,"lstatSync","isSymbolicLink")});var W3=w((vrt,SD)=>{"use strict";var Qc=J("path"),Y3=G3(),j3=r=>r.length>1?`{${r.join(",")}}`:r[0],q3=(r,e)=>{let t=r[0]==="!"?r.slice(1):r;return Qc.isAbsolute(t)?t:Qc.join(e,t)},jbe=(r,e)=>Qc.extname(r)?`**/${r}`:`**/${r}.${j3(e)}`,J3=(r,e)=>{if(e.files&&!Array.isArray(e.files))throw new TypeError(`Expected \`files\` to be of type \`Array\` but received type \`${typeof e.files}\``);if(e.extensions&&!Array.isArray(e.extensions))throw new TypeError(`Expected \`extensions\` to be of type \`Array\` but received type \`${typeof e.extensions}\``);return e.files&&e.extensions?e.files.map(t=>Qc.posix.join(r,jbe(t,e.extensions))):e.files?e.files.map(t=>Qc.posix.join(r,`**/${t}`)):e.extensions?[Qc.posix.join(r,`**/*.${j3(e.extensions)}`)]:[Qc.posix.join(r,"**")]};SD.exports=async(r,e)=>{if(e={cwd:process.cwd(),...e},typeof e.cwd!="string")throw new TypeError(`Expected \`cwd\` to be of type \`string\` but received type \`${typeof e.cwd}\``);let t=await Promise.all([].concat(r).map(async i=>await Y3.isDirectory(q3(i,e.cwd))?J3(i,e):i));return[].concat.apply([],t)};SD.exports.sync=(r,e)=>{if(e={cwd:process.cwd(),...e},typeof e.cwd!="string")throw new TypeError(`Expected \`cwd\` to be of type \`string\` but received type \`${typeof e.cwd}\``);let t=[].concat(r).map(i=>Y3.isDirectorySync(q3(i,e.cwd))?J3(i,e):i);return[].concat.apply([],t)}});var t8=w((xrt,e8)=>{function z3(r){return Array.isArray(r)?r:[r]}var _3="",V3=" ",vD="\\",qbe=/^\s+$/,Jbe=/^\\!/,Wbe=/^\\#/,zbe=/\r?\n/g,Vbe=/^\.*\/|^\.+$/,xD="/",X3=typeof Symbol<"u"?Symbol.for("node-ignore"):"node-ignore",Xbe=(r,e,t)=>Object.defineProperty(r,e,{value:t}),Zbe=/([0-z])-([0-z])/g,_be=r=>r.replace(Zbe,(e,t,i)=>t.charCodeAt(0)<=i.charCodeAt(0)?e:_3),$be=r=>{let{length:e}=r;return r.slice(0,e-e%2)},eSe=[[/\\?\s+$/,r=>r.indexOf("\\")===0?V3:_3],[/\\\s/g,()=>V3],[/[\\$.|*+(){^]/g,r=>`\\${r}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(r,e,t)=>e+6`${e}[^\\/]*`],[/\\\\\\(?=[$.|*+(){^])/g,()=>vD],[/\\\\/g,()=>vD],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(r,e,t,i,n)=>e===vD?`\\[${t}${$be(i)}${n}`:n==="]"&&i.length%2===0?`[${_be(t)}${i}]`:"[]"],[/(?:[^*])$/,r=>/\/$/.test(r)?`${r}$`:`${r}(?=$|\\/$)`],[/(\^|\\\/)?\\\*$/,(r,e)=>`${e?`${e}[^/]+`:"[^/]*"}(?=$|\\/$)`]],Z3=Object.create(null),tSe=(r,e)=>{let t=Z3[r];return t||(t=eSe.reduce((i,n)=>i.replace(n[0],n[1].bind(r)),r),Z3[r]=t),e?new RegExp(t,"i"):new RegExp(t)},kD=r=>typeof r=="string",rSe=r=>r&&kD(r)&&!qbe.test(r)&&r.indexOf("#")!==0,iSe=r=>r.split(zbe),PD=class{constructor(e,t,i,n){this.origin=e,this.pattern=t,this.negative=i,this.regex=n}},nSe=(r,e)=>{let t=r,i=!1;r.indexOf("!")===0&&(i=!0,r=r.substr(1)),r=r.replace(Jbe,"!").replace(Wbe,"#");let n=tSe(r,e);return new PD(t,r,i,n)},sSe=(r,e)=>{throw new e(r)},Oa=(r,e,t)=>kD(r)?r?Oa.isNotRelative(r)?t(`path should be a \`path.relative()\`d string, but got "${e}"`,RangeError):!0:t("path must not be empty",TypeError):t(`path must be a string, but got \`${e}\``,TypeError),$3=r=>Vbe.test(r);Oa.isNotRelative=$3;Oa.convert=r=>r;var DD=class{constructor({ignorecase:e=!0}={}){Xbe(this,X3,!0),this._rules=[],this._ignorecase=e,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}_addPattern(e){if(e&&e[X3]){this._rules=this._rules.concat(e._rules),this._added=!0;return}if(rSe(e)){let t=nSe(e,this._ignorecase);this._added=!0,this._rules.push(t)}}add(e){return this._added=!1,z3(kD(e)?iSe(e):e).forEach(this._addPattern,this),this._added&&this._initCache(),this}addPattern(e){return this.add(e)}_testOne(e,t){let i=!1,n=!1;return this._rules.forEach(s=>{let{negative:o}=s;if(n===o&&i!==n||o&&!i&&!n&&!t)return;s.regex.test(e)&&(i=!o,n=o)}),{ignored:i,unignored:n}}_test(e,t,i,n){let s=e&&Oa.convert(e);return Oa(s,e,sSe),this._t(s,t,i,n)}_t(e,t,i,n){if(e in t)return t[e];if(n||(n=e.split(xD)),n.pop(),!n.length)return t[e]=this._testOne(e,i);let s=this._t(n.join(xD)+xD,t,i,n);return t[e]=s.ignored?s:this._testOne(e,i)}ignores(e){return this._test(e,this._ignoreCache,!1).ignored}createFilter(){return e=>!this.ignores(e)}filter(e){return z3(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,!0)}},fw=r=>new DD(r),oSe=()=>!1,aSe=r=>Oa(r&&Oa.convert(r),r,oSe);fw.isPathValid=aSe;fw.default=fw;e8.exports=fw;if(typeof process<"u"&&(process.env&&process.env.IGNORE_TEST_WIN32||process.platform==="win32")){let r=t=>/^\\\\\?\\/.test(t)||/["<>|\u0000-\u001F]+/u.test(t)?t:t.replace(/\\/g,"/");Oa.convert=r;let e=/^[a-z]:\//i;Oa.isNotRelative=t=>e.test(t)||$3(t)}});var i8=w((Prt,r8)=>{"use strict";r8.exports=r=>{let e=/^\\\\\?\\/.test(r),t=/[^\u0000-\u0080]+/.test(r);return e||t?r:r.replace(/\\/g,"/")}});var c8=w((Drt,RD)=>{"use strict";var{promisify:ASe}=J("util"),n8=J("fs"),Ma=J("path"),s8=gw(),lSe=t8(),Zd=i8(),o8=["**/node_modules/**","**/flow-typed/**","**/coverage/**","**/.git"],cSe=ASe(n8.readFile),uSe=r=>e=>e.startsWith("!")?"!"+Ma.posix.join(r,e.slice(1)):Ma.posix.join(r,e),gSe=(r,e)=>{let t=Zd(Ma.relative(e.cwd,Ma.dirname(e.fileName)));return r.split(/\r?\n/).filter(Boolean).filter(i=>!i.startsWith("#")).map(uSe(t))},a8=r=>{let e=lSe();for(let t of r)e.add(gSe(t.content,{cwd:t.cwd,fileName:t.filePath}));return e},fSe=(r,e)=>{if(r=Zd(r),Ma.isAbsolute(e)){if(Zd(e).startsWith(r))return e;throw new Error(`Path ${e} is not in cwd ${r}`)}return Ma.join(r,e)},A8=(r,e)=>t=>r.ignores(Zd(Ma.relative(e,fSe(e,t.path||t)))),hSe=async(r,e)=>{let t=Ma.join(e,r),i=await cSe(t,"utf8");return{cwd:e,filePath:t,content:i}},pSe=(r,e)=>{let t=Ma.join(e,r),i=n8.readFileSync(t,"utf8");return{cwd:e,filePath:t,content:i}},l8=({ignore:r=[],cwd:e=Zd(process.cwd())}={})=>({ignore:r,cwd:e});RD.exports=async r=>{r=l8(r);let e=await s8("**/.gitignore",{ignore:o8.concat(r.ignore),cwd:r.cwd}),t=await Promise.all(e.map(n=>hSe(n,r.cwd))),i=a8(t);return A8(i,r.cwd)};RD.exports.sync=r=>{r=l8(r);let t=s8.sync("**/.gitignore",{ignore:o8.concat(r.ignore),cwd:r.cwd}).map(n=>pSe(n,r.cwd)),i=a8(t);return A8(i,r.cwd)}});var g8=w((krt,u8)=>{"use strict";var{Transform:dSe}=J("stream"),hw=class extends dSe{constructor(){super({objectMode:!0})}},FD=class extends hw{constructor(e){super(),this._filter=e}_transform(e,t,i){this._filter(e)&&this.push(e),i()}},ND=class extends hw{constructor(){super(),this._pushed=new Set}_transform(e,t,i){this._pushed.has(e)||(this.push(e),this._pushed.add(e)),i()}};u8.exports={FilterStream:FD,UniqueStream:ND}});var MD=w((Rrt,bc)=>{"use strict";var h8=J("fs"),pw=f4(),CSe=sP(),dw=gw(),Cw=W3(),LD=c8(),{FilterStream:mSe,UniqueStream:ESe}=g8(),p8=()=>!1,f8=r=>r[0]==="!",ISe=r=>{if(!r.every(e=>typeof e=="string"))throw new TypeError("Patterns must be a string or an array of strings")},ySe=(r={})=>{if(!r.cwd)return;let e;try{e=h8.statSync(r.cwd)}catch{return}if(!e.isDirectory())throw new Error("The `cwd` option must be a path to a directory")},wSe=r=>r.stats instanceof h8.Stats?r.path:r,mw=(r,e)=>{r=pw([].concat(r)),ISe(r),ySe(e);let t=[];e={ignore:[],expandDirectories:!0,...e};for(let[i,n]of r.entries()){if(f8(n))continue;let s=r.slice(i).filter(a=>f8(a)).map(a=>a.slice(1)),o={...e,ignore:e.ignore.concat(s)};t.push({pattern:n,options:o})}return t},BSe=(r,e)=>{let t={};return r.options.cwd&&(t.cwd=r.options.cwd),Array.isArray(r.options.expandDirectories)?t={...t,files:r.options.expandDirectories}:typeof r.options.expandDirectories=="object"&&(t={...t,...r.options.expandDirectories}),e(r.pattern,t)},TD=(r,e)=>r.options.expandDirectories?BSe(r,e):[r.pattern],d8=r=>r&&r.gitignore?LD.sync({cwd:r.cwd,ignore:r.ignore}):p8,OD=r=>e=>{let{options:t}=r;return t.ignore&&Array.isArray(t.ignore)&&t.expandDirectories&&(t.ignore=Cw.sync(t.ignore)),{pattern:e,options:t}};bc.exports=async(r,e)=>{let t=mw(r,e),i=async()=>e&&e.gitignore?LD({cwd:e.cwd,ignore:e.ignore}):p8,n=async()=>{let l=await Promise.all(t.map(async c=>{let u=await TD(c,Cw);return Promise.all(u.map(OD(c)))}));return pw(...l)},[s,o]=await Promise.all([i(),n()]),a=await Promise.all(o.map(l=>dw(l.pattern,l.options)));return pw(...a).filter(l=>!s(wSe(l)))};bc.exports.sync=(r,e)=>{let t=mw(r,e),i=[];for(let o of t){let a=TD(o,Cw.sync).map(OD(o));i.push(...a)}let n=d8(e),s=[];for(let o of i)s=pw(s,dw.sync(o.pattern,o.options));return s.filter(o=>!n(o))};bc.exports.stream=(r,e)=>{let t=mw(r,e),i=[];for(let a of t){let l=TD(a,Cw.sync).map(OD(a));i.push(...l)}let n=d8(e),s=new mSe(a=>!n(a)),o=new ESe;return CSe(i.map(a=>dw.stream(a.pattern,a.options))).pipe(s).pipe(o)};bc.exports.generateGlobTasks=mw;bc.exports.hasMagic=(r,e)=>[].concat(r).some(t=>dw.isDynamicPattern(t,e));bc.exports.gitignore=LD});var bn=w((Vrt,k8)=>{function TSe(r){var e=typeof r;return r!=null&&(e=="object"||e=="function")}k8.exports=TSe});var WD=w((Xrt,R8)=>{var OSe=typeof global=="object"&&global&&global.Object===Object&&global;R8.exports=OSe});var Es=w((Zrt,F8)=>{var MSe=WD(),KSe=typeof self=="object"&&self&&self.Object===Object&&self,USe=MSe||KSe||Function("return this")();F8.exports=USe});var L8=w((_rt,N8)=>{var HSe=Es(),GSe=function(){return HSe.Date.now()};N8.exports=GSe});var O8=w(($rt,T8)=>{var YSe=/\s/;function jSe(r){for(var e=r.length;e--&&YSe.test(r.charAt(e)););return e}T8.exports=jSe});var K8=w((eit,M8)=>{var qSe=O8(),JSe=/^\s+/;function WSe(r){return r&&r.slice(0,qSe(r)+1).replace(JSe,"")}M8.exports=WSe});var xc=w((tit,U8)=>{var zSe=Es(),VSe=zSe.Symbol;U8.exports=VSe});var j8=w((rit,Y8)=>{var H8=xc(),G8=Object.prototype,XSe=G8.hasOwnProperty,ZSe=G8.toString,lC=H8?H8.toStringTag:void 0;function _Se(r){var e=XSe.call(r,lC),t=r[lC];try{r[lC]=void 0;var i=!0}catch{}var n=ZSe.call(r);return i&&(e?r[lC]=t:delete r[lC]),n}Y8.exports=_Se});var J8=w((iit,q8)=>{var $Se=Object.prototype,eve=$Se.toString;function tve(r){return eve.call(r)}q8.exports=tve});var Pc=w((nit,V8)=>{var W8=xc(),rve=j8(),ive=J8(),nve="[object Null]",sve="[object Undefined]",z8=W8?W8.toStringTag:void 0;function ove(r){return r==null?r===void 0?sve:nve:z8&&z8 in Object(r)?rve(r):ive(r)}V8.exports=ove});var Jo=w((sit,X8)=>{function ave(r){return r!=null&&typeof r=="object"}X8.exports=ave});var cC=w((oit,Z8)=>{var Ave=Pc(),lve=Jo(),cve="[object Symbol]";function uve(r){return typeof r=="symbol"||lve(r)&&Ave(r)==cve}Z8.exports=uve});var tz=w((ait,ez)=>{var gve=K8(),_8=bn(),fve=cC(),$8=0/0,hve=/^[-+]0x[0-9a-f]+$/i,pve=/^0b[01]+$/i,dve=/^0o[0-7]+$/i,Cve=parseInt;function mve(r){if(typeof r=="number")return r;if(fve(r))return $8;if(_8(r)){var e=typeof r.valueOf=="function"?r.valueOf():r;r=_8(e)?e+"":e}if(typeof r!="string")return r===0?r:+r;r=gve(r);var t=pve.test(r);return t||dve.test(r)?Cve(r.slice(2),t?2:8):hve.test(r)?$8:+r}ez.exports=mve});var nz=w((Ait,iz)=>{var Eve=bn(),zD=L8(),rz=tz(),Ive="Expected a function",yve=Math.max,wve=Math.min;function Bve(r,e,t){var i,n,s,o,a,l,c=0,u=!1,g=!1,f=!0;if(typeof r!="function")throw new TypeError(Ive);e=rz(e)||0,Eve(t)&&(u=!!t.leading,g="maxWait"in t,s=g?yve(rz(t.maxWait)||0,e):s,f="trailing"in t?!!t.trailing:f);function h(j){var $=i,V=n;return i=n=void 0,c=j,o=r.apply(V,$),o}function p(j){return c=j,a=setTimeout(B,e),u?h(j):o}function C(j){var $=j-l,V=j-c,W=e-$;return g?wve(W,s-V):W}function y(j){var $=j-l,V=j-c;return l===void 0||$>=e||$<0||g&&V>=s}function B(){var j=zD();if(y(j))return v(j);a=setTimeout(B,C(j))}function v(j){return a=void 0,f&&i?h(j):(i=n=void 0,o)}function D(){a!==void 0&&clearTimeout(a),c=0,i=l=n=a=void 0}function L(){return a===void 0?o:v(zD())}function H(){var j=zD(),$=y(j);if(i=arguments,n=this,l=j,$){if(a===void 0)return p(l);if(g)return clearTimeout(a),a=setTimeout(B,e),h(l)}return a===void 0&&(a=setTimeout(B,e)),o}return H.cancel=D,H.flush=L,H}iz.exports=Bve});var oz=w((lit,sz)=>{var Qve=nz(),bve=bn(),Sve="Expected a function";function vve(r,e,t){var i=!0,n=!0;if(typeof r!="function")throw new TypeError(Sve);return bve(t)&&(i="leading"in t?!!t.leading:i,n="trailing"in t?!!t.trailing:n),Qve(r,e,{leading:i,maxWait:e,trailing:n})}sz.exports=vve});var Ha=w((Ua,Uw)=>{"use strict";Object.defineProperty(Ua,"__esModule",{value:!0});var pz=["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];function Uve(r){return pz.includes(r)}var Hve=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","FormData","URLSearchParams","HTMLElement",...pz];function Gve(r){return Hve.includes(r)}var Yve=["null","undefined","string","number","bigint","boolean","symbol"];function jve(r){return Yve.includes(r)}function Ff(r){return e=>typeof e===r}var{toString:dz}=Object.prototype,pC=r=>{let e=dz.call(r).slice(8,-1);if(/HTML\w+Element/.test(e)&&X.domElement(r))return"HTMLElement";if(Gve(e))return e},lr=r=>e=>pC(e)===r;function X(r){if(r===null)return"null";switch(typeof r){case"undefined":return"undefined";case"string":return"string";case"number":return"number";case"boolean":return"boolean";case"function":return"Function";case"bigint":return"bigint";case"symbol":return"symbol";default:}if(X.observable(r))return"Observable";if(X.array(r))return"Array";if(X.buffer(r))return"Buffer";let e=pC(r);if(e)return e;if(r instanceof String||r instanceof Boolean||r instanceof Number)throw new TypeError("Please don't use object wrappers for primitive types");return"Object"}X.undefined=Ff("undefined");X.string=Ff("string");var qve=Ff("number");X.number=r=>qve(r)&&!X.nan(r);X.bigint=Ff("bigint");X.function_=Ff("function");X.null_=r=>r===null;X.class_=r=>X.function_(r)&&r.toString().startsWith("class ");X.boolean=r=>r===!0||r===!1;X.symbol=Ff("symbol");X.numericString=r=>X.string(r)&&!X.emptyStringOrWhitespace(r)&&!Number.isNaN(Number(r));X.array=(r,e)=>Array.isArray(r)?X.function_(e)?r.every(e):!0:!1;X.buffer=r=>{var e,t,i,n;return(n=(i=(t=(e=r)===null||e===void 0?void 0:e.constructor)===null||t===void 0?void 0:t.isBuffer)===null||i===void 0?void 0:i.call(t,r))!==null&&n!==void 0?n:!1};X.nullOrUndefined=r=>X.null_(r)||X.undefined(r);X.object=r=>!X.null_(r)&&(typeof r=="object"||X.function_(r));X.iterable=r=>{var e;return X.function_((e=r)===null||e===void 0?void 0:e[Symbol.iterator])};X.asyncIterable=r=>{var e;return X.function_((e=r)===null||e===void 0?void 0:e[Symbol.asyncIterator])};X.generator=r=>X.iterable(r)&&X.function_(r.next)&&X.function_(r.throw);X.asyncGenerator=r=>X.asyncIterable(r)&&X.function_(r.next)&&X.function_(r.throw);X.nativePromise=r=>lr("Promise")(r);var Jve=r=>{var e,t;return X.function_((e=r)===null||e===void 0?void 0:e.then)&&X.function_((t=r)===null||t===void 0?void 0:t.catch)};X.promise=r=>X.nativePromise(r)||Jve(r);X.generatorFunction=lr("GeneratorFunction");X.asyncGeneratorFunction=r=>pC(r)==="AsyncGeneratorFunction";X.asyncFunction=r=>pC(r)==="AsyncFunction";X.boundFunction=r=>X.function_(r)&&!r.hasOwnProperty("prototype");X.regExp=lr("RegExp");X.date=lr("Date");X.error=lr("Error");X.map=r=>lr("Map")(r);X.set=r=>lr("Set")(r);X.weakMap=r=>lr("WeakMap")(r);X.weakSet=r=>lr("WeakSet")(r);X.int8Array=lr("Int8Array");X.uint8Array=lr("Uint8Array");X.uint8ClampedArray=lr("Uint8ClampedArray");X.int16Array=lr("Int16Array");X.uint16Array=lr("Uint16Array");X.int32Array=lr("Int32Array");X.uint32Array=lr("Uint32Array");X.float32Array=lr("Float32Array");X.float64Array=lr("Float64Array");X.bigInt64Array=lr("BigInt64Array");X.bigUint64Array=lr("BigUint64Array");X.arrayBuffer=lr("ArrayBuffer");X.sharedArrayBuffer=lr("SharedArrayBuffer");X.dataView=lr("DataView");X.directInstanceOf=(r,e)=>Object.getPrototypeOf(r)===e.prototype;X.urlInstance=r=>lr("URL")(r);X.urlString=r=>{if(!X.string(r))return!1;try{return new URL(r),!0}catch{return!1}};X.truthy=r=>Boolean(r);X.falsy=r=>!r;X.nan=r=>Number.isNaN(r);X.primitive=r=>X.null_(r)||jve(typeof r);X.integer=r=>Number.isInteger(r);X.safeInteger=r=>Number.isSafeInteger(r);X.plainObject=r=>{if(dz.call(r)!=="[object Object]")return!1;let e=Object.getPrototypeOf(r);return e===null||e===Object.getPrototypeOf({})};X.typedArray=r=>Uve(pC(r));var Wve=r=>X.safeInteger(r)&&r>=0;X.arrayLike=r=>!X.nullOrUndefined(r)&&!X.function_(r)&&Wve(r.length);X.inRange=(r,e)=>{if(X.number(e))return r>=Math.min(0,e)&&r<=Math.max(e,0);if(X.array(e)&&e.length===2)return r>=Math.min(...e)&&r<=Math.max(...e);throw new TypeError(`Invalid range: ${JSON.stringify(e)}`)};var zve=1,Vve=["innerHTML","ownerDocument","style","attributes","nodeValue"];X.domElement=r=>X.object(r)&&r.nodeType===zve&&X.string(r.nodeName)&&!X.plainObject(r)&&Vve.every(e=>e in r);X.observable=r=>{var e,t,i,n;return r?r===((t=(e=r)[Symbol.observable])===null||t===void 0?void 0:t.call(e))||r===((n=(i=r)["@@observable"])===null||n===void 0?void 0:n.call(i)):!1};X.nodeStream=r=>X.object(r)&&X.function_(r.pipe)&&!X.observable(r);X.infinite=r=>r===1/0||r===-1/0;var Cz=r=>e=>X.integer(e)&&Math.abs(e%2)===r;X.evenInteger=Cz(0);X.oddInteger=Cz(1);X.emptyArray=r=>X.array(r)&&r.length===0;X.nonEmptyArray=r=>X.array(r)&&r.length>0;X.emptyString=r=>X.string(r)&&r.length===0;X.nonEmptyString=r=>X.string(r)&&r.length>0;var Xve=r=>X.string(r)&&!/\S/.test(r);X.emptyStringOrWhitespace=r=>X.emptyString(r)||Xve(r);X.emptyObject=r=>X.object(r)&&!X.map(r)&&!X.set(r)&&Object.keys(r).length===0;X.nonEmptyObject=r=>X.object(r)&&!X.map(r)&&!X.set(r)&&Object.keys(r).length>0;X.emptySet=r=>X.set(r)&&r.size===0;X.nonEmptySet=r=>X.set(r)&&r.size>0;X.emptyMap=r=>X.map(r)&&r.size===0;X.nonEmptyMap=r=>X.map(r)&&r.size>0;X.propertyKey=r=>X.any([X.string,X.number,X.symbol],r);X.formData=r=>lr("FormData")(r);X.urlSearchParams=r=>lr("URLSearchParams")(r);var mz=(r,e,t)=>{if(!X.function_(e))throw new TypeError(`Invalid predicate: ${JSON.stringify(e)}`);if(t.length===0)throw new TypeError("Invalid number of values");return r.call(t,e)};X.any=(r,...e)=>(X.array(r)?r:[r]).some(i=>mz(Array.prototype.some,i,e));X.all=(r,...e)=>mz(Array.prototype.every,r,e);var Ye=(r,e,t,i={})=>{if(!r){let{multipleValues:n}=i,s=n?`received values of types ${[...new Set(t.map(o=>`\`${X(o)}\``))].join(", ")}`:`received value of type \`${X(t)}\``;throw new TypeError(`Expected value which is \`${e}\`, ${s}.`)}};Ua.assert={undefined:r=>Ye(X.undefined(r),"undefined",r),string:r=>Ye(X.string(r),"string",r),number:r=>Ye(X.number(r),"number",r),bigint:r=>Ye(X.bigint(r),"bigint",r),function_:r=>Ye(X.function_(r),"Function",r),null_:r=>Ye(X.null_(r),"null",r),class_:r=>Ye(X.class_(r),"Class",r),boolean:r=>Ye(X.boolean(r),"boolean",r),symbol:r=>Ye(X.symbol(r),"symbol",r),numericString:r=>Ye(X.numericString(r),"string with a number",r),array:(r,e)=>{Ye(X.array(r),"Array",r),e&&r.forEach(e)},buffer:r=>Ye(X.buffer(r),"Buffer",r),nullOrUndefined:r=>Ye(X.nullOrUndefined(r),"null or undefined",r),object:r=>Ye(X.object(r),"Object",r),iterable:r=>Ye(X.iterable(r),"Iterable",r),asyncIterable:r=>Ye(X.asyncIterable(r),"AsyncIterable",r),generator:r=>Ye(X.generator(r),"Generator",r),asyncGenerator:r=>Ye(X.asyncGenerator(r),"AsyncGenerator",r),nativePromise:r=>Ye(X.nativePromise(r),"native Promise",r),promise:r=>Ye(X.promise(r),"Promise",r),generatorFunction:r=>Ye(X.generatorFunction(r),"GeneratorFunction",r),asyncGeneratorFunction:r=>Ye(X.asyncGeneratorFunction(r),"AsyncGeneratorFunction",r),asyncFunction:r=>Ye(X.asyncFunction(r),"AsyncFunction",r),boundFunction:r=>Ye(X.boundFunction(r),"Function",r),regExp:r=>Ye(X.regExp(r),"RegExp",r),date:r=>Ye(X.date(r),"Date",r),error:r=>Ye(X.error(r),"Error",r),map:r=>Ye(X.map(r),"Map",r),set:r=>Ye(X.set(r),"Set",r),weakMap:r=>Ye(X.weakMap(r),"WeakMap",r),weakSet:r=>Ye(X.weakSet(r),"WeakSet",r),int8Array:r=>Ye(X.int8Array(r),"Int8Array",r),uint8Array:r=>Ye(X.uint8Array(r),"Uint8Array",r),uint8ClampedArray:r=>Ye(X.uint8ClampedArray(r),"Uint8ClampedArray",r),int16Array:r=>Ye(X.int16Array(r),"Int16Array",r),uint16Array:r=>Ye(X.uint16Array(r),"Uint16Array",r),int32Array:r=>Ye(X.int32Array(r),"Int32Array",r),uint32Array:r=>Ye(X.uint32Array(r),"Uint32Array",r),float32Array:r=>Ye(X.float32Array(r),"Float32Array",r),float64Array:r=>Ye(X.float64Array(r),"Float64Array",r),bigInt64Array:r=>Ye(X.bigInt64Array(r),"BigInt64Array",r),bigUint64Array:r=>Ye(X.bigUint64Array(r),"BigUint64Array",r),arrayBuffer:r=>Ye(X.arrayBuffer(r),"ArrayBuffer",r),sharedArrayBuffer:r=>Ye(X.sharedArrayBuffer(r),"SharedArrayBuffer",r),dataView:r=>Ye(X.dataView(r),"DataView",r),urlInstance:r=>Ye(X.urlInstance(r),"URL",r),urlString:r=>Ye(X.urlString(r),"string with a URL",r),truthy:r=>Ye(X.truthy(r),"truthy",r),falsy:r=>Ye(X.falsy(r),"falsy",r),nan:r=>Ye(X.nan(r),"NaN",r),primitive:r=>Ye(X.primitive(r),"primitive",r),integer:r=>Ye(X.integer(r),"integer",r),safeInteger:r=>Ye(X.safeInteger(r),"integer",r),plainObject:r=>Ye(X.plainObject(r),"plain object",r),typedArray:r=>Ye(X.typedArray(r),"TypedArray",r),arrayLike:r=>Ye(X.arrayLike(r),"array-like",r),domElement:r=>Ye(X.domElement(r),"HTMLElement",r),observable:r=>Ye(X.observable(r),"Observable",r),nodeStream:r=>Ye(X.nodeStream(r),"Node.js Stream",r),infinite:r=>Ye(X.infinite(r),"infinite number",r),emptyArray:r=>Ye(X.emptyArray(r),"empty array",r),nonEmptyArray:r=>Ye(X.nonEmptyArray(r),"non-empty array",r),emptyString:r=>Ye(X.emptyString(r),"empty string",r),nonEmptyString:r=>Ye(X.nonEmptyString(r),"non-empty string",r),emptyStringOrWhitespace:r=>Ye(X.emptyStringOrWhitespace(r),"empty string or whitespace",r),emptyObject:r=>Ye(X.emptyObject(r),"empty object",r),nonEmptyObject:r=>Ye(X.nonEmptyObject(r),"non-empty object",r),emptySet:r=>Ye(X.emptySet(r),"empty set",r),nonEmptySet:r=>Ye(X.nonEmptySet(r),"non-empty set",r),emptyMap:r=>Ye(X.emptyMap(r),"empty map",r),nonEmptyMap:r=>Ye(X.nonEmptyMap(r),"non-empty map",r),propertyKey:r=>Ye(X.propertyKey(r),"PropertyKey",r),formData:r=>Ye(X.formData(r),"FormData",r),urlSearchParams:r=>Ye(X.urlSearchParams(r),"URLSearchParams",r),evenInteger:r=>Ye(X.evenInteger(r),"even integer",r),oddInteger:r=>Ye(X.oddInteger(r),"odd integer",r),directInstanceOf:(r,e)=>Ye(X.directInstanceOf(r,e),"T",r),inRange:(r,e)=>Ye(X.inRange(r,e),"in range",r),any:(r,...e)=>Ye(X.any(r,...e),"predicate returns truthy for any value",e,{multipleValues:!0}),all:(r,...e)=>Ye(X.all(r,...e),"predicate returns truthy for all values",e,{multipleValues:!0})};Object.defineProperties(X,{class:{value:X.class_},function:{value:X.function_},null:{value:X.null_}});Object.defineProperties(Ua.assert,{class:{value:Ua.assert.class_},function:{value:Ua.assert.function_},null:{value:Ua.assert.null_}});Ua.default=X;Uw.exports=X;Uw.exports.default=X;Uw.exports.assert=Ua.assert});var Ez=w((zit,dk)=>{"use strict";var Hw=class extends Error{constructor(e){super(e||"Promise was canceled"),this.name="CancelError"}get isCanceled(){return!0}},Nf=class{static fn(e){return(...t)=>new Nf((i,n,s)=>{t.push(s),e(...t).then(i,n)})}constructor(e){this._cancelHandlers=[],this._isPending=!0,this._isCanceled=!1,this._rejectOnCancel=!0,this._promise=new Promise((t,i)=>{this._reject=i;let n=a=>{this._isPending=!1,t(a)},s=a=>{this._isPending=!1,i(a)},o=a=>{if(!this._isPending)throw new Error("The `onCancel` handler was attached after the promise settled.");this._cancelHandlers.push(a)};return Object.defineProperties(o,{shouldReject:{get:()=>this._rejectOnCancel,set:a=>{this._rejectOnCancel=a}}}),e(n,s,o)})}then(e,t){return this._promise.then(e,t)}catch(e){return this._promise.catch(e)}finally(e){return this._promise.finally(e)}cancel(e){if(!(!this._isPending||this._isCanceled)){if(this._cancelHandlers.length>0)try{for(let t of this._cancelHandlers)t()}catch(t){this._reject(t)}this._isCanceled=!0,this._rejectOnCancel&&this._reject(new Hw(e))}}get isCanceled(){return this._isCanceled}};Object.setPrototypeOf(Nf.prototype,Promise.prototype);dk.exports=Nf;dk.exports.CancelError=Hw});var Iz=w((mk,Ek)=>{"use strict";Object.defineProperty(mk,"__esModule",{value:!0});var Zve=J("tls"),Ck=(r,e)=>{let t;typeof e=="function"?t={connect:e}:t=e;let i=typeof t.connect=="function",n=typeof t.secureConnect=="function",s=typeof t.close=="function",o=()=>{i&&t.connect(),r instanceof Zve.TLSSocket&&n&&(r.authorized?t.secureConnect():r.authorizationError||r.once("secureConnect",t.secureConnect)),s&&r.once("close",t.close)};r.writable&&!r.connecting?o():r.connecting?r.once("connect",o):r.destroyed&&s&&t.close(r._hadError)};mk.default=Ck;Ek.exports=Ck;Ek.exports.default=Ck});var yz=w((yk,wk)=>{"use strict";Object.defineProperty(yk,"__esModule",{value:!0});var _ve=Iz(),$ve=Number(process.versions.node.split(".")[0]),Ik=r=>{let e={start:Date.now(),socket:void 0,lookup:void 0,connect:void 0,secureConnect:void 0,upload:void 0,response:void 0,end:void 0,error:void 0,abort:void 0,phases:{wait:void 0,dns:void 0,tcp:void 0,tls:void 0,request:void 0,firstByte:void 0,download:void 0,total:void 0}};r.timings=e;let t=o=>{let a=o.emit.bind(o);o.emit=(l,...c)=>(l==="error"&&(e.error=Date.now(),e.phases.total=e.error-e.start,o.emit=a),a(l,...c))};t(r),r.prependOnceListener("abort",()=>{e.abort=Date.now(),(!e.response||$ve>=13)&&(e.phases.total=Date.now()-e.start)});let i=o=>{e.socket=Date.now(),e.phases.wait=e.socket-e.start;let a=()=>{e.lookup=Date.now(),e.phases.dns=e.lookup-e.socket};o.prependOnceListener("lookup",a),_ve.default(o,{connect:()=>{e.connect=Date.now(),e.lookup===void 0&&(o.removeListener("lookup",a),e.lookup=e.connect,e.phases.dns=e.lookup-e.socket),e.phases.tcp=e.connect-e.lookup},secureConnect:()=>{e.secureConnect=Date.now(),e.phases.tls=e.secureConnect-e.connect}})};r.socket?i(r.socket):r.prependOnceListener("socket",i);let n=()=>{var o;e.upload=Date.now(),e.phases.request=e.upload-(o=e.secureConnect,o!=null?o:e.connect)};return(()=>typeof r.writableFinished=="boolean"?r.writableFinished:r.finished&&r.outputSize===0&&(!r.socket||r.socket.writableLength===0))()?n():r.prependOnceListener("finish",n),r.prependOnceListener("response",o=>{e.response=Date.now(),e.phases.firstByte=e.response-e.upload,o.timings=e,t(o),o.prependOnceListener("end",()=>{e.end=Date.now(),e.phases.download=e.end-e.response,e.phases.total=e.end-e.start})}),e};yk.default=Ik;wk.exports=Ik;wk.exports.default=Ik});var xz=w((Vit,bk)=>{"use strict";var{V4MAPPED:exe,ADDRCONFIG:txe,ALL:vz,promises:{Resolver:wz},lookup:rxe}=J("dns"),{promisify:Bk}=J("util"),ixe=J("os"),Lf=Symbol("cacheableLookupCreateConnection"),Qk=Symbol("cacheableLookupInstance"),Bz=Symbol("expires"),nxe=typeof vz=="number",Qz=r=>{if(!(r&&typeof r.createConnection=="function"))throw new Error("Expected an Agent instance as the first argument")},sxe=r=>{for(let e of r)e.family!==6&&(e.address=`::ffff:${e.address}`,e.family=6)},bz=()=>{let r=!1,e=!1;for(let t of Object.values(ixe.networkInterfaces()))for(let i of t)if(!i.internal&&(i.family==="IPv6"?e=!0:r=!0,r&&e))return{has4:r,has6:e};return{has4:r,has6:e}},oxe=r=>Symbol.iterator in r,Sz={ttl:!0},axe={all:!0},Gw=class{constructor({cache:e=new Map,maxTtl:t=1/0,fallbackDuration:i=3600,errorTtl:n=.15,resolver:s=new wz,lookup:o=rxe}={}){if(this.maxTtl=t,this.errorTtl=n,this._cache=e,this._resolver=s,this._dnsLookup=Bk(o),this._resolver instanceof wz?(this._resolve4=this._resolver.resolve4.bind(this._resolver),this._resolve6=this._resolver.resolve6.bind(this._resolver)):(this._resolve4=Bk(this._resolver.resolve4.bind(this._resolver)),this._resolve6=Bk(this._resolver.resolve6.bind(this._resolver))),this._iface=bz(),this._pending={},this._nextRemovalTime=!1,this._hostnamesToFallback=new Set,i<1)this._fallback=!1;else{this._fallback=!0;let a=setInterval(()=>{this._hostnamesToFallback.clear()},i*1e3);a.unref&&a.unref()}this.lookup=this.lookup.bind(this),this.lookupAsync=this.lookupAsync.bind(this)}set servers(e){this.clear(),this._resolver.setServers(e)}get servers(){return this._resolver.getServers()}lookup(e,t,i){if(typeof t=="function"?(i=t,t={}):typeof t=="number"&&(t={family:t}),!i)throw new Error("Callback must be a function.");this.lookupAsync(e,t).then(n=>{t.all?i(null,n):i(null,n.address,n.family,n.expires,n.ttl)},i)}async lookupAsync(e,t={}){typeof t=="number"&&(t={family:t});let i=await this.query(e);if(t.family===6){let n=i.filter(s=>s.family===6);t.hints&exe&&(nxe&&t.hints&vz||n.length===0)?sxe(i):i=n}else t.family===4&&(i=i.filter(n=>n.family===4));if(t.hints&txe){let{_iface:n}=this;i=i.filter(s=>s.family===6?n.has6:n.has4)}if(i.length===0){let n=new Error(`cacheableLookup ENOTFOUND ${e}`);throw n.code="ENOTFOUND",n.hostname=e,n}return t.all?i:i[0]}async query(e){let t=await this._cache.get(e);if(!t){let i=this._pending[e];if(i)t=await i;else{let n=this.queryAndCache(e);this._pending[e]=n,t=await n}}return t=t.map(i=>({...i})),t}async _resolve(e){let t=async c=>{try{return await c}catch(u){if(u.code==="ENODATA"||u.code==="ENOTFOUND")return[];throw u}},[i,n]=await Promise.all([this._resolve4(e,Sz),this._resolve6(e,Sz)].map(c=>t(c))),s=0,o=0,a=0,l=Date.now();for(let c of i)c.family=4,c.expires=l+c.ttl*1e3,s=Math.max(s,c.ttl);for(let c of n)c.family=6,c.expires=l+c.ttl*1e3,o=Math.max(o,c.ttl);return i.length>0?n.length>0?a=Math.min(s,o):a=s:a=o,{entries:[...i,...n],cacheTtl:a}}async _lookup(e){try{return{entries:await this._dnsLookup(e,{all:!0}),cacheTtl:0}}catch{return{entries:[],cacheTtl:0}}}async _set(e,t,i){if(this.maxTtl>0&&i>0){i=Math.min(i,this.maxTtl)*1e3,t[Bz]=Date.now()+i;try{await this._cache.set(e,t,i)}catch(n){this.lookupAsync=async()=>{let s=new Error("Cache Error. Please recreate the CacheableLookup instance.");throw s.cause=n,s}}oxe(this._cache)&&this._tick(i)}}async queryAndCache(e){if(this._hostnamesToFallback.has(e))return this._dnsLookup(e,axe);try{let t=await this._resolve(e);t.entries.length===0&&this._fallback&&(t=await this._lookup(e),t.entries.length!==0&&this._hostnamesToFallback.add(e));let i=t.entries.length===0?this.errorTtl:t.cacheTtl;return await this._set(e,t.entries,i),delete this._pending[e],t.entries}catch(t){throw delete this._pending[e],t}}_tick(e){let t=this._nextRemovalTime;(!t||e{this._nextRemovalTime=!1;let i=1/0,n=Date.now();for(let[s,o]of this._cache){let a=o[Bz];n>=a?this._cache.delete(s):a("lookup"in t||(t.lookup=this.lookup),e[Lf](t,i))}uninstall(e){if(Qz(e),e[Lf]){if(e[Qk]!==this)throw new Error("The agent is not owned by this CacheableLookup instance");e.createConnection=e[Lf],delete e[Lf],delete e[Qk]}}updateInterfaceInfo(){let{_iface:e}=this;this._iface=bz(),(e.has4&&!this._iface.has4||e.has6&&!this._iface.has6)&&this._cache.clear()}clear(e){if(e){this._cache.delete(e);return}this._cache.clear()}};bk.exports=Gw;bk.exports.default=Gw});var kz=w((Xit,Sk)=>{"use strict";var Axe=typeof URL>"u"?J("url").URL:URL,lxe="text/plain",cxe="us-ascii",Pz=(r,e)=>e.some(t=>t instanceof RegExp?t.test(r):t===r),uxe=(r,{stripHash:e})=>{let t=r.match(/^data:([^,]*?),([^#]*?)(?:#(.*))?$/);if(!t)throw new Error(`Invalid URL: ${r}`);let i=t[1].split(";"),n=t[2],s=e?"":t[3],o=!1;i[i.length-1]==="base64"&&(i.pop(),o=!0);let a=(i.shift()||"").toLowerCase(),c=[...i.map(u=>{let[g,f=""]=u.split("=").map(h=>h.trim());return g==="charset"&&(f=f.toLowerCase(),f===cxe)?"":`${g}${f?`=${f}`:""}`}).filter(Boolean)];return o&&c.push("base64"),(c.length!==0||a&&a!==lxe)&&c.unshift(a),`data:${c.join(";")},${o?n.trim():n}${s?`#${s}`:""}`},Dz=(r,e)=>{if(e={defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0,...e},Reflect.has(e,"normalizeHttps"))throw new Error("options.normalizeHttps is renamed to options.forceHttp");if(Reflect.has(e,"normalizeHttp"))throw new Error("options.normalizeHttp is renamed to options.forceHttps");if(Reflect.has(e,"stripFragment"))throw new Error("options.stripFragment is renamed to options.stripHash");if(r=r.trim(),/^data:/i.test(r))return uxe(r,e);let t=r.startsWith("//");!t&&/^\.*\//.test(r)||(r=r.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,e.defaultProtocol));let n=new Axe(r);if(e.forceHttp&&e.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(e.forceHttp&&n.protocol==="https:"&&(n.protocol="http:"),e.forceHttps&&n.protocol==="http:"&&(n.protocol="https:"),e.stripAuthentication&&(n.username="",n.password=""),e.stripHash&&(n.hash=""),n.pathname&&(n.pathname=n.pathname.replace(/((?!:).|^)\/{2,}/g,(s,o)=>/^(?!\/)/g.test(o)?`${o}/`:"/")),n.pathname&&(n.pathname=decodeURI(n.pathname)),e.removeDirectoryIndex===!0&&(e.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(e.removeDirectoryIndex)&&e.removeDirectoryIndex.length>0){let s=n.pathname.split("/"),o=s[s.length-1];Pz(o,e.removeDirectoryIndex)&&(s=s.slice(0,s.length-1),n.pathname=s.slice(1).join("/")+"/")}if(n.hostname&&(n.hostname=n.hostname.replace(/\.$/,""),e.stripWWW&&/^www\.([a-z\-\d]{2,63})\.([a-z.]{2,5})$/.test(n.hostname)&&(n.hostname=n.hostname.replace(/^www\./,""))),Array.isArray(e.removeQueryParameters))for(let s of[...n.searchParams.keys()])Pz(s,e.removeQueryParameters)&&n.searchParams.delete(s);return e.sortQueryParameters&&n.searchParams.sort(),e.removeTrailingSlash&&(n.pathname=n.pathname.replace(/\/$/,"")),r=n.toString(),(e.removeTrailingSlash||n.pathname==="/")&&n.hash===""&&(r=r.replace(/\/$/,"")),t&&!e.normalizeProtocol&&(r=r.replace(/^http:\/\//,"//")),e.stripProtocol&&(r=r.replace(/^(?:https?:)?\/\//,"")),r};Sk.exports=Dz;Sk.exports.default=Dz});var Nz=w((Zit,Fz)=>{Fz.exports=Rz;function Rz(r,e){if(r&&e)return Rz(r)(e);if(typeof r!="function")throw new TypeError("need wrapper function");return Object.keys(r).forEach(function(i){t[i]=r[i]}),t;function t(){for(var i=new Array(arguments.length),n=0;n{var Lz=Nz();vk.exports=Lz(Yw);vk.exports.strict=Lz(Tz);Yw.proto=Yw(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return Yw(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return Tz(this)},configurable:!0})});function Yw(r){var e=function(){return e.called?e.value:(e.called=!0,e.value=r.apply(this,arguments))};return e.called=!1,e}function Tz(r){var e=function(){if(e.called)throw new Error(e.onceError);return e.called=!0,e.value=r.apply(this,arguments)},t=r.name||"Function wrapped with `once`";return e.onceError=t+" shouldn't be called more than once",e.called=!1,e}});var Pk=w(($it,Mz)=>{var gxe=xk(),fxe=function(){},hxe=function(r){return r.setHeader&&typeof r.abort=="function"},pxe=function(r){return r.stdio&&Array.isArray(r.stdio)&&r.stdio.length===3},Oz=function(r,e,t){if(typeof e=="function")return Oz(r,null,e);e||(e={}),t=gxe(t||fxe);var i=r._writableState,n=r._readableState,s=e.readable||e.readable!==!1&&r.readable,o=e.writable||e.writable!==!1&&r.writable,a=function(){r.writable||l()},l=function(){o=!1,s||t.call(r)},c=function(){s=!1,o||t.call(r)},u=function(p){t.call(r,p?new Error("exited with error code: "+p):null)},g=function(p){t.call(r,p)},f=function(){if(s&&!(n&&n.ended))return t.call(r,new Error("premature close"));if(o&&!(i&&i.ended))return t.call(r,new Error("premature close"))},h=function(){r.req.on("finish",l)};return hxe(r)?(r.on("complete",l),r.on("abort",f),r.req?h():r.on("request",h)):o&&!i&&(r.on("end",a),r.on("close",a)),pxe(r)&&r.on("exit",u),r.on("end",c),r.on("finish",l),e.error!==!1&&r.on("error",g),r.on("close",f),function(){r.removeListener("complete",l),r.removeListener("abort",f),r.removeListener("request",h),r.req&&r.req.removeListener("finish",l),r.removeListener("end",a),r.removeListener("close",a),r.removeListener("finish",l),r.removeListener("exit",u),r.removeListener("end",c),r.removeListener("error",g),r.removeListener("close",f)}};Mz.exports=Oz});var Hz=w((ent,Uz)=>{var dxe=xk(),Cxe=Pk(),Dk=J("fs"),dC=function(){},mxe=/^v?\.0/.test(process.version),jw=function(r){return typeof r=="function"},Exe=function(r){return!mxe||!Dk?!1:(r instanceof(Dk.ReadStream||dC)||r instanceof(Dk.WriteStream||dC))&&jw(r.close)},Ixe=function(r){return r.setHeader&&jw(r.abort)},yxe=function(r,e,t,i){i=dxe(i);var n=!1;r.on("close",function(){n=!0}),Cxe(r,{readable:e,writable:t},function(o){if(o)return i(o);n=!0,i()});var s=!1;return function(o){if(!n&&!s){if(s=!0,Exe(r))return r.close(dC);if(Ixe(r))return r.abort();if(jw(r.destroy))return r.destroy();i(o||new Error("stream was destroyed"))}}},Kz=function(r){r()},wxe=function(r,e){return r.pipe(e)},Bxe=function(){var r=Array.prototype.slice.call(arguments),e=jw(r[r.length-1]||dC)&&r.pop()||dC;if(Array.isArray(r[0])&&(r=r[0]),r.length<2)throw new Error("pump requires two streams per minimum");var t,i=r.map(function(n,s){var o=s0;return yxe(n,o,a,function(l){t||(t=l),l&&i.forEach(Kz),!o&&(i.forEach(Kz),e(t))})});return r.reduce(wxe)};Uz.exports=Bxe});var Yz=w((tnt,Gz)=>{"use strict";var{PassThrough:Qxe}=J("stream");Gz.exports=r=>{r={...r};let{array:e}=r,{encoding:t}=r,i=t==="buffer",n=!1;e?n=!(t||i):t=t||"utf8",i&&(t=null);let s=new Qxe({objectMode:n});t&&s.setEncoding(t);let o=0,a=[];return s.on("data",l=>{a.push(l),n?o=a.length:o+=l.length}),s.getBufferedValue=()=>e?a:i?Buffer.concat(a,o):a.join(""),s.getBufferedLength=()=>o,s}});var jz=w((rnt,Tf)=>{"use strict";var bxe=Hz(),Sxe=Yz(),qw=class extends Error{constructor(){super("maxBuffer exceeded"),this.name="MaxBufferError"}};async function Jw(r,e){if(!r)return Promise.reject(new Error("Expected a stream"));e={maxBuffer:1/0,...e};let{maxBuffer:t}=e,i;return await new Promise((n,s)=>{let o=a=>{a&&(a.bufferedData=i.getBufferedValue()),s(a)};i=bxe(r,Sxe(e),a=>{if(a){o(a);return}n()}),i.on("data",()=>{i.getBufferedLength()>t&&o(new qw)})}),i.getBufferedValue()}Tf.exports=Jw;Tf.exports.default=Jw;Tf.exports.buffer=(r,e)=>Jw(r,{...e,encoding:"buffer"});Tf.exports.array=(r,e)=>Jw(r,{...e,array:!0});Tf.exports.MaxBufferError=qw});var Jz=w((nnt,qz)=>{"use strict";var vxe=new Set([200,203,204,206,300,301,404,405,410,414,501]),xxe=new Set([200,203,204,300,301,302,303,307,308,404,405,410,414,501]),Pxe=new Set([500,502,503,504]),Dxe={date:!0,connection:!0,"keep-alive":!0,"proxy-authenticate":!0,"proxy-authorization":!0,te:!0,trailer:!0,"transfer-encoding":!0,upgrade:!0},kxe={"content-length":!0,"content-encoding":!0,"transfer-encoding":!0,"content-range":!0};function Rc(r){let e=parseInt(r,10);return isFinite(e)?e:0}function Rxe(r){return r?Pxe.has(r.status):!0}function kk(r){let e={};if(!r)return e;let t=r.trim().split(/\s*,\s*/);for(let i of t){let[n,s]=i.split(/\s*=\s*/,2);e[n]=s===void 0?!0:s.replace(/^"|"$/g,"")}return e}function Fxe(r){let e=[];for(let t in r){let i=r[t];e.push(i===!0?t:t+"="+i)}if(!!e.length)return e.join(", ")}qz.exports=class{constructor(e,t,{shared:i,cacheHeuristic:n,immutableMinTimeToLive:s,ignoreCargoCult:o,_fromObject:a}={}){if(a){this._fromObject(a);return}if(!t||!t.headers)throw Error("Response headers missing");this._assertRequestHasHeaders(e),this._responseTime=this.now(),this._isShared=i!==!1,this._cacheHeuristic=n!==void 0?n:.1,this._immutableMinTtl=s!==void 0?s:24*3600*1e3,this._status="status"in t?t.status:200,this._resHeaders=t.headers,this._rescc=kk(t.headers["cache-control"]),this._method="method"in e?e.method:"GET",this._url=e.url,this._host=e.headers.host,this._noAuthorization=!e.headers.authorization,this._reqHeaders=t.headers.vary?e.headers:null,this._reqcc=kk(e.headers["cache-control"]),o&&"pre-check"in this._rescc&&"post-check"in this._rescc&&(delete this._rescc["pre-check"],delete this._rescc["post-check"],delete this._rescc["no-cache"],delete this._rescc["no-store"],delete this._rescc["must-revalidate"],this._resHeaders=Object.assign({},this._resHeaders,{"cache-control":Fxe(this._rescc)}),delete this._resHeaders.expires,delete this._resHeaders.pragma),t.headers["cache-control"]==null&&/no-cache/.test(t.headers.pragma)&&(this._rescc["no-cache"]=!0)}now(){return Date.now()}storable(){return!!(!this._reqcc["no-store"]&&(this._method==="GET"||this._method==="HEAD"||this._method==="POST"&&this._hasExplicitExpiration())&&xxe.has(this._status)&&!this._rescc["no-store"]&&(!this._isShared||!this._rescc.private)&&(!this._isShared||this._noAuthorization||this._allowsStoringAuthenticated())&&(this._resHeaders.expires||this._rescc["max-age"]||this._isShared&&this._rescc["s-maxage"]||this._rescc.public||vxe.has(this._status)))}_hasExplicitExpiration(){return this._isShared&&this._rescc["s-maxage"]||this._rescc["max-age"]||this._resHeaders.expires}_assertRequestHasHeaders(e){if(!e||!e.headers)throw Error("Request headers missing")}satisfiesWithoutRevalidation(e){this._assertRequestHasHeaders(e);let t=kk(e.headers["cache-control"]);return t["no-cache"]||/no-cache/.test(e.headers.pragma)||t["max-age"]&&this.age()>t["max-age"]||t["min-fresh"]&&this.timeToLive()<1e3*t["min-fresh"]||this.stale()&&!(t["max-stale"]&&!this._rescc["must-revalidate"]&&(t["max-stale"]===!0||t["max-stale"]>this.age()-this.maxAge()))?!1:this._requestMatches(e,!1)}_requestMatches(e,t){return(!this._url||this._url===e.url)&&this._host===e.headers.host&&(!e.method||this._method===e.method||t&&e.method==="HEAD")&&this._varyMatches(e)}_allowsStoringAuthenticated(){return this._rescc["must-revalidate"]||this._rescc.public||this._rescc["s-maxage"]}_varyMatches(e){if(!this._resHeaders.vary)return!0;if(this._resHeaders.vary==="*")return!1;let t=this._resHeaders.vary.trim().toLowerCase().split(/\s*,\s*/);for(let i of t)if(e.headers[i]!==this._reqHeaders[i])return!1;return!0}_copyWithoutHopByHopHeaders(e){let t={};for(let i in e)Dxe[i]||(t[i]=e[i]);if(e.connection){let i=e.connection.trim().split(/\s*,\s*/);for(let n of i)delete t[n]}if(t.warning){let i=t.warning.split(/,/).filter(n=>!/^\s*1[0-9][0-9]/.test(n));i.length?t.warning=i.join(",").trim():delete t.warning}return t}responseHeaders(){let e=this._copyWithoutHopByHopHeaders(this._resHeaders),t=this.age();return t>3600*24&&!this._hasExplicitExpiration()&&this.maxAge()>3600*24&&(e.warning=(e.warning?`${e.warning}, `:"")+'113 - "rfc7234 5.5.4"'),e.age=`${Math.round(t)}`,e.date=new Date(this.now()).toUTCString(),e}date(){let e=Date.parse(this._resHeaders.date);return isFinite(e)?e:this._responseTime}age(){let e=this._ageValue(),t=(this.now()-this._responseTime)/1e3;return e+t}_ageValue(){return Rc(this._resHeaders.age)}maxAge(){if(!this.storable()||this._rescc["no-cache"]||this._isShared&&this._resHeaders["set-cookie"]&&!this._rescc.public&&!this._rescc.immutable||this._resHeaders.vary==="*")return 0;if(this._isShared){if(this._rescc["proxy-revalidate"])return 0;if(this._rescc["s-maxage"])return Rc(this._rescc["s-maxage"])}if(this._rescc["max-age"])return Rc(this._rescc["max-age"]);let e=this._rescc.immutable?this._immutableMinTtl:0,t=this.date();if(this._resHeaders.expires){let i=Date.parse(this._resHeaders.expires);return Number.isNaN(i)||ii)return Math.max(e,(t-i)/1e3*this._cacheHeuristic)}return e}timeToLive(){let e=this.maxAge()-this.age(),t=e+Rc(this._rescc["stale-if-error"]),i=e+Rc(this._rescc["stale-while-revalidate"]);return Math.max(0,e,t,i)*1e3}stale(){return this.maxAge()<=this.age()}_useStaleIfError(){return this.maxAge()+Rc(this._rescc["stale-if-error"])>this.age()}useStaleWhileRevalidate(){return this.maxAge()+Rc(this._rescc["stale-while-revalidate"])>this.age()}static fromObject(e){return new this(void 0,void 0,{_fromObject:e})}_fromObject(e){if(this._responseTime)throw Error("Reinitialized");if(!e||e.v!==1)throw Error("Invalid serialization");this._responseTime=e.t,this._isShared=e.sh,this._cacheHeuristic=e.ch,this._immutableMinTtl=e.imm!==void 0?e.imm:24*3600*1e3,this._status=e.st,this._resHeaders=e.resh,this._rescc=e.rescc,this._method=e.m,this._url=e.u,this._host=e.h,this._noAuthorization=e.a,this._reqHeaders=e.reqh,this._reqcc=e.reqcc}toObject(){return{v:1,t:this._responseTime,sh:this._isShared,ch:this._cacheHeuristic,imm:this._immutableMinTtl,st:this._status,resh:this._resHeaders,rescc:this._rescc,m:this._method,u:this._url,h:this._host,a:this._noAuthorization,reqh:this._reqHeaders,reqcc:this._reqcc}}revalidationHeaders(e){this._assertRequestHasHeaders(e);let t=this._copyWithoutHopByHopHeaders(e.headers);if(delete t["if-range"],!this._requestMatches(e,!0)||!this.storable())return delete t["if-none-match"],delete t["if-modified-since"],t;if(this._resHeaders.etag&&(t["if-none-match"]=t["if-none-match"]?`${t["if-none-match"]}, ${this._resHeaders.etag}`:this._resHeaders.etag),t["accept-ranges"]||t["if-match"]||t["if-unmodified-since"]||this._method&&this._method!="GET"){if(delete t["if-modified-since"],t["if-none-match"]){let n=t["if-none-match"].split(/,/).filter(s=>!/^\s*W\//.test(s));n.length?t["if-none-match"]=n.join(",").trim():delete t["if-none-match"]}}else this._resHeaders["last-modified"]&&!t["if-modified-since"]&&(t["if-modified-since"]=this._resHeaders["last-modified"]);return t}revalidatedPolicy(e,t){if(this._assertRequestHasHeaders(e),this._useStaleIfError()&&Rxe(t))return{modified:!1,matches:!1,policy:this};if(!t||!t.headers)throw Error("Response headers missing");let i=!1;if(t.status!==void 0&&t.status!=304?i=!1:t.headers.etag&&!/^\s*W\//.test(t.headers.etag)?i=this._resHeaders.etag&&this._resHeaders.etag.replace(/^\s*W\//,"")===t.headers.etag:this._resHeaders.etag&&t.headers.etag?i=this._resHeaders.etag.replace(/^\s*W\//,"")===t.headers.etag.replace(/^\s*W\//,""):this._resHeaders["last-modified"]?i=this._resHeaders["last-modified"]===t.headers["last-modified"]:!this._resHeaders.etag&&!this._resHeaders["last-modified"]&&!t.headers.etag&&!t.headers["last-modified"]&&(i=!0),!i)return{policy:new this.constructor(e,t),modified:t.status!=304,matches:!1};let n={};for(let o in this._resHeaders)n[o]=o in t.headers&&!kxe[o]?t.headers[o]:this._resHeaders[o];let s=Object.assign({},t,{status:this._status,method:this._method,headers:n});return{policy:new this.constructor(e,s,{shared:this._isShared,cacheHeuristic:this._cacheHeuristic,immutableMinTimeToLive:this._immutableMinTtl}),modified:!1,matches:!0}}}});var Ww=w((snt,Wz)=>{"use strict";Wz.exports=r=>{let e={};for(let[t,i]of Object.entries(r))e[t.toLowerCase()]=i;return e}});var Vz=w((ont,zz)=>{"use strict";var Nxe=J("stream").Readable,Lxe=Ww(),Rk=class extends Nxe{constructor(e,t,i,n){if(typeof e!="number")throw new TypeError("Argument `statusCode` should be a number");if(typeof t!="object")throw new TypeError("Argument `headers` should be an object");if(!(i instanceof Buffer))throw new TypeError("Argument `body` should be a buffer");if(typeof n!="string")throw new TypeError("Argument `url` should be a string");super(),this.statusCode=e,this.headers=Lxe(t),this.body=i,this.url=n}_read(){this.push(this.body),this.push(null)}};zz.exports=Rk});var Zz=w((ant,Xz)=>{"use strict";var Txe=["destroy","setTimeout","socket","headers","trailers","rawHeaders","statusCode","httpVersion","httpVersionMinor","httpVersionMajor","rawTrailers","statusMessage"];Xz.exports=(r,e)=>{let t=new Set(Object.keys(r).concat(Txe));for(let i of t)i in e||(e[i]=typeof r[i]=="function"?r[i].bind(r):r[i])}});var $z=w((Ant,_z)=>{"use strict";var Oxe=J("stream").PassThrough,Mxe=Zz(),Kxe=r=>{if(!(r&&r.pipe))throw new TypeError("Parameter `response` must be a response stream.");let e=new Oxe;return Mxe(r,e),r.pipe(e)};_z.exports=Kxe});var e5=w(Fk=>{Fk.stringify=function r(e){if(typeof e>"u")return e;if(e&&Buffer.isBuffer(e))return JSON.stringify(":base64:"+e.toString("base64"));if(e&&e.toJSON&&(e=e.toJSON()),e&&typeof e=="object"){var t="",i=Array.isArray(e);t=i?"[":"{";var n=!0;for(var s in e){var o=typeof e[s]=="function"||!i&&typeof e[s]>"u";Object.hasOwnProperty.call(e,s)&&!o&&(n||(t+=","),n=!1,i?e[s]==null?t+="null":t+=r(e[s]):e[s]!==void 0&&(t+=r(s)+":"+r(e[s])))}return t+=i?"]":"}",t}else return typeof e=="string"?JSON.stringify(/^:/.test(e)?":"+e:e):typeof e>"u"?"null":JSON.stringify(e)};Fk.parse=function(r){return JSON.parse(r,function(e,t){return typeof t=="string"?/^:base64:/.test(t)?Buffer.from(t.substring(8),"base64"):/^:/.test(t)?t.substring(1):t:t})}});var i5=w((cnt,r5)=>{"use strict";var Uxe=J("events"),t5=e5(),Hxe=r=>{let e={redis:"@keyv/redis",mongodb:"@keyv/mongo",mongo:"@keyv/mongo",sqlite:"@keyv/sqlite",postgresql:"@keyv/postgres",postgres:"@keyv/postgres",mysql:"@keyv/mysql"};if(r.adapter||r.uri){let t=r.adapter||/^[^:]*/.exec(r.uri)[0];return new(J(e[t]))(r)}return new Map},Nk=class extends Uxe{constructor(e,t){if(super(),this.opts=Object.assign({namespace:"keyv",serialize:t5.stringify,deserialize:t5.parse},typeof e=="string"?{uri:e}:e,t),!this.opts.store){let i=Object.assign({},this.opts);this.opts.store=Hxe(i)}typeof this.opts.store.on=="function"&&this.opts.store.on("error",i=>this.emit("error",i)),this.opts.store.namespace=this.opts.namespace}_getKeyPrefix(e){return`${this.opts.namespace}:${e}`}get(e,t){e=this._getKeyPrefix(e);let{store:i}=this.opts;return Promise.resolve().then(()=>i.get(e)).then(n=>typeof n=="string"?this.opts.deserialize(n):n).then(n=>{if(n!==void 0){if(typeof n.expires=="number"&&Date.now()>n.expires){this.delete(e);return}return t&&t.raw?n:n.value}})}set(e,t,i){e=this._getKeyPrefix(e),typeof i>"u"&&(i=this.opts.ttl),i===0&&(i=void 0);let{store:n}=this.opts;return Promise.resolve().then(()=>{let s=typeof i=="number"?Date.now()+i:null;return t={value:t,expires:s},this.opts.serialize(t)}).then(s=>n.set(e,s,i)).then(()=>!0)}delete(e){e=this._getKeyPrefix(e);let{store:t}=this.opts;return Promise.resolve().then(()=>t.delete(e))}clear(){let{store:e}=this.opts;return Promise.resolve().then(()=>e.clear())}};r5.exports=Nk});var o5=w((unt,s5)=>{"use strict";var Gxe=J("events"),zw=J("url"),Yxe=kz(),jxe=jz(),Lk=Jz(),n5=Vz(),qxe=Ww(),Jxe=$z(),Wxe=i5(),no=class{constructor(e,t){if(typeof e!="function")throw new TypeError("Parameter `request` must be a function");return this.cache=new Wxe({uri:typeof t=="string"&&t,store:typeof t!="string"&&t,namespace:"cacheable-request"}),this.createCacheableRequest(e)}createCacheableRequest(e){return(t,i)=>{let n;if(typeof t=="string")n=Tk(zw.parse(t)),t={};else if(t instanceof zw.URL)n=Tk(zw.parse(t.toString())),t={};else{let[g,...f]=(t.path||"").split("?"),h=f.length>0?`?${f.join("?")}`:"";n=Tk({...t,pathname:g,search:h})}t={headers:{},method:"GET",cache:!0,strictTtl:!1,automaticFailover:!1,...t,...zxe(n)},t.headers=qxe(t.headers);let s=new Gxe,o=Yxe(zw.format(n),{stripWWW:!1,removeTrailingSlash:!1,stripAuthentication:!1}),a=`${t.method}:${o}`,l=!1,c=!1,u=g=>{c=!0;let f=!1,h,p=new Promise(y=>{h=()=>{f||(f=!0,y())}}),C=y=>{if(l&&!g.forceRefresh){y.status=y.statusCode;let v=Lk.fromObject(l.cachePolicy).revalidatedPolicy(g,y);if(!v.modified){let D=v.policy.responseHeaders();y=new n5(l.statusCode,D,l.body,l.url),y.cachePolicy=v.policy,y.fromCache=!0}}y.fromCache||(y.cachePolicy=new Lk(g,y,g),y.fromCache=!1);let B;g.cache&&y.cachePolicy.storable()?(B=Jxe(y),(async()=>{try{let v=jxe.buffer(y);if(await Promise.race([p,new Promise(j=>y.once("end",j))]),f)return;let D=await v,L={cachePolicy:y.cachePolicy.toObject(),url:y.url,statusCode:y.fromCache?l.statusCode:y.statusCode,body:D},H=g.strictTtl?y.cachePolicy.timeToLive():void 0;g.maxTtl&&(H=H?Math.min(H,g.maxTtl):g.maxTtl),await this.cache.set(a,L,H)}catch(v){s.emit("error",new no.CacheError(v))}})()):g.cache&&l&&(async()=>{try{await this.cache.delete(a)}catch(v){s.emit("error",new no.CacheError(v))}})(),s.emit("response",B||y),typeof i=="function"&&i(B||y)};try{let y=e(g,C);y.once("error",h),y.once("abort",h),s.emit("request",y)}catch(y){s.emit("error",new no.RequestError(y))}};return(async()=>{let g=async h=>{await Promise.resolve();let p=h.cache?await this.cache.get(a):void 0;if(typeof p>"u")return u(h);let C=Lk.fromObject(p.cachePolicy);if(C.satisfiesWithoutRevalidation(h)&&!h.forceRefresh){let y=C.responseHeaders(),B=new n5(p.statusCode,y,p.body,p.url);B.cachePolicy=C,B.fromCache=!0,s.emit("response",B),typeof i=="function"&&i(B)}else l=p,h.headers=C.revalidationHeaders(h),u(h)},f=h=>s.emit("error",new no.CacheError(h));this.cache.once("error",f),s.on("response",()=>this.cache.removeListener("error",f));try{await g(t)}catch(h){t.automaticFailover&&!c&&u(t),s.emit("error",new no.CacheError(h))}})(),s}}};function zxe(r){let e={...r};return e.path=`${r.pathname||"/"}${r.search||""}`,delete e.pathname,delete e.search,e}function Tk(r){return{protocol:r.protocol,auth:r.auth,hostname:r.hostname||r.host||"localhost",port:r.port,pathname:r.pathname,search:r.search}}no.RequestError=class extends Error{constructor(r){super(r.message),this.name="RequestError",Object.assign(this,r)}};no.CacheError=class extends Error{constructor(r){super(r.message),this.name="CacheError",Object.assign(this,r)}};s5.exports=no});var A5=w((hnt,a5)=>{"use strict";var Vxe=["aborted","complete","headers","httpVersion","httpVersionMinor","httpVersionMajor","method","rawHeaders","rawTrailers","setTimeout","socket","statusCode","statusMessage","trailers","url"];a5.exports=(r,e)=>{if(e._readableState.autoDestroy)throw new Error("The second stream must have the `autoDestroy` option set to `false`");let t=new Set(Object.keys(r).concat(Vxe)),i={};for(let n of t)n in e||(i[n]={get(){let s=r[n];return typeof s=="function"?s.bind(r):s},set(s){r[n]=s},enumerable:!0,configurable:!1});return Object.defineProperties(e,i),r.once("aborted",()=>{e.destroy(),e.emit("aborted")}),r.once("close",()=>{r.complete&&e.readable?e.once("end",()=>{e.emit("close")}):e.emit("close")}),e}});var c5=w((pnt,l5)=>{"use strict";var{Transform:Xxe,PassThrough:Zxe}=J("stream"),Ok=J("zlib"),_xe=A5();l5.exports=r=>{let e=(r.headers["content-encoding"]||"").toLowerCase();if(!["gzip","deflate","br"].includes(e))return r;let t=e==="br";if(t&&typeof Ok.createBrotliDecompress!="function")return r.destroy(new Error("Brotli is not supported on Node.js < 12")),r;let i=!0,n=new Xxe({transform(a,l,c){i=!1,c(null,a)},flush(a){a()}}),s=new Zxe({autoDestroy:!1,destroy(a,l){r.destroy(),l(a)}}),o=t?Ok.createBrotliDecompress():Ok.createUnzip();return o.once("error",a=>{if(i&&!r.readable){s.end();return}s.destroy(a)}),_xe(r,s),r.pipe(n).pipe(o).pipe(s),s}});var Kk=w((dnt,u5)=>{"use strict";var Mk=class{constructor(e={}){if(!(e.maxSize&&e.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");this.maxSize=e.maxSize,this.onEviction=e.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_set(e,t){if(this.cache.set(e,t),this._size++,this._size>=this.maxSize){if(this._size=0,typeof this.onEviction=="function")for(let[i,n]of this.oldCache.entries())this.onEviction(i,n);this.oldCache=this.cache,this.cache=new Map}}get(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e)){let t=this.oldCache.get(e);return this.oldCache.delete(e),this._set(e,t),t}}set(e,t){return this.cache.has(e)?this.cache.set(e,t):this._set(e,t),this}has(e){return this.cache.has(e)||this.oldCache.has(e)}peek(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e))return this.oldCache.get(e)}delete(e){let t=this.cache.delete(e);return t&&this._size--,this.oldCache.delete(e)||t}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}*keys(){for(let[e]of this)yield e}*values(){for(let[,e]of this)yield e}*[Symbol.iterator](){for(let e of this.cache)yield e;for(let e of this.oldCache){let[t]=e;this.cache.has(t)||(yield e)}}get size(){let e=0;for(let t of this.oldCache.keys())this.cache.has(t)||e++;return Math.min(this._size+e,this.maxSize)}};u5.exports=Mk});var Hk=w((Cnt,p5)=>{"use strict";var $xe=J("events"),ePe=J("tls"),tPe=J("http2"),rPe=Kk(),nn=Symbol("currentStreamsCount"),g5=Symbol("request"),ys=Symbol("cachedOriginSet"),Of=Symbol("gracefullyClosing"),iPe=["maxDeflateDynamicTableSize","maxSessionMemory","maxHeaderListPairs","maxOutstandingPings","maxReservedRemoteStreams","maxSendHeaderBlockLength","paddingStrategy","localAddress","path","rejectUnauthorized","minDHSize","ca","cert","clientCertEngine","ciphers","key","pfx","servername","minVersion","maxVersion","secureProtocol","crl","honorCipherOrder","ecdhCurve","dhparam","secureOptions","sessionIdContext"],nPe=(r,e,t)=>{let i=0,n=r.length;for(;i>>1;t(r[s],e)?i=s+1:n=s}return i},sPe=(r,e)=>r.remoteSettings.maxConcurrentStreams>e.remoteSettings.maxConcurrentStreams,Uk=(r,e)=>{for(let t of r)t[ys].lengthe[ys].includes(i))&&t[nn]+e[nn]<=e.remoteSettings.maxConcurrentStreams&&h5(t)},oPe=(r,e)=>{for(let t of r)e[ys].lengtht[ys].includes(i))&&e[nn]+t[nn]<=t.remoteSettings.maxConcurrentStreams&&h5(e)},f5=({agent:r,isFree:e})=>{let t={};for(let i in r.sessions){let s=r.sessions[i].filter(o=>{let a=o[zo.kCurrentStreamsCount]{r[Of]=!0,r[nn]===0&&r.close()},zo=class extends $xe{constructor({timeout:e=6e4,maxSessions:t=1/0,maxFreeSessions:i=10,maxCachedTlsSessions:n=100}={}){super(),this.sessions={},this.queue={},this.timeout=e,this.maxSessions=t,this.maxFreeSessions=i,this._freeSessionsCount=0,this._sessionsCount=0,this.settings={enablePush:!1},this.tlsSessionCache=new rPe({maxSize:n})}static normalizeOrigin(e,t){return typeof e=="string"&&(e=new URL(e)),t&&e.hostname!==t&&(e.hostname=t),e.origin}normalizeOptions(e){let t="";if(e)for(let i of iPe)e[i]&&(t+=`:${e[i]}`);return t}_tryToCreateNewSession(e,t){if(!(e in this.queue)||!(t in this.queue[e]))return;let i=this.queue[e][t];this._sessionsCount{Array.isArray(i)?(i=[...i],n()):i=[{resolve:n,reject:s}];let o=this.normalizeOptions(t),a=zo.normalizeOrigin(e,t&&t.servername);if(a===void 0){for(let{reject:u}of i)u(new TypeError("The `origin` argument needs to be a string or an URL object"));return}if(o in this.sessions){let u=this.sessions[o],g=-1,f=-1,h;for(let p of u){let C=p.remoteSettings.maxConcurrentStreams;if(C=C||p[Of]||p.destroyed)continue;h||(g=C),y>f&&(h=p,f=y)}}if(h){if(i.length!==1){for(let{reject:p}of i){let C=new Error(`Expected the length of listeners to be 1, got ${i.length}. +Please report this to https://github.com/szmarczak/http2-wrapper/`);p(C)}return}i[0].resolve(h);return}}if(o in this.queue){if(a in this.queue[o]){this.queue[o][a].listeners.push(...i),this._tryToCreateNewSession(o,a);return}}else this.queue[o]={};let l=()=>{o in this.queue&&this.queue[o][a]===c&&(delete this.queue[o][a],Object.keys(this.queue[o]).length===0&&delete this.queue[o])},c=()=>{let u=`${a}:${o}`,g=!1;try{let f=tPe.connect(e,{createConnection:this.createConnection,settings:this.settings,session:this.tlsSessionCache.get(u),...t});f[nn]=0,f[Of]=!1;let h=()=>f[nn]{this.tlsSessionCache.set(u,y)}),f.once("error",y=>{for(let{reject:B}of i)B(y);this.tlsSessionCache.delete(u)}),f.setTimeout(this.timeout,()=>{f.destroy()}),f.once("close",()=>{if(g){p&&this._freeSessionsCount--,this._sessionsCount--;let y=this.sessions[o];y.splice(y.indexOf(f),1),y.length===0&&delete this.sessions[o]}else{let y=new Error("Session closed without receiving a SETTINGS frame");y.code="HTTP2WRAPPER_NOSETTINGS";for(let{reject:B}of i)B(y);l()}this._tryToCreateNewSession(o,a)});let C=()=>{if(!(!(o in this.queue)||!h())){for(let y of f[ys])if(y in this.queue[o]){let{listeners:B}=this.queue[o][y];for(;B.length!==0&&h();)B.shift().resolve(f);let v=this.queue[o];if(v[y].listeners.length===0&&(delete v[y],Object.keys(v).length===0)){delete this.queue[o];break}if(!h())break}}};f.on("origin",()=>{f[ys]=f.originSet,h()&&(C(),Uk(this.sessions[o],f))}),f.once("remoteSettings",()=>{if(f.ref(),f.unref(),this._sessionsCount++,c.destroyed){let y=new Error("Agent has been destroyed");for(let B of i)B.reject(y);f.destroy();return}f[ys]=f.originSet;{let y=this.sessions;if(o in y){let B=y[o];B.splice(nPe(B,f,sPe),0,f)}else y[o]=[f]}this._freeSessionsCount+=1,g=!0,this.emit("session",f),C(),l(),f[nn]===0&&this._freeSessionsCount>this.maxFreeSessions&&f.close(),i.length!==0&&(this.getSession(a,t,i),i.length=0),f.on("remoteSettings",()=>{C(),Uk(this.sessions[o],f)})}),f[g5]=f.request,f.request=(y,B)=>{if(f[Of])throw new Error("The session is gracefully closing. No new streams are allowed.");let v=f[g5](y,B);return f.ref(),++f[nn],f[nn]===f.remoteSettings.maxConcurrentStreams&&this._freeSessionsCount--,v.once("close",()=>{if(p=h(),--f[nn],!f.destroyed&&!f.closed&&(oPe(this.sessions[o],f),h()&&!f.closed)){p||(this._freeSessionsCount++,p=!0);let D=f[nn]===0;D&&f.unref(),D&&(this._freeSessionsCount>this.maxFreeSessions||f[Of])?f.close():(Uk(this.sessions[o],f),C())}}),v}}catch(f){for(let h of i)h.reject(f);l()}};c.listeners=i,c.completed=!1,c.destroyed=!1,this.queue[o][a]=c,this._tryToCreateNewSession(o,a)})}request(e,t,i,n){return new Promise((s,o)=>{this.getSession(e,t,[{reject:o,resolve:a=>{try{s(a.request(i,n))}catch(l){o(l)}}}])})}createConnection(e,t){return zo.connect(e,t)}static connect(e,t){t.ALPNProtocols=["h2"];let i=e.port||443,n=e.hostname||e.host;return typeof t.servername>"u"&&(t.servername=n),ePe.connect(i,n,t)}closeFreeSessions(){for(let e of Object.values(this.sessions))for(let t of e)t[nn]===0&&t.close()}destroy(e){for(let t of Object.values(this.sessions))for(let i of t)i.destroy(e);for(let t of Object.values(this.queue))for(let i of Object.values(t))i.destroyed=!0;this.queue={}}get freeSessions(){return f5({agent:this,isFree:!0})}get busySessions(){return f5({agent:this,isFree:!1})}};zo.kCurrentStreamsCount=nn;zo.kGracefullyClosing=Of;p5.exports={Agent:zo,globalAgent:new zo}});var Yk=w((mnt,d5)=>{"use strict";var{Readable:aPe}=J("stream"),Gk=class extends aPe{constructor(e,t){super({highWaterMark:t,autoDestroy:!1}),this.statusCode=null,this.statusMessage="",this.httpVersion="2.0",this.httpVersionMajor=2,this.httpVersionMinor=0,this.headers={},this.trailers={},this.req=null,this.aborted=!1,this.complete=!1,this.upgrade=null,this.rawHeaders=[],this.rawTrailers=[],this.socket=e,this.connection=e,this._dumped=!1}_destroy(e){this.req._request.destroy(e)}setTimeout(e,t){return this.req.setTimeout(e,t),this}_dump(){this._dumped||(this._dumped=!0,this.removeAllListeners("data"),this.resume())}_read(){this.req&&this.req._request.resume()}};d5.exports=Gk});var jk=w((Ent,C5)=>{"use strict";C5.exports=r=>{let e={protocol:r.protocol,hostname:typeof r.hostname=="string"&&r.hostname.startsWith("[")?r.hostname.slice(1,-1):r.hostname,host:r.host,hash:r.hash,search:r.search,pathname:r.pathname,href:r.href,path:`${r.pathname||""}${r.search||""}`};return typeof r.port=="string"&&r.port.length!==0&&(e.port=Number(r.port)),(r.username||r.password)&&(e.auth=`${r.username||""}:${r.password||""}`),e}});var E5=w((Int,m5)=>{"use strict";m5.exports=(r,e,t)=>{for(let i of t)r.on(i,(...n)=>e.emit(i,...n))}});var y5=w((ynt,I5)=>{"use strict";I5.exports=r=>{switch(r){case":method":case":scheme":case":authority":case":path":return!0;default:return!1}}});var B5=w((Bnt,w5)=>{"use strict";var Mf=(r,e,t)=>{w5.exports[e]=class extends r{constructor(...n){super(typeof t=="string"?t:t(n)),this.name=`${super.name} [${e}]`,this.code=e}}};Mf(TypeError,"ERR_INVALID_ARG_TYPE",r=>{let e=r[0].includes(".")?"property":"argument",t=r[1],i=Array.isArray(t);return i&&(t=`${t.slice(0,-1).join(", ")} or ${t.slice(-1)}`),`The "${r[0]}" ${e} must be ${i?"one of":"of"} type ${t}. Received ${typeof r[2]}`});Mf(TypeError,"ERR_INVALID_PROTOCOL",r=>`Protocol "${r[0]}" not supported. Expected "${r[1]}"`);Mf(Error,"ERR_HTTP_HEADERS_SENT",r=>`Cannot ${r[0]} headers after they are sent to the client`);Mf(TypeError,"ERR_INVALID_HTTP_TOKEN",r=>`${r[0]} must be a valid HTTP token [${r[1]}]`);Mf(TypeError,"ERR_HTTP_INVALID_HEADER_VALUE",r=>`Invalid value "${r[0]} for header "${r[1]}"`);Mf(TypeError,"ERR_INVALID_CHAR",r=>`Invalid character in ${r[0]} [${r[1]}]`)});var Vk=w((Qnt,D5)=>{"use strict";var APe=J("http2"),{Writable:lPe}=J("stream"),{Agent:Q5,globalAgent:cPe}=Hk(),uPe=Yk(),gPe=jk(),fPe=E5(),hPe=y5(),{ERR_INVALID_ARG_TYPE:qk,ERR_INVALID_PROTOCOL:pPe,ERR_HTTP_HEADERS_SENT:b5,ERR_INVALID_HTTP_TOKEN:dPe,ERR_HTTP_INVALID_HEADER_VALUE:CPe,ERR_INVALID_CHAR:mPe}=B5(),{HTTP2_HEADER_STATUS:S5,HTTP2_HEADER_METHOD:v5,HTTP2_HEADER_PATH:x5,HTTP2_METHOD_CONNECT:EPe}=APe.constants,Ui=Symbol("headers"),Jk=Symbol("origin"),Wk=Symbol("session"),P5=Symbol("options"),Vw=Symbol("flushedHeaders"),CC=Symbol("jobs"),IPe=/^[\^`\-\w!#$%&*+.|~]+$/,yPe=/[^\t\u0020-\u007E\u0080-\u00FF]/,zk=class extends lPe{constructor(e,t,i){super({autoDestroy:!1});let n=typeof e=="string"||e instanceof URL;if(n&&(e=gPe(e instanceof URL?e:new URL(e))),typeof t=="function"||t===void 0?(i=t,t=n?e:{...e}):t={...e,...t},t.h2session)this[Wk]=t.h2session;else if(t.agent===!1)this.agent=new Q5({maxFreeSessions:0});else if(typeof t.agent>"u"||t.agent===null)typeof t.createConnection=="function"?(this.agent=new Q5({maxFreeSessions:0}),this.agent.createConnection=t.createConnection):this.agent=cPe;else if(typeof t.agent.request=="function")this.agent=t.agent;else throw new qk("options.agent",["Agent-like Object","undefined","false"],t.agent);if(t.protocol&&t.protocol!=="https:")throw new pPe(t.protocol,"https:");let s=t.port||t.defaultPort||this.agent&&this.agent.defaultPort||443,o=t.hostname||t.host||"localhost";delete t.hostname,delete t.host,delete t.port;let{timeout:a}=t;if(t.timeout=void 0,this[Ui]=Object.create(null),this[CC]=[],this.socket=null,this.connection=null,this.method=t.method||"GET",this.path=t.path,this.res=null,this.aborted=!1,this.reusedSocket=!1,t.headers)for(let[l,c]of Object.entries(t.headers))this.setHeader(l,c);t.auth&&!("authorization"in this[Ui])&&(this[Ui].authorization="Basic "+Buffer.from(t.auth).toString("base64")),t.session=t.tlsSession,t.path=t.socketPath,this[P5]=t,s===443?(this[Jk]=`https://${o}`,":authority"in this[Ui]||(this[Ui][":authority"]=o)):(this[Jk]=`https://${o}:${s}`,":authority"in this[Ui]||(this[Ui][":authority"]=`${o}:${s}`)),a&&this.setTimeout(a),i&&this.once("response",i),this[Vw]=!1}get method(){return this[Ui][v5]}set method(e){e&&(this[Ui][v5]=e.toUpperCase())}get path(){return this[Ui][x5]}set path(e){e&&(this[Ui][x5]=e)}get _mustNotHaveABody(){return this.method==="GET"||this.method==="HEAD"||this.method==="DELETE"}_write(e,t,i){if(this._mustNotHaveABody){i(new Error("The GET, HEAD and DELETE methods must NOT have a body"));return}this.flushHeaders();let n=()=>this._request.write(e,t,i);this._request?n():this[CC].push(n)}_final(e){if(this.destroyed)return;this.flushHeaders();let t=()=>{if(this._mustNotHaveABody){e();return}this._request.end(e)};this._request?t():this[CC].push(t)}abort(){this.res&&this.res.complete||(this.aborted||process.nextTick(()=>this.emit("abort")),this.aborted=!0,this.destroy())}_destroy(e,t){this.res&&this.res._dump(),this._request&&this._request.destroy(),t(e)}async flushHeaders(){if(this[Vw]||this.destroyed)return;this[Vw]=!0;let e=this.method===EPe,t=i=>{if(this._request=i,this.destroyed){i.destroy();return}e||fPe(i,this,["timeout","continue","close","error"]);let n=o=>(...a)=>{!this.writable&&!this.destroyed?o(...a):this.once("finish",()=>{o(...a)})};i.once("response",n((o,a,l)=>{let c=new uPe(this.socket,i.readableHighWaterMark);this.res=c,c.req=this,c.statusCode=o[S5],c.headers=o,c.rawHeaders=l,c.once("end",()=>{this.aborted?(c.aborted=!0,c.emit("aborted")):(c.complete=!0,c.socket=null,c.connection=null)}),e?(c.upgrade=!0,this.emit("connect",c,i,Buffer.alloc(0))?this.emit("close"):i.destroy()):(i.on("data",u=>{!c._dumped&&!c.push(u)&&i.pause()}),i.once("end",()=>{c.push(null)}),this.emit("response",c)||c._dump())})),i.once("headers",n(o=>this.emit("information",{statusCode:o[S5]}))),i.once("trailers",n((o,a,l)=>{let{res:c}=this;c.trailers=o,c.rawTrailers=l}));let{socket:s}=i.session;this.socket=s,this.connection=s;for(let o of this[CC])o();this.emit("socket",this.socket)};if(this[Wk])try{t(this[Wk].request(this[Ui]))}catch(i){this.emit("error",i)}else{this.reusedSocket=!0;try{t(await this.agent.request(this[Jk],this[P5],this[Ui]))}catch(i){this.emit("error",i)}}}getHeader(e){if(typeof e!="string")throw new qk("name","string",e);return this[Ui][e.toLowerCase()]}get headersSent(){return this[Vw]}removeHeader(e){if(typeof e!="string")throw new qk("name","string",e);if(this.headersSent)throw new b5("remove");delete this[Ui][e.toLowerCase()]}setHeader(e,t){if(this.headersSent)throw new b5("set");if(typeof e!="string"||!IPe.test(e)&&!hPe(e))throw new dPe("Header name",e);if(typeof t>"u")throw new CPe(t,e);if(yPe.test(t))throw new mPe("header content",e);this[Ui][e.toLowerCase()]=t}setNoDelay(){}setSocketKeepAlive(){}setTimeout(e,t){let i=()=>this._request.setTimeout(e,t);return this._request?i():this[CC].push(i),this}get maxHeadersCount(){if(!this.destroyed&&this._request)return this._request.session.localSettings.maxHeaderListSize}set maxHeadersCount(e){}};D5.exports=zk});var R5=w((bnt,k5)=>{"use strict";var wPe=J("tls");k5.exports=(r={})=>new Promise((e,t)=>{let i=wPe.connect(r,()=>{r.resolveSocket?(i.off("error",t),e({alpnProtocol:i.alpnProtocol,socket:i})):(i.destroy(),e({alpnProtocol:i.alpnProtocol}))});i.on("error",t)})});var N5=w((Snt,F5)=>{"use strict";var BPe=J("net");F5.exports=r=>{let e=r.host,t=r.headers&&r.headers.host;return t&&(t.startsWith("[")?t.indexOf("]")===-1?e=t:e=t.slice(1,-1):e=t.split(":",1)[0]),BPe.isIP(e)?"":e}});var O5=w((vnt,Zk)=>{"use strict";var L5=J("http"),Xk=J("https"),QPe=R5(),bPe=Kk(),SPe=Vk(),vPe=N5(),xPe=jk(),Xw=new bPe({maxSize:100}),mC=new Map,T5=(r,e,t)=>{e._httpMessage={shouldKeepAlive:!0};let i=()=>{r.emit("free",e,t)};e.on("free",i);let n=()=>{r.removeSocket(e,t)};e.on("close",n);let s=()=>{r.removeSocket(e,t),e.off("close",n),e.off("free",i),e.off("agentRemove",s)};e.on("agentRemove",s),r.emit("free",e,t)},PPe=async r=>{let e=`${r.host}:${r.port}:${r.ALPNProtocols.sort()}`;if(!Xw.has(e)){if(mC.has(e))return(await mC.get(e)).alpnProtocol;let{path:t,agent:i}=r;r.path=r.socketPath;let n=QPe(r);mC.set(e,n);try{let{socket:s,alpnProtocol:o}=await n;if(Xw.set(e,o),r.path=t,o==="h2")s.destroy();else{let{globalAgent:a}=Xk,l=Xk.Agent.prototype.createConnection;i?i.createConnection===l?T5(i,s,r):s.destroy():a.createConnection===l?T5(a,s,r):s.destroy()}return mC.delete(e),o}catch(s){throw mC.delete(e),s}}return Xw.get(e)};Zk.exports=async(r,e,t)=>{if((typeof r=="string"||r instanceof URL)&&(r=xPe(new URL(r))),typeof e=="function"&&(t=e,e=void 0),e={ALPNProtocols:["h2","http/1.1"],...r,...e,resolveSocket:!0},!Array.isArray(e.ALPNProtocols)||e.ALPNProtocols.length===0)throw new Error("The `ALPNProtocols` option must be an Array with at least one entry");e.protocol=e.protocol||"https:";let i=e.protocol==="https:";e.host=e.hostname||e.host||"localhost",e.session=e.tlsSession,e.servername=e.servername||vPe(e),e.port=e.port||(i?443:80),e._defaultAgent=i?Xk.globalAgent:L5.globalAgent;let n=e.agent;if(n){if(n.addRequest)throw new Error("The `options.agent` object can contain only `http`, `https` or `http2` properties");e.agent=n[i?"https":"http"]}return i&&await PPe(e)==="h2"?(n&&(e.agent=n.http2),new SPe(e,t)):L5.request(e,t)};Zk.exports.protocolCache=Xw});var K5=w((xnt,M5)=>{"use strict";var DPe=J("http2"),kPe=Hk(),_k=Vk(),RPe=Yk(),FPe=O5(),NPe=(r,e,t)=>new _k(r,e,t),LPe=(r,e,t)=>{let i=new _k(r,e,t);return i.end(),i};M5.exports={...DPe,ClientRequest:_k,IncomingMessage:RPe,...kPe,request:NPe,get:LPe,auto:FPe}});var eR=w($k=>{"use strict";Object.defineProperty($k,"__esModule",{value:!0});var U5=Ha();$k.default=r=>U5.default.nodeStream(r)&&U5.default.function_(r.getBoundary)});var j5=w(tR=>{"use strict";Object.defineProperty(tR,"__esModule",{value:!0});var G5=J("fs"),Y5=J("util"),H5=Ha(),TPe=eR(),OPe=Y5.promisify(G5.stat);tR.default=async(r,e)=>{if(e&&"content-length"in e)return Number(e["content-length"]);if(!r)return 0;if(H5.default.string(r))return Buffer.byteLength(r);if(H5.default.buffer(r))return r.length;if(TPe.default(r))return Y5.promisify(r.getLength.bind(r))();if(r instanceof G5.ReadStream){let{size:t}=await OPe(r.path);return t===0?void 0:t}}});var iR=w(rR=>{"use strict";Object.defineProperty(rR,"__esModule",{value:!0});function MPe(r,e,t){let i={};for(let n of t)i[n]=(...s)=>{e.emit(n,...s)},r.on(n,i[n]);return()=>{for(let n of t)r.off(n,i[n])}}rR.default=MPe});var q5=w(nR=>{"use strict";Object.defineProperty(nR,"__esModule",{value:!0});nR.default=()=>{let r=[];return{once(e,t,i){e.once(t,i),r.push({origin:e,event:t,fn:i})},unhandleAll(){for(let e of r){let{origin:t,event:i,fn:n}=e;t.removeListener(i,n)}r.length=0}}}});var W5=w(EC=>{"use strict";Object.defineProperty(EC,"__esModule",{value:!0});EC.TimeoutError=void 0;var KPe=J("net"),UPe=q5(),J5=Symbol("reentry"),HPe=()=>{},Zw=class extends Error{constructor(e,t){super(`Timeout awaiting '${t}' for ${e}ms`),this.event=t,this.name="TimeoutError",this.code="ETIMEDOUT"}};EC.TimeoutError=Zw;EC.default=(r,e,t)=>{if(J5 in r)return HPe;r[J5]=!0;let i=[],{once:n,unhandleAll:s}=UPe.default(),o=(g,f,h)=>{var p;let C=setTimeout(f,g,g,h);(p=C.unref)===null||p===void 0||p.call(C);let y=()=>{clearTimeout(C)};return i.push(y),y},{host:a,hostname:l}=t,c=(g,f)=>{r.destroy(new Zw(g,f))},u=()=>{for(let g of i)g();s()};if(r.once("error",g=>{if(u(),r.listenerCount("error")===0)throw g}),r.once("close",u),n(r,"response",g=>{n(g,"end",u)}),typeof e.request<"u"&&o(e.request,c,"request"),typeof e.socket<"u"){let g=()=>{c(e.socket,"socket")};r.setTimeout(e.socket,g),i.push(()=>{r.removeListener("timeout",g)})}return n(r,"socket",g=>{var f;let{socketPath:h}=r;if(g.connecting){let p=Boolean(h!=null?h:KPe.isIP((f=l!=null?l:a)!==null&&f!==void 0?f:"")!==0);if(typeof e.lookup<"u"&&!p&&typeof g.address().address>"u"){let C=o(e.lookup,c,"lookup");n(g,"lookup",C)}if(typeof e.connect<"u"){let C=()=>o(e.connect,c,"connect");p?n(g,"connect",C()):n(g,"lookup",y=>{y===null&&n(g,"connect",C())})}typeof e.secureConnect<"u"&&t.protocol==="https:"&&n(g,"connect",()=>{let C=o(e.secureConnect,c,"secureConnect");n(g,"secureConnect",C)})}if(typeof e.send<"u"){let p=()=>o(e.send,c,"send");g.connecting?n(g,"connect",()=>{n(r,"upload-complete",p())}):n(r,"upload-complete",p())}}),typeof e.response<"u"&&n(r,"upload-complete",()=>{let g=o(e.response,c,"response");n(r,"response",g)}),u}});var V5=w(sR=>{"use strict";Object.defineProperty(sR,"__esModule",{value:!0});var z5=Ha();sR.default=r=>{r=r;let e={protocol:r.protocol,hostname:z5.default.string(r.hostname)&&r.hostname.startsWith("[")?r.hostname.slice(1,-1):r.hostname,host:r.host,hash:r.hash,search:r.search,pathname:r.pathname,href:r.href,path:`${r.pathname||""}${r.search||""}`};return z5.default.string(r.port)&&r.port.length>0&&(e.port=Number(r.port)),(r.username||r.password)&&(e.auth=`${r.username||""}:${r.password||""}`),e}});var X5=w(oR=>{"use strict";Object.defineProperty(oR,"__esModule",{value:!0});var GPe=J("url"),YPe=["protocol","host","hostname","port","pathname","search"];oR.default=(r,e)=>{var t,i;if(e.path){if(e.pathname)throw new TypeError("Parameters `path` and `pathname` are mutually exclusive.");if(e.search)throw new TypeError("Parameters `path` and `search` are mutually exclusive.");if(e.searchParams)throw new TypeError("Parameters `path` and `searchParams` are mutually exclusive.")}if(e.search&&e.searchParams)throw new TypeError("Parameters `search` and `searchParams` are mutually exclusive.");if(!r){if(!e.protocol)throw new TypeError("No URL protocol specified");r=`${e.protocol}//${(i=(t=e.hostname)!==null&&t!==void 0?t:e.host)!==null&&i!==void 0?i:""}`}let n=new GPe.URL(r);if(e.path){let s=e.path.indexOf("?");s===-1?e.pathname=e.path:(e.pathname=e.path.slice(0,s),e.search=e.path.slice(s+1)),delete e.path}for(let s of YPe)e[s]&&(n[s]=e[s].toString());return n}});var Z5=w(AR=>{"use strict";Object.defineProperty(AR,"__esModule",{value:!0});var aR=class{constructor(){this.weakMap=new WeakMap,this.map=new Map}set(e,t){typeof e=="object"?this.weakMap.set(e,t):this.map.set(e,t)}get(e){return typeof e=="object"?this.weakMap.get(e):this.map.get(e)}has(e){return typeof e=="object"?this.weakMap.has(e):this.map.has(e)}};AR.default=aR});var cR=w(lR=>{"use strict";Object.defineProperty(lR,"__esModule",{value:!0});var jPe=async r=>{let e=[],t=0;for await(let i of r)e.push(i),t+=Buffer.byteLength(i);return Buffer.isBuffer(e[0])?Buffer.concat(e,t):Buffer.from(e.join(""))};lR.default=jPe});var $5=w(Fc=>{"use strict";Object.defineProperty(Fc,"__esModule",{value:!0});Fc.dnsLookupIpVersionToFamily=Fc.isDnsLookupIpVersion=void 0;var _5={auto:0,ipv4:4,ipv6:6};Fc.isDnsLookupIpVersion=r=>r in _5;Fc.dnsLookupIpVersionToFamily=r=>{if(Fc.isDnsLookupIpVersion(r))return _5[r];throw new Error("Invalid DNS lookup IP version")}});var uR=w(_w=>{"use strict";Object.defineProperty(_w,"__esModule",{value:!0});_w.isResponseOk=void 0;_w.isResponseOk=r=>{let{statusCode:e}=r,t=r.request.options.followRedirect?299:399;return e>=200&&e<=t||e===304}});var t6=w(gR=>{"use strict";Object.defineProperty(gR,"__esModule",{value:!0});var e6=new Set;gR.default=r=>{e6.has(r)||(e6.add(r),process.emitWarning(`Got: ${r}`,{type:"DeprecationWarning"}))}});var r6=w(fR=>{"use strict";Object.defineProperty(fR,"__esModule",{value:!0});var mr=Ha(),qPe=(r,e)=>{if(mr.default.null_(r.encoding))throw new TypeError("To get a Buffer, set `options.responseType` to `buffer` instead");mr.assert.any([mr.default.string,mr.default.undefined],r.encoding),mr.assert.any([mr.default.boolean,mr.default.undefined],r.resolveBodyOnly),mr.assert.any([mr.default.boolean,mr.default.undefined],r.methodRewriting),mr.assert.any([mr.default.boolean,mr.default.undefined],r.isStream),mr.assert.any([mr.default.string,mr.default.undefined],r.responseType),r.responseType===void 0&&(r.responseType="text");let{retry:t}=r;if(e?r.retry={...e.retry}:r.retry={calculateDelay:i=>i.computedValue,limit:0,methods:[],statusCodes:[],errorCodes:[],maxRetryAfter:void 0},mr.default.object(t)?(r.retry={...r.retry,...t},r.retry.methods=[...new Set(r.retry.methods.map(i=>i.toUpperCase()))],r.retry.statusCodes=[...new Set(r.retry.statusCodes)],r.retry.errorCodes=[...new Set(r.retry.errorCodes)]):mr.default.number(t)&&(r.retry.limit=t),mr.default.undefined(r.retry.maxRetryAfter)&&(r.retry.maxRetryAfter=Math.min(...[r.timeout.request,r.timeout.connect].filter(mr.default.number))),mr.default.object(r.pagination)){e&&(r.pagination={...e.pagination,...r.pagination});let{pagination:i}=r;if(!mr.default.function_(i.transform))throw new Error("`options.pagination.transform` must be implemented");if(!mr.default.function_(i.shouldContinue))throw new Error("`options.pagination.shouldContinue` must be implemented");if(!mr.default.function_(i.filter))throw new TypeError("`options.pagination.filter` must be implemented");if(!mr.default.function_(i.paginate))throw new Error("`options.pagination.paginate` must be implemented")}return r.responseType==="json"&&r.headers.accept===void 0&&(r.headers.accept="application/json"),r};fR.default=qPe});var i6=w(IC=>{"use strict";Object.defineProperty(IC,"__esModule",{value:!0});IC.retryAfterStatusCodes=void 0;IC.retryAfterStatusCodes=new Set([413,429,503]);var JPe=({attemptCount:r,retryOptions:e,error:t,retryAfter:i})=>{if(r>e.limit)return 0;let n=e.methods.includes(t.options.method),s=e.errorCodes.includes(t.code),o=t.response&&e.statusCodes.includes(t.response.statusCode);if(!n||!s&&!o)return 0;if(t.response){if(i)return e.maxRetryAfter===void 0||i>e.maxRetryAfter?0:i;if(t.response.statusCode===413)return 0}let a=Math.random()*100;return 2**(r-1)*1e3+a};IC.default=JPe});var BC=w(Yt=>{"use strict";Object.defineProperty(Yt,"__esModule",{value:!0});Yt.UnsupportedProtocolError=Yt.ReadError=Yt.TimeoutError=Yt.UploadError=Yt.CacheError=Yt.HTTPError=Yt.MaxRedirectsError=Yt.RequestError=Yt.setNonEnumerableProperties=Yt.knownHookEvents=Yt.withoutBody=Yt.kIsNormalizedAlready=void 0;var n6=J("util"),s6=J("stream"),WPe=J("fs"),zA=J("url"),o6=J("http"),hR=J("http"),zPe=J("https"),VPe=yz(),XPe=xz(),a6=o5(),ZPe=c5(),_Pe=K5(),$Pe=Ww(),Ee=Ha(),eDe=j5(),A6=eR(),tDe=iR(),l6=W5(),rDe=V5(),c6=X5(),iDe=Z5(),nDe=cR(),u6=$5(),sDe=uR(),VA=t6(),oDe=r6(),aDe=i6(),pR,Pi=Symbol("request"),tB=Symbol("response"),Kf=Symbol("responseSize"),Uf=Symbol("downloadedSize"),Hf=Symbol("bodySize"),Gf=Symbol("uploadedSize"),$w=Symbol("serverResponsesPiped"),g6=Symbol("unproxyEvents"),f6=Symbol("isFromCache"),dR=Symbol("cancelTimeouts"),h6=Symbol("startedReading"),Yf=Symbol("stopReading"),eB=Symbol("triggerRead"),XA=Symbol("body"),yC=Symbol("jobs"),p6=Symbol("originalResponse"),d6=Symbol("retryTimeout");Yt.kIsNormalizedAlready=Symbol("isNormalizedAlready");var ADe=Ee.default.string(process.versions.brotli);Yt.withoutBody=new Set(["GET","HEAD"]);Yt.knownHookEvents=["init","beforeRequest","beforeRedirect","beforeError","beforeRetry","afterResponse"];function lDe(r){for(let e in r){let t=r[e];if(!Ee.default.string(t)&&!Ee.default.number(t)&&!Ee.default.boolean(t)&&!Ee.default.null_(t)&&!Ee.default.undefined(t))throw new TypeError(`The \`searchParams\` value '${String(t)}' must be a string, number, boolean or null`)}}function cDe(r){return Ee.default.object(r)&&!("statusCode"in r)}var CR=new iDe.default,uDe=async r=>new Promise((e,t)=>{let i=n=>{t(n)};r.pending||e(),r.once("error",i),r.once("ready",()=>{r.off("error",i),e()})}),gDe=new Set([300,301,302,303,304,307,308]),fDe=["context","body","json","form"];Yt.setNonEnumerableProperties=(r,e)=>{let t={};for(let i of r)if(!!i)for(let n of fDe)n in i&&(t[n]={writable:!0,configurable:!0,enumerable:!1,value:i[n]});Object.defineProperties(e,t)};var ei=class extends Error{constructor(e,t,i){var n;if(super(e),Error.captureStackTrace(this,this.constructor),this.name="RequestError",this.code=t.code,i instanceof AB?(Object.defineProperty(this,"request",{enumerable:!1,value:i}),Object.defineProperty(this,"response",{enumerable:!1,value:i[tB]}),Object.defineProperty(this,"options",{enumerable:!1,value:i.options})):Object.defineProperty(this,"options",{enumerable:!1,value:i}),this.timings=(n=this.request)===null||n===void 0?void 0:n.timings,Ee.default.string(t.stack)&&Ee.default.string(this.stack)){let s=this.stack.indexOf(this.message)+this.message.length,o=this.stack.slice(s).split(` `).reverse(),a=t.stack.slice(t.stack.indexOf(t.message)+t.message.length).split(` `).reverse();for(;a.length!==0&&a[0]===o[0];)o.shift();this.stack=`${this.stack.slice(0,s)}${o.reverse().join(` `)}${a.reverse().join(` -`)}`}}};Yt.RequestError=ei;var Ww=class extends ei{constructor(e){super(`Redirected ${e.options.maxRedirects} times. Aborting.`,{},e),this.name="MaxRedirectsError"}};Yt.MaxRedirectsError=Ww;var zw=class extends ei{constructor(e){super(`Response code ${e.statusCode} (${e.statusMessage})`,{},e.request),this.name="HTTPError"}};Yt.HTTPError=zw;var Vw=class extends ei{constructor(e,t){super(e.message,e,t),this.name="CacheError"}};Yt.CacheError=Vw;var Xw=class extends ei{constructor(e,t){super(e.message,e,t),this.name="UploadError"}};Yt.UploadError=Xw;var _w=class extends ei{constructor(e,t,i){super(e.message,e,i),this.name="TimeoutError",this.event=e.event,this.timings=t}};Yt.TimeoutError=_w;var fC=class extends ei{constructor(e,t){super(e.message,e,t),this.name="ReadError"}};Yt.ReadError=fC;var Zw=class extends ei{constructor(e){super(`Unsupported protocol "${e.url.protocol}"`,{},e),this.name="UnsupportedProtocolError"}};Yt.UnsupportedProtocolError=Zw;var SPe=["socket","connect","continue","information","upgrade","timeout"],$w=class extends F5.Duplex{constructor(e,t={},i){super({autoDestroy:!1,highWaterMark:0}),this[Ff]=0,this[Lf]=0,this.requestInitialized=!1,this[jw]=new Set,this.redirects=[],this[Tf]=!1,this[qw]=!1,this[gC]=[],this.retryCount=0,this._progressCallbacks=[];let n=()=>this._unlockWrite(),s=()=>this._lockWrite();this.on("pipe",c=>{c.prependListener("data",n),c.on("data",s),c.prependListener("end",n),c.on("end",s)}),this.on("unpipe",c=>{c.off("data",n),c.off("data",s),c.off("end",n),c.off("end",s)}),this.on("pipe",c=>{c instanceof Zk.IncomingMessage&&(this.options.headers={...c.headers,...this.options.headers})});let{json:o,body:a,form:l}=t;if((o||a||l)&&this._lockWrite(),Yt.kIsNormalizedAlready in t)this.options=t;else try{this.options=this.constructor.normalizeArguments(e,t,i)}catch(c){Ee.default.nodeStream(t.body)&&t.body.destroy(),this.destroy(c);return}(async()=>{var c;try{this.options.body instanceof sPe.ReadStream&&await BPe(this.options.body);let{url:u}=this.options;if(!u)throw new TypeError("Missing `url` property");if(this.requestUrl=u.toString(),decodeURI(this.requestUrl),await this._finalizeBody(),await this._makeRequest(),this.destroyed){(c=this[xi])===null||c===void 0||c.destroy();return}for(let g of this[gC])g();this[gC].length=0,this.requestInitialized=!0}catch(u){if(u instanceof ei){this._beforeError(u);return}this.destroyed||this.destroy(u)}})()}static normalizeArguments(e,t,i){var n,s,o,a,l;let c=t;if(Ee.default.object(e)&&!Ee.default.urlInstance(e))t={...i,...e,...t};else{if(e&&t&&t.url!==void 0)throw new TypeError("The `url` option is mutually exclusive with the `input` argument");t={...i,...t},e!==void 0&&(t.url=e),Ee.default.urlInstance(t.url)&&(t.url=new UA.URL(t.url.toString()))}if(t.cache===!1&&(t.cache=void 0),t.dnsCache===!1&&(t.dnsCache=void 0),Ee.assert.any([Ee.default.string,Ee.default.undefined],t.method),Ee.assert.any([Ee.default.object,Ee.default.undefined],t.headers),Ee.assert.any([Ee.default.string,Ee.default.urlInstance,Ee.default.undefined],t.prefixUrl),Ee.assert.any([Ee.default.object,Ee.default.undefined],t.cookieJar),Ee.assert.any([Ee.default.object,Ee.default.string,Ee.default.undefined],t.searchParams),Ee.assert.any([Ee.default.object,Ee.default.string,Ee.default.undefined],t.cache),Ee.assert.any([Ee.default.object,Ee.default.number,Ee.default.undefined],t.timeout),Ee.assert.any([Ee.default.object,Ee.default.undefined],t.context),Ee.assert.any([Ee.default.object,Ee.default.undefined],t.hooks),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.decompress),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.ignoreInvalidCookies),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.followRedirect),Ee.assert.any([Ee.default.number,Ee.default.undefined],t.maxRedirects),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.throwHttpErrors),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.http2),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.allowGetBody),Ee.assert.any([Ee.default.string,Ee.default.undefined],t.localAddress),Ee.assert.any([K5.isDnsLookupIpVersion,Ee.default.undefined],t.dnsLookupIpVersion),Ee.assert.any([Ee.default.object,Ee.default.undefined],t.https),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.rejectUnauthorized),t.https&&(Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.https.rejectUnauthorized),Ee.assert.any([Ee.default.function_,Ee.default.undefined],t.https.checkServerIdentity),Ee.assert.any([Ee.default.string,Ee.default.object,Ee.default.array,Ee.default.undefined],t.https.certificateAuthority),Ee.assert.any([Ee.default.string,Ee.default.object,Ee.default.array,Ee.default.undefined],t.https.key),Ee.assert.any([Ee.default.string,Ee.default.object,Ee.default.array,Ee.default.undefined],t.https.certificate),Ee.assert.any([Ee.default.string,Ee.default.undefined],t.https.passphrase),Ee.assert.any([Ee.default.string,Ee.default.buffer,Ee.default.array,Ee.default.undefined],t.https.pfx)),Ee.assert.any([Ee.default.object,Ee.default.undefined],t.cacheOptions),Ee.default.string(t.method)?t.method=t.method.toUpperCase():t.method="GET",t.headers===(i==null?void 0:i.headers)?t.headers={...t.headers}:t.headers=uPe({...i==null?void 0:i.headers,...t.headers}),"slashes"in t)throw new TypeError("The legacy `url.Url` has been deprecated. Use `URL` instead.");if("auth"in t)throw new TypeError("Parameter `auth` is deprecated. Use `username` / `password` instead.");if("searchParams"in t&&t.searchParams&&t.searchParams!==(i==null?void 0:i.searchParams)){let h;if(Ee.default.string(t.searchParams)||t.searchParams instanceof UA.URLSearchParams)h=new UA.URLSearchParams(t.searchParams);else{yPe(t.searchParams),h=new UA.URLSearchParams;for(let p in t.searchParams){let C=t.searchParams[p];C===null?h.append(p,""):C!==void 0&&h.append(p,C)}}(n=i==null?void 0:i.searchParams)===null||n===void 0||n.forEach((p,C)=>{h.has(C)||h.append(C,p)}),t.searchParams=h}if(t.username=(s=t.username)!==null&&s!==void 0?s:"",t.password=(o=t.password)!==null&&o!==void 0?o:"",Ee.default.undefined(t.prefixUrl)?t.prefixUrl=(a=i==null?void 0:i.prefixUrl)!==null&&a!==void 0?a:"":(t.prefixUrl=t.prefixUrl.toString(),t.prefixUrl!==""&&!t.prefixUrl.endsWith("/")&&(t.prefixUrl+="/")),Ee.default.string(t.url)){if(t.url.startsWith("/"))throw new Error("`input` must not start with a slash when using `prefixUrl`");t.url=M5.default(t.prefixUrl+t.url,t)}else(Ee.default.undefined(t.url)&&t.prefixUrl!==""||t.protocol)&&(t.url=M5.default(t.prefixUrl,t));if(t.url){"port"in t&&delete t.port;let{prefixUrl:h}=t;Object.defineProperty(t,"prefixUrl",{set:C=>{let y=t.url;if(!y.href.startsWith(C))throw new Error(`Cannot change \`prefixUrl\` from ${h} to ${C}: ${y.href}`);t.url=new UA.URL(C+y.href.slice(h.length)),h=C},get:()=>h});let{protocol:p}=t.url;if(p==="unix:"&&(p="http:",t.url=new UA.URL(`http://unix${t.url.pathname}${t.url.search}`)),t.searchParams&&(t.url.search=t.searchParams.toString()),p!=="http:"&&p!=="https:")throw new Zw(t);t.username===""?t.username=t.url.username:t.url.username=t.username,t.password===""?t.password=t.url.password:t.url.password=t.password}let{cookieJar:u}=t;if(u){let{setCookie:h,getCookieString:p}=u;Ee.assert.function_(h),Ee.assert.function_(p),h.length===4&&p.length===0&&(h=R5.promisify(h.bind(t.cookieJar)),p=R5.promisify(p.bind(t.cookieJar)),t.cookieJar={setCookie:h,getCookieString:p})}let{cache:g}=t;if(g&&(tR.has(g)||tR.set(g,new L5((h,p)=>{let C=h[xi](h,p);return Ee.default.promise(C)&&(C.once=(y,B)=>{if(y==="error")C.catch(B);else if(y==="abort")(async()=>{try{(await C).once("abort",B)}catch{}})();else throw new Error(`Unknown HTTP2 promise event: ${y}`);return C}),C},g))),t.cacheOptions={...t.cacheOptions},t.dnsCache===!0)$k||($k=new APe.default),t.dnsCache=$k;else if(!Ee.default.undefined(t.dnsCache)&&!t.dnsCache.lookup)throw new TypeError(`Parameter \`dnsCache\` must be a CacheableLookup instance or a boolean, got ${Ee.default(t.dnsCache)}`);Ee.default.number(t.timeout)?t.timeout={request:t.timeout}:i&&t.timeout!==i.timeout?t.timeout={...i.timeout,...t.timeout}:t.timeout={...t.timeout},t.context||(t.context={});let f=t.hooks===(i==null?void 0:i.hooks);t.hooks={...t.hooks};for(let h of Yt.knownHookEvents)if(h in t.hooks)if(Ee.default.array(t.hooks[h]))t.hooks[h]=[...t.hooks[h]];else throw new TypeError(`Parameter \`${h}\` must be an Array, got ${Ee.default(t.hooks[h])}`);else t.hooks[h]=[];if(i&&!f)for(let h of Yt.knownHookEvents)i.hooks[h].length>0&&(t.hooks[h]=[...i.hooks[h],...t.hooks[h]]);if("family"in t&&HA.default('"options.family" was never documented, please use "options.dnsLookupIpVersion"'),i!=null&&i.https&&(t.https={...i.https,...t.https}),"rejectUnauthorized"in t&&HA.default('"options.rejectUnauthorized" is now deprecated, please use "options.https.rejectUnauthorized"'),"checkServerIdentity"in t&&HA.default('"options.checkServerIdentity" was never documented, please use "options.https.checkServerIdentity"'),"ca"in t&&HA.default('"options.ca" was never documented, please use "options.https.certificateAuthority"'),"key"in t&&HA.default('"options.key" was never documented, please use "options.https.key"'),"cert"in t&&HA.default('"options.cert" was never documented, please use "options.https.certificate"'),"passphrase"in t&&HA.default('"options.passphrase" was never documented, please use "options.https.passphrase"'),"pfx"in t&&HA.default('"options.pfx" was never documented, please use "options.https.pfx"'),"followRedirects"in t)throw new TypeError("The `followRedirects` option does not exist. Use `followRedirect` instead.");if(t.agent){for(let h in t.agent)if(h!=="http"&&h!=="https"&&h!=="http2")throw new TypeError(`Expected the \`options.agent\` properties to be \`http\`, \`https\` or \`http2\`, got \`${h}\``)}return t.maxRedirects=(l=t.maxRedirects)!==null&&l!==void 0?l:0,Yt.setNonEnumerableProperties([i,c],t),mPe.default(t,i)}_lockWrite(){let e=()=>{throw new TypeError("The payload has been already provided")};this.write=e,this.end=e}_unlockWrite(){this.write=super.write,this.end=super.end}async _finalizeBody(){let{options:e}=this,{headers:t}=e,i=!Ee.default.undefined(e.form),n=!Ee.default.undefined(e.json),s=!Ee.default.undefined(e.body),o=i||n||s,a=Yt.withoutBody.has(e.method)&&!(e.method==="GET"&&e.allowGetBody);if(this._cannotHaveBody=a,o){if(a)throw new TypeError(`The \`${e.method}\` method cannot be used with a body`);if([s,i,n].filter(l=>l).length>1)throw new TypeError("The `body`, `json` and `form` options are mutually exclusive");if(s&&!(e.body instanceof F5.Readable)&&!Ee.default.string(e.body)&&!Ee.default.buffer(e.body)&&!T5.default(e.body))throw new TypeError("The `body` option must be a stream.Readable, string or Buffer");if(i&&!Ee.default.object(e.form))throw new TypeError("The `form` option must be an Object");{let l=!Ee.default.string(t["content-type"]);s?(T5.default(e.body)&&l&&(t["content-type"]=`multipart/form-data; boundary=${e.body.getBoundary()}`),this[GA]=e.body):i?(l&&(t["content-type"]="application/x-www-form-urlencoded"),this[GA]=new UA.URLSearchParams(e.form).toString()):(l&&(t["content-type"]="application/json"),this[GA]=e.stringifyJson(e.json));let c=await gPe.default(this[GA],e.headers);Ee.default.undefined(t["content-length"])&&Ee.default.undefined(t["transfer-encoding"])&&!a&&!Ee.default.undefined(c)&&(t["content-length"]=String(c))}}else a?this._lockWrite():this._unlockWrite();this[Nf]=Number(t["content-length"])||void 0}async _onResponseBase(e){let{options:t}=this,{url:i}=t;this[Y5]=e,t.decompress&&(e=lPe(e));let n=e.statusCode,s=e;s.statusMessage=s.statusMessage?s.statusMessage:N5.STATUS_CODES[n],s.url=t.url.toString(),s.requestUrl=this.requestUrl,s.redirectUrls=this.redirects,s.request=this,s.isFromCache=e.fromCache||!1,s.ip=this.ip,s.retryCount=this.retryCount,this[H5]=s.isFromCache,this[Rf]=Number(e.headers["content-length"])||void 0,this[Jw]=e,e.once("end",()=>{this[Rf]=this[Ff],this.emit("downloadProgress",this.downloadProgress)}),e.once("error",a=>{e.destroy(),this._beforeError(new fC(a,this))}),e.once("aborted",()=>{this._beforeError(new fC({name:"Error",message:"The server aborted pending request",code:"ECONNRESET"},this))}),this.emit("downloadProgress",this.downloadProgress);let o=e.headers["set-cookie"];if(Ee.default.object(t.cookieJar)&&o){let a=o.map(async l=>t.cookieJar.setCookie(l,i.toString()));t.ignoreInvalidCookies&&(a=a.map(async l=>l.catch(()=>{})));try{await Promise.all(a)}catch(l){this._beforeError(l);return}}if(t.followRedirect&&e.headers.location&&QPe.has(n)){if(e.resume(),this[xi]&&(this[eR](),delete this[xi],this[U5]()),(n===303&&t.method!=="GET"&&t.method!=="HEAD"||!t.methodRewriting)&&(t.method="GET","body"in t&&delete t.body,"json"in t&&delete t.json,"form"in t&&delete t.form,this[GA]=void 0,delete t.headers["content-length"]),this.redirects.length>=t.maxRedirects){this._beforeError(new Ww(this));return}try{let l=Buffer.from(e.headers.location,"binary").toString(),c=new UA.URL(l,i),u=c.toString();decodeURI(u),c.hostname!==i.hostname||c.port!==i.port?("host"in t.headers&&delete t.headers.host,"cookie"in t.headers&&delete t.headers.cookie,"authorization"in t.headers&&delete t.headers.authorization,(t.username||t.password)&&(t.username="",t.password="")):(c.username=t.username,c.password=t.password),this.redirects.push(u),t.url=c;for(let g of t.hooks.beforeRedirect)await g(t,s);this.emit("redirect",s,t),await this._makeRequest()}catch(l){this._beforeError(l);return}return}if(t.isStream&&t.throwHttpErrors&&!CPe.isResponseOk(s)){this._beforeError(new zw(s));return}e.on("readable",()=>{this[qw]&&this._read()}),this.on("resume",()=>{e.resume()}),this.on("pause",()=>{e.pause()}),e.once("end",()=>{this.push(null)}),this.emit("response",e);for(let a of this[jw])if(!a.headersSent){for(let l in e.headers){let c=t.decompress?l!=="content-encoding":!0,u=e.headers[l];c&&a.setHeader(l,u)}a.statusCode=n}}async _onResponse(e){try{await this._onResponseBase(e)}catch(t){this._beforeError(t)}}_onRequest(e){let{options:t}=this,{timeout:i,url:n}=t;aPe.default(e),this[eR]=O5.default(e,i,n);let s=t.cache?"cacheableResponse":"response";e.once(s,l=>{this._onResponse(l)}),e.once("error",l=>{var c;e.destroy(),(c=e.res)===null||c===void 0||c.removeAllListeners("end"),l=l instanceof O5.TimeoutError?new _w(l,this.timings,this):new ei(l.message,l,this),this._beforeError(l)}),this[U5]=fPe.default(e,this,SPe),this[xi]=e,this.emit("uploadProgress",this.uploadProgress);let o=this[GA],a=this.redirects.length===0?this:e;Ee.default.nodeStream(o)?(o.pipe(a),o.once("error",l=>{this._beforeError(new Xw(l,this))})):(this._unlockWrite(),Ee.default.undefined(o)?(this._cannotHaveBody||this._noPipe)&&(a.end(),this._lockWrite()):(this._writeRequest(o,void 0,()=>{}),a.end(),this._lockWrite())),this.emit("request",e)}async _createCacheableRequest(e,t){return new Promise((i,n)=>{Object.assign(t,hPe.default(e)),delete t.url;let s,o=tR.get(t.cache)(t,async a=>{a._readableState.autoDestroy=!1,s&&(await s).emit("cacheableResponse",a),i(a)});t.url=e,o.once("error",n),o.once("request",async a=>{s=a,i(s)})})}async _makeRequest(){var e,t,i,n,s;let{options:o}=this,{headers:a}=o;for(let B in a)if(Ee.default.undefined(a[B]))delete a[B];else if(Ee.default.null_(a[B]))throw new TypeError(`Use \`undefined\` instead of \`null\` to delete the \`${B}\` header`);if(o.decompress&&Ee.default.undefined(a["accept-encoding"])&&(a["accept-encoding"]=IPe?"gzip, deflate, br":"gzip, deflate"),o.cookieJar){let B=await o.cookieJar.getCookieString(o.url.toString());Ee.default.nonEmptyString(B)&&(o.headers.cookie=B)}for(let B of o.hooks.beforeRequest){let v=await B(o);if(!Ee.default.undefined(v)){o.request=()=>v;break}}o.body&&this[GA]!==o.body&&(this[GA]=o.body);let{agent:l,request:c,timeout:u,url:g}=o;if(o.dnsCache&&!("lookup"in o)&&(o.lookup=o.dnsCache.lookup),g.hostname==="unix"){let B=/(?.+?):(?.+)/.exec(`${g.pathname}${g.search}`);if(B!=null&&B.groups){let{socketPath:v,path:D}=B.groups;Object.assign(o,{socketPath:v,path:D,host:""})}}let f=g.protocol==="https:",h;o.http2?h=cPe.auto:h=f?oPe.request:N5.request;let p=(e=o.request)!==null&&e!==void 0?e:h,C=o.cache?this._createCacheableRequest:p;l&&!o.http2&&(o.agent=l[f?"https":"http"]),o[xi]=p,delete o.request,delete o.timeout;let y=o;if(y.shared=(t=o.cacheOptions)===null||t===void 0?void 0:t.shared,y.cacheHeuristic=(i=o.cacheOptions)===null||i===void 0?void 0:i.cacheHeuristic,y.immutableMinTimeToLive=(n=o.cacheOptions)===null||n===void 0?void 0:n.immutableMinTimeToLive,y.ignoreCargoCult=(s=o.cacheOptions)===null||s===void 0?void 0:s.ignoreCargoCult,o.dnsLookupIpVersion!==void 0)try{y.family=K5.dnsLookupIpVersionToFamily(o.dnsLookupIpVersion)}catch{throw new Error("Invalid `dnsLookupIpVersion` option value")}o.https&&("rejectUnauthorized"in o.https&&(y.rejectUnauthorized=o.https.rejectUnauthorized),o.https.checkServerIdentity&&(y.checkServerIdentity=o.https.checkServerIdentity),o.https.certificateAuthority&&(y.ca=o.https.certificateAuthority),o.https.certificate&&(y.cert=o.https.certificate),o.https.key&&(y.key=o.https.key),o.https.passphrase&&(y.passphrase=o.https.passphrase),o.https.pfx&&(y.pfx=o.https.pfx));try{let B=await C(g,y);Ee.default.undefined(B)&&(B=h(g,y)),o.request=c,o.timeout=u,o.agent=l,o.https&&("rejectUnauthorized"in o.https&&delete y.rejectUnauthorized,o.https.checkServerIdentity&&delete y.checkServerIdentity,o.https.certificateAuthority&&delete y.ca,o.https.certificate&&delete y.cert,o.https.key&&delete y.key,o.https.passphrase&&delete y.passphrase,o.https.pfx&&delete y.pfx),wPe(B)?this._onRequest(B):this.writable?(this.once("finish",()=>{this._onResponse(B)}),this._unlockWrite(),this.end(),this._lockWrite()):this._onResponse(B)}catch(B){throw B instanceof L5.CacheError?new Vw(B,this):new ei(B.message,B,this)}}async _error(e){try{for(let t of this.options.hooks.beforeError)e=await t(e)}catch(t){e=new ei(t.message,t,this)}this.destroy(e)}_beforeError(e){if(this[Tf])return;let{options:t}=this,i=this.retryCount+1;this[Tf]=!0,e instanceof ei||(e=new ei(e.message,e,this));let n=e,{response:s}=n;(async()=>{if(s&&!s.body){s.setEncoding(this._readableState.encoding);try{s.rawBody=await dPe.default(s),s.body=s.rawBody.toString()}catch{}}if(this.listenerCount("retry")!==0){let o;try{let a;s&&"retry-after"in s.headers&&(a=Number(s.headers["retry-after"]),Number.isNaN(a)?(a=Date.parse(s.headers["retry-after"])-Date.now(),a<=0&&(a=1)):a*=1e3),o=await t.retry.calculateDelay({attemptCount:i,retryOptions:t.retry,error:n,retryAfter:a,computedValue:EPe.default({attemptCount:i,retryOptions:t.retry,error:n,retryAfter:a,computedValue:0})})}catch(a){this._error(new ei(a.message,a,this));return}if(o){let a=async()=>{try{for(let l of this.options.hooks.beforeRetry)await l(this.options,n,i)}catch(l){this._error(new ei(l.message,e,this));return}this.destroyed||(this.destroy(),this.emit("retry",i,e))};this[j5]=setTimeout(a,o);return}}this._error(n)})()}_read(){this[qw]=!0;let e=this[Jw];if(e&&!this[Tf]){e.readableLength&&(this[qw]=!1);let t;for(;(t=e.read())!==null;){this[Ff]+=t.length,this[G5]=!0;let i=this.downloadProgress;i.percent<1&&this.emit("downloadProgress",i),this.push(t)}}}_write(e,t,i){let n=()=>{this._writeRequest(e,t,i)};this.requestInitialized?n():this[gC].push(n)}_writeRequest(e,t,i){this[xi].destroyed||(this._progressCallbacks.push(()=>{this[Lf]+=Buffer.byteLength(e,t);let n=this.uploadProgress;n.percent<1&&this.emit("uploadProgress",n)}),this[xi].write(e,t,n=>{!n&&this._progressCallbacks.length>0&&this._progressCallbacks.shift()(),i(n)}))}_final(e){let t=()=>{for(;this._progressCallbacks.length!==0;)this._progressCallbacks.shift()();if(!(xi in this)){e();return}if(this[xi].destroyed){e();return}this[xi].end(i=>{i||(this[Nf]=this[Lf],this.emit("uploadProgress",this.uploadProgress),this[xi].emit("upload-complete")),e(i)})};this.requestInitialized?t():this[gC].push(t)}_destroy(e,t){var i;this[Tf]=!0,clearTimeout(this[j5]),xi in this&&(this[eR](),!((i=this[Jw])===null||i===void 0)&&i.complete||this[xi].destroy()),e!==null&&!Ee.default.undefined(e)&&!(e instanceof ei)&&(e=new ei(e.message,e,this)),t(e)}get _isAboutToError(){return this[Tf]}get ip(){var e;return(e=this.socket)===null||e===void 0?void 0:e.remoteAddress}get aborted(){var e,t,i;return((t=(e=this[xi])===null||e===void 0?void 0:e.destroyed)!==null&&t!==void 0?t:this.destroyed)&&!(!((i=this[Y5])===null||i===void 0)&&i.complete)}get socket(){var e,t;return(t=(e=this[xi])===null||e===void 0?void 0:e.socket)!==null&&t!==void 0?t:void 0}get downloadProgress(){let e;return this[Rf]?e=this[Ff]/this[Rf]:this[Rf]===this[Ff]?e=1:e=0,{percent:e,transferred:this[Ff],total:this[Rf]}}get uploadProgress(){let e;return this[Nf]?e=this[Lf]/this[Nf]:this[Nf]===this[Lf]?e=1:e=0,{percent:e,transferred:this[Lf],total:this[Nf]}}get timings(){var e;return(e=this[xi])===null||e===void 0?void 0:e.timings}get isFromCache(){return this[H5]}pipe(e,t){if(this[G5])throw new Error("Failed to pipe. The response has been emitted already.");return e instanceof Zk.ServerResponse&&this[jw].add(e),super.pipe(e,t)}unpipe(e){return e instanceof Zk.ServerResponse&&this[jw].delete(e),super.unpipe(e),this}};Yt.default=$w});var pC=w(io=>{"use strict";var vPe=io&&io.__createBinding||(Object.create?function(r,e,t,i){i===void 0&&(i=t),Object.defineProperty(r,i,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,i){i===void 0&&(i=t),r[i]=e[t]}),xPe=io&&io.__exportStar||function(r,e){for(var t in r)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&vPe(e,r,t)};Object.defineProperty(io,"__esModule",{value:!0});io.CancelError=io.ParseError=void 0;var q5=hC(),rR=class extends q5.RequestError{constructor(e,t){let{options:i}=t.request;super(`${e.message} in "${i.url.toString()}"`,e,t.request),this.name="ParseError"}};io.ParseError=rR;var iR=class extends q5.RequestError{constructor(e){super("Promise was canceled",{},e),this.name="CancelError"}get isCanceled(){return!0}};io.CancelError=iR;xPe(hC(),io)});var W5=w(nR=>{"use strict";Object.defineProperty(nR,"__esModule",{value:!0});var J5=pC(),PPe=(r,e,t,i)=>{let{rawBody:n}=r;try{if(e==="text")return n.toString(i);if(e==="json")return n.length===0?"":t(n.toString());if(e==="buffer")return n;throw new J5.ParseError({message:`Unknown body type '${e}'`,name:"Error"},r)}catch(s){throw new J5.ParseError(s,r)}};nR.default=PPe});var sR=w(YA=>{"use strict";var DPe=YA&&YA.__createBinding||(Object.create?function(r,e,t,i){i===void 0&&(i=t),Object.defineProperty(r,i,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,i){i===void 0&&(i=t),r[i]=e[t]}),kPe=YA&&YA.__exportStar||function(r,e){for(var t in r)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&DPe(e,r,t)};Object.defineProperty(YA,"__esModule",{value:!0});var RPe=J("events"),FPe=Ta(),NPe=W8(),eB=pC(),z5=W5(),V5=hC(),LPe=Hk(),TPe=zk(),X5=Vk(),OPe=["request","response","redirect","uploadProgress","downloadProgress"];function _5(r){let e,t,i=new RPe.EventEmitter,n=new NPe((o,a,l)=>{let c=u=>{let g=new V5.default(void 0,r);g.retryCount=u,g._noPipe=!0,l(()=>g.destroy()),l.shouldReject=!1,l(()=>a(new eB.CancelError(g))),e=g,g.once("response",async p=>{var C;if(p.retryCount=u,p.request.aborted)return;let y;try{y=await TPe.default(g),p.rawBody=y}catch{return}if(g._isAboutToError)return;let B=((C=p.headers["content-encoding"])!==null&&C!==void 0?C:"").toLowerCase(),v=["gzip","deflate","br"].includes(B),{options:D}=g;if(v&&!D.decompress)p.body=y;else try{p.body=z5.default(p,D.responseType,D.parseJson,D.encoding)}catch(L){if(p.body=y.toString(),X5.isResponseOk(p)){g._beforeError(L);return}}try{for(let[L,H]of D.hooks.afterResponse.entries())p=await H(p,async j=>{let $=V5.default.normalizeArguments(void 0,{...j,retry:{calculateDelay:()=>0},throwHttpErrors:!1,resolveBodyOnly:!1},D);$.hooks.afterResponse=$.hooks.afterResponse.slice(0,L);for(let W of $.hooks.beforeRetry)await W($);let V=_5($);return l(()=>{V.catch(()=>{}),V.cancel()}),V})}catch(L){g._beforeError(new eB.RequestError(L.message,L,g));return}if(!X5.isResponseOk(p)){g._beforeError(new eB.HTTPError(p));return}t=p,o(g.options.resolveBodyOnly?p.body:p)});let f=p=>{if(n.isCanceled)return;let{options:C}=g;if(p instanceof eB.HTTPError&&!C.throwHttpErrors){let{response:y}=p;o(g.options.resolveBodyOnly?y.body:y);return}a(p)};g.once("error",f);let h=g.options.body;g.once("retry",(p,C)=>{var y,B;if(h===((y=C.request)===null||y===void 0?void 0:y.options.body)&&FPe.default.nodeStream((B=C.request)===null||B===void 0?void 0:B.options.body)){f(C);return}c(p)}),LPe.default(g,i,OPe)};c(0)});n.on=(o,a)=>(i.on(o,a),n);let s=o=>{let a=(async()=>{await n;let{options:l}=t.request;return z5.default(t,o,l.parseJson,l.encoding)})();return Object.defineProperties(a,Object.getOwnPropertyDescriptors(n)),a};return n.json=()=>{let{headers:o}=e.options;return!e.writableFinished&&o.accept===void 0&&(o.accept="application/json"),s("json")},n.buffer=()=>s("buffer"),n.text=()=>s("text"),n}YA.default=_5;kPe(pC(),YA)});var Z5=w(oR=>{"use strict";Object.defineProperty(oR,"__esModule",{value:!0});var MPe=pC();function KPe(r,...e){let t=(async()=>{if(r instanceof MPe.RequestError)try{for(let n of e)if(n)for(let s of n)r=await s(r)}catch(n){r=n}throw r})(),i=()=>t;return t.json=i,t.text=i,t.buffer=i,t.on=i,t}oR.default=KPe});var tV=w(aR=>{"use strict";Object.defineProperty(aR,"__esModule",{value:!0});var $5=Ta();function eV(r){for(let e of Object.values(r))($5.default.plainObject(e)||$5.default.array(e))&&eV(e);return Object.freeze(r)}aR.default=eV});var iV=w(rV=>{"use strict";Object.defineProperty(rV,"__esModule",{value:!0})});var AR=w(Is=>{"use strict";var UPe=Is&&Is.__createBinding||(Object.create?function(r,e,t,i){i===void 0&&(i=t),Object.defineProperty(r,i,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,i){i===void 0&&(i=t),r[i]=e[t]}),HPe=Is&&Is.__exportStar||function(r,e){for(var t in r)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&UPe(e,r,t)};Object.defineProperty(Is,"__esModule",{value:!0});Is.defaultHandler=void 0;var nV=Ta(),Es=sR(),GPe=Z5(),rB=hC(),YPe=tV(),jPe={RequestError:Es.RequestError,CacheError:Es.CacheError,ReadError:Es.ReadError,HTTPError:Es.HTTPError,MaxRedirectsError:Es.MaxRedirectsError,TimeoutError:Es.TimeoutError,ParseError:Es.ParseError,CancelError:Es.CancelError,UnsupportedProtocolError:Es.UnsupportedProtocolError,UploadError:Es.UploadError},qPe=async r=>new Promise(e=>{setTimeout(e,r)}),{normalizeArguments:tB}=rB.default,sV=(...r)=>{let e;for(let t of r)e=tB(void 0,t,e);return e},JPe=r=>r.isStream?new rB.default(void 0,r):Es.default(r),WPe=r=>"defaults"in r&&"options"in r.defaults,zPe=["get","post","put","patch","head","delete"];Is.defaultHandler=(r,e)=>e(r);var oV=(r,e)=>{if(r)for(let t of r)t(e)},aV=r=>{r._rawHandlers=r.handlers,r.handlers=r.handlers.map(i=>(n,s)=>{let o,a=i(n,l=>(o=s(l),o));if(a!==o&&!n.isStream&&o){let l=a,{then:c,catch:u,finally:g}=l;Object.setPrototypeOf(l,Object.getPrototypeOf(o)),Object.defineProperties(l,Object.getOwnPropertyDescriptors(o)),l.then=c,l.catch=u,l.finally=g}return a});let e=(i,n={},s)=>{var o,a;let l=0,c=u=>r.handlers[l++](u,l===r.handlers.length?JPe:c);if(nV.default.plainObject(i)){let u={...i,...n};rB.setNonEnumerableProperties([i,n],u),n=u,i=void 0}try{let u;try{oV(r.options.hooks.init,n),oV((o=n.hooks)===null||o===void 0?void 0:o.init,n)}catch(f){u=f}let g=tB(i,n,s!=null?s:r.options);if(g[rB.kIsNormalizedAlready]=!0,u)throw new Es.RequestError(u.message,u,g);return c(g)}catch(u){if(n.isStream)throw u;return GPe.default(u,r.options.hooks.beforeError,(a=n.hooks)===null||a===void 0?void 0:a.beforeError)}};e.extend=(...i)=>{let n=[r.options],s=[...r._rawHandlers],o;for(let a of i)WPe(a)?(n.push(a.defaults.options),s.push(...a.defaults._rawHandlers),o=a.defaults.mutableDefaults):(n.push(a),"handlers"in a&&s.push(...a.handlers),o=a.mutableDefaults);return s=s.filter(a=>a!==Is.defaultHandler),s.length===0&&s.push(Is.defaultHandler),aV({options:sV(...n),handlers:s,mutableDefaults:Boolean(o)})};let t=async function*(i,n){let s=tB(i,n,r.options);s.resolveBodyOnly=!1;let o=s.pagination;if(!nV.default.object(o))throw new TypeError("`options.pagination` must be implemented");let a=[],{countLimit:l}=o,c=0;for(;c{let s=[];for await(let o of t(i,n))s.push(o);return s},e.paginate.each=t,e.stream=(i,n)=>e(i,{...n,isStream:!0});for(let i of zPe)e[i]=(n,s)=>e(n,{...s,method:i}),e.stream[i]=(n,s)=>e(n,{...s,method:i,isStream:!0});return Object.assign(e,jPe),Object.defineProperty(e,"defaults",{value:r.mutableDefaults?r:YPe.default(r),writable:r.mutableDefaults,configurable:r.mutableDefaults,enumerable:!0}),e.mergeOptions=sV,e};Is.default=aV;HPe(iV(),Is)});var nB=w((Oa,iB)=>{"use strict";var VPe=Oa&&Oa.__createBinding||(Object.create?function(r,e,t,i){i===void 0&&(i=t),Object.defineProperty(r,i,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,i){i===void 0&&(i=t),r[i]=e[t]}),AV=Oa&&Oa.__exportStar||function(r,e){for(var t in r)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&VPe(e,r,t)};Object.defineProperty(Oa,"__esModule",{value:!0});var XPe=J("url"),lV=AR(),_Pe={options:{method:"GET",retry:{limit:2,methods:["GET","PUT","HEAD","DELETE","OPTIONS","TRACE"],statusCodes:[408,413,429,500,502,503,504,521,522,524],errorCodes:["ETIMEDOUT","ECONNRESET","EADDRINUSE","ECONNREFUSED","EPIPE","ENOTFOUND","ENETUNREACH","EAI_AGAIN"],maxRetryAfter:void 0,calculateDelay:({computedValue:r})=>r},timeout:{},headers:{"user-agent":"got (https://github.com/sindresorhus/got)"},hooks:{init:[],beforeRequest:[],beforeRedirect:[],beforeRetry:[],beforeError:[],afterResponse:[]},cache:void 0,dnsCache:void 0,decompress:!0,throwHttpErrors:!0,followRedirect:!0,isStream:!1,responseType:"text",resolveBodyOnly:!1,maxRedirects:10,prefixUrl:"",methodRewriting:!0,ignoreInvalidCookies:!1,context:{},http2:!1,allowGetBody:!1,https:void 0,pagination:{transform:r=>r.request.options.responseType==="json"?r.body:JSON.parse(r.body),paginate:r=>{if(!Reflect.has(r.headers,"link"))return!1;let e=r.headers.link.split(","),t;for(let i of e){let n=i.split(";");if(n[1].includes("next")){t=n[0].trimStart().trim(),t=t.slice(1,-1);break}}return t?{url:new XPe.URL(t)}:!1},filter:()=>!0,shouldContinue:()=>!0,countLimit:1/0,backoff:0,requestLimit:1e4,stackAllItems:!0},parseJson:r=>JSON.parse(r),stringifyJson:r=>JSON.stringify(r),cacheOptions:{}},handlers:[lV.defaultHandler],mutableDefaults:!1},lR=lV.default(_Pe);Oa.default=lR;iB.exports=lR;iB.exports.default=lR;iB.exports.__esModule=!0;AV(AR(),Oa);AV(sR(),Oa)});var fV=w(Of=>{"use strict";var Jit=J("net"),ZPe=J("tls"),cR=J("http"),cV=J("https"),$Pe=J("events"),Wit=J("assert"),eDe=J("util");Of.httpOverHttp=tDe;Of.httpsOverHttp=rDe;Of.httpOverHttps=iDe;Of.httpsOverHttps=nDe;function tDe(r){var e=new Ma(r);return e.request=cR.request,e}function rDe(r){var e=new Ma(r);return e.request=cR.request,e.createSocket=uV,e.defaultPort=443,e}function iDe(r){var e=new Ma(r);return e.request=cV.request,e}function nDe(r){var e=new Ma(r);return e.request=cV.request,e.createSocket=uV,e.defaultPort=443,e}function Ma(r){var e=this;e.options=r||{},e.proxyOptions=e.options.proxy||{},e.maxSockets=e.options.maxSockets||cR.Agent.defaultMaxSockets,e.requests=[],e.sockets=[],e.on("free",function(i,n,s,o){for(var a=gV(n,s,o),l=0,c=e.requests.length;l=this.maxSockets){s.requests.push(o);return}s.createSocket(o,function(a){a.on("free",l),a.on("close",c),a.on("agentRemove",c),e.onSocket(a);function l(){s.emit("free",a,o)}function c(u){s.removeSocket(a),a.removeListener("free",l),a.removeListener("close",c),a.removeListener("agentRemove",c)}})};Ma.prototype.createSocket=function(e,t){var i=this,n={};i.sockets.push(n);var s=uR({},i.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:!1,headers:{host:e.host+":"+e.port}});e.localAddress&&(s.localAddress=e.localAddress),s.proxyAuth&&(s.headers=s.headers||{},s.headers["Proxy-Authorization"]="Basic "+new Buffer(s.proxyAuth).toString("base64")),jA("making CONNECT request");var o=i.request(s);o.useChunkedEncodingByDefault=!1,o.once("response",a),o.once("upgrade",l),o.once("connect",c),o.once("error",u),o.end();function a(g){g.upgrade=!0}function l(g,f,h){process.nextTick(function(){c(g,f,h)})}function c(g,f,h){if(o.removeAllListeners(),f.removeAllListeners(),g.statusCode!==200){jA("tunneling socket could not be established, statusCode=%d",g.statusCode),f.destroy();var p=new Error("tunneling socket could not be established, statusCode="+g.statusCode);p.code="ECONNRESET",e.request.emit("error",p),i.removeSocket(n);return}if(h.length>0){jA("got illegal response body from proxy"),f.destroy();var p=new Error("got illegal response body from proxy");p.code="ECONNRESET",e.request.emit("error",p),i.removeSocket(n);return}return jA("tunneling connection has established"),i.sockets[i.sockets.indexOf(n)]=f,t(f)}function u(g){o.removeAllListeners(),jA(`tunneling socket could not be established, cause=%s -`,g.message,g.stack);var f=new Error("tunneling socket could not be established, cause="+g.message);f.code="ECONNRESET",e.request.emit("error",f),i.removeSocket(n)}};Ma.prototype.removeSocket=function(e){var t=this.sockets.indexOf(e);if(t!==-1){this.sockets.splice(t,1);var i=this.requests.shift();i&&this.createSocket(i,function(n){i.request.onSocket(n)})}};function uV(r,e){var t=this;Ma.prototype.createSocket.call(t,r,function(i){var n=r.request.getHeader("host"),s=uR({},t.options,{socket:i,servername:n?n.replace(/:.*$/,""):r.host}),o=ZPe.connect(0,s);t.sockets[t.sockets.indexOf(i)]=o,e(o)})}function gV(r,e,t){return typeof r=="string"?{host:r,port:e,localAddress:t}:r}function uR(r){for(var e=1,t=arguments.length;e{hV.exports=fV()});var SV=w((aB,CR)=>{var bV=Object.assign({},J("fs")),dR=function(){var r=typeof document<"u"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename<"u"&&(r=r||__filename),function(e){e=e||{};var t=typeof e<"u"?e:{},i,n;t.ready=new Promise(function(d,E){i=d,n=E});var s={},o;for(o in t)t.hasOwnProperty(o)&&(s[o]=t[o]);var a=[],l="./this.program",c=function(d,E){throw E},u=!1,g=!0,f="";function h(d){return t.locateFile?t.locateFile(d,f):f+d}var p,C,y,B;g&&(u?f=J("path").dirname(f)+"/":f=__dirname+"/",p=function(E,I){var k=ca(E);return k?I?k:k.toString():(y||(y=bV),B||(B=J("path")),E=B.normalize(E),y.readFileSync(E,I?null:"utf8"))},C=function(E){var I=p(E,!0);return I.buffer||(I=new Uint8Array(I)),re(I.buffer),I},process.argv.length>1&&(l=process.argv[1].replace(/\\/g,"/")),a=process.argv.slice(2),c=function(d){process.exit(d)},t.inspect=function(){return"[Emscripten Module object]"});var v=t.print||console.log.bind(console),D=t.printErr||console.warn.bind(console);for(o in s)s.hasOwnProperty(o)&&(t[o]=s[o]);s=null,t.arguments&&(a=t.arguments),t.thisProgram&&(l=t.thisProgram),t.quit&&(c=t.quit);var L=16;function H(d,E){return E||(E=L),Math.ceil(d/E)*E}var j=0,$=function(d){j=d},V;t.wasmBinary&&(V=t.wasmBinary);var W=t.noExitRuntime||!0;typeof WebAssembly!="object"&&wr("no native wasm support detected");function Z(d,E,I){switch(E=E||"i8",E.charAt(E.length-1)==="*"&&(E="i32"),E){case"i1":return ne[d>>0];case"i8":return ne[d>>0];case"i16":return pe[d>>1];case"i32":return de[d>>2];case"i64":return de[d>>2];case"float":return Pt[d>>2];case"double":return It[d>>3];default:wr("invalid type for getValue: "+E)}return null}var A,ae=!1,ge;function re(d,E){d||wr("Assertion failed: "+E)}function O(d){var E=t["_"+d];return re(E,"Cannot call unknown function "+d+", make sure it is exported"),E}function F(d,E,I,k,T){var _={string:function(it){var Et=0;if(it!=null&&it!==0){var Qe=(it.length<<2)+1;Et=Q(Qe),oe(it,Et,Qe)}return Et},array:function(it){var Et=Q(it.length);return fe(it,Et),Et}};function te(it){return E==="string"?Fe(it):E==="boolean"?Boolean(it):it}var Be=O(d),me=[],Je=0;if(k)for(var nt=0;nt=k);)++T;if(T-E>16&&d.subarray&&he)return he.decode(d.subarray(E,T));for(var _="";E>10,56320|Je&1023)}}return _}function Fe(d,E){return d?ke(Y,d,E):""}function Ne(d,E,I,k){if(!(k>0))return 0;for(var T=I,_=I+k-1,te=0;te=55296&&Be<=57343){var me=d.charCodeAt(++te);Be=65536+((Be&1023)<<10)|me&1023}if(Be<=127){if(I>=_)break;E[I++]=Be}else if(Be<=2047){if(I+1>=_)break;E[I++]=192|Be>>6,E[I++]=128|Be&63}else if(Be<=65535){if(I+2>=_)break;E[I++]=224|Be>>12,E[I++]=128|Be>>6&63,E[I++]=128|Be&63}else{if(I+3>=_)break;E[I++]=240|Be>>18,E[I++]=128|Be>>12&63,E[I++]=128|Be>>6&63,E[I++]=128|Be&63}}return E[I]=0,I-T}function oe(d,E,I){return Ne(d,Y,E,I)}function le(d){for(var E=0,I=0;I=55296&&k<=57343&&(k=65536+((k&1023)<<10)|d.charCodeAt(++I)&1023),k<=127?++E:k<=2047?E+=2:k<=65535?E+=3:E+=4}return E}function we(d){var E=le(d)+1,I=dt(E);return I&&Ne(d,ne,I,E),I}function fe(d,E){ne.set(d,E)}function Ae(d,E){return d%E>0&&(d+=E-d%E),d}var qe,ne,Y,pe,ie,de,tt,Pt,It;function Or(d){qe=d,t.HEAP8=ne=new Int8Array(d),t.HEAP16=pe=new Int16Array(d),t.HEAP32=de=new Int32Array(d),t.HEAPU8=Y=new Uint8Array(d),t.HEAPU16=ie=new Uint16Array(d),t.HEAPU32=tt=new Uint32Array(d),t.HEAPF32=Pt=new Float32Array(d),t.HEAPF64=It=new Float64Array(d)}var ii=t.INITIAL_MEMORY||16777216,gi,hr=[],fi=[],ni=[],Ls=!1;function pr(){if(t.preRun)for(typeof t.preRun=="function"&&(t.preRun=[t.preRun]);t.preRun.length;)oa(t.preRun.shift());Co(hr)}function Ei(){Ls=!0,!t.noFSInit&&!S.init.initialized&&S.init(),$n.init(),Co(fi)}function _n(){if(t.postRun)for(typeof t.postRun=="function"&&(t.postRun=[t.postRun]);t.postRun.length;)eg(t.postRun.shift());Co(ni)}function oa(d){hr.unshift(d)}function aA(d){fi.unshift(d)}function eg(d){ni.unshift(d)}var Zn=0,AA=null,aa=null;function up(d){return d}function lA(d){Zn++,t.monitorRunDependencies&&t.monitorRunDependencies(Zn)}function cA(d){if(Zn--,t.monitorRunDependencies&&t.monitorRunDependencies(Zn),Zn==0&&(AA!==null&&(clearInterval(AA),AA=null),aa)){var E=aa;aa=null,E()}}t.preloadedImages={},t.preloadedAudios={};function wr(d){t.onAbort&&t.onAbort(d),d+="",D(d),ae=!0,ge=1,d="abort("+d+"). Build with -s ASSERTIONS=1 for more info.";var E=new WebAssembly.RuntimeError(d);throw n(E),E}var wl="data:application/octet-stream;base64,";function tg(d){return d.startsWith(wl)}var po="data:application/octet-stream;base64,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ACgCFC0AAiAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQADIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAQgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ABSAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAGIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAcgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ACCAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAJIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAogACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ACyAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAMIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAA0gACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ADiAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAPIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhRBEGo2AhQgACAAKAIIQQFrIgE2AgggAQ0ACyAAIAAoAhhB8f8DcDYCGCAAIAAoAgxB8f8DcDYCDAwBCwsgACgCEARAA0AgACgCEEEQTwRAIAAgACgCEEEQazYCECAAIAAoAhQtAAAgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0AASAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQACIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAMgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ABCAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAFIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAYgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0AByAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAIIAAoAhhqNgIYIAAgACgCGCAAKAIMajYC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NgIYIAEoAgxCADcDICABKAIMQgA3AyggASgCDEEANgIwIAEoAgxBADYCNCABKAIMQQA2AjggASgCDEEANgI8IAEoAgxBADsBQCABKAIMQYCA2I14NgJEIAEoAgxCADcDSCABKAIMQQA7AVAgASgCDEEAOwFSIAEoAgxBADYCVAvSEwEBfyMAQbABayIDJAAgAyAANgKoASADIAE2AqQBIAMgAjYCoAEgA0EANgKQASADIAMoAqQBKAIwQQAQOjYClAEgAyADKAKkASgCOEEAEDo2ApgBAkACQAJAAkAgAygClAFBAkYEQCADKAKYAUEBRg0BCyADKAKUAUEBRgRAIAMoApgBQQJGDQELIAMoApQBQQJHDQEgAygCmAFBAkcNAQsgAygCpAEiACAALwEMQYAQcjsBDAwBCyADKAKkASIAIAAvAQxB/+8DcTsBDCADKAKUAUECRgRAIANB9eABIAMoAqQBKAIwIAMoAqgBQQhqEI4BNgKQASADKAKQAUUEQCADQX82AqwBDAMLCwJAIAMoAqABQYACcQ0AIAMoApgBQQJHDQAgA0H1xgEgAygCpAEoAjggAygCqAFBCGoQjgE2AkggAygCSEUEQCADKAKQARAjIANBfzYCrAEMAwsgAygCSCADKAKQATYCACADIAMoAkg2ApABCwsCQCADKAKkAS8BUkUEQCADKAKkASIAIAAvAQxB/v8DcTsBDAwBCyADKAKkASIAIAAvAQxBAXI7AQwLIAMgAygCpAEgAygCoAEQZUEBcToAhgEgAyADKAKgAUGACnFBgApHBH8gAy0AhgEFQQELQQFxOgCHASADAn9BASADKAKkAS8BUkGBAkYNABpBASADKAKkAS8BUkGCAkYNABogAygCpAEvAVJBgwJGC0EBcToAhQEgAy0AhwFBAXEEQCADIANBIGpCHBApNgIcIAMoAhxFBEAgAygCqAFBCGpBDkEAEBQgAygCkAEQIyADQX82AqwBDAILAkAgAygCoAFBgAJxBEACQCADKAKgAUGACHENACADKAKkASkDIEL/////D1YNACADKAKkASkDKEL/////D1gNAgsgAygCHCADKAKkASkDKBAtIAMoAhwgAygCpAEpAyAQLQwBCwJAAkAgAygCoAFBgAhxDQAgAygCpAEpAyBC/////w9WDQAgAygCpAEpAyhC/////w9WDQAgAygCpAEpA0hC/////w9YDQELIAMoAqQBKQMoQv////8PWgRAIAMoAhwgAygCpAEpAygQLQsgAygCpAEpAyBC/////w9aBEAgAygCHCADKAKkASkDIBAtCyADKAKkASkDSEL/////D1oEQCADKAIcIAMoAqQBKQNIEC0LCwsCfyMAQRBrIgAgAygCHDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFCADKAIcEBYgAygCkAEQIyADQX82AqwBDAILIANBAQJ/IwBBEGsiACADKAIcNgIMAn4gACgCDC0AAEEBcQRAIAAoAgwpAxAMAQtCAAunQf//A3ELIANBIGpBgAYQVTYCjAEgAygCHBAWIAMoAowBIAMoApABNgIAIAMgAygCjAE2ApABCyADLQCFAUEBcQRAIAMgA0EVakIHECk2AhAgAygCEEUEQCADKAKoAUEIakEOQQAQFCADKAKQARAjIANBfzYCrAEMAgsgAygCEEECEB8gAygCEEG9EkECEEEgAygCECADKAKkAS8BUkH/AXEQlgEgAygCECADKAKkASgCEEH//wNxEB8CfyMAQRBrIgAgAygCEDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFCADKAIQEBYgAygCkAEQIyADQX82AqwBDAILIANBgbICQQcgA0EVakGABhBVNgIMIAMoAhAQFiADKAIMIAMoApABNgIAIAMgAygCDDYCkAELIAMgA0HQAGpCLhApIgA2AkwgAEUEQCADKAKoAUEIakEOQQAQFCADKAKQARAjIANBfzYCrAEMAQsgAygCTEHxEkH2EiADKAKgAUGAAnEbQQQQQSADKAKgAUGAAnFFBEAgAygCTCADLQCGAUEBcQR/QS0FIAMoAqQBLwEIC0H//wNxEB8LIAMoAkwgAy0AhgFBAXEEf0EtBSADKAKkAS8BCgtB//8DcRAfIAMoAkwgAygCpAEvAQwQHwJAIAMtAIUBQQFxBEAgAygCTEHjABAfDAELIAMoAkwgAygCpAEoAhBB//8DcRAfCyADKAKkASgCFCADQZ4BaiADQZwBahCNASADKAJMIAMvAZ4BEB8gAygCTCADLwGcARAfAkACQCADLQCFAUEBcUUNACADKAKkASkDKEIUWg0AIAMoAkxBABAhDAELIAMoAkwgAygCpAEoAhgQIQsCQAJAIAMoAqABQYACcUGAAkcNACADKAKkASkDIEL/////D1QEQCADKAKkASkDKEL/////D1QNAQsgAygCTEF/ECEgAygCTEF/ECEMAQsCQCADKAKkASkDIEL/////D1QEQCADKAJMIAMoAqQBKQMgpxAhDAELIAMoAkxBfxAhCwJAIAMoAqQBKQMoQv////8PVARAIAMoAkwgAygCpAEpAyinECEMAQsgAygCTEF/ECELCyADKAJMIAMoAqQBKAIwEFFB//8DcRAfIAMgAygCpAEoAjQgAygCoAEQkgFB//8DcSADKAKQAUGABhCSAUH//wNxajYCiAEgAygCTCADKAKIAUH//wNxEB8gAygCoAFBgAJxRQRAIAMoAkwgAygCpAEoAjgQUUH//wNxEB8gAygCTCADKAKkASgCPEH//wNxEB8gAygCTCADKAKkAS8BQBAfIAMoAkwgAygCpAEoAkQQIQJAIAMoAqQBKQNIQv////8PVARAIAMoAkwgAygCpAEpA0inECEMAQsgAygCTEF/ECELCwJ/IwBBEGsiACADKAJMNgIMIAAoAgwtAABBAXFFCwRAIAMoAqgBQQhqQRRBABAUIAMoAkwQFiADKAKQARAjIANBfzYCrAEMAQsgAygCqAEgA0HQAGoCfiMAQRBrIgAgAygCTDYCDAJ+IAAoAgwtAABBAXEEQCAAKAIMKQMQDAELQgALCxA2QQBIBEAgAygCTBAWIAMoApABECMgA0F/NgKsAQwBCyADKAJMEBYgAygCpAEoAjAEQCADKAKoASADKAKkASgCMBCFAUEASARAIAMoApABECMgA0F/NgKsAQwCCwsgAygCkAEEQCADKAKoASADKAKQAUGABhCRAUEASARAIAMoApABECMgA0F/NgKsAQwCCwsgAygCkAEQIyADKAKkASgCNARAIAMoAqgBIAMoAqQBKAI0IAMoAqABEJEBQQBIBEAgA0F/NgKsAQwCCwsgAygCoAFBgAJxRQRAIAMoAqQBKAI4BEAgAygCqAEgAygCpAEoAjgQhQFBAEgEQCADQX82AqwBDAMLCwsgAyADLQCHAUEBcTYCrAELIAMoAqwBIQAgA0GwAWokACAAC+ACAQF/IwBBIGsiBCQAIAQgADsBGiAEIAE7ARggBCACNgIUIAQgAzYCECAEQRAQGCIANgIMAkAg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AAAgAygCHEHcFmogAygCDEECdGooAgAgAygCHEHYKGpqLQAASg0ADAELIAMoAhxB3BZqIAMoAhRBAnRqIAMoAhxB3BZqIAMoAgxBAnRqKAIANgIAIAMgAygCDDYCFCADIAMoAgxBAXQ2AgwMAQsLIAMoAhxB3BZqIAMoAhRBAnRqIAMoAhA2AgAL1xMBA38jAEEwayICJAAgAiAANgIsIAIgATYCKCACIAIoAigoAgA2AiQgAiACKAIoKAIIKAIANgIgIAIgAigCKCgCCCgCDDYCHCACQX82AhAgAigCLEEANgLQKCACKAIsQb0ENgLUKCACQQA2AhgDQCACKAIYIAIoAhxIBEACQCACKAIkIAIoAhhBAnRqLwEABEAgAiACKAIYIgE2AhAgAigCLEHcFmohAyACKAIsIgQoAtAoQQFqIQAgBCAANgLQKCAAQQJ0IANqIAE2AgAgAigCGCACKAIsQdgoampBADoAAAwBCyACKAIkIAIoAhhBAnRqQQA7AQILIAIgAigCGEEBajYCGAwBCwsDQCACKAIsKALQKEECSARAAkAgAigCEEECSARAIAIgAigCEEEBaiIANgIQDAELQQAhAAsgAigCLEHcFmohAyACKAIsIgQoAtAoQQFqIQEgBCABNgLQKCABQQJ0IANqIAA2AgAgAiAANgIMIAIoAiQgAigCDEECdGpBATsBACACKAIMIAIoAixB2ChqakEAOgAAIAIoAiwiACAAKAKoLUEBazYCqC0gAigCIARAIAIoAiwiACAAKAKsLSACKAIgIAIoAgxBAnRqLwECazYCrC0LDAELCyACKAIoIAIoAhA2AgQgAiACKAIsKALQKEECbTYCGANAIAIoAhhBAU4EQCACKAIsIAIoAiQgAigCGBB5IAIgAigCGEEBazYCGAwBCwsgAiACKAIcNgIMA0AgAiACKAIsKALgFjYCGCACKAIsQdwWaiEBIAIoAiwiAygC0CghACADIABBAWs2AtAoIAIoAiwgAEECdCABaigCADYC4BYgAigCLCACKAIkQQEQeSACIAIoAiwoAuAWNgIUIAIoAhghASACKAIsQdwWaiEDIAIoAiwiBCgC1ChBAWshACAEIAA2AtQoIABBAnQgA2ogATYCACACKAIUIQEgAigCLEHcFmohAyACKAIsIgQoAtQoQQFrIQAgBCAANgLUKCAA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AQsgAigCCEEANgIAIAIoAghCADcDECACKAIIQgA3AwggAigCCEIANwMgIAIoAghCADcDGCACKAIIQQA2AiggAigCCEEAOgAsIAIoAgggAikDECACKAIMEI8BQQFxRQRAIAIoAggQJSACQQA2AhwMAQsgAiACKAIINgIcCyACKAIcIQEgAkEgaiQAIAEL1gIBAX8jAEEgayIDJAAgAyAANgIYIAMgATYCFCADIAI2AhAgAyADQQxqQgQQKTYCCAJAIAMoAghFBEAgA0F/NgIcDAELA0AgAygCFARAIAMoAhQoAgQgAygCEHFBgAZxBEAgAygCCEIAECwaIAMoAgggAygCFC8BCBAfIAMoAgggAygCFC8BChAfAn8jAEEQayIAIAMoAgg2AgwgACgCDC0AAEEBcUULBEAgAygCGEEIakEUQQAQFCADKAIIEBYgA0F/NgIcDAQLIAMoAhggA0EMakIEEDZBAEgEQCADKAIIEBYgA0F/NgIcDAQLIAMoAhQvAQoEQCADKAIYIAMoAhQoAgwgAygCFC8BCq0QNkEASARAIAMoAggQFiADQX82AhwMBQsLCyADIAMoAhQoAgA2AhQMAQsLIAMoAggQFiADQQA2AhwLIAMoAhwhACADQSBqJAAgAAtoAQF/IwBBEGsiAiAANgIMIAIgATYCCCACQQA7AQYDQCACKAIMBEAgAigCDCgCBCACKAIIcUGABnEEQCACIAIoAgwvAQogAi8BBkEEamo7AQYLIAIgAigCDCgCADYCDAwBCwsgAi8BBgvwAQEBfyMAQRBrIgEkACABIAA2AgwgASABKAIMNgIIIAFBADYCBANAIAEoAgwEQAJAAkAgASgCDC8BCEH1xgFGDQAgASgCDC8BCEH14AFGDQAgASgCDC8BCEGBsgJGDQAgASgCDC8BCEEBRw0BCyABIAEoAgwoAgA2AgAgASgCCCABKAIMRgRAIAEgASgCADYCCAsgASgCDEEANgIAIAEoAgwQIyABKAIEBEAgASgCBCABKAIANgIACyABIAEoAgA2AgwMAgsgASABKAIMNgIEIAEgASgCDCgCADYCDAwBCwsgASgCCCEAIAFBEGokACAAC7IEAQF/IwBBQGoiBSQAIAUgADYCOCAFIAE7ATYgBSACNgIwIAUgAzYCLCAFIAQ2AiggBSAFKAI4IAUvATatECkiADYC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IAEoAhBB//8DRgRAIAEgASgCDDYCEAsgASgCCEH//wNGBEAgASABKAIENgIICwJAIAEoApQBQQRxRQ0AIAEoAgggASgCBEYEQCABKAIQIAEoAgxGDQELIAEoApABQRVBABAUIAEtABdBAXEEQCABKAKkARAWCyABQQA2AqwBDAELAkAgASgCEEUEQCABKAIIRQ0BCyABKAKQAUEBQQAQFCABLQAXQQFxBEAgASgCpAEQFgsgAUEANgKsAQwBCyABIAEoAqQBEDE3AyggASABKAKkARAxNwMgIAEpAyggASkDIFIEQCABKAKQAUEBQQAQFCABLQAXQQFxBEAgASgCpAEQFgsgAUEANgKsAQwBCyABIAEoAqQBEDE3AzAgASABKAKkARAxNwOAAQJ/IwBBEGsiBSABKAKkATYCDCAFKAIMLQAAQQFxRQsEQCABKAKQAUEUQQAQFCABLQAXQQFxBEAgASgCpAEQFgsgAUEANgKsAQwBCyABLQAXQQFxBEAgASgCpAEQFgsCQCABKQOAAUL///////////8AWARAIAEpA4ABIAEpA4ABIAEpAzB8WA0BCyABKAKQAUEEQRYQFCABQQA2AqwBDAELIAEpA4ABIAEpAzB8IAEpA5gBIAEpAzh8VgRAIAEoApABQRVBABAUIAFBADYCrAEMAQsCQCABKAKUAUEEcUUNACABKQOAASABKQMwfCABKQOYASABKQM4fFENACABKAKQAUEVQQAQFCABQQA2AqwBDAELIAEpAyggASkDMEIugFYEQCABKAKQAUEVQQAQFCABQQA2AqwBDAELIAEgASkDKCABKAKQARCQASIFNgKMASAFRQRAIAFBADYCrAEMAQsgASgCjAFBAToALCABKAKMASABKQMwNwMYIAEoAowBIAEpA4ABNwMgIAEgASgCjAE2AqwBCyABKAKsASEFIAFBsAFqJAAgACAFNgJQDAELIAAoAmQgACkDMBAsGiAAKAJkIQUgACkDWCEJIAAoAmgoAhQhBiAAKAJUIQcjAEHQAGsiASQAIAEgBTYCSCABIAk3A0AgASAGNgI8IAEgBzYCOAJAIAEoAkgQMEIWVARAIAEoAjhBFUEAEBQgAUEANgJMDAELIwBBEGsiBSABKAJINgIMIAECfiAFKAIMLQAAQQFxBEAgBSgCDCkDEAwBC0IACzcDCCABKAJI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ECADQcgAEBgiADYCDAJAIABFBEAgAygCEEEBQbSbASgCABAUIANBADYCHAwBCyADKAIMIAMoAhA2AgAgAygCDCADLQAbQQFxOgAEIAMoAgwgAygCFDYCCAJAIAMoAgwoAghBAU4EQCADKAIMKAIIQQlMDQELIAMoAgxBCTYCCAsgAygCDEEAOgAMIAMoAgxBADYCMCADKAIMQQA2AjQgAygCDEEANgI4IAMgAygCDDYCHAsgAygCHCEAIANBIGokACAACzgBAX8jAEEQayIBIAA2AgwgASgCDEEANgIAIAEoAgxBADYCBCABKAIMQQA2AgggASgCDEEAOgAMC+MIAQF/IwBBQGoiAiAANgI4IAIgATYCNCACIAIoAjgoAnw2AjAgAiACKAI4KAI4IAIoAjgoAmxqNgIsIAIgAigCOCgCeDYCICACIAIoAjgoApABNgIcIAICfyACKAI4KAJsIAIoAjgoAixBhgJrSwRAIAIoAjgoAmwgAigCOCgCLEGGAmtrDAELQQALNgIYIAIgAigCOCgCQDYCFCACIAIoAjgoAjQ2AhAgAiACKAI4KAI4IAIoAjgoAmxqQYICajYCDCACIAIoAiwgAigCIEEBa2otAAA6AAsgAiACKAIsIAIoAiBqLQAAOgAKIAIoAjgoAnggAigCOCgCjAFPBEAgAiACKAIwQQJ2NgIwCyACKAIcIAIoAjgoAnRLBEAgAiACKAI4KAJ0NgIcCwNAAkAgAiACKAI4KAI4IAIoAjRqNgIoAkAgAigCKCACKAIgai0AACACLQAKRw0AIAIoAiggAigCIEEBa2otAAAgAi0AC0cNACACKAIoLQAAIAIoAiwtAABHDQAgAiACKAIoIgBBAWo2AiggAC0AASACKAIsLQABRwRADAELIAIgAigCLEECajYCLCACIAIoAihBAWo2AigDQCACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AigCf0EAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AihBACAALQABIAFHDQAaIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AihBACAALQABIAFHDQAaIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACKAIsIAIoAgxJC0EBcQ0ACyACQYICIAIoAgwgAigCLGtrNgIkIAIgAigCDEGCAms2AiwgAigCJCACKAIgSgRAIAIoAjggAigCNDYCcCACIAIoAiQ2AiAgAigCJCACKAIcTg0CIAIgAigCLCACKAIgQQFrai0AADoACyACIAIoAiwgAigCIGotAAA6AAoLCyACIAIoAhQgAigCNCACKAIQcUEBdGovAQAiATYCNEEAIQAgASACKAIYSwR/IAIgAigCMEEBayIANgIwIABBAEcFQQALQQFxDQELCwJAIAIoAiAgAigCOCgCdE0EQCACIAIoAiA2AjwMAQsgAiACKAI4KAJ0NgI8CyACKAI8C5IQAQF/IwBBMGsiAiQAIAIgADYCKCACIAE2AiQgAgJ/IAIoAigoAiwgAigCKCgCDEEFa0kEQCACKAIoKAIsDAELIAIoAigoAgxBBWsLNgIgIAJBADYCECACIAIoAigoAgAoAgQ2AgwDQAJAIAJB//8DNgIcIAIgAigCKCgCvC1BKmpBA3U2AhQgAigCKCgCACgCECACKAIUSQ0AIAIgAigCKCgCACgCECACKAIUazYCFCACIAIoAigoAmwgAigCKCgCXGs2AhggAigCHCACKAIYIAIoAigoAgAoAgRqSwRAIAIgAigCGCACKAIoKAIAKAIEajYCHAsgAigCHCACKAIUSwRAIAIgAigCFDYCHAsCQCACKAIcIAIoAiBPDQACQCACKAIcRQRAIAIoAiRBBEcNAQsgAigCJEUNACACKAIcIAIoAhggAigCKCgCACgCBGpGDQELDAELQQAhACACIAIoAiRBBEYEfyACKAIcIAIoAhggAigCKCgCACgCBGpGBUEAC0EBcTYCECACKAIoQQBBACACKAIQEF0gAigCKCgCCCACKAIoKAIUQQRraiACKAIcOgAAIAIoAigoAgggAigCKCgCFEEDa2ogAigCHEEIdjoAACACKAIoKAIIIAIoAigoAhRBAmtqIAIoAhxBf3M6AAAgAigCKCgCCCACKAIoKAIUQQFraiACKAIcQX9zQQh2OgAAIAIoAigoAgAQHCACKAIYBEAgAigCGCACKAIcSwRAIAIgAigCHDYCGAsgAigCKCgCACgCDCACKAIoKAI4IAIoAigoAlxqIAIoAhgQGRogAigCKCgCACIAIAIoAhggACgCDGo2AgwgAigCKCgCACIAIAAoAhAgAigCGGs2AhAgAigCKCgCACIAIAIoAhggACgCFGo2AhQgAigCKCIAIAIoAhggACgCXGo2AlwgAiACKAIcIAIoAhhrNgIcCyACKAIcBEAgAigCKCgCACACKAIoKAIAKAIMIAIoAhwQdhogAigCKCgCACIAIAIoAhwgACgCDGo2AgwgAigCKCgCACIAIAAoAhAgAigCHGs2AhAgAigCKCgCACIAIAIoAhwgACgCFGo2AhQLIAIoAhBFDQELCyACIAIoAgwgAigCKCgCACgCBGs2AgwgAigCDARAAkAgAigCDCACKAIoKAIsTwRAIAIoAihBAjYCsC0gAigCKCgCOCACKAIoKAIAKAIAIAIoAigoAixrIAIoAigoAiwQGRogAigCKCACKAIoKAIsNgJsDAELIAIoAgwgAigCKCgCPCACKAIoKAJsa08EQCACKAIoIgAgACgCbCACKAIoKAIsazYCbCACKAIoKAI4IAIoAigoAjggAigCKCgCLGogAigCKCgCbBAZGiACKAIoKAKwLUECSQRAIAIoAigiACAAKAKwLUEBajYCsC0LCyACKAIoKAI4IAIoAigoAmxqIAIoAigoAgAoAgAgAigCDGsgAigCDBAZGiACKAIoIgAgAigCDCAAKAJsajYCbAsgAigCKCACKAIoKAJsNgJcIAIoAigiAQJ/IAIoAgwgAigCKCgCLCACKAIoKAK0LWtLBEAgAigCKCgCLCACKAIoKAK0LWsMAQsgAigCDAsgASgCtC1qNgK0LQsgAigCKCgCwC0gAigCKCgCbEkEQCACKAIoIAIoAigoAmw2AsAtCwJAIAIoAhAEQCACQQM2AiwMAQsCQCACKAIkRQ0AIAIoAiRBBEYNACACKAIoKAIAKAIEDQAgAigCKCgCbCACKAIoKAJcRw0AIAJBATYCLAwBCyACIAIoAigoAjwgAigCKCgCbGtBAWs2AhQCQCACKAIoKAIAKAIEIAIoAhRNDQAgAigCKCgCXCACKAIoKAIsSA0AIAIoAigiACAAKAJcIAIoAigoAixrNgJcIAIoAigiACAAKAJsIAIoAigoAixrNgJsIAIoAigoAjggAigCKCgCOCACKAIoKAIsaiACKAIoKAJsEBkaIAIoAigoArAtQQJJBEAgAigCKCIAIAAoArAtQQFqNgKwLQsgAiACKAIoKAIsIAIoAhRqNgIUCyACKAIUIAIoAigoAgAoAgRLBEAgAiACKAIoKAIAKAIENgIUCyACKAIUBEAgAigCKCgCACACKAIoKAI4IAIoAigoAmxqIAIoAhQQdhogAigCKCIAIAIoAhQgACgCbGo2AmwLIAIoAigoAsAtIAIoAigoAmxJBEAgAigCKCACKAIoKAJsNgLALQsgAiACKAIoKAK8LUEqakEDdTYCFCACIAIoAigoAgwgAigCFGtB//8DSwR/Qf//AwUgAigCKCgCDCACKAIUaws2AhQgAgJ/IAIoAhQgAigCKCgCLEsEQCACKAIoKAIsDAELIAIoAhQLNgIgIAIgAigCKCgCbCACKAIoKAJcazYCGAJAIAIoAhggAigCIEkEQCACKAIYRQRAIAIoAiRBBEcNAgsgAigCJEUNASACKAIoKAIAKAIEDQEgAigCGCACKAIUSw0BCyACAn8gAigCGCACKAIUSwRAIAIoAhQMAQsgAigCGAs2AhwgAgJ/QQAgAigCJEEERw0AGkEAIAIoAigoAgAoAgQNABogAigCHCACKAIYRgtBAXE2AhAgAigCKCACKAIoKAI4IAIoAigoAlxqIAIoAhwgAigCEBBdIAIoAigiACACKAIcIAAoAlxqNgJcIAIoAigoAgAQHAsgAkECQQAgAigCEBs2AiwLIAIoAiwhACACQTBqJAAgAAuyAgEBfyMAQRBrIgEkACABIAA2AggCQCABKAIIEHgEQCABQX42AgwMAQsgASABKAIIKAIcKAIENgIEIAEoAggoAhwoAggEQCABKAIIKAIoIAEoAggoAhwoAgggASgCCCgCJBEEAAsgASgCCCgCHCgCRARAIAEoAggoAiggASgCCCgCHCgCRCABKAIIKAIkEQQACyABKAIIKAIc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DQAgAiEAIANBAWsiAw0ACwsgBCgCFBogASACNgKgAQwCCyMAQRBrIgAgASgCqAEoAgQ2AgwgAUEAIAAoAgxrQQJ0QajZAGooAgA2AqABDAELIAFBADYCoAELCwJAIAEoAqABRQRAIAEgASgCpAE2AqwBDAELIAEgASgCoAEQLgJ/IAEoAqQBBEAgASgCpAEQLkECagwBC0EAC2pBAWoQGCIANgIcIABFBEAgAUG4EygCADYCrAEMAQsgASgCHCEAAn8gASgCpAEEQCABKAKkAQwBC0H6EgshA0HfEkH6EiABKAKkARshAiABIAEoAqABNgIIIAEgAjYCBCABIAM2AgAgAEG+CiABEG8gASgCqAEgASgCHDYCCCABIAEoAhw2AqwBCyABKAKsASEAIAFBsAFqJAAgAAsIAEEBQTgQfwszAQF/IAAoAhQiAyABIAIgACgCECADayIBIAEgAksbIgEQGRogACAAKAIUIAFqNgIUIAILjwUCBn4BfyABIAEoAgBBD2pBcHEiAUEQajYCACAAAnwgASkDACEDIAEpAwghBiMAQSBrIggkAAJAIAZC////////////AIMiBEKAgICAgIDAgDx9IARCgICAgICAwP/DAH1UBEAgBkIEhiADQjyIhCEEIANC//////////8PgyIDQoGAgICAgICACFoEQCAEQoGAgICAgICAwAB8IQIMAgsgBEKAgICAgICAgEB9IQIgA0KAgICAgICAgAiFQgBSDQEgAiAEQgGDfCECDAELIANQIARCgICAgICAwP//AFQgBEKAgICAgIDA//8AURtFBEAgBkIEhiADQjyIhEL/////////A4NCgICAgICAgPz/AIQhAgwBC0KAgICAgICA+P8AIQIgBEL///////+//8MAVg0AQgAhAiAEQjCIpyIAQZH3AEkNACADIQIgBkL///////8/g0KAgICAgIDAAIQiBSEHAkAgAEGB9wBrIgFBwABxBEAgAiABQUBqrYYhB0IAIQIMAQsgAUUNACAHIAGtIgSGIAJBwAAgAWutiIQhByACIASGIQILIAggAjcDECAIIAc3AxgCQEGB+AAgAGsiAEHAAHEEQCAFIABBQGqtiCEDQgAhBQwBCyAARQ0AIAVBwAAgAGuthiADIACtIgKIhCEDIAUgAoghBQsgCCADNwMAIAggBTcDCCAIKQMI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ADYCtC0gASgCFEEERgRAIAEoAhgCfyABKAIYKAJcQQBOBEAgASgCGCgCOCABKAIYKAJcagwBC0EACyABKAIYKAJsIAEoAhgoAlxrQQEQKCABKAIYIAEoAhgoAmw2AlwgASgCGCgCABAcIAEoAhgoAgAoAhBFBEAgAUECNgIcDAILIAFBAzYCHAwBCyABKAIYKAKgLQRAIAEoAhgCfyABKAIYKAJcQQBOBEAgASgCGCgCOCABKAIYKAJcagwBC0EACyABKAIYKAJsIAEoAhgoAlxrQQAQKCABKAIYIAEoAhgoAmw2AlwgASgCGCgCABAcIAEoAhgoAgAoAhBFBEAgAUEANgIcDAILCyABQQE2AhwLIAEoAhwhAiABQSBqJAAgAgwBCwJ/IAAoAiwoAogBQQNGBEAgACgCLCECIAAoAjQhAyMAQTBrIgEkACABIAI2AiggASADNgIkAkADQAJAIAEoAigoAnRBggJNBEAgASgCKBBcAkAgASgCKCgCdEGCAksNACABKAIkDQAgAUEANgIsDAQLIAEoAigoAnRFDQELIAEoAihBADYCYAJAIAEoAigoAnRBA0kNACABKAIoKAJsRQ0AIAEgASgCKCgCOCABKAIoKAJsakEBazYCGCABIAEoAhgtAAA2AhwgASgCHCECIAEgASgCGCIDQQFqNgIYAkAgAy0AASACRw0AIAEoAhwhAiABIAEoAhgiA0EBajYCGCADLQABIAJHDQAgASgCHCECIAEgASgCGCIDQQFqNgIYIAMtAAEgAkcNACABIAEoAigoAjggASgCKCgCbGpBggJqNgIUA0AgASgCHCECIAEgASgCGCIDQQFqNgIYAn9BACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABogASgCHCECIAEgASgCGCIDQQFqNgIYQQAgAy0AASACRw0AGiABKAIcIQIgASABKAIYIgNBAWo2AhhBACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABogASgCHCECIAEgASgCGCIDQQFqNgIYQQAgAy0AASACRw0AGiABKAIcIQIgASABKAIYIgNBAWo2AhhBACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABog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AS8BEiECIAEgASgCSCIDQQFqNgJIIAMgAjoAAAwCCyABKAIMQRBxBEAgASABLwESNgIIIAEgASgCDEEPcTYCDCABKAIMBEAgASgCKCABKAIMSQRAIAEgASgCUCICQQFqNgJQIAEgASgCLCACLQAAIAEoAih0ajYCLCABIAEoAihBCGo2AigLIAEgASgCCCABKAIsQQEgASgCDHRBAWtxajYCCCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoCyABKAIoQQ9JBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABIAEoAlAiAkEBajYCUCABIAEoAiwgAi0AACABKAIodGo2AiwgASABKAIoQQhqNgIoCyABIAEoAiAgASgCLCABKAIYcUECdGooAQA2ARACQANAIAEgAS0AETYCDCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoIAEgAS0AEDYCDCABKAIMQRBxBEAgASABLwESNgIEIAEgASgCDEEPcTYCDCABKAIoIAEoAgxJBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABKAIoIAEoAgxJBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKAsLIAEgASgCBCABKAIsQQEgASgCDHRBAWtxajYCBCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoIAEgASgCSCABKAJEazYCDAJAIAEoAgQgASgCDEsEQCABIAEoAgQgASgCDGs2AgwgASgCDCABKAI4SwRAIAEoAlQoAsQ3BEAgASgCXEHdDDYCGCABKAJUQdH+ADYCBAwKCwsgASABKAIwNgIAAkAgASgCNEUEQCABIAEoAgAgASgCPCABKAIMa2o2AgAgASgCDCABKAIISQRAIAEgASgCCCABKAIMazYCCANAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIMQQFrIgI2AgwgAg0ACyABIAEoAkggASgCBGs2AgALDAELAkAgASgCNCABKAIMSQRAIAEgASgCACABKAI8IAEoAjRqIAEoAgxrajYCACABIAEoAgwgASgCNGs2AgwgASgCDCABKAIISQRAIAEgASgCCCABKAIMazYCCANAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIMQQFrIgI2AgwgAg0ACyABIAEoAjA2AgAgASgCNCABKAIISQRAIAEgASgCNDYCDCABIAEoAgggASgCDGs2AggDQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCDEEBayICNgIMIAINAAsgASABKAJIIAEoAgRrNgIACwsMAQsgASABKAIAIAEoAjQgASgCDGtqNgIAIAEoAgwgASgCCEkEQCABIAEoAgggASgCDGs2AggDQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCDEEBayICNgIMIAINAAsgASABKAJIIAEoAgRrNgIACwsLA0AgASgCCEECSwRAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIAIgJBAWo2AgAgAi0AACECIAEgASgCSCIDQQFqNgJIIAMgAjoAACABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCCEEDazYCCAwBCwsMAQsgASABKAJIIAEoAgRrNgIAA0AgASABKAIAIgJBAWo2AgAgAi0AACECIAEgASgCSCIDQQFqNgJIIAMgAjoAACABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIIQQNrNgIIIAEoAghBAksNAAsLIAEoAggEQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEoAghBAUsEQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAACwsMAgsgASgCDEHAAHFFBEAgASABKAIgIAEvARIgASgCLEEBIAEoAgx0QQFrcWpBAnRqKAEANgEQDAELCyAB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AG5hbgAvZGV2L3VyYW5kb20AaW52YWxpZCBjb2RlIC0tIG1pc3NpbmcgZW5kLW9mLWJsb2NrAGluY29ycmVjdCBoZWFkZXIgY2hlY2sAaW5jb3JyZWN0IGxlbmd0aCBjaGVjawBpbmNvcnJlY3QgZGF0YSBjaGVjawBpbnZhbGlkIGRpc3RhbmNlIHRvbyBmYXIgYmFjawBoZWFkZXIgY3JjIG1pc21hdGNoAGluZgBpbnZhbGlkIHdpbmRvdyBzaXplAFJlYWQtb25seSBhcmNoaXZlAE5vdCBhIHppcCBhcmNoaXZlAFJlc291cmNlIHN0aWxsIGluIHVzZQBNYWxsb2MgZmFpbHVyZQBpbnZhbGlkIGJsb2NrIHR5cGUARmFpbHVyZSB0byBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUAQ2FuJ3Qgb3BlbiBmaWxlAE5vIHN1Y2ggZmlsZQBQcmVtYXR1cmUgZW5kIG9mIGZpbGUAQ2FuJ3QgcmVtb3ZlIGZpbGUAaW52YWxpZCBsaXRlcmFsL2xlbmd0aCBjb2RlAGludmFsaWQgZGlzdGFuY2UgY29kZQB1bmtub3duIGNvbXByZXNzaW9uIG1ldGhvZABzdHJlYW0gZW5kAENvbXByZXNzZWQgZGF0YSBpbnZhbGlkAE11bHRpLWRpc2sgemlwIGFyY2hpdmVzIG5vdCBzdXBwb3J0ZWQAT3BlcmF0aW9uIG5vdCBzdXBwb3J0ZWQARW5jcnlwdGlvbiBtZXRob2Qgbm90IHN1cHBvcnRlZABDb21wcmVzc2lvbiBtZXRob2Qgbm90IHN1cHBvcnRlZABFbnRyeSBoYXMgYmVlbiBkZWxldGVkAENvbnRhaW5pbmcgemlwIGFyY2hpdmUgd2FzIGNsb3NlZABDbG9zaW5nIHppcCBhcmNoaXZlIGZhaWxlZABSZW5hbWluZyB0ZW1wb3JhcnkgZmlsZSBmYWlsZWQARW50cnkgaGFzIGJlZW4gY2hhbmdlZABObyBwYXNzd29yZCBwcm92aWRlZABXcm9uZyBwYXNzd29yZCBwcm92aWRlZABVbmtub3duIGVycm9yICVkAHJiAHIrYgByd2EAJXMuWFhYWFhYAE5BTgBJTkYAQUUAMS4yLjExAC9wcm9jL3NlbGYvZmQvAC4AKG51bGwpADogAFBLBgcA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0gAIADIACACyAAgAcgAIAPIACAAKAAgAigAIAEoACADKAAgAKgAIAKoACABqAAgA6gAIABoACACaAAgAWgAIANoACAA6AAgAugAIAHoACAD6AAgABgAIAIYACABGAAgAxgAIACYACACmAAgAZgAIAOYACAAWAAgAlgAIAFYACADWAAgANgAIALYACAB2AAgA9gAIAA4ACACOAAgATgAIAM4ACAAuAAgArgAIAG4ACADuAAgAHgAIAJ4ACABeAAgA3gAIAD4ACAC+AAgAfgAIAP4ACAABAAgAgQAIAEEACADBAAgAIQAIAKEACABhAAgA4QAIABEACACRAAgAUQAIANEACAAxAAgAsQAIAHEACADxAAgACQAIAIkACABJAAgAyQAIACkACACpAAgAaQAIAOkACAAZAAgAmQAIAFkACADZAAgAOQAIALkACAB5AAgA+QAIAAUACACFAAgARQAIAMUACAAlAAgApQAIAGUACADlAAgAFQAIAJUACABVAAgA1QAIADUACAC1AAgAdQAIAPUACAANAAgAjQAIAE0ACADNAAgALQAIAK0ACABtAAgA7QAIAB0ACACdAAgAXQAIAN0ACAA9AAgAvQAIAH0ACAD9AAgAEwAJABMBCQCTAAkAkwEJAFMACQBTAQkA0wAJANMBCQAzAAkAMwEJALMACQCzAQkAcwAJAHMBCQDzAAkA8wEJAAsACQALAQkAiwAJAIsBCQBLAAkASwEJAMsACQDLAQkAKwAJACsBCQCrAAkAqwEJAGsACQBrAQkA6wAJAOsBCQAbAAkAGwEJAJsACQCbAQkAWwAJAFsBCQDbAAkA2wEJADsACQA7AQkAuwAJALsBCQB7AAkAewEJAPsACQD7AQkABwAJAAcBCQCHAAkAhwEJAEcACQBHAQkAxwAJAMcBCQAnAAkAJwEJAKcACQCnAQkAZwAJAGcBCQDnAAkA5wEJABcACQAXAQkAlwAJAJcBCQBXAAkAVwEJANcACQDXAQkANwAJADcBCQC3AAkAtwEJAHcACQB3AQkA9wAJAPcBCQAPAAkADwEJAI8ACQCPAQkATwAJAE8BCQDPAAkAzwEJAC8ACQAvAQkArwAJAK8BCQBvAAkAbwEJAO8ACQDvAQkAHwAJAB8BCQCfAAkAnwEJAF8ACQBfAQkA3wAJAN8BCQA/AAkAPwEJAL8ACQC/AQkAfwAJAH8BCQD/AAkA/wEJAAAABwBAAAcAIAAHAGAABwAQAAcAUAAHADAABwBwAAcACAAHAEgABwAoAAcAaAAHABgABwBYAAcAOAAHAHgABwAEAAcARAAHACQABwBkAAcAFAAHAFQABwA0AAcAdAAHAAMACACDAAgAQwAIAMMACAAjAAgAowAIAGMACADjAAgAAAAFABAABQAIAAUAGAAFAAQABQAUAAUADAAFABwABQACAAUAEgAFAAoABQAaAAUABgAFABYABQAOAAUAHgAFAAEABQARAAUACQAFABkABQAFAAUAFQAFAA0ABQAdAAUAAwAFABMABQALAAUAGwAFAAcABQAXAAUAQbDqAAtNAQAAAAEAAAABAAAAAQAAAAIAAAACAAAAAgAAAAIAAAADAAAAAwAAAAMAAAADAAAABAAAAAQAAAAEAAAABAAAAAUAAAAFAAAABQAAAAUAQaDrAAtlAQAAAAEAAAACAAAAAgAAAAMAAAADAAAABAAAAAQAAAAFAAAABQAAAAYAAAAGAAAABwAAAAcAAAAIAAAACAAAAAkAAAAJAAAACgAAAAoAAAALAAAACwAAAAwAAAAMAAAADQAAAA0AQdDsAAsjAgAAAAMAAAAHAAAAAAAAABAREgAIBwkGCgULBAwDDQIOAQ8AQYTtAAtpAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAKAAAADAAAAA4AAAAQAAAAFAAAABgAAAAcAAAAIAAAACgAAAAwAAAAOAAAAEAAAABQAAAAYAAAAHAAAACAAAAAoAAAAMAAAADgAEGE7gALegEAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAAABAACAAQAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAMS4yLjExAEGI7wALbQcAAAAEAAQACAAEAAgAAAAEAAUAEAAIAAgAAAAEAAYAIAAgAAgAAAAEAAQAEAAQAAkAAAAIABAAIAAgAAkAAAAIABAAgACAAAkAAAAIACAAgAAAAQkAAAAgAIAAAgEABAkAAAAgAAIBAgEAEAkAQYDwAAulAgMABAAFAAYABwAIAAkACgALAA0ADwARABMAFwAbAB8AIwArADMAOwBDAFMAYwBzAIMAowDDAOMAAgEAAAAAAAAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABMAEwATABMAFAAUABQAFAAVABUAFQAVABAATQDKAAAAAQACAAMABAAFAAcACQANABEAGQAhADEAQQBhAIEAwQABAYEBAQIBAwEEAQYBCAEMARABGAEgATABQAFgAAAAABAAEAAQABAAEQARABIAEgATABMAFAAUABUAFQAWABYAFwAXABgAGAAZABkAGgAaABsAGwAcABwAHQAdAEAAQAAQABEAEgAAAAgABwAJAAYACgAFAAsABAAMAAMADQACAA4AAQAPAEGw8gALwRFgBwAAAAhQAAAIEAAUCHMAEgcfAAAIcAAACDAAAAnAABAHCgAACGAAAAggAAAJoAAACAAAAAiAAAAIQAAACeAAEAcGAAAIWAAACBgAAAmQABMHOwAACHgAAAg4AAAJ0AARBxEAAAhoAAAIKAAACbAAAAgIAAAIiAAACEgAAAnwABAHBAAACFQAAAgUABUI4wATBysAAAh0AAAINAAACcgAEQcNAAAIZAAACCQAAAmoAAAIBAAACIQAAAhEAAAJ6AAQBwgAAAhcAAAIHAAACZgAFAdTAAAIfAAACDwAAAnYABIHFwAACGwAAAgsAAAJuAAACAwAAAiMAAAITAAACfgAEAcDAAAIUgAACBIAFQijABMHIwAACHIAAAgyAAAJxAARBwsAAAhiAAAIIgAACaQAAAgCAAAIggAACEIAAAnkABAHBwAACFoAAAgaAAAJlAAUB0MAAAh6AAAIOgAACdQAEgcTAAAIagAACCoAAAm0AAAICgAACIoAAAhKAAAJ9AAQBwUAAAhWAAAIFgBACAAAEwczAAAIdgAACDYAAAnMABEHDwAACGYAAAgmAAAJrAAACAYAAAiGAAAIRgAACewAEAcJAAAIXgAACB4AAAmcABQHYwAACH4AAAg+AAAJ3AASBxsAAAhuAAAILgAACbwAAAgOAAAIjgAACE4AAAn8AGAHAAAACFEAAAgRABUIgwASBx8AAAhxAAAIMQAACcIAEAcKAAAIYQAACCEAAAmiAAAIAQAACIEAAAhBAAAJ4gAQBwYAAAhZAAAIGQAACZIAEwc7AAAIeQAACDkAAAnSABEHEQAACGkAAAgpAAAJsgAACAkAAAiJAAAISQAACfIAEAcEAAAIVQAACBUAEAgCARMHKwAACHUAAAg1AAAJygARBw0AAAhlAAAIJQAACaoAAAgFAAAIhQAACEUAAAnqABAHCAAACF0AAAgdAAAJmgAUB1MAAAh9AAAIPQAACdoAEgcXAAAIbQAACC0AAAm6AAAIDQAACI0AAAhNAAAJ+gAQBwMAAAhTAAAIEwAVCMMAEwcjAAAIcwAACDMAAAnGABEHCwAACGMAAAgjAAAJpgAACAMAAAiDAAAIQwAACeYAEAcHAAAIWwAACBsAAAmWABQHQwAACHsAAAg7AAAJ1gASBxMAAAhrAAAIKwAACbYAAAgLAAAIiwAACEsAAAn2ABAHBQAACFcAAAgXAEAIAAATBzMAAAh3AAAINwAACc4AEQcPAAAIZwAACCcAAAmuAAAIBwAACIcAAAhHAAAJ7gAQBwkAAAhfAAAIHwAACZ4AFAdjAAAIfwAACD8AAAneABIHGwAACG8AAAgvAAAJvgAACA8AAAiPAAAITwAACf4AYAcAAAAIUAAACBAAFAhzABIHHwAACHAAAAgwAAAJwQAQBwoAAAhgAAAIIAAACaEAAAgAAAAIgAAACEAAAAnhABAHBgAACFgAAAgYAAAJkQATBzsAAAh4AAAIOAAACdEAEQcRAAAIaAAACCgAAAmxAAAICAAACIgAAAhIAAAJ8QAQBwQAAAhUAAAIFAAVCOMAEwcrAAAIdAAACDQAAAnJABEHDQAACGQAAAgkAAAJqQAACAQAAAiEAAAIRAAACekAEAcIAAAIXAAACBwAAAmZABQHUwAACHwAAAg8AAAJ2QASBxcAAAhsAAAILAAACbkAAAgMAAAIjAAACEwAAAn5ABAHAwAACFIAAAgSABUIowATByMAAAhyAAAIMgAACcUAEQcLAAAIYgAACCIAAAmlAAAIAgAACIIAAAhCAAAJ5QAQBwcAAAhaAAAIGgAACZUAFAdDAAAIegAACDoAAAnVABIHEwAACGoAAAgqAAAJtQAACAoAAAiKAAAISgAACfUAEAcFAAAIVgAACBYAQAgAABMHMwAACHYAAAg2AAAJzQARBw8AAAhmAAAIJgAACa0AAAgGAAAIhgAACEYAAAntABAHCQAACF4AAAgeAAAJnQAUB2MAAAh+AAAIPgAACd0AEgcbAAAIbgAACC4AAAm9AAAIDgAACI4AAAhOAAAJ/QBgBwAAAAhRAAAIEQAVCIMAEgcfAAAIcQAACDEAAAnDABAHCgAACGEAAAghAAAJowAACAEAAAiBAAAIQQAACeMAEAcGAAAIWQAACBkAAAmTABMHOwAACHkAAAg5AAAJ0wARBxEAAAhpAAAIKQAACbMAAAgJAAAIiQAACEkAAAnzABAHBAAACFUAAAgVABAIAgETBysAAAh1AAAINQAACcsAEQcNAAAIZQAACCUAAAmrAAAIBQAACIUAAAhFAAAJ6wAQBwgAAAhdAAAIHQAACZsAFAdTAAAIfQAACD0AAAnbABIHFwAACG0AAAgtAAAJuwAACA0AAAiNAAAITQAACfsAEAcDAAAIUwAACBMAFQjDABMHIwAACHMAAAgzAAAJxwARBwsAAAhjAAAIIwAACacAAAgDAAAIgwAACEMAAAnnABAHBwAACFsAAAgbAAAJlwAUB0MAAAh7AAAIOwAACdcAEgcTAAAIawAACCsAAAm3AAAICwAACIsAAAhLAAAJ9wAQBwUAAAhXAAAIFwBACAAAEwczAAAIdwAACDcAAAnPABEHDwAACGcAAAgnAAAJrwAACAcAAAiHAAAIRwAACe8AEAcJAAAIXwAACB8AAAmfABQHYwAACH8AAAg/AAAJ3wASBxsAAAhvAAAILwAACb8AAAgPAAAIjwAACE8AAAn/ABAFAQAXBQEBEwURABsFARARBQUAGQUBBBUFQQAdBQFAEAUDABgFAQIUBSEAHAUBIBIFCQAaBQEIFgWBAEAFAAAQBQIAFwWBARMFGQAbBQEYEQUHABkFAQYVBWEAHQUBYBAFBAAYBQEDFAUxABwFATASBQ0AGgUBDBYFwQBABQAAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAEACQsLAAAJBgsAAAsABhEAAAAREREAQYGEAQshCwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAEG7hAELAQwAQceEAQsVDAAAAAAMAAAAAAkMAAAAAAAMAAAMAEH1hAELAQ4AQYGFAQsVDQAAAAQNAAAAAAkOAAAAAAAOAAAOAEGvhQELARAAQbuFAQseDwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAEHyhQELDhIAAAASEhIAAAAAAAAJAEGjhgELAQsAQa+GAQsVCgAAAAAKAAAAAAkLAAAAAAALAAALAEHdhgELAQwAQemGAQsnDAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGAEG0hwELARkAQduHAQsF//////8AQaCIAQtXGRJEOwI/LEcUPTMwChsGRktFNw9JDo4XA0AdPGkrNh9KLRwBICUpIQgMFRYiLhA4Pgs0MRhkdHV2L0EJfzkRI0MyQomKiwUEJignDSoeNYwHGkiTE5SVAEGAiQELig5JbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgBBkJcBC1JQUFAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAAAEAAAAIAAAAlEsAALRLAEGQmQELAgxQAEHImQELCR8AAADkTAAAAwBB5JkBC4wBLfRRWM+MscBG9rXLKTEDxwRbcDC0Xf0geH+LmthZKVBoSImrp1YDbP+3zYg/1He0K6WjcPG65Kj8QYP92W/hinovLXSWBx8NCV4Ddixw90ClLKdvV0GoqnTfoFhkA0rHxDxTrq9fGAQVseNtKIarDKS/Q/DpUIE5VxZSN/////////////////////8=";tg(po)||(po=h(po));function rg(d){try{if(d==po&&V)return new Uint8Array(V);var E=ca(d);if(E)return E;if(C)return C(d);throw"sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)"}catch(I){wr(I)}}function gp(d,E){var I,k,T;try{T=rg(d),k=new WebAssembly.Module(T),I=new WebAssembly.Instance(k,E)}catch(te){var _=te.toString();throw D("failed to compile wasm module: "+_),(_.includes("imported Memory")||_.includes("memory import"))&&D("Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time)."),te}return[I,k]}function fp(){var d={a:ua};function E(T,_){var te=T.exports;t.asm=te,A=t.asm.u,Or(A.buffer),gi=t.asm.pa,aA(t.asm.v),cA("wasm-instantiate")}if(lA("wasm-instantiate"),t.instantiateWasm)try{var I=t.instantiateWasm(d,E);return I}catch(T){return D("Module.instantiateWasm callback failed with error: "+T),!1}var k=gp(po,d);return E(k[0]),t.asm}var vr,se;function Co(d){for(;d.length>0;){var E=d.shift();if(typeof E=="function"){E(t);continue}var I=E.func;typeof I=="number"?E.arg===void 0?gi.get(I)():gi.get(I)(E.arg):I(E.arg===void 0?null:E.arg)}}function Dn(d,E){var I=new Date(de[d>>2]*1e3);de[E>>2]=I.getUTCSeconds(),de[E+4>>2]=I.getUTCMinutes(),de[E+8>>2]=I.getUTCHours(),de[E+12>>2]=I.getUTCDate(),de[E+16>>2]=I.getUTCMonth(),de[E+20>>2]=I.getUTCFullYear()-1900,de[E+24>>2]=I.getUTCDay(),de[E+36>>2]=0,de[E+32>>2]=0;var k=Date.UTC(I.getUTCFullYear(),0,1,0,0,0,0),T=(I.getTime()-k)/(1e3*60*60*24)|0;return de[E+28>>2]=T,Dn.GMTString||(Dn.GMTString=we("GMT")),de[E+40>>2]=Dn.GMTString,E}function ig(d,E){return Dn(d,E)}var Qt={splitPath:function(d){var E=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return E.exec(d).slice(1)},normalizeArray:function(d,E){for(var I=0,k=d.length-1;k>=0;k--){var T=d[k];T==="."?d.splice(k,1):T===".."?(d.splice(k,1),I++):I&&(d.splice(k,1),I--)}if(E)for(;I;I--)d.unshift("..");return d},normalize:function(d){var E=d.charAt(0)==="/",I=d.substr(-1)==="/";return d=Qt.normalizeArray(d.split("/").filter(function(k){return!!k}),!E).join("/"),!d&&!E&&(d="."),d&&I&&(d+="/"),(E?"/":"")+d},dirname:function(d){var E=Qt.splitPath(d),I=E[0],k=E[1];return!I&&!k?".":(k&&(k=k.substr(0,k.length-1)),I+k)},basename:function(d){if(d==="/")return"/";d=Qt.normalize(d),d=d.replace(/\/$/,"");var E=d.lastIndexOf("/");return E===-1?d:d.substr(E+1)},extname:function(d){return Qt.splitPath(d)[3]},join:function(){var d=Array.prototype.slice.call(arguments,0);return Qt.normalize(d.join("/"))},join2:function(d,E){return Qt.normalize(d+"/"+E)}};function Bl(){if(typeof crypto=="object"&&typeof crypto.getRandomValues=="function"){var d=new Uint8Array(1);return function(){return crypto.getRandomValues(d),d[0]}}else if(g)try{var E=J("crypto");return function(){return E.randomBytes(1)[0]}}catch{}return function(){wr("randomDevice")}}var kn={resolve:function(){for(var d="",E=!1,I=arguments.length-1;I>=-1&&!E;I--){var k=I>=0?arguments[I]:S.cwd();if(typeof k!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!k)return"";d=k+"/"+d,E=k.charAt(0)==="/"}return d=Qt.normalizeArray(d.split("/").filter(function(T){return!!T}),!E).join("/"),(E?"/":"")+d||"."},relative:function(d,E){d=kn.resolve(d).substr(1),E=kn.resolve(E).substr(1);function I(Je){for(var nt=0;nt=0&&Je[wt]==="";wt--);return nt>wt?[]:Je.slice(nt,wt-nt+1)}for(var k=I(d.split("/")),T=I(E.split("/")),_=Math.min(k.length,T.length),te=_,Be=0;Be<_;Be++)if(k[Be]!==T[Be]){te=Be;break}for(var me=[],Be=te;Be0?E=k.slice(0,T).toString("utf-8"):E=null}else typeof window<"u"&&typeof window.prompt=="function"?(E=window.prompt("Input: "),E!==null&&(E+=` +`)}`}}};Yt.RequestError=ei;var rB=class extends ei{constructor(e){super(`Redirected ${e.options.maxRedirects} times. Aborting.`,{},e),this.name="MaxRedirectsError"}};Yt.MaxRedirectsError=rB;var iB=class extends ei{constructor(e){super(`Response code ${e.statusCode} (${e.statusMessage})`,{},e.request),this.name="HTTPError"}};Yt.HTTPError=iB;var nB=class extends ei{constructor(e,t){super(e.message,e,t),this.name="CacheError"}};Yt.CacheError=nB;var sB=class extends ei{constructor(e,t){super(e.message,e,t),this.name="UploadError"}};Yt.UploadError=sB;var oB=class extends ei{constructor(e,t,i){super(e.message,e,i),this.name="TimeoutError",this.event=e.event,this.timings=t}};Yt.TimeoutError=oB;var wC=class extends ei{constructor(e,t){super(e.message,e,t),this.name="ReadError"}};Yt.ReadError=wC;var aB=class extends ei{constructor(e){super(`Unsupported protocol "${e.url.protocol}"`,{},e),this.name="UnsupportedProtocolError"}};Yt.UnsupportedProtocolError=aB;var hDe=["socket","connect","continue","information","upgrade","timeout"],AB=class extends s6.Duplex{constructor(e,t={},i){super({autoDestroy:!1,highWaterMark:0}),this[Uf]=0,this[Gf]=0,this.requestInitialized=!1,this[$w]=new Set,this.redirects=[],this[Yf]=!1,this[eB]=!1,this[yC]=[],this.retryCount=0,this._progressCallbacks=[];let n=()=>this._unlockWrite(),s=()=>this._lockWrite();this.on("pipe",c=>{c.prependListener("data",n),c.on("data",s),c.prependListener("end",n),c.on("end",s)}),this.on("unpipe",c=>{c.off("data",n),c.off("data",s),c.off("end",n),c.off("end",s)}),this.on("pipe",c=>{c instanceof hR.IncomingMessage&&(this.options.headers={...c.headers,...this.options.headers})});let{json:o,body:a,form:l}=t;if((o||a||l)&&this._lockWrite(),Yt.kIsNormalizedAlready in t)this.options=t;else try{this.options=this.constructor.normalizeArguments(e,t,i)}catch(c){Ee.default.nodeStream(t.body)&&t.body.destroy(),this.destroy(c);return}(async()=>{var c;try{this.options.body instanceof WPe.ReadStream&&await uDe(this.options.body);let{url:u}=this.options;if(!u)throw new TypeError("Missing `url` property");if(this.requestUrl=u.toString(),decodeURI(this.requestUrl),await this._finalizeBody(),await this._makeRequest(),this.destroyed){(c=this[Pi])===null||c===void 0||c.destroy();return}for(let g of this[yC])g();this[yC].length=0,this.requestInitialized=!0}catch(u){if(u instanceof ei){this._beforeError(u);return}this.destroyed||this.destroy(u)}})()}static normalizeArguments(e,t,i){var n,s,o,a,l;let c=t;if(Ee.default.object(e)&&!Ee.default.urlInstance(e))t={...i,...e,...t};else{if(e&&t&&t.url!==void 0)throw new TypeError("The `url` option is mutually exclusive with the `input` argument");t={...i,...t},e!==void 0&&(t.url=e),Ee.default.urlInstance(t.url)&&(t.url=new zA.URL(t.url.toString()))}if(t.cache===!1&&(t.cache=void 0),t.dnsCache===!1&&(t.dnsCache=void 0),Ee.assert.any([Ee.default.string,Ee.default.undefined],t.method),Ee.assert.any([Ee.default.object,Ee.default.undefined],t.headers),Ee.assert.any([Ee.default.string,Ee.default.urlInstance,Ee.default.undefined],t.prefixUrl),Ee.assert.any([Ee.default.object,Ee.default.undefined],t.cookieJar),Ee.assert.any([Ee.default.object,Ee.default.string,Ee.default.undefined],t.searchParams),Ee.assert.any([Ee.default.object,Ee.default.string,Ee.default.undefined],t.cache),Ee.assert.any([Ee.default.object,Ee.default.number,Ee.default.undefined],t.timeout),Ee.assert.any([Ee.default.object,Ee.default.undefined],t.context),Ee.assert.any([Ee.default.object,Ee.default.undefined],t.hooks),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.decompress),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.ignoreInvalidCookies),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.followRedirect),Ee.assert.any([Ee.default.number,Ee.default.undefined],t.maxRedirects),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.throwHttpErrors),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.http2),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.allowGetBody),Ee.assert.any([Ee.default.string,Ee.default.undefined],t.localAddress),Ee.assert.any([u6.isDnsLookupIpVersion,Ee.default.undefined],t.dnsLookupIpVersion),Ee.assert.any([Ee.default.object,Ee.default.undefined],t.https),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.rejectUnauthorized),t.https&&(Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.https.rejectUnauthorized),Ee.assert.any([Ee.default.function_,Ee.default.undefined],t.https.checkServerIdentity),Ee.assert.any([Ee.default.string,Ee.default.object,Ee.default.array,Ee.default.undefined],t.https.certificateAuthority),Ee.assert.any([Ee.default.string,Ee.default.object,Ee.default.array,Ee.default.undefined],t.https.key),Ee.assert.any([Ee.default.string,Ee.default.object,Ee.default.array,Ee.default.undefined],t.https.certificate),Ee.assert.any([Ee.default.string,Ee.default.undefined],t.https.passphrase),Ee.assert.any([Ee.default.string,Ee.default.buffer,Ee.default.array,Ee.default.undefined],t.https.pfx)),Ee.assert.any([Ee.default.object,Ee.default.undefined],t.cacheOptions),Ee.default.string(t.method)?t.method=t.method.toUpperCase():t.method="GET",t.headers===(i==null?void 0:i.headers)?t.headers={...t.headers}:t.headers=$Pe({...i==null?void 0:i.headers,...t.headers}),"slashes"in t)throw new TypeError("The legacy `url.Url` has been deprecated. Use `URL` instead.");if("auth"in t)throw new TypeError("Parameter `auth` is deprecated. Use `username` / `password` instead.");if("searchParams"in t&&t.searchParams&&t.searchParams!==(i==null?void 0:i.searchParams)){let h;if(Ee.default.string(t.searchParams)||t.searchParams instanceof zA.URLSearchParams)h=new zA.URLSearchParams(t.searchParams);else{lDe(t.searchParams),h=new zA.URLSearchParams;for(let p in t.searchParams){let C=t.searchParams[p];C===null?h.append(p,""):C!==void 0&&h.append(p,C)}}(n=i==null?void 0:i.searchParams)===null||n===void 0||n.forEach((p,C)=>{h.has(C)||h.append(C,p)}),t.searchParams=h}if(t.username=(s=t.username)!==null&&s!==void 0?s:"",t.password=(o=t.password)!==null&&o!==void 0?o:"",Ee.default.undefined(t.prefixUrl)?t.prefixUrl=(a=i==null?void 0:i.prefixUrl)!==null&&a!==void 0?a:"":(t.prefixUrl=t.prefixUrl.toString(),t.prefixUrl!==""&&!t.prefixUrl.endsWith("/")&&(t.prefixUrl+="/")),Ee.default.string(t.url)){if(t.url.startsWith("/"))throw new Error("`input` must not start with a slash when using `prefixUrl`");t.url=c6.default(t.prefixUrl+t.url,t)}else(Ee.default.undefined(t.url)&&t.prefixUrl!==""||t.protocol)&&(t.url=c6.default(t.prefixUrl,t));if(t.url){"port"in t&&delete t.port;let{prefixUrl:h}=t;Object.defineProperty(t,"prefixUrl",{set:C=>{let y=t.url;if(!y.href.startsWith(C))throw new Error(`Cannot change \`prefixUrl\` from ${h} to ${C}: ${y.href}`);t.url=new zA.URL(C+y.href.slice(h.length)),h=C},get:()=>h});let{protocol:p}=t.url;if(p==="unix:"&&(p="http:",t.url=new zA.URL(`http://unix${t.url.pathname}${t.url.search}`)),t.searchParams&&(t.url.search=t.searchParams.toString()),p!=="http:"&&p!=="https:")throw new aB(t);t.username===""?t.username=t.url.username:t.url.username=t.username,t.password===""?t.password=t.url.password:t.url.password=t.password}let{cookieJar:u}=t;if(u){let{setCookie:h,getCookieString:p}=u;Ee.assert.function_(h),Ee.assert.function_(p),h.length===4&&p.length===0&&(h=n6.promisify(h.bind(t.cookieJar)),p=n6.promisify(p.bind(t.cookieJar)),t.cookieJar={setCookie:h,getCookieString:p})}let{cache:g}=t;if(g&&(CR.has(g)||CR.set(g,new a6((h,p)=>{let C=h[Pi](h,p);return Ee.default.promise(C)&&(C.once=(y,B)=>{if(y==="error")C.catch(B);else if(y==="abort")(async()=>{try{(await C).once("abort",B)}catch{}})();else throw new Error(`Unknown HTTP2 promise event: ${y}`);return C}),C},g))),t.cacheOptions={...t.cacheOptions},t.dnsCache===!0)pR||(pR=new XPe.default),t.dnsCache=pR;else if(!Ee.default.undefined(t.dnsCache)&&!t.dnsCache.lookup)throw new TypeError(`Parameter \`dnsCache\` must be a CacheableLookup instance or a boolean, got ${Ee.default(t.dnsCache)}`);Ee.default.number(t.timeout)?t.timeout={request:t.timeout}:i&&t.timeout!==i.timeout?t.timeout={...i.timeout,...t.timeout}:t.timeout={...t.timeout},t.context||(t.context={});let f=t.hooks===(i==null?void 0:i.hooks);t.hooks={...t.hooks};for(let h of Yt.knownHookEvents)if(h in t.hooks)if(Ee.default.array(t.hooks[h]))t.hooks[h]=[...t.hooks[h]];else throw new TypeError(`Parameter \`${h}\` must be an Array, got ${Ee.default(t.hooks[h])}`);else t.hooks[h]=[];if(i&&!f)for(let h of Yt.knownHookEvents)i.hooks[h].length>0&&(t.hooks[h]=[...i.hooks[h],...t.hooks[h]]);if("family"in t&&VA.default('"options.family" was never documented, please use "options.dnsLookupIpVersion"'),i!=null&&i.https&&(t.https={...i.https,...t.https}),"rejectUnauthorized"in t&&VA.default('"options.rejectUnauthorized" is now deprecated, please use "options.https.rejectUnauthorized"'),"checkServerIdentity"in t&&VA.default('"options.checkServerIdentity" was never documented, please use "options.https.checkServerIdentity"'),"ca"in t&&VA.default('"options.ca" was never documented, please use "options.https.certificateAuthority"'),"key"in t&&VA.default('"options.key" was never documented, please use "options.https.key"'),"cert"in t&&VA.default('"options.cert" was never documented, please use "options.https.certificate"'),"passphrase"in t&&VA.default('"options.passphrase" was never documented, please use "options.https.passphrase"'),"pfx"in t&&VA.default('"options.pfx" was never documented, please use "options.https.pfx"'),"followRedirects"in t)throw new TypeError("The `followRedirects` option does not exist. Use `followRedirect` instead.");if(t.agent){for(let h in t.agent)if(h!=="http"&&h!=="https"&&h!=="http2")throw new TypeError(`Expected the \`options.agent\` properties to be \`http\`, \`https\` or \`http2\`, got \`${h}\``)}return t.maxRedirects=(l=t.maxRedirects)!==null&&l!==void 0?l:0,Yt.setNonEnumerableProperties([i,c],t),oDe.default(t,i)}_lockWrite(){let e=()=>{throw new TypeError("The payload has been already provided")};this.write=e,this.end=e}_unlockWrite(){this.write=super.write,this.end=super.end}async _finalizeBody(){let{options:e}=this,{headers:t}=e,i=!Ee.default.undefined(e.form),n=!Ee.default.undefined(e.json),s=!Ee.default.undefined(e.body),o=i||n||s,a=Yt.withoutBody.has(e.method)&&!(e.method==="GET"&&e.allowGetBody);if(this._cannotHaveBody=a,o){if(a)throw new TypeError(`The \`${e.method}\` method cannot be used with a body`);if([s,i,n].filter(l=>l).length>1)throw new TypeError("The `body`, `json` and `form` options are mutually exclusive");if(s&&!(e.body instanceof s6.Readable)&&!Ee.default.string(e.body)&&!Ee.default.buffer(e.body)&&!A6.default(e.body))throw new TypeError("The `body` option must be a stream.Readable, string or Buffer");if(i&&!Ee.default.object(e.form))throw new TypeError("The `form` option must be an Object");{let l=!Ee.default.string(t["content-type"]);s?(A6.default(e.body)&&l&&(t["content-type"]=`multipart/form-data; boundary=${e.body.getBoundary()}`),this[XA]=e.body):i?(l&&(t["content-type"]="application/x-www-form-urlencoded"),this[XA]=new zA.URLSearchParams(e.form).toString()):(l&&(t["content-type"]="application/json"),this[XA]=e.stringifyJson(e.json));let c=await eDe.default(this[XA],e.headers);Ee.default.undefined(t["content-length"])&&Ee.default.undefined(t["transfer-encoding"])&&!a&&!Ee.default.undefined(c)&&(t["content-length"]=String(c))}}else a?this._lockWrite():this._unlockWrite();this[Hf]=Number(t["content-length"])||void 0}async _onResponseBase(e){let{options:t}=this,{url:i}=t;this[p6]=e,t.decompress&&(e=ZPe(e));let n=e.statusCode,s=e;s.statusMessage=s.statusMessage?s.statusMessage:o6.STATUS_CODES[n],s.url=t.url.toString(),s.requestUrl=this.requestUrl,s.redirectUrls=this.redirects,s.request=this,s.isFromCache=e.fromCache||!1,s.ip=this.ip,s.retryCount=this.retryCount,this[f6]=s.isFromCache,this[Kf]=Number(e.headers["content-length"])||void 0,this[tB]=e,e.once("end",()=>{this[Kf]=this[Uf],this.emit("downloadProgress",this.downloadProgress)}),e.once("error",a=>{e.destroy(),this._beforeError(new wC(a,this))}),e.once("aborted",()=>{this._beforeError(new wC({name:"Error",message:"The server aborted pending request",code:"ECONNRESET"},this))}),this.emit("downloadProgress",this.downloadProgress);let o=e.headers["set-cookie"];if(Ee.default.object(t.cookieJar)&&o){let a=o.map(async l=>t.cookieJar.setCookie(l,i.toString()));t.ignoreInvalidCookies&&(a=a.map(async l=>l.catch(()=>{})));try{await Promise.all(a)}catch(l){this._beforeError(l);return}}if(t.followRedirect&&e.headers.location&&gDe.has(n)){if(e.resume(),this[Pi]&&(this[dR](),delete this[Pi],this[g6]()),(n===303&&t.method!=="GET"&&t.method!=="HEAD"||!t.methodRewriting)&&(t.method="GET","body"in t&&delete t.body,"json"in t&&delete t.json,"form"in t&&delete t.form,this[XA]=void 0,delete t.headers["content-length"]),this.redirects.length>=t.maxRedirects){this._beforeError(new rB(this));return}try{let l=Buffer.from(e.headers.location,"binary").toString(),c=new zA.URL(l,i),u=c.toString();decodeURI(u),c.hostname!==i.hostname||c.port!==i.port?("host"in t.headers&&delete t.headers.host,"cookie"in t.headers&&delete t.headers.cookie,"authorization"in t.headers&&delete t.headers.authorization,(t.username||t.password)&&(t.username="",t.password="")):(c.username=t.username,c.password=t.password),this.redirects.push(u),t.url=c;for(let g of t.hooks.beforeRedirect)await g(t,s);this.emit("redirect",s,t),await this._makeRequest()}catch(l){this._beforeError(l);return}return}if(t.isStream&&t.throwHttpErrors&&!sDe.isResponseOk(s)){this._beforeError(new iB(s));return}e.on("readable",()=>{this[eB]&&this._read()}),this.on("resume",()=>{e.resume()}),this.on("pause",()=>{e.pause()}),e.once("end",()=>{this.push(null)}),this.emit("response",e);for(let a of this[$w])if(!a.headersSent){for(let l in e.headers){let c=t.decompress?l!=="content-encoding":!0,u=e.headers[l];c&&a.setHeader(l,u)}a.statusCode=n}}async _onResponse(e){try{await this._onResponseBase(e)}catch(t){this._beforeError(t)}}_onRequest(e){let{options:t}=this,{timeout:i,url:n}=t;VPe.default(e),this[dR]=l6.default(e,i,n);let s=t.cache?"cacheableResponse":"response";e.once(s,l=>{this._onResponse(l)}),e.once("error",l=>{var c;e.destroy(),(c=e.res)===null||c===void 0||c.removeAllListeners("end"),l=l instanceof l6.TimeoutError?new oB(l,this.timings,this):new ei(l.message,l,this),this._beforeError(l)}),this[g6]=tDe.default(e,this,hDe),this[Pi]=e,this.emit("uploadProgress",this.uploadProgress);let o=this[XA],a=this.redirects.length===0?this:e;Ee.default.nodeStream(o)?(o.pipe(a),o.once("error",l=>{this._beforeError(new sB(l,this))})):(this._unlockWrite(),Ee.default.undefined(o)?(this._cannotHaveBody||this._noPipe)&&(a.end(),this._lockWrite()):(this._writeRequest(o,void 0,()=>{}),a.end(),this._lockWrite())),this.emit("request",e)}async _createCacheableRequest(e,t){return new Promise((i,n)=>{Object.assign(t,rDe.default(e)),delete t.url;let s,o=CR.get(t.cache)(t,async a=>{a._readableState.autoDestroy=!1,s&&(await s).emit("cacheableResponse",a),i(a)});t.url=e,o.once("error",n),o.once("request",async a=>{s=a,i(s)})})}async _makeRequest(){var e,t,i,n,s;let{options:o}=this,{headers:a}=o;for(let B in a)if(Ee.default.undefined(a[B]))delete a[B];else if(Ee.default.null_(a[B]))throw new TypeError(`Use \`undefined\` instead of \`null\` to delete the \`${B}\` header`);if(o.decompress&&Ee.default.undefined(a["accept-encoding"])&&(a["accept-encoding"]=ADe?"gzip, deflate, br":"gzip, deflate"),o.cookieJar){let B=await o.cookieJar.getCookieString(o.url.toString());Ee.default.nonEmptyString(B)&&(o.headers.cookie=B)}for(let B of o.hooks.beforeRequest){let v=await B(o);if(!Ee.default.undefined(v)){o.request=()=>v;break}}o.body&&this[XA]!==o.body&&(this[XA]=o.body);let{agent:l,request:c,timeout:u,url:g}=o;if(o.dnsCache&&!("lookup"in o)&&(o.lookup=o.dnsCache.lookup),g.hostname==="unix"){let B=/(?.+?):(?.+)/.exec(`${g.pathname}${g.search}`);if(B!=null&&B.groups){let{socketPath:v,path:D}=B.groups;Object.assign(o,{socketPath:v,path:D,host:""})}}let f=g.protocol==="https:",h;o.http2?h=_Pe.auto:h=f?zPe.request:o6.request;let p=(e=o.request)!==null&&e!==void 0?e:h,C=o.cache?this._createCacheableRequest:p;l&&!o.http2&&(o.agent=l[f?"https":"http"]),o[Pi]=p,delete o.request,delete o.timeout;let y=o;if(y.shared=(t=o.cacheOptions)===null||t===void 0?void 0:t.shared,y.cacheHeuristic=(i=o.cacheOptions)===null||i===void 0?void 0:i.cacheHeuristic,y.immutableMinTimeToLive=(n=o.cacheOptions)===null||n===void 0?void 0:n.immutableMinTimeToLive,y.ignoreCargoCult=(s=o.cacheOptions)===null||s===void 0?void 0:s.ignoreCargoCult,o.dnsLookupIpVersion!==void 0)try{y.family=u6.dnsLookupIpVersionToFamily(o.dnsLookupIpVersion)}catch{throw new Error("Invalid `dnsLookupIpVersion` option value")}o.https&&("rejectUnauthorized"in o.https&&(y.rejectUnauthorized=o.https.rejectUnauthorized),o.https.checkServerIdentity&&(y.checkServerIdentity=o.https.checkServerIdentity),o.https.certificateAuthority&&(y.ca=o.https.certificateAuthority),o.https.certificate&&(y.cert=o.https.certificate),o.https.key&&(y.key=o.https.key),o.https.passphrase&&(y.passphrase=o.https.passphrase),o.https.pfx&&(y.pfx=o.https.pfx));try{let B=await C(g,y);Ee.default.undefined(B)&&(B=h(g,y)),o.request=c,o.timeout=u,o.agent=l,o.https&&("rejectUnauthorized"in o.https&&delete y.rejectUnauthorized,o.https.checkServerIdentity&&delete y.checkServerIdentity,o.https.certificateAuthority&&delete y.ca,o.https.certificate&&delete y.cert,o.https.key&&delete y.key,o.https.passphrase&&delete y.passphrase,o.https.pfx&&delete y.pfx),cDe(B)?this._onRequest(B):this.writable?(this.once("finish",()=>{this._onResponse(B)}),this._unlockWrite(),this.end(),this._lockWrite()):this._onResponse(B)}catch(B){throw B instanceof a6.CacheError?new nB(B,this):new ei(B.message,B,this)}}async _error(e){try{for(let t of this.options.hooks.beforeError)e=await t(e)}catch(t){e=new ei(t.message,t,this)}this.destroy(e)}_beforeError(e){if(this[Yf])return;let{options:t}=this,i=this.retryCount+1;this[Yf]=!0,e instanceof ei||(e=new ei(e.message,e,this));let n=e,{response:s}=n;(async()=>{if(s&&!s.body){s.setEncoding(this._readableState.encoding);try{s.rawBody=await nDe.default(s),s.body=s.rawBody.toString()}catch{}}if(this.listenerCount("retry")!==0){let o;try{let a;s&&"retry-after"in s.headers&&(a=Number(s.headers["retry-after"]),Number.isNaN(a)?(a=Date.parse(s.headers["retry-after"])-Date.now(),a<=0&&(a=1)):a*=1e3),o=await t.retry.calculateDelay({attemptCount:i,retryOptions:t.retry,error:n,retryAfter:a,computedValue:aDe.default({attemptCount:i,retryOptions:t.retry,error:n,retryAfter:a,computedValue:0})})}catch(a){this._error(new ei(a.message,a,this));return}if(o){let a=async()=>{try{for(let l of this.options.hooks.beforeRetry)await l(this.options,n,i)}catch(l){this._error(new ei(l.message,e,this));return}this.destroyed||(this.destroy(),this.emit("retry",i,e))};this[d6]=setTimeout(a,o);return}}this._error(n)})()}_read(){this[eB]=!0;let e=this[tB];if(e&&!this[Yf]){e.readableLength&&(this[eB]=!1);let t;for(;(t=e.read())!==null;){this[Uf]+=t.length,this[h6]=!0;let i=this.downloadProgress;i.percent<1&&this.emit("downloadProgress",i),this.push(t)}}}_write(e,t,i){let n=()=>{this._writeRequest(e,t,i)};this.requestInitialized?n():this[yC].push(n)}_writeRequest(e,t,i){this[Pi].destroyed||(this._progressCallbacks.push(()=>{this[Gf]+=Buffer.byteLength(e,t);let n=this.uploadProgress;n.percent<1&&this.emit("uploadProgress",n)}),this[Pi].write(e,t,n=>{!n&&this._progressCallbacks.length>0&&this._progressCallbacks.shift()(),i(n)}))}_final(e){let t=()=>{for(;this._progressCallbacks.length!==0;)this._progressCallbacks.shift()();if(!(Pi in this)){e();return}if(this[Pi].destroyed){e();return}this[Pi].end(i=>{i||(this[Hf]=this[Gf],this.emit("uploadProgress",this.uploadProgress),this[Pi].emit("upload-complete")),e(i)})};this.requestInitialized?t():this[yC].push(t)}_destroy(e,t){var i;this[Yf]=!0,clearTimeout(this[d6]),Pi in this&&(this[dR](),!((i=this[tB])===null||i===void 0)&&i.complete||this[Pi].destroy()),e!==null&&!Ee.default.undefined(e)&&!(e instanceof ei)&&(e=new ei(e.message,e,this)),t(e)}get _isAboutToError(){return this[Yf]}get ip(){var e;return(e=this.socket)===null||e===void 0?void 0:e.remoteAddress}get aborted(){var e,t,i;return((t=(e=this[Pi])===null||e===void 0?void 0:e.destroyed)!==null&&t!==void 0?t:this.destroyed)&&!(!((i=this[p6])===null||i===void 0)&&i.complete)}get socket(){var e,t;return(t=(e=this[Pi])===null||e===void 0?void 0:e.socket)!==null&&t!==void 0?t:void 0}get downloadProgress(){let e;return this[Kf]?e=this[Uf]/this[Kf]:this[Kf]===this[Uf]?e=1:e=0,{percent:e,transferred:this[Uf],total:this[Kf]}}get uploadProgress(){let e;return this[Hf]?e=this[Gf]/this[Hf]:this[Hf]===this[Gf]?e=1:e=0,{percent:e,transferred:this[Gf],total:this[Hf]}}get timings(){var e;return(e=this[Pi])===null||e===void 0?void 0:e.timings}get isFromCache(){return this[f6]}pipe(e,t){if(this[h6])throw new Error("Failed to pipe. The response has been emitted already.");return e instanceof hR.ServerResponse&&this[$w].add(e),super.pipe(e,t)}unpipe(e){return e instanceof hR.ServerResponse&&this[$w].delete(e),super.unpipe(e),this}};Yt.default=AB});var QC=w(so=>{"use strict";var pDe=so&&so.__createBinding||(Object.create?function(r,e,t,i){i===void 0&&(i=t),Object.defineProperty(r,i,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,i){i===void 0&&(i=t),r[i]=e[t]}),dDe=so&&so.__exportStar||function(r,e){for(var t in r)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&pDe(e,r,t)};Object.defineProperty(so,"__esModule",{value:!0});so.CancelError=so.ParseError=void 0;var C6=BC(),mR=class extends C6.RequestError{constructor(e,t){let{options:i}=t.request;super(`${e.message} in "${i.url.toString()}"`,e,t.request),this.name="ParseError"}};so.ParseError=mR;var ER=class extends C6.RequestError{constructor(e){super("Promise was canceled",{},e),this.name="CancelError"}get isCanceled(){return!0}};so.CancelError=ER;dDe(BC(),so)});var E6=w(IR=>{"use strict";Object.defineProperty(IR,"__esModule",{value:!0});var m6=QC(),CDe=(r,e,t,i)=>{let{rawBody:n}=r;try{if(e==="text")return n.toString(i);if(e==="json")return n.length===0?"":t(n.toString());if(e==="buffer")return n;throw new m6.ParseError({message:`Unknown body type '${e}'`,name:"Error"},r)}catch(s){throw new m6.ParseError(s,r)}};IR.default=CDe});var yR=w(ZA=>{"use strict";var mDe=ZA&&ZA.__createBinding||(Object.create?function(r,e,t,i){i===void 0&&(i=t),Object.defineProperty(r,i,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,i){i===void 0&&(i=t),r[i]=e[t]}),EDe=ZA&&ZA.__exportStar||function(r,e){for(var t in r)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&mDe(e,r,t)};Object.defineProperty(ZA,"__esModule",{value:!0});var IDe=J("events"),yDe=Ha(),wDe=Ez(),lB=QC(),I6=E6(),y6=BC(),BDe=iR(),QDe=cR(),w6=uR(),bDe=["request","response","redirect","uploadProgress","downloadProgress"];function B6(r){let e,t,i=new IDe.EventEmitter,n=new wDe((o,a,l)=>{let c=u=>{let g=new y6.default(void 0,r);g.retryCount=u,g._noPipe=!0,l(()=>g.destroy()),l.shouldReject=!1,l(()=>a(new lB.CancelError(g))),e=g,g.once("response",async p=>{var C;if(p.retryCount=u,p.request.aborted)return;let y;try{y=await QDe.default(g),p.rawBody=y}catch{return}if(g._isAboutToError)return;let B=((C=p.headers["content-encoding"])!==null&&C!==void 0?C:"").toLowerCase(),v=["gzip","deflate","br"].includes(B),{options:D}=g;if(v&&!D.decompress)p.body=y;else try{p.body=I6.default(p,D.responseType,D.parseJson,D.encoding)}catch(L){if(p.body=y.toString(),w6.isResponseOk(p)){g._beforeError(L);return}}try{for(let[L,H]of D.hooks.afterResponse.entries())p=await H(p,async j=>{let $=y6.default.normalizeArguments(void 0,{...j,retry:{calculateDelay:()=>0},throwHttpErrors:!1,resolveBodyOnly:!1},D);$.hooks.afterResponse=$.hooks.afterResponse.slice(0,L);for(let W of $.hooks.beforeRetry)await W($);let V=B6($);return l(()=>{V.catch(()=>{}),V.cancel()}),V})}catch(L){g._beforeError(new lB.RequestError(L.message,L,g));return}if(!w6.isResponseOk(p)){g._beforeError(new lB.HTTPError(p));return}t=p,o(g.options.resolveBodyOnly?p.body:p)});let f=p=>{if(n.isCanceled)return;let{options:C}=g;if(p instanceof lB.HTTPError&&!C.throwHttpErrors){let{response:y}=p;o(g.options.resolveBodyOnly?y.body:y);return}a(p)};g.once("error",f);let h=g.options.body;g.once("retry",(p,C)=>{var y,B;if(h===((y=C.request)===null||y===void 0?void 0:y.options.body)&&yDe.default.nodeStream((B=C.request)===null||B===void 0?void 0:B.options.body)){f(C);return}c(p)}),BDe.default(g,i,bDe)};c(0)});n.on=(o,a)=>(i.on(o,a),n);let s=o=>{let a=(async()=>{await n;let{options:l}=t.request;return I6.default(t,o,l.parseJson,l.encoding)})();return Object.defineProperties(a,Object.getOwnPropertyDescriptors(n)),a};return n.json=()=>{let{headers:o}=e.options;return!e.writableFinished&&o.accept===void 0&&(o.accept="application/json"),s("json")},n.buffer=()=>s("buffer"),n.text=()=>s("text"),n}ZA.default=B6;EDe(QC(),ZA)});var Q6=w(wR=>{"use strict";Object.defineProperty(wR,"__esModule",{value:!0});var SDe=QC();function vDe(r,...e){let t=(async()=>{if(r instanceof SDe.RequestError)try{for(let n of e)if(n)for(let s of n)r=await s(r)}catch(n){r=n}throw r})(),i=()=>t;return t.json=i,t.text=i,t.buffer=i,t.on=i,t}wR.default=vDe});var v6=w(BR=>{"use strict";Object.defineProperty(BR,"__esModule",{value:!0});var b6=Ha();function S6(r){for(let e of Object.values(r))(b6.default.plainObject(e)||b6.default.array(e))&&S6(e);return Object.freeze(r)}BR.default=S6});var P6=w(x6=>{"use strict";Object.defineProperty(x6,"__esModule",{value:!0})});var QR=w(Bs=>{"use strict";var xDe=Bs&&Bs.__createBinding||(Object.create?function(r,e,t,i){i===void 0&&(i=t),Object.defineProperty(r,i,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,i){i===void 0&&(i=t),r[i]=e[t]}),PDe=Bs&&Bs.__exportStar||function(r,e){for(var t in r)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&xDe(e,r,t)};Object.defineProperty(Bs,"__esModule",{value:!0});Bs.defaultHandler=void 0;var D6=Ha(),ws=yR(),DDe=Q6(),uB=BC(),kDe=v6(),RDe={RequestError:ws.RequestError,CacheError:ws.CacheError,ReadError:ws.ReadError,HTTPError:ws.HTTPError,MaxRedirectsError:ws.MaxRedirectsError,TimeoutError:ws.TimeoutError,ParseError:ws.ParseError,CancelError:ws.CancelError,UnsupportedProtocolError:ws.UnsupportedProtocolError,UploadError:ws.UploadError},FDe=async r=>new Promise(e=>{setTimeout(e,r)}),{normalizeArguments:cB}=uB.default,k6=(...r)=>{let e;for(let t of r)e=cB(void 0,t,e);return e},NDe=r=>r.isStream?new uB.default(void 0,r):ws.default(r),LDe=r=>"defaults"in r&&"options"in r.defaults,TDe=["get","post","put","patch","head","delete"];Bs.defaultHandler=(r,e)=>e(r);var R6=(r,e)=>{if(r)for(let t of r)t(e)},F6=r=>{r._rawHandlers=r.handlers,r.handlers=r.handlers.map(i=>(n,s)=>{let o,a=i(n,l=>(o=s(l),o));if(a!==o&&!n.isStream&&o){let l=a,{then:c,catch:u,finally:g}=l;Object.setPrototypeOf(l,Object.getPrototypeOf(o)),Object.defineProperties(l,Object.getOwnPropertyDescriptors(o)),l.then=c,l.catch=u,l.finally=g}return a});let e=(i,n={},s)=>{var o,a;let l=0,c=u=>r.handlers[l++](u,l===r.handlers.length?NDe:c);if(D6.default.plainObject(i)){let u={...i,...n};uB.setNonEnumerableProperties([i,n],u),n=u,i=void 0}try{let u;try{R6(r.options.hooks.init,n),R6((o=n.hooks)===null||o===void 0?void 0:o.init,n)}catch(f){u=f}let g=cB(i,n,s!=null?s:r.options);if(g[uB.kIsNormalizedAlready]=!0,u)throw new ws.RequestError(u.message,u,g);return c(g)}catch(u){if(n.isStream)throw u;return DDe.default(u,r.options.hooks.beforeError,(a=n.hooks)===null||a===void 0?void 0:a.beforeError)}};e.extend=(...i)=>{let n=[r.options],s=[...r._rawHandlers],o;for(let a of i)LDe(a)?(n.push(a.defaults.options),s.push(...a.defaults._rawHandlers),o=a.defaults.mutableDefaults):(n.push(a),"handlers"in a&&s.push(...a.handlers),o=a.mutableDefaults);return s=s.filter(a=>a!==Bs.defaultHandler),s.length===0&&s.push(Bs.defaultHandler),F6({options:k6(...n),handlers:s,mutableDefaults:Boolean(o)})};let t=async function*(i,n){let s=cB(i,n,r.options);s.resolveBodyOnly=!1;let o=s.pagination;if(!D6.default.object(o))throw new TypeError("`options.pagination` must be implemented");let a=[],{countLimit:l}=o,c=0;for(;c{let s=[];for await(let o of t(i,n))s.push(o);return s},e.paginate.each=t,e.stream=(i,n)=>e(i,{...n,isStream:!0});for(let i of TDe)e[i]=(n,s)=>e(n,{...s,method:i}),e.stream[i]=(n,s)=>e(n,{...s,method:i,isStream:!0});return Object.assign(e,RDe),Object.defineProperty(e,"defaults",{value:r.mutableDefaults?r:kDe.default(r),writable:r.mutableDefaults,configurable:r.mutableDefaults,enumerable:!0}),e.mergeOptions=k6,e};Bs.default=F6;PDe(P6(),Bs)});var fB=w((Ga,gB)=>{"use strict";var ODe=Ga&&Ga.__createBinding||(Object.create?function(r,e,t,i){i===void 0&&(i=t),Object.defineProperty(r,i,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,i){i===void 0&&(i=t),r[i]=e[t]}),N6=Ga&&Ga.__exportStar||function(r,e){for(var t in r)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&ODe(e,r,t)};Object.defineProperty(Ga,"__esModule",{value:!0});var MDe=J("url"),L6=QR(),KDe={options:{method:"GET",retry:{limit:2,methods:["GET","PUT","HEAD","DELETE","OPTIONS","TRACE"],statusCodes:[408,413,429,500,502,503,504,521,522,524],errorCodes:["ETIMEDOUT","ECONNRESET","EADDRINUSE","ECONNREFUSED","EPIPE","ENOTFOUND","ENETUNREACH","EAI_AGAIN"],maxRetryAfter:void 0,calculateDelay:({computedValue:r})=>r},timeout:{},headers:{"user-agent":"got (https://github.com/sindresorhus/got)"},hooks:{init:[],beforeRequest:[],beforeRedirect:[],beforeRetry:[],beforeError:[],afterResponse:[]},cache:void 0,dnsCache:void 0,decompress:!0,throwHttpErrors:!0,followRedirect:!0,isStream:!1,responseType:"text",resolveBodyOnly:!1,maxRedirects:10,prefixUrl:"",methodRewriting:!0,ignoreInvalidCookies:!1,context:{},http2:!1,allowGetBody:!1,https:void 0,pagination:{transform:r=>r.request.options.responseType==="json"?r.body:JSON.parse(r.body),paginate:r=>{if(!Reflect.has(r.headers,"link"))return!1;let e=r.headers.link.split(","),t;for(let i of e){let n=i.split(";");if(n[1].includes("next")){t=n[0].trimStart().trim(),t=t.slice(1,-1);break}}return t?{url:new MDe.URL(t)}:!1},filter:()=>!0,shouldContinue:()=>!0,countLimit:1/0,backoff:0,requestLimit:1e4,stackAllItems:!0},parseJson:r=>JSON.parse(r),stringifyJson:r=>JSON.stringify(r),cacheOptions:{}},handlers:[L6.defaultHandler],mutableDefaults:!1},bR=L6.default(KDe);Ga.default=bR;gB.exports=bR;gB.exports.default=bR;gB.exports.__esModule=!0;N6(QR(),Ga);N6(yR(),Ga)});var K6=w(jf=>{"use strict";var Znt=J("net"),UDe=J("tls"),SR=J("http"),T6=J("https"),HDe=J("events"),_nt=J("assert"),GDe=J("util");jf.httpOverHttp=YDe;jf.httpsOverHttp=jDe;jf.httpOverHttps=qDe;jf.httpsOverHttps=JDe;function YDe(r){var e=new Ya(r);return e.request=SR.request,e}function jDe(r){var e=new Ya(r);return e.request=SR.request,e.createSocket=O6,e.defaultPort=443,e}function qDe(r){var e=new Ya(r);return e.request=T6.request,e}function JDe(r){var e=new Ya(r);return e.request=T6.request,e.createSocket=O6,e.defaultPort=443,e}function Ya(r){var e=this;e.options=r||{},e.proxyOptions=e.options.proxy||{},e.maxSockets=e.options.maxSockets||SR.Agent.defaultMaxSockets,e.requests=[],e.sockets=[],e.on("free",function(i,n,s,o){for(var a=M6(n,s,o),l=0,c=e.requests.length;l=this.maxSockets){s.requests.push(o);return}s.createSocket(o,function(a){a.on("free",l),a.on("close",c),a.on("agentRemove",c),e.onSocket(a);function l(){s.emit("free",a,o)}function c(u){s.removeSocket(a),a.removeListener("free",l),a.removeListener("close",c),a.removeListener("agentRemove",c)}})};Ya.prototype.createSocket=function(e,t){var i=this,n={};i.sockets.push(n);var s=vR({},i.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:!1,headers:{host:e.host+":"+e.port}});e.localAddress&&(s.localAddress=e.localAddress),s.proxyAuth&&(s.headers=s.headers||{},s.headers["Proxy-Authorization"]="Basic "+new Buffer(s.proxyAuth).toString("base64")),_A("making CONNECT request");var o=i.request(s);o.useChunkedEncodingByDefault=!1,o.once("response",a),o.once("upgrade",l),o.once("connect",c),o.once("error",u),o.end();function a(g){g.upgrade=!0}function l(g,f,h){process.nextTick(function(){c(g,f,h)})}function c(g,f,h){if(o.removeAllListeners(),f.removeAllListeners(),g.statusCode!==200){_A("tunneling socket could not be established, statusCode=%d",g.statusCode),f.destroy();var p=new Error("tunneling socket could not be established, statusCode="+g.statusCode);p.code="ECONNRESET",e.request.emit("error",p),i.removeSocket(n);return}if(h.length>0){_A("got illegal response body from proxy"),f.destroy();var p=new Error("got illegal response body from proxy");p.code="ECONNRESET",e.request.emit("error",p),i.removeSocket(n);return}return _A("tunneling connection has established"),i.sockets[i.sockets.indexOf(n)]=f,t(f)}function u(g){o.removeAllListeners(),_A(`tunneling socket could not be established, cause=%s +`,g.message,g.stack);var f=new Error("tunneling socket could not be established, cause="+g.message);f.code="ECONNRESET",e.request.emit("error",f),i.removeSocket(n)}};Ya.prototype.removeSocket=function(e){var t=this.sockets.indexOf(e);if(t!==-1){this.sockets.splice(t,1);var i=this.requests.shift();i&&this.createSocket(i,function(n){i.request.onSocket(n)})}};function O6(r,e){var t=this;Ya.prototype.createSocket.call(t,r,function(i){var n=r.request.getHeader("host"),s=vR({},t.options,{socket:i,servername:n?n.replace(/:.*$/,""):r.host}),o=UDe.connect(0,s);t.sockets[t.sockets.indexOf(i)]=o,e(o)})}function M6(r,e,t){return typeof r=="string"?{host:r,port:e,localAddress:t}:r}function vR(r){for(var e=1,t=arguments.length;e{U6.exports=K6()});var _6=w((dB,FR)=>{var Z6=Object.assign({},J("fs")),RR=function(){var r=typeof document<"u"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename<"u"&&(r=r||__filename),function(e){e=e||{};var t=typeof e<"u"?e:{},i,n;t.ready=new Promise(function(d,E){i=d,n=E});var s={},o;for(o in t)t.hasOwnProperty(o)&&(s[o]=t[o]);var a=[],l="./this.program",c=function(d,E){throw E},u=!1,g=!0,f="";function h(d){return t.locateFile?t.locateFile(d,f):f+d}var p,C,y,B;g&&(u?f=J("path").dirname(f)+"/":f=__dirname+"/",p=function(E,I){var k=pa(E);return k?I?k:k.toString():(y||(y=Z6),B||(B=J("path")),E=B.normalize(E),y.readFileSync(E,I?null:"utf8"))},C=function(E){var I=p(E,!0);return I.buffer||(I=new Uint8Array(I)),re(I.buffer),I},process.argv.length>1&&(l=process.argv[1].replace(/\\/g,"/")),a=process.argv.slice(2),c=function(d){process.exit(d)},t.inspect=function(){return"[Emscripten Module object]"});var v=t.print||console.log.bind(console),D=t.printErr||console.warn.bind(console);for(o in s)s.hasOwnProperty(o)&&(t[o]=s[o]);s=null,t.arguments&&(a=t.arguments),t.thisProgram&&(l=t.thisProgram),t.quit&&(c=t.quit);var L=16;function H(d,E){return E||(E=L),Math.ceil(d/E)*E}var j=0,$=function(d){j=d},V;t.wasmBinary&&(V=t.wasmBinary);var W=t.noExitRuntime||!0;typeof WebAssembly!="object"&&wr("no native wasm support detected");function _(d,E,I){switch(E=E||"i8",E.charAt(E.length-1)==="*"&&(E="i32"),E){case"i1":return ne[d>>0];case"i8":return ne[d>>0];case"i16":return pe[d>>1];case"i32":return de[d>>2];case"i64":return de[d>>2];case"float":return Pt[d>>2];case"double":return It[d>>3];default:wr("invalid type for getValue: "+E)}return null}var A,ae=!1,ge;function re(d,E){d||wr("Assertion failed: "+E)}function O(d){var E=t["_"+d];return re(E,"Cannot call unknown function "+d+", make sure it is exported"),E}function F(d,E,I,k,T){var Z={string:function(it){var Et=0;if(it!=null&&it!==0){var Qe=(it.length<<2)+1;Et=Q(Qe),oe(it,Et,Qe)}return Et},array:function(it){var Et=Q(it.length);return fe(it,Et),Et}};function te(it){return E==="string"?Fe(it):E==="boolean"?Boolean(it):it}var Be=O(d),me=[],Je=0;if(k)for(var nt=0;nt=k);)++T;if(T-E>16&&d.subarray&&he)return he.decode(d.subarray(E,T));for(var Z="";E>10,56320|Je&1023)}}return Z}function Fe(d,E){return d?ke(Y,d,E):""}function Ne(d,E,I,k){if(!(k>0))return 0;for(var T=I,Z=I+k-1,te=0;te=55296&&Be<=57343){var me=d.charCodeAt(++te);Be=65536+((Be&1023)<<10)|me&1023}if(Be<=127){if(I>=Z)break;E[I++]=Be}else if(Be<=2047){if(I+1>=Z)break;E[I++]=192|Be>>6,E[I++]=128|Be&63}else if(Be<=65535){if(I+2>=Z)break;E[I++]=224|Be>>12,E[I++]=128|Be>>6&63,E[I++]=128|Be&63}else{if(I+3>=Z)break;E[I++]=240|Be>>18,E[I++]=128|Be>>12&63,E[I++]=128|Be>>6&63,E[I++]=128|Be&63}}return E[I]=0,I-T}function oe(d,E,I){return Ne(d,Y,E,I)}function le(d){for(var E=0,I=0;I=55296&&k<=57343&&(k=65536+((k&1023)<<10)|d.charCodeAt(++I)&1023),k<=127?++E:k<=2047?E+=2:k<=65535?E+=3:E+=4}return E}function we(d){var E=le(d)+1,I=dt(E);return I&&Ne(d,ne,I,E),I}function fe(d,E){ne.set(d,E)}function Ae(d,E){return d%E>0&&(d+=E-d%E),d}var qe,ne,Y,pe,ie,de,_e,Pt,It;function Or(d){qe=d,t.HEAP8=ne=new Int8Array(d),t.HEAP16=pe=new Int16Array(d),t.HEAP32=de=new Int32Array(d),t.HEAPU8=Y=new Uint8Array(d),t.HEAPU16=ie=new Uint16Array(d),t.HEAPU32=_e=new Uint32Array(d),t.HEAPF32=Pt=new Float32Array(d),t.HEAPF64=It=new Float64Array(d)}var ii=t.INITIAL_MEMORY||16777216,gi,hr=[],fi=[],ni=[],Os=!1;function pr(){if(t.preRun)for(typeof t.preRun=="function"&&(t.preRun=[t.preRun]);t.preRun.length;)ua(t.preRun.shift());yo(hr)}function Ii(){Os=!0,!t.noFSInit&&!S.init.initialized&&S.init(),rs.init(),yo(fi)}function es(){if(t.postRun)for(typeof t.postRun=="function"&&(t.postRun=[t.postRun]);t.postRun.length;)ag(t.postRun.shift());yo(ni)}function ua(d){hr.unshift(d)}function pA(d){fi.unshift(d)}function ag(d){ni.unshift(d)}var ts=0,dA=null,ga=null;function yp(d){return d}function CA(d){ts++,t.monitorRunDependencies&&t.monitorRunDependencies(ts)}function mA(d){if(ts--,t.monitorRunDependencies&&t.monitorRunDependencies(ts),ts==0&&(dA!==null&&(clearInterval(dA),dA=null),ga)){var E=ga;ga=null,E()}}t.preloadedImages={},t.preloadedAudios={};function wr(d){t.onAbort&&t.onAbort(d),d+="",D(d),ae=!0,ge=1,d="abort("+d+"). Build with -s ASSERTIONS=1 for more info.";var E=new WebAssembly.RuntimeError(d);throw n(E),E}var kl="data:application/octet-stream;base64,";function Ag(d){return d.startsWith(kl)}var Io="data:application/octet-stream;base64,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ACgCFC0AAiAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQADIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAQgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ABSAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAGIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAcgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ACCAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAJIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAogACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ACyAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAMIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAA0gACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ADiAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAPIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhRBEGo2AhQgACAAKAIIQQFrIgE2AgggAQ0ACyAAIAAoAhhB8f8DcDYCGCAAIAAoAgxB8f8DcDYCDAwBCwsgACgCEARAA0AgACgCEEEQTwRAIAAgACgCEEEQazYCECAAIAAoAhQtAAAgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0AASAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQACIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAMgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ABCAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAFIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAYgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0AByAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAIIAAoAhhqNgIYIAAgACgCGCAAKAIMajYC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NgIYIAEoAgxCADcDICABKAIMQgA3AyggASgCDEEANgIwIAEoAgxBADYCNCABKAIMQQA2AjggASgCDEEANgI8IAEoAgxBADsBQCABKAIMQYCA2I14NgJEIAEoAgxCADcDSCABKAIMQQA7AVAgASgCDEEAOwFSIAEoAgxBADYCVAvSEwEBfyMAQbABayIDJAAgAyAANgKoASADIAE2AqQBIAMgAjYCoAEgA0EANgKQASADIAMoAqQBKAIwQQAQOjYClAEgAyADKAKkASgCOEEAEDo2ApgBAkACQAJAAkAgAygClAFBAkYEQCADKAKYAUEBRg0BCyADKAKUAUEBRgRAIAMoApgBQQJGDQELIAMoApQBQQJHDQEgAygCmAFBAkcNAQsgAygCpAEiACAALwEMQYAQcjsBDAwBCyADKAKkASIAIAAvAQxB/+8DcTsBDCADKAKUAUECRgRAIANB9eABIAMoAqQBKAIwIAMoAqgBQQhqEI4BNgKQASADKAKQAUUEQCADQX82AqwBDAMLCwJAIAMoAqABQYACcQ0AIAMoApgBQQJHDQAgA0H1xgEgAygCpAEoAjggAygCqAFBCGoQjgE2AkggAygCSEUEQCADKAKQARAjIANBfzYCrAEMAwsgAygCSCADKAKQATYCACADIAMoAkg2ApABCwsCQCADKAKkAS8BUkUEQCADKAKkASIAIAAvAQxB/v8DcTsBDAwBCyADKAKkASIAIAAvAQxBAXI7AQwLIAMgAygCpAEgAygCoAEQZUEBcToAhgEgAyADKAKgAUGACnFBgApHBH8gAy0AhgEFQQELQQFxOgCHASADAn9BASADKAKkAS8BUkGBAkYNABpBASADKAKkAS8BUkGCAkYNABogAygCpAEvAVJBgwJGC0EBcToAhQEgAy0AhwFBAXEEQCADIANBIGpCHBApNgIcIAMoAhxFBEAgAygCqAFBCGpBDkEAEBQgAygCkAEQIyADQX82AqwBDAILAkAgAygCoAFBgAJxBEACQCADKAKgAUGACHENACADKAKkASkDIEL/////D1YNACADKAKkASkDKEL/////D1gNAgsgAygCHCADKAKkASkDKBAtIAMoAhwgAygCpAEpAyAQLQwBCwJAAkAgAygCoAFBgAhxDQAgAygCpAEpAyBC/////w9WDQAgAygCpAEpAyhC/////w9WDQAgAygCpAEpA0hC/////w9YDQELIAMoAqQBKQMoQv////8PWgRAIAMoAhwgAygCpAEpAygQLQsgAygCpAEpAyBC/////w9aBEAgAygCHCADKAKkASkDIBAtCyADKAKkASkDSEL/////D1oEQCADKAIcIAMoAqQBKQNIEC0LCwsCfyMAQRBrIgAgAygCHDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFCADKAIcEBYgAygCkAEQIyADQX82AqwBDAILIANBAQJ/IwBBEGsiACADKAIcNgIMAn4gACgCDC0AAEEBcQRAIAAoAgwpAxAMAQtCAAunQf//A3ELIANBIGpBgAYQVTYCjAEgAygCHBAWIAMoAowBIAMoApABNgIAIAMgAygCjAE2ApABCyADLQCFAUEBcQRAIAMgA0EVakIHECk2AhAgAygCEEUEQCADKAKoAUEIakEOQQAQFCADKAKQARAjIANBfzYCrAEMAgsgAygCEEECEB8gAygCEEG9EkECEEEgAygCECADKAKkAS8BUkH/AXEQlgEgAygCECADKAKkASgCEEH//wNxEB8CfyMAQRBrIgAgAygCEDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFCADKAIQEBYgAygCkAEQIyADQX82AqwBDAILIANBgbICQQcgA0EVakGABhBVNgIMIAMoAhAQFiADKAIMIAMoApABNgIAIAMgAygCDDYCkAELIAMgA0HQAGpCLhApIgA2AkwgAEUEQCADKAKoAUEIakEOQQAQFCADKAKQARAjIANBfzYCrAEMAQsgAygCTEHxEkH2EiADKAKgAUGAAnEbQQQQQSADKAKgAUGAAnFFBEAgAygCTCADLQCGAUEBcQR/QS0FIAMoAqQBLwEIC0H//wNxEB8LIAMoAkwgAy0AhgFBAXEEf0EtBSADKAKkAS8BCgtB//8DcRAfIAMoAkwgAygCpAEvAQwQHwJAIAMtAIUBQQFxBEAgAygCTEHjABAfDAELIAMoAkwgAygCpAEoAhBB//8DcRAfCyADKAKkASgCFCADQZ4BaiADQZwBahCNASADKAJMIAMvAZ4BEB8gAygCTCADLwGcARAfAkACQCADLQCFAUEBcUUNACADKAKkASkDKEIUWg0AIAMoAkxBABAhDAELIAMoAkwgAygCpAEoAhgQIQsCQAJAIAMoAqABQYACcUGAAkcNACADKAKkASkDIEL/////D1QEQCADKAKkASkDKEL/////D1QNAQsgAygCTEF/ECEgAygCTEF/ECEMAQsCQCADKAKkASkDIEL/////D1QEQCADKAJMIAMoAqQBKQMgpxAhDAELIAMoAkxBfxAhCwJAIAMoAqQBKQMoQv////8PVARAIAMoAkwgAygCpAEpAyinECEMAQsgAygCTEF/ECELCyADKAJMIAMoAqQBKAIwEFFB//8DcRAfIAMgAygCpAEoAjQgAygCoAEQkgFB//8DcSADKAKQAUGABhCSAUH//wNxajYCiAEgAygCTCADKAKIAUH//wNxEB8gAygCoAFBgAJxRQRAIAMoAkwgAygCpAEoAjgQUUH//wNxEB8gAygCTCADKAKkASgCPEH//wNxEB8gAygCTCADKAKkAS8BQBAfIAMoAkwgAygCpAEoAkQQIQJAIAMoAqQBKQNIQv////8PVARAIAMoAkwgAygCpAEpA0inECEMAQsgAygCTEF/ECELCwJ/IwBBEGsiACADKAJMNgIMIAAoAgwtAABBAXFFCwRAIAMoAqgBQQhqQRRBABAUIAMoAkwQFiADKAKQARAjIANBfzYCrAEMAQsgAygCqAEgA0HQAGoCfiMAQRBrIgAgAygCTDYCDAJ+IAAoAgwtAABBAXEEQCAAKAIMKQMQDAELQgALCxA2QQBIBEAgAygCTBAWIAMoApABECMgA0F/NgKsAQwBCyADKAJMEBYgAygCpAEoAjAEQCADKAKoASADKAKkASgCMBCFAUEASARAIAMoApABECMgA0F/NgKsAQwCCwsgAygCkAEEQCADKAKoASADKAKQAUGABhCRAUEASARAIAMoApABECMgA0F/NgKsAQwCCwsgAygCkAEQIyADKAKkASgCNARAIAMoAqgBIAMoAqQBKAI0IAMoAqABEJEBQQBIBEAgA0F/NgKsAQwCCwsgAygCoAFBgAJxRQRAIAMoAqQBKAI4BEAgAygCqAEgAygCpAEoAjgQhQFBAEgEQCADQX82AqwBDAMLCwsgAyADLQCHAUEBcTYCrAELIAMoAqwBIQAgA0GwAWokACAAC+ACAQF/IwBBIGsiBCQAIAQgADsBGiAEIAE7ARggBCACNgIUIAQgAzYCECAEQRAQGCIANgIMAkAg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AAAgAygCHEHcFmogAygCDEECdGooAgAgAygCHEHYKGpqLQAASg0ADAELIAMoAhxB3BZqIAMoAhRBAnRqIAMoAhxB3BZqIAMoAgxBAnRqKAIANgIAIAMgAygCDDYCFCADIAMoAgxBAXQ2AgwMAQsLIAMoAhxB3BZqIAMoAhRBAnRqIAMoAhA2AgAL1xMBA38jAEEwayICJAAgAiAANgIsIAIgATYCKCACIAIoAigoAgA2AiQgAiACKAIoKAIIKAIANgIgIAIgAigCKCgCCCgCDDYCHCACQX82AhAgAigCLEEANgLQKCACKAIsQb0ENgLUKCACQQA2AhgDQCACKAIYIAIoAhxIBEACQCACKAIkIAIoAhhBAnRqLwEABEAgAiACKAIYIgE2AhAgAigCLEHcFmohAyACKAIsIgQoAtAoQQFqIQAgBCAANgLQKCAAQQJ0IANqIAE2AgAgAigCGCACKAIsQdgoampBADoAAAwBCyACKAIkIAIoAhhBAnRqQQA7AQILIAIgAigCGEEBajYCGAwBCwsDQCACKAIsKALQKEECSARAAkAgAigCEEECSARAIAIgAigCEEEBaiIANgIQDAELQQAhAAsgAigCLEHcFmohAyACKAIsIgQoAtAoQQFqIQEgBCABNgLQKCABQQJ0IANqIAA2AgAgAiAANgIMIAIoAiQgAigCDEECdGpBATsBACACKAIMIAIoAixB2ChqakEAOgAAIAIoAiwiACAAKAKoLUEBazYCqC0gAigCIARAIAIoAiwiACAAKAKsLSACKAIgIAIoAgxBAnRqLwECazYCrC0LDAELCyACKAIoIAIoAhA2AgQgAiACKAIsKALQKEECbTYCGANAIAIoAhhBAU4EQCACKAIsIAIoAiQgAigCGBB5IAIgAigCGEEBazYCGAwBCwsgAiACKAIcNgIMA0AgAiACKAIsKALgFjYCGCACKAIsQdwWaiEBIAIoAiwiAygC0CghACADIABBAWs2AtAoIAIoAiwgAEECdCABaigCADYC4BYgAigCLCACKAIkQQEQeSACIAIoAiwoAuAWNgIUIAIoAhghASACKAIsQdwWaiEDIAIoAiwiBCgC1ChBAWshACAEIAA2AtQoIABBAnQgA2ogATYCACACKAIUIQEgAigCLEHcFmohAyACKAIsIgQoAtQoQQFrIQAgBCAANgLUKCAA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AQsgAigCCEEANgIAIAIoAghCADcDECACKAIIQgA3AwggAigCCEIANwMgIAIoAghCADcDGCACKAIIQQA2AiggAigCCEEAOgAsIAIoAgggAikDECACKAIMEI8BQQFxRQRAIAIoAggQJSACQQA2AhwMAQsgAiACKAIINgIcCyACKAIcIQEgAkEgaiQAIAEL1gIBAX8jAEEgayIDJAAgAyAANgIYIAMgATYCFCADIAI2AhAgAyADQQxqQgQQKTYCCAJAIAMoAghFBEAgA0F/NgIcDAELA0AgAygCFARAIAMoAhQoAgQgAygCEHFBgAZxBEAgAygCCEIAECwaIAMoAgggAygCFC8BCBAfIAMoAgggAygCFC8BChAfAn8jAEEQayIAIAMoAgg2AgwgACgCDC0AAEEBcUULBEAgAygCGEEIakEUQQAQFCADKAIIEBYgA0F/NgIcDAQLIAMoAhggA0EMakIEEDZBAEgEQCADKAIIEBYgA0F/NgIcDAQLIAMoAhQvAQoEQCADKAIYIAMoAhQoAgwgAygCFC8BCq0QNkEASARAIAMoAggQFiADQX82AhwMBQsLCyADIAMoAhQoAgA2AhQMAQsLIAMoAggQFiADQQA2AhwLIAMoAhwhACADQSBqJAAgAAtoAQF/IwBBEGsiAiAANgIMIAIgATYCCCACQQA7AQYDQCACKAIMBEAgAigCDCgCBCACKAIIcUGABnEEQCACIAIoAgwvAQogAi8BBkEEamo7AQYLIAIgAigCDCgCADYCDAwBCwsgAi8BBgvwAQEBfyMAQRBrIgEkACABIAA2AgwgASABKAIMNgIIIAFBADYCBANAIAEoAgwEQAJAAkAgASgCDC8BCEH1xgFGDQAgASgCDC8BCEH14AFGDQAgASgCDC8BCEGBsgJGDQAgASgCDC8BCEEBRw0BCyABIAEoAgwoAgA2AgAgASgCCCABKAIMRgRAIAEgASgCADYCCAsgASgCDEEANgIAIAEoAgwQIyABKAIEBEAgASgCBCABKAIANgIACyABIAEoAgA2AgwMAgsgASABKAIMNgIEIAEgASgCDCgCADYCDAwBCwsgASgCCCEAIAFBEGokACAAC7IEAQF/IwBBQGoiBSQAIAUgADYCOCAFIAE7ATYgBSACNgIwIAUgAzYCLCAFIAQ2AiggBSAFKAI4IAUvATatECkiADYC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IAEoAhBB//8DRgRAIAEgASgCDDYCEAsgASgCCEH//wNGBEAgASABKAIENgIICwJAIAEoApQBQQRxRQ0AIAEoAgggASgCBEYEQCABKAIQIAEoAgxGDQELIAEoApABQRVBABAUIAEtABdBAXEEQCABKAKkARAWCyABQQA2AqwBDAELAkAgASgCEEUEQCABKAIIRQ0BCyABKAKQAUEBQQAQFCABLQAXQQFxBEAgASgCpAEQFgsgAUEANgKsAQwBCyABIAEoAqQBEDE3AyggASABKAKkARAxNwMgIAEpAyggASkDIFIEQCABKAKQAUEBQQAQFCABLQAXQQFxBEAgASgCpAEQFgsgAUEANgKsAQwBCyABIAEoAqQBEDE3AzAgASABKAKkARAxNwOAAQJ/IwBBEGsiBSABKAKkATYCDCAFKAIMLQAAQQFxRQsEQCABKAKQAUEUQQAQFCABLQAXQQFxBEAgASgCpAEQFgsgAUEANgKsAQwBCyABLQAXQQFxBEAgASgCpAEQFgsCQCABKQOAAUL///////////8AWARAIAEpA4ABIAEpA4ABIAEpAzB8WA0BCyABKAKQAUEEQRYQFCABQQA2AqwBDAELIAEpA4ABIAEpAzB8IAEpA5gBIAEpAzh8VgRAIAEoApABQRVBABAUIAFBADYCrAEMAQsCQCABKAKUAUEEcUUNACABKQOAASABKQMwfCABKQOYASABKQM4fFENACABKAKQAUEVQQAQFCABQQA2AqwBDAELIAEpAyggASkDMEIugFYEQCABKAKQAUEVQQAQFCABQQA2AqwBDAELIAEgASkDKCABKAKQARCQASIFNgKMASAFRQRAIAFBADYCrAEMAQsgASgCjAFBAToALCABKAKMASABKQMwNwMYIAEoAowBIAEpA4ABNwMgIAEgASgCjAE2AqwBCyABKAKsASEFIAFBsAFqJAAgACAFNgJQDAELIAAoAmQgACkDMBAsGiAAKAJkIQUgACkDWCEJIAAoAmgoAhQhBiAAKAJUIQcjAEHQAGsiASQAIAEgBTYCSCABIAk3A0AgASAGNgI8IAEgBzYCOAJAIAEoAkgQMEIWVARAIAEoAjhBFUEAEBQgAUEANgJMDAELIwBBEGsiBSABKAJINgIMIAECfiAFKAIMLQAAQQFxBEAgBSgCDCkDEAwBC0IACzcDCCABKAJI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ECADQcgAEBgiADYCDAJAIABFBEAgAygCEEEBQbSbASgCABAUIANBADYCHAwBCyADKAIMIAMoAhA2AgAgAygCDCADLQAbQQFxOgAEIAMoAgwgAygCFDYCCAJAIAMoAgwoAghBAU4EQCADKAIMKAIIQQlMDQELIAMoAgxBCTYCCAsgAygCDEEAOgAMIAMoAgxBADYCMCADKAIMQQA2AjQgAygCDEEANgI4IAMgAygCDDYCHAsgAygCHCEAIANBIGokACAACzgBAX8jAEEQayIBIAA2AgwgASgCDEEANgIAIAEoAgxBADYCBCABKAIMQQA2AgggASgCDEEAOgAMC+MIAQF/IwBBQGoiAiAANgI4IAIgATYCNCACIAIoAjgoAnw2AjAgAiACKAI4KAI4IAIoAjgoAmxqNgIsIAIgAigCOCgCeDYCICACIAIoAjgoApABNgIcIAICfyACKAI4KAJsIAIoAjgoAixBhgJrSwRAIAIoAjgoAmwgAigCOCgCLEGGAmtrDAELQQALNgIYIAIgAigCOCgCQDYCFCACIAIoAjgoAjQ2AhAgAiACKAI4KAI4IAIoAjgoAmxqQYICajYCDCACIAIoAiwgAigCIEEBa2otAAA6AAsgAiACKAIsIAIoAiBqLQAAOgAKIAIoAjgoAnggAigCOCgCjAFPBEAgAiACKAIwQQJ2NgIwCyACKAIcIAIoAjgoAnRLBEAgAiACKAI4KAJ0NgIcCwNAAkAgAiACKAI4KAI4IAIoAjRqNgIoAkAgAigCKCACKAIgai0AACACLQAKRw0AIAIoAiggAigCIEEBa2otAAAgAi0AC0cNACACKAIoLQAAIAIoAiwtAABHDQAgAiACKAIoIgBBAWo2AiggAC0AASACKAIsLQABRwRADAELIAIgAigCLEECajYCLCACIAIoAihBAWo2AigDQCACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AigCf0EAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AihBACAALQABIAFHDQAaIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AihBACAALQABIAFHDQAaIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACKAIsIAIoAgxJC0EBcQ0ACyACQYICIAIoAgwgAigCLGtrNgIkIAIgAigCDEGCAms2AiwgAigCJCACKAIgSgRAIAIoAjggAigCNDYCcCACIAIoAiQ2AiAgAigCJCACKAIcTg0CIAIgAigCLCACKAIgQQFrai0AADoACyACIAIoAiwgAigCIGotAAA6AAoLCyACIAIoAhQgAigCNCACKAIQcUEBdGovAQAiATYCNEEAIQAgASACKAIYSwR/IAIgAigCMEEBayIANgIwIABBAEcFQQALQQFxDQELCwJAIAIoAiAgAigCOCgCdE0EQCACIAIoAiA2AjwMAQsgAiACKAI4KAJ0NgI8CyACKAI8C5IQAQF/IwBBMGsiAiQAIAIgADYCKCACIAE2AiQgAgJ/IAIoAigoAiwgAigCKCgCDEEFa0kEQCACKAIoKAIsDAELIAIoAigoAgxBBWsLNgIgIAJBADYCECACIAIoAigoAgAoAgQ2AgwDQAJAIAJB//8DNgIcIAIgAigCKCgCvC1BKmpBA3U2AhQgAigCKCgCACgCECACKAIUSQ0AIAIgAigCKCgCACgCECACKAIUazYCFCACIAIoAigoAmwgAigCKCgCXGs2AhggAigCHCACKAIYIAIoAigoAgAoAgRqSwRAIAIgAigCGCACKAIoKAIAKAIEajYCHAsgAigCHCACKAIUSwRAIAIgAigCFDYCHAsCQCACKAIcIAIoAiBPDQACQCACKAIcRQRAIAIoAiRBBEcNAQsgAigCJEUNACACKAIcIAIoAhggAigCKCgCACgCBGpGDQELDAELQQAhACACIAIoAiRBBEYEfyACKAIcIAIoAhggAigCKCgCACgCBGpGBUEAC0EBcTYCECACKAIoQQBBACACKAIQEF0gAigCKCgCCCACKAIoKAIUQQRraiACKAIcOgAAIAIoAigoAgggAigCKCgCFEEDa2ogAigCHEEIdjoAACACKAIoKAIIIAIoAigoAhRBAmtqIAIoAhxBf3M6AAAgAigCKCgCCCACKAIoKAIUQQFraiACKAIcQX9zQQh2OgAAIAIoAigoAgAQHCACKAIYBEAgAigCGCACKAIcSwRAIAIgAigCHDYCGAsgAigCKCgCACgCDCACKAIoKAI4IAIoAigoAlxqIAIoAhgQGRogAigCKCgCACIAIAIoAhggACgCDGo2AgwgAigCKCgCACIAIAAoAhAgAigCGGs2AhAgAigCKCgCACIAIAIoAhggACgCFGo2AhQgAigCKCIAIAIoAhggACgCXGo2AlwgAiACKAIcIAIoAhhrNgIcCyACKAIcBEAgAigCKCgCACACKAIoKAIAKAIMIAIoAhwQdhogAigCKCgCACIAIAIoAhwgACgCDGo2AgwgAigCKCgCACIAIAAoAhAgAigCHGs2AhAgAigCKCgCACIAIAIoAhwgACgCFGo2AhQLIAIoAhBFDQELCyACIAIoAgwgAigCKCgCACgCBGs2AgwgAigCDARAAkAgAigCDCACKAIoKAIsTwRAIAIoAihBAjYCsC0gAigCKCgCOCACKAIoKAIAKAIAIAIoAigoAixrIAIoAigoAiwQGRogAigCKCACKAIoKAIsNgJsDAELIAIoAgwgAigCKCgCPCACKAIoKAJsa08EQCACKAIoIgAgACgCbCACKAIoKAIsazYCbCACKAIoKAI4IAIoAigoAjggAigCKCgCLGogAigCKCgCbBAZGiACKAIoKAKwLUECSQRAIAIoAigiACAAKAKwLUEBajYCsC0LCyACKAIoKAI4IAIoAigoAmxqIAIoAigoAgAoAgAgAigCDGsgAigCDBAZGiACKAIoIgAgAigCDCAAKAJsajYCbAsgAigCKCACKAIoKAJsNgJcIAIoAigiAQJ/IAIoAgwgAigCKCgCLCACKAIoKAK0LWtLBEAgAigCKCgCLCACKAIoKAK0LWsMAQsgAigCDAsgASgCtC1qNgK0LQsgAigCKCgCwC0gAigCKCgCbEkEQCACKAIoIAIoAigoAmw2AsAtCwJAIAIoAhAEQCACQQM2AiwMAQsCQCACKAIkRQ0AIAIoAiRBBEYNACACKAIoKAIAKAIEDQAgAigCKCgCbCACKAIoKAJcRw0AIAJBATYCLAwBCyACIAIoAigoAjwgAigCKCgCbGtBAWs2AhQCQCACKAIoKAIAKAIEIAIoAhRNDQAgAigCKCgCXCACKAIoKAIsSA0AIAIoAigiACAAKAJcIAIoAigoAixrNgJcIAIoAigiACAAKAJsIAIoAigoAixrNgJsIAIoAigoAjggAigCKCgCOCACKAIoKAIsaiACKAIoKAJsEBkaIAIoAigoArAtQQJJBEAgAigCKCIAIAAoArAtQQFqNgKwLQsgAiACKAIoKAIsIAIoAhRqNgIUCyACKAIUIAIoAigoAgAoAgRLBEAgAiACKAIoKAIAKAIENgIUCyACKAIUBEAgAigCKCgCACACKAIoKAI4IAIoAigoAmxqIAIoAhQQdhogAigCKCIAIAIoAhQgACgCbGo2AmwLIAIoAigoAsAtIAIoAigoAmxJBEAgAigCKCACKAIoKAJsNgLALQsgAiACKAIoKAK8LUEqakEDdTYCFCACIAIoAigoAgwgAigCFGtB//8DSwR/Qf//AwUgAigCKCgCDCACKAIUaws2AhQgAgJ/IAIoAhQgAigCKCgCLEsEQCACKAIoKAIsDAELIAIoAhQLNgIgIAIgAigCKCgCbCACKAIoKAJcazYCGAJAIAIoAhggAigCIEkEQCACKAIYRQRAIAIoAiRBBEcNAgsgAigCJEUNASACKAIoKAIAKAIEDQEgAigCGCACKAIUSw0BCyACAn8gAigCGCACKAIUSwRAIAIoAhQMAQsgAigCGAs2AhwgAgJ/QQAgAigCJEEERw0AGkEAIAIoAigoAgAoAgQNABogAigCHCACKAIYRgtBAXE2AhAgAigCKCACKAIoKAI4IAIoAigoAlxqIAIoAhwgAigCEBBdIAIoAigiACACKAIcIAAoAlxqNgJcIAIoAigoAgAQHAsgAkECQQAgAigCEBs2AiwLIAIoAiwhACACQTBqJAAgAAuyAgEBfyMAQRBrIgEkACABIAA2AggCQCABKAIIEHgEQCABQX42AgwMAQsgASABKAIIKAIcKAIENgIEIAEoAggoAhwoAggEQCABKAIIKAIoIAEoAggoAhwoAgggASgCCCgCJBEEAAsgASgCCCgCHCgCRARAIAEoAggoAiggASgCCCgCHCgCRCABKAIIKAIkEQQACyABKAIIKAIc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DQAgAiEAIANBAWsiAw0ACwsgBCgCFBogASACNgKgAQwCCyMAQRBrIgAgASgCqAEoAgQ2AgwgAUEAIAAoAgxrQQJ0QajZAGooAgA2AqABDAELIAFBADYCoAELCwJAIAEoAqABRQRAIAEgASgCpAE2AqwBDAELIAEgASgCoAEQLgJ/IAEoAqQBBEAgASgCpAEQLkECagwBC0EAC2pBAWoQGCIANgIcIABFBEAgAUG4EygCADYCrAEMAQsgASgCHCEAAn8gASgCpAEEQCABKAKkAQwBC0H6EgshA0HfEkH6EiABKAKkARshAiABIAEoAqABNgIIIAEgAjYCBCABIAM2AgAgAEG+CiABEG8gASgCqAEgASgCHDYCCCABIAEoAhw2AqwBCyABKAKsASEAIAFBsAFqJAAgAAsIAEEBQTgQfwszAQF/IAAoAhQiAyABIAIgACgCECADayIBIAEgAksbIgEQGRogACAAKAIUIAFqNgIUIAILjwUCBn4BfyABIAEoAgBBD2pBcHEiAUEQajYCACAAAnwgASkDACEDIAEpAwghBiMAQSBrIggkAAJAIAZC////////////AIMiBEKAgICAgIDAgDx9IARCgICAgICAwP/DAH1UBEAgBkIEhiADQjyIhCEEIANC//////////8PgyIDQoGAgICAgICACFoEQCAEQoGAgICAgICAwAB8IQIMAgsgBEKAgICAgICAgEB9IQIgA0KAgICAgICAgAiFQgBSDQEgAiAEQgGDfCECDAELIANQIARCgICAgICAwP//AFQgBEKAgICAgIDA//8AURtFBEAgBkIEhiADQjyIhEL/////////A4NCgICAgICAgPz/AIQhAgwBC0KAgICAgICA+P8AIQIgBEL///////+//8MAVg0AQgAhAiAEQjCIpyIAQZH3AEkNACADIQIgBkL///////8/g0KAgICAgIDAAIQiBSEHAkAgAEGB9wBrIgFBwABxBEAgAiABQUBqrYYhB0IAIQIMAQsgAUUNACAHIAGtIgSGIAJBwAAgAWutiIQhByACIASGIQILIAggAjcDECAIIAc3AxgCQEGB+AAgAGsiAEHAAHEEQCAFIABBQGqtiCEDQgAhBQwBCyAARQ0AIAVBwAAgAGuthiADIACtIgKIhCEDIAUgAoghBQsgCCADNwMAIAggBTcDCCAIKQMI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ADYCtC0gASgCFEEERgRAIAEoAhgCfyABKAIYKAJcQQBOBEAgASgCGCgCOCABKAIYKAJcagwBC0EACyABKAIYKAJsIAEoAhgoAlxrQQEQKCABKAIYIAEoAhgoAmw2AlwgASgCGCgCABAcIAEoAhgoAgAoAhBFBEAgAUECNgIcDAILIAFBAzYCHAwBCyABKAIYKAKgLQRAIAEoAhgCfyABKAIYKAJcQQBOBEAgASgCGCgCOCABKAIYKAJcagwBC0EACyABKAIYKAJsIAEoAhgoAlxrQQAQKCABKAIYIAEoAhgoAmw2AlwgASgCGCgCABAcIAEoAhgoAgAoAhBFBEAgAUEANgIcDAILCyABQQE2AhwLIAEoAhwhAiABQSBqJAAgAgwBCwJ/IAAoAiwoAogBQQNGBEAgACgCLCECIAAoAjQhAyMAQTBrIgEkACABIAI2AiggASADNgIkAkADQAJAIAEoAigoAnRBggJNBEAgASgCKBBcAkAgASgCKCgCdEGCAksNACABKAIkDQAgAUEANgIsDAQLIAEoAigoAnRFDQELIAEoAihBADYCYAJAIAEoAigoAnRBA0kNACABKAIoKAJsRQ0AIAEgASgCKCgCOCABKAIoKAJsakEBazYCGCABIAEoAhgtAAA2AhwgASgCHCECIAEgASgCGCIDQQFqNgIYAkAgAy0AASACRw0AIAEoAhwhAiABIAEoAhgiA0EBajYCGCADLQABIAJHDQAgASgCHCECIAEgASgCGCIDQQFqNgIYIAMtAAEgAkcNACABIAEoAigoAjggASgCKCgCbGpBggJqNgIUA0AgASgCHCECIAEgASgCGCIDQQFqNgIYAn9BACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABogASgCHCECIAEgASgCGCIDQQFqNgIYQQAgAy0AASACRw0AGiABKAIcIQIgASABKAIYIgNBAWo2AhhBACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABogASgCHCECIAEgASgCGCIDQQFqNgIYQQAgAy0AASACRw0AGiABKAIcIQIgASABKAIYIgNBAWo2AhhBACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABogASgCGCABKAIUSQtBAXENAAsgASgCKEGCAiABKAIUIAEoAhhrazYCYCABKAIoKAJgIAEoAigoAnRLBEAgASgCKCABKAIoKAJ0NgJgCwsLAkAgASgCKCgCYEEDTwRAIAEgASgCKCgCYEEDazoAEyABQQE7ARAgASgCKCICKAKkLSACKAKgLUEBdGogAS8BEDsBACABLQATIQMgASgCKCICKAKYLSEEIAIgAigCoC0iAkEBajYCoC0gAiAEaiADOgAAIAEgAS8BEEEBazsBECABKAIoIAEtABNB0N0Aai0AAEECdGpBmAlqIgIgAi8BAEEBajsBACABKAIoQYgTagJ/IAEvARBBgAJJBEAgAS8BEC0A0FkMAQsgAS8BEEEHdkGAAmotANBZC0ECdGoiAiACLwEAQQFqOwEAIAEgASgCKCgCoC0gASgCKCgCnC1BAWtGNgIgIAEoAigiAiACKAJ0IAEoAigoAmBrNgJ0IAEoAigiAiABKAIoKAJgIAIoAmxqNgJsIAEoAihBADYCYAwBCyABIAEoAigiAigCOCACKAJsai0AADoADyABKAIoIgIoAqQtIAIoAqAtQQF0akEAOwEAIAEtAA8hAyABKAIoIgIoApgtIQQgAiACKAKgLSICQQFqNgKgLSACIARqIAM6AAAgASgCKCABLQAPQQJ0aiICIAIvAZQBQQFqOwGUASABIAEoAigoAqAtIAEoAigoApwtQQFrRjYCICABKAIoIgIgAigCdEEBazYCdCABKAIoIgIgAigCbEEBajYCbAsgASgCIARAIAEoAigCfyABKAIoKAJcQQBOBEAgASgCKCgCOCABKAIoKAJcagwBC0EACyABKAIoKAJsIAEoAigoAlxrQQAQKCABKAIoIAEoAigoAmw2AlwgASgCKCgCABAcIAEoAigoAgAoAhBFBEAgAUEANgIsDAQLCwwBCwsgASgCKEEANgK0LSABKAIkQQRGBEAgASgCKAJ/IAEoAigoAlxBAE4EQCABKAIoKAI4IAEoAigoAlxqDAELQQALIAEoAigoAmwgASgCKCgCXGtBARAoIAEoAiggASgCKCgCbDYCXCABKAIoKAIAEBwgASgCKCgCACgCEEUEQCABQQI2AiwMAgsgAUEDNgIsDAELIAEoAigoAqAtBEAgASgCKAJ/IAEoAigoAlxBAE4EQCABKAIoKAI4IAEoAigoAlxqDAELQQALIAEoAigoAmwgASgCKCgCXGtBABAoIAEoAiggASgCKCgCbDYCXCABKAIoKAIAEBwgASgCKCgCACgCEEUEQCABQQA2AiwMAgsLIAFBATYCLAsgASgCLCECIAFBMGokACACDAELIAAoAiwgACgCNCAAKAIsKAKEAUEMbEGA7wBqKAIIEQMACwsLNgIEAkAgACgCBEECRwRAIAAoAgRBA0cNAQsgACgCLEGaBTYCBAsCQCAAKAIEBEAgACgCBEECRw0BCyAAKAI4KAIQRQRAIAAoAixBfzYCKAsgAEEANgI8DAILIAAoAgRBAUYEQAJAIAAoAjRBAUYEQCAAKAIsIQIjAEEgayIBJAAgASACNgIcIAFBAzYCGAJAIAEoAhwoArwtQRAgASgCGGtKBEAgAUECNgIUIAEoAhwiAiACLwG4LSABKAIUQf//A3EgASgCHCgCvC10cjsBuC0gASgCHC8BuC1B/wFxIQMgASgCHCgCCCEEIAEoAhwiBigCFCECIAYgAkEBajYCFCACIARqIAM6AAAgASgCHC8BuC1BCHYhAyABKAIcKAIIIQQgASgCHCIGKAIUIQIgBiACQQFqNgIUIAIgBGogAzoAACABKAIcIAEoAhRB//8DcUEQIAEoAhwoArwta3U7AbgtIAEoAhwiAiACKAK8LSABKAIYQRBrajYCvC0MAQsgASgCHCICIAIvAbgtQQIgASgCHCgCvC10cjsBuC0gASgCHCICIAEoAhggAigCvC1qNgK8LQsgAUGS6AAvAQA2AhACQCABKAIcKAK8LUEQIAEoAhBrSgRAIAFBkOgALwEANgIMIAEoAhwiAiACLwG4LSABKAIMQf//A3EgASgCHCgCvC10cjsBuC0gASgCHC8BuC1B/wFxIQMgASgCHCgCCCEEIAEoAhwiBigCFCECIAYgAkEBajYCFCACIARqIAM6AAAgASgCHC8BuC1BCHYhAyABKAIcKAIIIQQgASgCHCIGKAIUIQIgBiACQQFqNgIUIAIgBGogAzoAACABKAIcIAEoAgxB//8DcUEQIAEoAhwoArwta3U7AbgtIAEoAhwiAiACKAK8LSABKAIQQRBrajYCvC0MAQsgASgCHCICIAIvAbgtQZDoAC8BACABKAIcKAK8LXRyOwG4LSABKAIcIgIgASgCECACKAK8LWo2ArwtCyABKAIcELwBIAFBIGokAAwBCyAAKAI0QQVHBEAgACgCLEEAQQBBABBdIAAoAjRBA0YEQCAAKAIsKAJEIAAoAiwoAkxBAWtBAXRqQQA7AQAgACgCLCgCREEAIAAoAiwoAkxBAWtBAXQQMyAAKAIsKAJ0RQRAIAAoAixBADYCbCAAKAIsQQA2AlwgACgCLEEANgK0LQsLCwsgACgCOBAcIAAoAjgoAhBFBEAgACgCLEF/NgIoIABBADYCPAwDCwsLIAAoAjRBBEcEQCAAQQA2AjwMAQsgACgCLCgCGEEATARAIABBATYCPAwBCwJAIAAoAiwoAhhBAkYEQCAAKAI4KAIwQf8BcSECIAAoAiwoAgghAyAAKAIsIgQoAhQhASAEIAFBAWo2AhQgASADaiACOgAAIAAoAjgoAjBBCHZB/wFxIQIgACgCLCgCCCEDIAAoAiwiBCgCFCEBIAQgAUEBajYCFCABIANqIAI6AAAgACgCOCgCMEEQdkH/AXEhAiAAKAIsKAIIIQMgACgCLCIEKAIUIQEgBCABQQFqNgIUIAEgA2ogAjoAACAAKAI4KAIwQRh2IQIgACgCLCgCCCEDIAAoAiwiBCgCFCEBIAQgAUEBajYCFCABIANqIAI6AAAgACgCOCgCCEH/AXEhAiAAKAIsKAIIIQMgACgCLCIEKAIUIQEgBCABQQFqNgIUIAEgA2ogAjoAACAAKAI4KAIIQQh2Qf8BcSECIAAoAiwoAgghAyAAKAIsIgQoAhQhASAEIAFBAWo2AhQgASADaiACOgAAIAAoAjgoAghBEHZB/wFxIQIgACgCLCgCCCEDIAAoAiwiBCgCFCEBIAQgAUEBajYCFCABIANqIAI6AAAgACgCOCgCCEEYdiECIAAoAiwoAgghAyAAKAIsIgQoAhQhASAEIAFBAWo2AhQgASADaiACOgAADAELIAAoAiwgACgCOCgCMEEQdhBLIAAoAiwgACgCOCgCMEH//wNxEEsLIAAoAjgQHCAAKAIsKAIYQQBKBEAgACgCLEEAIAAoAiwoAhhrNgIYCyAAIAAoAiwoAhRFNgI8CyAAKAI8IQEgAEFAayQAIAUgATYCCAwBCyAFKAIMQRBqIQEjAEHgAGsiACQAIAAgATYCWCAAQQI2AlQCQAJAAkAgACgCWBBKDQAgACgCWCgCDEUNACAAKAJYKAIADQEgACgCWCgCBEUNAQsgAEF+NgJcDAELIAAgACgCWCgCHDYCUCAAKAJQKAIEQb/+AEYEQCAAKAJQQcD+ADYCBAsgACAAKAJYKAIMNgJIIAAgACgCWCgCEDYCQCAAIAAoAlgoAgA2AkwgACAAKAJYKAIENgJEIAAgACgCUCgCPDYCPCAAIAAoAlAoAkA2AjggACAAKAJENgI0IAAgACgCQDYCMCAAQQA2AhADQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAJQKAIEQbT+AGsOHwABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fCyAAKAJQKAIMRQRAIAAoAlBBwP4ANgIEDCELA0AgACgCOEEQSQRAIAAoAkRFDSEgACAAKAJEQQFrNgJEIAAgACgCTCIBQQFqNgJMIAAgACgCPCABLQAAIAAoAjh0ajYCPCAAIAAoAjhBCGo2AjgMAQsLAkAgACgCUCgCDEECcUUNACAAKAI8QZ+WAkcNACAAKAJQKAIoRQRAIAAoAlBBDzYCKAtBAEEAQQAQGiEBIAAoAlAgATYCHCAAIAAoAjw6AAwgACAAKAI8QQh2OgANIAAoAlAoAhwgAEEMakECEBohASAAKAJQIAE2AhwgAEEANgI8IABBADYCOCAAKAJQQbX+ADYCBAwhCyAAKAJQQQA2AhQgACgCUCgCJARAIAAoAlAoAiRBfzYCMAsCQCAAKAJQKAIMQQFxBEAgACgCPEH/AXFBCHQgACgCPEEIdmpBH3BFDQELIAAoAlhBmgw2AhggACgCUEHR/gA2AgQMIQsgACgCPEEPcUEIRwRAIAAoAlhBmw82AhggACgCUEHR/gA2AgQMIQsgACAAKAI8QQR2NgI8IAAgACgCOEEEazYCOCAAIAAoAjxBD3FBCGo2AhQgACgCUCgCKEUEQCAAKAJQIAAoAhQ2AigLAkAgACgCFEEPTQRAIAAoAhQgACgCUCgCKE0NAQsgACgCWEGTDTYCGCAAKAJQQdH+ADYCBAwhCyAAKAJQQQEgACgCFHQ2AhhBAEEAQQAQPSEBIAAoAlAgATYCHCAAKAJYIAE2AjAgACgCUEG9/gBBv/4AIAAoAjxBgARxGzYCBCAAQQA2AjwgAEEANgI4DCALA0AgACgCOEEQSQRAIAAoAkRFDSAgACAAKAJEQQFrNgJEIAAgACgCTCIBQQFqNgJMIAAgACgCPCABLQAAIAAoAjh0ajYCPCAAIAAoAjhBCGo2AjgMAQsLIAAoAlAgACgCPDYCFCAAKAJQKAIUQf8BcUEIRwRAIAAoAlhBmw82AhggACgCUEHR/gA2AgQMIAsgACgCUCgCFEGAwANxBEAgACgCWEGgCTYCGCAAKAJQQdH+ADYCBAwgCyAAKAJQKAIkBEAgACgCUCgCJCAAKAI8QQh2QQFxNgIACwJAIAAoAlAoAhRBgARxRQ0AIAAoAlAoAgxBBHFFDQAgACAAKAI8OgAMIAAgACgCPEEIdjoADSAAKAJQKAIcIABBDGpBAhAaIQEgACgCUCABNgIcCyAAQQA2AjwgAEEANgI4IAAoAlBBtv4ANgIECwNAIAAoAjhBIEkEQCAAKAJERQ0fIAAgACgCREEBazYCRCAAIAAoAkwiAUEBajYCTCAAIAAoAjwgAS0AACAAKAI4dGo2AjwgACAAKAI4QQhqNgI4DAELCyAAKAJQKAIkBEAgACgCUCgCJCAAKAI8NgIECwJAIAAoAlAoAhRBgARxRQ0AIAAoAlAoAgxBBHFFDQAgACAAKAI8OgAMIAAgACgCPEEIdjoADSAAIAAoAjxBEHY6AA4gACAAKAI8QRh2OgAPIAAoAlAoAhwgAEEMakEEEBohASAAKAJQIAE2AhwLIABBADYCPCAAQQA2AjggACgCUEG3/gA2AgQLA0AgACgCOEEQSQRAIAAoAkRFDR4gACAAKAJEQQFrNgJEIAAgACgCTCIBQQFqNgJMIAAgACgCPCABLQAAIAAoAjh0ajYCPCAAIAAoAjhBCGo2AjgMAQsLIAAoAlAoAiQEQCAAKAJQKAIkIAAoAjxB/wFxNgIIIAAoAlAoAiQgACgCPEEIdjYCDAsCQCAAKAJQKAIUQYAEcUUNACAAKAJQKAIMQQRxRQ0AIAAgACgCPDoADCAAIAAoAjxBCHY6AA0gACgCUCgCHCAAQQxqQQIQGiEBIAAoAlAgATYCHAsgAEEANgI8IABBADYCOCAAKAJQQbj+ADYCBAsCQCAAKAJQKAIUQYAIcQRAA0AgACgCOEEQSQRAIAAoAkRFDR8gACAAKAJEQQFrNgJEIAAgACgCTCIBQQFqNgJMIAAgACgCPCABLQAAIAAoAjh0ajYCPCAAIAAoAjhBCGo2AjgMAQsLIAAoAlAgACgCPDYCRCAAKAJQKAIkBEAgACgCUCgCJCAAKAI8NgIUCwJAIAAoAlAoAhRBgARxRQ0AIAAoAlAoAgxBBHFFDQAgACAAKAI8OgAMIAAgACgCPEEIdjoADSAAKAJQKAIcIABBDGpBAhAaIQEgACgCUCABNgIcCyAAQQA2AjwgAEEANgI4DAELIAAoAlAoAiQEQCAAKAJQKAIkQQA2AhALCyAAKAJQQbn+ADYCBAsgACgCUCgCFEGACHEEQCAAIAAoAlAoAkQ2AiwgACgCLCAAKAJESwRAIAAgACgCRDYCLAsgACgCLARAAkAgACgCUCgCJEUNACAAKAJQKAIkKAIQRQ0AIAAgACgCUCgCJCgCFCAAKAJQKAJEazYCFCAAKAJQKAIkKAIQIAAoAhRqIAAoAkwCfyAAKAJQKAIkKAIYIAAoAhQgACgCLGpJBEAgACgCUCgCJCgCGCAAKAIUawwBCyAAKAIsCxAZGgsCQCAAKAJQKAIUQYAEcUUNACAAKAJQKAIMQQRxRQ0AIAAoAlAoAhwgACgCTCAAKAIsEBohASAAKAJQIAE2AhwLIAAgACgCRCAAKAIsazYCRCAAIAAoAiwgACgCTGo2AkwgACgCUCIBIAEoAkQgACgCLGs2AkQLIAAoAlAoAkQNGwsgACgCUEEANgJEIAAoAlBBuv4ANgIECwJAIAAoAlAoAhRBgBBxBEAgACgCREUNGyAAQQA2AiwDQCAAKAJMIQEgACAAKAIsIgJBAWo2AiwgACABIAJqLQAANgIUAkAgACgCUCgCJEUNACAAKAJQKAIkKAIcRQ0AIAAoAlAoAkQgACgCUCgCJCgCIE8NACAAKAIUIQIgACgCUCgCJCgCHCEDIAAoAlAiBCgCRCEBIAQgAUEBajYCRCABIANqIAI6AAALIAAoAhQEfyAAKAIsIAAoAkRJBUEAC0EBcQ0ACwJAIAAoAlAoAhRBgARxRQ0AIAAoAlAoAgxBBHFFDQAgACgCUCgCHCAAKAJMIAAoAiwQGiEBIAAoAlAgATYCHAsgACAAKAJEIAAoAixrNgJEIAAgACgCLCAAKAJMajYCTCAAKAIUDRsMAQsgACgCUCgCJARAIAAoAlAoAiRBADYCHAsLIAAoAlBBADYCRCAAKAJQQbv+ADYCBAsCQCAAKAJQKAIUQYAgcQRAIAAoAkRFDRogAEEANgIsA0AgACgCTCEBIAAgACgCLCICQQFqNgIsIAAgASACai0AADYCFAJAIAAoAlAoAiRFDQAgACgCUCgCJCgCJEUNACAAKAJQKAJEIAAoAlAoAiQoAihPDQAgACgCFCECIAAoAlAoAiQoAiQhAyAAKAJQIgQoAkQhASAEIAFBAWo2AkQgASADaiACOgAACyAAKAIUBH8gACgCLCAAKAJESQVBAAtBAXENAAsCQCAAKAJQKAIUQYAEcUUNACAAKAJQKAIMQQRxRQ0AIAAoAlAoAhwgACgCTCAAKAIsEBohASAAKAJQIAE2AhwLIAAgACgCRCAAKAIsazYCRCAAIAAoAiwgACgCTGo2AkwgACgCFA0aDAELIAAoAlAoAiQEQCAAKAJQKAIkQQA2AiQLCyAAKAJQQbz+ADYCBAsgACgCUCgCFEGABHEEQANAIAAoAjhBEEkEQCAAKAJERQ0aIAAgACgCREEBazYCRCAAIAAoAkwiAUEBajYCTCAAIAAoAjwgAS0AACAAKAI4dGo2AjwgACAAKAI4QQhqNgI4DAELCwJAIAAoAlAoAgxBBHFFDQAgACgCPCAAKAJQKAIcQf//A3FGDQAgACgCWEH7DDYCGCAAKAJQQdH+ADYCBAwaCyAAQQA2AjwgAEEANgI4CyAAKAJQKAIkBEAgACgCUCgCJCAAKAJQKAIUQQl1QQFxNgIsIAAoAlAoAiRBATYCMAtBAEEAQQAQGiEBIAAoAlAgATYCHCAAKAJYIAE2AjAgACgCUEG//gA2AgQMGAsDQCAAKAI4QSBJBEAgACgCREUNGCAAIAAoAkRBAWs2AkQgACAAKAJMIgFBAWo2AkwgACAAKAI8IAEtAAAgACgCOHRqNgI8IAAgACgCOEEIajYCOAwBCwsgACgCUCAAKAI8QQh2QYD+A3EgACgCPEEYdmogACgCPEGA/gNxQQh0aiAAKAI8Qf8BcUEYdGoiATYCHCAAKAJYIAE2AjAgAEEANgI8IABBADYCOCAAKAJQQb7+ADYCBAsgACgCUCgCEEUEQCAAKAJYIAAoAkg2AgwgACgCWCAAKAJANgIQIAAoAlggACgCTDYCACAAKAJYIAAoAkQ2AgQgACgCUCAAKAI8NgI8IAAoAlAgACgCODYCQCAAQQI2AlwMGAtBAEEAQQAQPSEBIAAoAlAgATYCHCAAKAJYIAE2AjAgACgCUEG//gA2AgQLIAAoAlRBBUYNFCAAKAJUQQZGDRQLIAAoAlAoAggEQCAAIAAoAjwgACgCOEEHcXY2AjwgACAAKAI4IAAoAjhBB3FrNgI4IAAoAlBBzv4ANgIEDBULA0AgACgCOEEDSQRAIAAoAkRFDRUgACAAKAJEQQFrNgJEIAAgACgCTCIBQQFqNgJMIAAgACgCPCABLQAAIAAoAjh0ajYCPCAAIAAoAjhBCGo2AjgMAQsLIAAoAlAgACgCPEEBcTYCCCAAIAAoAjxBAXY2AjwgACAAKAI4QQFrNgI4AkACQAJAAkACQCAAKAI8QQNxDgQAAQIDBAsgACgCUEHB/gA2AgQMAwsjAEEQayIBIAAoAlA2AgwgASgCDEGw8gA2AlAgASgCDEEJNgJYIAEoAgxBsIIBNgJUIAEoAgxBBTYCXCAAKAJQQcf+ADYCBCAAKAJUQQZGBEAgACAAKAI8QQJ2NgI8IAAgACgCOEECazYCOAwXCwwCCyAAKAJQQcT+ADYCBAwBCyAAKAJYQfANNgIYIAAoAlBB0f4ANgIECyAAIAAoAjxBAnY2AjwgACAAKAI4QQJrNgI4DBQLIAAgACgCPCAAKAI4QQdxdjYCPCAAIAAoAjggACgCOEEHcWs2AjgDQCAAKAI4QSBJBEAgACgCREUNFCAAIAAoAkRBAWs2AkQgACAAKAJMIgFBAWo2AkwgACAAKAI8IAEtAAAgACgCOHRqNgI8IAAgACgCOEEIajYCOAwBCwsgACgCPEH//wNxIAAoAjxBEHZB//8Dc0cEQCAAKAJYQaEKNgIYIAAoAlBB0f4ANgIEDBQLIAAoAlAgACgCPEH//wNxNgJEIABBADYCPCAAQQA2AjggACgCUEHC/gA2AgQgACgCVEEGRg0SCyAAKAJQQcP+ADYCBAsgACAAKAJQKAJENgIsIAAoAiwEQCAAKAIsIAAoAkRLBEAgACAAKAJENgIsCyAAKAIsIAAoAkBLBEAgACAAKAJANgIsCyAAKAIsRQ0RIAAoAkggACgCTCAAKAIsEBkaIAAgACgCRCAAKAIsazYCRCAAIAAoAiwgACgCTGo2AkwgACAAKAJAIAAoAixrNgJAIAAgACgCLCAAKAJIajYCSCAAKAJQIgEgASgCRCAAKAIsazYCRAwSCyAAKAJQQb/+ADYCBAwRCwNAIAAoAjhBDkkEQCAAKAJERQ0RIAAgACgCREEBazYCRCAAIAAoAkwiAUEBajYCTCAAIAAoAjwgAS0AACAAKAI4dGo2AjwgACAAKAI4QQhqNgI4DAELCyAAKAJQIAAoAjxBH3FBgQJqNgJkIAAgACgCPEEFdjYCPCAAIAAoAjhBBWs2AjggACgCUCAAKAI8QR9xQQFqNgJoIAAgACgCPEEFdjYCPCAAIAAoAjhBBWs2AjggACgCUCAAKAI8QQ9xQQRqNgJgIAAgACgCPEEEdjYCPCAAIAAoAjhBBGs2AjgCQCAAKAJQKAJkQZ4CTQRAIAAoAlAoAmhBHk0NAQsgACgCWEH9CTYCGCAAKAJQQdH+ADYCBAwRCyAAKAJQQQA2AmwgACgCUEHF/gA2AgQLA0AgACgCUCgCbCAAKAJQKAJgSQRAA0AgACgCOEEDSQRAIAAoAkRFDRIgACAAKAJEQQFrNgJEIAAgACgCTCIBQQFqNgJMIAAgACgCPCABLQAAIAAoAjh0ajYCPCAAIAAoAjhBCGo2AjgMAQsLIAAoAjxBB3EhAiAAKAJQQfQAaiEDIAAoAlAiBCgCbCEBIAQgAUEBajYCbCABQQF0QYDyAGovAQBBAXQgA2ogAjsBACAAIAAoAjxBA3Y2AjwgACAAKAI4QQNrNgI4DAELCwNAIAAoAlAoAmxBE0kEQCAAKAJQQfQAaiECIAAoAlAiAygCbCEBIAMgAUEBajYCbCABQQF0QYDyAGovAQBBAXQgAmpBADsBAAwBCwsgACgCUCAAKAJQQbQKajYCcCAAKAJQIAAoAlAoAnA2AlAgACgCUEEHNgJYIABBACAAKAJQQfQAakETIAAoAlBB8ABqIAAoAlBB2ABqIAAoAlBB9AVqEHU2AhAgACgCEARAIAAoAlhBhwk2AhggACgCUEHR/gA2AgQMEAsgACgCUEEANgJsIAAoAlBBxv4ANgIECwNAAkAgACgCUCgCbCAAKAJQKAJkIAAoAlAoAmhqTw0AA0ACQCAAIAAoAlAoAlAgACgCPEEBIAAoAlAoAlh0QQFrcUECdGooAQA2ASAgAC0AISAAKAI4TQ0AIAAoAkRFDREgACAAKAJEQQFrNgJEIAAgACgCTCIBQQFqNgJMIAAgACgCPCABLQAAIAAoAjh0ajYCPCAAIAAoAjhBCGo2AjgMAQsLAkAgAC8BIkEQSQRAIAAgACgCPCAALQAhdjYCPCAAIAAoAjggAC0AIWs2AjggAC8BIiECIAAoAlBB9ABqIQMgACgCUCIEKAJsIQEgBCABQQFqNgJsIAFBAXQgA2ogAjsBAAwBCwJAIAAvASJBEEYEQANAIAAoAjggAC0AIUECakkEQCAAKAJERQ0UIAAgACgCREEBazYCRCAAIAAoAkwiAUEBajYCTCAAIAAoAjwgAS0AACAAKAI4dGo2AjwgACAAKAI4QQhqNgI4DAELCyAAIAAoAjwgAC0AIXY2AjwgACAAKAI4IAAtACFrNgI4IAAoAlAoAmxFBEAgACgCWEHPCTYCGCAAKAJQQdH+ADYCBAwECyAAIAAoAlAgACgCUCgCbEEBdGovAXI2AhQgACAAKAI8QQNxQQNqNgIsIAAgACgCPEECdjYCPCAAIAAoAjhBAms2AjgMAQsCQCAALwEiQRFGBEADQCAAKAI4IAAtACFBA2pJBEAgACgCREUNFSAAIAAoAkRBAWs2AkQgACAAKAJMIgFBAWo2AkwgACAAKAI8IAEtAAAgACgCOHRqNgI8IAAgACgCOEEIajYCOAwBCwsgACAAKAI8IAAtACF2NgI8IAAgACgCOCAALQAhazYCOCAAQQA2AhQgACAAKAI8QQdxQQNqNgIsIAAgACgCPEEDdjYCPCAAIAAoAjhBA2s2AjgMAQsDQCAAKAI4IAAtACFBB2pJBEAgACgCREUNFCAAIAAoAkRBAWs2AkQgACAAKAJMIgFBAWo2AkwgACAAKAI8IAEtAAAgACgCOHRqNgI8IAAgACgCOEEIajYCOAwBCwsgACAAKAI8IAAtACF2NgI8IAAgACgCOCAALQAhazYCOCAAQQA2AhQgACAAKAI8Qf8AcUELajYCLCAAIAAoAjxBB3Y2AjwgACAAKAI4QQdrNgI4CwsgACgCUCgCbCAAKAIsaiAAKAJQKAJkIAAoAlAoAmhqSwRAIAAoAlhBzwk2AhggACgCUEHR/gA2AgQMAgsDQCAAIAAoAiwiAUEBazYCLCABBEAgACgCFCECIAAoAlBB9ABqIQMgACgCUCIEKAJsIQEgBCABQQFqNgJsIAFBAXQgA2ogAjsBAAwBCwsLDAELCyAAKAJQKAIEQdH+AEYNDiAAKAJQLwH0BEUEQCAAKAJYQfULNgIYIAAoAlBB0f4ANgIEDA8LIAAoAlAgACgCUEG0Cmo2AnAgACgCUCAAKAJQKAJwNgJQIAAoAlBBCTYCWCAAQQEgACgCUEH0AGogACgCUCgCZCAAKAJQQfAAaiAAKAJQQdgAaiAAKAJQQfQFahB1NgIQIAAoAhAEQCAAKAJYQesINgIYIAAoAlBB0f4ANgIEDA8LIAAoAlAgACgCUCgCcDYCVCAAKAJQQQY2AlwgAEECIAAoAlBB9ABqIAAoAlAoAmRBAXRqIAAoAlAoAmggACgCUEHwAGogACgCUEHcAGogACgCUEH0BWoQdTYCECAAKAIQBEAgACgCWEG5CTYCGCAAKAJQQdH+ADYCBAwPCyAAKAJQQcf+ADYCBCAAKAJUQQZGDQ0LIAAoAlBByP4ANgIECwJAIAAoAkRBBkkNACAAKAJAQYICSQ0AIAAoAlggACgCSDYCDCAAKAJYIAAoAkA2AhAgACgCWCAAKAJMNgIAIAAoAlggACgCRDYCBCAAKAJQIAAoAjw2AjwgACgCUCAAKAI4NgJAIAAoAjAhAiMAQeAAayIBIAAoAlg2AlwgASACNgJYIAEgASgCXCgCHDYCVCABIAEoAlwoAgA2AlAgASABKAJQIAEoAlwoAgRBBWtqNgJMIAEgASgCXCgCDDYCSCABIAEoAkggASgCWCABKAJcKAIQa2s2AkQgASABKAJIIAEoAlwoAhBBgQJrajYCQCABIAEoAlQoAiw2AjwgASABKAJUKAIwNgI4IAEgASgCVCgCNDYCNCABIAEoAlQoAjg2AjAgASABKAJUKAI8NgIsIAEgASgCVCgCQDYCKCABIAEoAlQoAlA2AiQgASABKAJUKAJUNgIgIAFBASABKAJUKAJYdEEBazYCHCABQQEgASgCVCgCXHRBAWs2AhgDQCABKAIoQQ9JBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABIAEoAlAiAkEBajYCUCABIAEoAiwgAi0AACABKAIodGo2AiwgASABKAIoQQhqNgIoCyABIAEoAiQgASgCLCABKAIccUECdGooAQA2ARACQAJAA0AgASABLQARNgIMIAEgASgCLCABKAIMdjYCLCABIAEoAiggASgCDGs2AiggASABLQAQNgIMIAEoAgxFBEAgAS8BEiECIAEgASgCSCIDQQFqNgJIIAMgAjoAAAwCCyABKAIMQRBxBEAgASABLwESNgIIIAEgASgCDEEPcTYCDCABKAIMBEAgASgCKCABKAIMSQRAIAEgASgCUCICQQFqNgJQIAEgASgCLCACLQAAIAEoAih0ajYCLCABIAEoAihBCGo2AigLIAEgASgCCCABKAIsQQEgASgCDHRBAWtxajYCCCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoCyABKAIoQQ9JBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABIAEoAlAiAkEBajYCUCABIAEoAiwgAi0AACABKAIodGo2AiwgASABKAIoQQhqNgIoCyABIAEoAiAgASgCLCABKAIYcUECdGooAQA2ARACQANAIAEgAS0AETYCDCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoIAEgAS0AEDYCDCABKAIMQRBxBEAgASABLwESNgIEIAEgASgCDEEPcTYCDCABKAIoIAEoAgxJBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABKAIoIAEoAgxJBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKAsLIAEgASgCBCABKAIsQQEgASgCDHRBAWtxajYCBCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoIAEgASgCSCABKAJEazYCDAJAIAEoAgQgASgCDEsEQCABIAEoAgQgASgCDGs2AgwgASgCDCABKAI4SwRAIAEoAlQoAsQ3BEAgASgCXEHdDDYCGCABKAJUQdH+ADYCBAwKCwsgASABKAIwNgIAAkAgASgCNEUEQCABIAEoAgAgASgCPCABKAIMa2o2AgAgASgCDCABKAIISQRAIAEgASgCCCABKAIMazYCCANAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIMQQFrIgI2AgwgAg0ACyABIAEoAkggASgCBGs2AgALDAELAkAgASgCNCABKAIMSQRAIAEgASgCACABKAI8IAEoAjRqIAEoAgxrajYCACABIAEoAgwgASgCNGs2AgwgASgCDCABKAIISQRAIAEgASgCCCABKAIMazYCCANAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIMQQFrIgI2AgwgAg0ACyABIAEoAjA2AgAgASgCNCABKAIISQRAIAEgASgCNDYCDCABIAEoAgggASgCDGs2AggDQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCDEEBayICNgIMIAINAAsgASABKAJIIAEoAgRrNgIACwsMAQsgASABKAIAIAEoAjQgASgCDGtqNgIAIAEoAgwgASgCCEkEQCABIAEoAgggASgCDGs2AggDQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCDEEBayICNgIMIAINAAsgASABKAJIIAEoAgRrNgIACwsLA0AgASgCCEECSwRAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIAIgJBAWo2AgAgAi0AACECIAEgASgCSCIDQQFqNgJIIAMgAjoAACABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCCEEDazYCCAwBCwsMAQsgASABKAJIIAEoAgRrNgIAA0AgASABKAIAIgJBAWo2AgAgAi0AACECIAEgASgCSCIDQQFqNgJIIAMgAjoAACABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIIQQNrNgIIIAEoAghBAksNAAsLIAEoAggEQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEoAghBAUsEQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAACwsMAgsgASgCDEHAAHFFBEAgASABKAIgIAEvARIgASgCLEEBIAEoAgx0QQFrcWpBAnRqKAEANgEQDAELCyAB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AG5hbgAvZGV2L3VyYW5kb20AaW52YWxpZCBjb2RlIC0tIG1pc3NpbmcgZW5kLW9mLWJsb2NrAGluY29ycmVjdCBoZWFkZXIgY2hlY2sAaW5jb3JyZWN0IGxlbmd0aCBjaGVjawBpbmNvcnJlY3QgZGF0YSBjaGVjawBpbnZhbGlkIGRpc3RhbmNlIHRvbyBmYXIgYmFjawBoZWFkZXIgY3JjIG1pc21hdGNoAGluZgBpbnZhbGlkIHdpbmRvdyBzaXplAFJlYWQtb25seSBhcmNoaXZlAE5vdCBhIHppcCBhcmNoaXZlAFJlc291cmNlIHN0aWxsIGluIHVzZQBNYWxsb2MgZmFpbHVyZQBpbnZhbGlkIGJsb2NrIHR5cGUARmFpbHVyZSB0byBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUAQ2FuJ3Qgb3BlbiBmaWxlAE5vIHN1Y2ggZmlsZQBQcmVtYXR1cmUgZW5kIG9mIGZpbGUAQ2FuJ3QgcmVtb3ZlIGZpbGUAaW52YWxpZCBsaXRlcmFsL2xlbmd0aCBjb2RlAGludmFsaWQgZGlzdGFuY2UgY29kZQB1bmtub3duIGNvbXByZXNzaW9uIG1ldGhvZABzdHJlYW0gZW5kAENvbXByZXNzZWQgZGF0YSBpbnZhbGlkAE11bHRpLWRpc2sgemlwIGFyY2hpdmVzIG5vdCBzdXBwb3J0ZWQAT3BlcmF0aW9uIG5vdCBzdXBwb3J0ZWQARW5jcnlwdGlvbiBtZXRob2Qgbm90IHN1cHBvcnRlZABDb21wcmVzc2lvbiBtZXRob2Qgbm90IHN1cHBvcnRlZABFbnRyeSBoYXMgYmVlbiBkZWxldGVkAENvbnRhaW5pbmcgemlwIGFyY2hpdmUgd2FzIGNsb3NlZABDbG9zaW5nIHppcCBhcmNoaXZlIGZhaWxlZABSZW5hbWluZyB0ZW1wb3JhcnkgZmlsZSBmYWlsZWQARW50cnkgaGFzIGJlZW4gY2hhbmdlZABObyBwYXNzd29yZCBwcm92aWRlZABXcm9uZyBwYXNzd29yZCBwcm92aWRlZABVbmtub3duIGVycm9yICVkAHJiAHIrYgByd2EAJXMuWFhYWFhYAE5BTgBJTkYAQUUAMS4yLjExAC9wcm9jL3NlbGYvZmQvAC4AKG51bGwpADogAFBLBgcA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0gAIADIACACyAAgAcgAIAPIACAAKAAgAigAIAEoACADKAAgAKgAIAKoACABqAAgA6gAIABoACACaAAgAWgAIANoACAA6AAgAugAIAHoACAD6AAgABgAIAIYACABGAAgAxgAIACYACACmAAgAZgAIAOYACAAWAAgAlgAIAFYACADWAAgANgAIALYACAB2AAgA9gAIAA4ACACOAAgATgAIAM4ACAAuAAgArgAIAG4ACADuAAgAHgAIAJ4ACABeAAgA3gAIAD4ACAC+AAgAfgAIAP4ACAABAAgAgQAIAEEACADBAAgAIQAIAKEACABhAAgA4QAIABEACACRAAgAUQAIANEACAAxAAgAsQAIAHEACADxAAgACQAIAIkACABJAAgAyQAIACkACACpAAgAaQAIAOkACAAZAAgAmQAIAFkACADZAAgAOQAIALkACAB5AAgA+QAIAAUACACFAAgARQAIAMUACAAlAAgApQAIAGUACADlAAgAFQAIAJUACABVAAgA1QAIADUACAC1AAgAdQAIAPUACAANAAgAjQAIAE0ACADNAAgALQAIAK0ACABtAAgA7QAIAB0ACACdAAgAXQAIAN0ACAA9AAgAvQAIAH0ACAD9AAgAEwAJABMBCQCTAAkAkwEJAFMACQBTAQkA0wAJANMBCQAzAAkAMwEJALMACQCzAQkAcwAJAHMBCQDzAAkA8wEJAAsACQALAQkAiwAJAIsBCQBLAAkASwEJAMsACQDLAQkAKwAJACsBCQCrAAkAqwEJAGsACQBrAQkA6wAJAOsBCQAbAAkAGwEJAJsACQCbAQkAWwAJAFsBCQDbAAkA2wEJADsACQA7AQkAuwAJALsBCQB7AAkAewEJAPsACQD7AQkABwAJAAcBCQCHAAkAhwEJAEcACQBHAQkAxwAJAMcBCQAnAAkAJwEJAKcACQCnAQkAZwAJAGcBCQDnAAkA5wEJABcACQAXAQkAlwAJAJcBCQBXAAkAVwEJANcACQDXAQkANwAJADcBCQC3AAkAtwEJAHcACQB3AQkA9wAJAPcBCQAPAAkADwEJAI8ACQCPAQkATwAJAE8BCQDPAAkAzwEJAC8ACQAvAQkArwAJAK8BCQBvAAkAbwEJAO8ACQDvAQkAHwAJAB8BCQCfAAkAnwEJAF8ACQBfAQkA3wAJAN8BCQA/AAkAPwEJAL8ACQC/AQkAfwAJAH8BCQD/AAkA/wEJAAAABwBAAAcAIAAHAGAABwAQAAcAUAAHADAABwBwAAcACAAHAEgABwAoAAcAaAAHABgABwBYAAcAOAAHAHgABwAEAAcARAAHACQABwBkAAcAFAAHAFQABwA0AAcAdAAHAAMACACDAAgAQwAIAMMACAAjAAgAowAIAGMACADjAAgAAAAFABAABQAIAAUAGAAFAAQABQAUAAUADAAFABwABQACAAUAEgAFAAoABQAaAAUABgAFABYABQAOAAUAHgAFAAEABQARAAUACQAFABkABQAFAAUAFQAFAA0ABQAdAAUAAwAFABMABQALAAUAGwAFAAcABQAXAAUAQbDqAAtNAQAAAAEAAAABAAAAAQAAAAIAAAACAAAAAgAAAAIAAAADAAAAAwAAAAMAAAADAAAABAAAAAQAAAAEAAAABAAAAAUAAAAFAAAABQAAAAUAQaDrAAtlAQAAAAEAAAACAAAAAgAAAAMAAAADAAAABAAAAAQAAAAFAAAABQAAAAYAAAAGAAAABwAAAAcAAAAIAAAACAAAAAkAAAAJAAAACgAAAAoAAAALAAAACwAAAAwAAAAMAAAADQAAAA0AQdDsAAsjAgAAAAMAAAAHAAAAAAAAABAREgAIBwkGCgULBAwDDQIOAQ8AQYTtAAtpAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAKAAAADAAAAA4AAAAQAAAAFAAAABgAAAAcAAAAIAAAACgAAAAwAAAAOAAAAEAAAABQAAAAYAAAAHAAAACAAAAAoAAAAMAAAADgAEGE7gALegEAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAAABAACAAQAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAMS4yLjExAEGI7wALbQcAAAAEAAQACAAEAAgAAAAEAAUAEAAIAAgAAAAEAAYAIAAgAAgAAAAEAAQAEAAQAAkAAAAIABAAIAAgAAkAAAAIABAAgACAAAkAAAAIACAAgAAAAQkAAAAgAIAAAgEABAkAAAAgAAIBAgEAEAkAQYDwAAulAgMABAAFAAYABwAIAAkACgALAA0ADwARABMAFwAbAB8AIwArADMAOwBDAFMAYwBzAIMAowDDAOMAAgEAAAAAAAAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABMAEwATABMAFAAUABQAFAAVABUAFQAVABAATQDKAAAAAQACAAMABAAFAAcACQANABEAGQAhADEAQQBhAIEAwQABAYEBAQIBAwEEAQYBCAEMARABGAEgATABQAFgAAAAABAAEAAQABAAEQARABIAEgATABMAFAAUABUAFQAWABYAFwAXABgAGAAZABkAGgAaABsAGwAcABwAHQAdAEAAQAAQABEAEgAAAAgABwAJAAYACgAFAAsABAAMAAMADQACAA4AAQAPAEGw8gALwRFgBwAAAAhQAAAIEAAUCHMAEgcfAAAIcAAACDAAAAnAABAHCgAACGAAAAggAAAJoAAACAAAAAiAAAAIQAAACeAAEAcGAAAIWAAACBgAAAmQABMHOwAACHgAAAg4AAAJ0AARBxEAAAhoAAAIKAAACbAAAAgIAAAIiAAACEgAAAnwABAHBAAACFQAAAgUABUI4wATBysAAAh0AAAINAAACcgAEQcNAAAIZAAACCQAAAmoAAAIBAAACIQAAAhEAAAJ6AAQBwgAAAhcAAAIHAAACZgAFAdTAAAIfAAACDwAAAnYABIHFwAACGwAAAgsAAAJuAAACAwAAAiMAAAITAAACfgAEAcDAAAIUgAACBIAFQijABMHIwAACHIAAAgyAAAJxAARBwsAAAhiAAAIIgAACaQAAAgCAAAIggAACEIAAAnkABAHBwAACFoAAAgaAAAJlAAUB0MAAAh6AAAIOgAACdQAEgcTAAAIagAACCoAAAm0AAAICgAACIoAAAhKAAAJ9AAQBwUAAAhWAAAIFgBACAAAEwczAAAIdgAACDYAAAnMABEHDwAACGYAAAgmAAAJrAAACAYAAAiGAAAIRgAACewAEAcJAAAIXgAACB4AAAmcABQHYwAACH4AAAg+AAAJ3AASBxsAAAhuAAAILgAACbwAAAgOAAAIjgAACE4AAAn8AGAHAAAACFEAAAgRABUIgwASBx8AAAhxAAAIMQAACcIAEAcKAAAIYQAACCEAAAmiAAAIAQAACIEAAAhBAAAJ4gAQBwYAAAhZAAAIGQAACZIAEwc7AAAIeQAACDkAAAnSABEHEQAACGkAAAgpAAAJsgAACAkAAAiJAAAISQAACfIAEAcEAAAIVQAACBUAEAgCARMHKwAACHUAAAg1AAAJygARBw0AAAhlAAAIJQAACaoAAAgFAAAIhQAACEUAAAnqABAHCAAACF0AAAgdAAAJmgAUB1MAAAh9AAAIPQAACdoAEgcXAAAIbQAACC0AAAm6AAAIDQAACI0AAAhNAAAJ+gAQBwMAAAhTAAAIEwAVCMMAEwcjAAAIcwAACDMAAAnGABEHCwAACGMAAAgjAAAJpgAACAMAAAiDAAAIQwAACeYAEAcHAAAIWwAACBsAAAmWABQHQwAACHsAAAg7AAAJ1gASBxMAAAhrAAAIKwAACbYAAAgLAAAIiwAACEsAAAn2ABAHBQAACFcAAAgXAEAIAAATBzMAAAh3AAAINwAACc4AEQcPAAAIZwAACCcAAAmuAAAIBwAACIcAAAhHAAAJ7gAQBwkAAAhfAAAIHwAACZ4AFAdjAAAIfwAACD8AAAneABIHGwAACG8AAAgvAAAJvgAACA8AAAiPAAAITwAACf4AYAcAAAAIUAAACBAAFAhzABIHHwAACHAAAAgwAAAJwQAQBwoAAAhgAAAIIAAACaEAAAgAAAAIgAAACEAAAAnhABAHBgAACFgAAAgYAAAJkQATBzsAAAh4AAAIOAAACdEAEQcRAAAIaAAACCgAAAmxAAAICAAACIgAAAhIAAAJ8QAQBwQAAAhUAAAIFAAVCOMAEwcrAAAIdAAACDQAAAnJABEHDQAACGQAAAgkAAAJqQAACAQAAAiEAAAIRAAACekAEAcIAAAIXAAACBwAAAmZABQHUwAACHwAAAg8AAAJ2QASBxcAAAhsAAAILAAACbkAAAgMAAAIjAAACEwAAAn5ABAHAwAACFIAAAgSABUIowATByMAAAhyAAAIMgAACcUAEQcLAAAIYgAACCIAAAmlAAAIAgAACIIAAAhCAAAJ5QAQBwcAAAhaAAAIGgAACZUAFAdDAAAIegAACDoAAAnVABIHEwAACGoAAAgqAAAJtQAACAoAAAiKAAAISgAACfUAEAcFAAAIVgAACBYAQAgAABMHMwAACHYAAAg2AAAJzQARBw8AAAhmAAAIJgAACa0AAAgGAAAIhgAACEYAAAntABAHCQAACF4AAAgeAAAJnQAUB2MAAAh+AAAIPgAACd0AEgcbAAAIbgAACC4AAAm9AAAIDgAACI4AAAhOAAAJ/QBgBwAAAAhRAAAIEQAVCIMAEgcfAAAIcQAACDEAAAnDABAHCgAACGEAAAghAAAJowAACAEAAAiBAAAIQQAACeMAEAcGAAAIWQAACBkAAAmTABMHOwAACHkAAAg5AAAJ0wARBxEAAAhpAAAIKQAACbMAAAgJAAAIiQAACEkAAAnzABAHBAAACFUAAAgVABAIAgETBysAAAh1AAAINQAACcsAEQcNAAAIZQAACCUAAAmrAAAIBQAACIUAAAhFAAAJ6wAQBwgAAAhdAAAIHQAACZsAFAdTAAAIfQAACD0AAAnbABIHFwAACG0AAAgtAAAJuwAACA0AAAiNAAAITQAACfsAEAcDAAAIUwAACBMAFQjDABMHIwAACHMAAAgzAAAJxwARBwsAAAhjAAAIIwAACacAAAgDAAAIgwAACEMAAAnnABAHBwAACFsAAAgbAAAJlwAUB0MAAAh7AAAIOwAACdcAEgcTAAAIawAACCsAAAm3AAAICwAACIsAAAhLAAAJ9wAQBwUAAAhXAAAIFwBACAAAEwczAAAIdwAACDcAAAnPABEHDwAACGcAAAgnAAAJrwAACAcAAAiHAAAIRwAACe8AEAcJAAAIXwAACB8AAAmfABQHYwAACH8AAAg/AAAJ3wASBxsAAAhvAAAILwAACb8AAAgPAAAIjwAACE8AAAn/ABAFAQAXBQEBEwURABsFARARBQUAGQUBBBUFQQAdBQFAEAUDABgFAQIUBSEAHAUBIBIFCQAaBQEIFgWBAEAFAAAQBQIAFwWBARMFGQAbBQEYEQUHABkFAQYVBWEAHQUBYBAFBAAYBQEDFAUxABwFATASBQ0AGgUBDBYFwQBABQAAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAEACQsLAAAJBgsAAAsABhEAAAAREREAQYGEAQshCwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAEG7hAELAQwAQceEAQsVDAAAAAAMAAAAAAkMAAAAAAAMAAAMAEH1hAELAQ4AQYGFAQsVDQAAAAQNAAAAAAkOAAAAAAAOAAAOAEGvhQELARAAQbuFAQseDwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAEHyhQELDhIAAAASEhIAAAAAAAAJAEGjhgELAQsAQa+GAQsVCgAAAAAKAAAAAAkLAAAAAAALAAALAEHdhgELAQwAQemGAQsnDAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGAEG0hwELARkAQduHAQsF//////8AQaCIAQtXGRJEOwI/LEcUPTMwChsGRktFNw9JDo4XA0AdPGkrNh9KLRwBICUpIQgMFRYiLhA4Pgs0MRhkdHV2L0EJfzkRI0MyQomKiwUEJignDSoeNYwHGkiTE5SVAEGAiQELig5JbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgBBkJcBC1JQUFAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAAAEAAAAIAAAAlEsAALRLAEGQmQELAgxQAEHImQELCR8AAADkTAAAAwBB5JkBC4wBLfRRWM+MscBG9rXLKTEDxwRbcDC0Xf0geH+LmthZKVBoSImrp1YDbP+3zYg/1He0K6WjcPG65Kj8QYP92W/hinovLXSWBx8NCV4Ddixw90ClLKdvV0GoqnTfoFhkA0rHxDxTrq9fGAQVseNtKIarDKS/Q/DpUIE5VxZSN/////////////////////8=";Ag(Io)||(Io=h(Io));function lg(d){try{if(d==Io&&V)return new Uint8Array(V);var E=pa(d);if(E)return E;if(C)return C(d);throw"sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)"}catch(I){wr(I)}}function wp(d,E){var I,k,T;try{T=lg(d),k=new WebAssembly.Module(T),I=new WebAssembly.Instance(k,E)}catch(te){var Z=te.toString();throw D("failed to compile wasm module: "+Z),(Z.includes("imported Memory")||Z.includes("memory import"))&&D("Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time)."),te}return[I,k]}function Bp(){var d={a:da};function E(T,Z){var te=T.exports;t.asm=te,A=t.asm.u,Or(A.buffer),gi=t.asm.pa,pA(t.asm.v),mA("wasm-instantiate")}if(CA("wasm-instantiate"),t.instantiateWasm)try{var I=t.instantiateWasm(d,E);return I}catch(T){return D("Module.instantiateWasm callback failed with error: "+T),!1}var k=wp(Io,d);return E(k[0]),t.asm}var vr,se;function yo(d){for(;d.length>0;){var E=d.shift();if(typeof E=="function"){E(t);continue}var I=E.func;typeof I=="number"?E.arg===void 0?gi.get(I)():gi.get(I)(E.arg):I(E.arg===void 0?null:E.arg)}}function kn(d,E){var I=new Date(de[d>>2]*1e3);de[E>>2]=I.getUTCSeconds(),de[E+4>>2]=I.getUTCMinutes(),de[E+8>>2]=I.getUTCHours(),de[E+12>>2]=I.getUTCDate(),de[E+16>>2]=I.getUTCMonth(),de[E+20>>2]=I.getUTCFullYear()-1900,de[E+24>>2]=I.getUTCDay(),de[E+36>>2]=0,de[E+32>>2]=0;var k=Date.UTC(I.getUTCFullYear(),0,1,0,0,0,0),T=(I.getTime()-k)/(1e3*60*60*24)|0;return de[E+28>>2]=T,kn.GMTString||(kn.GMTString=we("GMT")),de[E+40>>2]=kn.GMTString,E}function cg(d,E){return kn(d,E)}var Qt={splitPath:function(d){var E=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return E.exec(d).slice(1)},normalizeArray:function(d,E){for(var I=0,k=d.length-1;k>=0;k--){var T=d[k];T==="."?d.splice(k,1):T===".."?(d.splice(k,1),I++):I&&(d.splice(k,1),I--)}if(E)for(;I;I--)d.unshift("..");return d},normalize:function(d){var E=d.charAt(0)==="/",I=d.substr(-1)==="/";return d=Qt.normalizeArray(d.split("/").filter(function(k){return!!k}),!E).join("/"),!d&&!E&&(d="."),d&&I&&(d+="/"),(E?"/":"")+d},dirname:function(d){var E=Qt.splitPath(d),I=E[0],k=E[1];return!I&&!k?".":(k&&(k=k.substr(0,k.length-1)),I+k)},basename:function(d){if(d==="/")return"/";d=Qt.normalize(d),d=d.replace(/\/$/,"");var E=d.lastIndexOf("/");return E===-1?d:d.substr(E+1)},extname:function(d){return Qt.splitPath(d)[3]},join:function(){var d=Array.prototype.slice.call(arguments,0);return Qt.normalize(d.join("/"))},join2:function(d,E){return Qt.normalize(d+"/"+E)}};function Rl(){if(typeof crypto=="object"&&typeof crypto.getRandomValues=="function"){var d=new Uint8Array(1);return function(){return crypto.getRandomValues(d),d[0]}}else if(g)try{var E=J("crypto");return function(){return E.randomBytes(1)[0]}}catch{}return function(){wr("randomDevice")}}var Rn={resolve:function(){for(var d="",E=!1,I=arguments.length-1;I>=-1&&!E;I--){var k=I>=0?arguments[I]:S.cwd();if(typeof k!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!k)return"";d=k+"/"+d,E=k.charAt(0)==="/"}return d=Qt.normalizeArray(d.split("/").filter(function(T){return!!T}),!E).join("/"),(E?"/":"")+d||"."},relative:function(d,E){d=Rn.resolve(d).substr(1),E=Rn.resolve(E).substr(1);function I(Je){for(var nt=0;nt=0&&Je[wt]==="";wt--);return nt>wt?[]:Je.slice(nt,wt-nt+1)}for(var k=I(d.split("/")),T=I(E.split("/")),Z=Math.min(k.length,T.length),te=Z,Be=0;Be0?E=k.slice(0,T).toString("utf-8"):E=null}else typeof window<"u"&&typeof window.prompt=="function"?(E=window.prompt("Input: "),E!==null&&(E+=` `)):typeof readline=="function"&&(E=readline(),E!==null&&(E+=` -`));if(!E)return null;d.input=gA(E,!0)}return d.input.shift()},put_char:function(d,E){E===null||E===10?(v(ke(d.output,0)),d.output=[]):E!=0&&d.output.push(E)},flush:function(d){d.output&&d.output.length>0&&(v(ke(d.output,0)),d.output=[])}},default_tty1_ops:{put_char:function(d,E){E===null||E===10?(D(ke(d.output,0)),d.output=[]):E!=0&&d.output.push(E)},flush:function(d){d.output&&d.output.length>0&&(D(ke(d.output,0)),d.output=[])}}};function es(d){for(var E=H(d,65536),I=dt(E);d=E)){var k=1024*1024;E=Math.max(E,I*(I>>0),I!=0&&(E=Math.max(E,256));var T=d.contents;d.contents=new Uint8Array(E),d.usedBytes>0&&d.contents.set(T.subarray(0,d.usedBytes),0)}},resizeFileStorage:function(d,E){if(d.usedBytes!=E)if(E==0)d.contents=null,d.usedBytes=0;else{var I=d.contents;d.contents=new Uint8Array(E),I&&d.contents.set(I.subarray(0,Math.min(E,d.usedBytes))),d.usedBytes=E}},node_ops:{getattr:function(d){var E={};return E.dev=S.isChrdev(d.mode)?d.id:1,E.ino=d.id,E.mode=d.mode,E.nlink=1,E.uid=0,E.gid=0,E.rdev=d.rdev,S.isDir(d.mode)?E.size=4096:S.isFile(d.mode)?E.size=d.usedBytes:S.isLink(d.mode)?E.size=d.link.length:E.size=0,E.atime=new Date(d.timestamp),E.mtime=new Date(d.timestamp),E.ctime=new Date(d.timestamp),E.blksize=4096,E.blocks=Math.ceil(E.size/E.blksize),E},setattr:function(d,E){E.mode!==void 0&&(d.mode=E.mode),E.timestamp!==void 0&&(d.timestamp=E.timestamp),E.size!==void 0&>.resizeFileStorage(d,E.size)},lookup:function(d,E){throw S.genericErrors[44]},mknod:function(d,E,I,k){return gt.createNode(d,E,I,k)},rename:function(d,E,I){if(S.isDir(d.mode)){var k;try{k=S.lookupNode(E,I)}catch{}if(k)for(var T in k.contents)throw new S.ErrnoError(55)}delete d.parent.contents[d.name],d.parent.timestamp=Date.now(),d.name=I,E.contents[I]=d,E.timestamp=d.parent.timestamp,d.parent=E},unlink:function(d,E){delete d.contents[E],d.timestamp=Date.now()},rmdir:function(d,E){var I=S.lookupNode(d,E);for(var k in I.contents)throw new S.ErrnoError(55);delete d.contents[E],d.timestamp=Date.now()},readdir:function(d){var E=[".",".."];for(var I in d.contents)!d.contents.hasOwnProperty(I)||E.push(I);return E},symlink:function(d,E,I){var k=gt.createNode(d,E,41471,0);return k.link=I,k},readlink:function(d){if(!S.isLink(d.mode))throw new S.ErrnoError(28);return d.link}},stream_ops:{read:function(d,E,I,k,T){var _=d.node.contents;if(T>=d.node.usedBytes)return 0;var te=Math.min(d.node.usedBytes-T,k);if(te>8&&_.subarray)E.set(_.subarray(T,T+te),I);else for(var Be=0;Be0||k+I>2)}catch(I){throw I.code?new S.ErrnoError(At.convertNodeCode(I)):I}return E.mode},realPath:function(d){for(var E=[];d.parent!==d;)E.push(d.name),d=d.parent;return E.push(d.mount.opts.root),E.reverse(),Qt.join.apply(null,E)},flagsForNode:function(d){d&=-2097153,d&=-2049,d&=-32769,d&=-524289;var E=0;for(var I in At.flagsForNodeMap)d&I&&(E|=At.flagsForNodeMap[I],d^=I);if(d)throw new S.ErrnoError(28);return E},node_ops:{getattr:function(d){var E=At.realPath(d),I;try{I=Te.lstatSync(E)}catch(k){throw k.code?new S.ErrnoError(At.convertNodeCode(k)):k}return At.isWindows&&!I.blksize&&(I.blksize=4096),At.isWindows&&!I.blocks&&(I.blocks=(I.size+I.blksize-1)/I.blksize|0),{dev:I.dev,ino:I.ino,mode:I.mode,nlink:I.nlink,uid:I.uid,gid:I.gid,rdev:I.rdev,size:I.size,atime:I.atime,mtime:I.mtime,ctime:I.ctime,blksize:I.blksize,blocks:I.blocks}},setattr:function(d,E){var I=At.realPath(d);try{if(E.mode!==void 0&&(Te.chmodSync(I,E.mode),d.mode=E.mode),E.timestamp!==void 0){var k=new Date(E.timestamp);Te.utimesSync(I,k,k)}E.size!==void 0&&Te.truncateSync(I,E.size)}catch(T){throw T.code?new S.ErrnoError(At.convertNodeCode(T)):T}},lookup:function(d,E){var I=Qt.join2(At.realPath(d),E),k=At.getMode(I);return At.createNode(d,E,k)},mknod:function(d,E,I,k){var T=At.createNode(d,E,I,k),_=At.realPath(T);try{S.isDir(T.mode)?Te.mkdirSync(_,T.mode):Te.writeFileSync(_,"",{mode:T.mode})}catch(te){throw te.code?new S.ErrnoError(At.convertNodeCode(te)):te}return T},rename:function(d,E,I){var k=At.realPath(d),T=Qt.join2(At.realPath(E),I);try{Te.renameSync(k,T)}catch(_){throw _.code?new S.ErrnoError(At.convertNodeCode(_)):_}d.name=I},unlink:function(d,E){var I=Qt.join2(At.realPath(d),E);try{Te.unlinkSync(I)}catch(k){throw k.code?new S.ErrnoError(At.convertNodeCode(k)):k}},rmdir:function(d,E){var I=Qt.join2(At.realPath(d),E);try{Te.rmdirSync(I)}catch(k){throw k.code?new S.ErrnoError(At.convertNodeCode(k)):k}},readdir:function(d){var E=At.realPath(d);try{return Te.readdirSync(E)}catch(I){throw I.code?new S.ErrnoError(At.convertNodeCode(I)):I}},symlink:function(d,E,I){var k=Qt.join2(At.realPath(d),E);try{Te.symlinkSync(I,k)}catch(T){throw T.code?new S.ErrnoError(At.convertNodeCode(T)):T}},readlink:function(d){var E=At.realPath(d);try{return E=Te.readlinkSync(E),E=og.relative(og.resolve(d.mount.opts.root),E),E}catch(I){throw I.code?new S.ErrnoError(At.convertNodeCode(I)):I}}},stream_ops:{open:function(d){var E=At.realPath(d.node);try{S.isFile(d.node.mode)&&(d.nfd=Te.openSync(E,At.flagsForNode(d.flags)))}catch(I){throw I.code?new S.ErrnoError(At.convertNodeCode(I)):I}},close:function(d){try{S.isFile(d.node.mode)&&d.nfd&&Te.closeSync(d.nfd)}catch(E){throw E.code?new S.ErrnoError(At.convertNodeCode(E)):E}},read:function(d,E,I,k,T){if(k===0)return 0;try{return Te.readSync(d.nfd,At.bufferFrom(E.buffer),I,k,T)}catch(_){throw new S.ErrnoError(At.convertNodeCode(_))}},write:function(d,E,I,k,T){try{return Te.writeSync(d.nfd,At.bufferFrom(E.buffer),I,k,T)}catch(_){throw new S.ErrnoError(At.convertNodeCode(_))}},llseek:function(d,E,I){var k=E;if(I===1)k+=d.position;else if(I===2&&S.isFile(d.node.mode))try{var T=Te.fstatSync(d.nfd);k+=T.size}catch(_){throw new S.ErrnoError(At.convertNodeCode(_))}if(k<0)throw new S.ErrnoError(28);return k},mmap:function(d,E,I,k,T,_){if(E!==0)throw new S.ErrnoError(28);if(!S.isFile(d.node.mode))throw new S.ErrnoError(43);var te=es(I);return At.stream_ops.read(d,ne,te,I,k),{ptr:te,allocated:!0}},msync:function(d,E,I,k,T){if(!S.isFile(d.node.mode))throw new S.ErrnoError(43);if(T&2)return 0;var _=At.stream_ops.write(d,E,0,k,I,!1);return 0}}},an={lookupPath:function(d){return{path:d,node:{mode:At.getMode(d)}}},createStandardStreams:function(){S.streams[0]={fd:0,nfd:0,position:0,path:"",flags:0,tty:!0,seekable:!1};for(var d=1;d<3;d++)S.streams[d]={fd:d,nfd:d,position:0,path:"",flags:577,tty:!0,seekable:!1}},cwd:function(){return process.cwd()},chdir:function(){process.chdir.apply(void 0,arguments)},mknod:function(d,E){S.isDir(d)?Te.mkdirSync(d,E):Te.writeFileSync(d,"",{mode:E})},mkdir:function(){Te.mkdirSync.apply(void 0,arguments)},symlink:function(){Te.symlinkSync.apply(void 0,arguments)},rename:function(){Te.renameSync.apply(void 0,arguments)},rmdir:function(){Te.rmdirSync.apply(void 0,arguments)},readdir:function(){Te.readdirSync.apply(void 0,arguments)},unlink:function(){Te.unlinkSync.apply(void 0,arguments)},readlink:function(){return Te.readlinkSync.apply(void 0,arguments)},stat:function(){return Te.statSync.apply(void 0,arguments)},lstat:function(){return Te.lstatSync.apply(void 0,arguments)},chmod:function(){Te.chmodSync.apply(void 0,arguments)},fchmod:function(){Te.fchmodSync.apply(void 0,arguments)},chown:function(){Te.chownSync.apply(void 0,arguments)},fchown:function(){Te.fchownSync.apply(void 0,arguments)},truncate:function(){Te.truncateSync.apply(void 0,arguments)},ftruncate:function(d,E){if(E<0)throw new S.ErrnoError(28);Te.ftruncateSync.apply(void 0,arguments)},utime:function(){Te.utimesSync.apply(void 0,arguments)},open:function(d,E,I,k){typeof E=="string"&&(E=Os.modeStringToFlags(E));var T=Te.openSync(d,At.flagsForNode(E),I),_=k!=null?k:S.nextfd(T),te={fd:_,nfd:T,position:0,path:d,flags:E,seekable:!0};return S.streams[_]=te,te},close:function(d){d.stream_ops||Te.closeSync(d.nfd),S.closeStream(d.fd)},llseek:function(d,E,I){if(d.stream_ops)return Os.llseek(d,E,I);var k=E;if(I===1)k+=d.position;else if(I===2)k+=Te.fstatSync(d.nfd).size;else if(I!==0)throw new S.ErrnoError(mo.EINVAL);if(k<0)throw new S.ErrnoError(mo.EINVAL);return d.position=k,k},read:function(d,E,I,k,T){if(d.stream_ops)return Os.read(d,E,I,k,T);var _=typeof T<"u";!_&&d.seekable&&(T=d.position);var te=Te.readSync(d.nfd,At.bufferFrom(E.buffer),I,k,T);return _||(d.position+=te),te},write:function(d,E,I,k,T){if(d.stream_ops)return Os.write(d,E,I,k,T);d.flags&+"1024"&&S.llseek(d,0,+"2");var _=typeof T<"u";!_&&d.seekable&&(T=d.position);var te=Te.writeSync(d.nfd,At.bufferFrom(E.buffer),I,k,T);return _||(d.position+=te),te},allocate:function(){throw new S.ErrnoError(mo.EOPNOTSUPP)},mmap:function(d,E,I,k,T,_){if(d.stream_ops)return Os.mmap(d,E,I,k,T,_);if(E!==0)throw new S.ErrnoError(28);var te=es(I);return S.read(d,ne,te,I,k),{ptr:te,allocated:!0}},msync:function(d,E,I,k,T){return d.stream_ops?Os.msync(d,E,I,k,T):(T&2||S.write(d,E,0,k,I),0)},munmap:function(){return 0},ioctl:function(){throw new S.ErrnoError(mo.ENOTTY)}},S={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:function(d,E){if(d=kn.resolve(S.cwd(),d),E=E||{},!d)return{path:"",node:null};var I={follow_mount:!0,recurse_count:0};for(var k in I)E[k]===void 0&&(E[k]=I[k]);if(E.recurse_count>8)throw new S.ErrnoError(32);for(var T=Qt.normalizeArray(d.split("/").filter(function(lt){return!!lt}),!1),_=S.root,te="/",Be=0;Be40)throw new S.ErrnoError(32)}}return{path:te,node:_}},getPath:function(d){for(var E;;){if(S.isRoot(d)){var I=d.mount.mountpoint;return E?I[I.length-1]!=="/"?I+"/"+E:I+E:I}E=E?d.name+"/"+E:d.name,d=d.parent}},hashName:function(d,E){for(var I=0,k=0;k>>0)%S.nameTable.length},hashAddNode:function(d){var E=S.hashName(d.parent.id,d.name);d.name_next=S.nameTable[E],S.nameTable[E]=d},hashRemoveNode:function(d){var E=S.hashName(d.parent.id,d.name);if(S.nameTable[E]===d)S.nameTable[E]=d.name_next;else for(var I=S.nameTable[E];I;){if(I.name_next===d){I.name_next=d.name_next;break}I=I.name_next}},lookupNode:function(d,E){var I=S.mayLookup(d);if(I)throw new S.ErrnoError(I,d);for(var k=S.hashName(d.id,E),T=S.nameTable[k];T;T=T.name_next){var _=T.name;if(T.parent.id===d.id&&_===E)return T}return S.lookup(d,E)},createNode:function(d,E,I,k){var T=new S.FSNode(d,E,I,k);return S.hashAddNode(T),T},destroyNode:function(d){S.hashRemoveNode(d)},isRoot:function(d){return d===d.parent},isMountpoint:function(d){return!!d.mounted},isFile:function(d){return(d&61440)===32768},isDir:function(d){return(d&61440)===16384},isLink:function(d){return(d&61440)===40960},isChrdev:function(d){return(d&61440)===8192},isBlkdev:function(d){return(d&61440)===24576},isFIFO:function(d){return(d&61440)===4096},isSocket:function(d){return(d&49152)===49152},flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:function(d){var E=S.flagModes[d];if(typeof E>"u")throw new Error("Unknown file open mode: "+d);return E},flagsToPermissionString:function(d){var E=["r","w","rw"][d&3];return d&512&&(E+="w"),E},nodePermissions:function(d,E){return S.ignorePermissions?0:E.includes("r")&&!(d.mode&292)||E.includes("w")&&!(d.mode&146)||E.includes("x")&&!(d.mode&73)?2:0},mayLookup:function(d){var E=S.nodePermissions(d,"x");return E||(d.node_ops.lookup?0:2)},mayCreate:function(d,E){try{var I=S.lookupNode(d,E);return 20}catch{}return S.nodePermissions(d,"wx")},mayDelete:function(d,E,I){var k;try{k=S.lookupNode(d,E)}catch(_){return _.errno}var T=S.nodePermissions(d,"wx");if(T)return T;if(I){if(!S.isDir(k.mode))return 54;if(S.isRoot(k)||S.getPath(k)===S.cwd())return 10}else if(S.isDir(k.mode))return 31;return 0},mayOpen:function(d,E){return d?S.isLink(d.mode)?32:S.isDir(d.mode)&&(S.flagsToPermissionString(E)!=="r"||E&512)?31:S.nodePermissions(d,S.flagsToPermissionString(E)):44},MAX_OPEN_FDS:4096,nextfd:function(d,E){d=d||0,E=E||S.MAX_OPEN_FDS;for(var I=d;I<=E;I++)if(!S.streams[I])return I;throw new S.ErrnoError(33)},getStream:function(d){return S.streams[d]},createStream:function(d,E,I){S.FSStream||(S.FSStream=function(){},S.FSStream.prototype={object:{get:function(){return this.node},set:function(te){this.node=te}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}});var k=new S.FSStream;for(var T in d)k[T]=d[T];d=k;var _=S.nextfd(E,I);return d.fd=_,S.streams[_]=d,d},closeStream:function(d){S.streams[d]=null},chrdev_stream_ops:{open:function(d){var E=S.getDevice(d.node.rdev);d.stream_ops=E.stream_ops,d.stream_ops.open&&d.stream_ops.open(d)},llseek:function(){throw new S.ErrnoError(70)}},major:function(d){return d>>8},minor:function(d){return d&255},makedev:function(d,E){return d<<8|E},registerDevice:function(d,E){S.devices[d]={stream_ops:E}},getDevice:function(d){return S.devices[d]},getMounts:function(d){for(var E=[],I=[d];I.length;){var k=I.pop();E.push(k),I.push.apply(I,k.mounts)}return E},syncfs:function(d,E){typeof d=="function"&&(E=d,d=!1),S.syncFSRequests++,S.syncFSRequests>1&&D("warning: "+S.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var I=S.getMounts(S.root.mount),k=0;function T(te){return S.syncFSRequests--,E(te)}function _(te){if(te)return _.errored?void 0:(_.errored=!0,T(te));++k>=I.length&&T(null)}I.forEach(function(te){if(!te.type.syncfs)return _(null);te.type.syncfs(te,d,_)})},mount:function(d,E,I){var k=I==="/",T=!I,_;if(k&&S.root)throw new S.ErrnoError(10);if(!k&&!T){var te=S.lookupPath(I,{follow_mount:!1});if(I=te.path,_=te.node,S.isMountpoint(_))throw new S.ErrnoError(10);if(!S.isDir(_.mode))throw new S.ErrnoError(54)}var Be={type:d,opts:E,mountpoint:I,mounts:[]},me=d.mount(Be);return me.mount=Be,Be.root=me,k?S.root=me:_&&(_.mounted=Be,_.mount&&_.mount.mounts.push(Be)),me},unmount:function(d){var E=S.lookupPath(d,{follow_mount:!1});if(!S.isMountpoint(E.node))throw new S.ErrnoError(28);var I=E.node,k=I.mounted,T=S.getMounts(k);Object.keys(S.nameTable).forEach(function(te){for(var Be=S.nameTable[te];Be;){var me=Be.name_next;T.includes(Be.mount)&&S.destroyNode(Be),Be=me}}),I.mounted=null;var _=I.mount.mounts.indexOf(k);I.mount.mounts.splice(_,1)},lookup:function(d,E){return d.node_ops.lookup(d,E)},mknod:function(d,E,I){var k=S.lookupPath(d,{parent:!0}),T=k.node,_=Qt.basename(d);if(!_||_==="."||_==="..")throw new S.ErrnoError(28);var te=S.mayCreate(T,_);if(te)throw new S.ErrnoError(te);if(!T.node_ops.mknod)throw new S.ErrnoError(63);return T.node_ops.mknod(T,_,E,I)},create:function(d,E){return E=E!==void 0?E:438,E&=4095,E|=32768,S.mknod(d,E,0)},mkdir:function(d,E){return E=E!==void 0?E:511,E&=1023,E|=16384,S.mknod(d,E,0)},mkdirTree:function(d,E){for(var I=d.split("/"),k="",T=0;T"u"&&(I=E,E=438),E|=8192,S.mknod(d,E,I)},symlink:function(d,E){if(!kn.resolve(d))throw new S.ErrnoError(44);var I=S.lookupPath(E,{parent:!0}),k=I.node;if(!k)throw new S.ErrnoError(44);var T=Qt.basename(E),_=S.mayCreate(k,T);if(_)throw new S.ErrnoError(_);if(!k.node_ops.symlink)throw new S.ErrnoError(63);return k.node_ops.symlink(k,T,d)},rename:function(d,E){var I=Qt.dirname(d),k=Qt.dirname(E),T=Qt.basename(d),_=Qt.basename(E),te,Be,me;if(te=S.lookupPath(d,{parent:!0}),Be=te.node,te=S.lookupPath(E,{parent:!0}),me=te.node,!Be||!me)throw new S.ErrnoError(44);if(Be.mount!==me.mount)throw new S.ErrnoError(75);var Je=S.lookupNode(Be,T),nt=kn.relative(d,k);if(nt.charAt(0)!==".")throw new S.ErrnoError(28);if(nt=kn.relative(E,I),nt.charAt(0)!==".")throw new S.ErrnoError(55);var wt;try{wt=S.lookupNode(me,_)}catch{}if(Je!==wt){var lt=S.isDir(Je.mode),it=S.mayDelete(Be,T,lt);if(it)throw new S.ErrnoError(it);if(it=wt?S.mayDelete(me,_,lt):S.mayCreate(me,_),it)throw new S.ErrnoError(it);if(!Be.node_ops.rename)throw new S.ErrnoError(63);if(S.isMountpoint(Je)||wt&&S.isMountpoint(wt))throw new S.ErrnoError(10);if(me!==Be&&(it=S.nodePermissions(Be,"w"),it))throw new S.ErrnoError(it);try{S.trackingDelegate.willMovePath&&S.trackingDelegate.willMovePath(d,E)}catch(Et){D("FS.trackingDelegate['willMovePath']('"+d+"', '"+E+"') threw an exception: "+Et.message)}S.hashRemoveNode(Je);try{Be.node_ops.rename(Je,me,_)}catch(Et){throw Et}finally{S.hashAddNode(Je)}try{S.trackingDelegate.onMovePath&&S.trackingDelegate.onMovePath(d,E)}catch(Et){D("FS.trackingDelegate['onMovePath']('"+d+"', '"+E+"') threw an exception: "+Et.message)}}},rmdir:function(d){var E=S.lookupPath(d,{parent:!0}),I=E.node,k=Qt.basename(d),T=S.lookupNode(I,k),_=S.mayDelete(I,k,!0);if(_)throw new S.ErrnoError(_);if(!I.node_ops.rmdir)throw new S.ErrnoError(63);if(S.isMountpoint(T))throw new S.ErrnoError(10);try{S.trackingDelegate.willDeletePath&&S.trackingDelegate.willDeletePath(d)}catch(te){D("FS.trackingDelegate['willDeletePath']('"+d+"') threw an exception: "+te.message)}I.node_ops.rmdir(I,k),S.destroyNode(T);try{S.trackingDelegate.onDeletePath&&S.trackingDelegate.onDeletePath(d)}catch(te){D("FS.trackingDelegate['onDeletePath']('"+d+"') threw an exception: "+te.message)}},readdir:function(d){var E=S.lookupPath(d,{follow:!0}),I=E.node;if(!I.node_ops.readdir)throw new S.ErrnoError(54);return I.node_ops.readdir(I)},unlink:function(d){var E=S.lookupPath(d,{parent:!0}),I=E.node,k=Qt.basename(d),T=S.lookupNode(I,k),_=S.mayDelete(I,k,!1);if(_)throw new S.ErrnoError(_);if(!I.node_ops.unlink)throw new S.ErrnoError(63);if(S.isMountpoint(T))throw new S.ErrnoError(10);try{S.trackingDelegate.willDeletePath&&S.trackingDelegate.willDeletePath(d)}catch(te){D("FS.trackingDelegate['willDeletePath']('"+d+"') threw an exception: "+te.message)}I.node_ops.unlink(I,k),S.destroyNode(T);try{S.trackingDelegate.onDeletePath&&S.trackingDelegate.onDeletePath(d)}catch(te){D("FS.trackingDelegate['onDeletePath']('"+d+"') threw an exception: "+te.message)}},readlink:function(d){var E=S.lookupPath(d),I=E.node;if(!I)throw new S.ErrnoError(44);if(!I.node_ops.readlink)throw new S.ErrnoError(28);return kn.resolve(S.getPath(I.parent),I.node_ops.readlink(I))},stat:function(d,E){var I=S.lookupPath(d,{follow:!E}),k=I.node;if(!k)throw new S.ErrnoError(44);if(!k.node_ops.getattr)throw new S.ErrnoError(63);return k.node_ops.getattr(k)},lstat:function(d){return S.stat(d,!0)},chmod:function(d,E,I){var k;if(typeof d=="string"){var T=S.lookupPath(d,{follow:!I});k=T.node}else k=d;if(!k.node_ops.setattr)throw new S.ErrnoError(63);k.node_ops.setattr(k,{mode:E&4095|k.mode&-4096,timestamp:Date.now()})},lchmod:function(d,E){S.chmod(d,E,!0)},fchmod:function(d,E){var I=S.getStream(d);if(!I)throw new S.ErrnoError(8);S.chmod(I.node,E)},chown:function(d,E,I,k){var T;if(typeof d=="string"){var _=S.lookupPath(d,{follow:!k});T=_.node}else T=d;if(!T.node_ops.setattr)throw new S.ErrnoError(63);T.node_ops.setattr(T,{timestamp:Date.now()})},lchown:function(d,E,I){S.chown(d,E,I,!0)},fchown:function(d,E,I){var k=S.getStream(d);if(!k)throw new S.ErrnoError(8);S.chown(k.node,E,I)},truncate:function(d,E){if(E<0)throw new S.ErrnoError(28);var I;if(typeof d=="string"){var k=S.lookupPath(d,{follow:!0});I=k.node}else I=d;if(!I.node_ops.setattr)throw new S.ErrnoError(63);if(S.isDir(I.mode))throw new S.ErrnoError(31);if(!S.isFile(I.mode))throw new S.ErrnoError(28);var T=S.nodePermissions(I,"w");if(T)throw new S.ErrnoError(T);I.node_ops.setattr(I,{size:E,timestamp:Date.now()})},ftruncate:function(d,E){var I=S.getStream(d);if(!I)throw new S.ErrnoError(8);if((I.flags&2097155)===0)throw new S.ErrnoError(28);S.truncate(I.node,E)},utime:function(d,E,I){var k=S.lookupPath(d,{follow:!0}),T=k.node;T.node_ops.setattr(T,{timestamp:Math.max(E,I)})},open:function(d,E,I,k,T){if(d==="")throw new S.ErrnoError(44);E=typeof E=="string"?S.modeStringToFlags(E):E,I=typeof I>"u"?438:I,E&64?I=I&4095|32768:I=0;var _;if(typeof d=="object")_=d;else{d=Qt.normalize(d);try{var te=S.lookupPath(d,{follow:!(E&131072)});_=te.node}catch{}}var Be=!1;if(E&64)if(_){if(E&128)throw new S.ErrnoError(20)}else _=S.mknod(d,I,0),Be=!0;if(!_)throw new S.ErrnoError(44);if(S.isChrdev(_.mode)&&(E&=-513),E&65536&&!S.isDir(_.mode))throw new S.ErrnoError(54);if(!Be){var me=S.mayOpen(_,E);if(me)throw new S.ErrnoError(me)}E&512&&S.truncate(_,0),E&=-131713;var Je=S.createStream({node:_,path:S.getPath(_),flags:E,seekable:!0,position:0,stream_ops:_.stream_ops,ungotten:[],error:!1},k,T);Je.stream_ops.open&&Je.stream_ops.open(Je),t.logReadFiles&&!(E&1)&&(S.readFiles||(S.readFiles={}),d in S.readFiles||(S.readFiles[d]=1,D("FS.trackingDelegate error on read file: "+d)));try{if(S.trackingDelegate.onOpenFile){var nt=0;(E&2097155)!==1&&(nt|=S.tracking.openFlags.READ),(E&2097155)!==0&&(nt|=S.tracking.openFlags.WRITE),S.trackingDelegate.onOpenFile(d,nt)}}catch(wt){D("FS.trackingDelegate['onOpenFile']('"+d+"', flags) threw an exception: "+wt.message)}return Je},close:function(d){if(S.isClosed(d))throw new S.ErrnoError(8);d.getdents&&(d.getdents=null);try{d.stream_ops.close&&d.stream_ops.close(d)}catch(E){throw E}finally{S.closeStream(d.fd)}d.fd=null},isClosed:function(d){return d.fd===null},llseek:function(d,E,I){if(S.isClosed(d))throw new S.ErrnoError(8);if(!d.seekable||!d.stream_ops.llseek)throw new S.ErrnoError(70);if(I!=0&&I!=1&&I!=2)throw new S.ErrnoError(28);return d.position=d.stream_ops.llseek(d,E,I),d.ungotten=[],d.position},read:function(d,E,I,k,T){if(k<0||T<0)throw new S.ErrnoError(28);if(S.isClosed(d))throw new S.ErrnoError(8);if((d.flags&2097155)===1)throw new S.ErrnoError(8);if(S.isDir(d.node.mode))throw new S.ErrnoError(31);if(!d.stream_ops.read)throw new S.ErrnoError(28);var _=typeof T<"u";if(!_)T=d.position;else if(!d.seekable)throw new S.ErrnoError(70);var te=d.stream_ops.read(d,E,I,k,T);return _||(d.position+=te),te},write:function(d,E,I,k,T,_){if(k<0||T<0)throw new S.ErrnoError(28);if(S.isClosed(d))throw new S.ErrnoError(8);if((d.flags&2097155)===0)throw new S.ErrnoError(8);if(S.isDir(d.node.mode))throw new S.ErrnoError(31);if(!d.stream_ops.write)throw new S.ErrnoError(28);d.seekable&&d.flags&1024&&S.llseek(d,0,2);var te=typeof T<"u";if(!te)T=d.position;else if(!d.seekable)throw new S.ErrnoError(70);var Be=d.stream_ops.write(d,E,I,k,T,_);te||(d.position+=Be);try{d.path&&S.trackingDelegate.onWriteToFile&&S.trackingDelegate.onWriteToFile(d.path)}catch(me){D("FS.trackingDelegate['onWriteToFile']('"+d.path+"') threw an exception: "+me.message)}return Be},allocate:function(d,E,I){if(S.isClosed(d))throw new S.ErrnoError(8);if(E<0||I<=0)throw new S.ErrnoError(28);if((d.flags&2097155)===0)throw new S.ErrnoError(8);if(!S.isFile(d.node.mode)&&!S.isDir(d.node.mode))throw new S.ErrnoError(43);if(!d.stream_ops.allocate)throw new S.ErrnoError(138);d.stream_ops.allocate(d,E,I)},mmap:function(d,E,I,k,T,_){if((T&2)!==0&&(_&2)===0&&(d.flags&2097155)!==2)throw new S.ErrnoError(2);if((d.flags&2097155)===1)throw new S.ErrnoError(2);if(!d.stream_ops.mmap)throw new S.ErrnoError(43);return d.stream_ops.mmap(d,E,I,k,T,_)},msync:function(d,E,I,k,T){return!d||!d.stream_ops.msync?0:d.stream_ops.msync(d,E,I,k,T)},munmap:function(d){return 0},ioctl:function(d,E,I){if(!d.stream_ops.ioctl)throw new S.ErrnoError(59);return d.stream_ops.ioctl(d,E,I)},readFile:function(d,E){if(E=E||{},E.flags=E.flags||0,E.encoding=E.encoding||"binary",E.encoding!=="utf8"&&E.encoding!=="binary")throw new Error('Invalid encoding type "'+E.encoding+'"');var I,k=S.open(d,E.flags),T=S.stat(d),_=T.size,te=new Uint8Array(_);return S.read(k,te,0,_,0),E.encoding==="utf8"?I=ke(te,0):E.encoding==="binary"&&(I=te),S.close(k),I},writeFile:function(d,E,I){I=I||{},I.flags=I.flags||577;var k=S.open(d,I.flags,I.mode);if(typeof E=="string"){var T=new Uint8Array(le(E)+1),_=Ne(E,T,0,T.length);S.write(k,T,0,_,void 0,I.canOwn)}else if(ArrayBuffer.isView(E))S.write(k,E,0,E.byteLength,void 0,I.canOwn);else throw new Error("Unsupported data type");S.close(k)},cwd:function(){return S.currentPath},chdir:function(d){var E=S.lookupPath(d,{follow:!0});if(E.node===null)throw new S.ErrnoError(44);if(!S.isDir(E.node.mode))throw new S.ErrnoError(54);var I=S.nodePermissions(E.node,"x");if(I)throw new S.ErrnoError(I);S.currentPath=E.path},createDefaultDirectories:function(){S.mkdir("/tmp"),S.mkdir("/home"),S.mkdir("/home/web_user")},createDefaultDevices:function(){S.mkdir("/dev"),S.registerDevice(S.makedev(1,3),{read:function(){return 0},write:function(E,I,k,T,_){return T}}),S.mkdev("/dev/null",S.makedev(1,3)),$n.register(S.makedev(5,0),$n.default_tty_ops),$n.register(S.makedev(6,0),$n.default_tty1_ops),S.mkdev("/dev/tty",S.makedev(5,0)),S.mkdev("/dev/tty1",S.makedev(6,0));var d=Bl();S.createDevice("/dev","random",d),S.createDevice("/dev","urandom",d),S.mkdir("/dev/shm"),S.mkdir("/dev/shm/tmp")},createSpecialDirectories:function(){S.mkdir("/proc");var d=S.mkdir("/proc/self");S.mkdir("/proc/self/fd"),S.mount({mount:function(){var E=S.createNode(d,"fd",16895,73);return E.node_ops={lookup:function(I,k){var T=+k,_=S.getStream(T);if(!_)throw new S.ErrnoError(8);var te={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:function(){return _.path}}};return te.parent=te,te}},E}},{},"/proc/self/fd")},createStandardStreams:function(){t.stdin?S.createDevice("/dev","stdin",t.stdin):S.symlink("/dev/tty","/dev/stdin"),t.stdout?S.createDevice("/dev","stdout",null,t.stdout):S.symlink("/dev/tty","/dev/stdout"),t.stderr?S.createDevice("/dev","stderr",null,t.stderr):S.symlink("/dev/tty1","/dev/stderr");var d=S.open("/dev/stdin",0),E=S.open("/dev/stdout",1),I=S.open("/dev/stderr",1)},ensureErrnoError:function(){S.ErrnoError||(S.ErrnoError=function(E,I){this.node=I,this.setErrno=function(k){this.errno=k},this.setErrno(E),this.message="FS error"},S.ErrnoError.prototype=new Error,S.ErrnoError.prototype.constructor=S.ErrnoError,[44].forEach(function(d){S.genericErrors[d]=new S.ErrnoError(d),S.genericErrors[d].stack=""}))},staticInit:function(){S.ensureErrnoError(),S.nameTable=new Array(4096),S.mount(gt,{},"/"),S.createDefaultDirectories(),S.createDefaultDevices(),S.createSpecialDirectories(),S.filesystems={MEMFS:gt,NODEFS:At}},init:function(d,E,I){S.init.initialized=!0,S.ensureErrnoError(),t.stdin=d||t.stdin,t.stdout=E||t.stdout,t.stderr=I||t.stderr,S.createStandardStreams()},quit:function(){S.init.initialized=!1;var d=t._fflush;d&&d(0);for(var E=0;Ethis.length-1||lt<0)){var it=lt%this.chunkSize,Et=lt/this.chunkSize|0;return this.getter(Et)[it]}},_.prototype.setDataGetter=function(lt){this.getter=lt},_.prototype.cacheLength=function(){var lt=new XMLHttpRequest;if(lt.open("HEAD",I,!1),lt.send(null),!(lt.status>=200&<.status<300||lt.status===304))throw new Error("Couldn't load "+I+". Status: "+lt.status);var it=Number(lt.getResponseHeader("Content-length")),Et,Qe=(Et=lt.getResponseHeader("Accept-Ranges"))&&Et==="bytes",Nn=(Et=lt.getResponseHeader("Content-Encoding"))&&Et==="gzip",ki=1024*1024;Qe||(ki=it);var CA=function(ts,ga){if(ts>ga)throw new Error("invalid range ("+ts+", "+ga+") or no bytes requested!");if(ga>it-1)throw new Error("only "+it+" bytes available! programmer error!");var Kr=new XMLHttpRequest;if(Kr.open("GET",I,!1),it!==ki&&Kr.setRequestHeader("Range","bytes="+ts+"-"+ga),typeof Uint8Array<"u"&&(Kr.responseType="arraybuffer"),Kr.overrideMimeType&&Kr.overrideMimeType("text/plain; charset=x-user-defined"),Kr.send(null),!(Kr.status>=200&&Kr.status<300||Kr.status===304))throw new Error("Couldn't load "+I+". Status: "+Kr.status);return Kr.response!==void 0?new Uint8Array(Kr.response||[]):gA(Kr.responseText||"",!0)},Mr=this;Mr.setDataGetter(function(ts){var ga=ts*ki,Kr=(ts+1)*ki-1;if(Kr=Math.min(Kr,it-1),typeof Mr.chunks[ts]>"u"&&(Mr.chunks[ts]=CA(ga,Kr)),typeof Mr.chunks[ts]>"u")throw new Error("doXHR failed!");return Mr.chunks[ts]}),(Nn||!it)&&(ki=it=1,it=this.getter(0).length,ki=it,v("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=it,this._chunkSize=ki,this.lengthKnown=!0},typeof XMLHttpRequest<"u"){if(!u)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var te=new _;Object.defineProperties(te,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var Be={isDevice:!1,contents:te}}else var Be={isDevice:!1,url:I};var me=S.createFile(d,E,Be,k,T);Be.contents?me.contents=Be.contents:Be.url&&(me.contents=null,me.url=Be.url),Object.defineProperties(me,{usedBytes:{get:function(){return this.contents.length}}});var Je={},nt=Object.keys(me.stream_ops);return nt.forEach(function(wt){var lt=me.stream_ops[wt];Je[wt]=function(){return S.forceLoadFile(me),lt.apply(null,arguments)}}),Je.read=function(lt,it,Et,Qe,Nn){S.forceLoadFile(me);var ki=lt.node.contents;if(Nn>=ki.length)return 0;var CA=Math.min(ki.length-Nn,Qe);if(ki.slice)for(var Mr=0;Mr>2]=k.dev,de[I+4>>2]=0,de[I+8>>2]=k.ino,de[I+12>>2]=k.mode,de[I+16>>2]=k.nlink,de[I+20>>2]=k.uid,de[I+24>>2]=k.gid,de[I+28>>2]=k.rdev,de[I+32>>2]=0,se=[k.size>>>0,(vr=k.size,+Math.abs(vr)>=1?vr>0?(Math.min(+Math.floor(vr/4294967296),4294967295)|0)>>>0:~~+Math.ceil((vr-+(~~vr>>>0))/4294967296)>>>0:0)],de[I+40>>2]=se[0],de[I+44>>2]=se[1],de[I+48>>2]=4096,de[I+52>>2]=k.blocks,de[I+56>>2]=k.atime.getTime()/1e3|0,de[I+60>>2]=0,de[I+64>>2]=k.mtime.getTime()/1e3|0,de[I+68>>2]=0,de[I+72>>2]=k.ctime.getTime()/1e3|0,de[I+76>>2]=0,se=[k.ino>>>0,(vr=k.ino,+Math.abs(vr)>=1?vr>0?(Math.min(+Math.floor(vr/4294967296),4294967295)|0)>>>0:~~+Math.ceil((vr-+(~~vr>>>0))/4294967296)>>>0:0)],de[I+80>>2]=se[0],de[I+84>>2]=se[1],0},doMsync:function(d,E,I,k,T){var _=Y.slice(d,d+I);S.msync(E,_,T,I,k)},doMkdir:function(d,E){return d=Qt.normalize(d),d[d.length-1]==="/"&&(d=d.substr(0,d.length-1)),S.mkdir(d,E,0),0},doMknod:function(d,E,I){switch(E&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}return S.mknod(d,E,I),0},doReadlink:function(d,E,I){if(I<=0)return-28;var k=S.readlink(d),T=Math.min(I,le(k)),_=ne[E+T];return oe(k,E,I+1),ne[E+T]=_,T},doAccess:function(d,E){if(E&-8)return-28;var I,k=S.lookupPath(d,{follow:!0});if(I=k.node,!I)return-44;var T="";return E&4&&(T+="r"),E&2&&(T+="w"),E&1&&(T+="x"),T&&S.nodePermissions(I,T)?-2:0},doDup:function(d,E,I){var k=S.getStream(I);return k&&S.close(k),S.open(d,E,0,I,I).fd},doReadv:function(d,E,I,k){for(var T=0,_=0;_>2],Be=de[E+(_*8+4)>>2],me=S.read(d,ne,te,Be,k);if(me<0)return-1;if(T+=me,me>2],Be=de[E+(_*8+4)>>2],me=S.write(d,ne,te,Be,k);if(me<0)return-1;T+=me}return T},varargs:void 0,get:function(){Tt.varargs+=4;var d=de[Tt.varargs-4>>2];return d},getStr:function(d){var E=Fe(d);return E},getStreamFromFD:function(d){var E=S.getStream(d);if(!E)throw new S.ErrnoError(8);return E},get64:function(d,E){return d}};function ng(d,E){try{return d=Tt.getStr(d),S.chmod(d,E),0}catch(I){return(typeof S>"u"||!(I instanceof S.ErrnoError))&&wr(I),-I.errno}}function Ql(d){return de[Ft()>>2]=d,d}function hp(d,E,I){Tt.varargs=I;try{var k=Tt.getStreamFromFD(d);switch(E){case 0:{var T=Tt.get();if(T<0)return-28;var _;return _=S.open(k.path,k.flags,0,T),_.fd}case 1:case 2:return 0;case 3:return k.flags;case 4:{var T=Tt.get();return k.flags|=T,0}case 12:{var T=Tt.get(),te=0;return pe[T+te>>1]=2,0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:return Ql(28),-1;default:return-28}}catch(Be){return(typeof S>"u"||!(Be instanceof S.ErrnoError))&&wr(Be),-Be.errno}}function pp(d,E){try{var I=Tt.getStreamFromFD(d);return Tt.doStat(S.stat,I.path,E)}catch(k){return(typeof S>"u"||!(k instanceof S.ErrnoError))&&wr(k),-k.errno}}function dp(d,E,I){Tt.varargs=I;try{var k=Tt.getStreamFromFD(d);switch(E){case 21509:case 21505:return k.tty?0:-59;case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:return k.tty?0:-59;case 21519:{if(!k.tty)return-59;var T=Tt.get();return de[T>>2]=0,0}case 21520:return k.tty?-28:-59;case 21531:{var T=Tt.get();return S.ioctl(k,E,T)}case 21523:return k.tty?0:-59;case 21524:return k.tty?0:-59;default:wr("bad ioctl syscall "+E)}}catch(_){return(typeof S>"u"||!(_ instanceof S.ErrnoError))&&wr(_),-_.errno}}function Cp(d,E,I){Tt.varargs=I;try{var k=Tt.getStr(d),T=I?Tt.get():0,_=S.open(k,E,T);return _.fd}catch(te){return(typeof S>"u"||!(te instanceof S.ErrnoError))&&wr(te),-te.errno}}function mp(d,E){try{return d=Tt.getStr(d),E=Tt.getStr(E),S.rename(d,E),0}catch(I){return(typeof S>"u"||!(I instanceof S.ErrnoError))&&wr(I),-I.errno}}function G(d){try{return d=Tt.getStr(d),S.rmdir(d),0}catch(E){return(typeof S>"u"||!(E instanceof S.ErrnoError))&&wr(E),-E.errno}}function yt(d,E){try{return d=Tt.getStr(d),Tt.doStat(S.stat,d,E)}catch(I){return(typeof S>"u"||!(I instanceof S.ErrnoError))&&wr(I),-I.errno}}function uA(d){try{return d=Tt.getStr(d),S.unlink(d),0}catch(E){return(typeof S>"u"||!(E instanceof S.ErrnoError))&&wr(E),-E.errno}}function ji(d,E,I){Y.copyWithin(d,E,E+I)}function bl(d){try{return A.grow(d-qe.byteLength+65535>>>16),Or(A.buffer),1}catch{}}function Xe(d){var E=Y.length;d=d>>>0;var I=2147483648;if(d>I)return!1;for(var k=1;k<=4;k*=2){var T=E*(1+.2/k);T=Math.min(T,d+100663296);var _=Math.min(I,Ae(Math.max(d,T),65536)),te=bl(_);if(te)return!0}return!1}function Aa(d){try{var E=Tt.getStreamFromFD(d);return S.close(E),0}catch(I){return(typeof S>"u"||!(I instanceof S.ErrnoError))&&wr(I),I.errno}}function sg(d,E){try{var I=Tt.getStreamFromFD(d),k=I.tty?2:S.isDir(I.mode)?3:S.isLink(I.mode)?7:4;return ne[E>>0]=k,0}catch(T){return(typeof S>"u"||!(T instanceof S.ErrnoError))&&wr(T),T.errno}}function bE(d,E,I,k){try{var T=Tt.getStreamFromFD(d),_=Tt.doReadv(T,E,I);return de[k>>2]=_,0}catch(te){return(typeof S>"u"||!(te instanceof S.ErrnoError))&&wr(te),te.errno}}function Ep(d,E,I,k,T){try{var _=Tt.getStreamFromFD(d),te=4294967296,Be=I*te+(E>>>0),me=9007199254740992;return Be<=-me||Be>=me?-61:(S.llseek(_,Be,k),se=[_.position>>>0,(vr=_.position,+Math.abs(vr)>=1?vr>0?(Math.min(+Math.floor(vr/4294967296),4294967295)|0)>>>0:~~+Math.ceil((vr-+(~~vr>>>0))/4294967296)>>>0:0)],de[T>>2]=se[0],de[T+4>>2]=se[1],_.getdents&&Be===0&&k===0&&(_.getdents=null),0)}catch(Je){return(typeof S>"u"||!(Je instanceof S.ErrnoError))&&wr(Je),Je.errno}}function SE(d,E,I,k){try{var T=Tt.getStreamFromFD(d),_=Tt.doWritev(T,E,I);return de[k>>2]=_,0}catch(te){return(typeof S>"u"||!(te instanceof S.ErrnoError))&&wr(te),te.errno}}function ar(d){$(d)}function Rn(d){var E=Date.now()/1e3|0;return d&&(de[d>>2]=E),E}function Sl(){if(Sl.called)return;Sl.called=!0;var d=new Date().getFullYear(),E=new Date(d,0,1),I=new Date(d,6,1),k=E.getTimezoneOffset(),T=I.getTimezoneOffset(),_=Math.max(k,T);de[Hb()>>2]=_*60,de[Ub()>>2]=Number(k!=T);function te(wt){var lt=wt.toTimeString().match(/\(([A-Za-z ]+)\)$/);return lt?lt[1]:"GMT"}var Be=te(E),me=te(I),Je=we(Be),nt=we(me);T>2]=Je,de[gg()+4>>2]=nt):(de[gg()>>2]=nt,de[gg()+4>>2]=Je)}function Ip(d){Sl();var E=Date.UTC(de[d+20>>2]+1900,de[d+16>>2],de[d+12>>2],de[d+8>>2],de[d+4>>2],de[d>>2],0),I=new Date(E);de[d+24>>2]=I.getUTCDay();var k=Date.UTC(I.getUTCFullYear(),0,1,0,0,0,0),T=(I.getTime()-k)/(1e3*60*60*24)|0;return de[d+28>>2]=T,I.getTime()/1e3|0}var Ts=function(d,E,I,k){d||(d=this),this.parent=d,this.mount=d.mount,this.mounted=null,this.id=S.nextInode++,this.name=E,this.mode=I,this.node_ops={},this.stream_ops={},this.rdev=k},la=365,An=146;if(Object.defineProperties(Ts.prototype,{read:{get:function(){return(this.mode&la)===la},set:function(d){d?this.mode|=la:this.mode&=~la}},write:{get:function(){return(this.mode&An)===An},set:function(d){d?this.mode|=An:this.mode&=~An}},isFolder:{get:function(){return S.isDir(this.mode)}},isDevice:{get:function(){return S.isChrdev(this.mode)}}}),S.FSNode=Ts,S.staticInit(),g){var Te=bV,og=J("path");At.staticInit()}if(g){var vl=function(d){return function(){try{return d.apply(this,arguments)}catch(E){throw E.code?new S.ErrnoError(mo[E.code]):E}}},Os=Object.assign({},S);for(var xl in an)S[xl]=vl(an[xl])}else throw new Error("NODERAWFS is currently only supported on Node.js environment.");function gA(d,E,I){var k=I>0?I:le(d)+1,T=new Array(k),_=Ne(d,T,0,T.length);return E&&(T.length=_),T}var ag=typeof atob=="function"?atob:function(d){var E="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",I="",k,T,_,te,Be,me,Je,nt=0;d=d.replace(/[^A-Za-z0-9\+\/\=]/g,"");do te=E.indexOf(d.charAt(nt++)),Be=E.indexOf(d.charAt(nt++)),me=E.indexOf(d.charAt(nt++)),Je=E.indexOf(d.charAt(nt++)),k=te<<2|Be>>4,T=(Be&15)<<4|me>>2,_=(me&3)<<6|Je,I=I+String.fromCharCode(k),me!==64&&(I=I+String.fromCharCode(T)),Je!==64&&(I=I+String.fromCharCode(_));while(nt0||(pr(),Zn>0))return;function E(){Me||(Me=!0,t.calledRun=!0,!ae&&(Ei(),i(t),t.onRuntimeInitialized&&t.onRuntimeInitialized(),_n()))}t.setStatus?(t.setStatus("Running..."),setTimeout(function(){setTimeout(function(){t.setStatus("")},1),E()},1)):E()}if(t.run=dA,t.preInit)for(typeof t.preInit=="function"&&(t.preInit=[t.preInit]);t.preInit.length>0;)t.preInit.pop()();return dA(),e}}();typeof aB=="object"&&typeof CR=="object"?CR.exports=dR:typeof define=="function"&&define.amd?define([],function(){return dR}):typeof aB=="object"&&(aB.createModule=dR)});var XV=w((Dnt,VV)=>{function wDe(r,e){for(var t=-1,i=r==null?0:r.length,n=Array(i);++t{var BDe=Array.isArray;_V.exports=BDe});var i6=w((Rnt,r6)=>{var ZV=Ec(),QDe=XV(),bDe=ws(),SDe=tC(),vDe=1/0,$V=ZV?ZV.prototype:void 0,e6=$V?$V.toString:void 0;function t6(r){if(typeof r=="string")return r;if(bDe(r))return QDe(r,t6)+"";if(SDe(r))return e6?e6.call(r):"";var e=r+"";return e=="0"&&1/r==-vDe?"-0":e}r6.exports=t6});var Kf=w((Fnt,n6)=>{var xDe=i6();function PDe(r){return r==null?"":xDe(r)}n6.exports=PDe});var bR=w((Nnt,s6)=>{function DDe(r,e,t){var i=-1,n=r.length;e<0&&(e=-e>n?0:n+e),t=t>n?n:t,t<0&&(t+=n),n=e>t?0:t-e>>>0,e>>>=0;for(var s=Array(n);++i{var kDe=bR();function RDe(r,e,t){var i=r.length;return t=t===void 0?i:t,!e&&t>=i?r:kDe(r,e,t)}o6.exports=RDe});var SR=w((Tnt,A6)=>{var FDe="\\ud800-\\udfff",NDe="\\u0300-\\u036f",LDe="\\ufe20-\\ufe2f",TDe="\\u20d0-\\u20ff",ODe=NDe+LDe+TDe,MDe="\\ufe0e\\ufe0f",KDe="\\u200d",UDe=RegExp("["+KDe+FDe+ODe+MDe+"]");function HDe(r){return UDe.test(r)}A6.exports=HDe});var c6=w((Ont,l6)=>{function GDe(r){return r.split("")}l6.exports=GDe});var m6=w((Mnt,C6)=>{var u6="\\ud800-\\udfff",YDe="\\u0300-\\u036f",jDe="\\ufe20-\\ufe2f",qDe="\\u20d0-\\u20ff",JDe=YDe+jDe+qDe,WDe="\\ufe0e\\ufe0f",zDe="["+u6+"]",vR="["+JDe+"]",xR="\\ud83c[\\udffb-\\udfff]",VDe="(?:"+vR+"|"+xR+")",g6="[^"+u6+"]",f6="(?:\\ud83c[\\udde6-\\uddff]){2}",h6="[\\ud800-\\udbff][\\udc00-\\udfff]",XDe="\\u200d",p6=VDe+"?",d6="["+WDe+"]?",_De="(?:"+XDe+"(?:"+[g6,f6,h6].join("|")+")"+d6+p6+")*",ZDe=d6+p6+_De,$De="(?:"+[g6+vR+"?",vR,f6,h6,zDe].join("|")+")",eke=RegExp(xR+"(?="+xR+")|"+$De+ZDe,"g");function tke(r){return r.match(eke)||[]}C6.exports=tke});var I6=w((Knt,E6)=>{var rke=c6(),ike=SR(),nke=m6();function ske(r){return ike(r)?nke(r):rke(r)}E6.exports=ske});var w6=w((Unt,y6)=>{var oke=a6(),ake=SR(),Ake=I6(),lke=Kf();function cke(r){return function(e){e=lke(e);var t=ake(e)?Ake(e):void 0,i=t?t[0]:e.charAt(0),n=t?oke(t,1).join(""):e.slice(1);return i[r]()+n}}y6.exports=cke});var Q6=w((Hnt,B6)=>{var uke=w6(),gke=uke("toUpperCase");B6.exports=gke});var dB=w((Gnt,b6)=>{var fke=Kf(),hke=Q6();function pke(r){return hke(fke(r).toLowerCase())}b6.exports=pke});var S6=w((Ynt,CB)=>{function dke(){var r=0,e=1,t=2,i=3,n=4,s=5,o=6,a=7,l=8,c=9,u=10,g=11,f=12,h=13,p=14,C=15,y=16,B=17,v=0,D=1,L=2,H=3,j=4;function $(A,ae){return 55296<=A.charCodeAt(ae)&&A.charCodeAt(ae)<=56319&&56320<=A.charCodeAt(ae+1)&&A.charCodeAt(ae+1)<=57343}function V(A,ae){ae===void 0&&(ae=0);var ge=A.charCodeAt(ae);if(55296<=ge&&ge<=56319&&ae=1){var re=A.charCodeAt(ae-1),O=ge;return 55296<=re&&re<=56319?(re-55296)*1024+(O-56320)+65536:O}return ge}function W(A,ae,ge){var re=[A].concat(ae).concat([ge]),O=re[re.length-2],F=ge,ue=re.lastIndexOf(p);if(ue>1&&re.slice(1,ue).every(function(Fe){return Fe==i})&&[i,h,B].indexOf(A)==-1)return L;var he=re.lastIndexOf(n);if(he>0&&re.slice(1,he).every(function(Fe){return Fe==n})&&[f,n].indexOf(O)==-1)return re.filter(function(Fe){return Fe==n}).length%2==1?H:j;if(O==r&&F==e)return v;if(O==t||O==r||O==e)return F==p&&ae.every(function(Fe){return Fe==i})?L:D;if(F==t||F==r||F==e)return D;if(O==o&&(F==o||F==a||F==c||F==u))return v;if((O==c||O==a)&&(F==a||F==l))return v;if((O==u||O==l)&&F==l)return v;if(F==i||F==C)return v;if(F==s)return v;if(O==f)return v;var ke=re.indexOf(i)!=-1?re.lastIndexOf(i)-1:re.length-2;return[h,B].indexOf(re[ke])!=-1&&re.slice(ke+1,-1).every(function(Fe){return Fe==i})&&F==p||O==C&&[y,B].indexOf(F)!=-1?v:ae.indexOf(n)!=-1?L:O==n&&F==n?v:D}this.nextBreak=function(A,ae){if(ae===void 0&&(ae=0),ae<0)return 0;if(ae>=A.length-1)return A.length;for(var ge=Z(V(A,ae)),re=[],O=ae+1;O{var Cke=/^(.*?)(\x1b\[[^m]+m|\x1b\]8;;.*?(\x1b\\|\u0007))/,mB;function mke(){if(mB)return mB;if(typeof Intl.Segmenter<"u"){let r=new Intl.Segmenter("en",{granularity:"grapheme"});return mB=e=>Array.from(r.segment(e),({segment:t})=>t)}else{let r=S6(),e=new r;return mB=t=>e.splitGraphemes(t)}}v6.exports=(r,e=0,t=r.length)=>{if(e<0||t<0)throw new RangeError("Negative indices aren't supported by this implementation");let i=t-e,n="",s=0,o=0;for(;r.length>0;){let a=r.match(Cke)||[r,r,void 0],l=mke()(a[1]),c=Math.min(e-s,l.length);l=l.slice(c);let u=Math.min(i-o,l.length);n+=l.slice(0,u).join(""),s+=c,o+=u,typeof a[2]<"u"&&(n+=a[2]),r=r.slice(a[0].length)}return n}});var Uf=w((ust,j6)=>{"use strict";var Y6=new Map([["C","cwd"],["f","file"],["z","gzip"],["P","preservePaths"],["U","unlink"],["strip-components","strip"],["stripComponents","strip"],["keep-newer","newer"],["keepNewer","newer"],["keep-newer-files","newer"],["keepNewerFiles","newer"],["k","keep"],["keep-existing","keep"],["keepExisting","keep"],["m","noMtime"],["no-mtime","noMtime"],["p","preserveOwner"],["L","follow"],["h","follow"]]),cst=j6.exports=r=>r?Object.keys(r).map(e=>[Y6.has(e)?Y6.get(e):e,r[e]]).reduce((e,t)=>(e[t[0]]=t[1],e),Object.create(null)):{}});var Hf=w((gst,$6)=>{"use strict";var kke=J("events"),q6=J("stream"),BC=sd(),J6=J("string_decoder").StringDecoder,Ua=Symbol("EOF"),QC=Symbol("maybeEmitEnd"),WA=Symbol("emittedEnd"),QB=Symbol("emittingEnd"),bB=Symbol("closed"),W6=Symbol("read"),RR=Symbol("flush"),z6=Symbol("flushChunk"),Sn=Symbol("encoding"),Ha=Symbol("decoder"),SB=Symbol("flowing"),bC=Symbol("paused"),SC=Symbol("resume"),nn=Symbol("bufferLength"),V6=Symbol("bufferPush"),FR=Symbol("bufferShift"),Ui=Symbol("objectMode"),Hi=Symbol("destroyed"),_6=global._MP_NO_ITERATOR_SYMBOLS_!=="1",Rke=_6&&Symbol.asyncIterator||Symbol("asyncIterator not implemented"),Fke=_6&&Symbol.iterator||Symbol("iterator not implemented"),X6=r=>r==="end"||r==="finish"||r==="prefinish",Nke=r=>r instanceof ArrayBuffer||typeof r=="object"&&r.constructor&&r.constructor.name==="ArrayBuffer"&&r.byteLength>=0,Lke=r=>!Buffer.isBuffer(r)&&ArrayBuffer.isView(r);$6.exports=class Z6 extends q6{constructor(e){super(),this[SB]=!1,this[bC]=!1,this.pipes=new BC,this.buffer=new BC,this[Ui]=e&&e.objectMode||!1,this[Ui]?this[Sn]=null:this[Sn]=e&&e.encoding||null,this[Sn]==="buffer"&&(this[Sn]=null),this[Ha]=this[Sn]?new J6(this[Sn]):null,this[Ua]=!1,this[WA]=!1,this[QB]=!1,this[bB]=!1,this.writable=!0,this.readable=!0,this[nn]=0,this[Hi]=!1}get bufferLength(){return this[nn]}get encoding(){return this[Sn]}set encoding(e){if(this[Ui])throw new Error("cannot set encoding in objectMode");if(this[Sn]&&e!==this[Sn]&&(this[Ha]&&this[Ha].lastNeed||this[nn]))throw new Error("cannot change encoding");this[Sn]!==e&&(this[Ha]=e?new J6(e):null,this.buffer.length&&(this.buffer=this.buffer.map(t=>this[Ha].write(t)))),this[Sn]=e}setEncoding(e){this.encoding=e}get objectMode(){return this[Ui]}set objectMode(e){this[Ui]=this[Ui]||!!e}write(e,t,i){if(this[Ua])throw new Error("write after end");return this[Hi]?(this.emit("error",Object.assign(new Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"})),!0):(typeof t=="function"&&(i=t,t="utf8"),t||(t="utf8"),!this[Ui]&&!Buffer.isBuffer(e)&&(Lke(e)?e=Buffer.from(e.buffer,e.byteOffset,e.byteLength):Nke(e)?e=Buffer.from(e):typeof e!="string"&&(this.objectMode=!0)),!this.objectMode&&!e.length?(this[nn]!==0&&this.emit("readable"),i&&i(),this.flowing):(typeof e=="string"&&!this[Ui]&&!(t===this[Sn]&&!this[Ha].lastNeed)&&(e=Buffer.from(e,t)),Buffer.isBuffer(e)&&this[Sn]&&(e=this[Ha].write(e)),this.flowing?(this[nn]!==0&&this[RR](!0),this.emit("data",e)):this[V6](e),this[nn]!==0&&this.emit("readable"),i&&i(),this.flowing))}read(e){if(this[Hi])return null;try{return this[nn]===0||e===0||e>this[nn]?null:(this[Ui]&&(e=null),this.buffer.length>1&&!this[Ui]&&(this.encoding?this.buffer=new BC([Array.from(this.buffer).join("")]):this.buffer=new BC([Buffer.concat(Array.from(this.buffer),this[nn])])),this[W6](e||null,this.buffer.head.value))}finally{this[QC]()}}[W6](e,t){return e===t.length||e===null?this[FR]():(this.buffer.head.value=t.slice(e),t=t.slice(0,e),this[nn]-=e),this.emit("data",t),!this.buffer.length&&!this[Ua]&&this.emit("drain"),t}end(e,t,i){return typeof e=="function"&&(i=e,e=null),typeof t=="function"&&(i=t,t="utf8"),e&&this.write(e,t),i&&this.once("end",i),this[Ua]=!0,this.writable=!1,(this.flowing||!this[bC])&&this[QC](),this}[SC](){this[Hi]||(this[bC]=!1,this[SB]=!0,this.emit("resume"),this.buffer.length?this[RR]():this[Ua]?this[QC]():this.emit("drain"))}resume(){return this[SC]()}pause(){this[SB]=!1,this[bC]=!0}get destroyed(){return this[Hi]}get flowing(){return this[SB]}get paused(){return this[bC]}[V6](e){return this[Ui]?this[nn]+=1:this[nn]+=e.length,this.buffer.push(e)}[FR](){return this.buffer.length&&(this[Ui]?this[nn]-=1:this[nn]-=this.buffer.head.value.length),this.buffer.shift()}[RR](e){do;while(this[z6](this[FR]()));!e&&!this.buffer.length&&!this[Ua]&&this.emit("drain")}[z6](e){return e?(this.emit("data",e),this.flowing):!1}pipe(e,t){if(this[Hi])return;let i=this[WA];t=t||{},e===process.stdout||e===process.stderr?t.end=!1:t.end=t.end!==!1;let n={dest:e,opts:t,ondrain:s=>this[SC]()};return this.pipes.push(n),e.on("drain",n.ondrain),this[SC](),i&&n.opts.end&&n.dest.end(),e}addListener(e,t){return this.on(e,t)}on(e,t){try{return super.on(e,t)}finally{e==="data"&&!this.pipes.length&&!this.flowing?this[SC]():X6(e)&&this[WA]&&(super.emit(e),this.removeAllListeners(e))}}get emittedEnd(){return this[WA]}[QC](){!this[QB]&&!this[WA]&&!this[Hi]&&this.buffer.length===0&&this[Ua]&&(this[QB]=!0,this.emit("end"),this.emit("prefinish"),this.emit("finish"),this[bB]&&this.emit("close"),this[QB]=!1)}emit(e,t){if(e!=="error"&&e!=="close"&&e!==Hi&&this[Hi])return;if(e==="data"){if(!t)return;this.pipes.length&&this.pipes.forEach(n=>n.dest.write(t)===!1&&this.pause())}else if(e==="end"){if(this[WA]===!0)return;this[WA]=!0,this.readable=!1,this[Ha]&&(t=this[Ha].end(),t&&(this.pipes.forEach(n=>n.dest.write(t)),super.emit("data",t))),this.pipes.forEach(n=>{n.dest.removeListener("drain",n.ondrain),n.opts.end&&n.dest.end()})}else if(e==="close"&&(this[bB]=!0,!this[WA]&&!this[Hi]))return;let i=new Array(arguments.length);if(i[0]=e,i[1]=t,arguments.length>2)for(let n=2;n{e.push(i),this[Ui]||(e.dataLength+=i.length)}),t.then(()=>e)}concat(){return this[Ui]?Promise.reject(new Error("cannot concat in objectMode")):this.collect().then(e=>this[Ui]?Promise.reject(new Error("cannot concat in objectMode")):this[Sn]?e.join(""):Buffer.concat(e,e.dataLength))}promise(){return new Promise((e,t)=>{this.on(Hi,()=>t(new Error("stream destroyed"))),this.on("end",()=>e()),this.on("error",i=>t(i))})}[Rke](){return{next:()=>{let t=this.read();if(t!==null)return Promise.resolve({done:!1,value:t});if(this[Ua])return Promise.resolve({done:!0});let i=null,n=null,s=c=>{this.removeListener("data",o),this.removeListener("end",a),n(c)},o=c=>{this.removeListener("error",s),this.removeListener("end",a),this.pause(),i({value:c,done:!!this[Ua]})},a=()=>{this.removeListener("error",s),this.removeListener("data",o),i({done:!0})},l=()=>s(new Error("stream destroyed"));return new Promise((c,u)=>{n=u,i=c,this.once(Hi,l),this.once("error",s),this.once("end",a),this.once("data",o)})}}}[Fke](){return{next:()=>{let t=this.read();return{value:t,done:t===null}}}}destroy(e){return this[Hi]?(e?this.emit("error",e):this.emit(Hi),this):(this[Hi]=!0,this.buffer=new BC,this[nn]=0,typeof this.close=="function"&&!this[bB]&&this.close(),e?this.emit("error",e):this.emit(Hi),this)}static isStream(e){return!!e&&(e instanceof Z6||e instanceof q6||e instanceof kke&&(typeof e.pipe=="function"||typeof e.write=="function"&&typeof e.end=="function"))}}});var t9=w((fst,e9)=>{var Tke=J("zlib").constants||{ZLIB_VERNUM:4736};e9.exports=Object.freeze(Object.assign(Object.create(null),{Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_VERSION_ERROR:-6,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,DEFLATE:1,INFLATE:2,GZIP:3,GUNZIP:4,DEFLATERAW:5,INFLATERAW:6,UNZIP:7,BROTLI_DECODE:8,BROTLI_ENCODE:9,Z_MIN_WINDOWBITS:8,Z_MAX_WINDOWBITS:15,Z_DEFAULT_WINDOWBITS:15,Z_MIN_CHUNK:64,Z_MAX_CHUNK:1/0,Z_DEFAULT_CHUNK:16384,Z_MIN_MEMLEVEL:1,Z_MAX_MEMLEVEL:9,Z_DEFAULT_MEMLEVEL:8,Z_MIN_LEVEL:-1,Z_MAX_LEVEL:9,Z_DEFAULT_LEVEL:-1,BROTLI_OPERATION_PROCESS:0,BROTLI_OPERATION_FLUSH:1,BROTLI_OPERATION_FINISH:2,BROTLI_OPERATION_EMIT_METADATA:3,BROTLI_MODE_GENERIC:0,BROTLI_MODE_TEXT:1,BROTLI_MODE_FONT:2,BROTLI_DEFAULT_MODE:0,BROTLI_MIN_QUALITY:0,BROTLI_MAX_QUALITY:11,BROTLI_DEFAULT_QUALITY:11,BROTLI_MIN_WINDOW_BITS:10,BROTLI_MAX_WINDOW_BITS:24,BROTLI_LARGE_MAX_WINDOW_BITS:30,BROTLI_DEFAULT_WINDOW:22,BROTLI_MIN_INPUT_BLOCK_BITS:16,BROTLI_MAX_INPUT_BLOCK_BITS:24,BROTLI_PARAM_MODE:0,BROTLI_PARAM_QUALITY:1,BROTLI_PARAM_LGWIN:2,BROTLI_PARAM_LGBLOCK:3,BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING:4,BROTLI_PARAM_SIZE_HINT:5,BROTLI_PARAM_LARGE_WINDOW:6,BROTLI_PARAM_NPOSTFIX:7,BROTLI_PARAM_NDIRECT:8,BROTLI_DECODER_RESULT_ERROR:0,BROTLI_DECODER_RESULT_SUCCESS:1,BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT:2,BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION:0,BROTLI_DECODER_PARAM_LARGE_WINDOW:1,BROTLI_DECODER_NO_ERROR:0,BROTLI_DECODER_SUCCESS:1,BROTLI_DECODER_NEEDS_MORE_INPUT:2,BROTLI_DECODER_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE:-1,BROTLI_DECODER_ERROR_FORMAT_RESERVED:-2,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE:-3,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET:-4,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME:-5,BROTLI_DECODER_ERROR_FORMAT_CL_SPACE:-6,BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE:-7,BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT:-8,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1:-9,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2:-10,BROTLI_DECODER_ERROR_FORMAT_TRANSFORM:-11,BROTLI_DECODER_ERROR_FORMAT_DICTIONARY:-12,BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS:-13,BROTLI_DECODER_ERROR_FORMAT_PADDING_1:-14,BROTLI_DECODER_ERROR_FORMAT_PADDING_2:-15,BROTLI_DECODER_ERROR_FORMAT_DISTANCE:-16,BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET:-19,BROTLI_DECODER_ERROR_INVALID_ARGUMENTS:-20,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES:-21,BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS:-22,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP:-25,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1:-26,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2:-27,BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES:-30,BROTLI_DECODER_ERROR_UNREACHABLE:-31},Tke))});var VR=w(Wn=>{"use strict";var MR=J("assert"),zA=J("buffer").Buffer,n9=J("zlib"),Sc=Wn.constants=t9(),Oke=Hf(),r9=zA.concat,vc=Symbol("_superWrite"),Yf=class extends Error{constructor(e){super("zlib: "+e.message),this.code=e.code,this.errno=e.errno,this.code||(this.code="ZLIB_ERROR"),this.message="zlib: "+e.message,Error.captureStackTrace(this,this.constructor)}get name(){return"ZlibError"}},Mke=Symbol("opts"),vC=Symbol("flushFlag"),i9=Symbol("finishFlushFlag"),zR=Symbol("fullFlushFlag"),cr=Symbol("handle"),vB=Symbol("onError"),Gf=Symbol("sawError"),NR=Symbol("level"),LR=Symbol("strategy"),TR=Symbol("ended"),hst=Symbol("_defaultFullFlush"),xB=class extends Oke{constructor(e,t){if(!e||typeof e!="object")throw new TypeError("invalid options for ZlibBase constructor");super(e),this[Gf]=!1,this[TR]=!1,this[Mke]=e,this[vC]=e.flush,this[i9]=e.finishFlush;try{this[cr]=new n9[t](e)}catch(i){throw new Yf(i)}this[vB]=i=>{this[Gf]||(this[Gf]=!0,this.close(),this.emit("error",i))},this[cr].on("error",i=>this[vB](new Yf(i))),this.once("end",()=>this.close)}close(){this[cr]&&(this[cr].close(),this[cr]=null,this.emit("close"))}reset(){if(!this[Gf])return MR(this[cr],"zlib binding closed"),this[cr].reset()}flush(e){this.ended||(typeof e!="number"&&(e=this[zR]),this.write(Object.assign(zA.alloc(0),{[vC]:e})))}end(e,t,i){return e&&this.write(e,t),this.flush(this[i9]),this[TR]=!0,super.end(null,null,i)}get ended(){return this[TR]}write(e,t,i){if(typeof t=="function"&&(i=t,t="utf8"),typeof e=="string"&&(e=zA.from(e,t)),this[Gf])return;MR(this[cr],"zlib binding closed");let n=this[cr]._handle,s=n.close;n.close=()=>{};let o=this[cr].close;this[cr].close=()=>{},zA.concat=c=>c;let a;try{let c=typeof e[vC]=="number"?e[vC]:this[vC];a=this[cr]._processChunk(e,c),zA.concat=r9}catch(c){zA.concat=r9,this[vB](new Yf(c))}finally{this[cr]&&(this[cr]._handle=n,n.close=s,this[cr].close=o,this[cr].removeAllListeners("error"))}this[cr]&&this[cr].on("error",c=>this[vB](new Yf(c)));let l;if(a)if(Array.isArray(a)&&a.length>0){l=this[vc](zA.from(a[0]));for(let c=1;c{this.flush(n),s()};try{this[cr].params(e,t)}finally{this[cr].flush=i}this[cr]&&(this[NR]=e,this[LR]=t)}}}},KR=class extends Ga{constructor(e){super(e,"Deflate")}},UR=class extends Ga{constructor(e){super(e,"Inflate")}},OR=Symbol("_portable"),HR=class extends Ga{constructor(e){super(e,"Gzip"),this[OR]=e&&!!e.portable}[vc](e){return this[OR]?(this[OR]=!1,e[9]=255,super[vc](e)):super[vc](e)}},GR=class extends Ga{constructor(e){super(e,"Gunzip")}},YR=class extends Ga{constructor(e){super(e,"DeflateRaw")}},jR=class extends Ga{constructor(e){super(e,"InflateRaw")}},qR=class extends Ga{constructor(e){super(e,"Unzip")}},PB=class extends xB{constructor(e,t){e=e||{},e.flush=e.flush||Sc.BROTLI_OPERATION_PROCESS,e.finishFlush=e.finishFlush||Sc.BROTLI_OPERATION_FINISH,super(e,t),this[zR]=Sc.BROTLI_OPERATION_FLUSH}},JR=class extends PB{constructor(e){super(e,"BrotliCompress")}},WR=class extends PB{constructor(e){super(e,"BrotliDecompress")}};Wn.Deflate=KR;Wn.Inflate=UR;Wn.Gzip=HR;Wn.Gunzip=GR;Wn.DeflateRaw=YR;Wn.InflateRaw=jR;Wn.Unzip=qR;typeof n9.BrotliCompress=="function"?(Wn.BrotliCompress=JR,Wn.BrotliDecompress=WR):Wn.BrotliCompress=Wn.BrotliDecompress=class{constructor(){throw new Error("Brotli is not supported in this version of Node.js")}}});var xC=w(DB=>{"use strict";DB.name=new Map([["0","File"],["","OldFile"],["1","Link"],["2","SymbolicLink"],["3","CharacterDevice"],["4","BlockDevice"],["5","Directory"],["6","FIFO"],["7","ContiguousFile"],["g","GlobalExtendedHeader"],["x","ExtendedHeader"],["A","SolarisACL"],["D","GNUDumpDir"],["I","Inode"],["K","NextFileHasLongLinkpath"],["L","NextFileHasLongPath"],["M","ContinuationFile"],["N","OldGnuLongPath"],["S","SparseFile"],["V","TapeVolumeHeader"],["X","OldExtendedHeader"]]);DB.code=new Map(Array.from(DB.name).map(r=>[r[1],r[0]]))});var PC=w((Ist,s9)=>{"use strict";var mst=xC(),Kke=Hf(),XR=Symbol("slurp");s9.exports=class extends Kke{constructor(e,t,i){switch(super(),this.pause(),this.extended=t,this.globalExtended=i,this.header=e,this.startBlockSize=512*Math.ceil(e.size/512),this.blockRemain=this.startBlockSize,this.remain=e.size,this.type=e.type,this.meta=!1,this.ignore=!1,this.type){case"File":case"OldFile":case"Link":case"SymbolicLink":case"CharacterDevice":case"BlockDevice":case"Directory":case"FIFO":case"ContiguousFile":case"GNUDumpDir":break;case"NextFileHasLongLinkpath":case"NextFileHasLongPath":case"OldGnuLongPath":case"GlobalExtendedHeader":case"ExtendedHeader":case"OldExtendedHeader":this.meta=!0;break;default:this.ignore=!0}this.path=e.path,this.mode=e.mode,this.mode&&(this.mode=this.mode&4095),this.uid=e.uid,this.gid=e.gid,this.uname=e.uname,this.gname=e.gname,this.size=e.size,this.mtime=e.mtime,this.atime=e.atime,this.ctime=e.ctime,this.linkpath=e.linkpath,this.uname=e.uname,this.gname=e.gname,t&&this[XR](t),i&&this[XR](i,!0)}write(e){let t=e.length;if(t>this.blockRemain)throw new Error("writing more to entry than is appropriate");let i=this.remain,n=this.blockRemain;return this.remain=Math.max(0,i-t),this.blockRemain=Math.max(0,n-t),this.ignore?!0:i>=t?super.write(e):super.write(e.slice(0,i))}[XR](e,t){for(let i in e)e[i]!==null&&e[i]!==void 0&&!(t&&i==="path")&&(this[i]=e[i])}}});var A9=w(_R=>{"use strict";var yst=_R.encode=(r,e)=>{if(Number.isSafeInteger(r))r<0?Hke(r,e):Uke(r,e);else throw Error("cannot encode number outside of javascript safe integer range");return e},Uke=(r,e)=>{e[0]=128;for(var t=e.length;t>1;t--)e[t-1]=r&255,r=Math.floor(r/256)},Hke=(r,e)=>{e[0]=255;var t=!1;r=r*-1;for(var i=e.length;i>1;i--){var n=r&255;r=Math.floor(r/256),t?e[i-1]=o9(n):n===0?e[i-1]=0:(t=!0,e[i-1]=a9(n))}},wst=_R.parse=r=>{var e=r[r.length-1],t=r[0],i;if(t===128)i=Yke(r.slice(1,r.length));else if(t===255)i=Gke(r);else throw Error("invalid base256 encoding");if(!Number.isSafeInteger(i))throw Error("parsed number outside of javascript safe integer range");return i},Gke=r=>{for(var e=r.length,t=0,i=!1,n=e-1;n>-1;n--){var s=r[n],o;i?o=o9(s):s===0?o=s:(i=!0,o=a9(s)),o!==0&&(t-=o*Math.pow(256,e-n-1))}return t},Yke=r=>{for(var e=r.length,t=0,i=e-1;i>-1;i--){var n=r[i];n!==0&&(t+=n*Math.pow(256,e-i-1))}return t},o9=r=>(255^r)&255,a9=r=>(255^r)+1&255});var qf=w((Qst,c9)=>{"use strict";var ZR=xC(),jf=J("path").posix,l9=A9(),$R=Symbol("slurp"),zn=Symbol("type"),rF=class{constructor(e,t,i,n){this.cksumValid=!1,this.needPax=!1,this.nullBlock=!1,this.block=null,this.path=null,this.mode=null,this.uid=null,this.gid=null,this.size=null,this.mtime=null,this.cksum=null,this[zn]="0",this.linkpath=null,this.uname=null,this.gname=null,this.devmaj=0,this.devmin=0,this.atime=null,this.ctime=null,Buffer.isBuffer(e)?this.decode(e,t||0,i,n):e&&this.set(e)}decode(e,t,i,n){if(t||(t=0),!e||!(e.length>=t+512))throw new Error("need 512 bytes for header");if(this.path=xc(e,t,100),this.mode=VA(e,t+100,8),this.uid=VA(e,t+108,8),this.gid=VA(e,t+116,8),this.size=VA(e,t+124,12),this.mtime=eF(e,t+136,12),this.cksum=VA(e,t+148,12),this[$R](i),this[$R](n,!0),this[zn]=xc(e,t+156,1),this[zn]===""&&(this[zn]="0"),this[zn]==="0"&&this.path.substr(-1)==="/"&&(this[zn]="5"),this[zn]==="5"&&(this.size=0),this.linkpath=xc(e,t+157,100),e.slice(t+257,t+265).toString()==="ustar\x0000")if(this.uname=xc(e,t+265,32),this.gname=xc(e,t+297,32),this.devmaj=VA(e,t+329,8),this.devmin=VA(e,t+337,8),e[t+475]!==0){let o=xc(e,t+345,155);this.path=o+"/"+this.path}else{let o=xc(e,t+345,130);o&&(this.path=o+"/"+this.path),this.atime=eF(e,t+476,12),this.ctime=eF(e,t+488,12)}let s=8*32;for(let o=t;o=t+512))throw new Error("need 512 bytes for header");let i=this.ctime||this.atime?130:155,n=jke(this.path||"",i),s=n[0],o=n[1];this.needPax=n[2],this.needPax=Pc(e,t,100,s)||this.needPax,this.needPax=XA(e,t+100,8,this.mode)||this.needPax,this.needPax=XA(e,t+108,8,this.uid)||this.needPax,this.needPax=XA(e,t+116,8,this.gid)||this.needPax,this.needPax=XA(e,t+124,12,this.size)||this.needPax,this.needPax=tF(e,t+136,12,this.mtime)||this.needPax,e[t+156]=this[zn].charCodeAt(0),this.needPax=Pc(e,t+157,100,this.linkpath)||this.needPax,e.write("ustar\x0000",t+257,8),this.needPax=Pc(e,t+265,32,this.uname)||this.needPax,this.needPax=Pc(e,t+297,32,this.gname)||this.needPax,this.needPax=XA(e,t+329,8,this.devmaj)||this.needPax,this.needPax=XA(e,t+337,8,this.devmin)||this.needPax,this.needPax=Pc(e,t+345,i,o)||this.needPax,e[t+475]!==0?this.needPax=Pc(e,t+345,155,o)||this.needPax:(this.needPax=Pc(e,t+345,130,o)||this.needPax,this.needPax=tF(e,t+476,12,this.atime)||this.needPax,this.needPax=tF(e,t+488,12,this.ctime)||this.needPax);let a=8*32;for(let l=t;l{let i=r,n="",s,o=jf.parse(r).root||".";if(Buffer.byteLength(i)<100)s=[i,n,!1];else{n=jf.dirname(i),i=jf.basename(i);do Buffer.byteLength(i)<=100&&Buffer.byteLength(n)<=e?s=[i,n,!1]:Buffer.byteLength(i)>100&&Buffer.byteLength(n)<=e?s=[i.substr(0,100-1),n,!0]:(i=jf.join(jf.basename(n),i),n=jf.dirname(n));while(n!==o&&!s);s||(s=[r.substr(0,100-1),"",!0])}return s},xc=(r,e,t)=>r.slice(e,e+t).toString("utf8").replace(/\0.*/,""),eF=(r,e,t)=>qke(VA(r,e,t)),qke=r=>r===null?null:new Date(r*1e3),VA=(r,e,t)=>r[e]&128?l9.parse(r.slice(e,e+t)):Wke(r,e,t),Jke=r=>isNaN(r)?null:r,Wke=(r,e,t)=>Jke(parseInt(r.slice(e,e+t).toString("utf8").replace(/\0.*$/,"").trim(),8)),zke={12:8589934591,8:2097151},XA=(r,e,t,i)=>i===null?!1:i>zke[t]||i<0?(l9.encode(i,r.slice(e,e+t)),!0):(Vke(r,e,t,i),!1),Vke=(r,e,t,i)=>r.write(Xke(i,t),e,t,"ascii"),Xke=(r,e)=>_ke(Math.floor(r).toString(8),e),_ke=(r,e)=>(r.length===e-1?r:new Array(e-r.length-1).join("0")+r+" ")+"\0",tF=(r,e,t,i)=>i===null?!1:XA(r,e,t,i.getTime()/1e3),Zke=new Array(156).join("\0"),Pc=(r,e,t,i)=>i===null?!1:(r.write(i+Zke,e,t,"utf8"),i.length!==Buffer.byteLength(i)||i.length>t);c9.exports=rF});var kB=w((bst,u9)=>{"use strict";var $ke=qf(),eRe=J("path"),DC=class{constructor(e,t){this.atime=e.atime||null,this.charset=e.charset||null,this.comment=e.comment||null,this.ctime=e.ctime||null,this.gid=e.gid||null,this.gname=e.gname||null,this.linkpath=e.linkpath||null,this.mtime=e.mtime||null,this.path=e.path||null,this.size=e.size||null,this.uid=e.uid||null,this.uname=e.uname||null,this.dev=e.dev||null,this.ino=e.ino||null,this.nlink=e.nlink||null,this.global=t||!1}encode(){let e=this.encodeBody();if(e==="")return null;let t=Buffer.byteLength(e),i=512*Math.ceil(1+t/512),n=Buffer.allocUnsafe(i);for(let s=0;s<512;s++)n[s]=0;new $ke({path:("PaxHeader/"+eRe.basename(this.path)).slice(0,99),mode:this.mode||420,uid:this.uid||null,gid:this.gid||null,size:t,mtime:this.mtime||null,type:this.global?"GlobalExtendedHeader":"ExtendedHeader",linkpath:"",uname:this.uname||"",gname:this.gname||"",devmaj:0,devmin:0,atime:this.atime||null,ctime:this.ctime||null}).encode(n),n.write(e,512,t,"utf8");for(let s=t+512;s=Math.pow(10,s)&&(s+=1),s+n+i}};DC.parse=(r,e,t)=>new DC(tRe(rRe(r),e),t);var tRe=(r,e)=>e?Object.keys(r).reduce((t,i)=>(t[i]=r[i],t),e):r,rRe=r=>r.replace(/\n$/,"").split(` -`).reduce(iRe,Object.create(null)),iRe=(r,e)=>{let t=parseInt(e,10);if(t!==Buffer.byteLength(e)+1)return r;e=e.substr((t+" ").length);let i=e.split("="),n=i.shift().replace(/^SCHILY\.(dev|ino|nlink)/,"$1");if(!n)return r;let s=i.join("=");return r[n]=/^([A-Z]+\.)?([mac]|birth|creation)time$/.test(n)?new Date(s*1e3):/^[0-9]+$/.test(s)?+s:s,r};u9.exports=DC});var RB=w((Sst,g9)=>{"use strict";g9.exports=r=>class extends r{warn(e,t,i={}){this.file&&(i.file=this.file),this.cwd&&(i.cwd=this.cwd),i.code=t instanceof Error&&t.code||e,i.tarCode=e,!this.strict&&i.recoverable!==!1?(t instanceof Error&&(i=Object.assign(t,i),t=t.message),this.emit("warn",i.tarCode,t,i)):t instanceof Error?this.emit("error",Object.assign(t,i)):this.emit("error",Object.assign(new Error(`${e}: ${t}`),i))}}});var nF=w((xst,f9)=>{"use strict";var FB=["|","<",">","?",":"],iF=FB.map(r=>String.fromCharCode(61440+r.charCodeAt(0))),nRe=new Map(FB.map((r,e)=>[r,iF[e]])),sRe=new Map(iF.map((r,e)=>[r,FB[e]]));f9.exports={encode:r=>FB.reduce((e,t)=>e.split(t).join(nRe.get(t)),r),decode:r=>iF.reduce((e,t)=>e.split(t).join(sRe.get(t)),r)}});var p9=w((Pst,h9)=>{"use strict";h9.exports=(r,e,t)=>(r&=4095,t&&(r=(r|384)&-19),e&&(r&256&&(r|=64),r&32&&(r|=8),r&4&&(r|=1)),r)});var gF=w((Nst,b9)=>{"use strict";var I9=Hf(),y9=kB(),w9=qf(),Dst=PC(),Jo=J("fs"),Jf=J("path"),kst=xC(),oRe=16*1024*1024,d9=Symbol("process"),C9=Symbol("file"),m9=Symbol("directory"),sF=Symbol("symlink"),E9=Symbol("hardlink"),kC=Symbol("header"),NB=Symbol("read"),oF=Symbol("lstat"),LB=Symbol("onlstat"),aF=Symbol("onread"),AF=Symbol("onreadlink"),lF=Symbol("openfile"),cF=Symbol("onopenfile"),Dc=Symbol("close"),TB=Symbol("mode"),B9=RB(),aRe=nF(),Q9=p9(),OB=B9(class extends I9{constructor(e,t){if(t=t||{},super(t),typeof e!="string")throw new TypeError("path is required");this.path=e,this.portable=!!t.portable,this.myuid=process.getuid&&process.getuid(),this.myuser=process.env.USER||"",this.maxReadSize=t.maxReadSize||oRe,this.linkCache=t.linkCache||new Map,this.statCache=t.statCache||new Map,this.preservePaths=!!t.preservePaths,this.cwd=t.cwd||process.cwd(),this.strict=!!t.strict,this.noPax=!!t.noPax,this.noMtime=!!t.noMtime,this.mtime=t.mtime||null,typeof t.onwarn=="function"&&this.on("warn",t.onwarn);let i=!1;if(!this.preservePaths&&Jf.win32.isAbsolute(e)){let n=Jf.win32.parse(e);this.path=e.substr(n.root.length),i=n.root}this.win32=!!t.win32||process.platform==="win32",this.win32&&(this.path=aRe.decode(this.path.replace(/\\/g,"/")),e=e.replace(/\\/g,"/")),this.absolute=t.absolute||Jf.resolve(this.cwd,e),this.path===""&&(this.path="./"),i&&this.warn("TAR_ENTRY_INFO",`stripping ${i} from absolute path`,{entry:this,path:i+this.path}),this.statCache.has(this.absolute)?this[LB](this.statCache.get(this.absolute)):this[oF]()}[oF](){Jo.lstat(this.absolute,(e,t)=>{if(e)return this.emit("error",e);this[LB](t)})}[LB](e){this.statCache.set(this.absolute,e),this.stat=e,e.isFile()||(e.size=0),this.type=lRe(e),this.emit("stat",e),this[d9]()}[d9](){switch(this.type){case"File":return this[C9]();case"Directory":return this[m9]();case"SymbolicLink":return this[sF]();default:return this.end()}}[TB](e){return Q9(e,this.type==="Directory",this.portable)}[kC](){this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.header=new w9({path:this.path,linkpath:this.linkpath,mode:this[TB](this.stat.mode),uid:this.portable?null:this.stat.uid,gid:this.portable?null:this.stat.gid,size:this.stat.size,mtime:this.noMtime?null:this.mtime||this.stat.mtime,type:this.type,uname:this.portable?null:this.stat.uid===this.myuid?this.myuser:"",atime:this.portable?null:this.stat.atime,ctime:this.portable?null:this.stat.ctime}),this.header.encode()&&!this.noPax&&this.write(new y9({atime:this.portable?null:this.header.atime,ctime:this.portable?null:this.header.ctime,gid:this.portable?null:this.header.gid,mtime:this.noMtime?null:this.mtime||this.header.mtime,path:this.path,linkpath:this.linkpath,size:this.header.size,uid:this.portable?null:this.header.uid,uname:this.portable?null:this.header.uname,dev:this.portable?null:this.stat.dev,ino:this.portable?null:this.stat.ino,nlink:this.portable?null:this.stat.nlink}).encode()),this.write(this.header.block)}[m9](){this.path.substr(-1)!=="/"&&(this.path+="/"),this.stat.size=0,this[kC](),this.end()}[sF](){Jo.readlink(this.absolute,(e,t)=>{if(e)return this.emit("error",e);this[AF](t)})}[AF](e){this.linkpath=e.replace(/\\/g,"/"),this[kC](),this.end()}[E9](e){this.type="Link",this.linkpath=Jf.relative(this.cwd,e).replace(/\\/g,"/"),this.stat.size=0,this[kC](),this.end()}[C9](){if(this.stat.nlink>1){let e=this.stat.dev+":"+this.stat.ino;if(this.linkCache.has(e)){let t=this.linkCache.get(e);if(t.indexOf(this.cwd)===0)return this[E9](t)}this.linkCache.set(e,this.absolute)}if(this[kC](),this.stat.size===0)return this.end();this[lF]()}[lF](){Jo.open(this.absolute,"r",(e,t)=>{if(e)return this.emit("error",e);this[cF](t)})}[cF](e){let t=512*Math.ceil(this.stat.size/512),i=Math.min(t,this.maxReadSize),n=Buffer.allocUnsafe(i);this[NB](e,n,0,n.length,0,this.stat.size,t)}[NB](e,t,i,n,s,o,a){Jo.read(e,t,i,n,s,(l,c)=>{if(l)return this[Dc](e,()=>this.emit("error",l));this[aF](e,t,i,n,s,o,a,c)})}[Dc](e,t){Jo.close(e,t)}[aF](e,t,i,n,s,o,a,l){if(l<=0&&o>0){let u=new Error("encountered unexpected EOF");return u.path=this.absolute,u.syscall="read",u.code="EOF",this[Dc](e,()=>this.emit("error",u))}if(l>o){let u=new Error("did not encounter expected EOF");return u.path=this.absolute,u.syscall="read",u.code="EOF",this[Dc](e,()=>this.emit("error",u))}if(l===o)for(let u=l;uu?this.emit("error",u):this.end());i>=n&&(t=Buffer.allocUnsafe(n),i=0),n=t.length-i,this[NB](e,t,i,n,s,o,a)}}),uF=class extends OB{constructor(e,t){super(e,t)}[oF](){this[LB](Jo.lstatSync(this.absolute))}[sF](){this[AF](Jo.readlinkSync(this.absolute))}[lF](){this[cF](Jo.openSync(this.absolute,"r"))}[NB](e,t,i,n,s,o,a){let l=!0;try{let c=Jo.readSync(e,t,i,n,s);this[aF](e,t,i,n,s,o,a,c),l=!1}finally{if(l)try{this[Dc](e,()=>{})}catch{}}}[Dc](e,t){Jo.closeSync(e),t()}},ARe=B9(class extends I9{constructor(e,t){t=t||{},super(t),this.preservePaths=!!t.preservePaths,this.portable=!!t.portable,this.strict=!!t.strict,this.noPax=!!t.noPax,this.noMtime=!!t.noMtime,this.readEntry=e,this.type=e.type,this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.path=e.path,this.mode=this[TB](e.mode),this.uid=this.portable?null:e.uid,this.gid=this.portable?null:e.gid,this.uname=this.portable?null:e.uname,this.gname=this.portable?null:e.gname,this.size=e.size,this.mtime=this.noMtime?null:t.mtime||e.mtime,this.atime=this.portable?null:e.atime,this.ctime=this.portable?null:e.ctime,this.linkpath=e.linkpath,typeof t.onwarn=="function"&&this.on("warn",t.onwarn);let i=!1;if(Jf.isAbsolute(this.path)&&!this.preservePaths){let n=Jf.parse(this.path);i=n.root,this.path=this.path.substr(n.root.length)}this.remain=e.size,this.blockRemain=e.startBlockSize,this.header=new w9({path:this.path,linkpath:this.linkpath,mode:this.mode,uid:this.portable?null:this.uid,gid:this.portable?null:this.gid,size:this.size,mtime:this.noMtime?null:this.mtime,type:this.type,uname:this.portable?null:this.uname,atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime}),i&&this.warn("TAR_ENTRY_INFO",`stripping ${i} from absolute path`,{entry:this,path:i+this.path}),this.header.encode()&&!this.noPax&&super.write(new y9({atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime,gid:this.portable?null:this.gid,mtime:this.noMtime?null:this.mtime,path:this.path,linkpath:this.linkpath,size:this.size,uid:this.portable?null:this.uid,uname:this.portable?null:this.uname,dev:this.portable?null:this.readEntry.dev,ino:this.portable?null:this.readEntry.ino,nlink:this.portable?null:this.readEntry.nlink}).encode()),super.write(this.header.block),e.pipe(this)}[TB](e){return Q9(e,this.type==="Directory",this.portable)}write(e){let t=e.length;if(t>this.blockRemain)throw new Error("writing more to entry than is appropriate");return this.blockRemain-=t,super.write(e)}end(){return this.blockRemain&&this.write(Buffer.alloc(this.blockRemain)),super.end()}});OB.Sync=uF;OB.Tar=ARe;var lRe=r=>r.isFile()?"File":r.isDirectory()?"Directory":r.isSymbolicLink()?"SymbolicLink":"Unsupported";b9.exports=OB});var JB=w((Tst,R9)=>{"use strict";var jB=class{constructor(e,t){this.path=e||"./",this.absolute=t,this.entry=null,this.stat=null,this.readdir=null,this.pending=!1,this.ignore=!1,this.piped=!1}},cRe=Hf(),uRe=VR(),gRe=PC(),IF=gF(),fRe=IF.Sync,hRe=IF.Tar,pRe=sd(),S9=Buffer.alloc(1024),UB=Symbol("onStat"),MB=Symbol("ended"),Wo=Symbol("queue"),Wf=Symbol("current"),kc=Symbol("process"),KB=Symbol("processing"),v9=Symbol("processJob"),zo=Symbol("jobs"),fF=Symbol("jobDone"),HB=Symbol("addFSEntry"),x9=Symbol("addTarEntry"),dF=Symbol("stat"),CF=Symbol("readdir"),GB=Symbol("onreaddir"),YB=Symbol("pipe"),P9=Symbol("entry"),hF=Symbol("entryOpt"),mF=Symbol("writeEntryClass"),k9=Symbol("write"),pF=Symbol("ondrain"),qB=J("fs"),D9=J("path"),dRe=RB(),yF=dRe(class extends cRe{constructor(e){super(e),e=e||Object.create(null),this.opt=e,this.file=e.file||"",this.cwd=e.cwd||process.cwd(),this.maxReadSize=e.maxReadSize,this.preservePaths=!!e.preservePaths,this.strict=!!e.strict,this.noPax=!!e.noPax,this.prefix=(e.prefix||"").replace(/(\\|\/)+$/,""),this.linkCache=e.linkCache||new Map,this.statCache=e.statCache||new Map,this.readdirCache=e.readdirCache||new Map,this[mF]=IF,typeof e.onwarn=="function"&&this.on("warn",e.onwarn),this.portable=!!e.portable,this.zip=null,e.gzip?(typeof e.gzip!="object"&&(e.gzip={}),this.portable&&(e.gzip.portable=!0),this.zip=new uRe.Gzip(e.gzip),this.zip.on("data",t=>super.write(t)),this.zip.on("end",t=>super.end()),this.zip.on("drain",t=>this[pF]()),this.on("resume",t=>this.zip.resume())):this.on("drain",this[pF]),this.noDirRecurse=!!e.noDirRecurse,this.follow=!!e.follow,this.noMtime=!!e.noMtime,this.mtime=e.mtime||null,this.filter=typeof e.filter=="function"?e.filter:t=>!0,this[Wo]=new pRe,this[zo]=0,this.jobs=+e.jobs||4,this[KB]=!1,this[MB]=!1}[k9](e){return super.write(e)}add(e){return this.write(e),this}end(e){return e&&this.write(e),this[MB]=!0,this[kc](),this}write(e){if(this[MB])throw new Error("write after end");return e instanceof gRe?this[x9](e):this[HB](e),this.flowing}[x9](e){let t=D9.resolve(this.cwd,e.path);if(this.prefix&&(e.path=this.prefix+"/"+e.path.replace(/^\.(\/+|$)/,"")),!this.filter(e.path,e))e.resume();else{let i=new jB(e.path,t,!1);i.entry=new hRe(e,this[hF](i)),i.entry.on("end",n=>this[fF](i)),this[zo]+=1,this[Wo].push(i)}this[kc]()}[HB](e){let t=D9.resolve(this.cwd,e);this.prefix&&(e=this.prefix+"/"+e.replace(/^\.(\/+|$)/,"")),this[Wo].push(new jB(e,t)),this[kc]()}[dF](e){e.pending=!0,this[zo]+=1;let t=this.follow?"stat":"lstat";qB[t](e.absolute,(i,n)=>{e.pending=!1,this[zo]-=1,i?this.emit("error",i):this[UB](e,n)})}[UB](e,t){this.statCache.set(e.absolute,t),e.stat=t,this.filter(e.path,t)||(e.ignore=!0),this[kc]()}[CF](e){e.pending=!0,this[zo]+=1,qB.readdir(e.absolute,(t,i)=>{if(e.pending=!1,this[zo]-=1,t)return this.emit("error",t);this[GB](e,i)})}[GB](e,t){this.readdirCache.set(e.absolute,t),e.readdir=t,this[kc]()}[kc](){if(!this[KB]){this[KB]=!0;for(let e=this[Wo].head;e!==null&&this[zo]this.warn(t,i,n),noPax:this.noPax,cwd:this.cwd,absolute:e.absolute,preservePaths:this.preservePaths,maxReadSize:this.maxReadSize,strict:this.strict,portable:this.portable,linkCache:this.linkCache,statCache:this.statCache,noMtime:this.noMtime,mtime:this.mtime}}[P9](e){this[zo]+=1;try{return new this[mF](e.path,this[hF](e)).on("end",()=>this[fF](e)).on("error",t=>this.emit("error",t))}catch(t){this.emit("error",t)}}[pF](){this[Wf]&&this[Wf].entry&&this[Wf].entry.resume()}[YB](e){e.piped=!0,e.readdir&&e.readdir.forEach(n=>{let s=this.prefix?e.path.slice(this.prefix.length+1)||"./":e.path,o=s==="./"?"":s.replace(/\/*$/,"/");this[HB](o+n)});let t=e.entry,i=this.zip;i?t.on("data",n=>{i.write(n)||t.pause()}):t.on("data",n=>{super.write(n)||t.pause()})}pause(){return this.zip&&this.zip.pause(),super.pause()}}),EF=class extends yF{constructor(e){super(e),this[mF]=fRe}pause(){}resume(){}[dF](e){let t=this.follow?"statSync":"lstatSync";this[UB](e,qB[t](e.absolute))}[CF](e,t){this[GB](e,qB.readdirSync(e.absolute))}[YB](e){let t=e.entry,i=this.zip;e.readdir&&e.readdir.forEach(n=>{let s=this.prefix?e.path.slice(this.prefix.length+1)||"./":e.path,o=s==="./"?"":s.replace(/\/*$/,"/");this[HB](o+n)}),i?t.on("data",n=>{i.write(n)}):t.on("data",n=>{super[k9](n)})}};yF.Sync=EF;R9.exports=yF});var $f=w(FC=>{"use strict";var CRe=Hf(),mRe=J("events").EventEmitter,Bs=J("fs"),_B=process.binding("fs"),Ost=_B.writeBuffers,ERe=_B.FSReqWrap||_B.FSReqCallback,_f=Symbol("_autoClose"),Xo=Symbol("_close"),RC=Symbol("_ended"),rr=Symbol("_fd"),F9=Symbol("_finished"),Nc=Symbol("_flags"),wF=Symbol("_flush"),QF=Symbol("_handleChunk"),bF=Symbol("_makeBuf"),SF=Symbol("_mode"),WB=Symbol("_needDrain"),Xf=Symbol("_onerror"),Zf=Symbol("_onopen"),BF=Symbol("_onread"),Fc=Symbol("_onwrite"),ZA=Symbol("_open"),$A=Symbol("_path"),Rc=Symbol("_pos"),Vo=Symbol("_queue"),Vf=Symbol("_read"),N9=Symbol("_readSize"),_A=Symbol("_reading"),zB=Symbol("_remain"),L9=Symbol("_size"),VB=Symbol("_write"),zf=Symbol("_writing"),XB=Symbol("_defaultFlag"),ZB=class extends CRe{constructor(e,t){if(t=t||{},super(t),this.writable=!1,typeof e!="string")throw new TypeError("path must be a string");this[rr]=typeof t.fd=="number"?t.fd:null,this[$A]=e,this[N9]=t.readSize||16*1024*1024,this[_A]=!1,this[L9]=typeof t.size=="number"?t.size:1/0,this[zB]=this[L9],this[_f]=typeof t.autoClose=="boolean"?t.autoClose:!0,typeof this[rr]=="number"?this[Vf]():this[ZA]()}get fd(){return this[rr]}get path(){return this[$A]}write(){throw new TypeError("this is a readable stream")}end(){throw new TypeError("this is a readable stream")}[ZA](){Bs.open(this[$A],"r",(e,t)=>this[Zf](e,t))}[Zf](e,t){e?this[Xf](e):(this[rr]=t,this.emit("open",t),this[Vf]())}[bF](){return Buffer.allocUnsafe(Math.min(this[N9],this[zB]))}[Vf](){if(!this[_A]){this[_A]=!0;let e=this[bF]();if(e.length===0)return process.nextTick(()=>this[BF](null,0,e));Bs.read(this[rr],e,0,e.length,null,(t,i,n)=>this[BF](t,i,n))}}[BF](e,t,i){this[_A]=!1,e?this[Xf](e):this[QF](t,i)&&this[Vf]()}[Xo](){this[_f]&&typeof this[rr]=="number"&&(Bs.close(this[rr],e=>this.emit("close")),this[rr]=null)}[Xf](e){this[_A]=!0,this[Xo](),this.emit("error",e)}[QF](e,t){let i=!1;return this[zB]-=e,e>0&&(i=super.write(ethis[Zf](e,t))}[Zf](e,t){this[XB]&&this[Nc]==="r+"&&e&&e.code==="ENOENT"?(this[Nc]="w",this[ZA]()):e?this[Xf](e):(this[rr]=t,this.emit("open",t),this[wF]())}end(e,t){e&&this.write(e,t),this[RC]=!0,!this[zf]&&!this[Vo].length&&typeof this[rr]=="number"&&this[Fc](null,0)}write(e,t){return typeof e=="string"&&(e=new Buffer(e,t)),this[RC]?(this.emit("error",new Error("write() after end()")),!1):this[rr]===null||this[zf]||this[Vo].length?(this[Vo].push(e),this[WB]=!0,!1):(this[zf]=!0,this[VB](e),!0)}[VB](e){Bs.write(this[rr],e,0,e.length,this[Rc],(t,i)=>this[Fc](t,i))}[Fc](e,t){e?this[Xf](e):(this[Rc]!==null&&(this[Rc]+=t),this[Vo].length?this[wF]():(this[zf]=!1,this[RC]&&!this[F9]?(this[F9]=!0,this[Xo](),this.emit("finish")):this[WB]&&(this[WB]=!1,this.emit("drain"))))}[wF](){if(this[Vo].length===0)this[RC]&&this[Fc](null,0);else if(this[Vo].length===1)this[VB](this[Vo].pop());else{let e=this[Vo];this[Vo]=[],IRe(this[rr],e,this[Rc],(t,i)=>this[Fc](t,i))}}[Xo](){this[_f]&&typeof this[rr]=="number"&&(Bs.close(this[rr],e=>this.emit("close")),this[rr]=null)}},xF=class extends $B{[ZA](){let e;try{e=Bs.openSync(this[$A],this[Nc],this[SF])}catch(t){if(this[XB]&&this[Nc]==="r+"&&t&&t.code==="ENOENT")return this[Nc]="w",this[ZA]();throw t}this[Zf](null,e)}[Xo](){if(this[_f]&&typeof this[rr]=="number"){try{Bs.closeSync(this[rr])}catch{}this[rr]=null,this.emit("close")}}[VB](e){try{this[Fc](null,Bs.writeSync(this[rr],e,0,e.length,this[Rc]))}catch(t){this[Fc](t,0)}}},IRe=(r,e,t,i)=>{let n=(o,a)=>i(o,a,e),s=new ERe;s.oncomplete=n,_B.writeBuffers(r,e,t,s)};FC.ReadStream=ZB;FC.ReadStreamSync=vF;FC.WriteStream=$B;FC.WriteStreamSync=xF});var TC=w((Hst,G9)=>{"use strict";var yRe=RB(),Kst=J("path"),wRe=qf(),BRe=J("events"),QRe=sd(),bRe=1024*1024,SRe=PC(),T9=kB(),vRe=VR(),PF=Buffer.from([31,139]),Qs=Symbol("state"),Lc=Symbol("writeEntry"),Ya=Symbol("readEntry"),DF=Symbol("nextEntry"),O9=Symbol("processEntry"),bs=Symbol("extendedHeader"),NC=Symbol("globalExtendedHeader"),el=Symbol("meta"),M9=Symbol("emitMeta"),Er=Symbol("buffer"),ja=Symbol("queue"),Tc=Symbol("ended"),K9=Symbol("emittedEnd"),Oc=Symbol("emit"),vn=Symbol("unzip"),e0=Symbol("consumeChunk"),t0=Symbol("consumeChunkSub"),kF=Symbol("consumeBody"),U9=Symbol("consumeMeta"),H9=Symbol("consumeHeader"),r0=Symbol("consuming"),RF=Symbol("bufferConcat"),FF=Symbol("maybeEnd"),LC=Symbol("writing"),tl=Symbol("aborted"),i0=Symbol("onDone"),Mc=Symbol("sawValidEntry"),n0=Symbol("sawNullBlock"),s0=Symbol("sawEOF"),xRe=r=>!0;G9.exports=yRe(class extends BRe{constructor(e){e=e||{},super(e),this.file=e.file||"",this[Mc]=null,this.on(i0,t=>{(this[Qs]==="begin"||this[Mc]===!1)&&this.warn("TAR_BAD_ARCHIVE","Unrecognized archive format")}),e.ondone?this.on(i0,e.ondone):this.on(i0,t=>{this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close")}),this.strict=!!e.strict,this.maxMetaEntrySize=e.maxMetaEntrySize||bRe,this.filter=typeof e.filter=="function"?e.filter:xRe,this.writable=!0,this.readable=!1,this[ja]=new QRe,this[Er]=null,this[Ya]=null,this[Lc]=null,this[Qs]="begin",this[el]="",this[bs]=null,this[NC]=null,this[Tc]=!1,this[vn]=null,this[tl]=!1,this[n0]=!1,this[s0]=!1,typeof e.onwarn=="function"&&this.on("warn",e.onwarn),typeof e.onentry=="function"&&this.on("entry",e.onentry)}[H9](e,t){this[Mc]===null&&(this[Mc]=!1);let i;try{i=new wRe(e,t,this[bs],this[NC])}catch(n){return this.warn("TAR_ENTRY_INVALID",n)}if(i.nullBlock)this[n0]?(this[s0]=!0,this[Qs]==="begin"&&(this[Qs]="header"),this[Oc]("eof")):(this[n0]=!0,this[Oc]("nullBlock"));else if(this[n0]=!1,!i.cksumValid)this.warn("TAR_ENTRY_INVALID","checksum failure",{header:i});else if(!i.path)this.warn("TAR_ENTRY_INVALID","path is required",{header:i});else{let n=i.type;if(/^(Symbolic)?Link$/.test(n)&&!i.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath required",{header:i});else if(!/^(Symbolic)?Link$/.test(n)&&i.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath forbidden",{header:i});else{let s=this[Lc]=new SRe(i,this[bs],this[NC]);if(!this[Mc])if(s.remain){let o=()=>{s.invalid||(this[Mc]=!0)};s.on("end",o)}else this[Mc]=!0;s.meta?s.size>this.maxMetaEntrySize?(s.ignore=!0,this[Oc]("ignoredEntry",s),this[Qs]="ignore",s.resume()):s.size>0&&(this[el]="",s.on("data",o=>this[el]+=o),this[Qs]="meta"):(this[bs]=null,s.ignore=s.ignore||!this.filter(s.path,s),s.ignore?(this[Oc]("ignoredEntry",s),this[Qs]=s.remain?"ignore":"header",s.resume()):(s.remain?this[Qs]="body":(this[Qs]="header",s.end()),this[Ya]?this[ja].push(s):(this[ja].push(s),this[DF]())))}}}[O9](e){let t=!0;return e?Array.isArray(e)?this.emit.apply(this,e):(this[Ya]=e,this.emit("entry",e),e.emittedEnd||(e.on("end",i=>this[DF]()),t=!1)):(this[Ya]=null,t=!1),t}[DF](){do;while(this[O9](this[ja].shift()));if(!this[ja].length){let e=this[Ya];!e||e.flowing||e.size===e.remain?this[LC]||this.emit("drain"):e.once("drain",i=>this.emit("drain"))}}[kF](e,t){let i=this[Lc],n=i.blockRemain,s=n>=e.length&&t===0?e:e.slice(t,t+n);return i.write(s),i.blockRemain||(this[Qs]="header",this[Lc]=null,i.end()),s.length}[U9](e,t){let i=this[Lc],n=this[kF](e,t);return this[Lc]||this[M9](i),n}[Oc](e,t,i){!this[ja].length&&!this[Ya]?this.emit(e,t,i):this[ja].push([e,t,i])}[M9](e){switch(this[Oc]("meta",this[el]),e.type){case"ExtendedHeader":case"OldExtendedHeader":this[bs]=T9.parse(this[el],this[bs],!1);break;case"GlobalExtendedHeader":this[NC]=T9.parse(this[el],this[NC],!0);break;case"NextFileHasLongPath":case"OldGnuLongPath":this[bs]=this[bs]||Object.create(null),this[bs].path=this[el].replace(/\0.*/,"");break;case"NextFileHasLongLinkpath":this[bs]=this[bs]||Object.create(null),this[bs].linkpath=this[el].replace(/\0.*/,"");break;default:throw new Error("unknown meta: "+e.type)}}abort(e){this[tl]=!0,this.emit("abort",e),this.warn("TAR_ABORT",e,{recoverable:!1})}write(e){if(this[tl])return;if(this[vn]===null&&e){if(this[Er]&&(e=Buffer.concat([this[Er],e]),this[Er]=null),e.lengththis[e0](s)),this[vn].on("error",s=>this.abort(s)),this[vn].on("end",s=>{this[Tc]=!0,this[e0]()}),this[LC]=!0;let n=this[vn][i?"end":"write"](e);return this[LC]=!1,n}}this[LC]=!0,this[vn]?this[vn].write(e):this[e0](e),this[LC]=!1;let t=this[ja].length?!1:this[Ya]?this[Ya].flowing:!0;return!t&&!this[ja].length&&this[Ya].once("drain",i=>this.emit("drain")),t}[RF](e){e&&!this[tl]&&(this[Er]=this[Er]?Buffer.concat([this[Er],e]):e)}[FF](){if(this[Tc]&&!this[K9]&&!this[tl]&&!this[r0]){this[K9]=!0;let e=this[Lc];if(e&&e.blockRemain){let t=this[Er]?this[Er].length:0;this.warn("TAR_BAD_ARCHIVE",`Truncated input (needed ${e.blockRemain} more bytes, only ${t} available)`,{entry:e}),this[Er]&&e.write(this[Er]),e.end()}this[Oc](i0)}}[e0](e){if(this[r0])this[RF](e);else if(!e&&!this[Er])this[FF]();else{if(this[r0]=!0,this[Er]){this[RF](e);let t=this[Er];this[Er]=null,this[t0](t)}else this[t0](e);for(;this[Er]&&this[Er].length>=512&&!this[tl]&&!this[s0];){let t=this[Er];this[Er]=null,this[t0](t)}this[r0]=!1}(!this[Er]||this[Tc])&&this[FF]()}[t0](e){let t=0,i=e.length;for(;t+512<=i&&!this[tl]&&!this[s0];)switch(this[Qs]){case"begin":case"header":this[H9](e,t),t+=512;break;case"ignore":case"body":t+=this[kF](e,t);break;case"meta":t+=this[U9](e,t);break;default:throw new Error("invalid state: "+this[Qs])}t{"use strict";var PRe=Uf(),j9=TC(),eh=J("fs"),DRe=$f(),Y9=J("path"),Gst=J9.exports=(r,e,t)=>{typeof r=="function"?(t=r,e=null,r={}):Array.isArray(r)&&(e=r,r={}),typeof e=="function"&&(t=e,e=null),e?e=Array.from(e):e=[];let i=PRe(r);if(i.sync&&typeof t=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof t=="function")throw new TypeError("callback only supported with file option");return e.length&&RRe(i,e),i.noResume||kRe(i),i.file&&i.sync?FRe(i):i.file?NRe(i,t):q9(i)},kRe=r=>{let e=r.onentry;r.onentry=e?t=>{e(t),t.resume()}:t=>t.resume()},RRe=(r,e)=>{let t=new Map(e.map(s=>[s.replace(/\/+$/,""),!0])),i=r.filter,n=(s,o)=>{let a=o||Y9.parse(s).root||".",l=s===a?!1:t.has(s)?t.get(s):n(Y9.dirname(s),a);return t.set(s,l),l};r.filter=i?(s,o)=>i(s,o)&&n(s.replace(/\/+$/,"")):s=>n(s.replace(/\/+$/,""))},FRe=r=>{let e=q9(r),t=r.file,i=!0,n;try{let s=eh.statSync(t),o=r.maxReadSize||16*1024*1024;if(s.size{let t=new j9(r),i=r.maxReadSize||16*1024*1024,n=r.file,s=new Promise((o,a)=>{t.on("error",a),t.on("end",o),eh.stat(n,(l,c)=>{if(l)a(l);else{let u=new DRe.ReadStream(n,{readSize:i,size:c.size});u.on("error",a),u.pipe(t)}})});return e?s.then(e,e):s},q9=r=>new j9(r)});var Z9=w((Jst,_9)=>{"use strict";var LRe=Uf(),a0=JB(),jst=J("fs"),W9=$f(),z9=o0(),V9=J("path"),qst=_9.exports=(r,e,t)=>{if(typeof e=="function"&&(t=e),Array.isArray(r)&&(e=r,r={}),!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");e=Array.from(e);let i=LRe(r);if(i.sync&&typeof t=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof t=="function")throw new TypeError("callback only supported with file option");return i.file&&i.sync?TRe(i,e):i.file?ORe(i,e,t):i.sync?MRe(i,e):KRe(i,e)},TRe=(r,e)=>{let t=new a0.Sync(r),i=new W9.WriteStreamSync(r.file,{mode:r.mode||438});t.pipe(i),X9(t,e)},ORe=(r,e,t)=>{let i=new a0(r),n=new W9.WriteStream(r.file,{mode:r.mode||438});i.pipe(n);let s=new Promise((o,a)=>{n.on("error",a),n.on("close",o),i.on("error",a)});return NF(i,e),t?s.then(t,t):s},X9=(r,e)=>{e.forEach(t=>{t.charAt(0)==="@"?z9({file:V9.resolve(r.cwd,t.substr(1)),sync:!0,noResume:!0,onentry:i=>r.add(i)}):r.add(t)}),r.end()},NF=(r,e)=>{for(;e.length;){let t=e.shift();if(t.charAt(0)==="@")return z9({file:V9.resolve(r.cwd,t.substr(1)),noResume:!0,onentry:i=>r.add(i)}).then(i=>NF(r,e));r.add(t)}r.end()},MRe=(r,e)=>{let t=new a0.Sync(r);return X9(t,e),t},KRe=(r,e)=>{let t=new a0(r);return NF(t,e),t}});var LF=w((Vst,s7)=>{"use strict";var URe=Uf(),$9=JB(),Wst=TC(),Ss=J("fs"),e7=$f(),t7=o0(),r7=J("path"),i7=qf(),zst=s7.exports=(r,e,t)=>{let i=URe(r);if(!i.file)throw new TypeError("file is required");if(i.gzip)throw new TypeError("cannot append to compressed archives");if(!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");return e=Array.from(e),i.sync?HRe(i,e):YRe(i,e,t)},HRe=(r,e)=>{let t=new $9.Sync(r),i=!0,n,s;try{try{n=Ss.openSync(r.file,"r+")}catch(l){if(l.code==="ENOENT")n=Ss.openSync(r.file,"w+");else throw l}let o=Ss.fstatSync(n),a=Buffer.alloc(512);e:for(s=0;so.size)break;s+=c,r.mtimeCache&&r.mtimeCache.set(l.path,l.mtime)}i=!1,GRe(r,t,s,n,e)}finally{if(i)try{Ss.closeSync(n)}catch{}}},GRe=(r,e,t,i,n)=>{let s=new e7.WriteStreamSync(r.file,{fd:i,start:t});e.pipe(s),jRe(e,n)},YRe=(r,e,t)=>{e=Array.from(e);let i=new $9(r),n=(o,a,l)=>{let c=(p,C)=>{p?Ss.close(o,y=>l(p)):l(null,C)},u=0;if(a===0)return c(null,0);let g=0,f=Buffer.alloc(512),h=(p,C)=>{if(p)return c(p);if(g+=C,g<512&&C)return Ss.read(o,f,g,f.length-g,u+g,h);if(u===0&&f[0]===31&&f[1]===139)return c(new Error("cannot append to compressed archives"));if(g<512)return c(null,u);let y=new i7(f);if(!y.cksumValid)return c(null,u);let B=512*Math.ceil(y.size/512);if(u+B+512>a||(u+=B+512,u>=a))return c(null,u);r.mtimeCache&&r.mtimeCache.set(y.path,y.mtime),g=0,Ss.read(o,f,0,512,u,h)};Ss.read(o,f,0,512,u,h)},s=new Promise((o,a)=>{i.on("error",a);let l="r+",c=(u,g)=>{if(u&&u.code==="ENOENT"&&l==="r+")return l="w+",Ss.open(r.file,l,c);if(u)return a(u);Ss.fstat(g,(f,h)=>{if(f)return a(f);n(g,h.size,(p,C)=>{if(p)return a(p);let y=new e7.WriteStream(r.file,{fd:g,start:C});i.pipe(y),y.on("error",a),y.on("close",o),n7(i,e)})})};Ss.open(r.file,l,c)});return t?s.then(t,t):s},jRe=(r,e)=>{e.forEach(t=>{t.charAt(0)==="@"?t7({file:r7.resolve(r.cwd,t.substr(1)),sync:!0,noResume:!0,onentry:i=>r.add(i)}):r.add(t)}),r.end()},n7=(r,e)=>{for(;e.length;){let t=e.shift();if(t.charAt(0)==="@")return t7({file:r7.resolve(r.cwd,t.substr(1)),noResume:!0,onentry:i=>r.add(i)}).then(i=>n7(r,e));r.add(t)}r.end()}});var a7=w((_st,o7)=>{"use strict";var qRe=Uf(),JRe=LF(),Xst=o7.exports=(r,e,t)=>{let i=qRe(r);if(!i.file)throw new TypeError("file is required");if(i.gzip)throw new TypeError("cannot append to compressed archives");if(!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");return e=Array.from(e),WRe(i),JRe(i,e,t)},WRe=r=>{let e=r.filter;r.mtimeCache||(r.mtimeCache=new Map),r.filter=e?(t,i)=>e(t,i)&&!(r.mtimeCache.get(t)>i.mtime):(t,i)=>!(r.mtimeCache.get(t)>i.mtime)}});var c7=w((Zst,l7)=>{var{promisify:A7}=J("util"),rl=J("fs"),zRe=r=>{if(!r)r={mode:511,fs:rl};else if(typeof r=="object")r={mode:511,fs:rl,...r};else if(typeof r=="number")r={mode:r,fs:rl};else if(typeof r=="string")r={mode:parseInt(r,8),fs:rl};else throw new TypeError("invalid options argument");return r.mkdir=r.mkdir||r.fs.mkdir||rl.mkdir,r.mkdirAsync=A7(r.mkdir),r.stat=r.stat||r.fs.stat||rl.stat,r.statAsync=A7(r.stat),r.statSync=r.statSync||r.fs.statSync||rl.statSync,r.mkdirSync=r.mkdirSync||r.fs.mkdirSync||rl.mkdirSync,r};l7.exports=zRe});var g7=w(($st,u7)=>{var VRe=process.env.__TESTING_MKDIRP_PLATFORM__||process.platform,{resolve:XRe,parse:_Re}=J("path"),ZRe=r=>{if(/\0/.test(r))throw Object.assign(new TypeError("path must be a string without null bytes"),{path:r,code:"ERR_INVALID_ARG_VALUE"});if(r=XRe(r),VRe==="win32"){let e=/[*|"<>?:]/,{root:t}=_Re(r);if(e.test(r.substr(t.length)))throw Object.assign(new Error("Illegal characters in path."),{path:r,code:"EINVAL"})}return r};u7.exports=ZRe});var C7=w((eot,d7)=>{var{dirname:f7}=J("path"),h7=(r,e,t=void 0)=>t===e?Promise.resolve():r.statAsync(e).then(i=>i.isDirectory()?t:void 0,i=>i.code==="ENOENT"?h7(r,f7(e),e):void 0),p7=(r,e,t=void 0)=>{if(t!==e)try{return r.statSync(e).isDirectory()?t:void 0}catch(i){return i.code==="ENOENT"?p7(r,f7(e),e):void 0}};d7.exports={findMade:h7,findMadeSync:p7}});var MF=w((tot,E7)=>{var{dirname:m7}=J("path"),TF=(r,e,t)=>{e.recursive=!1;let i=m7(r);return i===r?e.mkdirAsync(r,e).catch(n=>{if(n.code!=="EISDIR")throw n}):e.mkdirAsync(r,e).then(()=>t||r,n=>{if(n.code==="ENOENT")return TF(i,e).then(s=>TF(r,e,s));if(n.code!=="EEXIST"&&n.code!=="EROFS")throw n;return e.statAsync(r).then(s=>{if(s.isDirectory())return t;throw n},()=>{throw n})})},OF=(r,e,t)=>{let i=m7(r);if(e.recursive=!1,i===r)try{return e.mkdirSync(r,e)}catch(n){if(n.code!=="EISDIR")throw n;return}try{return e.mkdirSync(r,e),t||r}catch(n){if(n.code==="ENOENT")return OF(r,e,OF(i,e,t));if(n.code!=="EEXIST"&&n.code!=="EROFS")throw n;try{if(!e.statSync(r).isDirectory())throw n}catch{throw n}}};E7.exports={mkdirpManual:TF,mkdirpManualSync:OF}});var w7=w((rot,y7)=>{var{dirname:I7}=J("path"),{findMade:$Re,findMadeSync:eFe}=C7(),{mkdirpManual:tFe,mkdirpManualSync:rFe}=MF(),iFe=(r,e)=>(e.recursive=!0,I7(r)===r?e.mkdirAsync(r,e):$Re(e,r).then(i=>e.mkdirAsync(r,e).then(()=>i).catch(n=>{if(n.code==="ENOENT")return tFe(r,e);throw n}))),nFe=(r,e)=>{if(e.recursive=!0,I7(r)===r)return e.mkdirSync(r,e);let i=eFe(e,r);try{return e.mkdirSync(r,e),i}catch(n){if(n.code==="ENOENT")return rFe(r,e);throw n}};y7.exports={mkdirpNative:iFe,mkdirpNativeSync:nFe}});var S7=w((iot,b7)=>{var B7=J("fs"),sFe=process.env.__TESTING_MKDIRP_NODE_VERSION__||process.version,KF=sFe.replace(/^v/,"").split("."),Q7=+KF[0]>10||+KF[0]==10&&+KF[1]>=12,oFe=Q7?r=>r.mkdir===B7.mkdir:()=>!1,aFe=Q7?r=>r.mkdirSync===B7.mkdirSync:()=>!1;b7.exports={useNative:oFe,useNativeSync:aFe}});var R7=w((not,k7)=>{var th=c7(),rh=g7(),{mkdirpNative:v7,mkdirpNativeSync:x7}=w7(),{mkdirpManual:P7,mkdirpManualSync:D7}=MF(),{useNative:AFe,useNativeSync:lFe}=S7(),ih=(r,e)=>(r=rh(r),e=th(e),AFe(e)?v7(r,e):P7(r,e)),cFe=(r,e)=>(r=rh(r),e=th(e),lFe(e)?x7(r,e):D7(r,e));ih.sync=cFe;ih.native=(r,e)=>v7(rh(r),th(e));ih.manual=(r,e)=>P7(rh(r),th(e));ih.nativeSync=(r,e)=>x7(rh(r),th(e));ih.manualSync=(r,e)=>D7(rh(r),th(e));k7.exports=ih});var K7=w((sot,M7)=>{"use strict";var vs=J("fs"),Kc=J("path"),uFe=vs.lchown?"lchown":"chown",gFe=vs.lchownSync?"lchownSync":"chownSync",N7=vs.lchown&&!process.version.match(/v1[1-9]+\./)&&!process.version.match(/v10\.[6-9]/),F7=(r,e,t)=>{try{return vs[gFe](r,e,t)}catch(i){if(i.code!=="ENOENT")throw i}},fFe=(r,e,t)=>{try{return vs.chownSync(r,e,t)}catch(i){if(i.code!=="ENOENT")throw i}},hFe=N7?(r,e,t,i)=>n=>{!n||n.code!=="EISDIR"?i(n):vs.chown(r,e,t,i)}:(r,e,t,i)=>i,UF=N7?(r,e,t)=>{try{return F7(r,e,t)}catch(i){if(i.code!=="EISDIR")throw i;fFe(r,e,t)}}:(r,e,t)=>F7(r,e,t),pFe=process.version,L7=(r,e,t)=>vs.readdir(r,e,t),dFe=(r,e)=>vs.readdirSync(r,e);/^v4\./.test(pFe)&&(L7=(r,e,t)=>vs.readdir(r,t));var A0=(r,e,t,i)=>{vs[uFe](r,e,t,hFe(r,e,t,n=>{i(n&&n.code!=="ENOENT"?n:null)}))},T7=(r,e,t,i,n)=>{if(typeof e=="string")return vs.lstat(Kc.resolve(r,e),(s,o)=>{if(s)return n(s.code!=="ENOENT"?s:null);o.name=e,T7(r,o,t,i,n)});if(e.isDirectory())HF(Kc.resolve(r,e.name),t,i,s=>{if(s)return n(s);let o=Kc.resolve(r,e.name);A0(o,t,i,n)});else{let s=Kc.resolve(r,e.name);A0(s,t,i,n)}},HF=(r,e,t,i)=>{L7(r,{withFileTypes:!0},(n,s)=>{if(n){if(n.code==="ENOENT")return i();if(n.code!=="ENOTDIR"&&n.code!=="ENOTSUP")return i(n)}if(n||!s.length)return A0(r,e,t,i);let o=s.length,a=null,l=c=>{if(!a){if(c)return i(a=c);if(--o===0)return A0(r,e,t,i)}};s.forEach(c=>T7(r,c,e,t,l))})},CFe=(r,e,t,i)=>{if(typeof e=="string")try{let n=vs.lstatSync(Kc.resolve(r,e));n.name=e,e=n}catch(n){if(n.code==="ENOENT")return;throw n}e.isDirectory()&&O7(Kc.resolve(r,e.name),t,i),UF(Kc.resolve(r,e.name),t,i)},O7=(r,e,t)=>{let i;try{i=dFe(r,{withFileTypes:!0})}catch(n){if(n.code==="ENOENT")return;if(n.code==="ENOTDIR"||n.code==="ENOTSUP")return UF(r,e,t);throw n}return i&&i.length&&i.forEach(n=>CFe(r,n,e,t)),UF(r,e,t)};M7.exports=HF;HF.sync=O7});var Y7=w((Aot,GF)=>{"use strict";var U7=R7(),xs=J("fs"),l0=J("path"),H7=K7(),c0=class extends Error{constructor(e,t){super("Cannot extract through symbolic link"),this.path=t,this.symlink=e}get name(){return"SylinkError"}},nh=class extends Error{constructor(e,t){super(t+": Cannot cd into '"+e+"'"),this.path=e,this.code=t}get name(){return"CwdError"}},oot=GF.exports=(r,e,t)=>{let i=e.umask,n=e.mode|448,s=(n&i)!==0,o=e.uid,a=e.gid,l=typeof o=="number"&&typeof a=="number"&&(o!==e.processUid||a!==e.processGid),c=e.preserve,u=e.unlink,g=e.cache,f=e.cwd,h=(y,B)=>{y?t(y):(g.set(r,!0),B&&l?H7(B,o,a,v=>h(v)):s?xs.chmod(r,n,t):t())};if(g&&g.get(r)===!0)return h();if(r===f)return xs.stat(r,(y,B)=>{(y||!B.isDirectory())&&(y=new nh(r,y&&y.code||"ENOTDIR")),h(y)});if(c)return U7(r,{mode:n}).then(y=>h(null,y),h);let C=l0.relative(f,r).split(/\/|\\/);u0(f,C,n,g,u,f,null,h)},u0=(r,e,t,i,n,s,o,a)=>{if(!e.length)return a(null,o);let l=e.shift(),c=r+"/"+l;if(i.get(c))return u0(c,e,t,i,n,s,o,a);xs.mkdir(c,t,G7(c,e,t,i,n,s,o,a))},G7=(r,e,t,i,n,s,o,a)=>l=>{if(l){if(l.path&&l0.dirname(l.path)===s&&(l.code==="ENOTDIR"||l.code==="ENOENT"))return a(new nh(s,l.code));xs.lstat(r,(c,u)=>{if(c)a(c);else if(u.isDirectory())u0(r,e,t,i,n,s,o,a);else if(n)xs.unlink(r,g=>{if(g)return a(g);xs.mkdir(r,t,G7(r,e,t,i,n,s,o,a))});else{if(u.isSymbolicLink())return a(new c0(r,r+"/"+e.join("/")));a(l)}})}else o=o||r,u0(r,e,t,i,n,s,o,a)},aot=GF.exports.sync=(r,e)=>{let t=e.umask,i=e.mode|448,n=(i&t)!==0,s=e.uid,o=e.gid,a=typeof s=="number"&&typeof o=="number"&&(s!==e.processUid||o!==e.processGid),l=e.preserve,c=e.unlink,u=e.cache,g=e.cwd,f=y=>{u.set(r,!0),y&&a&&H7.sync(y,s,o),n&&xs.chmodSync(r,i)};if(u&&u.get(r)===!0)return f();if(r===g){let y=!1,B="ENOTDIR";try{y=xs.statSync(r).isDirectory()}catch(v){B=v.code}finally{if(!y)throw new nh(r,B)}f();return}if(l)return f(U7.sync(r,i));let p=l0.relative(g,r).split(/\/|\\/),C=null;for(let y=p.shift(),B=g;y&&(B+="/"+y);y=p.shift())if(!u.get(B))try{xs.mkdirSync(B,i),C=C||B,u.set(B,!0)}catch(v){if(v.path&&l0.dirname(v.path)===g&&(v.code==="ENOTDIR"||v.code==="ENOENT"))return new nh(g,v.code);let D=xs.lstatSync(B);if(D.isDirectory()){u.set(B,!0);continue}else if(c){xs.unlinkSync(B),xs.mkdirSync(B,i),C=C||B,u.set(B,!0);continue}else if(D.isSymbolicLink())return new c0(B,B+"/"+p.join("/"))}return f(C)}});var J7=w((lot,q7)=>{var j7=J("assert");q7.exports=()=>{let r=new Map,e=new Map,{join:t}=J("path"),i=u=>t(u).split(/[\\\/]/).slice(0,-1).reduce((g,f)=>g.length?g.concat(t(g[g.length-1],f)):[f],[]),n=new Set,s=u=>{let g=e.get(u);if(!g)throw new Error("function does not have any path reservations");return{paths:g.paths.map(f=>r.get(f)),dirs:[...g.dirs].map(f=>r.get(f))}},o=u=>{let{paths:g,dirs:f}=s(u);return g.every(h=>h[0]===u)&&f.every(h=>h[0]instanceof Set&&h[0].has(u))},a=u=>n.has(u)||!o(u)?!1:(n.add(u),u(()=>l(u)),!0),l=u=>{if(!n.has(u))return!1;let{paths:g,dirs:f}=e.get(u),h=new Set;return g.forEach(p=>{let C=r.get(p);j7.equal(C[0],u),C.length===1?r.delete(p):(C.shift(),typeof C[0]=="function"?h.add(C[0]):C[0].forEach(y=>h.add(y)))}),f.forEach(p=>{let C=r.get(p);j7(C[0]instanceof Set),C[0].size===1&&C.length===1?r.delete(p):C[0].size===1?(C.shift(),h.add(C[0])):C[0].delete(u)}),n.delete(u),h.forEach(p=>a(p)),!0};return{check:o,reserve:(u,g)=>{let f=new Set(u.map(h=>i(h)).reduce((h,p)=>h.concat(p)));return e.set(g,{dirs:f,paths:u}),u.forEach(h=>{let p=r.get(h);p?p.push(g):r.set(h,[g])}),f.forEach(h=>{let p=r.get(h);p?p[p.length-1]instanceof Set?p[p.length-1].add(g):p.push(new Set([g])):r.set(h,[new Set([g])])}),a(g)}}}});var V7=w((cot,z7)=>{var mFe=process.env.__FAKE_PLATFORM__||process.platform,EFe=mFe==="win32",IFe=global.__FAKE_TESTING_FS__||J("fs"),{O_CREAT:yFe,O_TRUNC:wFe,O_WRONLY:BFe,UV_FS_O_FILEMAP:W7=0}=IFe.constants,QFe=EFe&&!!W7,bFe=512*1024,SFe=W7|wFe|yFe|BFe;z7.exports=QFe?r=>r"w"});var ZF=w((hot,aX)=>{"use strict";var vFe=J("assert"),uot=J("events").EventEmitter,xFe=TC(),Xt=J("fs"),PFe=$f(),qa=J("path"),_F=Y7(),got=_F.sync,X7=nF(),DFe=J7(),_7=Symbol("onEntry"),qF=Symbol("checkFs"),Z7=Symbol("checkFs2"),JF=Symbol("isReusable"),Ja=Symbol("makeFs"),WF=Symbol("file"),zF=Symbol("directory"),h0=Symbol("link"),$7=Symbol("symlink"),eX=Symbol("hardlink"),tX=Symbol("unsupported"),fot=Symbol("unknown"),rX=Symbol("checkPath"),oh=Symbol("mkdir"),sn=Symbol("onError"),g0=Symbol("pending"),iX=Symbol("pend"),sh=Symbol("unpend"),YF=Symbol("ended"),jF=Symbol("maybeClose"),VF=Symbol("skip"),OC=Symbol("doChown"),MC=Symbol("uid"),KC=Symbol("gid"),sX=J("crypto"),oX=V7(),f0=()=>{throw new Error("sync function called cb somehow?!?")},kFe=(r,e)=>{if(process.platform!=="win32")return Xt.unlink(r,e);let t=r+".DELETE."+sX.randomBytes(16).toString("hex");Xt.rename(r,t,i=>{if(i)return e(i);Xt.unlink(t,e)})},RFe=r=>{if(process.platform!=="win32")return Xt.unlinkSync(r);let e=r+".DELETE."+sX.randomBytes(16).toString("hex");Xt.renameSync(r,e),Xt.unlinkSync(e)},nX=(r,e,t)=>r===r>>>0?r:e===e>>>0?e:t,UC=class extends xFe{constructor(e){if(e||(e={}),e.ondone=t=>{this[YF]=!0,this[jF]()},super(e),this.reservations=DFe(),this.transform=typeof e.transform=="function"?e.transform:null,this.writable=!0,this.readable=!1,this[g0]=0,this[YF]=!1,this.dirCache=e.dirCache||new Map,typeof e.uid=="number"||typeof e.gid=="number"){if(typeof e.uid!="number"||typeof e.gid!="number")throw new TypeError("cannot set owner without number uid and gid");if(e.preserveOwner)throw new TypeError("cannot preserve owner in archive and also set owner explicitly");this.uid=e.uid,this.gid=e.gid,this.setOwner=!0}else this.uid=null,this.gid=null,this.setOwner=!1;e.preserveOwner===void 0&&typeof e.uid!="number"?this.preserveOwner=process.getuid&&process.getuid()===0:this.preserveOwner=!!e.preserveOwner,this.processUid=(this.preserveOwner||this.setOwner)&&process.getuid?process.getuid():null,this.processGid=(this.preserveOwner||this.setOwner)&&process.getgid?process.getgid():null,this.forceChown=e.forceChown===!0,this.win32=!!e.win32||process.platform==="win32",this.newer=!!e.newer,this.keep=!!e.keep,this.noMtime=!!e.noMtime,this.preservePaths=!!e.preservePaths,this.unlink=!!e.unlink,this.cwd=qa.resolve(e.cwd||process.cwd()),this.strip=+e.strip||0,this.processUmask=process.umask(),this.umask=typeof e.umask=="number"?e.umask:this.processUmask,this.dmode=e.dmode||511&~this.umask,this.fmode=e.fmode||438&~this.umask,this.on("entry",t=>this[_7](t))}warn(e,t,i={}){return(e==="TAR_BAD_ARCHIVE"||e==="TAR_ABORT")&&(i.recoverable=!1),super.warn(e,t,i)}[jF](){this[YF]&&this[g0]===0&&(this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close"))}[rX](e){if(this.strip){let t=e.path.split(/\/|\\/);if(t.length=this.strip&&(e.linkpath=i.slice(this.strip).join("/"))}}if(!this.preservePaths){let t=e.path;if(t.match(/(^|\/|\\)\.\.(\\|\/|$)/))return this.warn("TAR_ENTRY_ERROR","path contains '..'",{entry:e,path:t}),!1;if(qa.win32.isAbsolute(t)){let i=qa.win32.parse(t);e.path=t.substr(i.root.length);let n=i.root;this.warn("TAR_ENTRY_INFO",`stripping ${n} from absolute path`,{entry:e,path:t})}}if(this.win32){let t=qa.win32.parse(e.path);e.path=t.root===""?X7.encode(e.path):t.root+X7.encode(e.path.substr(t.root.length))}return qa.isAbsolute(e.path)?e.absolute=e.path:e.absolute=qa.resolve(this.cwd,e.path),!0}[_7](e){if(!this[rX](e))return e.resume();switch(vFe.equal(typeof e.absolute,"string"),e.type){case"Directory":case"GNUDumpDir":e.mode&&(e.mode=e.mode|448);case"File":case"OldFile":case"ContiguousFile":case"Link":case"SymbolicLink":return this[qF](e);case"CharacterDevice":case"BlockDevice":case"FIFO":return this[tX](e)}}[sn](e,t){e.name==="CwdError"?this.emit("error",e):(this.warn("TAR_ENTRY_ERROR",e,{entry:t}),this[sh](),t.resume())}[oh](e,t,i){_F(e,{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:t},i)}[OC](e){return this.forceChown||this.preserveOwner&&(typeof e.uid=="number"&&e.uid!==this.processUid||typeof e.gid=="number"&&e.gid!==this.processGid)||typeof this.uid=="number"&&this.uid!==this.processUid||typeof this.gid=="number"&&this.gid!==this.processGid}[MC](e){return nX(this.uid,e.uid,this.processUid)}[KC](e){return nX(this.gid,e.gid,this.processGid)}[WF](e,t){let i=e.mode&4095||this.fmode,n=new PFe.WriteStream(e.absolute,{flags:oX(e.size),mode:i,autoClose:!1});n.on("error",l=>this[sn](l,e));let s=1,o=l=>{if(l)return this[sn](l,e);--s===0&&Xt.close(n.fd,c=>{t(),c?this[sn](c,e):this[sh]()})};n.on("finish",l=>{let c=e.absolute,u=n.fd;if(e.mtime&&!this.noMtime){s++;let g=e.atime||new Date,f=e.mtime;Xt.futimes(u,g,f,h=>h?Xt.utimes(c,g,f,p=>o(p&&h)):o())}if(this[OC](e)){s++;let g=this[MC](e),f=this[KC](e);Xt.fchown(u,g,f,h=>h?Xt.chown(c,g,f,p=>o(p&&h)):o())}o()});let a=this.transform&&this.transform(e)||e;a!==e&&(a.on("error",l=>this[sn](l,e)),e.pipe(a)),a.pipe(n)}[zF](e,t){let i=e.mode&4095||this.dmode;this[oh](e.absolute,i,n=>{if(n)return t(),this[sn](n,e);let s=1,o=a=>{--s===0&&(t(),this[sh](),e.resume())};e.mtime&&!this.noMtime&&(s++,Xt.utimes(e.absolute,e.atime||new Date,e.mtime,o)),this[OC](e)&&(s++,Xt.chown(e.absolute,this[MC](e),this[KC](e),o)),o()})}[tX](e){e.unsupported=!0,this.warn("TAR_ENTRY_UNSUPPORTED",`unsupported entry type: ${e.type}`,{entry:e}),e.resume()}[$7](e,t){this[h0](e,e.linkpath,"symlink",t)}[eX](e,t){this[h0](e,qa.resolve(this.cwd,e.linkpath),"link",t)}[iX](){this[g0]++}[sh](){this[g0]--,this[jF]()}[VF](e){this[sh](),e.resume()}[JF](e,t){return e.type==="File"&&!this.unlink&&t.isFile()&&t.nlink<=1&&process.platform!=="win32"}[qF](e){this[iX]();let t=[e.path];e.linkpath&&t.push(e.linkpath),this.reservations.reserve(t,i=>this[Z7](e,i))}[Z7](e,t){this[oh](qa.dirname(e.absolute),this.dmode,i=>{if(i)return t(),this[sn](i,e);Xt.lstat(e.absolute,(n,s)=>{s&&(this.keep||this.newer&&s.mtime>e.mtime)?(this[VF](e),t()):n||this[JF](e,s)?this[Ja](null,e,t):s.isDirectory()?e.type==="Directory"?!e.mode||(s.mode&4095)===e.mode?this[Ja](null,e,t):Xt.chmod(e.absolute,e.mode,o=>this[Ja](o,e,t)):Xt.rmdir(e.absolute,o=>this[Ja](o,e,t)):kFe(e.absolute,o=>this[Ja](o,e,t))})})}[Ja](e,t,i){if(e)return this[sn](e,t);switch(t.type){case"File":case"OldFile":case"ContiguousFile":return this[WF](t,i);case"Link":return this[eX](t,i);case"SymbolicLink":return this[$7](t,i);case"Directory":case"GNUDumpDir":return this[zF](t,i)}}[h0](e,t,i,n){Xt[i](t,e.absolute,s=>{if(s)return this[sn](s,e);n(),this[sh](),e.resume()})}},XF=class extends UC{constructor(e){super(e)}[qF](e){let t=this[oh](qa.dirname(e.absolute),this.dmode,f0);if(t)return this[sn](t,e);try{let i=Xt.lstatSync(e.absolute);if(this.keep||this.newer&&i.mtime>e.mtime)return this[VF](e);if(this[JF](e,i))return this[Ja](null,e,f0);try{return i.isDirectory()?e.type==="Directory"?e.mode&&(i.mode&4095)!==e.mode&&Xt.chmodSync(e.absolute,e.mode):Xt.rmdirSync(e.absolute):RFe(e.absolute),this[Ja](null,e,f0)}catch(n){return this[sn](n,e)}}catch{return this[Ja](null,e,f0)}}[WF](e,t){let i=e.mode&4095||this.fmode,n=l=>{let c;try{Xt.closeSync(o)}catch(u){c=u}(l||c)&&this[sn](l||c,e)},s,o;try{o=Xt.openSync(e.absolute,oX(e.size),i)}catch(l){return n(l)}let a=this.transform&&this.transform(e)||e;a!==e&&(a.on("error",l=>this[sn](l,e)),e.pipe(a)),a.on("data",l=>{try{Xt.writeSync(o,l,0,l.length)}catch(c){n(c)}}),a.on("end",l=>{let c=null;if(e.mtime&&!this.noMtime){let u=e.atime||new Date,g=e.mtime;try{Xt.futimesSync(o,u,g)}catch(f){try{Xt.utimesSync(e.absolute,u,g)}catch{c=f}}}if(this[OC](e)){let u=this[MC](e),g=this[KC](e);try{Xt.fchownSync(o,u,g)}catch(f){try{Xt.chownSync(e.absolute,u,g)}catch{c=c||f}}}n(c)})}[zF](e,t){let i=e.mode&4095||this.dmode,n=this[oh](e.absolute,i);if(n)return this[sn](n,e);if(e.mtime&&!this.noMtime)try{Xt.utimesSync(e.absolute,e.atime||new Date,e.mtime)}catch{}if(this[OC](e))try{Xt.chownSync(e.absolute,this[MC](e),this[KC](e))}catch{}e.resume()}[oh](e,t){try{return _F.sync(e,{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:t})}catch(i){return i}}[h0](e,t,i,n){try{Xt[i+"Sync"](t,e.absolute),e.resume()}catch(s){return this[sn](s,e)}}};UC.Sync=XF;aX.exports=UC});var gX=w((dot,uX)=>{"use strict";var FFe=Uf(),p0=ZF(),lX=J("fs"),cX=$f(),AX=J("path"),pot=uX.exports=(r,e,t)=>{typeof r=="function"?(t=r,e=null,r={}):Array.isArray(r)&&(e=r,r={}),typeof e=="function"&&(t=e,e=null),e?e=Array.from(e):e=[];let i=FFe(r);if(i.sync&&typeof t=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof t=="function")throw new TypeError("callback only supported with file option");return e.length&&NFe(i,e),i.file&&i.sync?LFe(i):i.file?TFe(i,t):i.sync?OFe(i):MFe(i)},NFe=(r,e)=>{let t=new Map(e.map(s=>[s.replace(/\/+$/,""),!0])),i=r.filter,n=(s,o)=>{let a=o||AX.parse(s).root||".",l=s===a?!1:t.has(s)?t.get(s):n(AX.dirname(s),a);return t.set(s,l),l};r.filter=i?(s,o)=>i(s,o)&&n(s.replace(/\/+$/,"")):s=>n(s.replace(/\/+$/,""))},LFe=r=>{let e=new p0.Sync(r),t=r.file,i=!0,n,s=lX.statSync(t),o=r.maxReadSize||16*1024*1024;new cX.ReadStreamSync(t,{readSize:o,size:s.size}).pipe(e)},TFe=(r,e)=>{let t=new p0(r),i=r.maxReadSize||16*1024*1024,n=r.file,s=new Promise((o,a)=>{t.on("error",a),t.on("close",o),lX.stat(n,(l,c)=>{if(l)a(l);else{let u=new cX.ReadStream(n,{readSize:i,size:c.size});u.on("error",a),u.pipe(t)}})});return e?s.then(e,e):s},OFe=r=>new p0.Sync(r),MFe=r=>new p0(r)});var fX=w(ci=>{"use strict";ci.c=ci.create=Z9();ci.r=ci.replace=LF();ci.t=ci.list=o0();ci.u=ci.update=a7();ci.x=ci.extract=gX();ci.Pack=JB();ci.Unpack=ZF();ci.Parse=TC();ci.ReadEntry=PC();ci.WriteEntry=gF();ci.Header=qf();ci.Pax=kB();ci.types=xC()});var CX=w((Eot,dX)=>{var $F;dX.exports.getContent=()=>(typeof $F>"u"&&($F=J("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),$F)});var BX=w((eN,wX)=>{(function(r,e){typeof eN=="object"?wX.exports=e():typeof define=="function"&&define.amd?define(e):r.treeify=e()})(eN,function(){function r(n,s){var o=s?"\u2514":"\u251C";return n?o+="\u2500 ":o+="\u2500\u2500\u2510",o}function e(n,s){var o=[];for(var a in n)!n.hasOwnProperty(a)||s&&typeof n[a]=="function"||o.push(a);return o}function t(n,s,o,a,l,c,u){var g="",f=0,h,p,C=a.slice(0);if(C.push([s,o])&&a.length>0&&(a.forEach(function(B,v){v>0&&(g+=(B[1]?" ":"\u2502")+" "),!p&&B[0]===s&&(p=!0)}),g+=r(n,o)+n,l&&(typeof s!="object"||s instanceof Date)&&(g+=": "+s),p&&(g+=" (circular ref.)"),u(g)),!p&&typeof s=="object"){var y=e(s,c);y.forEach(function(B){h=++f===y.length,t(B,s[B],h,C,l,c,u)})}}var i={};return i.asLines=function(n,s,o,a){var l=typeof o!="function"?o:!1;t(".",n,!1,[],s,l,a||o)},i.asTree=function(n,s,o){var a="";return t(".",n,!1,[],s,o,function(l){a+=l+` -`}),a},i})});var E0=w((Got,FX)=>{var rNe=ws(),iNe=tC(),nNe=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,sNe=/^\w*$/;function oNe(r,e){if(rNe(r))return!1;var t=typeof r;return t=="number"||t=="symbol"||t=="boolean"||r==null||iNe(r)?!0:sNe.test(r)||!nNe.test(r)||e!=null&&r in Object(e)}FX.exports=oNe});var I0=w((Yot,NX)=>{var aNe=Ic(),ANe=bn(),lNe="[object AsyncFunction]",cNe="[object Function]",uNe="[object GeneratorFunction]",gNe="[object Proxy]";function fNe(r){if(!ANe(r))return!1;var e=aNe(r);return e==cNe||e==uNe||e==lNe||e==gNe}NX.exports=fNe});var TX=w((jot,LX)=>{var hNe=ds(),pNe=hNe["__core-js_shared__"];LX.exports=pNe});var KX=w((qot,MX)=>{var AN=TX(),OX=function(){var r=/[^.]+$/.exec(AN&&AN.keys&&AN.keys.IE_PROTO||"");return r?"Symbol(src)_1."+r:""}();function dNe(r){return!!OX&&OX in r}MX.exports=dNe});var lN=w((Jot,UX)=>{var CNe=Function.prototype,mNe=CNe.toString;function ENe(r){if(r!=null){try{return mNe.call(r)}catch{}try{return r+""}catch{}}return""}UX.exports=ENe});var GX=w((Wot,HX)=>{var INe=I0(),yNe=KX(),wNe=bn(),BNe=lN(),QNe=/[\\^$.*+?()[\]{}|]/g,bNe=/^\[object .+?Constructor\]$/,SNe=Function.prototype,vNe=Object.prototype,xNe=SNe.toString,PNe=vNe.hasOwnProperty,DNe=RegExp("^"+xNe.call(PNe).replace(QNe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function kNe(r){if(!wNe(r)||yNe(r))return!1;var e=INe(r)?DNe:bNe;return e.test(BNe(r))}HX.exports=kNe});var jX=w((zot,YX)=>{function RNe(r,e){return r==null?void 0:r[e]}YX.exports=RNe});var nl=w((Vot,qX)=>{var FNe=GX(),NNe=jX();function LNe(r,e){var t=NNe(r,e);return FNe(t)?t:void 0}qX.exports=LNe});var GC=w((Xot,JX)=>{var TNe=nl(),ONe=TNe(Object,"create");JX.exports=ONe});var VX=w((_ot,zX)=>{var WX=GC();function MNe(){this.__data__=WX?WX(null):{},this.size=0}zX.exports=MNe});var _X=w((Zot,XX)=>{function KNe(r){var e=this.has(r)&&delete this.__data__[r];return this.size-=e?1:0,e}XX.exports=KNe});var $X=w(($ot,ZX)=>{var UNe=GC(),HNe="__lodash_hash_undefined__",GNe=Object.prototype,YNe=GNe.hasOwnProperty;function jNe(r){var e=this.__data__;if(UNe){var t=e[r];return t===HNe?void 0:t}return YNe.call(e,r)?e[r]:void 0}ZX.exports=jNe});var t_=w((eat,e_)=>{var qNe=GC(),JNe=Object.prototype,WNe=JNe.hasOwnProperty;function zNe(r){var e=this.__data__;return qNe?e[r]!==void 0:WNe.call(e,r)}e_.exports=zNe});var i_=w((tat,r_)=>{var VNe=GC(),XNe="__lodash_hash_undefined__";function _Ne(r,e){var t=this.__data__;return this.size+=this.has(r)?0:1,t[r]=VNe&&e===void 0?XNe:e,this}r_.exports=_Ne});var s_=w((rat,n_)=>{var ZNe=VX(),$Ne=_X(),eLe=$X(),tLe=t_(),rLe=i_();function ah(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e{function iLe(){this.__data__=[],this.size=0}o_.exports=iLe});var Ah=w((nat,A_)=>{function nLe(r,e){return r===e||r!==r&&e!==e}A_.exports=nLe});var YC=w((sat,l_)=>{var sLe=Ah();function oLe(r,e){for(var t=r.length;t--;)if(sLe(r[t][0],e))return t;return-1}l_.exports=oLe});var u_=w((oat,c_)=>{var aLe=YC(),ALe=Array.prototype,lLe=ALe.splice;function cLe(r){var e=this.__data__,t=aLe(e,r);if(t<0)return!1;var i=e.length-1;return t==i?e.pop():lLe.call(e,t,1),--this.size,!0}c_.exports=cLe});var f_=w((aat,g_)=>{var uLe=YC();function gLe(r){var e=this.__data__,t=uLe(e,r);return t<0?void 0:e[t][1]}g_.exports=gLe});var p_=w((Aat,h_)=>{var fLe=YC();function hLe(r){return fLe(this.__data__,r)>-1}h_.exports=hLe});var C_=w((lat,d_)=>{var pLe=YC();function dLe(r,e){var t=this.__data__,i=pLe(t,r);return i<0?(++this.size,t.push([r,e])):t[i][1]=e,this}d_.exports=dLe});var jC=w((cat,m_)=>{var CLe=a_(),mLe=u_(),ELe=f_(),ILe=p_(),yLe=C_();function lh(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e{var wLe=nl(),BLe=ds(),QLe=wLe(BLe,"Map");E_.exports=QLe});var w_=w((gat,y_)=>{var I_=s_(),bLe=jC(),SLe=y0();function vLe(){this.size=0,this.__data__={hash:new I_,map:new(SLe||bLe),string:new I_}}y_.exports=vLe});var Q_=w((fat,B_)=>{function xLe(r){var e=typeof r;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?r!=="__proto__":r===null}B_.exports=xLe});var qC=w((hat,b_)=>{var PLe=Q_();function DLe(r,e){var t=r.__data__;return PLe(e)?t[typeof e=="string"?"string":"hash"]:t.map}b_.exports=DLe});var v_=w((pat,S_)=>{var kLe=qC();function RLe(r){var e=kLe(this,r).delete(r);return this.size-=e?1:0,e}S_.exports=RLe});var P_=w((dat,x_)=>{var FLe=qC();function NLe(r){return FLe(this,r).get(r)}x_.exports=NLe});var k_=w((Cat,D_)=>{var LLe=qC();function TLe(r){return LLe(this,r).has(r)}D_.exports=TLe});var F_=w((mat,R_)=>{var OLe=qC();function MLe(r,e){var t=OLe(this,r),i=t.size;return t.set(r,e),this.size+=t.size==i?0:1,this}R_.exports=MLe});var w0=w((Eat,N_)=>{var KLe=w_(),ULe=v_(),HLe=P_(),GLe=k_(),YLe=F_();function ch(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e{var L_=w0(),jLe="Expected a function";function cN(r,e){if(typeof r!="function"||e!=null&&typeof e!="function")throw new TypeError(jLe);var t=function(){var i=arguments,n=e?e.apply(this,i):i[0],s=t.cache;if(s.has(n))return s.get(n);var o=r.apply(this,i);return t.cache=s.set(n,o)||s,o};return t.cache=new(cN.Cache||L_),t}cN.Cache=L_;T_.exports=cN});var K_=w((yat,M_)=>{var qLe=O_(),JLe=500;function WLe(r){var e=qLe(r,function(i){return t.size===JLe&&t.clear(),i}),t=e.cache;return e}M_.exports=WLe});var H_=w((wat,U_)=>{var zLe=K_(),VLe=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,XLe=/\\(\\)?/g,_Le=zLe(function(r){var e=[];return r.charCodeAt(0)===46&&e.push(""),r.replace(VLe,function(t,i,n,s){e.push(n?s.replace(XLe,"$1"):i||t)}),e});U_.exports=_Le});var uh=w((Bat,G_)=>{var ZLe=ws(),$Le=E0(),eTe=H_(),tTe=Kf();function rTe(r,e){return ZLe(r)?r:$Le(r,e)?[r]:eTe(tTe(r))}G_.exports=rTe});var Uc=w((Qat,Y_)=>{var iTe=tC(),nTe=1/0;function sTe(r){if(typeof r=="string"||iTe(r))return r;var e=r+"";return e=="0"&&1/r==-nTe?"-0":e}Y_.exports=sTe});var JC=w((bat,j_)=>{var oTe=uh(),aTe=Uc();function ATe(r,e){e=oTe(e,r);for(var t=0,i=e.length;r!=null&&t{var lTe=nl(),cTe=function(){try{var r=lTe(Object,"defineProperty");return r({},"",{}),r}catch{}}();q_.exports=cTe});var gh=w((vat,W_)=>{var J_=uN();function uTe(r,e,t){e=="__proto__"&&J_?J_(r,e,{configurable:!0,enumerable:!0,value:t,writable:!0}):r[e]=t}W_.exports=uTe});var B0=w((xat,z_)=>{var gTe=gh(),fTe=Ah(),hTe=Object.prototype,pTe=hTe.hasOwnProperty;function dTe(r,e,t){var i=r[e];(!(pTe.call(r,e)&&fTe(i,t))||t===void 0&&!(e in r))&&gTe(r,e,t)}z_.exports=dTe});var WC=w((Pat,V_)=>{var CTe=9007199254740991,mTe=/^(?:0|[1-9]\d*)$/;function ETe(r,e){var t=typeof r;return e=e==null?CTe:e,!!e&&(t=="number"||t!="symbol"&&mTe.test(r))&&r>-1&&r%1==0&&r{var ITe=B0(),yTe=uh(),wTe=WC(),X_=bn(),BTe=Uc();function QTe(r,e,t,i){if(!X_(r))return r;e=yTe(e,r);for(var n=-1,s=e.length,o=s-1,a=r;a!=null&&++n{var bTe=JC(),STe=gN(),vTe=uh();function xTe(r,e,t){for(var i=-1,n=e.length,s={};++i{function PTe(r,e){return r!=null&&e in Object(r)}eZ.exports=PTe});var iZ=w((Fat,rZ)=>{var DTe=Ic(),kTe=Go(),RTe="[object Arguments]";function FTe(r){return kTe(r)&&DTe(r)==RTe}rZ.exports=FTe});var zC=w((Nat,oZ)=>{var nZ=iZ(),NTe=Go(),sZ=Object.prototype,LTe=sZ.hasOwnProperty,TTe=sZ.propertyIsEnumerable,OTe=nZ(function(){return arguments}())?nZ:function(r){return NTe(r)&<e.call(r,"callee")&&!TTe.call(r,"callee")};oZ.exports=OTe});var Q0=w((Lat,aZ)=>{var MTe=9007199254740991;function KTe(r){return typeof r=="number"&&r>-1&&r%1==0&&r<=MTe}aZ.exports=KTe});var fN=w((Tat,AZ)=>{var UTe=uh(),HTe=zC(),GTe=ws(),YTe=WC(),jTe=Q0(),qTe=Uc();function JTe(r,e,t){e=UTe(e,r);for(var i=-1,n=e.length,s=!1;++i{var WTe=tZ(),zTe=fN();function VTe(r,e){return r!=null&&zTe(r,e,WTe)}lZ.exports=VTe});var uZ=w((Mat,cZ)=>{var XTe=$_(),_Te=hN();function ZTe(r,e){return XTe(r,e,function(t,i){return _Te(r,i)})}cZ.exports=ZTe});var b0=w((Kat,gZ)=>{function $Te(r,e){for(var t=-1,i=e.length,n=r.length;++t{var fZ=Ec(),eOe=zC(),tOe=ws(),hZ=fZ?fZ.isConcatSpreadable:void 0;function rOe(r){return tOe(r)||eOe(r)||!!(hZ&&r&&r[hZ])}pZ.exports=rOe});var EZ=w((Hat,mZ)=>{var iOe=b0(),nOe=dZ();function CZ(r,e,t,i,n){var s=-1,o=r.length;for(t||(t=nOe),n||(n=[]);++s0&&t(a)?e>1?CZ(a,e-1,t,i,n):iOe(n,a):i||(n[n.length]=a)}return n}mZ.exports=CZ});var yZ=w((Gat,IZ)=>{var sOe=EZ();function oOe(r){var e=r==null?0:r.length;return e?sOe(r,1):[]}IZ.exports=oOe});var BZ=w((Yat,wZ)=>{function aOe(r,e,t){switch(t.length){case 0:return r.call(e);case 1:return r.call(e,t[0]);case 2:return r.call(e,t[0],t[1]);case 3:return r.call(e,t[0],t[1],t[2])}return r.apply(e,t)}wZ.exports=aOe});var pN=w((jat,bZ)=>{var AOe=BZ(),QZ=Math.max;function lOe(r,e,t){return e=QZ(e===void 0?r.length-1:e,0),function(){for(var i=arguments,n=-1,s=QZ(i.length-e,0),o=Array(s);++n{function cOe(r){return function(){return r}}SZ.exports=cOe});var S0=w((Jat,xZ)=>{function uOe(r){return r}xZ.exports=uOe});var kZ=w((Wat,DZ)=>{var gOe=vZ(),PZ=uN(),fOe=S0(),hOe=PZ?function(r,e){return PZ(r,"toString",{configurable:!0,enumerable:!1,value:gOe(e),writable:!0})}:fOe;DZ.exports=hOe});var FZ=w((zat,RZ)=>{var pOe=800,dOe=16,COe=Date.now;function mOe(r){var e=0,t=0;return function(){var i=COe(),n=dOe-(i-t);if(t=i,n>0){if(++e>=pOe)return arguments[0]}else e=0;return r.apply(void 0,arguments)}}RZ.exports=mOe});var dN=w((Vat,NZ)=>{var EOe=kZ(),IOe=FZ(),yOe=IOe(EOe);NZ.exports=yOe});var TZ=w((Xat,LZ)=>{var wOe=yZ(),BOe=pN(),QOe=dN();function bOe(r){return QOe(BOe(r,void 0,wOe),r+"")}LZ.exports=bOe});var MZ=w((_at,OZ)=>{var SOe=uZ(),vOe=TZ(),xOe=vOe(function(r,e){return r==null?{}:SOe(r,e)});OZ.exports=xOe});var XZ=w((Ilt,VZ)=>{"use strict";var BN;try{BN=Map}catch{}var QN;try{QN=Set}catch{}function WZ(r,e,t){if(!r||typeof r!="object"||typeof r=="function")return r;if(r.nodeType&&"cloneNode"in r)return r.cloneNode(!0);if(r instanceof Date)return new Date(r.getTime());if(r instanceof RegExp)return new RegExp(r);if(Array.isArray(r))return r.map(zZ);if(BN&&r instanceof BN)return new Map(Array.from(r.entries()));if(QN&&r instanceof QN)return new Set(Array.from(r.values()));if(r instanceof Object){e.push(r);var i=Object.create(r);t.push(i);for(var n in r){var s=e.findIndex(function(o){return o===r[n]});i[n]=s>-1?t[s]:WZ(r[n],e,t)}return i}return r}function zZ(r){return WZ(r,[],[])}VZ.exports=zZ});var XC=w(bN=>{"use strict";Object.defineProperty(bN,"__esModule",{value:!0});bN.default=YOe;var OOe=Object.prototype.toString,MOe=Error.prototype.toString,KOe=RegExp.prototype.toString,UOe=typeof Symbol<"u"?Symbol.prototype.toString:()=>"",HOe=/^Symbol\((.*)\)(.*)$/;function GOe(r){return r!=+r?"NaN":r===0&&1/r<0?"-0":""+r}function _Z(r,e=!1){if(r==null||r===!0||r===!1)return""+r;let t=typeof r;if(t==="number")return GOe(r);if(t==="string")return e?`"${r}"`:r;if(t==="function")return"[Function "+(r.name||"anonymous")+"]";if(t==="symbol")return UOe.call(r).replace(HOe,"Symbol($1)");let i=OOe.call(r).slice(8,-1);return i==="Date"?isNaN(r.getTime())?""+r:r.toISOString(r):i==="Error"||r instanceof Error?"["+MOe.call(r)+"]":i==="RegExp"?KOe.call(r):null}function YOe(r,e){let t=_Z(r,e);return t!==null?t:JSON.stringify(r,function(i,n){let s=_Z(this[i],e);return s!==null?s:n},2)}});var za=w(mi=>{"use strict";Object.defineProperty(mi,"__esModule",{value:!0});mi.default=mi.array=mi.object=mi.boolean=mi.date=mi.number=mi.string=mi.mixed=void 0;var ZZ=jOe(XC());function jOe(r){return r&&r.__esModule?r:{default:r}}var $Z={default:"${path} is invalid",required:"${path} is a required field",oneOf:"${path} must be one of the following values: ${values}",notOneOf:"${path} must not be one of the following values: ${values}",notType:({path:r,type:e,value:t,originalValue:i})=>{let n=i!=null&&i!==t,s=`${r} must be a \`${e}\` type, but the final value was: \`${(0,ZZ.default)(t,!0)}\``+(n?` (cast from the value \`${(0,ZZ.default)(i,!0)}\`).`:".");return t===null&&(s+='\n If "null" is intended as an empty value be sure to mark the schema as `.nullable()`'),s},defined:"${path} must be defined"};mi.mixed=$Z;var e$={length:"${path} must be exactly ${length} characters",min:"${path} must be at least ${min} characters",max:"${path} must be at most ${max} characters",matches:'${path} must match the following: "${regex}"',email:"${path} must be a valid email",url:"${path} must be a valid URL",uuid:"${path} must be a valid UUID",trim:"${path} must be a trimmed string",lowercase:"${path} must be a lowercase string",uppercase:"${path} must be a upper case string"};mi.string=e$;var t$={min:"${path} must be greater than or equal to ${min}",max:"${path} must be less than or equal to ${max}",lessThan:"${path} must be less than ${less}",moreThan:"${path} must be greater than ${more}",positive:"${path} must be a positive number",negative:"${path} must be a negative number",integer:"${path} must be an integer"};mi.number=t$;var r$={min:"${path} field must be later than ${min}",max:"${path} field must be at earlier than ${max}"};mi.date=r$;var i$={isValue:"${path} field must be ${value}"};mi.boolean=i$;var n$={noUnknown:"${path} field has unspecified keys: ${unknown}"};mi.object=n$;var s$={min:"${path} field must have at least ${min} items",max:"${path} field must have less than or equal to ${max} items",length:"${path} must be have ${length} items"};mi.array=s$;var qOe=Object.assign(Object.create(null),{mixed:$Z,string:e$,number:t$,date:r$,object:n$,array:s$,boolean:i$});mi.default=qOe});var a$=w((Blt,o$)=>{var JOe=Object.prototype,WOe=JOe.hasOwnProperty;function zOe(r,e){return r!=null&&WOe.call(r,e)}o$.exports=zOe});var _C=w((Qlt,A$)=>{var VOe=a$(),XOe=fN();function _Oe(r,e){return r!=null&&XOe(r,e,VOe)}A$.exports=_Oe});var dh=w(F0=>{"use strict";Object.defineProperty(F0,"__esModule",{value:!0});F0.default=void 0;var ZOe=r=>r&&r.__isYupSchema__;F0.default=ZOe});var c$=w(N0=>{"use strict";Object.defineProperty(N0,"__esModule",{value:!0});N0.default=void 0;var $Oe=l$(_C()),eMe=l$(dh());function l$(r){return r&&r.__esModule?r:{default:r}}var SN=class{constructor(e,t){if(this.refs=e,this.refs=e,typeof t=="function"){this.fn=t;return}if(!(0,$Oe.default)(t,"is"))throw new TypeError("`is:` is required for `when()` conditions");if(!t.then&&!t.otherwise)throw new TypeError("either `then:` or `otherwise:` is required for `when()` conditions");let{is:i,then:n,otherwise:s}=t,o=typeof i=="function"?i:(...a)=>a.every(l=>l===i);this.fn=function(...a){let l=a.pop(),c=a.pop(),u=o(...a)?n:s;if(!!u)return typeof u=="function"?u(c):c.concat(u.resolve(l))}}resolve(e,t){let i=this.refs.map(s=>s.getValue(t==null?void 0:t.value,t==null?void 0:t.parent,t==null?void 0:t.context)),n=this.fn.apply(e,i.concat(e,t));if(n===void 0||n===e)return e;if(!(0,eMe.default)(n))throw new TypeError("conditions must return a schema object");return n.resolve(t)}},tMe=SN;N0.default=tMe});var xN=w(vN=>{"use strict";Object.defineProperty(vN,"__esModule",{value:!0});vN.default=rMe;function rMe(r){return r==null?[]:[].concat(r)}});var Hc=w(L0=>{"use strict";Object.defineProperty(L0,"__esModule",{value:!0});L0.default=void 0;var iMe=u$(XC()),nMe=u$(xN());function u$(r){return r&&r.__esModule?r:{default:r}}function PN(){return PN=Object.assign||function(r){for(var e=1;e(0,iMe.default)(t[s])):typeof e=="function"?e(t):e}static isError(e){return e&&e.name==="ValidationError"}constructor(e,t,i,n){super(),this.name="ValidationError",this.value=t,this.path=i,this.type=n,this.errors=[],this.inner=[],(0,nMe.default)(e).forEach(s=>{Ch.isError(s)?(this.errors.push(...s.errors),this.inner=this.inner.concat(s.inner.length?s.inner:s)):this.errors.push(s)}),this.message=this.errors.length>1?`${this.errors.length} errors occurred`:this.errors[0],Error.captureStackTrace&&Error.captureStackTrace(this,Ch)}};L0.default=Ch});var T0=w(kN=>{"use strict";Object.defineProperty(kN,"__esModule",{value:!0});kN.default=AMe;var DN=oMe(Hc());function oMe(r){return r&&r.__esModule?r:{default:r}}var aMe=r=>{let e=!1;return(...t)=>{e||(e=!0,r(...t))}};function AMe(r,e){let{endEarly:t,tests:i,args:n,value:s,errors:o,sort:a,path:l}=r,c=aMe(e),u=i.length,g=[];if(o=o||[],!u)return o.length?c(new DN.default(o,s,l)):c(null,s);for(let f=0;f{function lMe(r){return function(e,t,i){for(var n=-1,s=Object(e),o=i(e),a=o.length;a--;){var l=o[r?a:++n];if(t(s[l],l,s)===!1)break}return e}}g$.exports=lMe});var RN=w((klt,h$)=>{var cMe=f$(),uMe=cMe();h$.exports=uMe});var d$=w((Rlt,p$)=>{function gMe(r,e){for(var t=-1,i=Array(r);++t{function fMe(){return!1}C$.exports=fMe});var $C=w((ZC,mh)=>{var hMe=ds(),pMe=m$(),y$=typeof ZC=="object"&&ZC&&!ZC.nodeType&&ZC,E$=y$&&typeof mh=="object"&&mh&&!mh.nodeType&&mh,dMe=E$&&E$.exports===y$,I$=dMe?hMe.Buffer:void 0,CMe=I$?I$.isBuffer:void 0,mMe=CMe||pMe;mh.exports=mMe});var B$=w((Nlt,w$)=>{var EMe=Ic(),IMe=Q0(),yMe=Go(),wMe="[object Arguments]",BMe="[object Array]",QMe="[object Boolean]",bMe="[object Date]",SMe="[object Error]",vMe="[object Function]",xMe="[object Map]",PMe="[object Number]",DMe="[object Object]",kMe="[object RegExp]",RMe="[object Set]",FMe="[object String]",NMe="[object WeakMap]",LMe="[object ArrayBuffer]",TMe="[object DataView]",OMe="[object Float32Array]",MMe="[object Float64Array]",KMe="[object Int8Array]",UMe="[object Int16Array]",HMe="[object Int32Array]",GMe="[object Uint8Array]",YMe="[object Uint8ClampedArray]",jMe="[object Uint16Array]",qMe="[object Uint32Array]",Ir={};Ir[OMe]=Ir[MMe]=Ir[KMe]=Ir[UMe]=Ir[HMe]=Ir[GMe]=Ir[YMe]=Ir[jMe]=Ir[qMe]=!0;Ir[wMe]=Ir[BMe]=Ir[LMe]=Ir[QMe]=Ir[TMe]=Ir[bMe]=Ir[SMe]=Ir[vMe]=Ir[xMe]=Ir[PMe]=Ir[DMe]=Ir[kMe]=Ir[RMe]=Ir[FMe]=Ir[NMe]=!1;function JMe(r){return yMe(r)&&IMe(r.length)&&!!Ir[EMe(r)]}w$.exports=JMe});var O0=w((Llt,Q$)=>{function WMe(r){return function(e){return r(e)}}Q$.exports=WMe});var M0=w((em,Eh)=>{var zMe=kD(),b$=typeof em=="object"&&em&&!em.nodeType&&em,tm=b$&&typeof Eh=="object"&&Eh&&!Eh.nodeType&&Eh,VMe=tm&&tm.exports===b$,FN=VMe&&zMe.process,XMe=function(){try{var r=tm&&tm.require&&tm.require("util").types;return r||FN&&FN.binding&&FN.binding("util")}catch{}}();Eh.exports=XMe});var K0=w((Tlt,x$)=>{var _Me=B$(),ZMe=O0(),S$=M0(),v$=S$&&S$.isTypedArray,$Me=v$?ZMe(v$):_Me;x$.exports=$Me});var NN=w((Olt,P$)=>{var e1e=d$(),t1e=zC(),r1e=ws(),i1e=$C(),n1e=WC(),s1e=K0(),o1e=Object.prototype,a1e=o1e.hasOwnProperty;function A1e(r,e){var t=r1e(r),i=!t&&t1e(r),n=!t&&!i&&i1e(r),s=!t&&!i&&!n&&s1e(r),o=t||i||n||s,a=o?e1e(r.length,String):[],l=a.length;for(var c in r)(e||a1e.call(r,c))&&!(o&&(c=="length"||n&&(c=="offset"||c=="parent")||s&&(c=="buffer"||c=="byteLength"||c=="byteOffset")||n1e(c,l)))&&a.push(c);return a}P$.exports=A1e});var U0=w((Mlt,D$)=>{var l1e=Object.prototype;function c1e(r){var e=r&&r.constructor,t=typeof e=="function"&&e.prototype||l1e;return r===t}D$.exports=c1e});var LN=w((Klt,k$)=>{function u1e(r,e){return function(t){return r(e(t))}}k$.exports=u1e});var F$=w((Ult,R$)=>{var g1e=LN(),f1e=g1e(Object.keys,Object);R$.exports=f1e});var L$=w((Hlt,N$)=>{var h1e=U0(),p1e=F$(),d1e=Object.prototype,C1e=d1e.hasOwnProperty;function m1e(r){if(!h1e(r))return p1e(r);var e=[];for(var t in Object(r))C1e.call(r,t)&&t!="constructor"&&e.push(t);return e}N$.exports=m1e});var rm=w((Glt,T$)=>{var E1e=I0(),I1e=Q0();function y1e(r){return r!=null&&I1e(r.length)&&!E1e(r)}T$.exports=y1e});var Ih=w((Ylt,O$)=>{var w1e=NN(),B1e=L$(),Q1e=rm();function b1e(r){return Q1e(r)?w1e(r):B1e(r)}O$.exports=b1e});var TN=w((jlt,M$)=>{var S1e=RN(),v1e=Ih();function x1e(r,e){return r&&S1e(r,e,v1e)}M$.exports=x1e});var U$=w((qlt,K$)=>{var P1e=jC();function D1e(){this.__data__=new P1e,this.size=0}K$.exports=D1e});var G$=w((Jlt,H$)=>{function k1e(r){var e=this.__data__,t=e.delete(r);return this.size=e.size,t}H$.exports=k1e});var j$=w((Wlt,Y$)=>{function R1e(r){return this.__data__.get(r)}Y$.exports=R1e});var J$=w((zlt,q$)=>{function F1e(r){return this.__data__.has(r)}q$.exports=F1e});var z$=w((Vlt,W$)=>{var N1e=jC(),L1e=y0(),T1e=w0(),O1e=200;function M1e(r,e){var t=this.__data__;if(t instanceof N1e){var i=t.__data__;if(!L1e||i.length{var K1e=jC(),U1e=U$(),H1e=G$(),G1e=j$(),Y1e=J$(),j1e=z$();function yh(r){var e=this.__data__=new K1e(r);this.size=e.size}yh.prototype.clear=U1e;yh.prototype.delete=H1e;yh.prototype.get=G1e;yh.prototype.has=Y1e;yh.prototype.set=j1e;V$.exports=yh});var _$=w((_lt,X$)=>{var q1e="__lodash_hash_undefined__";function J1e(r){return this.__data__.set(r,q1e),this}X$.exports=J1e});var $$=w((Zlt,Z$)=>{function W1e(r){return this.__data__.has(r)}Z$.exports=W1e});var tee=w(($lt,eee)=>{var z1e=w0(),V1e=_$(),X1e=$$();function H0(r){var e=-1,t=r==null?0:r.length;for(this.__data__=new z1e;++e{function _1e(r,e){for(var t=-1,i=r==null?0:r.length;++t{function Z1e(r,e){return r.has(e)}nee.exports=Z1e});var ON=w((rct,oee)=>{var $1e=tee(),eKe=iee(),tKe=see(),rKe=1,iKe=2;function nKe(r,e,t,i,n,s){var o=t&rKe,a=r.length,l=e.length;if(a!=l&&!(o&&l>a))return!1;var c=s.get(r),u=s.get(e);if(c&&u)return c==e&&u==r;var g=-1,f=!0,h=t&iKe?new $1e:void 0;for(s.set(r,e),s.set(e,r);++g{var sKe=ds(),oKe=sKe.Uint8Array;aee.exports=oKe});var lee=w((nct,Aee)=>{function aKe(r){var e=-1,t=Array(r.size);return r.forEach(function(i,n){t[++e]=[n,i]}),t}Aee.exports=aKe});var uee=w((sct,cee)=>{function AKe(r){var e=-1,t=Array(r.size);return r.forEach(function(i){t[++e]=i}),t}cee.exports=AKe});var dee=w((oct,pee)=>{var gee=Ec(),fee=MN(),lKe=Ah(),cKe=ON(),uKe=lee(),gKe=uee(),fKe=1,hKe=2,pKe="[object Boolean]",dKe="[object Date]",CKe="[object Error]",mKe="[object Map]",EKe="[object Number]",IKe="[object RegExp]",yKe="[object Set]",wKe="[object String]",BKe="[object Symbol]",QKe="[object ArrayBuffer]",bKe="[object DataView]",hee=gee?gee.prototype:void 0,KN=hee?hee.valueOf:void 0;function SKe(r,e,t,i,n,s,o){switch(t){case bKe:if(r.byteLength!=e.byteLength||r.byteOffset!=e.byteOffset)return!1;r=r.buffer,e=e.buffer;case QKe:return!(r.byteLength!=e.byteLength||!s(new fee(r),new fee(e)));case pKe:case dKe:case EKe:return lKe(+r,+e);case CKe:return r.name==e.name&&r.message==e.message;case IKe:case wKe:return r==e+"";case mKe:var a=uKe;case yKe:var l=i&fKe;if(a||(a=gKe),r.size!=e.size&&!l)return!1;var c=o.get(r);if(c)return c==e;i|=hKe,o.set(r,e);var u=cKe(a(r),a(e),i,n,s,o);return o.delete(r),u;case BKe:if(KN)return KN.call(r)==KN.call(e)}return!1}pee.exports=SKe});var UN=w((act,Cee)=>{var vKe=b0(),xKe=ws();function PKe(r,e,t){var i=e(r);return xKe(r)?i:vKe(i,t(r))}Cee.exports=PKe});var Eee=w((Act,mee)=>{function DKe(r,e){for(var t=-1,i=r==null?0:r.length,n=0,s=[];++t{function kKe(){return[]}Iee.exports=kKe});var G0=w((cct,wee)=>{var RKe=Eee(),FKe=HN(),NKe=Object.prototype,LKe=NKe.propertyIsEnumerable,yee=Object.getOwnPropertySymbols,TKe=yee?function(r){return r==null?[]:(r=Object(r),RKe(yee(r),function(e){return LKe.call(r,e)}))}:FKe;wee.exports=TKe});var GN=w((uct,Bee)=>{var OKe=UN(),MKe=G0(),KKe=Ih();function UKe(r){return OKe(r,KKe,MKe)}Bee.exports=UKe});var See=w((gct,bee)=>{var Qee=GN(),HKe=1,GKe=Object.prototype,YKe=GKe.hasOwnProperty;function jKe(r,e,t,i,n,s){var o=t&HKe,a=Qee(r),l=a.length,c=Qee(e),u=c.length;if(l!=u&&!o)return!1;for(var g=l;g--;){var f=a[g];if(!(o?f in e:YKe.call(e,f)))return!1}var h=s.get(r),p=s.get(e);if(h&&p)return h==e&&p==r;var C=!0;s.set(r,e),s.set(e,r);for(var y=o;++g{var qKe=nl(),JKe=ds(),WKe=qKe(JKe,"DataView");vee.exports=WKe});var Dee=w((hct,Pee)=>{var zKe=nl(),VKe=ds(),XKe=zKe(VKe,"Promise");Pee.exports=XKe});var Ree=w((pct,kee)=>{var _Ke=nl(),ZKe=ds(),$Ke=_Ke(ZKe,"Set");kee.exports=$Ke});var Nee=w((dct,Fee)=>{var eUe=nl(),tUe=ds(),rUe=eUe(tUe,"WeakMap");Fee.exports=rUe});var nm=w((Cct,Hee)=>{var YN=xee(),jN=y0(),qN=Dee(),JN=Ree(),WN=Nee(),Uee=Ic(),wh=lN(),Lee="[object Map]",iUe="[object Object]",Tee="[object Promise]",Oee="[object Set]",Mee="[object WeakMap]",Kee="[object DataView]",nUe=wh(YN),sUe=wh(jN),oUe=wh(qN),aUe=wh(JN),AUe=wh(WN),Gc=Uee;(YN&&Gc(new YN(new ArrayBuffer(1)))!=Kee||jN&&Gc(new jN)!=Lee||qN&&Gc(qN.resolve())!=Tee||JN&&Gc(new JN)!=Oee||WN&&Gc(new WN)!=Mee)&&(Gc=function(r){var e=Uee(r),t=e==iUe?r.constructor:void 0,i=t?wh(t):"";if(i)switch(i){case nUe:return Kee;case sUe:return Lee;case oUe:return Tee;case aUe:return Oee;case AUe:return Mee}return e});Hee.exports=Gc});var Vee=w((mct,zee)=>{var zN=im(),lUe=ON(),cUe=dee(),uUe=See(),Gee=nm(),Yee=ws(),jee=$C(),gUe=K0(),fUe=1,qee="[object Arguments]",Jee="[object Array]",Y0="[object Object]",hUe=Object.prototype,Wee=hUe.hasOwnProperty;function pUe(r,e,t,i,n,s){var o=Yee(r),a=Yee(e),l=o?Jee:Gee(r),c=a?Jee:Gee(e);l=l==qee?Y0:l,c=c==qee?Y0:c;var u=l==Y0,g=c==Y0,f=l==c;if(f&&jee(r)){if(!jee(e))return!1;o=!0,u=!1}if(f&&!u)return s||(s=new zN),o||gUe(r)?lUe(r,e,t,i,n,s):cUe(r,e,l,t,i,n,s);if(!(t&fUe)){var h=u&&Wee.call(r,"__wrapped__"),p=g&&Wee.call(e,"__wrapped__");if(h||p){var C=h?r.value():r,y=p?e.value():e;return s||(s=new zN),n(C,y,t,i,s)}}return f?(s||(s=new zN),uUe(r,e,t,i,n,s)):!1}zee.exports=pUe});var VN=w((Ect,Zee)=>{var dUe=Vee(),Xee=Go();function _ee(r,e,t,i,n){return r===e?!0:r==null||e==null||!Xee(r)&&!Xee(e)?r!==r&&e!==e:dUe(r,e,t,i,_ee,n)}Zee.exports=_ee});var ete=w((Ict,$ee)=>{var CUe=im(),mUe=VN(),EUe=1,IUe=2;function yUe(r,e,t,i){var n=t.length,s=n,o=!i;if(r==null)return!s;for(r=Object(r);n--;){var a=t[n];if(o&&a[2]?a[1]!==r[a[0]]:!(a[0]in r))return!1}for(;++n{var wUe=bn();function BUe(r){return r===r&&!wUe(r)}tte.exports=BUe});var ite=w((wct,rte)=>{var QUe=XN(),bUe=Ih();function SUe(r){for(var e=bUe(r),t=e.length;t--;){var i=e[t],n=r[i];e[t]=[i,n,QUe(n)]}return e}rte.exports=SUe});var _N=w((Bct,nte)=>{function vUe(r,e){return function(t){return t==null?!1:t[r]===e&&(e!==void 0||r in Object(t))}}nte.exports=vUe});var ote=w((Qct,ste)=>{var xUe=ete(),PUe=ite(),DUe=_N();function kUe(r){var e=PUe(r);return e.length==1&&e[0][2]?DUe(e[0][0],e[0][1]):function(t){return t===r||xUe(t,r,e)}}ste.exports=kUe});var j0=w((bct,ate)=>{var RUe=JC();function FUe(r,e,t){var i=r==null?void 0:RUe(r,e);return i===void 0?t:i}ate.exports=FUe});var lte=w((Sct,Ate)=>{var NUe=VN(),LUe=j0(),TUe=hN(),OUe=E0(),MUe=XN(),KUe=_N(),UUe=Uc(),HUe=1,GUe=2;function YUe(r,e){return OUe(r)&&MUe(e)?KUe(UUe(r),e):function(t){var i=LUe(t,r);return i===void 0&&i===e?TUe(t,r):NUe(e,i,HUe|GUe)}}Ate.exports=YUe});var ute=w((vct,cte)=>{function jUe(r){return function(e){return e==null?void 0:e[r]}}cte.exports=jUe});var fte=w((xct,gte)=>{var qUe=JC();function JUe(r){return function(e){return qUe(e,r)}}gte.exports=JUe});var pte=w((Pct,hte)=>{var WUe=ute(),zUe=fte(),VUe=E0(),XUe=Uc();function _Ue(r){return VUe(r)?WUe(XUe(r)):zUe(r)}hte.exports=_Ue});var ZN=w((Dct,dte)=>{var ZUe=ote(),$Ue=lte(),e2e=S0(),t2e=ws(),r2e=pte();function i2e(r){return typeof r=="function"?r:r==null?e2e:typeof r=="object"?t2e(r)?$Ue(r[0],r[1]):ZUe(r):r2e(r)}dte.exports=i2e});var $N=w((kct,Cte)=>{var n2e=gh(),s2e=TN(),o2e=ZN();function a2e(r,e){var t={};return e=o2e(e,3),s2e(r,function(i,n,s){n2e(t,n,e(i,n,s))}),t}Cte.exports=a2e});var sm=w((Rct,wte)=>{"use strict";function Yc(r){this._maxSize=r,this.clear()}Yc.prototype.clear=function(){this._size=0,this._values=Object.create(null)};Yc.prototype.get=function(r){return this._values[r]};Yc.prototype.set=function(r,e){return this._size>=this._maxSize&&this.clear(),r in this._values||this._size++,this._values[r]=e};var A2e=/[^.^\]^[]+|(?=\[\]|\.\.)/g,yte=/^\d+$/,l2e=/^\d/,c2e=/[~`!#$%\^&*+=\-\[\]\\';,/{}|\\":<>\?]/g,u2e=/^\s*(['"]?)(.*?)(\1)\s*$/,rL=512,mte=new Yc(rL),Ete=new Yc(rL),Ite=new Yc(rL);wte.exports={Cache:Yc,split:tL,normalizePath:eL,setter:function(r){var e=eL(r);return Ete.get(r)||Ete.set(r,function(i,n){for(var s=0,o=e.length,a=i;s{"use strict";Object.defineProperty(am,"__esModule",{value:!0});am.create=C2e;am.default=void 0;var d2e=sm(),q0={context:"$",value:"."};function C2e(r,e){return new om(r,e)}var om=class{constructor(e,t={}){if(typeof e!="string")throw new TypeError("ref must be a string, got: "+e);if(this.key=e.trim(),e==="")throw new TypeError("ref must be a non-empty string");this.isContext=this.key[0]===q0.context,this.isValue=this.key[0]===q0.value,this.isSibling=!this.isContext&&!this.isValue;let i=this.isContext?q0.context:this.isValue?q0.value:"";this.path=this.key.slice(i.length),this.getter=this.path&&(0,d2e.getter)(this.path,!0),this.map=t.map}getValue(e,t,i){let n=this.isContext?i:this.isValue?e:t;return this.getter&&(n=this.getter(n||{})),this.map&&(n=this.map(n)),n}cast(e,t){return this.getValue(e,t==null?void 0:t.parent,t==null?void 0:t.context)}resolve(){return this}describe(){return{type:"ref",key:this.key}}toString(){return`Ref(${this.key})`}static isRef(e){return e&&e.__isYupRef}};am.default=om;om.prototype.__isYupRef=!0});var Bte=w(sL=>{"use strict";Object.defineProperty(sL,"__esModule",{value:!0});sL.default=y2e;var m2e=nL($N()),J0=nL(Hc()),E2e=nL(jc());function nL(r){return r&&r.__esModule?r:{default:r}}function W0(){return W0=Object.assign||function(r){for(var e=1;e=0)&&(t[n]=r[n]);return t}function y2e(r){function e(t,i){let{value:n,path:s="",label:o,options:a,originalValue:l,sync:c}=t,u=I2e(t,["value","path","label","options","originalValue","sync"]),{name:g,test:f,params:h,message:p}=r,{parent:C,context:y}=a;function B(j){return E2e.default.isRef(j)?j.getValue(n,C,y):j}function v(j={}){let $=(0,m2e.default)(W0({value:n,originalValue:l,label:o,path:j.path||s},h,j.params),B),V=new J0.default(J0.default.formatError(j.message||p,$),n,$.path,j.type||g);return V.params=$,V}let D=W0({path:s,parent:C,type:g,createError:v,resolve:B,options:a,originalValue:l},u);if(!c){try{Promise.resolve(f.call(D,n,D)).then(j=>{J0.default.isError(j)?i(j):j?i(null,j):i(v())})}catch(j){i(j)}return}let L;try{var H;if(L=f.call(D,n,D),typeof((H=L)==null?void 0:H.then)=="function")throw new Error(`Validation test of type: "${D.type}" returned a Promise during a synchronous validate. This test will finish after the validate call has returned`)}catch(j){i(j);return}J0.default.isError(L)?i(L):L?i(null,L):i(v())}return e.OPTIONS=r,e}});var oL=w(Am=>{"use strict";Object.defineProperty(Am,"__esModule",{value:!0});Am.getIn=Qte;Am.default=void 0;var w2e=sm(),B2e=r=>r.substr(0,r.length-1).substr(1);function Qte(r,e,t,i=t){let n,s,o;return e?((0,w2e.forEach)(e,(a,l,c)=>{let u=l?B2e(a):a;if(r=r.resolve({context:i,parent:n,value:t}),r.innerType){let g=c?parseInt(u,10):0;if(t&&g>=t.length)throw new Error(`Yup.reach cannot resolve an array item at index: ${a}, in the path: ${e}. because there is no value at that index. `);n=t,t=t&&t[g],r=r.innerType}if(!c){if(!r.fields||!r.fields[u])throw new Error(`The schema does not contain the path: ${e}. (failed at: ${o} which is a type: "${r._type}")`);n=t,t=t&&t[u],r=r.fields[u]}s=u,o=l?"["+a+"]":"."+a}),{schema:r,parent:n,parentPath:s}):{parent:n,parentPath:e,schema:r}}var Q2e=(r,e,t,i)=>Qte(r,e,t,i).schema,b2e=Q2e;Am.default=b2e});var Ste=w(z0=>{"use strict";Object.defineProperty(z0,"__esModule",{value:!0});z0.default=void 0;var bte=S2e(jc());function S2e(r){return r&&r.__esModule?r:{default:r}}var lm=class{constructor(){this.list=new Set,this.refs=new Map}get size(){return this.list.size+this.refs.size}describe(){let e=[];for(let t of this.list)e.push(t);for(let[,t]of this.refs)e.push(t.describe());return e}toArray(){return Array.from(this.list).concat(Array.from(this.refs.values()))}add(e){bte.default.isRef(e)?this.refs.set(e.key,e):this.list.add(e)}delete(e){bte.default.isRef(e)?this.refs.delete(e.key):this.list.delete(e)}has(e,t){if(this.list.has(e))return!0;let i,n=this.refs.values();for(;i=n.next(),!i.done;)if(t(i.value)===e)return!0;return!1}clone(){let e=new lm;return e.list=new Set(this.list),e.refs=new Map(this.refs),e}merge(e,t){let i=this.clone();return e.list.forEach(n=>i.add(n)),e.refs.forEach(n=>i.add(n)),t.list.forEach(n=>i.delete(n)),t.refs.forEach(n=>i.delete(n)),i}};z0.default=lm});var Xa=w(X0=>{"use strict";Object.defineProperty(X0,"__esModule",{value:!0});X0.default=void 0;var vte=Va(XZ()),Bh=za(),v2e=Va(c$()),xte=Va(T0()),V0=Va(Bte()),Pte=Va(XC()),x2e=Va(jc()),P2e=oL(),D2e=Va(xN()),Dte=Va(Hc()),kte=Va(Ste());function Va(r){return r&&r.__esModule?r:{default:r}}function Ps(){return Ps=Object.assign||function(r){for(var e=1;e{this.typeError(Bh.mixed.notType)}),this.type=(e==null?void 0:e.type)||"mixed",this.spec=Ps({strip:!1,strict:!1,abortEarly:!0,recursive:!0,nullable:!1,presence:"optional"},e==null?void 0:e.spec)}get _type(){return this.type}_typeCheck(e){return!0}clone(e){if(this._mutate)return e&&Object.assign(this.spec,e),this;let t=Object.create(Object.getPrototypeOf(this));return t.type=this.type,t._typeError=this._typeError,t._whitelistError=this._whitelistError,t._blacklistError=this._blacklistError,t._whitelist=this._whitelist.clone(),t._blacklist=this._blacklist.clone(),t.exclusiveTests=Ps({},this.exclusiveTests),t.deps=[...this.deps],t.conditions=[...this.conditions],t.tests=[...this.tests],t.transforms=[...this.transforms],t.spec=(0,vte.default)(Ps({},this.spec,e)),t}label(e){var t=this.clone();return t.spec.label=e,t}meta(...e){if(e.length===0)return this.spec.meta;let t=this.clone();return t.spec.meta=Object.assign(t.spec.meta||{},e[0]),t}withMutation(e){let t=this._mutate;this._mutate=!0;let i=e(this);return this._mutate=t,i}concat(e){if(!e||e===this)return this;if(e.type!==this.type&&this.type!=="mixed")throw new TypeError(`You cannot \`concat()\` schema's of different types: ${this.type} and ${e.type}`);let t=this,i=e.clone(),n=Ps({},t.spec,i.spec);return i.spec=n,i._typeError||(i._typeError=t._typeError),i._whitelistError||(i._whitelistError=t._whitelistError),i._blacklistError||(i._blacklistError=t._blacklistError),i._whitelist=t._whitelist.merge(e._whitelist,e._blacklist),i._blacklist=t._blacklist.merge(e._blacklist,e._whitelist),i.tests=t.tests,i.exclusiveTests=t.exclusiveTests,i.withMutation(s=>{e.tests.forEach(o=>{s.test(o.OPTIONS)})}),i}isType(e){return this.spec.nullable&&e===null?!0:this._typeCheck(e)}resolve(e){let t=this;if(t.conditions.length){let i=t.conditions;t=t.clone(),t.conditions=[],t=i.reduce((n,s)=>s.resolve(n,e),t),t=t.resolve(e)}return t}cast(e,t={}){let i=this.resolve(Ps({value:e},t)),n=i._cast(e,t);if(e!==void 0&&t.assert!==!1&&i.isType(n)!==!0){let s=(0,Pte.default)(e),o=(0,Pte.default)(n);throw new TypeError(`The value of ${t.path||"field"} could not be cast to a value that satisfies the schema type: "${i._type}". +`));if(!E)return null;d.input=IA(E,!0)}return d.input.shift()},put_char:function(d,E){E===null||E===10?(v(ke(d.output,0)),d.output=[]):E!=0&&d.output.push(E)},flush:function(d){d.output&&d.output.length>0&&(v(ke(d.output,0)),d.output=[])}},default_tty1_ops:{put_char:function(d,E){E===null||E===10?(D(ke(d.output,0)),d.output=[]):E!=0&&d.output.push(E)},flush:function(d){d.output&&d.output.length>0&&(D(ke(d.output,0)),d.output=[])}}};function is(d){for(var E=H(d,65536),I=dt(E);d=E)){var k=1024*1024;E=Math.max(E,I*(I>>0),I!=0&&(E=Math.max(E,256));var T=d.contents;d.contents=new Uint8Array(E),d.usedBytes>0&&d.contents.set(T.subarray(0,d.usedBytes),0)}},resizeFileStorage:function(d,E){if(d.usedBytes!=E)if(E==0)d.contents=null,d.usedBytes=0;else{var I=d.contents;d.contents=new Uint8Array(E),I&&d.contents.set(I.subarray(0,Math.min(E,d.usedBytes))),d.usedBytes=E}},node_ops:{getattr:function(d){var E={};return E.dev=S.isChrdev(d.mode)?d.id:1,E.ino=d.id,E.mode=d.mode,E.nlink=1,E.uid=0,E.gid=0,E.rdev=d.rdev,S.isDir(d.mode)?E.size=4096:S.isFile(d.mode)?E.size=d.usedBytes:S.isLink(d.mode)?E.size=d.link.length:E.size=0,E.atime=new Date(d.timestamp),E.mtime=new Date(d.timestamp),E.ctime=new Date(d.timestamp),E.blksize=4096,E.blocks=Math.ceil(E.size/E.blksize),E},setattr:function(d,E){E.mode!==void 0&&(d.mode=E.mode),E.timestamp!==void 0&&(d.timestamp=E.timestamp),E.size!==void 0&>.resizeFileStorage(d,E.size)},lookup:function(d,E){throw S.genericErrors[44]},mknod:function(d,E,I,k){return gt.createNode(d,E,I,k)},rename:function(d,E,I){if(S.isDir(d.mode)){var k;try{k=S.lookupNode(E,I)}catch{}if(k)for(var T in k.contents)throw new S.ErrnoError(55)}delete d.parent.contents[d.name],d.parent.timestamp=Date.now(),d.name=I,E.contents[I]=d,E.timestamp=d.parent.timestamp,d.parent=E},unlink:function(d,E){delete d.contents[E],d.timestamp=Date.now()},rmdir:function(d,E){var I=S.lookupNode(d,E);for(var k in I.contents)throw new S.ErrnoError(55);delete d.contents[E],d.timestamp=Date.now()},readdir:function(d){var E=[".",".."];for(var I in d.contents)!d.contents.hasOwnProperty(I)||E.push(I);return E},symlink:function(d,E,I){var k=gt.createNode(d,E,41471,0);return k.link=I,k},readlink:function(d){if(!S.isLink(d.mode))throw new S.ErrnoError(28);return d.link}},stream_ops:{read:function(d,E,I,k,T){var Z=d.node.contents;if(T>=d.node.usedBytes)return 0;var te=Math.min(d.node.usedBytes-T,k);if(te>8&&Z.subarray)E.set(Z.subarray(T,T+te),I);else for(var Be=0;Be0||k+I>2)}catch(I){throw I.code?new S.ErrnoError(At.convertNodeCode(I)):I}return E.mode},realPath:function(d){for(var E=[];d.parent!==d;)E.push(d.name),d=d.parent;return E.push(d.mount.opts.root),E.reverse(),Qt.join.apply(null,E)},flagsForNode:function(d){d&=-2097153,d&=-2049,d&=-32769,d&=-524289;var E=0;for(var I in At.flagsForNodeMap)d&I&&(E|=At.flagsForNodeMap[I],d^=I);if(d)throw new S.ErrnoError(28);return E},node_ops:{getattr:function(d){var E=At.realPath(d),I;try{I=Te.lstatSync(E)}catch(k){throw k.code?new S.ErrnoError(At.convertNodeCode(k)):k}return At.isWindows&&!I.blksize&&(I.blksize=4096),At.isWindows&&!I.blocks&&(I.blocks=(I.size+I.blksize-1)/I.blksize|0),{dev:I.dev,ino:I.ino,mode:I.mode,nlink:I.nlink,uid:I.uid,gid:I.gid,rdev:I.rdev,size:I.size,atime:I.atime,mtime:I.mtime,ctime:I.ctime,blksize:I.blksize,blocks:I.blocks}},setattr:function(d,E){var I=At.realPath(d);try{if(E.mode!==void 0&&(Te.chmodSync(I,E.mode),d.mode=E.mode),E.timestamp!==void 0){var k=new Date(E.timestamp);Te.utimesSync(I,k,k)}E.size!==void 0&&Te.truncateSync(I,E.size)}catch(T){throw T.code?new S.ErrnoError(At.convertNodeCode(T)):T}},lookup:function(d,E){var I=Qt.join2(At.realPath(d),E),k=At.getMode(I);return At.createNode(d,E,k)},mknod:function(d,E,I,k){var T=At.createNode(d,E,I,k),Z=At.realPath(T);try{S.isDir(T.mode)?Te.mkdirSync(Z,T.mode):Te.writeFileSync(Z,"",{mode:T.mode})}catch(te){throw te.code?new S.ErrnoError(At.convertNodeCode(te)):te}return T},rename:function(d,E,I){var k=At.realPath(d),T=Qt.join2(At.realPath(E),I);try{Te.renameSync(k,T)}catch(Z){throw Z.code?new S.ErrnoError(At.convertNodeCode(Z)):Z}d.name=I},unlink:function(d,E){var I=Qt.join2(At.realPath(d),E);try{Te.unlinkSync(I)}catch(k){throw k.code?new S.ErrnoError(At.convertNodeCode(k)):k}},rmdir:function(d,E){var I=Qt.join2(At.realPath(d),E);try{Te.rmdirSync(I)}catch(k){throw k.code?new S.ErrnoError(At.convertNodeCode(k)):k}},readdir:function(d){var E=At.realPath(d);try{return Te.readdirSync(E)}catch(I){throw I.code?new S.ErrnoError(At.convertNodeCode(I)):I}},symlink:function(d,E,I){var k=Qt.join2(At.realPath(d),E);try{Te.symlinkSync(I,k)}catch(T){throw T.code?new S.ErrnoError(At.convertNodeCode(T)):T}},readlink:function(d){var E=At.realPath(d);try{return E=Te.readlinkSync(E),E=fg.relative(fg.resolve(d.mount.opts.root),E),E}catch(I){throw I.code?new S.ErrnoError(At.convertNodeCode(I)):I}}},stream_ops:{open:function(d){var E=At.realPath(d.node);try{S.isFile(d.node.mode)&&(d.nfd=Te.openSync(E,At.flagsForNode(d.flags)))}catch(I){throw I.code?new S.ErrnoError(At.convertNodeCode(I)):I}},close:function(d){try{S.isFile(d.node.mode)&&d.nfd&&Te.closeSync(d.nfd)}catch(E){throw E.code?new S.ErrnoError(At.convertNodeCode(E)):E}},read:function(d,E,I,k,T){if(k===0)return 0;try{return Te.readSync(d.nfd,At.bufferFrom(E.buffer),I,k,T)}catch(Z){throw new S.ErrnoError(At.convertNodeCode(Z))}},write:function(d,E,I,k,T){try{return Te.writeSync(d.nfd,At.bufferFrom(E.buffer),I,k,T)}catch(Z){throw new S.ErrnoError(At.convertNodeCode(Z))}},llseek:function(d,E,I){var k=E;if(I===1)k+=d.position;else if(I===2&&S.isFile(d.node.mode))try{var T=Te.fstatSync(d.nfd);k+=T.size}catch(Z){throw new S.ErrnoError(At.convertNodeCode(Z))}if(k<0)throw new S.ErrnoError(28);return k},mmap:function(d,E,I,k,T,Z){if(E!==0)throw new S.ErrnoError(28);if(!S.isFile(d.node.mode))throw new S.ErrnoError(43);var te=is(I);return At.stream_ops.read(d,ne,te,I,k),{ptr:te,allocated:!0}},msync:function(d,E,I,k,T){if(!S.isFile(d.node.mode))throw new S.ErrnoError(43);if(T&2)return 0;var Z=At.stream_ops.write(d,E,0,k,I,!1);return 0}}},an={lookupPath:function(d){return{path:d,node:{mode:At.getMode(d)}}},createStandardStreams:function(){S.streams[0]={fd:0,nfd:0,position:0,path:"",flags:0,tty:!0,seekable:!1};for(var d=1;d<3;d++)S.streams[d]={fd:d,nfd:d,position:0,path:"",flags:577,tty:!0,seekable:!1}},cwd:function(){return process.cwd()},chdir:function(){process.chdir.apply(void 0,arguments)},mknod:function(d,E){S.isDir(d)?Te.mkdirSync(d,E):Te.writeFileSync(d,"",{mode:E})},mkdir:function(){Te.mkdirSync.apply(void 0,arguments)},symlink:function(){Te.symlinkSync.apply(void 0,arguments)},rename:function(){Te.renameSync.apply(void 0,arguments)},rmdir:function(){Te.rmdirSync.apply(void 0,arguments)},readdir:function(){Te.readdirSync.apply(void 0,arguments)},unlink:function(){Te.unlinkSync.apply(void 0,arguments)},readlink:function(){return Te.readlinkSync.apply(void 0,arguments)},stat:function(){return Te.statSync.apply(void 0,arguments)},lstat:function(){return Te.lstatSync.apply(void 0,arguments)},chmod:function(){Te.chmodSync.apply(void 0,arguments)},fchmod:function(){Te.fchmodSync.apply(void 0,arguments)},chown:function(){Te.chownSync.apply(void 0,arguments)},fchown:function(){Te.fchownSync.apply(void 0,arguments)},truncate:function(){Te.truncateSync.apply(void 0,arguments)},ftruncate:function(d,E){if(E<0)throw new S.ErrnoError(28);Te.ftruncateSync.apply(void 0,arguments)},utime:function(){Te.utimesSync.apply(void 0,arguments)},open:function(d,E,I,k){typeof E=="string"&&(E=Ks.modeStringToFlags(E));var T=Te.openSync(d,At.flagsForNode(E),I),Z=k!=null?k:S.nextfd(T),te={fd:Z,nfd:T,position:0,path:d,flags:E,seekable:!0};return S.streams[Z]=te,te},close:function(d){d.stream_ops||Te.closeSync(d.nfd),S.closeStream(d.fd)},llseek:function(d,E,I){if(d.stream_ops)return Ks.llseek(d,E,I);var k=E;if(I===1)k+=d.position;else if(I===2)k+=Te.fstatSync(d.nfd).size;else if(I!==0)throw new S.ErrnoError(wo.EINVAL);if(k<0)throw new S.ErrnoError(wo.EINVAL);return d.position=k,k},read:function(d,E,I,k,T){if(d.stream_ops)return Ks.read(d,E,I,k,T);var Z=typeof T<"u";!Z&&d.seekable&&(T=d.position);var te=Te.readSync(d.nfd,At.bufferFrom(E.buffer),I,k,T);return Z||(d.position+=te),te},write:function(d,E,I,k,T){if(d.stream_ops)return Ks.write(d,E,I,k,T);d.flags&+"1024"&&S.llseek(d,0,+"2");var Z=typeof T<"u";!Z&&d.seekable&&(T=d.position);var te=Te.writeSync(d.nfd,At.bufferFrom(E.buffer),I,k,T);return Z||(d.position+=te),te},allocate:function(){throw new S.ErrnoError(wo.EOPNOTSUPP)},mmap:function(d,E,I,k,T,Z){if(d.stream_ops)return Ks.mmap(d,E,I,k,T,Z);if(E!==0)throw new S.ErrnoError(28);var te=is(I);return S.read(d,ne,te,I,k),{ptr:te,allocated:!0}},msync:function(d,E,I,k,T){return d.stream_ops?Ks.msync(d,E,I,k,T):(T&2||S.write(d,E,0,k,I),0)},munmap:function(){return 0},ioctl:function(){throw new S.ErrnoError(wo.ENOTTY)}},S={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:function(d,E){if(d=Rn.resolve(S.cwd(),d),E=E||{},!d)return{path:"",node:null};var I={follow_mount:!0,recurse_count:0};for(var k in I)E[k]===void 0&&(E[k]=I[k]);if(E.recurse_count>8)throw new S.ErrnoError(32);for(var T=Qt.normalizeArray(d.split("/").filter(function(lt){return!!lt}),!1),Z=S.root,te="/",Be=0;Be40)throw new S.ErrnoError(32)}}return{path:te,node:Z}},getPath:function(d){for(var E;;){if(S.isRoot(d)){var I=d.mount.mountpoint;return E?I[I.length-1]!=="/"?I+"/"+E:I+E:I}E=E?d.name+"/"+E:d.name,d=d.parent}},hashName:function(d,E){for(var I=0,k=0;k>>0)%S.nameTable.length},hashAddNode:function(d){var E=S.hashName(d.parent.id,d.name);d.name_next=S.nameTable[E],S.nameTable[E]=d},hashRemoveNode:function(d){var E=S.hashName(d.parent.id,d.name);if(S.nameTable[E]===d)S.nameTable[E]=d.name_next;else for(var I=S.nameTable[E];I;){if(I.name_next===d){I.name_next=d.name_next;break}I=I.name_next}},lookupNode:function(d,E){var I=S.mayLookup(d);if(I)throw new S.ErrnoError(I,d);for(var k=S.hashName(d.id,E),T=S.nameTable[k];T;T=T.name_next){var Z=T.name;if(T.parent.id===d.id&&Z===E)return T}return S.lookup(d,E)},createNode:function(d,E,I,k){var T=new S.FSNode(d,E,I,k);return S.hashAddNode(T),T},destroyNode:function(d){S.hashRemoveNode(d)},isRoot:function(d){return d===d.parent},isMountpoint:function(d){return!!d.mounted},isFile:function(d){return(d&61440)===32768},isDir:function(d){return(d&61440)===16384},isLink:function(d){return(d&61440)===40960},isChrdev:function(d){return(d&61440)===8192},isBlkdev:function(d){return(d&61440)===24576},isFIFO:function(d){return(d&61440)===4096},isSocket:function(d){return(d&49152)===49152},flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:function(d){var E=S.flagModes[d];if(typeof E>"u")throw new Error("Unknown file open mode: "+d);return E},flagsToPermissionString:function(d){var E=["r","w","rw"][d&3];return d&512&&(E+="w"),E},nodePermissions:function(d,E){return S.ignorePermissions?0:E.includes("r")&&!(d.mode&292)||E.includes("w")&&!(d.mode&146)||E.includes("x")&&!(d.mode&73)?2:0},mayLookup:function(d){var E=S.nodePermissions(d,"x");return E||(d.node_ops.lookup?0:2)},mayCreate:function(d,E){try{var I=S.lookupNode(d,E);return 20}catch{}return S.nodePermissions(d,"wx")},mayDelete:function(d,E,I){var k;try{k=S.lookupNode(d,E)}catch(Z){return Z.errno}var T=S.nodePermissions(d,"wx");if(T)return T;if(I){if(!S.isDir(k.mode))return 54;if(S.isRoot(k)||S.getPath(k)===S.cwd())return 10}else if(S.isDir(k.mode))return 31;return 0},mayOpen:function(d,E){return d?S.isLink(d.mode)?32:S.isDir(d.mode)&&(S.flagsToPermissionString(E)!=="r"||E&512)?31:S.nodePermissions(d,S.flagsToPermissionString(E)):44},MAX_OPEN_FDS:4096,nextfd:function(d,E){d=d||0,E=E||S.MAX_OPEN_FDS;for(var I=d;I<=E;I++)if(!S.streams[I])return I;throw new S.ErrnoError(33)},getStream:function(d){return S.streams[d]},createStream:function(d,E,I){S.FSStream||(S.FSStream=function(){},S.FSStream.prototype={object:{get:function(){return this.node},set:function(te){this.node=te}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}});var k=new S.FSStream;for(var T in d)k[T]=d[T];d=k;var Z=S.nextfd(E,I);return d.fd=Z,S.streams[Z]=d,d},closeStream:function(d){S.streams[d]=null},chrdev_stream_ops:{open:function(d){var E=S.getDevice(d.node.rdev);d.stream_ops=E.stream_ops,d.stream_ops.open&&d.stream_ops.open(d)},llseek:function(){throw new S.ErrnoError(70)}},major:function(d){return d>>8},minor:function(d){return d&255},makedev:function(d,E){return d<<8|E},registerDevice:function(d,E){S.devices[d]={stream_ops:E}},getDevice:function(d){return S.devices[d]},getMounts:function(d){for(var E=[],I=[d];I.length;){var k=I.pop();E.push(k),I.push.apply(I,k.mounts)}return E},syncfs:function(d,E){typeof d=="function"&&(E=d,d=!1),S.syncFSRequests++,S.syncFSRequests>1&&D("warning: "+S.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var I=S.getMounts(S.root.mount),k=0;function T(te){return S.syncFSRequests--,E(te)}function Z(te){if(te)return Z.errored?void 0:(Z.errored=!0,T(te));++k>=I.length&&T(null)}I.forEach(function(te){if(!te.type.syncfs)return Z(null);te.type.syncfs(te,d,Z)})},mount:function(d,E,I){var k=I==="/",T=!I,Z;if(k&&S.root)throw new S.ErrnoError(10);if(!k&&!T){var te=S.lookupPath(I,{follow_mount:!1});if(I=te.path,Z=te.node,S.isMountpoint(Z))throw new S.ErrnoError(10);if(!S.isDir(Z.mode))throw new S.ErrnoError(54)}var Be={type:d,opts:E,mountpoint:I,mounts:[]},me=d.mount(Be);return me.mount=Be,Be.root=me,k?S.root=me:Z&&(Z.mounted=Be,Z.mount&&Z.mount.mounts.push(Be)),me},unmount:function(d){var E=S.lookupPath(d,{follow_mount:!1});if(!S.isMountpoint(E.node))throw new S.ErrnoError(28);var I=E.node,k=I.mounted,T=S.getMounts(k);Object.keys(S.nameTable).forEach(function(te){for(var Be=S.nameTable[te];Be;){var me=Be.name_next;T.includes(Be.mount)&&S.destroyNode(Be),Be=me}}),I.mounted=null;var Z=I.mount.mounts.indexOf(k);I.mount.mounts.splice(Z,1)},lookup:function(d,E){return d.node_ops.lookup(d,E)},mknod:function(d,E,I){var k=S.lookupPath(d,{parent:!0}),T=k.node,Z=Qt.basename(d);if(!Z||Z==="."||Z==="..")throw new S.ErrnoError(28);var te=S.mayCreate(T,Z);if(te)throw new S.ErrnoError(te);if(!T.node_ops.mknod)throw new S.ErrnoError(63);return T.node_ops.mknod(T,Z,E,I)},create:function(d,E){return E=E!==void 0?E:438,E&=4095,E|=32768,S.mknod(d,E,0)},mkdir:function(d,E){return E=E!==void 0?E:511,E&=1023,E|=16384,S.mknod(d,E,0)},mkdirTree:function(d,E){for(var I=d.split("/"),k="",T=0;T"u"&&(I=E,E=438),E|=8192,S.mknod(d,E,I)},symlink:function(d,E){if(!Rn.resolve(d))throw new S.ErrnoError(44);var I=S.lookupPath(E,{parent:!0}),k=I.node;if(!k)throw new S.ErrnoError(44);var T=Qt.basename(E),Z=S.mayCreate(k,T);if(Z)throw new S.ErrnoError(Z);if(!k.node_ops.symlink)throw new S.ErrnoError(63);return k.node_ops.symlink(k,T,d)},rename:function(d,E){var I=Qt.dirname(d),k=Qt.dirname(E),T=Qt.basename(d),Z=Qt.basename(E),te,Be,me;if(te=S.lookupPath(d,{parent:!0}),Be=te.node,te=S.lookupPath(E,{parent:!0}),me=te.node,!Be||!me)throw new S.ErrnoError(44);if(Be.mount!==me.mount)throw new S.ErrnoError(75);var Je=S.lookupNode(Be,T),nt=Rn.relative(d,k);if(nt.charAt(0)!==".")throw new S.ErrnoError(28);if(nt=Rn.relative(E,I),nt.charAt(0)!==".")throw new S.ErrnoError(55);var wt;try{wt=S.lookupNode(me,Z)}catch{}if(Je!==wt){var lt=S.isDir(Je.mode),it=S.mayDelete(Be,T,lt);if(it)throw new S.ErrnoError(it);if(it=wt?S.mayDelete(me,Z,lt):S.mayCreate(me,Z),it)throw new S.ErrnoError(it);if(!Be.node_ops.rename)throw new S.ErrnoError(63);if(S.isMountpoint(Je)||wt&&S.isMountpoint(wt))throw new S.ErrnoError(10);if(me!==Be&&(it=S.nodePermissions(Be,"w"),it))throw new S.ErrnoError(it);try{S.trackingDelegate.willMovePath&&S.trackingDelegate.willMovePath(d,E)}catch(Et){D("FS.trackingDelegate['willMovePath']('"+d+"', '"+E+"') threw an exception: "+Et.message)}S.hashRemoveNode(Je);try{Be.node_ops.rename(Je,me,Z)}catch(Et){throw Et}finally{S.hashAddNode(Je)}try{S.trackingDelegate.onMovePath&&S.trackingDelegate.onMovePath(d,E)}catch(Et){D("FS.trackingDelegate['onMovePath']('"+d+"', '"+E+"') threw an exception: "+Et.message)}}},rmdir:function(d){var E=S.lookupPath(d,{parent:!0}),I=E.node,k=Qt.basename(d),T=S.lookupNode(I,k),Z=S.mayDelete(I,k,!0);if(Z)throw new S.ErrnoError(Z);if(!I.node_ops.rmdir)throw new S.ErrnoError(63);if(S.isMountpoint(T))throw new S.ErrnoError(10);try{S.trackingDelegate.willDeletePath&&S.trackingDelegate.willDeletePath(d)}catch(te){D("FS.trackingDelegate['willDeletePath']('"+d+"') threw an exception: "+te.message)}I.node_ops.rmdir(I,k),S.destroyNode(T);try{S.trackingDelegate.onDeletePath&&S.trackingDelegate.onDeletePath(d)}catch(te){D("FS.trackingDelegate['onDeletePath']('"+d+"') threw an exception: "+te.message)}},readdir:function(d){var E=S.lookupPath(d,{follow:!0}),I=E.node;if(!I.node_ops.readdir)throw new S.ErrnoError(54);return I.node_ops.readdir(I)},unlink:function(d){var E=S.lookupPath(d,{parent:!0}),I=E.node,k=Qt.basename(d),T=S.lookupNode(I,k),Z=S.mayDelete(I,k,!1);if(Z)throw new S.ErrnoError(Z);if(!I.node_ops.unlink)throw new S.ErrnoError(63);if(S.isMountpoint(T))throw new S.ErrnoError(10);try{S.trackingDelegate.willDeletePath&&S.trackingDelegate.willDeletePath(d)}catch(te){D("FS.trackingDelegate['willDeletePath']('"+d+"') threw an exception: "+te.message)}I.node_ops.unlink(I,k),S.destroyNode(T);try{S.trackingDelegate.onDeletePath&&S.trackingDelegate.onDeletePath(d)}catch(te){D("FS.trackingDelegate['onDeletePath']('"+d+"') threw an exception: "+te.message)}},readlink:function(d){var E=S.lookupPath(d),I=E.node;if(!I)throw new S.ErrnoError(44);if(!I.node_ops.readlink)throw new S.ErrnoError(28);return Rn.resolve(S.getPath(I.parent),I.node_ops.readlink(I))},stat:function(d,E){var I=S.lookupPath(d,{follow:!E}),k=I.node;if(!k)throw new S.ErrnoError(44);if(!k.node_ops.getattr)throw new S.ErrnoError(63);return k.node_ops.getattr(k)},lstat:function(d){return S.stat(d,!0)},chmod:function(d,E,I){var k;if(typeof d=="string"){var T=S.lookupPath(d,{follow:!I});k=T.node}else k=d;if(!k.node_ops.setattr)throw new S.ErrnoError(63);k.node_ops.setattr(k,{mode:E&4095|k.mode&-4096,timestamp:Date.now()})},lchmod:function(d,E){S.chmod(d,E,!0)},fchmod:function(d,E){var I=S.getStream(d);if(!I)throw new S.ErrnoError(8);S.chmod(I.node,E)},chown:function(d,E,I,k){var T;if(typeof d=="string"){var Z=S.lookupPath(d,{follow:!k});T=Z.node}else T=d;if(!T.node_ops.setattr)throw new S.ErrnoError(63);T.node_ops.setattr(T,{timestamp:Date.now()})},lchown:function(d,E,I){S.chown(d,E,I,!0)},fchown:function(d,E,I){var k=S.getStream(d);if(!k)throw new S.ErrnoError(8);S.chown(k.node,E,I)},truncate:function(d,E){if(E<0)throw new S.ErrnoError(28);var I;if(typeof d=="string"){var k=S.lookupPath(d,{follow:!0});I=k.node}else I=d;if(!I.node_ops.setattr)throw new S.ErrnoError(63);if(S.isDir(I.mode))throw new S.ErrnoError(31);if(!S.isFile(I.mode))throw new S.ErrnoError(28);var T=S.nodePermissions(I,"w");if(T)throw new S.ErrnoError(T);I.node_ops.setattr(I,{size:E,timestamp:Date.now()})},ftruncate:function(d,E){var I=S.getStream(d);if(!I)throw new S.ErrnoError(8);if((I.flags&2097155)===0)throw new S.ErrnoError(28);S.truncate(I.node,E)},utime:function(d,E,I){var k=S.lookupPath(d,{follow:!0}),T=k.node;T.node_ops.setattr(T,{timestamp:Math.max(E,I)})},open:function(d,E,I,k,T){if(d==="")throw new S.ErrnoError(44);E=typeof E=="string"?S.modeStringToFlags(E):E,I=typeof I>"u"?438:I,E&64?I=I&4095|32768:I=0;var Z;if(typeof d=="object")Z=d;else{d=Qt.normalize(d);try{var te=S.lookupPath(d,{follow:!(E&131072)});Z=te.node}catch{}}var Be=!1;if(E&64)if(Z){if(E&128)throw new S.ErrnoError(20)}else Z=S.mknod(d,I,0),Be=!0;if(!Z)throw new S.ErrnoError(44);if(S.isChrdev(Z.mode)&&(E&=-513),E&65536&&!S.isDir(Z.mode))throw new S.ErrnoError(54);if(!Be){var me=S.mayOpen(Z,E);if(me)throw new S.ErrnoError(me)}E&512&&S.truncate(Z,0),E&=-131713;var Je=S.createStream({node:Z,path:S.getPath(Z),flags:E,seekable:!0,position:0,stream_ops:Z.stream_ops,ungotten:[],error:!1},k,T);Je.stream_ops.open&&Je.stream_ops.open(Je),t.logReadFiles&&!(E&1)&&(S.readFiles||(S.readFiles={}),d in S.readFiles||(S.readFiles[d]=1,D("FS.trackingDelegate error on read file: "+d)));try{if(S.trackingDelegate.onOpenFile){var nt=0;(E&2097155)!==1&&(nt|=S.tracking.openFlags.READ),(E&2097155)!==0&&(nt|=S.tracking.openFlags.WRITE),S.trackingDelegate.onOpenFile(d,nt)}}catch(wt){D("FS.trackingDelegate['onOpenFile']('"+d+"', flags) threw an exception: "+wt.message)}return Je},close:function(d){if(S.isClosed(d))throw new S.ErrnoError(8);d.getdents&&(d.getdents=null);try{d.stream_ops.close&&d.stream_ops.close(d)}catch(E){throw E}finally{S.closeStream(d.fd)}d.fd=null},isClosed:function(d){return d.fd===null},llseek:function(d,E,I){if(S.isClosed(d))throw new S.ErrnoError(8);if(!d.seekable||!d.stream_ops.llseek)throw new S.ErrnoError(70);if(I!=0&&I!=1&&I!=2)throw new S.ErrnoError(28);return d.position=d.stream_ops.llseek(d,E,I),d.ungotten=[],d.position},read:function(d,E,I,k,T){if(k<0||T<0)throw new S.ErrnoError(28);if(S.isClosed(d))throw new S.ErrnoError(8);if((d.flags&2097155)===1)throw new S.ErrnoError(8);if(S.isDir(d.node.mode))throw new S.ErrnoError(31);if(!d.stream_ops.read)throw new S.ErrnoError(28);var Z=typeof T<"u";if(!Z)T=d.position;else if(!d.seekable)throw new S.ErrnoError(70);var te=d.stream_ops.read(d,E,I,k,T);return Z||(d.position+=te),te},write:function(d,E,I,k,T,Z){if(k<0||T<0)throw new S.ErrnoError(28);if(S.isClosed(d))throw new S.ErrnoError(8);if((d.flags&2097155)===0)throw new S.ErrnoError(8);if(S.isDir(d.node.mode))throw new S.ErrnoError(31);if(!d.stream_ops.write)throw new S.ErrnoError(28);d.seekable&&d.flags&1024&&S.llseek(d,0,2);var te=typeof T<"u";if(!te)T=d.position;else if(!d.seekable)throw new S.ErrnoError(70);var Be=d.stream_ops.write(d,E,I,k,T,Z);te||(d.position+=Be);try{d.path&&S.trackingDelegate.onWriteToFile&&S.trackingDelegate.onWriteToFile(d.path)}catch(me){D("FS.trackingDelegate['onWriteToFile']('"+d.path+"') threw an exception: "+me.message)}return Be},allocate:function(d,E,I){if(S.isClosed(d))throw new S.ErrnoError(8);if(E<0||I<=0)throw new S.ErrnoError(28);if((d.flags&2097155)===0)throw new S.ErrnoError(8);if(!S.isFile(d.node.mode)&&!S.isDir(d.node.mode))throw new S.ErrnoError(43);if(!d.stream_ops.allocate)throw new S.ErrnoError(138);d.stream_ops.allocate(d,E,I)},mmap:function(d,E,I,k,T,Z){if((T&2)!==0&&(Z&2)===0&&(d.flags&2097155)!==2)throw new S.ErrnoError(2);if((d.flags&2097155)===1)throw new S.ErrnoError(2);if(!d.stream_ops.mmap)throw new S.ErrnoError(43);return d.stream_ops.mmap(d,E,I,k,T,Z)},msync:function(d,E,I,k,T){return!d||!d.stream_ops.msync?0:d.stream_ops.msync(d,E,I,k,T)},munmap:function(d){return 0},ioctl:function(d,E,I){if(!d.stream_ops.ioctl)throw new S.ErrnoError(59);return d.stream_ops.ioctl(d,E,I)},readFile:function(d,E){if(E=E||{},E.flags=E.flags||0,E.encoding=E.encoding||"binary",E.encoding!=="utf8"&&E.encoding!=="binary")throw new Error('Invalid encoding type "'+E.encoding+'"');var I,k=S.open(d,E.flags),T=S.stat(d),Z=T.size,te=new Uint8Array(Z);return S.read(k,te,0,Z,0),E.encoding==="utf8"?I=ke(te,0):E.encoding==="binary"&&(I=te),S.close(k),I},writeFile:function(d,E,I){I=I||{},I.flags=I.flags||577;var k=S.open(d,I.flags,I.mode);if(typeof E=="string"){var T=new Uint8Array(le(E)+1),Z=Ne(E,T,0,T.length);S.write(k,T,0,Z,void 0,I.canOwn)}else if(ArrayBuffer.isView(E))S.write(k,E,0,E.byteLength,void 0,I.canOwn);else throw new Error("Unsupported data type");S.close(k)},cwd:function(){return S.currentPath},chdir:function(d){var E=S.lookupPath(d,{follow:!0});if(E.node===null)throw new S.ErrnoError(44);if(!S.isDir(E.node.mode))throw new S.ErrnoError(54);var I=S.nodePermissions(E.node,"x");if(I)throw new S.ErrnoError(I);S.currentPath=E.path},createDefaultDirectories:function(){S.mkdir("/tmp"),S.mkdir("/home"),S.mkdir("/home/web_user")},createDefaultDevices:function(){S.mkdir("/dev"),S.registerDevice(S.makedev(1,3),{read:function(){return 0},write:function(E,I,k,T,Z){return T}}),S.mkdev("/dev/null",S.makedev(1,3)),rs.register(S.makedev(5,0),rs.default_tty_ops),rs.register(S.makedev(6,0),rs.default_tty1_ops),S.mkdev("/dev/tty",S.makedev(5,0)),S.mkdev("/dev/tty1",S.makedev(6,0));var d=Rl();S.createDevice("/dev","random",d),S.createDevice("/dev","urandom",d),S.mkdir("/dev/shm"),S.mkdir("/dev/shm/tmp")},createSpecialDirectories:function(){S.mkdir("/proc");var d=S.mkdir("/proc/self");S.mkdir("/proc/self/fd"),S.mount({mount:function(){var E=S.createNode(d,"fd",16895,73);return E.node_ops={lookup:function(I,k){var T=+k,Z=S.getStream(T);if(!Z)throw new S.ErrnoError(8);var te={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:function(){return Z.path}}};return te.parent=te,te}},E}},{},"/proc/self/fd")},createStandardStreams:function(){t.stdin?S.createDevice("/dev","stdin",t.stdin):S.symlink("/dev/tty","/dev/stdin"),t.stdout?S.createDevice("/dev","stdout",null,t.stdout):S.symlink("/dev/tty","/dev/stdout"),t.stderr?S.createDevice("/dev","stderr",null,t.stderr):S.symlink("/dev/tty1","/dev/stderr");var d=S.open("/dev/stdin",0),E=S.open("/dev/stdout",1),I=S.open("/dev/stderr",1)},ensureErrnoError:function(){S.ErrnoError||(S.ErrnoError=function(E,I){this.node=I,this.setErrno=function(k){this.errno=k},this.setErrno(E),this.message="FS error"},S.ErrnoError.prototype=new Error,S.ErrnoError.prototype.constructor=S.ErrnoError,[44].forEach(function(d){S.genericErrors[d]=new S.ErrnoError(d),S.genericErrors[d].stack=""}))},staticInit:function(){S.ensureErrnoError(),S.nameTable=new Array(4096),S.mount(gt,{},"/"),S.createDefaultDirectories(),S.createDefaultDevices(),S.createSpecialDirectories(),S.filesystems={MEMFS:gt,NODEFS:At}},init:function(d,E,I){S.init.initialized=!0,S.ensureErrnoError(),t.stdin=d||t.stdin,t.stdout=E||t.stdout,t.stderr=I||t.stderr,S.createStandardStreams()},quit:function(){S.init.initialized=!1;var d=t._fflush;d&&d(0);for(var E=0;Ethis.length-1||lt<0)){var it=lt%this.chunkSize,Et=lt/this.chunkSize|0;return this.getter(Et)[it]}},Z.prototype.setDataGetter=function(lt){this.getter=lt},Z.prototype.cacheLength=function(){var lt=new XMLHttpRequest;if(lt.open("HEAD",I,!1),lt.send(null),!(lt.status>=200&<.status<300||lt.status===304))throw new Error("Couldn't load "+I+". Status: "+lt.status);var it=Number(lt.getResponseHeader("Content-length")),Et,Qe=(Et=lt.getResponseHeader("Accept-Ranges"))&&Et==="bytes",Ln=(Et=lt.getResponseHeader("Content-Encoding"))&&Et==="gzip",Ri=1024*1024;Qe||(Ri=it);var bA=function(ns,Ca){if(ns>Ca)throw new Error("invalid range ("+ns+", "+Ca+") or no bytes requested!");if(Ca>it-1)throw new Error("only "+it+" bytes available! programmer error!");var Kr=new XMLHttpRequest;if(Kr.open("GET",I,!1),it!==Ri&&Kr.setRequestHeader("Range","bytes="+ns+"-"+Ca),typeof Uint8Array<"u"&&(Kr.responseType="arraybuffer"),Kr.overrideMimeType&&Kr.overrideMimeType("text/plain; charset=x-user-defined"),Kr.send(null),!(Kr.status>=200&&Kr.status<300||Kr.status===304))throw new Error("Couldn't load "+I+". Status: "+Kr.status);return Kr.response!==void 0?new Uint8Array(Kr.response||[]):IA(Kr.responseText||"",!0)},Mr=this;Mr.setDataGetter(function(ns){var Ca=ns*Ri,Kr=(ns+1)*Ri-1;if(Kr=Math.min(Kr,it-1),typeof Mr.chunks[ns]>"u"&&(Mr.chunks[ns]=bA(Ca,Kr)),typeof Mr.chunks[ns]>"u")throw new Error("doXHR failed!");return Mr.chunks[ns]}),(Ln||!it)&&(Ri=it=1,it=this.getter(0).length,Ri=it,v("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=it,this._chunkSize=Ri,this.lengthKnown=!0},typeof XMLHttpRequest<"u"){if(!u)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var te=new Z;Object.defineProperties(te,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var Be={isDevice:!1,contents:te}}else var Be={isDevice:!1,url:I};var me=S.createFile(d,E,Be,k,T);Be.contents?me.contents=Be.contents:Be.url&&(me.contents=null,me.url=Be.url),Object.defineProperties(me,{usedBytes:{get:function(){return this.contents.length}}});var Je={},nt=Object.keys(me.stream_ops);return nt.forEach(function(wt){var lt=me.stream_ops[wt];Je[wt]=function(){return S.forceLoadFile(me),lt.apply(null,arguments)}}),Je.read=function(lt,it,Et,Qe,Ln){S.forceLoadFile(me);var Ri=lt.node.contents;if(Ln>=Ri.length)return 0;var bA=Math.min(Ri.length-Ln,Qe);if(Ri.slice)for(var Mr=0;Mr>2]=k.dev,de[I+4>>2]=0,de[I+8>>2]=k.ino,de[I+12>>2]=k.mode,de[I+16>>2]=k.nlink,de[I+20>>2]=k.uid,de[I+24>>2]=k.gid,de[I+28>>2]=k.rdev,de[I+32>>2]=0,se=[k.size>>>0,(vr=k.size,+Math.abs(vr)>=1?vr>0?(Math.min(+Math.floor(vr/4294967296),4294967295)|0)>>>0:~~+Math.ceil((vr-+(~~vr>>>0))/4294967296)>>>0:0)],de[I+40>>2]=se[0],de[I+44>>2]=se[1],de[I+48>>2]=4096,de[I+52>>2]=k.blocks,de[I+56>>2]=k.atime.getTime()/1e3|0,de[I+60>>2]=0,de[I+64>>2]=k.mtime.getTime()/1e3|0,de[I+68>>2]=0,de[I+72>>2]=k.ctime.getTime()/1e3|0,de[I+76>>2]=0,se=[k.ino>>>0,(vr=k.ino,+Math.abs(vr)>=1?vr>0?(Math.min(+Math.floor(vr/4294967296),4294967295)|0)>>>0:~~+Math.ceil((vr-+(~~vr>>>0))/4294967296)>>>0:0)],de[I+80>>2]=se[0],de[I+84>>2]=se[1],0},doMsync:function(d,E,I,k,T){var Z=Y.slice(d,d+I);S.msync(E,Z,T,I,k)},doMkdir:function(d,E){return d=Qt.normalize(d),d[d.length-1]==="/"&&(d=d.substr(0,d.length-1)),S.mkdir(d,E,0),0},doMknod:function(d,E,I){switch(E&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}return S.mknod(d,E,I),0},doReadlink:function(d,E,I){if(I<=0)return-28;var k=S.readlink(d),T=Math.min(I,le(k)),Z=ne[E+T];return oe(k,E,I+1),ne[E+T]=Z,T},doAccess:function(d,E){if(E&-8)return-28;var I,k=S.lookupPath(d,{follow:!0});if(I=k.node,!I)return-44;var T="";return E&4&&(T+="r"),E&2&&(T+="w"),E&1&&(T+="x"),T&&S.nodePermissions(I,T)?-2:0},doDup:function(d,E,I){var k=S.getStream(I);return k&&S.close(k),S.open(d,E,0,I,I).fd},doReadv:function(d,E,I,k){for(var T=0,Z=0;Z>2],Be=de[E+(Z*8+4)>>2],me=S.read(d,ne,te,Be,k);if(me<0)return-1;if(T+=me,me>2],Be=de[E+(Z*8+4)>>2],me=S.write(d,ne,te,Be,k);if(me<0)return-1;T+=me}return T},varargs:void 0,get:function(){Tt.varargs+=4;var d=de[Tt.varargs-4>>2];return d},getStr:function(d){var E=Fe(d);return E},getStreamFromFD:function(d){var E=S.getStream(d);if(!E)throw new S.ErrnoError(8);return E},get64:function(d,E){return d}};function ug(d,E){try{return d=Tt.getStr(d),S.chmod(d,E),0}catch(I){return(typeof S>"u"||!(I instanceof S.ErrnoError))&&wr(I),-I.errno}}function Fl(d){return de[Ft()>>2]=d,d}function Qp(d,E,I){Tt.varargs=I;try{var k=Tt.getStreamFromFD(d);switch(E){case 0:{var T=Tt.get();if(T<0)return-28;var Z;return Z=S.open(k.path,k.flags,0,T),Z.fd}case 1:case 2:return 0;case 3:return k.flags;case 4:{var T=Tt.get();return k.flags|=T,0}case 12:{var T=Tt.get(),te=0;return pe[T+te>>1]=2,0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:return Fl(28),-1;default:return-28}}catch(Be){return(typeof S>"u"||!(Be instanceof S.ErrnoError))&&wr(Be),-Be.errno}}function bp(d,E){try{var I=Tt.getStreamFromFD(d);return Tt.doStat(S.stat,I.path,E)}catch(k){return(typeof S>"u"||!(k instanceof S.ErrnoError))&&wr(k),-k.errno}}function Sp(d,E,I){Tt.varargs=I;try{var k=Tt.getStreamFromFD(d);switch(E){case 21509:case 21505:return k.tty?0:-59;case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:return k.tty?0:-59;case 21519:{if(!k.tty)return-59;var T=Tt.get();return de[T>>2]=0,0}case 21520:return k.tty?-28:-59;case 21531:{var T=Tt.get();return S.ioctl(k,E,T)}case 21523:return k.tty?0:-59;case 21524:return k.tty?0:-59;default:wr("bad ioctl syscall "+E)}}catch(Z){return(typeof S>"u"||!(Z instanceof S.ErrnoError))&&wr(Z),-Z.errno}}function vp(d,E,I){Tt.varargs=I;try{var k=Tt.getStr(d),T=I?Tt.get():0,Z=S.open(k,E,T);return Z.fd}catch(te){return(typeof S>"u"||!(te instanceof S.ErrnoError))&&wr(te),-te.errno}}function xp(d,E){try{return d=Tt.getStr(d),E=Tt.getStr(E),S.rename(d,E),0}catch(I){return(typeof S>"u"||!(I instanceof S.ErrnoError))&&wr(I),-I.errno}}function G(d){try{return d=Tt.getStr(d),S.rmdir(d),0}catch(E){return(typeof S>"u"||!(E instanceof S.ErrnoError))&&wr(E),-E.errno}}function yt(d,E){try{return d=Tt.getStr(d),Tt.doStat(S.stat,d,E)}catch(I){return(typeof S>"u"||!(I instanceof S.ErrnoError))&&wr(I),-I.errno}}function EA(d){try{return d=Tt.getStr(d),S.unlink(d),0}catch(E){return(typeof S>"u"||!(E instanceof S.ErrnoError))&&wr(E),-E.errno}}function Ji(d,E,I){Y.copyWithin(d,E,E+I)}function Nl(d){try{return A.grow(d-qe.byteLength+65535>>>16),Or(A.buffer),1}catch{}}function Xe(d){var E=Y.length;d=d>>>0;var I=2147483648;if(d>I)return!1;for(var k=1;k<=4;k*=2){var T=E*(1+.2/k);T=Math.min(T,d+100663296);var Z=Math.min(I,Ae(Math.max(d,T),65536)),te=Nl(Z);if(te)return!0}return!1}function fa(d){try{var E=Tt.getStreamFromFD(d);return S.close(E),0}catch(I){return(typeof S>"u"||!(I instanceof S.ErrnoError))&&wr(I),I.errno}}function gg(d,E){try{var I=Tt.getStreamFromFD(d),k=I.tty?2:S.isDir(I.mode)?3:S.isLink(I.mode)?7:4;return ne[E>>0]=k,0}catch(T){return(typeof S>"u"||!(T instanceof S.ErrnoError))&&wr(T),T.errno}}function FE(d,E,I,k){try{var T=Tt.getStreamFromFD(d),Z=Tt.doReadv(T,E,I);return de[k>>2]=Z,0}catch(te){return(typeof S>"u"||!(te instanceof S.ErrnoError))&&wr(te),te.errno}}function Pp(d,E,I,k,T){try{var Z=Tt.getStreamFromFD(d),te=4294967296,Be=I*te+(E>>>0),me=9007199254740992;return Be<=-me||Be>=me?-61:(S.llseek(Z,Be,k),se=[Z.position>>>0,(vr=Z.position,+Math.abs(vr)>=1?vr>0?(Math.min(+Math.floor(vr/4294967296),4294967295)|0)>>>0:~~+Math.ceil((vr-+(~~vr>>>0))/4294967296)>>>0:0)],de[T>>2]=se[0],de[T+4>>2]=se[1],Z.getdents&&Be===0&&k===0&&(Z.getdents=null),0)}catch(Je){return(typeof S>"u"||!(Je instanceof S.ErrnoError))&&wr(Je),Je.errno}}function NE(d,E,I,k){try{var T=Tt.getStreamFromFD(d),Z=Tt.doWritev(T,E,I);return de[k>>2]=Z,0}catch(te){return(typeof S>"u"||!(te instanceof S.ErrnoError))&&wr(te),te.errno}}function ar(d){$(d)}function Fn(d){var E=Date.now()/1e3|0;return d&&(de[d>>2]=E),E}function Ll(){if(Ll.called)return;Ll.called=!0;var d=new Date().getFullYear(),E=new Date(d,0,1),I=new Date(d,6,1),k=E.getTimezoneOffset(),T=I.getTimezoneOffset(),Z=Math.max(k,T);de[rS()>>2]=Z*60,de[tS()>>2]=Number(k!=T);function te(wt){var lt=wt.toTimeString().match(/\(([A-Za-z ]+)\)$/);return lt?lt[1]:"GMT"}var Be=te(E),me=te(I),Je=we(Be),nt=we(me);T>2]=Je,de[Eg()+4>>2]=nt):(de[Eg()>>2]=nt,de[Eg()+4>>2]=Je)}function Dp(d){Ll();var E=Date.UTC(de[d+20>>2]+1900,de[d+16>>2],de[d+12>>2],de[d+8>>2],de[d+4>>2],de[d>>2],0),I=new Date(E);de[d+24>>2]=I.getUTCDay();var k=Date.UTC(I.getUTCFullYear(),0,1,0,0,0,0),T=(I.getTime()-k)/(1e3*60*60*24)|0;return de[d+28>>2]=T,I.getTime()/1e3|0}var Ms=function(d,E,I,k){d||(d=this),this.parent=d,this.mount=d.mount,this.mounted=null,this.id=S.nextInode++,this.name=E,this.mode=I,this.node_ops={},this.stream_ops={},this.rdev=k},ha=365,An=146;if(Object.defineProperties(Ms.prototype,{read:{get:function(){return(this.mode&ha)===ha},set:function(d){d?this.mode|=ha:this.mode&=~ha}},write:{get:function(){return(this.mode&An)===An},set:function(d){d?this.mode|=An:this.mode&=~An}},isFolder:{get:function(){return S.isDir(this.mode)}},isDevice:{get:function(){return S.isChrdev(this.mode)}}}),S.FSNode=Ms,S.staticInit(),g){var Te=Z6,fg=J("path");At.staticInit()}if(g){var Tl=function(d){return function(){try{return d.apply(this,arguments)}catch(E){throw E.code?new S.ErrnoError(wo[E.code]):E}}},Ks=Object.assign({},S);for(var Ol in an)S[Ol]=Tl(an[Ol])}else throw new Error("NODERAWFS is currently only supported on Node.js environment.");function IA(d,E,I){var k=I>0?I:le(d)+1,T=new Array(k),Z=Ne(d,T,0,T.length);return E&&(T.length=Z),T}var hg=typeof atob=="function"?atob:function(d){var E="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",I="",k,T,Z,te,Be,me,Je,nt=0;d=d.replace(/[^A-Za-z0-9\+\/\=]/g,"");do te=E.indexOf(d.charAt(nt++)),Be=E.indexOf(d.charAt(nt++)),me=E.indexOf(d.charAt(nt++)),Je=E.indexOf(d.charAt(nt++)),k=te<<2|Be>>4,T=(Be&15)<<4|me>>2,Z=(me&3)<<6|Je,I=I+String.fromCharCode(k),me!==64&&(I=I+String.fromCharCode(T)),Je!==64&&(I=I+String.fromCharCode(Z));while(nt0||(pr(),ts>0))return;function E(){Me||(Me=!0,t.calledRun=!0,!ae&&(Ii(),i(t),t.onRuntimeInitialized&&t.onRuntimeInitialized(),es()))}t.setStatus?(t.setStatus("Running..."),setTimeout(function(){setTimeout(function(){t.setStatus("")},1),E()},1)):E()}if(t.run=QA,t.preInit)for(typeof t.preInit=="function"&&(t.preInit=[t.preInit]);t.preInit.length>0;)t.preInit.pop()();return QA(),e}}();typeof dB=="object"&&typeof FR=="object"?FR.exports=RR:typeof define=="function"&&define.amd?define([],function(){return RR}):typeof dB=="object"&&(dB.createModule=RR)});var wV=w((Lst,yV)=>{function cke(r,e){for(var t=-1,i=r==null?0:r.length,n=Array(i);++t{var uke=Array.isArray;BV.exports=uke});var PV=w((Ost,xV)=>{var QV=xc(),gke=wV(),fke=bs(),hke=cC(),pke=1/0,bV=QV?QV.prototype:void 0,SV=bV?bV.toString:void 0;function vV(r){if(typeof r=="string")return r;if(fke(r))return gke(r,vV)+"";if(hke(r))return SV?SV.call(r):"";var e=r+"";return e=="0"&&1/r==-pke?"-0":e}xV.exports=vV});var Jf=w((Mst,DV)=>{var dke=PV();function Cke(r){return r==null?"":dke(r)}DV.exports=Cke});var HR=w((Kst,kV)=>{function mke(r,e,t){var i=-1,n=r.length;e<0&&(e=-e>n?0:n+e),t=t>n?n:t,t<0&&(t+=n),n=e>t?0:t-e>>>0,e>>>=0;for(var s=Array(n);++i{var Eke=HR();function Ike(r,e,t){var i=r.length;return t=t===void 0?i:t,!e&&t>=i?r:Eke(r,e,t)}RV.exports=Ike});var GR=w((Hst,NV)=>{var yke="\\ud800-\\udfff",wke="\\u0300-\\u036f",Bke="\\ufe20-\\ufe2f",Qke="\\u20d0-\\u20ff",bke=wke+Bke+Qke,Ske="\\ufe0e\\ufe0f",vke="\\u200d",xke=RegExp("["+vke+yke+bke+Ske+"]");function Pke(r){return xke.test(r)}NV.exports=Pke});var TV=w((Gst,LV)=>{function Dke(r){return r.split("")}LV.exports=Dke});var jV=w((Yst,YV)=>{var OV="\\ud800-\\udfff",kke="\\u0300-\\u036f",Rke="\\ufe20-\\ufe2f",Fke="\\u20d0-\\u20ff",Nke=kke+Rke+Fke,Lke="\\ufe0e\\ufe0f",Tke="["+OV+"]",YR="["+Nke+"]",jR="\\ud83c[\\udffb-\\udfff]",Oke="(?:"+YR+"|"+jR+")",MV="[^"+OV+"]",KV="(?:\\ud83c[\\udde6-\\uddff]){2}",UV="[\\ud800-\\udbff][\\udc00-\\udfff]",Mke="\\u200d",HV=Oke+"?",GV="["+Lke+"]?",Kke="(?:"+Mke+"(?:"+[MV,KV,UV].join("|")+")"+GV+HV+")*",Uke=GV+HV+Kke,Hke="(?:"+[MV+YR+"?",YR,KV,UV,Tke].join("|")+")",Gke=RegExp(jR+"(?="+jR+")|"+Hke+Uke,"g");function Yke(r){return r.match(Gke)||[]}YV.exports=Yke});var JV=w((jst,qV)=>{var jke=TV(),qke=GR(),Jke=jV();function Wke(r){return qke(r)?Jke(r):jke(r)}qV.exports=Wke});var zV=w((qst,WV)=>{var zke=FV(),Vke=GR(),Xke=JV(),Zke=Jf();function _ke(r){return function(e){e=Zke(e);var t=Vke(e)?Xke(e):void 0,i=t?t[0]:e.charAt(0),n=t?zke(t,1).join(""):e.slice(1);return i[r]()+n}}WV.exports=_ke});var XV=w((Jst,VV)=>{var $ke=zV(),eRe=$ke("toUpperCase");VV.exports=eRe});var bB=w((Wst,ZV)=>{var tRe=Jf(),rRe=XV();function iRe(r){return rRe(tRe(r).toLowerCase())}ZV.exports=iRe});var _V=w((zst,SB)=>{function nRe(){var r=0,e=1,t=2,i=3,n=4,s=5,o=6,a=7,l=8,c=9,u=10,g=11,f=12,h=13,p=14,C=15,y=16,B=17,v=0,D=1,L=2,H=3,j=4;function $(A,ae){return 55296<=A.charCodeAt(ae)&&A.charCodeAt(ae)<=56319&&56320<=A.charCodeAt(ae+1)&&A.charCodeAt(ae+1)<=57343}function V(A,ae){ae===void 0&&(ae=0);var ge=A.charCodeAt(ae);if(55296<=ge&&ge<=56319&&ae=1){var re=A.charCodeAt(ae-1),O=ge;return 55296<=re&&re<=56319?(re-55296)*1024+(O-56320)+65536:O}return ge}function W(A,ae,ge){var re=[A].concat(ae).concat([ge]),O=re[re.length-2],F=ge,ue=re.lastIndexOf(p);if(ue>1&&re.slice(1,ue).every(function(Fe){return Fe==i})&&[i,h,B].indexOf(A)==-1)return L;var he=re.lastIndexOf(n);if(he>0&&re.slice(1,he).every(function(Fe){return Fe==n})&&[f,n].indexOf(O)==-1)return re.filter(function(Fe){return Fe==n}).length%2==1?H:j;if(O==r&&F==e)return v;if(O==t||O==r||O==e)return F==p&&ae.every(function(Fe){return Fe==i})?L:D;if(F==t||F==r||F==e)return D;if(O==o&&(F==o||F==a||F==c||F==u))return v;if((O==c||O==a)&&(F==a||F==l))return v;if((O==u||O==l)&&F==l)return v;if(F==i||F==C)return v;if(F==s)return v;if(O==f)return v;var ke=re.indexOf(i)!=-1?re.lastIndexOf(i)-1:re.length-2;return[h,B].indexOf(re[ke])!=-1&&re.slice(ke+1,-1).every(function(Fe){return Fe==i})&&F==p||O==C&&[y,B].indexOf(F)!=-1?v:ae.indexOf(n)!=-1?L:O==n&&F==n?v:D}this.nextBreak=function(A,ae){if(ae===void 0&&(ae=0),ae<0)return 0;if(ae>=A.length-1)return A.length;for(var ge=_(V(A,ae)),re=[],O=ae+1;O{var sRe=/^(.*?)(\x1b\[[^m]+m|\x1b\]8;;.*?(\x1b\\|\u0007))/,vB;function oRe(){if(vB)return vB;if(typeof Intl.Segmenter<"u"){let r=new Intl.Segmenter("en",{granularity:"grapheme"});return vB=e=>Array.from(r.segment(e),({segment:t})=>t)}else{let r=_V(),e=new r;return vB=t=>e.splitGraphemes(t)}}$V.exports=(r,e=0,t=r.length)=>{if(e<0||t<0)throw new RangeError("Negative indices aren't supported by this implementation");let i=t-e,n="",s=0,o=0;for(;r.length>0;){let a=r.match(sRe)||[r,r,void 0],l=oRe()(a[1]),c=Math.min(e-s,l.length);l=l.slice(c);let u=Math.min(i-o,l.length);n+=l.slice(0,u).join(""),s+=c,o+=u,typeof a[2]<"u"&&(n+=a[2]),r=r.slice(a[0].length)}return n}});var Wf=w((pot,d7)=>{"use strict";var p7=new Map([["C","cwd"],["f","file"],["z","gzip"],["P","preservePaths"],["U","unlink"],["strip-components","strip"],["stripComponents","strip"],["keep-newer","newer"],["keepNewer","newer"],["keep-newer-files","newer"],["keepNewerFiles","newer"],["k","keep"],["keep-existing","keep"],["keepExisting","keep"],["m","noMtime"],["no-mtime","noMtime"],["p","preserveOwner"],["L","follow"],["h","follow"]]);d7.exports=r=>r?Object.keys(r).map(e=>[p7.has(e)?p7.get(e):e,r[e]]).reduce((e,t)=>(e[t[0]]=t[1],e),Object.create(null)):{}});var Vf=w((dot,b7)=>{"use strict";var C7=typeof process=="object"&&process?process:{stdout:null,stderr:null},ERe=J("events"),m7=J("stream"),E7=J("string_decoder").StringDecoder,Ja=Symbol("EOF"),Wa=Symbol("maybeEmitEnd"),el=Symbol("emittedEnd"),FB=Symbol("emittingEnd"),RC=Symbol("emittedError"),NB=Symbol("closed"),I7=Symbol("read"),LB=Symbol("flush"),y7=Symbol("flushChunk"),Sn=Symbol("encoding"),za=Symbol("decoder"),TB=Symbol("flowing"),FC=Symbol("paused"),zf=Symbol("resume"),Ci=Symbol("bufferLength"),zR=Symbol("bufferPush"),VR=Symbol("bufferShift"),Hi=Symbol("objectMode"),Gi=Symbol("destroyed"),XR=Symbol("emitData"),w7=Symbol("emitEnd"),ZR=Symbol("emitEnd2"),Va=Symbol("async"),NC=r=>Promise.resolve().then(r),B7=global._MP_NO_ITERATOR_SYMBOLS_!=="1",IRe=B7&&Symbol.asyncIterator||Symbol("asyncIterator not implemented"),yRe=B7&&Symbol.iterator||Symbol("iterator not implemented"),wRe=r=>r==="end"||r==="finish"||r==="prefinish",BRe=r=>r instanceof ArrayBuffer||typeof r=="object"&&r.constructor&&r.constructor.name==="ArrayBuffer"&&r.byteLength>=0,QRe=r=>!Buffer.isBuffer(r)&&ArrayBuffer.isView(r),OB=class{constructor(e,t,i){this.src=e,this.dest=t,this.opts=i,this.ondrain=()=>e[zf](),t.on("drain",this.ondrain)}unpipe(){this.dest.removeListener("drain",this.ondrain)}proxyErrors(){}end(){this.unpipe(),this.opts.end&&this.dest.end()}},_R=class extends OB{unpipe(){this.src.removeListener("error",this.proxyErrors),super.unpipe()}constructor(e,t,i){super(e,t,i),this.proxyErrors=n=>t.emit("error",n),e.on("error",this.proxyErrors)}};b7.exports=class Q7 extends m7{constructor(e){super(),this[TB]=!1,this[FC]=!1,this.pipes=[],this.buffer=[],this[Hi]=e&&e.objectMode||!1,this[Hi]?this[Sn]=null:this[Sn]=e&&e.encoding||null,this[Sn]==="buffer"&&(this[Sn]=null),this[Va]=e&&!!e.async||!1,this[za]=this[Sn]?new E7(this[Sn]):null,this[Ja]=!1,this[el]=!1,this[FB]=!1,this[NB]=!1,this[RC]=null,this.writable=!0,this.readable=!0,this[Ci]=0,this[Gi]=!1}get bufferLength(){return this[Ci]}get encoding(){return this[Sn]}set encoding(e){if(this[Hi])throw new Error("cannot set encoding in objectMode");if(this[Sn]&&e!==this[Sn]&&(this[za]&&this[za].lastNeed||this[Ci]))throw new Error("cannot change encoding");this[Sn]!==e&&(this[za]=e?new E7(e):null,this.buffer.length&&(this.buffer=this.buffer.map(t=>this[za].write(t)))),this[Sn]=e}setEncoding(e){this.encoding=e}get objectMode(){return this[Hi]}set objectMode(e){this[Hi]=this[Hi]||!!e}get async(){return this[Va]}set async(e){this[Va]=this[Va]||!!e}write(e,t,i){if(this[Ja])throw new Error("write after end");if(this[Gi])return this.emit("error",Object.assign(new Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"})),!0;typeof t=="function"&&(i=t,t="utf8"),t||(t="utf8");let n=this[Va]?NC:s=>s();return!this[Hi]&&!Buffer.isBuffer(e)&&(QRe(e)?e=Buffer.from(e.buffer,e.byteOffset,e.byteLength):BRe(e)?e=Buffer.from(e):typeof e!="string"&&(this.objectMode=!0)),this[Hi]?(this.flowing&&this[Ci]!==0&&this[LB](!0),this.flowing?this.emit("data",e):this[zR](e),this[Ci]!==0&&this.emit("readable"),i&&n(i),this.flowing):e.length?(typeof e=="string"&&!(t===this[Sn]&&!this[za].lastNeed)&&(e=Buffer.from(e,t)),Buffer.isBuffer(e)&&this[Sn]&&(e=this[za].write(e)),this.flowing&&this[Ci]!==0&&this[LB](!0),this.flowing?this.emit("data",e):this[zR](e),this[Ci]!==0&&this.emit("readable"),i&&n(i),this.flowing):(this[Ci]!==0&&this.emit("readable"),i&&n(i),this.flowing)}read(e){if(this[Gi])return null;if(this[Ci]===0||e===0||e>this[Ci])return this[Wa](),null;this[Hi]&&(e=null),this.buffer.length>1&&!this[Hi]&&(this.encoding?this.buffer=[this.buffer.join("")]:this.buffer=[Buffer.concat(this.buffer,this[Ci])]);let t=this[I7](e||null,this.buffer[0]);return this[Wa](),t}[I7](e,t){return e===t.length||e===null?this[VR]():(this.buffer[0]=t.slice(e),t=t.slice(0,e),this[Ci]-=e),this.emit("data",t),!this.buffer.length&&!this[Ja]&&this.emit("drain"),t}end(e,t,i){return typeof e=="function"&&(i=e,e=null),typeof t=="function"&&(i=t,t="utf8"),e&&this.write(e,t),i&&this.once("end",i),this[Ja]=!0,this.writable=!1,(this.flowing||!this[FC])&&this[Wa](),this}[zf](){this[Gi]||(this[FC]=!1,this[TB]=!0,this.emit("resume"),this.buffer.length?this[LB]():this[Ja]?this[Wa]():this.emit("drain"))}resume(){return this[zf]()}pause(){this[TB]=!1,this[FC]=!0}get destroyed(){return this[Gi]}get flowing(){return this[TB]}get paused(){return this[FC]}[zR](e){this[Hi]?this[Ci]+=1:this[Ci]+=e.length,this.buffer.push(e)}[VR](){return this.buffer.length&&(this[Hi]?this[Ci]-=1:this[Ci]-=this.buffer[0].length),this.buffer.shift()}[LB](e){do;while(this[y7](this[VR]()));!e&&!this.buffer.length&&!this[Ja]&&this.emit("drain")}[y7](e){return e?(this.emit("data",e),this.flowing):!1}pipe(e,t){if(this[Gi])return;let i=this[el];return t=t||{},e===C7.stdout||e===C7.stderr?t.end=!1:t.end=t.end!==!1,t.proxyErrors=!!t.proxyErrors,i?t.end&&e.end():(this.pipes.push(t.proxyErrors?new _R(this,e,t):new OB(this,e,t)),this[Va]?NC(()=>this[zf]()):this[zf]()),e}unpipe(e){let t=this.pipes.find(i=>i.dest===e);t&&(this.pipes.splice(this.pipes.indexOf(t),1),t.unpipe())}addListener(e,t){return this.on(e,t)}on(e,t){let i=super.on(e,t);return e==="data"&&!this.pipes.length&&!this.flowing?this[zf]():e==="readable"&&this[Ci]!==0?super.emit("readable"):wRe(e)&&this[el]?(super.emit(e),this.removeAllListeners(e)):e==="error"&&this[RC]&&(this[Va]?NC(()=>t.call(this,this[RC])):t.call(this,this[RC])),i}get emittedEnd(){return this[el]}[Wa](){!this[FB]&&!this[el]&&!this[Gi]&&this.buffer.length===0&&this[Ja]&&(this[FB]=!0,this.emit("end"),this.emit("prefinish"),this.emit("finish"),this[NB]&&this.emit("close"),this[FB]=!1)}emit(e,t,...i){if(e!=="error"&&e!=="close"&&e!==Gi&&this[Gi])return;if(e==="data")return t?this[Va]?NC(()=>this[XR](t)):this[XR](t):!1;if(e==="end")return this[w7]();if(e==="close"){if(this[NB]=!0,!this[el]&&!this[Gi])return;let s=super.emit("close");return this.removeAllListeners("close"),s}else if(e==="error"){this[RC]=t;let s=super.emit("error",t);return this[Wa](),s}else if(e==="resume"){let s=super.emit("resume");return this[Wa](),s}else if(e==="finish"||e==="prefinish"){let s=super.emit(e);return this.removeAllListeners(e),s}let n=super.emit(e,t,...i);return this[Wa](),n}[XR](e){for(let i of this.pipes)i.dest.write(e)===!1&&this.pause();let t=super.emit("data",e);return this[Wa](),t}[w7](){this[el]||(this[el]=!0,this.readable=!1,this[Va]?NC(()=>this[ZR]()):this[ZR]())}[ZR](){if(this[za]){let t=this[za].end();if(t){for(let i of this.pipes)i.dest.write(t);super.emit("data",t)}}for(let t of this.pipes)t.end();let e=super.emit("end");return this.removeAllListeners("end"),e}collect(){let e=[];this[Hi]||(e.dataLength=0);let t=this.promise();return this.on("data",i=>{e.push(i),this[Hi]||(e.dataLength+=i.length)}),t.then(()=>e)}concat(){return this[Hi]?Promise.reject(new Error("cannot concat in objectMode")):this.collect().then(e=>this[Hi]?Promise.reject(new Error("cannot concat in objectMode")):this[Sn]?e.join(""):Buffer.concat(e,e.dataLength))}promise(){return new Promise((e,t)=>{this.on(Gi,()=>t(new Error("stream destroyed"))),this.on("error",i=>t(i)),this.on("end",()=>e())})}[IRe](){return{next:()=>{let t=this.read();if(t!==null)return Promise.resolve({done:!1,value:t});if(this[Ja])return Promise.resolve({done:!0});let i=null,n=null,s=c=>{this.removeListener("data",o),this.removeListener("end",a),n(c)},o=c=>{this.removeListener("error",s),this.removeListener("end",a),this.pause(),i({value:c,done:!!this[Ja]})},a=()=>{this.removeListener("error",s),this.removeListener("data",o),i({done:!0})},l=()=>s(new Error("stream destroyed"));return new Promise((c,u)=>{n=u,i=c,this.once(Gi,l),this.once("error",s),this.once("end",a),this.once("data",o)})}}}[yRe](){return{next:()=>{let t=this.read();return{value:t,done:t===null}}}}destroy(e){return this[Gi]?(e?this.emit("error",e):this.emit(Gi),this):(this[Gi]=!0,this.buffer.length=0,this[Ci]=0,typeof this.close=="function"&&!this[NB]&&this.close(),e?this.emit("error",e):this.emit(Gi),this)}static isStream(e){return!!e&&(e instanceof Q7||e instanceof m7||e instanceof ERe&&(typeof e.pipe=="function"||typeof e.write=="function"&&typeof e.end=="function"))}}});var v7=w((Cot,S7)=>{var bRe=J("zlib").constants||{ZLIB_VERNUM:4736};S7.exports=Object.freeze(Object.assign(Object.create(null),{Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_VERSION_ERROR:-6,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,DEFLATE:1,INFLATE:2,GZIP:3,GUNZIP:4,DEFLATERAW:5,INFLATERAW:6,UNZIP:7,BROTLI_DECODE:8,BROTLI_ENCODE:9,Z_MIN_WINDOWBITS:8,Z_MAX_WINDOWBITS:15,Z_DEFAULT_WINDOWBITS:15,Z_MIN_CHUNK:64,Z_MAX_CHUNK:1/0,Z_DEFAULT_CHUNK:16384,Z_MIN_MEMLEVEL:1,Z_MAX_MEMLEVEL:9,Z_DEFAULT_MEMLEVEL:8,Z_MIN_LEVEL:-1,Z_MAX_LEVEL:9,Z_DEFAULT_LEVEL:-1,BROTLI_OPERATION_PROCESS:0,BROTLI_OPERATION_FLUSH:1,BROTLI_OPERATION_FINISH:2,BROTLI_OPERATION_EMIT_METADATA:3,BROTLI_MODE_GENERIC:0,BROTLI_MODE_TEXT:1,BROTLI_MODE_FONT:2,BROTLI_DEFAULT_MODE:0,BROTLI_MIN_QUALITY:0,BROTLI_MAX_QUALITY:11,BROTLI_DEFAULT_QUALITY:11,BROTLI_MIN_WINDOW_BITS:10,BROTLI_MAX_WINDOW_BITS:24,BROTLI_LARGE_MAX_WINDOW_BITS:30,BROTLI_DEFAULT_WINDOW:22,BROTLI_MIN_INPUT_BLOCK_BITS:16,BROTLI_MAX_INPUT_BLOCK_BITS:24,BROTLI_PARAM_MODE:0,BROTLI_PARAM_QUALITY:1,BROTLI_PARAM_LGWIN:2,BROTLI_PARAM_LGBLOCK:3,BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING:4,BROTLI_PARAM_SIZE_HINT:5,BROTLI_PARAM_LARGE_WINDOW:6,BROTLI_PARAM_NPOSTFIX:7,BROTLI_PARAM_NDIRECT:8,BROTLI_DECODER_RESULT_ERROR:0,BROTLI_DECODER_RESULT_SUCCESS:1,BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT:2,BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION:0,BROTLI_DECODER_PARAM_LARGE_WINDOW:1,BROTLI_DECODER_NO_ERROR:0,BROTLI_DECODER_SUCCESS:1,BROTLI_DECODER_NEEDS_MORE_INPUT:2,BROTLI_DECODER_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE:-1,BROTLI_DECODER_ERROR_FORMAT_RESERVED:-2,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE:-3,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET:-4,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME:-5,BROTLI_DECODER_ERROR_FORMAT_CL_SPACE:-6,BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE:-7,BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT:-8,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1:-9,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2:-10,BROTLI_DECODER_ERROR_FORMAT_TRANSFORM:-11,BROTLI_DECODER_ERROR_FORMAT_DICTIONARY:-12,BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS:-13,BROTLI_DECODER_ERROR_FORMAT_PADDING_1:-14,BROTLI_DECODER_ERROR_FORMAT_PADDING_2:-15,BROTLI_DECODER_ERROR_FORMAT_DISTANCE:-16,BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET:-19,BROTLI_DECODER_ERROR_INVALID_ARGUMENTS:-20,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES:-21,BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS:-22,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP:-25,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1:-26,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2:-27,BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES:-30,BROTLI_DECODER_ERROR_UNREACHABLE:-31},bRe))});var hF=w(zn=>{"use strict";var iF=J("assert"),tl=J("buffer").Buffer,D7=J("zlib"),Tc=zn.constants=v7(),SRe=Vf(),x7=tl.concat,Oc=Symbol("_superWrite"),Zf=class extends Error{constructor(e){super("zlib: "+e.message),this.code=e.code,this.errno=e.errno,this.code||(this.code="ZLIB_ERROR"),this.message="zlib: "+e.message,Error.captureStackTrace(this,this.constructor)}get name(){return"ZlibError"}},vRe=Symbol("opts"),LC=Symbol("flushFlag"),P7=Symbol("finishFlushFlag"),fF=Symbol("fullFlushFlag"),cr=Symbol("handle"),MB=Symbol("onError"),Xf=Symbol("sawError"),$R=Symbol("level"),eF=Symbol("strategy"),tF=Symbol("ended"),mot=Symbol("_defaultFullFlush"),KB=class extends SRe{constructor(e,t){if(!e||typeof e!="object")throw new TypeError("invalid options for ZlibBase constructor");super(e),this[Xf]=!1,this[tF]=!1,this[vRe]=e,this[LC]=e.flush,this[P7]=e.finishFlush;try{this[cr]=new D7[t](e)}catch(i){throw new Zf(i)}this[MB]=i=>{this[Xf]||(this[Xf]=!0,this.close(),this.emit("error",i))},this[cr].on("error",i=>this[MB](new Zf(i))),this.once("end",()=>this.close)}close(){this[cr]&&(this[cr].close(),this[cr]=null,this.emit("close"))}reset(){if(!this[Xf])return iF(this[cr],"zlib binding closed"),this[cr].reset()}flush(e){this.ended||(typeof e!="number"&&(e=this[fF]),this.write(Object.assign(tl.alloc(0),{[LC]:e})))}end(e,t,i){return e&&this.write(e,t),this.flush(this[P7]),this[tF]=!0,super.end(null,null,i)}get ended(){return this[tF]}write(e,t,i){if(typeof t=="function"&&(i=t,t="utf8"),typeof e=="string"&&(e=tl.from(e,t)),this[Xf])return;iF(this[cr],"zlib binding closed");let n=this[cr]._handle,s=n.close;n.close=()=>{};let o=this[cr].close;this[cr].close=()=>{},tl.concat=c=>c;let a;try{let c=typeof e[LC]=="number"?e[LC]:this[LC];a=this[cr]._processChunk(e,c),tl.concat=x7}catch(c){tl.concat=x7,this[MB](new Zf(c))}finally{this[cr]&&(this[cr]._handle=n,n.close=s,this[cr].close=o,this[cr].removeAllListeners("error"))}this[cr]&&this[cr].on("error",c=>this[MB](new Zf(c)));let l;if(a)if(Array.isArray(a)&&a.length>0){l=this[Oc](tl.from(a[0]));for(let c=1;c{this.flush(n),s()};try{this[cr].params(e,t)}finally{this[cr].flush=i}this[cr]&&(this[$R]=e,this[eF]=t)}}}},nF=class extends Xa{constructor(e){super(e,"Deflate")}},sF=class extends Xa{constructor(e){super(e,"Inflate")}},rF=Symbol("_portable"),oF=class extends Xa{constructor(e){super(e,"Gzip"),this[rF]=e&&!!e.portable}[Oc](e){return this[rF]?(this[rF]=!1,e[9]=255,super[Oc](e)):super[Oc](e)}},aF=class extends Xa{constructor(e){super(e,"Gunzip")}},AF=class extends Xa{constructor(e){super(e,"DeflateRaw")}},lF=class extends Xa{constructor(e){super(e,"InflateRaw")}},cF=class extends Xa{constructor(e){super(e,"Unzip")}},UB=class extends KB{constructor(e,t){e=e||{},e.flush=e.flush||Tc.BROTLI_OPERATION_PROCESS,e.finishFlush=e.finishFlush||Tc.BROTLI_OPERATION_FINISH,super(e,t),this[fF]=Tc.BROTLI_OPERATION_FLUSH}},uF=class extends UB{constructor(e){super(e,"BrotliCompress")}},gF=class extends UB{constructor(e){super(e,"BrotliDecompress")}};zn.Deflate=nF;zn.Inflate=sF;zn.Gzip=oF;zn.Gunzip=aF;zn.DeflateRaw=AF;zn.InflateRaw=lF;zn.Unzip=cF;typeof D7.BrotliCompress=="function"?(zn.BrotliCompress=uF,zn.BrotliDecompress=gF):zn.BrotliCompress=zn.BrotliDecompress=class{constructor(){throw new Error("Brotli is not supported in this version of Node.js")}}});var _f=w((yot,k7)=>{var xRe=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform;k7.exports=xRe!=="win32"?r=>r:r=>r&&r.replace(/\\/g,"/")});var HB=w((Bot,R7)=>{"use strict";var PRe=Vf(),pF=_f(),dF=Symbol("slurp");R7.exports=class extends PRe{constructor(e,t,i){switch(super(),this.pause(),this.extended=t,this.globalExtended=i,this.header=e,this.startBlockSize=512*Math.ceil(e.size/512),this.blockRemain=this.startBlockSize,this.remain=e.size,this.type=e.type,this.meta=!1,this.ignore=!1,this.type){case"File":case"OldFile":case"Link":case"SymbolicLink":case"CharacterDevice":case"BlockDevice":case"Directory":case"FIFO":case"ContiguousFile":case"GNUDumpDir":break;case"NextFileHasLongLinkpath":case"NextFileHasLongPath":case"OldGnuLongPath":case"GlobalExtendedHeader":case"ExtendedHeader":case"OldExtendedHeader":this.meta=!0;break;default:this.ignore=!0}this.path=pF(e.path),this.mode=e.mode,this.mode&&(this.mode=this.mode&4095),this.uid=e.uid,this.gid=e.gid,this.uname=e.uname,this.gname=e.gname,this.size=e.size,this.mtime=e.mtime,this.atime=e.atime,this.ctime=e.ctime,this.linkpath=pF(e.linkpath),this.uname=e.uname,this.gname=e.gname,t&&this[dF](t),i&&this[dF](i,!0)}write(e){let t=e.length;if(t>this.blockRemain)throw new Error("writing more to entry than is appropriate");let i=this.remain,n=this.blockRemain;return this.remain=Math.max(0,i-t),this.blockRemain=Math.max(0,n-t),this.ignore?!0:i>=t?super.write(e):super.write(e.slice(0,i))}[dF](e,t){for(let i in e)e[i]!==null&&e[i]!==void 0&&!(t&&i==="path")&&(this[i]=i==="path"||i==="linkpath"?pF(e[i]):e[i])}}});var CF=w(GB=>{"use strict";GB.name=new Map([["0","File"],["","OldFile"],["1","Link"],["2","SymbolicLink"],["3","CharacterDevice"],["4","BlockDevice"],["5","Directory"],["6","FIFO"],["7","ContiguousFile"],["g","GlobalExtendedHeader"],["x","ExtendedHeader"],["A","SolarisACL"],["D","GNUDumpDir"],["I","Inode"],["K","NextFileHasLongLinkpath"],["L","NextFileHasLongPath"],["M","ContinuationFile"],["N","OldGnuLongPath"],["S","SparseFile"],["V","TapeVolumeHeader"],["X","OldExtendedHeader"]]);GB.code=new Map(Array.from(GB.name).map(r=>[r[1],r[0]]))});var T7=w((bot,L7)=>{"use strict";var DRe=(r,e)=>{if(Number.isSafeInteger(r))r<0?RRe(r,e):kRe(r,e);else throw Error("cannot encode number outside of javascript safe integer range");return e},kRe=(r,e)=>{e[0]=128;for(var t=e.length;t>1;t--)e[t-1]=r&255,r=Math.floor(r/256)},RRe=(r,e)=>{e[0]=255;var t=!1;r=r*-1;for(var i=e.length;i>1;i--){var n=r&255;r=Math.floor(r/256),t?e[i-1]=F7(n):n===0?e[i-1]=0:(t=!0,e[i-1]=N7(n))}},FRe=r=>{let e=r[0],t=e===128?LRe(r.slice(1,r.length)):e===255?NRe(r):null;if(t===null)throw Error("invalid base256 encoding");if(!Number.isSafeInteger(t))throw Error("parsed number outside of javascript safe integer range");return t},NRe=r=>{for(var e=r.length,t=0,i=!1,n=e-1;n>-1;n--){var s=r[n],o;i?o=F7(s):s===0?o=s:(i=!0,o=N7(s)),o!==0&&(t-=o*Math.pow(256,e-n-1))}return t},LRe=r=>{for(var e=r.length,t=0,i=e-1;i>-1;i--){var n=r[i];n!==0&&(t+=n*Math.pow(256,e-i-1))}return t},F7=r=>(255^r)&255,N7=r=>(255^r)+1&255;L7.exports={encode:DRe,parse:FRe}});var eh=w((Sot,M7)=>{"use strict";var mF=CF(),$f=J("path").posix,O7=T7(),EF=Symbol("slurp"),Vn=Symbol("type"),wF=class{constructor(e,t,i,n){this.cksumValid=!1,this.needPax=!1,this.nullBlock=!1,this.block=null,this.path=null,this.mode=null,this.uid=null,this.gid=null,this.size=null,this.mtime=null,this.cksum=null,this[Vn]="0",this.linkpath=null,this.uname=null,this.gname=null,this.devmaj=0,this.devmin=0,this.atime=null,this.ctime=null,Buffer.isBuffer(e)?this.decode(e,t||0,i,n):e&&this.set(e)}decode(e,t,i,n){if(t||(t=0),!e||!(e.length>=t+512))throw new Error("need 512 bytes for header");if(this.path=Mc(e,t,100),this.mode=rl(e,t+100,8),this.uid=rl(e,t+108,8),this.gid=rl(e,t+116,8),this.size=rl(e,t+124,12),this.mtime=IF(e,t+136,12),this.cksum=rl(e,t+148,12),this[EF](i),this[EF](n,!0),this[Vn]=Mc(e,t+156,1),this[Vn]===""&&(this[Vn]="0"),this[Vn]==="0"&&this.path.substr(-1)==="/"&&(this[Vn]="5"),this[Vn]==="5"&&(this.size=0),this.linkpath=Mc(e,t+157,100),e.slice(t+257,t+265).toString()==="ustar\x0000")if(this.uname=Mc(e,t+265,32),this.gname=Mc(e,t+297,32),this.devmaj=rl(e,t+329,8),this.devmin=rl(e,t+337,8),e[t+475]!==0){let o=Mc(e,t+345,155);this.path=o+"/"+this.path}else{let o=Mc(e,t+345,130);o&&(this.path=o+"/"+this.path),this.atime=IF(e,t+476,12),this.ctime=IF(e,t+488,12)}let s=8*32;for(let o=t;o=t+512))throw new Error("need 512 bytes for header");let i=this.ctime||this.atime?130:155,n=TRe(this.path||"",i),s=n[0],o=n[1];this.needPax=n[2],this.needPax=Kc(e,t,100,s)||this.needPax,this.needPax=il(e,t+100,8,this.mode)||this.needPax,this.needPax=il(e,t+108,8,this.uid)||this.needPax,this.needPax=il(e,t+116,8,this.gid)||this.needPax,this.needPax=il(e,t+124,12,this.size)||this.needPax,this.needPax=yF(e,t+136,12,this.mtime)||this.needPax,e[t+156]=this[Vn].charCodeAt(0),this.needPax=Kc(e,t+157,100,this.linkpath)||this.needPax,e.write("ustar\x0000",t+257,8),this.needPax=Kc(e,t+265,32,this.uname)||this.needPax,this.needPax=Kc(e,t+297,32,this.gname)||this.needPax,this.needPax=il(e,t+329,8,this.devmaj)||this.needPax,this.needPax=il(e,t+337,8,this.devmin)||this.needPax,this.needPax=Kc(e,t+345,i,o)||this.needPax,e[t+475]!==0?this.needPax=Kc(e,t+345,155,o)||this.needPax:(this.needPax=Kc(e,t+345,130,o)||this.needPax,this.needPax=yF(e,t+476,12,this.atime)||this.needPax,this.needPax=yF(e,t+488,12,this.ctime)||this.needPax);let a=8*32;for(let l=t;l{let i=r,n="",s,o=$f.parse(r).root||".";if(Buffer.byteLength(i)<100)s=[i,n,!1];else{n=$f.dirname(i),i=$f.basename(i);do Buffer.byteLength(i)<=100&&Buffer.byteLength(n)<=e?s=[i,n,!1]:Buffer.byteLength(i)>100&&Buffer.byteLength(n)<=e?s=[i.substr(0,100-1),n,!0]:(i=$f.join($f.basename(n),i),n=$f.dirname(n));while(n!==o&&!s);s||(s=[r.substr(0,100-1),"",!0])}return s},Mc=(r,e,t)=>r.slice(e,e+t).toString("utf8").replace(/\0.*/,""),IF=(r,e,t)=>ORe(rl(r,e,t)),ORe=r=>r===null?null:new Date(r*1e3),rl=(r,e,t)=>r[e]&128?O7.parse(r.slice(e,e+t)):KRe(r,e,t),MRe=r=>isNaN(r)?null:r,KRe=(r,e,t)=>MRe(parseInt(r.slice(e,e+t).toString("utf8").replace(/\0.*$/,"").trim(),8)),URe={12:8589934591,8:2097151},il=(r,e,t,i)=>i===null?!1:i>URe[t]||i<0?(O7.encode(i,r.slice(e,e+t)),!0):(HRe(r,e,t,i),!1),HRe=(r,e,t,i)=>r.write(GRe(i,t),e,t,"ascii"),GRe=(r,e)=>YRe(Math.floor(r).toString(8),e),YRe=(r,e)=>(r.length===e-1?r:new Array(e-r.length-1).join("0")+r+" ")+"\0",yF=(r,e,t,i)=>i===null?!1:il(r,e,t,i.getTime()/1e3),jRe=new Array(156).join("\0"),Kc=(r,e,t,i)=>i===null?!1:(r.write(i+jRe,e,t,"utf8"),i.length!==Buffer.byteLength(i)||i.length>t);M7.exports=wF});var YB=w((vot,K7)=>{"use strict";var qRe=eh(),JRe=J("path"),TC=class{constructor(e,t){this.atime=e.atime||null,this.charset=e.charset||null,this.comment=e.comment||null,this.ctime=e.ctime||null,this.gid=e.gid||null,this.gname=e.gname||null,this.linkpath=e.linkpath||null,this.mtime=e.mtime||null,this.path=e.path||null,this.size=e.size||null,this.uid=e.uid||null,this.uname=e.uname||null,this.dev=e.dev||null,this.ino=e.ino||null,this.nlink=e.nlink||null,this.global=t||!1}encode(){let e=this.encodeBody();if(e==="")return null;let t=Buffer.byteLength(e),i=512*Math.ceil(1+t/512),n=Buffer.allocUnsafe(i);for(let s=0;s<512;s++)n[s]=0;new qRe({path:("PaxHeader/"+JRe.basename(this.path)).slice(0,99),mode:this.mode||420,uid:this.uid||null,gid:this.gid||null,size:t,mtime:this.mtime||null,type:this.global?"GlobalExtendedHeader":"ExtendedHeader",linkpath:"",uname:this.uname||"",gname:this.gname||"",devmaj:0,devmin:0,atime:this.atime||null,ctime:this.ctime||null}).encode(n),n.write(e,512,t,"utf8");for(let s=t+512;s=Math.pow(10,s)&&(s+=1),s+n+i}};TC.parse=(r,e,t)=>new TC(WRe(zRe(r),e),t);var WRe=(r,e)=>e?Object.keys(r).reduce((t,i)=>(t[i]=r[i],t),e):r,zRe=r=>r.replace(/\n$/,"").split(` +`).reduce(VRe,Object.create(null)),VRe=(r,e)=>{let t=parseInt(e,10);if(t!==Buffer.byteLength(e)+1)return r;e=e.substr((t+" ").length);let i=e.split("="),n=i.shift().replace(/^SCHILY\.(dev|ino|nlink)/,"$1");if(!n)return r;let s=i.join("=");return r[n]=/^([A-Z]+\.)?([mac]|birth|creation)time$/.test(n)?new Date(s*1e3):/^[0-9]+$/.test(s)?+s:s,r};K7.exports=TC});var th=w((xot,U7)=>{U7.exports=r=>{let e=r.length-1,t=-1;for(;e>-1&&r.charAt(e)==="/";)t=e,e--;return t===-1?r:r.slice(0,t)}});var jB=w((Pot,H7)=>{"use strict";H7.exports=r=>class extends r{warn(e,t,i={}){this.file&&(i.file=this.file),this.cwd&&(i.cwd=this.cwd),i.code=t instanceof Error&&t.code||e,i.tarCode=e,!this.strict&&i.recoverable!==!1?(t instanceof Error&&(i=Object.assign(t,i),t=t.message),this.emit("warn",i.tarCode,t,i)):t instanceof Error?this.emit("error",Object.assign(t,i)):this.emit("error",Object.assign(new Error(`${e}: ${t}`),i))}}});var QF=w((kot,G7)=>{"use strict";var qB=["|","<",">","?",":"],BF=qB.map(r=>String.fromCharCode(61440+r.charCodeAt(0))),XRe=new Map(qB.map((r,e)=>[r,BF[e]])),ZRe=new Map(BF.map((r,e)=>[r,qB[e]]));G7.exports={encode:r=>qB.reduce((e,t)=>e.split(t).join(XRe.get(t)),r),decode:r=>BF.reduce((e,t)=>e.split(t).join(ZRe.get(t)),r)}});var bF=w((Rot,j7)=>{var{isAbsolute:_Re,parse:Y7}=J("path").win32;j7.exports=r=>{let e="",t=Y7(r);for(;_Re(r)||t.root;){let i=r.charAt(0)==="/"&&r.slice(0,4)!=="//?/"?"/":t.root;r=r.substr(i.length),e+=i,t=Y7(r)}return[e,r]}});var J7=w((Fot,q7)=>{"use strict";q7.exports=(r,e,t)=>(r&=4095,t&&(r=(r|384)&-19),e&&(r&256&&(r|=64),r&32&&(r|=8),r&4&&(r|=1)),r)});var LF=w((Tot,o9)=>{"use strict";var $7=Vf(),e9=YB(),t9=eh(),Zo=J("fs"),W7=J("path"),Xo=_f(),$Re=th(),r9=(r,e)=>e?(r=Xo(r).replace(/^\.(\/|$)/,""),$Re(e)+"/"+r):Xo(r),eFe=16*1024*1024,z7=Symbol("process"),V7=Symbol("file"),X7=Symbol("directory"),vF=Symbol("symlink"),Z7=Symbol("hardlink"),OC=Symbol("header"),JB=Symbol("read"),xF=Symbol("lstat"),WB=Symbol("onlstat"),PF=Symbol("onread"),DF=Symbol("onreadlink"),kF=Symbol("openfile"),RF=Symbol("onopenfile"),nl=Symbol("close"),zB=Symbol("mode"),FF=Symbol("awaitDrain"),SF=Symbol("ondrain"),_o=Symbol("prefix"),_7=Symbol("hadError"),i9=jB(),tFe=QF(),n9=bF(),s9=J7(),VB=i9(class extends $7{constructor(e,t){if(t=t||{},super(t),typeof e!="string")throw new TypeError("path is required");this.path=Xo(e),this.portable=!!t.portable,this.myuid=process.getuid&&process.getuid()||0,this.myuser=process.env.USER||"",this.maxReadSize=t.maxReadSize||eFe,this.linkCache=t.linkCache||new Map,this.statCache=t.statCache||new Map,this.preservePaths=!!t.preservePaths,this.cwd=Xo(t.cwd||process.cwd()),this.strict=!!t.strict,this.noPax=!!t.noPax,this.noMtime=!!t.noMtime,this.mtime=t.mtime||null,this.prefix=t.prefix?Xo(t.prefix):null,this.fd=null,this.blockLen=null,this.blockRemain=null,this.buf=null,this.offset=null,this.length=null,this.pos=null,this.remain=null,typeof t.onwarn=="function"&&this.on("warn",t.onwarn);let i=!1;if(!this.preservePaths){let[n,s]=n9(this.path);n&&(this.path=s,i=n)}this.win32=!!t.win32||process.platform==="win32",this.win32&&(this.path=tFe.decode(this.path.replace(/\\/g,"/")),e=e.replace(/\\/g,"/")),this.absolute=Xo(t.absolute||W7.resolve(this.cwd,e)),this.path===""&&(this.path="./"),i&&this.warn("TAR_ENTRY_INFO",`stripping ${i} from absolute path`,{entry:this,path:i+this.path}),this.statCache.has(this.absolute)?this[WB](this.statCache.get(this.absolute)):this[xF]()}emit(e,...t){return e==="error"&&(this[_7]=!0),super.emit(e,...t)}[xF](){Zo.lstat(this.absolute,(e,t)=>{if(e)return this.emit("error",e);this[WB](t)})}[WB](e){this.statCache.set(this.absolute,e),this.stat=e,e.isFile()||(e.size=0),this.type=iFe(e),this.emit("stat",e),this[z7]()}[z7](){switch(this.type){case"File":return this[V7]();case"Directory":return this[X7]();case"SymbolicLink":return this[vF]();default:return this.end()}}[zB](e){return s9(e,this.type==="Directory",this.portable)}[_o](e){return r9(e,this.prefix)}[OC](){this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.header=new t9({path:this[_o](this.path),linkpath:this.type==="Link"?this[_o](this.linkpath):this.linkpath,mode:this[zB](this.stat.mode),uid:this.portable?null:this.stat.uid,gid:this.portable?null:this.stat.gid,size:this.stat.size,mtime:this.noMtime?null:this.mtime||this.stat.mtime,type:this.type,uname:this.portable?null:this.stat.uid===this.myuid?this.myuser:"",atime:this.portable?null:this.stat.atime,ctime:this.portable?null:this.stat.ctime}),this.header.encode()&&!this.noPax&&super.write(new e9({atime:this.portable?null:this.header.atime,ctime:this.portable?null:this.header.ctime,gid:this.portable?null:this.header.gid,mtime:this.noMtime?null:this.mtime||this.header.mtime,path:this[_o](this.path),linkpath:this.type==="Link"?this[_o](this.linkpath):this.linkpath,size:this.header.size,uid:this.portable?null:this.header.uid,uname:this.portable?null:this.header.uname,dev:this.portable?null:this.stat.dev,ino:this.portable?null:this.stat.ino,nlink:this.portable?null:this.stat.nlink}).encode()),super.write(this.header.block)}[X7](){this.path.substr(-1)!=="/"&&(this.path+="/"),this.stat.size=0,this[OC](),this.end()}[vF](){Zo.readlink(this.absolute,(e,t)=>{if(e)return this.emit("error",e);this[DF](t)})}[DF](e){this.linkpath=Xo(e),this[OC](),this.end()}[Z7](e){this.type="Link",this.linkpath=Xo(W7.relative(this.cwd,e)),this.stat.size=0,this[OC](),this.end()}[V7](){if(this.stat.nlink>1){let e=this.stat.dev+":"+this.stat.ino;if(this.linkCache.has(e)){let t=this.linkCache.get(e);if(t.indexOf(this.cwd)===0)return this[Z7](t)}this.linkCache.set(e,this.absolute)}if(this[OC](),this.stat.size===0)return this.end();this[kF]()}[kF](){Zo.open(this.absolute,"r",(e,t)=>{if(e)return this.emit("error",e);this[RF](t)})}[RF](e){if(this.fd=e,this[_7])return this[nl]();this.blockLen=512*Math.ceil(this.stat.size/512),this.blockRemain=this.blockLen;let t=Math.min(this.blockLen,this.maxReadSize);this.buf=Buffer.allocUnsafe(t),this.offset=0,this.pos=0,this.remain=this.stat.size,this.length=this.buf.length,this[JB]()}[JB](){let{fd:e,buf:t,offset:i,length:n,pos:s}=this;Zo.read(e,t,i,n,s,(o,a)=>{if(o)return this[nl](()=>this.emit("error",o));this[PF](a)})}[nl](e){Zo.close(this.fd,e)}[PF](e){if(e<=0&&this.remain>0){let n=new Error("encountered unexpected EOF");return n.path=this.absolute,n.syscall="read",n.code="EOF",this[nl](()=>this.emit("error",n))}if(e>this.remain){let n=new Error("did not encounter expected EOF");return n.path=this.absolute,n.syscall="read",n.code="EOF",this[nl](()=>this.emit("error",n))}if(e===this.remain)for(let n=e;nthis[SF]())}[FF](e){this.once("drain",e)}write(e){if(this.blockRemaine?this.emit("error",e):this.end());this.offset>=this.length&&(this.buf=Buffer.allocUnsafe(Math.min(this.blockRemain,this.buf.length)),this.offset=0),this.length=this.buf.length-this.offset,this[JB]()}}),NF=class extends VB{[xF](){this[WB](Zo.lstatSync(this.absolute))}[vF](){this[DF](Zo.readlinkSync(this.absolute))}[kF](){this[RF](Zo.openSync(this.absolute,"r"))}[JB](){let e=!0;try{let{fd:t,buf:i,offset:n,length:s,pos:o}=this,a=Zo.readSync(t,i,n,s,o);this[PF](a),e=!1}finally{if(e)try{this[nl](()=>{})}catch{}}}[FF](e){e()}[nl](e){Zo.closeSync(this.fd),e()}},rFe=i9(class extends $7{constructor(e,t){t=t||{},super(t),this.preservePaths=!!t.preservePaths,this.portable=!!t.portable,this.strict=!!t.strict,this.noPax=!!t.noPax,this.noMtime=!!t.noMtime,this.readEntry=e,this.type=e.type,this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.prefix=t.prefix||null,this.path=Xo(e.path),this.mode=this[zB](e.mode),this.uid=this.portable?null:e.uid,this.gid=this.portable?null:e.gid,this.uname=this.portable?null:e.uname,this.gname=this.portable?null:e.gname,this.size=e.size,this.mtime=this.noMtime?null:t.mtime||e.mtime,this.atime=this.portable?null:e.atime,this.ctime=this.portable?null:e.ctime,this.linkpath=Xo(e.linkpath),typeof t.onwarn=="function"&&this.on("warn",t.onwarn);let i=!1;if(!this.preservePaths){let[n,s]=n9(this.path);n&&(this.path=s,i=n)}this.remain=e.size,this.blockRemain=e.startBlockSize,this.header=new t9({path:this[_o](this.path),linkpath:this.type==="Link"?this[_o](this.linkpath):this.linkpath,mode:this.mode,uid:this.portable?null:this.uid,gid:this.portable?null:this.gid,size:this.size,mtime:this.noMtime?null:this.mtime,type:this.type,uname:this.portable?null:this.uname,atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime}),i&&this.warn("TAR_ENTRY_INFO",`stripping ${i} from absolute path`,{entry:this,path:i+this.path}),this.header.encode()&&!this.noPax&&super.write(new e9({atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime,gid:this.portable?null:this.gid,mtime:this.noMtime?null:this.mtime,path:this[_o](this.path),linkpath:this.type==="Link"?this[_o](this.linkpath):this.linkpath,size:this.size,uid:this.portable?null:this.uid,uname:this.portable?null:this.uname,dev:this.portable?null:this.readEntry.dev,ino:this.portable?null:this.readEntry.ino,nlink:this.portable?null:this.readEntry.nlink}).encode()),super.write(this.header.block),e.pipe(this)}[_o](e){return r9(e,this.prefix)}[zB](e){return s9(e,this.type==="Directory",this.portable)}write(e){let t=e.length;if(t>this.blockRemain)throw new Error("writing more to entry than is appropriate");return this.blockRemain-=t,super.write(e)}end(){return this.blockRemain&&super.write(Buffer.alloc(this.blockRemain)),super.end()}});VB.Sync=NF;VB.Tar=rFe;var iFe=r=>r.isFile()?"File":r.isDirectory()?"Directory":r.isSymbolicLink()?"SymbolicLink":"Unsupported";o9.exports=VB});var n0=w((Mot,f9)=>{"use strict";var r0=class{constructor(e,t){this.path=e||"./",this.absolute=t,this.entry=null,this.stat=null,this.readdir=null,this.pending=!1,this.ignore=!1,this.piped=!1}},nFe=Vf(),sFe=hF(),oFe=HB(),jF=LF(),aFe=jF.Sync,AFe=jF.Tar,lFe=YI(),a9=Buffer.alloc(1024),_B=Symbol("onStat"),XB=Symbol("ended"),$o=Symbol("queue"),rh=Symbol("current"),Uc=Symbol("process"),ZB=Symbol("processing"),A9=Symbol("processJob"),ea=Symbol("jobs"),TF=Symbol("jobDone"),$B=Symbol("addFSEntry"),l9=Symbol("addTarEntry"),UF=Symbol("stat"),HF=Symbol("readdir"),e0=Symbol("onreaddir"),t0=Symbol("pipe"),c9=Symbol("entry"),OF=Symbol("entryOpt"),GF=Symbol("writeEntryClass"),g9=Symbol("write"),MF=Symbol("ondrain"),i0=J("fs"),u9=J("path"),cFe=jB(),KF=_f(),qF=cFe(class extends nFe{constructor(e){super(e),e=e||Object.create(null),this.opt=e,this.file=e.file||"",this.cwd=e.cwd||process.cwd(),this.maxReadSize=e.maxReadSize,this.preservePaths=!!e.preservePaths,this.strict=!!e.strict,this.noPax=!!e.noPax,this.prefix=KF(e.prefix||""),this.linkCache=e.linkCache||new Map,this.statCache=e.statCache||new Map,this.readdirCache=e.readdirCache||new Map,this[GF]=jF,typeof e.onwarn=="function"&&this.on("warn",e.onwarn),this.portable=!!e.portable,this.zip=null,e.gzip?(typeof e.gzip!="object"&&(e.gzip={}),this.portable&&(e.gzip.portable=!0),this.zip=new sFe.Gzip(e.gzip),this.zip.on("data",t=>super.write(t)),this.zip.on("end",t=>super.end()),this.zip.on("drain",t=>this[MF]()),this.on("resume",t=>this.zip.resume())):this.on("drain",this[MF]),this.noDirRecurse=!!e.noDirRecurse,this.follow=!!e.follow,this.noMtime=!!e.noMtime,this.mtime=e.mtime||null,this.filter=typeof e.filter=="function"?e.filter:t=>!0,this[$o]=new lFe,this[ea]=0,this.jobs=+e.jobs||4,this[ZB]=!1,this[XB]=!1}[g9](e){return super.write(e)}add(e){return this.write(e),this}end(e){return e&&this.write(e),this[XB]=!0,this[Uc](),this}write(e){if(this[XB])throw new Error("write after end");return e instanceof oFe?this[l9](e):this[$B](e),this.flowing}[l9](e){let t=KF(u9.resolve(this.cwd,e.path));if(!this.filter(e.path,e))e.resume();else{let i=new r0(e.path,t,!1);i.entry=new AFe(e,this[OF](i)),i.entry.on("end",n=>this[TF](i)),this[ea]+=1,this[$o].push(i)}this[Uc]()}[$B](e){let t=KF(u9.resolve(this.cwd,e));this[$o].push(new r0(e,t)),this[Uc]()}[UF](e){e.pending=!0,this[ea]+=1;let t=this.follow?"stat":"lstat";i0[t](e.absolute,(i,n)=>{e.pending=!1,this[ea]-=1,i?this.emit("error",i):this[_B](e,n)})}[_B](e,t){this.statCache.set(e.absolute,t),e.stat=t,this.filter(e.path,t)||(e.ignore=!0),this[Uc]()}[HF](e){e.pending=!0,this[ea]+=1,i0.readdir(e.absolute,(t,i)=>{if(e.pending=!1,this[ea]-=1,t)return this.emit("error",t);this[e0](e,i)})}[e0](e,t){this.readdirCache.set(e.absolute,t),e.readdir=t,this[Uc]()}[Uc](){if(!this[ZB]){this[ZB]=!0;for(let e=this[$o].head;e!==null&&this[ea]this.warn(t,i,n),noPax:this.noPax,cwd:this.cwd,absolute:e.absolute,preservePaths:this.preservePaths,maxReadSize:this.maxReadSize,strict:this.strict,portable:this.portable,linkCache:this.linkCache,statCache:this.statCache,noMtime:this.noMtime,mtime:this.mtime,prefix:this.prefix}}[c9](e){this[ea]+=1;try{return new this[GF](e.path,this[OF](e)).on("end",()=>this[TF](e)).on("error",t=>this.emit("error",t))}catch(t){this.emit("error",t)}}[MF](){this[rh]&&this[rh].entry&&this[rh].entry.resume()}[t0](e){e.piped=!0,e.readdir&&e.readdir.forEach(n=>{let s=e.path,o=s==="./"?"":s.replace(/\/*$/,"/");this[$B](o+n)});let t=e.entry,i=this.zip;i?t.on("data",n=>{i.write(n)||t.pause()}):t.on("data",n=>{super.write(n)||t.pause()})}pause(){return this.zip&&this.zip.pause(),super.pause()}}),YF=class extends qF{constructor(e){super(e),this[GF]=aFe}pause(){}resume(){}[UF](e){let t=this.follow?"statSync":"lstatSync";this[_B](e,i0[t](e.absolute))}[HF](e,t){this[e0](e,i0.readdirSync(e.absolute))}[t0](e){let t=e.entry,i=this.zip;e.readdir&&e.readdir.forEach(n=>{let s=e.path,o=s==="./"?"":s.replace(/\/*$/,"/");this[$B](o+n)}),i?t.on("data",n=>{i.write(n)}):t.on("data",n=>{super[g9](n)})}};qF.Sync=YF;f9.exports=qF});var ch=w(KC=>{"use strict";var uFe=Vf(),gFe=J("events").EventEmitter,vn=J("fs"),zF=vn.writev;if(!zF){let r=process.binding("fs"),e=r.FSReqWrap||r.FSReqCallback;zF=(t,i,n,s)=>{let o=(l,c)=>s(l,c,i),a=new e;a.oncomplete=o,r.writeBuffers(t,i,n,a)}}var Ah=Symbol("_autoClose"),oo=Symbol("_close"),MC=Symbol("_ended"),rr=Symbol("_fd"),h9=Symbol("_finished"),ol=Symbol("_flags"),JF=Symbol("_flush"),VF=Symbol("_handleChunk"),XF=Symbol("_makeBuf"),l0=Symbol("_mode"),s0=Symbol("_needDrain"),oh=Symbol("_onerror"),lh=Symbol("_onopen"),WF=Symbol("_onread"),nh=Symbol("_onwrite"),al=Symbol("_open"),Za=Symbol("_path"),Hc=Symbol("_pos"),ta=Symbol("_queue"),sh=Symbol("_read"),p9=Symbol("_readSize"),sl=Symbol("_reading"),o0=Symbol("_remain"),d9=Symbol("_size"),a0=Symbol("_write"),ih=Symbol("_writing"),A0=Symbol("_defaultFlag"),ah=Symbol("_errored"),c0=class extends uFe{constructor(e,t){if(t=t||{},super(t),this.readable=!0,this.writable=!1,typeof e!="string")throw new TypeError("path must be a string");this[ah]=!1,this[rr]=typeof t.fd=="number"?t.fd:null,this[Za]=e,this[p9]=t.readSize||16*1024*1024,this[sl]=!1,this[d9]=typeof t.size=="number"?t.size:1/0,this[o0]=this[d9],this[Ah]=typeof t.autoClose=="boolean"?t.autoClose:!0,typeof this[rr]=="number"?this[sh]():this[al]()}get fd(){return this[rr]}get path(){return this[Za]}write(){throw new TypeError("this is a readable stream")}end(){throw new TypeError("this is a readable stream")}[al](){vn.open(this[Za],"r",(e,t)=>this[lh](e,t))}[lh](e,t){e?this[oh](e):(this[rr]=t,this.emit("open",t),this[sh]())}[XF](){return Buffer.allocUnsafe(Math.min(this[p9],this[o0]))}[sh](){if(!this[sl]){this[sl]=!0;let e=this[XF]();if(e.length===0)return process.nextTick(()=>this[WF](null,0,e));vn.read(this[rr],e,0,e.length,null,(t,i,n)=>this[WF](t,i,n))}}[WF](e,t,i){this[sl]=!1,e?this[oh](e):this[VF](t,i)&&this[sh]()}[oo](){if(this[Ah]&&typeof this[rr]=="number"){let e=this[rr];this[rr]=null,vn.close(e,t=>t?this.emit("error",t):this.emit("close"))}}[oh](e){this[sl]=!0,this[oo](),this.emit("error",e)}[VF](e,t){let i=!1;return this[o0]-=e,e>0&&(i=super.write(ethis[lh](e,t))}[lh](e,t){this[A0]&&this[ol]==="r+"&&e&&e.code==="ENOENT"?(this[ol]="w",this[al]()):e?this[oh](e):(this[rr]=t,this.emit("open",t),this[JF]())}end(e,t){return e&&this.write(e,t),this[MC]=!0,!this[ih]&&!this[ta].length&&typeof this[rr]=="number"&&this[nh](null,0),this}write(e,t){return typeof e=="string"&&(e=Buffer.from(e,t)),this[MC]?(this.emit("error",new Error("write() after end()")),!1):this[rr]===null||this[ih]||this[ta].length?(this[ta].push(e),this[s0]=!0,!1):(this[ih]=!0,this[a0](e),!0)}[a0](e){vn.write(this[rr],e,0,e.length,this[Hc],(t,i)=>this[nh](t,i))}[nh](e,t){e?this[oh](e):(this[Hc]!==null&&(this[Hc]+=t),this[ta].length?this[JF]():(this[ih]=!1,this[MC]&&!this[h9]?(this[h9]=!0,this[oo](),this.emit("finish")):this[s0]&&(this[s0]=!1,this.emit("drain"))))}[JF](){if(this[ta].length===0)this[MC]&&this[nh](null,0);else if(this[ta].length===1)this[a0](this[ta].pop());else{let e=this[ta];this[ta]=[],zF(this[rr],e,this[Hc],(t,i)=>this[nh](t,i))}}[oo](){if(this[Ah]&&typeof this[rr]=="number"){let e=this[rr];this[rr]=null,vn.close(e,t=>t?this.emit("error",t):this.emit("close"))}}},_F=class extends u0{[al](){let e;if(this[A0]&&this[ol]==="r+")try{e=vn.openSync(this[Za],this[ol],this[l0])}catch(t){if(t.code==="ENOENT")return this[ol]="w",this[al]();throw t}else e=vn.openSync(this[Za],this[ol],this[l0]);this[lh](null,e)}[oo](){if(this[Ah]&&typeof this[rr]=="number"){let e=this[rr];this[rr]=null,vn.closeSync(e),this.emit("close")}}[a0](e){let t=!0;try{this[nh](null,vn.writeSync(this[rr],e,0,e.length,this[Hc])),t=!1}finally{if(t)try{this[oo]()}catch{}}}};KC.ReadStream=c0;KC.ReadStreamSync=ZF;KC.WriteStream=u0;KC.WriteStreamSync=_F});var m0=w((Hot,B9)=>{"use strict";var fFe=jB(),hFe=eh(),pFe=J("events"),dFe=YI(),CFe=1024*1024,mFe=HB(),C9=YB(),EFe=hF(),$F=Buffer.from([31,139]),Ss=Symbol("state"),Gc=Symbol("writeEntry"),_a=Symbol("readEntry"),eN=Symbol("nextEntry"),m9=Symbol("processEntry"),vs=Symbol("extendedHeader"),UC=Symbol("globalExtendedHeader"),Al=Symbol("meta"),E9=Symbol("emitMeta"),Er=Symbol("buffer"),$a=Symbol("queue"),Yc=Symbol("ended"),I9=Symbol("emittedEnd"),jc=Symbol("emit"),xn=Symbol("unzip"),g0=Symbol("consumeChunk"),f0=Symbol("consumeChunkSub"),tN=Symbol("consumeBody"),y9=Symbol("consumeMeta"),w9=Symbol("consumeHeader"),h0=Symbol("consuming"),rN=Symbol("bufferConcat"),iN=Symbol("maybeEnd"),HC=Symbol("writing"),ll=Symbol("aborted"),p0=Symbol("onDone"),qc=Symbol("sawValidEntry"),d0=Symbol("sawNullBlock"),C0=Symbol("sawEOF"),IFe=r=>!0;B9.exports=fFe(class extends pFe{constructor(e){e=e||{},super(e),this.file=e.file||"",this[qc]=null,this.on(p0,t=>{(this[Ss]==="begin"||this[qc]===!1)&&this.warn("TAR_BAD_ARCHIVE","Unrecognized archive format")}),e.ondone?this.on(p0,e.ondone):this.on(p0,t=>{this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close")}),this.strict=!!e.strict,this.maxMetaEntrySize=e.maxMetaEntrySize||CFe,this.filter=typeof e.filter=="function"?e.filter:IFe,this.writable=!0,this.readable=!1,this[$a]=new dFe,this[Er]=null,this[_a]=null,this[Gc]=null,this[Ss]="begin",this[Al]="",this[vs]=null,this[UC]=null,this[Yc]=!1,this[xn]=null,this[ll]=!1,this[d0]=!1,this[C0]=!1,typeof e.onwarn=="function"&&this.on("warn",e.onwarn),typeof e.onentry=="function"&&this.on("entry",e.onentry)}[w9](e,t){this[qc]===null&&(this[qc]=!1);let i;try{i=new hFe(e,t,this[vs],this[UC])}catch(n){return this.warn("TAR_ENTRY_INVALID",n)}if(i.nullBlock)this[d0]?(this[C0]=!0,this[Ss]==="begin"&&(this[Ss]="header"),this[jc]("eof")):(this[d0]=!0,this[jc]("nullBlock"));else if(this[d0]=!1,!i.cksumValid)this.warn("TAR_ENTRY_INVALID","checksum failure",{header:i});else if(!i.path)this.warn("TAR_ENTRY_INVALID","path is required",{header:i});else{let n=i.type;if(/^(Symbolic)?Link$/.test(n)&&!i.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath required",{header:i});else if(!/^(Symbolic)?Link$/.test(n)&&i.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath forbidden",{header:i});else{let s=this[Gc]=new mFe(i,this[vs],this[UC]);if(!this[qc])if(s.remain){let o=()=>{s.invalid||(this[qc]=!0)};s.on("end",o)}else this[qc]=!0;s.meta?s.size>this.maxMetaEntrySize?(s.ignore=!0,this[jc]("ignoredEntry",s),this[Ss]="ignore",s.resume()):s.size>0&&(this[Al]="",s.on("data",o=>this[Al]+=o),this[Ss]="meta"):(this[vs]=null,s.ignore=s.ignore||!this.filter(s.path,s),s.ignore?(this[jc]("ignoredEntry",s),this[Ss]=s.remain?"ignore":"header",s.resume()):(s.remain?this[Ss]="body":(this[Ss]="header",s.end()),this[_a]?this[$a].push(s):(this[$a].push(s),this[eN]())))}}}[m9](e){let t=!0;return e?Array.isArray(e)?this.emit.apply(this,e):(this[_a]=e,this.emit("entry",e),e.emittedEnd||(e.on("end",i=>this[eN]()),t=!1)):(this[_a]=null,t=!1),t}[eN](){do;while(this[m9](this[$a].shift()));if(!this[$a].length){let e=this[_a];!e||e.flowing||e.size===e.remain?this[HC]||this.emit("drain"):e.once("drain",i=>this.emit("drain"))}}[tN](e,t){let i=this[Gc],n=i.blockRemain,s=n>=e.length&&t===0?e:e.slice(t,t+n);return i.write(s),i.blockRemain||(this[Ss]="header",this[Gc]=null,i.end()),s.length}[y9](e,t){let i=this[Gc],n=this[tN](e,t);return this[Gc]||this[E9](i),n}[jc](e,t,i){!this[$a].length&&!this[_a]?this.emit(e,t,i):this[$a].push([e,t,i])}[E9](e){switch(this[jc]("meta",this[Al]),e.type){case"ExtendedHeader":case"OldExtendedHeader":this[vs]=C9.parse(this[Al],this[vs],!1);break;case"GlobalExtendedHeader":this[UC]=C9.parse(this[Al],this[UC],!0);break;case"NextFileHasLongPath":case"OldGnuLongPath":this[vs]=this[vs]||Object.create(null),this[vs].path=this[Al].replace(/\0.*/,"");break;case"NextFileHasLongLinkpath":this[vs]=this[vs]||Object.create(null),this[vs].linkpath=this[Al].replace(/\0.*/,"");break;default:throw new Error("unknown meta: "+e.type)}}abort(e){this[ll]=!0,this.emit("abort",e),this.warn("TAR_ABORT",e,{recoverable:!1})}write(e){if(this[ll])return;if(this[xn]===null&&e){if(this[Er]&&(e=Buffer.concat([this[Er],e]),this[Er]=null),e.length<$F.length)return this[Er]=e,!0;for(let i=0;this[xn]===null&&i<$F.length;i++)e[i]!==$F[i]&&(this[xn]=!1);if(this[xn]===null){let i=this[Yc];this[Yc]=!1,this[xn]=new EFe.Unzip,this[xn].on("data",s=>this[g0](s)),this[xn].on("error",s=>this.abort(s)),this[xn].on("end",s=>{this[Yc]=!0,this[g0]()}),this[HC]=!0;let n=this[xn][i?"end":"write"](e);return this[HC]=!1,n}}this[HC]=!0,this[xn]?this[xn].write(e):this[g0](e),this[HC]=!1;let t=this[$a].length?!1:this[_a]?this[_a].flowing:!0;return!t&&!this[$a].length&&this[_a].once("drain",i=>this.emit("drain")),t}[rN](e){e&&!this[ll]&&(this[Er]=this[Er]?Buffer.concat([this[Er],e]):e)}[iN](){if(this[Yc]&&!this[I9]&&!this[ll]&&!this[h0]){this[I9]=!0;let e=this[Gc];if(e&&e.blockRemain){let t=this[Er]?this[Er].length:0;this.warn("TAR_BAD_ARCHIVE",`Truncated input (needed ${e.blockRemain} more bytes, only ${t} available)`,{entry:e}),this[Er]&&e.write(this[Er]),e.end()}this[jc](p0)}}[g0](e){if(this[h0])this[rN](e);else if(!e&&!this[Er])this[iN]();else{if(this[h0]=!0,this[Er]){this[rN](e);let t=this[Er];this[Er]=null,this[f0](t)}else this[f0](e);for(;this[Er]&&this[Er].length>=512&&!this[ll]&&!this[C0];){let t=this[Er];this[Er]=null,this[f0](t)}this[h0]=!1}(!this[Er]||this[Yc])&&this[iN]()}[f0](e){let t=0,i=e.length;for(;t+512<=i&&!this[ll]&&!this[C0];)switch(this[Ss]){case"begin":case"header":this[w9](e,t),t+=512;break;case"ignore":case"body":t+=this[tN](e,t);break;case"meta":t+=this[y9](e,t);break;default:throw new Error("invalid state: "+this[Ss])}t{"use strict";var yFe=Wf(),b9=m0(),uh=J("fs"),wFe=ch(),Q9=J("path"),nN=th();v9.exports=(r,e,t)=>{typeof r=="function"?(t=r,e=null,r={}):Array.isArray(r)&&(e=r,r={}),typeof e=="function"&&(t=e,e=null),e?e=Array.from(e):e=[];let i=yFe(r);if(i.sync&&typeof t=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof t=="function")throw new TypeError("callback only supported with file option");return e.length&&QFe(i,e),i.noResume||BFe(i),i.file&&i.sync?bFe(i):i.file?SFe(i,t):S9(i)};var BFe=r=>{let e=r.onentry;r.onentry=e?t=>{e(t),t.resume()}:t=>t.resume()},QFe=(r,e)=>{let t=new Map(e.map(s=>[nN(s),!0])),i=r.filter,n=(s,o)=>{let a=o||Q9.parse(s).root||".",l=s===a?!1:t.has(s)?t.get(s):n(Q9.dirname(s),a);return t.set(s,l),l};r.filter=i?(s,o)=>i(s,o)&&n(nN(s)):s=>n(nN(s))},bFe=r=>{let e=S9(r),t=r.file,i=!0,n;try{let s=uh.statSync(t),o=r.maxReadSize||16*1024*1024;if(s.size{let t=new b9(r),i=r.maxReadSize||16*1024*1024,n=r.file,s=new Promise((o,a)=>{t.on("error",a),t.on("end",o),uh.stat(n,(l,c)=>{if(l)a(l);else{let u=new wFe.ReadStream(n,{readSize:i,size:c.size});u.on("error",a),u.pipe(t)}})});return e?s.then(e,e):s},S9=r=>new b9(r)});var F9=w((Yot,R9)=>{"use strict";var vFe=Wf(),I0=n0(),x9=ch(),P9=E0(),D9=J("path");R9.exports=(r,e,t)=>{if(typeof e=="function"&&(t=e),Array.isArray(r)&&(e=r,r={}),!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");e=Array.from(e);let i=vFe(r);if(i.sync&&typeof t=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof t=="function")throw new TypeError("callback only supported with file option");return i.file&&i.sync?xFe(i,e):i.file?PFe(i,e,t):i.sync?DFe(i,e):kFe(i,e)};var xFe=(r,e)=>{let t=new I0.Sync(r),i=new x9.WriteStreamSync(r.file,{mode:r.mode||438});t.pipe(i),k9(t,e)},PFe=(r,e,t)=>{let i=new I0(r),n=new x9.WriteStream(r.file,{mode:r.mode||438});i.pipe(n);let s=new Promise((o,a)=>{n.on("error",a),n.on("close",o),i.on("error",a)});return sN(i,e),t?s.then(t,t):s},k9=(r,e)=>{e.forEach(t=>{t.charAt(0)==="@"?P9({file:D9.resolve(r.cwd,t.substr(1)),sync:!0,noResume:!0,onentry:i=>r.add(i)}):r.add(t)}),r.end()},sN=(r,e)=>{for(;e.length;){let t=e.shift();if(t.charAt(0)==="@")return P9({file:D9.resolve(r.cwd,t.substr(1)),noResume:!0,onentry:i=>r.add(i)}).then(i=>sN(r,e));r.add(t)}r.end()},DFe=(r,e)=>{let t=new I0.Sync(r);return k9(t,e),t},kFe=(r,e)=>{let t=new I0(r);return sN(t,e),t}});var oN=w((jot,U9)=>{"use strict";var RFe=Wf(),N9=n0(),Xn=J("fs"),L9=ch(),T9=E0(),O9=J("path"),M9=eh();U9.exports=(r,e,t)=>{let i=RFe(r);if(!i.file)throw new TypeError("file is required");if(i.gzip)throw new TypeError("cannot append to compressed archives");if(!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");return e=Array.from(e),i.sync?FFe(i,e):LFe(i,e,t)};var FFe=(r,e)=>{let t=new N9.Sync(r),i=!0,n,s;try{try{n=Xn.openSync(r.file,"r+")}catch(l){if(l.code==="ENOENT")n=Xn.openSync(r.file,"w+");else throw l}let o=Xn.fstatSync(n),a=Buffer.alloc(512);e:for(s=0;so.size)break;s+=c,r.mtimeCache&&r.mtimeCache.set(l.path,l.mtime)}i=!1,NFe(r,t,s,n,e)}finally{if(i)try{Xn.closeSync(n)}catch{}}},NFe=(r,e,t,i,n)=>{let s=new L9.WriteStreamSync(r.file,{fd:i,start:t});e.pipe(s),TFe(e,n)},LFe=(r,e,t)=>{e=Array.from(e);let i=new N9(r),n=(o,a,l)=>{let c=(p,C)=>{p?Xn.close(o,y=>l(p)):l(null,C)},u=0;if(a===0)return c(null,0);let g=0,f=Buffer.alloc(512),h=(p,C)=>{if(p)return c(p);if(g+=C,g<512&&C)return Xn.read(o,f,g,f.length-g,u+g,h);if(u===0&&f[0]===31&&f[1]===139)return c(new Error("cannot append to compressed archives"));if(g<512)return c(null,u);let y=new M9(f);if(!y.cksumValid)return c(null,u);let B=512*Math.ceil(y.size/512);if(u+B+512>a||(u+=B+512,u>=a))return c(null,u);r.mtimeCache&&r.mtimeCache.set(y.path,y.mtime),g=0,Xn.read(o,f,0,512,u,h)};Xn.read(o,f,0,512,u,h)},s=new Promise((o,a)=>{i.on("error",a);let l="r+",c=(u,g)=>{if(u&&u.code==="ENOENT"&&l==="r+")return l="w+",Xn.open(r.file,l,c);if(u)return a(u);Xn.fstat(g,(f,h)=>{if(f)return Xn.close(g,()=>a(f));n(g,h.size,(p,C)=>{if(p)return a(p);let y=new L9.WriteStream(r.file,{fd:g,start:C});i.pipe(y),y.on("error",a),y.on("close",o),K9(i,e)})})};Xn.open(r.file,l,c)});return t?s.then(t,t):s},TFe=(r,e)=>{e.forEach(t=>{t.charAt(0)==="@"?T9({file:O9.resolve(r.cwd,t.substr(1)),sync:!0,noResume:!0,onentry:i=>r.add(i)}):r.add(t)}),r.end()},K9=(r,e)=>{for(;e.length;){let t=e.shift();if(t.charAt(0)==="@")return T9({file:O9.resolve(r.cwd,t.substr(1)),noResume:!0,onentry:i=>r.add(i)}).then(i=>K9(r,e));r.add(t)}r.end()}});var G9=w((qot,H9)=>{"use strict";var OFe=Wf(),MFe=oN();H9.exports=(r,e,t)=>{let i=OFe(r);if(!i.file)throw new TypeError("file is required");if(i.gzip)throw new TypeError("cannot append to compressed archives");if(!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");return e=Array.from(e),KFe(i),MFe(i,e,t)};var KFe=r=>{let e=r.filter;r.mtimeCache||(r.mtimeCache=new Map),r.filter=e?(t,i)=>e(t,i)&&!(r.mtimeCache.get(t)>i.mtime):(t,i)=>!(r.mtimeCache.get(t)>i.mtime)}});var q9=w((Jot,j9)=>{var{promisify:Y9}=J("util"),cl=J("fs"),UFe=r=>{if(!r)r={mode:511,fs:cl};else if(typeof r=="object")r={mode:511,fs:cl,...r};else if(typeof r=="number")r={mode:r,fs:cl};else if(typeof r=="string")r={mode:parseInt(r,8),fs:cl};else throw new TypeError("invalid options argument");return r.mkdir=r.mkdir||r.fs.mkdir||cl.mkdir,r.mkdirAsync=Y9(r.mkdir),r.stat=r.stat||r.fs.stat||cl.stat,r.statAsync=Y9(r.stat),r.statSync=r.statSync||r.fs.statSync||cl.statSync,r.mkdirSync=r.mkdirSync||r.fs.mkdirSync||cl.mkdirSync,r};j9.exports=UFe});var W9=w((Wot,J9)=>{var HFe=process.env.__TESTING_MKDIRP_PLATFORM__||process.platform,{resolve:GFe,parse:YFe}=J("path"),jFe=r=>{if(/\0/.test(r))throw Object.assign(new TypeError("path must be a string without null bytes"),{path:r,code:"ERR_INVALID_ARG_VALUE"});if(r=GFe(r),HFe==="win32"){let e=/[*|"<>?:]/,{root:t}=YFe(r);if(e.test(r.substr(t.length)))throw Object.assign(new Error("Illegal characters in path."),{path:r,code:"EINVAL"})}return r};J9.exports=jFe});var _9=w((zot,Z9)=>{var{dirname:z9}=J("path"),V9=(r,e,t=void 0)=>t===e?Promise.resolve():r.statAsync(e).then(i=>i.isDirectory()?t:void 0,i=>i.code==="ENOENT"?V9(r,z9(e),e):void 0),X9=(r,e,t=void 0)=>{if(t!==e)try{return r.statSync(e).isDirectory()?t:void 0}catch(i){return i.code==="ENOENT"?X9(r,z9(e),e):void 0}};Z9.exports={findMade:V9,findMadeSync:X9}});var lN=w((Vot,eX)=>{var{dirname:$9}=J("path"),aN=(r,e,t)=>{e.recursive=!1;let i=$9(r);return i===r?e.mkdirAsync(r,e).catch(n=>{if(n.code!=="EISDIR")throw n}):e.mkdirAsync(r,e).then(()=>t||r,n=>{if(n.code==="ENOENT")return aN(i,e).then(s=>aN(r,e,s));if(n.code!=="EEXIST"&&n.code!=="EROFS")throw n;return e.statAsync(r).then(s=>{if(s.isDirectory())return t;throw n},()=>{throw n})})},AN=(r,e,t)=>{let i=$9(r);if(e.recursive=!1,i===r)try{return e.mkdirSync(r,e)}catch(n){if(n.code!=="EISDIR")throw n;return}try{return e.mkdirSync(r,e),t||r}catch(n){if(n.code==="ENOENT")return AN(r,e,AN(i,e,t));if(n.code!=="EEXIST"&&n.code!=="EROFS")throw n;try{if(!e.statSync(r).isDirectory())throw n}catch{throw n}}};eX.exports={mkdirpManual:aN,mkdirpManualSync:AN}});var iX=w((Xot,rX)=>{var{dirname:tX}=J("path"),{findMade:qFe,findMadeSync:JFe}=_9(),{mkdirpManual:WFe,mkdirpManualSync:zFe}=lN(),VFe=(r,e)=>(e.recursive=!0,tX(r)===r?e.mkdirAsync(r,e):qFe(e,r).then(i=>e.mkdirAsync(r,e).then(()=>i).catch(n=>{if(n.code==="ENOENT")return WFe(r,e);throw n}))),XFe=(r,e)=>{if(e.recursive=!0,tX(r)===r)return e.mkdirSync(r,e);let i=JFe(e,r);try{return e.mkdirSync(r,e),i}catch(n){if(n.code==="ENOENT")return zFe(r,e);throw n}};rX.exports={mkdirpNative:VFe,mkdirpNativeSync:XFe}});var aX=w((Zot,oX)=>{var nX=J("fs"),ZFe=process.env.__TESTING_MKDIRP_NODE_VERSION__||process.version,cN=ZFe.replace(/^v/,"").split("."),sX=+cN[0]>10||+cN[0]==10&&+cN[1]>=12,_Fe=sX?r=>r.mkdir===nX.mkdir:()=>!1,$Fe=sX?r=>r.mkdirSync===nX.mkdirSync:()=>!1;oX.exports={useNative:_Fe,useNativeSync:$Fe}});var fX=w((_ot,gX)=>{var gh=q9(),fh=W9(),{mkdirpNative:AX,mkdirpNativeSync:lX}=iX(),{mkdirpManual:cX,mkdirpManualSync:uX}=lN(),{useNative:eNe,useNativeSync:tNe}=aX(),hh=(r,e)=>(r=fh(r),e=gh(e),eNe(e)?AX(r,e):cX(r,e)),rNe=(r,e)=>(r=fh(r),e=gh(e),tNe(e)?lX(r,e):uX(r,e));hh.sync=rNe;hh.native=(r,e)=>AX(fh(r),gh(e));hh.manual=(r,e)=>cX(fh(r),gh(e));hh.nativeSync=(r,e)=>lX(fh(r),gh(e));hh.manualSync=(r,e)=>uX(fh(r),gh(e));gX.exports=hh});var IX=w(($ot,EX)=>{"use strict";var xs=J("fs"),Jc=J("path"),iNe=xs.lchown?"lchown":"chown",nNe=xs.lchownSync?"lchownSync":"chownSync",pX=xs.lchown&&!process.version.match(/v1[1-9]+\./)&&!process.version.match(/v10\.[6-9]/),hX=(r,e,t)=>{try{return xs[nNe](r,e,t)}catch(i){if(i.code!=="ENOENT")throw i}},sNe=(r,e,t)=>{try{return xs.chownSync(r,e,t)}catch(i){if(i.code!=="ENOENT")throw i}},oNe=pX?(r,e,t,i)=>n=>{!n||n.code!=="EISDIR"?i(n):xs.chown(r,e,t,i)}:(r,e,t,i)=>i,uN=pX?(r,e,t)=>{try{return hX(r,e,t)}catch(i){if(i.code!=="EISDIR")throw i;sNe(r,e,t)}}:(r,e,t)=>hX(r,e,t),aNe=process.version,dX=(r,e,t)=>xs.readdir(r,e,t),ANe=(r,e)=>xs.readdirSync(r,e);/^v4\./.test(aNe)&&(dX=(r,e,t)=>xs.readdir(r,t));var y0=(r,e,t,i)=>{xs[iNe](r,e,t,oNe(r,e,t,n=>{i(n&&n.code!=="ENOENT"?n:null)}))},CX=(r,e,t,i,n)=>{if(typeof e=="string")return xs.lstat(Jc.resolve(r,e),(s,o)=>{if(s)return n(s.code!=="ENOENT"?s:null);o.name=e,CX(r,o,t,i,n)});if(e.isDirectory())gN(Jc.resolve(r,e.name),t,i,s=>{if(s)return n(s);let o=Jc.resolve(r,e.name);y0(o,t,i,n)});else{let s=Jc.resolve(r,e.name);y0(s,t,i,n)}},gN=(r,e,t,i)=>{dX(r,{withFileTypes:!0},(n,s)=>{if(n){if(n.code==="ENOENT")return i();if(n.code!=="ENOTDIR"&&n.code!=="ENOTSUP")return i(n)}if(n||!s.length)return y0(r,e,t,i);let o=s.length,a=null,l=c=>{if(!a){if(c)return i(a=c);if(--o===0)return y0(r,e,t,i)}};s.forEach(c=>CX(r,c,e,t,l))})},lNe=(r,e,t,i)=>{if(typeof e=="string")try{let n=xs.lstatSync(Jc.resolve(r,e));n.name=e,e=n}catch(n){if(n.code==="ENOENT")return;throw n}e.isDirectory()&&mX(Jc.resolve(r,e.name),t,i),uN(Jc.resolve(r,e.name),t,i)},mX=(r,e,t)=>{let i;try{i=ANe(r,{withFileTypes:!0})}catch(n){if(n.code==="ENOENT")return;if(n.code==="ENOTDIR"||n.code==="ENOTSUP")return uN(r,e,t);throw n}return i&&i.length&&i.forEach(n=>lNe(r,n,e,t)),uN(r,e,t)};EX.exports=gN;gN.sync=mX});var QX=w((eat,fN)=>{"use strict";var yX=fX(),Ps=J("fs"),w0=J("path"),wX=IX(),ao=_f(),B0=class extends Error{constructor(e,t){super("Cannot extract through symbolic link"),this.path=t,this.symlink=e}get name(){return"SylinkError"}},Q0=class extends Error{constructor(e,t){super(t+": Cannot cd into '"+e+"'"),this.path=e,this.code=t}get name(){return"CwdError"}},b0=(r,e)=>r.get(ao(e)),GC=(r,e,t)=>r.set(ao(e),t),cNe=(r,e)=>{Ps.stat(r,(t,i)=>{(t||!i.isDirectory())&&(t=new Q0(r,t&&t.code||"ENOTDIR")),e(t)})};fN.exports=(r,e,t)=>{r=ao(r);let i=e.umask,n=e.mode|448,s=(n&i)!==0,o=e.uid,a=e.gid,l=typeof o=="number"&&typeof a=="number"&&(o!==e.processUid||a!==e.processGid),c=e.preserve,u=e.unlink,g=e.cache,f=ao(e.cwd),h=(y,B)=>{y?t(y):(GC(g,r,!0),B&&l?wX(B,o,a,v=>h(v)):s?Ps.chmod(r,n,t):t())};if(g&&b0(g,r)===!0)return h();if(r===f)return cNe(r,h);if(c)return yX(r,{mode:n}).then(y=>h(null,y),h);let C=ao(w0.relative(f,r)).split("/");S0(f,C,n,g,u,f,null,h)};var S0=(r,e,t,i,n,s,o,a)=>{if(!e.length)return a(null,o);let l=e.shift(),c=ao(w0.resolve(r+"/"+l));if(b0(i,c))return S0(c,e,t,i,n,s,o,a);Ps.mkdir(c,t,BX(c,e,t,i,n,s,o,a))},BX=(r,e,t,i,n,s,o,a)=>l=>{l?Ps.lstat(r,(c,u)=>{if(c)c.path=c.path&&ao(c.path),a(c);else if(u.isDirectory())S0(r,e,t,i,n,s,o,a);else if(n)Ps.unlink(r,g=>{if(g)return a(g);Ps.mkdir(r,t,BX(r,e,t,i,n,s,o,a))});else{if(u.isSymbolicLink())return a(new B0(r,r+"/"+e.join("/")));a(l)}}):(o=o||r,S0(r,e,t,i,n,s,o,a))},uNe=r=>{let e=!1,t="ENOTDIR";try{e=Ps.statSync(r).isDirectory()}catch(i){t=i.code}finally{if(!e)throw new Q0(r,t)}};fN.exports.sync=(r,e)=>{r=ao(r);let t=e.umask,i=e.mode|448,n=(i&t)!==0,s=e.uid,o=e.gid,a=typeof s=="number"&&typeof o=="number"&&(s!==e.processUid||o!==e.processGid),l=e.preserve,c=e.unlink,u=e.cache,g=ao(e.cwd),f=y=>{GC(u,r,!0),y&&a&&wX.sync(y,s,o),n&&Ps.chmodSync(r,i)};if(u&&b0(u,r)===!0)return f();if(r===g)return uNe(g),f();if(l)return f(yX.sync(r,i));let p=ao(w0.relative(g,r)).split("/"),C=null;for(let y=p.shift(),B=g;y&&(B+="/"+y);y=p.shift())if(B=ao(w0.resolve(B)),!b0(u,B))try{Ps.mkdirSync(B,i),C=C||B,GC(u,B,!0)}catch{let D=Ps.lstatSync(B);if(D.isDirectory()){GC(u,B,!0);continue}else if(c){Ps.unlinkSync(B),Ps.mkdirSync(B,i),C=C||B,GC(u,B,!0);continue}else if(D.isSymbolicLink())return new B0(B,B+"/"+p.join("/"))}return f(C)}});var pN=w((tat,bX)=>{var hN=Object.create(null),{hasOwnProperty:gNe}=Object.prototype;bX.exports=r=>(gNe.call(hN,r)||(hN[r]=r.normalize("NFKD")),hN[r])});var PX=w((rat,xX)=>{var SX=J("assert"),fNe=pN(),hNe=th(),{join:vX}=J("path"),pNe=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,dNe=pNe==="win32";xX.exports=()=>{let r=new Map,e=new Map,t=c=>c.split("/").slice(0,-1).reduce((g,f)=>(g.length&&(f=vX(g[g.length-1],f)),g.push(f||"/"),g),[]),i=new Set,n=c=>{let u=e.get(c);if(!u)throw new Error("function does not have any path reservations");return{paths:u.paths.map(g=>r.get(g)),dirs:[...u.dirs].map(g=>r.get(g))}},s=c=>{let{paths:u,dirs:g}=n(c);return u.every(f=>f[0]===c)&&g.every(f=>f[0]instanceof Set&&f[0].has(c))},o=c=>i.has(c)||!s(c)?!1:(i.add(c),c(()=>a(c)),!0),a=c=>{if(!i.has(c))return!1;let{paths:u,dirs:g}=e.get(c),f=new Set;return u.forEach(h=>{let p=r.get(h);SX.equal(p[0],c),p.length===1?r.delete(h):(p.shift(),typeof p[0]=="function"?f.add(p[0]):p[0].forEach(C=>f.add(C)))}),g.forEach(h=>{let p=r.get(h);SX(p[0]instanceof Set),p[0].size===1&&p.length===1?r.delete(h):p[0].size===1?(p.shift(),f.add(p[0])):p[0].delete(c)}),i.delete(c),f.forEach(h=>o(h)),!0};return{check:s,reserve:(c,u)=>{c=dNe?["win32 parallelization disabled"]:c.map(f=>fNe(hNe(vX(f))).toLowerCase());let g=new Set(c.map(f=>t(f)).reduce((f,h)=>f.concat(h)));return e.set(u,{dirs:g,paths:c}),c.forEach(f=>{let h=r.get(f);h?h.push(u):r.set(f,[u])}),g.forEach(f=>{let h=r.get(f);h?h[h.length-1]instanceof Set?h[h.length-1].add(u):h.push(new Set([u])):r.set(f,[new Set([u])])}),o(u)}}}});var RX=w((iat,kX)=>{var CNe=process.env.__FAKE_PLATFORM__||process.platform,mNe=CNe==="win32",ENe=global.__FAKE_TESTING_FS__||J("fs"),{O_CREAT:INe,O_TRUNC:yNe,O_WRONLY:wNe,UV_FS_O_FILEMAP:DX=0}=ENe.constants,BNe=mNe&&!!DX,QNe=512*1024,bNe=DX|yNe|INe|wNe;kX.exports=BNe?r=>r"w"});var QN=w((nat,JX)=>{"use strict";var SNe=J("assert"),vNe=m0(),jt=J("fs"),xNe=ch(),eA=J("path"),YX=QX(),FX=QF(),PNe=PX(),DNe=bF(),Zn=_f(),kNe=th(),RNe=pN(),NX=Symbol("onEntry"),mN=Symbol("checkFs"),LX=Symbol("checkFs2"),P0=Symbol("pruneCache"),EN=Symbol("isReusable"),Ds=Symbol("makeFs"),IN=Symbol("file"),yN=Symbol("directory"),D0=Symbol("link"),TX=Symbol("symlink"),OX=Symbol("hardlink"),MX=Symbol("unsupported"),KX=Symbol("checkPath"),ul=Symbol("mkdir"),Yi=Symbol("onError"),v0=Symbol("pending"),UX=Symbol("pend"),ph=Symbol("unpend"),dN=Symbol("ended"),CN=Symbol("maybeClose"),wN=Symbol("skip"),YC=Symbol("doChown"),jC=Symbol("uid"),qC=Symbol("gid"),JC=Symbol("checkedCwd"),jX=J("crypto"),qX=RX(),FNe=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,WC=FNe==="win32",NNe=(r,e)=>{if(!WC)return jt.unlink(r,e);let t=r+".DELETE."+jX.randomBytes(16).toString("hex");jt.rename(r,t,i=>{if(i)return e(i);jt.unlink(t,e)})},LNe=r=>{if(!WC)return jt.unlinkSync(r);let e=r+".DELETE."+jX.randomBytes(16).toString("hex");jt.renameSync(r,e),jt.unlinkSync(e)},HX=(r,e,t)=>r===r>>>0?r:e===e>>>0?e:t,GX=r=>RNe(kNe(Zn(r))).toLowerCase(),TNe=(r,e)=>{e=GX(e);for(let t of r.keys()){let i=GX(t);(i===e||i.indexOf(e+"/")===0)&&r.delete(t)}},ONe=r=>{for(let e of r.keys())r.delete(e)},zC=class extends vNe{constructor(e){if(e||(e={}),e.ondone=t=>{this[dN]=!0,this[CN]()},super(e),this[JC]=!1,this.reservations=PNe(),this.transform=typeof e.transform=="function"?e.transform:null,this.writable=!0,this.readable=!1,this[v0]=0,this[dN]=!1,this.dirCache=e.dirCache||new Map,typeof e.uid=="number"||typeof e.gid=="number"){if(typeof e.uid!="number"||typeof e.gid!="number")throw new TypeError("cannot set owner without number uid and gid");if(e.preserveOwner)throw new TypeError("cannot preserve owner in archive and also set owner explicitly");this.uid=e.uid,this.gid=e.gid,this.setOwner=!0}else this.uid=null,this.gid=null,this.setOwner=!1;e.preserveOwner===void 0&&typeof e.uid!="number"?this.preserveOwner=process.getuid&&process.getuid()===0:this.preserveOwner=!!e.preserveOwner,this.processUid=(this.preserveOwner||this.setOwner)&&process.getuid?process.getuid():null,this.processGid=(this.preserveOwner||this.setOwner)&&process.getgid?process.getgid():null,this.forceChown=e.forceChown===!0,this.win32=!!e.win32||WC,this.newer=!!e.newer,this.keep=!!e.keep,this.noMtime=!!e.noMtime,this.preservePaths=!!e.preservePaths,this.unlink=!!e.unlink,this.cwd=Zn(eA.resolve(e.cwd||process.cwd())),this.strip=+e.strip||0,this.processUmask=e.noChmod?0:process.umask(),this.umask=typeof e.umask=="number"?e.umask:this.processUmask,this.dmode=e.dmode||511&~this.umask,this.fmode=e.fmode||438&~this.umask,this.on("entry",t=>this[NX](t))}warn(e,t,i={}){return(e==="TAR_BAD_ARCHIVE"||e==="TAR_ABORT")&&(i.recoverable=!1),super.warn(e,t,i)}[CN](){this[dN]&&this[v0]===0&&(this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close"))}[KX](e){if(this.strip){let t=Zn(e.path).split("/");if(t.length=this.strip)e.linkpath=i.slice(this.strip).join("/");else return!1}}if(!this.preservePaths){let t=Zn(e.path),i=t.split("/");if(i.includes("..")||WC&&/^[a-z]:\.\.$/i.test(i[0]))return this.warn("TAR_ENTRY_ERROR","path contains '..'",{entry:e,path:t}),!1;let[n,s]=DNe(t);n&&(e.path=s,this.warn("TAR_ENTRY_INFO",`stripping ${n} from absolute path`,{entry:e,path:t}))}if(eA.isAbsolute(e.path)?e.absolute=Zn(eA.resolve(e.path)):e.absolute=Zn(eA.resolve(this.cwd,e.path)),!this.preservePaths&&e.absolute.indexOf(this.cwd+"/")!==0&&e.absolute!==this.cwd)return this.warn("TAR_ENTRY_ERROR","path escaped extraction target",{entry:e,path:Zn(e.path),resolvedPath:e.absolute,cwd:this.cwd}),!1;if(e.absolute===this.cwd&&e.type!=="Directory"&&e.type!=="GNUDumpDir")return!1;if(this.win32){let{root:t}=eA.win32.parse(e.absolute);e.absolute=t+FX.encode(e.absolute.substr(t.length));let{root:i}=eA.win32.parse(e.path);e.path=i+FX.encode(e.path.substr(i.length))}return!0}[NX](e){if(!this[KX](e))return e.resume();switch(SNe.equal(typeof e.absolute,"string"),e.type){case"Directory":case"GNUDumpDir":e.mode&&(e.mode=e.mode|448);case"File":case"OldFile":case"ContiguousFile":case"Link":case"SymbolicLink":return this[mN](e);case"CharacterDevice":case"BlockDevice":case"FIFO":default:return this[MX](e)}}[Yi](e,t){e.name==="CwdError"?this.emit("error",e):(this.warn("TAR_ENTRY_ERROR",e,{entry:t}),this[ph](),t.resume())}[ul](e,t,i){YX(Zn(e),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:t,noChmod:this.noChmod},i)}[YC](e){return this.forceChown||this.preserveOwner&&(typeof e.uid=="number"&&e.uid!==this.processUid||typeof e.gid=="number"&&e.gid!==this.processGid)||typeof this.uid=="number"&&this.uid!==this.processUid||typeof this.gid=="number"&&this.gid!==this.processGid}[jC](e){return HX(this.uid,e.uid,this.processUid)}[qC](e){return HX(this.gid,e.gid,this.processGid)}[IN](e,t){let i=e.mode&4095||this.fmode,n=new xNe.WriteStream(e.absolute,{flags:qX(e.size),mode:i,autoClose:!1});n.on("error",l=>{n.fd&&jt.close(n.fd,()=>{}),n.write=()=>!0,this[Yi](l,e),t()});let s=1,o=l=>{if(l){n.fd&&jt.close(n.fd,()=>{}),this[Yi](l,e),t();return}--s===0&&jt.close(n.fd,c=>{c?this[Yi](c,e):this[ph](),t()})};n.on("finish",l=>{let c=e.absolute,u=n.fd;if(e.mtime&&!this.noMtime){s++;let g=e.atime||new Date,f=e.mtime;jt.futimes(u,g,f,h=>h?jt.utimes(c,g,f,p=>o(p&&h)):o())}if(this[YC](e)){s++;let g=this[jC](e),f=this[qC](e);jt.fchown(u,g,f,h=>h?jt.chown(c,g,f,p=>o(p&&h)):o())}o()});let a=this.transform&&this.transform(e)||e;a!==e&&(a.on("error",l=>{this[Yi](l,e),t()}),e.pipe(a)),a.pipe(n)}[yN](e,t){let i=e.mode&4095||this.dmode;this[ul](e.absolute,i,n=>{if(n){this[Yi](n,e),t();return}let s=1,o=a=>{--s===0&&(t(),this[ph](),e.resume())};e.mtime&&!this.noMtime&&(s++,jt.utimes(e.absolute,e.atime||new Date,e.mtime,o)),this[YC](e)&&(s++,jt.chown(e.absolute,this[jC](e),this[qC](e),o)),o()})}[MX](e){e.unsupported=!0,this.warn("TAR_ENTRY_UNSUPPORTED",`unsupported entry type: ${e.type}`,{entry:e}),e.resume()}[TX](e,t){this[D0](e,e.linkpath,"symlink",t)}[OX](e,t){let i=Zn(eA.resolve(this.cwd,e.linkpath));this[D0](e,i,"link",t)}[UX](){this[v0]++}[ph](){this[v0]--,this[CN]()}[wN](e){this[ph](),e.resume()}[EN](e,t){return e.type==="File"&&!this.unlink&&t.isFile()&&t.nlink<=1&&!WC}[mN](e){this[UX]();let t=[e.path];e.linkpath&&t.push(e.linkpath),this.reservations.reserve(t,i=>this[LX](e,i))}[P0](e){e.type==="SymbolicLink"?ONe(this.dirCache):e.type!=="Directory"&&TNe(this.dirCache,e.absolute)}[LX](e,t){this[P0](e);let i=a=>{this[P0](e),t(a)},n=()=>{this[ul](this.cwd,this.dmode,a=>{if(a){this[Yi](a,e),i();return}this[JC]=!0,s()})},s=()=>{if(e.absolute!==this.cwd){let a=Zn(eA.dirname(e.absolute));if(a!==this.cwd)return this[ul](a,this.dmode,l=>{if(l){this[Yi](l,e),i();return}o()})}o()},o=()=>{jt.lstat(e.absolute,(a,l)=>{if(l&&(this.keep||this.newer&&l.mtime>e.mtime)){this[wN](e),i();return}if(a||this[EN](e,l))return this[Ds](null,e,i);if(l.isDirectory()){if(e.type==="Directory"){let c=!this.noChmod&&e.mode&&(l.mode&4095)!==e.mode,u=g=>this[Ds](g,e,i);return c?jt.chmod(e.absolute,e.mode,u):u()}if(e.absolute!==this.cwd)return jt.rmdir(e.absolute,c=>this[Ds](c,e,i))}if(e.absolute===this.cwd)return this[Ds](null,e,i);NNe(e.absolute,c=>this[Ds](c,e,i))})};this[JC]?s():n()}[Ds](e,t,i){if(e){this[Yi](e,t),i();return}switch(t.type){case"File":case"OldFile":case"ContiguousFile":return this[IN](t,i);case"Link":return this[OX](t,i);case"SymbolicLink":return this[TX](t,i);case"Directory":case"GNUDumpDir":return this[yN](t,i)}}[D0](e,t,i,n){jt[i](t,e.absolute,s=>{s?this[Yi](s,e):(this[ph](),e.resume()),n()})}},x0=r=>{try{return[null,r()]}catch(e){return[e,null]}},BN=class extends zC{[Ds](e,t){return super[Ds](e,t,()=>{})}[mN](e){if(this[P0](e),!this[JC]){let s=this[ul](this.cwd,this.dmode);if(s)return this[Yi](s,e);this[JC]=!0}if(e.absolute!==this.cwd){let s=Zn(eA.dirname(e.absolute));if(s!==this.cwd){let o=this[ul](s,this.dmode);if(o)return this[Yi](o,e)}}let[t,i]=x0(()=>jt.lstatSync(e.absolute));if(i&&(this.keep||this.newer&&i.mtime>e.mtime))return this[wN](e);if(t||this[EN](e,i))return this[Ds](null,e);if(i.isDirectory()){if(e.type==="Directory"){let o=!this.noChmod&&e.mode&&(i.mode&4095)!==e.mode,[a]=o?x0(()=>{jt.chmodSync(e.absolute,e.mode)}):[];return this[Ds](a,e)}let[s]=x0(()=>jt.rmdirSync(e.absolute));this[Ds](s,e)}let[n]=e.absolute===this.cwd?[]:x0(()=>LNe(e.absolute));this[Ds](n,e)}[IN](e,t){let i=e.mode&4095||this.fmode,n=a=>{let l;try{jt.closeSync(s)}catch(c){l=c}(a||l)&&this[Yi](a||l,e),t()},s;try{s=jt.openSync(e.absolute,qX(e.size),i)}catch(a){return n(a)}let o=this.transform&&this.transform(e)||e;o!==e&&(o.on("error",a=>this[Yi](a,e)),e.pipe(o)),o.on("data",a=>{try{jt.writeSync(s,a,0,a.length)}catch(l){n(l)}}),o.on("end",a=>{let l=null;if(e.mtime&&!this.noMtime){let c=e.atime||new Date,u=e.mtime;try{jt.futimesSync(s,c,u)}catch(g){try{jt.utimesSync(e.absolute,c,u)}catch{l=g}}}if(this[YC](e)){let c=this[jC](e),u=this[qC](e);try{jt.fchownSync(s,c,u)}catch(g){try{jt.chownSync(e.absolute,c,u)}catch{l=l||g}}}n(l)})}[yN](e,t){let i=e.mode&4095||this.dmode,n=this[ul](e.absolute,i);if(n){this[Yi](n,e),t();return}if(e.mtime&&!this.noMtime)try{jt.utimesSync(e.absolute,e.atime||new Date,e.mtime)}catch{}if(this[YC](e))try{jt.chownSync(e.absolute,this[jC](e),this[qC](e))}catch{}t(),e.resume()}[ul](e,t){try{return YX.sync(Zn(e),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:t})}catch(i){return i}}[D0](e,t,i,n){try{jt[i+"Sync"](t,e.absolute),n(),e.resume()}catch(s){return this[Yi](s,e)}}};zC.Sync=BN;JX.exports=zC});var ZX=w((sat,XX)=>{"use strict";var MNe=Wf(),k0=QN(),zX=J("fs"),VX=ch(),WX=J("path"),bN=th();XX.exports=(r,e,t)=>{typeof r=="function"?(t=r,e=null,r={}):Array.isArray(r)&&(e=r,r={}),typeof e=="function"&&(t=e,e=null),e?e=Array.from(e):e=[];let i=MNe(r);if(i.sync&&typeof t=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof t=="function")throw new TypeError("callback only supported with file option");return e.length&&KNe(i,e),i.file&&i.sync?UNe(i):i.file?HNe(i,t):i.sync?GNe(i):YNe(i)};var KNe=(r,e)=>{let t=new Map(e.map(s=>[bN(s),!0])),i=r.filter,n=(s,o)=>{let a=o||WX.parse(s).root||".",l=s===a?!1:t.has(s)?t.get(s):n(WX.dirname(s),a);return t.set(s,l),l};r.filter=i?(s,o)=>i(s,o)&&n(bN(s)):s=>n(bN(s))},UNe=r=>{let e=new k0.Sync(r),t=r.file,i=zX.statSync(t),n=r.maxReadSize||16*1024*1024;new VX.ReadStreamSync(t,{readSize:n,size:i.size}).pipe(e)},HNe=(r,e)=>{let t=new k0(r),i=r.maxReadSize||16*1024*1024,n=r.file,s=new Promise((o,a)=>{t.on("error",a),t.on("close",o),zX.stat(n,(l,c)=>{if(l)a(l);else{let u=new VX.ReadStream(n,{readSize:i,size:c.size});u.on("error",a),u.pipe(t)}})});return e?s.then(e,e):s},GNe=r=>new k0.Sync(r),YNe=r=>new k0(r)});var _X=w(ci=>{"use strict";ci.c=ci.create=F9();ci.r=ci.replace=oN();ci.t=ci.list=E0();ci.u=ci.update=G9();ci.x=ci.extract=ZX();ci.Pack=n0();ci.Unpack=QN();ci.Parse=m0();ci.ReadEntry=HB();ci.WriteEntry=LF();ci.Header=eh();ci.Pax=YB();ci.types=CF()});var rZ=w((Aat,tZ)=>{var SN;tZ.exports.getContent=()=>(typeof SN>"u"&&(SN=J("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),SN)});var AZ=w((vN,aZ)=>{(function(r,e){typeof vN=="object"?aZ.exports=e():typeof define=="function"&&define.amd?define(e):r.treeify=e()})(vN,function(){function r(n,s){var o=s?"\u2514":"\u251C";return n?o+="\u2500 ":o+="\u2500\u2500\u2510",o}function e(n,s){var o=[];for(var a in n)!n.hasOwnProperty(a)||s&&typeof n[a]=="function"||o.push(a);return o}function t(n,s,o,a,l,c,u){var g="",f=0,h,p,C=a.slice(0);if(C.push([s,o])&&a.length>0&&(a.forEach(function(B,v){v>0&&(g+=(B[1]?" ":"\u2502")+" "),!p&&B[0]===s&&(p=!0)}),g+=r(n,o)+n,l&&(typeof s!="object"||s instanceof Date)&&(g+=": "+s),p&&(g+=" (circular ref.)"),u(g)),!p&&typeof s=="object"){var y=e(s,c);y.forEach(function(B){h=++f===y.length,t(B,s[B],h,C,l,c,u)})}}var i={};return i.asLines=function(n,s,o,a){var l=typeof o!="function"?o:!1;t(".",n,!1,[],s,l,a||o)},i.asTree=function(n,s,o){var a="";return t(".",n,!1,[],s,o,function(l){a+=l+` +`}),a},i})});var L0=w((kat,mZ)=>{var aLe=bs(),ALe=cC(),lLe=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,cLe=/^\w*$/;function uLe(r,e){if(aLe(r))return!1;var t=typeof r;return t=="number"||t=="symbol"||t=="boolean"||r==null||ALe(r)?!0:cLe.test(r)||!lLe.test(r)||e!=null&&r in Object(e)}mZ.exports=uLe});var T0=w((Rat,EZ)=>{var gLe=Pc(),fLe=bn(),hLe="[object AsyncFunction]",pLe="[object Function]",dLe="[object GeneratorFunction]",CLe="[object Proxy]";function mLe(r){if(!fLe(r))return!1;var e=gLe(r);return e==pLe||e==dLe||e==hLe||e==CLe}EZ.exports=mLe});var yZ=w((Fat,IZ)=>{var ELe=Es(),ILe=ELe["__core-js_shared__"];IZ.exports=ILe});var QZ=w((Nat,BZ)=>{var LN=yZ(),wZ=function(){var r=/[^.]+$/.exec(LN&&LN.keys&&LN.keys.IE_PROTO||"");return r?"Symbol(src)_1."+r:""}();function yLe(r){return!!wZ&&wZ in r}BZ.exports=yLe});var TN=w((Lat,bZ)=>{var wLe=Function.prototype,BLe=wLe.toString;function QLe(r){if(r!=null){try{return BLe.call(r)}catch{}try{return r+""}catch{}}return""}bZ.exports=QLe});var vZ=w((Tat,SZ)=>{var bLe=T0(),SLe=QZ(),vLe=bn(),xLe=TN(),PLe=/[\\^$.*+?()[\]{}|]/g,DLe=/^\[object .+?Constructor\]$/,kLe=Function.prototype,RLe=Object.prototype,FLe=kLe.toString,NLe=RLe.hasOwnProperty,LLe=RegExp("^"+FLe.call(NLe).replace(PLe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function TLe(r){if(!vLe(r)||SLe(r))return!1;var e=bLe(r)?LLe:DLe;return e.test(xLe(r))}SZ.exports=TLe});var PZ=w((Oat,xZ)=>{function OLe(r,e){return r==null?void 0:r[e]}xZ.exports=OLe});var fl=w((Mat,DZ)=>{var MLe=vZ(),KLe=PZ();function ULe(r,e){var t=KLe(r,e);return MLe(t)?t:void 0}DZ.exports=ULe});var XC=w((Kat,kZ)=>{var HLe=fl(),GLe=HLe(Object,"create");kZ.exports=GLe});var NZ=w((Uat,FZ)=>{var RZ=XC();function YLe(){this.__data__=RZ?RZ(null):{},this.size=0}FZ.exports=YLe});var TZ=w((Hat,LZ)=>{function jLe(r){var e=this.has(r)&&delete this.__data__[r];return this.size-=e?1:0,e}LZ.exports=jLe});var MZ=w((Gat,OZ)=>{var qLe=XC(),JLe="__lodash_hash_undefined__",WLe=Object.prototype,zLe=WLe.hasOwnProperty;function VLe(r){var e=this.__data__;if(qLe){var t=e[r];return t===JLe?void 0:t}return zLe.call(e,r)?e[r]:void 0}OZ.exports=VLe});var UZ=w((Yat,KZ)=>{var XLe=XC(),ZLe=Object.prototype,_Le=ZLe.hasOwnProperty;function $Le(r){var e=this.__data__;return XLe?e[r]!==void 0:_Le.call(e,r)}KZ.exports=$Le});var GZ=w((jat,HZ)=>{var eTe=XC(),tTe="__lodash_hash_undefined__";function rTe(r,e){var t=this.__data__;return this.size+=this.has(r)?0:1,t[r]=eTe&&e===void 0?tTe:e,this}HZ.exports=rTe});var jZ=w((qat,YZ)=>{var iTe=NZ(),nTe=TZ(),sTe=MZ(),oTe=UZ(),aTe=GZ();function dh(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e{function ATe(){this.__data__=[],this.size=0}qZ.exports=ATe});var Ch=w((Wat,WZ)=>{function lTe(r,e){return r===e||r!==r&&e!==e}WZ.exports=lTe});var ZC=w((zat,zZ)=>{var cTe=Ch();function uTe(r,e){for(var t=r.length;t--;)if(cTe(r[t][0],e))return t;return-1}zZ.exports=uTe});var XZ=w((Vat,VZ)=>{var gTe=ZC(),fTe=Array.prototype,hTe=fTe.splice;function pTe(r){var e=this.__data__,t=gTe(e,r);if(t<0)return!1;var i=e.length-1;return t==i?e.pop():hTe.call(e,t,1),--this.size,!0}VZ.exports=pTe});var _Z=w((Xat,ZZ)=>{var dTe=ZC();function CTe(r){var e=this.__data__,t=dTe(e,r);return t<0?void 0:e[t][1]}ZZ.exports=CTe});var e_=w((Zat,$Z)=>{var mTe=ZC();function ETe(r){return mTe(this.__data__,r)>-1}$Z.exports=ETe});var r_=w((_at,t_)=>{var ITe=ZC();function yTe(r,e){var t=this.__data__,i=ITe(t,r);return i<0?(++this.size,t.push([r,e])):t[i][1]=e,this}t_.exports=yTe});var _C=w(($at,i_)=>{var wTe=JZ(),BTe=XZ(),QTe=_Z(),bTe=e_(),STe=r_();function mh(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e{var vTe=fl(),xTe=Es(),PTe=vTe(xTe,"Map");n_.exports=PTe});var a_=w((tAt,o_)=>{var s_=jZ(),DTe=_C(),kTe=O0();function RTe(){this.size=0,this.__data__={hash:new s_,map:new(kTe||DTe),string:new s_}}o_.exports=RTe});var l_=w((rAt,A_)=>{function FTe(r){var e=typeof r;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?r!=="__proto__":r===null}A_.exports=FTe});var $C=w((iAt,c_)=>{var NTe=l_();function LTe(r,e){var t=r.__data__;return NTe(e)?t[typeof e=="string"?"string":"hash"]:t.map}c_.exports=LTe});var g_=w((nAt,u_)=>{var TTe=$C();function OTe(r){var e=TTe(this,r).delete(r);return this.size-=e?1:0,e}u_.exports=OTe});var h_=w((sAt,f_)=>{var MTe=$C();function KTe(r){return MTe(this,r).get(r)}f_.exports=KTe});var d_=w((oAt,p_)=>{var UTe=$C();function HTe(r){return UTe(this,r).has(r)}p_.exports=HTe});var m_=w((aAt,C_)=>{var GTe=$C();function YTe(r,e){var t=GTe(this,r),i=t.size;return t.set(r,e),this.size+=t.size==i?0:1,this}C_.exports=YTe});var M0=w((AAt,E_)=>{var jTe=a_(),qTe=g_(),JTe=h_(),WTe=d_(),zTe=m_();function Eh(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e{var I_=M0(),VTe="Expected a function";function ON(r,e){if(typeof r!="function"||e!=null&&typeof e!="function")throw new TypeError(VTe);var t=function(){var i=arguments,n=e?e.apply(this,i):i[0],s=t.cache;if(s.has(n))return s.get(n);var o=r.apply(this,i);return t.cache=s.set(n,o)||s,o};return t.cache=new(ON.Cache||I_),t}ON.Cache=I_;y_.exports=ON});var Q_=w((cAt,B_)=>{var XTe=w_(),ZTe=500;function _Te(r){var e=XTe(r,function(i){return t.size===ZTe&&t.clear(),i}),t=e.cache;return e}B_.exports=_Te});var S_=w((uAt,b_)=>{var $Te=Q_(),eOe=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,tOe=/\\(\\)?/g,rOe=$Te(function(r){var e=[];return r.charCodeAt(0)===46&&e.push(""),r.replace(eOe,function(t,i,n,s){e.push(n?s.replace(tOe,"$1"):i||t)}),e});b_.exports=rOe});var Ih=w((gAt,v_)=>{var iOe=bs(),nOe=L0(),sOe=S_(),oOe=Jf();function aOe(r,e){return iOe(r)?r:nOe(r,e)?[r]:sOe(oOe(r))}v_.exports=aOe});var Wc=w((fAt,x_)=>{var AOe=cC(),lOe=1/0;function cOe(r){if(typeof r=="string"||AOe(r))return r;var e=r+"";return e=="0"&&1/r==-lOe?"-0":e}x_.exports=cOe});var em=w((hAt,P_)=>{var uOe=Ih(),gOe=Wc();function fOe(r,e){e=uOe(e,r);for(var t=0,i=e.length;r!=null&&t{var hOe=fl(),pOe=function(){try{var r=hOe(Object,"defineProperty");return r({},"",{}),r}catch{}}();D_.exports=pOe});var yh=w((dAt,R_)=>{var k_=MN();function dOe(r,e,t){e=="__proto__"&&k_?k_(r,e,{configurable:!0,enumerable:!0,value:t,writable:!0}):r[e]=t}R_.exports=dOe});var K0=w((CAt,F_)=>{var COe=yh(),mOe=Ch(),EOe=Object.prototype,IOe=EOe.hasOwnProperty;function yOe(r,e,t){var i=r[e];(!(IOe.call(r,e)&&mOe(i,t))||t===void 0&&!(e in r))&&COe(r,e,t)}F_.exports=yOe});var tm=w((mAt,N_)=>{var wOe=9007199254740991,BOe=/^(?:0|[1-9]\d*)$/;function QOe(r,e){var t=typeof r;return e=e==null?wOe:e,!!e&&(t=="number"||t!="symbol"&&BOe.test(r))&&r>-1&&r%1==0&&r{var bOe=K0(),SOe=Ih(),vOe=tm(),L_=bn(),xOe=Wc();function POe(r,e,t,i){if(!L_(r))return r;e=SOe(e,r);for(var n=-1,s=e.length,o=s-1,a=r;a!=null&&++n{var DOe=em(),kOe=KN(),ROe=Ih();function FOe(r,e,t){for(var i=-1,n=e.length,s={};++i{function NOe(r,e){return r!=null&&e in Object(r)}K_.exports=NOe});var G_=w((wAt,H_)=>{var LOe=Pc(),TOe=Jo(),OOe="[object Arguments]";function MOe(r){return TOe(r)&&LOe(r)==OOe}H_.exports=MOe});var rm=w((BAt,q_)=>{var Y_=G_(),KOe=Jo(),j_=Object.prototype,UOe=j_.hasOwnProperty,HOe=j_.propertyIsEnumerable,GOe=Y_(function(){return arguments}())?Y_:function(r){return KOe(r)&&UOe.call(r,"callee")&&!HOe.call(r,"callee")};q_.exports=GOe});var U0=w((QAt,J_)=>{var YOe=9007199254740991;function jOe(r){return typeof r=="number"&&r>-1&&r%1==0&&r<=YOe}J_.exports=jOe});var UN=w((bAt,W_)=>{var qOe=Ih(),JOe=rm(),WOe=bs(),zOe=tm(),VOe=U0(),XOe=Wc();function ZOe(r,e,t){e=qOe(e,r);for(var i=-1,n=e.length,s=!1;++i{var _Oe=U_(),$Oe=UN();function eMe(r,e){return r!=null&&$Oe(r,e,_Oe)}z_.exports=eMe});var X_=w((vAt,V_)=>{var tMe=M_(),rMe=HN();function iMe(r,e){return tMe(r,e,function(t,i){return rMe(r,i)})}V_.exports=iMe});var H0=w((xAt,Z_)=>{function nMe(r,e){for(var t=-1,i=e.length,n=r.length;++t{var __=xc(),sMe=rm(),oMe=bs(),$_=__?__.isConcatSpreadable:void 0;function aMe(r){return oMe(r)||sMe(r)||!!($_&&r&&r[$_])}e$.exports=aMe});var n$=w((DAt,i$)=>{var AMe=H0(),lMe=t$();function r$(r,e,t,i,n){var s=-1,o=r.length;for(t||(t=lMe),n||(n=[]);++s0&&t(a)?e>1?r$(a,e-1,t,i,n):AMe(n,a):i||(n[n.length]=a)}return n}i$.exports=r$});var o$=w((kAt,s$)=>{var cMe=n$();function uMe(r){var e=r==null?0:r.length;return e?cMe(r,1):[]}s$.exports=uMe});var A$=w((RAt,a$)=>{function gMe(r,e,t){switch(t.length){case 0:return r.call(e);case 1:return r.call(e,t[0]);case 2:return r.call(e,t[0],t[1]);case 3:return r.call(e,t[0],t[1],t[2])}return r.apply(e,t)}a$.exports=gMe});var GN=w((FAt,c$)=>{var fMe=A$(),l$=Math.max;function hMe(r,e,t){return e=l$(e===void 0?r.length-1:e,0),function(){for(var i=arguments,n=-1,s=l$(i.length-e,0),o=Array(s);++n{function pMe(r){return function(){return r}}u$.exports=pMe});var G0=w((LAt,f$)=>{function dMe(r){return r}f$.exports=dMe});var d$=w((TAt,p$)=>{var CMe=g$(),h$=MN(),mMe=G0(),EMe=h$?function(r,e){return h$(r,"toString",{configurable:!0,enumerable:!1,value:CMe(e),writable:!0})}:mMe;p$.exports=EMe});var m$=w((OAt,C$)=>{var IMe=800,yMe=16,wMe=Date.now;function BMe(r){var e=0,t=0;return function(){var i=wMe(),n=yMe-(i-t);if(t=i,n>0){if(++e>=IMe)return arguments[0]}else e=0;return r.apply(void 0,arguments)}}C$.exports=BMe});var YN=w((MAt,E$)=>{var QMe=d$(),bMe=m$(),SMe=bMe(QMe);E$.exports=SMe});var y$=w((KAt,I$)=>{var vMe=o$(),xMe=GN(),PMe=YN();function DMe(r){return PMe(xMe(r,void 0,vMe),r+"")}I$.exports=DMe});var B$=w((UAt,w$)=>{var kMe=X_(),RMe=y$(),FMe=RMe(function(r,e){return r==null?{}:kMe(r,e)});w$.exports=FMe});var L$=w((lct,N$)=>{"use strict";var XN;try{XN=Map}catch{}var ZN;try{ZN=Set}catch{}function R$(r,e,t){if(!r||typeof r!="object"||typeof r=="function")return r;if(r.nodeType&&"cloneNode"in r)return r.cloneNode(!0);if(r instanceof Date)return new Date(r.getTime());if(r instanceof RegExp)return new RegExp(r);if(Array.isArray(r))return r.map(F$);if(XN&&r instanceof XN)return new Map(Array.from(r.entries()));if(ZN&&r instanceof ZN)return new Set(Array.from(r.values()));if(r instanceof Object){e.push(r);var i=Object.create(r);t.push(i);for(var n in r){var s=e.findIndex(function(o){return o===r[n]});i[n]=s>-1?t[s]:R$(r[n],e,t)}return i}return r}function F$(r){return R$(r,[],[])}N$.exports=F$});var nm=w(_N=>{"use strict";Object.defineProperty(_N,"__esModule",{value:!0});_N.default=zMe;var GMe=Object.prototype.toString,YMe=Error.prototype.toString,jMe=RegExp.prototype.toString,qMe=typeof Symbol<"u"?Symbol.prototype.toString:()=>"",JMe=/^Symbol\((.*)\)(.*)$/;function WMe(r){return r!=+r?"NaN":r===0&&1/r<0?"-0":""+r}function T$(r,e=!1){if(r==null||r===!0||r===!1)return""+r;let t=typeof r;if(t==="number")return WMe(r);if(t==="string")return e?`"${r}"`:r;if(t==="function")return"[Function "+(r.name||"anonymous")+"]";if(t==="symbol")return qMe.call(r).replace(JMe,"Symbol($1)");let i=GMe.call(r).slice(8,-1);return i==="Date"?isNaN(r.getTime())?""+r:r.toISOString(r):i==="Error"||r instanceof Error?"["+YMe.call(r)+"]":i==="RegExp"?jMe.call(r):null}function zMe(r,e){let t=T$(r,e);return t!==null?t:JSON.stringify(r,function(i,n){let s=T$(this[i],e);return s!==null?s:n},2)}});var rA=w(Ei=>{"use strict";Object.defineProperty(Ei,"__esModule",{value:!0});Ei.default=Ei.array=Ei.object=Ei.boolean=Ei.date=Ei.number=Ei.string=Ei.mixed=void 0;var O$=VMe(nm());function VMe(r){return r&&r.__esModule?r:{default:r}}var M$={default:"${path} is invalid",required:"${path} is a required field",oneOf:"${path} must be one of the following values: ${values}",notOneOf:"${path} must not be one of the following values: ${values}",notType:({path:r,type:e,value:t,originalValue:i})=>{let n=i!=null&&i!==t,s=`${r} must be a \`${e}\` type, but the final value was: \`${(0,O$.default)(t,!0)}\``+(n?` (cast from the value \`${(0,O$.default)(i,!0)}\`).`:".");return t===null&&(s+='\n If "null" is intended as an empty value be sure to mark the schema as `.nullable()`'),s},defined:"${path} must be defined"};Ei.mixed=M$;var K$={length:"${path} must be exactly ${length} characters",min:"${path} must be at least ${min} characters",max:"${path} must be at most ${max} characters",matches:'${path} must match the following: "${regex}"',email:"${path} must be a valid email",url:"${path} must be a valid URL",uuid:"${path} must be a valid UUID",trim:"${path} must be a trimmed string",lowercase:"${path} must be a lowercase string",uppercase:"${path} must be a upper case string"};Ei.string=K$;var U$={min:"${path} must be greater than or equal to ${min}",max:"${path} must be less than or equal to ${max}",lessThan:"${path} must be less than ${less}",moreThan:"${path} must be greater than ${more}",positive:"${path} must be a positive number",negative:"${path} must be a negative number",integer:"${path} must be an integer"};Ei.number=U$;var H$={min:"${path} field must be later than ${min}",max:"${path} field must be at earlier than ${max}"};Ei.date=H$;var G$={isValue:"${path} field must be ${value}"};Ei.boolean=G$;var Y$={noUnknown:"${path} field has unspecified keys: ${unknown}"};Ei.object=Y$;var j$={min:"${path} field must have at least ${min} items",max:"${path} field must have less than or equal to ${max} items",length:"${path} must be have ${length} items"};Ei.array=j$;var XMe=Object.assign(Object.create(null),{mixed:M$,string:K$,number:U$,date:H$,object:Y$,array:j$,boolean:G$});Ei.default=XMe});var J$=w((gct,q$)=>{var ZMe=Object.prototype,_Me=ZMe.hasOwnProperty;function $Me(r,e){return r!=null&&_Me.call(r,e)}q$.exports=$Me});var sm=w((fct,W$)=>{var e1e=J$(),t1e=UN();function r1e(r,e){return r!=null&&t1e(r,e,e1e)}W$.exports=r1e});var bh=w(V0=>{"use strict";Object.defineProperty(V0,"__esModule",{value:!0});V0.default=void 0;var i1e=r=>r&&r.__isYupSchema__;V0.default=i1e});var V$=w(X0=>{"use strict";Object.defineProperty(X0,"__esModule",{value:!0});X0.default=void 0;var n1e=z$(sm()),s1e=z$(bh());function z$(r){return r&&r.__esModule?r:{default:r}}var $N=class{constructor(e,t){if(this.refs=e,this.refs=e,typeof t=="function"){this.fn=t;return}if(!(0,n1e.default)(t,"is"))throw new TypeError("`is:` is required for `when()` conditions");if(!t.then&&!t.otherwise)throw new TypeError("either `then:` or `otherwise:` is required for `when()` conditions");let{is:i,then:n,otherwise:s}=t,o=typeof i=="function"?i:(...a)=>a.every(l=>l===i);this.fn=function(...a){let l=a.pop(),c=a.pop(),u=o(...a)?n:s;if(!!u)return typeof u=="function"?u(c):c.concat(u.resolve(l))}}resolve(e,t){let i=this.refs.map(s=>s.getValue(t==null?void 0:t.value,t==null?void 0:t.parent,t==null?void 0:t.context)),n=this.fn.apply(e,i.concat(e,t));if(n===void 0||n===e)return e;if(!(0,s1e.default)(n))throw new TypeError("conditions must return a schema object");return n.resolve(t)}},o1e=$N;X0.default=o1e});var tL=w(eL=>{"use strict";Object.defineProperty(eL,"__esModule",{value:!0});eL.default=a1e;function a1e(r){return r==null?[]:[].concat(r)}});var zc=w(Z0=>{"use strict";Object.defineProperty(Z0,"__esModule",{value:!0});Z0.default=void 0;var A1e=X$(nm()),l1e=X$(tL());function X$(r){return r&&r.__esModule?r:{default:r}}function rL(){return rL=Object.assign||function(r){for(var e=1;e(0,A1e.default)(t[s])):typeof e=="function"?e(t):e}static isError(e){return e&&e.name==="ValidationError"}constructor(e,t,i,n){super(),this.name="ValidationError",this.value=t,this.path=i,this.type=n,this.errors=[],this.inner=[],(0,l1e.default)(e).forEach(s=>{Sh.isError(s)?(this.errors.push(...s.errors),this.inner=this.inner.concat(s.inner.length?s.inner:s)):this.errors.push(s)}),this.message=this.errors.length>1?`${this.errors.length} errors occurred`:this.errors[0],Error.captureStackTrace&&Error.captureStackTrace(this,Sh)}};Z0.default=Sh});var _0=w(nL=>{"use strict";Object.defineProperty(nL,"__esModule",{value:!0});nL.default=f1e;var iL=u1e(zc());function u1e(r){return r&&r.__esModule?r:{default:r}}var g1e=r=>{let e=!1;return(...t)=>{e||(e=!0,r(...t))}};function f1e(r,e){let{endEarly:t,tests:i,args:n,value:s,errors:o,sort:a,path:l}=r,c=g1e(e),u=i.length,g=[];if(o=o||[],!u)return o.length?c(new iL.default(o,s,l)):c(null,s);for(let f=0;f{function h1e(r){return function(e,t,i){for(var n=-1,s=Object(e),o=i(e),a=o.length;a--;){var l=o[r?a:++n];if(t(s[l],l,s)===!1)break}return e}}Z$.exports=h1e});var sL=w((Ict,$$)=>{var p1e=_$(),d1e=p1e();$$.exports=d1e});var tee=w((yct,eee)=>{function C1e(r,e){for(var t=-1,i=Array(r);++t{function m1e(){return!1}ree.exports=m1e});var am=w((om,vh)=>{var E1e=Es(),I1e=iee(),oee=typeof om=="object"&&om&&!om.nodeType&&om,nee=oee&&typeof vh=="object"&&vh&&!vh.nodeType&&vh,y1e=nee&&nee.exports===oee,see=y1e?E1e.Buffer:void 0,w1e=see?see.isBuffer:void 0,B1e=w1e||I1e;vh.exports=B1e});var Aee=w((Bct,aee)=>{var Q1e=Pc(),b1e=U0(),S1e=Jo(),v1e="[object Arguments]",x1e="[object Array]",P1e="[object Boolean]",D1e="[object Date]",k1e="[object Error]",R1e="[object Function]",F1e="[object Map]",N1e="[object Number]",L1e="[object Object]",T1e="[object RegExp]",O1e="[object Set]",M1e="[object String]",K1e="[object WeakMap]",U1e="[object ArrayBuffer]",H1e="[object DataView]",G1e="[object Float32Array]",Y1e="[object Float64Array]",j1e="[object Int8Array]",q1e="[object Int16Array]",J1e="[object Int32Array]",W1e="[object Uint8Array]",z1e="[object Uint8ClampedArray]",V1e="[object Uint16Array]",X1e="[object Uint32Array]",Ir={};Ir[G1e]=Ir[Y1e]=Ir[j1e]=Ir[q1e]=Ir[J1e]=Ir[W1e]=Ir[z1e]=Ir[V1e]=Ir[X1e]=!0;Ir[v1e]=Ir[x1e]=Ir[U1e]=Ir[P1e]=Ir[H1e]=Ir[D1e]=Ir[k1e]=Ir[R1e]=Ir[F1e]=Ir[N1e]=Ir[L1e]=Ir[T1e]=Ir[O1e]=Ir[M1e]=Ir[K1e]=!1;function Z1e(r){return S1e(r)&&b1e(r.length)&&!!Ir[Q1e(r)]}aee.exports=Z1e});var $0=w((Qct,lee)=>{function _1e(r){return function(e){return r(e)}}lee.exports=_1e});var eQ=w((Am,xh)=>{var $1e=WD(),cee=typeof Am=="object"&&Am&&!Am.nodeType&&Am,lm=cee&&typeof xh=="object"&&xh&&!xh.nodeType&&xh,eKe=lm&&lm.exports===cee,oL=eKe&&$1e.process,tKe=function(){try{var r=lm&&lm.require&&lm.require("util").types;return r||oL&&oL.binding&&oL.binding("util")}catch{}}();xh.exports=tKe});var tQ=w((bct,fee)=>{var rKe=Aee(),iKe=$0(),uee=eQ(),gee=uee&&uee.isTypedArray,nKe=gee?iKe(gee):rKe;fee.exports=nKe});var aL=w((Sct,hee)=>{var sKe=tee(),oKe=rm(),aKe=bs(),AKe=am(),lKe=tm(),cKe=tQ(),uKe=Object.prototype,gKe=uKe.hasOwnProperty;function fKe(r,e){var t=aKe(r),i=!t&&oKe(r),n=!t&&!i&&AKe(r),s=!t&&!i&&!n&&cKe(r),o=t||i||n||s,a=o?sKe(r.length,String):[],l=a.length;for(var c in r)(e||gKe.call(r,c))&&!(o&&(c=="length"||n&&(c=="offset"||c=="parent")||s&&(c=="buffer"||c=="byteLength"||c=="byteOffset")||lKe(c,l)))&&a.push(c);return a}hee.exports=fKe});var rQ=w((vct,pee)=>{var hKe=Object.prototype;function pKe(r){var e=r&&r.constructor,t=typeof e=="function"&&e.prototype||hKe;return r===t}pee.exports=pKe});var AL=w((xct,dee)=>{function dKe(r,e){return function(t){return r(e(t))}}dee.exports=dKe});var mee=w((Pct,Cee)=>{var CKe=AL(),mKe=CKe(Object.keys,Object);Cee.exports=mKe});var Iee=w((Dct,Eee)=>{var EKe=rQ(),IKe=mee(),yKe=Object.prototype,wKe=yKe.hasOwnProperty;function BKe(r){if(!EKe(r))return IKe(r);var e=[];for(var t in Object(r))wKe.call(r,t)&&t!="constructor"&&e.push(t);return e}Eee.exports=BKe});var cm=w((kct,yee)=>{var QKe=T0(),bKe=U0();function SKe(r){return r!=null&&bKe(r.length)&&!QKe(r)}yee.exports=SKe});var Ph=w((Rct,wee)=>{var vKe=aL(),xKe=Iee(),PKe=cm();function DKe(r){return PKe(r)?vKe(r):xKe(r)}wee.exports=DKe});var lL=w((Fct,Bee)=>{var kKe=sL(),RKe=Ph();function FKe(r,e){return r&&kKe(r,e,RKe)}Bee.exports=FKe});var bee=w((Nct,Qee)=>{var NKe=_C();function LKe(){this.__data__=new NKe,this.size=0}Qee.exports=LKe});var vee=w((Lct,See)=>{function TKe(r){var e=this.__data__,t=e.delete(r);return this.size=e.size,t}See.exports=TKe});var Pee=w((Tct,xee)=>{function OKe(r){return this.__data__.get(r)}xee.exports=OKe});var kee=w((Oct,Dee)=>{function MKe(r){return this.__data__.has(r)}Dee.exports=MKe});var Fee=w((Mct,Ree)=>{var KKe=_C(),UKe=O0(),HKe=M0(),GKe=200;function YKe(r,e){var t=this.__data__;if(t instanceof KKe){var i=t.__data__;if(!UKe||i.length{var jKe=_C(),qKe=bee(),JKe=vee(),WKe=Pee(),zKe=kee(),VKe=Fee();function Dh(r){var e=this.__data__=new jKe(r);this.size=e.size}Dh.prototype.clear=qKe;Dh.prototype.delete=JKe;Dh.prototype.get=WKe;Dh.prototype.has=zKe;Dh.prototype.set=VKe;Nee.exports=Dh});var Tee=w((Uct,Lee)=>{var XKe="__lodash_hash_undefined__";function ZKe(r){return this.__data__.set(r,XKe),this}Lee.exports=ZKe});var Mee=w((Hct,Oee)=>{function _Ke(r){return this.__data__.has(r)}Oee.exports=_Ke});var Uee=w((Gct,Kee)=>{var $Ke=M0(),eUe=Tee(),tUe=Mee();function iQ(r){var e=-1,t=r==null?0:r.length;for(this.__data__=new $Ke;++e{function rUe(r,e){for(var t=-1,i=r==null?0:r.length;++t{function iUe(r,e){return r.has(e)}Yee.exports=iUe});var cL=w((qct,qee)=>{var nUe=Uee(),sUe=Gee(),oUe=jee(),aUe=1,AUe=2;function lUe(r,e,t,i,n,s){var o=t&aUe,a=r.length,l=e.length;if(a!=l&&!(o&&l>a))return!1;var c=s.get(r),u=s.get(e);if(c&&u)return c==e&&u==r;var g=-1,f=!0,h=t&AUe?new nUe:void 0;for(s.set(r,e),s.set(e,r);++g{var cUe=Es(),uUe=cUe.Uint8Array;Jee.exports=uUe});var zee=w((Wct,Wee)=>{function gUe(r){var e=-1,t=Array(r.size);return r.forEach(function(i,n){t[++e]=[n,i]}),t}Wee.exports=gUe});var Xee=w((zct,Vee)=>{function fUe(r){var e=-1,t=Array(r.size);return r.forEach(function(i){t[++e]=i}),t}Vee.exports=fUe});var tte=w((Vct,ete)=>{var Zee=xc(),_ee=uL(),hUe=Ch(),pUe=cL(),dUe=zee(),CUe=Xee(),mUe=1,EUe=2,IUe="[object Boolean]",yUe="[object Date]",wUe="[object Error]",BUe="[object Map]",QUe="[object Number]",bUe="[object RegExp]",SUe="[object Set]",vUe="[object String]",xUe="[object Symbol]",PUe="[object ArrayBuffer]",DUe="[object DataView]",$ee=Zee?Zee.prototype:void 0,gL=$ee?$ee.valueOf:void 0;function kUe(r,e,t,i,n,s,o){switch(t){case DUe:if(r.byteLength!=e.byteLength||r.byteOffset!=e.byteOffset)return!1;r=r.buffer,e=e.buffer;case PUe:return!(r.byteLength!=e.byteLength||!s(new _ee(r),new _ee(e)));case IUe:case yUe:case QUe:return hUe(+r,+e);case wUe:return r.name==e.name&&r.message==e.message;case bUe:case vUe:return r==e+"";case BUe:var a=dUe;case SUe:var l=i&mUe;if(a||(a=CUe),r.size!=e.size&&!l)return!1;var c=o.get(r);if(c)return c==e;i|=EUe,o.set(r,e);var u=pUe(a(r),a(e),i,n,s,o);return o.delete(r),u;case xUe:if(gL)return gL.call(r)==gL.call(e)}return!1}ete.exports=kUe});var fL=w((Xct,rte)=>{var RUe=H0(),FUe=bs();function NUe(r,e,t){var i=e(r);return FUe(r)?i:RUe(i,t(r))}rte.exports=NUe});var nte=w((Zct,ite)=>{function LUe(r,e){for(var t=-1,i=r==null?0:r.length,n=0,s=[];++t{function TUe(){return[]}ste.exports=TUe});var nQ=w(($ct,ate)=>{var OUe=nte(),MUe=hL(),KUe=Object.prototype,UUe=KUe.propertyIsEnumerable,ote=Object.getOwnPropertySymbols,HUe=ote?function(r){return r==null?[]:(r=Object(r),OUe(ote(r),function(e){return UUe.call(r,e)}))}:MUe;ate.exports=HUe});var pL=w((eut,Ate)=>{var GUe=fL(),YUe=nQ(),jUe=Ph();function qUe(r){return GUe(r,jUe,YUe)}Ate.exports=qUe});var ute=w((tut,cte)=>{var lte=pL(),JUe=1,WUe=Object.prototype,zUe=WUe.hasOwnProperty;function VUe(r,e,t,i,n,s){var o=t&JUe,a=lte(r),l=a.length,c=lte(e),u=c.length;if(l!=u&&!o)return!1;for(var g=l;g--;){var f=a[g];if(!(o?f in e:zUe.call(e,f)))return!1}var h=s.get(r),p=s.get(e);if(h&&p)return h==e&&p==r;var C=!0;s.set(r,e),s.set(e,r);for(var y=o;++g{var XUe=fl(),ZUe=Es(),_Ue=XUe(ZUe,"DataView");gte.exports=_Ue});var pte=w((iut,hte)=>{var $Ue=fl(),e2e=Es(),t2e=$Ue(e2e,"Promise");hte.exports=t2e});var Cte=w((nut,dte)=>{var r2e=fl(),i2e=Es(),n2e=r2e(i2e,"Set");dte.exports=n2e});var Ete=w((sut,mte)=>{var s2e=fl(),o2e=Es(),a2e=s2e(o2e,"WeakMap");mte.exports=a2e});var gm=w((out,Ste)=>{var dL=fte(),CL=O0(),mL=pte(),EL=Cte(),IL=Ete(),bte=Pc(),kh=TN(),Ite="[object Map]",A2e="[object Object]",yte="[object Promise]",wte="[object Set]",Bte="[object WeakMap]",Qte="[object DataView]",l2e=kh(dL),c2e=kh(CL),u2e=kh(mL),g2e=kh(EL),f2e=kh(IL),Vc=bte;(dL&&Vc(new dL(new ArrayBuffer(1)))!=Qte||CL&&Vc(new CL)!=Ite||mL&&Vc(mL.resolve())!=yte||EL&&Vc(new EL)!=wte||IL&&Vc(new IL)!=Bte)&&(Vc=function(r){var e=bte(r),t=e==A2e?r.constructor:void 0,i=t?kh(t):"";if(i)switch(i){case l2e:return Qte;case c2e:return Ite;case u2e:return yte;case g2e:return wte;case f2e:return Bte}return e});Ste.exports=Vc});var Nte=w((aut,Fte)=>{var yL=um(),h2e=cL(),p2e=tte(),d2e=ute(),vte=gm(),xte=bs(),Pte=am(),C2e=tQ(),m2e=1,Dte="[object Arguments]",kte="[object Array]",sQ="[object Object]",E2e=Object.prototype,Rte=E2e.hasOwnProperty;function I2e(r,e,t,i,n,s){var o=xte(r),a=xte(e),l=o?kte:vte(r),c=a?kte:vte(e);l=l==Dte?sQ:l,c=c==Dte?sQ:c;var u=l==sQ,g=c==sQ,f=l==c;if(f&&Pte(r)){if(!Pte(e))return!1;o=!0,u=!1}if(f&&!u)return s||(s=new yL),o||C2e(r)?h2e(r,e,t,i,n,s):p2e(r,e,l,t,i,n,s);if(!(t&m2e)){var h=u&&Rte.call(r,"__wrapped__"),p=g&&Rte.call(e,"__wrapped__");if(h||p){var C=h?r.value():r,y=p?e.value():e;return s||(s=new yL),n(C,y,t,i,s)}}return f?(s||(s=new yL),d2e(r,e,t,i,n,s)):!1}Fte.exports=I2e});var wL=w((Aut,Ote)=>{var y2e=Nte(),Lte=Jo();function Tte(r,e,t,i,n){return r===e?!0:r==null||e==null||!Lte(r)&&!Lte(e)?r!==r&&e!==e:y2e(r,e,t,i,Tte,n)}Ote.exports=Tte});var Kte=w((lut,Mte)=>{var w2e=um(),B2e=wL(),Q2e=1,b2e=2;function S2e(r,e,t,i){var n=t.length,s=n,o=!i;if(r==null)return!s;for(r=Object(r);n--;){var a=t[n];if(o&&a[2]?a[1]!==r[a[0]]:!(a[0]in r))return!1}for(;++n{var v2e=bn();function x2e(r){return r===r&&!v2e(r)}Ute.exports=x2e});var Gte=w((uut,Hte)=>{var P2e=BL(),D2e=Ph();function k2e(r){for(var e=D2e(r),t=e.length;t--;){var i=e[t],n=r[i];e[t]=[i,n,P2e(n)]}return e}Hte.exports=k2e});var QL=w((gut,Yte)=>{function R2e(r,e){return function(t){return t==null?!1:t[r]===e&&(e!==void 0||r in Object(t))}}Yte.exports=R2e});var qte=w((fut,jte)=>{var F2e=Kte(),N2e=Gte(),L2e=QL();function T2e(r){var e=N2e(r);return e.length==1&&e[0][2]?L2e(e[0][0],e[0][1]):function(t){return t===r||F2e(t,r,e)}}jte.exports=T2e});var oQ=w((hut,Jte)=>{var O2e=em();function M2e(r,e,t){var i=r==null?void 0:O2e(r,e);return i===void 0?t:i}Jte.exports=M2e});var zte=w((put,Wte)=>{var K2e=wL(),U2e=oQ(),H2e=HN(),G2e=L0(),Y2e=BL(),j2e=QL(),q2e=Wc(),J2e=1,W2e=2;function z2e(r,e){return G2e(r)&&Y2e(e)?j2e(q2e(r),e):function(t){var i=U2e(t,r);return i===void 0&&i===e?H2e(t,r):K2e(e,i,J2e|W2e)}}Wte.exports=z2e});var Xte=w((dut,Vte)=>{function V2e(r){return function(e){return e==null?void 0:e[r]}}Vte.exports=V2e});var _te=w((Cut,Zte)=>{var X2e=em();function Z2e(r){return function(e){return X2e(e,r)}}Zte.exports=Z2e});var ere=w((mut,$te)=>{var _2e=Xte(),$2e=_te(),eHe=L0(),tHe=Wc();function rHe(r){return eHe(r)?_2e(tHe(r)):$2e(r)}$te.exports=rHe});var bL=w((Eut,tre)=>{var iHe=qte(),nHe=zte(),sHe=G0(),oHe=bs(),aHe=ere();function AHe(r){return typeof r=="function"?r:r==null?sHe:typeof r=="object"?oHe(r)?nHe(r[0],r[1]):iHe(r):aHe(r)}tre.exports=AHe});var SL=w((Iut,rre)=>{var lHe=yh(),cHe=lL(),uHe=bL();function gHe(r,e){var t={};return e=uHe(e,3),cHe(r,function(i,n,s){lHe(t,n,e(i,n,s))}),t}rre.exports=gHe});var fm=w((yut,are)=>{"use strict";function Xc(r){this._maxSize=r,this.clear()}Xc.prototype.clear=function(){this._size=0,this._values=Object.create(null)};Xc.prototype.get=function(r){return this._values[r]};Xc.prototype.set=function(r,e){return this._size>=this._maxSize&&this.clear(),r in this._values||this._size++,this._values[r]=e};var fHe=/[^.^\]^[]+|(?=\[\]|\.\.)/g,ore=/^\d+$/,hHe=/^\d/,pHe=/[~`!#$%\^&*+=\-\[\]\\';,/{}|\\":<>\?]/g,dHe=/^\s*(['"]?)(.*?)(\1)\s*$/,PL=512,ire=new Xc(PL),nre=new Xc(PL),sre=new Xc(PL);are.exports={Cache:Xc,split:xL,normalizePath:vL,setter:function(r){var e=vL(r);return nre.get(r)||nre.set(r,function(i,n){for(var s=0,o=e.length,a=i;s{"use strict";Object.defineProperty(pm,"__esModule",{value:!0});pm.create=wHe;pm.default=void 0;var yHe=fm(),aQ={context:"$",value:"."};function wHe(r,e){return new hm(r,e)}var hm=class{constructor(e,t={}){if(typeof e!="string")throw new TypeError("ref must be a string, got: "+e);if(this.key=e.trim(),e==="")throw new TypeError("ref must be a non-empty string");this.isContext=this.key[0]===aQ.context,this.isValue=this.key[0]===aQ.value,this.isSibling=!this.isContext&&!this.isValue;let i=this.isContext?aQ.context:this.isValue?aQ.value:"";this.path=this.key.slice(i.length),this.getter=this.path&&(0,yHe.getter)(this.path,!0),this.map=t.map}getValue(e,t,i){let n=this.isContext?i:this.isValue?e:t;return this.getter&&(n=this.getter(n||{})),this.map&&(n=this.map(n)),n}cast(e,t){return this.getValue(e,t==null?void 0:t.parent,t==null?void 0:t.context)}resolve(){return this}describe(){return{type:"ref",key:this.key}}toString(){return`Ref(${this.key})`}static isRef(e){return e&&e.__isYupRef}};pm.default=hm;hm.prototype.__isYupRef=!0});var Are=w(RL=>{"use strict";Object.defineProperty(RL,"__esModule",{value:!0});RL.default=SHe;var BHe=kL(SL()),AQ=kL(zc()),QHe=kL(Zc());function kL(r){return r&&r.__esModule?r:{default:r}}function lQ(){return lQ=Object.assign||function(r){for(var e=1;e=0)&&(t[n]=r[n]);return t}function SHe(r){function e(t,i){let{value:n,path:s="",label:o,options:a,originalValue:l,sync:c}=t,u=bHe(t,["value","path","label","options","originalValue","sync"]),{name:g,test:f,params:h,message:p}=r,{parent:C,context:y}=a;function B(j){return QHe.default.isRef(j)?j.getValue(n,C,y):j}function v(j={}){let $=(0,BHe.default)(lQ({value:n,originalValue:l,label:o,path:j.path||s},h,j.params),B),V=new AQ.default(AQ.default.formatError(j.message||p,$),n,$.path,j.type||g);return V.params=$,V}let D=lQ({path:s,parent:C,type:g,createError:v,resolve:B,options:a,originalValue:l},u);if(!c){try{Promise.resolve(f.call(D,n,D)).then(j=>{AQ.default.isError(j)?i(j):j?i(null,j):i(v())})}catch(j){i(j)}return}let L;try{var H;if(L=f.call(D,n,D),typeof((H=L)==null?void 0:H.then)=="function")throw new Error(`Validation test of type: "${D.type}" returned a Promise during a synchronous validate. This test will finish after the validate call has returned`)}catch(j){i(j);return}AQ.default.isError(L)?i(L):L?i(null,L):i(v())}return e.OPTIONS=r,e}});var FL=w(dm=>{"use strict";Object.defineProperty(dm,"__esModule",{value:!0});dm.getIn=lre;dm.default=void 0;var vHe=fm(),xHe=r=>r.substr(0,r.length-1).substr(1);function lre(r,e,t,i=t){let n,s,o;return e?((0,vHe.forEach)(e,(a,l,c)=>{let u=l?xHe(a):a;if(r=r.resolve({context:i,parent:n,value:t}),r.innerType){let g=c?parseInt(u,10):0;if(t&&g>=t.length)throw new Error(`Yup.reach cannot resolve an array item at index: ${a}, in the path: ${e}. because there is no value at that index. `);n=t,t=t&&t[g],r=r.innerType}if(!c){if(!r.fields||!r.fields[u])throw new Error(`The schema does not contain the path: ${e}. (failed at: ${o} which is a type: "${r._type}")`);n=t,t=t&&t[u],r=r.fields[u]}s=u,o=l?"["+a+"]":"."+a}),{schema:r,parent:n,parentPath:s}):{parent:n,parentPath:e,schema:r}}var PHe=(r,e,t,i)=>lre(r,e,t,i).schema,DHe=PHe;dm.default=DHe});var ure=w(cQ=>{"use strict";Object.defineProperty(cQ,"__esModule",{value:!0});cQ.default=void 0;var cre=kHe(Zc());function kHe(r){return r&&r.__esModule?r:{default:r}}var Cm=class{constructor(){this.list=new Set,this.refs=new Map}get size(){return this.list.size+this.refs.size}describe(){let e=[];for(let t of this.list)e.push(t);for(let[,t]of this.refs)e.push(t.describe());return e}toArray(){return Array.from(this.list).concat(Array.from(this.refs.values()))}add(e){cre.default.isRef(e)?this.refs.set(e.key,e):this.list.add(e)}delete(e){cre.default.isRef(e)?this.refs.delete(e.key):this.list.delete(e)}has(e,t){if(this.list.has(e))return!0;let i,n=this.refs.values();for(;i=n.next(),!i.done;)if(t(i.value)===e)return!0;return!1}clone(){let e=new Cm;return e.list=new Set(this.list),e.refs=new Map(this.refs),e}merge(e,t){let i=this.clone();return e.list.forEach(n=>i.add(n)),e.refs.forEach(n=>i.add(n)),t.list.forEach(n=>i.delete(n)),t.refs.forEach(n=>i.delete(n)),i}};cQ.default=Cm});var nA=w(gQ=>{"use strict";Object.defineProperty(gQ,"__esModule",{value:!0});gQ.default=void 0;var gre=iA(L$()),Rh=rA(),RHe=iA(V$()),fre=iA(_0()),uQ=iA(Are()),hre=iA(nm()),FHe=iA(Zc()),NHe=FL(),LHe=iA(tL()),pre=iA(zc()),dre=iA(ure());function iA(r){return r&&r.__esModule?r:{default:r}}function ks(){return ks=Object.assign||function(r){for(var e=1;e{this.typeError(Rh.mixed.notType)}),this.type=(e==null?void 0:e.type)||"mixed",this.spec=ks({strip:!1,strict:!1,abortEarly:!0,recursive:!0,nullable:!1,presence:"optional"},e==null?void 0:e.spec)}get _type(){return this.type}_typeCheck(e){return!0}clone(e){if(this._mutate)return e&&Object.assign(this.spec,e),this;let t=Object.create(Object.getPrototypeOf(this));return t.type=this.type,t._typeError=this._typeError,t._whitelistError=this._whitelistError,t._blacklistError=this._blacklistError,t._whitelist=this._whitelist.clone(),t._blacklist=this._blacklist.clone(),t.exclusiveTests=ks({},this.exclusiveTests),t.deps=[...this.deps],t.conditions=[...this.conditions],t.tests=[...this.tests],t.transforms=[...this.transforms],t.spec=(0,gre.default)(ks({},this.spec,e)),t}label(e){var t=this.clone();return t.spec.label=e,t}meta(...e){if(e.length===0)return this.spec.meta;let t=this.clone();return t.spec.meta=Object.assign(t.spec.meta||{},e[0]),t}withMutation(e){let t=this._mutate;this._mutate=!0;let i=e(this);return this._mutate=t,i}concat(e){if(!e||e===this)return this;if(e.type!==this.type&&this.type!=="mixed")throw new TypeError(`You cannot \`concat()\` schema's of different types: ${this.type} and ${e.type}`);let t=this,i=e.clone(),n=ks({},t.spec,i.spec);return i.spec=n,i._typeError||(i._typeError=t._typeError),i._whitelistError||(i._whitelistError=t._whitelistError),i._blacklistError||(i._blacklistError=t._blacklistError),i._whitelist=t._whitelist.merge(e._whitelist,e._blacklist),i._blacklist=t._blacklist.merge(e._blacklist,e._whitelist),i.tests=t.tests,i.exclusiveTests=t.exclusiveTests,i.withMutation(s=>{e.tests.forEach(o=>{s.test(o.OPTIONS)})}),i}isType(e){return this.spec.nullable&&e===null?!0:this._typeCheck(e)}resolve(e){let t=this;if(t.conditions.length){let i=t.conditions;t=t.clone(),t.conditions=[],t=i.reduce((n,s)=>s.resolve(n,e),t),t=t.resolve(e)}return t}cast(e,t={}){let i=this.resolve(ks({value:e},t)),n=i._cast(e,t);if(e!==void 0&&t.assert!==!1&&i.isType(n)!==!0){let s=(0,hre.default)(e),o=(0,hre.default)(n);throw new TypeError(`The value of ${t.path||"field"} could not be cast to a value that satisfies the schema type: "${i._type}". attempted value: ${s} -`+(o!==s?`result of cast: ${o}`:""))}return n}_cast(e,t){let i=e===void 0?e:this.transforms.reduce((n,s)=>s.call(this,n,e,this),e);return i===void 0&&(i=this.getDefault()),i}_validate(e,t={},i){let{sync:n,path:s,from:o=[],originalValue:a=e,strict:l=this.spec.strict,abortEarly:c=this.spec.abortEarly}=t,u=e;l||(u=this._cast(u,Ps({assert:!1},t)));let g={value:u,path:s,options:t,originalValue:a,schema:this,label:this.spec.label,sync:n,from:o},f=[];this._typeError&&f.push(this._typeError),this._whitelistError&&f.push(this._whitelistError),this._blacklistError&&f.push(this._blacklistError),(0,xte.default)({args:g,value:u,path:s,sync:n,tests:f,endEarly:c},h=>{if(h)return void i(h,u);(0,xte.default)({tests:this.tests,args:g,path:s,sync:n,value:u,endEarly:c},i)})}validate(e,t,i){let n=this.resolve(Ps({},t,{value:e}));return typeof i=="function"?n._validate(e,t,i):new Promise((s,o)=>n._validate(e,t,(a,l)=>{a?o(a):s(l)}))}validateSync(e,t){let i=this.resolve(Ps({},t,{value:e})),n;return i._validate(e,Ps({},t,{sync:!0}),(s,o)=>{if(s)throw s;n=o}),n}isValid(e,t){return this.validate(e,t).then(()=>!0,i=>{if(Dte.default.isError(i))return!1;throw i})}isValidSync(e,t){try{return this.validateSync(e,t),!0}catch(i){if(Dte.default.isError(i))return!1;throw i}}_getDefault(){let e=this.spec.default;return e==null?e:typeof e=="function"?e.call(this):(0,vte.default)(e)}getDefault(e){return this.resolve(e||{})._getDefault()}default(e){return arguments.length===0?this._getDefault():this.clone({default:e})}strict(e=!0){var t=this.clone();return t.spec.strict=e,t}_isPresent(e){return e!=null}defined(e=Bh.mixed.defined){return this.test({message:e,name:"defined",exclusive:!0,test(t){return t!==void 0}})}required(e=Bh.mixed.required){return this.clone({presence:"required"}).withMutation(t=>t.test({message:e,name:"required",exclusive:!0,test(i){return this.schema._isPresent(i)}}))}notRequired(){var e=this.clone({presence:"optional"});return e.tests=e.tests.filter(t=>t.OPTIONS.name!=="required"),e}nullable(e=!0){var t=this.clone({nullable:e!==!1});return t}transform(e){var t=this.clone();return t.transforms.push(e),t}test(...e){let t;if(e.length===1?typeof e[0]=="function"?t={test:e[0]}:t=e[0]:e.length===2?t={name:e[0],test:e[1]}:t={name:e[0],message:e[1],test:e[2]},t.message===void 0&&(t.message=Bh.mixed.default),typeof t.test!="function")throw new TypeError("`test` is a required parameters");let i=this.clone(),n=(0,V0.default)(t),s=t.exclusive||t.name&&i.exclusiveTests[t.name]===!0;if(t.exclusive&&!t.name)throw new TypeError("Exclusive tests must provide a unique `name` identifying the test");return t.name&&(i.exclusiveTests[t.name]=!!t.exclusive),i.tests=i.tests.filter(o=>!(o.OPTIONS.name===t.name&&(s||o.OPTIONS.test===n.OPTIONS.test))),i.tests.push(n),i}when(e,t){!Array.isArray(e)&&typeof e!="string"&&(t=e,e=".");let i=this.clone(),n=(0,D2e.default)(e).map(s=>new x2e.default(s));return n.forEach(s=>{s.isSibling&&i.deps.push(s.key)}),i.conditions.push(new v2e.default(n,t)),i}typeError(e){var t=this.clone();return t._typeError=(0,V0.default)({message:e,name:"typeError",test(i){return i!==void 0&&!this.schema.isType(i)?this.createError({params:{type:this.schema._type}}):!0}}),t}oneOf(e,t=Bh.mixed.oneOf){var i=this.clone();return e.forEach(n=>{i._whitelist.add(n),i._blacklist.delete(n)}),i._whitelistError=(0,V0.default)({message:t,name:"oneOf",test(n){if(n===void 0)return!0;let s=this.schema._whitelist;return s.has(n,this.resolve)?!0:this.createError({params:{values:s.toArray().join(", ")}})}}),i}notOneOf(e,t=Bh.mixed.notOneOf){var i=this.clone();return e.forEach(n=>{i._blacklist.add(n),i._whitelist.delete(n)}),i._blacklistError=(0,V0.default)({message:t,name:"notOneOf",test(n){let s=this.schema._blacklist;return s.has(n,this.resolve)?this.createError({params:{values:s.toArray().join(", ")}}):!0}}),i}strip(e=!0){let t=this.clone();return t.spec.strip=e,t}describe(){let e=this.clone(),{label:t,meta:i}=e.spec;return{meta:i,label:t,type:e.type,oneOf:e._whitelist.describe(),notOneOf:e._blacklist.describe(),tests:e.tests.map(s=>({name:s.OPTIONS.name,params:s.OPTIONS.params})).filter((s,o,a)=>a.findIndex(l=>l.name===s.name)===o)}}};X0.default=no;no.prototype.__isYupSchema__=!0;for(let r of["validate","validateSync"])no.prototype[`${r}At`]=function(e,t,i={}){let{parent:n,parentPath:s,schema:o}=(0,P2e.getIn)(this,e,t,i.context);return o[r](n&&n[s],Ps({},i,{parent:n,path:e}))};for(let r of["equals","is"])no.prototype[r]=no.prototype.oneOf;for(let r of["not","nope"])no.prototype[r]=no.prototype.notOneOf;no.prototype.optional=no.prototype.notRequired});var Fte=w(cm=>{"use strict";Object.defineProperty(cm,"__esModule",{value:!0});cm.create=Rte;cm.default=void 0;var k2e=R2e(Xa());function R2e(r){return r&&r.__esModule?r:{default:r}}var aL=k2e.default,F2e=aL;cm.default=F2e;function Rte(){return new aL}Rte.prototype=aL.prototype});var Qh=w(_0=>{"use strict";Object.defineProperty(_0,"__esModule",{value:!0});_0.default=void 0;var N2e=r=>r==null;_0.default=N2e});var Mte=w(gm=>{"use strict";Object.defineProperty(gm,"__esModule",{value:!0});gm.create=Ote;gm.default=void 0;var L2e=Tte(Xa()),Nte=za(),Lte=Tte(Qh());function Tte(r){return r&&r.__esModule?r:{default:r}}function Ote(){return new um}var um=class extends L2e.default{constructor(){super({type:"boolean"}),this.withMutation(()=>{this.transform(function(e){if(!this.isType(e)){if(/^(true|1)$/i.test(String(e)))return!0;if(/^(false|0)$/i.test(String(e)))return!1}return e})})}_typeCheck(e){return e instanceof Boolean&&(e=e.valueOf()),typeof e=="boolean"}isTrue(e=Nte.boolean.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"true"},test(t){return(0,Lte.default)(t)||t===!0}})}isFalse(e=Nte.boolean.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"false"},test(t){return(0,Lte.default)(t)||t===!1}})}};gm.default=um;Ote.prototype=um.prototype});var Hte=w(hm=>{"use strict";Object.defineProperty(hm,"__esModule",{value:!0});hm.create=Ute;hm.default=void 0;var Zo=za(),_a=Kte(Qh()),T2e=Kte(Xa());function Kte(r){return r&&r.__esModule?r:{default:r}}var O2e=/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i,M2e=/^((https?|ftp):)?\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,K2e=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,U2e=r=>(0,_a.default)(r)||r===r.trim(),H2e={}.toString();function Ute(){return new fm}var fm=class extends T2e.default{constructor(){super({type:"string"}),this.withMutation(()=>{this.transform(function(e){if(this.isType(e)||Array.isArray(e))return e;let t=e!=null&&e.toString?e.toString():e;return t===H2e?e:t})})}_typeCheck(e){return e instanceof String&&(e=e.valueOf()),typeof e=="string"}_isPresent(e){return super._isPresent(e)&&!!e.length}length(e,t=Zo.string.length){return this.test({message:t,name:"length",exclusive:!0,params:{length:e},test(i){return(0,_a.default)(i)||i.length===this.resolve(e)}})}min(e,t=Zo.string.min){return this.test({message:t,name:"min",exclusive:!0,params:{min:e},test(i){return(0,_a.default)(i)||i.length>=this.resolve(e)}})}max(e,t=Zo.string.max){return this.test({name:"max",exclusive:!0,message:t,params:{max:e},test(i){return(0,_a.default)(i)||i.length<=this.resolve(e)}})}matches(e,t){let i=!1,n,s;return t&&(typeof t=="object"?{excludeEmptyString:i=!1,message:n,name:s}=t:n=t),this.test({name:s||"matches",message:n||Zo.string.matches,params:{regex:e},test:o=>(0,_a.default)(o)||o===""&&i||o.search(e)!==-1})}email(e=Zo.string.email){return this.matches(O2e,{name:"email",message:e,excludeEmptyString:!0})}url(e=Zo.string.url){return this.matches(M2e,{name:"url",message:e,excludeEmptyString:!0})}uuid(e=Zo.string.uuid){return this.matches(K2e,{name:"uuid",message:e,excludeEmptyString:!1})}ensure(){return this.default("").transform(e=>e===null?"":e)}trim(e=Zo.string.trim){return this.transform(t=>t!=null?t.trim():t).test({message:e,name:"trim",test:U2e})}lowercase(e=Zo.string.lowercase){return this.transform(t=>(0,_a.default)(t)?t:t.toLowerCase()).test({message:e,name:"string_case",exclusive:!0,test:t=>(0,_a.default)(t)||t===t.toLowerCase()})}uppercase(e=Zo.string.uppercase){return this.transform(t=>(0,_a.default)(t)?t:t.toUpperCase()).test({message:e,name:"string_case",exclusive:!0,test:t=>(0,_a.default)(t)||t===t.toUpperCase()})}};hm.default=fm;Ute.prototype=fm.prototype});var jte=w(dm=>{"use strict";Object.defineProperty(dm,"__esModule",{value:!0});dm.create=Yte;dm.default=void 0;var qc=za(),Jc=Gte(Qh()),G2e=Gte(Xa());function Gte(r){return r&&r.__esModule?r:{default:r}}var Y2e=r=>r!=+r;function Yte(){return new pm}var pm=class extends G2e.default{constructor(){super({type:"number"}),this.withMutation(()=>{this.transform(function(e){let t=e;if(typeof t=="string"){if(t=t.replace(/\s/g,""),t==="")return NaN;t=+t}return this.isType(t)?t:parseFloat(t)})})}_typeCheck(e){return e instanceof Number&&(e=e.valueOf()),typeof e=="number"&&!Y2e(e)}min(e,t=qc.number.min){return this.test({message:t,name:"min",exclusive:!0,params:{min:e},test(i){return(0,Jc.default)(i)||i>=this.resolve(e)}})}max(e,t=qc.number.max){return this.test({message:t,name:"max",exclusive:!0,params:{max:e},test(i){return(0,Jc.default)(i)||i<=this.resolve(e)}})}lessThan(e,t=qc.number.lessThan){return this.test({message:t,name:"max",exclusive:!0,params:{less:e},test(i){return(0,Jc.default)(i)||ithis.resolve(e)}})}positive(e=qc.number.positive){return this.moreThan(0,e)}negative(e=qc.number.negative){return this.lessThan(0,e)}integer(e=qc.number.integer){return this.test({name:"integer",message:e,test:t=>(0,Jc.default)(t)||Number.isInteger(t)})}truncate(){return this.transform(e=>(0,Jc.default)(e)?e:e|0)}round(e){var t,i=["ceil","floor","round","trunc"];if(e=((t=e)==null?void 0:t.toLowerCase())||"round",e==="trunc")return this.truncate();if(i.indexOf(e.toLowerCase())===-1)throw new TypeError("Only valid options for round() are: "+i.join(", "));return this.transform(n=>(0,Jc.default)(n)?n:Math[e](n))}};dm.default=pm;Yte.prototype=pm.prototype});var qte=w(AL=>{"use strict";Object.defineProperty(AL,"__esModule",{value:!0});AL.default=q2e;var j2e=/^(\d{4}|[+\-]\d{6})(?:-?(\d{2})(?:-?(\d{2}))?)?(?:[ T]?(\d{2}):?(\d{2})(?::?(\d{2})(?:[,\.](\d{1,}))?)?(?:(Z)|([+\-])(\d{2})(?::?(\d{2}))?)?)?$/;function q2e(r){var e=[1,4,5,6,7,10,11],t=0,i,n;if(n=j2e.exec(r)){for(var s=0,o;o=e[s];++s)n[o]=+n[o]||0;n[2]=(+n[2]||1)-1,n[3]=+n[3]||1,n[7]=n[7]?String(n[7]).substr(0,3):0,(n[8]===void 0||n[8]==="")&&(n[9]===void 0||n[9]==="")?i=+new Date(n[1],n[2],n[3],n[4],n[5],n[6],n[7]):(n[8]!=="Z"&&n[9]!==void 0&&(t=n[10]*60+n[11],n[9]==="+"&&(t=0-t)),i=Date.UTC(n[1],n[2],n[3],n[4],n[5]+t,n[6],n[7]))}else i=Date.parse?Date.parse(r):NaN;return i}});var zte=w(Cm=>{"use strict";Object.defineProperty(Cm,"__esModule",{value:!0});Cm.create=cL;Cm.default=void 0;var J2e=Z0(qte()),Jte=za(),Wte=Z0(Qh()),W2e=Z0(jc()),z2e=Z0(Xa());function Z0(r){return r&&r.__esModule?r:{default:r}}var lL=new Date(""),V2e=r=>Object.prototype.toString.call(r)==="[object Date]";function cL(){return new bh}var bh=class extends z2e.default{constructor(){super({type:"date"}),this.withMutation(()=>{this.transform(function(e){return this.isType(e)?e:(e=(0,J2e.default)(e),isNaN(e)?lL:new Date(e))})})}_typeCheck(e){return V2e(e)&&!isNaN(e.getTime())}prepareParam(e,t){let i;if(W2e.default.isRef(e))i=e;else{let n=this.cast(e);if(!this._typeCheck(n))throw new TypeError(`\`${t}\` must be a Date or a value that can be \`cast()\` to a Date`);i=n}return i}min(e,t=Jte.date.min){let i=this.prepareParam(e,"min");return this.test({message:t,name:"min",exclusive:!0,params:{min:e},test(n){return(0,Wte.default)(n)||n>=this.resolve(i)}})}max(e,t=Jte.date.max){var i=this.prepareParam(e,"max");return this.test({message:t,name:"max",exclusive:!0,params:{max:e},test(n){return(0,Wte.default)(n)||n<=this.resolve(i)}})}};Cm.default=bh;bh.INVALID_DATE=lL;cL.prototype=bh.prototype;cL.INVALID_DATE=lL});var Xte=w((qct,Vte)=>{function X2e(r,e,t,i){var n=-1,s=r==null?0:r.length;for(i&&s&&(t=r[++n]);++n{function _2e(r){return function(e){return r==null?void 0:r[e]}}_te.exports=_2e});var ere=w((Wct,$te)=>{var Z2e=Zte(),$2e={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},eHe=Z2e($2e);$te.exports=eHe});var rre=w((zct,tre)=>{var tHe=ere(),rHe=Kf(),iHe=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,nHe="\\u0300-\\u036f",sHe="\\ufe20-\\ufe2f",oHe="\\u20d0-\\u20ff",aHe=nHe+sHe+oHe,AHe="["+aHe+"]",lHe=RegExp(AHe,"g");function cHe(r){return r=rHe(r),r&&r.replace(iHe,tHe).replace(lHe,"")}tre.exports=cHe});var nre=w((Vct,ire)=>{var uHe=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function gHe(r){return r.match(uHe)||[]}ire.exports=gHe});var ore=w((Xct,sre)=>{var fHe=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;function hHe(r){return fHe.test(r)}sre.exports=hHe});var bre=w((_ct,Qre)=>{var ure="\\ud800-\\udfff",pHe="\\u0300-\\u036f",dHe="\\ufe20-\\ufe2f",CHe="\\u20d0-\\u20ff",mHe=pHe+dHe+CHe,gre="\\u2700-\\u27bf",fre="a-z\\xdf-\\xf6\\xf8-\\xff",EHe="\\xac\\xb1\\xd7\\xf7",IHe="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",yHe="\\u2000-\\u206f",wHe=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",hre="A-Z\\xc0-\\xd6\\xd8-\\xde",BHe="\\ufe0e\\ufe0f",pre=EHe+IHe+yHe+wHe,dre="['\u2019]",are="["+pre+"]",QHe="["+mHe+"]",Cre="\\d+",bHe="["+gre+"]",mre="["+fre+"]",Ere="[^"+ure+pre+Cre+gre+fre+hre+"]",SHe="\\ud83c[\\udffb-\\udfff]",vHe="(?:"+QHe+"|"+SHe+")",xHe="[^"+ure+"]",Ire="(?:\\ud83c[\\udde6-\\uddff]){2}",yre="[\\ud800-\\udbff][\\udc00-\\udfff]",Sh="["+hre+"]",PHe="\\u200d",Are="(?:"+mre+"|"+Ere+")",DHe="(?:"+Sh+"|"+Ere+")",lre="(?:"+dre+"(?:d|ll|m|re|s|t|ve))?",cre="(?:"+dre+"(?:D|LL|M|RE|S|T|VE))?",wre=vHe+"?",Bre="["+BHe+"]?",kHe="(?:"+PHe+"(?:"+[xHe,Ire,yre].join("|")+")"+Bre+wre+")*",RHe="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",FHe="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",NHe=Bre+wre+kHe,LHe="(?:"+[bHe,Ire,yre].join("|")+")"+NHe,THe=RegExp([Sh+"?"+mre+"+"+lre+"(?="+[are,Sh,"$"].join("|")+")",DHe+"+"+cre+"(?="+[are,Sh+Are,"$"].join("|")+")",Sh+"?"+Are+"+"+lre,Sh+"+"+cre,FHe,RHe,Cre,LHe].join("|"),"g");function OHe(r){return r.match(THe)||[]}Qre.exports=OHe});var vre=w((Zct,Sre)=>{var MHe=nre(),KHe=ore(),UHe=Kf(),HHe=bre();function GHe(r,e,t){return r=UHe(r),e=t?void 0:e,e===void 0?KHe(r)?HHe(r):MHe(r):r.match(e)||[]}Sre.exports=GHe});var uL=w(($ct,xre)=>{var YHe=Xte(),jHe=rre(),qHe=vre(),JHe="['\u2019]",WHe=RegExp(JHe,"g");function zHe(r){return function(e){return YHe(qHe(jHe(e).replace(WHe,"")),r,"")}}xre.exports=zHe});var Dre=w((eut,Pre)=>{var VHe=uL(),XHe=VHe(function(r,e,t){return r+(t?"_":"")+e.toLowerCase()});Pre.exports=XHe});var Rre=w((tut,kre)=>{var _He=dB(),ZHe=uL(),$He=ZHe(function(r,e,t){return e=e.toLowerCase(),r+(t?_He(e):e)});kre.exports=$He});var Nre=w((rut,Fre)=>{var eGe=gh(),tGe=TN(),rGe=ZN();function iGe(r,e){var t={};return e=rGe(e,3),tGe(r,function(i,n,s){eGe(t,e(i,n,s),i)}),t}Fre.exports=iGe});var Tre=w((iut,gL)=>{gL.exports=function(r){return Lre(nGe(r),r)};gL.exports.array=Lre;function Lre(r,e){var t=r.length,i=new Array(t),n={},s=t,o=sGe(e),a=oGe(r);for(e.forEach(function(c){if(!a.has(c[0])||!a.has(c[1]))throw new Error("Unknown node. There is an unknown node in the supplied edges.")});s--;)n[s]||l(r[s],s,new Set);return i;function l(c,u,g){if(g.has(c)){var f;try{f=", node was:"+JSON.stringify(c)}catch{f=""}throw new Error("Cyclic dependency"+f)}if(!a.has(c))throw new Error("Found unknown node. Make sure to provided all involved nodes. Unknown node: "+JSON.stringify(c));if(!n[u]){n[u]=!0;var h=o.get(c)||new Set;if(h=Array.from(h),u=h.length){g.add(c);do{var p=h[--u];l(p,a.get(p),g)}while(u);g.delete(c)}i[--t]=c}}}function nGe(r){for(var e=new Set,t=0,i=r.length;t{"use strict";Object.defineProperty(fL,"__esModule",{value:!0});fL.default=gGe;var aGe=$0(_C()),AGe=$0(Tre()),lGe=sm(),cGe=$0(jc()),uGe=$0(dh());function $0(r){return r&&r.__esModule?r:{default:r}}function gGe(r,e=[]){let t=[],i=[];function n(s,o){var a=(0,lGe.split)(s)[0];~i.indexOf(a)||i.push(a),~e.indexOf(`${o}-${a}`)||t.push([o,a])}for(let s in r)if((0,aGe.default)(r,s)){let o=r[s];~i.indexOf(s)||i.push(s),cGe.default.isRef(o)&&o.isSibling?n(o.path,s):(0,uGe.default)(o)&&"deps"in o&&o.deps.forEach(a=>n(a,s))}return AGe.default.array(i,t).reverse()}});var Kre=w(hL=>{"use strict";Object.defineProperty(hL,"__esModule",{value:!0});hL.default=fGe;function Mre(r,e){let t=1/0;return r.some((i,n)=>{var s;if(((s=e.path)==null?void 0:s.indexOf(i))!==-1)return t=n,!0}),t}function fGe(r){return(e,t)=>Mre(r,e)-Mre(r,t)}});var Jre=w(Em=>{"use strict";Object.defineProperty(Em,"__esModule",{value:!0});Em.create=qre;Em.default=void 0;var Ure=$o(_C()),Hre=$o(Dre()),hGe=$o(Rre()),pGe=$o(Nre()),dGe=$o($N()),CGe=sm(),Gre=za(),mGe=$o(Ore()),jre=$o(Kre()),EGe=$o(T0()),IGe=$o(Hc()),pL=$o(Xa());function $o(r){return r&&r.__esModule?r:{default:r}}function vh(){return vh=Object.assign||function(r){for(var e=1;eObject.prototype.toString.call(r)==="[object Object]";function yGe(r,e){let t=Object.keys(r.fields);return Object.keys(e).filter(i=>t.indexOf(i)===-1)}var wGe=(0,jre.default)([]),mm=class extends pL.default{constructor(e){super({type:"object"}),this.fields=Object.create(null),this._sortErrors=wGe,this._nodes=[],this._excludedEdges=[],this.withMutation(()=>{this.transform(function(i){if(typeof i=="string")try{i=JSON.parse(i)}catch{i=null}return this.isType(i)?i:null}),e&&this.shape(e)})}_typeCheck(e){return Yre(e)||typeof e=="function"}_cast(e,t={}){var i;let n=super._cast(e,t);if(n===void 0)return this.getDefault();if(!this._typeCheck(n))return n;let s=this.fields,o=(i=t.stripUnknown)!=null?i:this.spec.noUnknown,a=this._nodes.concat(Object.keys(n).filter(g=>this._nodes.indexOf(g)===-1)),l={},c=vh({},t,{parent:l,__validating:t.__validating||!1}),u=!1;for(let g of a){let f=s[g],h=(0,Ure.default)(n,g);if(f){let p,C=n[g];c.path=(t.path?`${t.path}.`:"")+g,f=f.resolve({value:C,context:t.context,parent:l});let y="spec"in f?f.spec:void 0,B=y==null?void 0:y.strict;if(y!=null&&y.strip){u=u||g in n;continue}p=!t.__validating||!B?f.cast(n[g],c):n[g],p!==void 0&&(l[g]=p)}else h&&!o&&(l[g]=n[g]);l[g]!==n[g]&&(u=!0)}return u?l:n}_validate(e,t={},i){let n=[],{sync:s,from:o=[],originalValue:a=e,abortEarly:l=this.spec.abortEarly,recursive:c=this.spec.recursive}=t;o=[{schema:this,value:a},...o],t.__validating=!0,t.originalValue=a,t.from=o,super._validate(e,t,(u,g)=>{if(u){if(!IGe.default.isError(u)||l)return void i(u,g);n.push(u)}if(!c||!Yre(g)){i(n[0]||null,g);return}a=a||g;let f=this._nodes.map(h=>(p,C)=>{let y=h.indexOf(".")===-1?(t.path?`${t.path}.`:"")+h:`${t.path||""}["${h}"]`,B=this.fields[h];if(B&&"validate"in B){B.validate(g[h],vh({},t,{path:y,from:o,strict:!0,parent:g,originalValue:a[h]}),C);return}C(null)});(0,EGe.default)({sync:s,tests:f,value:g,errors:n,endEarly:l,sort:this._sortErrors,path:t.path},i)})}clone(e){let t=super.clone(e);return t.fields=vh({},this.fields),t._nodes=this._nodes,t._excludedEdges=this._excludedEdges,t._sortErrors=this._sortErrors,t}concat(e){let t=super.concat(e),i=t.fields;for(let[n,s]of Object.entries(this.fields)){let o=i[n];o===void 0?i[n]=s:o instanceof pL.default&&s instanceof pL.default&&(i[n]=s.concat(o))}return t.withMutation(()=>t.shape(i))}getDefaultFromShape(){let e={};return this._nodes.forEach(t=>{let i=this.fields[t];e[t]="default"in i?i.getDefault():void 0}),e}_getDefault(){if("default"in this.spec)return super._getDefault();if(!!this._nodes.length)return this.getDefaultFromShape()}shape(e,t=[]){let i=this.clone(),n=Object.assign(i.fields,e);if(i.fields=n,i._sortErrors=(0,jre.default)(Object.keys(n)),t.length){Array.isArray(t[0])||(t=[t]);let s=t.map(([o,a])=>`${o}-${a}`);i._excludedEdges=i._excludedEdges.concat(s)}return i._nodes=(0,mGe.default)(n,i._excludedEdges),i}pick(e){let t={};for(let i of e)this.fields[i]&&(t[i]=this.fields[i]);return this.clone().withMutation(i=>(i.fields={},i.shape(t)))}omit(e){let t=this.clone(),i=t.fields;t.fields={};for(let n of e)delete i[n];return t.withMutation(()=>t.shape(i))}from(e,t,i){let n=(0,CGe.getter)(e,!0);return this.transform(s=>{if(s==null)return s;let o=s;return(0,Ure.default)(s,e)&&(o=vh({},s),i||delete o[e],o[t]=n(s)),o})}noUnknown(e=!0,t=Gre.object.noUnknown){typeof e=="string"&&(t=e,e=!0);let i=this.test({name:"noUnknown",exclusive:!0,message:t,test(n){if(n==null)return!0;let s=yGe(this.schema,n);return!e||s.length===0||this.createError({params:{unknown:s.join(", ")}})}});return i.spec.noUnknown=e,i}unknown(e=!0,t=Gre.object.noUnknown){return this.noUnknown(!e,t)}transformKeys(e){return this.transform(t=>t&&(0,pGe.default)(t,(i,n)=>e(n)))}camelCase(){return this.transformKeys(hGe.default)}snakeCase(){return this.transformKeys(Hre.default)}constantCase(){return this.transformKeys(e=>(0,Hre.default)(e).toUpperCase())}describe(){let e=super.describe();return e.fields=(0,dGe.default)(this.fields,t=>t.describe()),e}};Em.default=mm;function qre(r){return new mm(r)}qre.prototype=mm.prototype});var zre=w(ym=>{"use strict";Object.defineProperty(ym,"__esModule",{value:!0});ym.create=Wre;ym.default=void 0;var dL=xh(Qh()),BGe=xh(dh()),QGe=xh(XC()),CL=za(),bGe=xh(T0()),SGe=xh(Hc()),vGe=xh(Xa());function xh(r){return r&&r.__esModule?r:{default:r}}function eQ(){return eQ=Object.assign||function(r){for(var e=1;e{this.transform(function(t){if(typeof t=="string")try{t=JSON.parse(t)}catch{t=null}return this.isType(t)?t:null})})}_typeCheck(e){return Array.isArray(e)}get _subType(){return this.innerType}_cast(e,t){let i=super._cast(e,t);if(!this._typeCheck(i)||!this.innerType)return i;let n=!1,s=i.map((o,a)=>{let l=this.innerType.cast(o,eQ({},t,{path:`${t.path||""}[${a}]`}));return l!==o&&(n=!0),l});return n?s:i}_validate(e,t={},i){var n,s;let o=[],a=t.sync,l=t.path,c=this.innerType,u=(n=t.abortEarly)!=null?n:this.spec.abortEarly,g=(s=t.recursive)!=null?s:this.spec.recursive,f=t.originalValue!=null?t.originalValue:e;super._validate(e,t,(h,p)=>{if(h){if(!SGe.default.isError(h)||u)return void i(h,p);o.push(h)}if(!g||!c||!this._typeCheck(p)){i(o[0]||null,p);return}f=f||p;let C=new Array(p.length);for(let y=0;yc.validate(B,D,H)}(0,bGe.default)({sync:a,path:l,value:p,errors:o,endEarly:u,tests:C},i)})}clone(e){let t=super.clone(e);return t.innerType=this.innerType,t}concat(e){let t=super.concat(e);return t.innerType=this.innerType,e.innerType&&(t.innerType=t.innerType?t.innerType.concat(e.innerType):e.innerType),t}of(e){let t=this.clone();if(!(0,BGe.default)(e))throw new TypeError("`array.of()` sub-schema must be a valid yup schema not: "+(0,QGe.default)(e));return t.innerType=e,t}length(e,t=CL.array.length){return this.test({message:t,name:"length",exclusive:!0,params:{length:e},test(i){return(0,dL.default)(i)||i.length===this.resolve(e)}})}min(e,t){return t=t||CL.array.min,this.test({message:t,name:"min",exclusive:!0,params:{min:e},test(i){return(0,dL.default)(i)||i.length>=this.resolve(e)}})}max(e,t){return t=t||CL.array.max,this.test({message:t,name:"max",exclusive:!0,params:{max:e},test(i){return(0,dL.default)(i)||i.length<=this.resolve(e)}})}ensure(){return this.default(()=>[]).transform((e,t)=>this._typeCheck(e)?e:t==null?[]:[].concat(t))}compact(e){let t=e?(i,n,s)=>!e(i,n,s):i=>!!i;return this.transform(i=>i!=null?i.filter(t):i)}describe(){let e=super.describe();return this.innerType&&(e.innerType=this.innerType.describe()),e}nullable(e=!0){return super.nullable(e)}defined(){return super.defined()}required(e){return super.required(e)}};ym.default=Im;Wre.prototype=Im.prototype});var Vre=w(wm=>{"use strict";Object.defineProperty(wm,"__esModule",{value:!0});wm.create=DGe;wm.default=void 0;var xGe=PGe(dh());function PGe(r){return r&&r.__esModule?r:{default:r}}function DGe(r){return new tQ(r)}var tQ=class{constructor(e){this.type="lazy",this.__isYupSchema__=!0,this._resolve=(t,i={})=>{let n=this.builder(t,i);if(!(0,xGe.default)(n))throw new TypeError("lazy() functions must return a valid schema");return n.resolve(i)},this.builder=e}resolve(e){return this._resolve(e.value,e)}cast(e,t){return this._resolve(e,t).cast(e,t)}validate(e,t,i){return this._resolve(e,t).validate(e,t,i)}validateSync(e,t){return this._resolve(e,t).validateSync(e,t)}validateAt(e,t,i){return this._resolve(t,i).validateAt(e,t,i)}validateSyncAt(e,t,i){return this._resolve(t,i).validateSyncAt(e,t,i)}describe(){return null}isValid(e,t){return this._resolve(e,t).isValid(e,t)}isValidSync(e,t){return this._resolve(e,t).isValidSync(e,t)}},kGe=tQ;wm.default=kGe});var Xre=w(mL=>{"use strict";Object.defineProperty(mL,"__esModule",{value:!0});mL.default=NGe;var RGe=FGe(za());function FGe(r){return r&&r.__esModule?r:{default:r}}function NGe(r){Object.keys(r).forEach(e=>{Object.keys(r[e]).forEach(t=>{RGe.default[e][t]=r[e][t]})})}});var IL=w(yr=>{"use strict";Object.defineProperty(yr,"__esModule",{value:!0});yr.addMethod=HGe;Object.defineProperty(yr,"MixedSchema",{enumerable:!0,get:function(){return _re.default}});Object.defineProperty(yr,"mixed",{enumerable:!0,get:function(){return _re.create}});Object.defineProperty(yr,"BooleanSchema",{enumerable:!0,get:function(){return EL.default}});Object.defineProperty(yr,"bool",{enumerable:!0,get:function(){return EL.create}});Object.defineProperty(yr,"boolean",{enumerable:!0,get:function(){return EL.create}});Object.defineProperty(yr,"StringSchema",{enumerable:!0,get:function(){return Zre.default}});Object.defineProperty(yr,"string",{enumerable:!0,get:function(){return Zre.create}});Object.defineProperty(yr,"NumberSchema",{enumerable:!0,get:function(){return $re.default}});Object.defineProperty(yr,"number",{enumerable:!0,get:function(){return $re.create}});Object.defineProperty(yr,"DateSchema",{enumerable:!0,get:function(){return eie.default}});Object.defineProperty(yr,"date",{enumerable:!0,get:function(){return eie.create}});Object.defineProperty(yr,"ObjectSchema",{enumerable:!0,get:function(){return tie.default}});Object.defineProperty(yr,"object",{enumerable:!0,get:function(){return tie.create}});Object.defineProperty(yr,"ArraySchema",{enumerable:!0,get:function(){return rie.default}});Object.defineProperty(yr,"array",{enumerable:!0,get:function(){return rie.create}});Object.defineProperty(yr,"ref",{enumerable:!0,get:function(){return LGe.create}});Object.defineProperty(yr,"lazy",{enumerable:!0,get:function(){return TGe.create}});Object.defineProperty(yr,"ValidationError",{enumerable:!0,get:function(){return OGe.default}});Object.defineProperty(yr,"reach",{enumerable:!0,get:function(){return MGe.default}});Object.defineProperty(yr,"isSchema",{enumerable:!0,get:function(){return iie.default}});Object.defineProperty(yr,"setLocale",{enumerable:!0,get:function(){return KGe.default}});Object.defineProperty(yr,"BaseSchema",{enumerable:!0,get:function(){return UGe.default}});var _re=Wc(Fte()),EL=Wc(Mte()),Zre=Wc(Hte()),$re=Wc(jte()),eie=Wc(zte()),tie=Wc(Jre()),rie=Wc(zre()),LGe=jc(),TGe=Vre(),OGe=Bm(Hc()),MGe=Bm(oL()),iie=Bm(dh()),KGe=Bm(Xre()),UGe=Bm(Xa());function Bm(r){return r&&r.__esModule?r:{default:r}}function nie(){if(typeof WeakMap!="function")return null;var r=new WeakMap;return nie=function(){return r},r}function Wc(r){if(r&&r.__esModule)return r;if(r===null||typeof r!="object"&&typeof r!="function")return{default:r};var e=nie();if(e&&e.has(r))return e.get(r);var t={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in r)if(Object.prototype.hasOwnProperty.call(r,n)){var s=i?Object.getOwnPropertyDescriptor(r,n):null;s&&(s.get||s.set)?Object.defineProperty(t,n,s):t[n]=r[n]}return t.default=r,e&&e.set(r,t),t}function HGe(r,e,t){if(!r||!(0,iie.default)(r.prototype))throw new TypeError("You must provide a yup schema constructor function");if(typeof e!="string")throw new TypeError("A Method name must be provided");if(typeof t!="function")throw new TypeError("Method function must be provided");r.prototype[e]=t}});var lie=w((But,bm)=>{"use strict";var jGe=process.env.TERM_PROGRAM==="Hyper",qGe=process.platform==="win32",oie=process.platform==="linux",yL={ballotDisabled:"\u2612",ballotOff:"\u2610",ballotOn:"\u2611",bullet:"\u2022",bulletWhite:"\u25E6",fullBlock:"\u2588",heart:"\u2764",identicalTo:"\u2261",line:"\u2500",mark:"\u203B",middot:"\xB7",minus:"\uFF0D",multiplication:"\xD7",obelus:"\xF7",pencilDownRight:"\u270E",pencilRight:"\u270F",pencilUpRight:"\u2710",percent:"%",pilcrow2:"\u2761",pilcrow:"\xB6",plusMinus:"\xB1",section:"\xA7",starsOff:"\u2606",starsOn:"\u2605",upDownArrow:"\u2195"},aie=Object.assign({},yL,{check:"\u221A",cross:"\xD7",ellipsisLarge:"...",ellipsis:"...",info:"i",question:"?",questionSmall:"?",pointer:">",pointerSmall:"\xBB",radioOff:"( )",radioOn:"(*)",warning:"\u203C"}),Aie=Object.assign({},yL,{ballotCross:"\u2718",check:"\u2714",cross:"\u2716",ellipsisLarge:"\u22EF",ellipsis:"\u2026",info:"\u2139",question:"?",questionFull:"\uFF1F",questionSmall:"\uFE56",pointer:oie?"\u25B8":"\u276F",pointerSmall:oie?"\u2023":"\u203A",radioOff:"\u25EF",radioOn:"\u25C9",warning:"\u26A0"});bm.exports=qGe&&!jGe?aie:Aie;Reflect.defineProperty(bm.exports,"common",{enumerable:!1,value:yL});Reflect.defineProperty(bm.exports,"windows",{enumerable:!1,value:aie});Reflect.defineProperty(bm.exports,"other",{enumerable:!1,value:Aie})});var so=w((Qut,wL)=>{"use strict";var JGe=r=>r!==null&&typeof r=="object"&&!Array.isArray(r),WGe=/[\u001b\u009b][[\]#;?()]*(?:(?:(?:[^\W_]*;?[^\W_]*)\u0007)|(?:(?:[0-9]{1,4}(;[0-9]{0,4})*)?[~0-9=<>cf-nqrtyA-PRZ]))/g,cie=()=>{let r={enabled:!0,visible:!0,styles:{},keys:{}};"FORCE_COLOR"in process.env&&(r.enabled=process.env.FORCE_COLOR!=="0");let e=s=>{let o=s.open=`\x1B[${s.codes[0]}m`,a=s.close=`\x1B[${s.codes[1]}m`,l=s.regex=new RegExp(`\\u001b\\[${s.codes[1]}m`,"g");return s.wrap=(c,u)=>{c.includes(a)&&(c=c.replace(l,a+o));let g=o+c+a;return u?g.replace(/\r*\n/g,`${a}$&${o}`):g},s},t=(s,o,a)=>typeof s=="function"?s(o):s.wrap(o,a),i=(s,o)=>{if(s===""||s==null)return"";if(r.enabled===!1)return s;if(r.visible===!1)return"";let a=""+s,l=a.includes(` -`),c=o.length;for(c>0&&o.includes("unstyle")&&(o=[...new Set(["unstyle",...o])].reverse());c-- >0;)a=t(r.styles[o[c]],a,l);return a},n=(s,o,a)=>{r.styles[s]=e({name:s,codes:o}),(r.keys[a]||(r.keys[a]=[])).push(s),Reflect.defineProperty(r,s,{configurable:!0,enumerable:!0,set(c){r.alias(s,c)},get(){let c=u=>i(u,c.stack);return Reflect.setPrototypeOf(c,r),c.stack=this.stack?this.stack.concat(s):[s],c}})};return n("reset",[0,0],"modifier"),n("bold",[1,22],"modifier"),n("dim",[2,22],"modifier"),n("italic",[3,23],"modifier"),n("underline",[4,24],"modifier"),n("inverse",[7,27],"modifier"),n("hidden",[8,28],"modifier"),n("strikethrough",[9,29],"modifier"),n("black",[30,39],"color"),n("red",[31,39],"color"),n("green",[32,39],"color"),n("yellow",[33,39],"color"),n("blue",[34,39],"color"),n("magenta",[35,39],"color"),n("cyan",[36,39],"color"),n("white",[37,39],"color"),n("gray",[90,39],"color"),n("grey",[90,39],"color"),n("bgBlack",[40,49],"bg"),n("bgRed",[41,49],"bg"),n("bgGreen",[42,49],"bg"),n("bgYellow",[43,49],"bg"),n("bgBlue",[44,49],"bg"),n("bgMagenta",[45,49],"bg"),n("bgCyan",[46,49],"bg"),n("bgWhite",[47,49],"bg"),n("blackBright",[90,39],"bright"),n("redBright",[91,39],"bright"),n("greenBright",[92,39],"bright"),n("yellowBright",[93,39],"bright"),n("blueBright",[94,39],"bright"),n("magentaBright",[95,39],"bright"),n("cyanBright",[96,39],"bright"),n("whiteBright",[97,39],"bright"),n("bgBlackBright",[100,49],"bgBright"),n("bgRedBright",[101,49],"bgBright"),n("bgGreenBright",[102,49],"bgBright"),n("bgYellowBright",[103,49],"bgBright"),n("bgBlueBright",[104,49],"bgBright"),n("bgMagentaBright",[105,49],"bgBright"),n("bgCyanBright",[106,49],"bgBright"),n("bgWhiteBright",[107,49],"bgBright"),r.ansiRegex=WGe,r.hasColor=r.hasAnsi=s=>(r.ansiRegex.lastIndex=0,typeof s=="string"&&s!==""&&r.ansiRegex.test(s)),r.alias=(s,o)=>{let a=typeof o=="string"?r[o]:o;if(typeof a!="function")throw new TypeError("Expected alias to be the name of an existing color (string) or a function");a.stack||(Reflect.defineProperty(a,"name",{value:s}),r.styles[s]=a,a.stack=[s]),Reflect.defineProperty(r,s,{configurable:!0,enumerable:!0,set(l){r.alias(s,l)},get(){let l=c=>i(c,l.stack);return Reflect.setPrototypeOf(l,r),l.stack=this.stack?this.stack.concat(a.stack):a.stack,l}})},r.theme=s=>{if(!JGe(s))throw new TypeError("Expected theme to be an object");for(let o of Object.keys(s))r.alias(o,s[o]);return r},r.alias("unstyle",s=>typeof s=="string"&&s!==""?(r.ansiRegex.lastIndex=0,s.replace(r.ansiRegex,"")):""),r.alias("noop",s=>s),r.none=r.clear=r.noop,r.stripColor=r.unstyle,r.symbols=lie(),r.define=n,r};wL.exports=cie();wL.exports.create=cie});var Gi=w(Lt=>{"use strict";var zGe=Object.prototype.toString,Ds=so(),uie=!1,BL=[],gie={yellow:"blue",cyan:"red",green:"magenta",black:"white",blue:"yellow",red:"cyan",magenta:"green",white:"black"};Lt.longest=(r,e)=>r.reduce((t,i)=>Math.max(t,e?i[e].length:i.length),0);Lt.hasColor=r=>!!r&&Ds.hasColor(r);var iQ=Lt.isObject=r=>r!==null&&typeof r=="object"&&!Array.isArray(r);Lt.nativeType=r=>zGe.call(r).slice(8,-1).toLowerCase().replace(/\s/g,"");Lt.isAsyncFn=r=>Lt.nativeType(r)==="asyncfunction";Lt.isPrimitive=r=>r!=null&&typeof r!="object"&&typeof r!="function";Lt.resolve=(r,e,...t)=>typeof e=="function"?e.call(r,...t):e;Lt.scrollDown=(r=[])=>[...r.slice(1),r[0]];Lt.scrollUp=(r=[])=>[r.pop(),...r];Lt.reorder=(r=[])=>{let e=r.slice();return e.sort((t,i)=>t.index>i.index?1:t.index{let i=r.length,n=t===i?0:t<0?i-1:t,s=r[e];r[e]=r[n],r[n]=s};Lt.width=(r,e=80)=>{let t=r&&r.columns?r.columns:e;return r&&typeof r.getWindowSize=="function"&&(t=r.getWindowSize()[0]),process.platform==="win32"?t-1:t};Lt.height=(r,e=20)=>{let t=r&&r.rows?r.rows:e;return r&&typeof r.getWindowSize=="function"&&(t=r.getWindowSize()[1]),t};Lt.wordWrap=(r,e={})=>{if(!r)return r;typeof e=="number"&&(e={width:e});let{indent:t="",newline:i=` -`+t,width:n=80}=e;n-=((i+t).match(/[^\S\n]/g)||[]).length;let o=`.{1,${n}}([\\s\\u200B]+|$)|[^\\s\\u200B]+?([\\s\\u200B]+|$)`,a=r.trim(),l=new RegExp(o,"g"),c=a.match(l)||[];return c=c.map(u=>u.replace(/\n$/,"")),e.padEnd&&(c=c.map(u=>u.padEnd(n," "))),e.padStart&&(c=c.map(u=>u.padStart(n," "))),t+c.join(i)};Lt.unmute=r=>{let e=r.stack.find(i=>Ds.keys.color.includes(i));return e?Ds[e]:r.stack.find(i=>i.slice(2)==="bg")?Ds[e.slice(2)]:i=>i};Lt.pascal=r=>r?r[0].toUpperCase()+r.slice(1):"";Lt.inverse=r=>{if(!r||!r.stack)return r;let e=r.stack.find(i=>Ds.keys.color.includes(i));if(e){let i=Ds["bg"+Lt.pascal(e)];return i?i.black:r}let t=r.stack.find(i=>i.slice(0,2)==="bg");return t?Ds[t.slice(2).toLowerCase()]||r:Ds.none};Lt.complement=r=>{if(!r||!r.stack)return r;let e=r.stack.find(i=>Ds.keys.color.includes(i)),t=r.stack.find(i=>i.slice(0,2)==="bg");if(e&&!t)return Ds[gie[e]||e];if(t){let i=t.slice(2).toLowerCase(),n=gie[i];return n&&Ds["bg"+Lt.pascal(n)]||r}return Ds.none};Lt.meridiem=r=>{let e=r.getHours(),t=r.getMinutes(),i=e>=12?"pm":"am";e=e%12;let n=e===0?12:e,s=t<10?"0"+t:t;return n+":"+s+" "+i};Lt.set=(r={},e="",t)=>e.split(".").reduce((i,n,s,o)=>{let a=o.length-1>s?i[n]||{}:t;return!Lt.isObject(a)&&s{let i=r[e]==null?e.split(".").reduce((n,s)=>n&&n[s],r):r[e];return i==null?t:i};Lt.mixin=(r,e)=>{if(!iQ(r))return e;if(!iQ(e))return r;for(let t of Object.keys(e)){let i=Object.getOwnPropertyDescriptor(e,t);if(i.hasOwnProperty("value"))if(r.hasOwnProperty(t)&&iQ(i.value)){let n=Object.getOwnPropertyDescriptor(r,t);iQ(n.value)?r[t]=Lt.merge({},r[t],e[t]):Reflect.defineProperty(r,t,i)}else Reflect.defineProperty(r,t,i);else Reflect.defineProperty(r,t,i)}return r};Lt.merge=(...r)=>{let e={};for(let t of r)Lt.mixin(e,t);return e};Lt.mixinEmitter=(r,e)=>{let t=e.constructor.prototype;for(let i of Object.keys(t)){let n=t[i];typeof n=="function"?Lt.define(r,i,n.bind(e)):Lt.define(r,i,n)}};Lt.onExit=r=>{let e=(t,i)=>{uie||(uie=!0,BL.forEach(n=>n()),t===!0&&process.exit(128+i))};BL.length===0&&(process.once("SIGTERM",e.bind(null,!0,15)),process.once("SIGINT",e.bind(null,!0,2)),process.once("exit",e)),BL.push(r)};Lt.define=(r,e,t)=>{Reflect.defineProperty(r,e,{value:t})};Lt.defineExport=(r,e,t)=>{let i;Reflect.defineProperty(r,e,{enumerable:!0,configurable:!0,set(n){i=n},get(){return i?i():t()}})}});var fie=w(Dh=>{"use strict";Dh.ctrl={a:"first",b:"backward",c:"cancel",d:"deleteForward",e:"last",f:"forward",g:"reset",i:"tab",k:"cutForward",l:"reset",n:"newItem",m:"cancel",j:"submit",p:"search",r:"remove",s:"save",u:"undo",w:"cutLeft",x:"toggleCursor",v:"paste"};Dh.shift={up:"shiftUp",down:"shiftDown",left:"shiftLeft",right:"shiftRight",tab:"prev"};Dh.fn={up:"pageUp",down:"pageDown",left:"pageLeft",right:"pageRight",delete:"deleteForward"};Dh.option={b:"backward",f:"forward",d:"cutRight",left:"cutLeft",up:"altUp",down:"altDown"};Dh.keys={pageup:"pageUp",pagedown:"pageDown",home:"home",end:"end",cancel:"cancel",delete:"deleteForward",backspace:"delete",down:"down",enter:"submit",escape:"cancel",left:"left",space:"space",number:"number",return:"submit",right:"right",tab:"next",up:"up"}});var die=w((vut,pie)=>{"use strict";var hie=J("readline"),VGe=fie(),XGe=/^(?:\x1b)([a-zA-Z0-9])$/,_Ge=/^(?:\x1b+)(O|N|\[|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/,ZGe={OP:"f1",OQ:"f2",OR:"f3",OS:"f4","[11~":"f1","[12~":"f2","[13~":"f3","[14~":"f4","[[A":"f1","[[B":"f2","[[C":"f3","[[D":"f4","[[E":"f5","[15~":"f5","[17~":"f6","[18~":"f7","[19~":"f8","[20~":"f9","[21~":"f10","[23~":"f11","[24~":"f12","[A":"up","[B":"down","[C":"right","[D":"left","[E":"clear","[F":"end","[H":"home",OA:"up",OB:"down",OC:"right",OD:"left",OE:"clear",OF:"end",OH:"home","[1~":"home","[2~":"insert","[3~":"delete","[4~":"end","[5~":"pageup","[6~":"pagedown","[[5~":"pageup","[[6~":"pagedown","[7~":"home","[8~":"end","[a":"up","[b":"down","[c":"right","[d":"left","[e":"clear","[2$":"insert","[3$":"delete","[5$":"pageup","[6$":"pagedown","[7$":"home","[8$":"end",Oa:"up",Ob:"down",Oc:"right",Od:"left",Oe:"clear","[2^":"insert","[3^":"delete","[5^":"pageup","[6^":"pagedown","[7^":"home","[8^":"end","[Z":"tab"};function $Ge(r){return["[a","[b","[c","[d","[e","[2$","[3$","[5$","[6$","[7$","[8$","[Z"].includes(r)}function eYe(r){return["Oa","Ob","Oc","Od","Oe","[2^","[3^","[5^","[6^","[7^","[8^"].includes(r)}var nQ=(r="",e={})=>{let t,i={name:e.name,ctrl:!1,meta:!1,shift:!1,option:!1,sequence:r,raw:r,...e};if(Buffer.isBuffer(r)?r[0]>127&&r[1]===void 0?(r[0]-=128,r="\x1B"+String(r)):r=String(r):r!==void 0&&typeof r!="string"?r=String(r):r||(r=i.sequence||""),i.sequence=i.sequence||r||i.name,r==="\r")i.raw=void 0,i.name="return";else if(r===` -`)i.name="enter";else if(r===" ")i.name="tab";else if(r==="\b"||r==="\x7F"||r==="\x1B\x7F"||r==="\x1B\b")i.name="backspace",i.meta=r.charAt(0)==="\x1B";else if(r==="\x1B"||r==="\x1B\x1B")i.name="escape",i.meta=r.length===2;else if(r===" "||r==="\x1B ")i.name="space",i.meta=r.length===2;else if(r<="")i.name=String.fromCharCode(r.charCodeAt(0)+"a".charCodeAt(0)-1),i.ctrl=!0;else if(r.length===1&&r>="0"&&r<="9")i.name="number";else if(r.length===1&&r>="a"&&r<="z")i.name=r;else if(r.length===1&&r>="A"&&r<="Z")i.name=r.toLowerCase(),i.shift=!0;else if(t=XGe.exec(r))i.meta=!0,i.shift=/^[A-Z]$/.test(t[1]);else if(t=_Ge.exec(r)){let n=[...r];n[0]==="\x1B"&&n[1]==="\x1B"&&(i.option=!0);let s=[t[1],t[2],t[4],t[6]].filter(Boolean).join(""),o=(t[3]||t[5]||1)-1;i.ctrl=!!(o&4),i.meta=!!(o&10),i.shift=!!(o&1),i.code=s,i.name=ZGe[s],i.shift=$Ge(s)||i.shift,i.ctrl=eYe(s)||i.ctrl}return i};nQ.listen=(r={},e)=>{let{stdin:t}=r;if(!t||t!==process.stdin&&!t.isTTY)throw new Error("Invalid stream passed");let i=hie.createInterface({terminal:!0,input:t});hie.emitKeypressEvents(t,i);let n=(a,l)=>e(a,nQ(a,l),i),s=t.isRaw;return t.isTTY&&t.setRawMode(!0),t.on("keypress",n),i.resume(),()=>{t.isTTY&&t.setRawMode(s),t.removeListener("keypress",n),i.pause(),i.close()}};nQ.action=(r,e,t)=>{let i={...VGe,...t};return e.ctrl?(e.action=i.ctrl[e.name],e):e.option&&i.option?(e.action=i.option[e.name],e):e.shift?(e.action=i.shift[e.name],e):(e.action=i.keys[e.name],e)};pie.exports=nQ});var mie=w((xut,Cie)=>{"use strict";Cie.exports=r=>{r.timers=r.timers||{};let e=r.options.timers;if(!!e)for(let t of Object.keys(e)){let i=e[t];typeof i=="number"&&(i={interval:i}),tYe(r,t,i)}};function tYe(r,e,t={}){let i=r.timers[e]={name:e,start:Date.now(),ms:0,tick:0},n=t.interval||120;i.frames=t.frames||[],i.loading=!0;let s=setInterval(()=>{i.ms=Date.now()-i.start,i.tick++,r.render()},n);return i.stop=()=>{i.loading=!1,clearInterval(s)},Reflect.defineProperty(i,"interval",{value:s}),r.once("close",()=>i.stop()),i.stop}});var Iie=w((Put,Eie)=>{"use strict";var{define:rYe,width:iYe}=Gi(),QL=class{constructor(e){let t=e.options;rYe(this,"_prompt",e),this.type=e.type,this.name=e.name,this.message="",this.header="",this.footer="",this.error="",this.hint="",this.input="",this.cursor=0,this.index=0,this.lines=0,this.tick=0,this.prompt="",this.buffer="",this.width=iYe(t.stdout||process.stdout),Object.assign(this,t),this.name=this.name||this.message,this.message=this.message||this.name,this.symbols=e.symbols,this.styles=e.styles,this.required=new Set,this.cancelled=!1,this.submitted=!1}clone(){let e={...this};return e.status=this.status,e.buffer=Buffer.from(e.buffer),delete e.clone,e}set color(e){this._color=e}get color(){let e=this.prompt.styles;if(this.cancelled)return e.cancelled;if(this.submitted)return e.submitted;let t=this._color||e[this.status];return typeof t=="function"?t:e.pending}set loading(e){this._loading=e}get loading(){return typeof this._loading=="boolean"?this._loading:this.loadingChoices?"choices":!1}get status(){return this.cancelled?"cancelled":this.submitted?"submitted":"pending"}};Eie.exports=QL});var wie=w((Dut,yie)=>{"use strict";var bL=Gi(),Pi=so(),SL={default:Pi.noop,noop:Pi.noop,set inverse(r){this._inverse=r},get inverse(){return this._inverse||bL.inverse(this.primary)},set complement(r){this._complement=r},get complement(){return this._complement||bL.complement(this.primary)},primary:Pi.cyan,success:Pi.green,danger:Pi.magenta,strong:Pi.bold,warning:Pi.yellow,muted:Pi.dim,disabled:Pi.gray,dark:Pi.dim.gray,underline:Pi.underline,set info(r){this._info=r},get info(){return this._info||this.primary},set em(r){this._em=r},get em(){return this._em||this.primary.underline},set heading(r){this._heading=r},get heading(){return this._heading||this.muted.underline},set pending(r){this._pending=r},get pending(){return this._pending||this.primary},set submitted(r){this._submitted=r},get submitted(){return this._submitted||this.success},set cancelled(r){this._cancelled=r},get cancelled(){return this._cancelled||this.danger},set typing(r){this._typing=r},get typing(){return this._typing||this.dim},set placeholder(r){this._placeholder=r},get placeholder(){return this._placeholder||this.primary.dim},set highlight(r){this._highlight=r},get highlight(){return this._highlight||this.inverse}};SL.merge=(r={})=>{r.styles&&typeof r.styles.enabled=="boolean"&&(Pi.enabled=r.styles.enabled),r.styles&&typeof r.styles.visible=="boolean"&&(Pi.visible=r.styles.visible);let e=bL.merge({},SL,r.styles);delete e.merge;for(let t of Object.keys(Pi))e.hasOwnProperty(t)||Reflect.defineProperty(e,t,{get:()=>Pi[t]});for(let t of Object.keys(Pi.styles))e.hasOwnProperty(t)||Reflect.defineProperty(e,t,{get:()=>Pi[t]});return e};yie.exports=SL});var Qie=w((kut,Bie)=>{"use strict";var vL=process.platform==="win32",Za=so(),nYe=Gi(),xL={...Za.symbols,upDownDoubleArrow:"\u21D5",upDownDoubleArrow2:"\u2B0D",upDownArrow:"\u2195",asterisk:"*",asterism:"\u2042",bulletWhite:"\u25E6",electricArrow:"\u2301",ellipsisLarge:"\u22EF",ellipsisSmall:"\u2026",fullBlock:"\u2588",identicalTo:"\u2261",indicator:Za.symbols.check,leftAngle:"\u2039",mark:"\u203B",minus:"\u2212",multiplication:"\xD7",obelus:"\xF7",percent:"%",pilcrow:"\xB6",pilcrow2:"\u2761",pencilUpRight:"\u2710",pencilDownRight:"\u270E",pencilRight:"\u270F",plus:"+",plusMinus:"\xB1",pointRight:"\u261E",rightAngle:"\u203A",section:"\xA7",hexagon:{off:"\u2B21",on:"\u2B22",disabled:"\u2B22"},ballot:{on:"\u2611",off:"\u2610",disabled:"\u2612"},stars:{on:"\u2605",off:"\u2606",disabled:"\u2606"},folder:{on:"\u25BC",off:"\u25B6",disabled:"\u25B6"},prefix:{pending:Za.symbols.question,submitted:Za.symbols.check,cancelled:Za.symbols.cross},separator:{pending:Za.symbols.pointerSmall,submitted:Za.symbols.middot,cancelled:Za.symbols.middot},radio:{off:vL?"( )":"\u25EF",on:vL?"(*)":"\u25C9",disabled:vL?"(|)":"\u24BE"},numbers:["\u24EA","\u2460","\u2461","\u2462","\u2463","\u2464","\u2465","\u2466","\u2467","\u2468","\u2469","\u246A","\u246B","\u246C","\u246D","\u246E","\u246F","\u2470","\u2471","\u2472","\u2473","\u3251","\u3252","\u3253","\u3254","\u3255","\u3256","\u3257","\u3258","\u3259","\u325A","\u325B","\u325C","\u325D","\u325E","\u325F","\u32B1","\u32B2","\u32B3","\u32B4","\u32B5","\u32B6","\u32B7","\u32B8","\u32B9","\u32BA","\u32BB","\u32BC","\u32BD","\u32BE","\u32BF"]};xL.merge=r=>{let e=nYe.merge({},Za.symbols,xL,r.symbols);return delete e.merge,e};Bie.exports=xL});var Sie=w((Rut,bie)=>{"use strict";var sYe=wie(),oYe=Qie(),aYe=Gi();bie.exports=r=>{r.options=aYe.merge({},r.options.theme,r.options),r.symbols=oYe.merge(r.options),r.styles=sYe.merge(r.options)}});var kie=w((Pie,Die)=>{"use strict";var vie=process.env.TERM_PROGRAM==="Apple_Terminal",AYe=so(),PL=Gi(),oo=Die.exports=Pie,Dr="\x1B[",xie="\x07",DL=!1,sl=oo.code={bell:xie,beep:xie,beginning:`${Dr}G`,down:`${Dr}J`,esc:Dr,getPosition:`${Dr}6n`,hide:`${Dr}?25l`,line:`${Dr}2K`,lineEnd:`${Dr}K`,lineStart:`${Dr}1K`,restorePosition:Dr+(vie?"8":"u"),savePosition:Dr+(vie?"7":"s"),screen:`${Dr}2J`,show:`${Dr}?25h`,up:`${Dr}1J`},zc=oo.cursor={get hidden(){return DL},hide(){return DL=!0,sl.hide},show(){return DL=!1,sl.show},forward:(r=1)=>`${Dr}${r}C`,backward:(r=1)=>`${Dr}${r}D`,nextLine:(r=1)=>`${Dr}E`.repeat(r),prevLine:(r=1)=>`${Dr}F`.repeat(r),up:(r=1)=>r?`${Dr}${r}A`:"",down:(r=1)=>r?`${Dr}${r}B`:"",right:(r=1)=>r?`${Dr}${r}C`:"",left:(r=1)=>r?`${Dr}${r}D`:"",to(r,e){return e?`${Dr}${e+1};${r+1}H`:`${Dr}${r+1}G`},move(r=0,e=0){let t="";return t+=r<0?zc.left(-r):r>0?zc.right(r):"",t+=e<0?zc.up(-e):e>0?zc.down(e):"",t},restore(r={}){let{after:e,cursor:t,initial:i,input:n,prompt:s,size:o,value:a}=r;if(i=PL.isPrimitive(i)?String(i):"",n=PL.isPrimitive(n)?String(n):"",a=PL.isPrimitive(a)?String(a):"",o){let l=oo.cursor.up(o)+oo.cursor.to(s.length),c=n.length-t;return c>0&&(l+=oo.cursor.left(c)),l}if(a||e){let l=!n&&!!i?-i.length:-n.length+t;return e&&(l-=e.length),n===""&&i&&!s.includes(i)&&(l+=i.length),oo.cursor.move(l)}}},kL=oo.erase={screen:sl.screen,up:sl.up,down:sl.down,line:sl.line,lineEnd:sl.lineEnd,lineStart:sl.lineStart,lines(r){let e="";for(let t=0;t{if(!e)return kL.line+zc.to(0);let t=s=>[...AYe.unstyle(s)].length,i=r.split(/\r?\n/),n=0;for(let s of i)n+=1+Math.floor(Math.max(t(s)-1,0)/e);return(kL.line+zc.prevLine()).repeat(n-1)+kL.line+zc.to(0)}});var kh=w((Fut,Fie)=>{"use strict";var lYe=J("events"),Rie=so(),RL=die(),cYe=mie(),uYe=Iie(),gYe=Sie(),xn=Gi(),Vc=kie(),Sm=class extends lYe{constructor(e={}){super(),this.name=e.name,this.type=e.type,this.options=e,gYe(this),cYe(this),this.state=new uYe(this),this.initial=[e.initial,e.default].find(t=>t!=null),this.stdout=e.stdout||process.stdout,this.stdin=e.stdin||process.stdin,this.scale=e.scale||1,this.term=this.options.term||process.env.TERM_PROGRAM,this.margin=hYe(this.options.margin),this.setMaxListeners(0),fYe(this)}async keypress(e,t={}){this.keypressed=!0;let i=RL.action(e,RL(e,t),this.options.actions);this.state.keypress=i,this.emit("keypress",e,i),this.emit("state",this.state.clone());let n=this.options[i.action]||this[i.action]||this.dispatch;if(typeof n=="function")return await n.call(this,e,i);this.alert()}alert(){delete this.state.alert,this.options.show===!1?this.emit("alert"):this.stdout.write(Vc.code.beep)}cursorHide(){this.stdout.write(Vc.cursor.hide()),xn.onExit(()=>this.cursorShow())}cursorShow(){this.stdout.write(Vc.cursor.show())}write(e){!e||(this.stdout&&this.state.show!==!1&&this.stdout.write(e),this.state.buffer+=e)}clear(e=0){let t=this.state.buffer;this.state.buffer="",!(!t&&!e||this.options.show===!1)&&this.stdout.write(Vc.cursor.down(e)+Vc.clear(t,this.width))}restore(){if(this.state.closed||this.options.show===!1)return;let{prompt:e,after:t,rest:i}=this.sections(),{cursor:n,initial:s="",input:o="",value:a=""}=this,l=this.state.size=i.length,c={after:t,cursor:n,initial:s,input:o,prompt:e,size:l,value:a},u=Vc.cursor.restore(c);u&&this.stdout.write(u)}sections(){let{buffer:e,input:t,prompt:i}=this.state;i=Rie.unstyle(i);let n=Rie.unstyle(e),s=n.indexOf(i),o=n.slice(0,s),l=n.slice(s).split(` +`+(o!==s?`result of cast: ${o}`:""))}return n}_cast(e,t){let i=e===void 0?e:this.transforms.reduce((n,s)=>s.call(this,n,e,this),e);return i===void 0&&(i=this.getDefault()),i}_validate(e,t={},i){let{sync:n,path:s,from:o=[],originalValue:a=e,strict:l=this.spec.strict,abortEarly:c=this.spec.abortEarly}=t,u=e;l||(u=this._cast(u,ks({assert:!1},t)));let g={value:u,path:s,options:t,originalValue:a,schema:this,label:this.spec.label,sync:n,from:o},f=[];this._typeError&&f.push(this._typeError),this._whitelistError&&f.push(this._whitelistError),this._blacklistError&&f.push(this._blacklistError),(0,fre.default)({args:g,value:u,path:s,sync:n,tests:f,endEarly:c},h=>{if(h)return void i(h,u);(0,fre.default)({tests:this.tests,args:g,path:s,sync:n,value:u,endEarly:c},i)})}validate(e,t,i){let n=this.resolve(ks({},t,{value:e}));return typeof i=="function"?n._validate(e,t,i):new Promise((s,o)=>n._validate(e,t,(a,l)=>{a?o(a):s(l)}))}validateSync(e,t){let i=this.resolve(ks({},t,{value:e})),n;return i._validate(e,ks({},t,{sync:!0}),(s,o)=>{if(s)throw s;n=o}),n}isValid(e,t){return this.validate(e,t).then(()=>!0,i=>{if(pre.default.isError(i))return!1;throw i})}isValidSync(e,t){try{return this.validateSync(e,t),!0}catch(i){if(pre.default.isError(i))return!1;throw i}}_getDefault(){let e=this.spec.default;return e==null?e:typeof e=="function"?e.call(this):(0,gre.default)(e)}getDefault(e){return this.resolve(e||{})._getDefault()}default(e){return arguments.length===0?this._getDefault():this.clone({default:e})}strict(e=!0){var t=this.clone();return t.spec.strict=e,t}_isPresent(e){return e!=null}defined(e=Rh.mixed.defined){return this.test({message:e,name:"defined",exclusive:!0,test(t){return t!==void 0}})}required(e=Rh.mixed.required){return this.clone({presence:"required"}).withMutation(t=>t.test({message:e,name:"required",exclusive:!0,test(i){return this.schema._isPresent(i)}}))}notRequired(){var e=this.clone({presence:"optional"});return e.tests=e.tests.filter(t=>t.OPTIONS.name!=="required"),e}nullable(e=!0){var t=this.clone({nullable:e!==!1});return t}transform(e){var t=this.clone();return t.transforms.push(e),t}test(...e){let t;if(e.length===1?typeof e[0]=="function"?t={test:e[0]}:t=e[0]:e.length===2?t={name:e[0],test:e[1]}:t={name:e[0],message:e[1],test:e[2]},t.message===void 0&&(t.message=Rh.mixed.default),typeof t.test!="function")throw new TypeError("`test` is a required parameters");let i=this.clone(),n=(0,uQ.default)(t),s=t.exclusive||t.name&&i.exclusiveTests[t.name]===!0;if(t.exclusive&&!t.name)throw new TypeError("Exclusive tests must provide a unique `name` identifying the test");return t.name&&(i.exclusiveTests[t.name]=!!t.exclusive),i.tests=i.tests.filter(o=>!(o.OPTIONS.name===t.name&&(s||o.OPTIONS.test===n.OPTIONS.test))),i.tests.push(n),i}when(e,t){!Array.isArray(e)&&typeof e!="string"&&(t=e,e=".");let i=this.clone(),n=(0,LHe.default)(e).map(s=>new FHe.default(s));return n.forEach(s=>{s.isSibling&&i.deps.push(s.key)}),i.conditions.push(new RHe.default(n,t)),i}typeError(e){var t=this.clone();return t._typeError=(0,uQ.default)({message:e,name:"typeError",test(i){return i!==void 0&&!this.schema.isType(i)?this.createError({params:{type:this.schema._type}}):!0}}),t}oneOf(e,t=Rh.mixed.oneOf){var i=this.clone();return e.forEach(n=>{i._whitelist.add(n),i._blacklist.delete(n)}),i._whitelistError=(0,uQ.default)({message:t,name:"oneOf",test(n){if(n===void 0)return!0;let s=this.schema._whitelist;return s.has(n,this.resolve)?!0:this.createError({params:{values:s.toArray().join(", ")}})}}),i}notOneOf(e,t=Rh.mixed.notOneOf){var i=this.clone();return e.forEach(n=>{i._blacklist.add(n),i._whitelist.delete(n)}),i._blacklistError=(0,uQ.default)({message:t,name:"notOneOf",test(n){let s=this.schema._blacklist;return s.has(n,this.resolve)?this.createError({params:{values:s.toArray().join(", ")}}):!0}}),i}strip(e=!0){let t=this.clone();return t.spec.strip=e,t}describe(){let e=this.clone(),{label:t,meta:i}=e.spec;return{meta:i,label:t,type:e.type,oneOf:e._whitelist.describe(),notOneOf:e._blacklist.describe(),tests:e.tests.map(s=>({name:s.OPTIONS.name,params:s.OPTIONS.params})).filter((s,o,a)=>a.findIndex(l=>l.name===s.name)===o)}}};gQ.default=Ao;Ao.prototype.__isYupSchema__=!0;for(let r of["validate","validateSync"])Ao.prototype[`${r}At`]=function(e,t,i={}){let{parent:n,parentPath:s,schema:o}=(0,NHe.getIn)(this,e,t,i.context);return o[r](n&&n[s],ks({},i,{parent:n,path:e}))};for(let r of["equals","is"])Ao.prototype[r]=Ao.prototype.oneOf;for(let r of["not","nope"])Ao.prototype[r]=Ao.prototype.notOneOf;Ao.prototype.optional=Ao.prototype.notRequired});var mre=w(mm=>{"use strict";Object.defineProperty(mm,"__esModule",{value:!0});mm.create=Cre;mm.default=void 0;var THe=OHe(nA());function OHe(r){return r&&r.__esModule?r:{default:r}}var NL=THe.default,MHe=NL;mm.default=MHe;function Cre(){return new NL}Cre.prototype=NL.prototype});var Fh=w(fQ=>{"use strict";Object.defineProperty(fQ,"__esModule",{value:!0});fQ.default=void 0;var KHe=r=>r==null;fQ.default=KHe});var Bre=w(Im=>{"use strict";Object.defineProperty(Im,"__esModule",{value:!0});Im.create=wre;Im.default=void 0;var UHe=yre(nA()),Ere=rA(),Ire=yre(Fh());function yre(r){return r&&r.__esModule?r:{default:r}}function wre(){return new Em}var Em=class extends UHe.default{constructor(){super({type:"boolean"}),this.withMutation(()=>{this.transform(function(e){if(!this.isType(e)){if(/^(true|1)$/i.test(String(e)))return!0;if(/^(false|0)$/i.test(String(e)))return!1}return e})})}_typeCheck(e){return e instanceof Boolean&&(e=e.valueOf()),typeof e=="boolean"}isTrue(e=Ere.boolean.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"true"},test(t){return(0,Ire.default)(t)||t===!0}})}isFalse(e=Ere.boolean.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"false"},test(t){return(0,Ire.default)(t)||t===!1}})}};Im.default=Em;wre.prototype=Em.prototype});var Sre=w(wm=>{"use strict";Object.defineProperty(wm,"__esModule",{value:!0});wm.create=bre;wm.default=void 0;var ia=rA(),sA=Qre(Fh()),HHe=Qre(nA());function Qre(r){return r&&r.__esModule?r:{default:r}}var GHe=/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i,YHe=/^((https?|ftp):)?\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,jHe=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,qHe=r=>(0,sA.default)(r)||r===r.trim(),JHe={}.toString();function bre(){return new ym}var ym=class extends HHe.default{constructor(){super({type:"string"}),this.withMutation(()=>{this.transform(function(e){if(this.isType(e)||Array.isArray(e))return e;let t=e!=null&&e.toString?e.toString():e;return t===JHe?e:t})})}_typeCheck(e){return e instanceof String&&(e=e.valueOf()),typeof e=="string"}_isPresent(e){return super._isPresent(e)&&!!e.length}length(e,t=ia.string.length){return this.test({message:t,name:"length",exclusive:!0,params:{length:e},test(i){return(0,sA.default)(i)||i.length===this.resolve(e)}})}min(e,t=ia.string.min){return this.test({message:t,name:"min",exclusive:!0,params:{min:e},test(i){return(0,sA.default)(i)||i.length>=this.resolve(e)}})}max(e,t=ia.string.max){return this.test({name:"max",exclusive:!0,message:t,params:{max:e},test(i){return(0,sA.default)(i)||i.length<=this.resolve(e)}})}matches(e,t){let i=!1,n,s;return t&&(typeof t=="object"?{excludeEmptyString:i=!1,message:n,name:s}=t:n=t),this.test({name:s||"matches",message:n||ia.string.matches,params:{regex:e},test:o=>(0,sA.default)(o)||o===""&&i||o.search(e)!==-1})}email(e=ia.string.email){return this.matches(GHe,{name:"email",message:e,excludeEmptyString:!0})}url(e=ia.string.url){return this.matches(YHe,{name:"url",message:e,excludeEmptyString:!0})}uuid(e=ia.string.uuid){return this.matches(jHe,{name:"uuid",message:e,excludeEmptyString:!1})}ensure(){return this.default("").transform(e=>e===null?"":e)}trim(e=ia.string.trim){return this.transform(t=>t!=null?t.trim():t).test({message:e,name:"trim",test:qHe})}lowercase(e=ia.string.lowercase){return this.transform(t=>(0,sA.default)(t)?t:t.toLowerCase()).test({message:e,name:"string_case",exclusive:!0,test:t=>(0,sA.default)(t)||t===t.toLowerCase()})}uppercase(e=ia.string.uppercase){return this.transform(t=>(0,sA.default)(t)?t:t.toUpperCase()).test({message:e,name:"string_case",exclusive:!0,test:t=>(0,sA.default)(t)||t===t.toUpperCase()})}};wm.default=ym;bre.prototype=ym.prototype});var Pre=w(Qm=>{"use strict";Object.defineProperty(Qm,"__esModule",{value:!0});Qm.create=xre;Qm.default=void 0;var _c=rA(),$c=vre(Fh()),WHe=vre(nA());function vre(r){return r&&r.__esModule?r:{default:r}}var zHe=r=>r!=+r;function xre(){return new Bm}var Bm=class extends WHe.default{constructor(){super({type:"number"}),this.withMutation(()=>{this.transform(function(e){let t=e;if(typeof t=="string"){if(t=t.replace(/\s/g,""),t==="")return NaN;t=+t}return this.isType(t)?t:parseFloat(t)})})}_typeCheck(e){return e instanceof Number&&(e=e.valueOf()),typeof e=="number"&&!zHe(e)}min(e,t=_c.number.min){return this.test({message:t,name:"min",exclusive:!0,params:{min:e},test(i){return(0,$c.default)(i)||i>=this.resolve(e)}})}max(e,t=_c.number.max){return this.test({message:t,name:"max",exclusive:!0,params:{max:e},test(i){return(0,$c.default)(i)||i<=this.resolve(e)}})}lessThan(e,t=_c.number.lessThan){return this.test({message:t,name:"max",exclusive:!0,params:{less:e},test(i){return(0,$c.default)(i)||ithis.resolve(e)}})}positive(e=_c.number.positive){return this.moreThan(0,e)}negative(e=_c.number.negative){return this.lessThan(0,e)}integer(e=_c.number.integer){return this.test({name:"integer",message:e,test:t=>(0,$c.default)(t)||Number.isInteger(t)})}truncate(){return this.transform(e=>(0,$c.default)(e)?e:e|0)}round(e){var t,i=["ceil","floor","round","trunc"];if(e=((t=e)==null?void 0:t.toLowerCase())||"round",e==="trunc")return this.truncate();if(i.indexOf(e.toLowerCase())===-1)throw new TypeError("Only valid options for round() are: "+i.join(", "));return this.transform(n=>(0,$c.default)(n)?n:Math[e](n))}};Qm.default=Bm;xre.prototype=Bm.prototype});var Dre=w(LL=>{"use strict";Object.defineProperty(LL,"__esModule",{value:!0});LL.default=XHe;var VHe=/^(\d{4}|[+\-]\d{6})(?:-?(\d{2})(?:-?(\d{2}))?)?(?:[ T]?(\d{2}):?(\d{2})(?::?(\d{2})(?:[,\.](\d{1,}))?)?(?:(Z)|([+\-])(\d{2})(?::?(\d{2}))?)?)?$/;function XHe(r){var e=[1,4,5,6,7,10,11],t=0,i,n;if(n=VHe.exec(r)){for(var s=0,o;o=e[s];++s)n[o]=+n[o]||0;n[2]=(+n[2]||1)-1,n[3]=+n[3]||1,n[7]=n[7]?String(n[7]).substr(0,3):0,(n[8]===void 0||n[8]==="")&&(n[9]===void 0||n[9]==="")?i=+new Date(n[1],n[2],n[3],n[4],n[5],n[6],n[7]):(n[8]!=="Z"&&n[9]!==void 0&&(t=n[10]*60+n[11],n[9]==="+"&&(t=0-t)),i=Date.UTC(n[1],n[2],n[3],n[4],n[5]+t,n[6],n[7]))}else i=Date.parse?Date.parse(r):NaN;return i}});var Fre=w(bm=>{"use strict";Object.defineProperty(bm,"__esModule",{value:!0});bm.create=OL;bm.default=void 0;var ZHe=hQ(Dre()),kre=rA(),Rre=hQ(Fh()),_He=hQ(Zc()),$He=hQ(nA());function hQ(r){return r&&r.__esModule?r:{default:r}}var TL=new Date(""),eGe=r=>Object.prototype.toString.call(r)==="[object Date]";function OL(){return new Nh}var Nh=class extends $He.default{constructor(){super({type:"date"}),this.withMutation(()=>{this.transform(function(e){return this.isType(e)?e:(e=(0,ZHe.default)(e),isNaN(e)?TL:new Date(e))})})}_typeCheck(e){return eGe(e)&&!isNaN(e.getTime())}prepareParam(e,t){let i;if(_He.default.isRef(e))i=e;else{let n=this.cast(e);if(!this._typeCheck(n))throw new TypeError(`\`${t}\` must be a Date or a value that can be \`cast()\` to a Date`);i=n}return i}min(e,t=kre.date.min){let i=this.prepareParam(e,"min");return this.test({message:t,name:"min",exclusive:!0,params:{min:e},test(n){return(0,Rre.default)(n)||n>=this.resolve(i)}})}max(e,t=kre.date.max){var i=this.prepareParam(e,"max");return this.test({message:t,name:"max",exclusive:!0,params:{max:e},test(n){return(0,Rre.default)(n)||n<=this.resolve(i)}})}};bm.default=Nh;Nh.INVALID_DATE=TL;OL.prototype=Nh.prototype;OL.INVALID_DATE=TL});var Lre=w((Nut,Nre)=>{function tGe(r,e,t,i){var n=-1,s=r==null?0:r.length;for(i&&s&&(t=r[++n]);++n{function rGe(r){return function(e){return r==null?void 0:r[e]}}Tre.exports=rGe});var Kre=w((Tut,Mre)=>{var iGe=Ore(),nGe={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},sGe=iGe(nGe);Mre.exports=sGe});var Hre=w((Out,Ure)=>{var oGe=Kre(),aGe=Jf(),AGe=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,lGe="\\u0300-\\u036f",cGe="\\ufe20-\\ufe2f",uGe="\\u20d0-\\u20ff",gGe=lGe+cGe+uGe,fGe="["+gGe+"]",hGe=RegExp(fGe,"g");function pGe(r){return r=aGe(r),r&&r.replace(AGe,oGe).replace(hGe,"")}Ure.exports=pGe});var Yre=w((Mut,Gre)=>{var dGe=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function CGe(r){return r.match(dGe)||[]}Gre.exports=CGe});var qre=w((Kut,jre)=>{var mGe=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;function EGe(r){return mGe.test(r)}jre.exports=EGe});var cie=w((Uut,lie)=>{var Xre="\\ud800-\\udfff",IGe="\\u0300-\\u036f",yGe="\\ufe20-\\ufe2f",wGe="\\u20d0-\\u20ff",BGe=IGe+yGe+wGe,Zre="\\u2700-\\u27bf",_re="a-z\\xdf-\\xf6\\xf8-\\xff",QGe="\\xac\\xb1\\xd7\\xf7",bGe="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",SGe="\\u2000-\\u206f",vGe=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",$re="A-Z\\xc0-\\xd6\\xd8-\\xde",xGe="\\ufe0e\\ufe0f",eie=QGe+bGe+SGe+vGe,tie="['\u2019]",Jre="["+eie+"]",PGe="["+BGe+"]",rie="\\d+",DGe="["+Zre+"]",iie="["+_re+"]",nie="[^"+Xre+eie+rie+Zre+_re+$re+"]",kGe="\\ud83c[\\udffb-\\udfff]",RGe="(?:"+PGe+"|"+kGe+")",FGe="[^"+Xre+"]",sie="(?:\\ud83c[\\udde6-\\uddff]){2}",oie="[\\ud800-\\udbff][\\udc00-\\udfff]",Lh="["+$re+"]",NGe="\\u200d",Wre="(?:"+iie+"|"+nie+")",LGe="(?:"+Lh+"|"+nie+")",zre="(?:"+tie+"(?:d|ll|m|re|s|t|ve))?",Vre="(?:"+tie+"(?:D|LL|M|RE|S|T|VE))?",aie=RGe+"?",Aie="["+xGe+"]?",TGe="(?:"+NGe+"(?:"+[FGe,sie,oie].join("|")+")"+Aie+aie+")*",OGe="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",MGe="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",KGe=Aie+aie+TGe,UGe="(?:"+[DGe,sie,oie].join("|")+")"+KGe,HGe=RegExp([Lh+"?"+iie+"+"+zre+"(?="+[Jre,Lh,"$"].join("|")+")",LGe+"+"+Vre+"(?="+[Jre,Lh+Wre,"$"].join("|")+")",Lh+"?"+Wre+"+"+zre,Lh+"+"+Vre,MGe,OGe,rie,UGe].join("|"),"g");function GGe(r){return r.match(HGe)||[]}lie.exports=GGe});var gie=w((Hut,uie)=>{var YGe=Yre(),jGe=qre(),qGe=Jf(),JGe=cie();function WGe(r,e,t){return r=qGe(r),e=t?void 0:e,e===void 0?jGe(r)?JGe(r):YGe(r):r.match(e)||[]}uie.exports=WGe});var ML=w((Gut,fie)=>{var zGe=Lre(),VGe=Hre(),XGe=gie(),ZGe="['\u2019]",_Ge=RegExp(ZGe,"g");function $Ge(r){return function(e){return zGe(XGe(VGe(e).replace(_Ge,"")),r,"")}}fie.exports=$Ge});var pie=w((Yut,hie)=>{var eYe=ML(),tYe=eYe(function(r,e,t){return r+(t?"_":"")+e.toLowerCase()});hie.exports=tYe});var Cie=w((jut,die)=>{var rYe=bB(),iYe=ML(),nYe=iYe(function(r,e,t){return e=e.toLowerCase(),r+(t?rYe(e):e)});die.exports=nYe});var Eie=w((qut,mie)=>{var sYe=yh(),oYe=lL(),aYe=bL();function AYe(r,e){var t={};return e=aYe(e,3),oYe(r,function(i,n,s){sYe(t,e(i,n,s),i)}),t}mie.exports=AYe});var yie=w((Jut,KL)=>{KL.exports=function(r){return Iie(lYe(r),r)};KL.exports.array=Iie;function Iie(r,e){var t=r.length,i=new Array(t),n={},s=t,o=cYe(e),a=uYe(r);for(e.forEach(function(c){if(!a.has(c[0])||!a.has(c[1]))throw new Error("Unknown node. There is an unknown node in the supplied edges.")});s--;)n[s]||l(r[s],s,new Set);return i;function l(c,u,g){if(g.has(c)){var f;try{f=", node was:"+JSON.stringify(c)}catch{f=""}throw new Error("Cyclic dependency"+f)}if(!a.has(c))throw new Error("Found unknown node. Make sure to provided all involved nodes. Unknown node: "+JSON.stringify(c));if(!n[u]){n[u]=!0;var h=o.get(c)||new Set;if(h=Array.from(h),u=h.length){g.add(c);do{var p=h[--u];l(p,a.get(p),g)}while(u);g.delete(c)}i[--t]=c}}}function lYe(r){for(var e=new Set,t=0,i=r.length;t{"use strict";Object.defineProperty(UL,"__esModule",{value:!0});UL.default=CYe;var gYe=pQ(sm()),fYe=pQ(yie()),hYe=fm(),pYe=pQ(Zc()),dYe=pQ(bh());function pQ(r){return r&&r.__esModule?r:{default:r}}function CYe(r,e=[]){let t=[],i=[];function n(s,o){var a=(0,hYe.split)(s)[0];~i.indexOf(a)||i.push(a),~e.indexOf(`${o}-${a}`)||t.push([o,a])}for(let s in r)if((0,gYe.default)(r,s)){let o=r[s];~i.indexOf(s)||i.push(s),pYe.default.isRef(o)&&o.isSibling?n(o.path,s):(0,dYe.default)(o)&&"deps"in o&&o.deps.forEach(a=>n(a,s))}return fYe.default.array(i,t).reverse()}});var Qie=w(HL=>{"use strict";Object.defineProperty(HL,"__esModule",{value:!0});HL.default=mYe;function Bie(r,e){let t=1/0;return r.some((i,n)=>{var s;if(((s=e.path)==null?void 0:s.indexOf(i))!==-1)return t=n,!0}),t}function mYe(r){return(e,t)=>Bie(r,e)-Bie(r,t)}});var kie=w(vm=>{"use strict";Object.defineProperty(vm,"__esModule",{value:!0});vm.create=Die;vm.default=void 0;var bie=na(sm()),Sie=na(pie()),EYe=na(Cie()),IYe=na(Eie()),yYe=na(SL()),wYe=fm(),vie=rA(),BYe=na(wie()),Pie=na(Qie()),QYe=na(_0()),bYe=na(zc()),GL=na(nA());function na(r){return r&&r.__esModule?r:{default:r}}function Th(){return Th=Object.assign||function(r){for(var e=1;eObject.prototype.toString.call(r)==="[object Object]";function SYe(r,e){let t=Object.keys(r.fields);return Object.keys(e).filter(i=>t.indexOf(i)===-1)}var vYe=(0,Pie.default)([]),Sm=class extends GL.default{constructor(e){super({type:"object"}),this.fields=Object.create(null),this._sortErrors=vYe,this._nodes=[],this._excludedEdges=[],this.withMutation(()=>{this.transform(function(i){if(typeof i=="string")try{i=JSON.parse(i)}catch{i=null}return this.isType(i)?i:null}),e&&this.shape(e)})}_typeCheck(e){return xie(e)||typeof e=="function"}_cast(e,t={}){var i;let n=super._cast(e,t);if(n===void 0)return this.getDefault();if(!this._typeCheck(n))return n;let s=this.fields,o=(i=t.stripUnknown)!=null?i:this.spec.noUnknown,a=this._nodes.concat(Object.keys(n).filter(g=>this._nodes.indexOf(g)===-1)),l={},c=Th({},t,{parent:l,__validating:t.__validating||!1}),u=!1;for(let g of a){let f=s[g],h=(0,bie.default)(n,g);if(f){let p,C=n[g];c.path=(t.path?`${t.path}.`:"")+g,f=f.resolve({value:C,context:t.context,parent:l});let y="spec"in f?f.spec:void 0,B=y==null?void 0:y.strict;if(y!=null&&y.strip){u=u||g in n;continue}p=!t.__validating||!B?f.cast(n[g],c):n[g],p!==void 0&&(l[g]=p)}else h&&!o&&(l[g]=n[g]);l[g]!==n[g]&&(u=!0)}return u?l:n}_validate(e,t={},i){let n=[],{sync:s,from:o=[],originalValue:a=e,abortEarly:l=this.spec.abortEarly,recursive:c=this.spec.recursive}=t;o=[{schema:this,value:a},...o],t.__validating=!0,t.originalValue=a,t.from=o,super._validate(e,t,(u,g)=>{if(u){if(!bYe.default.isError(u)||l)return void i(u,g);n.push(u)}if(!c||!xie(g)){i(n[0]||null,g);return}a=a||g;let f=this._nodes.map(h=>(p,C)=>{let y=h.indexOf(".")===-1?(t.path?`${t.path}.`:"")+h:`${t.path||""}["${h}"]`,B=this.fields[h];if(B&&"validate"in B){B.validate(g[h],Th({},t,{path:y,from:o,strict:!0,parent:g,originalValue:a[h]}),C);return}C(null)});(0,QYe.default)({sync:s,tests:f,value:g,errors:n,endEarly:l,sort:this._sortErrors,path:t.path},i)})}clone(e){let t=super.clone(e);return t.fields=Th({},this.fields),t._nodes=this._nodes,t._excludedEdges=this._excludedEdges,t._sortErrors=this._sortErrors,t}concat(e){let t=super.concat(e),i=t.fields;for(let[n,s]of Object.entries(this.fields)){let o=i[n];o===void 0?i[n]=s:o instanceof GL.default&&s instanceof GL.default&&(i[n]=s.concat(o))}return t.withMutation(()=>t.shape(i))}getDefaultFromShape(){let e={};return this._nodes.forEach(t=>{let i=this.fields[t];e[t]="default"in i?i.getDefault():void 0}),e}_getDefault(){if("default"in this.spec)return super._getDefault();if(!!this._nodes.length)return this.getDefaultFromShape()}shape(e,t=[]){let i=this.clone(),n=Object.assign(i.fields,e);if(i.fields=n,i._sortErrors=(0,Pie.default)(Object.keys(n)),t.length){Array.isArray(t[0])||(t=[t]);let s=t.map(([o,a])=>`${o}-${a}`);i._excludedEdges=i._excludedEdges.concat(s)}return i._nodes=(0,BYe.default)(n,i._excludedEdges),i}pick(e){let t={};for(let i of e)this.fields[i]&&(t[i]=this.fields[i]);return this.clone().withMutation(i=>(i.fields={},i.shape(t)))}omit(e){let t=this.clone(),i=t.fields;t.fields={};for(let n of e)delete i[n];return t.withMutation(()=>t.shape(i))}from(e,t,i){let n=(0,wYe.getter)(e,!0);return this.transform(s=>{if(s==null)return s;let o=s;return(0,bie.default)(s,e)&&(o=Th({},s),i||delete o[e],o[t]=n(s)),o})}noUnknown(e=!0,t=vie.object.noUnknown){typeof e=="string"&&(t=e,e=!0);let i=this.test({name:"noUnknown",exclusive:!0,message:t,test(n){if(n==null)return!0;let s=SYe(this.schema,n);return!e||s.length===0||this.createError({params:{unknown:s.join(", ")}})}});return i.spec.noUnknown=e,i}unknown(e=!0,t=vie.object.noUnknown){return this.noUnknown(!e,t)}transformKeys(e){return this.transform(t=>t&&(0,IYe.default)(t,(i,n)=>e(n)))}camelCase(){return this.transformKeys(EYe.default)}snakeCase(){return this.transformKeys(Sie.default)}constantCase(){return this.transformKeys(e=>(0,Sie.default)(e).toUpperCase())}describe(){let e=super.describe();return e.fields=(0,yYe.default)(this.fields,t=>t.describe()),e}};vm.default=Sm;function Die(r){return new Sm(r)}Die.prototype=Sm.prototype});var Fie=w(Pm=>{"use strict";Object.defineProperty(Pm,"__esModule",{value:!0});Pm.create=Rie;Pm.default=void 0;var YL=Oh(Fh()),xYe=Oh(bh()),PYe=Oh(nm()),jL=rA(),DYe=Oh(_0()),kYe=Oh(zc()),RYe=Oh(nA());function Oh(r){return r&&r.__esModule?r:{default:r}}function dQ(){return dQ=Object.assign||function(r){for(var e=1;e{this.transform(function(t){if(typeof t=="string")try{t=JSON.parse(t)}catch{t=null}return this.isType(t)?t:null})})}_typeCheck(e){return Array.isArray(e)}get _subType(){return this.innerType}_cast(e,t){let i=super._cast(e,t);if(!this._typeCheck(i)||!this.innerType)return i;let n=!1,s=i.map((o,a)=>{let l=this.innerType.cast(o,dQ({},t,{path:`${t.path||""}[${a}]`}));return l!==o&&(n=!0),l});return n?s:i}_validate(e,t={},i){var n,s;let o=[],a=t.sync,l=t.path,c=this.innerType,u=(n=t.abortEarly)!=null?n:this.spec.abortEarly,g=(s=t.recursive)!=null?s:this.spec.recursive,f=t.originalValue!=null?t.originalValue:e;super._validate(e,t,(h,p)=>{if(h){if(!kYe.default.isError(h)||u)return void i(h,p);o.push(h)}if(!g||!c||!this._typeCheck(p)){i(o[0]||null,p);return}f=f||p;let C=new Array(p.length);for(let y=0;yc.validate(B,D,H)}(0,DYe.default)({sync:a,path:l,value:p,errors:o,endEarly:u,tests:C},i)})}clone(e){let t=super.clone(e);return t.innerType=this.innerType,t}concat(e){let t=super.concat(e);return t.innerType=this.innerType,e.innerType&&(t.innerType=t.innerType?t.innerType.concat(e.innerType):e.innerType),t}of(e){let t=this.clone();if(!(0,xYe.default)(e))throw new TypeError("`array.of()` sub-schema must be a valid yup schema not: "+(0,PYe.default)(e));return t.innerType=e,t}length(e,t=jL.array.length){return this.test({message:t,name:"length",exclusive:!0,params:{length:e},test(i){return(0,YL.default)(i)||i.length===this.resolve(e)}})}min(e,t){return t=t||jL.array.min,this.test({message:t,name:"min",exclusive:!0,params:{min:e},test(i){return(0,YL.default)(i)||i.length>=this.resolve(e)}})}max(e,t){return t=t||jL.array.max,this.test({message:t,name:"max",exclusive:!0,params:{max:e},test(i){return(0,YL.default)(i)||i.length<=this.resolve(e)}})}ensure(){return this.default(()=>[]).transform((e,t)=>this._typeCheck(e)?e:t==null?[]:[].concat(t))}compact(e){let t=e?(i,n,s)=>!e(i,n,s):i=>!!i;return this.transform(i=>i!=null?i.filter(t):i)}describe(){let e=super.describe();return this.innerType&&(e.innerType=this.innerType.describe()),e}nullable(e=!0){return super.nullable(e)}defined(){return super.defined()}required(e){return super.required(e)}};Pm.default=xm;Rie.prototype=xm.prototype});var Nie=w(Dm=>{"use strict";Object.defineProperty(Dm,"__esModule",{value:!0});Dm.create=LYe;Dm.default=void 0;var FYe=NYe(bh());function NYe(r){return r&&r.__esModule?r:{default:r}}function LYe(r){return new CQ(r)}var CQ=class{constructor(e){this.type="lazy",this.__isYupSchema__=!0,this._resolve=(t,i={})=>{let n=this.builder(t,i);if(!(0,FYe.default)(n))throw new TypeError("lazy() functions must return a valid schema");return n.resolve(i)},this.builder=e}resolve(e){return this._resolve(e.value,e)}cast(e,t){return this._resolve(e,t).cast(e,t)}validate(e,t,i){return this._resolve(e,t).validate(e,t,i)}validateSync(e,t){return this._resolve(e,t).validateSync(e,t)}validateAt(e,t,i){return this._resolve(t,i).validateAt(e,t,i)}validateSyncAt(e,t,i){return this._resolve(t,i).validateSyncAt(e,t,i)}describe(){return null}isValid(e,t){return this._resolve(e,t).isValid(e,t)}isValidSync(e,t){return this._resolve(e,t).isValidSync(e,t)}},TYe=CQ;Dm.default=TYe});var Lie=w(qL=>{"use strict";Object.defineProperty(qL,"__esModule",{value:!0});qL.default=KYe;var OYe=MYe(rA());function MYe(r){return r&&r.__esModule?r:{default:r}}function KYe(r){Object.keys(r).forEach(e=>{Object.keys(r[e]).forEach(t=>{OYe.default[e][t]=r[e][t]})})}});var WL=w(yr=>{"use strict";Object.defineProperty(yr,"__esModule",{value:!0});yr.addMethod=JYe;Object.defineProperty(yr,"MixedSchema",{enumerable:!0,get:function(){return Tie.default}});Object.defineProperty(yr,"mixed",{enumerable:!0,get:function(){return Tie.create}});Object.defineProperty(yr,"BooleanSchema",{enumerable:!0,get:function(){return JL.default}});Object.defineProperty(yr,"bool",{enumerable:!0,get:function(){return JL.create}});Object.defineProperty(yr,"boolean",{enumerable:!0,get:function(){return JL.create}});Object.defineProperty(yr,"StringSchema",{enumerable:!0,get:function(){return Oie.default}});Object.defineProperty(yr,"string",{enumerable:!0,get:function(){return Oie.create}});Object.defineProperty(yr,"NumberSchema",{enumerable:!0,get:function(){return Mie.default}});Object.defineProperty(yr,"number",{enumerable:!0,get:function(){return Mie.create}});Object.defineProperty(yr,"DateSchema",{enumerable:!0,get:function(){return Kie.default}});Object.defineProperty(yr,"date",{enumerable:!0,get:function(){return Kie.create}});Object.defineProperty(yr,"ObjectSchema",{enumerable:!0,get:function(){return Uie.default}});Object.defineProperty(yr,"object",{enumerable:!0,get:function(){return Uie.create}});Object.defineProperty(yr,"ArraySchema",{enumerable:!0,get:function(){return Hie.default}});Object.defineProperty(yr,"array",{enumerable:!0,get:function(){return Hie.create}});Object.defineProperty(yr,"ref",{enumerable:!0,get:function(){return UYe.create}});Object.defineProperty(yr,"lazy",{enumerable:!0,get:function(){return HYe.create}});Object.defineProperty(yr,"ValidationError",{enumerable:!0,get:function(){return GYe.default}});Object.defineProperty(yr,"reach",{enumerable:!0,get:function(){return YYe.default}});Object.defineProperty(yr,"isSchema",{enumerable:!0,get:function(){return Gie.default}});Object.defineProperty(yr,"setLocale",{enumerable:!0,get:function(){return jYe.default}});Object.defineProperty(yr,"BaseSchema",{enumerable:!0,get:function(){return qYe.default}});var Tie=eu(mre()),JL=eu(Bre()),Oie=eu(Sre()),Mie=eu(Pre()),Kie=eu(Fre()),Uie=eu(kie()),Hie=eu(Fie()),UYe=Zc(),HYe=Nie(),GYe=km(zc()),YYe=km(FL()),Gie=km(bh()),jYe=km(Lie()),qYe=km(nA());function km(r){return r&&r.__esModule?r:{default:r}}function Yie(){if(typeof WeakMap!="function")return null;var r=new WeakMap;return Yie=function(){return r},r}function eu(r){if(r&&r.__esModule)return r;if(r===null||typeof r!="object"&&typeof r!="function")return{default:r};var e=Yie();if(e&&e.has(r))return e.get(r);var t={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in r)if(Object.prototype.hasOwnProperty.call(r,n)){var s=i?Object.getOwnPropertyDescriptor(r,n):null;s&&(s.get||s.set)?Object.defineProperty(t,n,s):t[n]=r[n]}return t.default=r,e&&e.set(r,t),t}function JYe(r,e,t){if(!r||!(0,Gie.default)(r.prototype))throw new TypeError("You must provide a yup schema constructor function");if(typeof e!="string")throw new TypeError("A Method name must be provided");if(typeof t!="function")throw new TypeError("Method function must be provided");r.prototype[e]=t}});var zie=w((ggt,Fm)=>{"use strict";var VYe=process.env.TERM_PROGRAM==="Hyper",XYe=process.platform==="win32",qie=process.platform==="linux",zL={ballotDisabled:"\u2612",ballotOff:"\u2610",ballotOn:"\u2611",bullet:"\u2022",bulletWhite:"\u25E6",fullBlock:"\u2588",heart:"\u2764",identicalTo:"\u2261",line:"\u2500",mark:"\u203B",middot:"\xB7",minus:"\uFF0D",multiplication:"\xD7",obelus:"\xF7",pencilDownRight:"\u270E",pencilRight:"\u270F",pencilUpRight:"\u2710",percent:"%",pilcrow2:"\u2761",pilcrow:"\xB6",plusMinus:"\xB1",section:"\xA7",starsOff:"\u2606",starsOn:"\u2605",upDownArrow:"\u2195"},Jie=Object.assign({},zL,{check:"\u221A",cross:"\xD7",ellipsisLarge:"...",ellipsis:"...",info:"i",question:"?",questionSmall:"?",pointer:">",pointerSmall:"\xBB",radioOff:"( )",radioOn:"(*)",warning:"\u203C"}),Wie=Object.assign({},zL,{ballotCross:"\u2718",check:"\u2714",cross:"\u2716",ellipsisLarge:"\u22EF",ellipsis:"\u2026",info:"\u2139",question:"?",questionFull:"\uFF1F",questionSmall:"\uFE56",pointer:qie?"\u25B8":"\u276F",pointerSmall:qie?"\u2023":"\u203A",radioOff:"\u25EF",radioOn:"\u25C9",warning:"\u26A0"});Fm.exports=XYe&&!VYe?Jie:Wie;Reflect.defineProperty(Fm.exports,"common",{enumerable:!1,value:zL});Reflect.defineProperty(Fm.exports,"windows",{enumerable:!1,value:Jie});Reflect.defineProperty(Fm.exports,"other",{enumerable:!1,value:Wie})});var lo=w((fgt,VL)=>{"use strict";var ZYe=r=>r!==null&&typeof r=="object"&&!Array.isArray(r),_Ye=/[\u001b\u009b][[\]#;?()]*(?:(?:(?:[^\W_]*;?[^\W_]*)\u0007)|(?:(?:[0-9]{1,4}(;[0-9]{0,4})*)?[~0-9=<>cf-nqrtyA-PRZ]))/g,Vie=()=>{let r={enabled:!0,visible:!0,styles:{},keys:{}};"FORCE_COLOR"in process.env&&(r.enabled=process.env.FORCE_COLOR!=="0");let e=s=>{let o=s.open=`\x1B[${s.codes[0]}m`,a=s.close=`\x1B[${s.codes[1]}m`,l=s.regex=new RegExp(`\\u001b\\[${s.codes[1]}m`,"g");return s.wrap=(c,u)=>{c.includes(a)&&(c=c.replace(l,a+o));let g=o+c+a;return u?g.replace(/\r*\n/g,`${a}$&${o}`):g},s},t=(s,o,a)=>typeof s=="function"?s(o):s.wrap(o,a),i=(s,o)=>{if(s===""||s==null)return"";if(r.enabled===!1)return s;if(r.visible===!1)return"";let a=""+s,l=a.includes(` +`),c=o.length;for(c>0&&o.includes("unstyle")&&(o=[...new Set(["unstyle",...o])].reverse());c-- >0;)a=t(r.styles[o[c]],a,l);return a},n=(s,o,a)=>{r.styles[s]=e({name:s,codes:o}),(r.keys[a]||(r.keys[a]=[])).push(s),Reflect.defineProperty(r,s,{configurable:!0,enumerable:!0,set(c){r.alias(s,c)},get(){let c=u=>i(u,c.stack);return Reflect.setPrototypeOf(c,r),c.stack=this.stack?this.stack.concat(s):[s],c}})};return n("reset",[0,0],"modifier"),n("bold",[1,22],"modifier"),n("dim",[2,22],"modifier"),n("italic",[3,23],"modifier"),n("underline",[4,24],"modifier"),n("inverse",[7,27],"modifier"),n("hidden",[8,28],"modifier"),n("strikethrough",[9,29],"modifier"),n("black",[30,39],"color"),n("red",[31,39],"color"),n("green",[32,39],"color"),n("yellow",[33,39],"color"),n("blue",[34,39],"color"),n("magenta",[35,39],"color"),n("cyan",[36,39],"color"),n("white",[37,39],"color"),n("gray",[90,39],"color"),n("grey",[90,39],"color"),n("bgBlack",[40,49],"bg"),n("bgRed",[41,49],"bg"),n("bgGreen",[42,49],"bg"),n("bgYellow",[43,49],"bg"),n("bgBlue",[44,49],"bg"),n("bgMagenta",[45,49],"bg"),n("bgCyan",[46,49],"bg"),n("bgWhite",[47,49],"bg"),n("blackBright",[90,39],"bright"),n("redBright",[91,39],"bright"),n("greenBright",[92,39],"bright"),n("yellowBright",[93,39],"bright"),n("blueBright",[94,39],"bright"),n("magentaBright",[95,39],"bright"),n("cyanBright",[96,39],"bright"),n("whiteBright",[97,39],"bright"),n("bgBlackBright",[100,49],"bgBright"),n("bgRedBright",[101,49],"bgBright"),n("bgGreenBright",[102,49],"bgBright"),n("bgYellowBright",[103,49],"bgBright"),n("bgBlueBright",[104,49],"bgBright"),n("bgMagentaBright",[105,49],"bgBright"),n("bgCyanBright",[106,49],"bgBright"),n("bgWhiteBright",[107,49],"bgBright"),r.ansiRegex=_Ye,r.hasColor=r.hasAnsi=s=>(r.ansiRegex.lastIndex=0,typeof s=="string"&&s!==""&&r.ansiRegex.test(s)),r.alias=(s,o)=>{let a=typeof o=="string"?r[o]:o;if(typeof a!="function")throw new TypeError("Expected alias to be the name of an existing color (string) or a function");a.stack||(Reflect.defineProperty(a,"name",{value:s}),r.styles[s]=a,a.stack=[s]),Reflect.defineProperty(r,s,{configurable:!0,enumerable:!0,set(l){r.alias(s,l)},get(){let l=c=>i(c,l.stack);return Reflect.setPrototypeOf(l,r),l.stack=this.stack?this.stack.concat(a.stack):a.stack,l}})},r.theme=s=>{if(!ZYe(s))throw new TypeError("Expected theme to be an object");for(let o of Object.keys(s))r.alias(o,s[o]);return r},r.alias("unstyle",s=>typeof s=="string"&&s!==""?(r.ansiRegex.lastIndex=0,s.replace(r.ansiRegex,"")):""),r.alias("noop",s=>s),r.none=r.clear=r.noop,r.stripColor=r.unstyle,r.symbols=zie(),r.define=n,r};VL.exports=Vie();VL.exports.create=Vie});var ji=w(Lt=>{"use strict";var $Ye=Object.prototype.toString,Rs=lo(),Xie=!1,XL=[],Zie={yellow:"blue",cyan:"red",green:"magenta",black:"white",blue:"yellow",red:"cyan",magenta:"green",white:"black"};Lt.longest=(r,e)=>r.reduce((t,i)=>Math.max(t,e?i[e].length:i.length),0);Lt.hasColor=r=>!!r&&Rs.hasColor(r);var EQ=Lt.isObject=r=>r!==null&&typeof r=="object"&&!Array.isArray(r);Lt.nativeType=r=>$Ye.call(r).slice(8,-1).toLowerCase().replace(/\s/g,"");Lt.isAsyncFn=r=>Lt.nativeType(r)==="asyncfunction";Lt.isPrimitive=r=>r!=null&&typeof r!="object"&&typeof r!="function";Lt.resolve=(r,e,...t)=>typeof e=="function"?e.call(r,...t):e;Lt.scrollDown=(r=[])=>[...r.slice(1),r[0]];Lt.scrollUp=(r=[])=>[r.pop(),...r];Lt.reorder=(r=[])=>{let e=r.slice();return e.sort((t,i)=>t.index>i.index?1:t.index{let i=r.length,n=t===i?0:t<0?i-1:t,s=r[e];r[e]=r[n],r[n]=s};Lt.width=(r,e=80)=>{let t=r&&r.columns?r.columns:e;return r&&typeof r.getWindowSize=="function"&&(t=r.getWindowSize()[0]),process.platform==="win32"?t-1:t};Lt.height=(r,e=20)=>{let t=r&&r.rows?r.rows:e;return r&&typeof r.getWindowSize=="function"&&(t=r.getWindowSize()[1]),t};Lt.wordWrap=(r,e={})=>{if(!r)return r;typeof e=="number"&&(e={width:e});let{indent:t="",newline:i=` +`+t,width:n=80}=e;n-=((i+t).match(/[^\S\n]/g)||[]).length;let o=`.{1,${n}}([\\s\\u200B]+|$)|[^\\s\\u200B]+?([\\s\\u200B]+|$)`,a=r.trim(),l=new RegExp(o,"g"),c=a.match(l)||[];return c=c.map(u=>u.replace(/\n$/,"")),e.padEnd&&(c=c.map(u=>u.padEnd(n," "))),e.padStart&&(c=c.map(u=>u.padStart(n," "))),t+c.join(i)};Lt.unmute=r=>{let e=r.stack.find(i=>Rs.keys.color.includes(i));return e?Rs[e]:r.stack.find(i=>i.slice(2)==="bg")?Rs[e.slice(2)]:i=>i};Lt.pascal=r=>r?r[0].toUpperCase()+r.slice(1):"";Lt.inverse=r=>{if(!r||!r.stack)return r;let e=r.stack.find(i=>Rs.keys.color.includes(i));if(e){let i=Rs["bg"+Lt.pascal(e)];return i?i.black:r}let t=r.stack.find(i=>i.slice(0,2)==="bg");return t?Rs[t.slice(2).toLowerCase()]||r:Rs.none};Lt.complement=r=>{if(!r||!r.stack)return r;let e=r.stack.find(i=>Rs.keys.color.includes(i)),t=r.stack.find(i=>i.slice(0,2)==="bg");if(e&&!t)return Rs[Zie[e]||e];if(t){let i=t.slice(2).toLowerCase(),n=Zie[i];return n&&Rs["bg"+Lt.pascal(n)]||r}return Rs.none};Lt.meridiem=r=>{let e=r.getHours(),t=r.getMinutes(),i=e>=12?"pm":"am";e=e%12;let n=e===0?12:e,s=t<10?"0"+t:t;return n+":"+s+" "+i};Lt.set=(r={},e="",t)=>e.split(".").reduce((i,n,s,o)=>{let a=o.length-1>s?i[n]||{}:t;return!Lt.isObject(a)&&s{let i=r[e]==null?e.split(".").reduce((n,s)=>n&&n[s],r):r[e];return i==null?t:i};Lt.mixin=(r,e)=>{if(!EQ(r))return e;if(!EQ(e))return r;for(let t of Object.keys(e)){let i=Object.getOwnPropertyDescriptor(e,t);if(i.hasOwnProperty("value"))if(r.hasOwnProperty(t)&&EQ(i.value)){let n=Object.getOwnPropertyDescriptor(r,t);EQ(n.value)?r[t]=Lt.merge({},r[t],e[t]):Reflect.defineProperty(r,t,i)}else Reflect.defineProperty(r,t,i);else Reflect.defineProperty(r,t,i)}return r};Lt.merge=(...r)=>{let e={};for(let t of r)Lt.mixin(e,t);return e};Lt.mixinEmitter=(r,e)=>{let t=e.constructor.prototype;for(let i of Object.keys(t)){let n=t[i];typeof n=="function"?Lt.define(r,i,n.bind(e)):Lt.define(r,i,n)}};Lt.onExit=r=>{let e=(t,i)=>{Xie||(Xie=!0,XL.forEach(n=>n()),t===!0&&process.exit(128+i))};XL.length===0&&(process.once("SIGTERM",e.bind(null,!0,15)),process.once("SIGINT",e.bind(null,!0,2)),process.once("exit",e)),XL.push(r)};Lt.define=(r,e,t)=>{Reflect.defineProperty(r,e,{value:t})};Lt.defineExport=(r,e,t)=>{let i;Reflect.defineProperty(r,e,{enumerable:!0,configurable:!0,set(n){i=n},get(){return i?i():t()}})}});var _ie=w(Kh=>{"use strict";Kh.ctrl={a:"first",b:"backward",c:"cancel",d:"deleteForward",e:"last",f:"forward",g:"reset",i:"tab",k:"cutForward",l:"reset",n:"newItem",m:"cancel",j:"submit",p:"search",r:"remove",s:"save",u:"undo",w:"cutLeft",x:"toggleCursor",v:"paste"};Kh.shift={up:"shiftUp",down:"shiftDown",left:"shiftLeft",right:"shiftRight",tab:"prev"};Kh.fn={up:"pageUp",down:"pageDown",left:"pageLeft",right:"pageRight",delete:"deleteForward"};Kh.option={b:"backward",f:"forward",d:"cutRight",left:"cutLeft",up:"altUp",down:"altDown"};Kh.keys={pageup:"pageUp",pagedown:"pageDown",home:"home",end:"end",cancel:"cancel",delete:"deleteForward",backspace:"delete",down:"down",enter:"submit",escape:"cancel",left:"left",space:"space",number:"number",return:"submit",right:"right",tab:"next",up:"up"}});var tne=w((dgt,ene)=>{"use strict";var $ie=J("readline"),eje=_ie(),tje=/^(?:\x1b)([a-zA-Z0-9])$/,rje=/^(?:\x1b+)(O|N|\[|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/,ije={OP:"f1",OQ:"f2",OR:"f3",OS:"f4","[11~":"f1","[12~":"f2","[13~":"f3","[14~":"f4","[[A":"f1","[[B":"f2","[[C":"f3","[[D":"f4","[[E":"f5","[15~":"f5","[17~":"f6","[18~":"f7","[19~":"f8","[20~":"f9","[21~":"f10","[23~":"f11","[24~":"f12","[A":"up","[B":"down","[C":"right","[D":"left","[E":"clear","[F":"end","[H":"home",OA:"up",OB:"down",OC:"right",OD:"left",OE:"clear",OF:"end",OH:"home","[1~":"home","[2~":"insert","[3~":"delete","[4~":"end","[5~":"pageup","[6~":"pagedown","[[5~":"pageup","[[6~":"pagedown","[7~":"home","[8~":"end","[a":"up","[b":"down","[c":"right","[d":"left","[e":"clear","[2$":"insert","[3$":"delete","[5$":"pageup","[6$":"pagedown","[7$":"home","[8$":"end",Oa:"up",Ob:"down",Oc:"right",Od:"left",Oe:"clear","[2^":"insert","[3^":"delete","[5^":"pageup","[6^":"pagedown","[7^":"home","[8^":"end","[Z":"tab"};function nje(r){return["[a","[b","[c","[d","[e","[2$","[3$","[5$","[6$","[7$","[8$","[Z"].includes(r)}function sje(r){return["Oa","Ob","Oc","Od","Oe","[2^","[3^","[5^","[6^","[7^","[8^"].includes(r)}var IQ=(r="",e={})=>{let t,i={name:e.name,ctrl:!1,meta:!1,shift:!1,option:!1,sequence:r,raw:r,...e};if(Buffer.isBuffer(r)?r[0]>127&&r[1]===void 0?(r[0]-=128,r="\x1B"+String(r)):r=String(r):r!==void 0&&typeof r!="string"?r=String(r):r||(r=i.sequence||""),i.sequence=i.sequence||r||i.name,r==="\r")i.raw=void 0,i.name="return";else if(r===` +`)i.name="enter";else if(r===" ")i.name="tab";else if(r==="\b"||r==="\x7F"||r==="\x1B\x7F"||r==="\x1B\b")i.name="backspace",i.meta=r.charAt(0)==="\x1B";else if(r==="\x1B"||r==="\x1B\x1B")i.name="escape",i.meta=r.length===2;else if(r===" "||r==="\x1B ")i.name="space",i.meta=r.length===2;else if(r<="")i.name=String.fromCharCode(r.charCodeAt(0)+"a".charCodeAt(0)-1),i.ctrl=!0;else if(r.length===1&&r>="0"&&r<="9")i.name="number";else if(r.length===1&&r>="a"&&r<="z")i.name=r;else if(r.length===1&&r>="A"&&r<="Z")i.name=r.toLowerCase(),i.shift=!0;else if(t=tje.exec(r))i.meta=!0,i.shift=/^[A-Z]$/.test(t[1]);else if(t=rje.exec(r)){let n=[...r];n[0]==="\x1B"&&n[1]==="\x1B"&&(i.option=!0);let s=[t[1],t[2],t[4],t[6]].filter(Boolean).join(""),o=(t[3]||t[5]||1)-1;i.ctrl=!!(o&4),i.meta=!!(o&10),i.shift=!!(o&1),i.code=s,i.name=ije[s],i.shift=nje(s)||i.shift,i.ctrl=sje(s)||i.ctrl}return i};IQ.listen=(r={},e)=>{let{stdin:t}=r;if(!t||t!==process.stdin&&!t.isTTY)throw new Error("Invalid stream passed");let i=$ie.createInterface({terminal:!0,input:t});$ie.emitKeypressEvents(t,i);let n=(a,l)=>e(a,IQ(a,l),i),s=t.isRaw;return t.isTTY&&t.setRawMode(!0),t.on("keypress",n),i.resume(),()=>{t.isTTY&&t.setRawMode(s),t.removeListener("keypress",n),i.pause(),i.close()}};IQ.action=(r,e,t)=>{let i={...eje,...t};return e.ctrl?(e.action=i.ctrl[e.name],e):e.option&&i.option?(e.action=i.option[e.name],e):e.shift?(e.action=i.shift[e.name],e):(e.action=i.keys[e.name],e)};ene.exports=IQ});var ine=w((Cgt,rne)=>{"use strict";rne.exports=r=>{r.timers=r.timers||{};let e=r.options.timers;if(!!e)for(let t of Object.keys(e)){let i=e[t];typeof i=="number"&&(i={interval:i}),oje(r,t,i)}};function oje(r,e,t={}){let i=r.timers[e]={name:e,start:Date.now(),ms:0,tick:0},n=t.interval||120;i.frames=t.frames||[],i.loading=!0;let s=setInterval(()=>{i.ms=Date.now()-i.start,i.tick++,r.render()},n);return i.stop=()=>{i.loading=!1,clearInterval(s)},Reflect.defineProperty(i,"interval",{value:s}),r.once("close",()=>i.stop()),i.stop}});var sne=w((mgt,nne)=>{"use strict";var{define:aje,width:Aje}=ji(),ZL=class{constructor(e){let t=e.options;aje(this,"_prompt",e),this.type=e.type,this.name=e.name,this.message="",this.header="",this.footer="",this.error="",this.hint="",this.input="",this.cursor=0,this.index=0,this.lines=0,this.tick=0,this.prompt="",this.buffer="",this.width=Aje(t.stdout||process.stdout),Object.assign(this,t),this.name=this.name||this.message,this.message=this.message||this.name,this.symbols=e.symbols,this.styles=e.styles,this.required=new Set,this.cancelled=!1,this.submitted=!1}clone(){let e={...this};return e.status=this.status,e.buffer=Buffer.from(e.buffer),delete e.clone,e}set color(e){this._color=e}get color(){let e=this.prompt.styles;if(this.cancelled)return e.cancelled;if(this.submitted)return e.submitted;let t=this._color||e[this.status];return typeof t=="function"?t:e.pending}set loading(e){this._loading=e}get loading(){return typeof this._loading=="boolean"?this._loading:this.loadingChoices?"choices":!1}get status(){return this.cancelled?"cancelled":this.submitted?"submitted":"pending"}};nne.exports=ZL});var ane=w((Egt,one)=>{"use strict";var _L=ji(),Di=lo(),$L={default:Di.noop,noop:Di.noop,set inverse(r){this._inverse=r},get inverse(){return this._inverse||_L.inverse(this.primary)},set complement(r){this._complement=r},get complement(){return this._complement||_L.complement(this.primary)},primary:Di.cyan,success:Di.green,danger:Di.magenta,strong:Di.bold,warning:Di.yellow,muted:Di.dim,disabled:Di.gray,dark:Di.dim.gray,underline:Di.underline,set info(r){this._info=r},get info(){return this._info||this.primary},set em(r){this._em=r},get em(){return this._em||this.primary.underline},set heading(r){this._heading=r},get heading(){return this._heading||this.muted.underline},set pending(r){this._pending=r},get pending(){return this._pending||this.primary},set submitted(r){this._submitted=r},get submitted(){return this._submitted||this.success},set cancelled(r){this._cancelled=r},get cancelled(){return this._cancelled||this.danger},set typing(r){this._typing=r},get typing(){return this._typing||this.dim},set placeholder(r){this._placeholder=r},get placeholder(){return this._placeholder||this.primary.dim},set highlight(r){this._highlight=r},get highlight(){return this._highlight||this.inverse}};$L.merge=(r={})=>{r.styles&&typeof r.styles.enabled=="boolean"&&(Di.enabled=r.styles.enabled),r.styles&&typeof r.styles.visible=="boolean"&&(Di.visible=r.styles.visible);let e=_L.merge({},$L,r.styles);delete e.merge;for(let t of Object.keys(Di))e.hasOwnProperty(t)||Reflect.defineProperty(e,t,{get:()=>Di[t]});for(let t of Object.keys(Di.styles))e.hasOwnProperty(t)||Reflect.defineProperty(e,t,{get:()=>Di[t]});return e};one.exports=$L});var lne=w((Igt,Ane)=>{"use strict";var eT=process.platform==="win32",oA=lo(),lje=ji(),tT={...oA.symbols,upDownDoubleArrow:"\u21D5",upDownDoubleArrow2:"\u2B0D",upDownArrow:"\u2195",asterisk:"*",asterism:"\u2042",bulletWhite:"\u25E6",electricArrow:"\u2301",ellipsisLarge:"\u22EF",ellipsisSmall:"\u2026",fullBlock:"\u2588",identicalTo:"\u2261",indicator:oA.symbols.check,leftAngle:"\u2039",mark:"\u203B",minus:"\u2212",multiplication:"\xD7",obelus:"\xF7",percent:"%",pilcrow:"\xB6",pilcrow2:"\u2761",pencilUpRight:"\u2710",pencilDownRight:"\u270E",pencilRight:"\u270F",plus:"+",plusMinus:"\xB1",pointRight:"\u261E",rightAngle:"\u203A",section:"\xA7",hexagon:{off:"\u2B21",on:"\u2B22",disabled:"\u2B22"},ballot:{on:"\u2611",off:"\u2610",disabled:"\u2612"},stars:{on:"\u2605",off:"\u2606",disabled:"\u2606"},folder:{on:"\u25BC",off:"\u25B6",disabled:"\u25B6"},prefix:{pending:oA.symbols.question,submitted:oA.symbols.check,cancelled:oA.symbols.cross},separator:{pending:oA.symbols.pointerSmall,submitted:oA.symbols.middot,cancelled:oA.symbols.middot},radio:{off:eT?"( )":"\u25EF",on:eT?"(*)":"\u25C9",disabled:eT?"(|)":"\u24BE"},numbers:["\u24EA","\u2460","\u2461","\u2462","\u2463","\u2464","\u2465","\u2466","\u2467","\u2468","\u2469","\u246A","\u246B","\u246C","\u246D","\u246E","\u246F","\u2470","\u2471","\u2472","\u2473","\u3251","\u3252","\u3253","\u3254","\u3255","\u3256","\u3257","\u3258","\u3259","\u325A","\u325B","\u325C","\u325D","\u325E","\u325F","\u32B1","\u32B2","\u32B3","\u32B4","\u32B5","\u32B6","\u32B7","\u32B8","\u32B9","\u32BA","\u32BB","\u32BC","\u32BD","\u32BE","\u32BF"]};tT.merge=r=>{let e=lje.merge({},oA.symbols,tT,r.symbols);return delete e.merge,e};Ane.exports=tT});var une=w((ygt,cne)=>{"use strict";var cje=ane(),uje=lne(),gje=ji();cne.exports=r=>{r.options=gje.merge({},r.options.theme,r.options),r.symbols=uje.merge(r.options),r.styles=cje.merge(r.options)}});var dne=w((hne,pne)=>{"use strict";var gne=process.env.TERM_PROGRAM==="Apple_Terminal",fje=lo(),rT=ji(),co=pne.exports=hne,Dr="\x1B[",fne="\x07",iT=!1,hl=co.code={bell:fne,beep:fne,beginning:`${Dr}G`,down:`${Dr}J`,esc:Dr,getPosition:`${Dr}6n`,hide:`${Dr}?25l`,line:`${Dr}2K`,lineEnd:`${Dr}K`,lineStart:`${Dr}1K`,restorePosition:Dr+(gne?"8":"u"),savePosition:Dr+(gne?"7":"s"),screen:`${Dr}2J`,show:`${Dr}?25h`,up:`${Dr}1J`},tu=co.cursor={get hidden(){return iT},hide(){return iT=!0,hl.hide},show(){return iT=!1,hl.show},forward:(r=1)=>`${Dr}${r}C`,backward:(r=1)=>`${Dr}${r}D`,nextLine:(r=1)=>`${Dr}E`.repeat(r),prevLine:(r=1)=>`${Dr}F`.repeat(r),up:(r=1)=>r?`${Dr}${r}A`:"",down:(r=1)=>r?`${Dr}${r}B`:"",right:(r=1)=>r?`${Dr}${r}C`:"",left:(r=1)=>r?`${Dr}${r}D`:"",to(r,e){return e?`${Dr}${e+1};${r+1}H`:`${Dr}${r+1}G`},move(r=0,e=0){let t="";return t+=r<0?tu.left(-r):r>0?tu.right(r):"",t+=e<0?tu.up(-e):e>0?tu.down(e):"",t},restore(r={}){let{after:e,cursor:t,initial:i,input:n,prompt:s,size:o,value:a}=r;if(i=rT.isPrimitive(i)?String(i):"",n=rT.isPrimitive(n)?String(n):"",a=rT.isPrimitive(a)?String(a):"",o){let l=co.cursor.up(o)+co.cursor.to(s.length),c=n.length-t;return c>0&&(l+=co.cursor.left(c)),l}if(a||e){let l=!n&&!!i?-i.length:-n.length+t;return e&&(l-=e.length),n===""&&i&&!s.includes(i)&&(l+=i.length),co.cursor.move(l)}}},nT=co.erase={screen:hl.screen,up:hl.up,down:hl.down,line:hl.line,lineEnd:hl.lineEnd,lineStart:hl.lineStart,lines(r){let e="";for(let t=0;t{if(!e)return nT.line+tu.to(0);let t=s=>[...fje.unstyle(s)].length,i=r.split(/\r?\n/),n=0;for(let s of i)n+=1+Math.floor(Math.max(t(s)-1,0)/e);return(nT.line+tu.prevLine()).repeat(n-1)+nT.line+tu.to(0)}});var Uh=w((wgt,mne)=>{"use strict";var hje=J("events"),Cne=lo(),sT=tne(),pje=ine(),dje=sne(),Cje=une(),Pn=ji(),ru=dne(),Nm=class extends hje{constructor(e={}){super(),this.name=e.name,this.type=e.type,this.options=e,Cje(this),pje(this),this.state=new dje(this),this.initial=[e.initial,e.default].find(t=>t!=null),this.stdout=e.stdout||process.stdout,this.stdin=e.stdin||process.stdin,this.scale=e.scale||1,this.term=this.options.term||process.env.TERM_PROGRAM,this.margin=Eje(this.options.margin),this.setMaxListeners(0),mje(this)}async keypress(e,t={}){this.keypressed=!0;let i=sT.action(e,sT(e,t),this.options.actions);this.state.keypress=i,this.emit("keypress",e,i),this.emit("state",this.state.clone());let n=this.options[i.action]||this[i.action]||this.dispatch;if(typeof n=="function")return await n.call(this,e,i);this.alert()}alert(){delete this.state.alert,this.options.show===!1?this.emit("alert"):this.stdout.write(ru.code.beep)}cursorHide(){this.stdout.write(ru.cursor.hide()),Pn.onExit(()=>this.cursorShow())}cursorShow(){this.stdout.write(ru.cursor.show())}write(e){!e||(this.stdout&&this.state.show!==!1&&this.stdout.write(e),this.state.buffer+=e)}clear(e=0){let t=this.state.buffer;this.state.buffer="",!(!t&&!e||this.options.show===!1)&&this.stdout.write(ru.cursor.down(e)+ru.clear(t,this.width))}restore(){if(this.state.closed||this.options.show===!1)return;let{prompt:e,after:t,rest:i}=this.sections(),{cursor:n,initial:s="",input:o="",value:a=""}=this,l=this.state.size=i.length,c={after:t,cursor:n,initial:s,input:o,prompt:e,size:l,value:a},u=ru.cursor.restore(c);u&&this.stdout.write(u)}sections(){let{buffer:e,input:t,prompt:i}=this.state;i=Cne.unstyle(i);let n=Cne.unstyle(e),s=n.indexOf(i),o=n.slice(0,s),l=n.slice(s).split(` `),c=l[0],u=l[l.length-1],f=(i+(t?" "+t:"")).length,h=fe.call(this,this.value),this.result=()=>i.call(this,this.value),typeof t.initial=="function"&&(this.initial=await t.initial.call(this,this)),typeof t.onRun=="function"&&await t.onRun.call(this,this),typeof t.onSubmit=="function"){let n=t.onSubmit.bind(this),s=this.submit.bind(this);delete this.options.onSubmit,this.submit=async()=>(await n(this.name,this.value,this),s())}await this.start(),await this.render()}render(){throw new Error("expected prompt to have a custom render method")}run(){return new Promise(async(e,t)=>{if(this.once("submit",e),this.once("cancel",t),await this.skip())return this.render=()=>{},this.submit();await this.initialize(),this.emit("run")})}async element(e,t,i){let{options:n,state:s,symbols:o,timers:a}=this,l=a&&a[e];s.timer=l;let c=n[e]||s[e]||o[e],u=t&&t[e]!=null?t[e]:await c;if(u==="")return u;let g=await this.resolve(u,s,t,i);return!g&&t&&t[e]?this.resolve(c,s,t,i):g}async prefix(){let e=await this.element("prefix")||this.symbols,t=this.timers&&this.timers.prefix,i=this.state;return i.timer=t,xn.isObject(e)&&(e=e[i.status]||e.pending),xn.hasColor(e)?e:(this.styles[i.status]||this.styles.pending)(e)}async message(){let e=await this.element("message");return xn.hasColor(e)?e:this.styles.strong(e)}async separator(){let e=await this.element("separator")||this.symbols,t=this.timers&&this.timers.separator,i=this.state;i.timer=t;let n=e[i.status]||e.pending||i.separator,s=await this.resolve(n,i);return xn.isObject(s)&&(s=s[i.status]||s.pending),xn.hasColor(s)?s:this.styles.muted(s)}async pointer(e,t){let i=await this.element("pointer",e,t);if(typeof i=="string"&&xn.hasColor(i))return i;if(i){let n=this.styles,s=this.index===t,o=s?n.primary:c=>c,a=await this.resolve(i[s?"on":"off"]||i,this.state),l=xn.hasColor(a)?a:o(a);return s?l:" ".repeat(a.length)}}async indicator(e,t){let i=await this.element("indicator",e,t);if(typeof i=="string"&&xn.hasColor(i))return i;if(i){let n=this.styles,s=e.enabled===!0,o=s?n.success:n.dark,a=i[s?"on":"off"]||i;return xn.hasColor(a)?a:o(a)}return""}body(){return null}footer(){if(this.state.status==="pending")return this.element("footer")}header(){if(this.state.status==="pending")return this.element("header")}async hint(){if(this.state.status==="pending"&&!this.isValue(this.state.input)){let e=await this.element("hint");return xn.hasColor(e)?e:this.styles.muted(e)}}error(e){return this.state.submitted?"":e||this.state.error}format(e){return e}result(e){return e}validate(e){return this.options.required===!0?this.isValue(e):!0}isValue(e){return e!=null&&e!==""}resolve(e,...t){return xn.resolve(this,e,...t)}get base(){return Sm.prototype}get style(){return this.styles[this.state.status]}get height(){return this.options.rows||xn.height(this.stdout,25)}get width(){return this.options.columns||xn.width(this.stdout,80)}get size(){return{width:this.width,height:this.height}}set cursor(e){this.state.cursor=e}get cursor(){return this.state.cursor}set input(e){this.state.input=e}get input(){return this.state.input}set value(e){this.state.value=e}get value(){let{input:e,value:t}=this.state,i=[t,e].find(this.isValue.bind(this));return this.isValue(i)?i:this.initial}static get prompt(){return e=>new this(e).run()}};function fYe(r){let e=n=>r[n]===void 0||typeof r[n]=="function",t=["actions","choices","initial","margin","roles","styles","symbols","theme","timers","value"],i=["body","footer","error","header","hint","indicator","message","prefix","separator","skip"];for(let n of Object.keys(r.options)){if(t.includes(n)||/^on[A-Z]/.test(n))continue;let s=r.options[n];typeof s=="function"&&e(n)?i.includes(n)||(r[n]=s.bind(r)):typeof r[n]!="function"&&(r[n]=s)}}function hYe(r){typeof r=="number"&&(r=[r,r,r,r]);let e=[].concat(r||[]),t=n=>n%2===0?` -`:" ",i=[];for(let n=0;n<4;n++){let s=t(n);e[n]?i.push(s.repeat(e[n])):i.push("")}return i}Fie.exports=Sm});var Tie=w((Nut,Lie)=>{"use strict";var pYe=Gi(),Nie={default(r,e){return e},checkbox(r,e){throw new Error("checkbox role is not implemented yet")},editable(r,e){throw new Error("editable role is not implemented yet")},expandable(r,e){throw new Error("expandable role is not implemented yet")},heading(r,e){return e.disabled="",e.indicator=[e.indicator," "].find(t=>t!=null),e.message=e.message||"",e},input(r,e){throw new Error("input role is not implemented yet")},option(r,e){return Nie.default(r,e)},radio(r,e){throw new Error("radio role is not implemented yet")},separator(r,e){return e.disabled="",e.indicator=[e.indicator," "].find(t=>t!=null),e.message=e.message||r.symbols.line.repeat(5),e},spacer(r,e){return e}};Lie.exports=(r,e={})=>{let t=pYe.merge({},Nie,e.roles);return t[r]||t.default}});var vm=w((Lut,Kie)=>{"use strict";var dYe=so(),CYe=kh(),mYe=Tie(),sQ=Gi(),{reorder:FL,scrollUp:EYe,scrollDown:IYe,isObject:Oie,swap:yYe}=sQ,NL=class extends CYe{constructor(e){super(e),this.cursorHide(),this.maxSelected=e.maxSelected||1/0,this.multiple=e.multiple||!1,this.initial=e.initial||0,this.delay=e.delay||0,this.longest=0,this.num=""}async initialize(){typeof this.options.initial=="function"&&(this.initial=await this.options.initial.call(this)),await this.reset(!0),await super.initialize()}async reset(){let{choices:e,initial:t,autofocus:i,suggest:n}=this.options;if(this.state._choices=[],this.state.choices=[],this.choices=await Promise.all(await this.toChoices(e)),this.choices.forEach(s=>s.enabled=!1),typeof n!="function"&&this.selectable.length===0)throw new Error("At least one choice must be selectable");Oie(t)&&(t=Object.keys(t)),Array.isArray(t)?(i!=null&&(this.index=this.findIndex(i)),t.forEach(s=>this.enable(this.find(s))),await this.render()):(i!=null&&(t=i),typeof t=="string"&&(t=this.findIndex(t)),typeof t=="number"&&t>-1&&(this.index=Math.max(0,Math.min(t,this.choices.length)),this.enable(this.find(this.index)))),this.isDisabled(this.focused)&&await this.down()}async toChoices(e,t){this.state.loadingChoices=!0;let i=[],n=0,s=async(o,a)=>{typeof o=="function"&&(o=await o.call(this)),o instanceof Promise&&(o=await o);for(let l=0;l(this.state.loadingChoices=!1,o))}async toChoice(e,t,i){if(typeof e=="function"&&(e=await e.call(this,this)),e instanceof Promise&&(e=await e),typeof e=="string"&&(e={name:e}),e.normalized)return e;e.normalized=!0;let n=e.value;if(e=mYe(e.role,this.options)(this,e),typeof e.disabled=="string"&&!e.hint&&(e.hint=e.disabled,e.disabled=!0),e.disabled===!0&&e.hint==null&&(e.hint="(disabled)"),e.index!=null)return e;e.name=e.name||e.key||e.title||e.value||e.message,e.message=e.message||e.name||"",e.value=[e.value,e.name].find(this.isValue.bind(this)),e.input="",e.index=t,e.cursor=0,sQ.define(e,"parent",i),e.level=i?i.level+1:1,e.indent==null&&(e.indent=i?i.indent+" ":e.indent||""),e.path=i?i.path+"."+e.name:e.name,e.enabled=!!(this.multiple&&!this.isDisabled(e)&&(e.enabled||this.isSelected(e))),this.isDisabled(e)||(this.longest=Math.max(this.longest,dYe.unstyle(e.message).length));let o={...e};return e.reset=(a=o.input,l=o.value)=>{for(let c of Object.keys(o))e[c]=o[c];e.input=a,e.value=l},n==null&&typeof e.initial=="function"&&(e.input=await e.initial.call(this,this.state,e,t)),e}async onChoice(e,t){this.emit("choice",e,t,this),typeof e.onChoice=="function"&&await e.onChoice.call(this,this.state,e,t)}async addChoice(e,t,i){let n=await this.toChoice(e,t,i);return this.choices.push(n),this.index=this.choices.length-1,this.limit=this.choices.length,n}async newItem(e,t,i){let n={name:"New choice name?",editable:!0,newChoice:!0,...e},s=await this.addChoice(n,t,i);return s.updateChoice=()=>{delete s.newChoice,s.name=s.message=s.input,s.input="",s.cursor=0},this.render()}indent(e){return e.indent==null?e.level>1?" ".repeat(e.level-1):"":e.indent}dispatch(e,t){if(this.multiple&&this[t.name])return this[t.name]();this.alert()}focus(e,t){return typeof t!="boolean"&&(t=e.enabled),t&&!e.enabled&&this.selected.length>=this.maxSelected?this.alert():(this.index=e.index,e.enabled=t&&!this.isDisabled(e),e)}space(){return this.multiple?(this.toggle(this.focused),this.render()):this.alert()}a(){if(this.maxSelectedt.enabled);return this.choices.forEach(t=>t.enabled=!e),this.render()}i(){return this.choices.length-this.selected.length>this.maxSelected?this.alert():(this.choices.forEach(e=>e.enabled=!e.enabled),this.render())}g(e=this.focused){return this.choices.some(t=>!!t.parent)?(this.toggle(e.parent&&!e.choices?e.parent:e),this.render()):this.a()}toggle(e,t){if(!e.enabled&&this.selected.length>=this.maxSelected)return this.alert();typeof t!="boolean"&&(t=!e.enabled),e.enabled=t,e.choices&&e.choices.forEach(n=>this.toggle(n,t));let i=e.parent;for(;i;){let n=i.choices.filter(s=>this.isDisabled(s));i.enabled=n.every(s=>s.enabled===!0),i=i.parent}return Mie(this,this.choices),this.emit("toggle",e,this),e}enable(e){return this.selected.length>=this.maxSelected?this.alert():(e.enabled=!this.isDisabled(e),e.choices&&e.choices.forEach(this.enable.bind(this)),e)}disable(e){return e.enabled=!1,e.choices&&e.choices.forEach(this.disable.bind(this)),e}number(e){this.num+=e;let t=i=>{let n=Number(i);if(n>this.choices.length-1)return this.alert();let s=this.focused,o=this.choices.find(a=>n===a.index);if(!o.enabled&&this.selected.length>=this.maxSelected)return this.alert();if(this.visible.indexOf(o)===-1){let a=FL(this.choices),l=a.indexOf(o);if(s.index>l){let c=a.slice(l,l+this.limit),u=a.filter(g=>!c.includes(g));this.choices=c.concat(u)}else{let c=l-this.limit+1;this.choices=a.slice(c).concat(a.slice(0,c))}}return this.index=this.choices.indexOf(o),this.toggle(this.focused),this.render()};return clearTimeout(this.numberTimeout),new Promise(i=>{let n=this.choices.length,s=this.num,o=(a=!1,l)=>{clearTimeout(this.numberTimeout),a&&(l=t(s)),this.num="",i(l)};if(s==="0"||s.length===1&&Number(s+"0")>n)return o(!0);if(Number(s)>n)return o(!1,this.alert());this.numberTimeout=setTimeout(()=>o(!0),this.delay)})}home(){return this.choices=FL(this.choices),this.index=0,this.render()}end(){let e=this.choices.length-this.limit,t=FL(this.choices);return this.choices=t.slice(e).concat(t.slice(0,e)),this.index=this.limit-1,this.render()}first(){return this.index=0,this.render()}last(){return this.index=this.visible.length-1,this.render()}prev(){return this.visible.length<=1?this.alert():this.up()}next(){return this.visible.length<=1?this.alert():this.down()}right(){return this.cursor>=this.input.length?this.alert():(this.cursor++,this.render())}left(){return this.cursor<=0?this.alert():(this.cursor--,this.render())}up(){let e=this.choices.length,t=this.visible.length,i=this.index;return this.options.scroll===!1&&i===0?this.alert():e>t&&i===0?this.scrollUp():(this.index=(i-1%e+e)%e,this.isDisabled()?this.up():this.render())}down(){let e=this.choices.length,t=this.visible.length,i=this.index;return this.options.scroll===!1&&i===t-1?this.alert():e>t&&i===t-1?this.scrollDown():(this.index=(i+1)%e,this.isDisabled()?this.down():this.render())}scrollUp(e=0){return this.choices=EYe(this.choices),this.index=e,this.isDisabled()?this.up():this.render()}scrollDown(e=this.visible.length-1){return this.choices=IYe(this.choices),this.index=e,this.isDisabled()?this.down():this.render()}async shiftUp(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index-1),await this.up(),this.sorting=!1;return}return this.scrollUp(this.index)}async shiftDown(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index+1),await this.down(),this.sorting=!1;return}return this.scrollDown(this.index)}pageUp(){return this.visible.length<=1?this.alert():(this.limit=Math.max(this.limit-1,0),this.index=Math.min(this.limit-1,this.index),this._limit=this.limit,this.isDisabled()?this.up():this.render())}pageDown(){return this.visible.length>=this.choices.length?this.alert():(this.index=Math.max(0,this.index),this.limit=Math.min(this.limit+1,this.choices.length),this._limit=this.limit,this.isDisabled()?this.down():this.render())}swap(e){yYe(this.choices,this.index,e)}isDisabled(e=this.focused){return e&&["disabled","collapsed","hidden","completing","readonly"].some(i=>e[i]===!0)?!0:e&&e.role==="heading"}isEnabled(e=this.focused){if(Array.isArray(e))return e.every(t=>this.isEnabled(t));if(e.choices){let t=e.choices.filter(i=>!this.isDisabled(i));return e.enabled&&t.every(i=>this.isEnabled(i))}return e.enabled&&!this.isDisabled(e)}isChoice(e,t){return e.name===t||e.index===Number(t)}isSelected(e){return Array.isArray(this.initial)?this.initial.some(t=>this.isChoice(e,t)):this.isChoice(e,this.initial)}map(e=[],t="value"){return[].concat(e||[]).reduce((i,n)=>(i[n]=this.find(n,t),i),{})}filter(e,t){let n=typeof e=="function"?e:(a,l)=>[a.name,l].includes(e),o=(this.options.multiple?this.state._choices:this.choices).filter(n);return t?o.map(a=>a[t]):o}find(e,t){if(Oie(e))return t?e[t]:e;let n=typeof e=="function"?e:(o,a)=>[o.name,a].includes(e),s=this.choices.find(n);if(s)return t?s[t]:s}findIndex(e){return this.choices.indexOf(this.find(e))}async submit(){let e=this.focused;if(!e)return this.alert();if(e.newChoice)return e.input?(e.updateChoice(),this.render()):this.alert();if(this.choices.some(o=>o.newChoice))return this.alert();let{reorder:t,sort:i}=this.options,n=this.multiple===!0,s=this.selected;return s===void 0?this.alert():(Array.isArray(s)&&t!==!1&&i!==!0&&(s=sQ.reorder(s)),this.value=n?s.map(o=>o.name):s.name,super.submit())}set choices(e=[]){this.state._choices=this.state._choices||[],this.state.choices=e;for(let t of e)this.state._choices.some(i=>i.name===t.name)||this.state._choices.push(t);if(!this._initial&&this.options.initial){this._initial=!0;let t=this.initial;if(typeof t=="string"||typeof t=="number"){let i=this.find(t);i&&(this.initial=i.index,this.focus(i,!0))}}}get choices(){return Mie(this,this.state.choices||[])}set visible(e){this.state.visible=e}get visible(){return(this.state.visible||this.choices).slice(0,this.limit)}set limit(e){this.state.limit=e}get limit(){let{state:e,options:t,choices:i}=this,n=e.limit||this._limit||t.limit||i.length;return Math.min(n,this.height)}set value(e){super.value=e}get value(){return typeof super.value!="string"&&super.value===this.initial?this.input:super.value}set index(e){this.state.index=e}get index(){return Math.max(0,this.state?this.state.index:0)}get enabled(){return this.filter(this.isEnabled.bind(this))}get focused(){let e=this.choices[this.index];return e&&this.state.submitted&&this.multiple!==!0&&(e.enabled=!0),e}get selectable(){return this.choices.filter(e=>!this.isDisabled(e))}get selected(){return this.multiple?this.enabled:this.focused}};function Mie(r,e){if(e instanceof Promise)return e;if(typeof e=="function"){if(sQ.isAsyncFn(e))return e;e=e.call(r,r)}for(let t of e){if(Array.isArray(t.choices)){let i=t.choices.filter(n=>!r.isDisabled(n));t.enabled=i.every(n=>n.enabled===!0)}r.isDisabled(t)===!0&&delete t.enabled}return e}Kie.exports=NL});var ol=w((Tut,Uie)=>{"use strict";var wYe=vm(),LL=Gi(),TL=class extends wYe{constructor(e){super(e),this.emptyError=this.options.emptyError||"No items were selected"}async dispatch(e,t){if(this.multiple)return this[t.name]?await this[t.name](e,t):await super.dispatch(e,t);this.alert()}separator(){if(this.options.separator)return super.separator();let e=this.styles.muted(this.symbols.ellipsis);return this.state.submitted?super.separator():e}pointer(e,t){return!this.multiple||this.options.pointer?super.pointer(e,t):""}indicator(e,t){return this.multiple?super.indicator(e,t):""}choiceMessage(e,t){let i=this.resolve(e.message,this.state,e,t);return e.role==="heading"&&!LL.hasColor(i)&&(i=this.styles.strong(i)),this.resolve(i,this.state,e,t)}choiceSeparator(){return":"}async renderChoice(e,t){await this.onChoice(e,t);let i=this.index===t,n=await this.pointer(e,t),s=await this.indicator(e,t)+(e.pad||""),o=await this.resolve(e.hint,this.state,e,t);o&&!LL.hasColor(o)&&(o=this.styles.muted(o));let a=this.indent(e),l=await this.choiceMessage(e,t),c=()=>[this.margin[3],a+n+s,l,this.margin[1],o].filter(Boolean).join(" ");return e.role==="heading"?c():e.disabled?(LL.hasColor(l)||(l=this.styles.disabled(l)),c()):(i&&(l=this.styles.em(l)),c())}async renderChoices(){if(this.state.loading==="choices")return this.styles.warning("Loading choices");if(this.state.submitted)return"";let e=this.visible.map(async(s,o)=>await this.renderChoice(s,o)),t=await Promise.all(e);t.length||t.push(this.styles.danger("No matching choices"));let i=this.margin[0]+t.join(` +`+this.styles.danger(t),this.state.submitted=!1,await this.render(),await this.alert(),this.state.validating=!1,this.state.error=void 0;return}this.state.validating=!1,await this.render(),await this.close(),this.value=await this.result(this.value),this.emit("submit",this.value)}async cancel(e){this.state.cancelled=this.state.submitted=!0,await this.render(),await this.close(),typeof this.options.onCancel=="function"&&await this.options.onCancel.call(this,this.name,this.value,this),this.emit("cancel",await this.error(e))}async close(){this.state.closed=!0;try{let e=this.sections(),t=Math.ceil(e.prompt.length/this.width);e.rest&&this.write(ru.cursor.down(e.rest.length)),this.write(` +`.repeat(t))}catch{}this.emit("close")}start(){!this.stop&&this.options.show!==!1&&(this.stop=sT.listen(this,this.keypress.bind(this)),this.once("close",this.stop))}async skip(){return this.skipped=this.options.skip===!0,typeof this.options.skip=="function"&&(this.skipped=await this.options.skip.call(this,this.name,this.value)),this.skipped}async initialize(){let{format:e,options:t,result:i}=this;if(this.format=()=>e.call(this,this.value),this.result=()=>i.call(this,this.value),typeof t.initial=="function"&&(this.initial=await t.initial.call(this,this)),typeof t.onRun=="function"&&await t.onRun.call(this,this),typeof t.onSubmit=="function"){let n=t.onSubmit.bind(this),s=this.submit.bind(this);delete this.options.onSubmit,this.submit=async()=>(await n(this.name,this.value,this),s())}await this.start(),await this.render()}render(){throw new Error("expected prompt to have a custom render method")}run(){return new Promise(async(e,t)=>{if(this.once("submit",e),this.once("cancel",t),await this.skip())return this.render=()=>{},this.submit();await this.initialize(),this.emit("run")})}async element(e,t,i){let{options:n,state:s,symbols:o,timers:a}=this,l=a&&a[e];s.timer=l;let c=n[e]||s[e]||o[e],u=t&&t[e]!=null?t[e]:await c;if(u==="")return u;let g=await this.resolve(u,s,t,i);return!g&&t&&t[e]?this.resolve(c,s,t,i):g}async prefix(){let e=await this.element("prefix")||this.symbols,t=this.timers&&this.timers.prefix,i=this.state;return i.timer=t,Pn.isObject(e)&&(e=e[i.status]||e.pending),Pn.hasColor(e)?e:(this.styles[i.status]||this.styles.pending)(e)}async message(){let e=await this.element("message");return Pn.hasColor(e)?e:this.styles.strong(e)}async separator(){let e=await this.element("separator")||this.symbols,t=this.timers&&this.timers.separator,i=this.state;i.timer=t;let n=e[i.status]||e.pending||i.separator,s=await this.resolve(n,i);return Pn.isObject(s)&&(s=s[i.status]||s.pending),Pn.hasColor(s)?s:this.styles.muted(s)}async pointer(e,t){let i=await this.element("pointer",e,t);if(typeof i=="string"&&Pn.hasColor(i))return i;if(i){let n=this.styles,s=this.index===t,o=s?n.primary:c=>c,a=await this.resolve(i[s?"on":"off"]||i,this.state),l=Pn.hasColor(a)?a:o(a);return s?l:" ".repeat(a.length)}}async indicator(e,t){let i=await this.element("indicator",e,t);if(typeof i=="string"&&Pn.hasColor(i))return i;if(i){let n=this.styles,s=e.enabled===!0,o=s?n.success:n.dark,a=i[s?"on":"off"]||i;return Pn.hasColor(a)?a:o(a)}return""}body(){return null}footer(){if(this.state.status==="pending")return this.element("footer")}header(){if(this.state.status==="pending")return this.element("header")}async hint(){if(this.state.status==="pending"&&!this.isValue(this.state.input)){let e=await this.element("hint");return Pn.hasColor(e)?e:this.styles.muted(e)}}error(e){return this.state.submitted?"":e||this.state.error}format(e){return e}result(e){return e}validate(e){return this.options.required===!0?this.isValue(e):!0}isValue(e){return e!=null&&e!==""}resolve(e,...t){return Pn.resolve(this,e,...t)}get base(){return Nm.prototype}get style(){return this.styles[this.state.status]}get height(){return this.options.rows||Pn.height(this.stdout,25)}get width(){return this.options.columns||Pn.width(this.stdout,80)}get size(){return{width:this.width,height:this.height}}set cursor(e){this.state.cursor=e}get cursor(){return this.state.cursor}set input(e){this.state.input=e}get input(){return this.state.input}set value(e){this.state.value=e}get value(){let{input:e,value:t}=this.state,i=[t,e].find(this.isValue.bind(this));return this.isValue(i)?i:this.initial}static get prompt(){return e=>new this(e).run()}};function mje(r){let e=n=>r[n]===void 0||typeof r[n]=="function",t=["actions","choices","initial","margin","roles","styles","symbols","theme","timers","value"],i=["body","footer","error","header","hint","indicator","message","prefix","separator","skip"];for(let n of Object.keys(r.options)){if(t.includes(n)||/^on[A-Z]/.test(n))continue;let s=r.options[n];typeof s=="function"&&e(n)?i.includes(n)||(r[n]=s.bind(r)):typeof r[n]!="function"&&(r[n]=s)}}function Eje(r){typeof r=="number"&&(r=[r,r,r,r]);let e=[].concat(r||[]),t=n=>n%2===0?` +`:" ",i=[];for(let n=0;n<4;n++){let s=t(n);e[n]?i.push(s.repeat(e[n])):i.push("")}return i}mne.exports=Nm});var yne=w((Bgt,Ine)=>{"use strict";var Ije=ji(),Ene={default(r,e){return e},checkbox(r,e){throw new Error("checkbox role is not implemented yet")},editable(r,e){throw new Error("editable role is not implemented yet")},expandable(r,e){throw new Error("expandable role is not implemented yet")},heading(r,e){return e.disabled="",e.indicator=[e.indicator," "].find(t=>t!=null),e.message=e.message||"",e},input(r,e){throw new Error("input role is not implemented yet")},option(r,e){return Ene.default(r,e)},radio(r,e){throw new Error("radio role is not implemented yet")},separator(r,e){return e.disabled="",e.indicator=[e.indicator," "].find(t=>t!=null),e.message=e.message||r.symbols.line.repeat(5),e},spacer(r,e){return e}};Ine.exports=(r,e={})=>{let t=Ije.merge({},Ene,e.roles);return t[r]||t.default}});var Lm=w((Qgt,Qne)=>{"use strict";var yje=lo(),wje=Uh(),Bje=yne(),yQ=ji(),{reorder:oT,scrollUp:Qje,scrollDown:bje,isObject:wne,swap:Sje}=yQ,aT=class extends wje{constructor(e){super(e),this.cursorHide(),this.maxSelected=e.maxSelected||1/0,this.multiple=e.multiple||!1,this.initial=e.initial||0,this.delay=e.delay||0,this.longest=0,this.num=""}async initialize(){typeof this.options.initial=="function"&&(this.initial=await this.options.initial.call(this)),await this.reset(!0),await super.initialize()}async reset(){let{choices:e,initial:t,autofocus:i,suggest:n}=this.options;if(this.state._choices=[],this.state.choices=[],this.choices=await Promise.all(await this.toChoices(e)),this.choices.forEach(s=>s.enabled=!1),typeof n!="function"&&this.selectable.length===0)throw new Error("At least one choice must be selectable");wne(t)&&(t=Object.keys(t)),Array.isArray(t)?(i!=null&&(this.index=this.findIndex(i)),t.forEach(s=>this.enable(this.find(s))),await this.render()):(i!=null&&(t=i),typeof t=="string"&&(t=this.findIndex(t)),typeof t=="number"&&t>-1&&(this.index=Math.max(0,Math.min(t,this.choices.length)),this.enable(this.find(this.index)))),this.isDisabled(this.focused)&&await this.down()}async toChoices(e,t){this.state.loadingChoices=!0;let i=[],n=0,s=async(o,a)=>{typeof o=="function"&&(o=await o.call(this)),o instanceof Promise&&(o=await o);for(let l=0;l(this.state.loadingChoices=!1,o))}async toChoice(e,t,i){if(typeof e=="function"&&(e=await e.call(this,this)),e instanceof Promise&&(e=await e),typeof e=="string"&&(e={name:e}),e.normalized)return e;e.normalized=!0;let n=e.value;if(e=Bje(e.role,this.options)(this,e),typeof e.disabled=="string"&&!e.hint&&(e.hint=e.disabled,e.disabled=!0),e.disabled===!0&&e.hint==null&&(e.hint="(disabled)"),e.index!=null)return e;e.name=e.name||e.key||e.title||e.value||e.message,e.message=e.message||e.name||"",e.value=[e.value,e.name].find(this.isValue.bind(this)),e.input="",e.index=t,e.cursor=0,yQ.define(e,"parent",i),e.level=i?i.level+1:1,e.indent==null&&(e.indent=i?i.indent+" ":e.indent||""),e.path=i?i.path+"."+e.name:e.name,e.enabled=!!(this.multiple&&!this.isDisabled(e)&&(e.enabled||this.isSelected(e))),this.isDisabled(e)||(this.longest=Math.max(this.longest,yje.unstyle(e.message).length));let o={...e};return e.reset=(a=o.input,l=o.value)=>{for(let c of Object.keys(o))e[c]=o[c];e.input=a,e.value=l},n==null&&typeof e.initial=="function"&&(e.input=await e.initial.call(this,this.state,e,t)),e}async onChoice(e,t){this.emit("choice",e,t,this),typeof e.onChoice=="function"&&await e.onChoice.call(this,this.state,e,t)}async addChoice(e,t,i){let n=await this.toChoice(e,t,i);return this.choices.push(n),this.index=this.choices.length-1,this.limit=this.choices.length,n}async newItem(e,t,i){let n={name:"New choice name?",editable:!0,newChoice:!0,...e},s=await this.addChoice(n,t,i);return s.updateChoice=()=>{delete s.newChoice,s.name=s.message=s.input,s.input="",s.cursor=0},this.render()}indent(e){return e.indent==null?e.level>1?" ".repeat(e.level-1):"":e.indent}dispatch(e,t){if(this.multiple&&this[t.name])return this[t.name]();this.alert()}focus(e,t){return typeof t!="boolean"&&(t=e.enabled),t&&!e.enabled&&this.selected.length>=this.maxSelected?this.alert():(this.index=e.index,e.enabled=t&&!this.isDisabled(e),e)}space(){return this.multiple?(this.toggle(this.focused),this.render()):this.alert()}a(){if(this.maxSelectedt.enabled);return this.choices.forEach(t=>t.enabled=!e),this.render()}i(){return this.choices.length-this.selected.length>this.maxSelected?this.alert():(this.choices.forEach(e=>e.enabled=!e.enabled),this.render())}g(e=this.focused){return this.choices.some(t=>!!t.parent)?(this.toggle(e.parent&&!e.choices?e.parent:e),this.render()):this.a()}toggle(e,t){if(!e.enabled&&this.selected.length>=this.maxSelected)return this.alert();typeof t!="boolean"&&(t=!e.enabled),e.enabled=t,e.choices&&e.choices.forEach(n=>this.toggle(n,t));let i=e.parent;for(;i;){let n=i.choices.filter(s=>this.isDisabled(s));i.enabled=n.every(s=>s.enabled===!0),i=i.parent}return Bne(this,this.choices),this.emit("toggle",e,this),e}enable(e){return this.selected.length>=this.maxSelected?this.alert():(e.enabled=!this.isDisabled(e),e.choices&&e.choices.forEach(this.enable.bind(this)),e)}disable(e){return e.enabled=!1,e.choices&&e.choices.forEach(this.disable.bind(this)),e}number(e){this.num+=e;let t=i=>{let n=Number(i);if(n>this.choices.length-1)return this.alert();let s=this.focused,o=this.choices.find(a=>n===a.index);if(!o.enabled&&this.selected.length>=this.maxSelected)return this.alert();if(this.visible.indexOf(o)===-1){let a=oT(this.choices),l=a.indexOf(o);if(s.index>l){let c=a.slice(l,l+this.limit),u=a.filter(g=>!c.includes(g));this.choices=c.concat(u)}else{let c=l-this.limit+1;this.choices=a.slice(c).concat(a.slice(0,c))}}return this.index=this.choices.indexOf(o),this.toggle(this.focused),this.render()};return clearTimeout(this.numberTimeout),new Promise(i=>{let n=this.choices.length,s=this.num,o=(a=!1,l)=>{clearTimeout(this.numberTimeout),a&&(l=t(s)),this.num="",i(l)};if(s==="0"||s.length===1&&Number(s+"0")>n)return o(!0);if(Number(s)>n)return o(!1,this.alert());this.numberTimeout=setTimeout(()=>o(!0),this.delay)})}home(){return this.choices=oT(this.choices),this.index=0,this.render()}end(){let e=this.choices.length-this.limit,t=oT(this.choices);return this.choices=t.slice(e).concat(t.slice(0,e)),this.index=this.limit-1,this.render()}first(){return this.index=0,this.render()}last(){return this.index=this.visible.length-1,this.render()}prev(){return this.visible.length<=1?this.alert():this.up()}next(){return this.visible.length<=1?this.alert():this.down()}right(){return this.cursor>=this.input.length?this.alert():(this.cursor++,this.render())}left(){return this.cursor<=0?this.alert():(this.cursor--,this.render())}up(){let e=this.choices.length,t=this.visible.length,i=this.index;return this.options.scroll===!1&&i===0?this.alert():e>t&&i===0?this.scrollUp():(this.index=(i-1%e+e)%e,this.isDisabled()?this.up():this.render())}down(){let e=this.choices.length,t=this.visible.length,i=this.index;return this.options.scroll===!1&&i===t-1?this.alert():e>t&&i===t-1?this.scrollDown():(this.index=(i+1)%e,this.isDisabled()?this.down():this.render())}scrollUp(e=0){return this.choices=Qje(this.choices),this.index=e,this.isDisabled()?this.up():this.render()}scrollDown(e=this.visible.length-1){return this.choices=bje(this.choices),this.index=e,this.isDisabled()?this.down():this.render()}async shiftUp(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index-1),await this.up(),this.sorting=!1;return}return this.scrollUp(this.index)}async shiftDown(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index+1),await this.down(),this.sorting=!1;return}return this.scrollDown(this.index)}pageUp(){return this.visible.length<=1?this.alert():(this.limit=Math.max(this.limit-1,0),this.index=Math.min(this.limit-1,this.index),this._limit=this.limit,this.isDisabled()?this.up():this.render())}pageDown(){return this.visible.length>=this.choices.length?this.alert():(this.index=Math.max(0,this.index),this.limit=Math.min(this.limit+1,this.choices.length),this._limit=this.limit,this.isDisabled()?this.down():this.render())}swap(e){Sje(this.choices,this.index,e)}isDisabled(e=this.focused){return e&&["disabled","collapsed","hidden","completing","readonly"].some(i=>e[i]===!0)?!0:e&&e.role==="heading"}isEnabled(e=this.focused){if(Array.isArray(e))return e.every(t=>this.isEnabled(t));if(e.choices){let t=e.choices.filter(i=>!this.isDisabled(i));return e.enabled&&t.every(i=>this.isEnabled(i))}return e.enabled&&!this.isDisabled(e)}isChoice(e,t){return e.name===t||e.index===Number(t)}isSelected(e){return Array.isArray(this.initial)?this.initial.some(t=>this.isChoice(e,t)):this.isChoice(e,this.initial)}map(e=[],t="value"){return[].concat(e||[]).reduce((i,n)=>(i[n]=this.find(n,t),i),{})}filter(e,t){let n=typeof e=="function"?e:(a,l)=>[a.name,l].includes(e),o=(this.options.multiple?this.state._choices:this.choices).filter(n);return t?o.map(a=>a[t]):o}find(e,t){if(wne(e))return t?e[t]:e;let n=typeof e=="function"?e:(o,a)=>[o.name,a].includes(e),s=this.choices.find(n);if(s)return t?s[t]:s}findIndex(e){return this.choices.indexOf(this.find(e))}async submit(){let e=this.focused;if(!e)return this.alert();if(e.newChoice)return e.input?(e.updateChoice(),this.render()):this.alert();if(this.choices.some(o=>o.newChoice))return this.alert();let{reorder:t,sort:i}=this.options,n=this.multiple===!0,s=this.selected;return s===void 0?this.alert():(Array.isArray(s)&&t!==!1&&i!==!0&&(s=yQ.reorder(s)),this.value=n?s.map(o=>o.name):s.name,super.submit())}set choices(e=[]){this.state._choices=this.state._choices||[],this.state.choices=e;for(let t of e)this.state._choices.some(i=>i.name===t.name)||this.state._choices.push(t);if(!this._initial&&this.options.initial){this._initial=!0;let t=this.initial;if(typeof t=="string"||typeof t=="number"){let i=this.find(t);i&&(this.initial=i.index,this.focus(i,!0))}}}get choices(){return Bne(this,this.state.choices||[])}set visible(e){this.state.visible=e}get visible(){return(this.state.visible||this.choices).slice(0,this.limit)}set limit(e){this.state.limit=e}get limit(){let{state:e,options:t,choices:i}=this,n=e.limit||this._limit||t.limit||i.length;return Math.min(n,this.height)}set value(e){super.value=e}get value(){return typeof super.value!="string"&&super.value===this.initial?this.input:super.value}set index(e){this.state.index=e}get index(){return Math.max(0,this.state?this.state.index:0)}get enabled(){return this.filter(this.isEnabled.bind(this))}get focused(){let e=this.choices[this.index];return e&&this.state.submitted&&this.multiple!==!0&&(e.enabled=!0),e}get selectable(){return this.choices.filter(e=>!this.isDisabled(e))}get selected(){return this.multiple?this.enabled:this.focused}};function Bne(r,e){if(e instanceof Promise)return e;if(typeof e=="function"){if(yQ.isAsyncFn(e))return e;e=e.call(r,r)}for(let t of e){if(Array.isArray(t.choices)){let i=t.choices.filter(n=>!r.isDisabled(n));t.enabled=i.every(n=>n.enabled===!0)}r.isDisabled(t)===!0&&delete t.enabled}return e}Qne.exports=aT});var pl=w((bgt,bne)=>{"use strict";var vje=Lm(),AT=ji(),lT=class extends vje{constructor(e){super(e),this.emptyError=this.options.emptyError||"No items were selected"}async dispatch(e,t){if(this.multiple)return this[t.name]?await this[t.name](e,t):await super.dispatch(e,t);this.alert()}separator(){if(this.options.separator)return super.separator();let e=this.styles.muted(this.symbols.ellipsis);return this.state.submitted?super.separator():e}pointer(e,t){return!this.multiple||this.options.pointer?super.pointer(e,t):""}indicator(e,t){return this.multiple?super.indicator(e,t):""}choiceMessage(e,t){let i=this.resolve(e.message,this.state,e,t);return e.role==="heading"&&!AT.hasColor(i)&&(i=this.styles.strong(i)),this.resolve(i,this.state,e,t)}choiceSeparator(){return":"}async renderChoice(e,t){await this.onChoice(e,t);let i=this.index===t,n=await this.pointer(e,t),s=await this.indicator(e,t)+(e.pad||""),o=await this.resolve(e.hint,this.state,e,t);o&&!AT.hasColor(o)&&(o=this.styles.muted(o));let a=this.indent(e),l=await this.choiceMessage(e,t),c=()=>[this.margin[3],a+n+s,l,this.margin[1],o].filter(Boolean).join(" ");return e.role==="heading"?c():e.disabled?(AT.hasColor(l)||(l=this.styles.disabled(l)),c()):(i&&(l=this.styles.em(l)),c())}async renderChoices(){if(this.state.loading==="choices")return this.styles.warning("Loading choices");if(this.state.submitted)return"";let e=this.visible.map(async(s,o)=>await this.renderChoice(s,o)),t=await Promise.all(e);t.length||t.push(this.styles.danger("No matching choices"));let i=this.margin[0]+t.join(` `),n;return this.options.choicesHeader&&(n=await this.resolve(this.options.choicesHeader,this.state)),[n,i].filter(Boolean).join(` `)}format(){return!this.state.submitted||this.state.cancelled?"":Array.isArray(this.selected)?this.selected.map(e=>this.styles.primary(e.name)).join(", "):this.styles.primary(this.selected.name)}async render(){let{submitted:e,size:t}=this.state,i="",n=await this.header(),s=await this.prefix(),o=await this.separator(),a=await this.message();this.options.promptLine!==!1&&(i=[s,a,o,""].join(" "),this.state.prompt=i);let l=await this.format(),c=await this.error()||await this.hint(),u=await this.renderChoices(),g=await this.footer();l&&(i+=l),c&&!i.includes(c)&&(i+=" "+c),e&&!l&&!u.trim()&&this.multiple&&this.emptyError!=null&&(i+=this.styles.danger(this.emptyError)),this.clear(t),this.write([n,i,u,g].filter(Boolean).join(` -`)),this.write(this.margin[2]),this.restore()}};Uie.exports=TL});var Gie=w((Out,Hie)=>{"use strict";var BYe=ol(),QYe=(r,e)=>{let t=r.toLowerCase();return i=>{let s=i.toLowerCase().indexOf(t),o=e(i.slice(s,s+t.length));return s>=0?i.slice(0,s)+o+i.slice(s+t.length):i}},OL=class extends BYe{constructor(e){super(e),this.cursorShow()}moveCursor(e){this.state.cursor+=e}dispatch(e){return this.append(e)}space(e){return this.options.multiple?super.space(e):this.append(e)}append(e){let{cursor:t,input:i}=this.state;return this.input=i.slice(0,t)+e+i.slice(t),this.moveCursor(1),this.complete()}delete(){let{cursor:e,input:t}=this.state;return t?(this.input=t.slice(0,e-1)+t.slice(e),this.moveCursor(-1),this.complete()):this.alert()}deleteForward(){let{cursor:e,input:t}=this.state;return t[e]===void 0?this.alert():(this.input=`${t}`.slice(0,e)+`${t}`.slice(e+1),this.complete())}number(e){return this.append(e)}async complete(){this.completing=!0,this.choices=await this.suggest(this.input,this.state._choices),this.state.limit=void 0,this.index=Math.min(Math.max(this.visible.length-1,0),this.index),await this.render(),this.completing=!1}suggest(e=this.input,t=this.state._choices){if(typeof this.options.suggest=="function")return this.options.suggest.call(this,e,t);let i=e.toLowerCase();return t.filter(n=>n.message.toLowerCase().includes(i))}pointer(){return""}format(){if(!this.focused)return this.input;if(this.options.multiple&&this.state.submitted)return this.selected.map(e=>this.styles.primary(e.message)).join(", ");if(this.state.submitted){let e=this.value=this.input=this.focused.value;return this.styles.primary(e)}return this.input}async render(){if(this.state.status!=="pending")return super.render();let e=this.options.highlight?this.options.highlight.bind(this):this.styles.placeholder,t=QYe(this.input,e),i=this.choices;this.choices=i.map(n=>({...n,message:t(n.message)})),await super.render(),this.choices=i}submit(){return this.options.multiple&&(this.value=this.selected.map(e=>e.name)),super.submit()}};Hie.exports=OL});var KL=w((Mut,Yie)=>{"use strict";var ML=Gi();Yie.exports=(r,e={})=>{r.cursorHide();let{input:t="",initial:i="",pos:n,showCursor:s=!0,color:o}=e,a=o||r.styles.placeholder,l=ML.inverse(r.styles.primary),c=C=>l(r.styles.black(C)),u=t,g=" ",f=c(g);if(r.blink&&r.blink.off===!0&&(c=C=>C,f=""),s&&n===0&&i===""&&t==="")return c(g);if(s&&n===0&&(t===i||t===""))return c(i[0])+a(i.slice(1));i=ML.isPrimitive(i)?`${i}`:"",t=ML.isPrimitive(t)?`${t}`:"";let h=i&&i.startsWith(t)&&i!==t,p=h?c(i[t.length]):f;if(n!==t.length&&s===!0&&(u=t.slice(0,n)+c(t[n])+t.slice(n+1),p=""),s===!1&&(p=""),h){let C=r.styles.unstyle(u+p);return u+p+a(i.slice(C.length))}return u+p}});var oQ=w((Kut,jie)=>{"use strict";var bYe=so(),SYe=ol(),vYe=KL(),UL=class extends SYe{constructor(e){super({...e,multiple:!0}),this.type="form",this.initial=this.options.initial,this.align=[this.options.align,"right"].find(t=>t!=null),this.emptyError="",this.values={}}async reset(e){return await super.reset(),e===!0&&(this._index=this.index),this.index=this._index,this.values={},this.choices.forEach(t=>t.reset&&t.reset()),this.render()}dispatch(e){return!!e&&this.append(e)}append(e){let t=this.focused;if(!t)return this.alert();let{cursor:i,input:n}=t;return t.value=t.input=n.slice(0,i)+e+n.slice(i),t.cursor++,this.render()}delete(){let e=this.focused;if(!e||e.cursor<=0)return this.alert();let{cursor:t,input:i}=e;return e.value=e.input=i.slice(0,t-1)+i.slice(t),e.cursor--,this.render()}deleteForward(){let e=this.focused;if(!e)return this.alert();let{cursor:t,input:i}=e;if(i[t]===void 0)return this.alert();let n=`${i}`.slice(0,t)+`${i}`.slice(t+1);return e.value=e.input=n,this.render()}right(){let e=this.focused;return e?e.cursor>=e.input.length?this.alert():(e.cursor++,this.render()):this.alert()}left(){let e=this.focused;return e?e.cursor<=0?this.alert():(e.cursor--,this.render()):this.alert()}space(e,t){return this.dispatch(e,t)}number(e,t){return this.dispatch(e,t)}next(){let e=this.focused;if(!e)return this.alert();let{initial:t,input:i}=e;return t&&t.startsWith(i)&&i!==t?(e.value=e.input=t,e.cursor=e.value.length,this.render()):super.next()}prev(){let e=this.focused;return e?e.cursor===0?super.prev():(e.value=e.input="",e.cursor=0,this.render()):this.alert()}separator(){return""}format(e){return this.state.submitted?"":super.format(e)}pointer(){return""}indicator(e){return e.input?"\u29BF":"\u2299"}async choiceSeparator(e,t){let i=await this.resolve(e.separator,this.state,e,t)||":";return i?" "+this.styles.disabled(i):""}async renderChoice(e,t){await this.onChoice(e,t);let{state:i,styles:n}=this,{cursor:s,initial:o="",name:a,hint:l,input:c=""}=e,{muted:u,submitted:g,primary:f,danger:h}=n,p=l,C=this.index===t,y=e.validate||(()=>!0),B=await this.choiceSeparator(e,t),v=e.message;this.align==="right"&&(v=v.padStart(this.longest+1," ")),this.align==="left"&&(v=v.padEnd(this.longest+1," "));let D=this.values[a]=c||o,L=c?"success":"dark";await y.call(e,D,this.state)!==!0&&(L="danger");let H=n[L],j=H(await this.indicator(e,t))+(e.pad||""),$=this.indent(e),V=()=>[$,j,v+B,c,p].filter(Boolean).join(" ");if(i.submitted)return v=bYe.unstyle(v),c=g(c),p="",V();if(e.format)c=await e.format.call(this,c,e,t);else{let W=this.styles.muted;c=vYe(this,{input:c,initial:o,pos:s,showCursor:C,color:W})}return this.isValue(c)||(c=this.styles.muted(this.symbols.ellipsis)),e.result&&(this.values[a]=await e.result.call(this,D,e,t)),C&&(v=f(v)),e.error?c+=(c?" ":"")+h(e.error.trim()):e.hint&&(c+=(c?" ":"")+u(e.hint.trim())),V()}async submit(){return this.value=this.values,super.base.submit.call(this)}};jie.exports=UL});var HL=w((Uut,Jie)=>{"use strict";var xYe=oQ(),PYe=()=>{throw new Error("expected prompt to have a custom authenticate method")},qie=(r=PYe)=>{class e extends xYe{constructor(i){super(i)}async submit(){this.value=await r.call(this,this.values,this.state),super.base.submit.call(this)}static create(i){return qie(i)}}return e};Jie.exports=qie()});var Vie=w((Hut,zie)=>{"use strict";var DYe=HL();function kYe(r,e){return r.username===this.options.username&&r.password===this.options.password}var Wie=(r=kYe)=>{let e=[{name:"username",message:"username"},{name:"password",message:"password",format(i){return this.options.showPassword?i:(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(i.length))}}];class t extends DYe.create(r){constructor(n){super({...n,choices:e})}static create(n){return Wie(n)}}return t};zie.exports=Wie()});var aQ=w((Gut,Xie)=>{"use strict";var RYe=kh(),{isPrimitive:FYe,hasColor:NYe}=Gi(),GL=class extends RYe{constructor(e){super(e),this.cursorHide()}async initialize(){let e=await this.resolve(this.initial,this.state);this.input=await this.cast(e),await super.initialize()}dispatch(e){return this.isValue(e)?(this.input=e,this.submit()):this.alert()}format(e){let{styles:t,state:i}=this;return i.submitted?t.success(e):t.primary(e)}cast(e){return this.isTrue(e)}isTrue(e){return/^[ty1]/i.test(e)}isFalse(e){return/^[fn0]/i.test(e)}isValue(e){return FYe(e)&&(this.isTrue(e)||this.isFalse(e))}async hint(){if(this.state.status==="pending"){let e=await this.element("hint");return NYe(e)?e:this.styles.muted(e)}}async render(){let{input:e,size:t}=this.state,i=await this.prefix(),n=await this.separator(),s=await this.message(),o=this.styles.muted(this.default),a=[i,s,o,n].filter(Boolean).join(" ");this.state.prompt=a;let l=await this.header(),c=this.value=this.cast(e),u=await this.format(c),g=await this.error()||await this.hint(),f=await this.footer();g&&!a.includes(g)&&(u+=" "+g),a+=" "+u,this.clear(t),this.write([l,a,f].filter(Boolean).join(` -`)),this.restore()}set value(e){super.value=e}get value(){return this.cast(super.value)}};Xie.exports=GL});var Zie=w((Yut,_ie)=>{"use strict";var LYe=aQ(),YL=class extends LYe{constructor(e){super(e),this.default=this.options.default||(this.initial?"(Y/n)":"(y/N)")}};_ie.exports=YL});var ene=w((jut,$ie)=>{"use strict";var TYe=ol(),OYe=oQ(),Rh=OYe.prototype,jL=class extends TYe{constructor(e){super({...e,multiple:!0}),this.align=[this.options.align,"left"].find(t=>t!=null),this.emptyError="",this.values={}}dispatch(e,t){let i=this.focused,n=i.parent||{};return!i.editable&&!n.editable&&(e==="a"||e==="i")?super[e]():Rh.dispatch.call(this,e,t)}append(e,t){return Rh.append.call(this,e,t)}delete(e,t){return Rh.delete.call(this,e,t)}space(e){return this.focused.editable?this.append(e):super.space()}number(e){return this.focused.editable?this.append(e):super.number(e)}next(){return this.focused.editable?Rh.next.call(this):super.next()}prev(){return this.focused.editable?Rh.prev.call(this):super.prev()}async indicator(e,t){let i=e.indicator||"",n=e.editable?i:super.indicator(e,t);return await this.resolve(n,this.state,e,t)||""}indent(e){return e.role==="heading"?"":e.editable?" ":" "}async renderChoice(e,t){return e.indent="",e.editable?Rh.renderChoice.call(this,e,t):super.renderChoice(e,t)}error(){return""}footer(){return this.state.error}async validate(){let e=!0;for(let t of this.choices){if(typeof t.validate!="function"||t.role==="heading")continue;let i=t.parent?this.value[t.parent.name]:this.value;if(t.editable?i=t.value===t.name?t.initial||"":t.value:this.isDisabled(t)||(i=t.enabled===!0),e=await t.validate(i,this.state),e!==!0)break}return e!==!0&&(this.state.error=typeof e=="string"?e:"Invalid Input"),e}submit(){if(this.focused.newChoice===!0)return super.submit();if(this.choices.some(e=>e.newChoice))return this.alert();this.value={};for(let e of this.choices){let t=e.parent?this.value[e.parent.name]:this.value;if(e.role==="heading"){this.value[e.name]={};continue}e.editable?t[e.name]=e.value===e.name?e.initial||"":e.value:this.isDisabled(e)||(t[e.name]=e.enabled===!0)}return this.base.submit.call(this)}};$ie.exports=jL});var Xc=w((qut,tne)=>{"use strict";var MYe=kh(),KYe=KL(),{isPrimitive:UYe}=Gi(),qL=class extends MYe{constructor(e){super(e),this.initial=UYe(this.initial)?String(this.initial):"",this.initial&&this.cursorHide(),this.state.prevCursor=0,this.state.clipboard=[]}async keypress(e,t={}){let i=this.state.prevKeypress;return this.state.prevKeypress=t,this.options.multiline===!0&&t.name==="return"&&(!i||i.name!=="return")?this.append(` -`,t):super.keypress(e,t)}moveCursor(e){this.cursor+=e}reset(){return this.input=this.value="",this.cursor=0,this.render()}dispatch(e,t){if(!e||t.ctrl||t.code)return this.alert();this.append(e)}append(e){let{cursor:t,input:i}=this.state;this.input=`${i}`.slice(0,t)+e+`${i}`.slice(t),this.moveCursor(String(e).length),this.render()}insert(e){this.append(e)}delete(){let{cursor:e,input:t}=this.state;if(e<=0)return this.alert();this.input=`${t}`.slice(0,e-1)+`${t}`.slice(e),this.moveCursor(-1),this.render()}deleteForward(){let{cursor:e,input:t}=this.state;if(t[e]===void 0)return this.alert();this.input=`${t}`.slice(0,e)+`${t}`.slice(e+1),this.render()}cutForward(){let e=this.cursor;if(this.input.length<=e)return this.alert();this.state.clipboard.push(this.input.slice(e)),this.input=this.input.slice(0,e),this.render()}cutLeft(){let e=this.cursor;if(e===0)return this.alert();let t=this.input.slice(0,e),i=this.input.slice(e),n=t.split(" ");this.state.clipboard.push(n.pop()),this.input=n.join(" "),this.cursor=this.input.length,this.input+=i,this.render()}paste(){if(!this.state.clipboard.length)return this.alert();this.insert(this.state.clipboard.pop()),this.render()}toggleCursor(){this.state.prevCursor?(this.cursor=this.state.prevCursor,this.state.prevCursor=0):(this.state.prevCursor=this.cursor,this.cursor=0),this.render()}first(){this.cursor=0,this.render()}last(){this.cursor=this.input.length-1,this.render()}next(){let e=this.initial!=null?String(this.initial):"";if(!e||!e.startsWith(this.input))return this.alert();this.input=this.initial,this.cursor=this.initial.length,this.render()}prev(){if(!this.input)return this.alert();this.reset()}backward(){return this.left()}forward(){return this.right()}right(){return this.cursor>=this.input.length?this.alert():(this.moveCursor(1),this.render())}left(){return this.cursor<=0?this.alert():(this.moveCursor(-1),this.render())}isValue(e){return!!e}async format(e=this.value){let t=await this.resolve(this.initial,this.state);return this.state.submitted?this.styles.submitted(e||t):KYe(this,{input:e,initial:t,pos:this.cursor})}async render(){let e=this.state.size,t=await this.prefix(),i=await this.separator(),n=await this.message(),s=[t,n,i].filter(Boolean).join(" ");this.state.prompt=s;let o=await this.header(),a=await this.format(),l=await this.error()||await this.hint(),c=await this.footer();l&&!a.includes(l)&&(a+=" "+l),s+=" "+a,this.clear(e),this.write([o,s,c].filter(Boolean).join(` -`)),this.restore()}};tne.exports=qL});var ine=w((Jut,rne)=>{"use strict";var HYe=r=>r.filter((e,t)=>r.lastIndexOf(e)===t),AQ=r=>HYe(r).filter(Boolean);rne.exports=(r,e={},t="")=>{let{past:i=[],present:n=""}=e,s,o;switch(r){case"prev":case"undo":return s=i.slice(0,i.length-1),o=i[i.length-1]||"",{past:AQ([t,...s]),present:o};case"next":case"redo":return s=i.slice(1),o=i[0]||"",{past:AQ([...s,t]),present:o};case"save":return{past:AQ([...i,t]),present:""};case"remove":return o=AQ(i.filter(a=>a!==t)),n="",o.length&&(n=o.pop()),{past:o,present:n};default:throw new Error(`Invalid action: "${r}"`)}}});var WL=w((Wut,sne)=>{"use strict";var GYe=Xc(),nne=ine(),JL=class extends GYe{constructor(e){super(e);let t=this.options.history;if(t&&t.store){let i=t.values||this.initial;this.autosave=!!t.autosave,this.store=t.store,this.data=this.store.get("values")||{past:[],present:i},this.initial=this.data.present||this.data.past[this.data.past.length-1]}}completion(e){return this.store?(this.data=nne(e,this.data,this.input),this.data.present?(this.input=this.data.present,this.cursor=this.input.length,this.render()):this.alert()):this.alert()}altUp(){return this.completion("prev")}altDown(){return this.completion("next")}prev(){return this.save(),super.prev()}save(){!this.store||(this.data=nne("save",this.data,this.input),this.store.set("values",this.data))}submit(){return this.store&&this.autosave===!0&&this.save(),super.submit()}};sne.exports=JL});var ane=w((zut,one)=>{"use strict";var YYe=Xc(),zL=class extends YYe{format(){return""}};one.exports=zL});var lne=w((Vut,Ane)=>{"use strict";var jYe=Xc(),VL=class extends jYe{constructor(e={}){super(e),this.sep=this.options.separator||/, */,this.initial=e.initial||""}split(e=this.value){return e?String(e).split(this.sep):[]}format(){let e=this.state.submitted?this.styles.primary:t=>t;return this.list.map(e).join(", ")}async submit(e){let t=this.state.error||await this.validate(this.list,this.state);return t!==!0?(this.state.error=t,super.submit()):(this.value=this.list,super.submit())}get list(){return this.split()}};Ane.exports=VL});var une=w((Xut,cne)=>{"use strict";var qYe=ol(),XL=class extends qYe{constructor(e){super({...e,multiple:!0})}};cne.exports=XL});var ZL=w((_ut,gne)=>{"use strict";var JYe=Xc(),_L=class extends JYe{constructor(e={}){super({style:"number",...e}),this.min=this.isValue(e.min)?this.toNumber(e.min):-1/0,this.max=this.isValue(e.max)?this.toNumber(e.max):1/0,this.delay=e.delay!=null?e.delay:1e3,this.float=e.float!==!1,this.round=e.round===!0||e.float===!1,this.major=e.major||10,this.minor=e.minor||1,this.initial=e.initial!=null?e.initial:"",this.input=String(this.initial),this.cursor=this.input.length,this.cursorShow()}append(e){return!/[-+.]/.test(e)||e==="."&&this.input.includes(".")?this.alert("invalid number"):super.append(e)}number(e){return super.append(e)}next(){return this.input&&this.input!==this.initial?this.alert():this.isValue(this.initial)?(this.input=this.initial,this.cursor=String(this.initial).length,this.render()):this.alert()}up(e){let t=e||this.minor,i=this.toNumber(this.input);return i>this.max+t?this.alert():(this.input=`${i+t}`,this.render())}down(e){let t=e||this.minor,i=this.toNumber(this.input);return ithis.isValue(t));return this.value=this.toNumber(e||0),super.submit()}};gne.exports=_L});var hne=w((Zut,fne)=>{fne.exports=ZL()});var dne=w(($ut,pne)=>{"use strict";var WYe=Xc(),$L=class extends WYe{constructor(e){super(e),this.cursorShow()}format(e=this.input){return this.keypressed?(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(e.length)):""}};pne.exports=$L});var Ene=w((egt,mne)=>{"use strict";var zYe=so(),VYe=vm(),Cne=Gi(),eT=class extends VYe{constructor(e={}){super(e),this.widths=[].concat(e.messageWidth||50),this.align=[].concat(e.align||"left"),this.linebreak=e.linebreak||!1,this.edgeLength=e.edgeLength||3,this.newline=e.newline||` +`)),this.write(this.margin[2]),this.restore()}};bne.exports=lT});var vne=w((Sgt,Sne)=>{"use strict";var xje=pl(),Pje=(r,e)=>{let t=r.toLowerCase();return i=>{let s=i.toLowerCase().indexOf(t),o=e(i.slice(s,s+t.length));return s>=0?i.slice(0,s)+o+i.slice(s+t.length):i}},cT=class extends xje{constructor(e){super(e),this.cursorShow()}moveCursor(e){this.state.cursor+=e}dispatch(e){return this.append(e)}space(e){return this.options.multiple?super.space(e):this.append(e)}append(e){let{cursor:t,input:i}=this.state;return this.input=i.slice(0,t)+e+i.slice(t),this.moveCursor(1),this.complete()}delete(){let{cursor:e,input:t}=this.state;return t?(this.input=t.slice(0,e-1)+t.slice(e),this.moveCursor(-1),this.complete()):this.alert()}deleteForward(){let{cursor:e,input:t}=this.state;return t[e]===void 0?this.alert():(this.input=`${t}`.slice(0,e)+`${t}`.slice(e+1),this.complete())}number(e){return this.append(e)}async complete(){this.completing=!0,this.choices=await this.suggest(this.input,this.state._choices),this.state.limit=void 0,this.index=Math.min(Math.max(this.visible.length-1,0),this.index),await this.render(),this.completing=!1}suggest(e=this.input,t=this.state._choices){if(typeof this.options.suggest=="function")return this.options.suggest.call(this,e,t);let i=e.toLowerCase();return t.filter(n=>n.message.toLowerCase().includes(i))}pointer(){return""}format(){if(!this.focused)return this.input;if(this.options.multiple&&this.state.submitted)return this.selected.map(e=>this.styles.primary(e.message)).join(", ");if(this.state.submitted){let e=this.value=this.input=this.focused.value;return this.styles.primary(e)}return this.input}async render(){if(this.state.status!=="pending")return super.render();let e=this.options.highlight?this.options.highlight.bind(this):this.styles.placeholder,t=Pje(this.input,e),i=this.choices;this.choices=i.map(n=>({...n,message:t(n.message)})),await super.render(),this.choices=i}submit(){return this.options.multiple&&(this.value=this.selected.map(e=>e.name)),super.submit()}};Sne.exports=cT});var gT=w((vgt,xne)=>{"use strict";var uT=ji();xne.exports=(r,e={})=>{r.cursorHide();let{input:t="",initial:i="",pos:n,showCursor:s=!0,color:o}=e,a=o||r.styles.placeholder,l=uT.inverse(r.styles.primary),c=C=>l(r.styles.black(C)),u=t,g=" ",f=c(g);if(r.blink&&r.blink.off===!0&&(c=C=>C,f=""),s&&n===0&&i===""&&t==="")return c(g);if(s&&n===0&&(t===i||t===""))return c(i[0])+a(i.slice(1));i=uT.isPrimitive(i)?`${i}`:"",t=uT.isPrimitive(t)?`${t}`:"";let h=i&&i.startsWith(t)&&i!==t,p=h?c(i[t.length]):f;if(n!==t.length&&s===!0&&(u=t.slice(0,n)+c(t[n])+t.slice(n+1),p=""),s===!1&&(p=""),h){let C=r.styles.unstyle(u+p);return u+p+a(i.slice(C.length))}return u+p}});var wQ=w((xgt,Pne)=>{"use strict";var Dje=lo(),kje=pl(),Rje=gT(),fT=class extends kje{constructor(e){super({...e,multiple:!0}),this.type="form",this.initial=this.options.initial,this.align=[this.options.align,"right"].find(t=>t!=null),this.emptyError="",this.values={}}async reset(e){return await super.reset(),e===!0&&(this._index=this.index),this.index=this._index,this.values={},this.choices.forEach(t=>t.reset&&t.reset()),this.render()}dispatch(e){return!!e&&this.append(e)}append(e){let t=this.focused;if(!t)return this.alert();let{cursor:i,input:n}=t;return t.value=t.input=n.slice(0,i)+e+n.slice(i),t.cursor++,this.render()}delete(){let e=this.focused;if(!e||e.cursor<=0)return this.alert();let{cursor:t,input:i}=e;return e.value=e.input=i.slice(0,t-1)+i.slice(t),e.cursor--,this.render()}deleteForward(){let e=this.focused;if(!e)return this.alert();let{cursor:t,input:i}=e;if(i[t]===void 0)return this.alert();let n=`${i}`.slice(0,t)+`${i}`.slice(t+1);return e.value=e.input=n,this.render()}right(){let e=this.focused;return e?e.cursor>=e.input.length?this.alert():(e.cursor++,this.render()):this.alert()}left(){let e=this.focused;return e?e.cursor<=0?this.alert():(e.cursor--,this.render()):this.alert()}space(e,t){return this.dispatch(e,t)}number(e,t){return this.dispatch(e,t)}next(){let e=this.focused;if(!e)return this.alert();let{initial:t,input:i}=e;return t&&t.startsWith(i)&&i!==t?(e.value=e.input=t,e.cursor=e.value.length,this.render()):super.next()}prev(){let e=this.focused;return e?e.cursor===0?super.prev():(e.value=e.input="",e.cursor=0,this.render()):this.alert()}separator(){return""}format(e){return this.state.submitted?"":super.format(e)}pointer(){return""}indicator(e){return e.input?"\u29BF":"\u2299"}async choiceSeparator(e,t){let i=await this.resolve(e.separator,this.state,e,t)||":";return i?" "+this.styles.disabled(i):""}async renderChoice(e,t){await this.onChoice(e,t);let{state:i,styles:n}=this,{cursor:s,initial:o="",name:a,hint:l,input:c=""}=e,{muted:u,submitted:g,primary:f,danger:h}=n,p=l,C=this.index===t,y=e.validate||(()=>!0),B=await this.choiceSeparator(e,t),v=e.message;this.align==="right"&&(v=v.padStart(this.longest+1," ")),this.align==="left"&&(v=v.padEnd(this.longest+1," "));let D=this.values[a]=c||o,L=c?"success":"dark";await y.call(e,D,this.state)!==!0&&(L="danger");let H=n[L],j=H(await this.indicator(e,t))+(e.pad||""),$=this.indent(e),V=()=>[$,j,v+B,c,p].filter(Boolean).join(" ");if(i.submitted)return v=Dje.unstyle(v),c=g(c),p="",V();if(e.format)c=await e.format.call(this,c,e,t);else{let W=this.styles.muted;c=Rje(this,{input:c,initial:o,pos:s,showCursor:C,color:W})}return this.isValue(c)||(c=this.styles.muted(this.symbols.ellipsis)),e.result&&(this.values[a]=await e.result.call(this,D,e,t)),C&&(v=f(v)),e.error?c+=(c?" ":"")+h(e.error.trim()):e.hint&&(c+=(c?" ":"")+u(e.hint.trim())),V()}async submit(){return this.value=this.values,super.base.submit.call(this)}};Pne.exports=fT});var hT=w((Pgt,kne)=>{"use strict";var Fje=wQ(),Nje=()=>{throw new Error("expected prompt to have a custom authenticate method")},Dne=(r=Nje)=>{class e extends Fje{constructor(i){super(i)}async submit(){this.value=await r.call(this,this.values,this.state),super.base.submit.call(this)}static create(i){return Dne(i)}}return e};kne.exports=Dne()});var Nne=w((Dgt,Fne)=>{"use strict";var Lje=hT();function Tje(r,e){return r.username===this.options.username&&r.password===this.options.password}var Rne=(r=Tje)=>{let e=[{name:"username",message:"username"},{name:"password",message:"password",format(i){return this.options.showPassword?i:(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(i.length))}}];class t extends Lje.create(r){constructor(n){super({...n,choices:e})}static create(n){return Rne(n)}}return t};Fne.exports=Rne()});var BQ=w((kgt,Lne)=>{"use strict";var Oje=Uh(),{isPrimitive:Mje,hasColor:Kje}=ji(),pT=class extends Oje{constructor(e){super(e),this.cursorHide()}async initialize(){let e=await this.resolve(this.initial,this.state);this.input=await this.cast(e),await super.initialize()}dispatch(e){return this.isValue(e)?(this.input=e,this.submit()):this.alert()}format(e){let{styles:t,state:i}=this;return i.submitted?t.success(e):t.primary(e)}cast(e){return this.isTrue(e)}isTrue(e){return/^[ty1]/i.test(e)}isFalse(e){return/^[fn0]/i.test(e)}isValue(e){return Mje(e)&&(this.isTrue(e)||this.isFalse(e))}async hint(){if(this.state.status==="pending"){let e=await this.element("hint");return Kje(e)?e:this.styles.muted(e)}}async render(){let{input:e,size:t}=this.state,i=await this.prefix(),n=await this.separator(),s=await this.message(),o=this.styles.muted(this.default),a=[i,s,o,n].filter(Boolean).join(" ");this.state.prompt=a;let l=await this.header(),c=this.value=this.cast(e),u=await this.format(c),g=await this.error()||await this.hint(),f=await this.footer();g&&!a.includes(g)&&(u+=" "+g),a+=" "+u,this.clear(t),this.write([l,a,f].filter(Boolean).join(` +`)),this.restore()}set value(e){super.value=e}get value(){return this.cast(super.value)}};Lne.exports=pT});var One=w((Rgt,Tne)=>{"use strict";var Uje=BQ(),dT=class extends Uje{constructor(e){super(e),this.default=this.options.default||(this.initial?"(Y/n)":"(y/N)")}};Tne.exports=dT});var Kne=w((Fgt,Mne)=>{"use strict";var Hje=pl(),Gje=wQ(),Hh=Gje.prototype,CT=class extends Hje{constructor(e){super({...e,multiple:!0}),this.align=[this.options.align,"left"].find(t=>t!=null),this.emptyError="",this.values={}}dispatch(e,t){let i=this.focused,n=i.parent||{};return!i.editable&&!n.editable&&(e==="a"||e==="i")?super[e]():Hh.dispatch.call(this,e,t)}append(e,t){return Hh.append.call(this,e,t)}delete(e,t){return Hh.delete.call(this,e,t)}space(e){return this.focused.editable?this.append(e):super.space()}number(e){return this.focused.editable?this.append(e):super.number(e)}next(){return this.focused.editable?Hh.next.call(this):super.next()}prev(){return this.focused.editable?Hh.prev.call(this):super.prev()}async indicator(e,t){let i=e.indicator||"",n=e.editable?i:super.indicator(e,t);return await this.resolve(n,this.state,e,t)||""}indent(e){return e.role==="heading"?"":e.editable?" ":" "}async renderChoice(e,t){return e.indent="",e.editable?Hh.renderChoice.call(this,e,t):super.renderChoice(e,t)}error(){return""}footer(){return this.state.error}async validate(){let e=!0;for(let t of this.choices){if(typeof t.validate!="function"||t.role==="heading")continue;let i=t.parent?this.value[t.parent.name]:this.value;if(t.editable?i=t.value===t.name?t.initial||"":t.value:this.isDisabled(t)||(i=t.enabled===!0),e=await t.validate(i,this.state),e!==!0)break}return e!==!0&&(this.state.error=typeof e=="string"?e:"Invalid Input"),e}submit(){if(this.focused.newChoice===!0)return super.submit();if(this.choices.some(e=>e.newChoice))return this.alert();this.value={};for(let e of this.choices){let t=e.parent?this.value[e.parent.name]:this.value;if(e.role==="heading"){this.value[e.name]={};continue}e.editable?t[e.name]=e.value===e.name?e.initial||"":e.value:this.isDisabled(e)||(t[e.name]=e.enabled===!0)}return this.base.submit.call(this)}};Mne.exports=CT});var iu=w((Ngt,Une)=>{"use strict";var Yje=Uh(),jje=gT(),{isPrimitive:qje}=ji(),mT=class extends Yje{constructor(e){super(e),this.initial=qje(this.initial)?String(this.initial):"",this.initial&&this.cursorHide(),this.state.prevCursor=0,this.state.clipboard=[]}async keypress(e,t={}){let i=this.state.prevKeypress;return this.state.prevKeypress=t,this.options.multiline===!0&&t.name==="return"&&(!i||i.name!=="return")?this.append(` +`,t):super.keypress(e,t)}moveCursor(e){this.cursor+=e}reset(){return this.input=this.value="",this.cursor=0,this.render()}dispatch(e,t){if(!e||t.ctrl||t.code)return this.alert();this.append(e)}append(e){let{cursor:t,input:i}=this.state;this.input=`${i}`.slice(0,t)+e+`${i}`.slice(t),this.moveCursor(String(e).length),this.render()}insert(e){this.append(e)}delete(){let{cursor:e,input:t}=this.state;if(e<=0)return this.alert();this.input=`${t}`.slice(0,e-1)+`${t}`.slice(e),this.moveCursor(-1),this.render()}deleteForward(){let{cursor:e,input:t}=this.state;if(t[e]===void 0)return this.alert();this.input=`${t}`.slice(0,e)+`${t}`.slice(e+1),this.render()}cutForward(){let e=this.cursor;if(this.input.length<=e)return this.alert();this.state.clipboard.push(this.input.slice(e)),this.input=this.input.slice(0,e),this.render()}cutLeft(){let e=this.cursor;if(e===0)return this.alert();let t=this.input.slice(0,e),i=this.input.slice(e),n=t.split(" ");this.state.clipboard.push(n.pop()),this.input=n.join(" "),this.cursor=this.input.length,this.input+=i,this.render()}paste(){if(!this.state.clipboard.length)return this.alert();this.insert(this.state.clipboard.pop()),this.render()}toggleCursor(){this.state.prevCursor?(this.cursor=this.state.prevCursor,this.state.prevCursor=0):(this.state.prevCursor=this.cursor,this.cursor=0),this.render()}first(){this.cursor=0,this.render()}last(){this.cursor=this.input.length-1,this.render()}next(){let e=this.initial!=null?String(this.initial):"";if(!e||!e.startsWith(this.input))return this.alert();this.input=this.initial,this.cursor=this.initial.length,this.render()}prev(){if(!this.input)return this.alert();this.reset()}backward(){return this.left()}forward(){return this.right()}right(){return this.cursor>=this.input.length?this.alert():(this.moveCursor(1),this.render())}left(){return this.cursor<=0?this.alert():(this.moveCursor(-1),this.render())}isValue(e){return!!e}async format(e=this.value){let t=await this.resolve(this.initial,this.state);return this.state.submitted?this.styles.submitted(e||t):jje(this,{input:e,initial:t,pos:this.cursor})}async render(){let e=this.state.size,t=await this.prefix(),i=await this.separator(),n=await this.message(),s=[t,n,i].filter(Boolean).join(" ");this.state.prompt=s;let o=await this.header(),a=await this.format(),l=await this.error()||await this.hint(),c=await this.footer();l&&!a.includes(l)&&(a+=" "+l),s+=" "+a,this.clear(e),this.write([o,s,c].filter(Boolean).join(` +`)),this.restore()}};Une.exports=mT});var Gne=w((Lgt,Hne)=>{"use strict";var Jje=r=>r.filter((e,t)=>r.lastIndexOf(e)===t),QQ=r=>Jje(r).filter(Boolean);Hne.exports=(r,e={},t="")=>{let{past:i=[],present:n=""}=e,s,o;switch(r){case"prev":case"undo":return s=i.slice(0,i.length-1),o=i[i.length-1]||"",{past:QQ([t,...s]),present:o};case"next":case"redo":return s=i.slice(1),o=i[0]||"",{past:QQ([...s,t]),present:o};case"save":return{past:QQ([...i,t]),present:""};case"remove":return o=QQ(i.filter(a=>a!==t)),n="",o.length&&(n=o.pop()),{past:o,present:n};default:throw new Error(`Invalid action: "${r}"`)}}});var IT=w((Tgt,jne)=>{"use strict";var Wje=iu(),Yne=Gne(),ET=class extends Wje{constructor(e){super(e);let t=this.options.history;if(t&&t.store){let i=t.values||this.initial;this.autosave=!!t.autosave,this.store=t.store,this.data=this.store.get("values")||{past:[],present:i},this.initial=this.data.present||this.data.past[this.data.past.length-1]}}completion(e){return this.store?(this.data=Yne(e,this.data,this.input),this.data.present?(this.input=this.data.present,this.cursor=this.input.length,this.render()):this.alert()):this.alert()}altUp(){return this.completion("prev")}altDown(){return this.completion("next")}prev(){return this.save(),super.prev()}save(){!this.store||(this.data=Yne("save",this.data,this.input),this.store.set("values",this.data))}submit(){return this.store&&this.autosave===!0&&this.save(),super.submit()}};jne.exports=ET});var Jne=w((Ogt,qne)=>{"use strict";var zje=iu(),yT=class extends zje{format(){return""}};qne.exports=yT});var zne=w((Mgt,Wne)=>{"use strict";var Vje=iu(),wT=class extends Vje{constructor(e={}){super(e),this.sep=this.options.separator||/, */,this.initial=e.initial||""}split(e=this.value){return e?String(e).split(this.sep):[]}format(){let e=this.state.submitted?this.styles.primary:t=>t;return this.list.map(e).join(", ")}async submit(e){let t=this.state.error||await this.validate(this.list,this.state);return t!==!0?(this.state.error=t,super.submit()):(this.value=this.list,super.submit())}get list(){return this.split()}};Wne.exports=wT});var Xne=w((Kgt,Vne)=>{"use strict";var Xje=pl(),BT=class extends Xje{constructor(e){super({...e,multiple:!0})}};Vne.exports=BT});var bT=w((Ugt,Zne)=>{"use strict";var Zje=iu(),QT=class extends Zje{constructor(e={}){super({style:"number",...e}),this.min=this.isValue(e.min)?this.toNumber(e.min):-1/0,this.max=this.isValue(e.max)?this.toNumber(e.max):1/0,this.delay=e.delay!=null?e.delay:1e3,this.float=e.float!==!1,this.round=e.round===!0||e.float===!1,this.major=e.major||10,this.minor=e.minor||1,this.initial=e.initial!=null?e.initial:"",this.input=String(this.initial),this.cursor=this.input.length,this.cursorShow()}append(e){return!/[-+.]/.test(e)||e==="."&&this.input.includes(".")?this.alert("invalid number"):super.append(e)}number(e){return super.append(e)}next(){return this.input&&this.input!==this.initial?this.alert():this.isValue(this.initial)?(this.input=this.initial,this.cursor=String(this.initial).length,this.render()):this.alert()}up(e){let t=e||this.minor,i=this.toNumber(this.input);return i>this.max+t?this.alert():(this.input=`${i+t}`,this.render())}down(e){let t=e||this.minor,i=this.toNumber(this.input);return ithis.isValue(t));return this.value=this.toNumber(e||0),super.submit()}};Zne.exports=QT});var $ne=w((Hgt,_ne)=>{_ne.exports=bT()});var tse=w((Ggt,ese)=>{"use strict";var _je=iu(),ST=class extends _je{constructor(e){super(e),this.cursorShow()}format(e=this.input){return this.keypressed?(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(e.length)):""}};ese.exports=ST});var nse=w((Ygt,ise)=>{"use strict";var $je=lo(),eqe=Lm(),rse=ji(),vT=class extends eqe{constructor(e={}){super(e),this.widths=[].concat(e.messageWidth||50),this.align=[].concat(e.align||"left"),this.linebreak=e.linebreak||!1,this.edgeLength=e.edgeLength||3,this.newline=e.newline||` `;let t=e.startNumber||1;typeof this.scale=="number"&&(this.scaleKey=!1,this.scale=Array(this.scale).fill(0).map((i,n)=>({name:n+t})))}async reset(){return this.tableized=!1,await super.reset(),this.render()}tableize(){if(this.tableized===!0)return;this.tableized=!0;let e=0;for(let t of this.choices){e=Math.max(e,t.message.length),t.scaleIndex=t.initial||2,t.scale=[];for(let i=0;i=this.scale.length-1?this.alert():(e.scaleIndex++,this.render())}left(){let e=this.focused;return e.scaleIndex<=0?this.alert():(e.scaleIndex--,this.render())}indent(){return""}format(){return this.state.submitted?this.choices.map(t=>this.styles.info(t.index)).join(", "):""}pointer(){return""}renderScaleKey(){if(this.scaleKey===!1||this.state.submitted)return"";let e=this.scale.map(i=>` ${i.name} - ${i.message}`);return["",...e].map(i=>this.styles.muted(i)).join(` -`)}renderScaleHeading(e){let t=this.scale.map(l=>l.name);typeof this.options.renderScaleHeading=="function"&&(t=this.options.renderScaleHeading.call(this,e));let i=this.scaleLength-t.join("").length,n=Math.round(i/(t.length-1)),o=t.map(l=>this.styles.strong(l)).join(" ".repeat(n)),a=" ".repeat(this.widths[0]);return this.margin[3]+a+this.margin[1]+o}scaleIndicator(e,t,i){if(typeof this.options.scaleIndicator=="function")return this.options.scaleIndicator.call(this,e,t,i);let n=e.scaleIndex===t.index;return t.disabled?this.styles.hint(this.symbols.radio.disabled):n?this.styles.success(this.symbols.radio.on):this.symbols.radio.off}renderScale(e,t){let i=e.scale.map(s=>this.scaleIndicator(e,s,t)),n=this.term==="Hyper"?"":" ";return i.join(n+this.symbols.line.repeat(this.edgeLength))}async renderChoice(e,t){await this.onChoice(e,t);let i=this.index===t,n=await this.pointer(e,t),s=await e.hint;s&&!Cne.hasColor(s)&&(s=this.styles.muted(s));let o=p=>this.margin[3]+p.replace(/\s+$/,"").padEnd(this.widths[0]," "),a=this.newline,l=this.indent(e),c=await this.resolve(e.message,this.state,e,t),u=await this.renderScale(e,t),g=this.margin[1]+this.margin[3];this.scaleLength=zYe.unstyle(u).length,this.widths[0]=Math.min(this.widths[0],this.width-this.scaleLength-g.length);let h=Cne.wordWrap(c,{width:this.widths[0],newline:a}).split(` +`)}renderScaleHeading(e){let t=this.scale.map(l=>l.name);typeof this.options.renderScaleHeading=="function"&&(t=this.options.renderScaleHeading.call(this,e));let i=this.scaleLength-t.join("").length,n=Math.round(i/(t.length-1)),o=t.map(l=>this.styles.strong(l)).join(" ".repeat(n)),a=" ".repeat(this.widths[0]);return this.margin[3]+a+this.margin[1]+o}scaleIndicator(e,t,i){if(typeof this.options.scaleIndicator=="function")return this.options.scaleIndicator.call(this,e,t,i);let n=e.scaleIndex===t.index;return t.disabled?this.styles.hint(this.symbols.radio.disabled):n?this.styles.success(this.symbols.radio.on):this.symbols.radio.off}renderScale(e,t){let i=e.scale.map(s=>this.scaleIndicator(e,s,t)),n=this.term==="Hyper"?"":" ";return i.join(n+this.symbols.line.repeat(this.edgeLength))}async renderChoice(e,t){await this.onChoice(e,t);let i=this.index===t,n=await this.pointer(e,t),s=await e.hint;s&&!rse.hasColor(s)&&(s=this.styles.muted(s));let o=p=>this.margin[3]+p.replace(/\s+$/,"").padEnd(this.widths[0]," "),a=this.newline,l=this.indent(e),c=await this.resolve(e.message,this.state,e,t),u=await this.renderScale(e,t),g=this.margin[1]+this.margin[3];this.scaleLength=$je.unstyle(u).length,this.widths[0]=Math.min(this.widths[0],this.width-this.scaleLength-g.length);let h=rse.wordWrap(c,{width:this.widths[0],newline:a}).split(` `).map(p=>o(p)+this.margin[1]);return i&&(u=this.styles.info(u),h=h.map(p=>this.styles.info(p))),h[0]+=u,this.linebreak&&h.push(""),[l+n,h.join(` `)].filter(Boolean)}async renderChoices(){if(this.state.submitted)return"";this.tableize();let e=this.visible.map(async(n,s)=>await this.renderChoice(n,s)),t=await Promise.all(e),i=await this.renderScaleHeading();return this.margin[0]+[i,...t.map(n=>n.join(" "))].join(` `)}async render(){let{submitted:e,size:t}=this.state,i=await this.prefix(),n=await this.separator(),s=await this.message(),o="";this.options.promptLine!==!1&&(o=[i,s,n,""].join(" "),this.state.prompt=o);let a=await this.header(),l=await this.format(),c=await this.renderScaleKey(),u=await this.error()||await this.hint(),g=await this.renderChoices(),f=await this.footer(),h=this.emptyError;l&&(o+=l),u&&!o.includes(u)&&(o+=" "+u),e&&!l&&!g.trim()&&this.multiple&&h!=null&&(o+=this.styles.danger(h)),this.clear(t),this.write([a,o,c,g,f].filter(Boolean).join(` -`)),this.state.submitted||this.write(this.margin[2]),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIndex;return this.base.submit.call(this)}};mne.exports=eT});var wne=w((tgt,yne)=>{"use strict";var Ine=so(),XYe=(r="")=>typeof r=="string"?r.replace(/^['"]|['"]$/g,""):"",rT=class{constructor(e){this.name=e.key,this.field=e.field||{},this.value=XYe(e.initial||this.field.initial||""),this.message=e.message||this.name,this.cursor=0,this.input="",this.lines=[]}},_Ye=async(r={},e={},t=i=>i)=>{let i=new Set,n=r.fields||[],s=r.template,o=[],a=[],l=[],c=1;typeof s=="function"&&(s=await s());let u=-1,g=()=>s[++u],f=()=>s[u+1],h=p=>{p.line=c,o.push(p)};for(h({type:"bos",value:""});uL.name===B.key);B.field=n.find(L=>L.name===B.key),D||(D=new rT(B),a.push(D)),D.lines.push(B.line-1);continue}let C=o[o.length-1];C.type==="text"&&C.line===c?C.value+=p:h({type:"text",value:p})}return h({type:"eos",value:""}),{input:s,tabstops:o,unique:i,keys:l,items:a}};yne.exports=async r=>{let e=r.options,t=new Set(e.required===!0?[]:e.required||[]),i={...e.values,...e.initial},{tabstops:n,items:s,keys:o}=await _Ye(e,i),a=tT("result",r,e),l=tT("format",r,e),c=tT("validate",r,e,!0),u=r.isValue.bind(r);return async(g={},f=!1)=>{let h=0;g.required=t,g.items=s,g.keys=o,g.output="";let p=async(v,D,L,H)=>{let j=await c(v,D,L,H);return j===!1?"Invalid field "+L.name:j};for(let v of n){let D=v.value,L=v.key;if(v.type!=="template"){D&&(g.output+=D);continue}if(v.type==="template"){let H=s.find(Z=>Z.name===L);e.required===!0&&g.required.add(H.name);let j=[H.input,g.values[H.value],H.value,D].find(u),V=(H.field||{}).message||v.inner;if(f){let Z=await p(g.values[L],g,H,h);if(Z&&typeof Z=="string"||Z===!1){g.invalid.set(L,Z);continue}g.invalid.delete(L);let A=await a(g.values[L],g,H,h);g.output+=Ine.unstyle(A);continue}H.placeholder=!1;let W=D;D=await l(D,g,H,h),j!==D?(g.values[L]=j,D=r.styles.typing(j),g.missing.delete(V)):(g.values[L]=void 0,j=`<${V}>`,D=r.styles.primary(j),H.placeholder=!0,g.required.has(L)&&g.missing.add(V)),g.missing.has(V)&&g.validating&&(D=r.styles.warning(j)),g.invalid.has(L)&&g.validating&&(D=r.styles.danger(j)),h===g.index&&(W!==D?D=r.styles.underline(D):D=r.styles.heading(Ine.unstyle(D))),h++}D&&(g.output+=D)}let C=g.output.split(` +`)),this.state.submitted||this.write(this.margin[2]),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIndex;return this.base.submit.call(this)}};ise.exports=vT});var ase=w((jgt,ose)=>{"use strict";var sse=lo(),tqe=(r="")=>typeof r=="string"?r.replace(/^['"]|['"]$/g,""):"",PT=class{constructor(e){this.name=e.key,this.field=e.field||{},this.value=tqe(e.initial||this.field.initial||""),this.message=e.message||this.name,this.cursor=0,this.input="",this.lines=[]}},rqe=async(r={},e={},t=i=>i)=>{let i=new Set,n=r.fields||[],s=r.template,o=[],a=[],l=[],c=1;typeof s=="function"&&(s=await s());let u=-1,g=()=>s[++u],f=()=>s[u+1],h=p=>{p.line=c,o.push(p)};for(h({type:"bos",value:""});uL.name===B.key);B.field=n.find(L=>L.name===B.key),D||(D=new PT(B),a.push(D)),D.lines.push(B.line-1);continue}let C=o[o.length-1];C.type==="text"&&C.line===c?C.value+=p:h({type:"text",value:p})}return h({type:"eos",value:""}),{input:s,tabstops:o,unique:i,keys:l,items:a}};ose.exports=async r=>{let e=r.options,t=new Set(e.required===!0?[]:e.required||[]),i={...e.values,...e.initial},{tabstops:n,items:s,keys:o}=await rqe(e,i),a=xT("result",r,e),l=xT("format",r,e),c=xT("validate",r,e,!0),u=r.isValue.bind(r);return async(g={},f=!1)=>{let h=0;g.required=t,g.items=s,g.keys=o,g.output="";let p=async(v,D,L,H)=>{let j=await c(v,D,L,H);return j===!1?"Invalid field "+L.name:j};for(let v of n){let D=v.value,L=v.key;if(v.type!=="template"){D&&(g.output+=D);continue}if(v.type==="template"){let H=s.find(_=>_.name===L);e.required===!0&&g.required.add(H.name);let j=[H.input,g.values[H.value],H.value,D].find(u),V=(H.field||{}).message||v.inner;if(f){let _=await p(g.values[L],g,H,h);if(_&&typeof _=="string"||_===!1){g.invalid.set(L,_);continue}g.invalid.delete(L);let A=await a(g.values[L],g,H,h);g.output+=sse.unstyle(A);continue}H.placeholder=!1;let W=D;D=await l(D,g,H,h),j!==D?(g.values[L]=j,D=r.styles.typing(j),g.missing.delete(V)):(g.values[L]=void 0,j=`<${V}>`,D=r.styles.primary(j),H.placeholder=!0,g.required.has(L)&&g.missing.add(V)),g.missing.has(V)&&g.validating&&(D=r.styles.warning(j)),g.invalid.has(L)&&g.validating&&(D=r.styles.danger(j)),h===g.index&&(W!==D?D=r.styles.underline(D):D=r.styles.heading(sse.unstyle(D))),h++}D&&(g.output+=D)}let C=g.output.split(` `).map(v=>" "+v),y=s.length,B=0;for(let v of s)g.invalid.has(v.name)&&v.lines.forEach(D=>{C[D][0]===" "&&(C[D]=g.styles.danger(g.symbols.bullet)+C[D].slice(1))}),r.isValue(g.values[v.name])&&B++;return g.completed=(B/y*100).toFixed(0),g.output=C.join(` -`),g.output}};function tT(r,e,t,i){return(n,s,o,a)=>typeof o.field[r]=="function"?o.field[r].call(e,n,s,o,a):[i,n].find(l=>e.isValue(l))}});var Qne=w((rgt,Bne)=>{"use strict";var ZYe=so(),$Ye=wne(),eje=kh(),iT=class extends eje{constructor(e){super(e),this.cursorHide(),this.reset(!0)}async initialize(){this.interpolate=await $Ye(this),await super.initialize()}async reset(e){this.state.keys=[],this.state.invalid=new Map,this.state.missing=new Set,this.state.completed=0,this.state.values={},e!==!0&&(await this.initialize(),await this.render())}moveCursor(e){let t=this.getItem();this.cursor+=e,t.cursor+=e}dispatch(e,t){if(!t.code&&!t.ctrl&&e!=null&&this.getItem()){this.append(e,t);return}this.alert()}append(e,t){let i=this.getItem(),n=i.input.slice(0,this.cursor),s=i.input.slice(this.cursor);this.input=i.input=`${n}${e}${s}`,this.moveCursor(1),this.render()}delete(){let e=this.getItem();if(this.cursor<=0||!e.input)return this.alert();let t=e.input.slice(this.cursor),i=e.input.slice(0,this.cursor-1);this.input=e.input=`${i}${t}`,this.moveCursor(-1),this.render()}increment(e){return e>=this.state.keys.length-1?0:e+1}decrement(e){return e<=0?this.state.keys.length-1:e-1}first(){this.state.index=0,this.render()}last(){this.state.index=this.state.keys.length-1,this.render()}right(){if(this.cursor>=this.input.length)return this.alert();this.moveCursor(1),this.render()}left(){if(this.cursor<=0)return this.alert();this.moveCursor(-1),this.render()}prev(){this.state.index=this.decrement(this.state.index),this.getItem(),this.render()}next(){this.state.index=this.increment(this.state.index),this.getItem(),this.render()}up(){this.prev()}down(){this.next()}format(e){let t=this.state.completed<100?this.styles.warning:this.styles.success;return this.state.submitted===!0&&this.state.completed!==100&&(t=this.styles.danger),t(`${this.state.completed}% completed`)}async render(){let{index:e,keys:t=[],submitted:i,size:n}=this.state,s=[this.options.newline,` +`),g.output}};function xT(r,e,t,i){return(n,s,o,a)=>typeof o.field[r]=="function"?o.field[r].call(e,n,s,o,a):[i,n].find(l=>e.isValue(l))}});var lse=w((qgt,Ase)=>{"use strict";var iqe=lo(),nqe=ase(),sqe=Uh(),DT=class extends sqe{constructor(e){super(e),this.cursorHide(),this.reset(!0)}async initialize(){this.interpolate=await nqe(this),await super.initialize()}async reset(e){this.state.keys=[],this.state.invalid=new Map,this.state.missing=new Set,this.state.completed=0,this.state.values={},e!==!0&&(await this.initialize(),await this.render())}moveCursor(e){let t=this.getItem();this.cursor+=e,t.cursor+=e}dispatch(e,t){if(!t.code&&!t.ctrl&&e!=null&&this.getItem()){this.append(e,t);return}this.alert()}append(e,t){let i=this.getItem(),n=i.input.slice(0,this.cursor),s=i.input.slice(this.cursor);this.input=i.input=`${n}${e}${s}`,this.moveCursor(1),this.render()}delete(){let e=this.getItem();if(this.cursor<=0||!e.input)return this.alert();let t=e.input.slice(this.cursor),i=e.input.slice(0,this.cursor-1);this.input=e.input=`${i}${t}`,this.moveCursor(-1),this.render()}increment(e){return e>=this.state.keys.length-1?0:e+1}decrement(e){return e<=0?this.state.keys.length-1:e-1}first(){this.state.index=0,this.render()}last(){this.state.index=this.state.keys.length-1,this.render()}right(){if(this.cursor>=this.input.length)return this.alert();this.moveCursor(1),this.render()}left(){if(this.cursor<=0)return this.alert();this.moveCursor(-1),this.render()}prev(){this.state.index=this.decrement(this.state.index),this.getItem(),this.render()}next(){this.state.index=this.increment(this.state.index),this.getItem(),this.render()}up(){this.prev()}down(){this.next()}format(e){let t=this.state.completed<100?this.styles.warning:this.styles.success;return this.state.submitted===!0&&this.state.completed!==100&&(t=this.styles.danger),t(`${this.state.completed}% completed`)}async render(){let{index:e,keys:t=[],submitted:i,size:n}=this.state,s=[this.options.newline,` `].find(v=>v!=null),o=await this.prefix(),a=await this.separator(),l=await this.message(),c=[o,l,a].filter(Boolean).join(" ");this.state.prompt=c;let u=await this.header(),g=await this.error()||"",f=await this.hint()||"",h=i?"":await this.interpolate(this.state),p=this.state.key=t[e]||"",C=await this.format(p),y=await this.footer();C&&(c+=" "+C),f&&!C&&this.state.completed===0&&(c+=" "+f),this.clear(n);let B=[u,c,h,y,g.trim()];this.write(B.filter(Boolean).join(s)),this.restore()}getItem(e){let{items:t,keys:i,index:n}=this.state,s=t.find(o=>o.name===i[n]);return s&&s.input!=null&&(this.input=s.input,this.cursor=s.cursor),s}async submit(){typeof this.interpolate!="function"&&await this.initialize(),await this.interpolate(this.state,!0);let{invalid:e,missing:t,output:i,values:n}=this.state;if(e.size){let a="";for(let[l,c]of e)a+=`Invalid ${l}: ${c} -`;return this.state.error=a,super.submit()}if(t.size)return this.state.error="Required: "+[...t.keys()].join(", "),super.submit();let o=ZYe.unstyle(i).split(` +`;return this.state.error=a,super.submit()}if(t.size)return this.state.error="Required: "+[...t.keys()].join(", "),super.submit();let o=iqe.unstyle(i).split(` `).map(a=>a.slice(1)).join(` -`);return this.value={values:n,result:o},super.submit()}};Bne.exports=iT});var Sne=w((igt,bne)=>{"use strict";var tje="(Use + to sort)",rje=ol(),nT=class extends rje{constructor(e){super({...e,reorder:!1,sort:!0,multiple:!0}),this.state.hint=[this.options.hint,tje].find(this.isValue.bind(this))}indicator(){return""}async renderChoice(e,t){let i=await super.renderChoice(e,t),n=this.symbols.identicalTo+" ",s=this.index===t&&this.sorting?this.styles.muted(n):" ";return this.options.drag===!1&&(s=""),this.options.numbered===!0?s+`${t+1} - `+i:s+i}get selected(){return this.choices}submit(){return this.value=this.choices.map(e=>e.value),super.submit()}};bne.exports=nT});var xne=w((ngt,vne)=>{"use strict";var ije=vm(),sT=class extends ije{constructor(e={}){if(super(e),this.emptyError=e.emptyError||"No items were selected",this.term=process.env.TERM_PROGRAM,!this.options.header){let t=["","4 - Strongly Agree","3 - Agree","2 - Neutral","1 - Disagree","0 - Strongly Disagree",""];t=t.map(i=>this.styles.muted(i)),this.state.header=t.join(` - `)}}async toChoices(...e){if(this.createdScales)return!1;this.createdScales=!0;let t=await super.toChoices(...e);for(let i of t)i.scale=nje(5,this.options),i.scaleIdx=2;return t}dispatch(){this.alert()}space(){let e=this.focused,t=e.scale[e.scaleIdx],i=t.selected;return e.scale.forEach(n=>n.selected=!1),t.selected=!i,this.render()}indicator(){return""}pointer(){return""}separator(){return this.styles.muted(this.symbols.ellipsis)}right(){let e=this.focused;return e.scaleIdx>=e.scale.length-1?this.alert():(e.scaleIdx++,this.render())}left(){let e=this.focused;return e.scaleIdx<=0?this.alert():(e.scaleIdx--,this.render())}indent(){return" "}async renderChoice(e,t){await this.onChoice(e,t);let i=this.index===t,n=this.term==="Hyper",s=n?9:8,o=n?"":" ",a=this.symbols.line.repeat(s),l=" ".repeat(s+(n?0:1)),c=D=>(D?this.styles.success("\u25C9"):"\u25EF")+o,u=t+1+".",g=i?this.styles.heading:this.styles.noop,f=await this.resolve(e.message,this.state,e,t),h=this.indent(e),p=h+e.scale.map((D,L)=>c(L===e.scaleIdx)).join(a),C=D=>D===e.scaleIdx?g(D):D,y=h+e.scale.map((D,L)=>C(L)).join(l),B=()=>[u,f].filter(Boolean).join(" "),v=()=>[B(),p,y," "].filter(Boolean).join(` +`);return this.value={values:n,result:o},super.submit()}};Ase.exports=DT});var use=w((Jgt,cse)=>{"use strict";var oqe="(Use + to sort)",aqe=pl(),kT=class extends aqe{constructor(e){super({...e,reorder:!1,sort:!0,multiple:!0}),this.state.hint=[this.options.hint,oqe].find(this.isValue.bind(this))}indicator(){return""}async renderChoice(e,t){let i=await super.renderChoice(e,t),n=this.symbols.identicalTo+" ",s=this.index===t&&this.sorting?this.styles.muted(n):" ";return this.options.drag===!1&&(s=""),this.options.numbered===!0?s+`${t+1} - `+i:s+i}get selected(){return this.choices}submit(){return this.value=this.choices.map(e=>e.value),super.submit()}};cse.exports=kT});var fse=w((Wgt,gse)=>{"use strict";var Aqe=Lm(),RT=class extends Aqe{constructor(e={}){if(super(e),this.emptyError=e.emptyError||"No items were selected",this.term=process.env.TERM_PROGRAM,!this.options.header){let t=["","4 - Strongly Agree","3 - Agree","2 - Neutral","1 - Disagree","0 - Strongly Disagree",""];t=t.map(i=>this.styles.muted(i)),this.state.header=t.join(` + `)}}async toChoices(...e){if(this.createdScales)return!1;this.createdScales=!0;let t=await super.toChoices(...e);for(let i of t)i.scale=lqe(5,this.options),i.scaleIdx=2;return t}dispatch(){this.alert()}space(){let e=this.focused,t=e.scale[e.scaleIdx],i=t.selected;return e.scale.forEach(n=>n.selected=!1),t.selected=!i,this.render()}indicator(){return""}pointer(){return""}separator(){return this.styles.muted(this.symbols.ellipsis)}right(){let e=this.focused;return e.scaleIdx>=e.scale.length-1?this.alert():(e.scaleIdx++,this.render())}left(){let e=this.focused;return e.scaleIdx<=0?this.alert():(e.scaleIdx--,this.render())}indent(){return" "}async renderChoice(e,t){await this.onChoice(e,t);let i=this.index===t,n=this.term==="Hyper",s=n?9:8,o=n?"":" ",a=this.symbols.line.repeat(s),l=" ".repeat(s+(n?0:1)),c=D=>(D?this.styles.success("\u25C9"):"\u25EF")+o,u=t+1+".",g=i?this.styles.heading:this.styles.noop,f=await this.resolve(e.message,this.state,e,t),h=this.indent(e),p=h+e.scale.map((D,L)=>c(L===e.scaleIdx)).join(a),C=D=>D===e.scaleIdx?g(D):D,y=h+e.scale.map((D,L)=>C(L)).join(l),B=()=>[u,f].filter(Boolean).join(" "),v=()=>[B(),p,y," "].filter(Boolean).join(` `);return i&&(p=this.styles.cyan(p),y=this.styles.cyan(y)),v()}async renderChoices(){if(this.state.submitted)return"";let e=this.visible.map(async(i,n)=>await this.renderChoice(i,n)),t=await Promise.all(e);return t.length||t.push(this.styles.danger("No matching choices")),t.join(` `)}format(){return this.state.submitted?this.choices.map(t=>this.styles.info(t.scaleIdx)).join(", "):""}async render(){let{submitted:e,size:t}=this.state,i=await this.prefix(),n=await this.separator(),s=await this.message(),o=[i,s,n].filter(Boolean).join(" ");this.state.prompt=o;let a=await this.header(),l=await this.format(),c=await this.error()||await this.hint(),u=await this.renderChoices(),g=await this.footer();(l||!c)&&(o+=" "+l),c&&!o.includes(c)&&(o+=" "+c),e&&!l&&!u&&this.multiple&&this.type!=="form"&&(o+=this.styles.danger(this.emptyError)),this.clear(t),this.write([o,a,u,g].filter(Boolean).join(` -`)),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIdx;return this.base.submit.call(this)}};function nje(r,e={}){if(Array.isArray(e.scale))return e.scale.map(i=>({...i}));let t=[];for(let i=1;i{Pne.exports=WL()});var Rne=w((ogt,kne)=>{"use strict";var sje=aQ(),oT=class extends sje{async initialize(){await super.initialize(),this.value=this.initial=!!this.options.initial,this.disabled=this.options.disabled||"no",this.enabled=this.options.enabled||"yes",await this.render()}reset(){this.value=this.initial,this.render()}delete(){this.alert()}toggle(){this.value=!this.value,this.render()}enable(){if(this.value===!0)return this.alert();this.value=!0,this.render()}disable(){if(this.value===!1)return this.alert();this.value=!1,this.render()}up(){this.toggle()}down(){this.toggle()}right(){this.toggle()}left(){this.toggle()}next(){this.toggle()}prev(){this.toggle()}dispatch(e="",t){switch(e.toLowerCase()){case" ":return this.toggle();case"1":case"y":case"t":return this.enable();case"0":case"n":case"f":return this.disable();default:return this.alert()}}format(){let e=i=>this.styles.primary.underline(i);return[this.value?this.disabled:e(this.disabled),this.value?e(this.enabled):this.enabled].join(this.styles.muted(" / "))}async render(){let{size:e}=this.state,t=await this.header(),i=await this.prefix(),n=await this.separator(),s=await this.message(),o=await this.format(),a=await this.error()||await this.hint(),l=await this.footer(),c=[i,s,n,o].join(" ");this.state.prompt=c,a&&!c.includes(a)&&(c+=" "+a),this.clear(e),this.write([t,c,l].filter(Boolean).join(` -`)),this.write(this.margin[2]),this.restore()}};kne.exports=oT});var Nne=w((agt,Fne)=>{"use strict";var oje=ol(),aT=class extends oje{constructor(e){if(super(e),typeof this.options.correctChoice!="number"||this.options.correctChoice<0)throw new Error("Please specify the index of the correct answer from the list of choices")}async toChoices(e,t){let i=await super.toChoices(e,t);if(i.length<2)throw new Error("Please give at least two choices to the user");if(this.options.correctChoice>i.length)throw new Error("Please specify the index of the correct answer from the list of choices");return i}check(e){return e.index===this.options.correctChoice}async result(e){return{selectedAnswer:e,correctAnswer:this.options.choices[this.options.correctChoice].value,correct:await this.check(this.state)}}};Fne.exports=aT});var Tne=w(AT=>{"use strict";var Lne=Gi(),ui=(r,e)=>{Lne.defineExport(AT,r,e),Lne.defineExport(AT,r.toLowerCase(),e)};ui("AutoComplete",()=>Gie());ui("BasicAuth",()=>Vie());ui("Confirm",()=>Zie());ui("Editable",()=>ene());ui("Form",()=>oQ());ui("Input",()=>WL());ui("Invisible",()=>ane());ui("List",()=>lne());ui("MultiSelect",()=>une());ui("Numeral",()=>hne());ui("Password",()=>dne());ui("Scale",()=>Ene());ui("Select",()=>ol());ui("Snippet",()=>Qne());ui("Sort",()=>Sne());ui("Survey",()=>xne());ui("Text",()=>Dne());ui("Toggle",()=>Rne());ui("Quiz",()=>Nne())});var Mne=w((lgt,One)=>{One.exports={ArrayPrompt:vm(),AuthPrompt:HL(),BooleanPrompt:aQ(),NumberPrompt:ZL(),StringPrompt:Xc()}});var Pm=w((cgt,Une)=>{"use strict";var Kne=J("assert"),cT=J("events"),al=Gi(),ao=class extends cT{constructor(e,t){super(),this.options=al.merge({},e),this.answers={...t}}register(e,t){if(al.isObject(e)){for(let n of Object.keys(e))this.register(n,e[n]);return this}Kne.equal(typeof t,"function","expected a function");let i=e.toLowerCase();return t.prototype instanceof this.Prompt?this.prompts[i]=t:this.prompts[i]=t(this.Prompt,this),this}async prompt(e=[]){for(let t of[].concat(e))try{typeof t=="function"&&(t=await t.call(this)),await this.ask(al.merge({},this.options,t))}catch(i){return Promise.reject(i)}return this.answers}async ask(e){typeof e=="function"&&(e=await e.call(this));let t=al.merge({},this.options,e),{type:i,name:n}=e,{set:s,get:o}=al;if(typeof i=="function"&&(i=await i.call(this,e,this.answers)),!i)return this.answers[n];Kne(this.prompts[i],`Prompt "${i}" is not registered`);let a=new this.prompts[i](t),l=o(this.answers,n);a.state.answers=this.answers,a.enquirer=this,n&&a.on("submit",u=>{this.emit("answer",n,u,a),s(this.answers,n,u)});let c=a.emit.bind(a);return a.emit=(...u)=>(this.emit.call(this,...u),c(...u)),this.emit("prompt",a,this),t.autofill&&l!=null?(a.value=a.input=l,t.autofill==="show"&&await a.submit()):l=a.value=await a.run(),l}use(e){return e.call(this,this),this}set Prompt(e){this._Prompt=e}get Prompt(){return this._Prompt||this.constructor.Prompt}get prompts(){return this.constructor.prompts}static set Prompt(e){this._Prompt=e}static get Prompt(){return this._Prompt||kh()}static get prompts(){return Tne()}static get types(){return Mne()}static get prompt(){let e=(t,...i)=>{let n=new this(...i),s=n.emit.bind(n);return n.emit=(...o)=>(e.emit(...o),s(...o)),n.prompt(t)};return al.mixinEmitter(e,new cT),e}};al.mixinEmitter(ao,new cT);var lT=ao.prompts;for(let r of Object.keys(lT)){let e=r.toLowerCase(),t=i=>new lT[r](i).run();ao.prompt[e]=t,ao[e]=t,ao[r]||Reflect.defineProperty(ao,r,{get:()=>lT[r]})}var xm=r=>{al.defineExport(ao,r,()=>ao.types[r])};xm("ArrayPrompt");xm("AuthPrompt");xm("BooleanPrompt");xm("NumberPrompt");xm("StringPrompt");Une.exports=ao});var Xne=w((_gt,Vne)=>{function uje(r,e){for(var t=-1,i=r==null?0:r.length;++t{var gje=B0(),fje=gh();function hje(r,e,t,i){var n=!t;t||(t={});for(var s=-1,o=e.length;++s{var pje=Nh(),dje=Ih();function Cje(r,e){return r&&pje(e,dje(e),r)}Zne.exports=Cje});var tse=w((eft,ese)=>{function mje(r){var e=[];if(r!=null)for(var t in Object(r))e.push(t);return e}ese.exports=mje});var ise=w((tft,rse)=>{var Eje=bn(),Ije=U0(),yje=tse(),wje=Object.prototype,Bje=wje.hasOwnProperty;function Qje(r){if(!Eje(r))return yje(r);var e=Ije(r),t=[];for(var i in r)i=="constructor"&&(e||!Bje.call(r,i))||t.push(i);return t}rse.exports=Qje});var Lh=w((rft,nse)=>{var bje=NN(),Sje=ise(),vje=rm();function xje(r){return vje(r)?bje(r,!0):Sje(r)}nse.exports=xje});var ose=w((ift,sse)=>{var Pje=Nh(),Dje=Lh();function kje(r,e){return r&&Pje(e,Dje(e),r)}sse.exports=kje});var dT=w((Fm,Th)=>{var Rje=ds(),cse=typeof Fm=="object"&&Fm&&!Fm.nodeType&&Fm,ase=cse&&typeof Th=="object"&&Th&&!Th.nodeType&&Th,Fje=ase&&ase.exports===cse,Ase=Fje?Rje.Buffer:void 0,lse=Ase?Ase.allocUnsafe:void 0;function Nje(r,e){if(e)return r.slice();var t=r.length,i=lse?lse(t):new r.constructor(t);return r.copy(i),i}Th.exports=Nje});var CT=w((nft,use)=>{function Lje(r,e){var t=-1,i=r.length;for(e||(e=Array(i));++t{var Tje=Nh(),Oje=G0();function Mje(r,e){return Tje(r,Oje(r),e)}gse.exports=Mje});var cQ=w((oft,hse)=>{var Kje=LN(),Uje=Kje(Object.getPrototypeOf,Object);hse.exports=Uje});var mT=w((aft,pse)=>{var Hje=b0(),Gje=cQ(),Yje=G0(),jje=HN(),qje=Object.getOwnPropertySymbols,Jje=qje?function(r){for(var e=[];r;)Hje(e,Yje(r)),r=Gje(r);return e}:jje;pse.exports=Jje});var Cse=w((Aft,dse)=>{var Wje=Nh(),zje=mT();function Vje(r,e){return Wje(r,zje(r),e)}dse.exports=Vje});var Ese=w((lft,mse)=>{var Xje=UN(),_je=mT(),Zje=Lh();function $je(r){return Xje(r,Zje,_je)}mse.exports=$je});var yse=w((cft,Ise)=>{var eqe=Object.prototype,tqe=eqe.hasOwnProperty;function rqe(r){var e=r.length,t=new r.constructor(e);return e&&typeof r[0]=="string"&&tqe.call(r,"index")&&(t.index=r.index,t.input=r.input),t}Ise.exports=rqe});var uQ=w((uft,Bse)=>{var wse=MN();function iqe(r){var e=new r.constructor(r.byteLength);return new wse(e).set(new wse(r)),e}Bse.exports=iqe});var bse=w((gft,Qse)=>{var nqe=uQ();function sqe(r,e){var t=e?nqe(r.buffer):r.buffer;return new r.constructor(t,r.byteOffset,r.byteLength)}Qse.exports=sqe});var vse=w((fft,Sse)=>{var oqe=/\w*$/;function aqe(r){var e=new r.constructor(r.source,oqe.exec(r));return e.lastIndex=r.lastIndex,e}Sse.exports=aqe});var Rse=w((hft,kse)=>{var xse=Ec(),Pse=xse?xse.prototype:void 0,Dse=Pse?Pse.valueOf:void 0;function Aqe(r){return Dse?Object(Dse.call(r)):{}}kse.exports=Aqe});var ET=w((pft,Fse)=>{var lqe=uQ();function cqe(r,e){var t=e?lqe(r.buffer):r.buffer;return new r.constructor(t,r.byteOffset,r.length)}Fse.exports=cqe});var Lse=w((dft,Nse)=>{var uqe=uQ(),gqe=bse(),fqe=vse(),hqe=Rse(),pqe=ET(),dqe="[object Boolean]",Cqe="[object Date]",mqe="[object Map]",Eqe="[object Number]",Iqe="[object RegExp]",yqe="[object Set]",wqe="[object String]",Bqe="[object Symbol]",Qqe="[object ArrayBuffer]",bqe="[object DataView]",Sqe="[object Float32Array]",vqe="[object Float64Array]",xqe="[object Int8Array]",Pqe="[object Int16Array]",Dqe="[object Int32Array]",kqe="[object Uint8Array]",Rqe="[object Uint8ClampedArray]",Fqe="[object Uint16Array]",Nqe="[object Uint32Array]";function Lqe(r,e,t){var i=r.constructor;switch(e){case Qqe:return uqe(r);case dqe:case Cqe:return new i(+r);case bqe:return gqe(r,t);case Sqe:case vqe:case xqe:case Pqe:case Dqe:case kqe:case Rqe:case Fqe:case Nqe:return pqe(r,t);case mqe:return new i;case Eqe:case wqe:return new i(r);case Iqe:return fqe(r);case yqe:return new i;case Bqe:return hqe(r)}}Nse.exports=Lqe});var Mse=w((Cft,Ose)=>{var Tqe=bn(),Tse=Object.create,Oqe=function(){function r(){}return function(e){if(!Tqe(e))return{};if(Tse)return Tse(e);r.prototype=e;var t=new r;return r.prototype=void 0,t}}();Ose.exports=Oqe});var IT=w((mft,Kse)=>{var Mqe=Mse(),Kqe=cQ(),Uqe=U0();function Hqe(r){return typeof r.constructor=="function"&&!Uqe(r)?Mqe(Kqe(r)):{}}Kse.exports=Hqe});var Hse=w((Eft,Use)=>{var Gqe=nm(),Yqe=Go(),jqe="[object Map]";function qqe(r){return Yqe(r)&&Gqe(r)==jqe}Use.exports=qqe});var qse=w((Ift,jse)=>{var Jqe=Hse(),Wqe=O0(),Gse=M0(),Yse=Gse&&Gse.isMap,zqe=Yse?Wqe(Yse):Jqe;jse.exports=zqe});var Wse=w((yft,Jse)=>{var Vqe=nm(),Xqe=Go(),_qe="[object Set]";function Zqe(r){return Xqe(r)&&Vqe(r)==_qe}Jse.exports=Zqe});var _se=w((wft,Xse)=>{var $qe=Wse(),eJe=O0(),zse=M0(),Vse=zse&&zse.isSet,tJe=Vse?eJe(Vse):$qe;Xse.exports=tJe});var roe=w((Bft,toe)=>{var rJe=im(),iJe=Xne(),nJe=B0(),sJe=$ne(),oJe=ose(),aJe=dT(),AJe=CT(),lJe=fse(),cJe=Cse(),uJe=GN(),gJe=Ese(),fJe=nm(),hJe=yse(),pJe=Lse(),dJe=IT(),CJe=ws(),mJe=$C(),EJe=qse(),IJe=bn(),yJe=_se(),wJe=Ih(),BJe=Lh(),QJe=1,bJe=2,SJe=4,Zse="[object Arguments]",vJe="[object Array]",xJe="[object Boolean]",PJe="[object Date]",DJe="[object Error]",$se="[object Function]",kJe="[object GeneratorFunction]",RJe="[object Map]",FJe="[object Number]",eoe="[object Object]",NJe="[object RegExp]",LJe="[object Set]",TJe="[object String]",OJe="[object Symbol]",MJe="[object WeakMap]",KJe="[object ArrayBuffer]",UJe="[object DataView]",HJe="[object Float32Array]",GJe="[object Float64Array]",YJe="[object Int8Array]",jJe="[object Int16Array]",qJe="[object Int32Array]",JJe="[object Uint8Array]",WJe="[object Uint8ClampedArray]",zJe="[object Uint16Array]",VJe="[object Uint32Array]",ur={};ur[Zse]=ur[vJe]=ur[KJe]=ur[UJe]=ur[xJe]=ur[PJe]=ur[HJe]=ur[GJe]=ur[YJe]=ur[jJe]=ur[qJe]=ur[RJe]=ur[FJe]=ur[eoe]=ur[NJe]=ur[LJe]=ur[TJe]=ur[OJe]=ur[JJe]=ur[WJe]=ur[zJe]=ur[VJe]=!0;ur[DJe]=ur[$se]=ur[MJe]=!1;function gQ(r,e,t,i,n,s){var o,a=e&QJe,l=e&bJe,c=e&SJe;if(t&&(o=n?t(r,i,n,s):t(r)),o!==void 0)return o;if(!IJe(r))return r;var u=CJe(r);if(u){if(o=hJe(r),!a)return AJe(r,o)}else{var g=fJe(r),f=g==$se||g==kJe;if(mJe(r))return aJe(r,a);if(g==eoe||g==Zse||f&&!n){if(o=l||f?{}:dJe(r),!a)return l?cJe(r,oJe(o,r)):lJe(r,sJe(o,r))}else{if(!ur[g])return n?r:{};o=pJe(r,g,a)}}s||(s=new rJe);var h=s.get(r);if(h)return h;s.set(r,o),yJe(r)?r.forEach(function(y){o.add(gQ(y,e,t,y,r,s))}):EJe(r)&&r.forEach(function(y,B){o.set(B,gQ(y,e,t,B,r,s))});var p=c?l?gJe:uJe:l?BJe:wJe,C=u?void 0:p(r);return iJe(C||r,function(y,B){C&&(B=y,y=r[B]),nJe(o,B,gQ(y,e,t,B,r,s))}),o}toe.exports=gQ});var yT=w((Qft,ioe)=>{var XJe=roe(),_Je=1,ZJe=4;function $Je(r){return XJe(r,_Je|ZJe)}ioe.exports=$Je});var soe=w((bft,noe)=>{var eWe=gN();function tWe(r,e,t){return r==null?r:eWe(r,e,t)}noe.exports=tWe});var coe=w((kft,loe)=>{function rWe(r){var e=r==null?0:r.length;return e?r[e-1]:void 0}loe.exports=rWe});var goe=w((Rft,uoe)=>{var iWe=JC(),nWe=bR();function sWe(r,e){return e.length<2?r:iWe(r,nWe(e,0,-1))}uoe.exports=sWe});var hoe=w((Fft,foe)=>{var oWe=uh(),aWe=coe(),AWe=goe(),lWe=Uc();function cWe(r,e){return e=oWe(e,r),r=AWe(r,e),r==null||delete r[lWe(aWe(e))]}foe.exports=cWe});var doe=w((Nft,poe)=>{var uWe=hoe();function gWe(r,e){return r==null?!0:uWe(r,e)}poe.exports=gWe});var yoe=w((Aht,pWe)=>{pWe.exports={name:"@yarnpkg/cli",version:"3.4.1",license:"BSD-2-Clause",main:"./sources/index.ts",dependencies:{"@yarnpkg/core":"workspace:^","@yarnpkg/fslib":"workspace:^","@yarnpkg/libzip":"workspace:^","@yarnpkg/parsers":"workspace:^","@yarnpkg/plugin-compat":"workspace:^","@yarnpkg/plugin-dlx":"workspace:^","@yarnpkg/plugin-essentials":"workspace:^","@yarnpkg/plugin-file":"workspace:^","@yarnpkg/plugin-git":"workspace:^","@yarnpkg/plugin-github":"workspace:^","@yarnpkg/plugin-http":"workspace:^","@yarnpkg/plugin-init":"workspace:^","@yarnpkg/plugin-link":"workspace:^","@yarnpkg/plugin-nm":"workspace:^","@yarnpkg/plugin-npm":"workspace:^","@yarnpkg/plugin-npm-cli":"workspace:^","@yarnpkg/plugin-pack":"workspace:^","@yarnpkg/plugin-patch":"workspace:^","@yarnpkg/plugin-pnp":"workspace:^","@yarnpkg/plugin-pnpm":"workspace:^","@yarnpkg/shell":"workspace:^",chalk:"^3.0.0","ci-info":"^3.2.0",clipanion:"3.2.0-rc.4",semver:"^7.1.2",tslib:"^1.13.0",typanion:"^3.3.0",yup:"^0.32.9"},devDependencies:{"@types/semver":"^7.1.0","@types/yup":"^0","@yarnpkg/builder":"workspace:^","@yarnpkg/monorepo":"workspace:^","@yarnpkg/pnpify":"workspace:^",micromatch:"^4.0.2"},peerDependencies:{"@yarnpkg/core":"workspace:^"},scripts:{postpack:"rm -rf lib",prepack:'run build:compile "$(pwd)"',"build:cli+hook":"run build:pnp:hook && builder build bundle","build:cli":"builder build bundle","run:cli":"builder run","update-local":"run build:cli --no-git-hash && rsync -a --delete bundles/ bin/"},publishConfig:{main:"./lib/index.js",types:"./lib/index.d.ts",bin:null},files:["/lib/**/*","!/lib/pluginConfiguration.*","!/lib/cli.*"],"@yarnpkg/builder":{bundles:{standard:["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-dlx","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-link","@yarnpkg/plugin-nm","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp","@yarnpkg/plugin-pnpm"]}},repository:{type:"git",url:"ssh://git@github.com/yarnpkg/berry.git",directory:"packages/yarnpkg-cli"},engines:{node:">=12 <14 || 14.2 - 14.9 || >14.10.0"}}});var kT=w((FCt,Loe)=>{"use strict";Loe.exports=function(e,t){t===!0&&(t=0);var i="";if(typeof e=="string")try{i=new URL(e).protocol}catch{}else e&&e.constructor===URL&&(i=e.protocol);var n=i.split(/\:|\+/).filter(Boolean);return typeof t=="number"?n[t]:n}});var Ooe=w((NCt,Toe)=>{"use strict";var NWe=kT();function LWe(r){var e={protocols:[],protocol:null,port:null,resource:"",host:"",user:"",password:"",pathname:"",hash:"",search:"",href:r,query:{},parse_failed:!1};try{var t=new URL(r);e.protocols=NWe(t),e.protocol=e.protocols[0],e.port=t.port,e.resource=t.hostname,e.host=t.host,e.user=t.username||"",e.password=t.password||"",e.pathname=t.pathname,e.hash=t.hash.slice(1),e.search=t.search.slice(1),e.href=t.href,e.query=Object.fromEntries(t.searchParams)}catch{e.protocols=["file"],e.protocol=e.protocols[0],e.port="",e.resource="",e.user="",e.pathname="",e.hash="",e.search="",e.href=r,e.query={},e.parse_failed=!0}return e}Toe.exports=LWe});var Uoe=w((LCt,Koe)=>{"use strict";var TWe=Ooe();function OWe(r){return r&&typeof r=="object"&&"default"in r?r:{default:r}}var MWe=OWe(TWe),KWe="text/plain",UWe="us-ascii",Moe=(r,e)=>e.some(t=>t instanceof RegExp?t.test(r):t===r),HWe=(r,{stripHash:e})=>{let t=/^data:(?[^,]*?),(?[^#]*?)(?:#(?.*))?$/.exec(r);if(!t)throw new Error(`Invalid URL: ${r}`);let{type:i,data:n,hash:s}=t.groups,o=i.split(";");s=e?"":s;let a=!1;o[o.length-1]==="base64"&&(o.pop(),a=!0);let l=(o.shift()||"").toLowerCase(),u=[...o.map(g=>{let[f,h=""]=g.split("=").map(p=>p.trim());return f==="charset"&&(h=h.toLowerCase(),h===UWe)?"":`${f}${h?`=${h}`:""}`}).filter(Boolean)];return a&&u.push("base64"),(u.length>0||l&&l!==KWe)&&u.unshift(l),`data:${u.join(";")},${a?n.trim():n}${s?`#${s}`:""}`};function GWe(r,e){if(e={defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripTextFragment:!0,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeSingleSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0,...e},r=r.trim(),/^data:/i.test(r))return HWe(r,e);if(/^view-source:/i.test(r))throw new Error("`view-source:` is not supported as it is a non-standard protocol");let t=r.startsWith("//");!t&&/^\.*\//.test(r)||(r=r.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,e.defaultProtocol));let n=new URL(r);if(e.forceHttp&&e.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(e.forceHttp&&n.protocol==="https:"&&(n.protocol="http:"),e.forceHttps&&n.protocol==="http:"&&(n.protocol="https:"),e.stripAuthentication&&(n.username="",n.password=""),e.stripHash?n.hash="":e.stripTextFragment&&(n.hash=n.hash.replace(/#?:~:text.*?$/i,"")),n.pathname){let o=/\b[a-z][a-z\d+\-.]{1,50}:\/\//g,a=0,l="";for(;;){let u=o.exec(n.pathname);if(!u)break;let g=u[0],f=u.index;l+=n.pathname.slice(a,f).replace(/\/{2,}/g,"/"),l+=g,a=f+g.length}l+=n.pathname.slice(a,n.pathname.length).replace(/\/{2,}/g,"/"),n.pathname=l}if(n.pathname)try{n.pathname=decodeURI(n.pathname)}catch{}if(e.removeDirectoryIndex===!0&&(e.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(e.removeDirectoryIndex)&&e.removeDirectoryIndex.length>0){let o=n.pathname.split("/"),a=o[o.length-1];Moe(a,e.removeDirectoryIndex)&&(o=o.slice(0,-1),n.pathname=o.slice(1).join("/")+"/")}if(n.hostname&&(n.hostname=n.hostname.replace(/\.$/,""),e.stripWWW&&/^www\.(?!www\.)[a-z\-\d]{1,63}\.[a-z.\-\d]{2,63}$/.test(n.hostname)&&(n.hostname=n.hostname.replace(/^www\./,""))),Array.isArray(e.removeQueryParameters))for(let o of[...n.searchParams.keys()])Moe(o,e.removeQueryParameters)&&n.searchParams.delete(o);if(e.removeQueryParameters===!0&&(n.search=""),e.sortQueryParameters){n.searchParams.sort();try{n.search=decodeURIComponent(n.search)}catch{}}e.removeTrailingSlash&&(n.pathname=n.pathname.replace(/\/$/,""));let s=r;return r=n.toString(),!e.removeSingleSlash&&n.pathname==="/"&&!s.endsWith("/")&&n.hash===""&&(r=r.replace(/\/$/,"")),(e.removeTrailingSlash||n.pathname==="/")&&n.hash===""&&e.removeSingleSlash&&(r=r.replace(/\/$/,"")),t&&!e.normalizeProtocol&&(r=r.replace(/^http:\/\//,"//")),e.stripProtocol&&(r=r.replace(/^(?:https?:)?\/\//,"")),r}var RT=(r,e=!1)=>{let t=/^(?:([a-z_][a-z0-9_-]{0,31})@|https?:\/\/)([\w\.\-@]+)[\/:]([\~,\.\w,\-,\_,\/]+?(?:\.git|\/)?)$/,i=s=>{let o=new Error(s);throw o.subject_url=r,o};(typeof r!="string"||!r.trim())&&i("Invalid url."),r.length>RT.MAX_INPUT_LENGTH&&i("Input exceeds maximum length. If needed, change the value of parseUrl.MAX_INPUT_LENGTH."),e&&(typeof e!="object"&&(e={stripHash:!1}),r=GWe(r,e));let n=MWe.default(r);if(n.parse_failed){let s=n.href.match(t);s?(n.protocols=["ssh"],n.protocol="ssh",n.resource=s[2],n.host=s[2],n.user=s[1],n.pathname=`/${s[3]}`,n.parse_failed=!1):i("URL parsing failed.")}return n};RT.MAX_INPUT_LENGTH=2048;Koe.exports=RT});var Yoe=w((TCt,Goe)=>{"use strict";var YWe=kT();function Hoe(r){if(Array.isArray(r))return r.indexOf("ssh")!==-1||r.indexOf("rsync")!==-1;if(typeof r!="string")return!1;var e=YWe(r);if(r=r.substring(r.indexOf("://")+3),Hoe(e))return!0;var t=new RegExp(".([a-zA-Z\\d]+):(\\d+)/");return!r.match(t)&&r.indexOf("@"){"use strict";var jWe=Uoe(),joe=Yoe();function qWe(r){var e=jWe(r);return e.token="",e.password==="x-oauth-basic"?e.token=e.user:e.user==="x-token-auth"&&(e.token=e.password),joe(e.protocols)||e.protocols.length===0&&joe(r)?e.protocol="ssh":e.protocols.length?e.protocol=e.protocols[0]:(e.protocol="file",e.protocols=["file"]),e.href=e.href.replace(/\/$/,""),e}qoe.exports=qWe});var zoe=w((MCt,Woe)=>{"use strict";var JWe=Joe();function FT(r){if(typeof r!="string")throw new Error("The url must be a string.");var e=/^([a-z\d-]{1,39})\/([-\.\w]{1,100})$/i;e.test(r)&&(r="https://github.com/"+r);var t=JWe(r),i=t.resource.split("."),n=null;switch(t.toString=function(y){return FT.stringify(this,y)},t.source=i.length>2?i.slice(1-i.length).join("."):t.source=t.resource,t.git_suffix=/\.git$/.test(t.pathname),t.name=decodeURIComponent((t.pathname||t.href).replace(/(^\/)|(\/$)/g,"").replace(/\.git$/,"")),t.owner=decodeURIComponent(t.user),t.source){case"git.cloudforge.com":t.owner=t.user,t.organization=i[0],t.source="cloudforge.com";break;case"visualstudio.com":if(t.resource==="vs-ssh.visualstudio.com"){n=t.name.split("/"),n.length===4&&(t.organization=n[1],t.owner=n[2],t.name=n[3],t.full_name=n[2]+"/"+n[3]);break}else{n=t.name.split("/"),n.length===2?(t.owner=n[1],t.name=n[1],t.full_name="_git/"+t.name):n.length===3?(t.name=n[2],n[0]==="DefaultCollection"?(t.owner=n[2],t.organization=n[0],t.full_name=t.organization+"/_git/"+t.name):(t.owner=n[0],t.full_name=t.owner+"/_git/"+t.name)):n.length===4&&(t.organization=n[0],t.owner=n[1],t.name=n[3],t.full_name=t.organization+"/"+t.owner+"/_git/"+t.name);break}case"dev.azure.com":case"azure.com":if(t.resource==="ssh.dev.azure.com"){n=t.name.split("/"),n.length===4&&(t.organization=n[1],t.owner=n[2],t.name=n[3]);break}else{n=t.name.split("/"),n.length===5?(t.organization=n[0],t.owner=n[1],t.name=n[4],t.full_name="_git/"+t.name):n.length===3?(t.name=n[2],n[0]==="DefaultCollection"?(t.owner=n[2],t.organization=n[0],t.full_name=t.organization+"/_git/"+t.name):(t.owner=n[0],t.full_name=t.owner+"/_git/"+t.name)):n.length===4&&(t.organization=n[0],t.owner=n[1],t.name=n[3],t.full_name=t.organization+"/"+t.owner+"/_git/"+t.name),t.query&&t.query.path&&(t.filepath=t.query.path.replace(/^\/+/g,"")),t.query&&t.query.version&&(t.ref=t.query.version.replace(/^GB/,""));break}default:n=t.name.split("/");var s=n.length-1;if(n.length>=2){var o=n.indexOf("-",2),a=n.indexOf("blob",2),l=n.indexOf("tree",2),c=n.indexOf("commit",2),u=n.indexOf("src",2),g=n.indexOf("raw",2),f=n.indexOf("edit",2);s=o>0?o-1:a>0?a-1:l>0?l-1:c>0?c-1:u>0?u-1:g>0?g-1:f>0?f-1:s,t.owner=n.slice(0,s).join("/"),t.name=n[s],c&&(t.commit=n[s+2])}t.ref="",t.filepathtype="",t.filepath="";var h=n.length>s&&n[s+1]==="-"?s+1:s;n.length>h+2&&["raw","src","blob","tree","edit"].indexOf(n[h+1])>=0&&(t.filepathtype=n[h+1],t.ref=n[h+2],n.length>h+3&&(t.filepath=n.slice(h+3).join("/"))),t.organization=t.owner;break}t.full_name||(t.full_name=t.owner,t.name&&(t.full_name&&(t.full_name+="/"),t.full_name+=t.name)),t.owner.startsWith("scm/")&&(t.source="bitbucket-server",t.owner=t.owner.replace("scm/",""),t.organization=t.owner,t.full_name=t.owner+"/"+t.name);var p=/(projects|users)\/(.*?)\/repos\/(.*?)((\/.*$)|$)/,C=p.exec(t.pathname);return C!=null&&(t.source="bitbucket-server",C[1]==="users"?t.owner="~"+C[2]:t.owner=C[2],t.organization=t.owner,t.name=C[3],n=C[4].split("/"),n.length>1&&(["raw","browse"].indexOf(n[1])>=0?(t.filepathtype=n[1],n.length>2&&(t.filepath=n.slice(2).join("/"))):n[1]==="commits"&&n.length>2&&(t.commit=n[2])),t.full_name=t.owner+"/"+t.name,t.query.at?t.ref=t.query.at:t.ref=""),t}FT.stringify=function(r,e){e=e||(r.protocols&&r.protocols.length?r.protocols.join("+"):r.protocol);var t=r.port?":"+r.port:"",i=r.user||"git",n=r.git_suffix?".git":"";switch(e){case"ssh":return t?"ssh://"+i+"@"+r.resource+t+"/"+r.full_name+n:i+"@"+r.resource+":"+r.full_name+n;case"git+ssh":case"ssh+git":case"ftp":case"ftps":return e+"://"+i+"@"+r.resource+t+"/"+r.full_name+n;case"http":case"https":var s=r.token?WWe(r):r.user&&(r.protocols.includes("http")||r.protocols.includes("https"))?r.user+"@":"";return e+"://"+s+r.resource+t+"/"+zWe(r)+n;default:return r.href}};function WWe(r){switch(r.source){case"bitbucket.org":return"x-token-auth:"+r.token+"@";default:return r.token+"@"}}function zWe(r){switch(r.source){case"bitbucket-server":return"scm/"+r.full_name;default:return""+r.full_name}}Woe.exports=FT});var tO=w((xIt,fae)=>{var p3e=gh(),d3e=Ah();function C3e(r,e,t){(t!==void 0&&!d3e(r[e],t)||t===void 0&&!(e in r))&&p3e(r,e,t)}fae.exports=C3e});var pae=w((PIt,hae)=>{var m3e=rm(),E3e=Go();function I3e(r){return E3e(r)&&m3e(r)}hae.exports=I3e});var mae=w((DIt,Cae)=>{var y3e=Ic(),w3e=cQ(),B3e=Go(),Q3e="[object Object]",b3e=Function.prototype,S3e=Object.prototype,dae=b3e.toString,v3e=S3e.hasOwnProperty,x3e=dae.call(Object);function P3e(r){if(!B3e(r)||y3e(r)!=Q3e)return!1;var e=w3e(r);if(e===null)return!0;var t=v3e.call(e,"constructor")&&e.constructor;return typeof t=="function"&&t instanceof t&&dae.call(t)==x3e}Cae.exports=P3e});var rO=w((kIt,Eae)=>{function D3e(r,e){if(!(e==="constructor"&&typeof r[e]=="function")&&e!="__proto__")return r[e]}Eae.exports=D3e});var yae=w((RIt,Iae)=>{var k3e=Nh(),R3e=Lh();function F3e(r){return k3e(r,R3e(r))}Iae.exports=F3e});var vae=w((FIt,Sae)=>{var wae=tO(),N3e=dT(),L3e=ET(),T3e=CT(),O3e=IT(),Bae=zC(),Qae=ws(),M3e=pae(),K3e=$C(),U3e=I0(),H3e=bn(),G3e=mae(),Y3e=K0(),bae=rO(),j3e=yae();function q3e(r,e,t,i,n,s,o){var a=bae(r,t),l=bae(e,t),c=o.get(l);if(c){wae(r,t,c);return}var u=s?s(a,l,t+"",r,e,o):void 0,g=u===void 0;if(g){var f=Qae(l),h=!f&&K3e(l),p=!f&&!h&&Y3e(l);u=l,f||h||p?Qae(a)?u=a:M3e(a)?u=T3e(a):h?(g=!1,u=N3e(l,!0)):p?(g=!1,u=L3e(l,!0)):u=[]:G3e(l)||Bae(l)?(u=a,Bae(a)?u=j3e(a):(!H3e(a)||U3e(a))&&(u=O3e(l))):g=!1}g&&(o.set(l,u),n(u,l,i,s,o),o.delete(l)),wae(r,t,u)}Sae.exports=q3e});var Dae=w((NIt,Pae)=>{var J3e=im(),W3e=tO(),z3e=RN(),V3e=vae(),X3e=bn(),_3e=Lh(),Z3e=rO();function xae(r,e,t,i,n){r!==e&&z3e(e,function(s,o){if(n||(n=new J3e),X3e(s))V3e(r,e,o,t,xae,i,n);else{var a=i?i(Z3e(r,o),s,o+"",r,e,n):void 0;a===void 0&&(a=s),W3e(r,o,a)}},_3e)}Pae.exports=xae});var Rae=w((LIt,kae)=>{var $3e=S0(),e4e=pN(),t4e=dN();function r4e(r,e){return t4e(e4e(r,e,$3e),r+"")}kae.exports=r4e});var Nae=w((TIt,Fae)=>{var i4e=Ah(),n4e=rm(),s4e=WC(),o4e=bn();function a4e(r,e,t){if(!o4e(t))return!1;var i=typeof e;return(i=="number"?n4e(t)&&s4e(e,t.length):i=="string"&&e in t)?i4e(t[e],r):!1}Fae.exports=a4e});var Tae=w((OIt,Lae)=>{var A4e=Rae(),l4e=Nae();function c4e(r){return A4e(function(e,t){var i=-1,n=t.length,s=n>1?t[n-1]:void 0,o=n>2?t[2]:void 0;for(s=r.length>3&&typeof s=="function"?(n--,s):void 0,o&&l4e(t[0],t[1],o)&&(s=n<3?void 0:s,n=1),e=Object(e);++i{var u4e=Dae(),g4e=Tae(),f4e=g4e(function(r,e,t){u4e(r,e,t)});Oae.exports=f4e});var Zae=w((Oyt,_ae)=>{var gO;_ae.exports=()=>(typeof gO>"u"&&(gO=J("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),gO)});var EAe=w((Awt,mAe)=>{var mO=Symbol("arg flag"),Pn=class extends Error{constructor(e,t){super(e),this.name="ArgError",this.code=t,Object.setPrototypeOf(this,Pn.prototype)}};function $m(r,{argv:e=process.argv.slice(2),permissive:t=!1,stopAtPositional:i=!1}={}){if(!r)throw new Pn("argument specification object is required","ARG_CONFIG_NO_SPEC");let n={_:[]},s={},o={};for(let a of Object.keys(r)){if(!a)throw new Pn("argument key cannot be an empty string","ARG_CONFIG_EMPTY_KEY");if(a[0]!=="-")throw new Pn(`argument key must start with '-' but found: '${a}'`,"ARG_CONFIG_NONOPT_KEY");if(a.length===1)throw new Pn(`argument key must have a name; singular '-' keys are not allowed: ${a}`,"ARG_CONFIG_NONAME_KEY");if(typeof r[a]=="string"){s[a]=r[a];continue}let l=r[a],c=!1;if(Array.isArray(l)&&l.length===1&&typeof l[0]=="function"){let[u]=l;l=(g,f,h=[])=>(h.push(u(g,f,h[h.length-1])),h),c=u===Boolean||u[mO]===!0}else if(typeof l=="function")c=l===Boolean||l[mO]===!0;else throw new Pn(`type missing or not a function or valid array type: ${a}`,"ARG_CONFIG_VAD_TYPE");if(a[1]!=="-"&&a.length>2)throw new Pn(`short argument keys (with a single hyphen) must have only one character: ${a}`,"ARG_CONFIG_SHORTOPT_TOOLONG");o[a]=[l,c]}for(let a=0,l=e.length;a0){n._=n._.concat(e.slice(a));break}if(c==="--"){n._=n._.concat(e.slice(a+1));break}if(c.length>1&&c[0]==="-"){let u=c[1]==="-"||c.length===2?[c]:c.slice(1).split("").map(g=>`-${g}`);for(let g=0;g1&&e[a+1][0]==="-"&&!(e[a+1].match(/^-?\d*(\.(?=\d))?\d*$/)&&(y===Number||typeof BigInt<"u"&&y===BigInt))){let v=h===C?"":` (alias for ${C})`;throw new Pn(`option requires argument: ${h}${v}`,"ARG_MISSING_REQUIRED_LONGARG")}n[C]=y(e[a+1],C,n[C]),++a}else n[C]=y(p,C,n[C])}}else n._.push(c)}return n}$m.flag=r=>(r[mO]=!0,r);$m.COUNT=$m.flag((r,e,t)=>(t||0)+1);$m.ArgError=Pn;mAe.exports=$m});var DAe=w((Mwt,PAe)=>{var wO;PAe.exports=()=>(typeof wO>"u"&&(wO=J("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),wO)});var OAe=w((xO,PO)=>{(function(r){xO&&typeof xO=="object"&&typeof PO<"u"?PO.exports=r():typeof define=="function"&&define.amd?define([],r):typeof window<"u"?window.isWindows=r():typeof global<"u"?global.isWindows=r():typeof self<"u"?self.isWindows=r():this.isWindows=r()})(function(){"use strict";return function(){return process&&(process.platform==="win32"||/^(msys|cygwin)$/.test(process.env.OSTYPE))}})});var HAe=w((OBt,UAe)=>{"use strict";DO.ifExists=u8e;var Wh=J("util"),ks=J("path"),MAe=OAe(),A8e=/^#!\s*(?:\/usr\/bin\/env)?\s*([^ \t]+)(.*)$/,l8e={createPwshFile:!0,createCmdFile:MAe(),fs:J("fs")},c8e=new Map([[".js","node"],[".cjs","node"],[".mjs","node"],[".cmd","cmd"],[".bat","cmd"],[".ps1","pwsh"],[".sh","sh"]]);function KAe(r){let e={...l8e,...r},t=e.fs;return e.fs_={chmod:t.chmod?Wh.promisify(t.chmod):async()=>{},mkdir:Wh.promisify(t.mkdir),readFile:Wh.promisify(t.readFile),stat:Wh.promisify(t.stat),unlink:Wh.promisify(t.unlink),writeFile:Wh.promisify(t.writeFile)},e}async function DO(r,e,t){let i=KAe(t);await i.fs_.stat(r),await f8e(r,e,i)}function u8e(r,e,t){return DO(r,e,t).catch(()=>{})}function g8e(r,e){return e.fs_.unlink(r).catch(()=>{})}async function f8e(r,e,t){let i=await m8e(r,t);return await h8e(e,t),p8e(r,e,i,t)}function h8e(r,e){return e.fs_.mkdir(ks.dirname(r),{recursive:!0})}function p8e(r,e,t,i){let n=KAe(i),s=[{generator:y8e,extension:""}];return n.createCmdFile&&s.push({generator:I8e,extension:".cmd"}),n.createPwshFile&&s.push({generator:w8e,extension:".ps1"}),Promise.all(s.map(o=>E8e(r,e+o.extension,t,o.generator,n)))}function d8e(r,e){return g8e(r,e)}function C8e(r,e){return B8e(r,e)}async function m8e(r,e){let n=(await e.fs_.readFile(r,"utf8")).trim().split(/\r*\n/)[0].match(A8e);if(!n){let s=ks.extname(r).toLowerCase();return{program:c8e.get(s)||null,additionalArgs:""}}return{program:n[1],additionalArgs:n[2]}}async function E8e(r,e,t,i,n){let s=n.preserveSymlinks?"--preserve-symlinks":"",o=[t.additionalArgs,s].filter(a=>a).join(" ");return n=Object.assign({},n,{prog:t.program,args:o}),await d8e(e,n),await n.fs_.writeFile(e,i(r,e,n),"utf8"),C8e(e,n)}function I8e(r,e,t){let n=ks.relative(ks.dirname(e),r).split("/").join("\\"),s=ks.isAbsolute(n)?`"${n}"`:`"%~dp0\\${n}"`,o,a=t.prog,l=t.args||"",c=kO(t.nodePath).win32;a?(o=`"%~dp0\\${a}.exe"`,n=s):(a=s,l="",n="");let u=t.progArgs?`${t.progArgs.join(" ")} `:"",g=c?`@SET NODE_PATH=${c}\r +`)),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIdx;return this.base.submit.call(this)}};function lqe(r,e={}){if(Array.isArray(e.scale))return e.scale.map(i=>({...i}));let t=[];for(let i=1;i{hse.exports=IT()});var Cse=w((Vgt,dse)=>{"use strict";var cqe=BQ(),FT=class extends cqe{async initialize(){await super.initialize(),this.value=this.initial=!!this.options.initial,this.disabled=this.options.disabled||"no",this.enabled=this.options.enabled||"yes",await this.render()}reset(){this.value=this.initial,this.render()}delete(){this.alert()}toggle(){this.value=!this.value,this.render()}enable(){if(this.value===!0)return this.alert();this.value=!0,this.render()}disable(){if(this.value===!1)return this.alert();this.value=!1,this.render()}up(){this.toggle()}down(){this.toggle()}right(){this.toggle()}left(){this.toggle()}next(){this.toggle()}prev(){this.toggle()}dispatch(e="",t){switch(e.toLowerCase()){case" ":return this.toggle();case"1":case"y":case"t":return this.enable();case"0":case"n":case"f":return this.disable();default:return this.alert()}}format(){let e=i=>this.styles.primary.underline(i);return[this.value?this.disabled:e(this.disabled),this.value?e(this.enabled):this.enabled].join(this.styles.muted(" / "))}async render(){let{size:e}=this.state,t=await this.header(),i=await this.prefix(),n=await this.separator(),s=await this.message(),o=await this.format(),a=await this.error()||await this.hint(),l=await this.footer(),c=[i,s,n,o].join(" ");this.state.prompt=c,a&&!c.includes(a)&&(c+=" "+a),this.clear(e),this.write([t,c,l].filter(Boolean).join(` +`)),this.write(this.margin[2]),this.restore()}};dse.exports=FT});var Ese=w((Xgt,mse)=>{"use strict";var uqe=pl(),NT=class extends uqe{constructor(e){if(super(e),typeof this.options.correctChoice!="number"||this.options.correctChoice<0)throw new Error("Please specify the index of the correct answer from the list of choices")}async toChoices(e,t){let i=await super.toChoices(e,t);if(i.length<2)throw new Error("Please give at least two choices to the user");if(this.options.correctChoice>i.length)throw new Error("Please specify the index of the correct answer from the list of choices");return i}check(e){return e.index===this.options.correctChoice}async result(e){return{selectedAnswer:e,correctAnswer:this.options.choices[this.options.correctChoice].value,correct:await this.check(this.state)}}};mse.exports=NT});var yse=w(LT=>{"use strict";var Ise=ji(),ui=(r,e)=>{Ise.defineExport(LT,r,e),Ise.defineExport(LT,r.toLowerCase(),e)};ui("AutoComplete",()=>vne());ui("BasicAuth",()=>Nne());ui("Confirm",()=>One());ui("Editable",()=>Kne());ui("Form",()=>wQ());ui("Input",()=>IT());ui("Invisible",()=>Jne());ui("List",()=>zne());ui("MultiSelect",()=>Xne());ui("Numeral",()=>$ne());ui("Password",()=>tse());ui("Scale",()=>nse());ui("Select",()=>pl());ui("Snippet",()=>lse());ui("Sort",()=>use());ui("Survey",()=>fse());ui("Text",()=>pse());ui("Toggle",()=>Cse());ui("Quiz",()=>Ese())});var Bse=w((_gt,wse)=>{wse.exports={ArrayPrompt:Lm(),AuthPrompt:hT(),BooleanPrompt:BQ(),NumberPrompt:bT(),StringPrompt:iu()}});var Om=w(($gt,bse)=>{"use strict";var Qse=J("assert"),OT=J("events"),dl=ji(),uo=class extends OT{constructor(e,t){super(),this.options=dl.merge({},e),this.answers={...t}}register(e,t){if(dl.isObject(e)){for(let n of Object.keys(e))this.register(n,e[n]);return this}Qse.equal(typeof t,"function","expected a function");let i=e.toLowerCase();return t.prototype instanceof this.Prompt?this.prompts[i]=t:this.prompts[i]=t(this.Prompt,this),this}async prompt(e=[]){for(let t of[].concat(e))try{typeof t=="function"&&(t=await t.call(this)),await this.ask(dl.merge({},this.options,t))}catch(i){return Promise.reject(i)}return this.answers}async ask(e){typeof e=="function"&&(e=await e.call(this));let t=dl.merge({},this.options,e),{type:i,name:n}=e,{set:s,get:o}=dl;if(typeof i=="function"&&(i=await i.call(this,e,this.answers)),!i)return this.answers[n];Qse(this.prompts[i],`Prompt "${i}" is not registered`);let a=new this.prompts[i](t),l=o(this.answers,n);a.state.answers=this.answers,a.enquirer=this,n&&a.on("submit",u=>{this.emit("answer",n,u,a),s(this.answers,n,u)});let c=a.emit.bind(a);return a.emit=(...u)=>(this.emit.call(this,...u),c(...u)),this.emit("prompt",a,this),t.autofill&&l!=null?(a.value=a.input=l,t.autofill==="show"&&await a.submit()):l=a.value=await a.run(),l}use(e){return e.call(this,this),this}set Prompt(e){this._Prompt=e}get Prompt(){return this._Prompt||this.constructor.Prompt}get prompts(){return this.constructor.prompts}static set Prompt(e){this._Prompt=e}static get Prompt(){return this._Prompt||Uh()}static get prompts(){return yse()}static get types(){return Bse()}static get prompt(){let e=(t,...i)=>{let n=new this(...i),s=n.emit.bind(n);return n.emit=(...o)=>(e.emit(...o),s(...o)),n.prompt(t)};return dl.mixinEmitter(e,new OT),e}};dl.mixinEmitter(uo,new OT);var TT=uo.prompts;for(let r of Object.keys(TT)){let e=r.toLowerCase(),t=i=>new TT[r](i).run();uo.prompt[e]=t,uo[e]=t,uo[r]||Reflect.defineProperty(uo,r,{get:()=>TT[r]})}var Tm=r=>{dl.defineExport(uo,r,()=>uo.types[r])};Tm("ArrayPrompt");Tm("AuthPrompt");Tm("BooleanPrompt");Tm("NumberPrompt");Tm("StringPrompt");bse.exports=uo});var Lse=w((Uft,Nse)=>{function dqe(r,e){for(var t=-1,i=r==null?0:r.length;++t{var Cqe=K0(),mqe=yh();function Eqe(r,e,t,i){var n=!t;t||(t={});for(var s=-1,o=e.length;++s{var Iqe=Yh(),yqe=Ph();function wqe(r,e){return r&&Iqe(e,yqe(e),r)}Ose.exports=wqe});var Use=w((Yft,Kse)=>{function Bqe(r){var e=[];if(r!=null)for(var t in Object(r))e.push(t);return e}Kse.exports=Bqe});var Gse=w((jft,Hse)=>{var Qqe=bn(),bqe=rQ(),Sqe=Use(),vqe=Object.prototype,xqe=vqe.hasOwnProperty;function Pqe(r){if(!Qqe(r))return Sqe(r);var e=bqe(r),t=[];for(var i in r)i=="constructor"&&(e||!xqe.call(r,i))||t.push(i);return t}Hse.exports=Pqe});var jh=w((qft,Yse)=>{var Dqe=aL(),kqe=Gse(),Rqe=cm();function Fqe(r){return Rqe(r)?Dqe(r,!0):kqe(r)}Yse.exports=Fqe});var qse=w((Jft,jse)=>{var Nqe=Yh(),Lqe=jh();function Tqe(r,e){return r&&Nqe(e,Lqe(e),r)}jse.exports=Tqe});var YT=w((Hm,qh)=>{var Oqe=Es(),Vse=typeof Hm=="object"&&Hm&&!Hm.nodeType&&Hm,Jse=Vse&&typeof qh=="object"&&qh&&!qh.nodeType&&qh,Mqe=Jse&&Jse.exports===Vse,Wse=Mqe?Oqe.Buffer:void 0,zse=Wse?Wse.allocUnsafe:void 0;function Kqe(r,e){if(e)return r.slice();var t=r.length,i=zse?zse(t):new r.constructor(t);return r.copy(i),i}qh.exports=Kqe});var jT=w((Wft,Xse)=>{function Uqe(r,e){var t=-1,i=r.length;for(e||(e=Array(i));++t{var Hqe=Yh(),Gqe=nQ();function Yqe(r,e){return Hqe(r,Gqe(r),e)}Zse.exports=Yqe});var SQ=w((Vft,$se)=>{var jqe=AL(),qqe=jqe(Object.getPrototypeOf,Object);$se.exports=qqe});var qT=w((Xft,eoe)=>{var Jqe=H0(),Wqe=SQ(),zqe=nQ(),Vqe=hL(),Xqe=Object.getOwnPropertySymbols,Zqe=Xqe?function(r){for(var e=[];r;)Jqe(e,zqe(r)),r=Wqe(r);return e}:Vqe;eoe.exports=Zqe});var roe=w((Zft,toe)=>{var _qe=Yh(),$qe=qT();function eJe(r,e){return _qe(r,$qe(r),e)}toe.exports=eJe});var noe=w((_ft,ioe)=>{var tJe=fL(),rJe=qT(),iJe=jh();function nJe(r){return tJe(r,iJe,rJe)}ioe.exports=nJe});var ooe=w(($ft,soe)=>{var sJe=Object.prototype,oJe=sJe.hasOwnProperty;function aJe(r){var e=r.length,t=new r.constructor(e);return e&&typeof r[0]=="string"&&oJe.call(r,"index")&&(t.index=r.index,t.input=r.input),t}soe.exports=aJe});var vQ=w((eht,Aoe)=>{var aoe=uL();function AJe(r){var e=new r.constructor(r.byteLength);return new aoe(e).set(new aoe(r)),e}Aoe.exports=AJe});var coe=w((tht,loe)=>{var lJe=vQ();function cJe(r,e){var t=e?lJe(r.buffer):r.buffer;return new r.constructor(t,r.byteOffset,r.byteLength)}loe.exports=cJe});var goe=w((rht,uoe)=>{var uJe=/\w*$/;function gJe(r){var e=new r.constructor(r.source,uJe.exec(r));return e.lastIndex=r.lastIndex,e}uoe.exports=gJe});var Coe=w((iht,doe)=>{var foe=xc(),hoe=foe?foe.prototype:void 0,poe=hoe?hoe.valueOf:void 0;function fJe(r){return poe?Object(poe.call(r)):{}}doe.exports=fJe});var JT=w((nht,moe)=>{var hJe=vQ();function pJe(r,e){var t=e?hJe(r.buffer):r.buffer;return new r.constructor(t,r.byteOffset,r.length)}moe.exports=pJe});var Ioe=w((sht,Eoe)=>{var dJe=vQ(),CJe=coe(),mJe=goe(),EJe=Coe(),IJe=JT(),yJe="[object Boolean]",wJe="[object Date]",BJe="[object Map]",QJe="[object Number]",bJe="[object RegExp]",SJe="[object Set]",vJe="[object String]",xJe="[object Symbol]",PJe="[object ArrayBuffer]",DJe="[object DataView]",kJe="[object Float32Array]",RJe="[object Float64Array]",FJe="[object Int8Array]",NJe="[object Int16Array]",LJe="[object Int32Array]",TJe="[object Uint8Array]",OJe="[object Uint8ClampedArray]",MJe="[object Uint16Array]",KJe="[object Uint32Array]";function UJe(r,e,t){var i=r.constructor;switch(e){case PJe:return dJe(r);case yJe:case wJe:return new i(+r);case DJe:return CJe(r,t);case kJe:case RJe:case FJe:case NJe:case LJe:case TJe:case OJe:case MJe:case KJe:return IJe(r,t);case BJe:return new i;case QJe:case vJe:return new i(r);case bJe:return mJe(r);case SJe:return new i;case xJe:return EJe(r)}}Eoe.exports=UJe});var Boe=w((oht,woe)=>{var HJe=bn(),yoe=Object.create,GJe=function(){function r(){}return function(e){if(!HJe(e))return{};if(yoe)return yoe(e);r.prototype=e;var t=new r;return r.prototype=void 0,t}}();woe.exports=GJe});var WT=w((aht,Qoe)=>{var YJe=Boe(),jJe=SQ(),qJe=rQ();function JJe(r){return typeof r.constructor=="function"&&!qJe(r)?YJe(jJe(r)):{}}Qoe.exports=JJe});var Soe=w((Aht,boe)=>{var WJe=gm(),zJe=Jo(),VJe="[object Map]";function XJe(r){return zJe(r)&&WJe(r)==VJe}boe.exports=XJe});var Doe=w((lht,Poe)=>{var ZJe=Soe(),_Je=$0(),voe=eQ(),xoe=voe&&voe.isMap,$Je=xoe?_Je(xoe):ZJe;Poe.exports=$Je});var Roe=w((cht,koe)=>{var eWe=gm(),tWe=Jo(),rWe="[object Set]";function iWe(r){return tWe(r)&&eWe(r)==rWe}koe.exports=iWe});var Toe=w((uht,Loe)=>{var nWe=Roe(),sWe=$0(),Foe=eQ(),Noe=Foe&&Foe.isSet,oWe=Noe?sWe(Noe):nWe;Loe.exports=oWe});var Hoe=w((ght,Uoe)=>{var aWe=um(),AWe=Lse(),lWe=K0(),cWe=Mse(),uWe=qse(),gWe=YT(),fWe=jT(),hWe=_se(),pWe=roe(),dWe=pL(),CWe=noe(),mWe=gm(),EWe=ooe(),IWe=Ioe(),yWe=WT(),wWe=bs(),BWe=am(),QWe=Doe(),bWe=bn(),SWe=Toe(),vWe=Ph(),xWe=jh(),PWe=1,DWe=2,kWe=4,Ooe="[object Arguments]",RWe="[object Array]",FWe="[object Boolean]",NWe="[object Date]",LWe="[object Error]",Moe="[object Function]",TWe="[object GeneratorFunction]",OWe="[object Map]",MWe="[object Number]",Koe="[object Object]",KWe="[object RegExp]",UWe="[object Set]",HWe="[object String]",GWe="[object Symbol]",YWe="[object WeakMap]",jWe="[object ArrayBuffer]",qWe="[object DataView]",JWe="[object Float32Array]",WWe="[object Float64Array]",zWe="[object Int8Array]",VWe="[object Int16Array]",XWe="[object Int32Array]",ZWe="[object Uint8Array]",_We="[object Uint8ClampedArray]",$We="[object Uint16Array]",e4e="[object Uint32Array]",ur={};ur[Ooe]=ur[RWe]=ur[jWe]=ur[qWe]=ur[FWe]=ur[NWe]=ur[JWe]=ur[WWe]=ur[zWe]=ur[VWe]=ur[XWe]=ur[OWe]=ur[MWe]=ur[Koe]=ur[KWe]=ur[UWe]=ur[HWe]=ur[GWe]=ur[ZWe]=ur[_We]=ur[$We]=ur[e4e]=!0;ur[LWe]=ur[Moe]=ur[YWe]=!1;function xQ(r,e,t,i,n,s){var o,a=e&PWe,l=e&DWe,c=e&kWe;if(t&&(o=n?t(r,i,n,s):t(r)),o!==void 0)return o;if(!bWe(r))return r;var u=wWe(r);if(u){if(o=EWe(r),!a)return fWe(r,o)}else{var g=mWe(r),f=g==Moe||g==TWe;if(BWe(r))return gWe(r,a);if(g==Koe||g==Ooe||f&&!n){if(o=l||f?{}:yWe(r),!a)return l?pWe(r,uWe(o,r)):hWe(r,cWe(o,r))}else{if(!ur[g])return n?r:{};o=IWe(r,g,a)}}s||(s=new aWe);var h=s.get(r);if(h)return h;s.set(r,o),SWe(r)?r.forEach(function(y){o.add(xQ(y,e,t,y,r,s))}):QWe(r)&&r.forEach(function(y,B){o.set(B,xQ(y,e,t,B,r,s))});var p=c?l?CWe:dWe:l?xWe:vWe,C=u?void 0:p(r);return AWe(C||r,function(y,B){C&&(B=y,y=r[B]),lWe(o,B,xQ(y,e,t,B,r,s))}),o}Uoe.exports=xQ});var zT=w((fht,Goe)=>{var t4e=Hoe(),r4e=1,i4e=4;function n4e(r){return t4e(r,r4e|i4e)}Goe.exports=n4e});var joe=w((hht,Yoe)=>{var s4e=KN();function o4e(r,e,t){return r==null?r:s4e(r,e,t)}Yoe.exports=o4e});var Voe=w((Iht,zoe)=>{function a4e(r){var e=r==null?0:r.length;return e?r[e-1]:void 0}zoe.exports=a4e});var Zoe=w((yht,Xoe)=>{var A4e=em(),l4e=HR();function c4e(r,e){return e.length<2?r:A4e(r,l4e(e,0,-1))}Xoe.exports=c4e});var $oe=w((wht,_oe)=>{var u4e=Ih(),g4e=Voe(),f4e=Zoe(),h4e=Wc();function p4e(r,e){return e=u4e(e,r),r=f4e(r,e),r==null||delete r[h4e(g4e(e))]}_oe.exports=p4e});var tae=w((Bht,eae)=>{var d4e=$oe();function C4e(r,e){return r==null?!0:d4e(r,e)}eae.exports=C4e});var oae=w((Zht,I4e)=>{I4e.exports={name:"@yarnpkg/cli",version:"3.5.0",license:"BSD-2-Clause",main:"./sources/index.ts",dependencies:{"@yarnpkg/core":"workspace:^","@yarnpkg/fslib":"workspace:^","@yarnpkg/libzip":"workspace:^","@yarnpkg/parsers":"workspace:^","@yarnpkg/plugin-compat":"workspace:^","@yarnpkg/plugin-dlx":"workspace:^","@yarnpkg/plugin-essentials":"workspace:^","@yarnpkg/plugin-file":"workspace:^","@yarnpkg/plugin-git":"workspace:^","@yarnpkg/plugin-github":"workspace:^","@yarnpkg/plugin-http":"workspace:^","@yarnpkg/plugin-init":"workspace:^","@yarnpkg/plugin-link":"workspace:^","@yarnpkg/plugin-nm":"workspace:^","@yarnpkg/plugin-npm":"workspace:^","@yarnpkg/plugin-npm-cli":"workspace:^","@yarnpkg/plugin-pack":"workspace:^","@yarnpkg/plugin-patch":"workspace:^","@yarnpkg/plugin-pnp":"workspace:^","@yarnpkg/plugin-pnpm":"workspace:^","@yarnpkg/shell":"workspace:^",chalk:"^3.0.0","ci-info":"^3.2.0",clipanion:"3.2.0-rc.4",semver:"^7.1.2",tslib:"^1.13.0",typanion:"^3.3.0",yup:"^0.32.9"},devDependencies:{"@types/semver":"^7.1.0","@types/yup":"^0","@yarnpkg/builder":"workspace:^","@yarnpkg/monorepo":"workspace:^","@yarnpkg/pnpify":"workspace:^",micromatch:"^4.0.2"},peerDependencies:{"@yarnpkg/core":"workspace:^"},scripts:{postpack:"rm -rf lib",prepack:'run build:compile "$(pwd)"',"build:cli+hook":"run build:pnp:hook && builder build bundle","build:cli":"builder build bundle","run:cli":"builder run","update-local":"run build:cli --no-git-hash && rsync -a --delete bundles/ bin/"},publishConfig:{main:"./lib/index.js",types:"./lib/index.d.ts",bin:null},files:["/lib/**/*","!/lib/pluginConfiguration.*","!/lib/cli.*"],"@yarnpkg/builder":{bundles:{standard:["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-dlx","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-link","@yarnpkg/plugin-nm","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp","@yarnpkg/plugin-pnpm"]}},repository:{type:"git",url:"ssh://git@github.com/yarnpkg/berry.git",directory:"packages/yarnpkg-cli"},engines:{node:">=12 <14 || 14.2 - 14.9 || >14.10.0"}}});var nO=w((wmt,Iae)=>{"use strict";Iae.exports=function(e,t){t===!0&&(t=0);var i="";if(typeof e=="string")try{i=new URL(e).protocol}catch{}else e&&e.constructor===URL&&(i=e.protocol);var n=i.split(/\:|\+/).filter(Boolean);return typeof t=="number"?n[t]:n}});var wae=w((Bmt,yae)=>{"use strict";var K4e=nO();function U4e(r){var e={protocols:[],protocol:null,port:null,resource:"",host:"",user:"",password:"",pathname:"",hash:"",search:"",href:r,query:{},parse_failed:!1};try{var t=new URL(r);e.protocols=K4e(t),e.protocol=e.protocols[0],e.port=t.port,e.resource=t.hostname,e.host=t.host,e.user=t.username||"",e.password=t.password||"",e.pathname=t.pathname,e.hash=t.hash.slice(1),e.search=t.search.slice(1),e.href=t.href,e.query=Object.fromEntries(t.searchParams)}catch{e.protocols=["file"],e.protocol=e.protocols[0],e.port="",e.resource="",e.user="",e.pathname="",e.hash="",e.search="",e.href=r,e.query={},e.parse_failed=!0}return e}yae.exports=U4e});var bae=w((Qmt,Qae)=>{"use strict";var H4e=wae();function G4e(r){return r&&typeof r=="object"&&"default"in r?r:{default:r}}var Y4e=G4e(H4e),j4e="text/plain",q4e="us-ascii",Bae=(r,e)=>e.some(t=>t instanceof RegExp?t.test(r):t===r),J4e=(r,{stripHash:e})=>{let t=/^data:(?[^,]*?),(?[^#]*?)(?:#(?.*))?$/.exec(r);if(!t)throw new Error(`Invalid URL: ${r}`);let{type:i,data:n,hash:s}=t.groups,o=i.split(";");s=e?"":s;let a=!1;o[o.length-1]==="base64"&&(o.pop(),a=!0);let l=(o.shift()||"").toLowerCase(),u=[...o.map(g=>{let[f,h=""]=g.split("=").map(p=>p.trim());return f==="charset"&&(h=h.toLowerCase(),h===q4e)?"":`${f}${h?`=${h}`:""}`}).filter(Boolean)];return a&&u.push("base64"),(u.length>0||l&&l!==j4e)&&u.unshift(l),`data:${u.join(";")},${a?n.trim():n}${s?`#${s}`:""}`};function W4e(r,e){if(e={defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripTextFragment:!0,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeSingleSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0,...e},r=r.trim(),/^data:/i.test(r))return J4e(r,e);if(/^view-source:/i.test(r))throw new Error("`view-source:` is not supported as it is a non-standard protocol");let t=r.startsWith("//");!t&&/^\.*\//.test(r)||(r=r.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,e.defaultProtocol));let n=new URL(r);if(e.forceHttp&&e.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(e.forceHttp&&n.protocol==="https:"&&(n.protocol="http:"),e.forceHttps&&n.protocol==="http:"&&(n.protocol="https:"),e.stripAuthentication&&(n.username="",n.password=""),e.stripHash?n.hash="":e.stripTextFragment&&(n.hash=n.hash.replace(/#?:~:text.*?$/i,"")),n.pathname){let o=/\b[a-z][a-z\d+\-.]{1,50}:\/\//g,a=0,l="";for(;;){let u=o.exec(n.pathname);if(!u)break;let g=u[0],f=u.index;l+=n.pathname.slice(a,f).replace(/\/{2,}/g,"/"),l+=g,a=f+g.length}l+=n.pathname.slice(a,n.pathname.length).replace(/\/{2,}/g,"/"),n.pathname=l}if(n.pathname)try{n.pathname=decodeURI(n.pathname)}catch{}if(e.removeDirectoryIndex===!0&&(e.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(e.removeDirectoryIndex)&&e.removeDirectoryIndex.length>0){let o=n.pathname.split("/"),a=o[o.length-1];Bae(a,e.removeDirectoryIndex)&&(o=o.slice(0,-1),n.pathname=o.slice(1).join("/")+"/")}if(n.hostname&&(n.hostname=n.hostname.replace(/\.$/,""),e.stripWWW&&/^www\.(?!www\.)[a-z\-\d]{1,63}\.[a-z.\-\d]{2,63}$/.test(n.hostname)&&(n.hostname=n.hostname.replace(/^www\./,""))),Array.isArray(e.removeQueryParameters))for(let o of[...n.searchParams.keys()])Bae(o,e.removeQueryParameters)&&n.searchParams.delete(o);if(e.removeQueryParameters===!0&&(n.search=""),e.sortQueryParameters){n.searchParams.sort();try{n.search=decodeURIComponent(n.search)}catch{}}e.removeTrailingSlash&&(n.pathname=n.pathname.replace(/\/$/,""));let s=r;return r=n.toString(),!e.removeSingleSlash&&n.pathname==="/"&&!s.endsWith("/")&&n.hash===""&&(r=r.replace(/\/$/,"")),(e.removeTrailingSlash||n.pathname==="/")&&n.hash===""&&e.removeSingleSlash&&(r=r.replace(/\/$/,"")),t&&!e.normalizeProtocol&&(r=r.replace(/^http:\/\//,"//")),e.stripProtocol&&(r=r.replace(/^(?:https?:)?\/\//,"")),r}var sO=(r,e=!1)=>{let t=/^(?:([a-z_][a-z0-9_-]{0,31})@|https?:\/\/)([\w\.\-@]+)[\/:]([\~,\.\w,\-,\_,\/]+?(?:\.git|\/)?)$/,i=s=>{let o=new Error(s);throw o.subject_url=r,o};(typeof r!="string"||!r.trim())&&i("Invalid url."),r.length>sO.MAX_INPUT_LENGTH&&i("Input exceeds maximum length. If needed, change the value of parseUrl.MAX_INPUT_LENGTH."),e&&(typeof e!="object"&&(e={stripHash:!1}),r=W4e(r,e));let n=Y4e.default(r);if(n.parse_failed){let s=n.href.match(t);s?(n.protocols=["ssh"],n.protocol="ssh",n.resource=s[2],n.host=s[2],n.user=s[1],n.pathname=`/${s[3]}`,n.parse_failed=!1):i("URL parsing failed.")}return n};sO.MAX_INPUT_LENGTH=2048;Qae.exports=sO});var xae=w((bmt,vae)=>{"use strict";var z4e=nO();function Sae(r){if(Array.isArray(r))return r.indexOf("ssh")!==-1||r.indexOf("rsync")!==-1;if(typeof r!="string")return!1;var e=z4e(r);if(r=r.substring(r.indexOf("://")+3),Sae(e))return!0;var t=new RegExp(".([a-zA-Z\\d]+):(\\d+)/");return!r.match(t)&&r.indexOf("@"){"use strict";var V4e=bae(),Pae=xae();function X4e(r){var e=V4e(r);return e.token="",e.password==="x-oauth-basic"?e.token=e.user:e.user==="x-token-auth"&&(e.token=e.password),Pae(e.protocols)||e.protocols.length===0&&Pae(r)?e.protocol="ssh":e.protocols.length?e.protocol=e.protocols[0]:(e.protocol="file",e.protocols=["file"]),e.href=e.href.replace(/\/$/,""),e}Dae.exports=X4e});var Fae=w((vmt,Rae)=>{"use strict";var Z4e=kae();function oO(r){if(typeof r!="string")throw new Error("The url must be a string.");var e=/^([a-z\d-]{1,39})\/([-\.\w]{1,100})$/i;e.test(r)&&(r="https://github.com/"+r);var t=Z4e(r),i=t.resource.split("."),n=null;switch(t.toString=function(y){return oO.stringify(this,y)},t.source=i.length>2?i.slice(1-i.length).join("."):t.source=t.resource,t.git_suffix=/\.git$/.test(t.pathname),t.name=decodeURIComponent((t.pathname||t.href).replace(/(^\/)|(\/$)/g,"").replace(/\.git$/,"")),t.owner=decodeURIComponent(t.user),t.source){case"git.cloudforge.com":t.owner=t.user,t.organization=i[0],t.source="cloudforge.com";break;case"visualstudio.com":if(t.resource==="vs-ssh.visualstudio.com"){n=t.name.split("/"),n.length===4&&(t.organization=n[1],t.owner=n[2],t.name=n[3],t.full_name=n[2]+"/"+n[3]);break}else{n=t.name.split("/"),n.length===2?(t.owner=n[1],t.name=n[1],t.full_name="_git/"+t.name):n.length===3?(t.name=n[2],n[0]==="DefaultCollection"?(t.owner=n[2],t.organization=n[0],t.full_name=t.organization+"/_git/"+t.name):(t.owner=n[0],t.full_name=t.owner+"/_git/"+t.name)):n.length===4&&(t.organization=n[0],t.owner=n[1],t.name=n[3],t.full_name=t.organization+"/"+t.owner+"/_git/"+t.name);break}case"dev.azure.com":case"azure.com":if(t.resource==="ssh.dev.azure.com"){n=t.name.split("/"),n.length===4&&(t.organization=n[1],t.owner=n[2],t.name=n[3]);break}else{n=t.name.split("/"),n.length===5?(t.organization=n[0],t.owner=n[1],t.name=n[4],t.full_name="_git/"+t.name):n.length===3?(t.name=n[2],n[0]==="DefaultCollection"?(t.owner=n[2],t.organization=n[0],t.full_name=t.organization+"/_git/"+t.name):(t.owner=n[0],t.full_name=t.owner+"/_git/"+t.name)):n.length===4&&(t.organization=n[0],t.owner=n[1],t.name=n[3],t.full_name=t.organization+"/"+t.owner+"/_git/"+t.name),t.query&&t.query.path&&(t.filepath=t.query.path.replace(/^\/+/g,"")),t.query&&t.query.version&&(t.ref=t.query.version.replace(/^GB/,""));break}default:n=t.name.split("/");var s=n.length-1;if(n.length>=2){var o=n.indexOf("-",2),a=n.indexOf("blob",2),l=n.indexOf("tree",2),c=n.indexOf("commit",2),u=n.indexOf("src",2),g=n.indexOf("raw",2),f=n.indexOf("edit",2);s=o>0?o-1:a>0?a-1:l>0?l-1:c>0?c-1:u>0?u-1:g>0?g-1:f>0?f-1:s,t.owner=n.slice(0,s).join("/"),t.name=n[s],c&&(t.commit=n[s+2])}t.ref="",t.filepathtype="",t.filepath="";var h=n.length>s&&n[s+1]==="-"?s+1:s;n.length>h+2&&["raw","src","blob","tree","edit"].indexOf(n[h+1])>=0&&(t.filepathtype=n[h+1],t.ref=n[h+2],n.length>h+3&&(t.filepath=n.slice(h+3).join("/"))),t.organization=t.owner;break}t.full_name||(t.full_name=t.owner,t.name&&(t.full_name&&(t.full_name+="/"),t.full_name+=t.name)),t.owner.startsWith("scm/")&&(t.source="bitbucket-server",t.owner=t.owner.replace("scm/",""),t.organization=t.owner,t.full_name=t.owner+"/"+t.name);var p=/(projects|users)\/(.*?)\/repos\/(.*?)((\/.*$)|$)/,C=p.exec(t.pathname);return C!=null&&(t.source="bitbucket-server",C[1]==="users"?t.owner="~"+C[2]:t.owner=C[2],t.organization=t.owner,t.name=C[3],n=C[4].split("/"),n.length>1&&(["raw","browse"].indexOf(n[1])>=0?(t.filepathtype=n[1],n.length>2&&(t.filepath=n.slice(2).join("/"))):n[1]==="commits"&&n.length>2&&(t.commit=n[2])),t.full_name=t.owner+"/"+t.name,t.query.at?t.ref=t.query.at:t.ref=""),t}oO.stringify=function(r,e){e=e||(r.protocols&&r.protocols.length?r.protocols.join("+"):r.protocol);var t=r.port?":"+r.port:"",i=r.user||"git",n=r.git_suffix?".git":"";switch(e){case"ssh":return t?"ssh://"+i+"@"+r.resource+t+"/"+r.full_name+n:i+"@"+r.resource+":"+r.full_name+n;case"git+ssh":case"ssh+git":case"ftp":case"ftps":return e+"://"+i+"@"+r.resource+t+"/"+r.full_name+n;case"http":case"https":var s=r.token?_4e(r):r.user&&(r.protocols.includes("http")||r.protocols.includes("https"))?r.user+"@":"";return e+"://"+s+r.resource+t+"/"+$4e(r)+n;default:return r.href}};function _4e(r){switch(r.source){case"bitbucket.org":return"x-token-auth:"+r.token+"@";default:return r.token+"@"}}function $4e(r){switch(r.source){case"bitbucket-server":return"scm/"+r.full_name;default:return""+r.full_name}}Rae.exports=oO});var xO=w((Cyt,$ae)=>{var I3e=yh(),y3e=Ch();function w3e(r,e,t){(t!==void 0&&!y3e(r[e],t)||t===void 0&&!(e in r))&&I3e(r,e,t)}$ae.exports=w3e});var tAe=w((myt,eAe)=>{var B3e=cm(),Q3e=Jo();function b3e(r){return Q3e(r)&&B3e(r)}eAe.exports=b3e});var nAe=w((Eyt,iAe)=>{var S3e=Pc(),v3e=SQ(),x3e=Jo(),P3e="[object Object]",D3e=Function.prototype,k3e=Object.prototype,rAe=D3e.toString,R3e=k3e.hasOwnProperty,F3e=rAe.call(Object);function N3e(r){if(!x3e(r)||S3e(r)!=P3e)return!1;var e=v3e(r);if(e===null)return!0;var t=R3e.call(e,"constructor")&&e.constructor;return typeof t=="function"&&t instanceof t&&rAe.call(t)==F3e}iAe.exports=N3e});var PO=w((Iyt,sAe)=>{function L3e(r,e){if(!(e==="constructor"&&typeof r[e]=="function")&&e!="__proto__")return r[e]}sAe.exports=L3e});var aAe=w((yyt,oAe)=>{var T3e=Yh(),O3e=jh();function M3e(r){return T3e(r,O3e(r))}oAe.exports=M3e});var fAe=w((wyt,gAe)=>{var AAe=xO(),K3e=YT(),U3e=JT(),H3e=jT(),G3e=WT(),lAe=rm(),cAe=bs(),Y3e=tAe(),j3e=am(),q3e=T0(),J3e=bn(),W3e=nAe(),z3e=tQ(),uAe=PO(),V3e=aAe();function X3e(r,e,t,i,n,s,o){var a=uAe(r,t),l=uAe(e,t),c=o.get(l);if(c){AAe(r,t,c);return}var u=s?s(a,l,t+"",r,e,o):void 0,g=u===void 0;if(g){var f=cAe(l),h=!f&&j3e(l),p=!f&&!h&&z3e(l);u=l,f||h||p?cAe(a)?u=a:Y3e(a)?u=H3e(a):h?(g=!1,u=K3e(l,!0)):p?(g=!1,u=U3e(l,!0)):u=[]:W3e(l)||lAe(l)?(u=a,lAe(a)?u=V3e(a):(!J3e(a)||q3e(a))&&(u=G3e(l))):g=!1}g&&(o.set(l,u),n(u,l,i,s,o),o.delete(l)),AAe(r,t,u)}gAe.exports=X3e});var dAe=w((Byt,pAe)=>{var Z3e=um(),_3e=xO(),$3e=sL(),e8e=fAe(),t8e=bn(),r8e=jh(),i8e=PO();function hAe(r,e,t,i,n){r!==e&&$3e(e,function(s,o){if(n||(n=new Z3e),t8e(s))e8e(r,e,o,t,hAe,i,n);else{var a=i?i(i8e(r,o),s,o+"",r,e,n):void 0;a===void 0&&(a=s),_3e(r,o,a)}},r8e)}pAe.exports=hAe});var mAe=w((Qyt,CAe)=>{var n8e=G0(),s8e=GN(),o8e=YN();function a8e(r,e){return o8e(s8e(r,e,n8e),r+"")}CAe.exports=a8e});var IAe=w((byt,EAe)=>{var A8e=Ch(),l8e=cm(),c8e=tm(),u8e=bn();function g8e(r,e,t){if(!u8e(t))return!1;var i=typeof e;return(i=="number"?l8e(t)&&c8e(e,t.length):i=="string"&&e in t)?A8e(t[e],r):!1}EAe.exports=g8e});var wAe=w((Syt,yAe)=>{var f8e=mAe(),h8e=IAe();function p8e(r){return f8e(function(e,t){var i=-1,n=t.length,s=n>1?t[n-1]:void 0,o=n>2?t[2]:void 0;for(s=r.length>3&&typeof s=="function"?(n--,s):void 0,o&&h8e(t[0],t[1],o)&&(s=n<3?void 0:s,n=1),e=Object(e);++i{var d8e=dAe(),C8e=wAe(),m8e=C8e(function(r,e,t){d8e(r,e,t)});BAe.exports=m8e});var MAe=w((Swt,OAe)=>{var KO;OAe.exports=()=>(typeof KO>"u"&&(KO=J("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),KO)});var sle=w((Zwt,nle)=>{var qO=Symbol("arg flag"),Dn=class extends Error{constructor(e,t){super(e),this.name="ArgError",this.code=t,Object.setPrototypeOf(this,Dn.prototype)}};function aE(r,{argv:e=process.argv.slice(2),permissive:t=!1,stopAtPositional:i=!1}={}){if(!r)throw new Dn("argument specification object is required","ARG_CONFIG_NO_SPEC");let n={_:[]},s={},o={};for(let a of Object.keys(r)){if(!a)throw new Dn("argument key cannot be an empty string","ARG_CONFIG_EMPTY_KEY");if(a[0]!=="-")throw new Dn(`argument key must start with '-' but found: '${a}'`,"ARG_CONFIG_NONOPT_KEY");if(a.length===1)throw new Dn(`argument key must have a name; singular '-' keys are not allowed: ${a}`,"ARG_CONFIG_NONAME_KEY");if(typeof r[a]=="string"){s[a]=r[a];continue}let l=r[a],c=!1;if(Array.isArray(l)&&l.length===1&&typeof l[0]=="function"){let[u]=l;l=(g,f,h=[])=>(h.push(u(g,f,h[h.length-1])),h),c=u===Boolean||u[qO]===!0}else if(typeof l=="function")c=l===Boolean||l[qO]===!0;else throw new Dn(`type missing or not a function or valid array type: ${a}`,"ARG_CONFIG_VAD_TYPE");if(a[1]!=="-"&&a.length>2)throw new Dn(`short argument keys (with a single hyphen) must have only one character: ${a}`,"ARG_CONFIG_SHORTOPT_TOOLONG");o[a]=[l,c]}for(let a=0,l=e.length;a0){n._=n._.concat(e.slice(a));break}if(c==="--"){n._=n._.concat(e.slice(a+1));break}if(c.length>1&&c[0]==="-"){let u=c[1]==="-"||c.length===2?[c]:c.slice(1).split("").map(g=>`-${g}`);for(let g=0;g1&&e[a+1][0]==="-"&&!(e[a+1].match(/^-?\d*(\.(?=\d))?\d*$/)&&(y===Number||typeof BigInt<"u"&&y===BigInt))){let v=h===C?"":` (alias for ${C})`;throw new Dn(`option requires argument: ${h}${v}`,"ARG_MISSING_REQUIRED_LONGARG")}n[C]=y(e[a+1],C,n[C]),++a}else n[C]=y(p,C,n[C])}}else n._.push(c)}return n}aE.flag=r=>(r[qO]=!0,r);aE.COUNT=aE.flag((r,e,t)=>(t||0)+1);aE.ArgError=Dn;nle.exports=aE});var dle=w((vBt,ple)=>{var VO;ple.exports=()=>(typeof VO>"u"&&(VO=J("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),VO)});var Ble=w((tM,rM)=>{(function(r){tM&&typeof tM=="object"&&typeof rM<"u"?rM.exports=r():typeof define=="function"&&define.amd?define([],r):typeof window<"u"?window.isWindows=r():typeof global<"u"?global.isWindows=r():typeof self<"u"?self.isWindows=r():this.isWindows=r()})(function(){"use strict";return function(){return process&&(process.platform==="win32"||/^(msys|cygwin)$/.test(process.env.OSTYPE))}})});var vle=w((S0t,Sle)=>{"use strict";iM.ifExists=dze;var ip=J("util"),Fs=J("path"),Qle=Ble(),fze=/^#!\s*(?:\/usr\/bin\/env)?\s*([^ \t]+)(.*)$/,hze={createPwshFile:!0,createCmdFile:Qle(),fs:J("fs")},pze=new Map([[".js","node"],[".cjs","node"],[".mjs","node"],[".cmd","cmd"],[".bat","cmd"],[".ps1","pwsh"],[".sh","sh"]]);function ble(r){let e={...hze,...r},t=e.fs;return e.fs_={chmod:t.chmod?ip.promisify(t.chmod):async()=>{},mkdir:ip.promisify(t.mkdir),readFile:ip.promisify(t.readFile),stat:ip.promisify(t.stat),unlink:ip.promisify(t.unlink),writeFile:ip.promisify(t.writeFile)},e}async function iM(r,e,t){let i=ble(t);await i.fs_.stat(r),await mze(r,e,i)}function dze(r,e,t){return iM(r,e,t).catch(()=>{})}function Cze(r,e){return e.fs_.unlink(r).catch(()=>{})}async function mze(r,e,t){let i=await Bze(r,t);return await Eze(e,t),Ize(r,e,i,t)}function Eze(r,e){return e.fs_.mkdir(Fs.dirname(r),{recursive:!0})}function Ize(r,e,t,i){let n=ble(i),s=[{generator:Sze,extension:""}];return n.createCmdFile&&s.push({generator:bze,extension:".cmd"}),n.createPwshFile&&s.push({generator:vze,extension:".ps1"}),Promise.all(s.map(o=>Qze(r,e+o.extension,t,o.generator,n)))}function yze(r,e){return Cze(r,e)}function wze(r,e){return xze(r,e)}async function Bze(r,e){let n=(await e.fs_.readFile(r,"utf8")).trim().split(/\r*\n/)[0].match(fze);if(!n){let s=Fs.extname(r).toLowerCase();return{program:pze.get(s)||null,additionalArgs:""}}return{program:n[1],additionalArgs:n[2]}}async function Qze(r,e,t,i,n){let s=n.preserveSymlinks?"--preserve-symlinks":"",o=[t.additionalArgs,s].filter(a=>a).join(" ");return n=Object.assign({},n,{prog:t.program,args:o}),await yze(e,n),await n.fs_.writeFile(e,i(r,e,n),"utf8"),wze(e,n)}function bze(r,e,t){let n=Fs.relative(Fs.dirname(e),r).split("/").join("\\"),s=Fs.isAbsolute(n)?`"${n}"`:`"%~dp0\\${n}"`,o,a=t.prog,l=t.args||"",c=nM(t.nodePath).win32;a?(o=`"%~dp0\\${a}.exe"`,n=s):(a=s,l="",n="");let u=t.progArgs?`${t.progArgs.join(" ")} `:"",g=c?`@SET NODE_PATH=${c}\r `:"";return o?g+=`@IF EXIST ${o} (\r ${o} ${l} ${n} ${u}%*\r ) ELSE (\r @@ -242,7 +242,7 @@ attempted value: ${s} ${a} ${l} ${n} ${u}%*\r )\r `:g+=`@${a} ${l} ${n} ${u}%*\r -`,g}function y8e(r,e,t){let i=ks.relative(ks.dirname(e),r),n=t.prog&&t.prog.split("\\").join("/"),s;i=i.split("\\").join("/");let o=ks.isAbsolute(i)?`"${i}"`:`"$basedir/${i}"`,a=t.args||"",l=kO(t.nodePath).posix;n?(s=`"$basedir/${t.prog}"`,i=o):(n=o,a="",i="");let c=t.progArgs?`${t.progArgs.join(" ")} `:"",u=`#!/bin/sh +`,g}function Sze(r,e,t){let i=Fs.relative(Fs.dirname(e),r),n=t.prog&&t.prog.split("\\").join("/"),s;i=i.split("\\").join("/");let o=Fs.isAbsolute(i)?`"${i}"`:`"$basedir/${i}"`,a=t.args||"",l=nM(t.nodePath).posix;n?(s=`"$basedir/${t.prog}"`,i=o):(n=o,a="",i="");let c=t.progArgs?`${t.progArgs.join(" ")} `:"",u=`#!/bin/sh basedir=$(dirname "$(echo "$0" | sed -e 's,\\\\,/,g')") case \`uname\` in @@ -257,7 +257,7 @@ else fi `:u+=`${g}${n} ${a} ${i} ${c}"$@" exit $? -`,u}function w8e(r,e,t){let i=ks.relative(ks.dirname(e),r),n=t.prog&&t.prog.split("\\").join("/"),s=n&&`"${n}$exe"`,o;i=i.split("\\").join("/");let a=ks.isAbsolute(i)?`"${i}"`:`"$basedir/${i}"`,l=t.args||"",c=kO(t.nodePath),u=c.win32,g=c.posix;s?(o=`"$basedir/${t.prog}$exe"`,i=a):(s=a,l="",i="");let f=t.progArgs?`${t.progArgs.join(" ")} `:"",h=`#!/usr/bin/env pwsh +`,u}function vze(r,e,t){let i=Fs.relative(Fs.dirname(e),r),n=t.prog&&t.prog.split("\\").join("/"),s=n&&`"${n}$exe"`,o;i=i.split("\\").join("/");let a=Fs.isAbsolute(i)?`"${i}"`:`"$basedir/${i}"`,l=t.args||"",c=nM(t.nodePath),u=c.win32,g=c.posix;s?(o=`"$basedir/${t.prog}$exe"`,i=a):(s=a,l="",i="");let f=t.progArgs?`${t.progArgs.join(" ")} `:"",h=`#!/usr/bin/env pwsh $basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent $exe="" @@ -299,79 +299,79 @@ if ($MyInvocation.ExpectingInput) { } ${t.nodePath?`$env:NODE_PATH=$env_node_path `:""}exit $LASTEXITCODE -`,h}function B8e(r,e){return e.fs_.chmod(r,493)}function kO(r){if(!r)return{win32:"",posix:""};let e=typeof r=="string"?r.split(ks.delimiter):Array.from(r),t={};for(let i=0;i`/mnt/${a.toLowerCase()}`):e[i];t.win32=t.win32?`${t.win32};${n}`:n,t.posix=t.posix?`${t.posix}:${s}`:s,t[i]={win32:n,posix:s}}return t}UAe.exports=DO});var YO=w((tQt,ale)=>{ale.exports=J("stream")});var ule=w((rQt,cle)=>{"use strict";function Ale(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(r);e&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(r,n).enumerable})),t.push.apply(t,i)}return t}function Y8e(r){for(var e=1;e0?this.tail.next=i:this.head=i,this.tail=i,++this.length}},{key:"unshift",value:function(t){var i={data:t,next:this.head};this.length===0&&(this.tail=i),this.head=i,++this.length}},{key:"shift",value:function(){if(this.length!==0){var t=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,t}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(t){if(this.length===0)return"";for(var i=this.head,n=""+i.data;i=i.next;)n+=t+i.data;return n}},{key:"concat",value:function(t){if(this.length===0)return $Q.alloc(0);for(var i=$Q.allocUnsafe(t>>>0),n=this.head,s=0;n;)X8e(n.data,i,s),s+=n.data.length,n=n.next;return i}},{key:"consume",value:function(t,i){var n;return to.length?o.length:t;if(a===o.length?s+=o:s+=o.slice(0,t),t-=a,t===0){a===o.length?(++n,i.next?this.head=i.next:this.head=this.tail=null):(this.head=i,i.data=o.slice(a));break}++n}return this.length-=n,s}},{key:"_getBuffer",value:function(t){var i=$Q.allocUnsafe(t),n=this.head,s=1;for(n.data.copy(i),t-=n.data.length;n=n.next;){var o=n.data,a=t>o.length?o.length:t;if(o.copy(i,i.length-t,0,a),t-=a,t===0){a===o.length?(++s,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=o.slice(a));break}++s}return this.length-=s,i}},{key:V8e,value:function(t,i){return jO(this,Y8e({},i,{depth:0,customInspect:!1}))}}]),r}()});var JO=w((iQt,fle)=>{"use strict";function _8e(r,e){var t=this,i=this._readableState&&this._readableState.destroyed,n=this._writableState&&this._writableState.destroyed;return i||n?(e?e(r):r&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(qO,this,r)):process.nextTick(qO,this,r)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(r||null,function(s){!e&&s?t._writableState?t._writableState.errorEmitted?process.nextTick(eb,t):(t._writableState.errorEmitted=!0,process.nextTick(gle,t,s)):process.nextTick(gle,t,s):e?(process.nextTick(eb,t),e(s)):process.nextTick(eb,t)}),this)}function gle(r,e){qO(r,e),eb(r)}function eb(r){r._writableState&&!r._writableState.emitClose||r._readableState&&!r._readableState.emitClose||r.emit("close")}function Z8e(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function qO(r,e){r.emit("error",e)}function $8e(r,e){var t=r._readableState,i=r._writableState;t&&t.autoDestroy||i&&i.autoDestroy?r.destroy(e):r.emit("error",e)}fle.exports={destroy:_8e,undestroy:Z8e,errorOrDestroy:$8e}});var fl=w((nQt,dle)=>{"use strict";var ple={};function Fs(r,e,t){t||(t=Error);function i(s,o,a){return typeof e=="string"?e:e(s,o,a)}class n extends t{constructor(o,a,l){super(i(o,a,l))}}n.prototype.name=t.name,n.prototype.code=r,ple[r]=n}function hle(r,e){if(Array.isArray(r)){let t=r.length;return r=r.map(i=>String(i)),t>2?`one of ${e} ${r.slice(0,t-1).join(", ")}, or `+r[t-1]:t===2?`one of ${e} ${r[0]} or ${r[1]}`:`of ${e} ${r[0]}`}else return`of ${e} ${String(r)}`}function eze(r,e,t){return r.substr(!t||t<0?0:+t,e.length)===e}function tze(r,e,t){return(t===void 0||t>r.length)&&(t=r.length),r.substring(t-e.length,t)===e}function rze(r,e,t){return typeof t!="number"&&(t=0),t+e.length>r.length?!1:r.indexOf(e,t)!==-1}Fs("ERR_INVALID_OPT_VALUE",function(r,e){return'The value "'+e+'" is invalid for option "'+r+'"'},TypeError);Fs("ERR_INVALID_ARG_TYPE",function(r,e,t){let i;typeof e=="string"&&eze(e,"not ")?(i="must not be",e=e.replace(/^not /,"")):i="must be";let n;if(tze(r," argument"))n=`The ${r} ${i} ${hle(e,"type")}`;else{let s=rze(r,".")?"property":"argument";n=`The "${r}" ${s} ${i} ${hle(e,"type")}`}return n+=`. Received type ${typeof t}`,n},TypeError);Fs("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF");Fs("ERR_METHOD_NOT_IMPLEMENTED",function(r){return"The "+r+" method is not implemented"});Fs("ERR_STREAM_PREMATURE_CLOSE","Premature close");Fs("ERR_STREAM_DESTROYED",function(r){return"Cannot call "+r+" after a stream was destroyed"});Fs("ERR_MULTIPLE_CALLBACK","Callback called multiple times");Fs("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable");Fs("ERR_STREAM_WRITE_AFTER_END","write after end");Fs("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);Fs("ERR_UNKNOWN_ENCODING",function(r){return"Unknown encoding: "+r},TypeError);Fs("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event");dle.exports.codes=ple});var WO=w((sQt,Cle)=>{"use strict";var ize=fl().codes.ERR_INVALID_OPT_VALUE;function nze(r,e,t){return r.highWaterMark!=null?r.highWaterMark:e?r[t]:null}function sze(r,e,t,i){var n=nze(e,i,t);if(n!=null){if(!(isFinite(n)&&Math.floor(n)===n)||n<0){var s=i?t:"highWaterMark";throw new ize(s,n)}return Math.floor(n)}return r.objectMode?16:16*1024}Cle.exports={getHighWaterMark:sze}});var mle=w((oQt,zO)=>{typeof Object.create=="function"?zO.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:zO.exports=function(e,t){if(t){e.super_=t;var i=function(){};i.prototype=t.prototype,e.prototype=new i,e.prototype.constructor=e}}});var hl=w((aQt,XO)=>{try{if(VO=J("util"),typeof VO.inherits!="function")throw"";XO.exports=VO.inherits}catch{XO.exports=mle()}var VO});var Ile=w((AQt,Ele)=>{Ele.exports=J("util").deprecate});var $O=w((lQt,Sle)=>{"use strict";Sle.exports=Tr;function wle(r){var e=this;this.next=null,this.entry=null,this.finish=function(){Rze(e,r)}}var Xh;Tr.WritableState=nE;var oze={deprecate:Ile()},Ble=YO(),rb=J("buffer").Buffer,aze=global.Uint8Array||function(){};function Aze(r){return rb.from(r)}function lze(r){return rb.isBuffer(r)||r instanceof aze}var ZO=JO(),cze=WO(),uze=cze.getHighWaterMark,pl=fl().codes,gze=pl.ERR_INVALID_ARG_TYPE,fze=pl.ERR_METHOD_NOT_IMPLEMENTED,hze=pl.ERR_MULTIPLE_CALLBACK,pze=pl.ERR_STREAM_CANNOT_PIPE,dze=pl.ERR_STREAM_DESTROYED,Cze=pl.ERR_STREAM_NULL_VALUES,mze=pl.ERR_STREAM_WRITE_AFTER_END,Eze=pl.ERR_UNKNOWN_ENCODING,_h=ZO.errorOrDestroy;hl()(Tr,Ble);function Ize(){}function nE(r,e,t){Xh=Xh||Lu(),r=r||{},typeof t!="boolean"&&(t=e instanceof Xh),this.objectMode=!!r.objectMode,t&&(this.objectMode=this.objectMode||!!r.writableObjectMode),this.highWaterMark=uze(this,r,"writableHighWaterMark",t),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var i=r.decodeStrings===!1;this.decodeStrings=!i,this.defaultEncoding=r.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(n){vze(e,n)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=r.emitClose!==!1,this.autoDestroy=!!r.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new wle(this)}nE.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t};(function(){try{Object.defineProperty(nE.prototype,"buffer",{get:oze.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch{}})();var tb;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(tb=Function.prototype[Symbol.hasInstance],Object.defineProperty(Tr,Symbol.hasInstance,{value:function(e){return tb.call(this,e)?!0:this!==Tr?!1:e&&e._writableState instanceof nE}})):tb=function(e){return e instanceof this};function Tr(r){Xh=Xh||Lu();var e=this instanceof Xh;if(!e&&!tb.call(Tr,this))return new Tr(r);this._writableState=new nE(r,this,e),this.writable=!0,r&&(typeof r.write=="function"&&(this._write=r.write),typeof r.writev=="function"&&(this._writev=r.writev),typeof r.destroy=="function"&&(this._destroy=r.destroy),typeof r.final=="function"&&(this._final=r.final)),Ble.call(this)}Tr.prototype.pipe=function(){_h(this,new pze)};function yze(r,e){var t=new mze;_h(r,t),process.nextTick(e,t)}function wze(r,e,t,i){var n;return t===null?n=new Cze:typeof t!="string"&&!e.objectMode&&(n=new gze("chunk",["string","Buffer"],t)),n?(_h(r,n),process.nextTick(i,n),!1):!0}Tr.prototype.write=function(r,e,t){var i=this._writableState,n=!1,s=!i.objectMode&&lze(r);return s&&!rb.isBuffer(r)&&(r=Aze(r)),typeof e=="function"&&(t=e,e=null),s?e="buffer":e||(e=i.defaultEncoding),typeof t!="function"&&(t=Ize),i.ending?yze(this,t):(s||wze(this,i,r,t))&&(i.pendingcb++,n=Qze(this,i,s,r,e,t)),n};Tr.prototype.cork=function(){this._writableState.corked++};Tr.prototype.uncork=function(){var r=this._writableState;r.corked&&(r.corked--,!r.writing&&!r.corked&&!r.bufferProcessing&&r.bufferedRequest&&Qle(this,r))};Tr.prototype.setDefaultEncoding=function(e){if(typeof e=="string"&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new Eze(e);return this._writableState.defaultEncoding=e,this};Object.defineProperty(Tr.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function Bze(r,e,t){return!r.objectMode&&r.decodeStrings!==!1&&typeof e=="string"&&(e=rb.from(e,t)),e}Object.defineProperty(Tr.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function Qze(r,e,t,i,n,s){if(!t){var o=Bze(e,i,n);i!==o&&(t=!0,n="buffer",i=o)}var a=e.objectMode?1:i.length;e.length+=a;var l=e.length{"use strict";var Fze=Object.keys||function(r){var e=[];for(var t in r)e.push(t);return e};xle.exports=ta;var vle=rM(),tM=$O();hl()(ta,vle);for(eM=Fze(tM.prototype),ib=0;ib{var sb=J("buffer"),nA=sb.Buffer;function Ple(r,e){for(var t in r)e[t]=r[t]}nA.from&&nA.alloc&&nA.allocUnsafe&&nA.allocUnsafeSlow?Dle.exports=sb:(Ple(sb,iM),iM.Buffer=Zh);function Zh(r,e,t){return nA(r,e,t)}Ple(nA,Zh);Zh.from=function(r,e,t){if(typeof r=="number")throw new TypeError("Argument must not be a number");return nA(r,e,t)};Zh.alloc=function(r,e,t){if(typeof r!="number")throw new TypeError("Argument must be a number");var i=nA(r);return e!==void 0?typeof t=="string"?i.fill(e,t):i.fill(e):i.fill(0),i};Zh.allocUnsafe=function(r){if(typeof r!="number")throw new TypeError("Argument must be a number");return nA(r)};Zh.allocUnsafeSlow=function(r){if(typeof r!="number")throw new TypeError("Argument must be a number");return sb.SlowBuffer(r)}});var oM=w(Fle=>{"use strict";var sM=kle().Buffer,Rle=sM.isEncoding||function(r){switch(r=""+r,r&&r.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function Tze(r){if(!r)return"utf8";for(var e;;)switch(r){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return r;default:if(e)return;r=(""+r).toLowerCase(),e=!0}}function Oze(r){var e=Tze(r);if(typeof e!="string"&&(sM.isEncoding===Rle||!Rle(r)))throw new Error("Unknown encoding: "+r);return e||r}Fle.StringDecoder=sE;function sE(r){this.encoding=Oze(r);var e;switch(this.encoding){case"utf16le":this.text=Yze,this.end=jze,e=4;break;case"utf8":this.fillLast=Uze,e=4;break;case"base64":this.text=qze,this.end=Jze,e=3;break;default:this.write=Wze,this.end=zze;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=sM.allocUnsafe(e)}sE.prototype.write=function(r){if(r.length===0)return"";var e,t;if(this.lastNeed){if(e=this.fillLast(r),e===void 0)return"";t=this.lastNeed,this.lastNeed=0}else t=0;return t>5===6?2:r>>4===14?3:r>>3===30?4:r>>6===2?-1:-2}function Mze(r,e,t){var i=e.length-1;if(i=0?(n>0&&(r.lastNeed=n-1),n):--i=0?(n>0&&(r.lastNeed=n-2),n):--i=0?(n>0&&(n===2?n=0:r.lastNeed=n-3),n):0))}function Kze(r,e,t){if((e[0]&192)!==128)return r.lastNeed=0,"\uFFFD";if(r.lastNeed>1&&e.length>1){if((e[1]&192)!==128)return r.lastNeed=1,"\uFFFD";if(r.lastNeed>2&&e.length>2&&(e[2]&192)!==128)return r.lastNeed=2,"\uFFFD"}}function Uze(r){var e=this.lastTotal-this.lastNeed,t=Kze(this,r,e);if(t!==void 0)return t;if(this.lastNeed<=r.length)return r.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);r.copy(this.lastChar,e,0,r.length),this.lastNeed-=r.length}function Hze(r,e){var t=Mze(this,r,e);if(!this.lastNeed)return r.toString("utf8",e);this.lastTotal=t;var i=r.length-(t-this.lastNeed);return r.copy(this.lastChar,0,i),r.toString("utf8",e,i)}function Gze(r){var e=r&&r.length?this.write(r):"";return this.lastNeed?e+"\uFFFD":e}function Yze(r,e){if((r.length-e)%2===0){var t=r.toString("utf16le",e);if(t){var i=t.charCodeAt(t.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=r[r.length-2],this.lastChar[1]=r[r.length-1],t.slice(0,-1)}return t}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=r[r.length-1],r.toString("utf16le",e,r.length-1)}function jze(r){var e=r&&r.length?this.write(r):"";if(this.lastNeed){var t=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,t)}return e}function qze(r,e){var t=(r.length-e)%3;return t===0?r.toString("base64",e):(this.lastNeed=3-t,this.lastTotal=3,t===1?this.lastChar[0]=r[r.length-1]:(this.lastChar[0]=r[r.length-2],this.lastChar[1]=r[r.length-1]),r.toString("base64",e,r.length-t))}function Jze(r){var e=r&&r.length?this.write(r):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function Wze(r){return r.toString(this.encoding)}function zze(r){return r&&r.length?this.write(r):""}});var ob=w((gQt,Tle)=>{"use strict";var Nle=fl().codes.ERR_STREAM_PREMATURE_CLOSE;function Vze(r){var e=!1;return function(){if(!e){e=!0;for(var t=arguments.length,i=new Array(t),n=0;n{"use strict";var ab;function dl(r,e,t){return e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}var Zze=ob(),Cl=Symbol("lastResolve"),Tu=Symbol("lastReject"),oE=Symbol("error"),Ab=Symbol("ended"),Ou=Symbol("lastPromise"),aM=Symbol("handlePromise"),Mu=Symbol("stream");function ml(r,e){return{value:r,done:e}}function $ze(r){var e=r[Cl];if(e!==null){var t=r[Mu].read();t!==null&&(r[Ou]=null,r[Cl]=null,r[Tu]=null,e(ml(t,!1)))}}function e5e(r){process.nextTick($ze,r)}function t5e(r,e){return function(t,i){r.then(function(){if(e[Ab]){t(ml(void 0,!0));return}e[aM](t,i)},i)}}var r5e=Object.getPrototypeOf(function(){}),i5e=Object.setPrototypeOf((ab={get stream(){return this[Mu]},next:function(){var e=this,t=this[oE];if(t!==null)return Promise.reject(t);if(this[Ab])return Promise.resolve(ml(void 0,!0));if(this[Mu].destroyed)return new Promise(function(o,a){process.nextTick(function(){e[oE]?a(e[oE]):o(ml(void 0,!0))})});var i=this[Ou],n;if(i)n=new Promise(t5e(i,this));else{var s=this[Mu].read();if(s!==null)return Promise.resolve(ml(s,!1));n=new Promise(this[aM])}return this[Ou]=n,n}},dl(ab,Symbol.asyncIterator,function(){return this}),dl(ab,"return",function(){var e=this;return new Promise(function(t,i){e[Mu].destroy(null,function(n){if(n){i(n);return}t(ml(void 0,!0))})})}),ab),r5e),n5e=function(e){var t,i=Object.create(i5e,(t={},dl(t,Mu,{value:e,writable:!0}),dl(t,Cl,{value:null,writable:!0}),dl(t,Tu,{value:null,writable:!0}),dl(t,oE,{value:null,writable:!0}),dl(t,Ab,{value:e._readableState.endEmitted,writable:!0}),dl(t,aM,{value:function(s,o){var a=i[Mu].read();a?(i[Ou]=null,i[Cl]=null,i[Tu]=null,s(ml(a,!1))):(i[Cl]=s,i[Tu]=o)},writable:!0}),t));return i[Ou]=null,Zze(e,function(n){if(n&&n.code!=="ERR_STREAM_PREMATURE_CLOSE"){var s=i[Tu];s!==null&&(i[Ou]=null,i[Cl]=null,i[Tu]=null,s(n)),i[oE]=n;return}var o=i[Cl];o!==null&&(i[Ou]=null,i[Cl]=null,i[Tu]=null,o(ml(void 0,!0))),i[Ab]=!0}),e.on("readable",e5e.bind(null,i)),i};Ole.exports=n5e});var Gle=w((hQt,Hle)=>{"use strict";function Kle(r,e,t,i,n,s,o){try{var a=r[s](o),l=a.value}catch(c){t(c);return}a.done?e(l):Promise.resolve(l).then(i,n)}function s5e(r){return function(){var e=this,t=arguments;return new Promise(function(i,n){var s=r.apply(e,t);function o(l){Kle(s,i,n,o,a,"next",l)}function a(l){Kle(s,i,n,o,a,"throw",l)}o(void 0)})}}function Ule(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(r);e&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(r,n).enumerable})),t.push.apply(t,i)}return t}function o5e(r){for(var e=1;e{"use strict";Zle.exports=Ut;var $h;Ut.ReadableState=Jle;var pQt=J("events").EventEmitter,qle=function(e,t){return e.listeners(t).length},AE=YO(),lb=J("buffer").Buffer,c5e=global.Uint8Array||function(){};function u5e(r){return lb.from(r)}function g5e(r){return lb.isBuffer(r)||r instanceof c5e}var AM=J("util"),Dt;AM&&AM.debuglog?Dt=AM.debuglog("stream"):Dt=function(){};var f5e=ule(),pM=JO(),h5e=WO(),p5e=h5e.getHighWaterMark,cb=fl().codes,d5e=cb.ERR_INVALID_ARG_TYPE,C5e=cb.ERR_STREAM_PUSH_AFTER_EOF,m5e=cb.ERR_METHOD_NOT_IMPLEMENTED,E5e=cb.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,ep,lM,cM;hl()(Ut,AE);var aE=pM.errorOrDestroy,uM=["error","close","destroy","pause","resume"];function I5e(r,e,t){if(typeof r.prependListener=="function")return r.prependListener(e,t);!r._events||!r._events[e]?r.on(e,t):Array.isArray(r._events[e])?r._events[e].unshift(t):r._events[e]=[t,r._events[e]]}function Jle(r,e,t){$h=$h||Lu(),r=r||{},typeof t!="boolean"&&(t=e instanceof $h),this.objectMode=!!r.objectMode,t&&(this.objectMode=this.objectMode||!!r.readableObjectMode),this.highWaterMark=p5e(this,r,"readableHighWaterMark",t),this.buffer=new f5e,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=r.emitClose!==!1,this.autoDestroy=!!r.autoDestroy,this.destroyed=!1,this.defaultEncoding=r.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,r.encoding&&(ep||(ep=oM().StringDecoder),this.decoder=new ep(r.encoding),this.encoding=r.encoding)}function Ut(r){if($h=$h||Lu(),!(this instanceof Ut))return new Ut(r);var e=this instanceof $h;this._readableState=new Jle(r,this,e),this.readable=!0,r&&(typeof r.read=="function"&&(this._read=r.read),typeof r.destroy=="function"&&(this._destroy=r.destroy)),AE.call(this)}Object.defineProperty(Ut.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(e){!this._readableState||(this._readableState.destroyed=e)}});Ut.prototype.destroy=pM.destroy;Ut.prototype._undestroy=pM.undestroy;Ut.prototype._destroy=function(r,e){e(r)};Ut.prototype.push=function(r,e){var t=this._readableState,i;return t.objectMode?i=!0:typeof r=="string"&&(e=e||t.defaultEncoding,e!==t.encoding&&(r=lb.from(r,e),e=""),i=!0),Wle(this,r,e,!1,i)};Ut.prototype.unshift=function(r){return Wle(this,r,null,!0,!1)};function Wle(r,e,t,i,n){Dt("readableAddChunk",e);var s=r._readableState;if(e===null)s.reading=!1,B5e(r,s);else{var o;if(n||(o=y5e(s,e)),o)aE(r,o);else if(s.objectMode||e&&e.length>0)if(typeof e!="string"&&!s.objectMode&&Object.getPrototypeOf(e)!==lb.prototype&&(e=u5e(e)),i)s.endEmitted?aE(r,new E5e):gM(r,s,e,!0);else if(s.ended)aE(r,new C5e);else{if(s.destroyed)return!1;s.reading=!1,s.decoder&&!t?(e=s.decoder.write(e),s.objectMode||e.length!==0?gM(r,s,e,!1):hM(r,s)):gM(r,s,e,!1)}else i||(s.reading=!1,hM(r,s))}return!s.ended&&(s.length=Yle?r=Yle:(r--,r|=r>>>1,r|=r>>>2,r|=r>>>4,r|=r>>>8,r|=r>>>16,r++),r}function jle(r,e){return r<=0||e.length===0&&e.ended?0:e.objectMode?1:r!==r?e.flowing&&e.length?e.buffer.head.data.length:e.length:(r>e.highWaterMark&&(e.highWaterMark=w5e(r)),r<=e.length?r:e.ended?e.length:(e.needReadable=!0,0))}Ut.prototype.read=function(r){Dt("read",r),r=parseInt(r,10);var e=this._readableState,t=r;if(r!==0&&(e.emittedReadable=!1),r===0&&e.needReadable&&((e.highWaterMark!==0?e.length>=e.highWaterMark:e.length>0)||e.ended))return Dt("read: emitReadable",e.length,e.ended),e.length===0&&e.ended?fM(this):ub(this),null;if(r=jle(r,e),r===0&&e.ended)return e.length===0&&fM(this),null;var i=e.needReadable;Dt("need readable",i),(e.length===0||e.length-r0?n=Xle(r,e):n=null,n===null?(e.needReadable=e.length<=e.highWaterMark,r=0):(e.length-=r,e.awaitDrain=0),e.length===0&&(e.ended||(e.needReadable=!0),t!==r&&e.ended&&fM(this)),n!==null&&this.emit("data",n),n};function B5e(r,e){if(Dt("onEofChunk"),!e.ended){if(e.decoder){var t=e.decoder.end();t&&t.length&&(e.buffer.push(t),e.length+=e.objectMode?1:t.length)}e.ended=!0,e.sync?ub(r):(e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,zle(r)))}}function ub(r){var e=r._readableState;Dt("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(Dt("emitReadable",e.flowing),e.emittedReadable=!0,process.nextTick(zle,r))}function zle(r){var e=r._readableState;Dt("emitReadable_",e.destroyed,e.length,e.ended),!e.destroyed&&(e.length||e.ended)&&(r.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,dM(r)}function hM(r,e){e.readingMore||(e.readingMore=!0,process.nextTick(Q5e,r,e))}function Q5e(r,e){for(;!e.reading&&!e.ended&&(e.length1&&_le(i.pipes,r)!==-1)&&!c&&(Dt("false write response, pause",i.awaitDrain),i.awaitDrain++),t.pause())}function f(y){Dt("onerror",y),C(),r.removeListener("error",f),qle(r,"error")===0&&aE(r,y)}I5e(r,"error",f);function h(){r.removeListener("finish",p),C()}r.once("close",h);function p(){Dt("onfinish"),r.removeListener("close",h),C()}r.once("finish",p);function C(){Dt("unpipe"),t.unpipe(r)}return r.emit("pipe",t),i.flowing||(Dt("pipe resume"),t.resume()),r};function b5e(r){return function(){var t=r._readableState;Dt("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,t.awaitDrain===0&&qle(r,"data")&&(t.flowing=!0,dM(r))}}Ut.prototype.unpipe=function(r){var e=this._readableState,t={hasUnpiped:!1};if(e.pipesCount===0)return this;if(e.pipesCount===1)return r&&r!==e.pipes?this:(r||(r=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,r&&r.emit("unpipe",this,t),this);if(!r){var i=e.pipes,n=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var s=0;s0,i.flowing!==!1&&this.resume()):r==="readable"&&!i.endEmitted&&!i.readableListening&&(i.readableListening=i.needReadable=!0,i.flowing=!1,i.emittedReadable=!1,Dt("on readable",i.length,i.reading),i.length?ub(this):i.reading||process.nextTick(S5e,this)),t};Ut.prototype.addListener=Ut.prototype.on;Ut.prototype.removeListener=function(r,e){var t=AE.prototype.removeListener.call(this,r,e);return r==="readable"&&process.nextTick(Vle,this),t};Ut.prototype.removeAllListeners=function(r){var e=AE.prototype.removeAllListeners.apply(this,arguments);return(r==="readable"||r===void 0)&&process.nextTick(Vle,this),e};function Vle(r){var e=r._readableState;e.readableListening=r.listenerCount("readable")>0,e.resumeScheduled&&!e.paused?e.flowing=!0:r.listenerCount("data")>0&&r.resume()}function S5e(r){Dt("readable nexttick read 0"),r.read(0)}Ut.prototype.resume=function(){var r=this._readableState;return r.flowing||(Dt("resume"),r.flowing=!r.readableListening,v5e(this,r)),r.paused=!1,this};function v5e(r,e){e.resumeScheduled||(e.resumeScheduled=!0,process.nextTick(x5e,r,e))}function x5e(r,e){Dt("resume",e.reading),e.reading||r.read(0),e.resumeScheduled=!1,r.emit("resume"),dM(r),e.flowing&&!e.reading&&r.read(0)}Ut.prototype.pause=function(){return Dt("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(Dt("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this};function dM(r){var e=r._readableState;for(Dt("flow",e.flowing);e.flowing&&r.read()!==null;);}Ut.prototype.wrap=function(r){var e=this,t=this._readableState,i=!1;r.on("end",function(){if(Dt("wrapped end"),t.decoder&&!t.ended){var o=t.decoder.end();o&&o.length&&e.push(o)}e.push(null)}),r.on("data",function(o){if(Dt("wrapped data"),t.decoder&&(o=t.decoder.write(o)),!(t.objectMode&&o==null)&&!(!t.objectMode&&(!o||!o.length))){var a=e.push(o);a||(i=!0,r.pause())}});for(var n in r)this[n]===void 0&&typeof r[n]=="function"&&(this[n]=function(a){return function(){return r[a].apply(r,arguments)}}(n));for(var s=0;s=e.length?(e.decoder?t=e.buffer.join(""):e.buffer.length===1?t=e.buffer.first():t=e.buffer.concat(e.length),e.buffer.clear()):t=e.buffer.consume(r,e.decoder),t}function fM(r){var e=r._readableState;Dt("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,process.nextTick(P5e,e,r))}function P5e(r,e){if(Dt("endReadableNT",r.endEmitted,r.length),!r.endEmitted&&r.length===0&&(r.endEmitted=!0,e.readable=!1,e.emit("end"),r.autoDestroy)){var t=e._writableState;(!t||t.autoDestroy&&t.finished)&&e.destroy()}}typeof Symbol=="function"&&(Ut.from=function(r,e){return cM===void 0&&(cM=Gle()),cM(Ut,r,e)});function _le(r,e){for(var t=0,i=r.length;t{"use strict";ece.exports=sA;var gb=fl().codes,D5e=gb.ERR_METHOD_NOT_IMPLEMENTED,k5e=gb.ERR_MULTIPLE_CALLBACK,R5e=gb.ERR_TRANSFORM_ALREADY_TRANSFORMING,F5e=gb.ERR_TRANSFORM_WITH_LENGTH_0,fb=Lu();hl()(sA,fb);function N5e(r,e){var t=this._transformState;t.transforming=!1;var i=t.writecb;if(i===null)return this.emit("error",new k5e);t.writechunk=null,t.writecb=null,e!=null&&this.push(e),i(r);var n=this._readableState;n.reading=!1,(n.needReadable||n.length{"use strict";rce.exports=lE;var tce=CM();hl()(lE,tce);function lE(r){if(!(this instanceof lE))return new lE(r);tce.call(this,r)}lE.prototype._transform=function(r,e,t){t(null,r)}});var Ace=w((EQt,ace)=>{"use strict";var mM;function T5e(r){var e=!1;return function(){e||(e=!0,r.apply(void 0,arguments))}}var oce=fl().codes,O5e=oce.ERR_MISSING_ARGS,M5e=oce.ERR_STREAM_DESTROYED;function nce(r){if(r)throw r}function K5e(r){return r.setHeader&&typeof r.abort=="function"}function U5e(r,e,t,i){i=T5e(i);var n=!1;r.on("close",function(){n=!0}),mM===void 0&&(mM=ob()),mM(r,{readable:e,writable:t},function(o){if(o)return i(o);n=!0,i()});var s=!1;return function(o){if(!n&&!s){if(s=!0,K5e(r))return r.abort();if(typeof r.destroy=="function")return r.destroy();i(o||new M5e("pipe"))}}}function sce(r){r()}function H5e(r,e){return r.pipe(e)}function G5e(r){return!r.length||typeof r[r.length-1]!="function"?nce:r.pop()}function Y5e(){for(var r=arguments.length,e=new Array(r),t=0;t0;return U5e(o,l,c,function(u){n||(n=u),u&&s.forEach(sce),!l&&(s.forEach(sce),i(n))})});return e.reduce(H5e)}ace.exports=Y5e});var tp=w((Ns,uE)=>{var cE=J("stream");process.env.READABLE_STREAM==="disable"&&cE?(uE.exports=cE.Readable,Object.assign(uE.exports,cE),uE.exports.Stream=cE):(Ns=uE.exports=rM(),Ns.Stream=cE||Ns,Ns.Readable=Ns,Ns.Writable=$O(),Ns.Duplex=Lu(),Ns.Transform=CM(),Ns.PassThrough=ice(),Ns.finished=ob(),Ns.pipeline=Ace())});var uce=w((IQt,cce)=>{"use strict";var{Buffer:ho}=J("buffer"),lce=Symbol.for("BufferList");function fr(r){if(!(this instanceof fr))return new fr(r);fr._init.call(this,r)}fr._init=function(e){Object.defineProperty(this,lce,{value:!0}),this._bufs=[],this.length=0,e&&this.append(e)};fr.prototype._new=function(e){return new fr(e)};fr.prototype._offset=function(e){if(e===0)return[0,0];let t=0;for(let i=0;ithis.length||e<0)return;let t=this._offset(e);return this._bufs[t[0]][t[1]]};fr.prototype.slice=function(e,t){return typeof e=="number"&&e<0&&(e+=this.length),typeof t=="number"&&t<0&&(t+=this.length),this.copy(null,0,e,t)};fr.prototype.copy=function(e,t,i,n){if((typeof i!="number"||i<0)&&(i=0),(typeof n!="number"||n>this.length)&&(n=this.length),i>=this.length||n<=0)return e||ho.alloc(0);let s=!!e,o=this._offset(i),a=n-i,l=a,c=s&&t||0,u=o[1];if(i===0&&n===this.length){if(!s)return this._bufs.length===1?this._bufs[0]:ho.concat(this._bufs,this.length);for(let g=0;gf)this._bufs[g].copy(e,c,u),c+=f;else{this._bufs[g].copy(e,c,u,u+l),c+=f;break}l-=f,u&&(u=0)}return e.length>c?e.slice(0,c):e};fr.prototype.shallowSlice=function(e,t){if(e=e||0,t=typeof t!="number"?this.length:t,e<0&&(e+=this.length),t<0&&(t+=this.length),e===t)return this._new();let i=this._offset(e),n=this._offset(t),s=this._bufs.slice(i[0],n[0]+1);return n[1]===0?s.pop():s[s.length-1]=s[s.length-1].slice(0,n[1]),i[1]!==0&&(s[0]=s[0].slice(i[1])),this._new(s)};fr.prototype.toString=function(e,t,i){return this.slice(t,i).toString(e)};fr.prototype.consume=function(e){if(e=Math.trunc(e),Number.isNaN(e)||e<=0)return this;for(;this._bufs.length;)if(e>=this._bufs[0].length)e-=this._bufs[0].length,this.length-=this._bufs[0].length,this._bufs.shift();else{this._bufs[0]=this._bufs[0].slice(e),this.length-=e;break}return this};fr.prototype.duplicate=function(){let e=this._new();for(let t=0;tthis.length?this.length:e;let i=this._offset(e),n=i[0],s=i[1];for(;n=r.length){let l=o.indexOf(r,s);if(l!==-1)return this._reverseOffset([n,l]);s=o.length-r.length+1}else{let l=this._reverseOffset([n,s]);if(this._match(l,r))return l;s++}s=0}return-1};fr.prototype._match=function(r,e){if(this.length-r{"use strict";var EM=tp().Duplex,j5e=hl(),gE=uce();function Yi(r){if(!(this instanceof Yi))return new Yi(r);if(typeof r=="function"){this._callback=r;let e=function(i){this._callback&&(this._callback(i),this._callback=null)}.bind(this);this.on("pipe",function(i){i.on("error",e)}),this.on("unpipe",function(i){i.removeListener("error",e)}),r=null}gE._init.call(this,r),EM.call(this)}j5e(Yi,EM);Object.assign(Yi.prototype,gE.prototype);Yi.prototype._new=function(e){return new Yi(e)};Yi.prototype._write=function(e,t,i){this._appendBuffer(e),typeof i=="function"&&i()};Yi.prototype._read=function(e){if(!this.length)return this.push(null);e=Math.min(e,this.length),this.push(this.slice(0,e)),this.consume(e)};Yi.prototype.end=function(e){EM.prototype.end.call(this,e),this._callback&&(this._callback(null,this.slice()),this._callback=null)};Yi.prototype._destroy=function(e,t){this._bufs.length=0,this.length=0,t(e)};Yi.prototype._isBufferList=function(e){return e instanceof Yi||e instanceof gE||Yi.isBufferList(e)};Yi.isBufferList=gE.isBufferList;hb.exports=Yi;hb.exports.BufferListStream=Yi;hb.exports.BufferList=gE});var wM=w(ip=>{var q5e=Buffer.alloc,J5e="0000000000000000000",W5e="7777777777777777777",fce="0".charCodeAt(0),hce=Buffer.from("ustar\0","binary"),z5e=Buffer.from("00","binary"),V5e=Buffer.from("ustar ","binary"),X5e=Buffer.from(" \0","binary"),_5e=parseInt("7777",8),fE=257,yM=263,Z5e=function(r,e,t){return typeof r!="number"?t:(r=~~r,r>=e?e:r>=0||(r+=e,r>=0)?r:0)},$5e=function(r){switch(r){case 0:return"file";case 1:return"link";case 2:return"symlink";case 3:return"character-device";case 4:return"block-device";case 5:return"directory";case 6:return"fifo";case 7:return"contiguous-file";case 72:return"pax-header";case 55:return"pax-global-header";case 27:return"gnu-long-link-path";case 28:case 30:return"gnu-long-path"}return null},eVe=function(r){switch(r){case"file":return 0;case"link":return 1;case"symlink":return 2;case"character-device":return 3;case"block-device":return 4;case"directory":return 5;case"fifo":return 6;case"contiguous-file":return 7;case"pax-header":return 72}return 0},pce=function(r,e,t,i){for(;te?W5e.slice(0,e)+" ":J5e.slice(0,e-r.length)+r+" "};function tVe(r){var e;if(r[0]===128)e=!0;else if(r[0]===255)e=!1;else return null;for(var t=[],i=r.length-1;i>0;i--){var n=r[i];e?t.push(n):t.push(255-n)}var s=0,o=t.length;for(i=0;i=Math.pow(10,t)&&t++,e+t+r};ip.decodeLongPath=function(r,e){return rp(r,0,r.length,e)};ip.encodePax=function(r){var e="";r.name&&(e+=IM(" path="+r.name+` -`)),r.linkname&&(e+=IM(" linkpath="+r.linkname+` -`));var t=r.pax;if(t)for(var i in t)e+=IM(" "+i+"="+t[i]+` -`);return Buffer.from(e)};ip.decodePax=function(r){for(var e={};r.length;){for(var t=0;t100;){var n=t.indexOf("/");if(n===-1)return null;i+=i?"/"+t.slice(0,n):t.slice(0,n),t=t.slice(n+1)}return Buffer.byteLength(t)>100||Buffer.byteLength(i)>155||r.linkname&&Buffer.byteLength(r.linkname)>100?null:(e.write(t),e.write(El(r.mode&_5e,6),100),e.write(El(r.uid,6),108),e.write(El(r.gid,6),116),e.write(El(r.size,11),124),e.write(El(r.mtime.getTime()/1e3|0,11),136),e[156]=fce+eVe(r.type),r.linkname&&e.write(r.linkname,157),hce.copy(e,fE),z5e.copy(e,yM),r.uname&&e.write(r.uname,265),r.gname&&e.write(r.gname,297),e.write(El(r.devmajor||0,6),329),e.write(El(r.devminor||0,6),337),i&&e.write(i,345),e.write(El(dce(e),6),148),e)};ip.decode=function(r,e,t){var i=r[156]===0?0:r[156]-fce,n=rp(r,0,100,e),s=Il(r,100,8),o=Il(r,108,8),a=Il(r,116,8),l=Il(r,124,12),c=Il(r,136,12),u=$5e(i),g=r[157]===0?null:rp(r,157,100,e),f=rp(r,265,32),h=rp(r,297,32),p=Il(r,329,8),C=Il(r,337,8),y=dce(r);if(y===8*32)return null;if(y!==Il(r,148,8))throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?");if(hce.compare(r,fE,fE+6)===0)r[345]&&(n=rp(r,345,155,e)+"/"+n);else if(!(V5e.compare(r,fE,fE+6)===0&&X5e.compare(r,yM,yM+2)===0)){if(!t)throw new Error("Invalid tar header: unknown format.")}return i===0&&n&&n[n.length-1]==="/"&&(i=5),{name:n,mode:s,uid:o,gid:a,size:l,mtime:new Date(1e3*c),type:u,linkname:g,uname:f,gname:h,devmajor:p,devminor:C}}});var Bce=w((BQt,wce)=>{var mce=J("util"),rVe=gce(),hE=wM(),Ece=tp().Writable,Ice=tp().PassThrough,yce=function(){},Cce=function(r){return r&=511,r&&512-r},iVe=function(r,e){var t=new pb(r,e);return t.end(),t},nVe=function(r,e){return e.path&&(r.name=e.path),e.linkpath&&(r.linkname=e.linkpath),e.size&&(r.size=parseInt(e.size,10)),r.pax=e,r},pb=function(r,e){this._parent=r,this.offset=e,Ice.call(this,{autoDestroy:!1})};mce.inherits(pb,Ice);pb.prototype.destroy=function(r){this._parent.destroy(r)};var oA=function(r){if(!(this instanceof oA))return new oA(r);Ece.call(this,r),r=r||{},this._offset=0,this._buffer=rVe(),this._missing=0,this._partial=!1,this._onparse=yce,this._header=null,this._stream=null,this._overflow=null,this._cb=null,this._locked=!1,this._destroyed=!1,this._pax=null,this._paxGlobal=null,this._gnuLongPath=null,this._gnuLongLinkPath=null;var e=this,t=e._buffer,i=function(){e._continue()},n=function(f){if(e._locked=!1,f)return e.destroy(f);e._stream||i()},s=function(){e._stream=null;var f=Cce(e._header.size);f?e._parse(f,o):e._parse(512,g),e._locked||i()},o=function(){e._buffer.consume(Cce(e._header.size)),e._parse(512,g),i()},a=function(){var f=e._header.size;e._paxGlobal=hE.decodePax(t.slice(0,f)),t.consume(f),s()},l=function(){var f=e._header.size;e._pax=hE.decodePax(t.slice(0,f)),e._paxGlobal&&(e._pax=Object.assign({},e._paxGlobal,e._pax)),t.consume(f),s()},c=function(){var f=e._header.size;this._gnuLongPath=hE.decodeLongPath(t.slice(0,f),r.filenameEncoding),t.consume(f),s()},u=function(){var f=e._header.size;this._gnuLongLinkPath=hE.decodeLongPath(t.slice(0,f),r.filenameEncoding),t.consume(f),s()},g=function(){var f=e._offset,h;try{h=e._header=hE.decode(t.slice(0,512),r.filenameEncoding,r.allowUnknownFormat)}catch(p){e.emit("error",p)}if(t.consume(512),!h){e._parse(512,g),i();return}if(h.type==="gnu-long-path"){e._parse(h.size,c),i();return}if(h.type==="gnu-long-link-path"){e._parse(h.size,u),i();return}if(h.type==="pax-global-header"){e._parse(h.size,a),i();return}if(h.type==="pax-header"){e._parse(h.size,l),i();return}if(e._gnuLongPath&&(h.name=e._gnuLongPath,e._gnuLongPath=null),e._gnuLongLinkPath&&(h.linkname=e._gnuLongLinkPath,e._gnuLongLinkPath=null),e._pax&&(e._header=h=nVe(h,e._pax),e._pax=null),e._locked=!0,!h.size||h.type==="directory"){e._parse(512,g),e.emit("entry",h,iVe(e,f),n);return}e._stream=new pb(e,f),e.emit("entry",h,e._stream,n),e._parse(h.size,s),i()};this._onheader=g,this._parse(512,g)};mce.inherits(oA,Ece);oA.prototype.destroy=function(r){this._destroyed||(this._destroyed=!0,r&&this.emit("error",r),this.emit("close"),this._stream&&this._stream.emit("close"))};oA.prototype._parse=function(r,e){this._destroyed||(this._offset+=r,this._missing=r,e===this._onheader&&(this._partial=!1),this._onparse=e)};oA.prototype._continue=function(){if(!this._destroyed){var r=this._cb;this._cb=yce,this._overflow?this._write(this._overflow,void 0,r):r()}};oA.prototype._write=function(r,e,t){if(!this._destroyed){var i=this._stream,n=this._buffer,s=this._missing;if(r.length&&(this._partial=!0),r.lengths&&(o=r.slice(s),r=r.slice(0,s)),i?i.end(r):n.append(r),this._overflow=o,this._onparse()}};oA.prototype._final=function(r){if(this._partial)return this.destroy(new Error("Unexpected end of data"));r()};wce.exports=oA});var bce=w((QQt,Qce)=>{Qce.exports=J("fs").constants||J("constants")});var Dce=w((bQt,Pce)=>{var np=bce(),Sce=fk(),Cb=hl(),sVe=Buffer.alloc,vce=tp().Readable,sp=tp().Writable,oVe=J("string_decoder").StringDecoder,db=wM(),aVe=parseInt("755",8),AVe=parseInt("644",8),xce=sVe(1024),QM=function(){},BM=function(r,e){e&=511,e&&r.push(xce.slice(0,512-e))};function lVe(r){switch(r&np.S_IFMT){case np.S_IFBLK:return"block-device";case np.S_IFCHR:return"character-device";case np.S_IFDIR:return"directory";case np.S_IFIFO:return"fifo";case np.S_IFLNK:return"symlink"}return"file"}var mb=function(r){sp.call(this),this.written=0,this._to=r,this._destroyed=!1};Cb(mb,sp);mb.prototype._write=function(r,e,t){if(this.written+=r.length,this._to.push(r))return t();this._to._drain=t};mb.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var Eb=function(){sp.call(this),this.linkname="",this._decoder=new oVe("utf-8"),this._destroyed=!1};Cb(Eb,sp);Eb.prototype._write=function(r,e,t){this.linkname+=this._decoder.write(r),t()};Eb.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var pE=function(){sp.call(this),this._destroyed=!1};Cb(pE,sp);pE.prototype._write=function(r,e,t){t(new Error("No body allowed for this entry"))};pE.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var ra=function(r){if(!(this instanceof ra))return new ra(r);vce.call(this,r),this._drain=QM,this._finalized=!1,this._finalizing=!1,this._destroyed=!1,this._stream=null};Cb(ra,vce);ra.prototype.entry=function(r,e,t){if(this._stream)throw new Error("already piping an entry");if(!(this._finalized||this._destroyed)){typeof e=="function"&&(t=e,e=null),t||(t=QM);var i=this;if((!r.size||r.type==="symlink")&&(r.size=0),r.type||(r.type=lVe(r.mode)),r.mode||(r.mode=r.type==="directory"?aVe:AVe),r.uid||(r.uid=0),r.gid||(r.gid=0),r.mtime||(r.mtime=new Date),typeof e=="string"&&(e=Buffer.from(e)),Buffer.isBuffer(e)){r.size=e.length,this._encode(r);var n=this.push(e);return BM(i,r.size),n?process.nextTick(t):this._drain=t,new pE}if(r.type==="symlink"&&!r.linkname){var s=new Eb;return Sce(s,function(a){if(a)return i.destroy(),t(a);r.linkname=s.linkname,i._encode(r),t()}),s}if(this._encode(r),r.type!=="file"&&r.type!=="contiguous-file")return process.nextTick(t),new pE;var o=new mb(this);return this._stream=o,Sce(o,function(a){if(i._stream=null,a)return i.destroy(),t(a);if(o.written!==r.size)return i.destroy(),t(new Error("size mismatch"));BM(i,r.size),i._finalizing&&i.finalize(),t()}),o}};ra.prototype.finalize=function(){if(this._stream){this._finalizing=!0;return}this._finalized||(this._finalized=!0,this.push(xce),this.push(null))};ra.prototype.destroy=function(r){this._destroyed||(this._destroyed=!0,r&&this.emit("error",r),this.emit("close"),this._stream&&this._stream.destroy&&this._stream.destroy())};ra.prototype._encode=function(r){if(!r.pax){var e=db.encode(r);if(e){this.push(e);return}}this._encodePax(r)};ra.prototype._encodePax=function(r){var e=db.encodePax({name:r.name,linkname:r.linkname,pax:r.pax}),t={name:"PaxHeader",mode:r.mode,uid:r.uid,gid:r.gid,size:e.length,mtime:r.mtime,type:"pax-header",linkname:r.linkname&&"PaxHeader",uname:r.uname,gname:r.gname,devmajor:r.devmajor,devminor:r.devminor};this.push(db.encode(t)),this.push(e),BM(this,e.length),t.size=r.size,t.type=r.type,this.push(db.encode(t))};ra.prototype._read=function(r){var e=this._drain;this._drain=QM,e()};Pce.exports=ra});var kce=w(bM=>{bM.extract=Bce();bM.pack=Dce()});var Yce=w((WQt,Gce)=>{"use strict";var Uu=class{constructor(e,t,i){this.__specs=e||{},Object.keys(this.__specs).forEach(n=>{if(typeof this.__specs[n]=="string"){let s=this.__specs[n],o=this.__specs[s];if(o){let a=o.aliases||[];a.push(n,s),o.aliases=[...new Set(a)],this.__specs[n]=o}else throw new Error(`Alias refers to invalid key: ${s} -> ${n}`)}}),this.__opts=t||{},this.__providers=Uce(i.filter(n=>n!=null&&typeof n=="object")),this.__isFiggyPudding=!0}get(e){return kM(this,e,!0)}get[Symbol.toStringTag](){return"FiggyPudding"}forEach(e,t=this){for(let[i,n]of this.entries())e.call(t,n,i,this)}toJSON(){let e={};return this.forEach((t,i)=>{e[i]=t}),e}*entries(e){for(let i of Object.keys(this.__specs))yield[i,this.get(i)];let t=e||this.__opts.other;if(t){let i=new Set;for(let n of this.__providers){let s=n.entries?n.entries(t):QVe(n);for(let[o,a]of s)t(o)&&!i.has(o)&&(i.add(o),yield[o,a])}}}*[Symbol.iterator](){for(let[e,t]of this.entries())yield[e,t]}*keys(){for(let[e]of this.entries())yield e}*values(){for(let[,e]of this.entries())yield e}concat(...e){return new Proxy(new Uu(this.__specs,this.__opts,Uce(this.__providers).concat(e)),Hce)}};try{let r=J("util");Uu.prototype[r.inspect.custom]=function(e,t){return this[Symbol.toStringTag]+" "+r.inspect(this.toJSON(),t)}}catch{}function wVe(r){throw Object.assign(new Error(`invalid config key requested: ${r}`),{code:"EBADKEY"})}function kM(r,e,t){let i=r.__specs[e];if(t&&!i&&(!r.__opts.other||!r.__opts.other(e)))wVe(e);else{i||(i={});let n;for(let s of r.__providers){if(n=Kce(e,s),n===void 0&&i.aliases&&i.aliases.length){for(let o of i.aliases)if(o!==e&&(n=Kce(o,s),n!==void 0))break}if(n!==void 0)break}return n===void 0&&i.default!==void 0?typeof i.default=="function"?i.default(r):i.default:n}}function Kce(r,e){let t;return e.__isFiggyPudding?t=kM(e,r,!1):typeof e.get=="function"?t=e.get(r):t=e[r],t}var Hce={has(r,e){return e in r.__specs&&kM(r,e,!1)!==void 0},ownKeys(r){return Object.keys(r.__specs)},get(r,e){return typeof e=="symbol"||e.slice(0,2)==="__"||e in Uu.prototype?r[e]:r.get(e)},set(r,e,t){if(typeof e=="symbol"||e.slice(0,2)==="__")return r[e]=t,!0;throw new Error("figgyPudding options cannot be modified. Use .concat() instead.")},deleteProperty(){throw new Error("figgyPudding options cannot be deleted. Use .concat() and shadow them instead.")}};Gce.exports=BVe;function BVe(r,e){function t(...i){return new Proxy(new Uu(r,e,i),Hce)}return t}function Uce(r){let e=[];return r.forEach(t=>e.unshift(t)),e}function QVe(r){return Object.keys(r).map(e=>[e,r[e]])}});var Jce=w((zQt,sa)=>{"use strict";var CE=J("crypto"),bVe=Yce(),SVe=J("stream").Transform,jce=["sha256","sha384","sha512"],vVe=/^[a-z0-9+/]+(?:=?=?)$/i,xVe=/^([^-]+)-([^?]+)([?\S*]*)$/,PVe=/^([^-]+)-([A-Za-z0-9+/=]{44,88})(\?[\x21-\x7E]*)*$/,DVe=/^[\x21-\x7E]+$/,on=bVe({algorithms:{default:["sha512"]},error:{default:!1},integrity:{},options:{default:[]},pickAlgorithm:{default:()=>MVe},Promise:{default:()=>Promise},sep:{default:" "},single:{default:!1},size:{},strict:{default:!1}}),yl=class{get isHash(){return!0}constructor(e,t){t=on(t);let i=!!t.strict;this.source=e.trim();let n=this.source.match(i?PVe:xVe);if(!n||i&&!jce.some(o=>o===n[1]))return;this.algorithm=n[1],this.digest=n[2];let s=n[3];this.options=s?s.slice(1).split("?"):[]}hexDigest(){return this.digest&&Buffer.from(this.digest,"base64").toString("hex")}toJSON(){return this.toString()}toString(e){if(e=on(e),e.strict&&!(jce.some(i=>i===this.algorithm)&&this.digest.match(vVe)&&(this.options||[]).every(i=>i.match(DVe))))return"";let t=this.options&&this.options.length?`?${this.options.join("?")}`:"";return`${this.algorithm}-${this.digest}${t}`}},Hu=class{get isIntegrity(){return!0}toJSON(){return this.toString()}toString(e){e=on(e);let t=e.sep||" ";return e.strict&&(t=t.replace(/\S+/g," ")),Object.keys(this).map(i=>this[i].map(n=>yl.prototype.toString.call(n,e)).filter(n=>n.length).join(t)).filter(i=>i.length).join(t)}concat(e,t){t=on(t);let i=typeof e=="string"?e:dE(e,t);return na(`${this.toString(t)} ${i}`,t)}hexDigest(){return na(this,{single:!0}).hexDigest()}match(e,t){t=on(t);let i=na(e,t),n=i.pickAlgorithm(t);return this[n]&&i[n]&&this[n].find(s=>i[n].find(o=>s.digest===o.digest))||!1}pickAlgorithm(e){e=on(e);let t=e.pickAlgorithm,i=Object.keys(this);if(!i.length)throw new Error(`No algorithms available for ${JSON.stringify(this.toString())}`);return i.reduce((n,s)=>t(n,s)||n)}};sa.exports.parse=na;function na(r,e){if(e=on(e),typeof r=="string")return RM(r,e);if(r.algorithm&&r.digest){let t=new Hu;return t[r.algorithm]=[r],RM(dE(t,e),e)}else return RM(dE(r,e),e)}function RM(r,e){return e.single?new yl(r,e):r.trim().split(/\s+/).reduce((t,i)=>{let n=new yl(i,e);if(n.algorithm&&n.digest){let s=n.algorithm;t[s]||(t[s]=[]),t[s].push(n)}return t},new Hu)}sa.exports.stringify=dE;function dE(r,e){return e=on(e),r.algorithm&&r.digest?yl.prototype.toString.call(r,e):typeof r=="string"?dE(na(r,e),e):Hu.prototype.toString.call(r,e)}sa.exports.fromHex=kVe;function kVe(r,e,t){t=on(t);let i=t.options&&t.options.length?`?${t.options.join("?")}`:"";return na(`${e}-${Buffer.from(r,"hex").toString("base64")}${i}`,t)}sa.exports.fromData=RVe;function RVe(r,e){e=on(e);let t=e.algorithms,i=e.options&&e.options.length?`?${e.options.join("?")}`:"";return t.reduce((n,s)=>{let o=CE.createHash(s).update(r).digest("base64"),a=new yl(`${s}-${o}${i}`,e);if(a.algorithm&&a.digest){let l=a.algorithm;n[l]||(n[l]=[]),n[l].push(a)}return n},new Hu)}sa.exports.fromStream=FVe;function FVe(r,e){e=on(e);let t=e.Promise||Promise,i=FM(e);return new t((n,s)=>{r.pipe(i),r.on("error",s),i.on("error",s);let o;i.on("integrity",a=>{o=a}),i.on("end",()=>n(o)),i.on("data",()=>{})})}sa.exports.checkData=NVe;function NVe(r,e,t){if(t=on(t),e=na(e,t),!Object.keys(e).length){if(t.error)throw Object.assign(new Error("No valid integrity hashes to check against"),{code:"EINTEGRITY"});return!1}let i=e.pickAlgorithm(t),n=CE.createHash(i).update(r).digest("base64"),s=na({algorithm:i,digest:n}),o=s.match(e,t);if(o||!t.error)return o;if(typeof t.size=="number"&&r.length!==t.size){let a=new Error(`data size mismatch when checking ${e}. +`,h}function xze(r,e){return e.fs_.chmod(r,493)}function nM(r){if(!r)return{win32:"",posix:""};let e=typeof r=="string"?r.split(Fs.delimiter):Array.from(r),t={};for(let i=0;i`/mnt/${a.toLowerCase()}`):e[i];t.win32=t.win32?`${t.win32};${n}`:n,t.posix=t.posix?`${t.posix}:${s}`:s,t[i]={win32:n,posix:s}}return t}Sle.exports=iM});var dM=w((jQt,Wle)=>{Wle.exports=J("stream")});var Zle=w((qQt,Xle)=>{"use strict";function zle(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(r);e&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(r,n).enumerable})),t.push.apply(t,i)}return t}function zze(r){for(var e=1;e0?this.tail.next=i:this.head=i,this.tail=i,++this.length}},{key:"unshift",value:function(t){var i={data:t,next:this.head};this.length===0&&(this.tail=i),this.head=i,++this.length}},{key:"shift",value:function(){if(this.length!==0){var t=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,t}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(t){if(this.length===0)return"";for(var i=this.head,n=""+i.data;i=i.next;)n+=t+i.data;return n}},{key:"concat",value:function(t){if(this.length===0)return hb.alloc(0);for(var i=hb.allocUnsafe(t>>>0),n=this.head,s=0;n;)t5e(n.data,i,s),s+=n.data.length,n=n.next;return i}},{key:"consume",value:function(t,i){var n;return to.length?o.length:t;if(a===o.length?s+=o:s+=o.slice(0,t),t-=a,t===0){a===o.length?(++n,i.next?this.head=i.next:this.head=this.tail=null):(this.head=i,i.data=o.slice(a));break}++n}return this.length-=n,s}},{key:"_getBuffer",value:function(t){var i=hb.allocUnsafe(t),n=this.head,s=1;for(n.data.copy(i),t-=n.data.length;n=n.next;){var o=n.data,a=t>o.length?o.length:t;if(o.copy(i,i.length-t,0,a),t-=a,t===0){a===o.length?(++s,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=o.slice(a));break}++s}return this.length-=s,i}},{key:e5e,value:function(t,i){return CM(this,zze({},i,{depth:0,customInspect:!1}))}}]),r}()});var EM=w((JQt,$le)=>{"use strict";function r5e(r,e){var t=this,i=this._readableState&&this._readableState.destroyed,n=this._writableState&&this._writableState.destroyed;return i||n?(e?e(r):r&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(mM,this,r)):process.nextTick(mM,this,r)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(r||null,function(s){!e&&s?t._writableState?t._writableState.errorEmitted?process.nextTick(pb,t):(t._writableState.errorEmitted=!0,process.nextTick(_le,t,s)):process.nextTick(_le,t,s):e?(process.nextTick(pb,t),e(s)):process.nextTick(pb,t)}),this)}function _le(r,e){mM(r,e),pb(r)}function pb(r){r._writableState&&!r._writableState.emitClose||r._readableState&&!r._readableState.emitClose||r.emit("close")}function i5e(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function mM(r,e){r.emit("error",e)}function n5e(r,e){var t=r._readableState,i=r._writableState;t&&t.autoDestroy||i&&i.autoDestroy?r.destroy(e):r.emit("error",e)}$le.exports={destroy:r5e,undestroy:i5e,errorOrDestroy:n5e}});var wl=w((WQt,rce)=>{"use strict";var tce={};function Ls(r,e,t){t||(t=Error);function i(s,o,a){return typeof e=="string"?e:e(s,o,a)}class n extends t{constructor(o,a,l){super(i(o,a,l))}}n.prototype.name=t.name,n.prototype.code=r,tce[r]=n}function ece(r,e){if(Array.isArray(r)){let t=r.length;return r=r.map(i=>String(i)),t>2?`one of ${e} ${r.slice(0,t-1).join(", ")}, or `+r[t-1]:t===2?`one of ${e} ${r[0]} or ${r[1]}`:`of ${e} ${r[0]}`}else return`of ${e} ${String(r)}`}function s5e(r,e,t){return r.substr(!t||t<0?0:+t,e.length)===e}function o5e(r,e,t){return(t===void 0||t>r.length)&&(t=r.length),r.substring(t-e.length,t)===e}function a5e(r,e,t){return typeof t!="number"&&(t=0),t+e.length>r.length?!1:r.indexOf(e,t)!==-1}Ls("ERR_INVALID_OPT_VALUE",function(r,e){return'The value "'+e+'" is invalid for option "'+r+'"'},TypeError);Ls("ERR_INVALID_ARG_TYPE",function(r,e,t){let i;typeof e=="string"&&s5e(e,"not ")?(i="must not be",e=e.replace(/^not /,"")):i="must be";let n;if(o5e(r," argument"))n=`The ${r} ${i} ${ece(e,"type")}`;else{let s=a5e(r,".")?"property":"argument";n=`The "${r}" ${s} ${i} ${ece(e,"type")}`}return n+=`. Received type ${typeof t}`,n},TypeError);Ls("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF");Ls("ERR_METHOD_NOT_IMPLEMENTED",function(r){return"The "+r+" method is not implemented"});Ls("ERR_STREAM_PREMATURE_CLOSE","Premature close");Ls("ERR_STREAM_DESTROYED",function(r){return"Cannot call "+r+" after a stream was destroyed"});Ls("ERR_MULTIPLE_CALLBACK","Callback called multiple times");Ls("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable");Ls("ERR_STREAM_WRITE_AFTER_END","write after end");Ls("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);Ls("ERR_UNKNOWN_ENCODING",function(r){return"Unknown encoding: "+r},TypeError);Ls("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event");rce.exports.codes=tce});var IM=w((zQt,ice)=>{"use strict";var A5e=wl().codes.ERR_INVALID_OPT_VALUE;function l5e(r,e,t){return r.highWaterMark!=null?r.highWaterMark:e?r[t]:null}function c5e(r,e,t,i){var n=l5e(e,i,t);if(n!=null){if(!(isFinite(n)&&Math.floor(n)===n)||n<0){var s=i?t:"highWaterMark";throw new A5e(s,n)}return Math.floor(n)}return r.objectMode?16:16*1024}ice.exports={getHighWaterMark:c5e}});var nce=w((VQt,yM)=>{typeof Object.create=="function"?yM.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:yM.exports=function(e,t){if(t){e.super_=t;var i=function(){};i.prototype=t.prototype,e.prototype=new i,e.prototype.constructor=e}}});var Bl=w((XQt,BM)=>{try{if(wM=J("util"),typeof wM.inherits!="function")throw"";BM.exports=wM.inherits}catch{BM.exports=nce()}var wM});var oce=w((ZQt,sce)=>{sce.exports=J("util").deprecate});var SM=w((_Qt,gce)=>{"use strict";gce.exports=Tr;function Ace(r){var e=this;this.next=null,this.entry=null,this.finish=function(){O5e(e,r)}}var op;Tr.WritableState=gE;var u5e={deprecate:oce()},lce=dM(),Cb=J("buffer").Buffer,g5e=global.Uint8Array||function(){};function f5e(r){return Cb.from(r)}function h5e(r){return Cb.isBuffer(r)||r instanceof g5e}var bM=EM(),p5e=IM(),d5e=p5e.getHighWaterMark,Ql=wl().codes,C5e=Ql.ERR_INVALID_ARG_TYPE,m5e=Ql.ERR_METHOD_NOT_IMPLEMENTED,E5e=Ql.ERR_MULTIPLE_CALLBACK,I5e=Ql.ERR_STREAM_CANNOT_PIPE,y5e=Ql.ERR_STREAM_DESTROYED,w5e=Ql.ERR_STREAM_NULL_VALUES,B5e=Ql.ERR_STREAM_WRITE_AFTER_END,Q5e=Ql.ERR_UNKNOWN_ENCODING,ap=bM.errorOrDestroy;Bl()(Tr,lce);function b5e(){}function gE(r,e,t){op=op||Gu(),r=r||{},typeof t!="boolean"&&(t=e instanceof op),this.objectMode=!!r.objectMode,t&&(this.objectMode=this.objectMode||!!r.writableObjectMode),this.highWaterMark=d5e(this,r,"writableHighWaterMark",t),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var i=r.decodeStrings===!1;this.decodeStrings=!i,this.defaultEncoding=r.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(n){R5e(e,n)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=r.emitClose!==!1,this.autoDestroy=!!r.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new Ace(this)}gE.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t};(function(){try{Object.defineProperty(gE.prototype,"buffer",{get:u5e.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch{}})();var db;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(db=Function.prototype[Symbol.hasInstance],Object.defineProperty(Tr,Symbol.hasInstance,{value:function(e){return db.call(this,e)?!0:this!==Tr?!1:e&&e._writableState instanceof gE}})):db=function(e){return e instanceof this};function Tr(r){op=op||Gu();var e=this instanceof op;if(!e&&!db.call(Tr,this))return new Tr(r);this._writableState=new gE(r,this,e),this.writable=!0,r&&(typeof r.write=="function"&&(this._write=r.write),typeof r.writev=="function"&&(this._writev=r.writev),typeof r.destroy=="function"&&(this._destroy=r.destroy),typeof r.final=="function"&&(this._final=r.final)),lce.call(this)}Tr.prototype.pipe=function(){ap(this,new I5e)};function S5e(r,e){var t=new B5e;ap(r,t),process.nextTick(e,t)}function v5e(r,e,t,i){var n;return t===null?n=new w5e:typeof t!="string"&&!e.objectMode&&(n=new C5e("chunk",["string","Buffer"],t)),n?(ap(r,n),process.nextTick(i,n),!1):!0}Tr.prototype.write=function(r,e,t){var i=this._writableState,n=!1,s=!i.objectMode&&h5e(r);return s&&!Cb.isBuffer(r)&&(r=f5e(r)),typeof e=="function"&&(t=e,e=null),s?e="buffer":e||(e=i.defaultEncoding),typeof t!="function"&&(t=b5e),i.ending?S5e(this,t):(s||v5e(this,i,r,t))&&(i.pendingcb++,n=P5e(this,i,s,r,e,t)),n};Tr.prototype.cork=function(){this._writableState.corked++};Tr.prototype.uncork=function(){var r=this._writableState;r.corked&&(r.corked--,!r.writing&&!r.corked&&!r.bufferProcessing&&r.bufferedRequest&&cce(this,r))};Tr.prototype.setDefaultEncoding=function(e){if(typeof e=="string"&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new Q5e(e);return this._writableState.defaultEncoding=e,this};Object.defineProperty(Tr.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function x5e(r,e,t){return!r.objectMode&&r.decodeStrings!==!1&&typeof e=="string"&&(e=Cb.from(e,t)),e}Object.defineProperty(Tr.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function P5e(r,e,t,i,n,s){if(!t){var o=x5e(e,i,n);i!==o&&(t=!0,n="buffer",i=o)}var a=e.objectMode?1:i.length;e.length+=a;var l=e.length{"use strict";var M5e=Object.keys||function(r){var e=[];for(var t in r)e.push(t);return e};hce.exports=oa;var fce=PM(),xM=SM();Bl()(oa,fce);for(vM=M5e(xM.prototype),mb=0;mb{var Ib=J("buffer"),gA=Ib.Buffer;function pce(r,e){for(var t in r)e[t]=r[t]}gA.from&&gA.alloc&&gA.allocUnsafe&&gA.allocUnsafeSlow?dce.exports=Ib:(pce(Ib,DM),DM.Buffer=Ap);function Ap(r,e,t){return gA(r,e,t)}pce(gA,Ap);Ap.from=function(r,e,t){if(typeof r=="number")throw new TypeError("Argument must not be a number");return gA(r,e,t)};Ap.alloc=function(r,e,t){if(typeof r!="number")throw new TypeError("Argument must be a number");var i=gA(r);return e!==void 0?typeof t=="string"?i.fill(e,t):i.fill(e):i.fill(0),i};Ap.allocUnsafe=function(r){if(typeof r!="number")throw new TypeError("Argument must be a number");return gA(r)};Ap.allocUnsafeSlow=function(r){if(typeof r!="number")throw new TypeError("Argument must be a number");return Ib.SlowBuffer(r)}});var FM=w(Ece=>{"use strict";var RM=Cce().Buffer,mce=RM.isEncoding||function(r){switch(r=""+r,r&&r.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function H5e(r){if(!r)return"utf8";for(var e;;)switch(r){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return r;default:if(e)return;r=(""+r).toLowerCase(),e=!0}}function G5e(r){var e=H5e(r);if(typeof e!="string"&&(RM.isEncoding===mce||!mce(r)))throw new Error("Unknown encoding: "+r);return e||r}Ece.StringDecoder=fE;function fE(r){this.encoding=G5e(r);var e;switch(this.encoding){case"utf16le":this.text=z5e,this.end=V5e,e=4;break;case"utf8":this.fillLast=q5e,e=4;break;case"base64":this.text=X5e,this.end=Z5e,e=3;break;default:this.write=_5e,this.end=$5e;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=RM.allocUnsafe(e)}fE.prototype.write=function(r){if(r.length===0)return"";var e,t;if(this.lastNeed){if(e=this.fillLast(r),e===void 0)return"";t=this.lastNeed,this.lastNeed=0}else t=0;return t>5===6?2:r>>4===14?3:r>>3===30?4:r>>6===2?-1:-2}function Y5e(r,e,t){var i=e.length-1;if(i=0?(n>0&&(r.lastNeed=n-1),n):--i=0?(n>0&&(r.lastNeed=n-2),n):--i=0?(n>0&&(n===2?n=0:r.lastNeed=n-3),n):0))}function j5e(r,e,t){if((e[0]&192)!==128)return r.lastNeed=0,"\uFFFD";if(r.lastNeed>1&&e.length>1){if((e[1]&192)!==128)return r.lastNeed=1,"\uFFFD";if(r.lastNeed>2&&e.length>2&&(e[2]&192)!==128)return r.lastNeed=2,"\uFFFD"}}function q5e(r){var e=this.lastTotal-this.lastNeed,t=j5e(this,r,e);if(t!==void 0)return t;if(this.lastNeed<=r.length)return r.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);r.copy(this.lastChar,e,0,r.length),this.lastNeed-=r.length}function J5e(r,e){var t=Y5e(this,r,e);if(!this.lastNeed)return r.toString("utf8",e);this.lastTotal=t;var i=r.length-(t-this.lastNeed);return r.copy(this.lastChar,0,i),r.toString("utf8",e,i)}function W5e(r){var e=r&&r.length?this.write(r):"";return this.lastNeed?e+"\uFFFD":e}function z5e(r,e){if((r.length-e)%2===0){var t=r.toString("utf16le",e);if(t){var i=t.charCodeAt(t.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=r[r.length-2],this.lastChar[1]=r[r.length-1],t.slice(0,-1)}return t}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=r[r.length-1],r.toString("utf16le",e,r.length-1)}function V5e(r){var e=r&&r.length?this.write(r):"";if(this.lastNeed){var t=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,t)}return e}function X5e(r,e){var t=(r.length-e)%3;return t===0?r.toString("base64",e):(this.lastNeed=3-t,this.lastTotal=3,t===1?this.lastChar[0]=r[r.length-1]:(this.lastChar[0]=r[r.length-2],this.lastChar[1]=r[r.length-1]),r.toString("base64",e,r.length-t))}function Z5e(r){var e=r&&r.length?this.write(r):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function _5e(r){return r.toString(this.encoding)}function $5e(r){return r&&r.length?this.write(r):""}});var yb=w((tbt,wce)=>{"use strict";var Ice=wl().codes.ERR_STREAM_PREMATURE_CLOSE;function e6e(r){var e=!1;return function(){if(!e){e=!0;for(var t=arguments.length,i=new Array(t),n=0;n{"use strict";var wb;function bl(r,e,t){return e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}var i6e=yb(),Sl=Symbol("lastResolve"),Yu=Symbol("lastReject"),hE=Symbol("error"),Bb=Symbol("ended"),ju=Symbol("lastPromise"),NM=Symbol("handlePromise"),qu=Symbol("stream");function vl(r,e){return{value:r,done:e}}function n6e(r){var e=r[Sl];if(e!==null){var t=r[qu].read();t!==null&&(r[ju]=null,r[Sl]=null,r[Yu]=null,e(vl(t,!1)))}}function s6e(r){process.nextTick(n6e,r)}function o6e(r,e){return function(t,i){r.then(function(){if(e[Bb]){t(vl(void 0,!0));return}e[NM](t,i)},i)}}var a6e=Object.getPrototypeOf(function(){}),A6e=Object.setPrototypeOf((wb={get stream(){return this[qu]},next:function(){var e=this,t=this[hE];if(t!==null)return Promise.reject(t);if(this[Bb])return Promise.resolve(vl(void 0,!0));if(this[qu].destroyed)return new Promise(function(o,a){process.nextTick(function(){e[hE]?a(e[hE]):o(vl(void 0,!0))})});var i=this[ju],n;if(i)n=new Promise(o6e(i,this));else{var s=this[qu].read();if(s!==null)return Promise.resolve(vl(s,!1));n=new Promise(this[NM])}return this[ju]=n,n}},bl(wb,Symbol.asyncIterator,function(){return this}),bl(wb,"return",function(){var e=this;return new Promise(function(t,i){e[qu].destroy(null,function(n){if(n){i(n);return}t(vl(void 0,!0))})})}),wb),a6e),l6e=function(e){var t,i=Object.create(A6e,(t={},bl(t,qu,{value:e,writable:!0}),bl(t,Sl,{value:null,writable:!0}),bl(t,Yu,{value:null,writable:!0}),bl(t,hE,{value:null,writable:!0}),bl(t,Bb,{value:e._readableState.endEmitted,writable:!0}),bl(t,NM,{value:function(s,o){var a=i[qu].read();a?(i[ju]=null,i[Sl]=null,i[Yu]=null,s(vl(a,!1))):(i[Sl]=s,i[Yu]=o)},writable:!0}),t));return i[ju]=null,i6e(e,function(n){if(n&&n.code!=="ERR_STREAM_PREMATURE_CLOSE"){var s=i[Yu];s!==null&&(i[ju]=null,i[Sl]=null,i[Yu]=null,s(n)),i[hE]=n;return}var o=i[Sl];o!==null&&(i[ju]=null,i[Sl]=null,i[Yu]=null,o(vl(void 0,!0))),i[Bb]=!0}),e.on("readable",s6e.bind(null,i)),i};Bce.exports=l6e});var xce=w((ibt,vce)=>{"use strict";function bce(r,e,t,i,n,s,o){try{var a=r[s](o),l=a.value}catch(c){t(c);return}a.done?e(l):Promise.resolve(l).then(i,n)}function c6e(r){return function(){var e=this,t=arguments;return new Promise(function(i,n){var s=r.apply(e,t);function o(l){bce(s,i,n,o,a,"next",l)}function a(l){bce(s,i,n,o,a,"throw",l)}o(void 0)})}}function Sce(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(r);e&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(r,n).enumerable})),t.push.apply(t,i)}return t}function u6e(r){for(var e=1;e{"use strict";Mce.exports=Ut;var lp;Ut.ReadableState=Rce;var nbt=J("events").EventEmitter,kce=function(e,t){return e.listeners(t).length},dE=dM(),Qb=J("buffer").Buffer,p6e=global.Uint8Array||function(){};function d6e(r){return Qb.from(r)}function C6e(r){return Qb.isBuffer(r)||r instanceof p6e}var LM=J("util"),Dt;LM&&LM.debuglog?Dt=LM.debuglog("stream"):Dt=function(){};var m6e=Zle(),GM=EM(),E6e=IM(),I6e=E6e.getHighWaterMark,bb=wl().codes,y6e=bb.ERR_INVALID_ARG_TYPE,w6e=bb.ERR_STREAM_PUSH_AFTER_EOF,B6e=bb.ERR_METHOD_NOT_IMPLEMENTED,Q6e=bb.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,cp,TM,OM;Bl()(Ut,dE);var pE=GM.errorOrDestroy,MM=["error","close","destroy","pause","resume"];function b6e(r,e,t){if(typeof r.prependListener=="function")return r.prependListener(e,t);!r._events||!r._events[e]?r.on(e,t):Array.isArray(r._events[e])?r._events[e].unshift(t):r._events[e]=[t,r._events[e]]}function Rce(r,e,t){lp=lp||Gu(),r=r||{},typeof t!="boolean"&&(t=e instanceof lp),this.objectMode=!!r.objectMode,t&&(this.objectMode=this.objectMode||!!r.readableObjectMode),this.highWaterMark=I6e(this,r,"readableHighWaterMark",t),this.buffer=new m6e,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=r.emitClose!==!1,this.autoDestroy=!!r.autoDestroy,this.destroyed=!1,this.defaultEncoding=r.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,r.encoding&&(cp||(cp=FM().StringDecoder),this.decoder=new cp(r.encoding),this.encoding=r.encoding)}function Ut(r){if(lp=lp||Gu(),!(this instanceof Ut))return new Ut(r);var e=this instanceof lp;this._readableState=new Rce(r,this,e),this.readable=!0,r&&(typeof r.read=="function"&&(this._read=r.read),typeof r.destroy=="function"&&(this._destroy=r.destroy)),dE.call(this)}Object.defineProperty(Ut.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(e){!this._readableState||(this._readableState.destroyed=e)}});Ut.prototype.destroy=GM.destroy;Ut.prototype._undestroy=GM.undestroy;Ut.prototype._destroy=function(r,e){e(r)};Ut.prototype.push=function(r,e){var t=this._readableState,i;return t.objectMode?i=!0:typeof r=="string"&&(e=e||t.defaultEncoding,e!==t.encoding&&(r=Qb.from(r,e),e=""),i=!0),Fce(this,r,e,!1,i)};Ut.prototype.unshift=function(r){return Fce(this,r,null,!0,!1)};function Fce(r,e,t,i,n){Dt("readableAddChunk",e);var s=r._readableState;if(e===null)s.reading=!1,x6e(r,s);else{var o;if(n||(o=S6e(s,e)),o)pE(r,o);else if(s.objectMode||e&&e.length>0)if(typeof e!="string"&&!s.objectMode&&Object.getPrototypeOf(e)!==Qb.prototype&&(e=d6e(e)),i)s.endEmitted?pE(r,new Q6e):KM(r,s,e,!0);else if(s.ended)pE(r,new w6e);else{if(s.destroyed)return!1;s.reading=!1,s.decoder&&!t?(e=s.decoder.write(e),s.objectMode||e.length!==0?KM(r,s,e,!1):HM(r,s)):KM(r,s,e,!1)}else i||(s.reading=!1,HM(r,s))}return!s.ended&&(s.length=Pce?r=Pce:(r--,r|=r>>>1,r|=r>>>2,r|=r>>>4,r|=r>>>8,r|=r>>>16,r++),r}function Dce(r,e){return r<=0||e.length===0&&e.ended?0:e.objectMode?1:r!==r?e.flowing&&e.length?e.buffer.head.data.length:e.length:(r>e.highWaterMark&&(e.highWaterMark=v6e(r)),r<=e.length?r:e.ended?e.length:(e.needReadable=!0,0))}Ut.prototype.read=function(r){Dt("read",r),r=parseInt(r,10);var e=this._readableState,t=r;if(r!==0&&(e.emittedReadable=!1),r===0&&e.needReadable&&((e.highWaterMark!==0?e.length>=e.highWaterMark:e.length>0)||e.ended))return Dt("read: emitReadable",e.length,e.ended),e.length===0&&e.ended?UM(this):Sb(this),null;if(r=Dce(r,e),r===0&&e.ended)return e.length===0&&UM(this),null;var i=e.needReadable;Dt("need readable",i),(e.length===0||e.length-r0?n=Tce(r,e):n=null,n===null?(e.needReadable=e.length<=e.highWaterMark,r=0):(e.length-=r,e.awaitDrain=0),e.length===0&&(e.ended||(e.needReadable=!0),t!==r&&e.ended&&UM(this)),n!==null&&this.emit("data",n),n};function x6e(r,e){if(Dt("onEofChunk"),!e.ended){if(e.decoder){var t=e.decoder.end();t&&t.length&&(e.buffer.push(t),e.length+=e.objectMode?1:t.length)}e.ended=!0,e.sync?Sb(r):(e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,Nce(r)))}}function Sb(r){var e=r._readableState;Dt("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(Dt("emitReadable",e.flowing),e.emittedReadable=!0,process.nextTick(Nce,r))}function Nce(r){var e=r._readableState;Dt("emitReadable_",e.destroyed,e.length,e.ended),!e.destroyed&&(e.length||e.ended)&&(r.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,YM(r)}function HM(r,e){e.readingMore||(e.readingMore=!0,process.nextTick(P6e,r,e))}function P6e(r,e){for(;!e.reading&&!e.ended&&(e.length1&&Oce(i.pipes,r)!==-1)&&!c&&(Dt("false write response, pause",i.awaitDrain),i.awaitDrain++),t.pause())}function f(y){Dt("onerror",y),C(),r.removeListener("error",f),kce(r,"error")===0&&pE(r,y)}b6e(r,"error",f);function h(){r.removeListener("finish",p),C()}r.once("close",h);function p(){Dt("onfinish"),r.removeListener("close",h),C()}r.once("finish",p);function C(){Dt("unpipe"),t.unpipe(r)}return r.emit("pipe",t),i.flowing||(Dt("pipe resume"),t.resume()),r};function D6e(r){return function(){var t=r._readableState;Dt("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,t.awaitDrain===0&&kce(r,"data")&&(t.flowing=!0,YM(r))}}Ut.prototype.unpipe=function(r){var e=this._readableState,t={hasUnpiped:!1};if(e.pipesCount===0)return this;if(e.pipesCount===1)return r&&r!==e.pipes?this:(r||(r=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,r&&r.emit("unpipe",this,t),this);if(!r){var i=e.pipes,n=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var s=0;s0,i.flowing!==!1&&this.resume()):r==="readable"&&!i.endEmitted&&!i.readableListening&&(i.readableListening=i.needReadable=!0,i.flowing=!1,i.emittedReadable=!1,Dt("on readable",i.length,i.reading),i.length?Sb(this):i.reading||process.nextTick(k6e,this)),t};Ut.prototype.addListener=Ut.prototype.on;Ut.prototype.removeListener=function(r,e){var t=dE.prototype.removeListener.call(this,r,e);return r==="readable"&&process.nextTick(Lce,this),t};Ut.prototype.removeAllListeners=function(r){var e=dE.prototype.removeAllListeners.apply(this,arguments);return(r==="readable"||r===void 0)&&process.nextTick(Lce,this),e};function Lce(r){var e=r._readableState;e.readableListening=r.listenerCount("readable")>0,e.resumeScheduled&&!e.paused?e.flowing=!0:r.listenerCount("data")>0&&r.resume()}function k6e(r){Dt("readable nexttick read 0"),r.read(0)}Ut.prototype.resume=function(){var r=this._readableState;return r.flowing||(Dt("resume"),r.flowing=!r.readableListening,R6e(this,r)),r.paused=!1,this};function R6e(r,e){e.resumeScheduled||(e.resumeScheduled=!0,process.nextTick(F6e,r,e))}function F6e(r,e){Dt("resume",e.reading),e.reading||r.read(0),e.resumeScheduled=!1,r.emit("resume"),YM(r),e.flowing&&!e.reading&&r.read(0)}Ut.prototype.pause=function(){return Dt("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(Dt("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this};function YM(r){var e=r._readableState;for(Dt("flow",e.flowing);e.flowing&&r.read()!==null;);}Ut.prototype.wrap=function(r){var e=this,t=this._readableState,i=!1;r.on("end",function(){if(Dt("wrapped end"),t.decoder&&!t.ended){var o=t.decoder.end();o&&o.length&&e.push(o)}e.push(null)}),r.on("data",function(o){if(Dt("wrapped data"),t.decoder&&(o=t.decoder.write(o)),!(t.objectMode&&o==null)&&!(!t.objectMode&&(!o||!o.length))){var a=e.push(o);a||(i=!0,r.pause())}});for(var n in r)this[n]===void 0&&typeof r[n]=="function"&&(this[n]=function(a){return function(){return r[a].apply(r,arguments)}}(n));for(var s=0;s=e.length?(e.decoder?t=e.buffer.join(""):e.buffer.length===1?t=e.buffer.first():t=e.buffer.concat(e.length),e.buffer.clear()):t=e.buffer.consume(r,e.decoder),t}function UM(r){var e=r._readableState;Dt("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,process.nextTick(N6e,e,r))}function N6e(r,e){if(Dt("endReadableNT",r.endEmitted,r.length),!r.endEmitted&&r.length===0&&(r.endEmitted=!0,e.readable=!1,e.emit("end"),r.autoDestroy)){var t=e._writableState;(!t||t.autoDestroy&&t.finished)&&e.destroy()}}typeof Symbol=="function"&&(Ut.from=function(r,e){return OM===void 0&&(OM=xce()),OM(Ut,r,e)});function Oce(r,e){for(var t=0,i=r.length;t{"use strict";Uce.exports=fA;var vb=wl().codes,L6e=vb.ERR_METHOD_NOT_IMPLEMENTED,T6e=vb.ERR_MULTIPLE_CALLBACK,O6e=vb.ERR_TRANSFORM_ALREADY_TRANSFORMING,M6e=vb.ERR_TRANSFORM_WITH_LENGTH_0,xb=Gu();Bl()(fA,xb);function K6e(r,e){var t=this._transformState;t.transforming=!1;var i=t.writecb;if(i===null)return this.emit("error",new T6e);t.writechunk=null,t.writecb=null,e!=null&&this.push(e),i(r);var n=this._readableState;n.reading=!1,(n.needReadable||n.length{"use strict";Gce.exports=CE;var Hce=jM();Bl()(CE,Hce);function CE(r){if(!(this instanceof CE))return new CE(r);Hce.call(this,r)}CE.prototype._transform=function(r,e,t){t(null,r)}});var zce=w((Abt,Wce)=>{"use strict";var qM;function H6e(r){var e=!1;return function(){e||(e=!0,r.apply(void 0,arguments))}}var Jce=wl().codes,G6e=Jce.ERR_MISSING_ARGS,Y6e=Jce.ERR_STREAM_DESTROYED;function jce(r){if(r)throw r}function j6e(r){return r.setHeader&&typeof r.abort=="function"}function q6e(r,e,t,i){i=H6e(i);var n=!1;r.on("close",function(){n=!0}),qM===void 0&&(qM=yb()),qM(r,{readable:e,writable:t},function(o){if(o)return i(o);n=!0,i()});var s=!1;return function(o){if(!n&&!s){if(s=!0,j6e(r))return r.abort();if(typeof r.destroy=="function")return r.destroy();i(o||new Y6e("pipe"))}}}function qce(r){r()}function J6e(r,e){return r.pipe(e)}function W6e(r){return!r.length||typeof r[r.length-1]!="function"?jce:r.pop()}function z6e(){for(var r=arguments.length,e=new Array(r),t=0;t0;return q6e(o,l,c,function(u){n||(n=u),u&&s.forEach(qce),!l&&(s.forEach(qce),i(n))})});return e.reduce(J6e)}Wce.exports=z6e});var up=w((Ts,EE)=>{var mE=J("stream");process.env.READABLE_STREAM==="disable"&&mE?(EE.exports=mE.Readable,Object.assign(EE.exports,mE),EE.exports.Stream=mE):(Ts=EE.exports=PM(),Ts.Stream=mE||Ts,Ts.Readable=Ts,Ts.Writable=SM(),Ts.Duplex=Gu(),Ts.Transform=jM(),Ts.PassThrough=Yce(),Ts.finished=yb(),Ts.pipeline=zce())});var Zce=w((lbt,Xce)=>{"use strict";var{Buffer:Eo}=J("buffer"),Vce=Symbol.for("BufferList");function fr(r){if(!(this instanceof fr))return new fr(r);fr._init.call(this,r)}fr._init=function(e){Object.defineProperty(this,Vce,{value:!0}),this._bufs=[],this.length=0,e&&this.append(e)};fr.prototype._new=function(e){return new fr(e)};fr.prototype._offset=function(e){if(e===0)return[0,0];let t=0;for(let i=0;ithis.length||e<0)return;let t=this._offset(e);return this._bufs[t[0]][t[1]]};fr.prototype.slice=function(e,t){return typeof e=="number"&&e<0&&(e+=this.length),typeof t=="number"&&t<0&&(t+=this.length),this.copy(null,0,e,t)};fr.prototype.copy=function(e,t,i,n){if((typeof i!="number"||i<0)&&(i=0),(typeof n!="number"||n>this.length)&&(n=this.length),i>=this.length||n<=0)return e||Eo.alloc(0);let s=!!e,o=this._offset(i),a=n-i,l=a,c=s&&t||0,u=o[1];if(i===0&&n===this.length){if(!s)return this._bufs.length===1?this._bufs[0]:Eo.concat(this._bufs,this.length);for(let g=0;gf)this._bufs[g].copy(e,c,u),c+=f;else{this._bufs[g].copy(e,c,u,u+l),c+=f;break}l-=f,u&&(u=0)}return e.length>c?e.slice(0,c):e};fr.prototype.shallowSlice=function(e,t){if(e=e||0,t=typeof t!="number"?this.length:t,e<0&&(e+=this.length),t<0&&(t+=this.length),e===t)return this._new();let i=this._offset(e),n=this._offset(t),s=this._bufs.slice(i[0],n[0]+1);return n[1]===0?s.pop():s[s.length-1]=s[s.length-1].slice(0,n[1]),i[1]!==0&&(s[0]=s[0].slice(i[1])),this._new(s)};fr.prototype.toString=function(e,t,i){return this.slice(t,i).toString(e)};fr.prototype.consume=function(e){if(e=Math.trunc(e),Number.isNaN(e)||e<=0)return this;for(;this._bufs.length;)if(e>=this._bufs[0].length)e-=this._bufs[0].length,this.length-=this._bufs[0].length,this._bufs.shift();else{this._bufs[0]=this._bufs[0].slice(e),this.length-=e;break}return this};fr.prototype.duplicate=function(){let e=this._new();for(let t=0;tthis.length?this.length:e;let i=this._offset(e),n=i[0],s=i[1];for(;n=r.length){let l=o.indexOf(r,s);if(l!==-1)return this._reverseOffset([n,l]);s=o.length-r.length+1}else{let l=this._reverseOffset([n,s]);if(this._match(l,r))return l;s++}s=0}return-1};fr.prototype._match=function(r,e){if(this.length-r{"use strict";var JM=up().Duplex,V6e=Bl(),IE=Zce();function qi(r){if(!(this instanceof qi))return new qi(r);if(typeof r=="function"){this._callback=r;let e=function(i){this._callback&&(this._callback(i),this._callback=null)}.bind(this);this.on("pipe",function(i){i.on("error",e)}),this.on("unpipe",function(i){i.removeListener("error",e)}),r=null}IE._init.call(this,r),JM.call(this)}V6e(qi,JM);Object.assign(qi.prototype,IE.prototype);qi.prototype._new=function(e){return new qi(e)};qi.prototype._write=function(e,t,i){this._appendBuffer(e),typeof i=="function"&&i()};qi.prototype._read=function(e){if(!this.length)return this.push(null);e=Math.min(e,this.length),this.push(this.slice(0,e)),this.consume(e)};qi.prototype.end=function(e){JM.prototype.end.call(this,e),this._callback&&(this._callback(null,this.slice()),this._callback=null)};qi.prototype._destroy=function(e,t){this._bufs.length=0,this.length=0,t(e)};qi.prototype._isBufferList=function(e){return e instanceof qi||e instanceof IE||qi.isBufferList(e)};qi.isBufferList=IE.isBufferList;Pb.exports=qi;Pb.exports.BufferListStream=qi;Pb.exports.BufferList=IE});var VM=w(fp=>{var X6e=Buffer.alloc,Z6e="0000000000000000000",_6e="7777777777777777777",$ce="0".charCodeAt(0),eue=Buffer.from("ustar\0","binary"),$6e=Buffer.from("00","binary"),eVe=Buffer.from("ustar ","binary"),tVe=Buffer.from(" \0","binary"),rVe=parseInt("7777",8),yE=257,zM=263,iVe=function(r,e,t){return typeof r!="number"?t:(r=~~r,r>=e?e:r>=0||(r+=e,r>=0)?r:0)},nVe=function(r){switch(r){case 0:return"file";case 1:return"link";case 2:return"symlink";case 3:return"character-device";case 4:return"block-device";case 5:return"directory";case 6:return"fifo";case 7:return"contiguous-file";case 72:return"pax-header";case 55:return"pax-global-header";case 27:return"gnu-long-link-path";case 28:case 30:return"gnu-long-path"}return null},sVe=function(r){switch(r){case"file":return 0;case"link":return 1;case"symlink":return 2;case"character-device":return 3;case"block-device":return 4;case"directory":return 5;case"fifo":return 6;case"contiguous-file":return 7;case"pax-header":return 72}return 0},tue=function(r,e,t,i){for(;te?_6e.slice(0,e)+" ":Z6e.slice(0,e-r.length)+r+" "};function oVe(r){var e;if(r[0]===128)e=!0;else if(r[0]===255)e=!1;else return null;for(var t=[],i=r.length-1;i>0;i--){var n=r[i];e?t.push(n):t.push(255-n)}var s=0,o=t.length;for(i=0;i=Math.pow(10,t)&&t++,e+t+r};fp.decodeLongPath=function(r,e){return gp(r,0,r.length,e)};fp.encodePax=function(r){var e="";r.name&&(e+=WM(" path="+r.name+` +`)),r.linkname&&(e+=WM(" linkpath="+r.linkname+` +`));var t=r.pax;if(t)for(var i in t)e+=WM(" "+i+"="+t[i]+` +`);return Buffer.from(e)};fp.decodePax=function(r){for(var e={};r.length;){for(var t=0;t100;){var n=t.indexOf("/");if(n===-1)return null;i+=i?"/"+t.slice(0,n):t.slice(0,n),t=t.slice(n+1)}return Buffer.byteLength(t)>100||Buffer.byteLength(i)>155||r.linkname&&Buffer.byteLength(r.linkname)>100?null:(e.write(t),e.write(xl(r.mode&rVe,6),100),e.write(xl(r.uid,6),108),e.write(xl(r.gid,6),116),e.write(xl(r.size,11),124),e.write(xl(r.mtime.getTime()/1e3|0,11),136),e[156]=$ce+sVe(r.type),r.linkname&&e.write(r.linkname,157),eue.copy(e,yE),$6e.copy(e,zM),r.uname&&e.write(r.uname,265),r.gname&&e.write(r.gname,297),e.write(xl(r.devmajor||0,6),329),e.write(xl(r.devminor||0,6),337),i&&e.write(i,345),e.write(xl(rue(e),6),148),e)};fp.decode=function(r,e,t){var i=r[156]===0?0:r[156]-$ce,n=gp(r,0,100,e),s=Pl(r,100,8),o=Pl(r,108,8),a=Pl(r,116,8),l=Pl(r,124,12),c=Pl(r,136,12),u=nVe(i),g=r[157]===0?null:gp(r,157,100,e),f=gp(r,265,32),h=gp(r,297,32),p=Pl(r,329,8),C=Pl(r,337,8),y=rue(r);if(y===8*32)return null;if(y!==Pl(r,148,8))throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?");if(eue.compare(r,yE,yE+6)===0)r[345]&&(n=gp(r,345,155,e)+"/"+n);else if(!(eVe.compare(r,yE,yE+6)===0&&tVe.compare(r,zM,zM+2)===0)){if(!t)throw new Error("Invalid tar header: unknown format.")}return i===0&&n&&n[n.length-1]==="/"&&(i=5),{name:n,mode:s,uid:o,gid:a,size:l,mtime:new Date(1e3*c),type:u,linkname:g,uname:f,gname:h,devmajor:p,devminor:C}}});var lue=w((gbt,Aue)=>{var nue=J("util"),aVe=_ce(),wE=VM(),sue=up().Writable,oue=up().PassThrough,aue=function(){},iue=function(r){return r&=511,r&&512-r},AVe=function(r,e){var t=new Db(r,e);return t.end(),t},lVe=function(r,e){return e.path&&(r.name=e.path),e.linkpath&&(r.linkname=e.linkpath),e.size&&(r.size=parseInt(e.size,10)),r.pax=e,r},Db=function(r,e){this._parent=r,this.offset=e,oue.call(this,{autoDestroy:!1})};nue.inherits(Db,oue);Db.prototype.destroy=function(r){this._parent.destroy(r)};var hA=function(r){if(!(this instanceof hA))return new hA(r);sue.call(this,r),r=r||{},this._offset=0,this._buffer=aVe(),this._missing=0,this._partial=!1,this._onparse=aue,this._header=null,this._stream=null,this._overflow=null,this._cb=null,this._locked=!1,this._destroyed=!1,this._pax=null,this._paxGlobal=null,this._gnuLongPath=null,this._gnuLongLinkPath=null;var e=this,t=e._buffer,i=function(){e._continue()},n=function(f){if(e._locked=!1,f)return e.destroy(f);e._stream||i()},s=function(){e._stream=null;var f=iue(e._header.size);f?e._parse(f,o):e._parse(512,g),e._locked||i()},o=function(){e._buffer.consume(iue(e._header.size)),e._parse(512,g),i()},a=function(){var f=e._header.size;e._paxGlobal=wE.decodePax(t.slice(0,f)),t.consume(f),s()},l=function(){var f=e._header.size;e._pax=wE.decodePax(t.slice(0,f)),e._paxGlobal&&(e._pax=Object.assign({},e._paxGlobal,e._pax)),t.consume(f),s()},c=function(){var f=e._header.size;this._gnuLongPath=wE.decodeLongPath(t.slice(0,f),r.filenameEncoding),t.consume(f),s()},u=function(){var f=e._header.size;this._gnuLongLinkPath=wE.decodeLongPath(t.slice(0,f),r.filenameEncoding),t.consume(f),s()},g=function(){var f=e._offset,h;try{h=e._header=wE.decode(t.slice(0,512),r.filenameEncoding,r.allowUnknownFormat)}catch(p){e.emit("error",p)}if(t.consume(512),!h){e._parse(512,g),i();return}if(h.type==="gnu-long-path"){e._parse(h.size,c),i();return}if(h.type==="gnu-long-link-path"){e._parse(h.size,u),i();return}if(h.type==="pax-global-header"){e._parse(h.size,a),i();return}if(h.type==="pax-header"){e._parse(h.size,l),i();return}if(e._gnuLongPath&&(h.name=e._gnuLongPath,e._gnuLongPath=null),e._gnuLongLinkPath&&(h.linkname=e._gnuLongLinkPath,e._gnuLongLinkPath=null),e._pax&&(e._header=h=lVe(h,e._pax),e._pax=null),e._locked=!0,!h.size||h.type==="directory"){e._parse(512,g),e.emit("entry",h,AVe(e,f),n);return}e._stream=new Db(e,f),e.emit("entry",h,e._stream,n),e._parse(h.size,s),i()};this._onheader=g,this._parse(512,g)};nue.inherits(hA,sue);hA.prototype.destroy=function(r){this._destroyed||(this._destroyed=!0,r&&this.emit("error",r),this.emit("close"),this._stream&&this._stream.emit("close"))};hA.prototype._parse=function(r,e){this._destroyed||(this._offset+=r,this._missing=r,e===this._onheader&&(this._partial=!1),this._onparse=e)};hA.prototype._continue=function(){if(!this._destroyed){var r=this._cb;this._cb=aue,this._overflow?this._write(this._overflow,void 0,r):r()}};hA.prototype._write=function(r,e,t){if(!this._destroyed){var i=this._stream,n=this._buffer,s=this._missing;if(r.length&&(this._partial=!0),r.lengths&&(o=r.slice(s),r=r.slice(0,s)),i?i.end(r):n.append(r),this._overflow=o,this._onparse()}};hA.prototype._final=function(r){if(this._partial)return this.destroy(new Error("Unexpected end of data"));r()};Aue.exports=hA});var uue=w((fbt,cue)=>{cue.exports=J("fs").constants||J("constants")});var due=w((hbt,pue)=>{var hp=uue(),gue=Pk(),Rb=Bl(),cVe=Buffer.alloc,fue=up().Readable,pp=up().Writable,uVe=J("string_decoder").StringDecoder,kb=VM(),gVe=parseInt("755",8),fVe=parseInt("644",8),hue=cVe(1024),ZM=function(){},XM=function(r,e){e&=511,e&&r.push(hue.slice(0,512-e))};function hVe(r){switch(r&hp.S_IFMT){case hp.S_IFBLK:return"block-device";case hp.S_IFCHR:return"character-device";case hp.S_IFDIR:return"directory";case hp.S_IFIFO:return"fifo";case hp.S_IFLNK:return"symlink"}return"file"}var Fb=function(r){pp.call(this),this.written=0,this._to=r,this._destroyed=!1};Rb(Fb,pp);Fb.prototype._write=function(r,e,t){if(this.written+=r.length,this._to.push(r))return t();this._to._drain=t};Fb.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var Nb=function(){pp.call(this),this.linkname="",this._decoder=new uVe("utf-8"),this._destroyed=!1};Rb(Nb,pp);Nb.prototype._write=function(r,e,t){this.linkname+=this._decoder.write(r),t()};Nb.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var BE=function(){pp.call(this),this._destroyed=!1};Rb(BE,pp);BE.prototype._write=function(r,e,t){t(new Error("No body allowed for this entry"))};BE.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var aa=function(r){if(!(this instanceof aa))return new aa(r);fue.call(this,r),this._drain=ZM,this._finalized=!1,this._finalizing=!1,this._destroyed=!1,this._stream=null};Rb(aa,fue);aa.prototype.entry=function(r,e,t){if(this._stream)throw new Error("already piping an entry");if(!(this._finalized||this._destroyed)){typeof e=="function"&&(t=e,e=null),t||(t=ZM);var i=this;if((!r.size||r.type==="symlink")&&(r.size=0),r.type||(r.type=hVe(r.mode)),r.mode||(r.mode=r.type==="directory"?gVe:fVe),r.uid||(r.uid=0),r.gid||(r.gid=0),r.mtime||(r.mtime=new Date),typeof e=="string"&&(e=Buffer.from(e)),Buffer.isBuffer(e)){r.size=e.length,this._encode(r);var n=this.push(e);return XM(i,r.size),n?process.nextTick(t):this._drain=t,new BE}if(r.type==="symlink"&&!r.linkname){var s=new Nb;return gue(s,function(a){if(a)return i.destroy(),t(a);r.linkname=s.linkname,i._encode(r),t()}),s}if(this._encode(r),r.type!=="file"&&r.type!=="contiguous-file")return process.nextTick(t),new BE;var o=new Fb(this);return this._stream=o,gue(o,function(a){if(i._stream=null,a)return i.destroy(),t(a);if(o.written!==r.size)return i.destroy(),t(new Error("size mismatch"));XM(i,r.size),i._finalizing&&i.finalize(),t()}),o}};aa.prototype.finalize=function(){if(this._stream){this._finalizing=!0;return}this._finalized||(this._finalized=!0,this.push(hue),this.push(null))};aa.prototype.destroy=function(r){this._destroyed||(this._destroyed=!0,r&&this.emit("error",r),this.emit("close"),this._stream&&this._stream.destroy&&this._stream.destroy())};aa.prototype._encode=function(r){if(!r.pax){var e=kb.encode(r);if(e){this.push(e);return}}this._encodePax(r)};aa.prototype._encodePax=function(r){var e=kb.encodePax({name:r.name,linkname:r.linkname,pax:r.pax}),t={name:"PaxHeader",mode:r.mode,uid:r.uid,gid:r.gid,size:e.length,mtime:r.mtime,type:"pax-header",linkname:r.linkname&&"PaxHeader",uname:r.uname,gname:r.gname,devmajor:r.devmajor,devminor:r.devminor};this.push(kb.encode(t)),this.push(e),XM(this,e.length),t.size=r.size,t.type=r.type,this.push(kb.encode(t))};aa.prototype._read=function(r){var e=this._drain;this._drain=ZM,e()};pue.exports=aa});var Cue=w(_M=>{_M.extract=lue();_M.pack=due()});var Pue=w((Tbt,xue)=>{"use strict";var Wu=class{constructor(e,t,i){this.__specs=e||{},Object.keys(this.__specs).forEach(n=>{if(typeof this.__specs[n]=="string"){let s=this.__specs[n],o=this.__specs[s];if(o){let a=o.aliases||[];a.push(n,s),o.aliases=[...new Set(a)],this.__specs[n]=o}else throw new Error(`Alias refers to invalid key: ${s} -> ${n}`)}}),this.__opts=t||{},this.__providers=Sue(i.filter(n=>n!=null&&typeof n=="object")),this.__isFiggyPudding=!0}get(e){return n1(this,e,!0)}get[Symbol.toStringTag](){return"FiggyPudding"}forEach(e,t=this){for(let[i,n]of this.entries())e.call(t,n,i,this)}toJSON(){let e={};return this.forEach((t,i)=>{e[i]=t}),e}*entries(e){for(let i of Object.keys(this.__specs))yield[i,this.get(i)];let t=e||this.__opts.other;if(t){let i=new Set;for(let n of this.__providers){let s=n.entries?n.entries(t):PVe(n);for(let[o,a]of s)t(o)&&!i.has(o)&&(i.add(o),yield[o,a])}}}*[Symbol.iterator](){for(let[e,t]of this.entries())yield[e,t]}*keys(){for(let[e]of this.entries())yield e}*values(){for(let[,e]of this.entries())yield e}concat(...e){return new Proxy(new Wu(this.__specs,this.__opts,Sue(this.__providers).concat(e)),vue)}};try{let r=J("util");Wu.prototype[r.inspect.custom]=function(e,t){return this[Symbol.toStringTag]+" "+r.inspect(this.toJSON(),t)}}catch{}function vVe(r){throw Object.assign(new Error(`invalid config key requested: ${r}`),{code:"EBADKEY"})}function n1(r,e,t){let i=r.__specs[e];if(t&&!i&&(!r.__opts.other||!r.__opts.other(e)))vVe(e);else{i||(i={});let n;for(let s of r.__providers){if(n=bue(e,s),n===void 0&&i.aliases&&i.aliases.length){for(let o of i.aliases)if(o!==e&&(n=bue(o,s),n!==void 0))break}if(n!==void 0)break}return n===void 0&&i.default!==void 0?typeof i.default=="function"?i.default(r):i.default:n}}function bue(r,e){let t;return e.__isFiggyPudding?t=n1(e,r,!1):typeof e.get=="function"?t=e.get(r):t=e[r],t}var vue={has(r,e){return e in r.__specs&&n1(r,e,!1)!==void 0},ownKeys(r){return Object.keys(r.__specs)},get(r,e){return typeof e=="symbol"||e.slice(0,2)==="__"||e in Wu.prototype?r[e]:r.get(e)},set(r,e,t){if(typeof e=="symbol"||e.slice(0,2)==="__")return r[e]=t,!0;throw new Error("figgyPudding options cannot be modified. Use .concat() instead.")},deleteProperty(){throw new Error("figgyPudding options cannot be deleted. Use .concat() and shadow them instead.")}};xue.exports=xVe;function xVe(r,e){function t(...i){return new Proxy(new Wu(r,e,i),vue)}return t}function Sue(r){let e=[];return r.forEach(t=>e.unshift(t)),e}function PVe(r){return Object.keys(r).map(e=>[e,r[e]])}});var Rue=w((Obt,ca)=>{"use strict";var bE=J("crypto"),DVe=Pue(),kVe=J("stream").Transform,Due=["sha256","sha384","sha512"],RVe=/^[a-z0-9+/]+(?:=?=?)$/i,FVe=/^([^-]+)-([^?]+)([?\S*]*)$/,NVe=/^([^-]+)-([A-Za-z0-9+/=]{44,88})(\?[\x21-\x7E]*)*$/,LVe=/^[\x21-\x7E]+$/,on=DVe({algorithms:{default:["sha512"]},error:{default:!1},integrity:{},options:{default:[]},pickAlgorithm:{default:()=>YVe},Promise:{default:()=>Promise},sep:{default:" "},single:{default:!1},size:{},strict:{default:!1}}),Dl=class{get isHash(){return!0}constructor(e,t){t=on(t);let i=!!t.strict;this.source=e.trim();let n=this.source.match(i?NVe:FVe);if(!n||i&&!Due.some(o=>o===n[1]))return;this.algorithm=n[1],this.digest=n[2];let s=n[3];this.options=s?s.slice(1).split("?"):[]}hexDigest(){return this.digest&&Buffer.from(this.digest,"base64").toString("hex")}toJSON(){return this.toString()}toString(e){if(e=on(e),e.strict&&!(Due.some(i=>i===this.algorithm)&&this.digest.match(RVe)&&(this.options||[]).every(i=>i.match(LVe))))return"";let t=this.options&&this.options.length?`?${this.options.join("?")}`:"";return`${this.algorithm}-${this.digest}${t}`}},zu=class{get isIntegrity(){return!0}toJSON(){return this.toString()}toString(e){e=on(e);let t=e.sep||" ";return e.strict&&(t=t.replace(/\S+/g," ")),Object.keys(this).map(i=>this[i].map(n=>Dl.prototype.toString.call(n,e)).filter(n=>n.length).join(t)).filter(i=>i.length).join(t)}concat(e,t){t=on(t);let i=typeof e=="string"?e:QE(e,t);return la(`${this.toString(t)} ${i}`,t)}hexDigest(){return la(this,{single:!0}).hexDigest()}match(e,t){t=on(t);let i=la(e,t),n=i.pickAlgorithm(t);return this[n]&&i[n]&&this[n].find(s=>i[n].find(o=>s.digest===o.digest))||!1}pickAlgorithm(e){e=on(e);let t=e.pickAlgorithm,i=Object.keys(this);if(!i.length)throw new Error(`No algorithms available for ${JSON.stringify(this.toString())}`);return i.reduce((n,s)=>t(n,s)||n)}};ca.exports.parse=la;function la(r,e){if(e=on(e),typeof r=="string")return s1(r,e);if(r.algorithm&&r.digest){let t=new zu;return t[r.algorithm]=[r],s1(QE(t,e),e)}else return s1(QE(r,e),e)}function s1(r,e){return e.single?new Dl(r,e):r.trim().split(/\s+/).reduce((t,i)=>{let n=new Dl(i,e);if(n.algorithm&&n.digest){let s=n.algorithm;t[s]||(t[s]=[]),t[s].push(n)}return t},new zu)}ca.exports.stringify=QE;function QE(r,e){return e=on(e),r.algorithm&&r.digest?Dl.prototype.toString.call(r,e):typeof r=="string"?QE(la(r,e),e):zu.prototype.toString.call(r,e)}ca.exports.fromHex=TVe;function TVe(r,e,t){t=on(t);let i=t.options&&t.options.length?`?${t.options.join("?")}`:"";return la(`${e}-${Buffer.from(r,"hex").toString("base64")}${i}`,t)}ca.exports.fromData=OVe;function OVe(r,e){e=on(e);let t=e.algorithms,i=e.options&&e.options.length?`?${e.options.join("?")}`:"";return t.reduce((n,s)=>{let o=bE.createHash(s).update(r).digest("base64"),a=new Dl(`${s}-${o}${i}`,e);if(a.algorithm&&a.digest){let l=a.algorithm;n[l]||(n[l]=[]),n[l].push(a)}return n},new zu)}ca.exports.fromStream=MVe;function MVe(r,e){e=on(e);let t=e.Promise||Promise,i=o1(e);return new t((n,s)=>{r.pipe(i),r.on("error",s),i.on("error",s);let o;i.on("integrity",a=>{o=a}),i.on("end",()=>n(o)),i.on("data",()=>{})})}ca.exports.checkData=KVe;function KVe(r,e,t){if(t=on(t),e=la(e,t),!Object.keys(e).length){if(t.error)throw Object.assign(new Error("No valid integrity hashes to check against"),{code:"EINTEGRITY"});return!1}let i=e.pickAlgorithm(t),n=bE.createHash(i).update(r).digest("base64"),s=la({algorithm:i,digest:n}),o=s.match(e,t);if(o||!t.error)return o;if(typeof t.size=="number"&&r.length!==t.size){let a=new Error(`data size mismatch when checking ${e}. Wanted: ${t.size} - Found: ${r.length}`);throw a.code="EBADSIZE",a.found=r.length,a.expected=t.size,a.sri=e,a}else{let a=new Error(`Integrity checksum failed when using ${i}: Wanted ${e}, but got ${s}. (${r.length} bytes)`);throw a.code="EINTEGRITY",a.found=s,a.expected=e,a.algorithm=i,a.sri=e,a}}sa.exports.checkStream=LVe;function LVe(r,e,t){t=on(t);let i=t.Promise||Promise,n=FM(t.concat({integrity:e}));return new i((s,o)=>{r.pipe(n),r.on("error",o),n.on("error",o);let a;n.on("verified",l=>{a=l}),n.on("end",()=>s(a)),n.on("data",()=>{})})}sa.exports.integrityStream=FM;function FM(r){r=on(r);let e=r.integrity&&na(r.integrity,r),t=e&&Object.keys(e).length,i=t&&e.pickAlgorithm(r),n=t&&e[i],s=Array.from(new Set(r.algorithms.concat(i?[i]:[]))),o=s.map(CE.createHash),a=0,l=new SVe({transform(c,u,g){a+=c.length,o.forEach(f=>f.update(c,u)),g(null,c,u)}}).on("end",()=>{let c=r.options&&r.options.length?`?${r.options.join("?")}`:"",u=na(o.map((f,h)=>`${s[h]}-${f.digest("base64")}${c}`).join(" "),r),g=t&&u.match(e,r);if(typeof r.size=="number"&&a!==r.size){let f=new Error(`stream size mismatch when checking ${e}. + Found: ${r.length}`);throw a.code="EBADSIZE",a.found=r.length,a.expected=t.size,a.sri=e,a}else{let a=new Error(`Integrity checksum failed when using ${i}: Wanted ${e}, but got ${s}. (${r.length} bytes)`);throw a.code="EINTEGRITY",a.found=s,a.expected=e,a.algorithm=i,a.sri=e,a}}ca.exports.checkStream=UVe;function UVe(r,e,t){t=on(t);let i=t.Promise||Promise,n=o1(t.concat({integrity:e}));return new i((s,o)=>{r.pipe(n),r.on("error",o),n.on("error",o);let a;n.on("verified",l=>{a=l}),n.on("end",()=>s(a)),n.on("data",()=>{})})}ca.exports.integrityStream=o1;function o1(r){r=on(r);let e=r.integrity&&la(r.integrity,r),t=e&&Object.keys(e).length,i=t&&e.pickAlgorithm(r),n=t&&e[i],s=Array.from(new Set(r.algorithms.concat(i?[i]:[]))),o=s.map(bE.createHash),a=0,l=new kVe({transform(c,u,g){a+=c.length,o.forEach(f=>f.update(c,u)),g(null,c,u)}}).on("end",()=>{let c=r.options&&r.options.length?`?${r.options.join("?")}`:"",u=la(o.map((f,h)=>`${s[h]}-${f.digest("base64")}${c}`).join(" "),r),g=t&&u.match(e,r);if(typeof r.size=="number"&&a!==r.size){let f=new Error(`stream size mismatch when checking ${e}. Wanted: ${r.size} - Found: ${a}`);f.code="EBADSIZE",f.found=a,f.expected=r.size,f.sri=e,l.emit("error",f)}else if(r.integrity&&!g){let f=new Error(`${e} integrity checksum failed when using ${i}: wanted ${n} but got ${u}. (${a} bytes)`);f.code="EINTEGRITY",f.found=u,f.expected=n,f.algorithm=i,f.sri=e,l.emit("error",f)}else l.emit("size",a),l.emit("integrity",u),g&&l.emit("verified",g)});return l}sa.exports.create=TVe;function TVe(r){r=on(r);let e=r.algorithms,t=r.options.length?`?${r.options.join("?")}`:"",i=e.map(CE.createHash);return{update:function(n,s){return i.forEach(o=>o.update(n,s)),this},digest:function(n){return e.reduce((o,a)=>{let l=i.shift().digest("base64"),c=new yl(`${a}-${l}${t}`,r);if(c.algorithm&&c.digest){let u=c.algorithm;o[u]||(o[u]=[]),o[u].push(c)}return o},new Hu)}}}var OVe=new Set(CE.getHashes()),qce=["md5","whirlpool","sha1","sha224","sha256","sha384","sha512","sha3","sha3-256","sha3-384","sha3-512","sha3_256","sha3_384","sha3_512"].filter(r=>OVe.has(r));function MVe(r,e){return qce.indexOf(r.toLowerCase())>=qce.indexOf(e.toLowerCase())?r:e}});var VC={};ut(VC,{BuildType:()=>C0,Cache:()=>Rt,Configuration:()=>ye,DEFAULT_LOCK_FILENAME:()=>jD,DEFAULT_RC_FILENAME:()=>YD,FormatType:()=>vi,InstallMode:()=>Xn,LightReport:()=>_o,LinkType:()=>lf,Manifest:()=>ot,MessageName:()=>Ct,MultiFetcher:()=>If,PackageExtensionStatus:()=>Nx,PackageExtensionType:()=>Fx,Project:()=>je,ProjectLookup:()=>zD,Report:()=>Si,ReportError:()=>at,SettingsType:()=>qD,StreamReport:()=>Ge,TAG_REGEXP:()=>wf,TelemetryManager:()=>hh,ThrowReport:()=>ti,VirtualFetcher:()=>Bf,Workspace:()=>fh,WorkspaceFetcher:()=>bf,WorkspaceResolver:()=>jr,YarnVersion:()=>Lr,execUtils:()=>Cr,folderUtils:()=>ww,formatUtils:()=>ee,hashUtils:()=>li,httpUtils:()=>Vt,miscUtils:()=>Ie,nodeUtils:()=>Cs,parseMessageName:()=>QI,scriptUtils:()=>Jt,semverUtils:()=>vt,stringifyMessageName:()=>QA,structUtils:()=>P,tgzUtils:()=>Ci,treeUtils:()=>Vn});var Cr={};ut(Cr,{EndStrategy:()=>ZD,ExecError:()=>Dw,PipeError:()=>sC,execvp:()=>KD,pipevp:()=>Yo});var Lp={};ut(Lp,{AliasFS:()=>yo,CwdFS:()=>jt,DEFAULT_COMPRESSION_LEVEL:()=>Ol,FakeFS:()=>ha,Filename:()=>xt,JailFS:()=>wo,LazyFS:()=>dg,LinkStrategy:()=>tS,NoFS:()=>Rp,NodeFS:()=>$t,PortablePath:()=>Oe,PosixFS:()=>Cg,ProxiedFS:()=>pi,VirtualFS:()=>Br,ZipFS:()=>Wr,ZipOpenFS:()=>Tn,constants:()=>xr,extendFs:()=>XE,normalizeLineEndings:()=>Tl,npath:()=>K,opendir:()=>YE,patchFs:()=>lS,ppath:()=>x,statUtils:()=>Sp,toFilename:()=>Ur,xfs:()=>M});var xr={};ut(xr,{SAFE_TIME:()=>v1,S_IFDIR:()=>Fl,S_IFLNK:()=>Ll,S_IFMT:()=>Hs,S_IFREG:()=>Nl});var Hs=61440,Fl=16384,Nl=32768,Ll=40960,v1=456789e3;var Sp={};ut(Sp,{BigIntStatsEntry:()=>fg,DEFAULT_MODE:()=>Qp,DirEntry:()=>zb,StatEntry:()=>fa,areStatsEqual:()=>Xb,clearStats:()=>LE,convertToBigIntStats:()=>TE,makeDefaultStats:()=>bp,makeEmptyStats:()=>que});var Vb=Pe(J("util"));var Qp=33188,zb=class{constructor(){this.name="";this.mode=0}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&61440)===16384}isFIFO(){return!1}isFile(){return(this.mode&61440)===32768}isSocket(){return!1}isSymbolicLink(){return(this.mode&61440)===40960}},fa=class{constructor(){this.uid=0;this.gid=0;this.size=0;this.blksize=0;this.atimeMs=0;this.mtimeMs=0;this.ctimeMs=0;this.birthtimeMs=0;this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=0;this.ino=0;this.mode=Qp;this.nlink=1;this.rdev=0;this.blocks=1}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&61440)===16384}isFIFO(){return!1}isFile(){return(this.mode&61440)===32768}isSocket(){return!1}isSymbolicLink(){return(this.mode&61440)===40960}},fg=class{constructor(){this.uid=BigInt(0);this.gid=BigInt(0);this.size=BigInt(0);this.blksize=BigInt(0);this.atimeMs=BigInt(0);this.mtimeMs=BigInt(0);this.ctimeMs=BigInt(0);this.birthtimeMs=BigInt(0);this.atimeNs=BigInt(0);this.mtimeNs=BigInt(0);this.ctimeNs=BigInt(0);this.birthtimeNs=BigInt(0);this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=BigInt(0);this.ino=BigInt(0);this.mode=BigInt(Qp);this.nlink=BigInt(1);this.rdev=BigInt(0);this.blocks=BigInt(1)}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&BigInt(61440))===BigInt(16384)}isFIFO(){return!1}isFile(){return(this.mode&BigInt(61440))===BigInt(32768)}isSocket(){return!1}isSymbolicLink(){return(this.mode&BigInt(61440))===BigInt(40960)}};function bp(){return new fa}function que(){return LE(bp())}function LE(r){for(let e in r)if(Object.prototype.hasOwnProperty.call(r,e)){let t=r[e];typeof t=="number"?r[e]=0:typeof t=="bigint"?r[e]=BigInt(0):Vb.types.isDate(t)&&(r[e]=new Date(0))}return r}function TE(r){let e=new fg;for(let t in r)if(Object.prototype.hasOwnProperty.call(r,t)){let i=r[t];typeof i=="number"?e[t]=BigInt(i):Vb.types.isDate(i)&&(e[t]=new Date(i))}return e.atimeNs=e.atimeMs*BigInt(1e6),e.mtimeNs=e.mtimeMs*BigInt(1e6),e.ctimeNs=e.ctimeMs*BigInt(1e6),e.birthtimeNs=e.birthtimeMs*BigInt(1e6),e}function Xb(r,e){if(r.atimeMs!==e.atimeMs||r.birthtimeMs!==e.birthtimeMs||r.blksize!==e.blksize||r.blocks!==e.blocks||r.ctimeMs!==e.ctimeMs||r.dev!==e.dev||r.gid!==e.gid||r.ino!==e.ino||r.isBlockDevice()!==e.isBlockDevice()||r.isCharacterDevice()!==e.isCharacterDevice()||r.isDirectory()!==e.isDirectory()||r.isFIFO()!==e.isFIFO()||r.isFile()!==e.isFile()||r.isSocket()!==e.isSocket()||r.isSymbolicLink()!==e.isSymbolicLink()||r.mode!==e.mode||r.mtimeMs!==e.mtimeMs||r.nlink!==e.nlink||r.rdev!==e.rdev||r.size!==e.size||r.uid!==e.uid)return!1;let t=r,i=e;return!(t.atimeNs!==i.atimeNs||t.mtimeNs!==i.mtimeNs||t.ctimeNs!==i.ctimeNs||t.birthtimeNs!==i.birthtimeNs)}var ME=Pe(J("fs"));var vp=Pe(J("path"));var Oe={root:"/",dot:".",parent:".."},xt={nodeModules:"node_modules",manifest:"package.json",lockfile:"yarn.lock",virtual:"__virtual__",pnpJs:".pnp.js",pnpCjs:".pnp.cjs",rc:".yarnrc.yml"},K=Object.create(vp.default),x=Object.create(vp.default.posix);K.cwd=()=>process.cwd();x.cwd=()=>_b(process.cwd());x.resolve=(...r)=>r.length>0&&x.isAbsolute(r[0])?vp.default.posix.resolve(...r):vp.default.posix.resolve(x.cwd(),...r);var x1=function(r,e,t){return e=r.normalize(e),t=r.normalize(t),e===t?".":(e.endsWith(r.sep)||(e=e+r.sep),t.startsWith(e)?t.slice(e.length):null)};K.fromPortablePath=P1;K.toPortablePath=_b;K.contains=(r,e)=>x1(K,r,e);x.contains=(r,e)=>x1(x,r,e);var Jue=/^([a-zA-Z]:.*)$/,Wue=/^\/\/(\.\/)?(.*)$/,zue=/^\/([a-zA-Z]:.*)$/,Vue=/^\/unc\/(\.dot\/)?(.*)$/;function P1(r){if(process.platform!=="win32")return r;let e,t;if(e=r.match(zue))r=e[1];else if(t=r.match(Vue))r=`\\\\${t[1]?".\\":""}${t[2]}`;else return r;return r.replace(/\//g,"\\")}function _b(r){if(process.platform!=="win32")return r;r=r.replace(/\\/g,"/");let e,t;return(e=r.match(Jue))?r=`/${e[1]}`:(t=r.match(Wue))&&(r=`/unc/${t[1]?".dot/":""}${t[2]}`),r}function OE(r,e){return r===K?P1(e):_b(e)}function Ur(r){if(K.parse(r).dir!==""||x.parse(r).dir!=="")throw new Error(`Invalid filename: "${r}"`);return r}var KE=new Date(456789e3*1e3),tS=(t=>(t.Allow="allow",t.ReadOnly="readOnly",t))(tS||{});async function D1(r,e,t,i,n){let s=r.pathUtils.normalize(e),o=t.pathUtils.normalize(i),a=[],l=[],{atime:c,mtime:u}=n.stableTime?{atime:KE,mtime:KE}:await t.lstatPromise(o);await r.mkdirpPromise(r.pathUtils.dirname(e),{utimes:[c,u]});let g=typeof r.lutimesPromise=="function"?r.lutimesPromise.bind(r):r.utimesPromise.bind(r);await $b(a,l,g,r,s,t,o,{...n,didParentExist:!0});for(let f of a)await f();await Promise.all(l.map(f=>f()))}async function $b(r,e,t,i,n,s,o,a){var h,p;let l=a.didParentExist?await Xue(i,n):null,c=await s.lstatPromise(o),{atime:u,mtime:g}=a.stableTime?{atime:KE,mtime:KE}:c,f;switch(!0){case c.isDirectory():f=await _ue(r,e,t,i,n,l,s,o,c,a);break;case c.isFile():f=await $ue(r,e,t,i,n,l,s,o,c,a);break;case c.isSymbolicLink():f=await ege(r,e,t,i,n,l,s,o,c,a);break;default:throw new Error(`Unsupported file type (${c.mode})`)}return(f||((h=l==null?void 0:l.mtime)==null?void 0:h.getTime())!==g.getTime()||((p=l==null?void 0:l.atime)==null?void 0:p.getTime())!==u.getTime())&&(e.push(()=>t(n,u,g)),f=!0),(l===null||(l.mode&511)!==(c.mode&511))&&(e.push(()=>i.chmodPromise(n,c.mode&511)),f=!0),f}async function Xue(r,e){try{return await r.lstatPromise(e)}catch{return null}}async function _ue(r,e,t,i,n,s,o,a,l,c){if(s!==null&&!s.isDirectory())if(c.overwrite)r.push(async()=>i.removePromise(n)),s=null;else return!1;let u=!1;s===null&&(r.push(async()=>{try{await i.mkdirPromise(n,{mode:l.mode})}catch(h){if(h.code!=="EEXIST")throw h}}),u=!0);let g=await o.readdirPromise(a),f=c.didParentExist&&!s?{...c,didParentExist:!1}:c;if(c.stableSort)for(let h of g.sort())await $b(r,e,t,i,i.pathUtils.join(n,h),o,o.pathUtils.join(a,h),f)&&(u=!0);else(await Promise.all(g.map(async p=>{await $b(r,e,t,i,i.pathUtils.join(n,p),o,o.pathUtils.join(a,p),f)}))).some(p=>p)&&(u=!0);return u}var Zb=new WeakMap;function eS(r,e,t,i,n){return async()=>{await r.linkPromise(t,e),n==="readOnly"&&(i.mode&=-147,await r.chmodPromise(e,i.mode))}}function Zue(r,e,t,i,n){let s=Zb.get(r);return typeof s>"u"?async()=>{try{await r.copyFilePromise(t,e,ME.default.constants.COPYFILE_FICLONE_FORCE),Zb.set(r,!0)}catch(o){if(o.code==="ENOSYS"||o.code==="ENOTSUP")Zb.set(r,!1),await eS(r,e,t,i,n)();else throw o}}:s?async()=>r.copyFilePromise(t,e,ME.default.constants.COPYFILE_FICLONE_FORCE):eS(r,e,t,i,n)}async function $ue(r,e,t,i,n,s,o,a,l,c){var f;if(s!==null)if(c.overwrite)r.push(async()=>i.removePromise(n)),s=null;else return!1;let u=(f=c.linkStrategy)!=null?f:null,g=i===o?u!==null?Zue(i,n,a,l,u):async()=>i.copyFilePromise(a,n,ME.default.constants.COPYFILE_FICLONE):u!==null?eS(i,n,a,l,u):async()=>i.writeFilePromise(n,await o.readFilePromise(a));return r.push(async()=>g()),!0}async function ege(r,e,t,i,n,s,o,a,l,c){if(s!==null)if(c.overwrite)r.push(async()=>i.removePromise(n)),s=null;else return!1;return r.push(async()=>{await i.symlinkPromise(OE(i.pathUtils,await o.readlinkPromise(a)),n)}),!0}function is(r,e){return Object.assign(new Error(`${r}: ${e}`),{code:r})}function HE(r){return is("EBUSY",r)}function xp(r,e){return is("ENOSYS",`${r}, ${e}`)}function mA(r){return is("EINVAL",`invalid argument, ${r}`)}function Hr(r){return is("EBADF",`bad file descriptor, ${r}`)}function Gs(r){return is("ENOENT",`no such file or directory, ${r}`)}function Io(r){return is("ENOTDIR",`not a directory, ${r}`)}function Pp(r){return is("EISDIR",`illegal operation on a directory, ${r}`)}function GE(r){return is("EEXIST",`file already exists, ${r}`)}function ln(r){return is("EROFS",`read-only filesystem, ${r}`)}function k1(r){return is("ENOTEMPTY",`directory not empty, ${r}`)}function R1(r){return is("EOPNOTSUPP",`operation not supported, ${r}`)}function F1(){return is("ERR_DIR_CLOSED","Directory handle was closed")}var UE=class extends Error{constructor(t,i){super(t);this.name="Libzip Error",this.code=i}};var iS=class{constructor(e,t,i={}){this.path=e;this.nextDirent=t;this.opts=i;this.closed=!1}throwIfClosed(){if(this.closed)throw F1()}async*[Symbol.asyncIterator](){try{let e;for(;(e=await this.read())!==null;)yield e}finally{await this.close()}}read(e){let t=this.readSync();return typeof e<"u"?e(null,t):Promise.resolve(t)}readSync(){return this.throwIfClosed(),this.nextDirent()}close(e){return this.closeSync(),typeof e<"u"?e(null):Promise.resolve()}closeSync(){var e,t;this.throwIfClosed(),(t=(e=this.opts).onClose)==null||t.call(e),this.closed=!0}};function YE(r,e,t,i){let n=()=>{let s=t.shift();return typeof s>"u"?null:Object.assign(r.statSync(r.pathUtils.join(e,s)),{name:s})};return new iS(e,n,i)}var N1=J("os");var ha=class{constructor(e){this.pathUtils=e}async*genTraversePromise(e,{stableSort:t=!1}={}){let i=[e];for(;i.length>0;){let n=i.shift();if((await this.lstatPromise(n)).isDirectory()){let o=await this.readdirPromise(n);if(t)for(let a of o.sort())i.push(this.pathUtils.join(n,a));else throw new Error("Not supported")}else yield n}}async removePromise(e,{recursive:t=!0,maxRetries:i=5}={}){let n;try{n=await this.lstatPromise(e)}catch(s){if(s.code==="ENOENT")return;throw s}if(n.isDirectory()){if(t){let s=await this.readdirPromise(e);await Promise.all(s.map(o=>this.removePromise(this.pathUtils.resolve(e,o))))}for(let s=0;s<=i;s++)try{await this.rmdirPromise(e);break}catch(o){if(o.code!=="EBUSY"&&o.code!=="ENOTEMPTY")throw o;ssetTimeout(a,s*100))}}else await this.unlinkPromise(e)}removeSync(e,{recursive:t=!0}={}){let i;try{i=this.lstatSync(e)}catch(n){if(n.code==="ENOENT")return;throw n}if(i.isDirectory()){if(t)for(let n of this.readdirSync(e))this.removeSync(this.pathUtils.resolve(e,n));this.rmdirSync(e)}else this.unlinkSync(e)}async mkdirpPromise(e,{chmod:t,utimes:i}={}){if(e=this.resolve(e),e===this.pathUtils.dirname(e))return;let n=e.split(this.pathUtils.sep),s;for(let o=2;o<=n.length;++o){let a=n.slice(0,o).join(this.pathUtils.sep);if(!this.existsSync(a)){try{await this.mkdirPromise(a)}catch(l){if(l.code==="EEXIST")continue;throw l}if(s!=null||(s=a),t!=null&&await this.chmodPromise(a,t),i!=null)await this.utimesPromise(a,i[0],i[1]);else{let l=await this.statPromise(this.pathUtils.dirname(a));await this.utimesPromise(a,l.atime,l.mtime)}}}return s}mkdirpSync(e,{chmod:t,utimes:i}={}){if(e=this.resolve(e),e===this.pathUtils.dirname(e))return;let n=e.split(this.pathUtils.sep),s;for(let o=2;o<=n.length;++o){let a=n.slice(0,o).join(this.pathUtils.sep);if(!this.existsSync(a)){try{this.mkdirSync(a)}catch(l){if(l.code==="EEXIST")continue;throw l}if(s!=null||(s=a),t!=null&&this.chmodSync(a,t),i!=null)this.utimesSync(a,i[0],i[1]);else{let l=this.statSync(this.pathUtils.dirname(a));this.utimesSync(a,l.atime,l.mtime)}}}return s}async copyPromise(e,t,{baseFs:i=this,overwrite:n=!0,stableSort:s=!1,stableTime:o=!1,linkStrategy:a=null}={}){return await D1(this,e,i,t,{overwrite:n,stableSort:s,stableTime:o,linkStrategy:a})}copySync(e,t,{baseFs:i=this,overwrite:n=!0}={}){let s=i.lstatSync(t),o=this.existsSync(e);if(s.isDirectory()){this.mkdirpSync(e);let l=i.readdirSync(t);for(let c of l)this.copySync(this.pathUtils.join(e,c),i.pathUtils.join(t,c),{baseFs:i,overwrite:n})}else if(s.isFile()){if(!o||n){o&&this.removeSync(e);let l=i.readFileSync(t);this.writeFileSync(e,l)}}else if(s.isSymbolicLink()){if(!o||n){o&&this.removeSync(e);let l=i.readlinkSync(t);this.symlinkSync(OE(this.pathUtils,l),e)}}else throw new Error(`Unsupported file type (file: ${t}, mode: 0o${s.mode.toString(8).padStart(6,"0")})`);let a=s.mode&511;this.chmodSync(e,a)}async changeFilePromise(e,t,i={}){return Buffer.isBuffer(t)?this.changeFileBufferPromise(e,t,i):this.changeFileTextPromise(e,t,i)}async changeFileBufferPromise(e,t,{mode:i}={}){let n=Buffer.alloc(0);try{n=await this.readFilePromise(e)}catch{}Buffer.compare(n,t)!==0&&await this.writeFilePromise(e,t,{mode:i})}async changeFileTextPromise(e,t,{automaticNewlines:i,mode:n}={}){let s="";try{s=await this.readFilePromise(e,"utf8")}catch{}let o=i?Tl(s,t):t;s!==o&&await this.writeFilePromise(e,o,{mode:n})}changeFileSync(e,t,i={}){return Buffer.isBuffer(t)?this.changeFileBufferSync(e,t,i):this.changeFileTextSync(e,t,i)}changeFileBufferSync(e,t,{mode:i}={}){let n=Buffer.alloc(0);try{n=this.readFileSync(e)}catch{}Buffer.compare(n,t)!==0&&this.writeFileSync(e,t,{mode:i})}changeFileTextSync(e,t,{automaticNewlines:i=!1,mode:n}={}){let s="";try{s=this.readFileSync(e,"utf8")}catch{}let o=i?Tl(s,t):t;s!==o&&this.writeFileSync(e,o,{mode:n})}async movePromise(e,t){try{await this.renamePromise(e,t)}catch(i){if(i.code==="EXDEV")await this.copyPromise(t,e),await this.removePromise(e);else throw i}}moveSync(e,t){try{this.renameSync(e,t)}catch(i){if(i.code==="EXDEV")this.copySync(t,e),this.removeSync(e);else throw i}}async lockPromise(e,t){let i=`${e}.flock`,n=1e3/60,s=Date.now(),o=null,a=async()=>{let l;try{[l]=await this.readJsonPromise(i)}catch{return Date.now()-s<500}try{return process.kill(l,0),!0}catch{return!1}};for(;o===null;)try{o=await this.openPromise(i,"wx")}catch(l){if(l.code==="EEXIST"){if(!await a())try{await this.unlinkPromise(i);continue}catch{}if(Date.now()-s<60*1e3)await new Promise(c=>setTimeout(c,n));else throw new Error(`Couldn't acquire a lock in a reasonable time (via ${i})`)}else throw l}await this.writePromise(o,JSON.stringify([process.pid]));try{return await t()}finally{try{await this.closePromise(o),await this.unlinkPromise(i)}catch{}}}async readJsonPromise(e){let t=await this.readFilePromise(e,"utf8");try{return JSON.parse(t)}catch(i){throw i.message+=` (in ${e})`,i}}readJsonSync(e){let t=this.readFileSync(e,"utf8");try{return JSON.parse(t)}catch(i){throw i.message+=` (in ${e})`,i}}async writeJsonPromise(e,t){return await this.writeFilePromise(e,`${JSON.stringify(t,null,2)} + Found: ${a}`);f.code="EBADSIZE",f.found=a,f.expected=r.size,f.sri=e,l.emit("error",f)}else if(r.integrity&&!g){let f=new Error(`${e} integrity checksum failed when using ${i}: wanted ${n} but got ${u}. (${a} bytes)`);f.code="EINTEGRITY",f.found=u,f.expected=n,f.algorithm=i,f.sri=e,l.emit("error",f)}else l.emit("size",a),l.emit("integrity",u),g&&l.emit("verified",g)});return l}ca.exports.create=HVe;function HVe(r){r=on(r);let e=r.algorithms,t=r.options.length?`?${r.options.join("?")}`:"",i=e.map(bE.createHash);return{update:function(n,s){return i.forEach(o=>o.update(n,s)),this},digest:function(n){return e.reduce((o,a)=>{let l=i.shift().digest("base64"),c=new Dl(`${a}-${l}${t}`,r);if(c.algorithm&&c.digest){let u=c.algorithm;o[u]||(o[u]=[]),o[u].push(c)}return o},new zu)}}}var GVe=new Set(bE.getHashes()),kue=["md5","whirlpool","sha1","sha224","sha256","sha384","sha512","sha3","sha3-256","sha3-384","sha3-512","sha3_256","sha3_384","sha3_512"].filter(r=>GVe.has(r));function YVe(r,e){return kue.indexOf(r.toLowerCase())>=kue.indexOf(e.toLowerCase())?r:e}});var im={};ut(im,{BuildType:()=>F0,Cache:()=>Rt,Configuration:()=>ye,DEFAULT_LOCK_FILENAME:()=>ok,DEFAULT_RC_FILENAME:()=>sk,FormatType:()=>xi,InstallMode:()=>$n,LightReport:()=>ra,LinkType:()=>df,Manifest:()=>ot,MessageName:()=>Ct,MultiFetcher:()=>vf,PackageExtensionStatus:()=>Xx,PackageExtensionType:()=>Vx,Project:()=>je,ProjectLookup:()=>ck,Report:()=>vi,ReportError:()=>at,SettingsType:()=>ak,StreamReport:()=>Ge,TAG_REGEXP:()=>Pf,TelemetryManager:()=>Bh,ThrowReport:()=>ti,VirtualFetcher:()=>Df,Workspace:()=>wh,WorkspaceFetcher:()=>Rf,WorkspaceResolver:()=>jr,YarnVersion:()=>Lr,execUtils:()=>Cr,folderUtils:()=>kw,formatUtils:()=>ee,hashUtils:()=>li,httpUtils:()=>Xt,miscUtils:()=>Ie,nodeUtils:()=>Is,parseMessageName:()=>RI,scriptUtils:()=>Wt,semverUtils:()=>vt,stringifyMessageName:()=>RA,structUtils:()=>P,tgzUtils:()=>mi,treeUtils:()=>_n});var Cr={};ut(Cr,{EndStrategy:()=>hk,ExecError:()=>Kw,PipeError:()=>hC,execvp:()=>tk,pipevp:()=>Wo});var qp={};ut(qp,{AliasFS:()=>bo,CwdFS:()=>qt,DEFAULT_COMPRESSION_LEVEL:()=>Jl,FakeFS:()=>Ea,Filename:()=>xt,JailFS:()=>So,LazyFS:()=>Bg,LinkStrategy:()=>dS,NoFS:()=>Gp,NodeFS:()=>$t,PortablePath:()=>Oe,PosixFS:()=>Qg,ProxiedFS:()=>pi,VirtualFS:()=>Br,ZipFS:()=>Wr,ZipOpenFS:()=>On,constants:()=>xr,extendFs:()=>nI,normalizeLineEndings:()=>ql,npath:()=>K,opendir:()=>ZE,patchFs:()=>QS,ppath:()=>x,statUtils:()=>Tp,toFilename:()=>Ur,xfs:()=>M});var xr={};ut(xr,{SAFE_TIME:()=>eK,S_IFDIR:()=>Gl,S_IFLNK:()=>jl,S_IFMT:()=>Ys,S_IFREG:()=>Yl});var Ys=61440,Gl=16384,Yl=32768,jl=40960,eK=456789e3;var Tp={};ut(Tp,{BigIntStatsEntry:()=>Ig,DEFAULT_MODE:()=>Np,DirEntry:()=>lS,StatEntry:()=>ma,areStatsEqual:()=>uS,clearStats:()=>YE,convertToBigIntStats:()=>jE,makeDefaultStats:()=>Lp,makeEmptyStats:()=>kge});var cS=Pe(J("util"));var Np=33188,lS=class{constructor(){this.name="";this.mode=0}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&61440)===16384}isFIFO(){return!1}isFile(){return(this.mode&61440)===32768}isSocket(){return!1}isSymbolicLink(){return(this.mode&61440)===40960}},ma=class{constructor(){this.uid=0;this.gid=0;this.size=0;this.blksize=0;this.atimeMs=0;this.mtimeMs=0;this.ctimeMs=0;this.birthtimeMs=0;this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=0;this.ino=0;this.mode=Np;this.nlink=1;this.rdev=0;this.blocks=1}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&61440)===16384}isFIFO(){return!1}isFile(){return(this.mode&61440)===32768}isSocket(){return!1}isSymbolicLink(){return(this.mode&61440)===40960}},Ig=class{constructor(){this.uid=BigInt(0);this.gid=BigInt(0);this.size=BigInt(0);this.blksize=BigInt(0);this.atimeMs=BigInt(0);this.mtimeMs=BigInt(0);this.ctimeMs=BigInt(0);this.birthtimeMs=BigInt(0);this.atimeNs=BigInt(0);this.mtimeNs=BigInt(0);this.ctimeNs=BigInt(0);this.birthtimeNs=BigInt(0);this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=BigInt(0);this.ino=BigInt(0);this.mode=BigInt(Np);this.nlink=BigInt(1);this.rdev=BigInt(0);this.blocks=BigInt(1)}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&BigInt(61440))===BigInt(16384)}isFIFO(){return!1}isFile(){return(this.mode&BigInt(61440))===BigInt(32768)}isSocket(){return!1}isSymbolicLink(){return(this.mode&BigInt(61440))===BigInt(40960)}};function Lp(){return new ma}function kge(){return YE(Lp())}function YE(r){for(let e in r)if(Object.prototype.hasOwnProperty.call(r,e)){let t=r[e];typeof t=="number"?r[e]=0:typeof t=="bigint"?r[e]=BigInt(0):cS.types.isDate(t)&&(r[e]=new Date(0))}return r}function jE(r){let e=new Ig;for(let t in r)if(Object.prototype.hasOwnProperty.call(r,t)){let i=r[t];typeof i=="number"?e[t]=BigInt(i):cS.types.isDate(i)&&(e[t]=new Date(i))}return e.atimeNs=e.atimeMs*BigInt(1e6),e.mtimeNs=e.mtimeMs*BigInt(1e6),e.ctimeNs=e.ctimeMs*BigInt(1e6),e.birthtimeNs=e.birthtimeMs*BigInt(1e6),e}function uS(r,e){if(r.atimeMs!==e.atimeMs||r.birthtimeMs!==e.birthtimeMs||r.blksize!==e.blksize||r.blocks!==e.blocks||r.ctimeMs!==e.ctimeMs||r.dev!==e.dev||r.gid!==e.gid||r.ino!==e.ino||r.isBlockDevice()!==e.isBlockDevice()||r.isCharacterDevice()!==e.isCharacterDevice()||r.isDirectory()!==e.isDirectory()||r.isFIFO()!==e.isFIFO()||r.isFile()!==e.isFile()||r.isSocket()!==e.isSocket()||r.isSymbolicLink()!==e.isSymbolicLink()||r.mode!==e.mode||r.mtimeMs!==e.mtimeMs||r.nlink!==e.nlink||r.rdev!==e.rdev||r.size!==e.size||r.uid!==e.uid)return!1;let t=r,i=e;return!(t.atimeNs!==i.atimeNs||t.mtimeNs!==i.mtimeNs||t.ctimeNs!==i.ctimeNs||t.birthtimeNs!==i.birthtimeNs)}var JE=Pe(J("fs"));var Op=Pe(J("path"));var Oe={root:"/",dot:".",parent:".."},xt={nodeModules:"node_modules",manifest:"package.json",lockfile:"yarn.lock",virtual:"__virtual__",pnpJs:".pnp.js",pnpCjs:".pnp.cjs",rc:".yarnrc.yml"},K=Object.create(Op.default),x=Object.create(Op.default.posix);K.cwd=()=>process.cwd();x.cwd=()=>gS(process.cwd());x.resolve=(...r)=>r.length>0&&x.isAbsolute(r[0])?Op.default.posix.resolve(...r):Op.default.posix.resolve(x.cwd(),...r);var tK=function(r,e,t){return e=r.normalize(e),t=r.normalize(t),e===t?".":(e.endsWith(r.sep)||(e=e+r.sep),t.startsWith(e)?t.slice(e.length):null)};K.fromPortablePath=rK;K.toPortablePath=gS;K.contains=(r,e)=>tK(K,r,e);x.contains=(r,e)=>tK(x,r,e);var Rge=/^([a-zA-Z]:.*)$/,Fge=/^\/\/(\.\/)?(.*)$/,Nge=/^\/([a-zA-Z]:.*)$/,Lge=/^\/unc\/(\.dot\/)?(.*)$/;function rK(r){if(process.platform!=="win32")return r;let e,t;if(e=r.match(Nge))r=e[1];else if(t=r.match(Lge))r=`\\\\${t[1]?".\\":""}${t[2]}`;else return r;return r.replace(/\//g,"\\")}function gS(r){if(process.platform!=="win32")return r;r=r.replace(/\\/g,"/");let e,t;return(e=r.match(Rge))?r=`/${e[1]}`:(t=r.match(Fge))&&(r=`/unc/${t[1]?".dot/":""}${t[2]}`),r}function qE(r,e){return r===K?rK(e):gS(e)}function Ur(r){if(K.parse(r).dir!==""||x.parse(r).dir!=="")throw new Error(`Invalid filename: "${r}"`);return r}var WE=new Date(456789e3*1e3),dS=(t=>(t.Allow="allow",t.ReadOnly="readOnly",t))(dS||{});async function iK(r,e,t,i,n){let s=r.pathUtils.normalize(e),o=t.pathUtils.normalize(i),a=[],l=[],{atime:c,mtime:u}=n.stableTime?{atime:WE,mtime:WE}:await t.lstatPromise(o);await r.mkdirpPromise(r.pathUtils.dirname(e),{utimes:[c,u]});let g=typeof r.lutimesPromise=="function"?r.lutimesPromise.bind(r):r.utimesPromise.bind(r);await hS(a,l,g,r,s,t,o,{...n,didParentExist:!0});for(let f of a)await f();await Promise.all(l.map(f=>f()))}async function hS(r,e,t,i,n,s,o,a){var h,p;let l=a.didParentExist?await Tge(i,n):null,c=await s.lstatPromise(o),{atime:u,mtime:g}=a.stableTime?{atime:WE,mtime:WE}:c,f;switch(!0){case c.isDirectory():f=await Oge(r,e,t,i,n,l,s,o,c,a);break;case c.isFile():f=await Kge(r,e,t,i,n,l,s,o,c,a);break;case c.isSymbolicLink():f=await Uge(r,e,t,i,n,l,s,o,c,a);break;default:throw new Error(`Unsupported file type (${c.mode})`)}return(f||((h=l==null?void 0:l.mtime)==null?void 0:h.getTime())!==g.getTime()||((p=l==null?void 0:l.atime)==null?void 0:p.getTime())!==u.getTime())&&(e.push(()=>t(n,u,g)),f=!0),(l===null||(l.mode&511)!==(c.mode&511))&&(e.push(()=>i.chmodPromise(n,c.mode&511)),f=!0),f}async function Tge(r,e){try{return await r.lstatPromise(e)}catch{return null}}async function Oge(r,e,t,i,n,s,o,a,l,c){if(s!==null&&!s.isDirectory())if(c.overwrite)r.push(async()=>i.removePromise(n)),s=null;else return!1;let u=!1;s===null&&(r.push(async()=>{try{await i.mkdirPromise(n,{mode:l.mode})}catch(h){if(h.code!=="EEXIST")throw h}}),u=!0);let g=await o.readdirPromise(a),f=c.didParentExist&&!s?{...c,didParentExist:!1}:c;if(c.stableSort)for(let h of g.sort())await hS(r,e,t,i,i.pathUtils.join(n,h),o,o.pathUtils.join(a,h),f)&&(u=!0);else(await Promise.all(g.map(async p=>{await hS(r,e,t,i,i.pathUtils.join(n,p),o,o.pathUtils.join(a,p),f)}))).some(p=>p)&&(u=!0);return u}var fS=new WeakMap;function pS(r,e,t,i,n){return async()=>{await r.linkPromise(t,e),n==="readOnly"&&(i.mode&=-147,await r.chmodPromise(e,i.mode))}}function Mge(r,e,t,i,n){let s=fS.get(r);return typeof s>"u"?async()=>{try{await r.copyFilePromise(t,e,JE.default.constants.COPYFILE_FICLONE_FORCE),fS.set(r,!0)}catch(o){if(o.code==="ENOSYS"||o.code==="ENOTSUP")fS.set(r,!1),await pS(r,e,t,i,n)();else throw o}}:s?async()=>r.copyFilePromise(t,e,JE.default.constants.COPYFILE_FICLONE_FORCE):pS(r,e,t,i,n)}async function Kge(r,e,t,i,n,s,o,a,l,c){var f;if(s!==null)if(c.overwrite)r.push(async()=>i.removePromise(n)),s=null;else return!1;let u=(f=c.linkStrategy)!=null?f:null,g=i===o?u!==null?Mge(i,n,a,l,u):async()=>i.copyFilePromise(a,n,JE.default.constants.COPYFILE_FICLONE):u!==null?pS(i,n,a,l,u):async()=>i.writeFilePromise(n,await o.readFilePromise(a));return r.push(async()=>g()),!0}async function Uge(r,e,t,i,n,s,o,a,l,c){if(s!==null)if(c.overwrite)r.push(async()=>i.removePromise(n)),s=null;else return!1;return r.push(async()=>{await i.symlinkPromise(qE(i.pathUtils,await o.readlinkPromise(a)),n)}),!0}function os(r,e){return Object.assign(new Error(`${r}: ${e}`),{code:r})}function VE(r){return os("EBUSY",r)}function Mp(r,e){return os("ENOSYS",`${r}, ${e}`)}function SA(r){return os("EINVAL",`invalid argument, ${r}`)}function Hr(r){return os("EBADF",`bad file descriptor, ${r}`)}function js(r){return os("ENOENT",`no such file or directory, ${r}`)}function Qo(r){return os("ENOTDIR",`not a directory, ${r}`)}function Kp(r){return os("EISDIR",`illegal operation on a directory, ${r}`)}function XE(r){return os("EEXIST",`file already exists, ${r}`)}function ln(r){return os("EROFS",`read-only filesystem, ${r}`)}function nK(r){return os("ENOTEMPTY",`directory not empty, ${r}`)}function sK(r){return os("EOPNOTSUPP",`operation not supported, ${r}`)}function oK(){return os("ERR_DIR_CLOSED","Directory handle was closed")}var zE=class extends Error{constructor(t,i){super(t);this.name="Libzip Error",this.code=i}};var mS=class{constructor(e,t,i={}){this.path=e;this.nextDirent=t;this.opts=i;this.closed=!1}throwIfClosed(){if(this.closed)throw oK()}async*[Symbol.asyncIterator](){try{let e;for(;(e=await this.read())!==null;)yield e}finally{await this.close()}}read(e){let t=this.readSync();return typeof e<"u"?e(null,t):Promise.resolve(t)}readSync(){return this.throwIfClosed(),this.nextDirent()}close(e){return this.closeSync(),typeof e<"u"?e(null):Promise.resolve()}closeSync(){var e,t;this.throwIfClosed(),(t=(e=this.opts).onClose)==null||t.call(e),this.closed=!0}};function ZE(r,e,t,i){let n=()=>{let s=t.shift();return typeof s>"u"?null:Object.assign(r.statSync(r.pathUtils.join(e,s)),{name:s})};return new mS(e,n,i)}var aK=J("os");var Ea=class{constructor(e){this.pathUtils=e}async*genTraversePromise(e,{stableSort:t=!1}={}){let i=[e];for(;i.length>0;){let n=i.shift();if((await this.lstatPromise(n)).isDirectory()){let o=await this.readdirPromise(n);if(t)for(let a of o.sort())i.push(this.pathUtils.join(n,a));else throw new Error("Not supported")}else yield n}}async removePromise(e,{recursive:t=!0,maxRetries:i=5}={}){let n;try{n=await this.lstatPromise(e)}catch(s){if(s.code==="ENOENT")return;throw s}if(n.isDirectory()){if(t){let s=await this.readdirPromise(e);await Promise.all(s.map(o=>this.removePromise(this.pathUtils.resolve(e,o))))}for(let s=0;s<=i;s++)try{await this.rmdirPromise(e);break}catch(o){if(o.code!=="EBUSY"&&o.code!=="ENOTEMPTY")throw o;ssetTimeout(a,s*100))}}else await this.unlinkPromise(e)}removeSync(e,{recursive:t=!0}={}){let i;try{i=this.lstatSync(e)}catch(n){if(n.code==="ENOENT")return;throw n}if(i.isDirectory()){if(t)for(let n of this.readdirSync(e))this.removeSync(this.pathUtils.resolve(e,n));this.rmdirSync(e)}else this.unlinkSync(e)}async mkdirpPromise(e,{chmod:t,utimes:i}={}){if(e=this.resolve(e),e===this.pathUtils.dirname(e))return;let n=e.split(this.pathUtils.sep),s;for(let o=2;o<=n.length;++o){let a=n.slice(0,o).join(this.pathUtils.sep);if(!this.existsSync(a)){try{await this.mkdirPromise(a)}catch(l){if(l.code==="EEXIST")continue;throw l}if(s!=null||(s=a),t!=null&&await this.chmodPromise(a,t),i!=null)await this.utimesPromise(a,i[0],i[1]);else{let l=await this.statPromise(this.pathUtils.dirname(a));await this.utimesPromise(a,l.atime,l.mtime)}}}return s}mkdirpSync(e,{chmod:t,utimes:i}={}){if(e=this.resolve(e),e===this.pathUtils.dirname(e))return;let n=e.split(this.pathUtils.sep),s;for(let o=2;o<=n.length;++o){let a=n.slice(0,o).join(this.pathUtils.sep);if(!this.existsSync(a)){try{this.mkdirSync(a)}catch(l){if(l.code==="EEXIST")continue;throw l}if(s!=null||(s=a),t!=null&&this.chmodSync(a,t),i!=null)this.utimesSync(a,i[0],i[1]);else{let l=this.statSync(this.pathUtils.dirname(a));this.utimesSync(a,l.atime,l.mtime)}}}return s}async copyPromise(e,t,{baseFs:i=this,overwrite:n=!0,stableSort:s=!1,stableTime:o=!1,linkStrategy:a=null}={}){return await iK(this,e,i,t,{overwrite:n,stableSort:s,stableTime:o,linkStrategy:a})}copySync(e,t,{baseFs:i=this,overwrite:n=!0}={}){let s=i.lstatSync(t),o=this.existsSync(e);if(s.isDirectory()){this.mkdirpSync(e);let l=i.readdirSync(t);for(let c of l)this.copySync(this.pathUtils.join(e,c),i.pathUtils.join(t,c),{baseFs:i,overwrite:n})}else if(s.isFile()){if(!o||n){o&&this.removeSync(e);let l=i.readFileSync(t);this.writeFileSync(e,l)}}else if(s.isSymbolicLink()){if(!o||n){o&&this.removeSync(e);let l=i.readlinkSync(t);this.symlinkSync(qE(this.pathUtils,l),e)}}else throw new Error(`Unsupported file type (file: ${t}, mode: 0o${s.mode.toString(8).padStart(6,"0")})`);let a=s.mode&511;this.chmodSync(e,a)}async changeFilePromise(e,t,i={}){return Buffer.isBuffer(t)?this.changeFileBufferPromise(e,t,i):this.changeFileTextPromise(e,t,i)}async changeFileBufferPromise(e,t,{mode:i}={}){let n=Buffer.alloc(0);try{n=await this.readFilePromise(e)}catch{}Buffer.compare(n,t)!==0&&await this.writeFilePromise(e,t,{mode:i})}async changeFileTextPromise(e,t,{automaticNewlines:i,mode:n}={}){let s="";try{s=await this.readFilePromise(e,"utf8")}catch{}let o=i?ql(s,t):t;s!==o&&await this.writeFilePromise(e,o,{mode:n})}changeFileSync(e,t,i={}){return Buffer.isBuffer(t)?this.changeFileBufferSync(e,t,i):this.changeFileTextSync(e,t,i)}changeFileBufferSync(e,t,{mode:i}={}){let n=Buffer.alloc(0);try{n=this.readFileSync(e)}catch{}Buffer.compare(n,t)!==0&&this.writeFileSync(e,t,{mode:i})}changeFileTextSync(e,t,{automaticNewlines:i=!1,mode:n}={}){let s="";try{s=this.readFileSync(e,"utf8")}catch{}let o=i?ql(s,t):t;s!==o&&this.writeFileSync(e,o,{mode:n})}async movePromise(e,t){try{await this.renamePromise(e,t)}catch(i){if(i.code==="EXDEV")await this.copyPromise(t,e),await this.removePromise(e);else throw i}}moveSync(e,t){try{this.renameSync(e,t)}catch(i){if(i.code==="EXDEV")this.copySync(t,e),this.removeSync(e);else throw i}}async lockPromise(e,t){let i=`${e}.flock`,n=1e3/60,s=Date.now(),o=null,a=async()=>{let l;try{[l]=await this.readJsonPromise(i)}catch{return Date.now()-s<500}try{return process.kill(l,0),!0}catch{return!1}};for(;o===null;)try{o=await this.openPromise(i,"wx")}catch(l){if(l.code==="EEXIST"){if(!await a())try{await this.unlinkPromise(i);continue}catch{}if(Date.now()-s<60*1e3)await new Promise(c=>setTimeout(c,n));else throw new Error(`Couldn't acquire a lock in a reasonable time (via ${i})`)}else throw l}await this.writePromise(o,JSON.stringify([process.pid]));try{return await t()}finally{try{await this.closePromise(o),await this.unlinkPromise(i)}catch{}}}async readJsonPromise(e){let t=await this.readFilePromise(e,"utf8");try{return JSON.parse(t)}catch(i){throw i.message+=` (in ${e})`,i}}readJsonSync(e){let t=this.readFileSync(e,"utf8");try{return JSON.parse(t)}catch(i){throw i.message+=` (in ${e})`,i}}async writeJsonPromise(e,t){return await this.writeFilePromise(e,`${JSON.stringify(t,null,2)} `)}writeJsonSync(e,t){return this.writeFileSync(e,`${JSON.stringify(t,null,2)} -`)}async preserveTimePromise(e,t){let i=await this.lstatPromise(e),n=await t();typeof n<"u"&&(e=n),this.lutimesPromise?await this.lutimesPromise(e,i.atime,i.mtime):i.isSymbolicLink()||await this.utimesPromise(e,i.atime,i.mtime)}async preserveTimeSync(e,t){let i=this.lstatSync(e),n=t();typeof n<"u"&&(e=n),this.lutimesSync?this.lutimesSync(e,i.atime,i.mtime):i.isSymbolicLink()||this.utimesSync(e,i.atime,i.mtime)}},EA=class extends ha{constructor(){super(x)}};function tge(r){let e=r.match(/\r?\n/g);if(e===null)return N1.EOL;let t=e.filter(n=>n===`\r +`)}async preserveTimePromise(e,t){let i=await this.lstatPromise(e),n=await t();typeof n<"u"&&(e=n),this.lutimesPromise?await this.lutimesPromise(e,i.atime,i.mtime):i.isSymbolicLink()||await this.utimesPromise(e,i.atime,i.mtime)}async preserveTimeSync(e,t){let i=this.lstatSync(e),n=t();typeof n<"u"&&(e=n),this.lutimesSync?this.lutimesSync(e,i.atime,i.mtime):i.isSymbolicLink()||this.utimesSync(e,i.atime,i.mtime)}},vA=class extends Ea{constructor(){super(x)}};function Hge(r){let e=r.match(/\r?\n/g);if(e===null)return aK.EOL;let t=e.filter(n=>n===`\r `).length,i=e.length-t;return t>i?`\r `:` -`}function Tl(r,e){return e.replace(/\r?\n/g,tge(r))}var pg=J("fs"),sS=J("stream"),M1=J("util"),oS=Pe(J("zlib"));var L1=Pe(J("fs"));var $t=class extends EA{constructor(t=L1.default){super();this.realFs=t,typeof this.realFs.lutimes<"u"&&(this.lutimesPromise=this.lutimesPromiseImpl,this.lutimesSync=this.lutimesSyncImpl)}getExtractHint(){return!1}getRealPath(){return Oe.root}resolve(t){return x.resolve(t)}async openPromise(t,i,n){return await new Promise((s,o)=>{this.realFs.open(K.fromPortablePath(t),i,n,this.makeCallback(s,o))})}openSync(t,i,n){return this.realFs.openSync(K.fromPortablePath(t),i,n)}async opendirPromise(t,i){return await new Promise((n,s)=>{typeof i<"u"?this.realFs.opendir(K.fromPortablePath(t),i,this.makeCallback(n,s)):this.realFs.opendir(K.fromPortablePath(t),this.makeCallback(n,s))}).then(n=>Object.defineProperty(n,"path",{value:t,configurable:!0,writable:!0}))}opendirSync(t,i){let n=typeof i<"u"?this.realFs.opendirSync(K.fromPortablePath(t),i):this.realFs.opendirSync(K.fromPortablePath(t));return Object.defineProperty(n,"path",{value:t,configurable:!0,writable:!0})}async readPromise(t,i,n=0,s=0,o=-1){return await new Promise((a,l)=>{this.realFs.read(t,i,n,s,o,(c,u)=>{c?l(c):a(u)})})}readSync(t,i,n,s,o){return this.realFs.readSync(t,i,n,s,o)}async writePromise(t,i,n,s,o){return await new Promise((a,l)=>typeof i=="string"?this.realFs.write(t,i,n,this.makeCallback(a,l)):this.realFs.write(t,i,n,s,o,this.makeCallback(a,l)))}writeSync(t,i,n,s,o){return typeof i=="string"?this.realFs.writeSync(t,i,n):this.realFs.writeSync(t,i,n,s,o)}async closePromise(t){await new Promise((i,n)=>{this.realFs.close(t,this.makeCallback(i,n))})}closeSync(t){this.realFs.closeSync(t)}createReadStream(t,i){let n=t!==null?K.fromPortablePath(t):t;return this.realFs.createReadStream(n,i)}createWriteStream(t,i){let n=t!==null?K.fromPortablePath(t):t;return this.realFs.createWriteStream(n,i)}async realpathPromise(t){return await new Promise((i,n)=>{this.realFs.realpath(K.fromPortablePath(t),{},this.makeCallback(i,n))}).then(i=>K.toPortablePath(i))}realpathSync(t){return K.toPortablePath(this.realFs.realpathSync(K.fromPortablePath(t),{}))}async existsPromise(t){return await new Promise(i=>{this.realFs.exists(K.fromPortablePath(t),i)})}accessSync(t,i){return this.realFs.accessSync(K.fromPortablePath(t),i)}async accessPromise(t,i){return await new Promise((n,s)=>{this.realFs.access(K.fromPortablePath(t),i,this.makeCallback(n,s))})}existsSync(t){return this.realFs.existsSync(K.fromPortablePath(t))}async statPromise(t,i){return await new Promise((n,s)=>{i?this.realFs.stat(K.fromPortablePath(t),i,this.makeCallback(n,s)):this.realFs.stat(K.fromPortablePath(t),this.makeCallback(n,s))})}statSync(t,i){return i?this.realFs.statSync(K.fromPortablePath(t),i):this.realFs.statSync(K.fromPortablePath(t))}async fstatPromise(t,i){return await new Promise((n,s)=>{i?this.realFs.fstat(t,i,this.makeCallback(n,s)):this.realFs.fstat(t,this.makeCallback(n,s))})}fstatSync(t,i){return i?this.realFs.fstatSync(t,i):this.realFs.fstatSync(t)}async lstatPromise(t,i){return await new Promise((n,s)=>{i?this.realFs.lstat(K.fromPortablePath(t),i,this.makeCallback(n,s)):this.realFs.lstat(K.fromPortablePath(t),this.makeCallback(n,s))})}lstatSync(t,i){return i?this.realFs.lstatSync(K.fromPortablePath(t),i):this.realFs.lstatSync(K.fromPortablePath(t))}async fchmodPromise(t,i){return await new Promise((n,s)=>{this.realFs.fchmod(t,i,this.makeCallback(n,s))})}fchmodSync(t,i){return this.realFs.fchmodSync(t,i)}async chmodPromise(t,i){return await new Promise((n,s)=>{this.realFs.chmod(K.fromPortablePath(t),i,this.makeCallback(n,s))})}chmodSync(t,i){return this.realFs.chmodSync(K.fromPortablePath(t),i)}async fchownPromise(t,i,n){return await new Promise((s,o)=>{this.realFs.fchown(t,i,n,this.makeCallback(s,o))})}fchownSync(t,i,n){return this.realFs.fchownSync(t,i,n)}async chownPromise(t,i,n){return await new Promise((s,o)=>{this.realFs.chown(K.fromPortablePath(t),i,n,this.makeCallback(s,o))})}chownSync(t,i,n){return this.realFs.chownSync(K.fromPortablePath(t),i,n)}async renamePromise(t,i){return await new Promise((n,s)=>{this.realFs.rename(K.fromPortablePath(t),K.fromPortablePath(i),this.makeCallback(n,s))})}renameSync(t,i){return this.realFs.renameSync(K.fromPortablePath(t),K.fromPortablePath(i))}async copyFilePromise(t,i,n=0){return await new Promise((s,o)=>{this.realFs.copyFile(K.fromPortablePath(t),K.fromPortablePath(i),n,this.makeCallback(s,o))})}copyFileSync(t,i,n=0){return this.realFs.copyFileSync(K.fromPortablePath(t),K.fromPortablePath(i),n)}async appendFilePromise(t,i,n){return await new Promise((s,o)=>{let a=typeof t=="string"?K.fromPortablePath(t):t;n?this.realFs.appendFile(a,i,n,this.makeCallback(s,o)):this.realFs.appendFile(a,i,this.makeCallback(s,o))})}appendFileSync(t,i,n){let s=typeof t=="string"?K.fromPortablePath(t):t;n?this.realFs.appendFileSync(s,i,n):this.realFs.appendFileSync(s,i)}async writeFilePromise(t,i,n){return await new Promise((s,o)=>{let a=typeof t=="string"?K.fromPortablePath(t):t;n?this.realFs.writeFile(a,i,n,this.makeCallback(s,o)):this.realFs.writeFile(a,i,this.makeCallback(s,o))})}writeFileSync(t,i,n){let s=typeof t=="string"?K.fromPortablePath(t):t;n?this.realFs.writeFileSync(s,i,n):this.realFs.writeFileSync(s,i)}async unlinkPromise(t){return await new Promise((i,n)=>{this.realFs.unlink(K.fromPortablePath(t),this.makeCallback(i,n))})}unlinkSync(t){return this.realFs.unlinkSync(K.fromPortablePath(t))}async utimesPromise(t,i,n){return await new Promise((s,o)=>{this.realFs.utimes(K.fromPortablePath(t),i,n,this.makeCallback(s,o))})}utimesSync(t,i,n){this.realFs.utimesSync(K.fromPortablePath(t),i,n)}async lutimesPromiseImpl(t,i,n){let s=this.realFs.lutimes;if(typeof s>"u")throw xp("unavailable Node binding",`lutimes '${t}'`);return await new Promise((o,a)=>{s.call(this.realFs,K.fromPortablePath(t),i,n,this.makeCallback(o,a))})}lutimesSyncImpl(t,i,n){let s=this.realFs.lutimesSync;if(typeof s>"u")throw xp("unavailable Node binding",`lutimes '${t}'`);s.call(this.realFs,K.fromPortablePath(t),i,n)}async mkdirPromise(t,i){return await new Promise((n,s)=>{this.realFs.mkdir(K.fromPortablePath(t),i,this.makeCallback(n,s))})}mkdirSync(t,i){return this.realFs.mkdirSync(K.fromPortablePath(t),i)}async rmdirPromise(t,i){return await new Promise((n,s)=>{i?this.realFs.rmdir(K.fromPortablePath(t),i,this.makeCallback(n,s)):this.realFs.rmdir(K.fromPortablePath(t),this.makeCallback(n,s))})}rmdirSync(t,i){return this.realFs.rmdirSync(K.fromPortablePath(t),i)}async linkPromise(t,i){return await new Promise((n,s)=>{this.realFs.link(K.fromPortablePath(t),K.fromPortablePath(i),this.makeCallback(n,s))})}linkSync(t,i){return this.realFs.linkSync(K.fromPortablePath(t),K.fromPortablePath(i))}async symlinkPromise(t,i,n){return await new Promise((s,o)=>{this.realFs.symlink(K.fromPortablePath(t.replace(/\/+$/,"")),K.fromPortablePath(i),n,this.makeCallback(s,o))})}symlinkSync(t,i,n){return this.realFs.symlinkSync(K.fromPortablePath(t.replace(/\/+$/,"")),K.fromPortablePath(i),n)}async readFilePromise(t,i){return await new Promise((n,s)=>{let o=typeof t=="string"?K.fromPortablePath(t):t;this.realFs.readFile(o,i,this.makeCallback(n,s))})}readFileSync(t,i){let n=typeof t=="string"?K.fromPortablePath(t):t;return this.realFs.readFileSync(n,i)}async readdirPromise(t,i){return await new Promise((n,s)=>{i!=null&&i.withFileTypes?this.realFs.readdir(K.fromPortablePath(t),{withFileTypes:!0},this.makeCallback(n,s)):this.realFs.readdir(K.fromPortablePath(t),this.makeCallback(o=>n(o),s))})}readdirSync(t,i){return i!=null&&i.withFileTypes?this.realFs.readdirSync(K.fromPortablePath(t),{withFileTypes:!0}):this.realFs.readdirSync(K.fromPortablePath(t))}async readlinkPromise(t){return await new Promise((i,n)=>{this.realFs.readlink(K.fromPortablePath(t),this.makeCallback(i,n))}).then(i=>K.toPortablePath(i))}readlinkSync(t){return K.toPortablePath(this.realFs.readlinkSync(K.fromPortablePath(t)))}async truncatePromise(t,i){return await new Promise((n,s)=>{this.realFs.truncate(K.fromPortablePath(t),i,this.makeCallback(n,s))})}truncateSync(t,i){return this.realFs.truncateSync(K.fromPortablePath(t),i)}async ftruncatePromise(t,i){return await new Promise((n,s)=>{this.realFs.ftruncate(t,i,this.makeCallback(n,s))})}ftruncateSync(t,i){return this.realFs.ftruncateSync(t,i)}watch(t,i,n){return this.realFs.watch(K.fromPortablePath(t),i,n)}watchFile(t,i,n){return this.realFs.watchFile(K.fromPortablePath(t),i,n)}unwatchFile(t,i){return this.realFs.unwatchFile(K.fromPortablePath(t),i)}makeCallback(t,i){return(n,s)=>{n?i(n):t(s)}}};var O1=J("events");function T1(r,e){if(r!==e)throw new Error(`Invalid StatWatcher status: expected '${e}', got '${r}'`)}var hg=class extends O1.EventEmitter{constructor(t,i,{bigint:n=!1}={}){super();this.status="ready";this.changeListeners=new Map;this.startTimeout=null;this.fakeFs=t,this.path=i,this.bigint=n,this.lastStats=this.stat()}static create(t,i,n){let s=new hg(t,i,n);return s.start(),s}start(){T1(this.status,"ready"),this.status="running",this.startTimeout=setTimeout(()=>{this.startTimeout=null,this.fakeFs.existsSync(this.path)||this.emit("change",this.lastStats,this.lastStats)},3)}stop(){T1(this.status,"running"),this.status="stopped",this.startTimeout!==null&&(clearTimeout(this.startTimeout),this.startTimeout=null),this.emit("stop")}stat(){try{return this.fakeFs.statSync(this.path,{bigint:this.bigint})}catch{let i=this.bigint?new fg:new fa;return LE(i)}}makeInterval(t){let i=setInterval(()=>{let n=this.stat(),s=this.lastStats;Xb(n,s)||(this.lastStats=n,this.emit("change",n,s))},t.interval);return t.persistent?i:i.unref()}registerChangeListener(t,i){this.addListener("change",t),this.changeListeners.set(t,this.makeInterval(i))}unregisterChangeListener(t){this.removeListener("change",t);let i=this.changeListeners.get(t);typeof i<"u"&&clearInterval(i),this.changeListeners.delete(t)}unregisterAllChangeListeners(){for(let t of this.changeListeners.keys())this.unregisterChangeListener(t)}hasChangeListeners(){return this.changeListeners.size>0}ref(){for(let t of this.changeListeners.values())t.ref();return this}unref(){for(let t of this.changeListeners.values())t.unref();return this}};var jE=new WeakMap;function qE(r,e,t,i){let n,s,o,a;switch(typeof t){case"function":n=!1,s=!0,o=5007,a=t;break;default:({bigint:n=!1,persistent:s=!0,interval:o=5007}=t),a=i;break}let l=jE.get(r);typeof l>"u"&&jE.set(r,l=new Map);let c=l.get(e);return typeof c>"u"&&(c=hg.create(r,e,{bigint:n}),l.set(e,c)),c.registerChangeListener(a,{persistent:s,interval:o}),c}function Dp(r,e,t){let i=jE.get(r);if(typeof i>"u")return;let n=i.get(e);typeof n>"u"||(typeof t>"u"?n.unregisterAllChangeListeners():n.unregisterChangeListener(t),n.hasChangeListeners()||(n.stop(),i.delete(e)))}function kp(r){let e=jE.get(r);if(!(typeof e>"u"))for(let t of e.keys())Dp(r,t)}var Ol="mixed";function rge(r){if(typeof r=="string"&&String(+r)===r)return+r;if(Number.isFinite(r))return r<0?Date.now()/1e3:r;if(M1.types.isDate(r))return r.getTime()/1e3;throw new Error("Invalid time")}function nS(){return Buffer.from([80,75,5,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0])}var Wr=class extends EA{constructor(t,i){super();this.lzSource=null;this.listings=new Map;this.entries=new Map;this.fileSources=new Map;this.fds=new Map;this.nextFd=0;this.ready=!1;this.readOnly=!1;this.libzip=i.libzip;let n=i;if(this.level=typeof n.level<"u"?n.level:Ol,t!=null||(t=nS()),typeof t=="string"){let{baseFs:a=new $t}=n;this.baseFs=a,this.path=t}else this.path=null,this.baseFs=null;if(i.stats)this.stats=i.stats;else if(typeof t=="string")try{this.stats=this.baseFs.statSync(t)}catch(a){if(a.code==="ENOENT"&&n.create)this.stats=bp();else throw a}else this.stats=bp();let s=this.libzip.malloc(4);try{let a=0;if(typeof t=="string"&&n.create&&(a|=this.libzip.ZIP_CREATE|this.libzip.ZIP_TRUNCATE),i.readOnly&&(a|=this.libzip.ZIP_RDONLY,this.readOnly=!0),typeof t=="string")this.zip=this.libzip.open(K.fromPortablePath(t),a,s);else{let l=this.allocateUnattachedSource(t);try{this.zip=this.libzip.openFromSource(l,a,s),this.lzSource=l}catch(c){throw this.libzip.source.free(l),c}}if(this.zip===0){let l=this.libzip.struct.errorS();throw this.libzip.error.initWithCode(l,this.libzip.getValue(s,"i32")),this.makeLibzipError(l)}}finally{this.libzip.free(s)}this.listings.set(Oe.root,new Set);let o=this.libzip.getNumEntries(this.zip,0);for(let a=0;at)throw new Error("Overread");let s=this.libzip.HEAPU8.subarray(i,i+t);return Buffer.from(s)}finally{this.libzip.free(i)}}finally{this.libzip.source.close(this.lzSource),this.libzip.source.free(this.lzSource),this.ready=!1}}prepareClose(){if(!this.ready)throw HE("archive closed, close");kp(this)}saveAndClose(){if(!this.path||!this.baseFs)throw new Error("ZipFS cannot be saved and must be discarded when loaded from a buffer");if(this.prepareClose(),this.readOnly){this.discardAndClose();return}let t=this.baseFs.existsSync(this.path)||this.stats.mode===Qp?void 0:this.stats.mode;if(this.entries.size===0)this.discardAndClose(),this.baseFs.writeFileSync(this.path,nS(),{mode:t});else{if(this.libzip.close(this.zip)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));typeof t<"u"&&this.baseFs.chmodSync(this.path,t)}this.ready=!1}discardAndClose(){this.prepareClose(),this.libzip.discard(this.zip),this.ready=!1}resolve(t){return x.resolve(Oe.root,t)}async openPromise(t,i,n){return this.openSync(t,i,n)}openSync(t,i,n){let s=this.nextFd++;return this.fds.set(s,{cursor:0,p:t}),s}hasOpenFileHandles(){return!!this.fds.size}async opendirPromise(t,i){return this.opendirSync(t,i)}opendirSync(t,i={}){let n=this.resolveFilename(`opendir '${t}'`,t);if(!this.entries.has(n)&&!this.listings.has(n))throw Gs(`opendir '${t}'`);let s=this.listings.get(n);if(!s)throw Io(`opendir '${t}'`);let o=[...s],a=this.openSync(n,"r");return YE(this,n,o,{onClose:()=>{this.closeSync(a)}})}async readPromise(t,i,n,s,o){return this.readSync(t,i,n,s,o)}readSync(t,i,n=0,s=i.byteLength,o=-1){let a=this.fds.get(t);if(typeof a>"u")throw Hr("read");let l=o===-1||o===null?a.cursor:o,c=this.readFileSync(a.p);c.copy(i,n,l,l+s);let u=Math.max(0,Math.min(c.length-l,s));return(o===-1||o===null)&&(a.cursor+=u),u}async writePromise(t,i,n,s,o){return typeof i=="string"?this.writeSync(t,i,o):this.writeSync(t,i,n,s,o)}writeSync(t,i,n,s,o){throw typeof this.fds.get(t)>"u"?Hr("read"):new Error("Unimplemented")}async closePromise(t){return this.closeSync(t)}closeSync(t){if(typeof this.fds.get(t)>"u")throw Hr("read");this.fds.delete(t)}createReadStream(t,{encoding:i}={}){if(t===null)throw new Error("Unimplemented");let n=this.openSync(t,"r"),s=Object.assign(new sS.PassThrough({emitClose:!0,autoDestroy:!0,destroy:(a,l)=>{clearImmediate(o),this.closeSync(n),l(a)}}),{close(){s.destroy()},bytesRead:0,path:t}),o=setImmediate(async()=>{try{let a=await this.readFilePromise(t,i);s.bytesRead=a.length,s.end(a)}catch(a){s.destroy(a)}});return s}createWriteStream(t,{encoding:i}={}){if(this.readOnly)throw ln(`open '${t}'`);if(t===null)throw new Error("Unimplemented");let n=[],s=this.openSync(t,"w"),o=Object.assign(new sS.PassThrough({autoDestroy:!0,emitClose:!0,destroy:(a,l)=>{try{a?l(a):(this.writeFileSync(t,Buffer.concat(n),i),l(null))}catch(c){l(c)}finally{this.closeSync(s)}}}),{bytesWritten:0,path:t,close(){o.destroy()}});return o.on("data",a=>{let l=Buffer.from(a);o.bytesWritten+=l.length,n.push(l)}),o}async realpathPromise(t){return this.realpathSync(t)}realpathSync(t){let i=this.resolveFilename(`lstat '${t}'`,t);if(!this.entries.has(i)&&!this.listings.has(i))throw Gs(`lstat '${t}'`);return i}async existsPromise(t){return this.existsSync(t)}existsSync(t){if(!this.ready)throw HE(`archive closed, existsSync '${t}'`);if(this.symlinkCount===0){let n=x.resolve(Oe.root,t);return this.entries.has(n)||this.listings.has(n)}let i;try{i=this.resolveFilename(`stat '${t}'`,t,void 0,!1)}catch{return!1}return i===void 0?!1:this.entries.has(i)||this.listings.has(i)}async accessPromise(t,i){return this.accessSync(t,i)}accessSync(t,i=pg.constants.F_OK){let n=this.resolveFilename(`access '${t}'`,t);if(!this.entries.has(n)&&!this.listings.has(n))throw Gs(`access '${t}'`);if(this.readOnly&&i&pg.constants.W_OK)throw ln(`access '${t}'`)}async statPromise(t,i={bigint:!1}){return i.bigint?this.statSync(t,{bigint:!0}):this.statSync(t)}statSync(t,i={bigint:!1,throwIfNoEntry:!0}){let n=this.resolveFilename(`stat '${t}'`,t,void 0,i.throwIfNoEntry);if(n!==void 0){if(!this.entries.has(n)&&!this.listings.has(n)){if(i.throwIfNoEntry===!1)return;throw Gs(`stat '${t}'`)}if(t[t.length-1]==="/"&&!this.listings.has(n))throw Io(`stat '${t}'`);return this.statImpl(`stat '${t}'`,n,i)}}async fstatPromise(t,i){return this.fstatSync(t,i)}fstatSync(t,i){let n=this.fds.get(t);if(typeof n>"u")throw Hr("fstatSync");let{p:s}=n,o=this.resolveFilename(`stat '${s}'`,s);if(!this.entries.has(o)&&!this.listings.has(o))throw Gs(`stat '${s}'`);if(s[s.length-1]==="/"&&!this.listings.has(o))throw Io(`stat '${s}'`);return this.statImpl(`fstat '${s}'`,o,i)}async lstatPromise(t,i={bigint:!1}){return i.bigint?this.lstatSync(t,{bigint:!0}):this.lstatSync(t)}lstatSync(t,i={bigint:!1,throwIfNoEntry:!0}){let n=this.resolveFilename(`lstat '${t}'`,t,!1,i.throwIfNoEntry);if(n!==void 0){if(!this.entries.has(n)&&!this.listings.has(n)){if(i.throwIfNoEntry===!1)return;throw Gs(`lstat '${t}'`)}if(t[t.length-1]==="/"&&!this.listings.has(n))throw Io(`lstat '${t}'`);return this.statImpl(`lstat '${t}'`,n,i)}}statImpl(t,i,n={}){let s=this.entries.get(i);if(typeof s<"u"){let o=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,s,0,0,o)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let l=this.stats.uid,c=this.stats.gid,u=this.libzip.struct.statSize(o)>>>0,g=512,f=Math.ceil(u/g),h=(this.libzip.struct.statMtime(o)>>>0)*1e3,p=h,C=h,y=h,B=new Date(p),v=new Date(C),D=new Date(y),L=new Date(h),H=this.listings.has(i)?16384:this.isSymbolicLink(s)?40960:32768,j=H===16384?493:420,$=H|this.getUnixMode(s,j)&511,V=this.libzip.struct.statCrc(o),W=Object.assign(new fa,{uid:l,gid:c,size:u,blksize:g,blocks:f,atime:B,birthtime:v,ctime:D,mtime:L,atimeMs:p,birthtimeMs:C,ctimeMs:y,mtimeMs:h,mode:$,crc:V});return n.bigint===!0?TE(W):W}if(this.listings.has(i)){let o=this.stats.uid,a=this.stats.gid,l=0,c=512,u=0,g=this.stats.mtimeMs,f=this.stats.mtimeMs,h=this.stats.mtimeMs,p=this.stats.mtimeMs,C=new Date(g),y=new Date(f),B=new Date(h),v=new Date(p),D=16877,L=0,H=Object.assign(new fa,{uid:o,gid:a,size:l,blksize:c,blocks:u,atime:C,birthtime:y,ctime:B,mtime:v,atimeMs:g,birthtimeMs:f,ctimeMs:h,mtimeMs:p,mode:D,crc:L});return n.bigint===!0?TE(H):H}throw new Error("Unreachable")}getUnixMode(t,i){if(this.libzip.file.getExternalAttributes(this.zip,t,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,"i8")>>>0!==this.libzip.ZIP_OPSYS_UNIX?i:this.libzip.getValue(this.libzip.uint32S,"i32")>>>16}registerListing(t){let i=this.listings.get(t);if(i)return i;this.registerListing(x.dirname(t)).add(x.basename(t));let s=new Set;return this.listings.set(t,s),s}registerEntry(t,i){this.registerListing(x.dirname(t)).add(x.basename(t)),this.entries.set(t,i)}unregisterListing(t){this.listings.delete(t);let i=this.listings.get(x.dirname(t));i==null||i.delete(x.basename(t))}unregisterEntry(t){this.unregisterListing(t);let i=this.entries.get(t);this.entries.delete(t),!(typeof i>"u")&&(this.fileSources.delete(i),this.isSymbolicLink(i)&&this.symlinkCount--)}deleteEntry(t,i){if(this.unregisterEntry(t),this.libzip.delete(this.zip,i)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}resolveFilename(t,i,n=!0,s=!0){if(!this.ready)throw HE(`archive closed, ${t}`);let o=x.resolve(Oe.root,i);if(o==="/")return Oe.root;let a=this.entries.get(o);if(n&&a!==void 0)if(this.symlinkCount!==0&&this.isSymbolicLink(a)){let l=this.getFileSource(a).toString();return this.resolveFilename(t,x.resolve(x.dirname(o),l),!0,s)}else return o;for(;;){let l=this.resolveFilename(t,x.dirname(o),!0,s);if(l===void 0)return l;let c=this.listings.has(l),u=this.entries.has(l);if(!c&&!u){if(s===!1)return;throw Gs(t)}if(!c)throw Io(t);if(o=x.resolve(l,x.basename(o)),!n||this.symlinkCount===0)break;let g=this.libzip.name.locate(this.zip,o.slice(1));if(g===-1)break;if(this.isSymbolicLink(g)){let f=this.getFileSource(g).toString();o=x.resolve(x.dirname(o),f)}else break}return o}allocateBuffer(t){Buffer.isBuffer(t)||(t=Buffer.from(t));let i=this.libzip.malloc(t.byteLength);if(!i)throw new Error("Couldn't allocate enough memory");return new Uint8Array(this.libzip.HEAPU8.buffer,i,t.byteLength).set(t),{buffer:i,byteLength:t.byteLength}}allocateUnattachedSource(t){let i=this.libzip.struct.errorS(),{buffer:n,byteLength:s}=this.allocateBuffer(t),o=this.libzip.source.fromUnattachedBuffer(n,s,0,!0,i);if(o===0)throw this.libzip.free(i),this.makeLibzipError(i);return o}allocateSource(t){let{buffer:i,byteLength:n}=this.allocateBuffer(t),s=this.libzip.source.fromBuffer(this.zip,i,n,0,!0);if(s===0)throw this.libzip.free(i),this.makeLibzipError(this.libzip.getError(this.zip));return s}setFileSource(t,i){let n=Buffer.isBuffer(i)?i:Buffer.from(i),s=x.relative(Oe.root,t),o=this.allocateSource(i);try{let a=this.libzip.file.add(this.zip,s,o,this.libzip.ZIP_FL_OVERWRITE);if(a===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));if(this.level!=="mixed"){let l=this.level===0?this.libzip.ZIP_CM_STORE:this.libzip.ZIP_CM_DEFLATE;if(this.libzip.file.setCompression(this.zip,a,0,l,this.level)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}return this.fileSources.set(a,n),a}catch(a){throw this.libzip.source.free(o),a}}isSymbolicLink(t){if(this.symlinkCount===0)return!1;if(this.libzip.file.getExternalAttributes(this.zip,t,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,"i8")>>>0!==this.libzip.ZIP_OPSYS_UNIX?!1:(this.libzip.getValue(this.libzip.uint32S,"i32")>>>16&61440)===40960}getFileSource(t,i={asyncDecompress:!1}){let n=this.fileSources.get(t);if(typeof n<"u")return n;let s=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,t,0,0,s)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let a=this.libzip.struct.statCompSize(s),l=this.libzip.struct.statCompMethod(s),c=this.libzip.malloc(a);try{let u=this.libzip.fopenIndex(this.zip,t,0,this.libzip.ZIP_FL_COMPRESSED);if(u===0)throw this.makeLibzipError(this.libzip.getError(this.zip));try{let g=this.libzip.fread(u,c,a,0);if(g===-1)throw this.makeLibzipError(this.libzip.file.getError(u));if(ga)throw new Error("Overread");let f=this.libzip.HEAPU8.subarray(c,c+a),h=Buffer.from(f);if(l===0)return this.fileSources.set(t,h),h;if(i.asyncDecompress)return new Promise((p,C)=>{oS.default.inflateRaw(h,(y,B)=>{y?C(y):(this.fileSources.set(t,B),p(B))})});{let p=oS.default.inflateRawSync(h);return this.fileSources.set(t,p),p}}finally{this.libzip.fclose(u)}}finally{this.libzip.free(c)}}async fchmodPromise(t,i){return this.chmodPromise(this.fdToPath(t,"fchmod"),i)}fchmodSync(t,i){return this.chmodSync(this.fdToPath(t,"fchmodSync"),i)}async chmodPromise(t,i){return this.chmodSync(t,i)}chmodSync(t,i){if(this.readOnly)throw ln(`chmod '${t}'`);i&=493;let n=this.resolveFilename(`chmod '${t}'`,t,!1),s=this.entries.get(n);if(typeof s>"u")throw new Error(`Assertion failed: The entry should have been registered (${n})`);let a=this.getUnixMode(s,32768)&-512|i;if(this.libzip.file.setExternalAttributes(this.zip,s,0,0,this.libzip.ZIP_OPSYS_UNIX,a<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async fchownPromise(t,i,n){return this.chownPromise(this.fdToPath(t,"fchown"),i,n)}fchownSync(t,i,n){return this.chownSync(this.fdToPath(t,"fchownSync"),i,n)}async chownPromise(t,i,n){return this.chownSync(t,i,n)}chownSync(t,i,n){throw new Error("Unimplemented")}async renamePromise(t,i){return this.renameSync(t,i)}renameSync(t,i){throw new Error("Unimplemented")}async copyFilePromise(t,i,n){let{indexSource:s,indexDest:o,resolvedDestP:a}=this.prepareCopyFile(t,i,n),l=await this.getFileSource(s,{asyncDecompress:!0}),c=this.setFileSource(a,l);c!==o&&this.registerEntry(a,c)}copyFileSync(t,i,n=0){let{indexSource:s,indexDest:o,resolvedDestP:a}=this.prepareCopyFile(t,i,n),l=this.getFileSource(s),c=this.setFileSource(a,l);c!==o&&this.registerEntry(a,c)}prepareCopyFile(t,i,n=0){if(this.readOnly)throw ln(`copyfile '${t} -> '${i}'`);if((n&pg.constants.COPYFILE_FICLONE_FORCE)!==0)throw xp("unsupported clone operation",`copyfile '${t}' -> ${i}'`);let s=this.resolveFilename(`copyfile '${t} -> ${i}'`,t),o=this.entries.get(s);if(typeof o>"u")throw mA(`copyfile '${t}' -> '${i}'`);let a=this.resolveFilename(`copyfile '${t}' -> ${i}'`,i),l=this.entries.get(a);if((n&(pg.constants.COPYFILE_EXCL|pg.constants.COPYFILE_FICLONE_FORCE))!==0&&typeof l<"u")throw GE(`copyfile '${t}' -> '${i}'`);return{indexSource:o,resolvedDestP:a,indexDest:l}}async appendFilePromise(t,i,n){if(this.readOnly)throw ln(`open '${t}'`);return typeof n>"u"?n={flag:"a"}:typeof n=="string"?n={flag:"a",encoding:n}:typeof n.flag>"u"&&(n={flag:"a",...n}),this.writeFilePromise(t,i,n)}appendFileSync(t,i,n={}){if(this.readOnly)throw ln(`open '${t}'`);return typeof n>"u"?n={flag:"a"}:typeof n=="string"?n={flag:"a",encoding:n}:typeof n.flag>"u"&&(n={flag:"a",...n}),this.writeFileSync(t,i,n)}fdToPath(t,i){var s;let n=(s=this.fds.get(t))==null?void 0:s.p;if(typeof n>"u")throw Hr(i);return n}async writeFilePromise(t,i,n){let{encoding:s,mode:o,index:a,resolvedP:l}=this.prepareWriteFile(t,n);a!==void 0&&typeof n=="object"&&n.flag&&n.flag.includes("a")&&(i=Buffer.concat([await this.getFileSource(a,{asyncDecompress:!0}),Buffer.from(i)])),s!==null&&(i=i.toString(s));let c=this.setFileSource(l,i);c!==a&&this.registerEntry(l,c),o!==null&&await this.chmodPromise(l,o)}writeFileSync(t,i,n){let{encoding:s,mode:o,index:a,resolvedP:l}=this.prepareWriteFile(t,n);a!==void 0&&typeof n=="object"&&n.flag&&n.flag.includes("a")&&(i=Buffer.concat([this.getFileSource(a),Buffer.from(i)])),s!==null&&(i=i.toString(s));let c=this.setFileSource(l,i);c!==a&&this.registerEntry(l,c),o!==null&&this.chmodSync(l,o)}prepareWriteFile(t,i){if(typeof t=="number"&&(t=this.fdToPath(t,"read")),this.readOnly)throw ln(`open '${t}'`);let n=this.resolveFilename(`open '${t}'`,t);if(this.listings.has(n))throw Pp(`open '${t}'`);let s=null,o=null;typeof i=="string"?s=i:typeof i=="object"&&({encoding:s=null,mode:o=null}=i);let a=this.entries.get(n);return{encoding:s,mode:o,resolvedP:n,index:a}}async unlinkPromise(t){return this.unlinkSync(t)}unlinkSync(t){if(this.readOnly)throw ln(`unlink '${t}'`);let i=this.resolveFilename(`unlink '${t}'`,t);if(this.listings.has(i))throw Pp(`unlink '${t}'`);let n=this.entries.get(i);if(typeof n>"u")throw mA(`unlink '${t}'`);this.deleteEntry(i,n)}async utimesPromise(t,i,n){return this.utimesSync(t,i,n)}utimesSync(t,i,n){if(this.readOnly)throw ln(`utimes '${t}'`);let s=this.resolveFilename(`utimes '${t}'`,t);this.utimesImpl(s,n)}async lutimesPromise(t,i,n){return this.lutimesSync(t,i,n)}lutimesSync(t,i,n){if(this.readOnly)throw ln(`lutimes '${t}'`);let s=this.resolveFilename(`utimes '${t}'`,t,!1);this.utimesImpl(s,n)}utimesImpl(t,i){this.listings.has(t)&&(this.entries.has(t)||this.hydrateDirectory(t));let n=this.entries.get(t);if(n===void 0)throw new Error("Unreachable");if(this.libzip.file.setMtime(this.zip,n,0,rge(i),0)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async mkdirPromise(t,i){return this.mkdirSync(t,i)}mkdirSync(t,{mode:i=493,recursive:n=!1}={}){if(n)return this.mkdirpSync(t,{chmod:i});if(this.readOnly)throw ln(`mkdir '${t}'`);let s=this.resolveFilename(`mkdir '${t}'`,t);if(this.entries.has(s)||this.listings.has(s))throw GE(`mkdir '${t}'`);this.hydrateDirectory(s),this.chmodSync(s,i)}async rmdirPromise(t,i){return this.rmdirSync(t,i)}rmdirSync(t,{recursive:i=!1}={}){if(this.readOnly)throw ln(`rmdir '${t}'`);if(i){this.removeSync(t);return}let n=this.resolveFilename(`rmdir '${t}'`,t),s=this.listings.get(n);if(!s)throw Io(`rmdir '${t}'`);if(s.size>0)throw k1(`rmdir '${t}'`);let o=this.entries.get(n);if(typeof o>"u")throw mA(`rmdir '${t}'`);this.deleteEntry(t,o)}hydrateDirectory(t){let i=this.libzip.dir.add(this.zip,x.relative(Oe.root,t));if(i===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.registerListing(t),this.registerEntry(t,i),i}async linkPromise(t,i){return this.linkSync(t,i)}linkSync(t,i){throw R1(`link '${t}' -> '${i}'`)}async symlinkPromise(t,i){return this.symlinkSync(t,i)}symlinkSync(t,i){if(this.readOnly)throw ln(`symlink '${t}' -> '${i}'`);let n=this.resolveFilename(`symlink '${t}' -> '${i}'`,i);if(this.listings.has(n))throw Pp(`symlink '${t}' -> '${i}'`);if(this.entries.has(n))throw GE(`symlink '${t}' -> '${i}'`);let s=this.setFileSource(n,t);if(this.registerEntry(n,s),this.libzip.file.setExternalAttributes(this.zip,s,0,0,this.libzip.ZIP_OPSYS_UNIX,41471<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));this.symlinkCount+=1}async readFilePromise(t,i){typeof i=="object"&&(i=i?i.encoding:void 0);let n=await this.readFileBuffer(t,{asyncDecompress:!0});return i?n.toString(i):n}readFileSync(t,i){typeof i=="object"&&(i=i?i.encoding:void 0);let n=this.readFileBuffer(t);return i?n.toString(i):n}readFileBuffer(t,i={asyncDecompress:!1}){typeof t=="number"&&(t=this.fdToPath(t,"read"));let n=this.resolveFilename(`open '${t}'`,t);if(!this.entries.has(n)&&!this.listings.has(n))throw Gs(`open '${t}'`);if(t[t.length-1]==="/"&&!this.listings.has(n))throw Io(`open '${t}'`);if(this.listings.has(n))throw Pp("read");let s=this.entries.get(n);if(s===void 0)throw new Error("Unreachable");return this.getFileSource(s,i)}async readdirPromise(t,i){return this.readdirSync(t,i)}readdirSync(t,i){let n=this.resolveFilename(`scandir '${t}'`,t);if(!this.entries.has(n)&&!this.listings.has(n))throw Gs(`scandir '${t}'`);let s=this.listings.get(n);if(!s)throw Io(`scandir '${t}'`);let o=[...s];return i!=null&&i.withFileTypes?o.map(a=>Object.assign(this.statImpl("lstat",x.join(t,a)),{name:a})):o}async readlinkPromise(t){let i=this.prepareReadlink(t);return(await this.getFileSource(i,{asyncDecompress:!0})).toString()}readlinkSync(t){let i=this.prepareReadlink(t);return this.getFileSource(i).toString()}prepareReadlink(t){let i=this.resolveFilename(`readlink '${t}'`,t,!1);if(!this.entries.has(i)&&!this.listings.has(i))throw Gs(`readlink '${t}'`);if(t[t.length-1]==="/"&&!this.listings.has(i))throw Io(`open '${t}'`);if(this.listings.has(i))throw mA(`readlink '${t}'`);let n=this.entries.get(i);if(n===void 0)throw new Error("Unreachable");if(!this.isSymbolicLink(n))throw mA(`readlink '${t}'`);return n}async truncatePromise(t,i=0){let n=this.resolveFilename(`open '${t}'`,t),s=this.entries.get(n);if(typeof s>"u")throw mA(`open '${t}'`);let o=await this.getFileSource(s,{asyncDecompress:!0}),a=Buffer.alloc(i,0);return o.copy(a),await this.writeFilePromise(t,a)}truncateSync(t,i=0){let n=this.resolveFilename(`open '${t}'`,t),s=this.entries.get(n);if(typeof s>"u")throw mA(`open '${t}'`);let o=this.getFileSource(s),a=Buffer.alloc(i,0);return o.copy(a),this.writeFileSync(t,a)}async ftruncatePromise(t,i){return this.truncatePromise(this.fdToPath(t,"ftruncate"),i)}ftruncateSync(t,i){return this.truncateSync(this.fdToPath(t,"ftruncateSync"),i)}watch(t,i,n){let s;switch(typeof i){case"function":case"string":case"undefined":s=!0;break;default:({persistent:s=!0}=i);break}if(!s)return{on:()=>{},close:()=>{}};let o=setInterval(()=>{},24*60*60*1e3);return{on:()=>{},close:()=>{clearInterval(o)}}}watchFile(t,i,n){let s=x.resolve(Oe.root,t);return qE(this,s,i,n)}unwatchFile(t,i){let n=x.resolve(Oe.root,t);return Dp(this,n,i)}};var pi=class extends ha{getExtractHint(e){return this.baseFs.getExtractHint(e)}resolve(e){return this.mapFromBase(this.baseFs.resolve(this.mapToBase(e)))}getRealPath(){return this.mapFromBase(this.baseFs.getRealPath())}async openPromise(e,t,i){return this.baseFs.openPromise(this.mapToBase(e),t,i)}openSync(e,t,i){return this.baseFs.openSync(this.mapToBase(e),t,i)}async opendirPromise(e,t){return Object.assign(await this.baseFs.opendirPromise(this.mapToBase(e),t),{path:e})}opendirSync(e,t){return Object.assign(this.baseFs.opendirSync(this.mapToBase(e),t),{path:e})}async readPromise(e,t,i,n,s){return await this.baseFs.readPromise(e,t,i,n,s)}readSync(e,t,i,n,s){return this.baseFs.readSync(e,t,i,n,s)}async writePromise(e,t,i,n,s){return typeof t=="string"?await this.baseFs.writePromise(e,t,i):await this.baseFs.writePromise(e,t,i,n,s)}writeSync(e,t,i,n,s){return typeof t=="string"?this.baseFs.writeSync(e,t,i):this.baseFs.writeSync(e,t,i,n,s)}async closePromise(e){return this.baseFs.closePromise(e)}closeSync(e){this.baseFs.closeSync(e)}createReadStream(e,t){return this.baseFs.createReadStream(e!==null?this.mapToBase(e):e,t)}createWriteStream(e,t){return this.baseFs.createWriteStream(e!==null?this.mapToBase(e):e,t)}async realpathPromise(e){return this.mapFromBase(await this.baseFs.realpathPromise(this.mapToBase(e)))}realpathSync(e){return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(e)))}async existsPromise(e){return this.baseFs.existsPromise(this.mapToBase(e))}existsSync(e){return this.baseFs.existsSync(this.mapToBase(e))}accessSync(e,t){return this.baseFs.accessSync(this.mapToBase(e),t)}async accessPromise(e,t){return this.baseFs.accessPromise(this.mapToBase(e),t)}async statPromise(e,t){return this.baseFs.statPromise(this.mapToBase(e),t)}statSync(e,t){return this.baseFs.statSync(this.mapToBase(e),t)}async fstatPromise(e,t){return this.baseFs.fstatPromise(e,t)}fstatSync(e,t){return this.baseFs.fstatSync(e,t)}lstatPromise(e,t){return this.baseFs.lstatPromise(this.mapToBase(e),t)}lstatSync(e,t){return this.baseFs.lstatSync(this.mapToBase(e),t)}async fchmodPromise(e,t){return this.baseFs.fchmodPromise(e,t)}fchmodSync(e,t){return this.baseFs.fchmodSync(e,t)}async chmodPromise(e,t){return this.baseFs.chmodPromise(this.mapToBase(e),t)}chmodSync(e,t){return this.baseFs.chmodSync(this.mapToBase(e),t)}async fchownPromise(e,t,i){return this.baseFs.fchownPromise(e,t,i)}fchownSync(e,t,i){return this.baseFs.fchownSync(e,t,i)}async chownPromise(e,t,i){return this.baseFs.chownPromise(this.mapToBase(e),t,i)}chownSync(e,t,i){return this.baseFs.chownSync(this.mapToBase(e),t,i)}async renamePromise(e,t){return this.baseFs.renamePromise(this.mapToBase(e),this.mapToBase(t))}renameSync(e,t){return this.baseFs.renameSync(this.mapToBase(e),this.mapToBase(t))}async copyFilePromise(e,t,i=0){return this.baseFs.copyFilePromise(this.mapToBase(e),this.mapToBase(t),i)}copyFileSync(e,t,i=0){return this.baseFs.copyFileSync(this.mapToBase(e),this.mapToBase(t),i)}async appendFilePromise(e,t,i){return this.baseFs.appendFilePromise(this.fsMapToBase(e),t,i)}appendFileSync(e,t,i){return this.baseFs.appendFileSync(this.fsMapToBase(e),t,i)}async writeFilePromise(e,t,i){return this.baseFs.writeFilePromise(this.fsMapToBase(e),t,i)}writeFileSync(e,t,i){return this.baseFs.writeFileSync(this.fsMapToBase(e),t,i)}async unlinkPromise(e){return this.baseFs.unlinkPromise(this.mapToBase(e))}unlinkSync(e){return this.baseFs.unlinkSync(this.mapToBase(e))}async utimesPromise(e,t,i){return this.baseFs.utimesPromise(this.mapToBase(e),t,i)}utimesSync(e,t,i){return this.baseFs.utimesSync(this.mapToBase(e),t,i)}async mkdirPromise(e,t){return this.baseFs.mkdirPromise(this.mapToBase(e),t)}mkdirSync(e,t){return this.baseFs.mkdirSync(this.mapToBase(e),t)}async rmdirPromise(e,t){return this.baseFs.rmdirPromise(this.mapToBase(e),t)}rmdirSync(e,t){return this.baseFs.rmdirSync(this.mapToBase(e),t)}async linkPromise(e,t){return this.baseFs.linkPromise(this.mapToBase(e),this.mapToBase(t))}linkSync(e,t){return this.baseFs.linkSync(this.mapToBase(e),this.mapToBase(t))}async symlinkPromise(e,t,i){let n=this.mapToBase(t);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkPromise(this.mapToBase(e),n,i);let s=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(t),e)),o=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(n),s);return this.baseFs.symlinkPromise(o,n,i)}symlinkSync(e,t,i){let n=this.mapToBase(t);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkSync(this.mapToBase(e),n,i);let s=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(t),e)),o=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(n),s);return this.baseFs.symlinkSync(o,n,i)}async readFilePromise(e,t){return t==="utf8"?this.baseFs.readFilePromise(this.fsMapToBase(e),t):this.baseFs.readFilePromise(this.fsMapToBase(e),t)}readFileSync(e,t){return t==="utf8"?this.baseFs.readFileSync(this.fsMapToBase(e),t):this.baseFs.readFileSync(this.fsMapToBase(e),t)}async readdirPromise(e,t){return this.baseFs.readdirPromise(this.mapToBase(e),t)}readdirSync(e,t){return this.baseFs.readdirSync(this.mapToBase(e),t)}async readlinkPromise(e){return this.mapFromBase(await this.baseFs.readlinkPromise(this.mapToBase(e)))}readlinkSync(e){return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(e)))}async truncatePromise(e,t){return this.baseFs.truncatePromise(this.mapToBase(e),t)}truncateSync(e,t){return this.baseFs.truncateSync(this.mapToBase(e),t)}async ftruncatePromise(e,t){return this.baseFs.ftruncatePromise(e,t)}ftruncateSync(e,t){return this.baseFs.ftruncateSync(e,t)}watch(e,t,i){return this.baseFs.watch(this.mapToBase(e),t,i)}watchFile(e,t,i){return this.baseFs.watchFile(this.mapToBase(e),t,i)}unwatchFile(e,t){return this.baseFs.unwatchFile(this.mapToBase(e),t)}fsMapToBase(e){return typeof e=="number"?e:this.mapToBase(e)}};var yo=class extends pi{constructor(t,{baseFs:i,pathUtils:n}){super(n);this.target=t,this.baseFs=i}getRealPath(){return this.target}getBaseFs(){return this.baseFs}mapFromBase(t){return t}mapToBase(t){return t}};var jt=class extends pi{constructor(t,{baseFs:i=new $t}={}){super(x);this.target=this.pathUtils.normalize(t),this.baseFs=i}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.target)}resolve(t){return this.pathUtils.isAbsolute(t)?x.normalize(t):this.baseFs.resolve(x.join(this.target,t))}mapFromBase(t){return t}mapToBase(t){return this.pathUtils.isAbsolute(t)?t:this.pathUtils.join(this.target,t)}};var K1=Oe.root,wo=class extends pi{constructor(t,{baseFs:i=new $t}={}){super(x);this.target=this.pathUtils.resolve(Oe.root,t),this.baseFs=i}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.pathUtils.relative(Oe.root,this.target))}getTarget(){return this.target}getBaseFs(){return this.baseFs}mapToBase(t){let i=this.pathUtils.normalize(t);if(this.pathUtils.isAbsolute(t))return this.pathUtils.resolve(this.target,this.pathUtils.relative(K1,t));if(i.match(/^\.\.\/?/))throw new Error(`Resolving this path (${t}) would escape the jail`);return this.pathUtils.resolve(this.target,t)}mapFromBase(t){return this.pathUtils.resolve(K1,this.pathUtils.relative(this.target,t))}};var dg=class extends pi{constructor(t,i){super(i);this.instance=null;this.factory=t}get baseFs(){return this.instance||(this.instance=this.factory()),this.instance}set baseFs(t){this.instance=t}mapFromBase(t){return t}mapToBase(t){return t}};var _e=()=>Object.assign(new Error("ENOSYS: unsupported filesystem access"),{code:"ENOSYS"}),aS=class extends ha{constructor(){super(x)}getExtractHint(){throw _e()}getRealPath(){throw _e()}resolve(){throw _e()}async openPromise(){throw _e()}openSync(){throw _e()}async opendirPromise(){throw _e()}opendirSync(){throw _e()}async readPromise(){throw _e()}readSync(){throw _e()}async writePromise(){throw _e()}writeSync(){throw _e()}async closePromise(){throw _e()}closeSync(){throw _e()}createWriteStream(){throw _e()}createReadStream(){throw _e()}async realpathPromise(){throw _e()}realpathSync(){throw _e()}async readdirPromise(){throw _e()}readdirSync(){throw _e()}async existsPromise(e){throw _e()}existsSync(e){throw _e()}async accessPromise(){throw _e()}accessSync(){throw _e()}async statPromise(){throw _e()}statSync(){throw _e()}async fstatPromise(e){throw _e()}fstatSync(e){throw _e()}async lstatPromise(e){throw _e()}lstatSync(e){throw _e()}async fchmodPromise(){throw _e()}fchmodSync(){throw _e()}async chmodPromise(){throw _e()}chmodSync(){throw _e()}async fchownPromise(){throw _e()}fchownSync(){throw _e()}async chownPromise(){throw _e()}chownSync(){throw _e()}async mkdirPromise(){throw _e()}mkdirSync(){throw _e()}async rmdirPromise(){throw _e()}rmdirSync(){throw _e()}async linkPromise(){throw _e()}linkSync(){throw _e()}async symlinkPromise(){throw _e()}symlinkSync(){throw _e()}async renamePromise(){throw _e()}renameSync(){throw _e()}async copyFilePromise(){throw _e()}copyFileSync(){throw _e()}async appendFilePromise(){throw _e()}appendFileSync(){throw _e()}async writeFilePromise(){throw _e()}writeFileSync(){throw _e()}async unlinkPromise(){throw _e()}unlinkSync(){throw _e()}async utimesPromise(){throw _e()}utimesSync(){throw _e()}async readFilePromise(){throw _e()}readFileSync(){throw _e()}async readlinkPromise(){throw _e()}readlinkSync(){throw _e()}async truncatePromise(){throw _e()}truncateSync(){throw _e()}async ftruncatePromise(e,t){throw _e()}ftruncateSync(e,t){throw _e()}watch(){throw _e()}watchFile(){throw _e()}unwatchFile(){throw _e()}},Rp=aS;Rp.instance=new aS;var Cg=class extends pi{constructor(t){super(K);this.baseFs=t}mapFromBase(t){return K.fromPortablePath(t)}mapToBase(t){return K.toPortablePath(t)}};var ige=/^[0-9]+$/,AS=/^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/,nge=/^([^/]+-)?[a-f0-9]+$/,Br=class extends pi{constructor({baseFs:t=new $t}={}){super(x);this.baseFs=t}static makeVirtualPath(t,i,n){if(x.basename(t)!=="__virtual__")throw new Error('Assertion failed: Virtual folders must be named "__virtual__"');if(!x.basename(i).match(nge))throw new Error("Assertion failed: Virtual components must be ended by an hexadecimal hash");let o=x.relative(x.dirname(t),n).split("/"),a=0;for(;a{let t=r.indexOf(e);if(t<=0)return null;let i=t;for(;t>=0&&(i=t+e.length,r[i]!==x.sep);){if(r[t-1]===x.sep)return null;t=r.indexOf(e,i)}return r.length>i&&r[i]!==x.sep?null:r.slice(0,i)},Tn=class extends EA{constructor({libzip:t,baseFs:i=new $t,filter:n=null,maxOpenFiles:s=1/0,readOnlyArchives:o=!1,useCache:a=!0,maxAge:l=5e3,fileExtensions:c=null}){super();this.fdMap=new Map;this.nextFd=3;this.isZip=new Set;this.notZip=new Set;this.realPaths=new Map;this.limitOpenFilesTimeout=null;this.libzipFactory=typeof t!="function"?()=>t:t,this.baseFs=i,this.zipInstances=a?new Map:null,this.filter=n,this.maxOpenFiles=s,this.readOnlyArchives=o,this.maxAge=l,this.fileExtensions=c}static async openPromise(t,i){let n=new Tn(i);try{return await t(n)}finally{n.saveAndClose()}}get libzip(){return typeof this.libzipInstance>"u"&&(this.libzipInstance=this.libzipFactory()),this.libzipInstance}getExtractHint(t){return this.baseFs.getExtractHint(t)}getRealPath(){return this.baseFs.getRealPath()}saveAndClose(){if(kp(this),this.zipInstances)for(let[t,{zipFs:i}]of this.zipInstances.entries())i.saveAndClose(),this.zipInstances.delete(t)}discardAndClose(){if(kp(this),this.zipInstances)for(let[t,{zipFs:i}]of this.zipInstances.entries())i.discardAndClose(),this.zipInstances.delete(t)}resolve(t){return this.baseFs.resolve(t)}remapFd(t,i){let n=this.nextFd++|qi;return this.fdMap.set(n,[t,i]),n}async openPromise(t,i,n){return await this.makeCallPromise(t,async()=>await this.baseFs.openPromise(t,i,n),async(s,{subPath:o})=>this.remapFd(s,await s.openPromise(o,i,n)))}openSync(t,i,n){return this.makeCallSync(t,()=>this.baseFs.openSync(t,i,n),(s,{subPath:o})=>this.remapFd(s,s.openSync(o,i,n)))}async opendirPromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.opendirPromise(t,i),async(n,{subPath:s})=>await n.opendirPromise(s,i),{requireSubpath:!1})}opendirSync(t,i){return this.makeCallSync(t,()=>this.baseFs.opendirSync(t,i),(n,{subPath:s})=>n.opendirSync(s,i),{requireSubpath:!1})}async readPromise(t,i,n,s,o){if((t&cn)!==qi)return await this.baseFs.readPromise(t,i,n,s,o);let a=this.fdMap.get(t);if(typeof a>"u")throw Hr("read");let[l,c]=a;return await l.readPromise(c,i,n,s,o)}readSync(t,i,n,s,o){if((t&cn)!==qi)return this.baseFs.readSync(t,i,n,s,o);let a=this.fdMap.get(t);if(typeof a>"u")throw Hr("readSync");let[l,c]=a;return l.readSync(c,i,n,s,o)}async writePromise(t,i,n,s,o){if((t&cn)!==qi)return typeof i=="string"?await this.baseFs.writePromise(t,i,n):await this.baseFs.writePromise(t,i,n,s,o);let a=this.fdMap.get(t);if(typeof a>"u")throw Hr("write");let[l,c]=a;return typeof i=="string"?await l.writePromise(c,i,n):await l.writePromise(c,i,n,s,o)}writeSync(t,i,n,s,o){if((t&cn)!==qi)return typeof i=="string"?this.baseFs.writeSync(t,i,n):this.baseFs.writeSync(t,i,n,s,o);let a=this.fdMap.get(t);if(typeof a>"u")throw Hr("writeSync");let[l,c]=a;return typeof i=="string"?l.writeSync(c,i,n):l.writeSync(c,i,n,s,o)}async closePromise(t){if((t&cn)!==qi)return await this.baseFs.closePromise(t);let i=this.fdMap.get(t);if(typeof i>"u")throw Hr("close");this.fdMap.delete(t);let[n,s]=i;return await n.closePromise(s)}closeSync(t){if((t&cn)!==qi)return this.baseFs.closeSync(t);let i=this.fdMap.get(t);if(typeof i>"u")throw Hr("closeSync");this.fdMap.delete(t);let[n,s]=i;return n.closeSync(s)}createReadStream(t,i){return t===null?this.baseFs.createReadStream(t,i):this.makeCallSync(t,()=>this.baseFs.createReadStream(t,i),(n,{archivePath:s,subPath:o})=>{let a=n.createReadStream(o,i);return a.path=K.fromPortablePath(this.pathUtils.join(s,o)),a})}createWriteStream(t,i){return t===null?this.baseFs.createWriteStream(t,i):this.makeCallSync(t,()=>this.baseFs.createWriteStream(t,i),(n,{subPath:s})=>n.createWriteStream(s,i))}async realpathPromise(t){return await this.makeCallPromise(t,async()=>await this.baseFs.realpathPromise(t),async(i,{archivePath:n,subPath:s})=>{let o=this.realPaths.get(n);return typeof o>"u"&&(o=await this.baseFs.realpathPromise(n),this.realPaths.set(n,o)),this.pathUtils.join(o,this.pathUtils.relative(Oe.root,await i.realpathPromise(s)))})}realpathSync(t){return this.makeCallSync(t,()=>this.baseFs.realpathSync(t),(i,{archivePath:n,subPath:s})=>{let o=this.realPaths.get(n);return typeof o>"u"&&(o=this.baseFs.realpathSync(n),this.realPaths.set(n,o)),this.pathUtils.join(o,this.pathUtils.relative(Oe.root,i.realpathSync(s)))})}async existsPromise(t){return await this.makeCallPromise(t,async()=>await this.baseFs.existsPromise(t),async(i,{subPath:n})=>await i.existsPromise(n))}existsSync(t){return this.makeCallSync(t,()=>this.baseFs.existsSync(t),(i,{subPath:n})=>i.existsSync(n))}async accessPromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.accessPromise(t,i),async(n,{subPath:s})=>await n.accessPromise(s,i))}accessSync(t,i){return this.makeCallSync(t,()=>this.baseFs.accessSync(t,i),(n,{subPath:s})=>n.accessSync(s,i))}async statPromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.statPromise(t,i),async(n,{subPath:s})=>await n.statPromise(s,i))}statSync(t,i){return this.makeCallSync(t,()=>this.baseFs.statSync(t,i),(n,{subPath:s})=>n.statSync(s,i))}async fstatPromise(t,i){if((t&cn)!==qi)return this.baseFs.fstatPromise(t,i);let n=this.fdMap.get(t);if(typeof n>"u")throw Hr("fstat");let[s,o]=n;return s.fstatPromise(o,i)}fstatSync(t,i){if((t&cn)!==qi)return this.baseFs.fstatSync(t,i);let n=this.fdMap.get(t);if(typeof n>"u")throw Hr("fstatSync");let[s,o]=n;return s.fstatSync(o,i)}async lstatPromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.lstatPromise(t,i),async(n,{subPath:s})=>await n.lstatPromise(s,i))}lstatSync(t,i){return this.makeCallSync(t,()=>this.baseFs.lstatSync(t,i),(n,{subPath:s})=>n.lstatSync(s,i))}async fchmodPromise(t,i){if((t&cn)!==qi)return this.baseFs.fchmodPromise(t,i);let n=this.fdMap.get(t);if(typeof n>"u")throw Hr("fchmod");let[s,o]=n;return s.fchmodPromise(o,i)}fchmodSync(t,i){if((t&cn)!==qi)return this.baseFs.fchmodSync(t,i);let n=this.fdMap.get(t);if(typeof n>"u")throw Hr("fchmodSync");let[s,o]=n;return s.fchmodSync(o,i)}async chmodPromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.chmodPromise(t,i),async(n,{subPath:s})=>await n.chmodPromise(s,i))}chmodSync(t,i){return this.makeCallSync(t,()=>this.baseFs.chmodSync(t,i),(n,{subPath:s})=>n.chmodSync(s,i))}async fchownPromise(t,i,n){if((t&cn)!==qi)return this.baseFs.fchownPromise(t,i,n);let s=this.fdMap.get(t);if(typeof s>"u")throw Hr("fchown");let[o,a]=s;return o.fchownPromise(a,i,n)}fchownSync(t,i,n){if((t&cn)!==qi)return this.baseFs.fchownSync(t,i,n);let s=this.fdMap.get(t);if(typeof s>"u")throw Hr("fchownSync");let[o,a]=s;return o.fchownSync(a,i,n)}async chownPromise(t,i,n){return await this.makeCallPromise(t,async()=>await this.baseFs.chownPromise(t,i,n),async(s,{subPath:o})=>await s.chownPromise(o,i,n))}chownSync(t,i,n){return this.makeCallSync(t,()=>this.baseFs.chownSync(t,i,n),(s,{subPath:o})=>s.chownSync(o,i,n))}async renamePromise(t,i){return await this.makeCallPromise(t,async()=>await this.makeCallPromise(i,async()=>await this.baseFs.renamePromise(t,i),async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),async(n,{subPath:s})=>await this.makeCallPromise(i,async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},async(o,{subPath:a})=>{if(n!==o)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return await n.renamePromise(s,a)}))}renameSync(t,i){return this.makeCallSync(t,()=>this.makeCallSync(i,()=>this.baseFs.renameSync(t,i),()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),(n,{subPath:s})=>this.makeCallSync(i,()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},(o,{subPath:a})=>{if(n!==o)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return n.renameSync(s,a)}))}async copyFilePromise(t,i,n=0){let s=async(o,a,l,c)=>{if((n&Fp.constants.COPYFILE_FICLONE_FORCE)!==0)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${a}' -> ${c}'`),{code:"EXDEV"});if(n&Fp.constants.COPYFILE_EXCL&&await this.existsPromise(a))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${a}' -> '${c}'`),{code:"EEXIST"});let u;try{u=await o.readFilePromise(a)}catch{throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${a}' -> '${c}'`),{code:"EINVAL"})}await l.writeFilePromise(c,u)};return await this.makeCallPromise(t,async()=>await this.makeCallPromise(i,async()=>await this.baseFs.copyFilePromise(t,i,n),async(o,{subPath:a})=>await s(this.baseFs,t,o,a)),async(o,{subPath:a})=>await this.makeCallPromise(i,async()=>await s(o,a,this.baseFs,i),async(l,{subPath:c})=>o!==l?await s(o,a,l,c):await o.copyFilePromise(a,c,n)))}copyFileSync(t,i,n=0){let s=(o,a,l,c)=>{if((n&Fp.constants.COPYFILE_FICLONE_FORCE)!==0)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${a}' -> ${c}'`),{code:"EXDEV"});if(n&Fp.constants.COPYFILE_EXCL&&this.existsSync(a))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${a}' -> '${c}'`),{code:"EEXIST"});let u;try{u=o.readFileSync(a)}catch{throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${a}' -> '${c}'`),{code:"EINVAL"})}l.writeFileSync(c,u)};return this.makeCallSync(t,()=>this.makeCallSync(i,()=>this.baseFs.copyFileSync(t,i,n),(o,{subPath:a})=>s(this.baseFs,t,o,a)),(o,{subPath:a})=>this.makeCallSync(i,()=>s(o,a,this.baseFs,i),(l,{subPath:c})=>o!==l?s(o,a,l,c):o.copyFileSync(a,c,n)))}async appendFilePromise(t,i,n){return await this.makeCallPromise(t,async()=>await this.baseFs.appendFilePromise(t,i,n),async(s,{subPath:o})=>await s.appendFilePromise(o,i,n))}appendFileSync(t,i,n){return this.makeCallSync(t,()=>this.baseFs.appendFileSync(t,i,n),(s,{subPath:o})=>s.appendFileSync(o,i,n))}async writeFilePromise(t,i,n){return await this.makeCallPromise(t,async()=>await this.baseFs.writeFilePromise(t,i,n),async(s,{subPath:o})=>await s.writeFilePromise(o,i,n))}writeFileSync(t,i,n){return this.makeCallSync(t,()=>this.baseFs.writeFileSync(t,i,n),(s,{subPath:o})=>s.writeFileSync(o,i,n))}async unlinkPromise(t){return await this.makeCallPromise(t,async()=>await this.baseFs.unlinkPromise(t),async(i,{subPath:n})=>await i.unlinkPromise(n))}unlinkSync(t){return this.makeCallSync(t,()=>this.baseFs.unlinkSync(t),(i,{subPath:n})=>i.unlinkSync(n))}async utimesPromise(t,i,n){return await this.makeCallPromise(t,async()=>await this.baseFs.utimesPromise(t,i,n),async(s,{subPath:o})=>await s.utimesPromise(o,i,n))}utimesSync(t,i,n){return this.makeCallSync(t,()=>this.baseFs.utimesSync(t,i,n),(s,{subPath:o})=>s.utimesSync(o,i,n))}async mkdirPromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.mkdirPromise(t,i),async(n,{subPath:s})=>await n.mkdirPromise(s,i))}mkdirSync(t,i){return this.makeCallSync(t,()=>this.baseFs.mkdirSync(t,i),(n,{subPath:s})=>n.mkdirSync(s,i))}async rmdirPromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.rmdirPromise(t,i),async(n,{subPath:s})=>await n.rmdirPromise(s,i))}rmdirSync(t,i){return this.makeCallSync(t,()=>this.baseFs.rmdirSync(t,i),(n,{subPath:s})=>n.rmdirSync(s,i))}async linkPromise(t,i){return await this.makeCallPromise(i,async()=>await this.baseFs.linkPromise(t,i),async(n,{subPath:s})=>await n.linkPromise(t,s))}linkSync(t,i){return this.makeCallSync(i,()=>this.baseFs.linkSync(t,i),(n,{subPath:s})=>n.linkSync(t,s))}async symlinkPromise(t,i,n){return await this.makeCallPromise(i,async()=>await this.baseFs.symlinkPromise(t,i,n),async(s,{subPath:o})=>await s.symlinkPromise(t,o))}symlinkSync(t,i,n){return this.makeCallSync(i,()=>this.baseFs.symlinkSync(t,i,n),(s,{subPath:o})=>s.symlinkSync(t,o))}async readFilePromise(t,i){return this.makeCallPromise(t,async()=>{switch(i){case"utf8":return await this.baseFs.readFilePromise(t,i);default:return await this.baseFs.readFilePromise(t,i)}},async(n,{subPath:s})=>await n.readFilePromise(s,i))}readFileSync(t,i){return this.makeCallSync(t,()=>{switch(i){case"utf8":return this.baseFs.readFileSync(t,i);default:return this.baseFs.readFileSync(t,i)}},(n,{subPath:s})=>n.readFileSync(s,i))}async readdirPromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.readdirPromise(t,i),async(n,{subPath:s})=>await n.readdirPromise(s,i),{requireSubpath:!1})}readdirSync(t,i){return this.makeCallSync(t,()=>this.baseFs.readdirSync(t,i),(n,{subPath:s})=>n.readdirSync(s,i),{requireSubpath:!1})}async readlinkPromise(t){return await this.makeCallPromise(t,async()=>await this.baseFs.readlinkPromise(t),async(i,{subPath:n})=>await i.readlinkPromise(n))}readlinkSync(t){return this.makeCallSync(t,()=>this.baseFs.readlinkSync(t),(i,{subPath:n})=>i.readlinkSync(n))}async truncatePromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.truncatePromise(t,i),async(n,{subPath:s})=>await n.truncatePromise(s,i))}truncateSync(t,i){return this.makeCallSync(t,()=>this.baseFs.truncateSync(t,i),(n,{subPath:s})=>n.truncateSync(s,i))}async ftruncatePromise(t,i){if((t&cn)!==qi)return this.baseFs.ftruncatePromise(t,i);let n=this.fdMap.get(t);if(typeof n>"u")throw Hr("ftruncate");let[s,o]=n;return s.ftruncatePromise(o,i)}ftruncateSync(t,i){if((t&cn)!==qi)return this.baseFs.ftruncateSync(t,i);let n=this.fdMap.get(t);if(typeof n>"u")throw Hr("ftruncateSync");let[s,o]=n;return s.ftruncateSync(o,i)}watch(t,i,n){return this.makeCallSync(t,()=>this.baseFs.watch(t,i,n),(s,{subPath:o})=>s.watch(o,i,n))}watchFile(t,i,n){return this.makeCallSync(t,()=>this.baseFs.watchFile(t,i,n),()=>qE(this,t,i,n))}unwatchFile(t,i){return this.makeCallSync(t,()=>this.baseFs.unwatchFile(t,i),()=>Dp(this,t,i))}async makeCallPromise(t,i,n,{requireSubpath:s=!0}={}){if(typeof t!="string")return await i();let o=this.resolve(t),a=this.findZip(o);return a?s&&a.subPath==="/"?await i():await this.getZipPromise(a.archivePath,async l=>await n(l,a)):await i()}makeCallSync(t,i,n,{requireSubpath:s=!0}={}){if(typeof t!="string")return i();let o=this.resolve(t),a=this.findZip(o);return!a||s&&a.subPath==="/"?i():this.getZipSync(a.archivePath,l=>n(l,a))}findZip(t){if(this.filter&&!this.filter.test(t))return null;let i="";for(;;){let n=t.substring(i.length),s;if(!this.fileExtensions)s=U1(n,".zip");else for(let o of this.fileExtensions)if(s=U1(n,o),s)break;if(!s)return null;if(i=this.pathUtils.join(i,s),this.isZip.has(i)===!1){if(this.notZip.has(i))continue;try{if(!this.baseFs.lstatSync(i).isFile()){this.notZip.add(i);continue}}catch{return null}this.isZip.add(i)}return{archivePath:i,subPath:this.pathUtils.join(Oe.root,t.substring(i.length))}}}limitOpenFiles(t){if(this.zipInstances===null)return;let i=Date.now(),n=i+this.maxAge,s=t===null?0:this.zipInstances.size-t;for(let[o,{zipFs:a,expiresAt:l,refCount:c}]of this.zipInstances.entries())if(!(c!==0||a.hasOpenFileHandles())){if(i>=l){a.saveAndClose(),this.zipInstances.delete(o),s-=1;continue}else if(t===null||s<=0){n=l;break}a.saveAndClose(),this.zipInstances.delete(o),s-=1}this.limitOpenFilesTimeout===null&&(t===null&&this.zipInstances.size>0||t!==null)&&(this.limitOpenFilesTimeout=setTimeout(()=>{this.limitOpenFilesTimeout=null,this.limitOpenFiles(null)},n-i).unref())}async getZipPromise(t,i){let n=async()=>({baseFs:this.baseFs,libzip:this.libzip,readOnly:this.readOnlyArchives,stats:await this.baseFs.statPromise(t)});if(this.zipInstances){let s=this.zipInstances.get(t);if(!s){let o=await n();s=this.zipInstances.get(t),s||(s={zipFs:new Wr(t,o),expiresAt:0,refCount:0})}this.zipInstances.delete(t),this.limitOpenFiles(this.maxOpenFiles-1),this.zipInstances.set(t,s),s.expiresAt=Date.now()+this.maxAge,s.refCount+=1;try{return await i(s.zipFs)}finally{s.refCount-=1}}else{let s=new Wr(t,await n());try{return await i(s)}finally{s.saveAndClose()}}}getZipSync(t,i){let n=()=>({baseFs:this.baseFs,libzip:this.libzip,readOnly:this.readOnlyArchives,stats:this.baseFs.statSync(t)});if(this.zipInstances){let s=this.zipInstances.get(t);return s||(s={zipFs:new Wr(t,n()),expiresAt:0,refCount:0}),this.zipInstances.delete(t),this.limitOpenFiles(this.maxOpenFiles-1),this.zipInstances.set(t,s),s.expiresAt=Date.now()+this.maxAge,i(s.zipFs)}else{let s=new Wr(t,n());try{return i(s)}finally{s.saveAndClose()}}}};var Eg=J("util");var WE=J("url"),H1=J("util");var JE=class extends pi{constructor(t){super(K);this.baseFs=t}mapFromBase(t){return t}mapToBase(t){if(typeof t=="string")return t;if(t instanceof WE.URL)return(0,WE.fileURLToPath)(t);if(Buffer.isBuffer(t)){let i=t.toString();if(Buffer.byteLength(i)!==t.byteLength)throw new Error("Non-utf8 buffers are not supported at the moment. Please upvote the following issue if you encounter this error: https://github.com/yarnpkg/berry/issues/4942");return i}throw new Error(`Unsupported path type: ${(0,H1.inspect)(t)}`)}};var G1=J("readline"),Ri=Symbol("kBaseFs"),pa=Symbol("kFd"),IA=Symbol("kClosePromise"),zE=Symbol("kCloseResolve"),VE=Symbol("kCloseReject"),mg=Symbol("kRefs"),Ys=Symbol("kRef"),js=Symbol("kUnref"),sge,oge,age,Age,Np=class{constructor(e,t){this[sge]=1;this[oge]=void 0;this[age]=void 0;this[Age]=void 0;this[Ri]=t,this[pa]=e}get fd(){return this[pa]}async appendFile(e,t){var i;try{this[Ys](this.appendFile);let n=(i=typeof t=="string"?t:t==null?void 0:t.encoding)!=null?i:void 0;return await this[Ri].appendFilePromise(this.fd,e,n?{encoding:n}:void 0)}finally{this[js]()}}async chown(e,t){try{return this[Ys](this.chown),await this[Ri].fchownPromise(this.fd,e,t)}finally{this[js]()}}async chmod(e){try{return this[Ys](this.chmod),await this[Ri].fchmodPromise(this.fd,e)}finally{this[js]()}}createReadStream(e){return this[Ri].createReadStream(null,{...e,fd:this.fd})}createWriteStream(e){return this[Ri].createWriteStream(null,{...e,fd:this.fd})}datasync(){throw new Error("Method not implemented.")}sync(){throw new Error("Method not implemented.")}async read(e,t,i,n){var s,o,a;try{this[Ys](this.read);let l;return Buffer.isBuffer(e)?l=e:(e!=null||(e={}),l=(s=e.buffer)!=null?s:Buffer.alloc(16384),t=e.offset||0,i=(o=e.length)!=null?o:l.byteLength,n=(a=e.position)!=null?a:null),t!=null||(t=0),i!=null||(i=0),i===0?{bytesRead:i,buffer:l}:{bytesRead:await this[Ri].readPromise(this.fd,l,t,i,n),buffer:l}}finally{this[js]()}}async readFile(e){var t;try{this[Ys](this.readFile);let i=(t=typeof e=="string"?e:e==null?void 0:e.encoding)!=null?t:void 0;return await this[Ri].readFilePromise(this.fd,i)}finally{this[js]()}}readLines(e){return(0,G1.createInterface)({input:this.createReadStream(e),crlfDelay:1/0})}async stat(e){try{return this[Ys](this.stat),await this[Ri].fstatPromise(this.fd,e)}finally{this[js]()}}async truncate(e){try{return this[Ys](this.truncate),await this[Ri].ftruncatePromise(this.fd,e)}finally{this[js]()}}utimes(e,t){throw new Error("Method not implemented.")}async writeFile(e,t){var i;try{this[Ys](this.writeFile);let n=(i=typeof t=="string"?t:t==null?void 0:t.encoding)!=null?i:void 0;await this[Ri].writeFilePromise(this.fd,e,n)}finally{this[js]()}}async write(...e){try{if(this[Ys](this.write),ArrayBuffer.isView(e[0])){let[t,i,n,s]=e;return{bytesWritten:await this[Ri].writePromise(this.fd,t,i!=null?i:void 0,n!=null?n:void 0,s!=null?s:void 0),buffer:t}}else{let[t,i,n]=e;return{bytesWritten:await this[Ri].writePromise(this.fd,t,i,n),buffer:t}}}finally{this[js]()}}async writev(e,t){try{this[Ys](this.writev);let i=0;if(typeof t<"u")for(let n of e){let s=await this.write(n,void 0,void 0,t);i+=s.bytesWritten,t+=s.bytesWritten}else for(let n of e)i+=(await this.write(n)).bytesWritten;return{buffers:e,bytesWritten:i}}finally{this[js]()}}readv(e,t){throw new Error("Method not implemented.")}close(){if(this[pa]===-1)return Promise.resolve();if(this[IA])return this[IA];if(this[mg]--,this[mg]===0){let e=this[pa];this[pa]=-1,this[IA]=this[Ri].closePromise(e).finally(()=>{this[IA]=void 0})}else this[IA]=new Promise((e,t)=>{this[zE]=e,this[VE]=t}).finally(()=>{this[IA]=void 0,this[VE]=void 0,this[zE]=void 0});return this[IA]}[(Ri,pa,sge=mg,oge=IA,age=zE,Age=VE,Ys)](e){if(this[pa]===-1){let t=new Error("file closed");throw t.code="EBADF",t.syscall=e.name,t}this[mg]++}[js](){if(this[mg]--,this[mg]===0){let e=this[pa];this[pa]=-1,this[Ri].closePromise(e).then(this[zE],this[VE])}}};var lge=new Set(["accessSync","appendFileSync","createReadStream","createWriteStream","chmodSync","fchmodSync","chownSync","fchownSync","closeSync","copyFileSync","linkSync","lstatSync","fstatSync","lutimesSync","mkdirSync","openSync","opendirSync","readlinkSync","readFileSync","readdirSync","readlinkSync","realpathSync","renameSync","rmdirSync","statSync","symlinkSync","truncateSync","ftruncateSync","unlinkSync","unwatchFile","utimesSync","watch","watchFile","writeFileSync","writeSync"]),Y1=new Set(["accessPromise","appendFilePromise","fchmodPromise","chmodPromise","fchownPromise","chownPromise","closePromise","copyFilePromise","linkPromise","fstatPromise","lstatPromise","lutimesPromise","mkdirPromise","openPromise","opendirPromise","readdirPromise","realpathPromise","readFilePromise","readdirPromise","readlinkPromise","renamePromise","rmdirPromise","statPromise","symlinkPromise","truncatePromise","ftruncatePromise","unlinkPromise","utimesPromise","writeFilePromise","writeSync"]);function lS(r,e){e=new JE(e);let t=(i,n,s)=>{let o=i[n];i[n]=s,typeof(o==null?void 0:o[Eg.promisify.custom])<"u"&&(s[Eg.promisify.custom]=o[Eg.promisify.custom])};{t(r,"exists",(i,...n)=>{let o=typeof n[n.length-1]=="function"?n.pop():()=>{};process.nextTick(()=>{e.existsPromise(i).then(a=>{o(a)},()=>{o(!1)})})}),t(r,"read",(...i)=>{let[n,s,o,a,l,c]=i;if(i.length<=3){let u={};i.length<3?c=i[1]:(u=i[1],c=i[2]),{buffer:s=Buffer.alloc(16384),offset:o=0,length:a=s.byteLength,position:l}=u}if(o==null&&(o=0),a|=0,a===0){process.nextTick(()=>{c(null,0,s)});return}l==null&&(l=-1),process.nextTick(()=>{e.readPromise(n,s,o,a,l).then(u=>{c(null,u,s)},u=>{c(u,0,s)})})});for(let i of Y1){let n=i.replace(/Promise$/,"");if(typeof r[n]>"u")continue;let s=e[i];if(typeof s>"u")continue;t(r,n,(...a)=>{let c=typeof a[a.length-1]=="function"?a.pop():()=>{};process.nextTick(()=>{s.apply(e,a).then(u=>{c(null,u)},u=>{c(u)})})})}r.realpath.native=r.realpath}{t(r,"existsSync",i=>{try{return e.existsSync(i)}catch{return!1}}),t(r,"readSync",(...i)=>{let[n,s,o,a,l]=i;return i.length<=3&&({offset:o=0,length:a=s.byteLength,position:l}=i[2]||{}),o==null&&(o=0),a|=0,a===0?0:(l==null&&(l=-1),e.readSync(n,s,o,a,l))});for(let i of lge){let n=i;if(typeof r[n]>"u")continue;let s=e[i];typeof s>"u"||t(r,n,s.bind(e))}r.realpathSync.native=r.realpathSync}{let i=process.emitWarning;process.emitWarning=()=>{};let n;try{n=r.promises}finally{process.emitWarning=i}if(typeof n<"u"){for(let s of Y1){let o=s.replace(/Promise$/,"");if(typeof n[o]>"u")continue;let a=e[s];typeof a>"u"||s!=="open"&&t(n,o,(l,...c)=>l instanceof Np?l[o].apply(l,c):a.call(e,l,...c))}t(n,"open",async(...s)=>{let o=await e.openPromise(...s);return new Np(o,e)})}}r.read[Eg.promisify.custom]=async(i,n,...s)=>({bytesRead:await e.readPromise(i,n,...s),buffer:n}),r.write[Eg.promisify.custom]=async(i,n,...s)=>({bytesWritten:await e.writePromise(i,n,...s),buffer:n})}function XE(r,e){let t=Object.create(r);return lS(t,e),t}var J1=Pe(J("os"));function j1(r){let e=Math.ceil(Math.random()*4294967296).toString(16).padStart(8,"0");return`${r}${e}`}var qs=new Set,cS=null;function q1(){if(cS)return cS;let r=K.toPortablePath(J1.default.tmpdir()),e=M.realpathSync(r);return process.once("exit",()=>{M.rmtempSync()}),cS={tmpdir:r,realTmpdir:e}}var M=Object.assign(new $t,{detachTemp(r){qs.delete(r)},mktempSync(r){let{tmpdir:e,realTmpdir:t}=q1();for(;;){let i=j1("xfs-");try{this.mkdirSync(x.join(e,i))}catch(s){if(s.code==="EEXIST")continue;throw s}let n=x.join(t,i);if(qs.add(n),typeof r>"u")return n;try{return r(n)}finally{if(qs.has(n)){qs.delete(n);try{this.removeSync(n)}catch{}}}}},async mktempPromise(r){let{tmpdir:e,realTmpdir:t}=q1();for(;;){let i=j1("xfs-");try{await this.mkdirPromise(x.join(e,i))}catch(s){if(s.code==="EEXIST")continue;throw s}let n=x.join(t,i);if(qs.add(n),typeof r>"u")return n;try{return await r(n)}finally{if(qs.has(n)){qs.delete(n);try{await this.removePromise(n)}catch{}}}}},async rmtempPromise(){await Promise.all(Array.from(qs.values()).map(async r=>{try{await M.removePromise(r,{maxRetries:0}),qs.delete(r)}catch{}}))},rmtempSync(){for(let r of qs)try{M.removeSync(r),qs.delete(r)}catch{}}});var _D=Pe(IS());var Yp={};ut(Yp,{parseResolution:()=>rI,parseShell:()=>$E,parseSyml:()=>Ii,stringifyArgument:()=>QS,stringifyArgumentSegment:()=>bS,stringifyArithmeticExpression:()=>tI,stringifyCommand:()=>BS,stringifyCommandChain:()=>Bg,stringifyCommandChainThen:()=>wS,stringifyCommandLine:()=>eI,stringifyCommandLineThen:()=>yS,stringifyEnvSegment:()=>ZE,stringifyRedirectArgument:()=>Tp,stringifyResolution:()=>iI,stringifyShell:()=>wg,stringifyShellLine:()=>wg,stringifySyml:()=>Ca,stringifyValueArgument:()=>Kl});var TK=Pe(LK());function $E(r,e={isGlobPattern:()=>!1}){try{return(0,TK.parse)(r,e)}catch(t){throw t.location&&(t.message=t.message.replace(/(\.)?$/,` (line ${t.location.start.line}, column ${t.location.start.column})$1`)),t}}function wg(r,{endSemicolon:e=!1}={}){return r.map(({command:t,type:i},n)=>`${eI(t)}${i===";"?n!==r.length-1||e?";":"":" &"}`).join(" ")}function eI(r){return`${Bg(r.chain)}${r.then?` ${yS(r.then)}`:""}`}function yS(r){return`${r.type} ${eI(r.line)}`}function Bg(r){return`${BS(r)}${r.then?` ${wS(r.then)}`:""}`}function wS(r){return`${r.type} ${Bg(r.chain)}`}function BS(r){switch(r.type){case"command":return`${r.envs.length>0?`${r.envs.map(e=>ZE(e)).join(" ")} `:""}${r.args.map(e=>QS(e)).join(" ")}`;case"subshell":return`(${wg(r.subshell)})${r.args.length>0?` ${r.args.map(e=>Tp(e)).join(" ")}`:""}`;case"group":return`{ ${wg(r.group,{endSemicolon:!0})} }${r.args.length>0?` ${r.args.map(e=>Tp(e)).join(" ")}`:""}`;case"envs":return r.envs.map(e=>ZE(e)).join(" ");default:throw new Error(`Unsupported command type: "${r.type}"`)}}function ZE(r){return`${r.name}=${r.args[0]?Kl(r.args[0]):""}`}function QS(r){switch(r.type){case"redirection":return Tp(r);case"argument":return Kl(r);default:throw new Error(`Unsupported argument type: "${r.type}"`)}}function Tp(r){return`${r.subtype} ${r.args.map(e=>Kl(e)).join(" ")}`}function Kl(r){return r.segments.map(e=>bS(e)).join("")}function bS(r){let e=(i,n)=>n?`"${i}"`:i,t=i=>i===""?'""':i.match(/[(){}<>$|&; \t"']/)?`$'${i.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\f/g,"\\f").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t").replace(/\v/g,"\\v").replace(/\0/g,"\\0")}'`:i;switch(r.type){case"text":return t(r.text);case"glob":return r.pattern;case"shell":return e(`\${${wg(r.shell)}}`,r.quoted);case"variable":return e(typeof r.defaultValue>"u"?typeof r.alternativeValue>"u"?`\${${r.name}}`:r.alternativeValue.length===0?`\${${r.name}:+}`:`\${${r.name}:+${r.alternativeValue.map(i=>Kl(i)).join(" ")}}`:r.defaultValue.length===0?`\${${r.name}:-}`:`\${${r.name}:-${r.defaultValue.map(i=>Kl(i)).join(" ")}}`,r.quoted);case"arithmetic":return`$(( ${tI(r.arithmetic)} ))`;default:throw new Error(`Unsupported argument segment type: "${r.type}"`)}}function tI(r){let e=n=>{switch(n){case"addition":return"+";case"subtraction":return"-";case"multiplication":return"*";case"division":return"/";default:throw new Error(`Can't extract operator from arithmetic expression of type "${n}"`)}},t=(n,s)=>s?`( ${n} )`:n,i=n=>t(tI(n),!["number","variable"].includes(n.type));switch(r.type){case"number":return String(r.value);case"variable":return r.name;default:return`${i(r.left)} ${e(r.type)} ${i(r.right)}`}}var KK=Pe(MK());function rI(r){let e=r.match(/^\*{1,2}\/(.*)/);if(e)throw new Error(`The override for '${r}' includes a glob pattern. Glob patterns have been removed since their behaviours don't match what you'd expect. Set the override to '${e[1]}' instead.`);try{return(0,KK.parse)(r)}catch(t){throw t.location&&(t.message=t.message.replace(/(\.)?$/,` (line ${t.location.start.line}, column ${t.location.start.column})$1`)),t}}function iI(r){let e="";return r.from&&(e+=r.from.fullName,r.from.description&&(e+=`@${r.from.description}`),e+="/"),e+=r.descriptor.fullName,r.descriptor.description&&(e+=`@${r.descriptor.description}`),e}var pI=Pe(P2()),N2=Pe(k2()),mpe=/^(?![-?:,\][{}#&*!|>'"%@` \t\r\n]).([ \t]*(?![,\][{}:# \t\r\n]).)*$/,R2=["__metadata","version","resolution","dependencies","peerDependencies","dependenciesMeta","peerDependenciesMeta","binaries"],hI=class{constructor(e){this.data=e}};function F2(r){return r.match(mpe)?r:JSON.stringify(r)}function L2(r){return typeof r>"u"?!0:typeof r=="object"&&r!==null?Object.keys(r).every(e=>L2(r[e])):!1}function MS(r,e,t){if(r===null)return`null +`}function ql(r,e){return e.replace(/\r?\n/g,Hge(r))}var wg=J("fs"),IS=J("stream"),uK=J("util"),yS=Pe(J("zlib"));var AK=Pe(J("fs"));var $t=class extends vA{constructor(t=AK.default){super();this.realFs=t,typeof this.realFs.lutimes<"u"&&(this.lutimesPromise=this.lutimesPromiseImpl,this.lutimesSync=this.lutimesSyncImpl)}getExtractHint(){return!1}getRealPath(){return Oe.root}resolve(t){return x.resolve(t)}async openPromise(t,i,n){return await new Promise((s,o)=>{this.realFs.open(K.fromPortablePath(t),i,n,this.makeCallback(s,o))})}openSync(t,i,n){return this.realFs.openSync(K.fromPortablePath(t),i,n)}async opendirPromise(t,i){return await new Promise((n,s)=>{typeof i<"u"?this.realFs.opendir(K.fromPortablePath(t),i,this.makeCallback(n,s)):this.realFs.opendir(K.fromPortablePath(t),this.makeCallback(n,s))}).then(n=>Object.defineProperty(n,"path",{value:t,configurable:!0,writable:!0}))}opendirSync(t,i){let n=typeof i<"u"?this.realFs.opendirSync(K.fromPortablePath(t),i):this.realFs.opendirSync(K.fromPortablePath(t));return Object.defineProperty(n,"path",{value:t,configurable:!0,writable:!0})}async readPromise(t,i,n=0,s=0,o=-1){return await new Promise((a,l)=>{this.realFs.read(t,i,n,s,o,(c,u)=>{c?l(c):a(u)})})}readSync(t,i,n,s,o){return this.realFs.readSync(t,i,n,s,o)}async writePromise(t,i,n,s,o){return await new Promise((a,l)=>typeof i=="string"?this.realFs.write(t,i,n,this.makeCallback(a,l)):this.realFs.write(t,i,n,s,o,this.makeCallback(a,l)))}writeSync(t,i,n,s,o){return typeof i=="string"?this.realFs.writeSync(t,i,n):this.realFs.writeSync(t,i,n,s,o)}async closePromise(t){await new Promise((i,n)=>{this.realFs.close(t,this.makeCallback(i,n))})}closeSync(t){this.realFs.closeSync(t)}createReadStream(t,i){let n=t!==null?K.fromPortablePath(t):t;return this.realFs.createReadStream(n,i)}createWriteStream(t,i){let n=t!==null?K.fromPortablePath(t):t;return this.realFs.createWriteStream(n,i)}async realpathPromise(t){return await new Promise((i,n)=>{this.realFs.realpath(K.fromPortablePath(t),{},this.makeCallback(i,n))}).then(i=>K.toPortablePath(i))}realpathSync(t){return K.toPortablePath(this.realFs.realpathSync(K.fromPortablePath(t),{}))}async existsPromise(t){return await new Promise(i=>{this.realFs.exists(K.fromPortablePath(t),i)})}accessSync(t,i){return this.realFs.accessSync(K.fromPortablePath(t),i)}async accessPromise(t,i){return await new Promise((n,s)=>{this.realFs.access(K.fromPortablePath(t),i,this.makeCallback(n,s))})}existsSync(t){return this.realFs.existsSync(K.fromPortablePath(t))}async statPromise(t,i){return await new Promise((n,s)=>{i?this.realFs.stat(K.fromPortablePath(t),i,this.makeCallback(n,s)):this.realFs.stat(K.fromPortablePath(t),this.makeCallback(n,s))})}statSync(t,i){return i?this.realFs.statSync(K.fromPortablePath(t),i):this.realFs.statSync(K.fromPortablePath(t))}async fstatPromise(t,i){return await new Promise((n,s)=>{i?this.realFs.fstat(t,i,this.makeCallback(n,s)):this.realFs.fstat(t,this.makeCallback(n,s))})}fstatSync(t,i){return i?this.realFs.fstatSync(t,i):this.realFs.fstatSync(t)}async lstatPromise(t,i){return await new Promise((n,s)=>{i?this.realFs.lstat(K.fromPortablePath(t),i,this.makeCallback(n,s)):this.realFs.lstat(K.fromPortablePath(t),this.makeCallback(n,s))})}lstatSync(t,i){return i?this.realFs.lstatSync(K.fromPortablePath(t),i):this.realFs.lstatSync(K.fromPortablePath(t))}async fchmodPromise(t,i){return await new Promise((n,s)=>{this.realFs.fchmod(t,i,this.makeCallback(n,s))})}fchmodSync(t,i){return this.realFs.fchmodSync(t,i)}async chmodPromise(t,i){return await new Promise((n,s)=>{this.realFs.chmod(K.fromPortablePath(t),i,this.makeCallback(n,s))})}chmodSync(t,i){return this.realFs.chmodSync(K.fromPortablePath(t),i)}async fchownPromise(t,i,n){return await new Promise((s,o)=>{this.realFs.fchown(t,i,n,this.makeCallback(s,o))})}fchownSync(t,i,n){return this.realFs.fchownSync(t,i,n)}async chownPromise(t,i,n){return await new Promise((s,o)=>{this.realFs.chown(K.fromPortablePath(t),i,n,this.makeCallback(s,o))})}chownSync(t,i,n){return this.realFs.chownSync(K.fromPortablePath(t),i,n)}async renamePromise(t,i){return await new Promise((n,s)=>{this.realFs.rename(K.fromPortablePath(t),K.fromPortablePath(i),this.makeCallback(n,s))})}renameSync(t,i){return this.realFs.renameSync(K.fromPortablePath(t),K.fromPortablePath(i))}async copyFilePromise(t,i,n=0){return await new Promise((s,o)=>{this.realFs.copyFile(K.fromPortablePath(t),K.fromPortablePath(i),n,this.makeCallback(s,o))})}copyFileSync(t,i,n=0){return this.realFs.copyFileSync(K.fromPortablePath(t),K.fromPortablePath(i),n)}async appendFilePromise(t,i,n){return await new Promise((s,o)=>{let a=typeof t=="string"?K.fromPortablePath(t):t;n?this.realFs.appendFile(a,i,n,this.makeCallback(s,o)):this.realFs.appendFile(a,i,this.makeCallback(s,o))})}appendFileSync(t,i,n){let s=typeof t=="string"?K.fromPortablePath(t):t;n?this.realFs.appendFileSync(s,i,n):this.realFs.appendFileSync(s,i)}async writeFilePromise(t,i,n){return await new Promise((s,o)=>{let a=typeof t=="string"?K.fromPortablePath(t):t;n?this.realFs.writeFile(a,i,n,this.makeCallback(s,o)):this.realFs.writeFile(a,i,this.makeCallback(s,o))})}writeFileSync(t,i,n){let s=typeof t=="string"?K.fromPortablePath(t):t;n?this.realFs.writeFileSync(s,i,n):this.realFs.writeFileSync(s,i)}async unlinkPromise(t){return await new Promise((i,n)=>{this.realFs.unlink(K.fromPortablePath(t),this.makeCallback(i,n))})}unlinkSync(t){return this.realFs.unlinkSync(K.fromPortablePath(t))}async utimesPromise(t,i,n){return await new Promise((s,o)=>{this.realFs.utimes(K.fromPortablePath(t),i,n,this.makeCallback(s,o))})}utimesSync(t,i,n){this.realFs.utimesSync(K.fromPortablePath(t),i,n)}async lutimesPromiseImpl(t,i,n){let s=this.realFs.lutimes;if(typeof s>"u")throw Mp("unavailable Node binding",`lutimes '${t}'`);return await new Promise((o,a)=>{s.call(this.realFs,K.fromPortablePath(t),i,n,this.makeCallback(o,a))})}lutimesSyncImpl(t,i,n){let s=this.realFs.lutimesSync;if(typeof s>"u")throw Mp("unavailable Node binding",`lutimes '${t}'`);s.call(this.realFs,K.fromPortablePath(t),i,n)}async mkdirPromise(t,i){return await new Promise((n,s)=>{this.realFs.mkdir(K.fromPortablePath(t),i,this.makeCallback(n,s))})}mkdirSync(t,i){return this.realFs.mkdirSync(K.fromPortablePath(t),i)}async rmdirPromise(t,i){return await new Promise((n,s)=>{i?this.realFs.rmdir(K.fromPortablePath(t),i,this.makeCallback(n,s)):this.realFs.rmdir(K.fromPortablePath(t),this.makeCallback(n,s))})}rmdirSync(t,i){return this.realFs.rmdirSync(K.fromPortablePath(t),i)}async linkPromise(t,i){return await new Promise((n,s)=>{this.realFs.link(K.fromPortablePath(t),K.fromPortablePath(i),this.makeCallback(n,s))})}linkSync(t,i){return this.realFs.linkSync(K.fromPortablePath(t),K.fromPortablePath(i))}async symlinkPromise(t,i,n){return await new Promise((s,o)=>{this.realFs.symlink(K.fromPortablePath(t.replace(/\/+$/,"")),K.fromPortablePath(i),n,this.makeCallback(s,o))})}symlinkSync(t,i,n){return this.realFs.symlinkSync(K.fromPortablePath(t.replace(/\/+$/,"")),K.fromPortablePath(i),n)}async readFilePromise(t,i){return await new Promise((n,s)=>{let o=typeof t=="string"?K.fromPortablePath(t):t;this.realFs.readFile(o,i,this.makeCallback(n,s))})}readFileSync(t,i){let n=typeof t=="string"?K.fromPortablePath(t):t;return this.realFs.readFileSync(n,i)}async readdirPromise(t,i){return await new Promise((n,s)=>{i!=null&&i.withFileTypes?this.realFs.readdir(K.fromPortablePath(t),{withFileTypes:!0},this.makeCallback(n,s)):this.realFs.readdir(K.fromPortablePath(t),this.makeCallback(o=>n(o),s))})}readdirSync(t,i){return i!=null&&i.withFileTypes?this.realFs.readdirSync(K.fromPortablePath(t),{withFileTypes:!0}):this.realFs.readdirSync(K.fromPortablePath(t))}async readlinkPromise(t){return await new Promise((i,n)=>{this.realFs.readlink(K.fromPortablePath(t),this.makeCallback(i,n))}).then(i=>K.toPortablePath(i))}readlinkSync(t){return K.toPortablePath(this.realFs.readlinkSync(K.fromPortablePath(t)))}async truncatePromise(t,i){return await new Promise((n,s)=>{this.realFs.truncate(K.fromPortablePath(t),i,this.makeCallback(n,s))})}truncateSync(t,i){return this.realFs.truncateSync(K.fromPortablePath(t),i)}async ftruncatePromise(t,i){return await new Promise((n,s)=>{this.realFs.ftruncate(t,i,this.makeCallback(n,s))})}ftruncateSync(t,i){return this.realFs.ftruncateSync(t,i)}watch(t,i,n){return this.realFs.watch(K.fromPortablePath(t),i,n)}watchFile(t,i,n){return this.realFs.watchFile(K.fromPortablePath(t),i,n)}unwatchFile(t,i){return this.realFs.unwatchFile(K.fromPortablePath(t),i)}makeCallback(t,i){return(n,s)=>{n?i(n):t(s)}}};var cK=J("events");function lK(r,e){if(r!==e)throw new Error(`Invalid StatWatcher status: expected '${e}', got '${r}'`)}var yg=class extends cK.EventEmitter{constructor(t,i,{bigint:n=!1}={}){super();this.status="ready";this.changeListeners=new Map;this.startTimeout=null;this.fakeFs=t,this.path=i,this.bigint=n,this.lastStats=this.stat()}static create(t,i,n){let s=new yg(t,i,n);return s.start(),s}start(){lK(this.status,"ready"),this.status="running",this.startTimeout=setTimeout(()=>{this.startTimeout=null,this.fakeFs.existsSync(this.path)||this.emit("change",this.lastStats,this.lastStats)},3)}stop(){lK(this.status,"running"),this.status="stopped",this.startTimeout!==null&&(clearTimeout(this.startTimeout),this.startTimeout=null),this.emit("stop")}stat(){try{return this.fakeFs.statSync(this.path,{bigint:this.bigint})}catch{let i=this.bigint?new Ig:new ma;return YE(i)}}makeInterval(t){let i=setInterval(()=>{let n=this.stat(),s=this.lastStats;uS(n,s)||(this.lastStats=n,this.emit("change",n,s))},t.interval);return t.persistent?i:i.unref()}registerChangeListener(t,i){this.addListener("change",t),this.changeListeners.set(t,this.makeInterval(i))}unregisterChangeListener(t){this.removeListener("change",t);let i=this.changeListeners.get(t);typeof i<"u"&&clearInterval(i),this.changeListeners.delete(t)}unregisterAllChangeListeners(){for(let t of this.changeListeners.keys())this.unregisterChangeListener(t)}hasChangeListeners(){return this.changeListeners.size>0}ref(){for(let t of this.changeListeners.values())t.ref();return this}unref(){for(let t of this.changeListeners.values())t.unref();return this}};var _E=new WeakMap;function $E(r,e,t,i){let n,s,o,a;switch(typeof t){case"function":n=!1,s=!0,o=5007,a=t;break;default:({bigint:n=!1,persistent:s=!0,interval:o=5007}=t),a=i;break}let l=_E.get(r);typeof l>"u"&&_E.set(r,l=new Map);let c=l.get(e);return typeof c>"u"&&(c=yg.create(r,e,{bigint:n}),l.set(e,c)),c.registerChangeListener(a,{persistent:s,interval:o}),c}function Up(r,e,t){let i=_E.get(r);if(typeof i>"u")return;let n=i.get(e);typeof n>"u"||(typeof t>"u"?n.unregisterAllChangeListeners():n.unregisterChangeListener(t),n.hasChangeListeners()||(n.stop(),i.delete(e)))}function Hp(r){let e=_E.get(r);if(!(typeof e>"u"))for(let t of e.keys())Up(r,t)}var Jl="mixed";function Gge(r){if(typeof r=="string"&&String(+r)===r)return+r;if(typeof r=="number"&&Number.isFinite(r))return r<0?Date.now()/1e3:r;if(uK.types.isDate(r))return r.getTime()/1e3;throw new Error("Invalid time")}function ES(){return Buffer.from([80,75,5,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0])}var Wr=class extends vA{constructor(t,i){super();this.lzSource=null;this.listings=new Map;this.entries=new Map;this.fileSources=new Map;this.fds=new Map;this.nextFd=0;this.ready=!1;this.readOnly=!1;this.libzip=i.libzip;let n=i;if(this.level=typeof n.level<"u"?n.level:Jl,t!=null||(t=ES()),typeof t=="string"){let{baseFs:a=new $t}=n;this.baseFs=a,this.path=t}else this.path=null,this.baseFs=null;if(i.stats)this.stats=i.stats;else if(typeof t=="string")try{this.stats=this.baseFs.statSync(t)}catch(a){if(a.code==="ENOENT"&&n.create)this.stats=Lp();else throw a}else this.stats=Lp();let s=this.libzip.malloc(4);try{let a=0;if(typeof t=="string"&&n.create&&(a|=this.libzip.ZIP_CREATE|this.libzip.ZIP_TRUNCATE),i.readOnly&&(a|=this.libzip.ZIP_RDONLY,this.readOnly=!0),typeof t=="string")this.zip=this.libzip.open(K.fromPortablePath(t),a,s);else{let l=this.allocateUnattachedSource(t);try{this.zip=this.libzip.openFromSource(l,a,s),this.lzSource=l}catch(c){throw this.libzip.source.free(l),c}}if(this.zip===0){let l=this.libzip.struct.errorS();throw this.libzip.error.initWithCode(l,this.libzip.getValue(s,"i32")),this.makeLibzipError(l)}}finally{this.libzip.free(s)}this.listings.set(Oe.root,new Set);let o=this.libzip.getNumEntries(this.zip,0);for(let a=0;at)throw new Error("Overread");let s=this.libzip.HEAPU8.subarray(i,i+t);return Buffer.from(s)}finally{this.libzip.free(i)}}finally{this.libzip.source.close(this.lzSource),this.libzip.source.free(this.lzSource),this.ready=!1}}prepareClose(){if(!this.ready)throw VE("archive closed, close");Hp(this)}saveAndClose(){if(!this.path||!this.baseFs)throw new Error("ZipFS cannot be saved and must be discarded when loaded from a buffer");if(this.prepareClose(),this.readOnly){this.discardAndClose();return}let t=this.baseFs.existsSync(this.path)||this.stats.mode===Np?void 0:this.stats.mode;if(this.entries.size===0)this.discardAndClose(),this.baseFs.writeFileSync(this.path,ES(),{mode:t});else{if(this.libzip.close(this.zip)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));typeof t<"u"&&this.baseFs.chmodSync(this.path,t)}this.ready=!1}discardAndClose(){this.prepareClose(),this.libzip.discard(this.zip),this.ready=!1}resolve(t){return x.resolve(Oe.root,t)}async openPromise(t,i,n){return this.openSync(t,i,n)}openSync(t,i,n){let s=this.nextFd++;return this.fds.set(s,{cursor:0,p:t}),s}hasOpenFileHandles(){return!!this.fds.size}async opendirPromise(t,i){return this.opendirSync(t,i)}opendirSync(t,i={}){let n=this.resolveFilename(`opendir '${t}'`,t);if(!this.entries.has(n)&&!this.listings.has(n))throw js(`opendir '${t}'`);let s=this.listings.get(n);if(!s)throw Qo(`opendir '${t}'`);let o=[...s],a=this.openSync(n,"r");return ZE(this,n,o,{onClose:()=>{this.closeSync(a)}})}async readPromise(t,i,n,s,o){return this.readSync(t,i,n,s,o)}readSync(t,i,n=0,s=i.byteLength,o=-1){let a=this.fds.get(t);if(typeof a>"u")throw Hr("read");let l=o===-1||o===null?a.cursor:o,c=this.readFileSync(a.p);c.copy(i,n,l,l+s);let u=Math.max(0,Math.min(c.length-l,s));return(o===-1||o===null)&&(a.cursor+=u),u}async writePromise(t,i,n,s,o){return typeof i=="string"?this.writeSync(t,i,o):this.writeSync(t,i,n,s,o)}writeSync(t,i,n,s,o){throw typeof this.fds.get(t)>"u"?Hr("read"):new Error("Unimplemented")}async closePromise(t){return this.closeSync(t)}closeSync(t){if(typeof this.fds.get(t)>"u")throw Hr("read");this.fds.delete(t)}createReadStream(t,{encoding:i}={}){if(t===null)throw new Error("Unimplemented");let n=this.openSync(t,"r"),s=Object.assign(new IS.PassThrough({emitClose:!0,autoDestroy:!0,destroy:(a,l)=>{clearImmediate(o),this.closeSync(n),l(a)}}),{close(){s.destroy()},bytesRead:0,path:t}),o=setImmediate(async()=>{try{let a=await this.readFilePromise(t,i);s.bytesRead=a.length,s.end(a)}catch(a){s.destroy(a)}});return s}createWriteStream(t,{encoding:i}={}){if(this.readOnly)throw ln(`open '${t}'`);if(t===null)throw new Error("Unimplemented");let n=[],s=this.openSync(t,"w"),o=Object.assign(new IS.PassThrough({autoDestroy:!0,emitClose:!0,destroy:(a,l)=>{try{a?l(a):(this.writeFileSync(t,Buffer.concat(n),i),l(null))}catch(c){l(c)}finally{this.closeSync(s)}}}),{bytesWritten:0,path:t,close(){o.destroy()}});return o.on("data",a=>{let l=Buffer.from(a);o.bytesWritten+=l.length,n.push(l)}),o}async realpathPromise(t){return this.realpathSync(t)}realpathSync(t){let i=this.resolveFilename(`lstat '${t}'`,t);if(!this.entries.has(i)&&!this.listings.has(i))throw js(`lstat '${t}'`);return i}async existsPromise(t){return this.existsSync(t)}existsSync(t){if(!this.ready)throw VE(`archive closed, existsSync '${t}'`);if(this.symlinkCount===0){let n=x.resolve(Oe.root,t);return this.entries.has(n)||this.listings.has(n)}let i;try{i=this.resolveFilename(`stat '${t}'`,t,void 0,!1)}catch{return!1}return i===void 0?!1:this.entries.has(i)||this.listings.has(i)}async accessPromise(t,i){return this.accessSync(t,i)}accessSync(t,i=wg.constants.F_OK){let n=this.resolveFilename(`access '${t}'`,t);if(!this.entries.has(n)&&!this.listings.has(n))throw js(`access '${t}'`);if(this.readOnly&&i&wg.constants.W_OK)throw ln(`access '${t}'`)}async statPromise(t,i={bigint:!1}){return i.bigint?this.statSync(t,{bigint:!0}):this.statSync(t)}statSync(t,i={bigint:!1,throwIfNoEntry:!0}){let n=this.resolveFilename(`stat '${t}'`,t,void 0,i.throwIfNoEntry);if(n!==void 0){if(!this.entries.has(n)&&!this.listings.has(n)){if(i.throwIfNoEntry===!1)return;throw js(`stat '${t}'`)}if(t[t.length-1]==="/"&&!this.listings.has(n))throw Qo(`stat '${t}'`);return this.statImpl(`stat '${t}'`,n,i)}}async fstatPromise(t,i){return this.fstatSync(t,i)}fstatSync(t,i){let n=this.fds.get(t);if(typeof n>"u")throw Hr("fstatSync");let{p:s}=n,o=this.resolveFilename(`stat '${s}'`,s);if(!this.entries.has(o)&&!this.listings.has(o))throw js(`stat '${s}'`);if(s[s.length-1]==="/"&&!this.listings.has(o))throw Qo(`stat '${s}'`);return this.statImpl(`fstat '${s}'`,o,i)}async lstatPromise(t,i={bigint:!1}){return i.bigint?this.lstatSync(t,{bigint:!0}):this.lstatSync(t)}lstatSync(t,i={bigint:!1,throwIfNoEntry:!0}){let n=this.resolveFilename(`lstat '${t}'`,t,!1,i.throwIfNoEntry);if(n!==void 0){if(!this.entries.has(n)&&!this.listings.has(n)){if(i.throwIfNoEntry===!1)return;throw js(`lstat '${t}'`)}if(t[t.length-1]==="/"&&!this.listings.has(n))throw Qo(`lstat '${t}'`);return this.statImpl(`lstat '${t}'`,n,i)}}statImpl(t,i,n={}){let s=this.entries.get(i);if(typeof s<"u"){let o=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,s,0,0,o)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let l=this.stats.uid,c=this.stats.gid,u=this.libzip.struct.statSize(o)>>>0,g=512,f=Math.ceil(u/g),h=(this.libzip.struct.statMtime(o)>>>0)*1e3,p=h,C=h,y=h,B=new Date(p),v=new Date(C),D=new Date(y),L=new Date(h),H=this.listings.has(i)?16384:this.isSymbolicLink(s)?40960:32768,j=H===16384?493:420,$=H|this.getUnixMode(s,j)&511,V=this.libzip.struct.statCrc(o),W=Object.assign(new ma,{uid:l,gid:c,size:u,blksize:g,blocks:f,atime:B,birthtime:v,ctime:D,mtime:L,atimeMs:p,birthtimeMs:C,ctimeMs:y,mtimeMs:h,mode:$,crc:V});return n.bigint===!0?jE(W):W}if(this.listings.has(i)){let o=this.stats.uid,a=this.stats.gid,l=0,c=512,u=0,g=this.stats.mtimeMs,f=this.stats.mtimeMs,h=this.stats.mtimeMs,p=this.stats.mtimeMs,C=new Date(g),y=new Date(f),B=new Date(h),v=new Date(p),D=16877,L=0,H=Object.assign(new ma,{uid:o,gid:a,size:l,blksize:c,blocks:u,atime:C,birthtime:y,ctime:B,mtime:v,atimeMs:g,birthtimeMs:f,ctimeMs:h,mtimeMs:p,mode:D,crc:L});return n.bigint===!0?jE(H):H}throw new Error("Unreachable")}getUnixMode(t,i){if(this.libzip.file.getExternalAttributes(this.zip,t,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,"i8")>>>0!==this.libzip.ZIP_OPSYS_UNIX?i:this.libzip.getValue(this.libzip.uint32S,"i32")>>>16}registerListing(t){let i=this.listings.get(t);if(i)return i;this.registerListing(x.dirname(t)).add(x.basename(t));let s=new Set;return this.listings.set(t,s),s}registerEntry(t,i){this.registerListing(x.dirname(t)).add(x.basename(t)),this.entries.set(t,i)}unregisterListing(t){this.listings.delete(t);let i=this.listings.get(x.dirname(t));i==null||i.delete(x.basename(t))}unregisterEntry(t){this.unregisterListing(t);let i=this.entries.get(t);this.entries.delete(t),!(typeof i>"u")&&(this.fileSources.delete(i),this.isSymbolicLink(i)&&this.symlinkCount--)}deleteEntry(t,i){if(this.unregisterEntry(t),this.libzip.delete(this.zip,i)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}resolveFilename(t,i,n=!0,s=!0){if(!this.ready)throw VE(`archive closed, ${t}`);let o=x.resolve(Oe.root,i);if(o==="/")return Oe.root;let a=this.entries.get(o);if(n&&a!==void 0)if(this.symlinkCount!==0&&this.isSymbolicLink(a)){let l=this.getFileSource(a).toString();return this.resolveFilename(t,x.resolve(x.dirname(o),l),!0,s)}else return o;for(;;){let l=this.resolveFilename(t,x.dirname(o),!0,s);if(l===void 0)return l;let c=this.listings.has(l),u=this.entries.has(l);if(!c&&!u){if(s===!1)return;throw js(t)}if(!c)throw Qo(t);if(o=x.resolve(l,x.basename(o)),!n||this.symlinkCount===0)break;let g=this.libzip.name.locate(this.zip,o.slice(1),0);if(g===-1)break;if(this.isSymbolicLink(g)){let f=this.getFileSource(g).toString();o=x.resolve(x.dirname(o),f)}else break}return o}allocateBuffer(t){Buffer.isBuffer(t)||(t=Buffer.from(t));let i=this.libzip.malloc(t.byteLength);if(!i)throw new Error("Couldn't allocate enough memory");return new Uint8Array(this.libzip.HEAPU8.buffer,i,t.byteLength).set(t),{buffer:i,byteLength:t.byteLength}}allocateUnattachedSource(t){let i=this.libzip.struct.errorS(),{buffer:n,byteLength:s}=this.allocateBuffer(t),o=this.libzip.source.fromUnattachedBuffer(n,s,0,1,i);if(o===0)throw this.libzip.free(i),this.makeLibzipError(i);return o}allocateSource(t){let{buffer:i,byteLength:n}=this.allocateBuffer(t),s=this.libzip.source.fromBuffer(this.zip,i,n,0,1);if(s===0)throw this.libzip.free(i),this.makeLibzipError(this.libzip.getError(this.zip));return s}setFileSource(t,i){let n=Buffer.isBuffer(i)?i:Buffer.from(i),s=x.relative(Oe.root,t),o=this.allocateSource(i);try{let a=this.libzip.file.add(this.zip,s,o,this.libzip.ZIP_FL_OVERWRITE);if(a===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));if(this.level!=="mixed"){let l=this.level===0?this.libzip.ZIP_CM_STORE:this.libzip.ZIP_CM_DEFLATE;if(this.libzip.file.setCompression(this.zip,a,0,l,this.level)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}return this.fileSources.set(a,n),a}catch(a){throw this.libzip.source.free(o),a}}isSymbolicLink(t){if(this.symlinkCount===0)return!1;if(this.libzip.file.getExternalAttributes(this.zip,t,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,"i8")>>>0!==this.libzip.ZIP_OPSYS_UNIX?!1:(this.libzip.getValue(this.libzip.uint32S,"i32")>>>16&61440)===40960}getFileSource(t,i={asyncDecompress:!1}){let n=this.fileSources.get(t);if(typeof n<"u")return n;let s=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,t,0,0,s)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let a=this.libzip.struct.statCompSize(s),l=this.libzip.struct.statCompMethod(s),c=this.libzip.malloc(a);try{let u=this.libzip.fopenIndex(this.zip,t,0,this.libzip.ZIP_FL_COMPRESSED);if(u===0)throw this.makeLibzipError(this.libzip.getError(this.zip));try{let g=this.libzip.fread(u,c,a,0);if(g===-1)throw this.makeLibzipError(this.libzip.file.getError(u));if(ga)throw new Error("Overread");let f=this.libzip.HEAPU8.subarray(c,c+a),h=Buffer.from(f);if(l===0)return this.fileSources.set(t,h),h;if(i.asyncDecompress)return new Promise((p,C)=>{yS.default.inflateRaw(h,(y,B)=>{y?C(y):(this.fileSources.set(t,B),p(B))})});{let p=yS.default.inflateRawSync(h);return this.fileSources.set(t,p),p}}finally{this.libzip.fclose(u)}}finally{this.libzip.free(c)}}async fchmodPromise(t,i){return this.chmodPromise(this.fdToPath(t,"fchmod"),i)}fchmodSync(t,i){return this.chmodSync(this.fdToPath(t,"fchmodSync"),i)}async chmodPromise(t,i){return this.chmodSync(t,i)}chmodSync(t,i){if(this.readOnly)throw ln(`chmod '${t}'`);i&=493;let n=this.resolveFilename(`chmod '${t}'`,t,!1),s=this.entries.get(n);if(typeof s>"u")throw new Error(`Assertion failed: The entry should have been registered (${n})`);let a=this.getUnixMode(s,32768)&-512|i;if(this.libzip.file.setExternalAttributes(this.zip,s,0,0,this.libzip.ZIP_OPSYS_UNIX,a<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async fchownPromise(t,i,n){return this.chownPromise(this.fdToPath(t,"fchown"),i,n)}fchownSync(t,i,n){return this.chownSync(this.fdToPath(t,"fchownSync"),i,n)}async chownPromise(t,i,n){return this.chownSync(t,i,n)}chownSync(t,i,n){throw new Error("Unimplemented")}async renamePromise(t,i){return this.renameSync(t,i)}renameSync(t,i){throw new Error("Unimplemented")}async copyFilePromise(t,i,n){let{indexSource:s,indexDest:o,resolvedDestP:a}=this.prepareCopyFile(t,i,n),l=await this.getFileSource(s,{asyncDecompress:!0}),c=this.setFileSource(a,l);c!==o&&this.registerEntry(a,c)}copyFileSync(t,i,n=0){let{indexSource:s,indexDest:o,resolvedDestP:a}=this.prepareCopyFile(t,i,n),l=this.getFileSource(s),c=this.setFileSource(a,l);c!==o&&this.registerEntry(a,c)}prepareCopyFile(t,i,n=0){if(this.readOnly)throw ln(`copyfile '${t} -> '${i}'`);if((n&wg.constants.COPYFILE_FICLONE_FORCE)!==0)throw Mp("unsupported clone operation",`copyfile '${t}' -> ${i}'`);let s=this.resolveFilename(`copyfile '${t} -> ${i}'`,t),o=this.entries.get(s);if(typeof o>"u")throw SA(`copyfile '${t}' -> '${i}'`);let a=this.resolveFilename(`copyfile '${t}' -> ${i}'`,i),l=this.entries.get(a);if((n&(wg.constants.COPYFILE_EXCL|wg.constants.COPYFILE_FICLONE_FORCE))!==0&&typeof l<"u")throw XE(`copyfile '${t}' -> '${i}'`);return{indexSource:o,resolvedDestP:a,indexDest:l}}async appendFilePromise(t,i,n){if(this.readOnly)throw ln(`open '${t}'`);return typeof n>"u"?n={flag:"a"}:typeof n=="string"?n={flag:"a",encoding:n}:typeof n.flag>"u"&&(n={flag:"a",...n}),this.writeFilePromise(t,i,n)}appendFileSync(t,i,n={}){if(this.readOnly)throw ln(`open '${t}'`);return typeof n>"u"?n={flag:"a"}:typeof n=="string"?n={flag:"a",encoding:n}:typeof n.flag>"u"&&(n={flag:"a",...n}),this.writeFileSync(t,i,n)}fdToPath(t,i){var s;let n=(s=this.fds.get(t))==null?void 0:s.p;if(typeof n>"u")throw Hr(i);return n}async writeFilePromise(t,i,n){let{encoding:s,mode:o,index:a,resolvedP:l}=this.prepareWriteFile(t,n);a!==void 0&&typeof n=="object"&&n.flag&&n.flag.includes("a")&&(i=Buffer.concat([await this.getFileSource(a,{asyncDecompress:!0}),Buffer.from(i)])),s!==null&&(i=i.toString(s));let c=this.setFileSource(l,i);c!==a&&this.registerEntry(l,c),o!==null&&await this.chmodPromise(l,o)}writeFileSync(t,i,n){let{encoding:s,mode:o,index:a,resolvedP:l}=this.prepareWriteFile(t,n);a!==void 0&&typeof n=="object"&&n.flag&&n.flag.includes("a")&&(i=Buffer.concat([this.getFileSource(a),Buffer.from(i)])),s!==null&&(i=i.toString(s));let c=this.setFileSource(l,i);c!==a&&this.registerEntry(l,c),o!==null&&this.chmodSync(l,o)}prepareWriteFile(t,i){if(typeof t=="number"&&(t=this.fdToPath(t,"read")),this.readOnly)throw ln(`open '${t}'`);let n=this.resolveFilename(`open '${t}'`,t);if(this.listings.has(n))throw Kp(`open '${t}'`);let s=null,o=null;typeof i=="string"?s=i:typeof i=="object"&&({encoding:s=null,mode:o=null}=i);let a=this.entries.get(n);return{encoding:s,mode:o,resolvedP:n,index:a}}async unlinkPromise(t){return this.unlinkSync(t)}unlinkSync(t){if(this.readOnly)throw ln(`unlink '${t}'`);let i=this.resolveFilename(`unlink '${t}'`,t);if(this.listings.has(i))throw Kp(`unlink '${t}'`);let n=this.entries.get(i);if(typeof n>"u")throw SA(`unlink '${t}'`);this.deleteEntry(i,n)}async utimesPromise(t,i,n){return this.utimesSync(t,i,n)}utimesSync(t,i,n){if(this.readOnly)throw ln(`utimes '${t}'`);let s=this.resolveFilename(`utimes '${t}'`,t);this.utimesImpl(s,n)}async lutimesPromise(t,i,n){return this.lutimesSync(t,i,n)}lutimesSync(t,i,n){if(this.readOnly)throw ln(`lutimes '${t}'`);let s=this.resolveFilename(`utimes '${t}'`,t,!1);this.utimesImpl(s,n)}utimesImpl(t,i){this.listings.has(t)&&(this.entries.has(t)||this.hydrateDirectory(t));let n=this.entries.get(t);if(n===void 0)throw new Error("Unreachable");if(this.libzip.file.setMtime(this.zip,n,0,Gge(i),0)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async mkdirPromise(t,i){return this.mkdirSync(t,i)}mkdirSync(t,{mode:i=493,recursive:n=!1}={}){if(n)return this.mkdirpSync(t,{chmod:i});if(this.readOnly)throw ln(`mkdir '${t}'`);let s=this.resolveFilename(`mkdir '${t}'`,t);if(this.entries.has(s)||this.listings.has(s))throw XE(`mkdir '${t}'`);this.hydrateDirectory(s),this.chmodSync(s,i)}async rmdirPromise(t,i){return this.rmdirSync(t,i)}rmdirSync(t,{recursive:i=!1}={}){if(this.readOnly)throw ln(`rmdir '${t}'`);if(i){this.removeSync(t);return}let n=this.resolveFilename(`rmdir '${t}'`,t),s=this.listings.get(n);if(!s)throw Qo(`rmdir '${t}'`);if(s.size>0)throw nK(`rmdir '${t}'`);let o=this.entries.get(n);if(typeof o>"u")throw SA(`rmdir '${t}'`);this.deleteEntry(t,o)}hydrateDirectory(t){let i=this.libzip.dir.add(this.zip,x.relative(Oe.root,t));if(i===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.registerListing(t),this.registerEntry(t,i),i}async linkPromise(t,i){return this.linkSync(t,i)}linkSync(t,i){throw sK(`link '${t}' -> '${i}'`)}async symlinkPromise(t,i){return this.symlinkSync(t,i)}symlinkSync(t,i){if(this.readOnly)throw ln(`symlink '${t}' -> '${i}'`);let n=this.resolveFilename(`symlink '${t}' -> '${i}'`,i);if(this.listings.has(n))throw Kp(`symlink '${t}' -> '${i}'`);if(this.entries.has(n))throw XE(`symlink '${t}' -> '${i}'`);let s=this.setFileSource(n,t);if(this.registerEntry(n,s),this.libzip.file.setExternalAttributes(this.zip,s,0,0,this.libzip.ZIP_OPSYS_UNIX,41471<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));this.symlinkCount+=1}async readFilePromise(t,i){typeof i=="object"&&(i=i?i.encoding:void 0);let n=await this.readFileBuffer(t,{asyncDecompress:!0});return i?n.toString(i):n}readFileSync(t,i){typeof i=="object"&&(i=i?i.encoding:void 0);let n=this.readFileBuffer(t);return i?n.toString(i):n}readFileBuffer(t,i={asyncDecompress:!1}){typeof t=="number"&&(t=this.fdToPath(t,"read"));let n=this.resolveFilename(`open '${t}'`,t);if(!this.entries.has(n)&&!this.listings.has(n))throw js(`open '${t}'`);if(t[t.length-1]==="/"&&!this.listings.has(n))throw Qo(`open '${t}'`);if(this.listings.has(n))throw Kp("read");let s=this.entries.get(n);if(s===void 0)throw new Error("Unreachable");return this.getFileSource(s,i)}async readdirPromise(t,i){return this.readdirSync(t,i)}readdirSync(t,i){let n=this.resolveFilename(`scandir '${t}'`,t);if(!this.entries.has(n)&&!this.listings.has(n))throw js(`scandir '${t}'`);let s=this.listings.get(n);if(!s)throw Qo(`scandir '${t}'`);let o=[...s];return i!=null&&i.withFileTypes?o.map(a=>Object.assign(this.statImpl("lstat",x.join(t,a)),{name:a})):o}async readlinkPromise(t){let i=this.prepareReadlink(t);return(await this.getFileSource(i,{asyncDecompress:!0})).toString()}readlinkSync(t){let i=this.prepareReadlink(t);return this.getFileSource(i).toString()}prepareReadlink(t){let i=this.resolveFilename(`readlink '${t}'`,t,!1);if(!this.entries.has(i)&&!this.listings.has(i))throw js(`readlink '${t}'`);if(t[t.length-1]==="/"&&!this.listings.has(i))throw Qo(`open '${t}'`);if(this.listings.has(i))throw SA(`readlink '${t}'`);let n=this.entries.get(i);if(n===void 0)throw new Error("Unreachable");if(!this.isSymbolicLink(n))throw SA(`readlink '${t}'`);return n}async truncatePromise(t,i=0){let n=this.resolveFilename(`open '${t}'`,t),s=this.entries.get(n);if(typeof s>"u")throw SA(`open '${t}'`);let o=await this.getFileSource(s,{asyncDecompress:!0}),a=Buffer.alloc(i,0);return o.copy(a),await this.writeFilePromise(t,a)}truncateSync(t,i=0){let n=this.resolveFilename(`open '${t}'`,t),s=this.entries.get(n);if(typeof s>"u")throw SA(`open '${t}'`);let o=this.getFileSource(s),a=Buffer.alloc(i,0);return o.copy(a),this.writeFileSync(t,a)}async ftruncatePromise(t,i){return this.truncatePromise(this.fdToPath(t,"ftruncate"),i)}ftruncateSync(t,i){return this.truncateSync(this.fdToPath(t,"ftruncateSync"),i)}watch(t,i,n){let s;switch(typeof i){case"function":case"string":case"undefined":s=!0;break;default:({persistent:s=!0}=i);break}if(!s)return{on:()=>{},close:()=>{}};let o=setInterval(()=>{},24*60*60*1e3);return{on:()=>{},close:()=>{clearInterval(o)}}}watchFile(t,i,n){let s=x.resolve(Oe.root,t);return $E(this,s,i,n)}unwatchFile(t,i){let n=x.resolve(Oe.root,t);return Up(this,n,i)}};var pi=class extends Ea{getExtractHint(e){return this.baseFs.getExtractHint(e)}resolve(e){return this.mapFromBase(this.baseFs.resolve(this.mapToBase(e)))}getRealPath(){return this.mapFromBase(this.baseFs.getRealPath())}async openPromise(e,t,i){return this.baseFs.openPromise(this.mapToBase(e),t,i)}openSync(e,t,i){return this.baseFs.openSync(this.mapToBase(e),t,i)}async opendirPromise(e,t){return Object.assign(await this.baseFs.opendirPromise(this.mapToBase(e),t),{path:e})}opendirSync(e,t){return Object.assign(this.baseFs.opendirSync(this.mapToBase(e),t),{path:e})}async readPromise(e,t,i,n,s){return await this.baseFs.readPromise(e,t,i,n,s)}readSync(e,t,i,n,s){return this.baseFs.readSync(e,t,i,n,s)}async writePromise(e,t,i,n,s){return typeof t=="string"?await this.baseFs.writePromise(e,t,i):await this.baseFs.writePromise(e,t,i,n,s)}writeSync(e,t,i,n,s){return typeof t=="string"?this.baseFs.writeSync(e,t,i):this.baseFs.writeSync(e,t,i,n,s)}async closePromise(e){return this.baseFs.closePromise(e)}closeSync(e){this.baseFs.closeSync(e)}createReadStream(e,t){return this.baseFs.createReadStream(e!==null?this.mapToBase(e):e,t)}createWriteStream(e,t){return this.baseFs.createWriteStream(e!==null?this.mapToBase(e):e,t)}async realpathPromise(e){return this.mapFromBase(await this.baseFs.realpathPromise(this.mapToBase(e)))}realpathSync(e){return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(e)))}async existsPromise(e){return this.baseFs.existsPromise(this.mapToBase(e))}existsSync(e){return this.baseFs.existsSync(this.mapToBase(e))}accessSync(e,t){return this.baseFs.accessSync(this.mapToBase(e),t)}async accessPromise(e,t){return this.baseFs.accessPromise(this.mapToBase(e),t)}async statPromise(e,t){return this.baseFs.statPromise(this.mapToBase(e),t)}statSync(e,t){return this.baseFs.statSync(this.mapToBase(e),t)}async fstatPromise(e,t){return this.baseFs.fstatPromise(e,t)}fstatSync(e,t){return this.baseFs.fstatSync(e,t)}lstatPromise(e,t){return this.baseFs.lstatPromise(this.mapToBase(e),t)}lstatSync(e,t){return this.baseFs.lstatSync(this.mapToBase(e),t)}async fchmodPromise(e,t){return this.baseFs.fchmodPromise(e,t)}fchmodSync(e,t){return this.baseFs.fchmodSync(e,t)}async chmodPromise(e,t){return this.baseFs.chmodPromise(this.mapToBase(e),t)}chmodSync(e,t){return this.baseFs.chmodSync(this.mapToBase(e),t)}async fchownPromise(e,t,i){return this.baseFs.fchownPromise(e,t,i)}fchownSync(e,t,i){return this.baseFs.fchownSync(e,t,i)}async chownPromise(e,t,i){return this.baseFs.chownPromise(this.mapToBase(e),t,i)}chownSync(e,t,i){return this.baseFs.chownSync(this.mapToBase(e),t,i)}async renamePromise(e,t){return this.baseFs.renamePromise(this.mapToBase(e),this.mapToBase(t))}renameSync(e,t){return this.baseFs.renameSync(this.mapToBase(e),this.mapToBase(t))}async copyFilePromise(e,t,i=0){return this.baseFs.copyFilePromise(this.mapToBase(e),this.mapToBase(t),i)}copyFileSync(e,t,i=0){return this.baseFs.copyFileSync(this.mapToBase(e),this.mapToBase(t),i)}async appendFilePromise(e,t,i){return this.baseFs.appendFilePromise(this.fsMapToBase(e),t,i)}appendFileSync(e,t,i){return this.baseFs.appendFileSync(this.fsMapToBase(e),t,i)}async writeFilePromise(e,t,i){return this.baseFs.writeFilePromise(this.fsMapToBase(e),t,i)}writeFileSync(e,t,i){return this.baseFs.writeFileSync(this.fsMapToBase(e),t,i)}async unlinkPromise(e){return this.baseFs.unlinkPromise(this.mapToBase(e))}unlinkSync(e){return this.baseFs.unlinkSync(this.mapToBase(e))}async utimesPromise(e,t,i){return this.baseFs.utimesPromise(this.mapToBase(e),t,i)}utimesSync(e,t,i){return this.baseFs.utimesSync(this.mapToBase(e),t,i)}async mkdirPromise(e,t){return this.baseFs.mkdirPromise(this.mapToBase(e),t)}mkdirSync(e,t){return this.baseFs.mkdirSync(this.mapToBase(e),t)}async rmdirPromise(e,t){return this.baseFs.rmdirPromise(this.mapToBase(e),t)}rmdirSync(e,t){return this.baseFs.rmdirSync(this.mapToBase(e),t)}async linkPromise(e,t){return this.baseFs.linkPromise(this.mapToBase(e),this.mapToBase(t))}linkSync(e,t){return this.baseFs.linkSync(this.mapToBase(e),this.mapToBase(t))}async symlinkPromise(e,t,i){let n=this.mapToBase(t);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkPromise(this.mapToBase(e),n,i);let s=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(t),e)),o=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(n),s);return this.baseFs.symlinkPromise(o,n,i)}symlinkSync(e,t,i){let n=this.mapToBase(t);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkSync(this.mapToBase(e),n,i);let s=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(t),e)),o=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(n),s);return this.baseFs.symlinkSync(o,n,i)}async readFilePromise(e,t){return t==="utf8"?this.baseFs.readFilePromise(this.fsMapToBase(e),t):this.baseFs.readFilePromise(this.fsMapToBase(e),t)}readFileSync(e,t){return t==="utf8"?this.baseFs.readFileSync(this.fsMapToBase(e),t):this.baseFs.readFileSync(this.fsMapToBase(e),t)}async readdirPromise(e,t){return this.baseFs.readdirPromise(this.mapToBase(e),t)}readdirSync(e,t){return this.baseFs.readdirSync(this.mapToBase(e),t)}async readlinkPromise(e){return this.mapFromBase(await this.baseFs.readlinkPromise(this.mapToBase(e)))}readlinkSync(e){return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(e)))}async truncatePromise(e,t){return this.baseFs.truncatePromise(this.mapToBase(e),t)}truncateSync(e,t){return this.baseFs.truncateSync(this.mapToBase(e),t)}async ftruncatePromise(e,t){return this.baseFs.ftruncatePromise(e,t)}ftruncateSync(e,t){return this.baseFs.ftruncateSync(e,t)}watch(e,t,i){return this.baseFs.watch(this.mapToBase(e),t,i)}watchFile(e,t,i){return this.baseFs.watchFile(this.mapToBase(e),t,i)}unwatchFile(e,t){return this.baseFs.unwatchFile(this.mapToBase(e),t)}fsMapToBase(e){return typeof e=="number"?e:this.mapToBase(e)}};var bo=class extends pi{constructor(t,{baseFs:i,pathUtils:n}){super(n);this.target=t,this.baseFs=i}getRealPath(){return this.target}getBaseFs(){return this.baseFs}mapFromBase(t){return t}mapToBase(t){return t}};var qt=class extends pi{constructor(t,{baseFs:i=new $t}={}){super(x);this.target=this.pathUtils.normalize(t),this.baseFs=i}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.target)}resolve(t){return this.pathUtils.isAbsolute(t)?x.normalize(t):this.baseFs.resolve(x.join(this.target,t))}mapFromBase(t){return t}mapToBase(t){return this.pathUtils.isAbsolute(t)?t:this.pathUtils.join(this.target,t)}};var gK=Oe.root,So=class extends pi{constructor(t,{baseFs:i=new $t}={}){super(x);this.target=this.pathUtils.resolve(Oe.root,t),this.baseFs=i}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.pathUtils.relative(Oe.root,this.target))}getTarget(){return this.target}getBaseFs(){return this.baseFs}mapToBase(t){let i=this.pathUtils.normalize(t);if(this.pathUtils.isAbsolute(t))return this.pathUtils.resolve(this.target,this.pathUtils.relative(gK,t));if(i.match(/^\.\.\/?/))throw new Error(`Resolving this path (${t}) would escape the jail`);return this.pathUtils.resolve(this.target,t)}mapFromBase(t){return this.pathUtils.resolve(gK,this.pathUtils.relative(this.target,t))}};var Bg=class extends pi{constructor(t,i){super(i);this.instance=null;this.factory=t}get baseFs(){return this.instance||(this.instance=this.factory()),this.instance}set baseFs(t){this.instance=t}mapFromBase(t){return t}mapToBase(t){return t}};var Ze=()=>Object.assign(new Error("ENOSYS: unsupported filesystem access"),{code:"ENOSYS"}),wS=class extends Ea{constructor(){super(x)}getExtractHint(){throw Ze()}getRealPath(){throw Ze()}resolve(){throw Ze()}async openPromise(){throw Ze()}openSync(){throw Ze()}async opendirPromise(){throw Ze()}opendirSync(){throw Ze()}async readPromise(){throw Ze()}readSync(){throw Ze()}async writePromise(){throw Ze()}writeSync(){throw Ze()}async closePromise(){throw Ze()}closeSync(){throw Ze()}createWriteStream(){throw Ze()}createReadStream(){throw Ze()}async realpathPromise(){throw Ze()}realpathSync(){throw Ze()}async readdirPromise(){throw Ze()}readdirSync(){throw Ze()}async existsPromise(e){throw Ze()}existsSync(e){throw Ze()}async accessPromise(){throw Ze()}accessSync(){throw Ze()}async statPromise(){throw Ze()}statSync(){throw Ze()}async fstatPromise(e){throw Ze()}fstatSync(e){throw Ze()}async lstatPromise(e){throw Ze()}lstatSync(e){throw Ze()}async fchmodPromise(){throw Ze()}fchmodSync(){throw Ze()}async chmodPromise(){throw Ze()}chmodSync(){throw Ze()}async fchownPromise(){throw Ze()}fchownSync(){throw Ze()}async chownPromise(){throw Ze()}chownSync(){throw Ze()}async mkdirPromise(){throw Ze()}mkdirSync(){throw Ze()}async rmdirPromise(){throw Ze()}rmdirSync(){throw Ze()}async linkPromise(){throw Ze()}linkSync(){throw Ze()}async symlinkPromise(){throw Ze()}symlinkSync(){throw Ze()}async renamePromise(){throw Ze()}renameSync(){throw Ze()}async copyFilePromise(){throw Ze()}copyFileSync(){throw Ze()}async appendFilePromise(){throw Ze()}appendFileSync(){throw Ze()}async writeFilePromise(){throw Ze()}writeFileSync(){throw Ze()}async unlinkPromise(){throw Ze()}unlinkSync(){throw Ze()}async utimesPromise(){throw Ze()}utimesSync(){throw Ze()}async readFilePromise(){throw Ze()}readFileSync(){throw Ze()}async readlinkPromise(){throw Ze()}readlinkSync(){throw Ze()}async truncatePromise(){throw Ze()}truncateSync(){throw Ze()}async ftruncatePromise(e,t){throw Ze()}ftruncateSync(e,t){throw Ze()}watch(){throw Ze()}watchFile(){throw Ze()}unwatchFile(){throw Ze()}},Gp=wS;Gp.instance=new wS;var Qg=class extends pi{constructor(t){super(K);this.baseFs=t}mapFromBase(t){return K.fromPortablePath(t)}mapToBase(t){return K.toPortablePath(t)}};var Yge=/^[0-9]+$/,BS=/^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/,jge=/^([^/]+-)?[a-f0-9]+$/,Br=class extends pi{constructor({baseFs:t=new $t}={}){super(x);this.baseFs=t}static makeVirtualPath(t,i,n){if(x.basename(t)!=="__virtual__")throw new Error('Assertion failed: Virtual folders must be named "__virtual__"');if(!x.basename(i).match(jge))throw new Error("Assertion failed: Virtual components must be ended by an hexadecimal hash");let o=x.relative(x.dirname(t),n).split("/"),a=0;for(;a{let t=r.indexOf(e);if(t<=0)return null;let i=t;for(;t>=0&&(i=t+e.length,r[i]!==x.sep);){if(r[t-1]===x.sep)return null;t=r.indexOf(e,i)}return r.length>i&&r[i]!==x.sep?null:r.slice(0,i)},On=class extends vA{constructor({libzip:t,baseFs:i=new $t,filter:n=null,maxOpenFiles:s=1/0,readOnlyArchives:o=!1,useCache:a=!0,maxAge:l=5e3,fileExtensions:c=null}){super();this.fdMap=new Map;this.nextFd=3;this.isZip=new Set;this.notZip=new Set;this.realPaths=new Map;this.limitOpenFilesTimeout=null;this.libzipFactory=typeof t!="function"?()=>t:t,this.baseFs=i,this.zipInstances=a?new Map:null,this.filter=n,this.maxOpenFiles=s,this.readOnlyArchives=o,this.maxAge=l,this.fileExtensions=c}static async openPromise(t,i){let n=new On(i);try{return await t(n)}finally{n.saveAndClose()}}get libzip(){return typeof this.libzipInstance>"u"&&(this.libzipInstance=this.libzipFactory()),this.libzipInstance}getExtractHint(t){return this.baseFs.getExtractHint(t)}getRealPath(){return this.baseFs.getRealPath()}saveAndClose(){if(Hp(this),this.zipInstances)for(let[t,{zipFs:i}]of this.zipInstances.entries())i.saveAndClose(),this.zipInstances.delete(t)}discardAndClose(){if(Hp(this),this.zipInstances)for(let[t,{zipFs:i}]of this.zipInstances.entries())i.discardAndClose(),this.zipInstances.delete(t)}resolve(t){return this.baseFs.resolve(t)}remapFd(t,i){let n=this.nextFd++|Wi;return this.fdMap.set(n,[t,i]),n}async openPromise(t,i,n){return await this.makeCallPromise(t,async()=>await this.baseFs.openPromise(t,i,n),async(s,{subPath:o})=>this.remapFd(s,await s.openPromise(o,i,n)))}openSync(t,i,n){return this.makeCallSync(t,()=>this.baseFs.openSync(t,i,n),(s,{subPath:o})=>this.remapFd(s,s.openSync(o,i,n)))}async opendirPromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.opendirPromise(t,i),async(n,{subPath:s})=>await n.opendirPromise(s,i),{requireSubpath:!1})}opendirSync(t,i){return this.makeCallSync(t,()=>this.baseFs.opendirSync(t,i),(n,{subPath:s})=>n.opendirSync(s,i),{requireSubpath:!1})}async readPromise(t,i,n,s,o){if((t&cn)!==Wi)return await this.baseFs.readPromise(t,i,n,s,o);let a=this.fdMap.get(t);if(typeof a>"u")throw Hr("read");let[l,c]=a;return await l.readPromise(c,i,n,s,o)}readSync(t,i,n,s,o){if((t&cn)!==Wi)return this.baseFs.readSync(t,i,n,s,o);let a=this.fdMap.get(t);if(typeof a>"u")throw Hr("readSync");let[l,c]=a;return l.readSync(c,i,n,s,o)}async writePromise(t,i,n,s,o){if((t&cn)!==Wi)return typeof i=="string"?await this.baseFs.writePromise(t,i,n):await this.baseFs.writePromise(t,i,n,s,o);let a=this.fdMap.get(t);if(typeof a>"u")throw Hr("write");let[l,c]=a;return typeof i=="string"?await l.writePromise(c,i,n):await l.writePromise(c,i,n,s,o)}writeSync(t,i,n,s,o){if((t&cn)!==Wi)return typeof i=="string"?this.baseFs.writeSync(t,i,n):this.baseFs.writeSync(t,i,n,s,o);let a=this.fdMap.get(t);if(typeof a>"u")throw Hr("writeSync");let[l,c]=a;return typeof i=="string"?l.writeSync(c,i,n):l.writeSync(c,i,n,s,o)}async closePromise(t){if((t&cn)!==Wi)return await this.baseFs.closePromise(t);let i=this.fdMap.get(t);if(typeof i>"u")throw Hr("close");this.fdMap.delete(t);let[n,s]=i;return await n.closePromise(s)}closeSync(t){if((t&cn)!==Wi)return this.baseFs.closeSync(t);let i=this.fdMap.get(t);if(typeof i>"u")throw Hr("closeSync");this.fdMap.delete(t);let[n,s]=i;return n.closeSync(s)}createReadStream(t,i){return t===null?this.baseFs.createReadStream(t,i):this.makeCallSync(t,()=>this.baseFs.createReadStream(t,i),(n,{archivePath:s,subPath:o})=>{let a=n.createReadStream(o,i);return a.path=K.fromPortablePath(this.pathUtils.join(s,o)),a})}createWriteStream(t,i){return t===null?this.baseFs.createWriteStream(t,i):this.makeCallSync(t,()=>this.baseFs.createWriteStream(t,i),(n,{subPath:s})=>n.createWriteStream(s,i))}async realpathPromise(t){return await this.makeCallPromise(t,async()=>await this.baseFs.realpathPromise(t),async(i,{archivePath:n,subPath:s})=>{let o=this.realPaths.get(n);return typeof o>"u"&&(o=await this.baseFs.realpathPromise(n),this.realPaths.set(n,o)),this.pathUtils.join(o,this.pathUtils.relative(Oe.root,await i.realpathPromise(s)))})}realpathSync(t){return this.makeCallSync(t,()=>this.baseFs.realpathSync(t),(i,{archivePath:n,subPath:s})=>{let o=this.realPaths.get(n);return typeof o>"u"&&(o=this.baseFs.realpathSync(n),this.realPaths.set(n,o)),this.pathUtils.join(o,this.pathUtils.relative(Oe.root,i.realpathSync(s)))})}async existsPromise(t){return await this.makeCallPromise(t,async()=>await this.baseFs.existsPromise(t),async(i,{subPath:n})=>await i.existsPromise(n))}existsSync(t){return this.makeCallSync(t,()=>this.baseFs.existsSync(t),(i,{subPath:n})=>i.existsSync(n))}async accessPromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.accessPromise(t,i),async(n,{subPath:s})=>await n.accessPromise(s,i))}accessSync(t,i){return this.makeCallSync(t,()=>this.baseFs.accessSync(t,i),(n,{subPath:s})=>n.accessSync(s,i))}async statPromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.statPromise(t,i),async(n,{subPath:s})=>await n.statPromise(s,i))}statSync(t,i){return this.makeCallSync(t,()=>this.baseFs.statSync(t,i),(n,{subPath:s})=>n.statSync(s,i))}async fstatPromise(t,i){if((t&cn)!==Wi)return this.baseFs.fstatPromise(t,i);let n=this.fdMap.get(t);if(typeof n>"u")throw Hr("fstat");let[s,o]=n;return s.fstatPromise(o,i)}fstatSync(t,i){if((t&cn)!==Wi)return this.baseFs.fstatSync(t,i);let n=this.fdMap.get(t);if(typeof n>"u")throw Hr("fstatSync");let[s,o]=n;return s.fstatSync(o,i)}async lstatPromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.lstatPromise(t,i),async(n,{subPath:s})=>await n.lstatPromise(s,i))}lstatSync(t,i){return this.makeCallSync(t,()=>this.baseFs.lstatSync(t,i),(n,{subPath:s})=>n.lstatSync(s,i))}async fchmodPromise(t,i){if((t&cn)!==Wi)return this.baseFs.fchmodPromise(t,i);let n=this.fdMap.get(t);if(typeof n>"u")throw Hr("fchmod");let[s,o]=n;return s.fchmodPromise(o,i)}fchmodSync(t,i){if((t&cn)!==Wi)return this.baseFs.fchmodSync(t,i);let n=this.fdMap.get(t);if(typeof n>"u")throw Hr("fchmodSync");let[s,o]=n;return s.fchmodSync(o,i)}async chmodPromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.chmodPromise(t,i),async(n,{subPath:s})=>await n.chmodPromise(s,i))}chmodSync(t,i){return this.makeCallSync(t,()=>this.baseFs.chmodSync(t,i),(n,{subPath:s})=>n.chmodSync(s,i))}async fchownPromise(t,i,n){if((t&cn)!==Wi)return this.baseFs.fchownPromise(t,i,n);let s=this.fdMap.get(t);if(typeof s>"u")throw Hr("fchown");let[o,a]=s;return o.fchownPromise(a,i,n)}fchownSync(t,i,n){if((t&cn)!==Wi)return this.baseFs.fchownSync(t,i,n);let s=this.fdMap.get(t);if(typeof s>"u")throw Hr("fchownSync");let[o,a]=s;return o.fchownSync(a,i,n)}async chownPromise(t,i,n){return await this.makeCallPromise(t,async()=>await this.baseFs.chownPromise(t,i,n),async(s,{subPath:o})=>await s.chownPromise(o,i,n))}chownSync(t,i,n){return this.makeCallSync(t,()=>this.baseFs.chownSync(t,i,n),(s,{subPath:o})=>s.chownSync(o,i,n))}async renamePromise(t,i){return await this.makeCallPromise(t,async()=>await this.makeCallPromise(i,async()=>await this.baseFs.renamePromise(t,i),async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),async(n,{subPath:s})=>await this.makeCallPromise(i,async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},async(o,{subPath:a})=>{if(n!==o)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return await n.renamePromise(s,a)}))}renameSync(t,i){return this.makeCallSync(t,()=>this.makeCallSync(i,()=>this.baseFs.renameSync(t,i),()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),(n,{subPath:s})=>this.makeCallSync(i,()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},(o,{subPath:a})=>{if(n!==o)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return n.renameSync(s,a)}))}async copyFilePromise(t,i,n=0){let s=async(o,a,l,c)=>{if((n&Yp.constants.COPYFILE_FICLONE_FORCE)!==0)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${a}' -> ${c}'`),{code:"EXDEV"});if(n&Yp.constants.COPYFILE_EXCL&&await this.existsPromise(a))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${a}' -> '${c}'`),{code:"EEXIST"});let u;try{u=await o.readFilePromise(a)}catch{throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${a}' -> '${c}'`),{code:"EINVAL"})}await l.writeFilePromise(c,u)};return await this.makeCallPromise(t,async()=>await this.makeCallPromise(i,async()=>await this.baseFs.copyFilePromise(t,i,n),async(o,{subPath:a})=>await s(this.baseFs,t,o,a)),async(o,{subPath:a})=>await this.makeCallPromise(i,async()=>await s(o,a,this.baseFs,i),async(l,{subPath:c})=>o!==l?await s(o,a,l,c):await o.copyFilePromise(a,c,n)))}copyFileSync(t,i,n=0){let s=(o,a,l,c)=>{if((n&Yp.constants.COPYFILE_FICLONE_FORCE)!==0)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${a}' -> ${c}'`),{code:"EXDEV"});if(n&Yp.constants.COPYFILE_EXCL&&this.existsSync(a))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${a}' -> '${c}'`),{code:"EEXIST"});let u;try{u=o.readFileSync(a)}catch{throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${a}' -> '${c}'`),{code:"EINVAL"})}l.writeFileSync(c,u)};return this.makeCallSync(t,()=>this.makeCallSync(i,()=>this.baseFs.copyFileSync(t,i,n),(o,{subPath:a})=>s(this.baseFs,t,o,a)),(o,{subPath:a})=>this.makeCallSync(i,()=>s(o,a,this.baseFs,i),(l,{subPath:c})=>o!==l?s(o,a,l,c):o.copyFileSync(a,c,n)))}async appendFilePromise(t,i,n){return await this.makeCallPromise(t,async()=>await this.baseFs.appendFilePromise(t,i,n),async(s,{subPath:o})=>await s.appendFilePromise(o,i,n))}appendFileSync(t,i,n){return this.makeCallSync(t,()=>this.baseFs.appendFileSync(t,i,n),(s,{subPath:o})=>s.appendFileSync(o,i,n))}async writeFilePromise(t,i,n){return await this.makeCallPromise(t,async()=>await this.baseFs.writeFilePromise(t,i,n),async(s,{subPath:o})=>await s.writeFilePromise(o,i,n))}writeFileSync(t,i,n){return this.makeCallSync(t,()=>this.baseFs.writeFileSync(t,i,n),(s,{subPath:o})=>s.writeFileSync(o,i,n))}async unlinkPromise(t){return await this.makeCallPromise(t,async()=>await this.baseFs.unlinkPromise(t),async(i,{subPath:n})=>await i.unlinkPromise(n))}unlinkSync(t){return this.makeCallSync(t,()=>this.baseFs.unlinkSync(t),(i,{subPath:n})=>i.unlinkSync(n))}async utimesPromise(t,i,n){return await this.makeCallPromise(t,async()=>await this.baseFs.utimesPromise(t,i,n),async(s,{subPath:o})=>await s.utimesPromise(o,i,n))}utimesSync(t,i,n){return this.makeCallSync(t,()=>this.baseFs.utimesSync(t,i,n),(s,{subPath:o})=>s.utimesSync(o,i,n))}async mkdirPromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.mkdirPromise(t,i),async(n,{subPath:s})=>await n.mkdirPromise(s,i))}mkdirSync(t,i){return this.makeCallSync(t,()=>this.baseFs.mkdirSync(t,i),(n,{subPath:s})=>n.mkdirSync(s,i))}async rmdirPromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.rmdirPromise(t,i),async(n,{subPath:s})=>await n.rmdirPromise(s,i))}rmdirSync(t,i){return this.makeCallSync(t,()=>this.baseFs.rmdirSync(t,i),(n,{subPath:s})=>n.rmdirSync(s,i))}async linkPromise(t,i){return await this.makeCallPromise(i,async()=>await this.baseFs.linkPromise(t,i),async(n,{subPath:s})=>await n.linkPromise(t,s))}linkSync(t,i){return this.makeCallSync(i,()=>this.baseFs.linkSync(t,i),(n,{subPath:s})=>n.linkSync(t,s))}async symlinkPromise(t,i,n){return await this.makeCallPromise(i,async()=>await this.baseFs.symlinkPromise(t,i,n),async(s,{subPath:o})=>await s.symlinkPromise(t,o))}symlinkSync(t,i,n){return this.makeCallSync(i,()=>this.baseFs.symlinkSync(t,i,n),(s,{subPath:o})=>s.symlinkSync(t,o))}async readFilePromise(t,i){return this.makeCallPromise(t,async()=>{switch(i){case"utf8":return await this.baseFs.readFilePromise(t,i);default:return await this.baseFs.readFilePromise(t,i)}},async(n,{subPath:s})=>await n.readFilePromise(s,i))}readFileSync(t,i){return this.makeCallSync(t,()=>{switch(i){case"utf8":return this.baseFs.readFileSync(t,i);default:return this.baseFs.readFileSync(t,i)}},(n,{subPath:s})=>n.readFileSync(s,i))}async readdirPromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.readdirPromise(t,i),async(n,{subPath:s})=>await n.readdirPromise(s,i),{requireSubpath:!1})}readdirSync(t,i){return this.makeCallSync(t,()=>this.baseFs.readdirSync(t,i),(n,{subPath:s})=>n.readdirSync(s,i),{requireSubpath:!1})}async readlinkPromise(t){return await this.makeCallPromise(t,async()=>await this.baseFs.readlinkPromise(t),async(i,{subPath:n})=>await i.readlinkPromise(n))}readlinkSync(t){return this.makeCallSync(t,()=>this.baseFs.readlinkSync(t),(i,{subPath:n})=>i.readlinkSync(n))}async truncatePromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.truncatePromise(t,i),async(n,{subPath:s})=>await n.truncatePromise(s,i))}truncateSync(t,i){return this.makeCallSync(t,()=>this.baseFs.truncateSync(t,i),(n,{subPath:s})=>n.truncateSync(s,i))}async ftruncatePromise(t,i){if((t&cn)!==Wi)return this.baseFs.ftruncatePromise(t,i);let n=this.fdMap.get(t);if(typeof n>"u")throw Hr("ftruncate");let[s,o]=n;return s.ftruncatePromise(o,i)}ftruncateSync(t,i){if((t&cn)!==Wi)return this.baseFs.ftruncateSync(t,i);let n=this.fdMap.get(t);if(typeof n>"u")throw Hr("ftruncateSync");let[s,o]=n;return s.ftruncateSync(o,i)}watch(t,i,n){return this.makeCallSync(t,()=>this.baseFs.watch(t,i,n),(s,{subPath:o})=>s.watch(o,i,n))}watchFile(t,i,n){return this.makeCallSync(t,()=>this.baseFs.watchFile(t,i,n),()=>$E(this,t,i,n))}unwatchFile(t,i){return this.makeCallSync(t,()=>this.baseFs.unwatchFile(t,i),()=>Up(this,t,i))}async makeCallPromise(t,i,n,{requireSubpath:s=!0}={}){if(typeof t!="string")return await i();let o=this.resolve(t),a=this.findZip(o);return a?s&&a.subPath==="/"?await i():await this.getZipPromise(a.archivePath,async l=>await n(l,a)):await i()}makeCallSync(t,i,n,{requireSubpath:s=!0}={}){if(typeof t!="string")return i();let o=this.resolve(t),a=this.findZip(o);return!a||s&&a.subPath==="/"?i():this.getZipSync(a.archivePath,l=>n(l,a))}findZip(t){if(this.filter&&!this.filter.test(t))return null;let i="";for(;;){let n=t.substring(i.length),s;if(!this.fileExtensions)s=fK(n,".zip");else for(let o of this.fileExtensions)if(s=fK(n,o),s)break;if(!s)return null;if(i=this.pathUtils.join(i,s),this.isZip.has(i)===!1){if(this.notZip.has(i))continue;try{if(!this.baseFs.lstatSync(i).isFile()){this.notZip.add(i);continue}}catch{return null}this.isZip.add(i)}return{archivePath:i,subPath:this.pathUtils.join(Oe.root,t.substring(i.length))}}}limitOpenFiles(t){if(this.zipInstances===null)return;let i=Date.now(),n=i+this.maxAge,s=t===null?0:this.zipInstances.size-t;for(let[o,{zipFs:a,expiresAt:l,refCount:c}]of this.zipInstances.entries())if(!(c!==0||a.hasOpenFileHandles())){if(i>=l){a.saveAndClose(),this.zipInstances.delete(o),s-=1;continue}else if(t===null||s<=0){n=l;break}a.saveAndClose(),this.zipInstances.delete(o),s-=1}this.limitOpenFilesTimeout===null&&(t===null&&this.zipInstances.size>0||t!==null)&&(this.limitOpenFilesTimeout=setTimeout(()=>{this.limitOpenFilesTimeout=null,this.limitOpenFiles(null)},n-i).unref())}async getZipPromise(t,i){let n=async()=>({baseFs:this.baseFs,libzip:this.libzip,readOnly:this.readOnlyArchives,stats:await this.baseFs.statPromise(t)});if(this.zipInstances){let s=this.zipInstances.get(t);if(!s){let o=await n();s=this.zipInstances.get(t),s||(s={zipFs:new Wr(t,o),expiresAt:0,refCount:0})}this.zipInstances.delete(t),this.limitOpenFiles(this.maxOpenFiles-1),this.zipInstances.set(t,s),s.expiresAt=Date.now()+this.maxAge,s.refCount+=1;try{return await i(s.zipFs)}finally{s.refCount-=1}}else{let s=new Wr(t,await n());try{return await i(s)}finally{s.saveAndClose()}}}getZipSync(t,i){let n=()=>({baseFs:this.baseFs,libzip:this.libzip,readOnly:this.readOnlyArchives,stats:this.baseFs.statSync(t)});if(this.zipInstances){let s=this.zipInstances.get(t);return s||(s={zipFs:new Wr(t,n()),expiresAt:0,refCount:0}),this.zipInstances.delete(t),this.limitOpenFiles(this.maxOpenFiles-1),this.zipInstances.set(t,s),s.expiresAt=Date.now()+this.maxAge,i(s.zipFs)}else{let s=new Wr(t,n());try{return i(s)}finally{s.saveAndClose()}}}};var Sg=J("util");var tI=J("url"),hK=J("util");var eI=class extends pi{constructor(t){super(K);this.baseFs=t}mapFromBase(t){return t}mapToBase(t){if(typeof t=="string")return t;if(t instanceof tI.URL)return(0,tI.fileURLToPath)(t);if(Buffer.isBuffer(t)){let i=t.toString();if(Buffer.byteLength(i)!==t.byteLength)throw new Error("Non-utf8 buffers are not supported at the moment. Please upvote the following issue if you encounter this error: https://github.com/yarnpkg/berry/issues/4942");return i}throw new Error(`Unsupported path type: ${(0,hK.inspect)(t)}`)}};var pK=J("readline"),Fi=Symbol("kBaseFs"),Ia=Symbol("kFd"),xA=Symbol("kClosePromise"),rI=Symbol("kCloseResolve"),iI=Symbol("kCloseReject"),bg=Symbol("kRefs"),qs=Symbol("kRef"),Js=Symbol("kUnref"),qge,Jge,Wge,zge,jp=class{constructor(e,t){this[qge]=1;this[Jge]=void 0;this[Wge]=void 0;this[zge]=void 0;this[Fi]=t,this[Ia]=e}get fd(){return this[Ia]}async appendFile(e,t){var i;try{this[qs](this.appendFile);let n=(i=typeof t=="string"?t:t==null?void 0:t.encoding)!=null?i:void 0;return await this[Fi].appendFilePromise(this.fd,e,n?{encoding:n}:void 0)}finally{this[Js]()}}async chown(e,t){try{return this[qs](this.chown),await this[Fi].fchownPromise(this.fd,e,t)}finally{this[Js]()}}async chmod(e){try{return this[qs](this.chmod),await this[Fi].fchmodPromise(this.fd,e)}finally{this[Js]()}}createReadStream(e){return this[Fi].createReadStream(null,{...e,fd:this.fd})}createWriteStream(e){return this[Fi].createWriteStream(null,{...e,fd:this.fd})}datasync(){throw new Error("Method not implemented.")}sync(){throw new Error("Method not implemented.")}async read(e,t,i,n){var s,o,a;try{this[qs](this.read);let l;return Buffer.isBuffer(e)?l=e:(e!=null||(e={}),l=(s=e.buffer)!=null?s:Buffer.alloc(16384),t=e.offset||0,i=(o=e.length)!=null?o:l.byteLength,n=(a=e.position)!=null?a:null),t!=null||(t=0),i!=null||(i=0),i===0?{bytesRead:i,buffer:l}:{bytesRead:await this[Fi].readPromise(this.fd,l,t,i,n),buffer:l}}finally{this[Js]()}}async readFile(e){var t;try{this[qs](this.readFile);let i=(t=typeof e=="string"?e:e==null?void 0:e.encoding)!=null?t:void 0;return await this[Fi].readFilePromise(this.fd,i)}finally{this[Js]()}}readLines(e){return(0,pK.createInterface)({input:this.createReadStream(e),crlfDelay:1/0})}async stat(e){try{return this[qs](this.stat),await this[Fi].fstatPromise(this.fd,e)}finally{this[Js]()}}async truncate(e){try{return this[qs](this.truncate),await this[Fi].ftruncatePromise(this.fd,e)}finally{this[Js]()}}utimes(e,t){throw new Error("Method not implemented.")}async writeFile(e,t){var i;try{this[qs](this.writeFile);let n=(i=typeof t=="string"?t:t==null?void 0:t.encoding)!=null?i:void 0;await this[Fi].writeFilePromise(this.fd,e,n)}finally{this[Js]()}}async write(...e){try{if(this[qs](this.write),ArrayBuffer.isView(e[0])){let[t,i,n,s]=e;return{bytesWritten:await this[Fi].writePromise(this.fd,t,i!=null?i:void 0,n!=null?n:void 0,s!=null?s:void 0),buffer:t}}else{let[t,i,n]=e;return{bytesWritten:await this[Fi].writePromise(this.fd,t,i,n),buffer:t}}}finally{this[Js]()}}async writev(e,t){try{this[qs](this.writev);let i=0;if(typeof t<"u")for(let n of e){let s=await this.write(n,void 0,void 0,t);i+=s.bytesWritten,t+=s.bytesWritten}else for(let n of e)i+=(await this.write(n)).bytesWritten;return{buffers:e,bytesWritten:i}}finally{this[Js]()}}readv(e,t){throw new Error("Method not implemented.")}close(){if(this[Ia]===-1)return Promise.resolve();if(this[xA])return this[xA];if(this[bg]--,this[bg]===0){let e=this[Ia];this[Ia]=-1,this[xA]=this[Fi].closePromise(e).finally(()=>{this[xA]=void 0})}else this[xA]=new Promise((e,t)=>{this[rI]=e,this[iI]=t}).finally(()=>{this[xA]=void 0,this[iI]=void 0,this[rI]=void 0});return this[xA]}[(Fi,Ia,qge=bg,Jge=xA,Wge=rI,zge=iI,qs)](e){if(this[Ia]===-1){let t=new Error("file closed");throw t.code="EBADF",t.syscall=e.name,t}this[bg]++}[Js](){if(this[bg]--,this[bg]===0){let e=this[Ia];this[Ia]=-1,this[Fi].closePromise(e).then(this[rI],this[iI])}}};var Vge=new Set(["accessSync","appendFileSync","createReadStream","createWriteStream","chmodSync","fchmodSync","chownSync","fchownSync","closeSync","copyFileSync","linkSync","lstatSync","fstatSync","lutimesSync","mkdirSync","openSync","opendirSync","readlinkSync","readFileSync","readdirSync","readlinkSync","realpathSync","renameSync","rmdirSync","statSync","symlinkSync","truncateSync","ftruncateSync","unlinkSync","unwatchFile","utimesSync","watch","watchFile","writeFileSync","writeSync"]),dK=new Set(["accessPromise","appendFilePromise","fchmodPromise","chmodPromise","fchownPromise","chownPromise","closePromise","copyFilePromise","linkPromise","fstatPromise","lstatPromise","lutimesPromise","mkdirPromise","openPromise","opendirPromise","readdirPromise","realpathPromise","readFilePromise","readdirPromise","readlinkPromise","renamePromise","rmdirPromise","statPromise","symlinkPromise","truncatePromise","ftruncatePromise","unlinkPromise","utimesPromise","writeFilePromise","writeSync"]);function QS(r,e){e=new eI(e);let t=(i,n,s)=>{let o=i[n];i[n]=s,typeof(o==null?void 0:o[Sg.promisify.custom])<"u"&&(s[Sg.promisify.custom]=o[Sg.promisify.custom])};{t(r,"exists",(i,...n)=>{let o=typeof n[n.length-1]=="function"?n.pop():()=>{};process.nextTick(()=>{e.existsPromise(i).then(a=>{o(a)},()=>{o(!1)})})}),t(r,"read",(...i)=>{let[n,s,o,a,l,c]=i;if(i.length<=3){let u={};i.length<3?c=i[1]:(u=i[1],c=i[2]),{buffer:s=Buffer.alloc(16384),offset:o=0,length:a=s.byteLength,position:l}=u}if(o==null&&(o=0),a|=0,a===0){process.nextTick(()=>{c(null,0,s)});return}l==null&&(l=-1),process.nextTick(()=>{e.readPromise(n,s,o,a,l).then(u=>{c(null,u,s)},u=>{c(u,0,s)})})});for(let i of dK){let n=i.replace(/Promise$/,"");if(typeof r[n]>"u")continue;let s=e[i];if(typeof s>"u")continue;t(r,n,(...a)=>{let c=typeof a[a.length-1]=="function"?a.pop():()=>{};process.nextTick(()=>{s.apply(e,a).then(u=>{c(null,u)},u=>{c(u)})})})}r.realpath.native=r.realpath}{t(r,"existsSync",i=>{try{return e.existsSync(i)}catch{return!1}}),t(r,"readSync",(...i)=>{let[n,s,o,a,l]=i;return i.length<=3&&({offset:o=0,length:a=s.byteLength,position:l}=i[2]||{}),o==null&&(o=0),a|=0,a===0?0:(l==null&&(l=-1),e.readSync(n,s,o,a,l))});for(let i of Vge){let n=i;if(typeof r[n]>"u")continue;let s=e[i];typeof s>"u"||t(r,n,s.bind(e))}r.realpathSync.native=r.realpathSync}{let i=process.emitWarning;process.emitWarning=()=>{};let n;try{n=r.promises}finally{process.emitWarning=i}if(typeof n<"u"){for(let s of dK){let o=s.replace(/Promise$/,"");if(typeof n[o]>"u")continue;let a=e[s];typeof a>"u"||s!=="open"&&t(n,o,(l,...c)=>l instanceof jp?l[o].apply(l,c):a.call(e,l,...c))}t(n,"open",async(...s)=>{let o=await e.openPromise(...s);return new jp(o,e)})}}r.read[Sg.promisify.custom]=async(i,n,...s)=>({bytesRead:await e.readPromise(i,n,...s),buffer:n}),r.write[Sg.promisify.custom]=async(i,n,...s)=>({bytesWritten:await e.writePromise(i,n,...s),buffer:n})}function nI(r,e){let t=Object.create(r);return QS(t,e),t}var EK=Pe(J("os"));function CK(r){let e=Math.ceil(Math.random()*4294967296).toString(16).padStart(8,"0");return`${r}${e}`}var Ws=new Set,bS=null;function mK(){if(bS)return bS;let r=K.toPortablePath(EK.default.tmpdir()),e=M.realpathSync(r);return process.once("exit",()=>{M.rmtempSync()}),bS={tmpdir:r,realTmpdir:e}}var M=Object.assign(new $t,{detachTemp(r){Ws.delete(r)},mktempSync(r){let{tmpdir:e,realTmpdir:t}=mK();for(;;){let i=CK("xfs-");try{this.mkdirSync(x.join(e,i))}catch(s){if(s.code==="EEXIST")continue;throw s}let n=x.join(t,i);if(Ws.add(n),typeof r>"u")return n;try{return r(n)}finally{if(Ws.has(n)){Ws.delete(n);try{this.removeSync(n)}catch{}}}}},async mktempPromise(r){let{tmpdir:e,realTmpdir:t}=mK();for(;;){let i=CK("xfs-");try{await this.mkdirPromise(x.join(e,i))}catch(s){if(s.code==="EEXIST")continue;throw s}let n=x.join(t,i);if(Ws.add(n),typeof r>"u")return n;try{return await r(n)}finally{if(Ws.has(n)){Ws.delete(n);try{await this.removePromise(n)}catch{}}}}},async rmtempPromise(){await Promise.all(Array.from(Ws.values()).map(async r=>{try{await M.removePromise(r,{maxRetries:0}),Ws.delete(r)}catch{}}))},rmtempSync(){for(let r of Ws)try{M.removeSync(r),Ws.delete(r)}catch{}}});var fk=Pe(LS());var $p={};ut($p,{parseResolution:()=>cI,parseShell:()=>aI,parseSyml:()=>yi,stringifyArgument:()=>KS,stringifyArgumentSegment:()=>US,stringifyArithmeticExpression:()=>lI,stringifyCommand:()=>MS,stringifyCommandChain:()=>Dg,stringifyCommandChainThen:()=>OS,stringifyCommandLine:()=>AI,stringifyCommandLineThen:()=>TS,stringifyEnvSegment:()=>oI,stringifyRedirectArgument:()=>Jp,stringifyResolution:()=>uI,stringifyShell:()=>Pg,stringifyShellLine:()=>Pg,stringifySyml:()=>wa,stringifyValueArgument:()=>zl});var lU=Pe(AU());function aI(r,e={isGlobPattern:()=>!1}){try{return(0,lU.parse)(r,e)}catch(t){throw t.location&&(t.message=t.message.replace(/(\.)?$/,` (line ${t.location.start.line}, column ${t.location.start.column})$1`)),t}}function Pg(r,{endSemicolon:e=!1}={}){return r.map(({command:t,type:i},n)=>`${AI(t)}${i===";"?n!==r.length-1||e?";":"":" &"}`).join(" ")}function AI(r){return`${Dg(r.chain)}${r.then?` ${TS(r.then)}`:""}`}function TS(r){return`${r.type} ${AI(r.line)}`}function Dg(r){return`${MS(r)}${r.then?` ${OS(r.then)}`:""}`}function OS(r){return`${r.type} ${Dg(r.chain)}`}function MS(r){switch(r.type){case"command":return`${r.envs.length>0?`${r.envs.map(e=>oI(e)).join(" ")} `:""}${r.args.map(e=>KS(e)).join(" ")}`;case"subshell":return`(${Pg(r.subshell)})${r.args.length>0?` ${r.args.map(e=>Jp(e)).join(" ")}`:""}`;case"group":return`{ ${Pg(r.group,{endSemicolon:!0})} }${r.args.length>0?` ${r.args.map(e=>Jp(e)).join(" ")}`:""}`;case"envs":return r.envs.map(e=>oI(e)).join(" ");default:throw new Error(`Unsupported command type: "${r.type}"`)}}function oI(r){return`${r.name}=${r.args[0]?zl(r.args[0]):""}`}function KS(r){switch(r.type){case"redirection":return Jp(r);case"argument":return zl(r);default:throw new Error(`Unsupported argument type: "${r.type}"`)}}function Jp(r){return`${r.subtype} ${r.args.map(e=>zl(e)).join(" ")}`}function zl(r){return r.segments.map(e=>US(e)).join("")}function US(r){let e=(i,n)=>n?`"${i}"`:i,t=i=>i===""?'""':i.match(/[(){}<>$|&; \t"']/)?`$'${i.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\f/g,"\\f").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t").replace(/\v/g,"\\v").replace(/\0/g,"\\0")}'`:i;switch(r.type){case"text":return t(r.text);case"glob":return r.pattern;case"shell":return e(`\${${Pg(r.shell)}}`,r.quoted);case"variable":return e(typeof r.defaultValue>"u"?typeof r.alternativeValue>"u"?`\${${r.name}}`:r.alternativeValue.length===0?`\${${r.name}:+}`:`\${${r.name}:+${r.alternativeValue.map(i=>zl(i)).join(" ")}}`:r.defaultValue.length===0?`\${${r.name}:-}`:`\${${r.name}:-${r.defaultValue.map(i=>zl(i)).join(" ")}}`,r.quoted);case"arithmetic":return`$(( ${lI(r.arithmetic)} ))`;default:throw new Error(`Unsupported argument segment type: "${r.type}"`)}}function lI(r){let e=n=>{switch(n){case"addition":return"+";case"subtraction":return"-";case"multiplication":return"*";case"division":return"/";default:throw new Error(`Can't extract operator from arithmetic expression of type "${n}"`)}},t=(n,s)=>s?`( ${n} )`:n,i=n=>t(lI(n),!["number","variable"].includes(n.type));switch(r.type){case"number":return String(r.value);case"variable":return r.name;default:return`${i(r.left)} ${e(r.type)} ${i(r.right)}`}}var gU=Pe(uU());function cI(r){let e=r.match(/^\*{1,2}\/(.*)/);if(e)throw new Error(`The override for '${r}' includes a glob pattern. Glob patterns have been removed since their behaviours don't match what you'd expect. Set the override to '${e[1]}' instead.`);try{return(0,gU.parse)(r)}catch(t){throw t.location&&(t.message=t.message.replace(/(\.)?$/,` (line ${t.location.start.line}, column ${t.location.start.column})$1`)),t}}function uI(r){let e="";return r.from&&(e+=r.from.fullName,r.from.description&&(e+=`@${r.from.description}`),e+="/"),e+=r.descriptor.fullName,r.descriptor.description&&(e+=`@${r.descriptor.description}`),e}var BI=Pe(rH()),aH=Pe(nH()),nde=/^(?![-?:,\][{}#&*!|>'"%@` \t\r\n]).([ \t]*(?![,\][{}:# \t\r\n]).)*$/,sH=["__metadata","version","resolution","dependencies","peerDependencies","dependenciesMeta","peerDependenciesMeta","binaries"],wI=class{constructor(e){this.data=e}};function oH(r){return r.match(nde)?r:JSON.stringify(r)}function AH(r){return typeof r>"u"?!0:typeof r=="object"&&r!==null?Object.keys(r).every(e=>AH(r[e])):!1}function $S(r,e,t){if(r===null)return`null `;if(typeof r=="number"||typeof r=="boolean")return`${r.toString()} -`;if(typeof r=="string")return`${F2(r)} +`;if(typeof r=="string")return`${oH(r)} `;if(Array.isArray(r)){if(r.length===0)return`[] `;let i=" ".repeat(e);return` -${r.map(s=>`${i}- ${MS(s,e+1,!1)}`).join("")}`}if(typeof r=="object"&&r){let i,n;r instanceof hI?(i=r.data,n=!1):(i=r,n=!0);let s=" ".repeat(e),o=Object.keys(i);n&&o.sort((l,c)=>{let u=R2.indexOf(l),g=R2.indexOf(c);return u===-1&&g===-1?lc?1:0:u!==-1&&g===-1?-1:u===-1&&g!==-1?1:u-g});let a=o.filter(l=>!L2(i[l])).map((l,c)=>{let u=i[l],g=F2(l),f=MS(u,e+1,!0),h=c>0||t?s:"",p=g.length>1024?`? ${g} +${r.map(s=>`${i}- ${$S(s,e+1,!1)}`).join("")}`}if(typeof r=="object"&&r){let i,n;r instanceof wI?(i=r.data,n=!1):(i=r,n=!0);let s=" ".repeat(e),o=Object.keys(i);n&&o.sort((l,c)=>{let u=sH.indexOf(l),g=sH.indexOf(c);return u===-1&&g===-1?lc?1:0:u!==-1&&g===-1?-1:u===-1&&g!==-1?1:u-g});let a=o.filter(l=>!AH(i[l])).map((l,c)=>{let u=i[l],g=oH(l),f=$S(u,e+1,!0),h=c>0||t?s:"",p=g.length>1024?`? ${g} ${h}:`:`${g}:`,C=f.startsWith(` `)?f:` ${f}`;return`${h}${p}${C}`}).join(e===0?` `:"")||` `;return t?` -${a}`:`${a}`}throw new Error(`Unsupported value type (${r})`)}function Ca(r){try{let e=MS(r,0,!1);return e!==` -`?e:""}catch(e){throw e.location&&(e.message=e.message.replace(/(\.)?$/,` (line ${e.location.start.line}, column ${e.location.start.column})$1`)),e}}Ca.PreserveOrdering=hI;function Epe(r){return r.endsWith(` +${a}`:`${a}`}throw new Error(`Unsupported value type (${r})`)}function wa(r){try{let e=$S(r,0,!1);return e!==` +`?e:""}catch(e){throw e.location&&(e.message=e.message.replace(/(\.)?$/,` (line ${e.location.start.line}, column ${e.location.start.column})$1`)),e}}wa.PreserveOrdering=wI;function sde(r){return r.endsWith(` `)||(r+=` -`),(0,N2.parse)(r)}var Ipe=/^(#.*(\r?\n))*?#\s+yarn\s+lockfile\s+v1\r?\n/i;function ype(r){if(Ipe.test(r))return Epe(r);let e=(0,pI.safeLoad)(r,{schema:pI.FAILSAFE_SCHEMA,json:!0});if(e==null)return{};if(typeof e!="object")throw new Error(`Expected an indexed object, got a ${typeof e} instead. Does your file follow Yaml's rules?`);if(Array.isArray(e))throw new Error("Expected an indexed object, got an array instead. Does your file follow Yaml's rules?");return e}function Ii(r){return ype(r)}var H8=Pe(O2()),Sw=Pe(Vl());var $p={};ut($p,{Builtins:()=>$S,Cli:()=>Kn,Command:()=>ve,Option:()=>z,UsageError:()=>be,formatMarkdownish:()=>Ni});var US="",yi="\0";var HS=/^(-h|--help)(?:=([0-9]+))?$/,dI=/^(--[a-z]+(?:-[a-z]+)*|-[a-zA-Z]+)$/,H2=/^-[a-zA-Z]{2,}$/,GS=/^([^=]+)=([\s\S]*)$/,YS=process.env.DEBUG_CLI==="1";var be=class extends Error{constructor(e){super(e),this.clipanion={type:"usage"},this.name="UsageError"}},kg=class extends Error{constructor(e,t){if(super(),this.input=e,this.candidates=t,this.clipanion={type:"none"},this.name="UnknownSyntaxError",this.candidates.length===0)this.message="Command not found, but we're not sure what's the alternative.";else if(this.candidates.every(i=>i.reason!==null&&i.reason===t[0].reason)){let[{reason:i}]=this.candidates;this.message=`${i} +`),(0,aH.parse)(r)}var ode=/^(#.*(\r?\n))*?#\s+yarn\s+lockfile\s+v1\r?\n/i;function ade(r){if(ode.test(r))return sde(r);let e=(0,BI.safeLoad)(r,{schema:BI.FAILSAFE_SCHEMA,json:!0});if(e==null)return{};if(typeof e!="object")throw new Error(`Expected an indexed object, got a ${typeof e} instead. Does your file follow Yaml's rules?`);if(Array.isArray(e))throw new Error("Expected an indexed object, got an array instead. Does your file follow Yaml's rules?");return e}function yi(r){return ade(r)}var fz=Pe(cH()),Lw=Pe(nc());var ld={};ut(ld,{Builtins:()=>hv,Cli:()=>Un,Command:()=>ve,Option:()=>z,UsageError:()=>be,formatMarkdownish:()=>Li});var tv="",wi="\0";var rv=/^(-h|--help)(?:=([0-9]+))?$/,QI=/^(--[a-z]+(?:-[a-z]+)*|-[a-zA-Z]+)$/,hH=/^-[a-zA-Z]{2,}$/,iv=/^([^=]+)=([\s\S]*)$/,nv=process.env.DEBUG_CLI==="1";var be=class extends Error{constructor(e){super(e),this.clipanion={type:"usage"},this.name="UsageError"}},Mg=class extends Error{constructor(e,t){if(super(),this.input=e,this.candidates=t,this.clipanion={type:"none"},this.name="UnknownSyntaxError",this.candidates.length===0)this.message="Command not found, but we're not sure what's the alternative.";else if(this.candidates.every(i=>i.reason!==null&&i.reason===t[0].reason)){let[{reason:i}]=this.candidates;this.message=`${i} ${this.candidates.map(({usage:n})=>`$ ${n}`).join(` `)}`}else if(this.candidates.length===1){let[{usage:i}]=this.candidates;this.message=`Command not found; did you mean: $ ${i} -${jS(e)}`}else this.message=`Command not found; did you mean one of: +${sv(e)}`}else this.message=`Command not found; did you mean one of: ${this.candidates.map(({usage:i},n)=>`${`${n}.`.padStart(4)} ${i}`).join(` `)} -${jS(e)}`}},CI=class extends Error{constructor(e,t){super(),this.input=e,this.usages=t,this.clipanion={type:"none"},this.name="AmbiguousSyntaxError",this.message=`Cannot find which to pick amongst the following alternatives: +${sv(e)}`}},bI=class extends Error{constructor(e,t){super(),this.input=e,this.usages=t,this.clipanion={type:"none"},this.name="AmbiguousSyntaxError",this.message=`Cannot find which to pick amongst the following alternatives: ${this.usages.map((i,n)=>`${`${n}.`.padStart(4)} ${i}`).join(` `)} -${jS(e)}`}},jS=r=>`While running ${r.filter(e=>e!==yi).map(e=>{let t=JSON.stringify(e);return e.match(/\s/)||e.length===0||t!==`"${e}"`?t:e}).join(" ")}`;var jp=Symbol("clipanion/isOption");function Ji(r){return{...r,[jp]:!0}}function bo(r,e){return typeof r>"u"?[r,e]:typeof r=="object"&&r!==null&&!Array.isArray(r)?[void 0,r]:[r,e]}function mI(r,e=!1){let t=r.replace(/^\.: /,"");return e&&(t=t[0].toLowerCase()+t.slice(1)),t}function qp(r,e){return e.length===1?new be(`${r}: ${mI(e[0],!0)}`):new be(`${r}: +${sv(e)}`}},sv=r=>`While running ${r.filter(e=>e!==wi).map(e=>{let t=JSON.stringify(e);return e.match(/\s/)||e.length===0||t!==`"${e}"`?t:e}).join(" ")}`;var ed=Symbol("clipanion/isOption");function zi(r){return{...r,[ed]:!0}}function Po(r,e){return typeof r>"u"?[r,e]:typeof r=="object"&&r!==null&&!Array.isArray(r)?[void 0,r]:[r,e]}function SI(r,e=!1){let t=r.replace(/^\.: /,"");return e&&(t=t[0].toLowerCase()+t.slice(1)),t}function td(r,e){return e.length===1?new be(`${r}: ${SI(e[0],!0)}`):new be(`${r}: ${e.map(t=>` -- ${mI(t)}`).join("")}`)}function Jp(r,e,t){if(typeof t>"u")return e;let i=[],n=[],s=a=>{let l=e;return e=a,s.bind(null,l)};if(!t(e,{errors:i,coercions:n,coercion:s}))throw qp(`Invalid value for ${r}`,i);for(let[,a]of n)a();return e}var ve=class{constructor(){this.help=!1}static Usage(e){return e}async catch(e){throw e}async validateAndExecute(){let t=this.constructor.schema;if(Array.isArray(t)){let{isDict:n,isUnknown:s,applyCascade:o}=await Promise.resolve().then(()=>(ns(),gn)),a=o(n(s()),t),l=[],c=[];if(!a(this,{errors:l,coercions:c}))throw qp("Invalid option schema",l);for(let[,g]of c)g()}else if(t!=null)throw new Error("Invalid command schema");let i=await this.execute();return typeof i<"u"?i:0}};ve.isOption=jp;ve.Default=[];var WS=Array(80).fill("\u2501");for(let r=0;r<=24;++r)WS[WS.length-r]=`\x1B[38;5;${232+r}m\u2501`;var zS={header:r=>`\x1B[1m\u2501\u2501\u2501 ${r}${r.length<80-5?` ${WS.slice(r.length+5).join("")}`:":"}\x1B[0m`,bold:r=>`\x1B[1m${r}\x1B[22m`,error:r=>`\x1B[31m\x1B[1m${r}\x1B[22m\x1B[39m`,code:r=>`\x1B[36m${r}\x1B[39m`},_2={header:r=>r,bold:r=>r,error:r=>r,code:r=>r};function nde(r){let e=r.split(` +- ${SI(t)}`).join("")}`)}function rd(r,e,t){if(typeof t>"u")return e;let i=[],n=[],s=a=>{let l=e;return e=a,s.bind(null,l)};if(!t(e,{errors:i,coercions:n,coercion:s}))throw td(`Invalid value for ${r}`,i);for(let[,a]of n)a();return e}var ve=class{constructor(){this.help=!1}static Usage(e){return e}async catch(e){throw e}async validateAndExecute(){let t=this.constructor.schema;if(Array.isArray(t)){let{isDict:n,isUnknown:s,applyCascade:o}=await Promise.resolve().then(()=>(as(),gn)),a=o(n(s()),t),l=[],c=[];if(!a(this,{errors:l,coercions:c}))throw td("Invalid option schema",l);for(let[,g]of c)g()}else if(t!=null)throw new Error("Invalid command schema");let i=await this.execute();return typeof i<"u"?i:0}};ve.isOption=ed;ve.Default=[];var Av=Array(80).fill("\u2501");for(let r=0;r<=24;++r)Av[Av.length-r]=`\x1B[38;5;${232+r}m\u2501`;var lv={header:r=>`\x1B[1m\u2501\u2501\u2501 ${r}${r.length<80-5?` ${Av.slice(r.length+5).join("")}`:":"}\x1B[0m`,bold:r=>`\x1B[1m${r}\x1B[22m`,error:r=>`\x1B[31m\x1B[1m${r}\x1B[22m\x1B[39m`,code:r=>`\x1B[36m${r}\x1B[39m`},QH={header:r=>r,bold:r=>r,error:r=>r,code:r=>r};function jde(r){let e=r.split(` `),t=e.filter(n=>n.match(/\S/)),i=t.length>0?t.reduce((n,s)=>Math.min(n,s.length-s.trimStart().length),Number.MAX_VALUE):0;return e.map(n=>n.slice(i).trimRight()).join(` -`)}function Ni(r,{format:e,paragraphs:t}){return r=r.replace(/\r\n?/g,` -`),r=nde(r),r=r.replace(/^\n+|\n+$/g,""),r=r.replace(/^(\s*)-([^\n]*?)\n+/gm,`$1-$2 +`)}function Li(r,{format:e,paragraphs:t}){return r=r.replace(/\r\n?/g,` +`),r=jde(r),r=r.replace(/^\n+|\n+$/g,""),r=r.replace(/^(\s*)-([^\n]*?)\n+/gm,`$1-$2 `),r=r.replace(/\n(\n)?\n*/g,"$1"),t&&(r=r.split(/\n/).map(i=>{let n=i.match(/^\s*[*-][\t ]+(.*)/);if(!n)return i.match(/(.{1,80})(?: |$)/g).join(` `);let s=i.length-i.trimStart().length;return n[1].match(new RegExp(`(.{1,${78-s}})(?: |$)`,"g")).map((o,a)=>" ".repeat(s)+(a===0?"- ":" ")+o).join(` `)}).join(` `)),r=r.replace(/(`+)((?:.|[\n])*?)\1/g,(i,n,s)=>e.code(n+s+n)),r=r.replace(/(\*\*)((?:.|[\n])*?)\1/g,(i,n,s)=>e.bold(n+s+n)),r?`${r} -`:""}var ZS=Pe(J("tty"),1);function fn(r){YS&&console.log(r)}var Z2={candidateUsage:null,requiredOptions:[],errorMessage:null,ignoreOptions:!1,path:[],positionals:[],options:[],remainder:null,selectedIndex:-1};function $2(){return{nodes:[zi(),zi(),zi()]}}function sde(r){let e=$2(),t=[],i=e.nodes.length;for(let n of r){t.push(i);for(let s=0;s{if(e.has(i))return;e.add(i);let n=r.nodes[i];for(let o of Object.values(n.statics))for(let{to:a}of o)t(a);for(let[,{to:o}]of n.dynamics)t(o);for(let{to:o}of n.shortcuts)t(o);let s=new Set(n.shortcuts.map(({to:o})=>o));for(;n.shortcuts.length>0;){let{to:o}=n.shortcuts.shift(),a=r.nodes[o];for(let[l,c]of Object.entries(a.statics)){let u=Object.prototype.hasOwnProperty.call(n.statics,l)?n.statics[l]:n.statics[l]=[];for(let g of c)u.some(({to:f})=>g.to===f)||u.push(g)}for(let[l,c]of a.dynamics)n.dynamics.some(([u,{to:g}])=>l===u&&c.to===g)||n.dynamics.push([l,c]);for(let l of a.shortcuts)s.has(l.to)||(n.shortcuts.push(l),s.add(l.to))}};t(0)}function ade(r,{prefix:e=""}={}){if(YS){fn(`${e}Nodes are:`);for(let t=0;tl!==2).map(({state:l})=>({usage:l.candidateUsage,reason:null})));if(a.every(({node:l})=>l===2))throw new kg(e,a.map(({state:l})=>({usage:l.candidateUsage,reason:l.errorMessage})));i=ude(a)}if(i.length>0){fn(" Results:");for(let s of i)fn(` - ${s.node} -> ${JSON.stringify(s.state)}`)}else fn(" No results");return i}function Ade(r,e){if(e.selectedIndex!==null)return!0;if(Object.prototype.hasOwnProperty.call(r.statics,yi)){for(let{to:t}of r.statics[yi])if(t===1)return!0}return!1}function lde(r,e,t){let i=t&&e.length>0?[""]:[],n=eH(r,e,t),s=[],o=new Set,a=(l,c,u=!0)=>{let g=[c];for(;g.length>0;){let h=g;g=[];for(let p of h){let C=r.nodes[p],y=Object.keys(C.statics);for(let B of Object.keys(C.statics)){let v=y[0];for(let{to:D,reducer:L}of C.statics[v])L==="pushPath"&&(u||l.push(v),g.push(D))}}u=!1}let f=JSON.stringify(l);o.has(f)||(s.push(l),o.add(f))};for(let{node:l,state:c}of n){if(c.remainder!==null){a([c.remainder],l);continue}let u=r.nodes[l],g=Ade(u,c);for(let[f,h]of Object.entries(u.statics))(g&&f!==yi||!f.startsWith("-")&&h.some(({reducer:p})=>p==="pushPath"))&&a([...i,f],l);if(!!g)for(let[f,{to:h}]of u.dynamics){if(h===2)continue;let p=pde(f,c);if(p!==null)for(let C of p)a([...i,C],l)}}return[...s].sort()}function cde(r,e){let t=eH(r,[...e,yi]);return gde(e,t.map(({state:i})=>i))}function ude(r){let e=0;for(let{state:t}of r)t.path.length>e&&(e=t.path.length);return r.filter(({state:t})=>t.path.length===e)}function gde(r,e){let t=e.filter(g=>g.selectedIndex!==null);if(t.length===0)throw new Error;let i=t.filter(g=>g.requiredOptions.every(f=>f.some(h=>g.options.find(p=>p.name===h))));if(i.length===0)throw new kg(r,t.map(g=>({usage:g.candidateUsage,reason:null})));let n=0;for(let g of i)g.path.length>n&&(n=g.path.length);let s=i.filter(g=>g.path.length===n),o=g=>g.positionals.filter(({extra:f})=>!f).length+g.options.length,a=s.map(g=>({state:g,positionalCount:o(g)})),l=0;for(let{positionalCount:g}of a)g>l&&(l=g);let c=a.filter(({positionalCount:g})=>g===l).map(({state:g})=>g),u=fde(c);if(u.length>1)throw new CI(r,u.map(g=>g.candidateUsage));return u[0]}function fde(r){let e=[],t=[];for(let i of r)i.selectedIndex===-1?t.push(i):e.push(i);return t.length>0&&e.push({...Z2,path:tH(...t.map(i=>i.path)),options:t.reduce((i,n)=>i.concat(n.options),[])}),e}function tH(r,e,...t){return e===void 0?Array.from(r):tH(r.filter((i,n)=>i===e[n]),...t)}function zi(){return{dynamics:[],shortcuts:[],statics:{}}}function rH(r){return r===1||r===2}function VS(r,e=0){return{to:rH(r.to)?r.to:r.to>2?r.to+e-2:r.to+e,reducer:r.reducer}}function hde(r,e=0){let t=zi();for(let[i,n]of r.dynamics)t.dynamics.push([i,VS(n,e)]);for(let i of r.shortcuts)t.shortcuts.push(VS(i,e));for(let[i,n]of Object.entries(r.statics))t.statics[i]=n.map(s=>VS(s,e));return t}function wi(r,e,t,i,n){r.nodes[e].dynamics.push([t,{to:i,reducer:n}])}function Rg(r,e,t,i){r.nodes[e].shortcuts.push({to:t,reducer:i})}function ma(r,e,t,i,n){(Object.prototype.hasOwnProperty.call(r.nodes[e].statics,t)?r.nodes[e].statics[t]:r.nodes[e].statics[t]=[]).push({to:i,reducer:n})}function II(r,e,t,i){if(Array.isArray(e)){let[n,...s]=e;return r[n](t,i,...s)}else return r[e](t,i)}function pde(r,e){let t=Array.isArray(r)?wI[r[0]]:wI[r];if(typeof t.suggest>"u")return null;let i=Array.isArray(r)?r.slice(1):[];return t.suggest(e,...i)}var wI={always:()=>!0,isOptionLike:(r,e)=>!r.ignoreOptions&&e!=="-"&&e.startsWith("-"),isNotOptionLike:(r,e)=>r.ignoreOptions||e==="-"||!e.startsWith("-"),isOption:(r,e,t,i)=>!r.ignoreOptions&&e===t,isBatchOption:(r,e,t)=>!r.ignoreOptions&&H2.test(e)&&[...e.slice(1)].every(i=>t.includes(`-${i}`)),isBoundOption:(r,e,t,i)=>{let n=e.match(GS);return!r.ignoreOptions&&!!n&&dI.test(n[1])&&t.includes(n[1])&&i.filter(s=>s.names.includes(n[1])).every(s=>s.allowBinding)},isNegatedOption:(r,e,t)=>!r.ignoreOptions&&e===`--no-${t.slice(2)}`,isHelp:(r,e)=>!r.ignoreOptions&&HS.test(e),isUnsupportedOption:(r,e,t)=>!r.ignoreOptions&&e.startsWith("-")&&dI.test(e)&&!t.includes(e),isInvalidOption:(r,e)=>!r.ignoreOptions&&e.startsWith("-")&&!dI.test(e)};wI.isOption.suggest=(r,e,t=!0)=>t?null:[e];var XS={setCandidateState:(r,e,t)=>({...r,...t}),setSelectedIndex:(r,e,t)=>({...r,selectedIndex:t}),pushBatch:(r,e)=>({...r,options:r.options.concat([...e.slice(1)].map(t=>({name:`-${t}`,value:!0})))}),pushBound:(r,e)=>{let[,t,i]=e.match(GS);return{...r,options:r.options.concat({name:t,value:i})}},pushPath:(r,e)=>({...r,path:r.path.concat(e)}),pushPositional:(r,e)=>({...r,positionals:r.positionals.concat({value:e,extra:!1})}),pushExtra:(r,e)=>({...r,positionals:r.positionals.concat({value:e,extra:!0})}),pushExtraNoLimits:(r,e)=>({...r,positionals:r.positionals.concat({value:e,extra:Mn})}),pushTrue:(r,e,t=e)=>({...r,options:r.options.concat({name:e,value:!0})}),pushFalse:(r,e,t=e)=>({...r,options:r.options.concat({name:t,value:!1})}),pushUndefined:(r,e)=>({...r,options:r.options.concat({name:e,value:void 0})}),pushStringValue:(r,e)=>{var t;let i={...r,options:[...r.options]},n=r.options[r.options.length-1];return n.value=((t=n.value)!==null&&t!==void 0?t:[]).concat([e]),i},setStringValue:(r,e)=>{let t={...r,options:[...r.options]},i=r.options[r.options.length-1];return i.value=e,t},inhibateOptions:r=>({...r,ignoreOptions:!0}),useHelp:(r,e,t)=>{let[,,i]=e.match(HS);return typeof i<"u"?{...r,options:[{name:"-c",value:String(t)},{name:"-i",value:i}]}:{...r,options:[{name:"-c",value:String(t)}]}},setError:(r,e,t)=>e===yi?{...r,errorMessage:`${t}.`}:{...r,errorMessage:`${t} ("${e}").`},setOptionArityError:(r,e)=>{let t=r.options[r.options.length-1];return{...r,errorMessage:`Not enough arguments to option ${t.name}.`}}},Mn=Symbol(),_S=class{constructor(e,t){this.allOptionNames=[],this.arity={leading:[],trailing:[],extra:[],proxy:!1},this.options=[],this.paths=[],this.cliIndex=e,this.cliOpts=t}addPath(e){this.paths.push(e)}setArity({leading:e=this.arity.leading,trailing:t=this.arity.trailing,extra:i=this.arity.extra,proxy:n=this.arity.proxy}){Object.assign(this.arity,{leading:e,trailing:t,extra:i,proxy:n})}addPositional({name:e="arg",required:t=!0}={}){if(!t&&this.arity.extra===Mn)throw new Error("Optional parameters cannot be declared when using .rest() or .proxy()");if(!t&&this.arity.trailing.length>0)throw new Error("Optional parameters cannot be declared after the required trailing positional arguments");!t&&this.arity.extra!==Mn?this.arity.extra.push(e):this.arity.extra!==Mn&&this.arity.extra.length===0?this.arity.leading.push(e):this.arity.trailing.push(e)}addRest({name:e="arg",required:t=0}={}){if(this.arity.extra===Mn)throw new Error("Infinite lists cannot be declared multiple times in the same command");if(this.arity.trailing.length>0)throw new Error("Infinite lists cannot be declared after the required trailing positional arguments");for(let i=0;i1)throw new Error("The arity cannot be higher than 1 when the option only supports the --arg=value syntax");if(!Number.isInteger(i))throw new Error(`The arity must be an integer, got ${i}`);if(i<0)throw new Error(`The arity must be positive, got ${i}`);this.allOptionNames.push(...e),this.options.push({names:e,description:t,arity:i,hidden:n,required:s,allowBinding:o})}setContext(e){this.context=e}usage({detailed:e=!0,inlineOptions:t=!0}={}){let i=[this.cliOpts.binaryName],n=[];if(this.paths.length>0&&i.push(...this.paths[0]),e){for(let{names:o,arity:a,hidden:l,description:c,required:u}of this.options){if(l)continue;let g=[];for(let h=0;h`:`[${f}]`)}i.push(...this.arity.leading.map(o=>`<${o}>`)),this.arity.extra===Mn?i.push("..."):i.push(...this.arity.extra.map(o=>`[${o}]`)),i.push(...this.arity.trailing.map(o=>`<${o}>`))}return{usage:i.join(" "),options:n}}compile(){if(typeof this.context>"u")throw new Error("Assertion failed: No context attached");let e=$2(),t=0,i=this.usage().usage,n=this.options.filter(a=>a.required).map(a=>a.names);t=Js(e,zi()),ma(e,0,US,t,["setCandidateState",{candidateUsage:i,requiredOptions:n}]);let s=this.arity.proxy?"always":"isNotOptionLike",o=this.paths.length>0?this.paths:[[]];for(let a of o){let l=t;if(a.length>0){let f=Js(e,zi());Rg(e,l,f),this.registerOptions(e,f),l=f}for(let f=0;f0||!this.arity.proxy){let f=Js(e,zi());wi(e,l,"isHelp",f,["useHelp",this.cliIndex]),ma(e,f,yi,1,["setSelectedIndex",-1]),this.registerOptions(e,l)}this.arity.leading.length>0&&ma(e,l,yi,2,["setError","Not enough positional arguments"]);let c=l;for(let f=0;f0||f+1!==this.arity.leading.length)&&ma(e,h,yi,2,["setError","Not enough positional arguments"]),wi(e,c,"isNotOptionLike",h,"pushPositional"),c=h}let u=c;if(this.arity.extra===Mn||this.arity.extra.length>0){let f=Js(e,zi());if(Rg(e,c,f),this.arity.extra===Mn){let h=Js(e,zi());this.arity.proxy||this.registerOptions(e,h),wi(e,c,s,h,"pushExtraNoLimits"),wi(e,h,s,h,"pushExtraNoLimits"),Rg(e,h,f)}else for(let h=0;h0&&ma(e,u,yi,2,["setError","Not enough positional arguments"]);let g=u;for(let f=0;fo.length>s.length?o:s,"");if(i.arity===0)for(let s of i.names)wi(e,t,["isOption",s,i.hidden||s!==n],t,"pushTrue"),s.startsWith("--")&&!s.startsWith("--no-")&&wi(e,t,["isNegatedOption",s],t,["pushFalse",s]);else{let s=Js(e,zi());for(let o of i.names)wi(e,t,["isOption",o,i.hidden||o!==n],s,"pushUndefined");for(let o=0;o=0&&ecde(i,n),suggest:(n,s)=>lde(i,n,s)}}};var Lg=class extends ve{constructor(e){super(),this.contexts=e,this.commands=[]}static from(e,t){let i=new Lg(t);i.path=e.path;for(let n of e.options)switch(n.name){case"-c":i.commands.push(Number(n.value));break;case"-i":i.index=Number(n.value);break}return i}async execute(){let e=this.commands;if(typeof this.index<"u"&&this.index>=0&&this.index1){this.context.stdout.write(`Multiple commands match your selection: +`:""}var fv=Pe(J("tty"),1);function fn(r){nv&&console.log(r)}var bH={candidateUsage:null,requiredOptions:[],errorMessage:null,ignoreOptions:!1,path:[],positionals:[],options:[],remainder:null,selectedIndex:-1};function SH(){return{nodes:[Xi(),Xi(),Xi()]}}function qde(r){let e=SH(),t=[],i=e.nodes.length;for(let n of r){t.push(i);for(let s=0;s{if(e.has(i))return;e.add(i);let n=r.nodes[i];for(let o of Object.values(n.statics))for(let{to:a}of o)t(a);for(let[,{to:o}]of n.dynamics)t(o);for(let{to:o}of n.shortcuts)t(o);let s=new Set(n.shortcuts.map(({to:o})=>o));for(;n.shortcuts.length>0;){let{to:o}=n.shortcuts.shift(),a=r.nodes[o];for(let[l,c]of Object.entries(a.statics)){let u=Object.prototype.hasOwnProperty.call(n.statics,l)?n.statics[l]:n.statics[l]=[];for(let g of c)u.some(({to:f})=>g.to===f)||u.push(g)}for(let[l,c]of a.dynamics)n.dynamics.some(([u,{to:g}])=>l===u&&c.to===g)||n.dynamics.push([l,c]);for(let l of a.shortcuts)s.has(l.to)||(n.shortcuts.push(l),s.add(l.to))}};t(0)}function Wde(r,{prefix:e=""}={}){if(nv){fn(`${e}Nodes are:`);for(let t=0;tl!==2).map(({state:l})=>({usage:l.candidateUsage,reason:null})));if(a.every(({node:l})=>l===2))throw new Mg(e,a.map(({state:l})=>({usage:l.candidateUsage,reason:l.errorMessage})));i=Zde(a)}if(i.length>0){fn(" Results:");for(let s of i)fn(` - ${s.node} -> ${JSON.stringify(s.state)}`)}else fn(" No results");return i}function zde(r,e){if(e.selectedIndex!==null)return!0;if(Object.prototype.hasOwnProperty.call(r.statics,wi)){for(let{to:t}of r.statics[wi])if(t===1)return!0}return!1}function Vde(r,e,t){let i=t&&e.length>0?[""]:[],n=vH(r,e,t),s=[],o=new Set,a=(l,c,u=!0)=>{let g=[c];for(;g.length>0;){let h=g;g=[];for(let p of h){let C=r.nodes[p],y=Object.keys(C.statics);for(let B of Object.keys(C.statics)){let v=y[0];for(let{to:D,reducer:L}of C.statics[v])L==="pushPath"&&(u||l.push(v),g.push(D))}}u=!1}let f=JSON.stringify(l);o.has(f)||(s.push(l),o.add(f))};for(let{node:l,state:c}of n){if(c.remainder!==null){a([c.remainder],l);continue}let u=r.nodes[l],g=zde(u,c);for(let[f,h]of Object.entries(u.statics))(g&&f!==wi||!f.startsWith("-")&&h.some(({reducer:p})=>p==="pushPath"))&&a([...i,f],l);if(!!g)for(let[f,{to:h}]of u.dynamics){if(h===2)continue;let p=tCe(f,c);if(p!==null)for(let C of p)a([...i,C],l)}}return[...s].sort()}function Xde(r,e){let t=vH(r,[...e,wi]);return _de(e,t.map(({state:i})=>i))}function Zde(r){let e=0;for(let{state:t}of r)t.path.length>e&&(e=t.path.length);return r.filter(({state:t})=>t.path.length===e)}function _de(r,e){let t=e.filter(g=>g.selectedIndex!==null);if(t.length===0)throw new Error;let i=t.filter(g=>g.requiredOptions.every(f=>f.some(h=>g.options.find(p=>p.name===h))));if(i.length===0)throw new Mg(r,t.map(g=>({usage:g.candidateUsage,reason:null})));let n=0;for(let g of i)g.path.length>n&&(n=g.path.length);let s=i.filter(g=>g.path.length===n),o=g=>g.positionals.filter(({extra:f})=>!f).length+g.options.length,a=s.map(g=>({state:g,positionalCount:o(g)})),l=0;for(let{positionalCount:g}of a)g>l&&(l=g);let c=a.filter(({positionalCount:g})=>g===l).map(({state:g})=>g),u=$de(c);if(u.length>1)throw new bI(r,u.map(g=>g.candidateUsage));return u[0]}function $de(r){let e=[],t=[];for(let i of r)i.selectedIndex===-1?t.push(i):e.push(i);return t.length>0&&e.push({...bH,path:xH(...t.map(i=>i.path)),options:t.reduce((i,n)=>i.concat(n.options),[])}),e}function xH(r,e,...t){return e===void 0?Array.from(r):xH(r.filter((i,n)=>i===e[n]),...t)}function Xi(){return{dynamics:[],shortcuts:[],statics:{}}}function PH(r){return r===1||r===2}function cv(r,e=0){return{to:PH(r.to)?r.to:r.to>2?r.to+e-2:r.to+e,reducer:r.reducer}}function eCe(r,e=0){let t=Xi();for(let[i,n]of r.dynamics)t.dynamics.push([i,cv(n,e)]);for(let i of r.shortcuts)t.shortcuts.push(cv(i,e));for(let[i,n]of Object.entries(r.statics))t.statics[i]=n.map(s=>cv(s,e));return t}function Bi(r,e,t,i,n){r.nodes[e].dynamics.push([t,{to:i,reducer:n}])}function Kg(r,e,t,i){r.nodes[e].shortcuts.push({to:t,reducer:i})}function Ba(r,e,t,i,n){(Object.prototype.hasOwnProperty.call(r.nodes[e].statics,t)?r.nodes[e].statics[t]:r.nodes[e].statics[t]=[]).push({to:i,reducer:n})}function xI(r,e,t,i){if(Array.isArray(e)){let[n,...s]=e;return r[n](t,i,...s)}else return r[e](t,i)}function tCe(r,e){let t=Array.isArray(r)?DI[r[0]]:DI[r];if(typeof t.suggest>"u")return null;let i=Array.isArray(r)?r.slice(1):[];return t.suggest(e,...i)}var DI={always:()=>!0,isOptionLike:(r,e)=>!r.ignoreOptions&&e!=="-"&&e.startsWith("-"),isNotOptionLike:(r,e)=>r.ignoreOptions||e==="-"||!e.startsWith("-"),isOption:(r,e,t,i)=>!r.ignoreOptions&&e===t,isBatchOption:(r,e,t)=>!r.ignoreOptions&&hH.test(e)&&[...e.slice(1)].every(i=>t.includes(`-${i}`)),isBoundOption:(r,e,t,i)=>{let n=e.match(iv);return!r.ignoreOptions&&!!n&&QI.test(n[1])&&t.includes(n[1])&&i.filter(s=>s.names.includes(n[1])).every(s=>s.allowBinding)},isNegatedOption:(r,e,t)=>!r.ignoreOptions&&e===`--no-${t.slice(2)}`,isHelp:(r,e)=>!r.ignoreOptions&&rv.test(e),isUnsupportedOption:(r,e,t)=>!r.ignoreOptions&&e.startsWith("-")&&QI.test(e)&&!t.includes(e),isInvalidOption:(r,e)=>!r.ignoreOptions&&e.startsWith("-")&&!QI.test(e)};DI.isOption.suggest=(r,e,t=!0)=>t?null:[e];var uv={setCandidateState:(r,e,t)=>({...r,...t}),setSelectedIndex:(r,e,t)=>({...r,selectedIndex:t}),pushBatch:(r,e)=>({...r,options:r.options.concat([...e.slice(1)].map(t=>({name:`-${t}`,value:!0})))}),pushBound:(r,e)=>{let[,t,i]=e.match(iv);return{...r,options:r.options.concat({name:t,value:i})}},pushPath:(r,e)=>({...r,path:r.path.concat(e)}),pushPositional:(r,e)=>({...r,positionals:r.positionals.concat({value:e,extra:!1})}),pushExtra:(r,e)=>({...r,positionals:r.positionals.concat({value:e,extra:!0})}),pushExtraNoLimits:(r,e)=>({...r,positionals:r.positionals.concat({value:e,extra:Kn})}),pushTrue:(r,e,t=e)=>({...r,options:r.options.concat({name:e,value:!0})}),pushFalse:(r,e,t=e)=>({...r,options:r.options.concat({name:t,value:!1})}),pushUndefined:(r,e)=>({...r,options:r.options.concat({name:e,value:void 0})}),pushStringValue:(r,e)=>{var t;let i={...r,options:[...r.options]},n=r.options[r.options.length-1];return n.value=((t=n.value)!==null&&t!==void 0?t:[]).concat([e]),i},setStringValue:(r,e)=>{let t={...r,options:[...r.options]},i=r.options[r.options.length-1];return i.value=e,t},inhibateOptions:r=>({...r,ignoreOptions:!0}),useHelp:(r,e,t)=>{let[,,i]=e.match(rv);return typeof i<"u"?{...r,options:[{name:"-c",value:String(t)},{name:"-i",value:i}]}:{...r,options:[{name:"-c",value:String(t)}]}},setError:(r,e,t)=>e===wi?{...r,errorMessage:`${t}.`}:{...r,errorMessage:`${t} ("${e}").`},setOptionArityError:(r,e)=>{let t=r.options[r.options.length-1];return{...r,errorMessage:`Not enough arguments to option ${t.name}.`}}},Kn=Symbol(),gv=class{constructor(e,t){this.allOptionNames=[],this.arity={leading:[],trailing:[],extra:[],proxy:!1},this.options=[],this.paths=[],this.cliIndex=e,this.cliOpts=t}addPath(e){this.paths.push(e)}setArity({leading:e=this.arity.leading,trailing:t=this.arity.trailing,extra:i=this.arity.extra,proxy:n=this.arity.proxy}){Object.assign(this.arity,{leading:e,trailing:t,extra:i,proxy:n})}addPositional({name:e="arg",required:t=!0}={}){if(!t&&this.arity.extra===Kn)throw new Error("Optional parameters cannot be declared when using .rest() or .proxy()");if(!t&&this.arity.trailing.length>0)throw new Error("Optional parameters cannot be declared after the required trailing positional arguments");!t&&this.arity.extra!==Kn?this.arity.extra.push(e):this.arity.extra!==Kn&&this.arity.extra.length===0?this.arity.leading.push(e):this.arity.trailing.push(e)}addRest({name:e="arg",required:t=0}={}){if(this.arity.extra===Kn)throw new Error("Infinite lists cannot be declared multiple times in the same command");if(this.arity.trailing.length>0)throw new Error("Infinite lists cannot be declared after the required trailing positional arguments");for(let i=0;i1)throw new Error("The arity cannot be higher than 1 when the option only supports the --arg=value syntax");if(!Number.isInteger(i))throw new Error(`The arity must be an integer, got ${i}`);if(i<0)throw new Error(`The arity must be positive, got ${i}`);this.allOptionNames.push(...e),this.options.push({names:e,description:t,arity:i,hidden:n,required:s,allowBinding:o})}setContext(e){this.context=e}usage({detailed:e=!0,inlineOptions:t=!0}={}){let i=[this.cliOpts.binaryName],n=[];if(this.paths.length>0&&i.push(...this.paths[0]),e){for(let{names:o,arity:a,hidden:l,description:c,required:u}of this.options){if(l)continue;let g=[];for(let h=0;h`:`[${f}]`)}i.push(...this.arity.leading.map(o=>`<${o}>`)),this.arity.extra===Kn?i.push("..."):i.push(...this.arity.extra.map(o=>`[${o}]`)),i.push(...this.arity.trailing.map(o=>`<${o}>`))}return{usage:i.join(" "),options:n}}compile(){if(typeof this.context>"u")throw new Error("Assertion failed: No context attached");let e=SH(),t=0,i=this.usage().usage,n=this.options.filter(a=>a.required).map(a=>a.names);t=zs(e,Xi()),Ba(e,0,tv,t,["setCandidateState",{candidateUsage:i,requiredOptions:n}]);let s=this.arity.proxy?"always":"isNotOptionLike",o=this.paths.length>0?this.paths:[[]];for(let a of o){let l=t;if(a.length>0){let f=zs(e,Xi());Kg(e,l,f),this.registerOptions(e,f),l=f}for(let f=0;f0||!this.arity.proxy){let f=zs(e,Xi());Bi(e,l,"isHelp",f,["useHelp",this.cliIndex]),Ba(e,f,wi,1,["setSelectedIndex",-1]),this.registerOptions(e,l)}this.arity.leading.length>0&&Ba(e,l,wi,2,["setError","Not enough positional arguments"]);let c=l;for(let f=0;f0||f+1!==this.arity.leading.length)&&Ba(e,h,wi,2,["setError","Not enough positional arguments"]),Bi(e,c,"isNotOptionLike",h,"pushPositional"),c=h}let u=c;if(this.arity.extra===Kn||this.arity.extra.length>0){let f=zs(e,Xi());if(Kg(e,c,f),this.arity.extra===Kn){let h=zs(e,Xi());this.arity.proxy||this.registerOptions(e,h),Bi(e,c,s,h,"pushExtraNoLimits"),Bi(e,h,s,h,"pushExtraNoLimits"),Kg(e,h,f)}else for(let h=0;h0&&Ba(e,u,wi,2,["setError","Not enough positional arguments"]);let g=u;for(let f=0;fo.length>s.length?o:s,"");if(i.arity===0)for(let s of i.names)Bi(e,t,["isOption",s,i.hidden||s!==n],t,"pushTrue"),s.startsWith("--")&&!s.startsWith("--no-")&&Bi(e,t,["isNegatedOption",s],t,["pushFalse",s]);else{let s=zs(e,Xi());for(let o of i.names)Bi(e,t,["isOption",o,i.hidden||o!==n],s,"pushUndefined");for(let o=0;o=0&&eXde(i,n),suggest:(n,s)=>Vde(i,n,s)}}};var Gg=class extends ve{constructor(e){super(),this.contexts=e,this.commands=[]}static from(e,t){let i=new Gg(t);i.path=e.path;for(let n of e.options)switch(n.name){case"-c":i.commands.push(Number(n.value));break;case"-i":i.index=Number(n.value);break}return i}async execute(){let e=this.commands;if(typeof this.index<"u"&&this.index>=0&&this.index1){this.context.stdout.write(`Multiple commands match your selection: `),this.context.stdout.write(` `);let t=0;for(let i of this.commands)this.context.stdout.write(this.cli.usage(this.contexts[i].commandClass,{prefix:`${t++}. `.padStart(5)}));this.context.stdout.write(` `),this.context.stdout.write(`Run again with -h= to see the longer details of any of those commands. -`)}}};var iH=Symbol("clipanion/errorCommand");function dde(){return process.env.FORCE_COLOR==="0"?1:process.env.FORCE_COLOR==="1"||typeof process.stdout<"u"&&process.stdout.isTTY?8:1}var Kn=class{constructor({binaryLabel:e,binaryName:t="...",binaryVersion:i,enableCapture:n=!1,enableColors:s}={}){this.registrations=new Map,this.builder=new Ng({binaryName:t}),this.binaryLabel=e,this.binaryName=t,this.binaryVersion=i,this.enableCapture=n,this.enableColors=s}static from(e,t={}){let i=new Kn(t);for(let n of e)i.register(n);return i}register(e){var t;let i=new Map,n=new e;for(let l in n){let c=n[l];typeof c=="object"&&c!==null&&c[ve.isOption]&&i.set(l,c)}let s=this.builder.command(),o=s.cliIndex,a=(t=e.paths)!==null&&t!==void 0?t:n.paths;if(typeof a<"u")for(let l of a)s.addPath(l);this.registrations.set(e,{specs:i,builder:s,index:o});for(let[l,{definition:c}]of i.entries())c(s,l);s.setContext({commandClass:e})}process(e){let{contexts:t,process:i}=this.builder.compile(),n=i(e);switch(n.selectedIndex){case-1:return Lg.from(n,t);default:{let{commandClass:s}=t[n.selectedIndex],o=this.registrations.get(s);if(typeof o>"u")throw new Error("Assertion failed: Expected the command class to have been registered.");let a=new s;a.path=n.path;try{for(let[l,{transformer:c}]of o.specs.entries())a[l]=c(o.builder,l,n);return a}catch(l){throw l[iH]=a,l}}break}}async run(e,t){var i;let n,s={...Kn.defaultContext,...t},o=(i=this.enableColors)!==null&&i!==void 0?i:s.colorDepth>1;if(!Array.isArray(e))n=e;else try{n=this.process(e)}catch(c){return s.stdout.write(this.error(c,{colored:o})),1}if(n.help)return s.stdout.write(this.usage(n,{colored:o,detailed:!0})),0;n.context=s,n.cli={binaryLabel:this.binaryLabel,binaryName:this.binaryName,binaryVersion:this.binaryVersion,enableCapture:this.enableCapture,enableColors:this.enableColors,definitions:()=>this.definitions(),error:(c,u)=>this.error(c,u),format:c=>this.format(c),process:c=>this.process(c),run:(c,u)=>this.run(c,{...s,...u}),usage:(c,u)=>this.usage(c,u)};let a=this.enableCapture?Cde(s):sH,l;try{l=await a(()=>n.validateAndExecute().catch(c=>n.catch(c).then(()=>0)))}catch(c){return s.stdout.write(this.error(c,{colored:o,command:n})),1}return l}async runExit(e,t){process.exitCode=await this.run(e,t)}suggest(e,t){let{suggest:i}=this.builder.compile();return i(e,t)}definitions({colored:e=!1}={}){let t=[];for(let[i,{index:n}]of this.registrations){if(typeof i.usage>"u")continue;let{usage:s}=this.getUsageByIndex(n,{detailed:!1}),{usage:o,options:a}=this.getUsageByIndex(n,{detailed:!0,inlineOptions:!1}),l=typeof i.usage.category<"u"?Ni(i.usage.category,{format:this.format(e),paragraphs:!1}):void 0,c=typeof i.usage.description<"u"?Ni(i.usage.description,{format:this.format(e),paragraphs:!1}):void 0,u=typeof i.usage.details<"u"?Ni(i.usage.details,{format:this.format(e),paragraphs:!0}):void 0,g=typeof i.usage.examples<"u"?i.usage.examples.map(([f,h])=>[Ni(f,{format:this.format(e),paragraphs:!1}),h.replace(/\$0/g,this.binaryName)]):void 0;t.push({path:s,usage:o,category:l,description:c,details:u,examples:g,options:a})}return t}usage(e=null,{colored:t,detailed:i=!1,prefix:n="$ "}={}){var s;if(e===null){for(let l of this.registrations.keys()){let c=l.paths,u=typeof l.usage<"u";if(!c||c.length===0||c.length===1&&c[0].length===0||((s=c==null?void 0:c.some(h=>h.length===0))!==null&&s!==void 0?s:!1))if(e){e=null;break}else e=l;else if(u){e=null;continue}}e&&(i=!0)}let o=e!==null&&e instanceof ve?e.constructor:e,a="";if(o)if(i){let{description:l="",details:c="",examples:u=[]}=o.usage||{};l!==""&&(a+=Ni(l,{format:this.format(t),paragraphs:!1}).replace(/^./,h=>h.toUpperCase()),a+=` +`)}}};var DH=Symbol("clipanion/errorCommand");function rCe(){return process.env.FORCE_COLOR==="0"?1:process.env.FORCE_COLOR==="1"||typeof process.stdout<"u"&&process.stdout.isTTY?8:1}var Un=class{constructor({binaryLabel:e,binaryName:t="...",binaryVersion:i,enableCapture:n=!1,enableColors:s}={}){this.registrations=new Map,this.builder=new Hg({binaryName:t}),this.binaryLabel=e,this.binaryName=t,this.binaryVersion=i,this.enableCapture=n,this.enableColors=s}static from(e,t={}){let i=new Un(t);for(let n of e)i.register(n);return i}register(e){var t;let i=new Map,n=new e;for(let l in n){let c=n[l];typeof c=="object"&&c!==null&&c[ve.isOption]&&i.set(l,c)}let s=this.builder.command(),o=s.cliIndex,a=(t=e.paths)!==null&&t!==void 0?t:n.paths;if(typeof a<"u")for(let l of a)s.addPath(l);this.registrations.set(e,{specs:i,builder:s,index:o});for(let[l,{definition:c}]of i.entries())c(s,l);s.setContext({commandClass:e})}process(e){let{contexts:t,process:i}=this.builder.compile(),n=i(e);switch(n.selectedIndex){case-1:return Gg.from(n,t);default:{let{commandClass:s}=t[n.selectedIndex],o=this.registrations.get(s);if(typeof o>"u")throw new Error("Assertion failed: Expected the command class to have been registered.");let a=new s;a.path=n.path;try{for(let[l,{transformer:c}]of o.specs.entries())a[l]=c(o.builder,l,n);return a}catch(l){throw l[DH]=a,l}}break}}async run(e,t){var i;let n,s={...Un.defaultContext,...t},o=(i=this.enableColors)!==null&&i!==void 0?i:s.colorDepth>1;if(!Array.isArray(e))n=e;else try{n=this.process(e)}catch(c){return s.stdout.write(this.error(c,{colored:o})),1}if(n.help)return s.stdout.write(this.usage(n,{colored:o,detailed:!0})),0;n.context=s,n.cli={binaryLabel:this.binaryLabel,binaryName:this.binaryName,binaryVersion:this.binaryVersion,enableCapture:this.enableCapture,enableColors:this.enableColors,definitions:()=>this.definitions(),error:(c,u)=>this.error(c,u),format:c=>this.format(c),process:c=>this.process(c),run:(c,u)=>this.run(c,{...s,...u}),usage:(c,u)=>this.usage(c,u)};let a=this.enableCapture?iCe(s):RH,l;try{l=await a(()=>n.validateAndExecute().catch(c=>n.catch(c).then(()=>0)))}catch(c){return s.stdout.write(this.error(c,{colored:o,command:n})),1}return l}async runExit(e,t){process.exitCode=await this.run(e,t)}suggest(e,t){let{suggest:i}=this.builder.compile();return i(e,t)}definitions({colored:e=!1}={}){let t=[];for(let[i,{index:n}]of this.registrations){if(typeof i.usage>"u")continue;let{usage:s}=this.getUsageByIndex(n,{detailed:!1}),{usage:o,options:a}=this.getUsageByIndex(n,{detailed:!0,inlineOptions:!1}),l=typeof i.usage.category<"u"?Li(i.usage.category,{format:this.format(e),paragraphs:!1}):void 0,c=typeof i.usage.description<"u"?Li(i.usage.description,{format:this.format(e),paragraphs:!1}):void 0,u=typeof i.usage.details<"u"?Li(i.usage.details,{format:this.format(e),paragraphs:!0}):void 0,g=typeof i.usage.examples<"u"?i.usage.examples.map(([f,h])=>[Li(f,{format:this.format(e),paragraphs:!1}),h.replace(/\$0/g,this.binaryName)]):void 0;t.push({path:s,usage:o,category:l,description:c,details:u,examples:g,options:a})}return t}usage(e=null,{colored:t,detailed:i=!1,prefix:n="$ "}={}){var s;if(e===null){for(let l of this.registrations.keys()){let c=l.paths,u=typeof l.usage<"u";if(!c||c.length===0||c.length===1&&c[0].length===0||((s=c==null?void 0:c.some(h=>h.length===0))!==null&&s!==void 0?s:!1))if(e){e=null;break}else e=l;else if(u){e=null;continue}}e&&(i=!0)}let o=e!==null&&e instanceof ve?e.constructor:e,a="";if(o)if(i){let{description:l="",details:c="",examples:u=[]}=o.usage||{};l!==""&&(a+=Li(l,{format:this.format(t),paragraphs:!1}).replace(/^./,h=>h.toUpperCase()),a+=` `),(c!==""||u.length>0)&&(a+=`${this.format(t).header("Usage")} `,a+=` `);let{usage:g,options:f}=this.getUsageByRegistration(o,{inlineOptions:!1});if(a+=`${this.format(t).bold(n)}${g} `,f.length>0){a+=` -`,a+=`${zS.header("Options")} +`,a+=`${lv.header("Options")} `;let h=f.reduce((p,C)=>Math.max(p,C.definition.length),0);a+=` -`;for(let{definition:p,description:C}of f)a+=` ${this.format(t).bold(p.padEnd(h))} ${Ni(C,{format:this.format(t),paragraphs:!1})}`}if(c!==""&&(a+=` +`;for(let{definition:p,description:C}of f)a+=` ${this.format(t).bold(p.padEnd(h))} ${Li(C,{format:this.format(t),paragraphs:!1})}`}if(c!==""&&(a+=` `,a+=`${this.format(t).header("Details")} `,a+=` -`,a+=Ni(c,{format:this.format(t),paragraphs:!0})),u.length>0){a+=` +`,a+=Li(c,{format:this.format(t),paragraphs:!0})),u.length>0){a+=` `,a+=`${this.format(t).header("Examples")} `;for(let[h,p]of u)a+=` -`,a+=Ni(h,{format:this.format(t),paragraphs:!1}),a+=`${p.replace(/^/m,` ${this.format(t).bold(n)}`).replace(/\$0/g,this.binaryName)} +`,a+=Li(h,{format:this.format(t),paragraphs:!1}),a+=`${p.replace(/^/m,` ${this.format(t).bold(n)}`).replace(/\$0/g,this.binaryName)} `}}else{let{usage:l}=this.getUsageByRegistration(o);a+=`${this.format(t).bold(n)}${l} -`}else{let l=new Map;for(let[f,{index:h}]of this.registrations.entries()){if(typeof f.usage>"u")continue;let p=typeof f.usage.category<"u"?Ni(f.usage.category,{format:this.format(t),paragraphs:!1}):null,C=l.get(p);typeof C>"u"&&l.set(p,C=[]);let{usage:y}=this.getUsageByIndex(h);C.push({commandClass:f,usage:y})}let c=Array.from(l.keys()).sort((f,h)=>f===null?-1:h===null?1:f.localeCompare(h,"en",{usage:"sort",caseFirst:"upper"})),u=typeof this.binaryLabel<"u",g=typeof this.binaryVersion<"u";u||g?(u&&g?a+=`${this.format(t).header(`${this.binaryLabel} - ${this.binaryVersion}`)} +`}else{let l=new Map;for(let[f,{index:h}]of this.registrations.entries()){if(typeof f.usage>"u")continue;let p=typeof f.usage.category<"u"?Li(f.usage.category,{format:this.format(t),paragraphs:!1}):null,C=l.get(p);typeof C>"u"&&l.set(p,C=[]);let{usage:y}=this.getUsageByIndex(h);C.push({commandClass:f,usage:y})}let c=Array.from(l.keys()).sort((f,h)=>f===null?-1:h===null?1:f.localeCompare(h,"en",{usage:"sort",caseFirst:"upper"})),u=typeof this.binaryLabel<"u",g=typeof this.binaryVersion<"u";u||g?(u&&g?a+=`${this.format(t).header(`${this.binaryLabel} - ${this.binaryVersion}`)} `:u?a+=`${this.format(t).header(`${this.binaryLabel}`)} `:a+=`${this.format(t).header(`${this.binaryVersion}`)} @@ -381,100 +381,100 @@ ${e.map(t=>` `,a+=`${this.format(t).header(`${p}`)} `;for(let{commandClass:C,usage:y}of h){let B=C.usage.description||"undocumented";a+=` `,a+=` ${this.format(t).bold(y)} -`,a+=` ${Ni(B,{format:this.format(t),paragraphs:!1})}`}}a+=` -`,a+=Ni("You can also print more details about any of these commands by calling them with the `-h,--help` flag right after the command name.",{format:this.format(t),paragraphs:!0})}return a}error(e,t){var i,{colored:n,command:s=(i=e[iH])!==null&&i!==void 0?i:null}=t===void 0?{}:t;e instanceof Error||(e=new Error(`Execution failed with a non-error rejection (rejected value: ${JSON.stringify(e)})`));let o="",a=e.name.replace(/([a-z])([A-Z])/g,"$1 $2");a==="Error"&&(a="Internal Error"),o+=`${this.format(n).error(a)}: ${e.message} +`,a+=` ${Li(B,{format:this.format(t),paragraphs:!1})}`}}a+=` +`,a+=Li("You can also print more details about any of these commands by calling them with the `-h,--help` flag right after the command name.",{format:this.format(t),paragraphs:!0})}return a}error(e,t){var i,{colored:n,command:s=(i=e[DH])!==null&&i!==void 0?i:null}=t===void 0?{}:t;e instanceof Error||(e=new Error(`Execution failed with a non-error rejection (rejected value: ${JSON.stringify(e)})`));let o="",a=e.name.replace(/([a-z])([A-Z])/g,"$1 $2");a==="Error"&&(a="Internal Error"),o+=`${this.format(n).error(a)}: ${e.message} `;let l=e.clipanion;return typeof l<"u"?l.type==="usage"&&(o+=` `,o+=this.usage(s)):e.stack&&(o+=`${e.stack.replace(/^.*\n/,"")} -`),o}format(e){var t;return((t=e!=null?e:this.enableColors)!==null&&t!==void 0?t:Kn.defaultContext.colorDepth>1)?zS:_2}getUsageByRegistration(e,t){let i=this.registrations.get(e);if(typeof i>"u")throw new Error("Assertion failed: Unregistered command");return this.getUsageByIndex(i.index,t)}getUsageByIndex(e,t){return this.builder.getBuilderByIndex(e).usage(t)}};Kn.defaultContext={stdin:process.stdin,stdout:process.stdout,stderr:process.stderr,colorDepth:"getColorDepth"in ZS.default.WriteStream.prototype?ZS.default.WriteStream.prototype.getColorDepth():dde()};var nH;function Cde(r){let e=nH;if(typeof e>"u"){if(r.stdout===process.stdout&&r.stderr===process.stderr)return sH;let{AsyncLocalStorage:t}=J("async_hooks");e=nH=new t;let i=process.stdout._write;process.stdout._write=function(s,o,a){let l=e.getStore();return typeof l>"u"?i.call(this,s,o,a):l.stdout.write(s,o,a)};let n=process.stderr._write;process.stderr._write=function(s,o,a){let l=e.getStore();return typeof l>"u"?n.call(this,s,o,a):l.stderr.write(s,o,a)}}return t=>e.run(r,t)}function sH(r){return r()}var $S={};ut($S,{DefinitionsCommand:()=>Xp,HelpCommand:()=>_p,VersionCommand:()=>Zp});var Xp=class extends ve{async execute(){this.context.stdout.write(`${JSON.stringify(this.cli.definitions(),null,2)} -`)}};Xp.paths=[["--clipanion=definitions"]];var _p=class extends ve{async execute(){this.context.stdout.write(this.cli.usage())}};_p.paths=[["-h"],["--help"]];var Zp=class extends ve{async execute(){var e;this.context.stdout.write(`${(e=this.cli.binaryVersion)!==null&&e!==void 0?e:""} -`)}};Zp.paths=[["-v"],["--version"]];var z={};ut(z,{Array:()=>oH,Boolean:()=>aH,Counter:()=>AH,Proxy:()=>lH,Rest:()=>cH,String:()=>uH,applyValidator:()=>Jp,cleanValidationError:()=>mI,formatError:()=>qp,isOptionSymbol:()=>jp,makeCommandOption:()=>Ji,rerouteArguments:()=>bo});function oH(r,e,t){let[i,n]=bo(e,t!=null?t:{}),{arity:s=1}=n,o=r.split(","),a=new Set(o);return Ji({definition(l){l.addOption({names:o,arity:s,hidden:n==null?void 0:n.hidden,description:n==null?void 0:n.description,required:n.required})},transformer(l,c,u){let g=typeof i<"u"?[...i]:void 0;for(let{name:f,value:h}of u.options)!a.has(f)||(g=g!=null?g:[],g.push(h));return g}})}function aH(r,e,t){let[i,n]=bo(e,t!=null?t:{}),s=r.split(","),o=new Set(s);return Ji({definition(a){a.addOption({names:s,allowBinding:!1,arity:0,hidden:n.hidden,description:n.description,required:n.required})},transformer(a,l,c){let u=i;for(let{name:g,value:f}of c.options)!o.has(g)||(u=f);return u}})}function AH(r,e,t){let[i,n]=bo(e,t!=null?t:{}),s=r.split(","),o=new Set(s);return Ji({definition(a){a.addOption({names:s,allowBinding:!1,arity:0,hidden:n.hidden,description:n.description,required:n.required})},transformer(a,l,c){let u=i;for(let{name:g,value:f}of c.options)!o.has(g)||(u!=null||(u=0),f?u+=1:u=0);return u}})}function lH(r={}){return Ji({definition(e,t){var i;e.addProxy({name:(i=r.name)!==null&&i!==void 0?i:t,required:r.required})},transformer(e,t,i){return i.positionals.map(({value:n})=>n)}})}function cH(r={}){return Ji({definition(e,t){var i;e.addRest({name:(i=r.name)!==null&&i!==void 0?i:t,required:r.required})},transformer(e,t,i){let n=o=>{let a=i.positionals[o];return a.extra===Mn||a.extra===!1&&oo)}})}function mde(r,e,t){let[i,n]=bo(e,t!=null?t:{}),{arity:s=1}=n,o=r.split(","),a=new Set(o);return Ji({definition(l){l.addOption({names:o,arity:n.tolerateBoolean?0:s,hidden:n.hidden,description:n.description,required:n.required})},transformer(l,c,u){let g,f=i;for(let{name:h,value:p}of u.options)!a.has(h)||(g=h,f=p);return typeof f=="string"?Jp(g!=null?g:c,f,n.validator):f}})}function Ede(r={}){let{required:e=!0}=r;return Ji({definition(t,i){var n;t.addPositional({name:(n=r.name)!==null&&n!==void 0?n:i,required:r.required})},transformer(t,i,n){var s;for(let o=0;o(se[se.UNNAMED=0]="UNNAMED",se[se.EXCEPTION=1]="EXCEPTION",se[se.MISSING_PEER_DEPENDENCY=2]="MISSING_PEER_DEPENDENCY",se[se.CYCLIC_DEPENDENCIES=3]="CYCLIC_DEPENDENCIES",se[se.DISABLED_BUILD_SCRIPTS=4]="DISABLED_BUILD_SCRIPTS",se[se.BUILD_DISABLED=5]="BUILD_DISABLED",se[se.SOFT_LINK_BUILD=6]="SOFT_LINK_BUILD",se[se.MUST_BUILD=7]="MUST_BUILD",se[se.MUST_REBUILD=8]="MUST_REBUILD",se[se.BUILD_FAILED=9]="BUILD_FAILED",se[se.RESOLVER_NOT_FOUND=10]="RESOLVER_NOT_FOUND",se[se.FETCHER_NOT_FOUND=11]="FETCHER_NOT_FOUND",se[se.LINKER_NOT_FOUND=12]="LINKER_NOT_FOUND",se[se.FETCH_NOT_CACHED=13]="FETCH_NOT_CACHED",se[se.YARN_IMPORT_FAILED=14]="YARN_IMPORT_FAILED",se[se.REMOTE_INVALID=15]="REMOTE_INVALID",se[se.REMOTE_NOT_FOUND=16]="REMOTE_NOT_FOUND",se[se.RESOLUTION_PACK=17]="RESOLUTION_PACK",se[se.CACHE_CHECKSUM_MISMATCH=18]="CACHE_CHECKSUM_MISMATCH",se[se.UNUSED_CACHE_ENTRY=19]="UNUSED_CACHE_ENTRY",se[se.MISSING_LOCKFILE_ENTRY=20]="MISSING_LOCKFILE_ENTRY",se[se.WORKSPACE_NOT_FOUND=21]="WORKSPACE_NOT_FOUND",se[se.TOO_MANY_MATCHING_WORKSPACES=22]="TOO_MANY_MATCHING_WORKSPACES",se[se.CONSTRAINTS_MISSING_DEPENDENCY=23]="CONSTRAINTS_MISSING_DEPENDENCY",se[se.CONSTRAINTS_INCOMPATIBLE_DEPENDENCY=24]="CONSTRAINTS_INCOMPATIBLE_DEPENDENCY",se[se.CONSTRAINTS_EXTRANEOUS_DEPENDENCY=25]="CONSTRAINTS_EXTRANEOUS_DEPENDENCY",se[se.CONSTRAINTS_INVALID_DEPENDENCY=26]="CONSTRAINTS_INVALID_DEPENDENCY",se[se.CANT_SUGGEST_RESOLUTIONS=27]="CANT_SUGGEST_RESOLUTIONS",se[se.FROZEN_LOCKFILE_EXCEPTION=28]="FROZEN_LOCKFILE_EXCEPTION",se[se.CROSS_DRIVE_VIRTUAL_LOCAL=29]="CROSS_DRIVE_VIRTUAL_LOCAL",se[se.FETCH_FAILED=30]="FETCH_FAILED",se[se.DANGEROUS_NODE_MODULES=31]="DANGEROUS_NODE_MODULES",se[se.NODE_GYP_INJECTED=32]="NODE_GYP_INJECTED",se[se.AUTHENTICATION_NOT_FOUND=33]="AUTHENTICATION_NOT_FOUND",se[se.INVALID_CONFIGURATION_KEY=34]="INVALID_CONFIGURATION_KEY",se[se.NETWORK_ERROR=35]="NETWORK_ERROR",se[se.LIFECYCLE_SCRIPT=36]="LIFECYCLE_SCRIPT",se[se.CONSTRAINTS_MISSING_FIELD=37]="CONSTRAINTS_MISSING_FIELD",se[se.CONSTRAINTS_INCOMPATIBLE_FIELD=38]="CONSTRAINTS_INCOMPATIBLE_FIELD",se[se.CONSTRAINTS_EXTRANEOUS_FIELD=39]="CONSTRAINTS_EXTRANEOUS_FIELD",se[se.CONSTRAINTS_INVALID_FIELD=40]="CONSTRAINTS_INVALID_FIELD",se[se.AUTHENTICATION_INVALID=41]="AUTHENTICATION_INVALID",se[se.PROLOG_UNKNOWN_ERROR=42]="PROLOG_UNKNOWN_ERROR",se[se.PROLOG_SYNTAX_ERROR=43]="PROLOG_SYNTAX_ERROR",se[se.PROLOG_EXISTENCE_ERROR=44]="PROLOG_EXISTENCE_ERROR",se[se.STACK_OVERFLOW_RESOLUTION=45]="STACK_OVERFLOW_RESOLUTION",se[se.AUTOMERGE_FAILED_TO_PARSE=46]="AUTOMERGE_FAILED_TO_PARSE",se[se.AUTOMERGE_IMMUTABLE=47]="AUTOMERGE_IMMUTABLE",se[se.AUTOMERGE_SUCCESS=48]="AUTOMERGE_SUCCESS",se[se.AUTOMERGE_REQUIRED=49]="AUTOMERGE_REQUIRED",se[se.DEPRECATED_CLI_SETTINGS=50]="DEPRECATED_CLI_SETTINGS",se[se.PLUGIN_NAME_NOT_FOUND=51]="PLUGIN_NAME_NOT_FOUND",se[se.INVALID_PLUGIN_REFERENCE=52]="INVALID_PLUGIN_REFERENCE",se[se.CONSTRAINTS_AMBIGUITY=53]="CONSTRAINTS_AMBIGUITY",se[se.CACHE_OUTSIDE_PROJECT=54]="CACHE_OUTSIDE_PROJECT",se[se.IMMUTABLE_INSTALL=55]="IMMUTABLE_INSTALL",se[se.IMMUTABLE_CACHE=56]="IMMUTABLE_CACHE",se[se.INVALID_MANIFEST=57]="INVALID_MANIFEST",se[se.PACKAGE_PREPARATION_FAILED=58]="PACKAGE_PREPARATION_FAILED",se[se.INVALID_RANGE_PEER_DEPENDENCY=59]="INVALID_RANGE_PEER_DEPENDENCY",se[se.INCOMPATIBLE_PEER_DEPENDENCY=60]="INCOMPATIBLE_PEER_DEPENDENCY",se[se.DEPRECATED_PACKAGE=61]="DEPRECATED_PACKAGE",se[se.INCOMPATIBLE_OS=62]="INCOMPATIBLE_OS",se[se.INCOMPATIBLE_CPU=63]="INCOMPATIBLE_CPU",se[se.FROZEN_ARTIFACT_EXCEPTION=64]="FROZEN_ARTIFACT_EXCEPTION",se[se.TELEMETRY_NOTICE=65]="TELEMETRY_NOTICE",se[se.PATCH_HUNK_FAILED=66]="PATCH_HUNK_FAILED",se[se.INVALID_CONFIGURATION_VALUE=67]="INVALID_CONFIGURATION_VALUE",se[se.UNUSED_PACKAGE_EXTENSION=68]="UNUSED_PACKAGE_EXTENSION",se[se.REDUNDANT_PACKAGE_EXTENSION=69]="REDUNDANT_PACKAGE_EXTENSION",se[se.AUTO_NM_SUCCESS=70]="AUTO_NM_SUCCESS",se[se.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK=71]="NM_CANT_INSTALL_EXTERNAL_SOFT_LINK",se[se.NM_PRESERVE_SYMLINKS_REQUIRED=72]="NM_PRESERVE_SYMLINKS_REQUIRED",se[se.UPDATE_LOCKFILE_ONLY_SKIP_LINK=73]="UPDATE_LOCKFILE_ONLY_SKIP_LINK",se[se.NM_HARDLINKS_MODE_DOWNGRADED=74]="NM_HARDLINKS_MODE_DOWNGRADED",se[se.PROLOG_INSTANTIATION_ERROR=75]="PROLOG_INSTANTIATION_ERROR",se[se.INCOMPATIBLE_ARCHITECTURE=76]="INCOMPATIBLE_ARCHITECTURE",se[se.GHOST_ARCHITECTURE=77]="GHOST_ARCHITECTURE",se[se.PROLOG_LIMIT_EXCEEDED=79]="PROLOG_LIMIT_EXCEEDED",se))(Ct||{});function QA(r){return`YN${r.toString(10).padStart(4,"0")}`}function QI(r){let e=Number(r.slice(2));if(typeof Ct[e]>"u")throw new Error(`Unknown message name: "${r}"`);return e}var P={};ut(P,{areDescriptorsEqual:()=>V4,areIdentsEqual:()=>zd,areLocatorsEqual:()=>Vd,areVirtualPackagesEquivalent:()=>jbe,bindDescriptor:()=>Gbe,bindLocator:()=>Ybe,convertDescriptorToLocator:()=>fw,convertLocatorToDescriptor:()=>bD,convertPackageToLocator:()=>Hbe,convertToIdent:()=>Ube,convertToManifestRange:()=>Wbe,copyPackage:()=>qd,devirtualizeDescriptor:()=>Jd,devirtualizeLocator:()=>Wd,getIdentVendorPath:()=>PD,isPackageCompatible:()=>mw,isVirtualDescriptor:()=>OA,isVirtualLocator:()=>Uo,makeDescriptor:()=>Zt,makeIdent:()=>Ho,makeLocator:()=>$i,makeRange:()=>pw,parseDescriptor:()=>MA,parseFileStyleRange:()=>qbe,parseIdent:()=>_i,parseLocator:()=>Cc,parseRange:()=>Cf,prettyDependent:()=>Gx,prettyDescriptor:()=>tr,prettyIdent:()=>Ai,prettyLocator:()=>mt,prettyLocatorNoColors:()=>xD,prettyRange:()=>Cw,prettyReference:()=>_d,prettyResolution:()=>Hx,prettyWorkspace:()=>Zd,renamePackage:()=>jd,slugifyIdent:()=>QD,slugifyLocator:()=>mf,sortDescriptors:()=>Ef,stringifyDescriptor:()=>Qn,stringifyIdent:()=>Ot,stringifyLocator:()=>hs,tryParseDescriptor:()=>Xd,tryParseIdent:()=>X4,tryParseLocator:()=>hw,virtualizeDescriptor:()=>SD,virtualizePackage:()=>vD});var df=Pe(J("querystring")),J4=Pe(Xr()),W4=Pe(Uq());var ee={};ut(ee,{LogLevel:()=>Oy,Style:()=>Tx,Type:()=>Ue,addLogFilterSupport:()=>Kd,applyColor:()=>Bn,applyHyperlink:()=>cf,applyStyle:()=>Ty,json:()=>cc,jsonOrPretty:()=>wBe,mark:()=>Ux,pretty:()=>Ze,prettyField:()=>Oo,prettyList:()=>Kx,supportsColor:()=>Ly,supportsHyperlinks:()=>Mx,tuple:()=>eo});var Md=Pe(ax()),Od=Pe(Vl());var MW=Pe(yn()),KW=Pe(vW());var Ie={};ut(Ie,{AsyncActions:()=>Sx,BufferStream:()=>bx,CachingStrategy:()=>TW,DefaultStream:()=>vx,allSettledSafe:()=>$s,assertNever:()=>Px,bufferStream:()=>af,buildIgnorePattern:()=>mBe,convertMapsToIndexableObjects:()=>Fy,dynamicRequire:()=>Af,escapeRegExp:()=>gBe,getArrayWithDefault:()=>nf,getFactoryWithDefault:()=>xa,getMapWithDefault:()=>sf,getSetWithDefault:()=>lc,isIndexableObject:()=>Qx,isPathLike:()=>EBe,isTaggedYarnVersion:()=>uBe,mapAndFilter:()=>To,mapAndFind:()=>Ld,overrideType:()=>fBe,parseBoolean:()=>Td,parseOptionalBoolean:()=>OW,prettifyAsyncErrors:()=>of,prettifySyncErrors:()=>Dx,releaseAfterUseAsync:()=>pBe,replaceEnvVariables:()=>kx,sortMap:()=>wn,tryParseOptionalBoolean:()=>Rx,validateEnum:()=>hBe});var PW=Pe(yn()),DW=Pe(Tg()),kW=Pe(Xr()),xx=J("stream");function uBe(r){return!!(kW.default.valid(r)&&r.match(/^[^-]+(-rc\.[0-9]+)?$/))}function gBe(r){return r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function fBe(r){}function Px(r){throw new Error(`Assertion failed: Unexpected object '${r}'`)}function hBe(r,e){let t=Object.values(r);if(!t.includes(e))throw new be(`Invalid value for enumeration: ${JSON.stringify(e)} (expected one of ${t.map(i=>JSON.stringify(i)).join(", ")})`);return e}function To(r,e){let t=[];for(let i of r){let n=e(i);n!==RW&&t.push(n)}return t}var RW=Symbol();To.skip=RW;function Ld(r,e){for(let t of r){let i=e(t);if(i!==FW)return i}}var FW=Symbol();Ld.skip=FW;function Qx(r){return typeof r=="object"&&r!==null}async function $s(r){let e=await Promise.allSettled(r),t=[];for(let i of e){if(i.status==="rejected")throw i.reason;t.push(i.value)}return t}function Fy(r){if(r instanceof Map&&(r=Object.fromEntries(r)),Qx(r))for(let e of Object.keys(r)){let t=r[e];Qx(t)&&(r[e]=Fy(t))}return r}function xa(r,e,t){let i=r.get(e);return typeof i>"u"&&r.set(e,i=t()),i}function nf(r,e){let t=r.get(e);return typeof t>"u"&&r.set(e,t=[]),t}function lc(r,e){let t=r.get(e);return typeof t>"u"&&r.set(e,t=new Set),t}function sf(r,e){let t=r.get(e);return typeof t>"u"&&r.set(e,t=new Map),t}async function pBe(r,e){if(e==null)return await r();try{return await r()}finally{await e()}}async function of(r,e){try{return await r()}catch(t){throw t.message=e(t.message),t}}function Dx(r,e){try{return r()}catch(t){throw t.message=e(t.message),t}}async function af(r){return await new Promise((e,t)=>{let i=[];r.on("error",n=>{t(n)}),r.on("data",n=>{i.push(n)}),r.on("end",()=>{e(Buffer.concat(i))})})}var bx=class extends xx.Transform{constructor(){super(...arguments);this.chunks=[]}_transform(t,i,n){if(i!=="buffer"||!Buffer.isBuffer(t))throw new Error("Assertion failed: BufferStream only accept buffers");this.chunks.push(t),n(null,null)}_flush(t){t(null,Buffer.concat(this.chunks))}};function dBe(){let r,e;return{promise:new Promise((i,n)=>{r=i,e=n}),resolve:r,reject:e}}var Sx=class{constructor(e){this.deferred=new Map;this.promises=new Map;this.limit=(0,DW.default)(e)}set(e,t){let i=this.deferred.get(e);typeof i>"u"&&this.deferred.set(e,i=dBe());let n=this.limit(()=>t());return this.promises.set(e,n),n.then(()=>{this.promises.get(e)===n&&i.resolve()},s=>{this.promises.get(e)===n&&i.reject(s)}),i.promise}reduce(e,t){var n;let i=(n=this.promises.get(e))!=null?n:Promise.resolve();this.set(e,()=>t(i))}async wait(){await Promise.all(this.promises.values())}},vx=class extends xx.Transform{constructor(t=Buffer.alloc(0)){super();this.active=!0;this.ifEmpty=t}_transform(t,i,n){if(i!=="buffer"||!Buffer.isBuffer(t))throw new Error("Assertion failed: DefaultStream only accept buffers");this.active=!1,n(null,t)}_flush(t){this.active&&this.ifEmpty.length>0?t(null,this.ifEmpty):t(null)}},Nd=eval("require");function NW(r){return Nd(K.fromPortablePath(r))}function LW(path){let physicalPath=K.fromPortablePath(path),currentCacheEntry=Nd.cache[physicalPath];delete Nd.cache[physicalPath];let result;try{result=NW(physicalPath);let freshCacheEntry=Nd.cache[physicalPath],dynamicModule=eval("module"),freshCacheIndex=dynamicModule.children.indexOf(freshCacheEntry);freshCacheIndex!==-1&&dynamicModule.children.splice(freshCacheIndex,1)}finally{Nd.cache[physicalPath]=currentCacheEntry}return result}var xW=new Map;function CBe(r){let e=xW.get(r),t=M.statSync(r);if((e==null?void 0:e.mtime)===t.mtimeMs)return e.instance;let i=LW(r);return xW.set(r,{mtime:t.mtimeMs,instance:i}),i}var TW=(i=>(i[i.NoCache=0]="NoCache",i[i.FsTime=1]="FsTime",i[i.Node=2]="Node",i))(TW||{});function Af(r,{cachingStrategy:e=2}={}){switch(e){case 0:return LW(r);case 1:return CBe(r);case 2:return NW(r);default:throw new Error("Unsupported caching strategy")}}function wn(r,e){let t=Array.from(r);Array.isArray(e)||(e=[e]);let i=[];for(let s of e)i.push(t.map(o=>s(o)));let n=t.map((s,o)=>o);return n.sort((s,o)=>{for(let a of i){let l=a[s]a[o]?1:0;if(l!==0)return l}return 0}),n.map(s=>t[s])}function mBe(r){return r.length===0?null:r.map(e=>`(${PW.default.makeRe(e,{windows:!1,dot:!0}).source})`).join("|")}function kx(r,{env:e}){let t=/\${(?[\d\w_]+)(?:)?(?:-(?[^}]*))?}/g;return r.replace(t,(...i)=>{let{variableName:n,colon:s,fallback:o}=i[i.length-1],a=Object.prototype.hasOwnProperty.call(e,n),l=e[n];if(l||a&&!s)return l;if(o!=null)return o;throw new be(`Environment variable not found (${n})`)})}function Td(r){switch(r){case"true":case"1":case 1:case!0:return!0;case"false":case"0":case 0:case!1:return!1;default:throw new Error(`Couldn't parse "${r}" as a boolean`)}}function OW(r){return typeof r>"u"?r:Td(r)}function Rx(r){try{return OW(r)}catch{return null}}function EBe(r){return!!(K.isAbsolute(r)||r.match(/^(\.{1,2}|~)\//))}var lf=(t=>(t.HARD="HARD",t.SOFT="SOFT",t))(lf||{}),Fx=(i=>(i.Dependency="Dependency",i.PeerDependency="PeerDependency",i.PeerDependencyMeta="PeerDependencyMeta",i))(Fx||{}),Nx=(i=>(i.Inactive="inactive",i.Redundant="redundant",i.Active="active",i))(Nx||{});var Ue={NO_HINT:"NO_HINT",NULL:"NULL",SCOPE:"SCOPE",NAME:"NAME",RANGE:"RANGE",REFERENCE:"REFERENCE",NUMBER:"NUMBER",PATH:"PATH",URL:"URL",ADDED:"ADDED",REMOVED:"REMOVED",CODE:"CODE",DURATION:"DURATION",SIZE:"SIZE",IDENT:"IDENT",DESCRIPTOR:"DESCRIPTOR",LOCATOR:"LOCATOR",RESOLUTION:"RESOLUTION",DEPENDENT:"DEPENDENT",PACKAGE_EXTENSION:"PACKAGE_EXTENSION",SETTING:"SETTING",MARKDOWN:"MARKDOWN"},Tx=(e=>(e[e.BOLD=2]="BOLD",e))(Tx||{}),Ox=Od.default.GITHUB_ACTIONS?{level:2}:Md.default.supportsColor?{level:Md.default.supportsColor.level}:{level:0},Ly=Ox.level!==0,Mx=Ly&&!Od.default.GITHUB_ACTIONS&&!Od.default.CIRCLE&&!Od.default.GITLAB,Lx=new Md.default.Instance(Ox),IBe=new Map([[Ue.NO_HINT,null],[Ue.NULL,["#a853b5",129]],[Ue.SCOPE,["#d75f00",166]],[Ue.NAME,["#d7875f",173]],[Ue.RANGE,["#00afaf",37]],[Ue.REFERENCE,["#87afff",111]],[Ue.NUMBER,["#ffd700",220]],[Ue.PATH,["#d75fd7",170]],[Ue.URL,["#d75fd7",170]],[Ue.ADDED,["#5faf00",70]],[Ue.REMOVED,["#d70000",160]],[Ue.CODE,["#87afff",111]],[Ue.SIZE,["#ffd700",220]]]),fs=r=>r,Ny={[Ue.NUMBER]:fs({pretty:(r,e)=>Bn(r,`${e}`,Ue.NUMBER),json:r=>r}),[Ue.IDENT]:fs({pretty:(r,e)=>Ai(r,e),json:r=>Ot(r)}),[Ue.LOCATOR]:fs({pretty:(r,e)=>mt(r,e),json:r=>hs(r)}),[Ue.DESCRIPTOR]:fs({pretty:(r,e)=>tr(r,e),json:r=>Qn(r)}),[Ue.RESOLUTION]:fs({pretty:(r,{descriptor:e,locator:t})=>Hx(r,e,t),json:({descriptor:r,locator:e})=>({descriptor:Qn(r),locator:e!==null?hs(e):null})}),[Ue.DEPENDENT]:fs({pretty:(r,{locator:e,descriptor:t})=>Gx(r,e,t),json:({locator:r,descriptor:e})=>({locator:hs(r),descriptor:Qn(e)})}),[Ue.PACKAGE_EXTENSION]:fs({pretty:(r,e)=>{switch(e.type){case"Dependency":return`${Ai(r,e.parentDescriptor)} \u27A4 ${Bn(r,"dependencies",Ue.CODE)} \u27A4 ${Ai(r,e.descriptor)}`;case"PeerDependency":return`${Ai(r,e.parentDescriptor)} \u27A4 ${Bn(r,"peerDependencies",Ue.CODE)} \u27A4 ${Ai(r,e.descriptor)}`;case"PeerDependencyMeta":return`${Ai(r,e.parentDescriptor)} \u27A4 ${Bn(r,"peerDependenciesMeta",Ue.CODE)} \u27A4 ${Ai(r,_i(e.selector))} \u27A4 ${Bn(r,e.key,Ue.CODE)}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${e.type}`)}},json:r=>{switch(r.type){case"Dependency":return`${Ot(r.parentDescriptor)} > ${Ot(r.descriptor)}`;case"PeerDependency":return`${Ot(r.parentDescriptor)} >> ${Ot(r.descriptor)}`;case"PeerDependencyMeta":return`${Ot(r.parentDescriptor)} >> ${r.selector} / ${r.key}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${r.type}`)}}}),[Ue.SETTING]:fs({pretty:(r,e)=>(r.get(e),cf(r,Bn(r,e,Ue.CODE),`https://yarnpkg.com/configuration/yarnrc#${e}`)),json:r=>r}),[Ue.DURATION]:fs({pretty:(r,e)=>{if(e>1e3*60){let t=Math.floor(e/1e3/60),i=Math.ceil((e-t*60*1e3)/1e3);return i===0?`${t}m`:`${t}m ${i}s`}else{let t=Math.floor(e/1e3),i=e-t*1e3;return i===0?`${t}s`:`${t}s ${i}ms`}},json:r=>r}),[Ue.SIZE]:fs({pretty:(r,e)=>{let t=["KB","MB","GB","TB"],i=t.length;for(;i>1&&e<1024**i;)i-=1;let n=1024**i,s=Math.floor(e*100/n)/100;return Bn(r,`${s} ${t[i-1]}`,Ue.NUMBER)},json:r=>r}),[Ue.PATH]:fs({pretty:(r,e)=>Bn(r,K.fromPortablePath(e),Ue.PATH),json:r=>K.fromPortablePath(r)}),[Ue.MARKDOWN]:fs({pretty:(r,{text:e,format:t,paragraphs:i})=>Ni(e,{format:t,paragraphs:i}),json:({text:r})=>r})};function eo(r,e){return[e,r]}function Ty(r,e,t){return r.get("enableColors")&&t&2&&(e=Md.default.bold(e)),e}function Bn(r,e,t){if(!r.get("enableColors"))return e;let i=IBe.get(t);if(i===null)return e;let n=typeof i>"u"?t:Ox.level>=3?i[0]:i[1],s=typeof n=="number"?Lx.ansi256(n):n.startsWith("#")?Lx.hex(n):Lx[n];if(typeof s!="function")throw new Error(`Invalid format type ${n}`);return s(e)}var yBe=!!process.env.KONSOLE_VERSION;function cf(r,e,t){return r.get("enableHyperlinks")?yBe?`\x1B]8;;${t}\x1B\\${e}\x1B]8;;\x1B\\`:`\x1B]8;;${t}\x07${e}\x1B]8;;\x07`:e}function Ze(r,e,t){if(e===null)return Bn(r,"null",Ue.NULL);if(Object.prototype.hasOwnProperty.call(Ny,t))return Ny[t].pretty(r,e);if(typeof e!="string")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof e}`);return Bn(r,e,t)}function Kx(r,e,t,{separator:i=", "}={}){return[...e].map(n=>Ze(r,n,t)).join(i)}function cc(r,e){if(r===null)return null;if(Object.prototype.hasOwnProperty.call(Ny,e))return Ny[e].json(r);if(typeof r!="string")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof r}`);return r}function wBe(r,e,[t,i]){return r?cc(t,i):Ze(e,t,i)}function Ux(r){return{Check:Bn(r,"\u2713","green"),Cross:Bn(r,"\u2718","red"),Question:Bn(r,"?","cyan")}}function Oo(r,{label:e,value:[t,i]}){return`${Ze(r,e,Ue.CODE)}: ${Ze(r,t,i)}`}var Oy=(n=>(n.Error="error",n.Warning="warning",n.Info="info",n.Discard="discard",n))(Oy||{});function Kd(r,{configuration:e}){let t=e.get("logFilters"),i=new Map,n=new Map,s=[];for(let g of t){let f=g.get("level");if(typeof f>"u")continue;let h=g.get("code");typeof h<"u"&&i.set(h,f);let p=g.get("text");typeof p<"u"&&n.set(p,f);let C=g.get("pattern");typeof C<"u"&&s.push([MW.default.matcher(C,{contains:!0}),f])}s.reverse();let o=(g,f,h)=>{if(g===null||g===0)return h;let p=n.size>0||s.length>0?(0,KW.default)(f):f;if(n.size>0){let C=n.get(p);if(typeof C<"u")return C!=null?C:h}if(s.length>0){for(let[C,y]of s)if(C(p))return y!=null?y:h}if(i.size>0){let C=i.get(QA(g));if(typeof C<"u")return C!=null?C:h}return h},a=r.reportInfo,l=r.reportWarning,c=r.reportError,u=function(g,f,h,p){switch(o(f,h,p)){case"info":a.call(g,f,h);break;case"warning":l.call(g,f!=null?f:0,h);break;case"error":c.call(g,f!=null?f:0,h);break}};r.reportInfo=function(...g){return u(this,...g,"info")},r.reportWarning=function(...g){return u(this,...g,"warning")},r.reportError=function(...g){return u(this,...g,"error")}}var li={};ut(li,{checksumFile:()=>uw,checksumPattern:()=>gw,makeHash:()=>Zi});var cw=J("crypto"),BD=Pe(wD());function Zi(...r){let e=(0,cw.createHash)("sha512"),t="";for(let i of r)typeof i=="string"?t+=i:i&&(t&&(e.update(t),t=""),e.update(i));return t&&e.update(t),e.digest("hex")}async function uw(r,{baseFs:e,algorithm:t}={baseFs:M,algorithm:"sha512"}){let i=await e.openPromise(r,"r");try{let s=Buffer.allocUnsafeSlow(65536),o=(0,cw.createHash)(t),a=0;for(;(a=await e.readPromise(i,s,0,65536))!==0;)o.update(a===65536?s:s.slice(0,a));return o.digest("hex")}finally{await e.closePromise(i)}}async function gw(r,{cwd:e}){let i=(await(0,BD.default)(r,{cwd:K.fromPortablePath(e),expandDirectories:!1,onlyDirectories:!0,unique:!0})).map(a=>`${a}/**/*`),n=await(0,BD.default)([r,...i],{cwd:K.fromPortablePath(e),expandDirectories:!1,onlyFiles:!1,unique:!0});n.sort();let s=await Promise.all(n.map(async a=>{let l=[Buffer.from(a)],c=K.toPortablePath(a),u=await M.lstatPromise(c);return u.isSymbolicLink()?l.push(Buffer.from(await M.readlinkPromise(c))):u.isFile()&&l.push(await M.readFilePromise(c)),l.join("\0")})),o=(0,cw.createHash)("sha512");for(let a of s)o.update(a);return o.digest("hex")}var Yd="virtual:",Mbe=5,z4=/(os|cpu|libc)=([a-z0-9_-]+)/,Kbe=(0,W4.makeParser)(z4);function Ho(r,e){if(r!=null&&r.startsWith("@"))throw new Error("Invalid scope: don't prefix it with '@'");return{identHash:Zi(r,e),scope:r,name:e}}function Zt(r,e){return{identHash:r.identHash,scope:r.scope,name:r.name,descriptorHash:Zi(r.identHash,e),range:e}}function $i(r,e){return{identHash:r.identHash,scope:r.scope,name:r.name,locatorHash:Zi(r.identHash,e),reference:e}}function Ube(r){return{identHash:r.identHash,scope:r.scope,name:r.name}}function fw(r){return{identHash:r.identHash,scope:r.scope,name:r.name,locatorHash:r.descriptorHash,reference:r.range}}function bD(r){return{identHash:r.identHash,scope:r.scope,name:r.name,descriptorHash:r.locatorHash,range:r.reference}}function Hbe(r){return{identHash:r.identHash,scope:r.scope,name:r.name,locatorHash:r.locatorHash,reference:r.reference}}function jd(r,e){return{identHash:e.identHash,scope:e.scope,name:e.name,locatorHash:e.locatorHash,reference:e.reference,version:r.version,languageName:r.languageName,linkType:r.linkType,conditions:r.conditions,dependencies:new Map(r.dependencies),peerDependencies:new Map(r.peerDependencies),dependenciesMeta:new Map(r.dependenciesMeta),peerDependenciesMeta:new Map(r.peerDependenciesMeta),bin:new Map(r.bin)}}function qd(r){return jd(r,r)}function SD(r,e){if(e.includes("#"))throw new Error("Invalid entropy");return Zt(r,`virtual:${e}#${r.range}`)}function vD(r,e){if(e.includes("#"))throw new Error("Invalid entropy");return jd(r,$i(r,`virtual:${e}#${r.reference}`))}function OA(r){return r.range.startsWith(Yd)}function Uo(r){return r.reference.startsWith(Yd)}function Jd(r){if(!OA(r))throw new Error("Not a virtual descriptor");return Zt(r,r.range.replace(/^[^#]*#/,""))}function Wd(r){if(!Uo(r))throw new Error("Not a virtual descriptor");return $i(r,r.reference.replace(/^[^#]*#/,""))}function Gbe(r,e){return r.range.includes("::")?r:Zt(r,`${r.range}::${df.default.stringify(e)}`)}function Ybe(r,e){return r.reference.includes("::")?r:$i(r,`${r.reference}::${df.default.stringify(e)}`)}function zd(r,e){return r.identHash===e.identHash}function V4(r,e){return r.descriptorHash===e.descriptorHash}function Vd(r,e){return r.locatorHash===e.locatorHash}function jbe(r,e){if(!Uo(r))throw new Error("Invalid package type");if(!Uo(e))throw new Error("Invalid package type");if(!zd(r,e)||r.dependencies.size!==e.dependencies.size)return!1;for(let t of r.dependencies.values()){let i=e.dependencies.get(t.identHash);if(!i||!V4(t,i))return!1}return!0}function _i(r){let e=X4(r);if(!e)throw new Error(`Invalid ident (${r})`);return e}function X4(r){let e=r.match(/^(?:@([^/]+?)\/)?([^/]+)$/);if(!e)return null;let[,t,i]=e;return Ho(typeof t<"u"?t:null,i)}function MA(r,e=!1){let t=Xd(r,e);if(!t)throw new Error(`Invalid descriptor (${r})`);return t}function Xd(r,e=!1){let t=e?r.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))$/):r.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))?$/);if(!t)return null;let[,i,n,s]=t;if(s==="unknown")throw new Error(`Invalid range (${r})`);let o=typeof i<"u"?i:null,a=typeof s<"u"?s:"unknown";return Zt(Ho(o,n),a)}function Cc(r,e=!1){let t=hw(r,e);if(!t)throw new Error(`Invalid locator (${r})`);return t}function hw(r,e=!1){let t=e?r.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))$/):r.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))?$/);if(!t)return null;let[,i,n,s]=t;if(s==="unknown")throw new Error(`Invalid reference (${r})`);let o=typeof i<"u"?i:null,a=typeof s<"u"?s:"unknown";return $i(Ho(o,n),a)}function Cf(r,e){let t=r.match(/^([^#:]*:)?((?:(?!::)[^#])*)(?:#((?:(?!::).)*))?(?:::(.*))?$/);if(t===null)throw new Error(`Invalid range (${r})`);let i=typeof t[1]<"u"?t[1]:null;if(typeof(e==null?void 0:e.requireProtocol)=="string"&&i!==e.requireProtocol)throw new Error(`Invalid protocol (${i})`);if((e==null?void 0:e.requireProtocol)&&i===null)throw new Error(`Missing protocol (${i})`);let n=typeof t[3]<"u"?decodeURIComponent(t[2]):null;if((e==null?void 0:e.requireSource)&&n===null)throw new Error(`Missing source (${r})`);let s=typeof t[3]<"u"?decodeURIComponent(t[3]):decodeURIComponent(t[2]),o=e!=null&&e.parseSelector?df.default.parse(s):s,a=typeof t[4]<"u"?df.default.parse(t[4]):null;return{protocol:i,source:n,selector:o,params:a}}function qbe(r,{protocol:e}){let{selector:t,params:i}=Cf(r,{requireProtocol:e,requireBindings:!0});if(typeof i.locator!="string")throw new Error(`Assertion failed: Invalid bindings for ${r}`);return{parentLocator:Cc(i.locator,!0),path:t}}function q4(r){return r=r.replace(/%/g,"%25"),r=r.replace(/:/g,"%3A"),r=r.replace(/#/g,"%23"),r}function Jbe(r){return r===null?!1:Object.entries(r).length>0}function pw({protocol:r,source:e,selector:t,params:i}){let n="";return r!==null&&(n+=`${r}`),e!==null&&(n+=`${q4(e)}#`),n+=q4(t),Jbe(i)&&(n+=`::${df.default.stringify(i)}`),n}function Wbe(r){let{params:e,protocol:t,source:i,selector:n}=Cf(r);for(let s in e)s.startsWith("__")&&delete e[s];return pw({protocol:t,source:i,params:e,selector:n})}function Ot(r){return r.scope?`@${r.scope}/${r.name}`:`${r.name}`}function Qn(r){return r.scope?`@${r.scope}/${r.name}@${r.range}`:`${r.name}@${r.range}`}function hs(r){return r.scope?`@${r.scope}/${r.name}@${r.reference}`:`${r.name}@${r.reference}`}function QD(r){return r.scope!==null?`@${r.scope}-${r.name}`:r.name}function mf(r){let{protocol:e,selector:t}=Cf(r.reference),i=e!==null?e.replace(/:$/,""):"exotic",n=J4.default.valid(t),s=n!==null?`${i}-${n}`:`${i}`,o=10,a=r.scope?`${QD(r)}-${s}-${r.locatorHash.slice(0,o)}`:`${QD(r)}-${s}-${r.locatorHash.slice(0,o)}`;return Ur(a)}function Ai(r,e){return e.scope?`${Ze(r,`@${e.scope}/`,Ue.SCOPE)}${Ze(r,e.name,Ue.NAME)}`:`${Ze(r,e.name,Ue.NAME)}`}function dw(r){if(r.startsWith(Yd)){let e=dw(r.substring(r.indexOf("#")+1)),t=r.substring(Yd.length,Yd.length+Mbe);return`${e} [${t}]`}else return r.replace(/\?.*/,"?[...]")}function Cw(r,e){return`${Ze(r,dw(e),Ue.RANGE)}`}function tr(r,e){return`${Ai(r,e)}${Ze(r,"@",Ue.RANGE)}${Cw(r,e.range)}`}function _d(r,e){return`${Ze(r,dw(e),Ue.REFERENCE)}`}function mt(r,e){return`${Ai(r,e)}${Ze(r,"@",Ue.REFERENCE)}${_d(r,e.reference)}`}function xD(r){return`${Ot(r)}@${dw(r.reference)}`}function Ef(r){return wn(r,[e=>Ot(e),e=>e.range])}function Zd(r,e){return Ai(r,e.locator)}function Hx(r,e,t){let i=OA(e)?Jd(e):e;return t===null?`${tr(r,i)} \u2192 ${Ux(r).Cross}`:i.identHash===t.identHash?`${tr(r,i)} \u2192 ${_d(r,t.reference)}`:`${tr(r,i)} \u2192 ${mt(r,t)}`}function Gx(r,e,t){return t===null?`${mt(r,e)}`:`${mt(r,e)} (via ${Cw(r,t.range)})`}function PD(r){return`node_modules/${Ot(r)}`}function mw(r,e){return r.conditions?Kbe(r.conditions,t=>{let[,i,n]=t.match(z4),s=e[i];return s?s.includes(n):!0}):!0}var _4={hooks:{reduceDependency:(r,e,t,i,{resolver:n,resolveOptions:s})=>{for(let{pattern:o,reference:a}of e.topLevelWorkspace.manifest.resolutions){if(o.from&&o.from.fullName!==Ot(t)||o.from&&o.from.description&&o.from.description!==t.reference||o.descriptor.fullName!==Ot(r)||o.descriptor.description&&o.descriptor.description!==r.range)continue;return n.bindDescriptor(Zt(r,a),e.topLevelWorkspace.anchoredLocator,s)}return r},validateProject:async(r,e)=>{for(let t of r.workspaces){let i=Zd(r.configuration,t);await r.configuration.triggerHook(n=>n.validateWorkspace,t,{reportWarning:(n,s)=>e.reportWarning(n,`${i}: ${s}`),reportError:(n,s)=>e.reportError(n,`${i}: ${s}`)})}},validateWorkspace:async(r,e)=>{let{manifest:t}=r;t.resolutions.length&&r.cwd!==r.project.cwd&&t.errors.push(new Error("Resolutions field will be ignored"));for(let i of t.errors)e.reportWarning(57,i.message)}}};var n8=Pe(Xr());var $d=class{supportsDescriptor(e,t){return!!(e.range.startsWith($d.protocol)||t.project.tryWorkspaceByDescriptor(e)!==null)}supportsLocator(e,t){return!!e.reference.startsWith($d.protocol)}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){return[i.project.getWorkspaceByDescriptor(e).anchoredLocator]}async getSatisfying(e,t,i){return null}async resolve(e,t){let i=t.project.getWorkspaceByCwd(e.reference.slice($d.protocol.length));return{...e,version:i.manifest.version||"0.0.0",languageName:"unknown",linkType:"SOFT",conditions:null,dependencies:new Map([...i.manifest.dependencies,...i.manifest.devDependencies]),peerDependencies:new Map([...i.manifest.peerDependencies]),dependenciesMeta:i.manifest.dependenciesMeta,peerDependenciesMeta:i.manifest.peerDependenciesMeta,bin:i.manifest.bin}}},jr=$d;jr.protocol="workspace:";var vt={};ut(vt,{SemVer:()=>e8.SemVer,clean:()=>Vbe,satisfiesWithPrereleases:()=>mc,validRange:()=>to});var Ew=Pe(Xr()),e8=Pe(Xr()),Z4=new Map;function mc(r,e,t=!1){if(!r)return!1;let i=`${e}${t}`,n=Z4.get(i);if(typeof n>"u")try{n=new Ew.default.Range(e,{includePrerelease:!0,loose:t})}catch{return!1}finally{Z4.set(i,n||null)}else if(n===null)return!1;let s;try{s=new Ew.default.SemVer(r,n)}catch{return!1}return n.test(s)?!0:(s.prerelease&&(s.prerelease=[]),n.set.some(o=>{for(let a of o)a.semver.prerelease&&(a.semver.prerelease=[]);return o.every(a=>a.test(s))}))}var $4=new Map;function to(r){if(r.indexOf(":")!==-1)return null;let e=$4.get(r);if(typeof e<"u")return e;try{e=new Ew.default.Range(r)}catch{e=null}return $4.set(r,e),e}var zbe=/^(?:[\sv=]*?)((0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?)(?:\s*)$/;function Vbe(r){let e=zbe.exec(r);return e?e[1]:null}var KA=class{constructor(){this.indent=" ";this.name=null;this.version=null;this.os=null;this.cpu=null;this.libc=null;this.type=null;this.packageManager=null;this.private=!1;this.license=null;this.main=null;this.module=null;this.browser=null;this.languageName=null;this.bin=new Map;this.scripts=new Map;this.dependencies=new Map;this.devDependencies=new Map;this.peerDependencies=new Map;this.workspaceDefinitions=[];this.dependenciesMeta=new Map;this.peerDependenciesMeta=new Map;this.resolutions=[];this.files=null;this.publishConfig=null;this.installConfig=null;this.preferUnplugged=null;this.raw={};this.errors=[]}static async tryFind(e,{baseFs:t=new $t}={}){let i=x.join(e,"package.json");try{return await KA.fromFile(i,{baseFs:t})}catch(n){if(n.code==="ENOENT")return null;throw n}}static async find(e,{baseFs:t}={}){let i=await KA.tryFind(e,{baseFs:t});if(i===null)throw new Error("Manifest not found");return i}static async fromFile(e,{baseFs:t=new $t}={}){let i=new KA;return await i.loadFile(e,{baseFs:t}),i}static fromText(e){let t=new KA;return t.loadFromText(e),t}static isManifestFieldCompatible(e,t){if(e===null)return!0;let i=!0,n=!1;for(let s of e)if(s[0]==="!"){if(n=!0,t===s.slice(1))return!1}else if(i=!1,s===t)return!0;return n&&i}loadFromText(e){let t;try{t=JSON.parse(r8(e)||"{}")}catch(i){throw i.message+=` (when parsing ${e})`,i}this.load(t),this.indent=t8(e)}async loadFile(e,{baseFs:t=new $t}){let i=await t.readFilePromise(e,"utf8"),n;try{n=JSON.parse(r8(i)||"{}")}catch(s){throw s.message+=` (when parsing ${e})`,s}this.load(n),this.indent=t8(i)}load(e,{yamlCompatibilityMode:t=!1}={}){if(typeof e!="object"||e===null)throw new Error(`Utterly invalid manifest data (${e})`);this.raw=e;let i=[];if(this.name=null,typeof e.name=="string")try{this.name=_i(e.name)}catch{i.push(new Error("Parsing failed for the 'name' field"))}if(typeof e.version=="string"?this.version=e.version:this.version=null,Array.isArray(e.os)){let s=[];this.os=s;for(let o of e.os)typeof o!="string"?i.push(new Error("Parsing failed for the 'os' field")):s.push(o)}else this.os=null;if(Array.isArray(e.cpu)){let s=[];this.cpu=s;for(let o of e.cpu)typeof o!="string"?i.push(new Error("Parsing failed for the 'cpu' field")):s.push(o)}else this.cpu=null;if(Array.isArray(e.libc)){let s=[];this.libc=s;for(let o of e.libc)typeof o!="string"?i.push(new Error("Parsing failed for the 'libc' field")):s.push(o)}else this.libc=null;if(typeof e.type=="string"?this.type=e.type:this.type=null,typeof e.packageManager=="string"?this.packageManager=e.packageManager:this.packageManager=null,typeof e.private=="boolean"?this.private=e.private:this.private=!1,typeof e.license=="string"?this.license=e.license:this.license=null,typeof e.languageName=="string"?this.languageName=e.languageName:this.languageName=null,typeof e.main=="string"?this.main=en(e.main):this.main=null,typeof e.module=="string"?this.module=en(e.module):this.module=null,e.browser!=null)if(typeof e.browser=="string")this.browser=en(e.browser);else{this.browser=new Map;for(let[s,o]of Object.entries(e.browser))this.browser.set(en(s),typeof o=="string"?en(o):o)}else this.browser=null;if(this.bin=new Map,typeof e.bin=="string")this.name!==null?this.bin.set(this.name.name,en(e.bin)):i.push(new Error("String bin field, but no attached package name"));else if(typeof e.bin=="object"&&e.bin!==null)for(let[s,o]of Object.entries(e.bin)){if(typeof o!="string"){i.push(new Error(`Invalid bin definition for '${s}'`));continue}let a=_i(s);this.bin.set(a.name,en(o))}if(this.scripts=new Map,typeof e.scripts=="object"&&e.scripts!==null)for(let[s,o]of Object.entries(e.scripts)){if(typeof o!="string"){i.push(new Error(`Invalid script definition for '${s}'`));continue}this.scripts.set(s,o)}if(this.dependencies=new Map,typeof e.dependencies=="object"&&e.dependencies!==null)for(let[s,o]of Object.entries(e.dependencies)){if(typeof o!="string"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=_i(s)}catch{i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=Zt(a,o);this.dependencies.set(l.identHash,l)}if(this.devDependencies=new Map,typeof e.devDependencies=="object"&&e.devDependencies!==null)for(let[s,o]of Object.entries(e.devDependencies)){if(typeof o!="string"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=_i(s)}catch{i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=Zt(a,o);this.devDependencies.set(l.identHash,l)}if(this.peerDependencies=new Map,typeof e.peerDependencies=="object"&&e.peerDependencies!==null)for(let[s,o]of Object.entries(e.peerDependencies)){let a;try{a=_i(s)}catch{i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}(typeof o!="string"||!o.startsWith(jr.protocol)&&!to(o))&&(i.push(new Error(`Invalid dependency range for '${s}'`)),o="*");let l=Zt(a,o);this.peerDependencies.set(l.identHash,l)}typeof e.workspaces=="object"&&e.workspaces!==null&&e.workspaces.nohoist&&i.push(new Error("'nohoist' is deprecated, please use 'installConfig.hoistingLimits' instead"));let n=Array.isArray(e.workspaces)?e.workspaces:typeof e.workspaces=="object"&&e.workspaces!==null&&Array.isArray(e.workspaces.packages)?e.workspaces.packages:[];this.workspaceDefinitions=[];for(let s of n){if(typeof s!="string"){i.push(new Error(`Invalid workspace definition for '${s}'`));continue}this.workspaceDefinitions.push({pattern:s})}if(this.dependenciesMeta=new Map,typeof e.dependenciesMeta=="object"&&e.dependenciesMeta!==null)for(let[s,o]of Object.entries(e.dependenciesMeta)){if(typeof o!="object"||o===null){i.push(new Error(`Invalid meta field for '${s}`));continue}let a=MA(s),l=this.ensureDependencyMeta(a),c=Iw(o.built,{yamlCompatibilityMode:t});if(c===null){i.push(new Error(`Invalid built meta field for '${s}'`));continue}let u=Iw(o.optional,{yamlCompatibilityMode:t});if(u===null){i.push(new Error(`Invalid optional meta field for '${s}'`));continue}let g=Iw(o.unplugged,{yamlCompatibilityMode:t});if(g===null){i.push(new Error(`Invalid unplugged meta field for '${s}'`));continue}Object.assign(l,{built:c,optional:u,unplugged:g})}if(this.peerDependenciesMeta=new Map,typeof e.peerDependenciesMeta=="object"&&e.peerDependenciesMeta!==null)for(let[s,o]of Object.entries(e.peerDependenciesMeta)){if(typeof o!="object"||o===null){i.push(new Error(`Invalid meta field for '${s}'`));continue}let a=MA(s),l=this.ensurePeerDependencyMeta(a),c=Iw(o.optional,{yamlCompatibilityMode:t});if(c===null){i.push(new Error(`Invalid optional meta field for '${s}'`));continue}Object.assign(l,{optional:c})}if(this.resolutions=[],typeof e.resolutions=="object"&&e.resolutions!==null)for(let[s,o]of Object.entries(e.resolutions)){if(typeof o!="string"){i.push(new Error(`Invalid resolution entry for '${s}'`));continue}try{this.resolutions.push({pattern:rI(s),reference:o})}catch(a){i.push(a);continue}}if(Array.isArray(e.files)){this.files=new Set;for(let s of e.files){if(typeof s!="string"){i.push(new Error(`Invalid files entry for '${s}'`));continue}this.files.add(s)}}else this.files=null;if(typeof e.publishConfig=="object"&&e.publishConfig!==null){if(this.publishConfig={},typeof e.publishConfig.access=="string"&&(this.publishConfig.access=e.publishConfig.access),typeof e.publishConfig.main=="string"&&(this.publishConfig.main=en(e.publishConfig.main)),typeof e.publishConfig.module=="string"&&(this.publishConfig.module=en(e.publishConfig.module)),e.publishConfig.browser!=null)if(typeof e.publishConfig.browser=="string")this.publishConfig.browser=en(e.publishConfig.browser);else{this.publishConfig.browser=new Map;for(let[s,o]of Object.entries(e.publishConfig.browser))this.publishConfig.browser.set(en(s),typeof o=="string"?en(o):o)}if(typeof e.publishConfig.registry=="string"&&(this.publishConfig.registry=e.publishConfig.registry),typeof e.publishConfig.bin=="string")this.name!==null?this.publishConfig.bin=new Map([[this.name.name,en(e.publishConfig.bin)]]):i.push(new Error("String bin field, but no attached package name"));else if(typeof e.publishConfig.bin=="object"&&e.publishConfig.bin!==null){this.publishConfig.bin=new Map;for(let[s,o]of Object.entries(e.publishConfig.bin)){if(typeof o!="string"){i.push(new Error(`Invalid bin definition for '${s}'`));continue}this.publishConfig.bin.set(s,en(o))}}if(Array.isArray(e.publishConfig.executableFiles)){this.publishConfig.executableFiles=new Set;for(let s of e.publishConfig.executableFiles){if(typeof s!="string"){i.push(new Error("Invalid executable file definition"));continue}this.publishConfig.executableFiles.add(en(s))}}}else this.publishConfig=null;if(typeof e.installConfig=="object"&&e.installConfig!==null){this.installConfig={};for(let s of Object.keys(e.installConfig))s==="hoistingLimits"?typeof e.installConfig.hoistingLimits=="string"?this.installConfig.hoistingLimits=e.installConfig.hoistingLimits:i.push(new Error("Invalid hoisting limits definition")):s=="selfReferences"?typeof e.installConfig.selfReferences=="boolean"?this.installConfig.selfReferences=e.installConfig.selfReferences:i.push(new Error("Invalid selfReferences definition, must be a boolean value")):i.push(new Error(`Unrecognized installConfig key: ${s}`))}else this.installConfig=null;if(typeof e.optionalDependencies=="object"&&e.optionalDependencies!==null)for(let[s,o]of Object.entries(e.optionalDependencies)){if(typeof o!="string"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=_i(s)}catch{i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=Zt(a,o);this.dependencies.set(l.identHash,l);let c=Zt(a,"unknown"),u=this.ensureDependencyMeta(c);Object.assign(u,{optional:!0})}typeof e.preferUnplugged=="boolean"?this.preferUnplugged=e.preferUnplugged:this.preferUnplugged=null,this.errors=i}getForScope(e){switch(e){case"dependencies":return this.dependencies;case"devDependencies":return this.devDependencies;case"peerDependencies":return this.peerDependencies;default:throw new Error(`Unsupported value ("${e}")`)}}hasConsumerDependency(e){return!!(this.dependencies.has(e.identHash)||this.peerDependencies.has(e.identHash))}hasHardDependency(e){return!!(this.dependencies.has(e.identHash)||this.devDependencies.has(e.identHash))}hasSoftDependency(e){return!!this.peerDependencies.has(e.identHash)}hasDependency(e){return!!(this.hasHardDependency(e)||this.hasSoftDependency(e))}getConditions(){let e=[];return this.os&&this.os.length>0&&e.push(DD("os",this.os)),this.cpu&&this.cpu.length>0&&e.push(DD("cpu",this.cpu)),this.libc&&this.libc.length>0&&e.push(DD("libc",this.libc)),e.length>0?e.join(" & "):null}isCompatibleWithOS(e){return KA.isManifestFieldCompatible(this.os,e)}isCompatibleWithCPU(e){return KA.isManifestFieldCompatible(this.cpu,e)}ensureDependencyMeta(e){if(e.range!=="unknown"&&!n8.default.valid(e.range))throw new Error(`Invalid meta field range for '${Qn(e)}'`);let t=Ot(e),i=e.range!=="unknown"?e.range:null,n=this.dependenciesMeta.get(t);n||this.dependenciesMeta.set(t,n=new Map);let s=n.get(i);return s||n.set(i,s={}),s}ensurePeerDependencyMeta(e){if(e.range!=="unknown")throw new Error(`Invalid meta field range for '${Qn(e)}'`);let t=Ot(e),i=this.peerDependenciesMeta.get(t);return i||this.peerDependenciesMeta.set(t,i={}),i}setRawField(e,t,{after:i=[]}={}){let n=new Set(i.filter(s=>Object.prototype.hasOwnProperty.call(this.raw,s)));if(n.size===0||Object.prototype.hasOwnProperty.call(this.raw,e))this.raw[e]=t;else{let s=this.raw,o=this.raw={},a=!1;for(let l of Object.keys(s))o[l]=s[l],a||(n.delete(l),n.size===0&&(o[e]=t,a=!0))}}exportTo(e,{compatibilityMode:t=!0}={}){var s;if(Object.assign(e,this.raw),this.name!==null?e.name=Ot(this.name):delete e.name,this.version!==null?e.version=this.version:delete e.version,this.os!==null?e.os=this.os:delete e.os,this.cpu!==null?e.cpu=this.cpu:delete e.cpu,this.type!==null?e.type=this.type:delete e.type,this.packageManager!==null?e.packageManager=this.packageManager:delete e.packageManager,this.private?e.private=!0:delete e.private,this.license!==null?e.license=this.license:delete e.license,this.languageName!==null?e.languageName=this.languageName:delete e.languageName,this.main!==null?e.main=this.main:delete e.main,this.module!==null?e.module=this.module:delete e.module,this.browser!==null){let o=this.browser;typeof o=="string"?e.browser=o:o instanceof Map&&(e.browser=Object.assign({},...Array.from(o.keys()).sort().map(a=>({[a]:o.get(a)}))))}else delete e.browser;this.bin.size===1&&this.name!==null&&this.bin.has(this.name.name)?e.bin=this.bin.get(this.name.name):this.bin.size>0?e.bin=Object.assign({},...Array.from(this.bin.keys()).sort().map(o=>({[o]:this.bin.get(o)}))):delete e.bin,this.workspaceDefinitions.length>0?this.raw.workspaces&&!Array.isArray(this.raw.workspaces)?e.workspaces={...this.raw.workspaces,packages:this.workspaceDefinitions.map(({pattern:o})=>o)}:e.workspaces=this.workspaceDefinitions.map(({pattern:o})=>o):this.raw.workspaces&&!Array.isArray(this.raw.workspaces)&&Object.keys(this.raw.workspaces).length>0?e.workspaces=this.raw.workspaces:delete e.workspaces;let i=[],n=[];for(let o of this.dependencies.values()){let a=this.dependenciesMeta.get(Ot(o)),l=!1;if(t&&a){let c=a.get(null);c&&c.optional&&(l=!0)}l?n.push(o):i.push(o)}i.length>0?e.dependencies=Object.assign({},...Ef(i).map(o=>({[Ot(o)]:o.range}))):delete e.dependencies,n.length>0?e.optionalDependencies=Object.assign({},...Ef(n).map(o=>({[Ot(o)]:o.range}))):delete e.optionalDependencies,this.devDependencies.size>0?e.devDependencies=Object.assign({},...Ef(this.devDependencies.values()).map(o=>({[Ot(o)]:o.range}))):delete e.devDependencies,this.peerDependencies.size>0?e.peerDependencies=Object.assign({},...Ef(this.peerDependencies.values()).map(o=>({[Ot(o)]:o.range}))):delete e.peerDependencies,e.dependenciesMeta={};for(let[o,a]of wn(this.dependenciesMeta.entries(),([l,c])=>l))for(let[l,c]of wn(a.entries(),([u,g])=>u!==null?`0${u}`:"1")){let u=l!==null?Qn(Zt(_i(o),l)):o,g={...c};t&&l===null&&delete g.optional,Object.keys(g).length!==0&&(e.dependenciesMeta[u]=g)}if(Object.keys(e.dependenciesMeta).length===0&&delete e.dependenciesMeta,this.peerDependenciesMeta.size>0?e.peerDependenciesMeta=Object.assign({},...wn(this.peerDependenciesMeta.entries(),([o,a])=>o).map(([o,a])=>({[o]:a}))):delete e.peerDependenciesMeta,this.resolutions.length>0?e.resolutions=Object.assign({},...this.resolutions.map(({pattern:o,reference:a})=>({[iI(o)]:a}))):delete e.resolutions,this.files!==null?e.files=Array.from(this.files):delete e.files,this.preferUnplugged!==null?e.preferUnplugged=this.preferUnplugged:delete e.preferUnplugged,this.scripts!==null&&this.scripts.size>0){(s=e.scripts)!=null||(e.scripts={});for(let o of Object.keys(e.scripts))this.scripts.has(o)||delete e.scripts[o];for(let[o,a]of this.scripts.entries())e.scripts[o]=a}else delete e.scripts;return e}},ot=KA;ot.fileName="package.json",ot.allDependencies=["dependencies","devDependencies","peerDependencies"],ot.hardDependencies=["dependencies","devDependencies"];function t8(r){let e=r.match(/^[ \t]+/m);return e?e[0]:" "}function r8(r){return r.charCodeAt(0)===65279?r.slice(1):r}function en(r){return r.replace(/\\/g,"/")}function Iw(r,{yamlCompatibilityMode:e}){return e?Rx(r):typeof r>"u"||typeof r=="boolean"?r:null}function i8(r,e){let t=e.search(/[^!]/);if(t===-1)return"invalid";let i=t%2===0?"":"!",n=e.slice(t);return`${i}${r}=${n}`}function DD(r,e){return e.length===1?i8(r,e[0]):`(${e.map(t=>i8(r,t)).join(" | ")})`}var L8=Pe(N8()),T8=J("stream"),O8=J("string_decoder");var GSe=15,at=class extends Error{constructor(t,i,n){super(i);this.reportExtra=n;this.reportCode=t}};function YSe(r){return typeof r.reportCode<"u"}var Si=class{constructor(){this.reportedInfos=new Set;this.reportedWarnings=new Set;this.reportedErrors=new Set}static progressViaCounter(e){let t=0,i,n=new Promise(l=>{i=l}),s=l=>{let c=i;n=new Promise(u=>{i=u}),t=l,c()},o=(l=0)=>{s(t+1)},a=async function*(){for(;t{t=o}),n=(0,L8.default)(o=>{let a=t;i=new Promise(l=>{t=l}),e=o,a()},1e3/GSe),s=async function*(){for(;;)await i,yield{title:e}}();return{[Symbol.asyncIterator](){return s},hasProgress:!1,hasTitle:!0,setTitle:n}}async startProgressPromise(e,t){let i=this.reportProgress(e);try{return await t(e)}finally{i.stop()}}startProgressSync(e,t){let i=this.reportProgress(e);try{return t(e)}finally{i.stop()}}reportInfoOnce(e,t,i){var s;let n=i&&i.key?i.key:t;this.reportedInfos.has(n)||(this.reportedInfos.add(n),this.reportInfo(e,t),(s=i==null?void 0:i.reportExtra)==null||s.call(i,this))}reportWarningOnce(e,t,i){var s;let n=i&&i.key?i.key:t;this.reportedWarnings.has(n)||(this.reportedWarnings.add(n),this.reportWarning(e,t),(s=i==null?void 0:i.reportExtra)==null||s.call(i,this))}reportErrorOnce(e,t,i){var s;let n=i&&i.key?i.key:t;this.reportedErrors.has(n)||(this.reportedErrors.add(n),this.reportError(e,t),(s=i==null?void 0:i.reportExtra)==null||s.call(i,this))}reportExceptionOnce(e){YSe(e)?this.reportErrorOnce(e.reportCode,e.message,{key:e,reportExtra:e.reportExtra}):this.reportErrorOnce(1,e.stack||e.message,{key:e})}createStreamReporter(e=null){let t=new T8.PassThrough,i=new O8.StringDecoder,n="";return t.on("data",s=>{let o=i.write(s),a;do if(a=o.indexOf(` -`),a!==-1){let l=n+o.substring(0,a);o=o.substring(a+1),n="",e!==null?this.reportInfo(null,`${e} ${l}`):this.reportInfo(null,l)}while(a!==-1);n+=o}),t.on("end",()=>{let s=i.end();s!==""&&(e!==null?this.reportInfo(null,`${e} ${s}`):this.reportInfo(null,s))}),t}};var If=class{constructor(e){this.fetchers=e}supports(e,t){return!!this.tryFetcher(e,t)}getLocalPath(e,t){return this.getFetcher(e,t).getLocalPath(e,t)}async fetch(e,t){return await this.getFetcher(e,t).fetch(e,t)}tryFetcher(e,t){let i=this.fetchers.find(n=>n.supports(e,t));return i||null}getFetcher(e,t){let i=this.fetchers.find(n=>n.supports(e,t));if(!i)throw new at(11,`${mt(t.project.configuration,e)} isn't supported by any available fetcher`);return i}};var yf=class{constructor(e){this.resolvers=e.filter(t=>t)}supportsDescriptor(e,t){return!!this.tryResolverByDescriptor(e,t)}supportsLocator(e,t){return!!this.tryResolverByLocator(e,t)}shouldPersistResolution(e,t){return this.getResolverByLocator(e,t).shouldPersistResolution(e,t)}bindDescriptor(e,t,i){return this.getResolverByDescriptor(e,i).bindDescriptor(e,t,i)}getResolutionDependencies(e,t){return this.getResolverByDescriptor(e,t).getResolutionDependencies(e,t)}async getCandidates(e,t,i){return await this.getResolverByDescriptor(e,i).getCandidates(e,t,i)}async getSatisfying(e,t,i){return this.getResolverByDescriptor(e,i).getSatisfying(e,t,i)}async resolve(e,t){return await this.getResolverByLocator(e,t).resolve(e,t)}tryResolverByDescriptor(e,t){let i=this.resolvers.find(n=>n.supportsDescriptor(e,t));return i||null}getResolverByDescriptor(e,t){let i=this.resolvers.find(n=>n.supportsDescriptor(e,t));if(!i)throw new Error(`${tr(t.project.configuration,e)} isn't supported by any available resolver`);return i}tryResolverByLocator(e,t){let i=this.resolvers.find(n=>n.supportsLocator(e,t));return i||null}getResolverByLocator(e,t){let i=this.resolvers.find(n=>n.supportsLocator(e,t));if(!i)throw new Error(`${mt(t.project.configuration,e)} isn't supported by any available resolver`);return i}};var M8=Pe(Xr());var wf=/^(?!v)[a-z0-9._-]+$/i,yw=class{supportsDescriptor(e,t){return!!(to(e.range)||wf.test(e.range))}supportsLocator(e,t){return!!(M8.default.valid(e.reference)||wf.test(e.reference))}shouldPersistResolution(e,t){return t.resolver.shouldPersistResolution(this.forwardLocator(e,t),t)}bindDescriptor(e,t,i){return i.resolver.bindDescriptor(this.forwardDescriptor(e,i),t,i)}getResolutionDependencies(e,t){return t.resolver.getResolutionDependencies(this.forwardDescriptor(e,t),t)}async getCandidates(e,t,i){return await i.resolver.getCandidates(this.forwardDescriptor(e,i),t,i)}async getSatisfying(e,t,i){return await i.resolver.getSatisfying(this.forwardDescriptor(e,i),t,i)}async resolve(e,t){let i=await t.resolver.resolve(this.forwardLocator(e,t),t);return jd(i,e)}forwardDescriptor(e,t){return Zt(e,`${t.project.configuration.get("defaultProtocol")}${e.range}`)}forwardLocator(e,t){return $i(e,`${t.project.configuration.get("defaultProtocol")}${e.reference}`)}};var Bf=class{supports(e){return!!e.reference.startsWith("virtual:")}getLocalPath(e,t){let i=e.reference.indexOf("#");if(i===-1)throw new Error("Invalid virtual package reference");let n=e.reference.slice(i+1),s=$i(e,n);return t.fetcher.getLocalPath(s,t)}async fetch(e,t){let i=e.reference.indexOf("#");if(i===-1)throw new Error("Invalid virtual package reference");let n=e.reference.slice(i+1),s=$i(e,n),o=await t.fetcher.fetch(s,t);return await this.ensureVirtualLink(e,o,t)}getLocatorFilename(e){return mf(e)}async ensureVirtualLink(e,t,i){let n=t.packageFs.getRealPath(),s=i.project.configuration.get("virtualFolder"),o=this.getLocatorFilename(e),a=Br.makeVirtualPath(s,o,n),l=new yo(a,{baseFs:t.packageFs,pathUtils:x});return{...t,packageFs:l}}};var Qf=class{static isVirtualDescriptor(e){return!!e.range.startsWith(Qf.protocol)}static isVirtualLocator(e){return!!e.reference.startsWith(Qf.protocol)}supportsDescriptor(e,t){return Qf.isVirtualDescriptor(e)}supportsLocator(e,t){return Qf.isVirtualLocator(e)}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,i){throw new Error('Assertion failed: calling "bindDescriptor" on a virtual descriptor is unsupported')}getResolutionDependencies(e,t){throw new Error('Assertion failed: calling "getResolutionDependencies" on a virtual descriptor is unsupported')}async getCandidates(e,t,i){throw new Error('Assertion failed: calling "getCandidates" on a virtual descriptor is unsupported')}async getSatisfying(e,t,i){throw new Error('Assertion failed: calling "getSatisfying" on a virtual descriptor is unsupported')}async resolve(e,t){throw new Error('Assertion failed: calling "resolve" on a virtual locator is unsupported')}},rC=Qf;rC.protocol="virtual:";var bf=class{supports(e){return!!e.reference.startsWith(jr.protocol)}getLocalPath(e,t){return this.getWorkspace(e,t).cwd}async fetch(e,t){let i=this.getWorkspace(e,t).cwd;return{packageFs:new jt(i),prefixPath:Oe.dot,localPath:i}}getWorkspace(e,t){return t.project.getWorkspaceByCwd(e.reference.slice(jr.protocol.length))}};var ww={};ut(ww,{getDefaultGlobalFolder:()=>ND,getHomeFolder:()=>iC,isFolderInside:()=>LD});var FD=J("os");function ND(){if(process.platform==="win32"){let r=K.toPortablePath(process.env.LOCALAPPDATA||K.join((0,FD.homedir)(),"AppData","Local"));return x.resolve(r,"Yarn/Berry")}if(process.env.XDG_DATA_HOME){let r=K.toPortablePath(process.env.XDG_DATA_HOME);return x.resolve(r,"yarn/berry")}return x.resolve(iC(),".yarn/berry")}function iC(){return K.toPortablePath((0,FD.homedir)()||"/usr/local/share")}function LD(r,e){let t=x.relative(e,r);return t&&!t.startsWith("..")&&!x.isAbsolute(t)}var Cs={};ut(Cs,{availableParallelism:()=>MD,builtinModules:()=>TD,getArchitecture:()=>nC,getArchitectureName:()=>JSe,getArchitectureSet:()=>OD,openUrl:()=>jSe});var U8=Pe(J("module")),bw=Pe(J("os"));var K8=new Map([["darwin","open"],["linux","xdg-open"],["win32","explorer.exe"]]).get(process.platform),jSe=typeof K8<"u"?async r=>{try{return await KD(K8,[r],{cwd:x.cwd()}),!0}catch{return!1}}:void 0;function TD(){return new Set(U8.default.builtinModules||Object.keys(process.binding("natives")))}function qSe(){var i,n,s,o;if(process.platform==="win32")return null;let e=(s=((n=(i=process.report)==null?void 0:i.getReport())!=null?n:{}).sharedObjects)!=null?s:[],t=/\/(?:(ld-linux-|[^/]+-linux-gnu\/)|(libc.musl-|ld-musl-))/;return(o=Ld(e,a=>{let l=a.match(t);if(!l)return Ld.skip;if(l[1])return"glibc";if(l[2])return"musl";throw new Error("Assertion failed: Expected the libc variant to have been detected")}))!=null?o:null}var Bw,Qw;function nC(){return Bw=Bw!=null?Bw:{os:process.platform,cpu:process.arch,libc:qSe()}}function JSe(r=nC()){return r.libc?`${r.os}-${r.cpu}-${r.libc}`:`${r.os}-${r.cpu}`}function OD(){let r=nC();return Qw=Qw!=null?Qw:{os:[r.os],cpu:[r.cpu],libc:r.libc?[r.libc]:[]}}function MD(){return"availableParallelism"in bw.default?bw.default.availableParallelism():Math.max(1,bw.default.cpus().length)}var WSe=new Set(["isTestEnv","injectNpmUser","injectNpmPassword","injectNpm2FaToken","binFolder","version","flags","profile","gpg","ignoreNode","wrapOutput","home","confDir"]),Pw="yarn_",YD=".yarnrc.yml",jD="yarn.lock",zSe="********",qD=(u=>(u.ANY="ANY",u.BOOLEAN="BOOLEAN",u.ABSOLUTE_PATH="ABSOLUTE_PATH",u.LOCATOR="LOCATOR",u.LOCATOR_LOOSE="LOCATOR_LOOSE",u.NUMBER="NUMBER",u.STRING="STRING",u.SECRET="SECRET",u.SHAPE="SHAPE",u.MAP="MAP",u))(qD||{}),vi=Ue,UD={lastUpdateCheck:{description:"Last timestamp we checked whether new Yarn versions were available",type:"STRING",default:null},yarnPath:{description:"Path to the local executable that must be used over the global one",type:"ABSOLUTE_PATH",default:null},ignorePath:{description:"If true, the local executable will be ignored when using the global one",type:"BOOLEAN",default:!1},ignoreCwd:{description:"If true, the `--cwd` flag will be ignored",type:"BOOLEAN",default:!1},cacheKeyOverride:{description:"A global cache key override; used only for test purposes",type:"STRING",default:null},globalFolder:{description:"Folder where all system-global files are stored",type:"ABSOLUTE_PATH",default:ND()},cacheFolder:{description:"Folder where the cache files must be written",type:"ABSOLUTE_PATH",default:"./.yarn/cache"},compressionLevel:{description:"Zip files compression level, from 0 to 9 or mixed (a variant of 9, which stores some files uncompressed, when compression doesn't yield good results)",type:"NUMBER",values:["mixed",0,1,2,3,4,5,6,7,8,9],default:Ol},virtualFolder:{description:"Folder where the virtual packages (cf doc) will be mapped on the disk (must be named __virtual__)",type:"ABSOLUTE_PATH",default:"./.yarn/__virtual__"},lockfileFilename:{description:"Name of the files where the Yarn dependency tree entries must be stored",type:"STRING",default:jD},installStatePath:{description:"Path of the file where the install state will be persisted",type:"ABSOLUTE_PATH",default:"./.yarn/install-state.gz"},immutablePatterns:{description:"Array of glob patterns; files matching them won't be allowed to change during immutable installs",type:"STRING",default:[],isArray:!0},rcFilename:{description:"Name of the files where the configuration can be found",type:"STRING",default:xw()},enableGlobalCache:{description:"If true, the system-wide cache folder will be used regardless of `cache-folder`",type:"BOOLEAN",default:!1},enableColors:{description:"If true, the CLI is allowed to use colors in its output",type:"BOOLEAN",default:Ly,defaultText:""},enableHyperlinks:{description:"If true, the CLI is allowed to use hyperlinks in its output",type:"BOOLEAN",default:Mx,defaultText:""},enableInlineBuilds:{description:"If true, the CLI will print the build output on the command line",type:"BOOLEAN",default:Sw.isCI,defaultText:""},enableMessageNames:{description:"If true, the CLI will prefix most messages with codes suitable for search engines",type:"BOOLEAN",default:!0},enableProgressBars:{description:"If true, the CLI is allowed to show a progress bar for long-running events",type:"BOOLEAN",default:!Sw.isCI,defaultText:""},enableTimers:{description:"If true, the CLI is allowed to print the time spent executing commands",type:"BOOLEAN",default:!0},preferAggregateCacheInfo:{description:"If true, the CLI will only print a one-line report of any cache changes",type:"BOOLEAN",default:Sw.isCI},preferInteractive:{description:"If true, the CLI will automatically use the interactive mode when called from a TTY",type:"BOOLEAN",default:!1},preferTruncatedLines:{description:"If true, the CLI will truncate lines that would go beyond the size of the terminal",type:"BOOLEAN",default:!1},progressBarStyle:{description:"Which style of progress bar should be used (only when progress bars are enabled)",type:"STRING",default:void 0,defaultText:""},defaultLanguageName:{description:"Default language mode that should be used when a package doesn't offer any insight",type:"STRING",default:"node"},defaultProtocol:{description:"Default resolution protocol used when resolving pure semver and tag ranges",type:"STRING",default:"npm:"},enableTransparentWorkspaces:{description:"If false, Yarn won't automatically resolve workspace dependencies unless they use the `workspace:` protocol",type:"BOOLEAN",default:!0},supportedArchitectures:{description:"Architectures that Yarn will fetch and inject into the resolver",type:"SHAPE",properties:{os:{description:"Array of supported process.platform strings, or null to target them all",type:"STRING",isArray:!0,isNullable:!0,default:["current"]},cpu:{description:"Array of supported process.arch strings, or null to target them all",type:"STRING",isArray:!0,isNullable:!0,default:["current"]},libc:{description:"Array of supported libc libraries, or null to target them all",type:"STRING",isArray:!0,isNullable:!0,default:["current"]}}},enableMirror:{description:"If true, the downloaded packages will be retrieved and stored in both the local and global folders",type:"BOOLEAN",default:!0},enableNetwork:{description:"If false, the package manager will refuse to use the network if required to",type:"BOOLEAN",default:!0},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:"STRING",default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:"STRING",default:null},unsafeHttpWhitelist:{description:"List of the hostnames for which http queries are allowed (glob patterns are supported)",type:"STRING",default:[],isArray:!0},httpTimeout:{description:"Timeout of each http request in milliseconds",type:"NUMBER",default:6e4},httpRetry:{description:"Retry times on http failure",type:"NUMBER",default:3},networkConcurrency:{description:"Maximal number of concurrent requests",type:"NUMBER",default:50},networkSettings:{description:"Network settings per hostname (glob patterns are supported)",type:"MAP",valueDefinition:{description:"",type:"SHAPE",properties:{caFilePath:{description:"Path to file containing one or multiple Certificate Authority signing certificates",type:"ABSOLUTE_PATH",default:null},enableNetwork:{description:"If false, the package manager will refuse to use the network if required to",type:"BOOLEAN",default:null},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:"STRING",default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:"STRING",default:null},httpsKeyFilePath:{description:"Path to file containing private key in PEM format",type:"ABSOLUTE_PATH",default:null},httpsCertFilePath:{description:"Path to file containing certificate chain in PEM format",type:"ABSOLUTE_PATH",default:null}}}},caFilePath:{description:"A path to a file containing one or multiple Certificate Authority signing certificates",type:"ABSOLUTE_PATH",default:null},httpsKeyFilePath:{description:"Path to file containing private key in PEM format",type:"ABSOLUTE_PATH",default:null},httpsCertFilePath:{description:"Path to file containing certificate chain in PEM format",type:"ABSOLUTE_PATH",default:null},enableStrictSsl:{description:"If false, SSL certificate errors will be ignored",type:"BOOLEAN",default:!0},logFilters:{description:"Overrides for log levels",type:"SHAPE",isArray:!0,concatenateValues:!0,properties:{code:{description:"Code of the messages covered by this override",type:"STRING",default:void 0},text:{description:"Code of the texts covered by this override",type:"STRING",default:void 0},pattern:{description:"Code of the patterns covered by this override",type:"STRING",default:void 0},level:{description:"Log level override, set to null to remove override",type:"STRING",values:Object.values(Oy),isNullable:!0,default:void 0}}},enableTelemetry:{description:"If true, telemetry will be periodically sent, following the rules in https://yarnpkg.com/advanced/telemetry",type:"BOOLEAN",default:!0},telemetryInterval:{description:"Minimal amount of time between two telemetry uploads, in days",type:"NUMBER",default:7},telemetryUserId:{description:"If you desire to tell us which project you are, you can set this field. Completely optional and opt-in.",type:"STRING",default:null},enableScripts:{description:"If true, packages are allowed to have install scripts by default",type:"BOOLEAN",default:!0},enableStrictSettings:{description:"If true, unknown settings will cause Yarn to abort",type:"BOOLEAN",default:!0},enableImmutableCache:{description:"If true, the cache is reputed immutable and actions that would modify it will throw",type:"BOOLEAN",default:!1},checksumBehavior:{description:"Enumeration defining what to do when a checksum doesn't match expectations",type:"STRING",default:"throw"},packageExtensions:{description:"Map of package corrections to apply on the dependency tree",type:"MAP",valueDefinition:{description:"The extension that will be applied to any package whose version matches the specified range",type:"SHAPE",properties:{dependencies:{description:"The set of dependencies that must be made available to the current package in order for it to work properly",type:"MAP",valueDefinition:{description:"A range",type:"STRING"}},peerDependencies:{description:"Inherited dependencies - the consumer of the package will be tasked to provide them",type:"MAP",valueDefinition:{description:"A semver range",type:"STRING"}},peerDependenciesMeta:{description:"Extra information related to the dependencies listed in the peerDependencies field",type:"MAP",valueDefinition:{description:"The peerDependency meta",type:"SHAPE",properties:{optional:{description:"If true, the selected peer dependency will be marked as optional by the package manager and the consumer omitting it won't be reported as an error",type:"BOOLEAN",default:!1}}}}}}}};function JD(r,e,t,i,n){if(i.isArray||i.type==="ANY"&&Array.isArray(t))return Array.isArray(t)?t.map((s,o)=>HD(r,`${e}[${o}]`,s,i,n)):String(t).split(/,/).map(s=>HD(r,e,s,i,n));if(Array.isArray(t))throw new Error(`Non-array configuration settings "${e}" cannot be an array`);return HD(r,e,t,i,n)}function HD(r,e,t,i,n){var a;switch(i.type){case"ANY":return t;case"SHAPE":return VSe(r,e,t,i,n);case"MAP":return XSe(r,e,t,i,n)}if(t===null&&!i.isNullable&&i.default!==null)throw new Error(`Non-nullable configuration settings "${e}" cannot be set to null`);if((a=i.values)!=null&&a.includes(t))return t;let o=(()=>{if(i.type==="BOOLEAN"&&typeof t!="string")return Td(t);if(typeof t!="string")throw new Error(`Expected value (${t}) to be a string`);let l=kx(t,{env:process.env});switch(i.type){case"ABSOLUTE_PATH":return x.resolve(n,K.toPortablePath(l));case"LOCATOR_LOOSE":return Cc(l,!1);case"NUMBER":return parseInt(l);case"LOCATOR":return Cc(l);case"BOOLEAN":return Td(l);default:return l}})();if(i.values&&!i.values.includes(o))throw new Error(`Invalid value, expected one of ${i.values.join(", ")}`);return o}function VSe(r,e,t,i,n){if(typeof t!="object"||Array.isArray(t))throw new be(`Object configuration settings "${e}" must be an object`);let s=WD(r,i,{ignoreArrays:!0});if(t===null)return s;for(let[o,a]of Object.entries(t)){let l=`${e}.${o}`;if(!i.properties[o])throw new be(`Unrecognized configuration settings found: ${e}.${o} - run "yarn config -v" to see the list of settings supported in Yarn`);s.set(o,JD(r,l,a,i.properties[o],n))}return s}function XSe(r,e,t,i,n){let s=new Map;if(typeof t!="object"||Array.isArray(t))throw new be(`Map configuration settings "${e}" must be an object`);if(t===null)return s;for(let[o,a]of Object.entries(t)){let l=i.normalizeKeys?i.normalizeKeys(o):o,c=`${e}['${l}']`,u=i.valueDefinition;s.set(l,JD(r,c,a,u,n))}return s}function WD(r,e,{ignoreArrays:t=!1}={}){switch(e.type){case"SHAPE":{if(e.isArray&&!t)return[];let i=new Map;for(let[n,s]of Object.entries(e.properties))i.set(n,WD(r,s));return i}break;case"MAP":return e.isArray&&!t?[]:new Map;case"ABSOLUTE_PATH":return e.default===null?null:r.projectCwd===null?x.isAbsolute(e.default)?x.normalize(e.default):e.isNullable?null:void 0:Array.isArray(e.default)?e.default.map(i=>x.resolve(r.projectCwd,i)):x.resolve(r.projectCwd,e.default);default:return e.default}}function vw(r,e,t){if(e.type==="SECRET"&&typeof r=="string"&&t.hideSecrets)return zSe;if(e.type==="ABSOLUTE_PATH"&&typeof r=="string"&&t.getNativePaths)return K.fromPortablePath(r);if(e.isArray&&Array.isArray(r)){let i=[];for(let n of r)i.push(vw(n,e,t));return i}if(e.type==="MAP"&&r instanceof Map){let i=new Map;for(let[n,s]of r.entries())i.set(n,vw(s,e.valueDefinition,t));return i}if(e.type==="SHAPE"&&r instanceof Map){let i=new Map;for(let[n,s]of r.entries()){let o=e.properties[n];i.set(n,vw(s,o,t))}return i}return r}function _Se(){let r={};for(let[e,t]of Object.entries(process.env))e=e.toLowerCase(),e.startsWith(Pw)&&(e=(0,H8.default)(e.slice(Pw.length)),r[e]=t);return r}function xw(){let r=`${Pw}rc_filename`;for(let[e,t]of Object.entries(process.env))if(e.toLowerCase()===r&&typeof t=="string")return t;return YD}var zD=(i=>(i[i.LOCKFILE=0]="LOCKFILE",i[i.MANIFEST=1]="MANIFEST",i[i.NONE=2]="NONE",i))(zD||{}),Na=class{constructor(e){this.projectCwd=null;this.plugins=new Map;this.settings=new Map;this.values=new Map;this.sources=new Map;this.invalid=new Map;this.packageExtensions=new Map;this.limits=new Map;this.startingCwd=e}static create(e,t,i){let n=new Na(e);typeof t<"u"&&!(t instanceof Map)&&(n.projectCwd=t),n.importSettings(UD);let s=typeof i<"u"?i:t instanceof Map?t:new Map;for(let[o,a]of s)n.activatePlugin(o,a);return n}static async find(e,t,{lookup:i=0,strict:n=!0,usePath:s=!1,useRc:o=!0}={}){let a=_Se();delete a.rcFilename;let l=await Na.findRcFiles(e),c=await Na.findHomeRcFile();if(c){let B=l.find(v=>v.path===c.path);B?B.strict=!1:l.push({...c,strict:!1})}let u=({ignoreCwd:B,yarnPath:v,ignorePath:D,lockfileFilename:L})=>({ignoreCwd:B,yarnPath:v,ignorePath:D,lockfileFilename:L}),g=({ignoreCwd:B,yarnPath:v,ignorePath:D,lockfileFilename:L,...H})=>H,f=new Na(e);f.importSettings(u(UD)),f.useWithSource("",u(a),e,{strict:!1});for(let{path:B,cwd:v,data:D}of l)f.useWithSource(B,u(D),v,{strict:!1});if(s){let B=f.get("yarnPath"),v=f.get("ignorePath");if(B!==null&&!v)return f}let h=f.get("lockfileFilename"),p;switch(i){case 0:p=await Na.findProjectCwd(e,h);break;case 1:p=await Na.findProjectCwd(e,null);break;case 2:M.existsSync(x.join(e,"package.json"))?p=x.resolve(e):p=null;break}f.startingCwd=e,f.projectCwd=p,f.importSettings(g(UD));let C=new Map([["@@core",_4]]),y=B=>"default"in B?B.default:B;if(t!==null){for(let L of t.plugins.keys())C.set(L,y(t.modules.get(L)));let B=new Map;for(let L of TD())B.set(L,()=>Af(L));for(let[L,H]of t.modules)B.set(L,()=>H);let v=new Set,D=async(L,H)=>{let{factory:j,name:$}=Af(L);if(v.has($))return;let V=new Map(B),W=A=>{if(V.has(A))return V.get(A)();throw new be(`This plugin cannot access the package referenced via ${A} which is neither a builtin, nor an exposed entry`)},Z=await of(async()=>y(await j(W)),A=>`${A} (when initializing ${$}, defined in ${H})`);B.set($,()=>Z),v.add($),C.set($,Z)};if(a.plugins)for(let L of a.plugins.split(";")){let H=x.resolve(e,K.toPortablePath(L));await D(H,"")}for(let{path:L,cwd:H,data:j}of l)if(!!o&&!!Array.isArray(j.plugins))for(let $ of j.plugins){let V=typeof $!="string"?$.path:$,W=x.resolve(H,K.toPortablePath(V));await D(W,L)}}for(let[B,v]of C)f.activatePlugin(B,v);f.useWithSource("",g(a),e,{strict:n});for(let{path:B,cwd:v,data:D,strict:L}of l)f.useWithSource(B,g(D),v,{strict:L!=null?L:n});return f.get("enableGlobalCache")&&(f.values.set("cacheFolder",`${f.get("globalFolder")}/cache`),f.sources.set("cacheFolder","")),await f.refreshPackageExtensions(),f}static async findRcFiles(e){let t=xw(),i=[],n=e,s=null;for(;n!==s;){s=n;let o=x.join(s,t);if(M.existsSync(o)){let a=await M.readFilePromise(o,"utf8"),l;try{l=Ii(a)}catch{let u="";throw a.match(/^\s+(?!-)[^:]+\s+\S+/m)&&(u=" (in particular, make sure you list the colons after each key name)"),new be(`Parse error when loading ${o}; please check it's proper Yaml${u}`)}i.push({path:o,cwd:s,data:l})}n=x.dirname(s)}return i}static async findHomeRcFile(){let e=xw(),t=iC(),i=x.join(t,e);if(M.existsSync(i)){let n=await M.readFilePromise(i,"utf8"),s=Ii(n);return{path:i,cwd:t,data:s}}return null}static async findProjectCwd(e,t){let i=null,n=e,s=null;for(;n!==s;){if(s=n,M.existsSync(x.join(s,"package.json"))&&(i=s),t!==null){if(M.existsSync(x.join(s,t))){i=s;break}}else if(i!==null)break;n=x.dirname(s)}return i}static async updateConfiguration(e,t){let i=xw(),n=x.join(e,i),s=M.existsSync(n)?Ii(await M.readFilePromise(n,"utf8")):{},o=!1,a;if(typeof t=="function"){try{a=t(s)}catch{a=t({})}if(a===s)return}else{a=s;for(let l of Object.keys(t)){let c=s[l],u=t[l],g;if(typeof u=="function")try{g=u(c)}catch{g=u(void 0)}else g=u;c!==g&&(a[l]=g,o=!0)}if(!o)return}await M.changeFilePromise(n,Ca(a),{automaticNewlines:!0})}static async updateHomeConfiguration(e){let t=iC();return await Na.updateConfiguration(t,e)}activatePlugin(e,t){this.plugins.set(e,t),typeof t.configuration<"u"&&this.importSettings(t.configuration)}importSettings(e){for(let[t,i]of Object.entries(e))if(i!=null){if(this.settings.has(t))throw new Error(`Cannot redefine settings "${t}"`);this.settings.set(t,i),this.values.set(t,WD(this,i))}}useWithSource(e,t,i,n){try{this.use(e,t,i,n)}catch(s){throw s.message+=` (in ${Ze(this,e,Ue.PATH)})`,s}}use(e,t,i,{strict:n=!0,overwrite:s=!1}={}){n=n&&this.get("enableStrictSettings");for(let o of["enableStrictSettings",...Object.keys(t)]){if(typeof t[o]>"u"||o==="plugins"||e===""&&WSe.has(o))continue;if(o==="rcFilename")throw new be(`The rcFilename settings can only be set via ${`${Pw}RC_FILENAME`.toUpperCase()}, not via a rc file`);let l=this.settings.get(o);if(!l){if(n)throw new be(`Unrecognized or legacy configuration settings found: ${o} - run "yarn config -v" to see the list of settings supported in Yarn`);this.invalid.set(o,e);continue}if(this.sources.has(o)&&!(s||l.type==="MAP"||l.isArray&&l.concatenateValues))continue;let c;try{c=JD(this,o,t[o],l,i)}catch(u){throw u.message+=` in ${Ze(this,e,Ue.PATH)}`,u}if(o==="enableStrictSettings"&&e!==""){n=c;continue}if(l.type==="MAP"){let u=this.values.get(o);this.values.set(o,new Map(s?[...u,...c]:[...c,...u])),this.sources.set(o,`${this.sources.get(o)}, ${e}`)}else if(l.isArray&&l.concatenateValues){let u=this.values.get(o);this.values.set(o,s?[...u,...c]:[...c,...u]),this.sources.set(o,`${this.sources.get(o)}, ${e}`)}else this.values.set(o,c),this.sources.set(o,e)}}get(e){if(!this.values.has(e))throw new Error(`Invalid configuration key "${e}"`);return this.values.get(e)}getSpecial(e,{hideSecrets:t=!1,getNativePaths:i=!1}){let n=this.get(e),s=this.settings.get(e);if(typeof s>"u")throw new be(`Couldn't find a configuration settings named "${e}"`);return vw(n,s,{hideSecrets:t,getNativePaths:i})}getSubprocessStreams(e,{header:t,prefix:i,report:n}){let s,o,a=M.createWriteStream(e);if(this.get("enableInlineBuilds")){let l=n.createStreamReporter(`${i} ${Ze(this,"STDOUT","green")}`),c=n.createStreamReporter(`${i} ${Ze(this,"STDERR","red")}`);s=new GD.PassThrough,s.pipe(l),s.pipe(a),o=new GD.PassThrough,o.pipe(c),o.pipe(a)}else s=a,o=a,typeof t<"u"&&s.write(`${t} -`);return{stdout:s,stderr:o}}makeResolver(){let e=[];for(let t of this.plugins.values())for(let i of t.resolvers||[])e.push(new i);return new yf([new rC,new jr,new yw,...e])}makeFetcher(){let e=[];for(let t of this.plugins.values())for(let i of t.fetchers||[])e.push(new i);return new If([new Bf,new bf,...e])}getLinkers(){let e=[];for(let t of this.plugins.values())for(let i of t.linkers||[])e.push(new i);return e}getSupportedArchitectures(){let e=nC(),t=this.get("supportedArchitectures"),i=t.get("os");i!==null&&(i=i.map(o=>o==="current"?e.os:o));let n=t.get("cpu");n!==null&&(n=n.map(o=>o==="current"?e.cpu:o));let s=t.get("libc");return s!==null&&(s=To(s,o=>{var a;return o==="current"?(a=e.libc)!=null?a:To.skip:o})),{os:i,cpu:n,libc:s}}async refreshPackageExtensions(){this.packageExtensions=new Map;let e=this.packageExtensions,t=(i,n,{userProvided:s=!1}={})=>{if(!to(i.range))throw new Error("Only semver ranges are allowed as keys for the packageExtensions setting");let o=new ot;o.load(n,{yamlCompatibilityMode:!0});let a=nf(e,i.identHash),l=[];a.push([i.range,l]);let c={status:"inactive",userProvided:s,parentDescriptor:i};for(let u of o.dependencies.values())l.push({...c,type:"Dependency",descriptor:u});for(let u of o.peerDependencies.values())l.push({...c,type:"PeerDependency",descriptor:u});for(let[u,g]of o.peerDependenciesMeta)for(let[f,h]of Object.entries(g))l.push({...c,type:"PeerDependencyMeta",selector:u,key:f,value:h})};await this.triggerHook(i=>i.registerPackageExtensions,this,t);for(let[i,n]of this.get("packageExtensions"))t(MA(i,!0),Fy(n),{userProvided:!0})}normalizePackage(e){let t=qd(e);if(this.packageExtensions==null)throw new Error("refreshPackageExtensions has to be called before normalizing packages");let i=this.packageExtensions.get(e.identHash);if(typeof i<"u"){let s=e.version;if(s!==null){for(let[o,a]of i)if(!!mc(s,o))for(let l of a)switch(l.status==="inactive"&&(l.status="redundant"),l.type){case"Dependency":typeof t.dependencies.get(l.descriptor.identHash)>"u"&&(l.status="active",t.dependencies.set(l.descriptor.identHash,l.descriptor));break;case"PeerDependency":typeof t.peerDependencies.get(l.descriptor.identHash)>"u"&&(l.status="active",t.peerDependencies.set(l.descriptor.identHash,l.descriptor));break;case"PeerDependencyMeta":{let c=t.peerDependenciesMeta.get(l.selector);(typeof c>"u"||!Object.prototype.hasOwnProperty.call(c,l.key)||c[l.key]!==l.value)&&(l.status="active",xa(t.peerDependenciesMeta,l.selector,()=>({}))[l.key]=l.value)}break;default:Px(l);break}}}let n=s=>s.scope?`${s.scope}__${s.name}`:`${s.name}`;for(let s of t.peerDependenciesMeta.keys()){let o=_i(s);t.peerDependencies.has(o.identHash)||t.peerDependencies.set(o.identHash,Zt(o,"*"))}for(let s of t.peerDependencies.values()){if(s.scope==="types")continue;let o=n(s),a=Ho("types",o),l=Ot(a);t.peerDependencies.has(a.identHash)||t.peerDependenciesMeta.has(l)||(t.peerDependencies.set(a.identHash,Zt(a,"*")),t.peerDependenciesMeta.set(l,{optional:!0}))}return t.dependencies=new Map(wn(t.dependencies,([,s])=>Qn(s))),t.peerDependencies=new Map(wn(t.peerDependencies,([,s])=>Qn(s))),t}getLimit(e){return xa(this.limits,e,()=>(0,G8.default)(this.get(e)))}async triggerHook(e,...t){for(let i of this.plugins.values()){let n=i.hooks;if(!n)continue;let s=e(n);!s||await s(...t)}}async triggerMultipleHooks(e,t){for(let i of t)await this.triggerHook(e,...i)}async reduceHook(e,t,...i){let n=t;for(let s of this.plugins.values()){let o=s.hooks;if(!o)continue;let a=e(o);!a||(n=await a(n,...i))}return n}async firstHook(e,...t){for(let i of this.plugins.values()){let n=i.hooks;if(!n)continue;let s=e(n);if(!s)continue;let o=await s(...t);if(typeof o<"u")return o}return null}},ye=Na;ye.telemetry=null;var ZD=(i=>(i[i.Never=0]="Never",i[i.ErrorCode=1]="ErrorCode",i[i.Always=2]="Always",i))(ZD||{}),sC=class extends at{constructor({fileName:t,code:i,signal:n}){let s=ye.create(x.cwd()),o=Ze(s,t,Ue.PATH);super(1,`Child ${o} reported an error`,a=>{$Se(i,n,{configuration:s,report:a})});this.code=$D(i,n)}},Dw=class extends sC{constructor({fileName:t,code:i,signal:n,stdout:s,stderr:o}){super({fileName:t,code:i,signal:n});this.stdout=s,this.stderr=o}};function yc(r){return r!==null&&typeof r.fd=="number"}var wc=new Set;function VD(){}function XD(){for(let r of wc)r.kill()}async function Yo(r,e,{cwd:t,env:i=process.env,strict:n=!1,stdin:s=null,stdout:o,stderr:a,end:l=2}){let c=["pipe","pipe","pipe"];s===null?c[0]="ignore":yc(s)&&(c[0]=s),yc(o)&&(c[1]=o),yc(a)&&(c[2]=a);let u=(0,_D.default)(r,e,{cwd:K.fromPortablePath(t),env:{...i,PWD:K.fromPortablePath(t)},stdio:c});wc.add(u),wc.size===1&&(process.on("SIGINT",VD),process.on("SIGTERM",XD)),!yc(s)&&s!==null&&s.pipe(u.stdin),yc(o)||u.stdout.pipe(o,{end:!1}),yc(a)||u.stderr.pipe(a,{end:!1});let g=()=>{for(let f of new Set([o,a]))yc(f)||f.end()};return new Promise((f,h)=>{u.on("error",p=>{wc.delete(u),wc.size===0&&(process.off("SIGINT",VD),process.off("SIGTERM",XD)),(l===2||l===1)&&g(),h(p)}),u.on("close",(p,C)=>{wc.delete(u),wc.size===0&&(process.off("SIGINT",VD),process.off("SIGTERM",XD)),(l===2||l===1&&p>0)&&g(),p===0||!n?f({code:$D(p,C)}):h(new sC({fileName:r,code:p,signal:C}))})})}async function KD(r,e,{cwd:t,env:i=process.env,encoding:n="utf8",strict:s=!1}){let o=["ignore","pipe","pipe"],a=[],l=[],c=K.fromPortablePath(t);typeof i.PWD<"u"&&(i={...i,PWD:c});let u=(0,_D.default)(r,e,{cwd:c,env:i,stdio:o});return u.stdout.on("data",g=>{a.push(g)}),u.stderr.on("data",g=>{l.push(g)}),await new Promise((g,f)=>{u.on("error",h=>{let p=ye.create(t),C=Ze(p,r,Ue.PATH);f(new at(1,`Process ${C} failed to spawn`,y=>{y.reportError(1,` ${Oo(p,{label:"Thrown Error",value:eo(Ue.NO_HINT,h.message)})}`)}))}),u.on("close",(h,p)=>{let C=n==="buffer"?Buffer.concat(a):Buffer.concat(a).toString(n),y=n==="buffer"?Buffer.concat(l):Buffer.concat(l).toString(n);h===0||!s?g({code:$D(h,p),stdout:C,stderr:y}):f(new Dw({fileName:r,code:h,signal:p,stdout:C,stderr:y}))})})}var ZSe=new Map([["SIGINT",2],["SIGQUIT",3],["SIGKILL",9],["SIGTERM",15]]);function $D(r,e){let t=ZSe.get(e);return typeof t<"u"?128+t:r!=null?r:1}function $Se(r,e,{configuration:t,report:i}){i.reportError(1,` ${Oo(t,r!==null?{label:"Exit Code",value:eo(Ue.NUMBER,r)}:{label:"Exit Signal",value:eo(Ue.CODE,e)})}`)}var Vt={};ut(Vt,{Method:()=>BV,RequestError:()=>QV.RequestError,del:()=>cDe,get:()=>ADe,getNetworkSettings:()=>wV,post:()=>pR,put:()=>lDe,request:()=>dC});var EV=Pe(nB()),IV=J("https"),yV=J("http"),hR=Pe(yn()),fR=Pe(pV()),sB=J("url");var QV=Pe(nB()),dV=new Map,CV=new Map,sDe=new yV.Agent({keepAlive:!0}),oDe=new IV.Agent({keepAlive:!0});function mV(r){let e=new sB.URL(r),t={host:e.hostname,headers:{}};return e.port&&(t.port=Number(e.port)),{proxy:t}}async function gR(r){return xa(CV,r,()=>M.readFilePromise(r).then(e=>(CV.set(r,e),e)))}function aDe({statusCode:r,statusMessage:e},t){let i=Ze(t,r,Ue.NUMBER),n=`https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/${r}`;return cf(t,`${i}${e?` (${e})`:""}`,n)}async function oB(r,{configuration:e,customErrorMessage:t}){var i,n;try{return await r}catch(s){if(s.name!=="HTTPError")throw s;let o=(n=t==null?void 0:t(s))!=null?n:(i=s.response.body)==null?void 0:i.error;o==null&&(s.message.startsWith("Response code")?o="The remote server failed to provide the requested resource":o=s.message),s instanceof EV.TimeoutError&&s.event==="socket"&&(o+=`(can be increased via ${Ze(e,"httpTimeout",Ue.SETTING)})`);let a=new at(35,o,l=>{s.response&&l.reportError(35,` ${Oo(e,{label:"Response Code",value:eo(Ue.NO_HINT,aDe(s.response,e))})}`),s.request&&(l.reportError(35,` ${Oo(e,{label:"Request Method",value:eo(Ue.NO_HINT,s.request.options.method)})}`),l.reportError(35,` ${Oo(e,{label:"Request URL",value:eo(Ue.URL,s.request.requestUrl)})}`)),s.request.redirects.length>0&&l.reportError(35,` ${Oo(e,{label:"Request Redirects",value:eo(Ue.NO_HINT,Kx(e,s.request.redirects,Ue.URL))})}`),s.request.retryCount===s.request.options.retry.limit&&l.reportError(35,` ${Oo(e,{label:"Request Retry Count",value:eo(Ue.NO_HINT,`${Ze(e,s.request.retryCount,Ue.NUMBER)} (can be increased via ${Ze(e,"httpRetry",Ue.SETTING)})`)})}`)});throw a.originalError=s,a}}function wV(r,e){let t=[...e.configuration.get("networkSettings")].sort(([o],[a])=>a.length-o.length),i={enableNetwork:void 0,caFilePath:void 0,httpProxy:void 0,httpsProxy:void 0,httpsKeyFilePath:void 0,httpsCertFilePath:void 0},n=Object.keys(i),s=typeof r=="string"?new sB.URL(r):r;for(let[o,a]of t)if(hR.default.isMatch(s.hostname,o))for(let l of n){let c=a.get(l);c!==null&&typeof i[l]>"u"&&(i[l]=c)}for(let o of n)typeof i[o]>"u"&&(i[o]=e.configuration.get(o));return i}var BV=(n=>(n.GET="GET",n.PUT="PUT",n.POST="POST",n.DELETE="DELETE",n))(BV||{});async function dC(r,e,{configuration:t,headers:i,jsonRequest:n,jsonResponse:s,method:o="GET"}){let a=async()=>await uDe(r,e,{configuration:t,headers:i,jsonRequest:n,jsonResponse:s,method:o});return await(await t.reduceHook(c=>c.wrapNetworkRequest,a,{target:r,body:e,configuration:t,headers:i,jsonRequest:n,jsonResponse:s,method:o}))()}async function ADe(r,{configuration:e,jsonResponse:t,...i}){let n=xa(dV,r,()=>oB(dC(r,null,{configuration:e,...i}),{configuration:e}).then(s=>(dV.set(r,s.body),s.body)));return Buffer.isBuffer(n)===!1&&(n=await n),t?JSON.parse(n.toString()):n}async function lDe(r,e,{customErrorMessage:t,...i}){return(await oB(dC(r,e,{...i,method:"PUT"}),i)).body}async function pR(r,e,{customErrorMessage:t,...i}){return(await oB(dC(r,e,{...i,method:"POST"}),i)).body}async function cDe(r,{customErrorMessage:e,...t}){return(await oB(dC(r,null,{...t,method:"DELETE"}),t)).body}async function uDe(r,e,{configuration:t,headers:i,jsonRequest:n,jsonResponse:s,method:o="GET"}){let a=typeof r=="string"?new sB.URL(r):r,l=wV(a,{configuration:t});if(l.enableNetwork===!1)throw new Error(`Request to '${a.href}' has been blocked because of your configuration settings`);if(a.protocol==="http:"&&!hR.default.isMatch(a.hostname,t.get("unsafeHttpWhitelist")))throw new Error(`Unsafe http requests must be explicitly whitelisted in your configuration (${a.hostname})`);let u={agent:{http:l.httpProxy?fR.default.httpOverHttp(mV(l.httpProxy)):sDe,https:l.httpsProxy?fR.default.httpsOverHttp(mV(l.httpsProxy)):oDe},headers:i,method:o};u.responseType=s?"json":"buffer",e!==null&&(Buffer.isBuffer(e)||!n&&typeof e=="string"?u.body=e:u.json=e);let g=t.get("httpTimeout"),f=t.get("httpRetry"),h=t.get("enableStrictSsl"),p=l.caFilePath,C=l.httpsCertFilePath,y=l.httpsKeyFilePath,{default:B}=await Promise.resolve().then(()=>Pe(nB())),v=p?await gR(p):void 0,D=C?await gR(C):void 0,L=y?await gR(y):void 0,H=B.extend({timeout:{socket:g},retry:f,https:{rejectUnauthorized:h,certificateAuthority:v,certificate:D,key:L},...u});return t.getLimit("networkConcurrency")(()=>H(a))}var Jt={};ut(Jt,{PackageManager:()=>T6,detectPackageManager:()=>O6,executePackageAccessibleBinary:()=>G6,executePackageScript:()=>wB,executePackageShellcode:()=>DR,executeWorkspaceAccessibleBinary:()=>Dke,executeWorkspaceLifecycleScript:()=>U6,executeWorkspaceScript:()=>K6,getPackageAccessibleBinaries:()=>BB,getWorkspaceAccessibleBinaries:()=>H6,hasPackageScript:()=>vke,hasWorkspaceScript:()=>kR,makeScriptEnv:()=>wC,maybeExecuteWorkspaceLifecycleScript:()=>Pke,prepareExternalProject:()=>Ske});var CC={};ut(CC,{getLibzipPromise:()=>rn,getLibzipSync:()=>DV});var PV=Pe(SV());var qA=["number","number"],vV=(F=>(F[F.ZIP_ER_OK=0]="ZIP_ER_OK",F[F.ZIP_ER_MULTIDISK=1]="ZIP_ER_MULTIDISK",F[F.ZIP_ER_RENAME=2]="ZIP_ER_RENAME",F[F.ZIP_ER_CLOSE=3]="ZIP_ER_CLOSE",F[F.ZIP_ER_SEEK=4]="ZIP_ER_SEEK",F[F.ZIP_ER_READ=5]="ZIP_ER_READ",F[F.ZIP_ER_WRITE=6]="ZIP_ER_WRITE",F[F.ZIP_ER_CRC=7]="ZIP_ER_CRC",F[F.ZIP_ER_ZIPCLOSED=8]="ZIP_ER_ZIPCLOSED",F[F.ZIP_ER_NOENT=9]="ZIP_ER_NOENT",F[F.ZIP_ER_EXISTS=10]="ZIP_ER_EXISTS",F[F.ZIP_ER_OPEN=11]="ZIP_ER_OPEN",F[F.ZIP_ER_TMPOPEN=12]="ZIP_ER_TMPOPEN",F[F.ZIP_ER_ZLIB=13]="ZIP_ER_ZLIB",F[F.ZIP_ER_MEMORY=14]="ZIP_ER_MEMORY",F[F.ZIP_ER_CHANGED=15]="ZIP_ER_CHANGED",F[F.ZIP_ER_COMPNOTSUPP=16]="ZIP_ER_COMPNOTSUPP",F[F.ZIP_ER_EOF=17]="ZIP_ER_EOF",F[F.ZIP_ER_INVAL=18]="ZIP_ER_INVAL",F[F.ZIP_ER_NOZIP=19]="ZIP_ER_NOZIP",F[F.ZIP_ER_INTERNAL=20]="ZIP_ER_INTERNAL",F[F.ZIP_ER_INCONS=21]="ZIP_ER_INCONS",F[F.ZIP_ER_REMOVE=22]="ZIP_ER_REMOVE",F[F.ZIP_ER_DELETED=23]="ZIP_ER_DELETED",F[F.ZIP_ER_ENCRNOTSUPP=24]="ZIP_ER_ENCRNOTSUPP",F[F.ZIP_ER_RDONLY=25]="ZIP_ER_RDONLY",F[F.ZIP_ER_NOPASSWD=26]="ZIP_ER_NOPASSWD",F[F.ZIP_ER_WRONGPASSWD=27]="ZIP_ER_WRONGPASSWD",F[F.ZIP_ER_OPNOTSUPP=28]="ZIP_ER_OPNOTSUPP",F[F.ZIP_ER_INUSE=29]="ZIP_ER_INUSE",F[F.ZIP_ER_TELL=30]="ZIP_ER_TELL",F[F.ZIP_ER_COMPRESSED_DATA=31]="ZIP_ER_COMPRESSED_DATA",F))(vV||{}),xV=r=>({get HEAP8(){return r.HEAP8},get HEAPU8(){return r.HEAPU8},errors:vV,SEEK_SET:0,SEEK_CUR:1,SEEK_END:2,ZIP_CHECKCONS:4,ZIP_CREATE:1,ZIP_EXCL:2,ZIP_TRUNCATE:8,ZIP_RDONLY:16,ZIP_FL_OVERWRITE:8192,ZIP_FL_COMPRESSED:4,ZIP_OPSYS_DOS:0,ZIP_OPSYS_AMIGA:1,ZIP_OPSYS_OPENVMS:2,ZIP_OPSYS_UNIX:3,ZIP_OPSYS_VM_CMS:4,ZIP_OPSYS_ATARI_ST:5,ZIP_OPSYS_OS_2:6,ZIP_OPSYS_MACINTOSH:7,ZIP_OPSYS_Z_SYSTEM:8,ZIP_OPSYS_CPM:9,ZIP_OPSYS_WINDOWS_NTFS:10,ZIP_OPSYS_MVS:11,ZIP_OPSYS_VSE:12,ZIP_OPSYS_ACORN_RISC:13,ZIP_OPSYS_VFAT:14,ZIP_OPSYS_ALTERNATE_MVS:15,ZIP_OPSYS_BEOS:16,ZIP_OPSYS_TANDEM:17,ZIP_OPSYS_OS_400:18,ZIP_OPSYS_OS_X:19,ZIP_CM_DEFAULT:-1,ZIP_CM_STORE:0,ZIP_CM_DEFLATE:8,uint08S:r._malloc(1),uint16S:r._malloc(2),uint32S:r._malloc(4),uint64S:r._malloc(8),malloc:r._malloc,free:r._free,getValue:r.getValue,open:r.cwrap("zip_open","number",["string","number","number"]),openFromSource:r.cwrap("zip_open_from_source","number",["number","number","number"]),close:r.cwrap("zip_close","number",["number"]),discard:r.cwrap("zip_discard",null,["number"]),getError:r.cwrap("zip_get_error","number",["number"]),getName:r.cwrap("zip_get_name","string",["number","number","number"]),getNumEntries:r.cwrap("zip_get_num_entries","number",["number","number"]),delete:r.cwrap("zip_delete","number",["number","number"]),stat:r.cwrap("zip_stat","number",["number","string","number","number"]),statIndex:r.cwrap("zip_stat_index","number",["number",...qA,"number","number"]),fopen:r.cwrap("zip_fopen","number",["number","string","number"]),fopenIndex:r.cwrap("zip_fopen_index","number",["number",...qA,"number"]),fread:r.cwrap("zip_fread","number",["number","number","number","number"]),fclose:r.cwrap("zip_fclose","number",["number"]),dir:{add:r.cwrap("zip_dir_add","number",["number","string"])},file:{add:r.cwrap("zip_file_add","number",["number","string","number","number"]),getError:r.cwrap("zip_file_get_error","number",["number"]),getExternalAttributes:r.cwrap("zip_file_get_external_attributes","number",["number",...qA,"number","number","number"]),setExternalAttributes:r.cwrap("zip_file_set_external_attributes","number",["number",...qA,"number","number","number"]),setMtime:r.cwrap("zip_file_set_mtime","number",["number",...qA,"number","number"]),setCompression:r.cwrap("zip_set_file_compression","number",["number",...qA,"number","number"])},ext:{countSymlinks:r.cwrap("zip_ext_count_symlinks","number",["number"])},error:{initWithCode:r.cwrap("zip_error_init_with_code",null,["number","number"]),strerror:r.cwrap("zip_error_strerror","string",["number"])},name:{locate:r.cwrap("zip_name_locate","number",["number","string","number"])},source:{fromUnattachedBuffer:r.cwrap("zip_source_buffer_create","number",["number","number","number","number"]),fromBuffer:r.cwrap("zip_source_buffer","number",["number","number",...qA,"number"]),free:r.cwrap("zip_source_free",null,["number"]),keep:r.cwrap("zip_source_keep",null,["number"]),open:r.cwrap("zip_source_open","number",["number"]),close:r.cwrap("zip_source_close","number",["number"]),seek:r.cwrap("zip_source_seek","number",["number",...qA,"number"]),tell:r.cwrap("zip_source_tell","number",["number"]),read:r.cwrap("zip_source_read","number",["number","number","number"]),error:r.cwrap("zip_source_error","number",["number"]),setMtime:r.cwrap("zip_source_set_mtime","number",["number","number"])},struct:{stat:r.cwrap("zipstruct_stat","number",[]),statS:r.cwrap("zipstruct_statS","number",[]),statName:r.cwrap("zipstruct_stat_name","string",["number"]),statIndex:r.cwrap("zipstruct_stat_index","number",["number"]),statSize:r.cwrap("zipstruct_stat_size","number",["number"]),statCompSize:r.cwrap("zipstruct_stat_comp_size","number",["number"]),statCompMethod:r.cwrap("zipstruct_stat_comp_method","number",["number"]),statMtime:r.cwrap("zipstruct_stat_mtime","number",["number"]),statCrc:r.cwrap("zipstruct_stat_crc","number",["number"]),error:r.cwrap("zipstruct_error","number",[]),errorS:r.cwrap("zipstruct_errorS","number",[]),errorCodeZip:r.cwrap("zipstruct_error_code_zip","number",["number"])}});var mR=null;function DV(){return mR===null&&(mR=xV((0,PV.default)())),mR}async function rn(){return DV()}var yC={};ut(yC,{ShellError:()=>qn,execute:()=>pB,globUtils:()=>cB});var jV=Pe(ax()),qV=J("os"),Jn=J("stream"),JV=J("util");var qn=class extends Error{constructor(e){super(e),this.name="ShellError"}};var cB={};ut(cB,{fastGlobOptions:()=>FV,isBraceExpansion:()=>ER,isGlobPattern:()=>gDe,match:()=>fDe,micromatchOptions:()=>lB});var kV=Pe(iw()),RV=Pe(J("fs")),AB=Pe(yn()),lB={strictBrackets:!0},FV={onlyDirectories:!1,onlyFiles:!1};function gDe(r){if(!AB.default.scan(r,lB).isGlob)return!1;try{AB.default.parse(r,lB)}catch{return!1}return!0}function fDe(r,{cwd:e,baseFs:t}){return(0,kV.default)(r,{...FV,cwd:K.fromPortablePath(e),fs:XE(RV.default,new Cg(t))})}function ER(r){return AB.default.scan(r,lB).isBrace}var LV=Pe(IS()),qo=J("stream"),TV=J("string_decoder");var Qc=new Set;function IR(){}function yR(){for(let r of Qc)r.kill()}function OV(r,e,t,i){return n=>{let s=n[0]instanceof qo.Transform?"pipe":n[0],o=n[1]instanceof qo.Transform?"pipe":n[1],a=n[2]instanceof qo.Transform?"pipe":n[2],l=(0,LV.default)(r,e,{...i,stdio:[s,o,a]});return Qc.add(l),Qc.size===1&&(process.on("SIGINT",IR),process.on("SIGTERM",yR)),n[0]instanceof qo.Transform&&n[0].pipe(l.stdin),n[1]instanceof qo.Transform&&l.stdout.pipe(n[1],{end:!1}),n[2]instanceof qo.Transform&&l.stderr.pipe(n[2],{end:!1}),{stdin:l.stdin,promise:new Promise(c=>{l.on("error",u=>{switch(Qc.delete(l),Qc.size===0&&(process.off("SIGINT",IR),process.off("SIGTERM",yR)),u.code){case"ENOENT":n[2].write(`command not found: ${r} +`),o}format(e){var t;return((t=e!=null?e:this.enableColors)!==null&&t!==void 0?t:Un.defaultContext.colorDepth>1)?lv:QH}getUsageByRegistration(e,t){let i=this.registrations.get(e);if(typeof i>"u")throw new Error("Assertion failed: Unregistered command");return this.getUsageByIndex(i.index,t)}getUsageByIndex(e,t){return this.builder.getBuilderByIndex(e).usage(t)}};Un.defaultContext={stdin:process.stdin,stdout:process.stdout,stderr:process.stderr,colorDepth:"getColorDepth"in fv.default.WriteStream.prototype?fv.default.WriteStream.prototype.getColorDepth():rCe()};var kH;function iCe(r){let e=kH;if(typeof e>"u"){if(r.stdout===process.stdout&&r.stderr===process.stderr)return RH;let{AsyncLocalStorage:t}=J("async_hooks");e=kH=new t;let i=process.stdout._write;process.stdout._write=function(s,o,a){let l=e.getStore();return typeof l>"u"?i.call(this,s,o,a):l.stdout.write(s,o,a)};let n=process.stderr._write;process.stderr._write=function(s,o,a){let l=e.getStore();return typeof l>"u"?n.call(this,s,o,a):l.stderr.write(s,o,a)}}return t=>e.run(r,t)}function RH(r){return r()}var hv={};ut(hv,{DefinitionsCommand:()=>od,HelpCommand:()=>ad,VersionCommand:()=>Ad});var od=class extends ve{async execute(){this.context.stdout.write(`${JSON.stringify(this.cli.definitions(),null,2)} +`)}};od.paths=[["--clipanion=definitions"]];var ad=class extends ve{async execute(){this.context.stdout.write(this.cli.usage())}};ad.paths=[["-h"],["--help"]];var Ad=class extends ve{async execute(){var e;this.context.stdout.write(`${(e=this.cli.binaryVersion)!==null&&e!==void 0?e:""} +`)}};Ad.paths=[["-v"],["--version"]];var z={};ut(z,{Array:()=>FH,Boolean:()=>NH,Counter:()=>LH,Proxy:()=>TH,Rest:()=>OH,String:()=>MH,applyValidator:()=>rd,cleanValidationError:()=>SI,formatError:()=>td,isOptionSymbol:()=>ed,makeCommandOption:()=>zi,rerouteArguments:()=>Po});function FH(r,e,t){let[i,n]=Po(e,t!=null?t:{}),{arity:s=1}=n,o=r.split(","),a=new Set(o);return zi({definition(l){l.addOption({names:o,arity:s,hidden:n==null?void 0:n.hidden,description:n==null?void 0:n.description,required:n.required})},transformer(l,c,u){let g=typeof i<"u"?[...i]:void 0;for(let{name:f,value:h}of u.options)!a.has(f)||(g=g!=null?g:[],g.push(h));return g}})}function NH(r,e,t){let[i,n]=Po(e,t!=null?t:{}),s=r.split(","),o=new Set(s);return zi({definition(a){a.addOption({names:s,allowBinding:!1,arity:0,hidden:n.hidden,description:n.description,required:n.required})},transformer(a,l,c){let u=i;for(let{name:g,value:f}of c.options)!o.has(g)||(u=f);return u}})}function LH(r,e,t){let[i,n]=Po(e,t!=null?t:{}),s=r.split(","),o=new Set(s);return zi({definition(a){a.addOption({names:s,allowBinding:!1,arity:0,hidden:n.hidden,description:n.description,required:n.required})},transformer(a,l,c){let u=i;for(let{name:g,value:f}of c.options)!o.has(g)||(u!=null||(u=0),f?u+=1:u=0);return u}})}function TH(r={}){return zi({definition(e,t){var i;e.addProxy({name:(i=r.name)!==null&&i!==void 0?i:t,required:r.required})},transformer(e,t,i){return i.positionals.map(({value:n})=>n)}})}function OH(r={}){return zi({definition(e,t){var i;e.addRest({name:(i=r.name)!==null&&i!==void 0?i:t,required:r.required})},transformer(e,t,i){let n=o=>{let a=i.positionals[o];return a.extra===Kn||a.extra===!1&&oo)}})}function nCe(r,e,t){let[i,n]=Po(e,t!=null?t:{}),{arity:s=1}=n,o=r.split(","),a=new Set(o);return zi({definition(l){l.addOption({names:o,arity:n.tolerateBoolean?0:s,hidden:n.hidden,description:n.description,required:n.required})},transformer(l,c,u){let g,f=i;for(let{name:h,value:p}of u.options)!a.has(h)||(g=h,f=p);return typeof f=="string"?rd(g!=null?g:c,f,n.validator):f}})}function sCe(r={}){let{required:e=!0}=r;return zi({definition(t,i){var n;t.addPositional({name:(n=r.name)!==null&&n!==void 0?n:i,required:r.required})},transformer(t,i,n){var s;for(let o=0;o(se[se.UNNAMED=0]="UNNAMED",se[se.EXCEPTION=1]="EXCEPTION",se[se.MISSING_PEER_DEPENDENCY=2]="MISSING_PEER_DEPENDENCY",se[se.CYCLIC_DEPENDENCIES=3]="CYCLIC_DEPENDENCIES",se[se.DISABLED_BUILD_SCRIPTS=4]="DISABLED_BUILD_SCRIPTS",se[se.BUILD_DISABLED=5]="BUILD_DISABLED",se[se.SOFT_LINK_BUILD=6]="SOFT_LINK_BUILD",se[se.MUST_BUILD=7]="MUST_BUILD",se[se.MUST_REBUILD=8]="MUST_REBUILD",se[se.BUILD_FAILED=9]="BUILD_FAILED",se[se.RESOLVER_NOT_FOUND=10]="RESOLVER_NOT_FOUND",se[se.FETCHER_NOT_FOUND=11]="FETCHER_NOT_FOUND",se[se.LINKER_NOT_FOUND=12]="LINKER_NOT_FOUND",se[se.FETCH_NOT_CACHED=13]="FETCH_NOT_CACHED",se[se.YARN_IMPORT_FAILED=14]="YARN_IMPORT_FAILED",se[se.REMOTE_INVALID=15]="REMOTE_INVALID",se[se.REMOTE_NOT_FOUND=16]="REMOTE_NOT_FOUND",se[se.RESOLUTION_PACK=17]="RESOLUTION_PACK",se[se.CACHE_CHECKSUM_MISMATCH=18]="CACHE_CHECKSUM_MISMATCH",se[se.UNUSED_CACHE_ENTRY=19]="UNUSED_CACHE_ENTRY",se[se.MISSING_LOCKFILE_ENTRY=20]="MISSING_LOCKFILE_ENTRY",se[se.WORKSPACE_NOT_FOUND=21]="WORKSPACE_NOT_FOUND",se[se.TOO_MANY_MATCHING_WORKSPACES=22]="TOO_MANY_MATCHING_WORKSPACES",se[se.CONSTRAINTS_MISSING_DEPENDENCY=23]="CONSTRAINTS_MISSING_DEPENDENCY",se[se.CONSTRAINTS_INCOMPATIBLE_DEPENDENCY=24]="CONSTRAINTS_INCOMPATIBLE_DEPENDENCY",se[se.CONSTRAINTS_EXTRANEOUS_DEPENDENCY=25]="CONSTRAINTS_EXTRANEOUS_DEPENDENCY",se[se.CONSTRAINTS_INVALID_DEPENDENCY=26]="CONSTRAINTS_INVALID_DEPENDENCY",se[se.CANT_SUGGEST_RESOLUTIONS=27]="CANT_SUGGEST_RESOLUTIONS",se[se.FROZEN_LOCKFILE_EXCEPTION=28]="FROZEN_LOCKFILE_EXCEPTION",se[se.CROSS_DRIVE_VIRTUAL_LOCAL=29]="CROSS_DRIVE_VIRTUAL_LOCAL",se[se.FETCH_FAILED=30]="FETCH_FAILED",se[se.DANGEROUS_NODE_MODULES=31]="DANGEROUS_NODE_MODULES",se[se.NODE_GYP_INJECTED=32]="NODE_GYP_INJECTED",se[se.AUTHENTICATION_NOT_FOUND=33]="AUTHENTICATION_NOT_FOUND",se[se.INVALID_CONFIGURATION_KEY=34]="INVALID_CONFIGURATION_KEY",se[se.NETWORK_ERROR=35]="NETWORK_ERROR",se[se.LIFECYCLE_SCRIPT=36]="LIFECYCLE_SCRIPT",se[se.CONSTRAINTS_MISSING_FIELD=37]="CONSTRAINTS_MISSING_FIELD",se[se.CONSTRAINTS_INCOMPATIBLE_FIELD=38]="CONSTRAINTS_INCOMPATIBLE_FIELD",se[se.CONSTRAINTS_EXTRANEOUS_FIELD=39]="CONSTRAINTS_EXTRANEOUS_FIELD",se[se.CONSTRAINTS_INVALID_FIELD=40]="CONSTRAINTS_INVALID_FIELD",se[se.AUTHENTICATION_INVALID=41]="AUTHENTICATION_INVALID",se[se.PROLOG_UNKNOWN_ERROR=42]="PROLOG_UNKNOWN_ERROR",se[se.PROLOG_SYNTAX_ERROR=43]="PROLOG_SYNTAX_ERROR",se[se.PROLOG_EXISTENCE_ERROR=44]="PROLOG_EXISTENCE_ERROR",se[se.STACK_OVERFLOW_RESOLUTION=45]="STACK_OVERFLOW_RESOLUTION",se[se.AUTOMERGE_FAILED_TO_PARSE=46]="AUTOMERGE_FAILED_TO_PARSE",se[se.AUTOMERGE_IMMUTABLE=47]="AUTOMERGE_IMMUTABLE",se[se.AUTOMERGE_SUCCESS=48]="AUTOMERGE_SUCCESS",se[se.AUTOMERGE_REQUIRED=49]="AUTOMERGE_REQUIRED",se[se.DEPRECATED_CLI_SETTINGS=50]="DEPRECATED_CLI_SETTINGS",se[se.PLUGIN_NAME_NOT_FOUND=51]="PLUGIN_NAME_NOT_FOUND",se[se.INVALID_PLUGIN_REFERENCE=52]="INVALID_PLUGIN_REFERENCE",se[se.CONSTRAINTS_AMBIGUITY=53]="CONSTRAINTS_AMBIGUITY",se[se.CACHE_OUTSIDE_PROJECT=54]="CACHE_OUTSIDE_PROJECT",se[se.IMMUTABLE_INSTALL=55]="IMMUTABLE_INSTALL",se[se.IMMUTABLE_CACHE=56]="IMMUTABLE_CACHE",se[se.INVALID_MANIFEST=57]="INVALID_MANIFEST",se[se.PACKAGE_PREPARATION_FAILED=58]="PACKAGE_PREPARATION_FAILED",se[se.INVALID_RANGE_PEER_DEPENDENCY=59]="INVALID_RANGE_PEER_DEPENDENCY",se[se.INCOMPATIBLE_PEER_DEPENDENCY=60]="INCOMPATIBLE_PEER_DEPENDENCY",se[se.DEPRECATED_PACKAGE=61]="DEPRECATED_PACKAGE",se[se.INCOMPATIBLE_OS=62]="INCOMPATIBLE_OS",se[se.INCOMPATIBLE_CPU=63]="INCOMPATIBLE_CPU",se[se.FROZEN_ARTIFACT_EXCEPTION=64]="FROZEN_ARTIFACT_EXCEPTION",se[se.TELEMETRY_NOTICE=65]="TELEMETRY_NOTICE",se[se.PATCH_HUNK_FAILED=66]="PATCH_HUNK_FAILED",se[se.INVALID_CONFIGURATION_VALUE=67]="INVALID_CONFIGURATION_VALUE",se[se.UNUSED_PACKAGE_EXTENSION=68]="UNUSED_PACKAGE_EXTENSION",se[se.REDUNDANT_PACKAGE_EXTENSION=69]="REDUNDANT_PACKAGE_EXTENSION",se[se.AUTO_NM_SUCCESS=70]="AUTO_NM_SUCCESS",se[se.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK=71]="NM_CANT_INSTALL_EXTERNAL_SOFT_LINK",se[se.NM_PRESERVE_SYMLINKS_REQUIRED=72]="NM_PRESERVE_SYMLINKS_REQUIRED",se[se.UPDATE_LOCKFILE_ONLY_SKIP_LINK=73]="UPDATE_LOCKFILE_ONLY_SKIP_LINK",se[se.NM_HARDLINKS_MODE_DOWNGRADED=74]="NM_HARDLINKS_MODE_DOWNGRADED",se[se.PROLOG_INSTANTIATION_ERROR=75]="PROLOG_INSTANTIATION_ERROR",se[se.INCOMPATIBLE_ARCHITECTURE=76]="INCOMPATIBLE_ARCHITECTURE",se[se.GHOST_ARCHITECTURE=77]="GHOST_ARCHITECTURE",se[se.PROLOG_LIMIT_EXCEEDED=79]="PROLOG_LIMIT_EXCEEDED",se))(Ct||{});function RA(r){return`YN${r.toString(10).padStart(4,"0")}`}function RI(r){let e=Number(r.slice(2));if(typeof Ct[e]>"u")throw new Error(`Unknown message name: "${r}"`);return e}var P={};ut(P,{areDescriptorsEqual:()=>y8,areIdentsEqual:()=>iC,areLocatorsEqual:()=>nC,areVirtualPackagesEquivalent:()=>DSe,bindDescriptor:()=>xSe,bindLocator:()=>PSe,convertDescriptorToLocator:()=>ww,convertLocatorToDescriptor:()=>HD,convertPackageToLocator:()=>vSe,convertToIdent:()=>SSe,convertToManifestRange:()=>FSe,copyPackage:()=>eC,devirtualizeDescriptor:()=>tC,devirtualizeLocator:()=>rC,getIdentVendorPath:()=>qD,isPackageCompatible:()=>vw,isVirtualDescriptor:()=>qA,isVirtualLocator:()=>jo,makeDescriptor:()=>_t,makeIdent:()=>qo,makeLocator:()=>tn,makeRange:()=>Qw,parseDescriptor:()=>JA,parseFileStyleRange:()=>kSe,parseIdent:()=>$i,parseLocator:()=>Sc,parseRange:()=>Qf,prettyDependent:()=>nP,prettyDescriptor:()=>tr,prettyIdent:()=>Ai,prettyLocator:()=>mt,prettyLocatorNoColors:()=>jD,prettyRange:()=>Sw,prettyReference:()=>oC,prettyResolution:()=>iP,prettyWorkspace:()=>aC,renamePackage:()=>$d,slugifyIdent:()=>UD,slugifyLocator:()=>bf,sortDescriptors:()=>Sf,stringifyDescriptor:()=>Qn,stringifyIdent:()=>Ot,stringifyLocator:()=>Cs,tryParseDescriptor:()=>sC,tryParseIdent:()=>w8,tryParseLocator:()=>Bw,virtualizeDescriptor:()=>GD,virtualizePackage:()=>YD});var Bf=Pe(J("querystring")),m8=Pe(Xr()),E8=Pe(fJ());var ee={};ut(ee,{LogLevel:()=>Jy,Style:()=>_x,Type:()=>Ue,addLogFilterSupport:()=>zd,applyColor:()=>Bn,applyHyperlink:()=>Cf,applyStyle:()=>qy,json:()=>Ec,jsonOrPretty:()=>A0e,mark:()=>rP,pretty:()=>$e,prettyField:()=>Ho,prettyList:()=>tP,supportsColor:()=>jy,supportsHyperlinks:()=>eP,tuple:()=>ro});var Wd=Pe(wx()),Jd=Pe(nc());var c4=Pe(yn()),u4=Pe($W());var Ie={};ut(Ie,{AsyncActions:()=>Gx,BufferStream:()=>Hx,CachingStrategy:()=>A4,DefaultStream:()=>Yx,allSettledSafe:()=>to,assertNever:()=>qx,bufferStream:()=>hf,buildIgnorePattern:()=>n0e,convertMapsToIndexableObjects:()=>Gy,dynamicRequire:()=>pf,escapeRegExp:()=>_Be,getArrayWithDefault:()=>uf,getFactoryWithDefault:()=>Fa,getMapWithDefault:()=>gf,getSetWithDefault:()=>mc,isIndexableObject:()=>Ux,isPathLike:()=>s0e,isTaggedYarnVersion:()=>ZBe,mapAndFilter:()=>Uo,mapAndFind:()=>jd,overrideType:()=>$Be,parseBoolean:()=>qd,parseOptionalBoolean:()=>l4,prettifyAsyncErrors:()=>ff,prettifySyncErrors:()=>Jx,releaseAfterUseAsync:()=>t0e,replaceEnvVariables:()=>Wx,sortMap:()=>wn,tryParseOptionalBoolean:()=>zx,validateEnum:()=>e0e});var t4=Pe(yn()),r4=Pe(Yg()),i4=Pe(Xr()),jx=J("stream");function ZBe(r){return!!(i4.default.valid(r)&&r.match(/^[^-]+(-rc\.[0-9]+)?$/))}function _Be(r){return r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function $Be(r){}function qx(r){throw new Error(`Assertion failed: Unexpected object '${r}'`)}function e0e(r,e){let t=Object.values(r);if(!t.includes(e))throw new be(`Invalid value for enumeration: ${JSON.stringify(e)} (expected one of ${t.map(i=>JSON.stringify(i)).join(", ")})`);return e}function Uo(r,e){let t=[];for(let i of r){let n=e(i);n!==n4&&t.push(n)}return t}var n4=Symbol();Uo.skip=n4;function jd(r,e){for(let t of r){let i=e(t);if(i!==s4)return i}}var s4=Symbol();jd.skip=s4;function Ux(r){return typeof r=="object"&&r!==null}async function to(r){let e=await Promise.allSettled(r),t=[];for(let i of e){if(i.status==="rejected")throw i.reason;t.push(i.value)}return t}function Gy(r){if(r instanceof Map&&(r=Object.fromEntries(r)),Ux(r))for(let e of Object.keys(r)){let t=r[e];Ux(t)&&(r[e]=Gy(t))}return r}function Fa(r,e,t){let i=r.get(e);return typeof i>"u"&&r.set(e,i=t()),i}function uf(r,e){let t=r.get(e);return typeof t>"u"&&r.set(e,t=[]),t}function mc(r,e){let t=r.get(e);return typeof t>"u"&&r.set(e,t=new Set),t}function gf(r,e){let t=r.get(e);return typeof t>"u"&&r.set(e,t=new Map),t}async function t0e(r,e){if(e==null)return await r();try{return await r()}finally{await e()}}async function ff(r,e){try{return await r()}catch(t){throw t.message=e(t.message),t}}function Jx(r,e){try{return r()}catch(t){throw t.message=e(t.message),t}}async function hf(r){return await new Promise((e,t)=>{let i=[];r.on("error",n=>{t(n)}),r.on("data",n=>{i.push(n)}),r.on("end",()=>{e(Buffer.concat(i))})})}var Hx=class extends jx.Transform{constructor(){super(...arguments);this.chunks=[]}_transform(t,i,n){if(i!=="buffer"||!Buffer.isBuffer(t))throw new Error("Assertion failed: BufferStream only accept buffers");this.chunks.push(t),n(null,null)}_flush(t){t(null,Buffer.concat(this.chunks))}};function r0e(){let r,e;return{promise:new Promise((i,n)=>{r=i,e=n}),resolve:r,reject:e}}var Gx=class{constructor(e){this.deferred=new Map;this.promises=new Map;this.limit=(0,r4.default)(e)}set(e,t){let i=this.deferred.get(e);typeof i>"u"&&this.deferred.set(e,i=r0e());let n=this.limit(()=>t());return this.promises.set(e,n),n.then(()=>{this.promises.get(e)===n&&i.resolve()},s=>{this.promises.get(e)===n&&i.reject(s)}),i.promise}reduce(e,t){var n;let i=(n=this.promises.get(e))!=null?n:Promise.resolve();this.set(e,()=>t(i))}async wait(){await Promise.all(this.promises.values())}},Yx=class extends jx.Transform{constructor(t=Buffer.alloc(0)){super();this.active=!0;this.ifEmpty=t}_transform(t,i,n){if(i!=="buffer"||!Buffer.isBuffer(t))throw new Error("Assertion failed: DefaultStream only accept buffers");this.active=!1,n(null,t)}_flush(t){this.active&&this.ifEmpty.length>0?t(null,this.ifEmpty):t(null)}},Yd=eval("require");function o4(r){return Yd(K.fromPortablePath(r))}function a4(path){let physicalPath=K.fromPortablePath(path),currentCacheEntry=Yd.cache[physicalPath];delete Yd.cache[physicalPath];let result;try{result=o4(physicalPath);let freshCacheEntry=Yd.cache[physicalPath],dynamicModule=eval("module"),freshCacheIndex=dynamicModule.children.indexOf(freshCacheEntry);freshCacheIndex!==-1&&dynamicModule.children.splice(freshCacheIndex,1)}finally{Yd.cache[physicalPath]=currentCacheEntry}return result}var e4=new Map;function i0e(r){let e=e4.get(r),t=M.statSync(r);if((e==null?void 0:e.mtime)===t.mtimeMs)return e.instance;let i=a4(r);return e4.set(r,{mtime:t.mtimeMs,instance:i}),i}var A4=(i=>(i[i.NoCache=0]="NoCache",i[i.FsTime=1]="FsTime",i[i.Node=2]="Node",i))(A4||{});function pf(r,{cachingStrategy:e=2}={}){switch(e){case 0:return a4(r);case 1:return i0e(r);case 2:return o4(r);default:throw new Error("Unsupported caching strategy")}}function wn(r,e){let t=Array.from(r);Array.isArray(e)||(e=[e]);let i=[];for(let s of e)i.push(t.map(o=>s(o)));let n=t.map((s,o)=>o);return n.sort((s,o)=>{for(let a of i){let l=a[s]a[o]?1:0;if(l!==0)return l}return 0}),n.map(s=>t[s])}function n0e(r){return r.length===0?null:r.map(e=>`(${t4.default.makeRe(e,{windows:!1,dot:!0}).source})`).join("|")}function Wx(r,{env:e}){let t=/\${(?[\d\w_]+)(?:)?(?:-(?[^}]*))?}/g;return r.replace(t,(...i)=>{let{variableName:n,colon:s,fallback:o}=i[i.length-1],a=Object.prototype.hasOwnProperty.call(e,n),l=e[n];if(l||a&&!s)return l;if(o!=null)return o;throw new be(`Environment variable not found (${n})`)})}function qd(r){switch(r){case"true":case"1":case 1:case!0:return!0;case"false":case"0":case 0:case!1:return!1;default:throw new Error(`Couldn't parse "${r}" as a boolean`)}}function l4(r){return typeof r>"u"?r:qd(r)}function zx(r){try{return l4(r)}catch{return null}}function s0e(r){return!!(K.isAbsolute(r)||r.match(/^(\.{1,2}|~)\//))}var df=(t=>(t.HARD="HARD",t.SOFT="SOFT",t))(df||{}),Vx=(i=>(i.Dependency="Dependency",i.PeerDependency="PeerDependency",i.PeerDependencyMeta="PeerDependencyMeta",i))(Vx||{}),Xx=(i=>(i.Inactive="inactive",i.Redundant="redundant",i.Active="active",i))(Xx||{});var Ue={NO_HINT:"NO_HINT",NULL:"NULL",SCOPE:"SCOPE",NAME:"NAME",RANGE:"RANGE",REFERENCE:"REFERENCE",NUMBER:"NUMBER",PATH:"PATH",URL:"URL",ADDED:"ADDED",REMOVED:"REMOVED",CODE:"CODE",DURATION:"DURATION",SIZE:"SIZE",IDENT:"IDENT",DESCRIPTOR:"DESCRIPTOR",LOCATOR:"LOCATOR",RESOLUTION:"RESOLUTION",DEPENDENT:"DEPENDENT",PACKAGE_EXTENSION:"PACKAGE_EXTENSION",SETTING:"SETTING",MARKDOWN:"MARKDOWN"},_x=(e=>(e[e.BOLD=2]="BOLD",e))(_x||{}),$x=Jd.default.GITHUB_ACTIONS?{level:2}:Wd.default.supportsColor?{level:Wd.default.supportsColor.level}:{level:0},jy=$x.level!==0,eP=jy&&!Jd.default.GITHUB_ACTIONS&&!Jd.default.CIRCLE&&!Jd.default.GITLAB,Zx=new Wd.default.Instance($x),o0e=new Map([[Ue.NO_HINT,null],[Ue.NULL,["#a853b5",129]],[Ue.SCOPE,["#d75f00",166]],[Ue.NAME,["#d7875f",173]],[Ue.RANGE,["#00afaf",37]],[Ue.REFERENCE,["#87afff",111]],[Ue.NUMBER,["#ffd700",220]],[Ue.PATH,["#d75fd7",170]],[Ue.URL,["#d75fd7",170]],[Ue.ADDED,["#5faf00",70]],[Ue.REMOVED,["#d70000",160]],[Ue.CODE,["#87afff",111]],[Ue.SIZE,["#ffd700",220]]]),ds=r=>r,Yy={[Ue.NUMBER]:ds({pretty:(r,e)=>Bn(r,`${e}`,Ue.NUMBER),json:r=>r}),[Ue.IDENT]:ds({pretty:(r,e)=>Ai(r,e),json:r=>Ot(r)}),[Ue.LOCATOR]:ds({pretty:(r,e)=>mt(r,e),json:r=>Cs(r)}),[Ue.DESCRIPTOR]:ds({pretty:(r,e)=>tr(r,e),json:r=>Qn(r)}),[Ue.RESOLUTION]:ds({pretty:(r,{descriptor:e,locator:t})=>iP(r,e,t),json:({descriptor:r,locator:e})=>({descriptor:Qn(r),locator:e!==null?Cs(e):null})}),[Ue.DEPENDENT]:ds({pretty:(r,{locator:e,descriptor:t})=>nP(r,e,t),json:({locator:r,descriptor:e})=>({locator:Cs(r),descriptor:Qn(e)})}),[Ue.PACKAGE_EXTENSION]:ds({pretty:(r,e)=>{switch(e.type){case"Dependency":return`${Ai(r,e.parentDescriptor)} \u27A4 ${Bn(r,"dependencies",Ue.CODE)} \u27A4 ${Ai(r,e.descriptor)}`;case"PeerDependency":return`${Ai(r,e.parentDescriptor)} \u27A4 ${Bn(r,"peerDependencies",Ue.CODE)} \u27A4 ${Ai(r,e.descriptor)}`;case"PeerDependencyMeta":return`${Ai(r,e.parentDescriptor)} \u27A4 ${Bn(r,"peerDependenciesMeta",Ue.CODE)} \u27A4 ${Ai(r,$i(e.selector))} \u27A4 ${Bn(r,e.key,Ue.CODE)}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${e.type}`)}},json:r=>{switch(r.type){case"Dependency":return`${Ot(r.parentDescriptor)} > ${Ot(r.descriptor)}`;case"PeerDependency":return`${Ot(r.parentDescriptor)} >> ${Ot(r.descriptor)}`;case"PeerDependencyMeta":return`${Ot(r.parentDescriptor)} >> ${r.selector} / ${r.key}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${r.type}`)}}}),[Ue.SETTING]:ds({pretty:(r,e)=>(r.get(e),Cf(r,Bn(r,e,Ue.CODE),`https://yarnpkg.com/configuration/yarnrc#${e}`)),json:r=>r}),[Ue.DURATION]:ds({pretty:(r,e)=>{if(e>1e3*60){let t=Math.floor(e/1e3/60),i=Math.ceil((e-t*60*1e3)/1e3);return i===0?`${t}m`:`${t}m ${i}s`}else{let t=Math.floor(e/1e3),i=e-t*1e3;return i===0?`${t}s`:`${t}s ${i}ms`}},json:r=>r}),[Ue.SIZE]:ds({pretty:(r,e)=>{let t=["KB","MB","GB","TB"],i=t.length;for(;i>1&&e<1024**i;)i-=1;let n=1024**i,s=Math.floor(e*100/n)/100;return Bn(r,`${s} ${t[i-1]}`,Ue.NUMBER)},json:r=>r}),[Ue.PATH]:ds({pretty:(r,e)=>Bn(r,K.fromPortablePath(e),Ue.PATH),json:r=>K.fromPortablePath(r)}),[Ue.MARKDOWN]:ds({pretty:(r,{text:e,format:t,paragraphs:i})=>Li(e,{format:t,paragraphs:i}),json:({text:r})=>r})};function ro(r,e){return[e,r]}function qy(r,e,t){return r.get("enableColors")&&t&2&&(e=Wd.default.bold(e)),e}function Bn(r,e,t){if(!r.get("enableColors"))return e;let i=o0e.get(t);if(i===null)return e;let n=typeof i>"u"?t:$x.level>=3?i[0]:i[1],s=typeof n=="number"?Zx.ansi256(n):n.startsWith("#")?Zx.hex(n):Zx[n];if(typeof s!="function")throw new Error(`Invalid format type ${n}`);return s(e)}var a0e=!!process.env.KONSOLE_VERSION;function Cf(r,e,t){return r.get("enableHyperlinks")?a0e?`\x1B]8;;${t}\x1B\\${e}\x1B]8;;\x1B\\`:`\x1B]8;;${t}\x07${e}\x1B]8;;\x07`:e}function $e(r,e,t){if(e===null)return Bn(r,"null",Ue.NULL);if(Object.prototype.hasOwnProperty.call(Yy,t))return Yy[t].pretty(r,e);if(typeof e!="string")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof e}`);return Bn(r,e,t)}function tP(r,e,t,{separator:i=", "}={}){return[...e].map(n=>$e(r,n,t)).join(i)}function Ec(r,e){if(r===null)return null;if(Object.prototype.hasOwnProperty.call(Yy,e))return Yy[e].json(r);if(typeof r!="string")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof r}`);return r}function A0e(r,e,[t,i]){return r?Ec(t,i):$e(e,t,i)}function rP(r){return{Check:Bn(r,"\u2713","green"),Cross:Bn(r,"\u2718","red"),Question:Bn(r,"?","cyan")}}function Ho(r,{label:e,value:[t,i]}){return`${$e(r,e,Ue.CODE)}: ${$e(r,t,i)}`}var Jy=(n=>(n.Error="error",n.Warning="warning",n.Info="info",n.Discard="discard",n))(Jy||{});function zd(r,{configuration:e}){let t=e.get("logFilters"),i=new Map,n=new Map,s=[];for(let g of t){let f=g.get("level");if(typeof f>"u")continue;let h=g.get("code");typeof h<"u"&&i.set(h,f);let p=g.get("text");typeof p<"u"&&n.set(p,f);let C=g.get("pattern");typeof C<"u"&&s.push([c4.default.matcher(C,{contains:!0}),f])}s.reverse();let o=(g,f,h)=>{if(g===null||g===0)return h;let p=n.size>0||s.length>0?(0,u4.default)(f):f;if(n.size>0){let C=n.get(p);if(typeof C<"u")return C!=null?C:h}if(s.length>0){for(let[C,y]of s)if(C(p))return y!=null?y:h}if(i.size>0){let C=i.get(RA(g));if(typeof C<"u")return C!=null?C:h}return h},a=r.reportInfo,l=r.reportWarning,c=r.reportError,u=function(g,f,h,p){switch(o(f,h,p)){case"info":a.call(g,f,h);break;case"warning":l.call(g,f!=null?f:0,h);break;case"error":c.call(g,f!=null?f:0,h);break}};r.reportInfo=function(...g){return u(this,...g,"info")},r.reportWarning=function(...g){return u(this,...g,"warning")},r.reportError=function(...g){return u(this,...g,"error")}}var li={};ut(li,{checksumFile:()=>Iw,checksumPattern:()=>yw,makeHash:()=>en});var Ew=J("crypto"),KD=Pe(MD());function en(...r){let e=(0,Ew.createHash)("sha512"),t="";for(let i of r)typeof i=="string"?t+=i:i&&(t&&(e.update(t),t=""),e.update(i));return t&&e.update(t),e.digest("hex")}async function Iw(r,{baseFs:e,algorithm:t}={baseFs:M,algorithm:"sha512"}){let i=await e.openPromise(r,"r");try{let s=Buffer.allocUnsafeSlow(65536),o=(0,Ew.createHash)(t),a=0;for(;(a=await e.readPromise(i,s,0,65536))!==0;)o.update(a===65536?s:s.slice(0,a));return o.digest("hex")}finally{await e.closePromise(i)}}async function yw(r,{cwd:e}){let i=(await(0,KD.default)(r,{cwd:K.fromPortablePath(e),expandDirectories:!1,onlyDirectories:!0,unique:!0})).map(a=>`${a}/**/*`),n=await(0,KD.default)([r,...i],{cwd:K.fromPortablePath(e),expandDirectories:!1,onlyFiles:!1,unique:!0});n.sort();let s=await Promise.all(n.map(async a=>{let l=[Buffer.from(a)],c=K.toPortablePath(a),u=await M.lstatPromise(c);return u.isSymbolicLink()?l.push(Buffer.from(await M.readlinkPromise(c))):u.isFile()&&l.push(await M.readFilePromise(c)),l.join("\0")})),o=(0,Ew.createHash)("sha512");for(let a of s)o.update(a);return o.digest("hex")}var _d="virtual:",QSe=5,I8=/(os|cpu|libc)=([a-z0-9_-]+)/,bSe=(0,E8.makeParser)(I8);function qo(r,e){if(r!=null&&r.startsWith("@"))throw new Error("Invalid scope: don't prefix it with '@'");return{identHash:en(r,e),scope:r,name:e}}function _t(r,e){return{identHash:r.identHash,scope:r.scope,name:r.name,descriptorHash:en(r.identHash,e),range:e}}function tn(r,e){return{identHash:r.identHash,scope:r.scope,name:r.name,locatorHash:en(r.identHash,e),reference:e}}function SSe(r){return{identHash:r.identHash,scope:r.scope,name:r.name}}function ww(r){return{identHash:r.identHash,scope:r.scope,name:r.name,locatorHash:r.descriptorHash,reference:r.range}}function HD(r){return{identHash:r.identHash,scope:r.scope,name:r.name,descriptorHash:r.locatorHash,range:r.reference}}function vSe(r){return{identHash:r.identHash,scope:r.scope,name:r.name,locatorHash:r.locatorHash,reference:r.reference}}function $d(r,e){return{identHash:e.identHash,scope:e.scope,name:e.name,locatorHash:e.locatorHash,reference:e.reference,version:r.version,languageName:r.languageName,linkType:r.linkType,conditions:r.conditions,dependencies:new Map(r.dependencies),peerDependencies:new Map(r.peerDependencies),dependenciesMeta:new Map(r.dependenciesMeta),peerDependenciesMeta:new Map(r.peerDependenciesMeta),bin:new Map(r.bin)}}function eC(r){return $d(r,r)}function GD(r,e){if(e.includes("#"))throw new Error("Invalid entropy");return _t(r,`virtual:${e}#${r.range}`)}function YD(r,e){if(e.includes("#"))throw new Error("Invalid entropy");return $d(r,tn(r,`virtual:${e}#${r.reference}`))}function qA(r){return r.range.startsWith(_d)}function jo(r){return r.reference.startsWith(_d)}function tC(r){if(!qA(r))throw new Error("Not a virtual descriptor");return _t(r,r.range.replace(/^[^#]*#/,""))}function rC(r){if(!jo(r))throw new Error("Not a virtual descriptor");return tn(r,r.reference.replace(/^[^#]*#/,""))}function xSe(r,e){return r.range.includes("::")?r:_t(r,`${r.range}::${Bf.default.stringify(e)}`)}function PSe(r,e){return r.reference.includes("::")?r:tn(r,`${r.reference}::${Bf.default.stringify(e)}`)}function iC(r,e){return r.identHash===e.identHash}function y8(r,e){return r.descriptorHash===e.descriptorHash}function nC(r,e){return r.locatorHash===e.locatorHash}function DSe(r,e){if(!jo(r))throw new Error("Invalid package type");if(!jo(e))throw new Error("Invalid package type");if(!iC(r,e)||r.dependencies.size!==e.dependencies.size)return!1;for(let t of r.dependencies.values()){let i=e.dependencies.get(t.identHash);if(!i||!y8(t,i))return!1}return!0}function $i(r){let e=w8(r);if(!e)throw new Error(`Invalid ident (${r})`);return e}function w8(r){let e=r.match(/^(?:@([^/]+?)\/)?([^/]+)$/);if(!e)return null;let[,t,i]=e;return qo(typeof t<"u"?t:null,i)}function JA(r,e=!1){let t=sC(r,e);if(!t)throw new Error(`Invalid descriptor (${r})`);return t}function sC(r,e=!1){let t=e?r.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))$/):r.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))?$/);if(!t)return null;let[,i,n,s]=t;if(s==="unknown")throw new Error(`Invalid range (${r})`);let o=typeof i<"u"?i:null,a=typeof s<"u"?s:"unknown";return _t(qo(o,n),a)}function Sc(r,e=!1){let t=Bw(r,e);if(!t)throw new Error(`Invalid locator (${r})`);return t}function Bw(r,e=!1){let t=e?r.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))$/):r.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))?$/);if(!t)return null;let[,i,n,s]=t;if(s==="unknown")throw new Error(`Invalid reference (${r})`);let o=typeof i<"u"?i:null,a=typeof s<"u"?s:"unknown";return tn(qo(o,n),a)}function Qf(r,e){let t=r.match(/^([^#:]*:)?((?:(?!::)[^#])*)(?:#((?:(?!::).)*))?(?:::(.*))?$/);if(t===null)throw new Error(`Invalid range (${r})`);let i=typeof t[1]<"u"?t[1]:null;if(typeof(e==null?void 0:e.requireProtocol)=="string"&&i!==e.requireProtocol)throw new Error(`Invalid protocol (${i})`);if((e==null?void 0:e.requireProtocol)&&i===null)throw new Error(`Missing protocol (${i})`);let n=typeof t[3]<"u"?decodeURIComponent(t[2]):null;if((e==null?void 0:e.requireSource)&&n===null)throw new Error(`Missing source (${r})`);let s=typeof t[3]<"u"?decodeURIComponent(t[3]):decodeURIComponent(t[2]),o=e!=null&&e.parseSelector?Bf.default.parse(s):s,a=typeof t[4]<"u"?Bf.default.parse(t[4]):null;return{protocol:i,source:n,selector:o,params:a}}function kSe(r,{protocol:e}){let{selector:t,params:i}=Qf(r,{requireProtocol:e,requireBindings:!0});if(typeof i.locator!="string")throw new Error(`Assertion failed: Invalid bindings for ${r}`);return{parentLocator:Sc(i.locator,!0),path:t}}function C8(r){return r=r.replace(/%/g,"%25"),r=r.replace(/:/g,"%3A"),r=r.replace(/#/g,"%23"),r}function RSe(r){return r===null?!1:Object.entries(r).length>0}function Qw({protocol:r,source:e,selector:t,params:i}){let n="";return r!==null&&(n+=`${r}`),e!==null&&(n+=`${C8(e)}#`),n+=C8(t),RSe(i)&&(n+=`::${Bf.default.stringify(i)}`),n}function FSe(r){let{params:e,protocol:t,source:i,selector:n}=Qf(r);for(let s in e)s.startsWith("__")&&delete e[s];return Qw({protocol:t,source:i,params:e,selector:n})}function Ot(r){return r.scope?`@${r.scope}/${r.name}`:`${r.name}`}function Qn(r){return r.scope?`@${r.scope}/${r.name}@${r.range}`:`${r.name}@${r.range}`}function Cs(r){return r.scope?`@${r.scope}/${r.name}@${r.reference}`:`${r.name}@${r.reference}`}function UD(r){return r.scope!==null?`@${r.scope}-${r.name}`:r.name}function bf(r){let{protocol:e,selector:t}=Qf(r.reference),i=e!==null?e.replace(/:$/,""):"exotic",n=m8.default.valid(t),s=n!==null?`${i}-${n}`:`${i}`,o=10,a=r.scope?`${UD(r)}-${s}-${r.locatorHash.slice(0,o)}`:`${UD(r)}-${s}-${r.locatorHash.slice(0,o)}`;return Ur(a)}function Ai(r,e){return e.scope?`${$e(r,`@${e.scope}/`,Ue.SCOPE)}${$e(r,e.name,Ue.NAME)}`:`${$e(r,e.name,Ue.NAME)}`}function bw(r){if(r.startsWith(_d)){let e=bw(r.substring(r.indexOf("#")+1)),t=r.substring(_d.length,_d.length+QSe);return`${e} [${t}]`}else return r.replace(/\?.*/,"?[...]")}function Sw(r,e){return`${$e(r,bw(e),Ue.RANGE)}`}function tr(r,e){return`${Ai(r,e)}${$e(r,"@",Ue.RANGE)}${Sw(r,e.range)}`}function oC(r,e){return`${$e(r,bw(e),Ue.REFERENCE)}`}function mt(r,e){return`${Ai(r,e)}${$e(r,"@",Ue.REFERENCE)}${oC(r,e.reference)}`}function jD(r){return`${Ot(r)}@${bw(r.reference)}`}function Sf(r){return wn(r,[e=>Ot(e),e=>e.range])}function aC(r,e){return Ai(r,e.locator)}function iP(r,e,t){let i=qA(e)?tC(e):e;return t===null?`${tr(r,i)} \u2192 ${rP(r).Cross}`:i.identHash===t.identHash?`${tr(r,i)} \u2192 ${oC(r,t.reference)}`:`${tr(r,i)} \u2192 ${mt(r,t)}`}function nP(r,e,t){return t===null?`${mt(r,e)}`:`${mt(r,e)} (via ${Sw(r,t.range)})`}function qD(r){return`node_modules/${Ot(r)}`}function vw(r,e){return r.conditions?bSe(r.conditions,t=>{let[,i,n]=t.match(I8),s=e[i];return s?s.includes(n):!0}):!0}var B8={hooks:{reduceDependency:(r,e,t,i,{resolver:n,resolveOptions:s})=>{for(let{pattern:o,reference:a}of e.topLevelWorkspace.manifest.resolutions){if(o.from&&o.from.fullName!==Ot(t)||o.from&&o.from.description&&o.from.description!==t.reference||o.descriptor.fullName!==Ot(r)||o.descriptor.description&&o.descriptor.description!==r.range)continue;return n.bindDescriptor(_t(r,a),e.topLevelWorkspace.anchoredLocator,s)}return r},validateProject:async(r,e)=>{for(let t of r.workspaces){let i=aC(r.configuration,t);await r.configuration.triggerHook(n=>n.validateWorkspace,t,{reportWarning:(n,s)=>e.reportWarning(n,`${i}: ${s}`),reportError:(n,s)=>e.reportError(n,`${i}: ${s}`)})}},validateWorkspace:async(r,e)=>{let{manifest:t}=r;t.resolutions.length&&r.cwd!==r.project.cwd&&t.errors.push(new Error("Resolutions field will be ignored"));for(let i of t.errors)e.reportWarning(57,i.message)}}};var D8=Pe(Xr());var AC=class{supportsDescriptor(e,t){return!!(e.range.startsWith(AC.protocol)||t.project.tryWorkspaceByDescriptor(e)!==null)}supportsLocator(e,t){return!!e.reference.startsWith(AC.protocol)}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){return[i.project.getWorkspaceByDescriptor(e).anchoredLocator]}async getSatisfying(e,t,i){return null}async resolve(e,t){let i=t.project.getWorkspaceByCwd(e.reference.slice(AC.protocol.length));return{...e,version:i.manifest.version||"0.0.0",languageName:"unknown",linkType:"SOFT",conditions:null,dependencies:new Map([...i.manifest.dependencies,...i.manifest.devDependencies]),peerDependencies:new Map([...i.manifest.peerDependencies]),dependenciesMeta:i.manifest.dependenciesMeta,peerDependenciesMeta:i.manifest.peerDependenciesMeta,bin:i.manifest.bin}}},jr=AC;jr.protocol="workspace:";var vt={};ut(vt,{SemVer:()=>S8.SemVer,clean:()=>LSe,satisfiesWithPrereleases:()=>vc,validRange:()=>io});var xw=Pe(Xr()),S8=Pe(Xr()),Q8=new Map;function vc(r,e,t=!1){if(!r)return!1;let i=`${e}${t}`,n=Q8.get(i);if(typeof n>"u")try{n=new xw.default.Range(e,{includePrerelease:!0,loose:t})}catch{return!1}finally{Q8.set(i,n||null)}else if(n===null)return!1;let s;try{s=new xw.default.SemVer(r,n)}catch{return!1}return n.test(s)?!0:(s.prerelease&&(s.prerelease=[]),n.set.some(o=>{for(let a of o)a.semver.prerelease&&(a.semver.prerelease=[]);return o.every(a=>a.test(s))}))}var b8=new Map;function io(r){if(r.indexOf(":")!==-1)return null;let e=b8.get(r);if(typeof e<"u")return e;try{e=new xw.default.Range(r)}catch{e=null}return b8.set(r,e),e}var NSe=/^(?:[\sv=]*?)((0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?)(?:\s*)$/;function LSe(r){let e=NSe.exec(r);return e?e[1]:null}var WA=class{constructor(){this.indent=" ";this.name=null;this.version=null;this.os=null;this.cpu=null;this.libc=null;this.type=null;this.packageManager=null;this.private=!1;this.license=null;this.main=null;this.module=null;this.browser=null;this.languageName=null;this.bin=new Map;this.scripts=new Map;this.dependencies=new Map;this.devDependencies=new Map;this.peerDependencies=new Map;this.workspaceDefinitions=[];this.dependenciesMeta=new Map;this.peerDependenciesMeta=new Map;this.resolutions=[];this.files=null;this.publishConfig=null;this.installConfig=null;this.preferUnplugged=null;this.raw={};this.errors=[]}static async tryFind(e,{baseFs:t=new $t}={}){let i=x.join(e,"package.json");try{return await WA.fromFile(i,{baseFs:t})}catch(n){if(n.code==="ENOENT")return null;throw n}}static async find(e,{baseFs:t}={}){let i=await WA.tryFind(e,{baseFs:t});if(i===null)throw new Error("Manifest not found");return i}static async fromFile(e,{baseFs:t=new $t}={}){let i=new WA;return await i.loadFile(e,{baseFs:t}),i}static fromText(e){let t=new WA;return t.loadFromText(e),t}static isManifestFieldCompatible(e,t){if(e===null)return!0;let i=!0,n=!1;for(let s of e)if(s[0]==="!"){if(n=!0,t===s.slice(1))return!1}else if(i=!1,s===t)return!0;return n&&i}loadFromText(e){let t;try{t=JSON.parse(x8(e)||"{}")}catch(i){throw i.message+=` (when parsing ${e})`,i}this.load(t),this.indent=v8(e)}async loadFile(e,{baseFs:t=new $t}){let i=await t.readFilePromise(e,"utf8"),n;try{n=JSON.parse(x8(i)||"{}")}catch(s){throw s.message+=` (when parsing ${e})`,s}this.load(n),this.indent=v8(i)}load(e,{yamlCompatibilityMode:t=!1}={}){if(typeof e!="object"||e===null)throw new Error(`Utterly invalid manifest data (${e})`);this.raw=e;let i=[];if(this.name=null,typeof e.name=="string")try{this.name=$i(e.name)}catch{i.push(new Error("Parsing failed for the 'name' field"))}if(typeof e.version=="string"?this.version=e.version:this.version=null,Array.isArray(e.os)){let s=[];this.os=s;for(let o of e.os)typeof o!="string"?i.push(new Error("Parsing failed for the 'os' field")):s.push(o)}else this.os=null;if(Array.isArray(e.cpu)){let s=[];this.cpu=s;for(let o of e.cpu)typeof o!="string"?i.push(new Error("Parsing failed for the 'cpu' field")):s.push(o)}else this.cpu=null;if(Array.isArray(e.libc)){let s=[];this.libc=s;for(let o of e.libc)typeof o!="string"?i.push(new Error("Parsing failed for the 'libc' field")):s.push(o)}else this.libc=null;if(typeof e.type=="string"?this.type=e.type:this.type=null,typeof e.packageManager=="string"?this.packageManager=e.packageManager:this.packageManager=null,typeof e.private=="boolean"?this.private=e.private:this.private=!1,typeof e.license=="string"?this.license=e.license:this.license=null,typeof e.languageName=="string"?this.languageName=e.languageName:this.languageName=null,typeof e.main=="string"?this.main=rn(e.main):this.main=null,typeof e.module=="string"?this.module=rn(e.module):this.module=null,e.browser!=null)if(typeof e.browser=="string")this.browser=rn(e.browser);else{this.browser=new Map;for(let[s,o]of Object.entries(e.browser))this.browser.set(rn(s),typeof o=="string"?rn(o):o)}else this.browser=null;if(this.bin=new Map,typeof e.bin=="string")this.name!==null?this.bin.set(this.name.name,rn(e.bin)):i.push(new Error("String bin field, but no attached package name"));else if(typeof e.bin=="object"&&e.bin!==null)for(let[s,o]of Object.entries(e.bin)){if(typeof o!="string"){i.push(new Error(`Invalid bin definition for '${s}'`));continue}let a=$i(s);this.bin.set(a.name,rn(o))}if(this.scripts=new Map,typeof e.scripts=="object"&&e.scripts!==null)for(let[s,o]of Object.entries(e.scripts)){if(typeof o!="string"){i.push(new Error(`Invalid script definition for '${s}'`));continue}this.scripts.set(s,o)}if(this.dependencies=new Map,typeof e.dependencies=="object"&&e.dependencies!==null)for(let[s,o]of Object.entries(e.dependencies)){if(typeof o!="string"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=$i(s)}catch{i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=_t(a,o);this.dependencies.set(l.identHash,l)}if(this.devDependencies=new Map,typeof e.devDependencies=="object"&&e.devDependencies!==null)for(let[s,o]of Object.entries(e.devDependencies)){if(typeof o!="string"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=$i(s)}catch{i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=_t(a,o);this.devDependencies.set(l.identHash,l)}if(this.peerDependencies=new Map,typeof e.peerDependencies=="object"&&e.peerDependencies!==null)for(let[s,o]of Object.entries(e.peerDependencies)){let a;try{a=$i(s)}catch{i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}(typeof o!="string"||!o.startsWith(jr.protocol)&&!io(o))&&(i.push(new Error(`Invalid dependency range for '${s}'`)),o="*");let l=_t(a,o);this.peerDependencies.set(l.identHash,l)}typeof e.workspaces=="object"&&e.workspaces!==null&&e.workspaces.nohoist&&i.push(new Error("'nohoist' is deprecated, please use 'installConfig.hoistingLimits' instead"));let n=Array.isArray(e.workspaces)?e.workspaces:typeof e.workspaces=="object"&&e.workspaces!==null&&Array.isArray(e.workspaces.packages)?e.workspaces.packages:[];this.workspaceDefinitions=[];for(let s of n){if(typeof s!="string"){i.push(new Error(`Invalid workspace definition for '${s}'`));continue}this.workspaceDefinitions.push({pattern:s})}if(this.dependenciesMeta=new Map,typeof e.dependenciesMeta=="object"&&e.dependenciesMeta!==null)for(let[s,o]of Object.entries(e.dependenciesMeta)){if(typeof o!="object"||o===null){i.push(new Error(`Invalid meta field for '${s}`));continue}let a=JA(s),l=this.ensureDependencyMeta(a),c=Pw(o.built,{yamlCompatibilityMode:t});if(c===null){i.push(new Error(`Invalid built meta field for '${s}'`));continue}let u=Pw(o.optional,{yamlCompatibilityMode:t});if(u===null){i.push(new Error(`Invalid optional meta field for '${s}'`));continue}let g=Pw(o.unplugged,{yamlCompatibilityMode:t});if(g===null){i.push(new Error(`Invalid unplugged meta field for '${s}'`));continue}Object.assign(l,{built:c,optional:u,unplugged:g})}if(this.peerDependenciesMeta=new Map,typeof e.peerDependenciesMeta=="object"&&e.peerDependenciesMeta!==null)for(let[s,o]of Object.entries(e.peerDependenciesMeta)){if(typeof o!="object"||o===null){i.push(new Error(`Invalid meta field for '${s}'`));continue}let a=JA(s),l=this.ensurePeerDependencyMeta(a),c=Pw(o.optional,{yamlCompatibilityMode:t});if(c===null){i.push(new Error(`Invalid optional meta field for '${s}'`));continue}Object.assign(l,{optional:c})}if(this.resolutions=[],typeof e.resolutions=="object"&&e.resolutions!==null)for(let[s,o]of Object.entries(e.resolutions)){if(typeof o!="string"){i.push(new Error(`Invalid resolution entry for '${s}'`));continue}try{this.resolutions.push({pattern:cI(s),reference:o})}catch(a){i.push(a);continue}}if(Array.isArray(e.files)){this.files=new Set;for(let s of e.files){if(typeof s!="string"){i.push(new Error(`Invalid files entry for '${s}'`));continue}this.files.add(s)}}else this.files=null;if(typeof e.publishConfig=="object"&&e.publishConfig!==null){if(this.publishConfig={},typeof e.publishConfig.access=="string"&&(this.publishConfig.access=e.publishConfig.access),typeof e.publishConfig.main=="string"&&(this.publishConfig.main=rn(e.publishConfig.main)),typeof e.publishConfig.module=="string"&&(this.publishConfig.module=rn(e.publishConfig.module)),e.publishConfig.browser!=null)if(typeof e.publishConfig.browser=="string")this.publishConfig.browser=rn(e.publishConfig.browser);else{this.publishConfig.browser=new Map;for(let[s,o]of Object.entries(e.publishConfig.browser))this.publishConfig.browser.set(rn(s),typeof o=="string"?rn(o):o)}if(typeof e.publishConfig.registry=="string"&&(this.publishConfig.registry=e.publishConfig.registry),typeof e.publishConfig.bin=="string")this.name!==null?this.publishConfig.bin=new Map([[this.name.name,rn(e.publishConfig.bin)]]):i.push(new Error("String bin field, but no attached package name"));else if(typeof e.publishConfig.bin=="object"&&e.publishConfig.bin!==null){this.publishConfig.bin=new Map;for(let[s,o]of Object.entries(e.publishConfig.bin)){if(typeof o!="string"){i.push(new Error(`Invalid bin definition for '${s}'`));continue}this.publishConfig.bin.set(s,rn(o))}}if(Array.isArray(e.publishConfig.executableFiles)){this.publishConfig.executableFiles=new Set;for(let s of e.publishConfig.executableFiles){if(typeof s!="string"){i.push(new Error("Invalid executable file definition"));continue}this.publishConfig.executableFiles.add(rn(s))}}}else this.publishConfig=null;if(typeof e.installConfig=="object"&&e.installConfig!==null){this.installConfig={};for(let s of Object.keys(e.installConfig))s==="hoistingLimits"?typeof e.installConfig.hoistingLimits=="string"?this.installConfig.hoistingLimits=e.installConfig.hoistingLimits:i.push(new Error("Invalid hoisting limits definition")):s=="selfReferences"?typeof e.installConfig.selfReferences=="boolean"?this.installConfig.selfReferences=e.installConfig.selfReferences:i.push(new Error("Invalid selfReferences definition, must be a boolean value")):i.push(new Error(`Unrecognized installConfig key: ${s}`))}else this.installConfig=null;if(typeof e.optionalDependencies=="object"&&e.optionalDependencies!==null)for(let[s,o]of Object.entries(e.optionalDependencies)){if(typeof o!="string"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=$i(s)}catch{i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=_t(a,o);this.dependencies.set(l.identHash,l);let c=_t(a,"unknown"),u=this.ensureDependencyMeta(c);Object.assign(u,{optional:!0})}typeof e.preferUnplugged=="boolean"?this.preferUnplugged=e.preferUnplugged:this.preferUnplugged=null,this.errors=i}getForScope(e){switch(e){case"dependencies":return this.dependencies;case"devDependencies":return this.devDependencies;case"peerDependencies":return this.peerDependencies;default:throw new Error(`Unsupported value ("${e}")`)}}hasConsumerDependency(e){return!!(this.dependencies.has(e.identHash)||this.peerDependencies.has(e.identHash))}hasHardDependency(e){return!!(this.dependencies.has(e.identHash)||this.devDependencies.has(e.identHash))}hasSoftDependency(e){return!!this.peerDependencies.has(e.identHash)}hasDependency(e){return!!(this.hasHardDependency(e)||this.hasSoftDependency(e))}getConditions(){let e=[];return this.os&&this.os.length>0&&e.push(JD("os",this.os)),this.cpu&&this.cpu.length>0&&e.push(JD("cpu",this.cpu)),this.libc&&this.libc.length>0&&e.push(JD("libc",this.libc)),e.length>0?e.join(" & "):null}isCompatibleWithOS(e){return WA.isManifestFieldCompatible(this.os,e)}isCompatibleWithCPU(e){return WA.isManifestFieldCompatible(this.cpu,e)}ensureDependencyMeta(e){if(e.range!=="unknown"&&!D8.default.valid(e.range))throw new Error(`Invalid meta field range for '${Qn(e)}'`);let t=Ot(e),i=e.range!=="unknown"?e.range:null,n=this.dependenciesMeta.get(t);n||this.dependenciesMeta.set(t,n=new Map);let s=n.get(i);return s||n.set(i,s={}),s}ensurePeerDependencyMeta(e){if(e.range!=="unknown")throw new Error(`Invalid meta field range for '${Qn(e)}'`);let t=Ot(e),i=this.peerDependenciesMeta.get(t);return i||this.peerDependenciesMeta.set(t,i={}),i}setRawField(e,t,{after:i=[]}={}){let n=new Set(i.filter(s=>Object.prototype.hasOwnProperty.call(this.raw,s)));if(n.size===0||Object.prototype.hasOwnProperty.call(this.raw,e))this.raw[e]=t;else{let s=this.raw,o=this.raw={},a=!1;for(let l of Object.keys(s))o[l]=s[l],a||(n.delete(l),n.size===0&&(o[e]=t,a=!0))}}exportTo(e,{compatibilityMode:t=!0}={}){var s;if(Object.assign(e,this.raw),this.name!==null?e.name=Ot(this.name):delete e.name,this.version!==null?e.version=this.version:delete e.version,this.os!==null?e.os=this.os:delete e.os,this.cpu!==null?e.cpu=this.cpu:delete e.cpu,this.type!==null?e.type=this.type:delete e.type,this.packageManager!==null?e.packageManager=this.packageManager:delete e.packageManager,this.private?e.private=!0:delete e.private,this.license!==null?e.license=this.license:delete e.license,this.languageName!==null?e.languageName=this.languageName:delete e.languageName,this.main!==null?e.main=this.main:delete e.main,this.module!==null?e.module=this.module:delete e.module,this.browser!==null){let o=this.browser;typeof o=="string"?e.browser=o:o instanceof Map&&(e.browser=Object.assign({},...Array.from(o.keys()).sort().map(a=>({[a]:o.get(a)}))))}else delete e.browser;this.bin.size===1&&this.name!==null&&this.bin.has(this.name.name)?e.bin=this.bin.get(this.name.name):this.bin.size>0?e.bin=Object.assign({},...Array.from(this.bin.keys()).sort().map(o=>({[o]:this.bin.get(o)}))):delete e.bin,this.workspaceDefinitions.length>0?this.raw.workspaces&&!Array.isArray(this.raw.workspaces)?e.workspaces={...this.raw.workspaces,packages:this.workspaceDefinitions.map(({pattern:o})=>o)}:e.workspaces=this.workspaceDefinitions.map(({pattern:o})=>o):this.raw.workspaces&&!Array.isArray(this.raw.workspaces)&&Object.keys(this.raw.workspaces).length>0?e.workspaces=this.raw.workspaces:delete e.workspaces;let i=[],n=[];for(let o of this.dependencies.values()){let a=this.dependenciesMeta.get(Ot(o)),l=!1;if(t&&a){let c=a.get(null);c&&c.optional&&(l=!0)}l?n.push(o):i.push(o)}i.length>0?e.dependencies=Object.assign({},...Sf(i).map(o=>({[Ot(o)]:o.range}))):delete e.dependencies,n.length>0?e.optionalDependencies=Object.assign({},...Sf(n).map(o=>({[Ot(o)]:o.range}))):delete e.optionalDependencies,this.devDependencies.size>0?e.devDependencies=Object.assign({},...Sf(this.devDependencies.values()).map(o=>({[Ot(o)]:o.range}))):delete e.devDependencies,this.peerDependencies.size>0?e.peerDependencies=Object.assign({},...Sf(this.peerDependencies.values()).map(o=>({[Ot(o)]:o.range}))):delete e.peerDependencies,e.dependenciesMeta={};for(let[o,a]of wn(this.dependenciesMeta.entries(),([l,c])=>l))for(let[l,c]of wn(a.entries(),([u,g])=>u!==null?`0${u}`:"1")){let u=l!==null?Qn(_t($i(o),l)):o,g={...c};t&&l===null&&delete g.optional,Object.keys(g).length!==0&&(e.dependenciesMeta[u]=g)}if(Object.keys(e.dependenciesMeta).length===0&&delete e.dependenciesMeta,this.peerDependenciesMeta.size>0?e.peerDependenciesMeta=Object.assign({},...wn(this.peerDependenciesMeta.entries(),([o,a])=>o).map(([o,a])=>({[o]:a}))):delete e.peerDependenciesMeta,this.resolutions.length>0?e.resolutions=Object.assign({},...this.resolutions.map(({pattern:o,reference:a})=>({[uI(o)]:a}))):delete e.resolutions,this.files!==null?e.files=Array.from(this.files):delete e.files,this.preferUnplugged!==null?e.preferUnplugged=this.preferUnplugged:delete e.preferUnplugged,this.scripts!==null&&this.scripts.size>0){(s=e.scripts)!=null||(e.scripts={});for(let o of Object.keys(e.scripts))this.scripts.has(o)||delete e.scripts[o];for(let[o,a]of this.scripts.entries())e.scripts[o]=a}else delete e.scripts;return e}},ot=WA;ot.fileName="package.json",ot.allDependencies=["dependencies","devDependencies","peerDependencies"],ot.hardDependencies=["dependencies","devDependencies"];function v8(r){let e=r.match(/^[ \t]+/m);return e?e[0]:" "}function x8(r){return r.charCodeAt(0)===65279?r.slice(1):r}function rn(r){return r.replace(/\\/g,"/")}function Pw(r,{yamlCompatibilityMode:e}){return e?zx(r):typeof r>"u"||typeof r=="boolean"?r:null}function P8(r,e){let t=e.search(/[^!]/);if(t===-1)return"invalid";let i=t%2===0?"":"!",n=e.slice(t);return`${i}${r}=${n}`}function JD(r,e){return e.length===1?P8(r,e[0]):`(${e.map(t=>P8(r,t)).join(" | ")})`}var az=Pe(oz()),Az=J("stream"),lz=J("string_decoder");var xve=15,at=class extends Error{constructor(t,i,n){super(i);this.reportExtra=n;this.reportCode=t}};function Pve(r){return typeof r.reportCode<"u"}var vi=class{constructor(){this.reportedInfos=new Set;this.reportedWarnings=new Set;this.reportedErrors=new Set}static progressViaCounter(e){let t=0,i,n=new Promise(l=>{i=l}),s=l=>{let c=i;n=new Promise(u=>{i=u}),t=l,c()},o=(l=0)=>{s(t+1)},a=async function*(){for(;t{t=o}),n=(0,az.default)(o=>{let a=t;i=new Promise(l=>{t=l}),e=o,a()},1e3/xve),s=async function*(){for(;;)await i,yield{title:e}}();return{[Symbol.asyncIterator](){return s},hasProgress:!1,hasTitle:!0,setTitle:n}}async startProgressPromise(e,t){let i=this.reportProgress(e);try{return await t(e)}finally{i.stop()}}startProgressSync(e,t){let i=this.reportProgress(e);try{return t(e)}finally{i.stop()}}reportInfoOnce(e,t,i){var s;let n=i&&i.key?i.key:t;this.reportedInfos.has(n)||(this.reportedInfos.add(n),this.reportInfo(e,t),(s=i==null?void 0:i.reportExtra)==null||s.call(i,this))}reportWarningOnce(e,t,i){var s;let n=i&&i.key?i.key:t;this.reportedWarnings.has(n)||(this.reportedWarnings.add(n),this.reportWarning(e,t),(s=i==null?void 0:i.reportExtra)==null||s.call(i,this))}reportErrorOnce(e,t,i){var s;let n=i&&i.key?i.key:t;this.reportedErrors.has(n)||(this.reportedErrors.add(n),this.reportError(e,t),(s=i==null?void 0:i.reportExtra)==null||s.call(i,this))}reportExceptionOnce(e){Pve(e)?this.reportErrorOnce(e.reportCode,e.message,{key:e,reportExtra:e.reportExtra}):this.reportErrorOnce(1,e.stack||e.message,{key:e})}createStreamReporter(e=null){let t=new Az.PassThrough,i=new lz.StringDecoder,n="";return t.on("data",s=>{let o=i.write(s),a;do if(a=o.indexOf(` +`),a!==-1){let l=n+o.substring(0,a);o=o.substring(a+1),n="",e!==null?this.reportInfo(null,`${e} ${l}`):this.reportInfo(null,l)}while(a!==-1);n+=o}),t.on("end",()=>{let s=i.end();s!==""&&(e!==null?this.reportInfo(null,`${e} ${s}`):this.reportInfo(null,s))}),t}};var vf=class{constructor(e){this.fetchers=e}supports(e,t){return!!this.tryFetcher(e,t)}getLocalPath(e,t){return this.getFetcher(e,t).getLocalPath(e,t)}async fetch(e,t){return await this.getFetcher(e,t).fetch(e,t)}tryFetcher(e,t){let i=this.fetchers.find(n=>n.supports(e,t));return i||null}getFetcher(e,t){let i=this.fetchers.find(n=>n.supports(e,t));if(!i)throw new at(11,`${mt(t.project.configuration,e)} isn't supported by any available fetcher`);return i}};var xf=class{constructor(e){this.resolvers=e.filter(t=>t)}supportsDescriptor(e,t){return!!this.tryResolverByDescriptor(e,t)}supportsLocator(e,t){return!!this.tryResolverByLocator(e,t)}shouldPersistResolution(e,t){return this.getResolverByLocator(e,t).shouldPersistResolution(e,t)}bindDescriptor(e,t,i){return this.getResolverByDescriptor(e,i).bindDescriptor(e,t,i)}getResolutionDependencies(e,t){return this.getResolverByDescriptor(e,t).getResolutionDependencies(e,t)}async getCandidates(e,t,i){return await this.getResolverByDescriptor(e,i).getCandidates(e,t,i)}async getSatisfying(e,t,i){return this.getResolverByDescriptor(e,i).getSatisfying(e,t,i)}async resolve(e,t){return await this.getResolverByLocator(e,t).resolve(e,t)}tryResolverByDescriptor(e,t){let i=this.resolvers.find(n=>n.supportsDescriptor(e,t));return i||null}getResolverByDescriptor(e,t){let i=this.resolvers.find(n=>n.supportsDescriptor(e,t));if(!i)throw new Error(`${tr(t.project.configuration,e)} isn't supported by any available resolver`);return i}tryResolverByLocator(e,t){let i=this.resolvers.find(n=>n.supportsLocator(e,t));return i||null}getResolverByLocator(e,t){let i=this.resolvers.find(n=>n.supportsLocator(e,t));if(!i)throw new Error(`${mt(t.project.configuration,e)} isn't supported by any available resolver`);return i}};var cz=Pe(Xr());var Pf=/^(?!v)[a-z0-9._-]+$/i,Dw=class{supportsDescriptor(e,t){return!!(io(e.range)||Pf.test(e.range))}supportsLocator(e,t){return!!(cz.default.valid(e.reference)||Pf.test(e.reference))}shouldPersistResolution(e,t){return t.resolver.shouldPersistResolution(this.forwardLocator(e,t),t)}bindDescriptor(e,t,i){return i.resolver.bindDescriptor(this.forwardDescriptor(e,i),t,i)}getResolutionDependencies(e,t){return t.resolver.getResolutionDependencies(this.forwardDescriptor(e,t),t)}async getCandidates(e,t,i){return await i.resolver.getCandidates(this.forwardDescriptor(e,i),t,i)}async getSatisfying(e,t,i){return await i.resolver.getSatisfying(this.forwardDescriptor(e,i),t,i)}async resolve(e,t){let i=await t.resolver.resolve(this.forwardLocator(e,t),t);return $d(i,e)}forwardDescriptor(e,t){return _t(e,`${t.project.configuration.get("defaultProtocol")}${e.range}`)}forwardLocator(e,t){return tn(e,`${t.project.configuration.get("defaultProtocol")}${e.reference}`)}};var Df=class{supports(e){return!!e.reference.startsWith("virtual:")}getLocalPath(e,t){let i=e.reference.indexOf("#");if(i===-1)throw new Error("Invalid virtual package reference");let n=e.reference.slice(i+1),s=tn(e,n);return t.fetcher.getLocalPath(s,t)}async fetch(e,t){let i=e.reference.indexOf("#");if(i===-1)throw new Error("Invalid virtual package reference");let n=e.reference.slice(i+1),s=tn(e,n),o=await t.fetcher.fetch(s,t);return await this.ensureVirtualLink(e,o,t)}getLocatorFilename(e){return bf(e)}async ensureVirtualLink(e,t,i){let n=t.packageFs.getRealPath(),s=i.project.configuration.get("virtualFolder"),o=this.getLocatorFilename(e),a=Br.makeVirtualPath(s,o,n),l=new bo(a,{baseFs:t.packageFs,pathUtils:x});return{...t,packageFs:l}}};var kf=class{static isVirtualDescriptor(e){return!!e.range.startsWith(kf.protocol)}static isVirtualLocator(e){return!!e.reference.startsWith(kf.protocol)}supportsDescriptor(e,t){return kf.isVirtualDescriptor(e)}supportsLocator(e,t){return kf.isVirtualLocator(e)}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,i){throw new Error('Assertion failed: calling "bindDescriptor" on a virtual descriptor is unsupported')}getResolutionDependencies(e,t){throw new Error('Assertion failed: calling "getResolutionDependencies" on a virtual descriptor is unsupported')}async getCandidates(e,t,i){throw new Error('Assertion failed: calling "getCandidates" on a virtual descriptor is unsupported')}async getSatisfying(e,t,i){throw new Error('Assertion failed: calling "getSatisfying" on a virtual descriptor is unsupported')}async resolve(e,t){throw new Error('Assertion failed: calling "resolve" on a virtual locator is unsupported')}},uC=kf;uC.protocol="virtual:";var Rf=class{supports(e){return!!e.reference.startsWith(jr.protocol)}getLocalPath(e,t){return this.getWorkspace(e,t).cwd}async fetch(e,t){let i=this.getWorkspace(e,t).cwd;return{packageFs:new qt(i),prefixPath:Oe.dot,localPath:i}}getWorkspace(e,t){return t.project.getWorkspaceByCwd(e.reference.slice(jr.protocol.length))}};var kw={};ut(kw,{getDefaultGlobalFolder:()=>XD,getHomeFolder:()=>gC,isFolderInside:()=>ZD});var VD=J("os");function XD(){if(process.platform==="win32"){let r=K.toPortablePath(process.env.LOCALAPPDATA||K.join((0,VD.homedir)(),"AppData","Local"));return x.resolve(r,"Yarn/Berry")}if(process.env.XDG_DATA_HOME){let r=K.toPortablePath(process.env.XDG_DATA_HOME);return x.resolve(r,"yarn/berry")}return x.resolve(gC(),".yarn/berry")}function gC(){return K.toPortablePath((0,VD.homedir)()||"/usr/local/share")}function ZD(r,e){let t=x.relative(e,r);return t&&!t.startsWith("..")&&!x.isAbsolute(t)}var Is={};ut(Is,{availableParallelism:()=>ek,builtinModules:()=>_D,getArchitecture:()=>fC,getArchitectureName:()=>Rve,getArchitectureSet:()=>$D,openUrl:()=>Dve});var gz=Pe(J("module")),Nw=Pe(J("os"));var uz=new Map([["darwin","open"],["linux","xdg-open"],["win32","explorer.exe"]]).get(process.platform),Dve=typeof uz<"u"?async r=>{try{return await tk(uz,[r],{cwd:x.cwd()}),!0}catch{return!1}}:void 0;function _D(){return new Set(gz.default.builtinModules||Object.keys(process.binding("natives")))}function kve(){var i,n,s,o;if(process.platform==="win32")return null;let e=(s=((n=(i=process.report)==null?void 0:i.getReport())!=null?n:{}).sharedObjects)!=null?s:[],t=/\/(?:(ld-linux-|[^/]+-linux-gnu\/)|(libc.musl-|ld-musl-))/;return(o=jd(e,a=>{let l=a.match(t);if(!l)return jd.skip;if(l[1])return"glibc";if(l[2])return"musl";throw new Error("Assertion failed: Expected the libc variant to have been detected")}))!=null?o:null}var Rw,Fw;function fC(){return Rw=Rw!=null?Rw:{os:process.platform,cpu:process.arch,libc:kve()}}function Rve(r=fC()){return r.libc?`${r.os}-${r.cpu}-${r.libc}`:`${r.os}-${r.cpu}`}function $D(){let r=fC();return Fw=Fw!=null?Fw:{os:[r.os],cpu:[r.cpu],libc:r.libc?[r.libc]:[]}}function ek(){return"availableParallelism"in Nw.default?Nw.default.availableParallelism():Math.max(1,Nw.default.cpus().length)}var Fve=new Set(["isTestEnv","injectNpmUser","injectNpmPassword","injectNpm2FaToken","binFolder","version","flags","profile","gpg","ignoreNode","wrapOutput","home","confDir"]),Mw="yarn_",sk=".yarnrc.yml",ok="yarn.lock",Nve="********",ak=(u=>(u.ANY="ANY",u.BOOLEAN="BOOLEAN",u.ABSOLUTE_PATH="ABSOLUTE_PATH",u.LOCATOR="LOCATOR",u.LOCATOR_LOOSE="LOCATOR_LOOSE",u.NUMBER="NUMBER",u.STRING="STRING",u.SECRET="SECRET",u.SHAPE="SHAPE",u.MAP="MAP",u))(ak||{}),xi=Ue,rk={lastUpdateCheck:{description:"Last timestamp we checked whether new Yarn versions were available",type:"STRING",default:null},yarnPath:{description:"Path to the local executable that must be used over the global one",type:"ABSOLUTE_PATH",default:null},ignorePath:{description:"If true, the local executable will be ignored when using the global one",type:"BOOLEAN",default:!1},ignoreCwd:{description:"If true, the `--cwd` flag will be ignored",type:"BOOLEAN",default:!1},cacheKeyOverride:{description:"A global cache key override; used only for test purposes",type:"STRING",default:null},globalFolder:{description:"Folder where all system-global files are stored",type:"ABSOLUTE_PATH",default:XD()},cacheFolder:{description:"Folder where the cache files must be written",type:"ABSOLUTE_PATH",default:"./.yarn/cache"},compressionLevel:{description:"Zip files compression level, from 0 to 9 or mixed (a variant of 9, which stores some files uncompressed, when compression doesn't yield good results)",type:"NUMBER",values:["mixed",0,1,2,3,4,5,6,7,8,9],default:Jl},virtualFolder:{description:"Folder where the virtual packages (cf doc) will be mapped on the disk (must be named __virtual__)",type:"ABSOLUTE_PATH",default:"./.yarn/__virtual__"},lockfileFilename:{description:"Name of the files where the Yarn dependency tree entries must be stored",type:"STRING",default:ok},installStatePath:{description:"Path of the file where the install state will be persisted",type:"ABSOLUTE_PATH",default:"./.yarn/install-state.gz"},immutablePatterns:{description:"Array of glob patterns; files matching them won't be allowed to change during immutable installs",type:"STRING",default:[],isArray:!0},rcFilename:{description:"Name of the files where the configuration can be found",type:"STRING",default:Ow()},enableGlobalCache:{description:"If true, the system-wide cache folder will be used regardless of `cache-folder`",type:"BOOLEAN",default:!1},enableColors:{description:"If true, the CLI is allowed to use colors in its output",type:"BOOLEAN",default:jy,defaultText:""},enableHyperlinks:{description:"If true, the CLI is allowed to use hyperlinks in its output",type:"BOOLEAN",default:eP,defaultText:""},enableInlineBuilds:{description:"If true, the CLI will print the build output on the command line",type:"BOOLEAN",default:Lw.isCI,defaultText:""},enableMessageNames:{description:"If true, the CLI will prefix most messages with codes suitable for search engines",type:"BOOLEAN",default:!0},enableProgressBars:{description:"If true, the CLI is allowed to show a progress bar for long-running events",type:"BOOLEAN",default:!Lw.isCI,defaultText:""},enableTimers:{description:"If true, the CLI is allowed to print the time spent executing commands",type:"BOOLEAN",default:!0},preferAggregateCacheInfo:{description:"If true, the CLI will only print a one-line report of any cache changes",type:"BOOLEAN",default:Lw.isCI},preferInteractive:{description:"If true, the CLI will automatically use the interactive mode when called from a TTY",type:"BOOLEAN",default:!1},preferTruncatedLines:{description:"If true, the CLI will truncate lines that would go beyond the size of the terminal",type:"BOOLEAN",default:!1},progressBarStyle:{description:"Which style of progress bar should be used (only when progress bars are enabled)",type:"STRING",default:void 0,defaultText:""},defaultLanguageName:{description:"Default language mode that should be used when a package doesn't offer any insight",type:"STRING",default:"node"},defaultProtocol:{description:"Default resolution protocol used when resolving pure semver and tag ranges",type:"STRING",default:"npm:"},enableTransparentWorkspaces:{description:"If false, Yarn won't automatically resolve workspace dependencies unless they use the `workspace:` protocol",type:"BOOLEAN",default:!0},supportedArchitectures:{description:"Architectures that Yarn will fetch and inject into the resolver",type:"SHAPE",properties:{os:{description:"Array of supported process.platform strings, or null to target them all",type:"STRING",isArray:!0,isNullable:!0,default:["current"]},cpu:{description:"Array of supported process.arch strings, or null to target them all",type:"STRING",isArray:!0,isNullable:!0,default:["current"]},libc:{description:"Array of supported libc libraries, or null to target them all",type:"STRING",isArray:!0,isNullable:!0,default:["current"]}}},enableMirror:{description:"If true, the downloaded packages will be retrieved and stored in both the local and global folders",type:"BOOLEAN",default:!0},enableNetwork:{description:"If false, the package manager will refuse to use the network if required to",type:"BOOLEAN",default:!0},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:"STRING",default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:"STRING",default:null},unsafeHttpWhitelist:{description:"List of the hostnames for which http queries are allowed (glob patterns are supported)",type:"STRING",default:[],isArray:!0},httpTimeout:{description:"Timeout of each http request in milliseconds",type:"NUMBER",default:6e4},httpRetry:{description:"Retry times on http failure",type:"NUMBER",default:3},networkConcurrency:{description:"Maximal number of concurrent requests",type:"NUMBER",default:50},networkSettings:{description:"Network settings per hostname (glob patterns are supported)",type:"MAP",valueDefinition:{description:"",type:"SHAPE",properties:{caFilePath:{description:"Path to file containing one or multiple Certificate Authority signing certificates",type:"ABSOLUTE_PATH",default:null},enableNetwork:{description:"If false, the package manager will refuse to use the network if required to",type:"BOOLEAN",default:null},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:"STRING",default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:"STRING",default:null},httpsKeyFilePath:{description:"Path to file containing private key in PEM format",type:"ABSOLUTE_PATH",default:null},httpsCertFilePath:{description:"Path to file containing certificate chain in PEM format",type:"ABSOLUTE_PATH",default:null}}}},caFilePath:{description:"A path to a file containing one or multiple Certificate Authority signing certificates",type:"ABSOLUTE_PATH",default:null},httpsKeyFilePath:{description:"Path to file containing private key in PEM format",type:"ABSOLUTE_PATH",default:null},httpsCertFilePath:{description:"Path to file containing certificate chain in PEM format",type:"ABSOLUTE_PATH",default:null},enableStrictSsl:{description:"If false, SSL certificate errors will be ignored",type:"BOOLEAN",default:!0},logFilters:{description:"Overrides for log levels",type:"SHAPE",isArray:!0,concatenateValues:!0,properties:{code:{description:"Code of the messages covered by this override",type:"STRING",default:void 0},text:{description:"Code of the texts covered by this override",type:"STRING",default:void 0},pattern:{description:"Code of the patterns covered by this override",type:"STRING",default:void 0},level:{description:"Log level override, set to null to remove override",type:"STRING",values:Object.values(Jy),isNullable:!0,default:void 0}}},enableTelemetry:{description:"If true, telemetry will be periodically sent, following the rules in https://yarnpkg.com/advanced/telemetry",type:"BOOLEAN",default:!0},telemetryInterval:{description:"Minimal amount of time between two telemetry uploads, in days",type:"NUMBER",default:7},telemetryUserId:{description:"If you desire to tell us which project you are, you can set this field. Completely optional and opt-in.",type:"STRING",default:null},enableScripts:{description:"If true, packages are allowed to have install scripts by default",type:"BOOLEAN",default:!0},enableStrictSettings:{description:"If true, unknown settings will cause Yarn to abort",type:"BOOLEAN",default:!0},enableImmutableCache:{description:"If true, the cache is reputed immutable and actions that would modify it will throw",type:"BOOLEAN",default:!1},checksumBehavior:{description:"Enumeration defining what to do when a checksum doesn't match expectations",type:"STRING",default:"throw"},packageExtensions:{description:"Map of package corrections to apply on the dependency tree",type:"MAP",valueDefinition:{description:"The extension that will be applied to any package whose version matches the specified range",type:"SHAPE",properties:{dependencies:{description:"The set of dependencies that must be made available to the current package in order for it to work properly",type:"MAP",valueDefinition:{description:"A range",type:"STRING"}},peerDependencies:{description:"Inherited dependencies - the consumer of the package will be tasked to provide them",type:"MAP",valueDefinition:{description:"A semver range",type:"STRING"}},peerDependenciesMeta:{description:"Extra information related to the dependencies listed in the peerDependencies field",type:"MAP",valueDefinition:{description:"The peerDependency meta",type:"SHAPE",properties:{optional:{description:"If true, the selected peer dependency will be marked as optional by the package manager and the consumer omitting it won't be reported as an error",type:"BOOLEAN",default:!1}}}}}}}};function Ak(r,e,t,i,n){if(i.isArray||i.type==="ANY"&&Array.isArray(t))return Array.isArray(t)?t.map((s,o)=>ik(r,`${e}[${o}]`,s,i,n)):String(t).split(/,/).map(s=>ik(r,e,s,i,n));if(Array.isArray(t))throw new Error(`Non-array configuration settings "${e}" cannot be an array`);return ik(r,e,t,i,n)}function ik(r,e,t,i,n){var a;switch(i.type){case"ANY":return t;case"SHAPE":return Lve(r,e,t,i,n);case"MAP":return Tve(r,e,t,i,n)}if(t===null&&!i.isNullable&&i.default!==null)throw new Error(`Non-nullable configuration settings "${e}" cannot be set to null`);if((a=i.values)!=null&&a.includes(t))return t;let o=(()=>{if(i.type==="BOOLEAN"&&typeof t!="string")return qd(t);if(typeof t!="string")throw new Error(`Expected value (${t}) to be a string`);let l=Wx(t,{env:process.env});switch(i.type){case"ABSOLUTE_PATH":return x.resolve(n,K.toPortablePath(l));case"LOCATOR_LOOSE":return Sc(l,!1);case"NUMBER":return parseInt(l);case"LOCATOR":return Sc(l);case"BOOLEAN":return qd(l);default:return l}})();if(i.values&&!i.values.includes(o))throw new Error(`Invalid value, expected one of ${i.values.join(", ")}`);return o}function Lve(r,e,t,i,n){if(typeof t!="object"||Array.isArray(t))throw new be(`Object configuration settings "${e}" must be an object`);let s=lk(r,i,{ignoreArrays:!0});if(t===null)return s;for(let[o,a]of Object.entries(t)){let l=`${e}.${o}`;if(!i.properties[o])throw new be(`Unrecognized configuration settings found: ${e}.${o} - run "yarn config -v" to see the list of settings supported in Yarn`);s.set(o,Ak(r,l,a,i.properties[o],n))}return s}function Tve(r,e,t,i,n){let s=new Map;if(typeof t!="object"||Array.isArray(t))throw new be(`Map configuration settings "${e}" must be an object`);if(t===null)return s;for(let[o,a]of Object.entries(t)){let l=i.normalizeKeys?i.normalizeKeys(o):o,c=`${e}['${l}']`,u=i.valueDefinition;s.set(l,Ak(r,c,a,u,n))}return s}function lk(r,e,{ignoreArrays:t=!1}={}){switch(e.type){case"SHAPE":{if(e.isArray&&!t)return[];let i=new Map;for(let[n,s]of Object.entries(e.properties))i.set(n,lk(r,s));return i}break;case"MAP":return e.isArray&&!t?[]:new Map;case"ABSOLUTE_PATH":return e.default===null?null:r.projectCwd===null?x.isAbsolute(e.default)?x.normalize(e.default):e.isNullable?null:void 0:Array.isArray(e.default)?e.default.map(i=>x.resolve(r.projectCwd,i)):x.resolve(r.projectCwd,e.default);default:return e.default}}function Tw(r,e,t){if(e.type==="SECRET"&&typeof r=="string"&&t.hideSecrets)return Nve;if(e.type==="ABSOLUTE_PATH"&&typeof r=="string"&&t.getNativePaths)return K.fromPortablePath(r);if(e.isArray&&Array.isArray(r)){let i=[];for(let n of r)i.push(Tw(n,e,t));return i}if(e.type==="MAP"&&r instanceof Map){let i=new Map;for(let[n,s]of r.entries())i.set(n,Tw(s,e.valueDefinition,t));return i}if(e.type==="SHAPE"&&r instanceof Map){let i=new Map;for(let[n,s]of r.entries()){let o=e.properties[n];i.set(n,Tw(s,o,t))}return i}return r}function Ove(){let r={};for(let[e,t]of Object.entries(process.env))e=e.toLowerCase(),e.startsWith(Mw)&&(e=(0,fz.default)(e.slice(Mw.length)),r[e]=t);return r}function Ow(){let r=`${Mw}rc_filename`;for(let[e,t]of Object.entries(process.env))if(e.toLowerCase()===r&&typeof t=="string")return t;return sk}var ck=(i=>(i[i.LOCKFILE=0]="LOCKFILE",i[i.MANIFEST=1]="MANIFEST",i[i.NONE=2]="NONE",i))(ck||{}),Ka=class{constructor(e){this.projectCwd=null;this.plugins=new Map;this.settings=new Map;this.values=new Map;this.sources=new Map;this.invalid=new Map;this.packageExtensions=new Map;this.limits=new Map;this.startingCwd=e}static create(e,t,i){let n=new Ka(e);typeof t<"u"&&!(t instanceof Map)&&(n.projectCwd=t),n.importSettings(rk);let s=typeof i<"u"?i:t instanceof Map?t:new Map;for(let[o,a]of s)n.activatePlugin(o,a);return n}static async find(e,t,{lookup:i=0,strict:n=!0,usePath:s=!1,useRc:o=!0}={}){let a=Ove();delete a.rcFilename;let l=await Ka.findRcFiles(e),c=await Ka.findHomeRcFile();if(c){let B=l.find(v=>v.path===c.path);B?B.strict=!1:l.push({...c,strict:!1})}let u=({ignoreCwd:B,yarnPath:v,ignorePath:D,lockfileFilename:L})=>({ignoreCwd:B,yarnPath:v,ignorePath:D,lockfileFilename:L}),g=({ignoreCwd:B,yarnPath:v,ignorePath:D,lockfileFilename:L,...H})=>H,f=new Ka(e);f.importSettings(u(rk)),f.useWithSource("",u(a),e,{strict:!1});for(let{path:B,cwd:v,data:D}of l)f.useWithSource(B,u(D),v,{strict:!1});if(s){let B=f.get("yarnPath"),v=f.get("ignorePath");if(B!==null&&!v)return f}let h=f.get("lockfileFilename"),p;switch(i){case 0:p=await Ka.findProjectCwd(e,h);break;case 1:p=await Ka.findProjectCwd(e,null);break;case 2:M.existsSync(x.join(e,"package.json"))?p=x.resolve(e):p=null;break}f.startingCwd=e,f.projectCwd=p,f.importSettings(g(rk));let C=new Map([["@@core",B8]]),y=B=>"default"in B?B.default:B;if(t!==null){for(let L of t.plugins.keys())C.set(L,y(t.modules.get(L)));let B=new Map;for(let L of _D())B.set(L,()=>pf(L));for(let[L,H]of t.modules)B.set(L,()=>H);let v=new Set,D=async(L,H)=>{let{factory:j,name:$}=pf(L);if(v.has($))return;let V=new Map(B),W=A=>{if(V.has(A))return V.get(A)();throw new be(`This plugin cannot access the package referenced via ${A} which is neither a builtin, nor an exposed entry`)},_=await ff(async()=>y(await j(W)),A=>`${A} (when initializing ${$}, defined in ${H})`);B.set($,()=>_),v.add($),C.set($,_)};if(a.plugins)for(let L of a.plugins.split(";")){let H=x.resolve(e,K.toPortablePath(L));await D(H,"")}for(let{path:L,cwd:H,data:j}of l)if(!!o&&!!Array.isArray(j.plugins))for(let $ of j.plugins){let V=typeof $!="string"?$.path:$,W=x.resolve(H,K.toPortablePath(V));await D(W,L)}}for(let[B,v]of C)f.activatePlugin(B,v);f.useWithSource("",g(a),e,{strict:n});for(let{path:B,cwd:v,data:D,strict:L}of l)f.useWithSource(B,g(D),v,{strict:L!=null?L:n});return f.get("enableGlobalCache")&&(f.values.set("cacheFolder",`${f.get("globalFolder")}/cache`),f.sources.set("cacheFolder","")),await f.refreshPackageExtensions(),f}static async findRcFiles(e){let t=Ow(),i=[],n=e,s=null;for(;n!==s;){s=n;let o=x.join(s,t);if(M.existsSync(o)){let a=await M.readFilePromise(o,"utf8"),l;try{l=yi(a)}catch{let u="";throw a.match(/^\s+(?!-)[^:]+\s+\S+/m)&&(u=" (in particular, make sure you list the colons after each key name)"),new be(`Parse error when loading ${o}; please check it's proper Yaml${u}`)}i.push({path:o,cwd:s,data:l})}n=x.dirname(s)}return i}static async findHomeRcFile(){let e=Ow(),t=gC(),i=x.join(t,e);if(M.existsSync(i)){let n=await M.readFilePromise(i,"utf8"),s=yi(n);return{path:i,cwd:t,data:s}}return null}static async findProjectCwd(e,t){let i=null,n=e,s=null;for(;n!==s;){if(s=n,M.existsSync(x.join(s,"package.json"))&&(i=s),t!==null){if(M.existsSync(x.join(s,t))){i=s;break}}else if(i!==null)break;n=x.dirname(s)}return i}static async updateConfiguration(e,t){let i=Ow(),n=x.join(e,i),s=M.existsSync(n)?yi(await M.readFilePromise(n,"utf8")):{},o=!1,a;if(typeof t=="function"){try{a=t(s)}catch{a=t({})}if(a===s)return}else{a=s;for(let l of Object.keys(t)){let c=s[l],u=t[l],g;if(typeof u=="function")try{g=u(c)}catch{g=u(void 0)}else g=u;c!==g&&(a[l]=g,o=!0)}if(!o)return}await M.changeFilePromise(n,wa(a),{automaticNewlines:!0})}static async updateHomeConfiguration(e){let t=gC();return await Ka.updateConfiguration(t,e)}activatePlugin(e,t){this.plugins.set(e,t),typeof t.configuration<"u"&&this.importSettings(t.configuration)}importSettings(e){for(let[t,i]of Object.entries(e))if(i!=null){if(this.settings.has(t))throw new Error(`Cannot redefine settings "${t}"`);this.settings.set(t,i),this.values.set(t,lk(this,i))}}useWithSource(e,t,i,n){try{this.use(e,t,i,n)}catch(s){throw s.message+=` (in ${$e(this,e,Ue.PATH)})`,s}}use(e,t,i,{strict:n=!0,overwrite:s=!1}={}){n=n&&this.get("enableStrictSettings");for(let o of["enableStrictSettings",...Object.keys(t)]){if(typeof t[o]>"u"||o==="plugins"||e===""&&Fve.has(o))continue;if(o==="rcFilename")throw new be(`The rcFilename settings can only be set via ${`${Mw}RC_FILENAME`.toUpperCase()}, not via a rc file`);let l=this.settings.get(o);if(!l){if(n)throw new be(`Unrecognized or legacy configuration settings found: ${o} - run "yarn config -v" to see the list of settings supported in Yarn`);this.invalid.set(o,e);continue}if(this.sources.has(o)&&!(s||l.type==="MAP"||l.isArray&&l.concatenateValues))continue;let c;try{c=Ak(this,o,t[o],l,i)}catch(u){throw u.message+=` in ${$e(this,e,Ue.PATH)}`,u}if(o==="enableStrictSettings"&&e!==""){n=c;continue}if(l.type==="MAP"){let u=this.values.get(o);this.values.set(o,new Map(s?[...u,...c]:[...c,...u])),this.sources.set(o,`${this.sources.get(o)}, ${e}`)}else if(l.isArray&&l.concatenateValues){let u=this.values.get(o);this.values.set(o,s?[...u,...c]:[...c,...u]),this.sources.set(o,`${this.sources.get(o)}, ${e}`)}else this.values.set(o,c),this.sources.set(o,e)}}get(e){if(!this.values.has(e))throw new Error(`Invalid configuration key "${e}"`);return this.values.get(e)}getSpecial(e,{hideSecrets:t=!1,getNativePaths:i=!1}){let n=this.get(e),s=this.settings.get(e);if(typeof s>"u")throw new be(`Couldn't find a configuration settings named "${e}"`);return Tw(n,s,{hideSecrets:t,getNativePaths:i})}getSubprocessStreams(e,{header:t,prefix:i,report:n}){let s,o,a=M.createWriteStream(e);if(this.get("enableInlineBuilds")){let l=n.createStreamReporter(`${i} ${$e(this,"STDOUT","green")}`),c=n.createStreamReporter(`${i} ${$e(this,"STDERR","red")}`);s=new nk.PassThrough,s.pipe(l),s.pipe(a),o=new nk.PassThrough,o.pipe(c),o.pipe(a)}else s=a,o=a,typeof t<"u"&&s.write(`${t} +`);return{stdout:s,stderr:o}}makeResolver(){let e=[];for(let t of this.plugins.values())for(let i of t.resolvers||[])e.push(new i);return new xf([new uC,new jr,new Dw,...e])}makeFetcher(){let e=[];for(let t of this.plugins.values())for(let i of t.fetchers||[])e.push(new i);return new vf([new Df,new Rf,...e])}getLinkers(){let e=[];for(let t of this.plugins.values())for(let i of t.linkers||[])e.push(new i);return e}getSupportedArchitectures(){let e=fC(),t=this.get("supportedArchitectures"),i=t.get("os");i!==null&&(i=i.map(o=>o==="current"?e.os:o));let n=t.get("cpu");n!==null&&(n=n.map(o=>o==="current"?e.cpu:o));let s=t.get("libc");return s!==null&&(s=Uo(s,o=>{var a;return o==="current"?(a=e.libc)!=null?a:Uo.skip:o})),{os:i,cpu:n,libc:s}}async refreshPackageExtensions(){this.packageExtensions=new Map;let e=this.packageExtensions,t=(i,n,{userProvided:s=!1}={})=>{if(!io(i.range))throw new Error("Only semver ranges are allowed as keys for the packageExtensions setting");let o=new ot;o.load(n,{yamlCompatibilityMode:!0});let a=uf(e,i.identHash),l=[];a.push([i.range,l]);let c={status:"inactive",userProvided:s,parentDescriptor:i};for(let u of o.dependencies.values())l.push({...c,type:"Dependency",descriptor:u});for(let u of o.peerDependencies.values())l.push({...c,type:"PeerDependency",descriptor:u});for(let[u,g]of o.peerDependenciesMeta)for(let[f,h]of Object.entries(g))l.push({...c,type:"PeerDependencyMeta",selector:u,key:f,value:h})};await this.triggerHook(i=>i.registerPackageExtensions,this,t);for(let[i,n]of this.get("packageExtensions"))t(JA(i,!0),Gy(n),{userProvided:!0})}normalizePackage(e){let t=eC(e);if(this.packageExtensions==null)throw new Error("refreshPackageExtensions has to be called before normalizing packages");let i=this.packageExtensions.get(e.identHash);if(typeof i<"u"){let s=e.version;if(s!==null){for(let[o,a]of i)if(!!vc(s,o))for(let l of a)switch(l.status==="inactive"&&(l.status="redundant"),l.type){case"Dependency":typeof t.dependencies.get(l.descriptor.identHash)>"u"&&(l.status="active",t.dependencies.set(l.descriptor.identHash,l.descriptor));break;case"PeerDependency":typeof t.peerDependencies.get(l.descriptor.identHash)>"u"&&(l.status="active",t.peerDependencies.set(l.descriptor.identHash,l.descriptor));break;case"PeerDependencyMeta":{let c=t.peerDependenciesMeta.get(l.selector);(typeof c>"u"||!Object.prototype.hasOwnProperty.call(c,l.key)||c[l.key]!==l.value)&&(l.status="active",Fa(t.peerDependenciesMeta,l.selector,()=>({}))[l.key]=l.value)}break;default:qx(l);break}}}let n=s=>s.scope?`${s.scope}__${s.name}`:`${s.name}`;for(let s of t.peerDependenciesMeta.keys()){let o=$i(s);t.peerDependencies.has(o.identHash)||t.peerDependencies.set(o.identHash,_t(o,"*"))}for(let s of t.peerDependencies.values()){if(s.scope==="types")continue;let o=n(s),a=qo("types",o),l=Ot(a);t.peerDependencies.has(a.identHash)||t.peerDependenciesMeta.has(l)||(t.peerDependencies.set(a.identHash,_t(a,"*")),t.peerDependenciesMeta.set(l,{optional:!0}))}return t.dependencies=new Map(wn(t.dependencies,([,s])=>Qn(s))),t.peerDependencies=new Map(wn(t.peerDependencies,([,s])=>Qn(s))),t}getLimit(e){return Fa(this.limits,e,()=>(0,hz.default)(this.get(e)))}async triggerHook(e,...t){for(let i of this.plugins.values()){let n=i.hooks;if(!n)continue;let s=e(n);!s||await s(...t)}}async triggerMultipleHooks(e,t){for(let i of t)await this.triggerHook(e,...i)}async reduceHook(e,t,...i){let n=t;for(let s of this.plugins.values()){let o=s.hooks;if(!o)continue;let a=e(o);!a||(n=await a(n,...i))}return n}async firstHook(e,...t){for(let i of this.plugins.values()){let n=i.hooks;if(!n)continue;let s=e(n);if(!s)continue;let o=await s(...t);if(typeof o<"u")return o}return null}},ye=Ka;ye.telemetry=null;var hk=(i=>(i[i.Never=0]="Never",i[i.ErrorCode=1]="ErrorCode",i[i.Always=2]="Always",i))(hk||{}),hC=class extends at{constructor({fileName:t,code:i,signal:n}){let s=ye.create(x.cwd()),o=$e(s,t,Ue.PATH);super(1,`Child ${o} reported an error`,a=>{Kve(i,n,{configuration:s,report:a})});this.code=pk(i,n)}},Kw=class extends hC{constructor({fileName:t,code:i,signal:n,stdout:s,stderr:o}){super({fileName:t,code:i,signal:n});this.stdout=s,this.stderr=o}};function Dc(r){return r!==null&&typeof r.fd=="number"}var kc=new Set;function uk(){}function gk(){for(let r of kc)r.kill()}async function Wo(r,e,{cwd:t,env:i=process.env,strict:n=!1,stdin:s=null,stdout:o,stderr:a,end:l=2}){let c=["pipe","pipe","pipe"];s===null?c[0]="ignore":Dc(s)&&(c[0]=s),Dc(o)&&(c[1]=o),Dc(a)&&(c[2]=a);let u=(0,fk.default)(r,e,{cwd:K.fromPortablePath(t),env:{...i,PWD:K.fromPortablePath(t)},stdio:c});kc.add(u),kc.size===1&&(process.on("SIGINT",uk),process.on("SIGTERM",gk)),!Dc(s)&&s!==null&&s.pipe(u.stdin),Dc(o)||u.stdout.pipe(o,{end:!1}),Dc(a)||u.stderr.pipe(a,{end:!1});let g=()=>{for(let f of new Set([o,a]))Dc(f)||f.end()};return new Promise((f,h)=>{u.on("error",p=>{kc.delete(u),kc.size===0&&(process.off("SIGINT",uk),process.off("SIGTERM",gk)),(l===2||l===1)&&g(),h(p)}),u.on("close",(p,C)=>{kc.delete(u),kc.size===0&&(process.off("SIGINT",uk),process.off("SIGTERM",gk)),(l===2||l===1&&p>0)&&g(),p===0||!n?f({code:pk(p,C)}):h(new hC({fileName:r,code:p,signal:C}))})})}async function tk(r,e,{cwd:t,env:i=process.env,encoding:n="utf8",strict:s=!1}){let o=["ignore","pipe","pipe"],a=[],l=[],c=K.fromPortablePath(t);typeof i.PWD<"u"&&(i={...i,PWD:c});let u=(0,fk.default)(r,e,{cwd:c,env:i,stdio:o});return u.stdout.on("data",g=>{a.push(g)}),u.stderr.on("data",g=>{l.push(g)}),await new Promise((g,f)=>{u.on("error",h=>{let p=ye.create(t),C=$e(p,r,Ue.PATH);f(new at(1,`Process ${C} failed to spawn`,y=>{y.reportError(1,` ${Ho(p,{label:"Thrown Error",value:ro(Ue.NO_HINT,h.message)})}`)}))}),u.on("close",(h,p)=>{let C=n==="buffer"?Buffer.concat(a):Buffer.concat(a).toString(n),y=n==="buffer"?Buffer.concat(l):Buffer.concat(l).toString(n);h===0||!s?g({code:pk(h,p),stdout:C,stderr:y}):f(new Kw({fileName:r,code:h,signal:p,stdout:C,stderr:y}))})})}var Mve=new Map([["SIGINT",2],["SIGQUIT",3],["SIGKILL",9],["SIGTERM",15]]);function pk(r,e){let t=Mve.get(e);return typeof t<"u"?128+t:r!=null?r:1}function Kve(r,e,{configuration:t,report:i}){i.reportError(1,` ${Ho(t,r!==null?{label:"Exit Code",value:ro(Ue.NUMBER,r)}:{label:"Exit Signal",value:ro(Ue.CODE,e)})}`)}var Xt={};ut(Xt,{Method:()=>V6,RequestError:()=>X6.RequestError,del:()=>_De,get:()=>XDe,getNetworkSettings:()=>z6,post:()=>kR,put:()=>ZDe,request:()=>bC});var q6=Pe(fB()),J6=J("https"),W6=J("http"),DR=Pe(yn()),PR=Pe(H6()),hB=J("url");var X6=Pe(fB()),G6=new Map,Y6=new Map,WDe=new W6.Agent({keepAlive:!0}),zDe=new J6.Agent({keepAlive:!0});function j6(r){let e=new hB.URL(r),t={host:e.hostname,headers:{}};return e.port&&(t.port=Number(e.port)),{proxy:t}}async function xR(r){return Fa(Y6,r,()=>M.readFilePromise(r).then(e=>(Y6.set(r,e),e)))}function VDe({statusCode:r,statusMessage:e},t){let i=$e(t,r,Ue.NUMBER),n=`https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/${r}`;return Cf(t,`${i}${e?` (${e})`:""}`,n)}async function pB(r,{configuration:e,customErrorMessage:t}){var i,n;try{return await r}catch(s){if(s.name!=="HTTPError")throw s;let o=(n=t==null?void 0:t(s))!=null?n:(i=s.response.body)==null?void 0:i.error;o==null&&(s.message.startsWith("Response code")?o="The remote server failed to provide the requested resource":o=s.message),s instanceof q6.TimeoutError&&s.event==="socket"&&(o+=`(can be increased via ${$e(e,"httpTimeout",Ue.SETTING)})`);let a=new at(35,o,l=>{s.response&&l.reportError(35,` ${Ho(e,{label:"Response Code",value:ro(Ue.NO_HINT,VDe(s.response,e))})}`),s.request&&(l.reportError(35,` ${Ho(e,{label:"Request Method",value:ro(Ue.NO_HINT,s.request.options.method)})}`),l.reportError(35,` ${Ho(e,{label:"Request URL",value:ro(Ue.URL,s.request.requestUrl)})}`)),s.request.redirects.length>0&&l.reportError(35,` ${Ho(e,{label:"Request Redirects",value:ro(Ue.NO_HINT,tP(e,s.request.redirects,Ue.URL))})}`),s.request.retryCount===s.request.options.retry.limit&&l.reportError(35,` ${Ho(e,{label:"Request Retry Count",value:ro(Ue.NO_HINT,`${$e(e,s.request.retryCount,Ue.NUMBER)} (can be increased via ${$e(e,"httpRetry",Ue.SETTING)})`)})}`)});throw a.originalError=s,a}}function z6(r,e){let t=[...e.configuration.get("networkSettings")].sort(([o],[a])=>a.length-o.length),i={enableNetwork:void 0,caFilePath:void 0,httpProxy:void 0,httpsProxy:void 0,httpsKeyFilePath:void 0,httpsCertFilePath:void 0},n=Object.keys(i),s=typeof r=="string"?new hB.URL(r):r;for(let[o,a]of t)if(DR.default.isMatch(s.hostname,o))for(let l of n){let c=a.get(l);c!==null&&typeof i[l]>"u"&&(i[l]=c)}for(let o of n)typeof i[o]>"u"&&(i[o]=e.configuration.get(o));return i}var V6=(n=>(n.GET="GET",n.PUT="PUT",n.POST="POST",n.DELETE="DELETE",n))(V6||{});async function bC(r,e,{configuration:t,headers:i,jsonRequest:n,jsonResponse:s,method:o="GET"}){let a=async()=>await $De(r,e,{configuration:t,headers:i,jsonRequest:n,jsonResponse:s,method:o});return await(await t.reduceHook(c=>c.wrapNetworkRequest,a,{target:r,body:e,configuration:t,headers:i,jsonRequest:n,jsonResponse:s,method:o}))()}async function XDe(r,{configuration:e,jsonResponse:t,...i}){let n=Fa(G6,r,()=>pB(bC(r,null,{configuration:e,...i}),{configuration:e}).then(s=>(G6.set(r,s.body),s.body)));return Buffer.isBuffer(n)===!1&&(n=await n),t?JSON.parse(n.toString()):n}async function ZDe(r,e,{customErrorMessage:t,...i}){return(await pB(bC(r,e,{...i,method:"PUT"}),i)).body}async function kR(r,e,{customErrorMessage:t,...i}){return(await pB(bC(r,e,{...i,method:"POST"}),i)).body}async function _De(r,{customErrorMessage:e,...t}){return(await pB(bC(r,null,{...t,method:"DELETE"}),t)).body}async function $De(r,e,{configuration:t,headers:i,jsonRequest:n,jsonResponse:s,method:o="GET"}){let a=typeof r=="string"?new hB.URL(r):r,l=z6(a,{configuration:t});if(l.enableNetwork===!1)throw new Error(`Request to '${a.href}' has been blocked because of your configuration settings`);if(a.protocol==="http:"&&!DR.default.isMatch(a.hostname,t.get("unsafeHttpWhitelist")))throw new Error(`Unsafe http requests must be explicitly whitelisted in your configuration (${a.hostname})`);let u={agent:{http:l.httpProxy?PR.default.httpOverHttp(j6(l.httpProxy)):WDe,https:l.httpsProxy?PR.default.httpsOverHttp(j6(l.httpsProxy)):zDe},headers:i,method:o};u.responseType=s?"json":"buffer",e!==null&&(Buffer.isBuffer(e)||!n&&typeof e=="string"?u.body=e:u.json=e);let g=t.get("httpTimeout"),f=t.get("httpRetry"),h=t.get("enableStrictSsl"),p=l.caFilePath,C=l.httpsCertFilePath,y=l.httpsKeyFilePath,{default:B}=await Promise.resolve().then(()=>Pe(fB())),v=p?await xR(p):void 0,D=C?await xR(C):void 0,L=y?await xR(y):void 0,H=B.extend({timeout:{socket:g},retry:f,https:{rejectUnauthorized:h,certificateAuthority:v,certificate:D,key:L},...u});return t.getLimit("networkConcurrency")(()=>H(a))}var Wt={};ut(Wt,{PackageManager:()=>A7,detectPackageManager:()=>l7,executePackageAccessibleBinary:()=>h7,executePackageScript:()=>kB,executePackageShellcode:()=>JR,executeWorkspaceAccessibleBinary:()=>mRe,executeWorkspaceLifecycleScript:()=>g7,executeWorkspaceScript:()=>u7,getPackageAccessibleBinaries:()=>RB,getWorkspaceAccessibleBinaries:()=>f7,hasPackageScript:()=>pRe,hasWorkspaceScript:()=>WR,makeScriptEnv:()=>kC,maybeExecuteWorkspaceLifecycleScript:()=>CRe,prepareExternalProject:()=>hRe});var SC={};ut(SC,{getLibzipPromise:()=>sn,getLibzipSync:()=>rV});var tV=Pe(_6());var ja=["number","number"],$6=(F=>(F[F.ZIP_ER_OK=0]="ZIP_ER_OK",F[F.ZIP_ER_MULTIDISK=1]="ZIP_ER_MULTIDISK",F[F.ZIP_ER_RENAME=2]="ZIP_ER_RENAME",F[F.ZIP_ER_CLOSE=3]="ZIP_ER_CLOSE",F[F.ZIP_ER_SEEK=4]="ZIP_ER_SEEK",F[F.ZIP_ER_READ=5]="ZIP_ER_READ",F[F.ZIP_ER_WRITE=6]="ZIP_ER_WRITE",F[F.ZIP_ER_CRC=7]="ZIP_ER_CRC",F[F.ZIP_ER_ZIPCLOSED=8]="ZIP_ER_ZIPCLOSED",F[F.ZIP_ER_NOENT=9]="ZIP_ER_NOENT",F[F.ZIP_ER_EXISTS=10]="ZIP_ER_EXISTS",F[F.ZIP_ER_OPEN=11]="ZIP_ER_OPEN",F[F.ZIP_ER_TMPOPEN=12]="ZIP_ER_TMPOPEN",F[F.ZIP_ER_ZLIB=13]="ZIP_ER_ZLIB",F[F.ZIP_ER_MEMORY=14]="ZIP_ER_MEMORY",F[F.ZIP_ER_CHANGED=15]="ZIP_ER_CHANGED",F[F.ZIP_ER_COMPNOTSUPP=16]="ZIP_ER_COMPNOTSUPP",F[F.ZIP_ER_EOF=17]="ZIP_ER_EOF",F[F.ZIP_ER_INVAL=18]="ZIP_ER_INVAL",F[F.ZIP_ER_NOZIP=19]="ZIP_ER_NOZIP",F[F.ZIP_ER_INTERNAL=20]="ZIP_ER_INTERNAL",F[F.ZIP_ER_INCONS=21]="ZIP_ER_INCONS",F[F.ZIP_ER_REMOVE=22]="ZIP_ER_REMOVE",F[F.ZIP_ER_DELETED=23]="ZIP_ER_DELETED",F[F.ZIP_ER_ENCRNOTSUPP=24]="ZIP_ER_ENCRNOTSUPP",F[F.ZIP_ER_RDONLY=25]="ZIP_ER_RDONLY",F[F.ZIP_ER_NOPASSWD=26]="ZIP_ER_NOPASSWD",F[F.ZIP_ER_WRONGPASSWD=27]="ZIP_ER_WRONGPASSWD",F[F.ZIP_ER_OPNOTSUPP=28]="ZIP_ER_OPNOTSUPP",F[F.ZIP_ER_INUSE=29]="ZIP_ER_INUSE",F[F.ZIP_ER_TELL=30]="ZIP_ER_TELL",F[F.ZIP_ER_COMPRESSED_DATA=31]="ZIP_ER_COMPRESSED_DATA",F))($6||{}),eV=r=>({get HEAP8(){return r.HEAP8},get HEAPU8(){return r.HEAPU8},errors:$6,SEEK_SET:0,SEEK_CUR:1,SEEK_END:2,ZIP_CHECKCONS:4,ZIP_CREATE:1,ZIP_EXCL:2,ZIP_TRUNCATE:8,ZIP_RDONLY:16,ZIP_FL_OVERWRITE:8192,ZIP_FL_COMPRESSED:4,ZIP_OPSYS_DOS:0,ZIP_OPSYS_AMIGA:1,ZIP_OPSYS_OPENVMS:2,ZIP_OPSYS_UNIX:3,ZIP_OPSYS_VM_CMS:4,ZIP_OPSYS_ATARI_ST:5,ZIP_OPSYS_OS_2:6,ZIP_OPSYS_MACINTOSH:7,ZIP_OPSYS_Z_SYSTEM:8,ZIP_OPSYS_CPM:9,ZIP_OPSYS_WINDOWS_NTFS:10,ZIP_OPSYS_MVS:11,ZIP_OPSYS_VSE:12,ZIP_OPSYS_ACORN_RISC:13,ZIP_OPSYS_VFAT:14,ZIP_OPSYS_ALTERNATE_MVS:15,ZIP_OPSYS_BEOS:16,ZIP_OPSYS_TANDEM:17,ZIP_OPSYS_OS_400:18,ZIP_OPSYS_OS_X:19,ZIP_CM_DEFAULT:-1,ZIP_CM_STORE:0,ZIP_CM_DEFLATE:8,uint08S:r._malloc(1),uint16S:r._malloc(2),uint32S:r._malloc(4),uint64S:r._malloc(8),malloc:r._malloc,free:r._free,getValue:r.getValue,open:r.cwrap("zip_open","number",["string","number","number"]),openFromSource:r.cwrap("zip_open_from_source","number",["number","number","number"]),close:r.cwrap("zip_close","number",["number"]),discard:r.cwrap("zip_discard",null,["number"]),getError:r.cwrap("zip_get_error","number",["number"]),getName:r.cwrap("zip_get_name","string",["number","number","number"]),getNumEntries:r.cwrap("zip_get_num_entries","number",["number","number"]),delete:r.cwrap("zip_delete","number",["number","number"]),stat:r.cwrap("zip_stat","number",["number","string","number","number"]),statIndex:r.cwrap("zip_stat_index","number",["number",...ja,"number","number"]),fopen:r.cwrap("zip_fopen","number",["number","string","number"]),fopenIndex:r.cwrap("zip_fopen_index","number",["number",...ja,"number"]),fread:r.cwrap("zip_fread","number",["number","number","number","number"]),fclose:r.cwrap("zip_fclose","number",["number"]),dir:{add:r.cwrap("zip_dir_add","number",["number","string"])},file:{add:r.cwrap("zip_file_add","number",["number","string","number","number"]),getError:r.cwrap("zip_file_get_error","number",["number"]),getExternalAttributes:r.cwrap("zip_file_get_external_attributes","number",["number",...ja,"number","number","number"]),setExternalAttributes:r.cwrap("zip_file_set_external_attributes","number",["number",...ja,"number","number","number"]),setMtime:r.cwrap("zip_file_set_mtime","number",["number",...ja,"number","number"]),setCompression:r.cwrap("zip_set_file_compression","number",["number",...ja,"number","number"])},ext:{countSymlinks:r.cwrap("zip_ext_count_symlinks","number",["number"])},error:{initWithCode:r.cwrap("zip_error_init_with_code",null,["number","number"]),strerror:r.cwrap("zip_error_strerror","string",["number"])},name:{locate:r.cwrap("zip_name_locate","number",["number","string","number"])},source:{fromUnattachedBuffer:r.cwrap("zip_source_buffer_create","number",["number",...ja,"number","number"]),fromBuffer:r.cwrap("zip_source_buffer","number",["number","number",...ja,"number"]),free:r.cwrap("zip_source_free",null,["number"]),keep:r.cwrap("zip_source_keep",null,["number"]),open:r.cwrap("zip_source_open","number",["number"]),close:r.cwrap("zip_source_close","number",["number"]),seek:r.cwrap("zip_source_seek","number",["number",...ja,"number"]),tell:r.cwrap("zip_source_tell","number",["number"]),read:r.cwrap("zip_source_read","number",["number","number","number"]),error:r.cwrap("zip_source_error","number",["number"]),setMtime:r.cwrap("zip_source_set_mtime","number",["number","number"])},struct:{stat:r.cwrap("zipstruct_stat","number",[]),statS:r.cwrap("zipstruct_statS","number",[]),statName:r.cwrap("zipstruct_stat_name","string",["number"]),statIndex:r.cwrap("zipstruct_stat_index","number",["number"]),statSize:r.cwrap("zipstruct_stat_size","number",["number"]),statCompSize:r.cwrap("zipstruct_stat_comp_size","number",["number"]),statCompMethod:r.cwrap("zipstruct_stat_comp_method","number",["number"]),statMtime:r.cwrap("zipstruct_stat_mtime","number",["number"]),statCrc:r.cwrap("zipstruct_stat_crc","number",["number"]),error:r.cwrap("zipstruct_error","number",[]),errorS:r.cwrap("zipstruct_errorS","number",[]),errorCodeZip:r.cwrap("zipstruct_error_code_zip","number",["number"])}});var NR=null;function rV(){return NR===null&&(NR=eV((0,tV.default)())),NR}async function sn(){return rV()}var DC={};ut(DC,{ShellError:()=>Jn,execute:()=>QB,globUtils:()=>EB});var dV=Pe(wx()),CV=J("os"),Wn=J("stream"),mV=J("util");var Jn=class extends Error{constructor(e){super(e),this.name="ShellError"}};var EB={};ut(EB,{fastGlobOptions:()=>sV,isBraceExpansion:()=>LR,isGlobPattern:()=>eke,match:()=>tke,micromatchOptions:()=>mB});var iV=Pe(gw()),nV=Pe(J("fs")),CB=Pe(yn()),mB={strictBrackets:!0},sV={onlyDirectories:!1,onlyFiles:!1};function eke(r){if(!CB.default.scan(r,mB).isGlob)return!1;try{CB.default.parse(r,mB)}catch{return!1}return!0}function tke(r,{cwd:e,baseFs:t}){return(0,iV.default)(r,{...sV,cwd:K.fromPortablePath(e),fs:nI(nV.default,new Qg(t))})}function LR(r){return CB.default.scan(r,mB).isBrace}var aV=Pe(LS()),Vo=J("stream"),AV=J("string_decoder");var Nc=new Set;function TR(){}function OR(){for(let r of Nc)r.kill()}function lV(r,e,t,i){return n=>{let s=n[0]instanceof Vo.Transform?"pipe":n[0],o=n[1]instanceof Vo.Transform?"pipe":n[1],a=n[2]instanceof Vo.Transform?"pipe":n[2],l=(0,aV.default)(r,e,{...i,stdio:[s,o,a]});return Nc.add(l),Nc.size===1&&(process.on("SIGINT",TR),process.on("SIGTERM",OR)),n[0]instanceof Vo.Transform&&n[0].pipe(l.stdin),n[1]instanceof Vo.Transform&&l.stdout.pipe(n[1],{end:!1}),n[2]instanceof Vo.Transform&&l.stderr.pipe(n[2],{end:!1}),{stdin:l.stdin,promise:new Promise(c=>{l.on("error",u=>{switch(Nc.delete(l),Nc.size===0&&(process.off("SIGINT",TR),process.off("SIGTERM",OR)),u.code){case"ENOENT":n[2].write(`command not found: ${r} `),c(127);break;case"EACCES":n[2].write(`permission denied: ${r} `),c(128);break;default:n[2].write(`uncaught error: ${u.message} -`),c(1);break}}),l.on("close",u=>{Qc.delete(l),Qc.size===0&&(process.off("SIGINT",IR),process.off("SIGTERM",yR)),c(u!==null?u:129)})})}}}function MV(r){return e=>{let t=e[0]==="pipe"?new qo.PassThrough:e[0];return{stdin:t,promise:Promise.resolve().then(()=>r({stdin:t,stdout:e[1],stderr:e[2]}))}}}var ys=class{constructor(e){this.stream=e}close(){}get(){return this.stream}},wR=class{constructor(){this.stream=null}close(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");this.stream.end()}attach(e){this.stream=e}get(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");return this.stream}},Mf=class{constructor(e,t){this.stdin=null;this.stdout=null;this.stderr=null;this.pipe=null;this.ancestor=e,this.implementation=t}static start(e,{stdin:t,stdout:i,stderr:n}){let s=new Mf(null,e);return s.stdin=t,s.stdout=i,s.stderr=n,s}pipeTo(e,t=1){let i=new Mf(this,e),n=new wR;return i.pipe=n,i.stdout=this.stdout,i.stderr=this.stderr,(t&1)===1?this.stdout=n:this.ancestor!==null&&(this.stderr=this.ancestor.stdout),(t&2)===2?this.stderr=n:this.ancestor!==null&&(this.stderr=this.ancestor.stderr),i}async exec(){let e=["ignore","ignore","ignore"];if(this.pipe)e[0]="pipe";else{if(this.stdin===null)throw new Error("Assertion failed: No input stream registered");e[0]=this.stdin.get()}let t;if(this.stdout===null)throw new Error("Assertion failed: No output stream registered");t=this.stdout,e[1]=t.get();let i;if(this.stderr===null)throw new Error("Assertion failed: No error stream registered");i=this.stderr,e[2]=i.get();let n=this.implementation(e);return this.pipe&&this.pipe.attach(n.stdin),await n.promise.then(s=>(t.close(),i.close(),s))}async run(){let e=[];for(let i=this;i;i=i.ancestor)e.push(i.exec());return(await Promise.all(e))[0]}};function uB(r,e){return Mf.start(r,e)}function NV(r,e=null){let t=new qo.PassThrough,i=new TV.StringDecoder,n="";return t.on("data",s=>{let o=i.write(s),a;do if(a=o.indexOf(` -`),a!==-1){let l=n+o.substring(0,a);o=o.substring(a+1),n="",r(e!==null?`${e} ${l}`:l)}while(a!==-1);n+=o}),t.on("end",()=>{let s=i.end();s!==""&&r(e!==null?`${e} ${s}`:s)}),t}function KV(r,{prefix:e}){return{stdout:NV(t=>r.stdout.write(`${t} -`),r.stdout.isTTY?e:null),stderr:NV(t=>r.stderr.write(`${t} -`),r.stderr.isTTY?e:null)}}var hDe=(0,JV.promisify)(setTimeout);function UV(r,e,t){let i=new Jn.PassThrough({autoDestroy:!0});switch(r){case 0:(e&1)===1&&t.stdin.pipe(i,{end:!1}),(e&2)===2&&t.stdin instanceof Jn.Writable&&i.pipe(t.stdin,{end:!1});break;case 1:(e&1)===1&&t.stdout.pipe(i,{end:!1}),(e&2)===2&&i.pipe(t.stdout,{end:!1});break;case 2:(e&1)===1&&t.stderr.pipe(i,{end:!1}),(e&2)===2&&i.pipe(t.stderr,{end:!1});break;default:throw new qn(`Bad file descriptor: "${r}"`)}return i}function fB(r,e={}){let t={...r,...e};return t.environment={...r.environment,...e.environment},t.variables={...r.variables,...e.variables},t}var pDe=new Map([["cd",async([r=(0,qV.homedir)(),...e],t,i)=>{let n=x.resolve(i.cwd,K.toPortablePath(r));if(!(await t.baseFs.statPromise(n).catch(o=>{throw o.code==="ENOENT"?new qn(`cd: no such file or directory: ${r}`):o})).isDirectory())throw new qn(`cd: not a directory: ${r}`);return i.cwd=n,0}],["pwd",async(r,e,t)=>(t.stdout.write(`${K.fromPortablePath(t.cwd)} +`),c(1);break}}),l.on("close",u=>{Nc.delete(l),Nc.size===0&&(process.off("SIGINT",TR),process.off("SIGTERM",OR)),c(u!==null?u:129)})})}}}function cV(r){return e=>{let t=e[0]==="pipe"?new Vo.PassThrough:e[0];return{stdin:t,promise:Promise.resolve().then(()=>r({stdin:t,stdout:e[1],stderr:e[2]}))}}}var Qs=class{constructor(e){this.stream=e}close(){}get(){return this.stream}},MR=class{constructor(){this.stream=null}close(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");this.stream.end()}attach(e){this.stream=e}get(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");return this.stream}},qf=class{constructor(e,t){this.stdin=null;this.stdout=null;this.stderr=null;this.pipe=null;this.ancestor=e,this.implementation=t}static start(e,{stdin:t,stdout:i,stderr:n}){let s=new qf(null,e);return s.stdin=t,s.stdout=i,s.stderr=n,s}pipeTo(e,t=1){let i=new qf(this,e),n=new MR;return i.pipe=n,i.stdout=this.stdout,i.stderr=this.stderr,(t&1)===1?this.stdout=n:this.ancestor!==null&&(this.stderr=this.ancestor.stdout),(t&2)===2?this.stderr=n:this.ancestor!==null&&(this.stderr=this.ancestor.stderr),i}async exec(){let e=["ignore","ignore","ignore"];if(this.pipe)e[0]="pipe";else{if(this.stdin===null)throw new Error("Assertion failed: No input stream registered");e[0]=this.stdin.get()}let t;if(this.stdout===null)throw new Error("Assertion failed: No output stream registered");t=this.stdout,e[1]=t.get();let i;if(this.stderr===null)throw new Error("Assertion failed: No error stream registered");i=this.stderr,e[2]=i.get();let n=this.implementation(e);return this.pipe&&this.pipe.attach(n.stdin),await n.promise.then(s=>(t.close(),i.close(),s))}async run(){let e=[];for(let i=this;i;i=i.ancestor)e.push(i.exec());return(await Promise.all(e))[0]}};function IB(r,e){return qf.start(r,e)}function oV(r,e=null){let t=new Vo.PassThrough,i=new AV.StringDecoder,n="";return t.on("data",s=>{let o=i.write(s),a;do if(a=o.indexOf(` +`),a!==-1){let l=n+o.substring(0,a);o=o.substring(a+1),n="",r(e!==null?`${e} ${l}`:l)}while(a!==-1);n+=o}),t.on("end",()=>{let s=i.end();s!==""&&r(e!==null?`${e} ${s}`:s)}),t}function uV(r,{prefix:e}){return{stdout:oV(t=>r.stdout.write(`${t} +`),r.stdout.isTTY?e:null),stderr:oV(t=>r.stderr.write(`${t} +`),r.stderr.isTTY?e:null)}}var rke=(0,mV.promisify)(setTimeout);function gV(r,e,t){let i=new Wn.PassThrough({autoDestroy:!0});switch(r){case 0:(e&1)===1&&t.stdin.pipe(i,{end:!1}),(e&2)===2&&t.stdin instanceof Wn.Writable&&i.pipe(t.stdin,{end:!1});break;case 1:(e&1)===1&&t.stdout.pipe(i,{end:!1}),(e&2)===2&&i.pipe(t.stdout,{end:!1});break;case 2:(e&1)===1&&t.stderr.pipe(i,{end:!1}),(e&2)===2&&i.pipe(t.stderr,{end:!1});break;default:throw new Jn(`Bad file descriptor: "${r}"`)}return i}function wB(r,e={}){let t={...r,...e};return t.environment={...r.environment,...e.environment},t.variables={...r.variables,...e.variables},t}var ike=new Map([["cd",async([r=(0,CV.homedir)(),...e],t,i)=>{let n=x.resolve(i.cwd,K.toPortablePath(r));if(!(await t.baseFs.statPromise(n).catch(o=>{throw o.code==="ENOENT"?new Jn(`cd: no such file or directory: ${r}`):o})).isDirectory())throw new Jn(`cd: not a directory: ${r}`);return i.cwd=n,0}],["pwd",async(r,e,t)=>(t.stdout.write(`${K.fromPortablePath(t.cwd)} `),0)],[":",async(r,e,t)=>0],["true",async(r,e,t)=>0],["false",async(r,e,t)=>1],["exit",async([r,...e],t,i)=>i.exitCode=parseInt(r!=null?r:i.variables["?"],10)],["echo",async(r,e,t)=>(t.stdout.write(`${r.join(" ")} -`),0)],["sleep",async([r],e,t)=>{if(typeof r>"u")throw new qn("sleep: missing operand");let i=Number(r);if(Number.isNaN(i))throw new qn(`sleep: invalid time interval '${r}'`);return await hDe(1e3*i,0)}],["__ysh_run_procedure",async(r,e,t)=>{let i=t.procedures[r[0]];return await uB(i,{stdin:new ys(t.stdin),stdout:new ys(t.stdout),stderr:new ys(t.stderr)}).run()}],["__ysh_set_redirects",async(r,e,t)=>{let i=t.stdin,n=t.stdout,s=t.stderr,o=[],a=[],l=[],c=0;for(;r[c]!=="--";){let g=r[c++],{type:f,fd:h}=JSON.parse(g),p=v=>{switch(h){case null:case 0:o.push(v);break;default:throw new Error(`Unsupported file descriptor: "${h}"`)}},C=v=>{switch(h){case null:case 1:a.push(v);break;case 2:l.push(v);break;default:throw new Error(`Unsupported file descriptor: "${h}"`)}},y=Number(r[c++]),B=c+y;for(let v=c;ve.baseFs.createReadStream(x.resolve(t.cwd,K.toPortablePath(r[v]))));break;case"<<<":p(()=>{let D=new Jn.PassThrough;return process.nextTick(()=>{D.write(`${r[v]} -`),D.end()}),D});break;case"<&":p(()=>UV(Number(r[v]),1,t));break;case">":case">>":{let D=x.resolve(t.cwd,K.toPortablePath(r[v]));C(D==="/dev/null"?new Jn.Writable({autoDestroy:!0,emitClose:!0,write(L,H,j){setImmediate(j)}}):e.baseFs.createWriteStream(D,f===">>"?{flags:"a"}:void 0))}break;case">&":C(UV(Number(r[v]),2,t));break;default:throw new Error(`Assertion failed: Unsupported redirection type: "${f}"`)}}if(o.length>0){let g=new Jn.PassThrough;i=g;let f=h=>{if(h===o.length)g.end();else{let p=o[h]();p.pipe(g,{end:!1}),p.on("end",()=>{f(h+1)})}};f(0)}if(a.length>0){let g=new Jn.PassThrough;n=g;for(let f of a)g.pipe(f)}if(l.length>0){let g=new Jn.PassThrough;s=g;for(let f of l)g.pipe(f)}let u=await uB(EC(r.slice(c+1),e,t),{stdin:new ys(i),stdout:new ys(n),stderr:new ys(s)}).run();return await Promise.all(a.map(g=>new Promise((f,h)=>{g.on("error",p=>{h(p)}),g.on("close",()=>{f()}),g.end()}))),await Promise.all(l.map(g=>new Promise((f,h)=>{g.on("error",p=>{h(p)}),g.on("close",()=>{f()}),g.end()}))),u}]]);async function dDe(r,e,t){let i=[],n=new Jn.PassThrough;return n.on("data",s=>i.push(s)),await hB(r,e,fB(t,{stdout:n})),Buffer.concat(i).toString().replace(/[\r\n]+$/,"")}async function HV(r,e,t){let i=r.map(async s=>{let o=await bc(s.args,e,t);return{name:s.name,value:o.join(" ")}});return(await Promise.all(i)).reduce((s,o)=>(s[o.name]=o.value,s),{})}function gB(r){return r.match(/[^ \r\n\t]+/g)||[]}async function WV(r,e,t,i,n=i){switch(r.name){case"$":i(String(process.pid));break;case"#":i(String(e.args.length));break;case"@":if(r.quoted)for(let s of e.args)n(s);else for(let s of e.args){let o=gB(s);for(let a=0;a=0&&s"u"&&(r.defaultValue?o=(await bc(r.defaultValue,e,t)).join(" "):r.alternativeValue&&(o="")),typeof o>"u")throw a?new qn(`Unbound argument #${s}`):new qn(`Unbound variable "${r.name}"`);if(r.quoted)i(o);else{let l=gB(o);for(let u=0;ur+e,subtraction:(r,e)=>r-e,multiplication:(r,e)=>r*e,division:(r,e)=>Math.trunc(r/e)};async function mC(r,e,t){if(r.type==="number"){if(Number.isInteger(r.value))return r.value;throw new Error(`Invalid number: "${r.value}", only integers are allowed`)}else if(r.type==="variable"){let i=[];await WV({...r,quoted:!0},e,t,s=>i.push(s));let n=Number(i.join(" "));return Number.isNaN(n)?mC({type:"variable",name:i.join(" ")},e,t):mC({type:"number",value:n},e,t)}else return CDe[r.type](await mC(r.left,e,t),await mC(r.right,e,t))}async function bc(r,e,t){let i=new Map,n=[],s=[],o=u=>{s.push(u)},a=()=>{s.length>0&&n.push(s.join("")),s=[]},l=u=>{o(u),a()},c=(u,g,f)=>{let h=JSON.stringify({type:u,fd:g}),p=i.get(h);typeof p>"u"&&i.set(h,p=[]),p.push(f)};for(let u of r){let g=!1;switch(u.type){case"redirection":{let f=await bc(u.args,e,t);for(let h of f)c(u.subtype,u.fd,h)}break;case"argument":for(let f of u.segments)switch(f.type){case"text":o(f.text);break;case"glob":o(f.pattern),g=!0;break;case"shell":{let h=await dDe(f.shell,e,t);if(f.quoted)o(h);else{let p=gB(h);for(let C=0;C"u")throw new Error("Assertion failed: Expected a glob pattern to have been set");let h=await e.glob.match(f,{cwd:t.cwd,baseFs:e.baseFs});if(h.length===0){let p=ER(f)?". Note: Brace expansion of arbitrary strings isn't currently supported. For more details, please read this issue: https://github.com/yarnpkg/berry/issues/22":"";throw new qn(`No matches found: "${f}"${p}`)}for(let p of h.sort())l(p)}}if(i.size>0){let u=[];for(let[g,f]of i.entries())u.splice(u.length,0,g,String(f.length),...f);n.splice(0,0,"__ysh_set_redirects",...u,"--")}return n}function EC(r,e,t){e.builtins.has(r[0])||(r=["command",...r]);let i=K.fromPortablePath(t.cwd),n=t.environment;typeof n.PWD<"u"&&(n={...n,PWD:i});let[s,...o]=r;if(s==="command")return OV(o[0],o.slice(1),e,{cwd:i,env:n});let a=e.builtins.get(s);if(typeof a>"u")throw new Error(`Assertion failed: A builtin should exist for "${s}"`);return MV(async({stdin:l,stdout:c,stderr:u})=>{let{stdin:g,stdout:f,stderr:h}=t;t.stdin=l,t.stdout=c,t.stderr=u;try{return await a(o,e,t)}finally{t.stdin=g,t.stdout=f,t.stderr=h}})}function mDe(r,e,t){return i=>{let n=new Jn.PassThrough,s=hB(r,e,fB(t,{stdin:n}));return{stdin:n,promise:s}}}function EDe(r,e,t){return i=>{let n=new Jn.PassThrough,s=hB(r,e,t);return{stdin:n,promise:s}}}function GV(r,e,t,i){if(e.length===0)return r;{let n;do n=String(Math.random());while(Object.prototype.hasOwnProperty.call(i.procedures,n));return i.procedures={...i.procedures},i.procedures[n]=r,EC([...e,"__ysh_run_procedure",n],t,i)}}async function YV(r,e,t){let i=r,n=null,s=null;for(;i;){let o=i.then?{...t}:t,a;switch(i.type){case"command":{let l=await bc(i.args,e,t),c=await HV(i.envs,e,t);a=i.envs.length?EC(l,e,fB(o,{environment:c})):EC(l,e,o)}break;case"subshell":{let l=await bc(i.args,e,t),c=mDe(i.subshell,e,o);a=GV(c,l,e,o)}break;case"group":{let l=await bc(i.args,e,t),c=EDe(i.group,e,o);a=GV(c,l,e,o)}break;case"envs":{let l=await HV(i.envs,e,t);o.environment={...o.environment,...l},a=EC(["true"],e,o)}break}if(typeof a>"u")throw new Error("Assertion failed: An action should have been generated");if(n===null)s=uB(a,{stdin:new ys(o.stdin),stdout:new ys(o.stdout),stderr:new ys(o.stderr)});else{if(s===null)throw new Error("Assertion failed: The execution pipeline should have been setup");switch(n){case"|":s=s.pipeTo(a,1);break;case"|&":s=s.pipeTo(a,3);break}}i.then?(n=i.then.type,i=i.then.chain):i=null}if(s===null)throw new Error("Assertion failed: The execution pipeline should have been setup");return await s.run()}async function IDe(r,e,t,{background:i=!1}={}){function n(s){let o=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],a=o[s%o.length];return jV.default.hex(a)}if(i){let s=t.nextBackgroundJobIndex++,o=n(s),a=`[${s}]`,l=o(a),{stdout:c,stderr:u}=KV(t,{prefix:l});return t.backgroundJobs.push(YV(r,e,fB(t,{stdout:c,stderr:u})).catch(g=>u.write(`${g.message} -`)).finally(()=>{t.stdout.isTTY&&t.stdout.write(`Job ${l}, '${o(Bg(r))}' has ended -`)})),0}return await YV(r,e,t)}async function yDe(r,e,t,{background:i=!1}={}){let n,s=a=>{n=a,t.variables["?"]=String(a)},o=async a=>{try{return await IDe(a.chain,e,t,{background:i&&typeof a.then>"u"})}catch(l){if(!(l instanceof qn))throw l;return t.stderr.write(`${l.message} -`),1}};for(s(await o(r));r.then;){if(t.exitCode!==null)return t.exitCode;switch(r.then.type){case"&&":n===0&&s(await o(r.then.line));break;case"||":n!==0&&s(await o(r.then.line));break;default:throw new Error(`Assertion failed: Unsupported command type: "${r.then.type}"`)}r=r.then.line}return n}async function hB(r,e,t){let i=t.backgroundJobs;t.backgroundJobs=[];let n=0;for(let{command:s,type:o}of r){if(n=await yDe(s,e,t,{background:o==="&"}),t.exitCode!==null)return t.exitCode;t.variables["?"]=String(n)}return await Promise.all(t.backgroundJobs),t.backgroundJobs=i,n}function zV(r){switch(r.type){case"variable":return r.name==="@"||r.name==="#"||r.name==="*"||Number.isFinite(parseInt(r.name,10))||"defaultValue"in r&&!!r.defaultValue&&r.defaultValue.some(e=>IC(e))||"alternativeValue"in r&&!!r.alternativeValue&&r.alternativeValue.some(e=>IC(e));case"arithmetic":return BR(r.arithmetic);case"shell":return QR(r.shell);default:return!1}}function IC(r){switch(r.type){case"redirection":return r.args.some(e=>IC(e));case"argument":return r.segments.some(e=>zV(e));default:throw new Error(`Assertion failed: Unsupported argument type: "${r.type}"`)}}function BR(r){switch(r.type){case"variable":return zV(r);case"number":return!1;default:return BR(r.left)||BR(r.right)}}function QR(r){return r.some(({command:e})=>{for(;e;){let t=e.chain;for(;t;){let i;switch(t.type){case"subshell":i=QR(t.subshell);break;case"command":i=t.envs.some(n=>n.args.some(s=>IC(s)))||t.args.some(n=>IC(n));break}if(i)return!0;if(!t.then)break;t=t.then.chain}if(!e.then)break;e=e.then.line}return!1})}async function pB(r,e=[],{baseFs:t=new $t,builtins:i={},cwd:n=K.toPortablePath(process.cwd()),env:s=process.env,stdin:o=process.stdin,stdout:a=process.stdout,stderr:l=process.stderr,variables:c={},glob:u=cB}={}){let g={};for(let[p,C]of Object.entries(s))typeof C<"u"&&(g[p]=C);let f=new Map(pDe);for(let[p,C]of Object.entries(i))f.set(p,C);o===null&&(o=new Jn.PassThrough,o.end());let h=$E(r,u);if(!QR(h)&&h.length>0&&e.length>0){let{command:p}=h[h.length-1];for(;p.then;)p=p.then.line;let C=p.chain;for(;C.then;)C=C.then.chain;C.type==="command"&&(C.args=C.args.concat(e.map(y=>({type:"argument",segments:[{type:"text",text:y}]}))))}return await hB(h,{args:e,baseFs:t,builtins:f,initialStdin:o,initialStdout:a,initialStderr:l,glob:u},{cwd:n,environment:g,exitCode:null,procedures:{},stdin:o,stdout:a,stderr:l,variables:Object.assign({},c,{["?"]:0}),nextBackgroundJobIndex:1,backgroundJobs:[]})}var N6=Pe(dB()),L6=Pe(Tg()),JA=J("stream");var R6=Pe(x6()),IB=Pe(Vl());var P6=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],D6=80,Eke=new Set([13,19]),Ike=5,EB=IB.default.GITHUB_ACTIONS?{start:r=>`::group::${r} +`),0)],["sleep",async([r],e,t)=>{if(typeof r>"u")throw new Jn("sleep: missing operand");let i=Number(r);if(Number.isNaN(i))throw new Jn(`sleep: invalid time interval '${r}'`);return await rke(1e3*i,0)}],["__ysh_run_procedure",async(r,e,t)=>{let i=t.procedures[r[0]];return await IB(i,{stdin:new Qs(t.stdin),stdout:new Qs(t.stdout),stderr:new Qs(t.stderr)}).run()}],["__ysh_set_redirects",async(r,e,t)=>{let i=t.stdin,n=t.stdout,s=t.stderr,o=[],a=[],l=[],c=0;for(;r[c]!=="--";){let g=r[c++],{type:f,fd:h}=JSON.parse(g),p=v=>{switch(h){case null:case 0:o.push(v);break;default:throw new Error(`Unsupported file descriptor: "${h}"`)}},C=v=>{switch(h){case null:case 1:a.push(v);break;case 2:l.push(v);break;default:throw new Error(`Unsupported file descriptor: "${h}"`)}},y=Number(r[c++]),B=c+y;for(let v=c;ve.baseFs.createReadStream(x.resolve(t.cwd,K.toPortablePath(r[v]))));break;case"<<<":p(()=>{let D=new Wn.PassThrough;return process.nextTick(()=>{D.write(`${r[v]} +`),D.end()}),D});break;case"<&":p(()=>gV(Number(r[v]),1,t));break;case">":case">>":{let D=x.resolve(t.cwd,K.toPortablePath(r[v]));C(D==="/dev/null"?new Wn.Writable({autoDestroy:!0,emitClose:!0,write(L,H,j){setImmediate(j)}}):e.baseFs.createWriteStream(D,f===">>"?{flags:"a"}:void 0))}break;case">&":C(gV(Number(r[v]),2,t));break;default:throw new Error(`Assertion failed: Unsupported redirection type: "${f}"`)}}if(o.length>0){let g=new Wn.PassThrough;i=g;let f=h=>{if(h===o.length)g.end();else{let p=o[h]();p.pipe(g,{end:!1}),p.on("end",()=>{f(h+1)})}};f(0)}if(a.length>0){let g=new Wn.PassThrough;n=g;for(let f of a)g.pipe(f)}if(l.length>0){let g=new Wn.PassThrough;s=g;for(let f of l)g.pipe(f)}let u=await IB(xC(r.slice(c+1),e,t),{stdin:new Qs(i),stdout:new Qs(n),stderr:new Qs(s)}).run();return await Promise.all(a.map(g=>new Promise((f,h)=>{g.on("error",p=>{h(p)}),g.on("close",()=>{f()}),g.end()}))),await Promise.all(l.map(g=>new Promise((f,h)=>{g.on("error",p=>{h(p)}),g.on("close",()=>{f()}),g.end()}))),u}]]);async function nke(r,e,t){let i=[],n=new Wn.PassThrough;return n.on("data",s=>i.push(s)),await BB(r,e,wB(t,{stdout:n})),Buffer.concat(i).toString().replace(/[\r\n]+$/,"")}async function fV(r,e,t){let i=r.map(async s=>{let o=await Lc(s.args,e,t);return{name:s.name,value:o.join(" ")}});return(await Promise.all(i)).reduce((s,o)=>(s[o.name]=o.value,s),{})}function yB(r){return r.match(/[^ \r\n\t]+/g)||[]}async function EV(r,e,t,i,n=i){switch(r.name){case"$":i(String(process.pid));break;case"#":i(String(e.args.length));break;case"@":if(r.quoted)for(let s of e.args)n(s);else for(let s of e.args){let o=yB(s);for(let a=0;a=0&&s"u"&&(r.defaultValue?o=(await Lc(r.defaultValue,e,t)).join(" "):r.alternativeValue&&(o="")),typeof o>"u")throw a?new Jn(`Unbound argument #${s}`):new Jn(`Unbound variable "${r.name}"`);if(r.quoted)i(o);else{let l=yB(o);for(let u=0;ur+e,subtraction:(r,e)=>r-e,multiplication:(r,e)=>r*e,division:(r,e)=>Math.trunc(r/e)};async function vC(r,e,t){if(r.type==="number"){if(Number.isInteger(r.value))return r.value;throw new Error(`Invalid number: "${r.value}", only integers are allowed`)}else if(r.type==="variable"){let i=[];await EV({...r,quoted:!0},e,t,s=>i.push(s));let n=Number(i.join(" "));return Number.isNaN(n)?vC({type:"variable",name:i.join(" ")},e,t):vC({type:"number",value:n},e,t)}else return ske[r.type](await vC(r.left,e,t),await vC(r.right,e,t))}async function Lc(r,e,t){let i=new Map,n=[],s=[],o=u=>{s.push(u)},a=()=>{s.length>0&&n.push(s.join("")),s=[]},l=u=>{o(u),a()},c=(u,g,f)=>{let h=JSON.stringify({type:u,fd:g}),p=i.get(h);typeof p>"u"&&i.set(h,p=[]),p.push(f)};for(let u of r){let g=!1;switch(u.type){case"redirection":{let f=await Lc(u.args,e,t);for(let h of f)c(u.subtype,u.fd,h)}break;case"argument":for(let f of u.segments)switch(f.type){case"text":o(f.text);break;case"glob":o(f.pattern),g=!0;break;case"shell":{let h=await nke(f.shell,e,t);if(f.quoted)o(h);else{let p=yB(h);for(let C=0;C"u")throw new Error("Assertion failed: Expected a glob pattern to have been set");let h=await e.glob.match(f,{cwd:t.cwd,baseFs:e.baseFs});if(h.length===0){let p=LR(f)?". Note: Brace expansion of arbitrary strings isn't currently supported. For more details, please read this issue: https://github.com/yarnpkg/berry/issues/22":"";throw new Jn(`No matches found: "${f}"${p}`)}for(let p of h.sort())l(p)}}if(i.size>0){let u=[];for(let[g,f]of i.entries())u.splice(u.length,0,g,String(f.length),...f);n.splice(0,0,"__ysh_set_redirects",...u,"--")}return n}function xC(r,e,t){e.builtins.has(r[0])||(r=["command",...r]);let i=K.fromPortablePath(t.cwd),n=t.environment;typeof n.PWD<"u"&&(n={...n,PWD:i});let[s,...o]=r;if(s==="command")return lV(o[0],o.slice(1),e,{cwd:i,env:n});let a=e.builtins.get(s);if(typeof a>"u")throw new Error(`Assertion failed: A builtin should exist for "${s}"`);return cV(async({stdin:l,stdout:c,stderr:u})=>{let{stdin:g,stdout:f,stderr:h}=t;t.stdin=l,t.stdout=c,t.stderr=u;try{return await a(o,e,t)}finally{t.stdin=g,t.stdout=f,t.stderr=h}})}function oke(r,e,t){return i=>{let n=new Wn.PassThrough,s=BB(r,e,wB(t,{stdin:n}));return{stdin:n,promise:s}}}function ake(r,e,t){return i=>{let n=new Wn.PassThrough,s=BB(r,e,t);return{stdin:n,promise:s}}}function hV(r,e,t,i){if(e.length===0)return r;{let n;do n=String(Math.random());while(Object.prototype.hasOwnProperty.call(i.procedures,n));return i.procedures={...i.procedures},i.procedures[n]=r,xC([...e,"__ysh_run_procedure",n],t,i)}}async function pV(r,e,t){let i=r,n=null,s=null;for(;i;){let o=i.then?{...t}:t,a;switch(i.type){case"command":{let l=await Lc(i.args,e,t),c=await fV(i.envs,e,t);a=i.envs.length?xC(l,e,wB(o,{environment:c})):xC(l,e,o)}break;case"subshell":{let l=await Lc(i.args,e,t),c=oke(i.subshell,e,o);a=hV(c,l,e,o)}break;case"group":{let l=await Lc(i.args,e,t),c=ake(i.group,e,o);a=hV(c,l,e,o)}break;case"envs":{let l=await fV(i.envs,e,t);o.environment={...o.environment,...l},a=xC(["true"],e,o)}break}if(typeof a>"u")throw new Error("Assertion failed: An action should have been generated");if(n===null)s=IB(a,{stdin:new Qs(o.stdin),stdout:new Qs(o.stdout),stderr:new Qs(o.stderr)});else{if(s===null)throw new Error("Assertion failed: The execution pipeline should have been setup");switch(n){case"|":s=s.pipeTo(a,1);break;case"|&":s=s.pipeTo(a,3);break}}i.then?(n=i.then.type,i=i.then.chain):i=null}if(s===null)throw new Error("Assertion failed: The execution pipeline should have been setup");return await s.run()}async function Ake(r,e,t,{background:i=!1}={}){function n(s){let o=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],a=o[s%o.length];return dV.default.hex(a)}if(i){let s=t.nextBackgroundJobIndex++,o=n(s),a=`[${s}]`,l=o(a),{stdout:c,stderr:u}=uV(t,{prefix:l});return t.backgroundJobs.push(pV(r,e,wB(t,{stdout:c,stderr:u})).catch(g=>u.write(`${g.message} +`)).finally(()=>{t.stdout.isTTY&&t.stdout.write(`Job ${l}, '${o(Dg(r))}' has ended +`)})),0}return await pV(r,e,t)}async function lke(r,e,t,{background:i=!1}={}){let n,s=a=>{n=a,t.variables["?"]=String(a)},o=async a=>{try{return await Ake(a.chain,e,t,{background:i&&typeof a.then>"u"})}catch(l){if(!(l instanceof Jn))throw l;return t.stderr.write(`${l.message} +`),1}};for(s(await o(r));r.then;){if(t.exitCode!==null)return t.exitCode;switch(r.then.type){case"&&":n===0&&s(await o(r.then.line));break;case"||":n!==0&&s(await o(r.then.line));break;default:throw new Error(`Assertion failed: Unsupported command type: "${r.then.type}"`)}r=r.then.line}return n}async function BB(r,e,t){let i=t.backgroundJobs;t.backgroundJobs=[];let n=0;for(let{command:s,type:o}of r){if(n=await lke(s,e,t,{background:o==="&"}),t.exitCode!==null)return t.exitCode;t.variables["?"]=String(n)}return await Promise.all(t.backgroundJobs),t.backgroundJobs=i,n}function IV(r){switch(r.type){case"variable":return r.name==="@"||r.name==="#"||r.name==="*"||Number.isFinite(parseInt(r.name,10))||"defaultValue"in r&&!!r.defaultValue&&r.defaultValue.some(e=>PC(e))||"alternativeValue"in r&&!!r.alternativeValue&&r.alternativeValue.some(e=>PC(e));case"arithmetic":return KR(r.arithmetic);case"shell":return UR(r.shell);default:return!1}}function PC(r){switch(r.type){case"redirection":return r.args.some(e=>PC(e));case"argument":return r.segments.some(e=>IV(e));default:throw new Error(`Assertion failed: Unsupported argument type: "${r.type}"`)}}function KR(r){switch(r.type){case"variable":return IV(r);case"number":return!1;default:return KR(r.left)||KR(r.right)}}function UR(r){return r.some(({command:e})=>{for(;e;){let t=e.chain;for(;t;){let i;switch(t.type){case"subshell":i=UR(t.subshell);break;case"command":i=t.envs.some(n=>n.args.some(s=>PC(s)))||t.args.some(n=>PC(n));break}if(i)return!0;if(!t.then)break;t=t.then.chain}if(!e.then)break;e=e.then.line}return!1})}async function QB(r,e=[],{baseFs:t=new $t,builtins:i={},cwd:n=K.toPortablePath(process.cwd()),env:s=process.env,stdin:o=process.stdin,stdout:a=process.stdout,stderr:l=process.stderr,variables:c={},glob:u=EB}={}){let g={};for(let[p,C]of Object.entries(s))typeof C<"u"&&(g[p]=C);let f=new Map(ike);for(let[p,C]of Object.entries(i))f.set(p,C);o===null&&(o=new Wn.PassThrough,o.end());let h=aI(r,u);if(!UR(h)&&h.length>0&&e.length>0){let{command:p}=h[h.length-1];for(;p.then;)p=p.then.line;let C=p.chain;for(;C.then;)C=C.then.chain;C.type==="command"&&(C.args=C.args.concat(e.map(y=>({type:"argument",segments:[{type:"text",text:y}]}))))}return await BB(h,{args:e,baseFs:t,builtins:f,initialStdin:o,initialStdout:a,initialStderr:l,glob:u},{cwd:n,environment:g,exitCode:null,procedures:{},stdin:o,stdout:a,stderr:l,variables:Object.assign({},c,{["?"]:0}),nextBackgroundJobIndex:1,backgroundJobs:[]})}var o7=Pe(bB()),a7=Pe(Yg()),$A=J("stream");var n7=Pe(e7()),PB=Pe(nc());var t7=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],r7=80,aRe=new Set([13,19]),ARe=5,xB=PB.default.GITHUB_ACTIONS?{start:r=>`::group::${r} `,end:r=>`::endgroup:: -`}:IB.default.TRAVIS?{start:r=>`travis_fold:start:${r} +`}:PB.default.TRAVIS?{start:r=>`travis_fold:start:${r} `,end:r=>`travis_fold:end:${r} -`}:IB.default.GITLAB?{start:r=>`section_start:${Math.floor(Date.now()/1e3)}:${r.toLowerCase().replace(/\W+/g,"_")}[collapsed=true]\r\x1B[0K${r} -`,end:r=>`section_end:${Math.floor(Date.now()/1e3)}:${r.toLowerCase().replace(/\W+/g,"_")}\r\x1B[0K`}:null,k6=new Date,yke=["iTerm.app","Apple_Terminal","WarpTerminal","vscode"].includes(process.env.TERM_PROGRAM)||!!process.env.WT_SESSION,wke=r=>r,yB=wke({patrick:{date:[17,3],chars:["\u{1F340}","\u{1F331}"],size:40},simba:{date:[19,7],chars:["\u{1F981}","\u{1F334}"],size:40},jack:{date:[31,10],chars:["\u{1F383}","\u{1F987}"],size:40},hogsfather:{date:[31,12],chars:["\u{1F389}","\u{1F384}"],size:40},default:{chars:["=","-"],size:80}}),Bke=yke&&Object.keys(yB).find(r=>{let e=yB[r];return!(e.date&&(e.date[0]!==k6.getDate()||e.date[1]!==k6.getMonth()+1))})||"default";function F6(r,{configuration:e,json:t}){if(!e.get("enableMessageNames"))return"";let n=QA(r===null?0:r);return!t&&r===null?Ze(e,n,"grey"):n}function PR(r,{configuration:e,json:t}){let i=F6(r,{configuration:e,json:t});if(!i||r===null||r===0)return i;let n=Ct[r],s=`https://yarnpkg.com/advanced/error-codes#${i}---${n}`.toLowerCase();return cf(e,i,s)}var Ge=class extends Si{constructor({configuration:t,stdout:i,json:n=!1,includePrefix:s=!0,includeFooter:o=!0,includeLogs:a=!n,includeInfos:l=a,includeWarnings:c=a,forgettableBufferSize:u=Ike,forgettableNames:g=new Set}){super();this.uncommitted=new Set;this.cacheHitCount=0;this.cacheMissCount=0;this.lastCacheMiss=null;this.warningCount=0;this.errorCount=0;this.startTime=Date.now();this.indent=0;this.progress=new Map;this.progressTime=0;this.progressFrame=0;this.progressTimeout=null;this.progressStyle=null;this.progressMaxScaledSize=null;this.forgettableLines=[];if(Kd(this,{configuration:t}),this.configuration=t,this.forgettableBufferSize=u,this.forgettableNames=new Set([...g,...Eke]),this.includePrefix=s,this.includeFooter=o,this.includeInfos=l,this.includeWarnings=c,this.json=n,this.stdout=i,t.get("enableProgressBars")&&!n&&i.isTTY&&i.columns>22){let f=t.get("progressBarStyle")||Bke;if(!Object.prototype.hasOwnProperty.call(yB,f))throw new Error("Assertion failed: Invalid progress bar style");this.progressStyle=yB[f];let h=12,p=Math.max(0,Math.min(i.columns-h,80));this.progressMaxScaledSize=Math.floor(this.progressStyle.size*p/80)}}static async start(t,i){let n=new this(t),s=process.emitWarning;process.emitWarning=(o,a)=>{if(typeof o!="string"){let c=o;o=c.message,a=a!=null?a:c.name}let l=typeof a<"u"?`${a}: ${o}`:o;n.reportWarning(0,l)};try{await i(n)}catch(o){n.reportExceptionOnce(o)}finally{await n.finalize(),process.emitWarning=s}return n}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(t){this.cacheHitCount+=1}reportCacheMiss(t,i){this.lastCacheMiss=t,this.cacheMissCount+=1,typeof i<"u"&&!this.configuration.get("preferAggregateCacheInfo")&&this.reportInfo(13,i)}startSectionSync({reportHeader:t,reportFooter:i,skipIfEmpty:n},s){let o={committed:!1,action:()=>{t==null||t()}};n?this.uncommitted.add(o):(o.action(),o.committed=!0);let a=Date.now();try{return s()}catch(l){throw this.reportExceptionOnce(l),l}finally{let l=Date.now();this.uncommitted.delete(o),o.committed&&(i==null||i(l-a))}}async startSectionPromise({reportHeader:t,reportFooter:i,skipIfEmpty:n},s){let o={committed:!1,action:()=>{t==null||t()}};n?this.uncommitted.add(o):(o.action(),o.committed=!0);let a=Date.now();try{return await s()}catch(l){throw this.reportExceptionOnce(l),l}finally{let l=Date.now();this.uncommitted.delete(o),o.committed&&(i==null||i(l-a))}}startTimerImpl(t,i,n){return{cb:typeof i=="function"?i:n,reportHeader:()=>{this.reportInfo(null,`\u250C ${t}`),this.indent+=1,EB!==null&&!this.json&&this.includeInfos&&this.stdout.write(EB.start(t))},reportFooter:a=>{this.indent-=1,EB!==null&&!this.json&&this.includeInfos&&this.stdout.write(EB.end(t)),this.configuration.get("enableTimers")&&a>200?this.reportInfo(null,`\u2514 Completed in ${Ze(this.configuration,a,Ue.DURATION)}`):this.reportInfo(null,"\u2514 Completed")},skipIfEmpty:(typeof i=="function"?{}:i).skipIfEmpty}}startTimerSync(t,i,n){let{cb:s,...o}=this.startTimerImpl(t,i,n);return this.startSectionSync(o,s)}async startTimerPromise(t,i,n){let{cb:s,...o}=this.startTimerImpl(t,i,n);return this.startSectionPromise(o,s)}async startCacheReport(t){let i=this.configuration.get("preferAggregateCacheInfo")?{cacheHitCount:this.cacheHitCount,cacheMissCount:this.cacheMissCount}:null;try{return await t()}catch(n){throw this.reportExceptionOnce(n),n}finally{i!==null&&this.reportCacheChanges(i)}}reportSeparator(){this.indent===0?this.writeLineWithForgettableReset(""):this.reportInfo(null,"")}reportInfo(t,i){if(!this.includeInfos)return;this.commit();let n=this.formatNameWithHyperlink(t),s=n?`${n}: `:"",o=`${this.formatPrefix(s,"blueBright")}${i}`;if(this.json)this.reportJson({type:"info",name:t,displayName:this.formatName(t),indent:this.formatIndent(),data:i});else if(this.forgettableNames.has(t))if(this.forgettableLines.push(o),this.forgettableLines.length>this.forgettableBufferSize){for(;this.forgettableLines.length>this.forgettableBufferSize;)this.forgettableLines.shift();this.writeLines(this.forgettableLines,{truncate:!0})}else this.writeLine(o,{truncate:!0});else this.writeLineWithForgettableReset(o)}reportWarning(t,i){if(this.warningCount+=1,!this.includeWarnings)return;this.commit();let n=this.formatNameWithHyperlink(t),s=n?`${n}: `:"";this.json?this.reportJson({type:"warning",name:t,displayName:this.formatName(t),indent:this.formatIndent(),data:i}):this.writeLineWithForgettableReset(`${this.formatPrefix(s,"yellowBright")}${i}`)}reportError(t,i){this.errorCount+=1,this.commit();let n=this.formatNameWithHyperlink(t),s=n?`${n}: `:"";this.json?this.reportJson({type:"error",name:t,displayName:this.formatName(t),indent:this.formatIndent(),data:i}):this.writeLineWithForgettableReset(`${this.formatPrefix(s,"redBright")}${i}`,{truncate:!1})}reportProgress(t){if(this.progressStyle===null)return{...Promise.resolve(),stop:()=>{}};if(t.hasProgress&&t.hasTitle)throw new Error("Unimplemented: Progress bars can't have both progress and titles.");let i=!1,n=Promise.resolve().then(async()=>{let o={progress:t.hasProgress?0:void 0,title:t.hasTitle?"":void 0};this.progress.set(t,{definition:o,lastScaledSize:t.hasProgress?-1:void 0,lastTitle:void 0}),this.refreshProgress({delta:-1});for await(let{progress:a,title:l}of t)i||o.progress===a&&o.title===l||(o.progress=a,o.title=l,this.refreshProgress());s()}),s=()=>{i||(i=!0,this.progress.delete(t),this.refreshProgress({delta:1}))};return{...n,stop:s}}reportJson(t){this.json&&this.writeLineWithForgettableReset(`${JSON.stringify(t)}`)}async finalize(){if(!this.includeFooter)return;let t="";this.errorCount>0?t="Failed with errors":this.warningCount>0?t="Done with warnings":t="Done";let i=Ze(this.configuration,Date.now()-this.startTime,Ue.DURATION),n=this.configuration.get("enableTimers")?`${t} in ${i}`:t;this.errorCount>0?this.reportError(0,n):this.warningCount>0?this.reportWarning(0,n):this.reportInfo(0,n)}writeLine(t,{truncate:i}={}){this.clearProgress({clear:!0}),this.stdout.write(`${this.truncate(t,{truncate:i})} +`}:PB.default.GITLAB?{start:r=>`section_start:${Math.floor(Date.now()/1e3)}:${r.toLowerCase().replace(/\W+/g,"_")}[collapsed=true]\r\x1B[0K${r} +`,end:r=>`section_end:${Math.floor(Date.now()/1e3)}:${r.toLowerCase().replace(/\W+/g,"_")}\r\x1B[0K`}:null,i7=new Date,lRe=["iTerm.app","Apple_Terminal","WarpTerminal","vscode"].includes(process.env.TERM_PROGRAM)||!!process.env.WT_SESSION,cRe=r=>r,DB=cRe({patrick:{date:[17,3],chars:["\u{1F340}","\u{1F331}"],size:40},simba:{date:[19,7],chars:["\u{1F981}","\u{1F334}"],size:40},jack:{date:[31,10],chars:["\u{1F383}","\u{1F987}"],size:40},hogsfather:{date:[31,12],chars:["\u{1F389}","\u{1F384}"],size:40},default:{chars:["=","-"],size:80}}),uRe=lRe&&Object.keys(DB).find(r=>{let e=DB[r];return!(e.date&&(e.date[0]!==i7.getDate()||e.date[1]!==i7.getMonth()+1))})||"default";function s7(r,{configuration:e,json:t}){if(!e.get("enableMessageNames"))return"";let n=RA(r===null?0:r);return!t&&r===null?$e(e,n,"grey"):n}function qR(r,{configuration:e,json:t}){let i=s7(r,{configuration:e,json:t});if(!i||r===null||r===0)return i;let n=Ct[r],s=`https://yarnpkg.com/advanced/error-codes#${i}---${n}`.toLowerCase();return Cf(e,i,s)}var Ge=class extends vi{constructor({configuration:t,stdout:i,json:n=!1,includePrefix:s=!0,includeFooter:o=!0,includeLogs:a=!n,includeInfos:l=a,includeWarnings:c=a,forgettableBufferSize:u=ARe,forgettableNames:g=new Set}){super();this.uncommitted=new Set;this.cacheHitCount=0;this.cacheMissCount=0;this.lastCacheMiss=null;this.warningCount=0;this.errorCount=0;this.startTime=Date.now();this.indent=0;this.progress=new Map;this.progressTime=0;this.progressFrame=0;this.progressTimeout=null;this.progressStyle=null;this.progressMaxScaledSize=null;this.forgettableLines=[];if(zd(this,{configuration:t}),this.configuration=t,this.forgettableBufferSize=u,this.forgettableNames=new Set([...g,...aRe]),this.includePrefix=s,this.includeFooter=o,this.includeInfos=l,this.includeWarnings=c,this.json=n,this.stdout=i,t.get("enableProgressBars")&&!n&&i.isTTY&&i.columns>22){let f=t.get("progressBarStyle")||uRe;if(!Object.prototype.hasOwnProperty.call(DB,f))throw new Error("Assertion failed: Invalid progress bar style");this.progressStyle=DB[f];let h=12,p=Math.max(0,Math.min(i.columns-h,80));this.progressMaxScaledSize=Math.floor(this.progressStyle.size*p/80)}}static async start(t,i){let n=new this(t),s=process.emitWarning;process.emitWarning=(o,a)=>{if(typeof o!="string"){let c=o;o=c.message,a=a!=null?a:c.name}let l=typeof a<"u"?`${a}: ${o}`:o;n.reportWarning(0,l)};try{await i(n)}catch(o){n.reportExceptionOnce(o)}finally{await n.finalize(),process.emitWarning=s}return n}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(t){this.cacheHitCount+=1}reportCacheMiss(t,i){this.lastCacheMiss=t,this.cacheMissCount+=1,typeof i<"u"&&!this.configuration.get("preferAggregateCacheInfo")&&this.reportInfo(13,i)}startSectionSync({reportHeader:t,reportFooter:i,skipIfEmpty:n},s){let o={committed:!1,action:()=>{t==null||t()}};n?this.uncommitted.add(o):(o.action(),o.committed=!0);let a=Date.now();try{return s()}catch(l){throw this.reportExceptionOnce(l),l}finally{let l=Date.now();this.uncommitted.delete(o),o.committed&&(i==null||i(l-a))}}async startSectionPromise({reportHeader:t,reportFooter:i,skipIfEmpty:n},s){let o={committed:!1,action:()=>{t==null||t()}};n?this.uncommitted.add(o):(o.action(),o.committed=!0);let a=Date.now();try{return await s()}catch(l){throw this.reportExceptionOnce(l),l}finally{let l=Date.now();this.uncommitted.delete(o),o.committed&&(i==null||i(l-a))}}startTimerImpl(t,i,n){return{cb:typeof i=="function"?i:n,reportHeader:()=>{this.reportInfo(null,`\u250C ${t}`),this.indent+=1,xB!==null&&!this.json&&this.includeInfos&&this.stdout.write(xB.start(t))},reportFooter:a=>{this.indent-=1,xB!==null&&!this.json&&this.includeInfos&&this.stdout.write(xB.end(t)),this.configuration.get("enableTimers")&&a>200?this.reportInfo(null,`\u2514 Completed in ${$e(this.configuration,a,Ue.DURATION)}`):this.reportInfo(null,"\u2514 Completed")},skipIfEmpty:(typeof i=="function"?{}:i).skipIfEmpty}}startTimerSync(t,i,n){let{cb:s,...o}=this.startTimerImpl(t,i,n);return this.startSectionSync(o,s)}async startTimerPromise(t,i,n){let{cb:s,...o}=this.startTimerImpl(t,i,n);return this.startSectionPromise(o,s)}async startCacheReport(t){let i=this.configuration.get("preferAggregateCacheInfo")?{cacheHitCount:this.cacheHitCount,cacheMissCount:this.cacheMissCount}:null;try{return await t()}catch(n){throw this.reportExceptionOnce(n),n}finally{i!==null&&this.reportCacheChanges(i)}}reportSeparator(){this.indent===0?this.writeLineWithForgettableReset(""):this.reportInfo(null,"")}reportInfo(t,i){if(!this.includeInfos)return;this.commit();let n=this.formatNameWithHyperlink(t),s=n?`${n}: `:"",o=`${this.formatPrefix(s,"blueBright")}${i}`;if(this.json)this.reportJson({type:"info",name:t,displayName:this.formatName(t),indent:this.formatIndent(),data:i});else if(this.forgettableNames.has(t))if(this.forgettableLines.push(o),this.forgettableLines.length>this.forgettableBufferSize){for(;this.forgettableLines.length>this.forgettableBufferSize;)this.forgettableLines.shift();this.writeLines(this.forgettableLines,{truncate:!0})}else this.writeLine(o,{truncate:!0});else this.writeLineWithForgettableReset(o)}reportWarning(t,i){if(this.warningCount+=1,!this.includeWarnings)return;this.commit();let n=this.formatNameWithHyperlink(t),s=n?`${n}: `:"";this.json?this.reportJson({type:"warning",name:t,displayName:this.formatName(t),indent:this.formatIndent(),data:i}):this.writeLineWithForgettableReset(`${this.formatPrefix(s,"yellowBright")}${i}`)}reportError(t,i){this.errorCount+=1,this.commit();let n=this.formatNameWithHyperlink(t),s=n?`${n}: `:"";this.json?this.reportJson({type:"error",name:t,displayName:this.formatName(t),indent:this.formatIndent(),data:i}):this.writeLineWithForgettableReset(`${this.formatPrefix(s,"redBright")}${i}`,{truncate:!1})}reportProgress(t){if(this.progressStyle===null)return{...Promise.resolve(),stop:()=>{}};if(t.hasProgress&&t.hasTitle)throw new Error("Unimplemented: Progress bars can't have both progress and titles.");let i=!1,n=Promise.resolve().then(async()=>{let o={progress:t.hasProgress?0:void 0,title:t.hasTitle?"":void 0};this.progress.set(t,{definition:o,lastScaledSize:t.hasProgress?-1:void 0,lastTitle:void 0}),this.refreshProgress({delta:-1});for await(let{progress:a,title:l}of t)i||o.progress===a&&o.title===l||(o.progress=a,o.title=l,this.refreshProgress());s()}),s=()=>{i||(i=!0,this.progress.delete(t),this.refreshProgress({delta:1}))};return{...n,stop:s}}reportJson(t){this.json&&this.writeLineWithForgettableReset(`${JSON.stringify(t)}`)}async finalize(){if(!this.includeFooter)return;let t="";this.errorCount>0?t="Failed with errors":this.warningCount>0?t="Done with warnings":t="Done";let i=$e(this.configuration,Date.now()-this.startTime,Ue.DURATION),n=this.configuration.get("enableTimers")?`${t} in ${i}`:t;this.errorCount>0?this.reportError(0,n):this.warningCount>0?this.reportWarning(0,n):this.reportInfo(0,n)}writeLine(t,{truncate:i}={}){this.clearProgress({clear:!0}),this.stdout.write(`${this.truncate(t,{truncate:i})} `),this.writeProgress()}writeLineWithForgettableReset(t,{truncate:i}={}){this.forgettableLines=[],this.writeLine(t,{truncate:i})}writeLines(t,{truncate:i}={}){this.clearProgress({delta:t.length});for(let n of t)this.stdout.write(`${this.truncate(n,{truncate:i})} -`);this.writeProgress()}reportCacheChanges({cacheHitCount:t,cacheMissCount:i}){let n=this.cacheHitCount-t,s=this.cacheMissCount-i;if(n===0&&s===0)return;let o="";this.cacheHitCount>1?o+=`${this.cacheHitCount} packages were already cached`:this.cacheHitCount===1?o+=" - one package was already cached":o+="No packages were cached",this.cacheHitCount>0?this.cacheMissCount>1?o+=`, ${this.cacheMissCount} had to be fetched`:this.cacheMissCount===1&&(o+=`, one had to be fetched (${mt(this.configuration,this.lastCacheMiss)})`):this.cacheMissCount>1?o+=` - ${this.cacheMissCount} packages had to be fetched`:this.cacheMissCount===1&&(o+=` - one package had to be fetched (${mt(this.configuration,this.lastCacheMiss)})`),this.reportInfo(13,o)}commit(){let t=this.uncommitted;this.uncommitted=new Set;for(let i of t)i.committed=!0,i.action()}clearProgress({delta:t=0,clear:i=!1}){this.progressStyle!==null&&this.progress.size+t>0&&(this.stdout.write(`\x1B[${this.progress.size+t}A`),(t>0||i)&&this.stdout.write("\x1B[0J"))}writeProgress(){if(this.progressStyle===null||(this.progressTimeout!==null&&clearTimeout(this.progressTimeout),this.progressTimeout=null,this.progress.size===0))return;let t=Date.now();t-this.progressTime>D6&&(this.progressFrame=(this.progressFrame+1)%P6.length,this.progressTime=t);let i=P6[this.progressFrame];for(let n of this.progress.values()){let s="";if(typeof n.lastScaledSize<"u"){let c=this.progressStyle.chars[0].repeat(n.lastScaledSize),u=this.progressStyle.chars[1].repeat(this.progressMaxScaledSize-n.lastScaledSize);s=` ${c}${u}`}let o=this.formatName(null),a=o?`${o}: `:"",l=n.definition.title?` ${n.definition.title}`:"";this.stdout.write(`${Ze(this.configuration,"\u27A4","blueBright")} ${a}${i}${s}${l} -`)}this.progressTimeout=setTimeout(()=>{this.refreshProgress({force:!0})},D6)}refreshProgress({delta:t=0,force:i=!1}={}){let n=!1,s=!1;if(i||this.progress.size===0)n=!0;else for(let o of this.progress.values()){let a=typeof o.definition.progress<"u"?Math.trunc(this.progressMaxScaledSize*o.definition.progress):void 0,l=o.lastScaledSize;o.lastScaledSize=a;let c=o.lastTitle;if(o.lastTitle=o.definition.title,a!==l||(s=c!==o.definition.title)){n=!0;break}}n&&(this.clearProgress({delta:t,clear:s}),this.writeProgress())}truncate(t,{truncate:i}={}){return this.progressStyle===null&&(i=!1),typeof i>"u"&&(i=this.configuration.get("preferTruncatedLines")),i&&(t=(0,R6.default)(t,0,this.stdout.columns-1)),t}formatName(t){return F6(t,{configuration:this.configuration,json:this.json})}formatPrefix(t,i){return this.includePrefix?`${Ze(this.configuration,"\u27A4",i)} ${t}${this.formatIndent()}`:""}formatNameWithHyperlink(t){return PR(t,{configuration:this.configuration,json:this.json})}formatIndent(){return"\u2502 ".repeat(this.indent)}};var Lr="3.4.1";var T6=(n=>(n.Yarn1="Yarn Classic",n.Yarn2="Yarn",n.Npm="npm",n.Pnpm="pnpm",n))(T6||{});async function Ka(r,e,t,i=[]){if(process.platform==="win32"){let n=`@goto #_undefined_# 2>NUL || @title %COMSPEC% & @setlocal & @"${t}" ${i.map(s=>`"${s.replace('"','""')}"`).join(" ")} %*`;await M.writeFilePromise(x.format({dir:r,name:e,ext:".cmd"}),n)}await M.writeFilePromise(x.join(r,e),`#!/bin/sh +`);this.writeProgress()}reportCacheChanges({cacheHitCount:t,cacheMissCount:i}){let n=this.cacheHitCount-t,s=this.cacheMissCount-i;if(n===0&&s===0)return;let o="";this.cacheHitCount>1?o+=`${this.cacheHitCount} packages were already cached`:this.cacheHitCount===1?o+=" - one package was already cached":o+="No packages were cached",this.cacheHitCount>0?this.cacheMissCount>1?o+=`, ${this.cacheMissCount} had to be fetched`:this.cacheMissCount===1&&(o+=`, one had to be fetched (${mt(this.configuration,this.lastCacheMiss)})`):this.cacheMissCount>1?o+=` - ${this.cacheMissCount} packages had to be fetched`:this.cacheMissCount===1&&(o+=` - one package had to be fetched (${mt(this.configuration,this.lastCacheMiss)})`),this.reportInfo(13,o)}commit(){let t=this.uncommitted;this.uncommitted=new Set;for(let i of t)i.committed=!0,i.action()}clearProgress({delta:t=0,clear:i=!1}){this.progressStyle!==null&&this.progress.size+t>0&&(this.stdout.write(`\x1B[${this.progress.size+t}A`),(t>0||i)&&this.stdout.write("\x1B[0J"))}writeProgress(){if(this.progressStyle===null||(this.progressTimeout!==null&&clearTimeout(this.progressTimeout),this.progressTimeout=null,this.progress.size===0))return;let t=Date.now();t-this.progressTime>r7&&(this.progressFrame=(this.progressFrame+1)%t7.length,this.progressTime=t);let i=t7[this.progressFrame];for(let n of this.progress.values()){let s="";if(typeof n.lastScaledSize<"u"){let c=this.progressStyle.chars[0].repeat(n.lastScaledSize),u=this.progressStyle.chars[1].repeat(this.progressMaxScaledSize-n.lastScaledSize);s=` ${c}${u}`}let o=this.formatName(null),a=o?`${o}: `:"",l=n.definition.title?` ${n.definition.title}`:"";this.stdout.write(`${$e(this.configuration,"\u27A4","blueBright")} ${a}${i}${s}${l} +`)}this.progressTimeout=setTimeout(()=>{this.refreshProgress({force:!0})},r7)}refreshProgress({delta:t=0,force:i=!1}={}){let n=!1,s=!1;if(i||this.progress.size===0)n=!0;else for(let o of this.progress.values()){let a=typeof o.definition.progress<"u"?Math.trunc(this.progressMaxScaledSize*o.definition.progress):void 0,l=o.lastScaledSize;o.lastScaledSize=a;let c=o.lastTitle;if(o.lastTitle=o.definition.title,a!==l||(s=c!==o.definition.title)){n=!0;break}}n&&(this.clearProgress({delta:t,clear:s}),this.writeProgress())}truncate(t,{truncate:i}={}){return this.progressStyle===null&&(i=!1),typeof i>"u"&&(i=this.configuration.get("preferTruncatedLines")),i&&(t=(0,n7.default)(t,0,this.stdout.columns-1)),t}formatName(t){return s7(t,{configuration:this.configuration,json:this.json})}formatPrefix(t,i){return this.includePrefix?`${$e(this.configuration,"\u27A4",i)} ${t}${this.formatIndent()}`:""}formatNameWithHyperlink(t){return qR(t,{configuration:this.configuration,json:this.json})}formatIndent(){return"\u2502 ".repeat(this.indent)}};var Lr="3.5.0";var A7=(n=>(n.Yarn1="Yarn Classic",n.Yarn2="Yarn",n.Npm="npm",n.Pnpm="pnpm",n))(A7||{});async function qa(r,e,t,i=[]){if(process.platform==="win32"){let n=`@goto #_undefined_# 2>NUL || @title %COMSPEC% & @setlocal & @"${t}" ${i.map(s=>`"${s.replace('"','""')}"`).join(" ")} %*`;await M.writeFilePromise(x.format({dir:r,name:e,ext:".cmd"}),n)}await M.writeFilePromise(x.join(r,e),`#!/bin/sh exec "${t}" ${i.map(n=>`'${n.replace(/'/g,`'"'"'`)}'`).join(" ")} "$@" -`,{mode:493})}async function O6(r){let e=await ot.tryFind(r);if(e!=null&&e.packageManager){let i=hw(e.packageManager);if(i!=null&&i.name){let n=`found ${JSON.stringify({packageManager:e.packageManager})} in manifest`,[s]=i.reference.split(".");switch(i.name){case"yarn":{let o=Number(s)===1?"Yarn Classic":"Yarn";return{packageManagerField:!0,packageManager:o,reason:n}}break;case"npm":return{packageManagerField:!0,packageManager:"npm",reason:n};case"pnpm":return{packageManagerField:!0,packageManager:"pnpm",reason:n}}}}let t;try{t=await M.readFilePromise(x.join(r,xt.lockfile),"utf8")}catch{}return t!==void 0?t.match(/^__metadata:$/m)?{packageManager:"Yarn",reason:'"__metadata" key found in yarn.lock'}:{packageManager:"Yarn Classic",reason:'"__metadata" key not found in yarn.lock, must be a Yarn classic lockfile'}:M.existsSync(x.join(r,"package-lock.json"))?{packageManager:"npm",reason:`found npm's "package-lock.json" lockfile`}:M.existsSync(x.join(r,"pnpm-lock.yaml"))?{packageManager:"pnpm",reason:`found pnpm's "pnpm-lock.yaml" lockfile`}:null}async function wC({project:r,locator:e,binFolder:t,ignoreCorepack:i,lifecycleScript:n}){var c,u;let s={};for(let[g,f]of Object.entries(process.env))typeof f<"u"&&(s[g.toLowerCase()!=="path"?g:"PATH"]=f);let o=K.fromPortablePath(t);s.BERRY_BIN_FOLDER=K.fromPortablePath(o);let a=process.env.COREPACK_ROOT&&!i?K.join(process.env.COREPACK_ROOT,"dist/yarn.js"):process.argv[1];if(await Promise.all([Ka(t,"node",process.execPath),...Lr!==null?[Ka(t,"run",process.execPath,[a,"run"]),Ka(t,"yarn",process.execPath,[a]),Ka(t,"yarnpkg",process.execPath,[a]),Ka(t,"node-gyp",process.execPath,[a,"run","--top-level","node-gyp"])]:[]]),r&&(s.INIT_CWD=K.fromPortablePath(r.configuration.startingCwd),s.PROJECT_CWD=K.fromPortablePath(r.cwd)),s.PATH=s.PATH?`${o}${K.delimiter}${s.PATH}`:`${o}`,s.npm_execpath=`${o}${K.sep}yarn`,s.npm_node_execpath=`${o}${K.sep}node`,e){if(!r)throw new Error("Assertion failed: Missing project");let g=r.tryWorkspaceByLocator(e),f=g?(c=g.manifest.version)!=null?c:"":(u=r.storedPackages.get(e.locatorHash).version)!=null?u:"";s.npm_package_name=Ot(e),s.npm_package_version=f;let h;if(g)h=g.cwd;else{let p=r.storedPackages.get(e.locatorHash);if(!p)throw new Error(`Package for ${mt(r.configuration,e)} not found in the project`);let C=r.configuration.getLinkers(),y={project:r,report:new Ge({stdout:new JA.PassThrough,configuration:r.configuration})},B=C.find(v=>v.supportsPackage(p,y));if(!B)throw new Error(`The package ${mt(r.configuration,p)} isn't supported by any of the available linkers`);h=await B.findPackageLocation(p,y)}s.npm_package_json=K.fromPortablePath(x.join(h,xt.manifest))}let l=Lr!==null?`yarn/${Lr}`:`yarn/${Af("@yarnpkg/core").version}-core`;return s.npm_config_user_agent=`${l} npm/? node/${process.version} ${process.platform} ${process.arch}`,n&&(s.npm_lifecycle_event=n),r&&await r.configuration.triggerHook(g=>g.setupScriptEnvironment,r,s,async(g,f,h)=>await Ka(t,Ur(g),f,h)),s}var Qke=2,bke=(0,L6.default)(Qke);async function Ske(r,e,{configuration:t,report:i,workspace:n=null,locator:s=null}){await bke(async()=>{await M.mktempPromise(async o=>{let a=x.join(o,"pack.log"),l=null,{stdout:c,stderr:u}=t.getSubprocessStreams(a,{prefix:K.fromPortablePath(r),report:i}),g=s&&Uo(s)?Wd(s):s,f=g?hs(g):"an external project";c.write(`Packing ${f} from sources -`);let h=await O6(r),p;h!==null?(c.write(`Using ${h.packageManager} for bootstrap. Reason: ${h.reason} +`,{mode:493})}async function l7(r){let e=await ot.tryFind(r);if(e!=null&&e.packageManager){let i=Bw(e.packageManager);if(i!=null&&i.name){let n=`found ${JSON.stringify({packageManager:e.packageManager})} in manifest`,[s]=i.reference.split(".");switch(i.name){case"yarn":{let o=Number(s)===1?"Yarn Classic":"Yarn";return{packageManagerField:!0,packageManager:o,reason:n}}break;case"npm":return{packageManagerField:!0,packageManager:"npm",reason:n};case"pnpm":return{packageManagerField:!0,packageManager:"pnpm",reason:n}}}}let t;try{t=await M.readFilePromise(x.join(r,xt.lockfile),"utf8")}catch{}return t!==void 0?t.match(/^__metadata:$/m)?{packageManager:"Yarn",reason:'"__metadata" key found in yarn.lock'}:{packageManager:"Yarn Classic",reason:'"__metadata" key not found in yarn.lock, must be a Yarn classic lockfile'}:M.existsSync(x.join(r,"package-lock.json"))?{packageManager:"npm",reason:`found npm's "package-lock.json" lockfile`}:M.existsSync(x.join(r,"pnpm-lock.yaml"))?{packageManager:"pnpm",reason:`found pnpm's "pnpm-lock.yaml" lockfile`}:null}async function kC({project:r,locator:e,binFolder:t,ignoreCorepack:i,lifecycleScript:n}){var c,u;let s={};for(let[g,f]of Object.entries(process.env))typeof f<"u"&&(s[g.toLowerCase()!=="path"?g:"PATH"]=f);let o=K.fromPortablePath(t);s.BERRY_BIN_FOLDER=K.fromPortablePath(o);let a=process.env.COREPACK_ROOT&&!i?K.join(process.env.COREPACK_ROOT,"dist/yarn.js"):process.argv[1];if(await Promise.all([qa(t,"node",process.execPath),...Lr!==null?[qa(t,"run",process.execPath,[a,"run"]),qa(t,"yarn",process.execPath,[a]),qa(t,"yarnpkg",process.execPath,[a]),qa(t,"node-gyp",process.execPath,[a,"run","--top-level","node-gyp"])]:[]]),r&&(s.INIT_CWD=K.fromPortablePath(r.configuration.startingCwd),s.PROJECT_CWD=K.fromPortablePath(r.cwd)),s.PATH=s.PATH?`${o}${K.delimiter}${s.PATH}`:`${o}`,s.npm_execpath=`${o}${K.sep}yarn`,s.npm_node_execpath=`${o}${K.sep}node`,e){if(!r)throw new Error("Assertion failed: Missing project");let g=r.tryWorkspaceByLocator(e),f=g?(c=g.manifest.version)!=null?c:"":(u=r.storedPackages.get(e.locatorHash).version)!=null?u:"";s.npm_package_name=Ot(e),s.npm_package_version=f;let h;if(g)h=g.cwd;else{let p=r.storedPackages.get(e.locatorHash);if(!p)throw new Error(`Package for ${mt(r.configuration,e)} not found in the project`);let C=r.configuration.getLinkers(),y={project:r,report:new Ge({stdout:new $A.PassThrough,configuration:r.configuration})},B=C.find(v=>v.supportsPackage(p,y));if(!B)throw new Error(`The package ${mt(r.configuration,p)} isn't supported by any of the available linkers`);h=await B.findPackageLocation(p,y)}s.npm_package_json=K.fromPortablePath(x.join(h,xt.manifest))}let l=Lr!==null?`yarn/${Lr}`:`yarn/${pf("@yarnpkg/core").version}-core`;return s.npm_config_user_agent=`${l} npm/? node/${process.version} ${process.platform} ${process.arch}`,n&&(s.npm_lifecycle_event=n),r&&await r.configuration.triggerHook(g=>g.setupScriptEnvironment,r,s,async(g,f,h)=>await qa(t,Ur(g),f,h)),s}var gRe=2,fRe=(0,a7.default)(gRe);async function hRe(r,e,{configuration:t,report:i,workspace:n=null,locator:s=null}){await fRe(async()=>{await M.mktempPromise(async o=>{let a=x.join(o,"pack.log"),l=null,{stdout:c,stderr:u}=t.getSubprocessStreams(a,{prefix:K.fromPortablePath(r),report:i}),g=s&&jo(s)?rC(s):s,f=g?Cs(g):"an external project";c.write(`Packing ${f} from sources +`);let h=await l7(r),p;h!==null?(c.write(`Using ${h.packageManager} for bootstrap. Reason: ${h.reason} `),p=h.packageManager):(c.write(`No package manager configuration detected; defaulting to Yarn -`),p="Yarn");let C=p==="Yarn"&&!(h!=null&&h.packageManagerField);await M.mktempPromise(async y=>{let B=await wC({binFolder:y,ignoreCorepack:C}),D=new Map([["Yarn Classic",async()=>{let H=n!==null?["workspace",n]:[],j=x.join(r,xt.manifest),$=await M.readFilePromise(j),V=await Yo(process.execPath,[process.argv[1],"set","version","classic","--only-if-needed"],{cwd:r,env:B,stdin:l,stdout:c,stderr:u,end:1});if(V.code!==0)return V.code;await M.writeFilePromise(j,$),await M.appendFilePromise(x.join(r,".npmignore"),`/.yarn +`),p="Yarn");let C=p==="Yarn"&&!(h!=null&&h.packageManagerField);await M.mktempPromise(async y=>{let B=await kC({binFolder:y,ignoreCorepack:C}),D=new Map([["Yarn Classic",async()=>{let H=n!==null?["workspace",n]:[],j=x.join(r,xt.manifest),$=await M.readFilePromise(j),V=await Wo(process.execPath,[process.argv[1],"set","version","classic","--only-if-needed"],{cwd:r,env:B,stdin:l,stdout:c,stderr:u,end:1});if(V.code!==0)return V.code;await M.writeFilePromise(j,$),await M.appendFilePromise(x.join(r,".npmignore"),`/.yarn `),c.write(` -`),delete B.NODE_ENV;let W=await Yo("yarn",["install"],{cwd:r,env:B,stdin:l,stdout:c,stderr:u,end:1});if(W.code!==0)return W.code;c.write(` -`);let Z=await Yo("yarn",[...H,"pack","--filename",K.fromPortablePath(e)],{cwd:r,env:B,stdin:l,stdout:c,stderr:u});return Z.code!==0?Z.code:0}],["Yarn",async()=>{let H=n!==null?["workspace",n]:[];B.YARN_ENABLE_INLINE_BUILDS="1";let j=x.join(r,xt.lockfile);await M.existsPromise(j)||await M.writeFilePromise(j,"");let $=await Yo("yarn",[...H,"pack","--install-if-needed","--filename",K.fromPortablePath(e)],{cwd:r,env:B,stdin:l,stdout:c,stderr:u});return $.code!==0?$.code:0}],["npm",async()=>{if(n!==null){let ae=new JA.PassThrough,ge=af(ae);ae.pipe(c,{end:!1});let re=await Yo("npm",["--version"],{cwd:r,env:B,stdin:l,stdout:ae,stderr:u,end:0});if(ae.end(),re.code!==0)return c.end(),u.end(),re.code;let O=(await ge).toString().trim();if(!mc(O,">=7.x")){let F=Ho(null,"npm"),ue=Zt(F,O),he=Zt(F,">=7.x");throw new Error(`Workspaces aren't supported by ${tr(t,ue)}; please upgrade to ${tr(t,he)} (npm has been detected as the primary package manager for ${Ze(t,r,Ue.PATH)})`)}}let H=n!==null?["--workspace",n]:[];delete B.npm_config_user_agent,delete B.npm_config_production,delete B.NPM_CONFIG_PRODUCTION,delete B.NODE_ENV;let j=await Yo("npm",["install"],{cwd:r,env:B,stdin:l,stdout:c,stderr:u,end:1});if(j.code!==0)return j.code;let $=new JA.PassThrough,V=af($);$.pipe(c);let W=await Yo("npm",["pack","--silent",...H],{cwd:r,env:B,stdin:l,stdout:$,stderr:u});if(W.code!==0)return W.code;let Z=(await V).toString().trim().replace(/^.*\n/s,""),A=x.resolve(r,K.toPortablePath(Z));return await M.renamePromise(A,e),0}]]).get(p);if(typeof D>"u")throw new Error("Assertion failed: Unsupported workflow");let L=await D();if(!(L===0||typeof L>"u"))throw M.detachTemp(o),new at(58,`Packing the package failed (exit code ${L}, logs can be found here: ${Ze(t,a,Ue.PATH)})`)})})})}async function vke(r,e,{project:t}){let i=t.tryWorkspaceByLocator(r);if(i!==null)return kR(i,e);let n=t.storedPackages.get(r.locatorHash);if(!n)throw new Error(`Package for ${mt(t.configuration,r)} not found in the project`);return await Tn.openPromise(async s=>{let o=t.configuration,a=t.configuration.getLinkers(),l={project:t,report:new Ge({stdout:new JA.PassThrough,configuration:o})},c=a.find(h=>h.supportsPackage(n,l));if(!c)throw new Error(`The package ${mt(t.configuration,n)} isn't supported by any of the available linkers`);let u=await c.findPackageLocation(n,l),g=new jt(u,{baseFs:s});return(await ot.find(Oe.dot,{baseFs:g})).scripts.has(e)},{libzip:await rn()})}async function wB(r,e,t,{cwd:i,project:n,stdin:s,stdout:o,stderr:a}){return await M.mktempPromise(async l=>{let{manifest:c,env:u,cwd:g}=await M6(r,{project:n,binFolder:l,cwd:i,lifecycleScript:e}),f=c.scripts.get(e);if(typeof f>"u")return 1;let h=async()=>await pB(f,t,{cwd:g,env:u,stdin:s,stdout:o,stderr:a});return await(await n.configuration.reduceHook(C=>C.wrapScriptExecution,h,n,r,e,{script:f,args:t,cwd:g,env:u,stdin:s,stdout:o,stderr:a}))()})}async function DR(r,e,t,{cwd:i,project:n,stdin:s,stdout:o,stderr:a}){return await M.mktempPromise(async l=>{let{env:c,cwd:u}=await M6(r,{project:n,binFolder:l,cwd:i});return await pB(e,t,{cwd:u,env:c,stdin:s,stdout:o,stderr:a})})}async function xke(r,{binFolder:e,cwd:t,lifecycleScript:i}){let n=await wC({project:r.project,locator:r.anchoredLocator,binFolder:e,lifecycleScript:i});return await Promise.all(Array.from(await H6(r),([s,[,o]])=>Ka(e,Ur(s),process.execPath,[o]))),typeof t>"u"&&(t=x.dirname(await M.realpathPromise(x.join(r.cwd,"package.json")))),{manifest:r.manifest,binFolder:e,env:n,cwd:t}}async function M6(r,{project:e,binFolder:t,cwd:i,lifecycleScript:n}){let s=e.tryWorkspaceByLocator(r);if(s!==null)return xke(s,{binFolder:t,cwd:i,lifecycleScript:n});let o=e.storedPackages.get(r.locatorHash);if(!o)throw new Error(`Package for ${mt(e.configuration,r)} not found in the project`);return await Tn.openPromise(async a=>{let l=e.configuration,c=e.configuration.getLinkers(),u={project:e,report:new Ge({stdout:new JA.PassThrough,configuration:l})},g=c.find(y=>y.supportsPackage(o,u));if(!g)throw new Error(`The package ${mt(e.configuration,o)} isn't supported by any of the available linkers`);let f=await wC({project:e,locator:r,binFolder:t,lifecycleScript:n});await Promise.all(Array.from(await BB(r,{project:e}),([y,[,B]])=>Ka(t,Ur(y),process.execPath,[B])));let h=await g.findPackageLocation(o,u),p=new jt(h,{baseFs:a}),C=await ot.find(Oe.dot,{baseFs:p});return typeof i>"u"&&(i=h),{manifest:C,binFolder:t,env:f,cwd:i}},{libzip:await rn()})}async function K6(r,e,t,{cwd:i,stdin:n,stdout:s,stderr:o}){return await wB(r.anchoredLocator,e,t,{cwd:i,project:r.project,stdin:n,stdout:s,stderr:o})}function kR(r,e){return r.manifest.scripts.has(e)}async function U6(r,e,{cwd:t,report:i}){let{configuration:n}=r.project,s=null;await M.mktempPromise(async o=>{let a=x.join(o,`${e}.log`),l=`# This file contains the result of Yarn calling the "${e}" lifecycle script inside a workspace ("${K.fromPortablePath(r.cwd)}") -`,{stdout:c,stderr:u}=n.getSubprocessStreams(a,{report:i,prefix:mt(n,r.anchoredLocator),header:l});i.reportInfo(36,`Calling the "${e}" lifecycle script`);let g=await K6(r,e,[],{cwd:t,stdin:s,stdout:c,stderr:u});if(c.end(),u.end(),g!==0)throw M.detachTemp(o),new at(36,`${(0,N6.default)(e)} script failed (exit code ${Ze(n,g,Ue.NUMBER)}, logs can be found here: ${Ze(n,a,Ue.PATH)}); run ${Ze(n,`yarn ${e}`,Ue.CODE)} to investigate`)})}async function Pke(r,e,t){kR(r,e)&&await U6(r,e,t)}async function BB(r,{project:e}){let t=e.configuration,i=new Map,n=e.storedPackages.get(r.locatorHash);if(!n)throw new Error(`Package for ${mt(t,r)} not found in the project`);let s=new JA.Writable,o=t.getLinkers(),a={project:e,report:new Ge({configuration:t,stdout:s})},l=new Set([r.locatorHash]);for(let u of n.dependencies.values()){let g=e.storedResolutions.get(u.descriptorHash);if(!g)throw new Error(`Assertion failed: The resolution (${tr(t,u)}) should have been registered`);l.add(g)}let c=await Promise.all(Array.from(l,async u=>{let g=e.storedPackages.get(u);if(!g)throw new Error(`Assertion failed: The package (${u}) should have been registered`);if(g.bin.size===0)return To.skip;let f=o.find(p=>p.supportsPackage(g,a));if(!f)return To.skip;let h=null;try{h=await f.findPackageLocation(g,a)}catch(p){if(p.code==="LOCATOR_NOT_INSTALLED")return To.skip;throw p}return{dependency:g,packageLocation:h}}));for(let u of c){if(u===To.skip)continue;let{dependency:g,packageLocation:f}=u;for(let[h,p]of g.bin)i.set(h,[g,K.fromPortablePath(x.resolve(f,p))])}return i}async function H6(r){return await BB(r.anchoredLocator,{project:r.project})}async function G6(r,e,t,{cwd:i,project:n,stdin:s,stdout:o,stderr:a,nodeArgs:l=[],packageAccessibleBinaries:c}){c!=null||(c=await BB(r,{project:n}));let u=c.get(e);if(!u)throw new Error(`Binary not found (${e}) for ${mt(n.configuration,r)}`);return await M.mktempPromise(async g=>{let[,f]=u,h=await wC({project:n,locator:r,binFolder:g});await Promise.all(Array.from(c,([C,[,y]])=>Ka(h.BERRY_BIN_FOLDER,Ur(C),process.execPath,[y])));let p;try{p=await Yo(process.execPath,[...l,f,...t],{cwd:i,env:h,stdin:s,stdout:o,stderr:a})}finally{await M.removePromise(h.BERRY_BIN_FOLDER)}return p.code})}async function Dke(r,e,t,{cwd:i,stdin:n,stdout:s,stderr:o,packageAccessibleBinaries:a}){return await G6(r.anchoredLocator,e,t,{project:r.project,cwd:i,stdin:n,stdout:s,stderr:o,packageAccessibleBinaries:a})}var Ci={};ut(Ci,{convertToZip:()=>UFe,extractArchiveTo:()=>GFe,makeArchiveFromDirectory:()=>KFe});var EX=J("stream"),IX=Pe(fX());var hX=Pe(Tg()),pX=J("worker_threads");var il=Symbol("kTaskInfo"),d0=class{constructor(e){this.source=e;this.workers=[];this.limit=(0,hX.default)(MD());this.cleanupInterval=setInterval(()=>{if(this.limit.pendingCount===0&&this.limit.activeCount===0){let t=this.workers.pop();t?t.terminate():clearInterval(this.cleanupInterval)}},5e3).unref()}createWorker(){this.cleanupInterval.refresh();let e=new pX.Worker(this.source,{eval:!0,execArgv:[...process.execArgv,"--unhandled-rejections=strict"]});return e.on("message",t=>{if(!e[il])throw new Error("Assertion failed: Worker sent a result without having a task assigned");e[il].resolve(t),e[il]=null,e.unref(),this.workers.push(e)}),e.on("error",t=>{var i;(i=e[il])==null||i.reject(t),e[il]=null}),e.on("exit",t=>{var i;t!==0&&((i=e[il])==null||i.reject(new Error(`Worker exited with code ${t}`))),e[il]=null}),e}run(e){return this.limit(()=>{var i;let t=(i=this.workers.pop())!=null?i:this.createWorker();return t.ref(),new Promise((n,s)=>{t[il]={resolve:n,reject:s},t.postMessage(e)})})}};var yX=Pe(CX());async function KFe(r,{baseFs:e=new $t,prefixPath:t=Oe.root,compressionLevel:i,inMemory:n=!1}={}){let s=await rn(),o;if(n)o=new Wr(null,{libzip:s,level:i});else{let l=await M.mktempPromise(),c=x.join(l,"archive.zip");o=new Wr(c,{create:!0,libzip:s,level:i})}let a=x.resolve(Oe.root,t);return await o.copyPromise(a,r,{baseFs:e,stableTime:!0,stableSort:!0}),o}var mX;async function UFe(r,e){let t=await M.mktempPromise(),i=x.join(t,"archive.zip");return mX||(mX=new d0((0,yX.getContent)())),await mX.run({tmpFile:i,tgz:r,opts:e}),new Wr(i,{libzip:await rn(),level:e.compressionLevel})}async function*HFe(r){let e=new IX.default.Parse,t=new EX.PassThrough({objectMode:!0,autoDestroy:!0,emitClose:!0});e.on("entry",i=>{t.write(i)}),e.on("error",i=>{t.destroy(i)}),e.on("close",()=>{t.destroyed||t.end()}),e.end(r);for await(let i of t){let n=i;yield n,n.resume()}}async function GFe(r,e,{stripComponents:t=0,prefixPath:i=Oe.dot}={}){var s,o;function n(a){if(a.path[0]==="/")return!0;let l=a.path.split(/\//g);return!!(l.some(c=>c==="..")||l.length<=t)}for await(let a of HFe(r)){if(n(a))continue;let l=x.normalize(K.toPortablePath(a.path)).replace(/\/$/,"").split(/\//g);if(l.length<=t)continue;let c=l.slice(t).join("/"),u=x.join(i,c),g=420;switch((a.type==="Directory"||(((s=a.mode)!=null?s:0)&73)!==0)&&(g|=73),a.type){case"Directory":e.mkdirpSync(x.dirname(u),{chmod:493,utimes:[xr.SAFE_TIME,xr.SAFE_TIME]}),e.mkdirSync(u,{mode:g}),e.utimesSync(u,xr.SAFE_TIME,xr.SAFE_TIME);break;case"OldFile":case"File":e.mkdirpSync(x.dirname(u),{chmod:493,utimes:[xr.SAFE_TIME,xr.SAFE_TIME]}),e.writeFileSync(u,await af(a),{mode:g}),e.utimesSync(u,xr.SAFE_TIME,xr.SAFE_TIME);break;case"SymbolicLink":e.mkdirpSync(x.dirname(u),{chmod:493,utimes:[xr.SAFE_TIME,xr.SAFE_TIME]}),e.symlinkSync(a.linkpath,u),(o=e.lutimesSync)==null||o.call(e,u,xr.SAFE_TIME,xr.SAFE_TIME);break}}return e}var Vn={};ut(Vn,{emitList:()=>YFe,emitTree:()=>vX,treeNodeToJson:()=>SX,treeNodeToTreeify:()=>bX});var QX=Pe(BX());function bX(r,{configuration:e}){let t={},i=(n,s)=>{let o=Array.isArray(n)?n.entries():Object.entries(n);for(let[a,{label:l,value:c,children:u}]of o){let g=[];typeof l<"u"&&g.push(Ty(e,l,2)),typeof c<"u"&&g.push(Ze(e,c[0],c[1])),g.length===0&&g.push(Ty(e,`${a}`,2));let f=g.join(": "),h=s[f]={};typeof u<"u"&&i(u,h)}};if(typeof r.children>"u")throw new Error("The root node must only contain children");return i(r.children,t),t}function SX(r){let e=t=>{var s;if(typeof t.children>"u"){if(typeof t.value>"u")throw new Error("Assertion failed: Expected a value to be set if the children are missing");return cc(t.value[0],t.value[1])}let i=Array.isArray(t.children)?t.children.entries():Object.entries((s=t.children)!=null?s:{}),n=Array.isArray(t.children)?[]:{};for(let[o,a]of i)n[o]=e(a);return typeof t.value>"u"?n:{value:cc(t.value[0],t.value[1]),children:n}};return e(r)}function YFe(r,{configuration:e,stdout:t,json:i}){let n=r.map(s=>({value:s}));vX({children:n},{configuration:e,stdout:t,json:i})}function vX(r,{configuration:e,stdout:t,json:i,separators:n=0}){var o;if(i){let a=Array.isArray(r.children)?r.children.values():Object.values((o=r.children)!=null?o:{});for(let l of a)t.write(`${JSON.stringify(SX(l))} -`);return}let s=(0,QX.asTree)(bX(r,{configuration:e}),!1,!1);if(n>=1&&(s=s.replace(/^([├└]─)/gm,`\u2502 +`),delete B.NODE_ENV;let W=await Wo("yarn",["install"],{cwd:r,env:B,stdin:l,stdout:c,stderr:u,end:1});if(W.code!==0)return W.code;c.write(` +`);let _=await Wo("yarn",[...H,"pack","--filename",K.fromPortablePath(e)],{cwd:r,env:B,stdin:l,stdout:c,stderr:u});return _.code!==0?_.code:0}],["Yarn",async()=>{let H=n!==null?["workspace",n]:[];B.YARN_ENABLE_INLINE_BUILDS="1";let j=x.join(r,xt.lockfile);await M.existsPromise(j)||await M.writeFilePromise(j,"");let $=await Wo("yarn",[...H,"pack","--install-if-needed","--filename",K.fromPortablePath(e)],{cwd:r,env:B,stdin:l,stdout:c,stderr:u});return $.code!==0?$.code:0}],["npm",async()=>{if(n!==null){let ae=new $A.PassThrough,ge=hf(ae);ae.pipe(c,{end:!1});let re=await Wo("npm",["--version"],{cwd:r,env:B,stdin:l,stdout:ae,stderr:u,end:0});if(ae.end(),re.code!==0)return c.end(),u.end(),re.code;let O=(await ge).toString().trim();if(!vc(O,">=7.x")){let F=qo(null,"npm"),ue=_t(F,O),he=_t(F,">=7.x");throw new Error(`Workspaces aren't supported by ${tr(t,ue)}; please upgrade to ${tr(t,he)} (npm has been detected as the primary package manager for ${$e(t,r,Ue.PATH)})`)}}let H=n!==null?["--workspace",n]:[];delete B.npm_config_user_agent,delete B.npm_config_production,delete B.NPM_CONFIG_PRODUCTION,delete B.NODE_ENV;let j=await Wo("npm",["install"],{cwd:r,env:B,stdin:l,stdout:c,stderr:u,end:1});if(j.code!==0)return j.code;let $=new $A.PassThrough,V=hf($);$.pipe(c);let W=await Wo("npm",["pack","--silent",...H],{cwd:r,env:B,stdin:l,stdout:$,stderr:u});if(W.code!==0)return W.code;let _=(await V).toString().trim().replace(/^.*\n/s,""),A=x.resolve(r,K.toPortablePath(_));return await M.renamePromise(A,e),0}]]).get(p);if(typeof D>"u")throw new Error("Assertion failed: Unsupported workflow");let L=await D();if(!(L===0||typeof L>"u"))throw M.detachTemp(o),new at(58,`Packing the package failed (exit code ${L}, logs can be found here: ${$e(t,a,Ue.PATH)})`)})})})}async function pRe(r,e,{project:t}){let i=t.tryWorkspaceByLocator(r);if(i!==null)return WR(i,e);let n=t.storedPackages.get(r.locatorHash);if(!n)throw new Error(`Package for ${mt(t.configuration,r)} not found in the project`);return await On.openPromise(async s=>{let o=t.configuration,a=t.configuration.getLinkers(),l={project:t,report:new Ge({stdout:new $A.PassThrough,configuration:o})},c=a.find(h=>h.supportsPackage(n,l));if(!c)throw new Error(`The package ${mt(t.configuration,n)} isn't supported by any of the available linkers`);let u=await c.findPackageLocation(n,l),g=new qt(u,{baseFs:s});return(await ot.find(Oe.dot,{baseFs:g})).scripts.has(e)},{libzip:await sn()})}async function kB(r,e,t,{cwd:i,project:n,stdin:s,stdout:o,stderr:a}){return await M.mktempPromise(async l=>{let{manifest:c,env:u,cwd:g}=await c7(r,{project:n,binFolder:l,cwd:i,lifecycleScript:e}),f=c.scripts.get(e);if(typeof f>"u")return 1;let h=async()=>await QB(f,t,{cwd:g,env:u,stdin:s,stdout:o,stderr:a});return await(await n.configuration.reduceHook(C=>C.wrapScriptExecution,h,n,r,e,{script:f,args:t,cwd:g,env:u,stdin:s,stdout:o,stderr:a}))()})}async function JR(r,e,t,{cwd:i,project:n,stdin:s,stdout:o,stderr:a}){return await M.mktempPromise(async l=>{let{env:c,cwd:u}=await c7(r,{project:n,binFolder:l,cwd:i});return await QB(e,t,{cwd:u,env:c,stdin:s,stdout:o,stderr:a})})}async function dRe(r,{binFolder:e,cwd:t,lifecycleScript:i}){let n=await kC({project:r.project,locator:r.anchoredLocator,binFolder:e,lifecycleScript:i});return await Promise.all(Array.from(await f7(r),([s,[,o]])=>qa(e,Ur(s),process.execPath,[o]))),typeof t>"u"&&(t=x.dirname(await M.realpathPromise(x.join(r.cwd,"package.json")))),{manifest:r.manifest,binFolder:e,env:n,cwd:t}}async function c7(r,{project:e,binFolder:t,cwd:i,lifecycleScript:n}){let s=e.tryWorkspaceByLocator(r);if(s!==null)return dRe(s,{binFolder:t,cwd:i,lifecycleScript:n});let o=e.storedPackages.get(r.locatorHash);if(!o)throw new Error(`Package for ${mt(e.configuration,r)} not found in the project`);return await On.openPromise(async a=>{let l=e.configuration,c=e.configuration.getLinkers(),u={project:e,report:new Ge({stdout:new $A.PassThrough,configuration:l})},g=c.find(y=>y.supportsPackage(o,u));if(!g)throw new Error(`The package ${mt(e.configuration,o)} isn't supported by any of the available linkers`);let f=await kC({project:e,locator:r,binFolder:t,lifecycleScript:n});await Promise.all(Array.from(await RB(r,{project:e}),([y,[,B]])=>qa(t,Ur(y),process.execPath,[B])));let h=await g.findPackageLocation(o,u),p=new qt(h,{baseFs:a}),C=await ot.find(Oe.dot,{baseFs:p});return typeof i>"u"&&(i=h),{manifest:C,binFolder:t,env:f,cwd:i}},{libzip:await sn()})}async function u7(r,e,t,{cwd:i,stdin:n,stdout:s,stderr:o}){return await kB(r.anchoredLocator,e,t,{cwd:i,project:r.project,stdin:n,stdout:s,stderr:o})}function WR(r,e){return r.manifest.scripts.has(e)}async function g7(r,e,{cwd:t,report:i}){let{configuration:n}=r.project,s=null;await M.mktempPromise(async o=>{let a=x.join(o,`${e}.log`),l=`# This file contains the result of Yarn calling the "${e}" lifecycle script inside a workspace ("${K.fromPortablePath(r.cwd)}") +`,{stdout:c,stderr:u}=n.getSubprocessStreams(a,{report:i,prefix:mt(n,r.anchoredLocator),header:l});i.reportInfo(36,`Calling the "${e}" lifecycle script`);let g=await u7(r,e,[],{cwd:t,stdin:s,stdout:c,stderr:u});if(c.end(),u.end(),g!==0)throw M.detachTemp(o),new at(36,`${(0,o7.default)(e)} script failed (exit code ${$e(n,g,Ue.NUMBER)}, logs can be found here: ${$e(n,a,Ue.PATH)}); run ${$e(n,`yarn ${e}`,Ue.CODE)} to investigate`)})}async function CRe(r,e,t){WR(r,e)&&await g7(r,e,t)}async function RB(r,{project:e}){let t=e.configuration,i=new Map,n=e.storedPackages.get(r.locatorHash);if(!n)throw new Error(`Package for ${mt(t,r)} not found in the project`);let s=new $A.Writable,o=t.getLinkers(),a={project:e,report:new Ge({configuration:t,stdout:s})},l=new Set([r.locatorHash]);for(let u of n.dependencies.values()){let g=e.storedResolutions.get(u.descriptorHash);if(!g)throw new Error(`Assertion failed: The resolution (${tr(t,u)}) should have been registered`);l.add(g)}let c=await Promise.all(Array.from(l,async u=>{let g=e.storedPackages.get(u);if(!g)throw new Error(`Assertion failed: The package (${u}) should have been registered`);if(g.bin.size===0)return Uo.skip;let f=o.find(p=>p.supportsPackage(g,a));if(!f)return Uo.skip;let h=null;try{h=await f.findPackageLocation(g,a)}catch(p){if(p.code==="LOCATOR_NOT_INSTALLED")return Uo.skip;throw p}return{dependency:g,packageLocation:h}}));for(let u of c){if(u===Uo.skip)continue;let{dependency:g,packageLocation:f}=u;for(let[h,p]of g.bin)i.set(h,[g,K.fromPortablePath(x.resolve(f,p))])}return i}async function f7(r){return await RB(r.anchoredLocator,{project:r.project})}async function h7(r,e,t,{cwd:i,project:n,stdin:s,stdout:o,stderr:a,nodeArgs:l=[],packageAccessibleBinaries:c}){c!=null||(c=await RB(r,{project:n}));let u=c.get(e);if(!u)throw new Error(`Binary not found (${e}) for ${mt(n.configuration,r)}`);return await M.mktempPromise(async g=>{let[,f]=u,h=await kC({project:n,locator:r,binFolder:g});await Promise.all(Array.from(c,([C,[,y]])=>qa(h.BERRY_BIN_FOLDER,Ur(C),process.execPath,[y])));let p;try{p=await Wo(process.execPath,[...l,f,...t],{cwd:i,env:h,stdin:s,stdout:o,stderr:a})}finally{await M.removePromise(h.BERRY_BIN_FOLDER)}return p.code})}async function mRe(r,e,t,{cwd:i,stdin:n,stdout:s,stderr:o,packageAccessibleBinaries:a}){return await h7(r.anchoredLocator,e,t,{project:r.project,cwd:i,stdin:n,stdout:s,stderr:o,packageAccessibleBinaries:a})}var mi={};ut(mi,{convertToZip:()=>qNe,extractArchiveTo:()=>WNe,makeArchiveFromDirectory:()=>jNe});var nZ=J("stream"),sZ=Pe(_X());var $X=Pe(Yg()),eZ=J("worker_threads");var gl=Symbol("kTaskInfo"),R0=class{constructor(e){this.source=e;this.workers=[];this.limit=(0,$X.default)(ek());this.cleanupInterval=setInterval(()=>{if(this.limit.pendingCount===0&&this.limit.activeCount===0){let t=this.workers.pop();t?t.terminate():clearInterval(this.cleanupInterval)}},5e3).unref()}createWorker(){this.cleanupInterval.refresh();let e=new eZ.Worker(this.source,{eval:!0,execArgv:[...process.execArgv,"--unhandled-rejections=strict"]});return e.on("message",t=>{if(!e[gl])throw new Error("Assertion failed: Worker sent a result without having a task assigned");e[gl].resolve(t),e[gl]=null,e.unref(),this.workers.push(e)}),e.on("error",t=>{var i;(i=e[gl])==null||i.reject(t),e[gl]=null}),e.on("exit",t=>{var i;t!==0&&((i=e[gl])==null||i.reject(new Error(`Worker exited with code ${t}`))),e[gl]=null}),e}run(e){return this.limit(()=>{var i;let t=(i=this.workers.pop())!=null?i:this.createWorker();return t.ref(),new Promise((n,s)=>{t[gl]={resolve:n,reject:s},t.postMessage(e)})})}};var oZ=Pe(rZ());async function jNe(r,{baseFs:e=new $t,prefixPath:t=Oe.root,compressionLevel:i,inMemory:n=!1}={}){let s=await sn(),o;if(n)o=new Wr(null,{libzip:s,level:i});else{let l=await M.mktempPromise(),c=x.join(l,"archive.zip");o=new Wr(c,{create:!0,libzip:s,level:i})}let a=x.resolve(Oe.root,t);return await o.copyPromise(a,r,{baseFs:e,stableTime:!0,stableSort:!0}),o}var iZ;async function qNe(r,e){let t=await M.mktempPromise(),i=x.join(t,"archive.zip");return iZ||(iZ=new R0((0,oZ.getContent)())),await iZ.run({tmpFile:i,tgz:r,opts:e}),new Wr(i,{libzip:await sn(),level:e.compressionLevel})}async function*JNe(r){let e=new sZ.default.Parse,t=new nZ.PassThrough({objectMode:!0,autoDestroy:!0,emitClose:!0});e.on("entry",i=>{t.write(i)}),e.on("error",i=>{t.destroy(i)}),e.on("close",()=>{t.destroyed||t.end()}),e.end(r);for await(let i of t){let n=i;yield n,n.resume()}}async function WNe(r,e,{stripComponents:t=0,prefixPath:i=Oe.dot}={}){var s,o;function n(a){if(a.path[0]==="/")return!0;let l=a.path.split(/\//g);return!!(l.some(c=>c==="..")||l.length<=t)}for await(let a of JNe(r)){if(n(a))continue;let l=x.normalize(K.toPortablePath(a.path)).replace(/\/$/,"").split(/\//g);if(l.length<=t)continue;let c=l.slice(t).join("/"),u=x.join(i,c),g=420;switch((a.type==="Directory"||(((s=a.mode)!=null?s:0)&73)!==0)&&(g|=73),a.type){case"Directory":e.mkdirpSync(x.dirname(u),{chmod:493,utimes:[xr.SAFE_TIME,xr.SAFE_TIME]}),e.mkdirSync(u,{mode:g}),e.utimesSync(u,xr.SAFE_TIME,xr.SAFE_TIME);break;case"OldFile":case"File":e.mkdirpSync(x.dirname(u),{chmod:493,utimes:[xr.SAFE_TIME,xr.SAFE_TIME]}),e.writeFileSync(u,await hf(a),{mode:g}),e.utimesSync(u,xr.SAFE_TIME,xr.SAFE_TIME);break;case"SymbolicLink":e.mkdirpSync(x.dirname(u),{chmod:493,utimes:[xr.SAFE_TIME,xr.SAFE_TIME]}),e.symlinkSync(a.linkpath,u),(o=e.lutimesSync)==null||o.call(e,u,xr.SAFE_TIME,xr.SAFE_TIME);break}}return e}var _n={};ut(_n,{emitList:()=>zNe,emitTree:()=>gZ,treeNodeToJson:()=>uZ,treeNodeToTreeify:()=>cZ});var lZ=Pe(AZ());function cZ(r,{configuration:e}){let t={},i=(n,s)=>{let o=Array.isArray(n)?n.entries():Object.entries(n);for(let[a,{label:l,value:c,children:u}]of o){let g=[];typeof l<"u"&&g.push(qy(e,l,2)),typeof c<"u"&&g.push($e(e,c[0],c[1])),g.length===0&&g.push(qy(e,`${a}`,2));let f=g.join(": "),h=s[f]={};typeof u<"u"&&i(u,h)}};if(typeof r.children>"u")throw new Error("The root node must only contain children");return i(r.children,t),t}function uZ(r){let e=t=>{var s;if(typeof t.children>"u"){if(typeof t.value>"u")throw new Error("Assertion failed: Expected a value to be set if the children are missing");return Ec(t.value[0],t.value[1])}let i=Array.isArray(t.children)?t.children.entries():Object.entries((s=t.children)!=null?s:{}),n=Array.isArray(t.children)?[]:{};for(let[o,a]of i)n[o]=e(a);return typeof t.value>"u"?n:{value:Ec(t.value[0],t.value[1]),children:n}};return e(r)}function zNe(r,{configuration:e,stdout:t,json:i}){let n=r.map(s=>({value:s}));gZ({children:n},{configuration:e,stdout:t,json:i})}function gZ(r,{configuration:e,stdout:t,json:i,separators:n=0}){var o;if(i){let a=Array.isArray(r.children)?r.children.values():Object.values((o=r.children)!=null?o:{});for(let l of a)t.write(`${JSON.stringify(uZ(l))} +`);return}let s=(0,lZ.asTree)(cZ(r,{configuration:e}),!1,!1);if(n>=1&&(s=s.replace(/^([├└]─)/gm,`\u2502 $1`).replace(/^│\n/,"")),n>=2)for(let a=0;a<2;++a)s=s.replace(/^([│ ].{2}[├│ ].{2}[^\n]+\n)(([│ ]).{2}[├└].{2}[^\n]*\n[│ ].{2}[│ ].{2}[├└]─)/gm,`$1$3 \u2502 -$2`).replace(/^│\n/,"");if(n>=3)throw new Error("Only the first two levels are accepted by treeUtils.emitTree");t.write(s)}var xX=J("crypto"),rN=Pe(J("fs"));var jFe=8,Rt=class{constructor(e,{configuration:t,immutable:i=t.get("enableImmutableCache"),check:n=!1}){this.markedFiles=new Set;this.mutexes=new Map;this.cacheId=`-${(0,xX.randomBytes)(8).toString("hex")}.tmp`;this.configuration=t,this.cwd=e,this.immutable=i,this.check=n;let s=t.get("cacheKeyOverride");if(s!==null)this.cacheKey=`${s}`;else{let o=t.get("compressionLevel"),a=o!==Ol?`c${o}`:"";this.cacheKey=[jFe,a].join("")}}static async find(e,{immutable:t,check:i}={}){let n=new Rt(e.get("cacheFolder"),{configuration:e,immutable:t,check:i});return await n.setup(),n}get mirrorCwd(){if(!this.configuration.get("enableMirror"))return null;let e=`${this.configuration.get("globalFolder")}/cache`;return e!==this.cwd?e:null}getVersionFilename(e){return`${mf(e)}-${this.cacheKey}.zip`}getChecksumFilename(e,t){let n=qFe(t).slice(0,10);return`${mf(e)}-${n}.zip`}getLocatorPath(e,t,i={}){var s;return this.mirrorCwd===null||((s=i.unstablePackages)==null?void 0:s.has(e.locatorHash))?x.resolve(this.cwd,this.getVersionFilename(e)):t===null||tN(t)!==this.cacheKey?null:x.resolve(this.cwd,this.getChecksumFilename(e,t))}getLocatorMirrorPath(e){let t=this.mirrorCwd;return t!==null?x.resolve(t,this.getVersionFilename(e)):null}async setup(){if(!this.configuration.get("enableGlobalCache"))if(this.immutable){if(!await M.existsPromise(this.cwd))throw new at(56,"Cache path does not exist.")}else{await M.mkdirPromise(this.cwd,{recursive:!0});let e=x.resolve(this.cwd,".gitignore");await M.changeFilePromise(e,`/.gitignore +$2`).replace(/^│\n/,"");if(n>=3)throw new Error("Only the first two levels are accepted by treeUtils.emitTree");t.write(s)}var fZ=J("crypto"),PN=Pe(J("fs"));var VNe=8,Rt=class{constructor(e,{configuration:t,immutable:i=t.get("enableImmutableCache"),check:n=!1}){this.markedFiles=new Set;this.mutexes=new Map;this.cacheId=`-${(0,fZ.randomBytes)(8).toString("hex")}.tmp`;this.configuration=t,this.cwd=e,this.immutable=i,this.check=n;let s=t.get("cacheKeyOverride");if(s!==null)this.cacheKey=`${s}`;else{let o=t.get("compressionLevel"),a=o!==Jl?`c${o}`:"";this.cacheKey=[VNe,a].join("")}}static async find(e,{immutable:t,check:i}={}){let n=new Rt(e.get("cacheFolder"),{configuration:e,immutable:t,check:i});return await n.setup(),n}get mirrorCwd(){if(!this.configuration.get("enableMirror"))return null;let e=`${this.configuration.get("globalFolder")}/cache`;return e!==this.cwd?e:null}getVersionFilename(e){return`${bf(e)}-${this.cacheKey}.zip`}getChecksumFilename(e,t){let n=XNe(t).slice(0,10);return`${bf(e)}-${n}.zip`}getLocatorPath(e,t,i={}){var s;return this.mirrorCwd===null||((s=i.unstablePackages)==null?void 0:s.has(e.locatorHash))?x.resolve(this.cwd,this.getVersionFilename(e)):t===null||xN(t)!==this.cacheKey?null:x.resolve(this.cwd,this.getChecksumFilename(e,t))}getLocatorMirrorPath(e){let t=this.mirrorCwd;return t!==null?x.resolve(t,this.getVersionFilename(e)):null}async setup(){if(!this.configuration.get("enableGlobalCache"))if(this.immutable){if(!await M.existsPromise(this.cwd))throw new at(56,"Cache path does not exist.")}else{await M.mkdirPromise(this.cwd,{recursive:!0});let e=x.resolve(this.cwd,".gitignore");await M.changeFilePromise(e,`/.gitignore *.flock *.tmp -`)}(this.mirrorCwd||!this.immutable)&&await M.mkdirPromise(this.mirrorCwd||this.cwd,{recursive:!0})}async fetchPackageFromCache(e,t,{onHit:i,onMiss:n,loader:s,...o}){var W;let a=this.getLocatorMirrorPath(e),l=new $t,c=()=>{let Z=new Wr(null,{libzip:D}),A=x.join(Oe.root,PD(e));return Z.mkdirSync(A,{recursive:!0}),Z.writeJsonSync(x.join(A,xt.manifest),{name:Ot(e),mocked:!0}),Z},u=async(Z,A=null)=>{var ge;if(A===null&&((ge=o.unstablePackages)==null?void 0:ge.has(e.locatorHash)))return null;let ae=!o.skipIntegrityCheck||!t?`${this.cacheKey}/${await uw(Z)}`:t;if(A!==null){let re=!o.skipIntegrityCheck||!t?`${this.cacheKey}/${await uw(A)}`:t;if(ae!==re)throw new at(18,"The remote archive doesn't match the local checksum - has the local cache been corrupted?")}if(t!==null&&ae!==t){let re;switch(this.check?re="throw":tN(t)!==tN(ae)?re="update":re=this.configuration.get("checksumBehavior"),re){case"ignore":return t;case"update":return ae;default:case"throw":throw new at(18,"The remote archive doesn't match the expected checksum")}}return ae},g=async Z=>{if(!s)throw new Error(`Cache check required but no loader configured for ${mt(this.configuration,e)}`);let A=await s(),ae=A.getRealPath();return A.saveAndClose(),await M.chmodPromise(ae,420),await u(Z,ae)},f=async()=>{if(a===null||!await M.existsPromise(a)){let Z=await s(),A=Z.getRealPath();return Z.saveAndClose(),{source:"loader",path:A}}return{source:"mirror",path:a}},h=async()=>{if(!s)throw new Error(`Cache entry required but missing for ${mt(this.configuration,e)}`);if(this.immutable)throw new at(56,`Cache entry required but missing for ${mt(this.configuration,e)}`);let{path:Z,source:A}=await f(),ae=await u(Z),ge=this.getLocatorPath(e,ae,o);if(!ge)throw new Error("Assertion failed: Expected the cache path to be available");let re=[];A!=="mirror"&&a!==null&&re.push(async()=>{let F=`${a}${this.cacheId}`;await M.copyFilePromise(Z,F,rN.default.constants.COPYFILE_FICLONE),await M.chmodPromise(F,420),await M.renamePromise(F,a)}),(!o.mirrorWriteOnly||a===null)&&re.push(async()=>{let F=`${ge}${this.cacheId}`;await M.copyFilePromise(Z,F,rN.default.constants.COPYFILE_FICLONE),await M.chmodPromise(F,420),await M.renamePromise(F,ge)});let O=o.mirrorWriteOnly&&a!=null?a:ge;return await Promise.all(re.map(F=>F())),[!1,O,ae]},p=async()=>{let A=(async()=>{var ue;let ae=this.getLocatorPath(e,t,o),ge=ae!==null?await l.existsPromise(ae):!1,re=!!((ue=o.mockedPackages)!=null&&ue.has(e.locatorHash))&&(!this.check||!ge),O=re||ge,F=O?i:n;if(F&&F(),O){let he=null,ke=ae;return re||(he=this.check?await g(ke):await u(ke)),[re,ke,he]}else return h()})();this.mutexes.set(e.locatorHash,A);try{return await A}finally{this.mutexes.delete(e.locatorHash)}};for(let Z;Z=this.mutexes.get(e.locatorHash);)await Z;let[C,y,B]=await p();this.markedFiles.add(y);let v,D=await rn(),L=C?()=>c():()=>new Wr(y,{baseFs:l,libzip:D,readOnly:!0}),H=new dg(()=>Dx(()=>v=L(),Z=>`Failed to open the cache entry for ${mt(this.configuration,e)}: ${Z}`),x),j=new yo(y,{baseFs:H,pathUtils:x}),$=()=>{v==null||v.discardAndClose()},V=(W=o.unstablePackages)!=null&&W.has(e.locatorHash)?null:B;return[j,$,V]}};function tN(r){let e=r.indexOf("/");return e!==-1?r.slice(0,e):null}function qFe(r){let e=r.indexOf("/");return e!==-1?r.slice(e+1):r}var C0=(t=>(t[t.SCRIPT=0]="SCRIPT",t[t.SHELLCODE=1]="SHELLCODE",t))(C0||{});var _o=class extends Si{constructor({configuration:t,stdout:i,suggestInstall:n=!0}){super();this.errorCount=0;Kd(this,{configuration:t}),this.configuration=t,this.stdout=i,this.suggestInstall=n}static async start(t,i){let n=new this(t);try{await i(n)}catch(s){n.reportExceptionOnce(s)}finally{await n.finalize()}return n}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(t){}reportCacheMiss(t){}startSectionSync(t,i){return i()}async startSectionPromise(t,i){return await i()}startTimerSync(t,i,n){return(typeof i=="function"?i:n)()}async startTimerPromise(t,i,n){return await(typeof i=="function"?i:n)()}async startCacheReport(t){return await t()}reportSeparator(){}reportInfo(t,i){}reportWarning(t,i){}reportError(t,i){this.errorCount+=1,this.stdout.write(`${Ze(this.configuration,"\u27A4","redBright")} ${this.formatNameWithHyperlink(t)}: ${i} +`)}(this.mirrorCwd||!this.immutable)&&await M.mkdirPromise(this.mirrorCwd||this.cwd,{recursive:!0})}async fetchPackageFromCache(e,t,{onHit:i,onMiss:n,loader:s,...o}){var W;let a=this.getLocatorMirrorPath(e),l=new $t,c=()=>{let _=new Wr(null,{libzip:D}),A=x.join(Oe.root,qD(e));return _.mkdirSync(A,{recursive:!0}),_.writeJsonSync(x.join(A,xt.manifest),{name:Ot(e),mocked:!0}),_},u=async(_,A=null)=>{var ge;if(A===null&&((ge=o.unstablePackages)==null?void 0:ge.has(e.locatorHash)))return{isValid:!0,hash:null};let ae=!o.skipIntegrityCheck||!t?`${this.cacheKey}/${await Iw(_)}`:t;if(A!==null){let re=!o.skipIntegrityCheck||!t?`${this.cacheKey}/${await Iw(A)}`:t;if(ae!==re)throw new at(18,"The remote archive doesn't match the local checksum - has the local cache been corrupted?")}if(t!==null&&ae!==t){let re;switch(this.check?re="throw":xN(t)!==xN(ae)?re="update":re=this.configuration.get("checksumBehavior"),re){case"ignore":return{isValid:!0,hash:t};case"update":return{isValid:!0,hash:ae};case"reset":return{isValid:!1,hash:t};default:case"throw":throw new at(18,"The remote archive doesn't match the expected checksum")}}return{isValid:!0,hash:ae}},g=async _=>{if(!s)throw new Error(`Cache check required but no loader configured for ${mt(this.configuration,e)}`);let A=await s(),ae=A.getRealPath();A.saveAndClose(),await M.chmodPromise(ae,420);let ge=await u(_,ae);if(!ge.isValid)throw new Error("Assertion failed: Expected a valid checksum");return ge.hash},f=async()=>{if(a===null||!await M.existsPromise(a)){let _=await s(),A=_.getRealPath();return _.saveAndClose(),{source:"loader",path:A}}return{source:"mirror",path:a}},h=async()=>{if(!s)throw new Error(`Cache entry required but missing for ${mt(this.configuration,e)}`);if(this.immutable)throw new at(56,`Cache entry required but missing for ${mt(this.configuration,e)}`);let{path:_,source:A}=await f(),ae=(await u(_)).hash,ge=this.getLocatorPath(e,ae,o);if(!ge)throw new Error("Assertion failed: Expected the cache path to be available");let re=[];A!=="mirror"&&a!==null&&re.push(async()=>{let F=`${a}${this.cacheId}`;await M.copyFilePromise(_,F,PN.default.constants.COPYFILE_FICLONE),await M.chmodPromise(F,420),await M.renamePromise(F,a)}),(!o.mirrorWriteOnly||a===null)&&re.push(async()=>{let F=`${ge}${this.cacheId}`;await M.copyFilePromise(_,F,PN.default.constants.COPYFILE_FICLONE),await M.chmodPromise(F,420),await M.renamePromise(F,ge)});let O=o.mirrorWriteOnly&&a!=null?a:ge;return await Promise.all(re.map(F=>F())),[!1,O,ae]},p=async()=>{let A=(async()=>{var ue;let ae=this.getLocatorPath(e,t,o),ge=ae!==null?await l.existsPromise(ae):!1,re=!!((ue=o.mockedPackages)!=null&&ue.has(e.locatorHash))&&(!this.check||!ge),O=re||ge,F=O?i:n;if(F&&F(),O){let he=null,ke=ae;if(!re)if(this.check)he=await g(ke);else{let Fe=await u(ke);if(Fe.isValid)he=Fe.hash;else return h()}return[re,ke,he]}else return h()})();this.mutexes.set(e.locatorHash,A);try{return await A}finally{this.mutexes.delete(e.locatorHash)}};for(let _;_=this.mutexes.get(e.locatorHash);)await _;let[C,y,B]=await p();this.markedFiles.add(y);let v,D=await sn(),L=C?()=>c():()=>new Wr(y,{baseFs:l,libzip:D,readOnly:!0}),H=new Bg(()=>Jx(()=>v=L(),_=>`Failed to open the cache entry for ${mt(this.configuration,e)}: ${_}`),x),j=new bo(y,{baseFs:H,pathUtils:x}),$=()=>{v==null||v.discardAndClose()},V=(W=o.unstablePackages)!=null&&W.has(e.locatorHash)?null:B;return[j,$,V]}};function xN(r){let e=r.indexOf("/");return e!==-1?r.slice(0,e):null}function XNe(r){let e=r.indexOf("/");return e!==-1?r.slice(e+1):r}var F0=(t=>(t[t.SCRIPT=0]="SCRIPT",t[t.SHELLCODE=1]="SHELLCODE",t))(F0||{});var ra=class extends vi{constructor({configuration:t,stdout:i,suggestInstall:n=!0}){super();this.errorCount=0;zd(this,{configuration:t}),this.configuration=t,this.stdout=i,this.suggestInstall=n}static async start(t,i){let n=new this(t);try{await i(n)}catch(s){n.reportExceptionOnce(s)}finally{await n.finalize()}return n}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(t){}reportCacheMiss(t){}startSectionSync(t,i){return i()}async startSectionPromise(t,i){return await i()}startTimerSync(t,i,n){return(typeof i=="function"?i:n)()}async startTimerPromise(t,i,n){return await(typeof i=="function"?i:n)()}async startCacheReport(t){return await t()}reportSeparator(){}reportInfo(t,i){}reportWarning(t,i){}reportError(t,i){this.errorCount+=1,this.stdout.write(`${$e(this.configuration,"\u27A4","redBright")} ${this.formatNameWithHyperlink(t)}: ${i} `)}reportProgress(t){return{...Promise.resolve().then(async()=>{for await(let{}of t);}),stop:()=>{}}}reportJson(t){}async finalize(){this.errorCount>0&&(this.stdout.write(` -`),this.stdout.write(`${Ze(this.configuration,"\u27A4","redBright")} Errors happened when preparing the environment required to run this command. -`),this.suggestInstall&&this.stdout.write(`${Ze(this.configuration,"\u27A4","redBright")} This might be caused by packages being missing from the lockfile, in which case running "yarn install" might help. -`))}formatNameWithHyperlink(t){return PR(t,{configuration:this.configuration,json:!1})}};var D0=J("crypto");function Wa(){}Wa.prototype={diff:function(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},n=i.callback;typeof i=="function"&&(n=i,i={}),this.options=i;var s=this;function o(C){return n?(setTimeout(function(){n(void 0,C)},0),!0):C}e=this.castInput(e),t=this.castInput(t),e=this.removeEmpty(this.tokenize(e)),t=this.removeEmpty(this.tokenize(t));var a=t.length,l=e.length,c=1,u=a+l;i.maxEditLength&&(u=Math.min(u,i.maxEditLength));var g=[{newPos:-1,components:[]}],f=this.extractCommon(g[0],t,e,0);if(g[0].newPos+1>=a&&f+1>=l)return o([{value:this.join(t),count:t.length}]);function h(){for(var C=-1*c;C<=c;C+=2){var y=void 0,B=g[C-1],v=g[C+1],D=(v?v.newPos:0)-C;B&&(g[C-1]=void 0);var L=B&&B.newPos+1=a&&D+1>=l)return o(JFe(s,y.components,t,e,s.useLongestToken));g[C]=y}c++}if(n)(function C(){setTimeout(function(){if(c>u)return n();h()||C()},0)})();else for(;c<=u;){var p=h();if(p)return p}},pushComponent:function(e,t,i){var n=e[e.length-1];n&&n.added===t&&n.removed===i?e[e.length-1]={count:n.count+1,added:t,removed:i}:e.push({count:1,added:t,removed:i})},extractCommon:function(e,t,i,n){for(var s=t.length,o=i.length,a=e.newPos,l=a-n,c=0;a+1h.length?C:h}),c.value=r.join(u)}else c.value=r.join(t.slice(a,a+c.count));a+=c.count,c.added||(l+=c.count)}}var f=e[o-1];return o>1&&typeof f.value=="string"&&(f.added||f.removed)&&r.equals("",f.value)&&(e[o-2].value+=f.value,e.pop()),e}function WFe(r){return{newPos:r.newPos,components:r.components.slice(0)}}var Uot=new Wa;var PX=/^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/,DX=/\S/,kX=new Wa;kX.equals=function(r,e){return this.options.ignoreCase&&(r=r.toLowerCase(),e=e.toLowerCase()),r===e||this.options.ignoreWhitespace&&!DX.test(r)&&!DX.test(e)};kX.tokenize=function(r){for(var e=r.split(/([^\S\r\n]+|[()[\]{}'"\r\n]|\b)/),t=0;tr.length)&&(e=r.length);for(var t=0,i=new Array(e);t"u"?t:o}:i;return typeof r=="string"?r:JSON.stringify(sN(r,null,null,n),n," ")};HC.equals=function(r,e){return Wa.prototype.equals.call(HC,r.replace(/,([\r\n])/g,"$1"),e.replace(/,([\r\n])/g,"$1"))};function sN(r,e,t,i,n){e=e||[],t=t||[],i&&(r=i(n,r));var s;for(s=0;s"u"&&(o.context=4);var a=zFe(t,i,o);if(!a)return;a.push({value:"",lines:[]});function l(B){return B.map(function(v){return" "+v})}for(var c=[],u=0,g=0,f=[],h=1,p=1,C=function(v){var D=a[v],L=D.lines||D.value.replace(/\n$/,"").split(` -`);if(D.lines=L,D.added||D.removed){var H;if(!u){var j=a[v-1];u=h,g=p,j&&(f=o.context>0?l(j.lines.slice(-o.context)):[],u-=f.length,g-=f.length)}(H=f).push.apply(H,iN(L.map(function(re){return(D.added?"+":"-")+re}))),D.added?p+=L.length:h+=L.length}else{if(u)if(L.length<=o.context*2&&v=a.length-2&&L.length<=o.context){var A=/\n$/.test(t),ae=/\n$/.test(i),ge=L.length==0&&f.length>Z.oldLines;!A&&ge&&t.length>0&&f.splice(Z.oldLines,0,"\\ No newline at end of file"),(!A&&!ge||!ae)&&f.push("\\ No newline at end of file")}c.push(Z),u=0,g=0,f=[]}h+=L.length,p+=L.length}},y=0;y`${t}#commit=${i}`],[/^https:\/\/((?:[^/]+?)@)?codeload\.github\.com\/([^/]+\/[^/]+)\/tar\.gz\/([0-9a-f]+)$/,(r,e,t="",i,n)=>`https://${t}github.com/${i}.git#commit=${n}`],[/^https:\/\/((?:[^/]+?)@)?github\.com\/([^/]+\/[^/]+?)(?:\.git)?#([0-9a-f]+)$/,(r,e,t="",i,n)=>`https://${t}github.com/${i}.git#commit=${n}`],[/^https?:\/\/[^/]+\/(?:[^/]+\/)*(?:@.+(?:\/|(?:%2f)))?([^/]+)\/(?:-|download)\/\1-[^/]+\.tgz(?:#|$)/,r=>`npm:${r}`],[/^https:\/\/npm\.pkg\.github\.com\/download\/(?:@[^/]+)\/(?:[^/]+)\/(?:[^/]+)\/(?:[0-9a-f]+)(?:#|$)/,r=>`npm:${r}`],[/^https:\/\/npm\.fontawesome\.com\/(?:@[^/]+)\/([^/]+)\/-\/([^/]+)\/\1-\2.tgz(?:#|$)/,r=>`npm:${r}`],[/^https?:\/\/[^/]+\/.*\/(@[^/]+)\/([^/]+)\/-\/\1\/\2-(?:[.\d\w-]+)\.tgz(?:#|$)/,(r,e)=>pw({protocol:"npm:",source:null,selector:r,params:{__archiveUrl:e}})],[/^[^/]+\.tgz#[0-9a-f]+$/,r=>`npm:${r}`]],v0=class{constructor(e){this.resolver=e;this.resolutions=null}async setup(e,{report:t}){let i=x.join(e.cwd,e.configuration.get("lockfileFilename"));if(!M.existsSync(i))return;let n=await M.readFilePromise(i,"utf8"),s=Ii(n);if(Object.prototype.hasOwnProperty.call(s,"__metadata"))return;let o=this.resolutions=new Map;for(let a of Object.keys(s)){let l=Xd(a);if(!l){t.reportWarning(14,`Failed to parse the string "${a}" into a proper descriptor`);continue}let c=to(l.range)?Zt(l,`npm:${l.range}`):l,{version:u,resolved:g}=s[a];if(!g)continue;let f;for(let[p,C]of POe){let y=g.match(p);if(y){f=C(u,...y);break}}if(!f){t.reportWarning(14,`${tr(e.configuration,c)}: Only some patterns can be imported from legacy lockfiles (not "${g}")`);continue}let h=c;try{let p=Cf(c.range),C=Xd(p.selector,!0);C&&(h=C)}catch{}o.set(c.descriptorHash,$i(h,f))}}supportsDescriptor(e,t){return this.resolutions?this.resolutions.has(e.descriptorHash):!1}supportsLocator(e,t){return!1}shouldPersistResolution(e,t){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){if(!this.resolutions)throw new Error("Assertion failed: The resolution store should have been setup");let n=this.resolutions.get(e.descriptorHash);if(!n)throw new Error("Assertion failed: The resolution should have been registered");return await this.resolver.getCandidates(bD(n),t,i)}async getSatisfying(e,t,i){return null}async resolve(e,t){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}};var x0=class{constructor(e){this.resolver=e}supportsDescriptor(e,t){return!!(t.project.storedResolutions.get(e.descriptorHash)||t.project.originalPackages.has(fw(e).locatorHash))}supportsLocator(e,t){return!!(t.project.originalPackages.has(e.locatorHash)&&!t.project.lockfileNeedsRefresh)}shouldPersistResolution(e,t){throw new Error("The shouldPersistResolution method shouldn't be called on the lockfile resolver, which would always answer yes")}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return this.resolver.getResolutionDependencies(e,t)}async getCandidates(e,t,i){let n=i.project.originalPackages.get(fw(e).locatorHash);if(n)return[n];let s=i.project.storedResolutions.get(e.descriptorHash);if(!s)throw new Error("Expected the resolution to have been successful - resolution not found");if(n=i.project.originalPackages.get(s),!n)throw new Error("Expected the resolution to have been successful - package not found");return[n]}async getSatisfying(e,t,i){return null}async resolve(e,t){let i=t.project.originalPackages.get(e.locatorHash);if(!i)throw new Error("The lockfile resolver isn't meant to resolve packages - they should already have been stored into a cache");return i}};var P0=class{constructor(e){this.resolver=e}supportsDescriptor(e,t){return this.resolver.supportsDescriptor(e,t)}supportsLocator(e,t){return this.resolver.supportsLocator(e,t)}shouldPersistResolution(e,t){return this.resolver.shouldPersistResolution(e,t)}bindDescriptor(e,t,i){return this.resolver.bindDescriptor(e,t,i)}getResolutionDependencies(e,t){return this.resolver.getResolutionDependencies(e,t)}async getCandidates(e,t,i){throw new at(20,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async getSatisfying(e,t,i){throw new at(20,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async resolve(e,t){throw new at(20,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}};var ti=class extends Si{reportCacheHit(e){}reportCacheMiss(e){}startSectionSync(e,t){return t()}async startSectionPromise(e,t){return await t()}startTimerSync(e,t,i){return(typeof t=="function"?t:i)()}async startTimerPromise(e,t,i){return await(typeof t=="function"?t:i)()}async startCacheReport(e){return await e()}reportSeparator(){}reportInfo(e,t){}reportWarning(e,t){}reportError(e,t){}reportProgress(e){return{...Promise.resolve().then(async()=>{for await(let{}of e);}),stop:()=>{}}}reportJson(e){}async finalize(){}};var KZ=Pe(wD());var fh=class{constructor(e,{project:t}){this.workspacesCwds=new Set;this.dependencies=new Map;this.project=t,this.cwd=e}async setup(){var s;this.manifest=(s=await ot.tryFind(this.cwd))!=null?s:new ot,this.relativeCwd=x.relative(this.project.cwd,this.cwd)||Oe.dot;let e=this.manifest.name?this.manifest.name:Ho(null,`${this.computeCandidateName()}-${Zi(this.relativeCwd).substring(0,6)}`),t=this.manifest.version?this.manifest.version:"0.0.0";this.locator=$i(e,t),this.anchoredDescriptor=Zt(this.locator,`${jr.protocol}${this.relativeCwd}`),this.anchoredLocator=$i(this.locator,`${jr.protocol}${this.relativeCwd}`);let i=this.manifest.workspaceDefinitions.map(({pattern:o})=>o),n=await(0,KZ.default)(i,{cwd:K.fromPortablePath(this.cwd),expandDirectories:!1,onlyDirectories:!0,onlyFiles:!1,ignore:["**/node_modules","**/.git","**/.yarn"]});n.sort();for(let o of n){let a=x.resolve(this.cwd,K.toPortablePath(o));M.existsSync(x.join(a,"package.json"))&&this.workspacesCwds.add(a)}}accepts(e){var o;let t=e.indexOf(":"),i=t!==-1?e.slice(0,t+1):null,n=t!==-1?e.slice(t+1):e;if(i===jr.protocol&&x.normalize(n)===this.relativeCwd||i===jr.protocol&&(n==="*"||n==="^"||n==="~"))return!0;let s=to(n);return s?i===jr.protocol?s.test((o=this.manifest.version)!=null?o:"0.0.0"):this.project.configuration.get("enableTransparentWorkspaces")&&this.manifest.version!==null?s.test(this.manifest.version):!1:!1}computeCandidateName(){return this.cwd===this.project.cwd?"root-workspace":`${x.basename(this.cwd)}`||"unnamed-workspace"}getRecursiveWorkspaceDependencies({dependencies:e=ot.hardDependencies}={}){let t=new Set,i=n=>{for(let s of e)for(let o of n.manifest[s].values()){let a=this.project.tryWorkspaceByDescriptor(o);a===null||t.has(a)||(t.add(a),i(a))}};return i(this),t}getRecursiveWorkspaceDependents({dependencies:e=ot.hardDependencies}={}){let t=new Set,i=n=>{for(let s of this.project.workspaces)e.some(a=>[...s.manifest[a].values()].some(l=>{let c=this.project.tryWorkspaceByDescriptor(l);return c!==null&&Vd(c.anchoredLocator,n.anchoredLocator)}))&&!t.has(s)&&(t.add(s),i(s))};return i(this),t}getRecursiveWorkspaceChildren(){let e=[];for(let t of this.workspacesCwds){let i=this.project.workspacesByCwd.get(t);i&&e.push(i,...i.getRecursiveWorkspaceChildren())}return e}async persistManifest(){let e={};this.manifest.exportTo(e);let t=x.join(this.cwd,ot.fileName),i=`${JSON.stringify(e,null,this.manifest.indent)} -`;await M.changeFilePromise(t,i,{automaticNewlines:!0}),this.manifest.raw=e}};var UZ=6,DOe=1,kOe=/ *, */g,HZ=/\/$/,ROe=32,FOe=(0,EN.promisify)(IN.default.gzip),NOe=(0,EN.promisify)(IN.default.gunzip),Xn=(t=>(t.UpdateLockfile="update-lockfile",t.SkipBuild="skip-build",t))(Xn||{}),CN={restoreInstallersCustomData:["installersCustomData"],restoreResolutions:["accessibleLocators","conditionalLocators","disabledLocators","optionalBuilds","storedDescriptors","storedResolutions","storedPackages","lockFileChecksum"],restoreBuildState:["storedBuildState"]},GZ=r=>Zi(`${DOe}`,r),je=class{constructor(e,{configuration:t}){this.resolutionAliases=new Map;this.workspaces=[];this.workspacesByCwd=new Map;this.workspacesByIdent=new Map;this.storedResolutions=new Map;this.storedDescriptors=new Map;this.storedPackages=new Map;this.storedChecksums=new Map;this.storedBuildState=new Map;this.accessibleLocators=new Set;this.conditionalLocators=new Set;this.disabledLocators=new Set;this.originalPackages=new Map;this.optionalBuilds=new Set;this.lockfileNeedsRefresh=!1;this.peerRequirements=new Map;this.installersCustomData=new Map;this.lockFileChecksum=null;this.installStateChecksum=null;this.configuration=t,this.cwd=e}static async find(e,t){var p,C,y;if(!e.projectCwd)throw new be(`No project found in ${t}`);let i=e.projectCwd,n=t,s=null;for(;s!==e.projectCwd;){if(s=n,M.existsSync(x.join(s,xt.manifest))){i=s;break}n=x.dirname(s)}let o=new je(e.projectCwd,{configuration:e});(p=ye.telemetry)==null||p.reportProject(o.cwd),await o.setupResolutions(),await o.setupWorkspaces(),(C=ye.telemetry)==null||C.reportWorkspaceCount(o.workspaces.length),(y=ye.telemetry)==null||y.reportDependencyCount(o.workspaces.reduce((B,v)=>B+v.manifest.dependencies.size+v.manifest.devDependencies.size,0));let a=o.tryWorkspaceByCwd(i);if(a)return{project:o,workspace:a,locator:a.anchoredLocator};let l=await o.findLocatorForLocation(`${i}/`,{strict:!0});if(l)return{project:o,locator:l,workspace:null};let c=Ze(e,o.cwd,Ue.PATH),u=Ze(e,x.relative(o.cwd,i),Ue.PATH),g=`- If ${c} isn't intended to be a project, remove any yarn.lock and/or package.json file there.`,f=`- If ${c} is intended to be a project, it might be that you forgot to list ${u} in its workspace configuration.`,h=`- Finally, if ${c} is fine and you intend ${u} to be treated as a completely separate project (not even a workspace), create an empty yarn.lock file in it.`;throw new be(`The nearest package directory (${Ze(e,i,Ue.PATH)}) doesn't seem to be part of the project declared in ${Ze(e,o.cwd,Ue.PATH)}. +`),this.stdout.write(`${$e(this.configuration,"\u27A4","redBright")} Errors happened when preparing the environment required to run this command. +`),this.suggestInstall&&this.stdout.write(`${$e(this.configuration,"\u27A4","redBright")} This might be caused by packages being missing from the lockfile, in which case running "yarn install" might help. +`))}formatNameWithHyperlink(t){return qR(t,{configuration:this.configuration,json:!1})}};var J0=J("crypto");function tA(){}tA.prototype={diff:function(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},n=i.callback;typeof i=="function"&&(n=i,i={}),this.options=i;var s=this;function o(C){return n?(setTimeout(function(){n(void 0,C)},0),!0):C}e=this.castInput(e),t=this.castInput(t),e=this.removeEmpty(this.tokenize(e)),t=this.removeEmpty(this.tokenize(t));var a=t.length,l=e.length,c=1,u=a+l;i.maxEditLength&&(u=Math.min(u,i.maxEditLength));var g=[{newPos:-1,components:[]}],f=this.extractCommon(g[0],t,e,0);if(g[0].newPos+1>=a&&f+1>=l)return o([{value:this.join(t),count:t.length}]);function h(){for(var C=-1*c;C<=c;C+=2){var y=void 0,B=g[C-1],v=g[C+1],D=(v?v.newPos:0)-C;B&&(g[C-1]=void 0);var L=B&&B.newPos+1=a&&D+1>=l)return o(ZNe(s,y.components,t,e,s.useLongestToken));g[C]=y}c++}if(n)(function C(){setTimeout(function(){if(c>u)return n();h()||C()},0)})();else for(;c<=u;){var p=h();if(p)return p}},pushComponent:function(e,t,i){var n=e[e.length-1];n&&n.added===t&&n.removed===i?e[e.length-1]={count:n.count+1,added:t,removed:i}:e.push({count:1,added:t,removed:i})},extractCommon:function(e,t,i,n){for(var s=t.length,o=i.length,a=e.newPos,l=a-n,c=0;a+1h.length?C:h}),c.value=r.join(u)}else c.value=r.join(t.slice(a,a+c.count));a+=c.count,c.added||(l+=c.count)}}var f=e[o-1];return o>1&&typeof f.value=="string"&&(f.added||f.removed)&&r.equals("",f.value)&&(e[o-2].value+=f.value,e.pop()),e}function _Ne(r){return{newPos:r.newPos,components:r.components.slice(0)}}var Pat=new tA;var hZ=/^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/,pZ=/\S/,dZ=new tA;dZ.equals=function(r,e){return this.options.ignoreCase&&(r=r.toLowerCase(),e=e.toLowerCase()),r===e||this.options.ignoreWhitespace&&!pZ.test(r)&&!pZ.test(e)};dZ.tokenize=function(r){for(var e=r.split(/([^\S\r\n]+|[()[\]{}'"\r\n]|\b)/),t=0;tr.length)&&(e=r.length);for(var t=0,i=new Array(e);t"u"?t:o}:i;return typeof r=="string"?r:JSON.stringify(RN(r,null,null,n),n," ")};VC.equals=function(r,e){return tA.prototype.equals.call(VC,r.replace(/,([\r\n])/g,"$1"),e.replace(/,([\r\n])/g,"$1"))};function RN(r,e,t,i,n){e=e||[],t=t||[],i&&(r=i(n,r));var s;for(s=0;s"u"&&(o.context=4);var a=$Ne(t,i,o);if(!a)return;a.push({value:"",lines:[]});function l(B){return B.map(function(v){return" "+v})}for(var c=[],u=0,g=0,f=[],h=1,p=1,C=function(v){var D=a[v],L=D.lines||D.value.replace(/\n$/,"").split(` +`);if(D.lines=L,D.added||D.removed){var H;if(!u){var j=a[v-1];u=h,g=p,j&&(f=o.context>0?l(j.lines.slice(-o.context)):[],u-=f.length,g-=f.length)}(H=f).push.apply(H,DN(L.map(function(re){return(D.added?"+":"-")+re}))),D.added?p+=L.length:h+=L.length}else{if(u)if(L.length<=o.context*2&&v=a.length-2&&L.length<=o.context){var A=/\n$/.test(t),ae=/\n$/.test(i),ge=L.length==0&&f.length>_.oldLines;!A&&ge&&t.length>0&&f.splice(_.oldLines,0,"\\ No newline at end of file"),(!A&&!ge||!ae)&&f.push("\\ No newline at end of file")}c.push(_),u=0,g=0,f=[]}h+=L.length,p+=L.length}},y=0;y`${t}#commit=${i}`],[/^https:\/\/((?:[^/]+?)@)?codeload\.github\.com\/([^/]+\/[^/]+)\/tar\.gz\/([0-9a-f]+)$/,(r,e,t="",i,n)=>`https://${t}github.com/${i}.git#commit=${n}`],[/^https:\/\/((?:[^/]+?)@)?github\.com\/([^/]+\/[^/]+?)(?:\.git)?#([0-9a-f]+)$/,(r,e,t="",i,n)=>`https://${t}github.com/${i}.git#commit=${n}`],[/^https?:\/\/[^/]+\/(?:[^/]+\/)*(?:@.+(?:\/|(?:%2f)))?([^/]+)\/(?:-|download)\/\1-[^/]+\.tgz(?:#|$)/,r=>`npm:${r}`],[/^https:\/\/npm\.pkg\.github\.com\/download\/(?:@[^/]+)\/(?:[^/]+)\/(?:[^/]+)\/(?:[0-9a-f]+)(?:#|$)/,r=>`npm:${r}`],[/^https:\/\/npm\.fontawesome\.com\/(?:@[^/]+)\/([^/]+)\/-\/([^/]+)\/\1-\2.tgz(?:#|$)/,r=>`npm:${r}`],[/^https?:\/\/[^/]+\/.*\/(@[^/]+)\/([^/]+)\/-\/\1\/\2-(?:[.\d\w-]+)\.tgz(?:#|$)/,(r,e)=>Qw({protocol:"npm:",source:null,selector:r,params:{__archiveUrl:e}})],[/^[^/]+\.tgz#[0-9a-f]+$/,r=>`npm:${r}`]],Y0=class{constructor(e){this.resolver=e;this.resolutions=null}async setup(e,{report:t}){let i=x.join(e.cwd,e.configuration.get("lockfileFilename"));if(!M.existsSync(i))return;let n=await M.readFilePromise(i,"utf8"),s=yi(n);if(Object.prototype.hasOwnProperty.call(s,"__metadata"))return;let o=this.resolutions=new Map;for(let a of Object.keys(s)){let l=sC(a);if(!l){t.reportWarning(14,`Failed to parse the string "${a}" into a proper descriptor`);continue}let c=io(l.range)?_t(l,`npm:${l.range}`):l,{version:u,resolved:g}=s[a];if(!g)continue;let f;for(let[p,C]of NMe){let y=g.match(p);if(y){f=C(u,...y);break}}if(!f){t.reportWarning(14,`${tr(e.configuration,c)}: Only some patterns can be imported from legacy lockfiles (not "${g}")`);continue}let h=c;try{let p=Qf(c.range),C=sC(p.selector,!0);C&&(h=C)}catch{}o.set(c.descriptorHash,tn(h,f))}}supportsDescriptor(e,t){return this.resolutions?this.resolutions.has(e.descriptorHash):!1}supportsLocator(e,t){return!1}shouldPersistResolution(e,t){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){if(!this.resolutions)throw new Error("Assertion failed: The resolution store should have been setup");let n=this.resolutions.get(e.descriptorHash);if(!n)throw new Error("Assertion failed: The resolution should have been registered");return await this.resolver.getCandidates(HD(n),t,i)}async getSatisfying(e,t,i){return null}async resolve(e,t){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}};var j0=class{constructor(e){this.resolver=e}supportsDescriptor(e,t){return!!(t.project.storedResolutions.get(e.descriptorHash)||t.project.originalPackages.has(ww(e).locatorHash))}supportsLocator(e,t){return!!(t.project.originalPackages.has(e.locatorHash)&&!t.project.lockfileNeedsRefresh)}shouldPersistResolution(e,t){throw new Error("The shouldPersistResolution method shouldn't be called on the lockfile resolver, which would always answer yes")}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return this.resolver.getResolutionDependencies(e,t)}async getCandidates(e,t,i){let n=i.project.originalPackages.get(ww(e).locatorHash);if(n)return[n];let s=i.project.storedResolutions.get(e.descriptorHash);if(!s)throw new Error("Expected the resolution to have been successful - resolution not found");if(n=i.project.originalPackages.get(s),!n)throw new Error("Expected the resolution to have been successful - package not found");return[n]}async getSatisfying(e,t,i){return null}async resolve(e,t){let i=t.project.originalPackages.get(e.locatorHash);if(!i)throw new Error("The lockfile resolver isn't meant to resolve packages - they should already have been stored into a cache");return i}};var q0=class{constructor(e){this.resolver=e}supportsDescriptor(e,t){return this.resolver.supportsDescriptor(e,t)}supportsLocator(e,t){return this.resolver.supportsLocator(e,t)}shouldPersistResolution(e,t){return this.resolver.shouldPersistResolution(e,t)}bindDescriptor(e,t,i){return this.resolver.bindDescriptor(e,t,i)}getResolutionDependencies(e,t){return this.resolver.getResolutionDependencies(e,t)}async getCandidates(e,t,i){throw new at(20,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async getSatisfying(e,t,i){throw new at(20,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async resolve(e,t){throw new at(20,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}};var ti=class extends vi{reportCacheHit(e){}reportCacheMiss(e){}startSectionSync(e,t){return t()}async startSectionPromise(e,t){return await t()}startTimerSync(e,t,i){return(typeof t=="function"?t:i)()}async startTimerPromise(e,t,i){return await(typeof t=="function"?t:i)()}async startCacheReport(e){return await e()}reportSeparator(){}reportInfo(e,t){}reportWarning(e,t){}reportError(e,t){}reportProgress(e){return{...Promise.resolve().then(async()=>{for await(let{}of e);}),stop:()=>{}}}reportJson(e){}async finalize(){}};var Q$=Pe(MD());var wh=class{constructor(e,{project:t}){this.workspacesCwds=new Set;this.dependencies=new Map;this.project=t,this.cwd=e}async setup(){var s;this.manifest=(s=await ot.tryFind(this.cwd))!=null?s:new ot,this.relativeCwd=x.relative(this.project.cwd,this.cwd)||Oe.dot;let e=this.manifest.name?this.manifest.name:qo(null,`${this.computeCandidateName()}-${en(this.relativeCwd).substring(0,6)}`),t=this.manifest.version?this.manifest.version:"0.0.0";this.locator=tn(e,t),this.anchoredDescriptor=_t(this.locator,`${jr.protocol}${this.relativeCwd}`),this.anchoredLocator=tn(this.locator,`${jr.protocol}${this.relativeCwd}`);let i=this.manifest.workspaceDefinitions.map(({pattern:o})=>o),n=await(0,Q$.default)(i,{cwd:K.fromPortablePath(this.cwd),expandDirectories:!1,onlyDirectories:!0,onlyFiles:!1,ignore:["**/node_modules","**/.git","**/.yarn"]});n.sort();for(let o of n){let a=x.resolve(this.cwd,K.toPortablePath(o));M.existsSync(x.join(a,"package.json"))&&this.workspacesCwds.add(a)}}accepts(e){var o;let t=e.indexOf(":"),i=t!==-1?e.slice(0,t+1):null,n=t!==-1?e.slice(t+1):e;if(i===jr.protocol&&x.normalize(n)===this.relativeCwd||i===jr.protocol&&(n==="*"||n==="^"||n==="~"))return!0;let s=io(n);return s?i===jr.protocol?s.test((o=this.manifest.version)!=null?o:"0.0.0"):this.project.configuration.get("enableTransparentWorkspaces")&&this.manifest.version!==null?s.test(this.manifest.version):!1:!1}computeCandidateName(){return this.cwd===this.project.cwd?"root-workspace":`${x.basename(this.cwd)}`||"unnamed-workspace"}getRecursiveWorkspaceDependencies({dependencies:e=ot.hardDependencies}={}){let t=new Set,i=n=>{for(let s of e)for(let o of n.manifest[s].values()){let a=this.project.tryWorkspaceByDescriptor(o);a===null||t.has(a)||(t.add(a),i(a))}};return i(this),t}getRecursiveWorkspaceDependents({dependencies:e=ot.hardDependencies}={}){let t=new Set,i=n=>{for(let s of this.project.workspaces)e.some(a=>[...s.manifest[a].values()].some(l=>{let c=this.project.tryWorkspaceByDescriptor(l);return c!==null&&nC(c.anchoredLocator,n.anchoredLocator)}))&&!t.has(s)&&(t.add(s),i(s))};return i(this),t}getRecursiveWorkspaceChildren(){let e=[];for(let t of this.workspacesCwds){let i=this.project.workspacesByCwd.get(t);i&&e.push(i,...i.getRecursiveWorkspaceChildren())}return e}async persistManifest(){let e={};this.manifest.exportTo(e);let t=x.join(this.cwd,ot.fileName),i=`${JSON.stringify(e,null,this.manifest.indent)} +`;await M.changeFilePromise(t,i,{automaticNewlines:!0}),this.manifest.raw=e}};var b$=6,LMe=1,TMe=/ *, */g,S$=/\/$/,OMe=32,MMe=(0,JN.promisify)(WN.default.gzip),KMe=(0,JN.promisify)(WN.default.gunzip),$n=(t=>(t.UpdateLockfile="update-lockfile",t.SkipBuild="skip-build",t))($n||{}),jN={restoreInstallersCustomData:["installersCustomData"],restoreResolutions:["accessibleLocators","conditionalLocators","disabledLocators","optionalBuilds","storedDescriptors","storedResolutions","storedPackages","lockFileChecksum"],restoreBuildState:["storedBuildState"]},v$=r=>en(`${LMe}`,r),je=class{constructor(e,{configuration:t}){this.resolutionAliases=new Map;this.workspaces=[];this.workspacesByCwd=new Map;this.workspacesByIdent=new Map;this.storedResolutions=new Map;this.storedDescriptors=new Map;this.storedPackages=new Map;this.storedChecksums=new Map;this.storedBuildState=new Map;this.accessibleLocators=new Set;this.conditionalLocators=new Set;this.disabledLocators=new Set;this.originalPackages=new Map;this.optionalBuilds=new Set;this.lockfileNeedsRefresh=!1;this.peerRequirements=new Map;this.installersCustomData=new Map;this.lockFileChecksum=null;this.installStateChecksum=null;this.configuration=t,this.cwd=e}static async find(e,t){var p,C,y;if(!e.projectCwd)throw new be(`No project found in ${t}`);let i=e.projectCwd,n=t,s=null;for(;s!==e.projectCwd;){if(s=n,M.existsSync(x.join(s,xt.manifest))){i=s;break}n=x.dirname(s)}let o=new je(e.projectCwd,{configuration:e});(p=ye.telemetry)==null||p.reportProject(o.cwd),await o.setupResolutions(),await o.setupWorkspaces(),(C=ye.telemetry)==null||C.reportWorkspaceCount(o.workspaces.length),(y=ye.telemetry)==null||y.reportDependencyCount(o.workspaces.reduce((B,v)=>B+v.manifest.dependencies.size+v.manifest.devDependencies.size,0));let a=o.tryWorkspaceByCwd(i);if(a)return{project:o,workspace:a,locator:a.anchoredLocator};let l=await o.findLocatorForLocation(`${i}/`,{strict:!0});if(l)return{project:o,locator:l,workspace:null};let c=$e(e,o.cwd,Ue.PATH),u=$e(e,x.relative(o.cwd,i),Ue.PATH),g=`- If ${c} isn't intended to be a project, remove any yarn.lock and/or package.json file there.`,f=`- If ${c} is intended to be a project, it might be that you forgot to list ${u} in its workspace configuration.`,h=`- Finally, if ${c} is fine and you intend ${u} to be treated as a completely separate project (not even a workspace), create an empty yarn.lock file in it.`;throw new be(`The nearest package directory (${$e(e,i,Ue.PATH)}) doesn't seem to be part of the project declared in ${$e(e,o.cwd,Ue.PATH)}. ${[g,f,h].join(` -`)}`)}async setupResolutions(){var i;this.storedResolutions=new Map,this.storedDescriptors=new Map,this.storedPackages=new Map,this.lockFileChecksum=null;let e=x.join(this.cwd,this.configuration.get("lockfileFilename")),t=this.configuration.get("defaultLanguageName");if(M.existsSync(e)){let n=await M.readFilePromise(e,"utf8");this.lockFileChecksum=GZ(n);let s=Ii(n);if(s.__metadata){let o=s.__metadata.version,a=s.__metadata.cacheKey;this.lockfileNeedsRefresh=o"u")throw new Error(`Assertion failed: Expected the lockfile entry to have a resolution field (${l})`);let u=Cc(c.resolution,!0),g=new ot;g.load(c,{yamlCompatibilityMode:!0});let f=g.version,h=g.languageName||t,p=c.linkType.toUpperCase(),C=(i=c.conditions)!=null?i:null,y=g.dependencies,B=g.peerDependencies,v=g.dependenciesMeta,D=g.peerDependenciesMeta,L=g.bin;if(c.checksum!=null){let j=typeof a<"u"&&!c.checksum.includes("/")?`${a}/${c.checksum}`:c.checksum;this.storedChecksums.set(u.locatorHash,j)}let H={...u,version:f,languageName:h,linkType:p,conditions:C,dependencies:y,peerDependencies:B,dependenciesMeta:v,peerDependenciesMeta:D,bin:L};this.originalPackages.set(H.locatorHash,H);for(let j of l.split(kOe)){let $=MA(j);this.storedDescriptors.set($.descriptorHash,$),this.storedResolutions.set($.descriptorHash,u.locatorHash)}}}}}async setupWorkspaces(){this.workspaces=[],this.workspacesByCwd=new Map,this.workspacesByIdent=new Map;let e=[this.cwd];for(;e.length>0;){let t=e;e=[];for(let i of t){if(this.workspacesByCwd.has(i))continue;let n=await this.addWorkspace(i),s=this.storedPackages.get(n.anchoredLocator.locatorHash);s&&(n.dependencies=s.dependencies);for(let o of n.workspacesCwds)e.push(o)}}}async addWorkspace(e){let t=new fh(e,{project:this});await t.setup();let i=this.workspacesByIdent.get(t.locator.identHash);if(typeof i<"u")throw new Error(`Duplicate workspace name ${Ai(this.configuration,t.locator)}: ${K.fromPortablePath(e)} conflicts with ${K.fromPortablePath(i.cwd)}`);return this.workspaces.push(t),this.workspacesByCwd.set(e,t),this.workspacesByIdent.set(t.locator.identHash,t),t}get topLevelWorkspace(){return this.getWorkspaceByCwd(this.cwd)}tryWorkspaceByCwd(e){x.isAbsolute(e)||(e=x.resolve(this.cwd,e)),e=x.normalize(e).replace(/\/+$/,"");let t=this.workspacesByCwd.get(e);return t||null}getWorkspaceByCwd(e){let t=this.tryWorkspaceByCwd(e);if(!t)throw new Error(`Workspace not found (${e})`);return t}tryWorkspaceByFilePath(e){let t=null;for(let i of this.workspaces)x.relative(i.cwd,e).startsWith("../")||t&&t.cwd.length>=i.cwd.length||(t=i);return t||null}getWorkspaceByFilePath(e){let t=this.tryWorkspaceByFilePath(e);if(!t)throw new Error(`Workspace not found (${e})`);return t}tryWorkspaceByIdent(e){let t=this.workspacesByIdent.get(e.identHash);return typeof t>"u"?null:t}getWorkspaceByIdent(e){let t=this.tryWorkspaceByIdent(e);if(!t)throw new Error(`Workspace not found (${Ai(this.configuration,e)})`);return t}tryWorkspaceByDescriptor(e){let t=this.tryWorkspaceByIdent(e);return t===null||(OA(e)&&(e=Jd(e)),!t.accepts(e.range))?null:t}getWorkspaceByDescriptor(e){let t=this.tryWorkspaceByDescriptor(e);if(t===null)throw new Error(`Workspace not found (${tr(this.configuration,e)})`);return t}tryWorkspaceByLocator(e){let t=this.tryWorkspaceByIdent(e);return t===null||(Uo(e)&&(e=Wd(e)),t.locator.locatorHash!==e.locatorHash&&t.anchoredLocator.locatorHash!==e.locatorHash)?null:t}getWorkspaceByLocator(e){let t=this.tryWorkspaceByLocator(e);if(!t)throw new Error(`Workspace not found (${mt(this.configuration,e)})`);return t}refreshWorkspaceDependencies(){for(let e of this.workspaces){let t=this.storedPackages.get(e.anchoredLocator.locatorHash);if(!t)throw new Error(`Assertion failed: Expected workspace ${Zd(this.configuration,e)} (${Ze(this.configuration,x.join(e.cwd,xt.manifest),Ue.PATH)}) to have been resolved. Run "yarn install" to update the lockfile`);e.dependencies=new Map(t.dependencies)}}forgetResolution(e){let t=n=>{this.storedResolutions.delete(n),this.storedDescriptors.delete(n)},i=n=>{this.originalPackages.delete(n),this.storedPackages.delete(n),this.accessibleLocators.delete(n)};if("descriptorHash"in e){let n=this.storedResolutions.get(e.descriptorHash);t(e.descriptorHash);let s=new Set(this.storedResolutions.values());typeof n<"u"&&!s.has(n)&&i(n)}if("locatorHash"in e){i(e.locatorHash);for(let[n,s]of this.storedResolutions)s===e.locatorHash&&t(n)}}forgetTransientResolutions(){let e=this.configuration.makeResolver();for(let t of this.originalPackages.values()){let i;try{i=e.shouldPersistResolution(t,{project:this,resolver:e})}catch{i=!1}i||this.forgetResolution(t)}}forgetVirtualResolutions(){for(let e of this.storedPackages.values())for(let[t,i]of e.dependencies)OA(i)&&e.dependencies.set(t,Jd(i))}getDependencyMeta(e,t){let i={},s=this.topLevelWorkspace.manifest.dependenciesMeta.get(Ot(e));if(!s)return i;let o=s.get(null);if(o&&Object.assign(i,o),t===null||!jZ.default.valid(t))return i;for(let[a,l]of s)a!==null&&a===t&&Object.assign(i,l);return i}async findLocatorForLocation(e,{strict:t=!1}={}){let i=new ti,n=this.configuration.getLinkers(),s={project:this,report:i};for(let o of n){let a=await o.findPackageLocator(e,s);if(a){if(t&&(await o.findPackageLocation(a,s)).replace(HZ,"")!==e.replace(HZ,""))continue;return a}}return null}async resolveEverything(e){if(!this.workspacesByCwd||!this.workspacesByIdent)throw new Error("Workspaces must have been setup before calling this function");this.forgetVirtualResolutions(),e.lockfileOnly||this.forgetTransientResolutions();let t=e.resolver||this.configuration.makeResolver(),i=new v0(t);await i.setup(this,{report:e.report});let n=e.lockfileOnly?[new P0(t)]:[i,t],s=new yf([new x0(t),...n]),o=this.configuration.makeFetcher(),a=e.lockfileOnly?{project:this,report:e.report,resolver:s}:{project:this,report:e.report,resolver:s,fetchOptions:{project:this,cache:e.cache,checksums:this.storedChecksums,report:e.report,fetcher:o,cacheOptions:{mirrorWriteOnly:!0}}},l=new Map,c=new Map,u=new Map,g=new Map,f=new Map,h=new Map,p=this.topLevelWorkspace.anchoredLocator,C=new Set,y=[],B=OD(),v=this.configuration.getSupportedArchitectures();await e.report.startProgressPromise(Si.progressViaTitle(),async W=>{let Z=async O=>{let F=await of(async()=>await s.resolve(O,a),ke=>`${mt(this.configuration,O)}: ${ke}`);if(!Vd(O,F))throw new Error(`Assertion failed: The locator cannot be changed by the resolver (went from ${mt(this.configuration,O)} to ${mt(this.configuration,F)})`);g.set(F.locatorHash,F);let ue=this.configuration.normalizePackage(F);for(let[ke,Fe]of ue.dependencies){let Ne=await this.configuration.reduceHook(le=>le.reduceDependency,Fe,this,ue,Fe,{resolver:s,resolveOptions:a});if(!zd(Fe,Ne))throw new Error("Assertion failed: The descriptor ident cannot be changed through aliases");let oe=s.bindDescriptor(Ne,O,a);ue.dependencies.set(ke,oe)}let he=$s([...ue.dependencies.values()].map(ke=>re(ke)));return y.push(he),he.catch(()=>{}),c.set(ue.locatorHash,ue),ue},A=async O=>{let F=f.get(O.locatorHash);if(typeof F<"u")return F;let ue=Promise.resolve().then(()=>Z(O));return f.set(O.locatorHash,ue),ue},ae=async(O,F)=>{let ue=await re(F);return l.set(O.descriptorHash,O),u.set(O.descriptorHash,ue.locatorHash),ue},ge=async O=>{W.setTitle(tr(this.configuration,O));let F=this.resolutionAliases.get(O.descriptorHash);if(typeof F<"u")return ae(O,this.storedDescriptors.get(F));let ue=s.getResolutionDependencies(O,a),he=new Map(await $s(ue.map(async Ne=>{let oe=s.bindDescriptor(Ne,p,a),le=await re(oe);return C.add(le.locatorHash),[Ne.descriptorHash,le]}))),Fe=(await of(async()=>await s.getCandidates(O,he,a),Ne=>`${tr(this.configuration,O)}: ${Ne}`))[0];if(typeof Fe>"u")throw new Error(`${tr(this.configuration,O)}: No candidates found`);return l.set(O.descriptorHash,O),u.set(O.descriptorHash,Fe.locatorHash),A(Fe)},re=O=>{let F=h.get(O.descriptorHash);if(typeof F<"u")return F;l.set(O.descriptorHash,O);let ue=Promise.resolve().then(()=>ge(O));return h.set(O.descriptorHash,ue),ue};for(let O of this.workspaces){let F=O.anchoredDescriptor;y.push(re(F))}for(;y.length>0;){let O=[...y];y.length=0,await $s(O)}});let D=new Set(this.resolutionAliases.values()),L=new Set(c.keys()),H=new Set,j=new Map;LOe({project:this,report:e.report,accessibleLocators:H,volatileDescriptors:D,optionalBuilds:L,peerRequirements:j,allDescriptors:l,allResolutions:u,allPackages:c});for(let W of C)L.delete(W);for(let W of D)l.delete(W),u.delete(W);let $=new Set,V=new Set;for(let W of c.values())W.conditions!=null&&(!L.has(W.locatorHash)||(mw(W,v)||(mw(W,B)&&e.report.reportWarningOnce(77,`${mt(this.configuration,W)}: Your current architecture (${process.platform}-${process.arch}) is supported by this package, but is missing from the ${Ze(this.configuration,"supportedArchitectures",vi.SETTING)} setting`),V.add(W.locatorHash)),$.add(W.locatorHash)));this.storedResolutions=u,this.storedDescriptors=l,this.storedPackages=c,this.accessibleLocators=H,this.conditionalLocators=$,this.disabledLocators=V,this.originalPackages=g,this.optionalBuilds=L,this.peerRequirements=j,this.refreshWorkspaceDependencies()}async fetchEverything({cache:e,report:t,fetcher:i,mode:n}){let s={mockedPackages:this.disabledLocators,unstablePackages:this.conditionalLocators},o=i||this.configuration.makeFetcher(),a={checksums:this.storedChecksums,project:this,cache:e,fetcher:o,report:t,cacheOptions:s},l=Array.from(new Set(wn(this.storedResolutions.values(),[f=>{let h=this.storedPackages.get(f);if(!h)throw new Error("Assertion failed: The locator should have been registered");return hs(h)}])));n==="update-lockfile"&&(l=l.filter(f=>!this.storedChecksums.has(f)));let c=!1,u=Si.progressViaCounter(l.length);await t.reportProgress(u);let g=(0,YZ.default)(ROe);if(await t.startCacheReport(async()=>{await $s(l.map(f=>g(async()=>{let h=this.storedPackages.get(f);if(!h)throw new Error("Assertion failed: The locator should have been registered");if(Uo(h))return;let p;try{p=await o.fetch(h,a)}catch(C){C.message=`${mt(this.configuration,h)}: ${C.message}`,t.reportExceptionOnce(C),c=C;return}p.checksum!=null?this.storedChecksums.set(h.locatorHash,p.checksum):this.storedChecksums.delete(h.locatorHash),p.releaseFs&&p.releaseFs()}).finally(()=>{u.tick()})))}),c)throw c}async linkEverything({cache:e,report:t,fetcher:i,mode:n}){var ae,ge,re;let s={mockedPackages:this.disabledLocators,unstablePackages:this.conditionalLocators,skipIntegrityCheck:!0},o=i||this.configuration.makeFetcher(),a={checksums:this.storedChecksums,project:this,cache:e,fetcher:o,report:t,skipIntegrityCheck:!0,cacheOptions:s},l=this.configuration.getLinkers(),c={project:this,report:t},u=new Map(l.map(O=>{let F=O.makeInstaller(c),ue=F.getCustomDataKey(),he=this.installersCustomData.get(ue);return typeof he<"u"&&F.attachCustomData(he),[O,F]})),g=new Map,f=new Map,h=new Map,p=new Map(await $s([...this.accessibleLocators].map(async O=>{let F=this.storedPackages.get(O);if(!F)throw new Error("Assertion failed: The locator should have been registered");return[O,await o.fetch(F,a)]}))),C=[];for(let O of this.accessibleLocators){let F=this.storedPackages.get(O);if(typeof F>"u")throw new Error("Assertion failed: The locator should have been registered");let ue=p.get(F.locatorHash);if(typeof ue>"u")throw new Error("Assertion failed: The fetch result should have been registered");let he=[],ke=Ne=>{he.push(Ne)},Fe=this.tryWorkspaceByLocator(F);if(Fe!==null){let Ne=[],{scripts:oe}=Fe.manifest;for(let we of["preinstall","install","postinstall"])oe.has(we)&&Ne.push([0,we]);try{for(let[we,fe]of u)if(we.supportsPackage(F,c)&&(await fe.installPackage(F,ue,{holdFetchResult:ke})).buildDirective!==null)throw new Error("Assertion failed: Linkers can't return build directives for workspaces; this responsibility befalls to the Yarn core")}finally{he.length===0?(ae=ue.releaseFs)==null||ae.call(ue):C.push($s(he).catch(()=>{}).then(()=>{var we;(we=ue.releaseFs)==null||we.call(ue)}))}let le=x.join(ue.packageFs.getRealPath(),ue.prefixPath);f.set(F.locatorHash,le),!Uo(F)&&Ne.length>0&&h.set(F.locatorHash,{directives:Ne,buildLocations:[le]})}else{let Ne=l.find(we=>we.supportsPackage(F,c));if(!Ne)throw new at(12,`${mt(this.configuration,F)} isn't supported by any available linker`);let oe=u.get(Ne);if(!oe)throw new Error("Assertion failed: The installer should have been registered");let le;try{le=await oe.installPackage(F,ue,{holdFetchResult:ke})}finally{he.length===0?(ge=ue.releaseFs)==null||ge.call(ue):C.push($s(he).then(()=>{}).then(()=>{var we;(we=ue.releaseFs)==null||we.call(ue)}))}g.set(F.locatorHash,Ne),f.set(F.locatorHash,le.packageLocation),le.buildDirective&&le.buildDirective.length>0&&le.packageLocation&&h.set(F.locatorHash,{directives:le.buildDirective,buildLocations:[le.packageLocation]})}}let y=new Map;for(let O of this.accessibleLocators){let F=this.storedPackages.get(O);if(!F)throw new Error("Assertion failed: The locator should have been registered");let ue=this.tryWorkspaceByLocator(F)!==null,he=async(ke,Fe)=>{let Ne=f.get(F.locatorHash);if(typeof Ne>"u")throw new Error(`Assertion failed: The package (${mt(this.configuration,F)}) should have been registered`);let oe=[];for(let le of F.dependencies.values()){let we=this.storedResolutions.get(le.descriptorHash);if(typeof we>"u")throw new Error(`Assertion failed: The resolution (${tr(this.configuration,le)}, from ${mt(this.configuration,F)})should have been registered`);let fe=this.storedPackages.get(we);if(typeof fe>"u")throw new Error(`Assertion failed: The package (${we}, resolved from ${tr(this.configuration,le)}) should have been registered`);let Ae=this.tryWorkspaceByLocator(fe)===null?g.get(we):null;if(typeof Ae>"u")throw new Error(`Assertion failed: The package (${we}, resolved from ${tr(this.configuration,le)}) should have been registered`);Ae===ke||Ae===null?f.get(fe.locatorHash)!==null&&oe.push([le,fe]):!ue&&Ne!==null&&nf(y,we).push(Ne)}Ne!==null&&await Fe.attachInternalDependencies(F,oe)};if(ue)for(let[ke,Fe]of u)ke.supportsPackage(F,c)&&await he(ke,Fe);else{let ke=g.get(F.locatorHash);if(!ke)throw new Error("Assertion failed: The linker should have been found");let Fe=u.get(ke);if(!Fe)throw new Error("Assertion failed: The installer should have been registered");await he(ke,Fe)}}for(let[O,F]of y){let ue=this.storedPackages.get(O);if(!ue)throw new Error("Assertion failed: The package should have been registered");let he=g.get(ue.locatorHash);if(!he)throw new Error("Assertion failed: The linker should have been found");let ke=u.get(he);if(!ke)throw new Error("Assertion failed: The installer should have been registered");await ke.attachExternalDependents(ue,F)}let B=new Map;for(let O of u.values()){let F=await O.finalizeInstall();for(let ue of(re=F==null?void 0:F.records)!=null?re:[])h.set(ue.locatorHash,{directives:ue.buildDirective,buildLocations:ue.buildLocations});typeof(F==null?void 0:F.customData)<"u"&&B.set(O.getCustomDataKey(),F.customData)}if(this.installersCustomData=B,await $s(C),n==="skip-build")return;let v=new Set(this.storedPackages.keys()),D=new Set(h.keys());for(let O of D)v.delete(O);let L=(0,D0.createHash)("sha512");L.update(process.versions.node),await this.configuration.triggerHook(O=>O.globalHashGeneration,this,O=>{L.update("\0"),L.update(O)});let H=L.digest("hex"),j=new Map,$=O=>{let F=j.get(O.locatorHash);if(typeof F<"u")return F;let ue=this.storedPackages.get(O.locatorHash);if(typeof ue>"u")throw new Error("Assertion failed: The package should have been registered");let he=(0,D0.createHash)("sha512");he.update(O.locatorHash),j.set(O.locatorHash,"");for(let ke of ue.dependencies.values()){let Fe=this.storedResolutions.get(ke.descriptorHash);if(typeof Fe>"u")throw new Error(`Assertion failed: The resolution (${tr(this.configuration,ke)}) should have been registered`);let Ne=this.storedPackages.get(Fe);if(typeof Ne>"u")throw new Error("Assertion failed: The package should have been registered");he.update($(Ne))}return F=he.digest("hex"),j.set(O.locatorHash,F),F},V=(O,F)=>{let ue=(0,D0.createHash)("sha512");ue.update(H),ue.update($(O));for(let he of F)ue.update(he);return ue.digest("hex")},W=new Map,Z=!1,A=O=>{let F=new Set([O.locatorHash]);for(let ue of F){let he=this.storedPackages.get(ue);if(!he)throw new Error("Assertion failed: The package should have been registered");for(let ke of he.dependencies.values()){let Fe=this.storedResolutions.get(ke.descriptorHash);if(!Fe)throw new Error(`Assertion failed: The resolution (${tr(this.configuration,ke)}) should have been registered`);if(Fe!==O.locatorHash&&D.has(Fe))return!1;let Ne=this.storedPackages.get(Fe);if(!Ne)throw new Error("Assertion failed: The package should have been registered");let oe=this.tryWorkspaceByLocator(Ne);if(oe){if(oe.anchoredLocator.locatorHash!==O.locatorHash&&D.has(oe.anchoredLocator.locatorHash))return!1;F.add(oe.anchoredLocator.locatorHash)}F.add(Fe)}}return!0};for(;D.size>0;){let O=D.size,F=[];for(let ue of D){let he=this.storedPackages.get(ue);if(!he)throw new Error("Assertion failed: The package should have been registered");if(!A(he))continue;let ke=h.get(he.locatorHash);if(!ke)throw new Error("Assertion failed: The build directive should have been registered");let Fe=V(he,ke.buildLocations);if(this.storedBuildState.get(he.locatorHash)===Fe){W.set(he.locatorHash,Fe),D.delete(ue);continue}Z||(await this.persistInstallStateFile(),Z=!0),this.storedBuildState.has(he.locatorHash)?t.reportInfo(8,`${mt(this.configuration,he)} must be rebuilt because its dependency tree changed`):t.reportInfo(7,`${mt(this.configuration,he)} must be built because it never has been before or the last one failed`);let Ne=ke.buildLocations.map(async oe=>{if(!x.isAbsolute(oe))throw new Error(`Assertion failed: Expected the build location to be absolute (not ${oe})`);for(let[le,we]of ke.directives){let fe=`# This file contains the result of Yarn building a package (${hs(he)}) +`)}`)}async setupResolutions(){var i;this.storedResolutions=new Map,this.storedDescriptors=new Map,this.storedPackages=new Map,this.lockFileChecksum=null;let e=x.join(this.cwd,this.configuration.get("lockfileFilename")),t=this.configuration.get("defaultLanguageName");if(M.existsSync(e)){let n=await M.readFilePromise(e,"utf8");this.lockFileChecksum=v$(n);let s=yi(n);if(s.__metadata){let o=s.__metadata.version,a=s.__metadata.cacheKey;this.lockfileNeedsRefresh=o"u")throw new Error(`Assertion failed: Expected the lockfile entry to have a resolution field (${l})`);let u=Sc(c.resolution,!0),g=new ot;g.load(c,{yamlCompatibilityMode:!0});let f=g.version,h=g.languageName||t,p=c.linkType.toUpperCase(),C=(i=c.conditions)!=null?i:null,y=g.dependencies,B=g.peerDependencies,v=g.dependenciesMeta,D=g.peerDependenciesMeta,L=g.bin;if(c.checksum!=null){let j=typeof a<"u"&&!c.checksum.includes("/")?`${a}/${c.checksum}`:c.checksum;this.storedChecksums.set(u.locatorHash,j)}let H={...u,version:f,languageName:h,linkType:p,conditions:C,dependencies:y,peerDependencies:B,dependenciesMeta:v,peerDependenciesMeta:D,bin:L};this.originalPackages.set(H.locatorHash,H);for(let j of l.split(TMe)){let $=JA(j);this.storedDescriptors.set($.descriptorHash,$),this.storedResolutions.set($.descriptorHash,u.locatorHash)}}}}}async setupWorkspaces(){this.workspaces=[],this.workspacesByCwd=new Map,this.workspacesByIdent=new Map;let e=[this.cwd];for(;e.length>0;){let t=e;e=[];for(let i of t){if(this.workspacesByCwd.has(i))continue;let n=await this.addWorkspace(i),s=this.storedPackages.get(n.anchoredLocator.locatorHash);s&&(n.dependencies=s.dependencies);for(let o of n.workspacesCwds)e.push(o)}}}async addWorkspace(e){let t=new wh(e,{project:this});await t.setup();let i=this.workspacesByIdent.get(t.locator.identHash);if(typeof i<"u")throw new Error(`Duplicate workspace name ${Ai(this.configuration,t.locator)}: ${K.fromPortablePath(e)} conflicts with ${K.fromPortablePath(i.cwd)}`);return this.workspaces.push(t),this.workspacesByCwd.set(e,t),this.workspacesByIdent.set(t.locator.identHash,t),t}get topLevelWorkspace(){return this.getWorkspaceByCwd(this.cwd)}tryWorkspaceByCwd(e){x.isAbsolute(e)||(e=x.resolve(this.cwd,e)),e=x.normalize(e).replace(/\/+$/,"");let t=this.workspacesByCwd.get(e);return t||null}getWorkspaceByCwd(e){let t=this.tryWorkspaceByCwd(e);if(!t)throw new Error(`Workspace not found (${e})`);return t}tryWorkspaceByFilePath(e){let t=null;for(let i of this.workspaces)x.relative(i.cwd,e).startsWith("../")||t&&t.cwd.length>=i.cwd.length||(t=i);return t||null}getWorkspaceByFilePath(e){let t=this.tryWorkspaceByFilePath(e);if(!t)throw new Error(`Workspace not found (${e})`);return t}tryWorkspaceByIdent(e){let t=this.workspacesByIdent.get(e.identHash);return typeof t>"u"?null:t}getWorkspaceByIdent(e){let t=this.tryWorkspaceByIdent(e);if(!t)throw new Error(`Workspace not found (${Ai(this.configuration,e)})`);return t}tryWorkspaceByDescriptor(e){let t=this.tryWorkspaceByIdent(e);return t===null||(qA(e)&&(e=tC(e)),!t.accepts(e.range))?null:t}getWorkspaceByDescriptor(e){let t=this.tryWorkspaceByDescriptor(e);if(t===null)throw new Error(`Workspace not found (${tr(this.configuration,e)})`);return t}tryWorkspaceByLocator(e){let t=this.tryWorkspaceByIdent(e);return t===null||(jo(e)&&(e=rC(e)),t.locator.locatorHash!==e.locatorHash&&t.anchoredLocator.locatorHash!==e.locatorHash)?null:t}getWorkspaceByLocator(e){let t=this.tryWorkspaceByLocator(e);if(!t)throw new Error(`Workspace not found (${mt(this.configuration,e)})`);return t}refreshWorkspaceDependencies(){for(let e of this.workspaces){let t=this.storedPackages.get(e.anchoredLocator.locatorHash);if(!t)throw new Error(`Assertion failed: Expected workspace ${aC(this.configuration,e)} (${$e(this.configuration,x.join(e.cwd,xt.manifest),Ue.PATH)}) to have been resolved. Run "yarn install" to update the lockfile`);e.dependencies=new Map(t.dependencies)}}forgetResolution(e){let t=n=>{this.storedResolutions.delete(n),this.storedDescriptors.delete(n)},i=n=>{this.originalPackages.delete(n),this.storedPackages.delete(n),this.accessibleLocators.delete(n)};if("descriptorHash"in e){let n=this.storedResolutions.get(e.descriptorHash);t(e.descriptorHash);let s=new Set(this.storedResolutions.values());typeof n<"u"&&!s.has(n)&&i(n)}if("locatorHash"in e){i(e.locatorHash);for(let[n,s]of this.storedResolutions)s===e.locatorHash&&t(n)}}forgetTransientResolutions(){let e=this.configuration.makeResolver();for(let t of this.originalPackages.values()){let i;try{i=e.shouldPersistResolution(t,{project:this,resolver:e})}catch{i=!1}i||this.forgetResolution(t)}}forgetVirtualResolutions(){for(let e of this.storedPackages.values())for(let[t,i]of e.dependencies)qA(i)&&e.dependencies.set(t,tC(i))}getDependencyMeta(e,t){let i={},s=this.topLevelWorkspace.manifest.dependenciesMeta.get(Ot(e));if(!s)return i;let o=s.get(null);if(o&&Object.assign(i,o),t===null||!P$.default.valid(t))return i;for(let[a,l]of s)a!==null&&a===t&&Object.assign(i,l);return i}async findLocatorForLocation(e,{strict:t=!1}={}){let i=new ti,n=this.configuration.getLinkers(),s={project:this,report:i};for(let o of n){let a=await o.findPackageLocator(e,s);if(a){if(t&&(await o.findPackageLocation(a,s)).replace(S$,"")!==e.replace(S$,""))continue;return a}}return null}async resolveEverything(e){if(!this.workspacesByCwd||!this.workspacesByIdent)throw new Error("Workspaces must have been setup before calling this function");this.forgetVirtualResolutions(),e.lockfileOnly||this.forgetTransientResolutions();let t=e.resolver||this.configuration.makeResolver(),i=new Y0(t);await i.setup(this,{report:e.report});let n=e.lockfileOnly?[new q0(t)]:[i,t],s=new xf([new j0(t),...n]),o=this.configuration.makeFetcher(),a=e.lockfileOnly?{project:this,report:e.report,resolver:s}:{project:this,report:e.report,resolver:s,fetchOptions:{project:this,cache:e.cache,checksums:this.storedChecksums,report:e.report,fetcher:o,cacheOptions:{mirrorWriteOnly:!0}}},l=new Map,c=new Map,u=new Map,g=new Map,f=new Map,h=new Map,p=this.topLevelWorkspace.anchoredLocator,C=new Set,y=[],B=$D(),v=this.configuration.getSupportedArchitectures();await e.report.startProgressPromise(vi.progressViaTitle(),async W=>{let _=async O=>{let F=await ff(async()=>await s.resolve(O,a),ke=>`${mt(this.configuration,O)}: ${ke}`);if(!nC(O,F))throw new Error(`Assertion failed: The locator cannot be changed by the resolver (went from ${mt(this.configuration,O)} to ${mt(this.configuration,F)})`);g.set(F.locatorHash,F);let ue=this.configuration.normalizePackage(F);for(let[ke,Fe]of ue.dependencies){let Ne=await this.configuration.reduceHook(le=>le.reduceDependency,Fe,this,ue,Fe,{resolver:s,resolveOptions:a});if(!iC(Fe,Ne))throw new Error("Assertion failed: The descriptor ident cannot be changed through aliases");let oe=s.bindDescriptor(Ne,O,a);ue.dependencies.set(ke,oe)}let he=to([...ue.dependencies.values()].map(ke=>re(ke)));return y.push(he),he.catch(()=>{}),c.set(ue.locatorHash,ue),ue},A=async O=>{let F=f.get(O.locatorHash);if(typeof F<"u")return F;let ue=Promise.resolve().then(()=>_(O));return f.set(O.locatorHash,ue),ue},ae=async(O,F)=>{let ue=await re(F);return l.set(O.descriptorHash,O),u.set(O.descriptorHash,ue.locatorHash),ue},ge=async O=>{W.setTitle(tr(this.configuration,O));let F=this.resolutionAliases.get(O.descriptorHash);if(typeof F<"u")return ae(O,this.storedDescriptors.get(F));let ue=s.getResolutionDependencies(O,a),he=new Map(await to(ue.map(async Ne=>{let oe=s.bindDescriptor(Ne,p,a),le=await re(oe);return C.add(le.locatorHash),[Ne.descriptorHash,le]}))),Fe=(await ff(async()=>await s.getCandidates(O,he,a),Ne=>`${tr(this.configuration,O)}: ${Ne}`))[0];if(typeof Fe>"u")throw new Error(`${tr(this.configuration,O)}: No candidates found`);return l.set(O.descriptorHash,O),u.set(O.descriptorHash,Fe.locatorHash),A(Fe)},re=O=>{let F=h.get(O.descriptorHash);if(typeof F<"u")return F;l.set(O.descriptorHash,O);let ue=Promise.resolve().then(()=>ge(O));return h.set(O.descriptorHash,ue),ue};for(let O of this.workspaces){let F=O.anchoredDescriptor;y.push(re(F))}for(;y.length>0;){let O=[...y];y.length=0,await to(O)}});let D=new Set(this.resolutionAliases.values()),L=new Set(c.keys()),H=new Set,j=new Map;UMe({project:this,report:e.report,accessibleLocators:H,volatileDescriptors:D,optionalBuilds:L,peerRequirements:j,allDescriptors:l,allResolutions:u,allPackages:c});for(let W of C)L.delete(W);for(let W of D)l.delete(W),u.delete(W);let $=new Set,V=new Set;for(let W of c.values())W.conditions!=null&&(!L.has(W.locatorHash)||(vw(W,v)||(vw(W,B)&&e.report.reportWarningOnce(77,`${mt(this.configuration,W)}: Your current architecture (${process.platform}-${process.arch}) is supported by this package, but is missing from the ${$e(this.configuration,"supportedArchitectures",xi.SETTING)} setting`),V.add(W.locatorHash)),$.add(W.locatorHash)));this.storedResolutions=u,this.storedDescriptors=l,this.storedPackages=c,this.accessibleLocators=H,this.conditionalLocators=$,this.disabledLocators=V,this.originalPackages=g,this.optionalBuilds=L,this.peerRequirements=j,this.refreshWorkspaceDependencies()}async fetchEverything({cache:e,report:t,fetcher:i,mode:n}){let s={mockedPackages:this.disabledLocators,unstablePackages:this.conditionalLocators},o=i||this.configuration.makeFetcher(),a={checksums:this.storedChecksums,project:this,cache:e,fetcher:o,report:t,cacheOptions:s},l=Array.from(new Set(wn(this.storedResolutions.values(),[f=>{let h=this.storedPackages.get(f);if(!h)throw new Error("Assertion failed: The locator should have been registered");return Cs(h)}])));n==="update-lockfile"&&(l=l.filter(f=>!this.storedChecksums.has(f)));let c=!1,u=vi.progressViaCounter(l.length);await t.reportProgress(u);let g=(0,x$.default)(OMe);if(await t.startCacheReport(async()=>{await to(l.map(f=>g(async()=>{let h=this.storedPackages.get(f);if(!h)throw new Error("Assertion failed: The locator should have been registered");if(jo(h))return;let p;try{p=await o.fetch(h,a)}catch(C){C.message=`${mt(this.configuration,h)}: ${C.message}`,t.reportExceptionOnce(C),c=C;return}p.checksum!=null?this.storedChecksums.set(h.locatorHash,p.checksum):this.storedChecksums.delete(h.locatorHash),p.releaseFs&&p.releaseFs()}).finally(()=>{u.tick()})))}),c)throw c}async linkEverything({cache:e,report:t,fetcher:i,mode:n}){var ae,ge,re;let s={mockedPackages:this.disabledLocators,unstablePackages:this.conditionalLocators,skipIntegrityCheck:!0},o=i||this.configuration.makeFetcher(),a={checksums:this.storedChecksums,project:this,cache:e,fetcher:o,report:t,skipIntegrityCheck:!0,cacheOptions:s},l=this.configuration.getLinkers(),c={project:this,report:t},u=new Map(l.map(O=>{let F=O.makeInstaller(c),ue=F.getCustomDataKey(),he=this.installersCustomData.get(ue);return typeof he<"u"&&F.attachCustomData(he),[O,F]})),g=new Map,f=new Map,h=new Map,p=new Map(await to([...this.accessibleLocators].map(async O=>{let F=this.storedPackages.get(O);if(!F)throw new Error("Assertion failed: The locator should have been registered");return[O,await o.fetch(F,a)]}))),C=[];for(let O of this.accessibleLocators){let F=this.storedPackages.get(O);if(typeof F>"u")throw new Error("Assertion failed: The locator should have been registered");let ue=p.get(F.locatorHash);if(typeof ue>"u")throw new Error("Assertion failed: The fetch result should have been registered");let he=[],ke=Ne=>{he.push(Ne)},Fe=this.tryWorkspaceByLocator(F);if(Fe!==null){let Ne=[],{scripts:oe}=Fe.manifest;for(let we of["preinstall","install","postinstall"])oe.has(we)&&Ne.push([0,we]);try{for(let[we,fe]of u)if(we.supportsPackage(F,c)&&(await fe.installPackage(F,ue,{holdFetchResult:ke})).buildDirective!==null)throw new Error("Assertion failed: Linkers can't return build directives for workspaces; this responsibility befalls to the Yarn core")}finally{he.length===0?(ae=ue.releaseFs)==null||ae.call(ue):C.push(to(he).catch(()=>{}).then(()=>{var we;(we=ue.releaseFs)==null||we.call(ue)}))}let le=x.join(ue.packageFs.getRealPath(),ue.prefixPath);f.set(F.locatorHash,le),!jo(F)&&Ne.length>0&&h.set(F.locatorHash,{directives:Ne,buildLocations:[le]})}else{let Ne=l.find(we=>we.supportsPackage(F,c));if(!Ne)throw new at(12,`${mt(this.configuration,F)} isn't supported by any available linker`);let oe=u.get(Ne);if(!oe)throw new Error("Assertion failed: The installer should have been registered");let le;try{le=await oe.installPackage(F,ue,{holdFetchResult:ke})}finally{he.length===0?(ge=ue.releaseFs)==null||ge.call(ue):C.push(to(he).then(()=>{}).then(()=>{var we;(we=ue.releaseFs)==null||we.call(ue)}))}g.set(F.locatorHash,Ne),f.set(F.locatorHash,le.packageLocation),le.buildDirective&&le.buildDirective.length>0&&le.packageLocation&&h.set(F.locatorHash,{directives:le.buildDirective,buildLocations:[le.packageLocation]})}}let y=new Map;for(let O of this.accessibleLocators){let F=this.storedPackages.get(O);if(!F)throw new Error("Assertion failed: The locator should have been registered");let ue=this.tryWorkspaceByLocator(F)!==null,he=async(ke,Fe)=>{let Ne=f.get(F.locatorHash);if(typeof Ne>"u")throw new Error(`Assertion failed: The package (${mt(this.configuration,F)}) should have been registered`);let oe=[];for(let le of F.dependencies.values()){let we=this.storedResolutions.get(le.descriptorHash);if(typeof we>"u")throw new Error(`Assertion failed: The resolution (${tr(this.configuration,le)}, from ${mt(this.configuration,F)})should have been registered`);let fe=this.storedPackages.get(we);if(typeof fe>"u")throw new Error(`Assertion failed: The package (${we}, resolved from ${tr(this.configuration,le)}) should have been registered`);let Ae=this.tryWorkspaceByLocator(fe)===null?g.get(we):null;if(typeof Ae>"u")throw new Error(`Assertion failed: The package (${we}, resolved from ${tr(this.configuration,le)}) should have been registered`);Ae===ke||Ae===null?f.get(fe.locatorHash)!==null&&oe.push([le,fe]):!ue&&Ne!==null&&uf(y,we).push(Ne)}Ne!==null&&await Fe.attachInternalDependencies(F,oe)};if(ue)for(let[ke,Fe]of u)ke.supportsPackage(F,c)&&await he(ke,Fe);else{let ke=g.get(F.locatorHash);if(!ke)throw new Error("Assertion failed: The linker should have been found");let Fe=u.get(ke);if(!Fe)throw new Error("Assertion failed: The installer should have been registered");await he(ke,Fe)}}for(let[O,F]of y){let ue=this.storedPackages.get(O);if(!ue)throw new Error("Assertion failed: The package should have been registered");let he=g.get(ue.locatorHash);if(!he)throw new Error("Assertion failed: The linker should have been found");let ke=u.get(he);if(!ke)throw new Error("Assertion failed: The installer should have been registered");await ke.attachExternalDependents(ue,F)}let B=new Map;for(let O of u.values()){let F=await O.finalizeInstall();for(let ue of(re=F==null?void 0:F.records)!=null?re:[])h.set(ue.locatorHash,{directives:ue.buildDirective,buildLocations:ue.buildLocations});typeof(F==null?void 0:F.customData)<"u"&&B.set(O.getCustomDataKey(),F.customData)}if(this.installersCustomData=B,await to(C),n==="skip-build")return;let v=new Set(this.storedPackages.keys()),D=new Set(h.keys());for(let O of D)v.delete(O);let L=(0,J0.createHash)("sha512");L.update(process.versions.node),await this.configuration.triggerHook(O=>O.globalHashGeneration,this,O=>{L.update("\0"),L.update(O)});let H=L.digest("hex"),j=new Map,$=O=>{let F=j.get(O.locatorHash);if(typeof F<"u")return F;let ue=this.storedPackages.get(O.locatorHash);if(typeof ue>"u")throw new Error("Assertion failed: The package should have been registered");let he=(0,J0.createHash)("sha512");he.update(O.locatorHash),j.set(O.locatorHash,"");for(let ke of ue.dependencies.values()){let Fe=this.storedResolutions.get(ke.descriptorHash);if(typeof Fe>"u")throw new Error(`Assertion failed: The resolution (${tr(this.configuration,ke)}) should have been registered`);let Ne=this.storedPackages.get(Fe);if(typeof Ne>"u")throw new Error("Assertion failed: The package should have been registered");he.update($(Ne))}return F=he.digest("hex"),j.set(O.locatorHash,F),F},V=(O,F)=>{let ue=(0,J0.createHash)("sha512");ue.update(H),ue.update($(O));for(let he of F)ue.update(he);return ue.digest("hex")},W=new Map,_=!1,A=O=>{let F=new Set([O.locatorHash]);for(let ue of F){let he=this.storedPackages.get(ue);if(!he)throw new Error("Assertion failed: The package should have been registered");for(let ke of he.dependencies.values()){let Fe=this.storedResolutions.get(ke.descriptorHash);if(!Fe)throw new Error(`Assertion failed: The resolution (${tr(this.configuration,ke)}) should have been registered`);if(Fe!==O.locatorHash&&D.has(Fe))return!1;let Ne=this.storedPackages.get(Fe);if(!Ne)throw new Error("Assertion failed: The package should have been registered");let oe=this.tryWorkspaceByLocator(Ne);if(oe){if(oe.anchoredLocator.locatorHash!==O.locatorHash&&D.has(oe.anchoredLocator.locatorHash))return!1;F.add(oe.anchoredLocator.locatorHash)}F.add(Fe)}}return!0};for(;D.size>0;){let O=D.size,F=[];for(let ue of D){let he=this.storedPackages.get(ue);if(!he)throw new Error("Assertion failed: The package should have been registered");if(!A(he))continue;let ke=h.get(he.locatorHash);if(!ke)throw new Error("Assertion failed: The build directive should have been registered");let Fe=V(he,ke.buildLocations);if(this.storedBuildState.get(he.locatorHash)===Fe){W.set(he.locatorHash,Fe),D.delete(ue);continue}_||(await this.persistInstallStateFile(),_=!0),this.storedBuildState.has(he.locatorHash)?t.reportInfo(8,`${mt(this.configuration,he)} must be rebuilt because its dependency tree changed`):t.reportInfo(7,`${mt(this.configuration,he)} must be built because it never has been before or the last one failed`);let Ne=ke.buildLocations.map(async oe=>{if(!x.isAbsolute(oe))throw new Error(`Assertion failed: Expected the build location to be absolute (not ${oe})`);for(let[le,we]of ke.directives){let fe=`# This file contains the result of Yarn building a package (${Cs(he)}) `;switch(le){case 0:fe+=`# Script name: ${we} `;break;case 1:fe+=`# Script code: ${we} -`;break}let Ae=null;if(!await M.mktempPromise(async ne=>{let Y=x.join(ne,"build.log"),{stdout:pe,stderr:ie}=this.configuration.getSubprocessStreams(Y,{header:fe,prefix:mt(this.configuration,he),report:t}),de;try{switch(le){case 0:de=await wB(he,we,[],{cwd:oe,project:this,stdin:Ae,stdout:pe,stderr:ie});break;case 1:de=await DR(he,we,[],{cwd:oe,project:this,stdin:Ae,stdout:pe,stderr:ie});break}}catch(Pt){ie.write(Pt.stack),de=1}if(pe.end(),ie.end(),de===0)return!0;M.detachTemp(ne);let tt=`${mt(this.configuration,he)} couldn't be built successfully (exit code ${Ze(this.configuration,de,Ue.NUMBER)}, logs can be found here: ${Ze(this.configuration,Y,Ue.PATH)})`;return this.optionalBuilds.has(he.locatorHash)?(t.reportInfo(9,tt),!0):(t.reportError(9,tt),!1)}))return!1}return!0});F.push(...Ne,Promise.allSettled(Ne).then(oe=>{D.delete(ue),oe.every(le=>le.status==="fulfilled"&&le.value===!0)&&W.set(he.locatorHash,Fe)}))}if(await $s(F),O===D.size){let ue=Array.from(D).map(he=>{let ke=this.storedPackages.get(he);if(!ke)throw new Error("Assertion failed: The package should have been registered");return mt(this.configuration,ke)}).join(", ");t.reportError(3,`Some packages have circular dependencies that make their build order unsatisfiable - as a result they won't be built (affected packages are: ${ue})`);break}}this.storedBuildState=W}async install(e){var a,l;let t=this.configuration.get("nodeLinker");(a=ye.telemetry)==null||a.reportInstall(t),await e.report.startTimerPromise("Project validation",{skipIfEmpty:!0},async()=>{await this.configuration.triggerHook(c=>c.validateProject,this,{reportWarning:e.report.reportWarning.bind(e.report),reportError:e.report.reportError.bind(e.report)})});for(let c of this.configuration.packageExtensions.values())for(let[,u]of c)for(let g of u)g.status="inactive";let i=x.join(this.cwd,this.configuration.get("lockfileFilename")),n=null;if(e.immutable)try{n=await M.readFilePromise(i,"utf8")}catch(c){throw c.code==="ENOENT"?new at(28,"The lockfile would have been created by this install, which is explicitly forbidden."):c}await e.report.startTimerPromise("Resolution step",async()=>{await this.resolveEverything(e)}),await e.report.startTimerPromise("Post-resolution validation",{skipIfEmpty:!0},async()=>{for(let[,c]of this.configuration.packageExtensions)for(let[,u]of c)for(let g of u)if(g.userProvided){let f=Ze(this.configuration,g,Ue.PACKAGE_EXTENSION);switch(g.status){case"inactive":e.report.reportWarning(68,`${f}: No matching package in the dependency tree; you may not need this rule anymore.`);break;case"redundant":e.report.reportWarning(69,`${f}: This rule seems redundant when applied on the original package; the extension may have been applied upstream.`);break}}if(n!==null){let c=Tl(n,this.generateLockfile());if(c!==n){let u=RX(i,i,n,c,void 0,void 0,{maxEditLength:100});if(u){e.report.reportSeparator();for(let g of u.hunks){e.report.reportInfo(null,`@@ -${g.oldStart},${g.oldLines} +${g.newStart},${g.newLines} @@`);for(let f of g.lines)f.startsWith("+")?e.report.reportError(28,Ze(this.configuration,f,Ue.ADDED)):f.startsWith("-")?e.report.reportError(28,Ze(this.configuration,f,Ue.REMOVED)):e.report.reportInfo(null,Ze(this.configuration,f,"grey"))}e.report.reportSeparator()}throw new at(28,"The lockfile would have been modified by this install, which is explicitly forbidden.")}}});for(let c of this.configuration.packageExtensions.values())for(let[,u]of c)for(let g of u)g.userProvided&&g.status==="active"&&((l=ye.telemetry)==null||l.reportPackageExtension(cc(g,Ue.PACKAGE_EXTENSION)));await e.report.startTimerPromise("Fetch step",async()=>{await this.fetchEverything(e),(typeof e.persistProject>"u"||e.persistProject)&&e.mode!=="update-lockfile"&&await this.cacheCleanup(e)});let s=e.immutable?[...new Set(this.configuration.get("immutablePatterns"))].sort():[],o=await Promise.all(s.map(async c=>gw(c,{cwd:this.cwd})));(typeof e.persistProject>"u"||e.persistProject)&&await this.persist(),await e.report.startTimerPromise("Link step",async()=>{if(e.mode==="update-lockfile"){e.report.reportWarning(73,`Skipped due to ${Ze(this.configuration,"mode=update-lockfile",Ue.CODE)}`);return}await this.linkEverything(e);let c=await Promise.all(s.map(async u=>gw(u,{cwd:this.cwd})));for(let u=0;uc.afterAllInstalled,this,e)}generateLockfile(){let e=new Map;for(let[n,s]of this.storedResolutions.entries()){let o=e.get(s);o||e.set(s,o=new Set),o.add(n)}let t={};t.__metadata={version:UZ,cacheKey:void 0};for(let[n,s]of e.entries()){let o=this.originalPackages.get(n);if(!o)continue;let a=[];for(let f of s){let h=this.storedDescriptors.get(f);if(!h)throw new Error("Assertion failed: The descriptor should have been registered");a.push(h)}let l=a.map(f=>Qn(f)).sort().join(", "),c=new ot;c.version=o.linkType==="HARD"?o.version:"0.0.0-use.local",c.languageName=o.languageName,c.dependencies=new Map(o.dependencies),c.peerDependencies=new Map(o.peerDependencies),c.dependenciesMeta=new Map(o.dependenciesMeta),c.peerDependenciesMeta=new Map(o.peerDependenciesMeta),c.bin=new Map(o.bin);let u,g=this.storedChecksums.get(o.locatorHash);if(typeof g<"u"){let f=g.indexOf("/");if(f===-1)throw new Error("Assertion failed: Expected the checksum to reference its cache key");let h=g.slice(0,f),p=g.slice(f+1);typeof t.__metadata.cacheKey>"u"&&(t.__metadata.cacheKey=h),h===t.__metadata.cacheKey?u=p:u=g}t[l]={...c.exportTo({},{compatibilityMode:!1}),linkType:o.linkType.toLowerCase(),resolution:hs(o),checksum:u,conditions:o.conditions||void 0}}return`${[`# This file is generated by running "yarn install" inside your project. +`;break}let Ae=null;if(!await M.mktempPromise(async ne=>{let Y=x.join(ne,"build.log"),{stdout:pe,stderr:ie}=this.configuration.getSubprocessStreams(Y,{header:fe,prefix:mt(this.configuration,he),report:t}),de;try{switch(le){case 0:de=await kB(he,we,[],{cwd:oe,project:this,stdin:Ae,stdout:pe,stderr:ie});break;case 1:de=await JR(he,we,[],{cwd:oe,project:this,stdin:Ae,stdout:pe,stderr:ie});break}}catch(Pt){ie.write(Pt.stack),de=1}if(pe.end(),ie.end(),de===0)return!0;M.detachTemp(ne);let _e=`${mt(this.configuration,he)} couldn't be built successfully (exit code ${$e(this.configuration,de,Ue.NUMBER)}, logs can be found here: ${$e(this.configuration,Y,Ue.PATH)})`;return this.optionalBuilds.has(he.locatorHash)?(t.reportInfo(9,_e),!0):(t.reportError(9,_e),!1)}))return!1}return!0});F.push(...Ne,Promise.allSettled(Ne).then(oe=>{D.delete(ue),oe.every(le=>le.status==="fulfilled"&&le.value===!0)&&W.set(he.locatorHash,Fe)}))}if(await to(F),O===D.size){let ue=Array.from(D).map(he=>{let ke=this.storedPackages.get(he);if(!ke)throw new Error("Assertion failed: The package should have been registered");return mt(this.configuration,ke)}).join(", ");t.reportError(3,`Some packages have circular dependencies that make their build order unsatisfiable - as a result they won't be built (affected packages are: ${ue})`);break}}this.storedBuildState=W}async install(e){var a,l;let t=this.configuration.get("nodeLinker");(a=ye.telemetry)==null||a.reportInstall(t),await e.report.startTimerPromise("Project validation",{skipIfEmpty:!0},async()=>{await this.configuration.triggerHook(c=>c.validateProject,this,{reportWarning:e.report.reportWarning.bind(e.report),reportError:e.report.reportError.bind(e.report)})});for(let c of this.configuration.packageExtensions.values())for(let[,u]of c)for(let g of u)g.status="inactive";let i=x.join(this.cwd,this.configuration.get("lockfileFilename")),n=null;if(e.immutable)try{n=await M.readFilePromise(i,"utf8")}catch(c){throw c.code==="ENOENT"?new at(28,"The lockfile would have been created by this install, which is explicitly forbidden."):c}await e.report.startTimerPromise("Resolution step",async()=>{await this.resolveEverything(e)}),await e.report.startTimerPromise("Post-resolution validation",{skipIfEmpty:!0},async()=>{for(let[,c]of this.configuration.packageExtensions)for(let[,u]of c)for(let g of u)if(g.userProvided){let f=$e(this.configuration,g,Ue.PACKAGE_EXTENSION);switch(g.status){case"inactive":e.report.reportWarning(68,`${f}: No matching package in the dependency tree; you may not need this rule anymore.`);break;case"redundant":e.report.reportWarning(69,`${f}: This rule seems redundant when applied on the original package; the extension may have been applied upstream.`);break}}if(n!==null){let c=ql(n,this.generateLockfile());if(c!==n){let u=CZ(i,i,n,c,void 0,void 0,{maxEditLength:100});if(u){e.report.reportSeparator();for(let g of u.hunks){e.report.reportInfo(null,`@@ -${g.oldStart},${g.oldLines} +${g.newStart},${g.newLines} @@`);for(let f of g.lines)f.startsWith("+")?e.report.reportError(28,$e(this.configuration,f,Ue.ADDED)):f.startsWith("-")?e.report.reportError(28,$e(this.configuration,f,Ue.REMOVED)):e.report.reportInfo(null,$e(this.configuration,f,"grey"))}e.report.reportSeparator()}throw new at(28,"The lockfile would have been modified by this install, which is explicitly forbidden.")}}});for(let c of this.configuration.packageExtensions.values())for(let[,u]of c)for(let g of u)g.userProvided&&g.status==="active"&&((l=ye.telemetry)==null||l.reportPackageExtension(Ec(g,Ue.PACKAGE_EXTENSION)));await e.report.startTimerPromise("Fetch step",async()=>{await this.fetchEverything(e),(typeof e.persistProject>"u"||e.persistProject)&&e.mode!=="update-lockfile"&&await this.cacheCleanup(e)});let s=e.immutable?[...new Set(this.configuration.get("immutablePatterns"))].sort():[],o=await Promise.all(s.map(async c=>yw(c,{cwd:this.cwd})));(typeof e.persistProject>"u"||e.persistProject)&&await this.persist(),await e.report.startTimerPromise("Link step",async()=>{if(e.mode==="update-lockfile"){e.report.reportWarning(73,`Skipped due to ${$e(this.configuration,"mode=update-lockfile",Ue.CODE)}`);return}await this.linkEverything(e);let c=await Promise.all(s.map(async u=>yw(u,{cwd:this.cwd})));for(let u=0;uc.afterAllInstalled,this,e)}generateLockfile(){let e=new Map;for(let[n,s]of this.storedResolutions.entries()){let o=e.get(s);o||e.set(s,o=new Set),o.add(n)}let t={};t.__metadata={version:b$,cacheKey:void 0};for(let[n,s]of e.entries()){let o=this.originalPackages.get(n);if(!o)continue;let a=[];for(let f of s){let h=this.storedDescriptors.get(f);if(!h)throw new Error("Assertion failed: The descriptor should have been registered");a.push(h)}let l=a.map(f=>Qn(f)).sort().join(", "),c=new ot;c.version=o.linkType==="HARD"?o.version:"0.0.0-use.local",c.languageName=o.languageName,c.dependencies=new Map(o.dependencies),c.peerDependencies=new Map(o.peerDependencies),c.dependenciesMeta=new Map(o.dependenciesMeta),c.peerDependenciesMeta=new Map(o.peerDependenciesMeta),c.bin=new Map(o.bin);let u,g=this.storedChecksums.get(o.locatorHash);if(typeof g<"u"){let f=g.indexOf("/");if(f===-1)throw new Error("Assertion failed: Expected the checksum to reference its cache key");let h=g.slice(0,f),p=g.slice(f+1);typeof t.__metadata.cacheKey>"u"&&(t.__metadata.cacheKey=h),h===t.__metadata.cacheKey?u=p:u=g}t[l]={...c.exportTo({},{compatibilityMode:!1}),linkType:o.linkType.toLowerCase(),resolution:Cs(o),checksum:u,conditions:o.conditions||void 0}}return`${[`# This file is generated by running "yarn install" inside your project. `,`# Manual changes might be lost - proceed with caution! `].join("")} -`+Ca(t)}async persistLockfile(){let e=x.join(this.cwd,this.configuration.get("lockfileFilename")),t="";try{t=await M.readFilePromise(e,"utf8")}catch{}let i=this.generateLockfile(),n=Tl(t,i);n!==t&&(await M.writeFilePromise(e,n),this.lockFileChecksum=GZ(n),this.lockfileNeedsRefresh=!1)}async persistInstallStateFile(){let e=[];for(let o of Object.values(CN))e.push(...o);let t=(0,k0.default)(this,e),i=mN.default.serialize(t),n=Zi(i);if(this.installStateChecksum===n)return;let s=this.configuration.get("installStatePath");await M.mkdirPromise(x.dirname(s),{recursive:!0}),await M.writeFilePromise(s,await FOe(i)),this.installStateChecksum=n}async restoreInstallState({restoreInstallersCustomData:e=!0,restoreResolutions:t=!0,restoreBuildState:i=!0}={}){let n=this.configuration.get("installStatePath"),s;try{let o=await NOe(await M.readFilePromise(n));s=mN.default.deserialize(o),this.installStateChecksum=Zi(o)}catch{t&&await this.applyLightResolution();return}e&&typeof s.installersCustomData<"u"&&(this.installersCustomData=s.installersCustomData),i&&Object.assign(this,(0,k0.default)(s,CN.restoreBuildState)),t&&(s.lockFileChecksum===this.lockFileChecksum?(Object.assign(this,(0,k0.default)(s,CN.restoreResolutions)),this.refreshWorkspaceDependencies()):await this.applyLightResolution())}async applyLightResolution(){await this.resolveEverything({lockfileOnly:!0,report:new ti}),await this.persistInstallStateFile()}async persist(){await this.persistLockfile();for(let e of this.workspacesByCwd.values())await e.persistManifest()}async cacheCleanup({cache:e,report:t}){if(this.configuration.get("enableGlobalCache"))return;let i=new Set([".gitignore"]);if(!LD(e.cwd,this.cwd)||!await M.existsPromise(e.cwd))return;let n=this.configuration.get("preferAggregateCacheInfo"),s=0,o=null;for(let a of await M.readdirPromise(e.cwd)){if(i.has(a))continue;let l=x.resolve(e.cwd,a);e.markedFiles.has(l)||(o=a,e.immutable?t.reportError(56,`${Ze(this.configuration,x.basename(l),"magenta")} appears to be unused and would be marked for deletion, but the cache is immutable`):(n?s+=1:t.reportInfo(19,`${Ze(this.configuration,x.basename(l),"magenta")} appears to be unused - removing`),await M.removePromise(l)))}n&&s!==0&&t.reportInfo(19,s>1?`${s} packages appeared to be unused and were removed`:`${o} appeared to be unused and was removed`),e.markedFiles.clear()}};function LOe({project:r,allDescriptors:e,allResolutions:t,allPackages:i,accessibleLocators:n=new Set,optionalBuilds:s=new Set,peerRequirements:o=new Map,volatileDescriptors:a=new Set,report:l}){var V;let c=new Map,u=[],g=new Map,f=new Map,h=new Map,p=new Map,C=new Map,y=new Map(r.workspaces.map(W=>{let Z=W.anchoredLocator.locatorHash,A=i.get(Z);if(typeof A>"u")throw new Error("Assertion failed: The workspace should have an associated package");return[Z,qd(A)]})),B=()=>{let W=M.mktempSync(),Z=x.join(W,"stacktrace.log"),A=String(u.length+1).length,ae=u.map((ge,re)=>`${`${re+1}.`.padStart(A," ")} ${hs(ge)} -`).join("");throw M.writeFileSync(Z,ae),M.detachTemp(W),new at(45,`Encountered a stack overflow when resolving peer dependencies; cf ${K.fromPortablePath(Z)}`)},v=W=>{let Z=t.get(W.descriptorHash);if(typeof Z>"u")throw new Error("Assertion failed: The resolution should have been registered");let A=i.get(Z);if(!A)throw new Error("Assertion failed: The package could not be found");return A},D=(W,Z,A,{top:ae,optional:ge})=>{u.length>1e3&&B(),u.push(Z);let re=L(W,Z,A,{top:ae,optional:ge});return u.pop(),re},L=(W,Z,A,{top:ae,optional:ge})=>{if(n.has(Z.locatorHash))return;n.add(Z.locatorHash),ge||s.delete(Z.locatorHash);let re=i.get(Z.locatorHash);if(!re)throw new Error(`Assertion failed: The package (${mt(r.configuration,Z)}) should have been registered`);let O=[],F=[],ue=[],he=[],ke=[];for(let Ne of Array.from(re.dependencies.values())){if(re.peerDependencies.has(Ne.identHash)&&re.locatorHash!==ae)continue;if(OA(Ne))throw new Error("Assertion failed: Virtual packages shouldn't be encountered when virtualizing a branch");a.delete(Ne.descriptorHash);let oe=ge;if(!oe){let Y=re.dependenciesMeta.get(Ot(Ne));if(typeof Y<"u"){let pe=Y.get(null);typeof pe<"u"&&pe.optional&&(oe=!0)}}let le=t.get(Ne.descriptorHash);if(!le)throw new Error(`Assertion failed: The resolution (${tr(r.configuration,Ne)}) should have been registered`);let we=y.get(le)||i.get(le);if(!we)throw new Error(`Assertion failed: The package (${le}, resolved from ${tr(r.configuration,Ne)}) should have been registered`);if(we.peerDependencies.size===0){D(Ne,we,new Map,{top:ae,optional:oe});continue}let fe,Ae,qe=new Set,ne;F.push(()=>{fe=SD(Ne,Z.locatorHash),Ae=vD(we,Z.locatorHash),re.dependencies.delete(Ne.identHash),re.dependencies.set(fe.identHash,fe),t.set(fe.descriptorHash,Ae.locatorHash),e.set(fe.descriptorHash,fe),i.set(Ae.locatorHash,Ae),O.push([we,fe,Ae])}),ue.push(()=>{var Y;ne=new Map;for(let pe of Ae.peerDependencies.values()){let ie=re.dependencies.get(pe.identHash);if(!ie&&zd(Z,pe)&&(W.identHash===Z.identHash?ie=W:(ie=Zt(Z,W.range),e.set(ie.descriptorHash,ie),t.set(ie.descriptorHash,Z.locatorHash),a.delete(ie.descriptorHash))),(!ie||ie.range==="missing:")&&Ae.dependencies.has(pe.identHash)){Ae.peerDependencies.delete(pe.identHash);continue}ie||(ie=Zt(pe,"missing:")),Ae.dependencies.set(ie.identHash,ie),OA(ie)&&lc(h,ie.descriptorHash).add(Ae.locatorHash),g.set(ie.identHash,ie),ie.range==="missing:"&&qe.add(ie.identHash),ne.set(pe.identHash,(Y=A.get(pe.identHash))!=null?Y:Ae.locatorHash)}Ae.dependencies=new Map(wn(Ae.dependencies,([pe,ie])=>Ot(ie)))}),he.push(()=>{if(!i.has(Ae.locatorHash))return;let Y=c.get(we.locatorHash);typeof Y=="number"&&Y>=2&&B();let pe=c.get(we.locatorHash),ie=typeof pe<"u"?pe+1:1;c.set(we.locatorHash,ie),D(fe,Ae,ne,{top:ae,optional:oe}),c.set(we.locatorHash,ie-1)}),ke.push(()=>{let Y=re.dependencies.get(Ne.identHash);if(typeof Y>"u")throw new Error("Assertion failed: Expected the peer dependency to have been turned into a dependency");let pe=t.get(Y.descriptorHash);if(typeof pe>"u")throw new Error("Assertion failed: Expected the descriptor to be registered");if(lc(C,pe).add(Z.locatorHash),!!i.has(Ae.locatorHash)){for(let ie of Ae.peerDependencies.values()){let de=ne.get(ie.identHash);if(typeof de>"u")throw new Error("Assertion failed: Expected the peer dependency ident to be registered");nf(sf(p,de),Ot(ie)).push(Ae.locatorHash)}for(let ie of qe)Ae.dependencies.delete(ie)}})}for(let Ne of[...F,...ue])Ne();let Fe;do{Fe=!0;for(let[Ne,oe,le]of O){let we=sf(f,Ne.locatorHash),fe=Zi(...[...le.dependencies.values()].map(Y=>{let pe=Y.range!=="missing:"?t.get(Y.descriptorHash):"missing:";if(typeof pe>"u")throw new Error(`Assertion failed: Expected the resolution for ${tr(r.configuration,Y)} to have been registered`);return pe===ae?`${pe} (top)`:pe}),oe.identHash),Ae=we.get(fe);if(typeof Ae>"u"){we.set(fe,oe);continue}if(Ae===oe)continue;i.delete(le.locatorHash),e.delete(oe.descriptorHash),t.delete(oe.descriptorHash),n.delete(le.locatorHash);let qe=h.get(oe.descriptorHash)||[],ne=[re.locatorHash,...qe];h.delete(oe.descriptorHash);for(let Y of ne){let pe=i.get(Y);typeof pe>"u"||(pe.dependencies.get(oe.identHash).descriptorHash!==Ae.descriptorHash&&(Fe=!1),pe.dependencies.set(oe.identHash,Ae))}}}while(!Fe);for(let Ne of[...he,...ke])Ne()};for(let W of r.workspaces){let Z=W.anchoredLocator;a.delete(W.anchoredDescriptor.descriptorHash),D(W.anchoredDescriptor,Z,new Map,{top:Z.locatorHash,optional:!1})}let H;(A=>(A[A.NotProvided=0]="NotProvided",A[A.NotCompatible=1]="NotCompatible"))(H||(H={}));let j=[];for(let[W,Z]of C){let A=i.get(W);if(typeof A>"u")throw new Error("Assertion failed: Expected the root to be registered");let ae=p.get(W);if(!(typeof ae>"u"))for(let ge of Z){let re=i.get(ge);if(!(typeof re>"u"))for(let[O,F]of ae){let ue=_i(O);if(re.peerDependencies.has(ue.identHash))continue;let he=`p${Zi(ge,O,W).slice(0,5)}`;o.set(he,{subject:ge,requested:ue,rootRequester:W,allRequesters:F});let ke=A.dependencies.get(ue.identHash);if(typeof ke<"u"){let Fe=v(ke),Ne=(V=Fe.version)!=null?V:"0.0.0",oe=new Set;for(let we of F){let fe=i.get(we);if(typeof fe>"u")throw new Error("Assertion failed: Expected the link to be registered");let Ae=fe.peerDependencies.get(ue.identHash);if(typeof Ae>"u")throw new Error("Assertion failed: Expected the ident to be registered");oe.add(Ae.range)}[...oe].every(we=>{if(we.startsWith(jr.protocol)){if(!r.tryWorkspaceByLocator(Fe))return!1;we=we.slice(jr.protocol.length),(we==="^"||we==="~")&&(we="*")}return mc(Ne,we)})||j.push({type:1,subject:re,requested:ue,requester:A,version:Ne,hash:he,requirementCount:F.length})}else{let Fe=A.peerDependenciesMeta.get(O);Fe!=null&&Fe.optional||j.push({type:0,subject:re,requested:ue,requester:A,hash:he})}}}}let $=[W=>xD(W.subject),W=>Ot(W.requested),W=>`${W.type}`];l==null||l.startSectionSync({reportFooter:()=>{l.reportWarning(0,`Some peer dependencies are incorrectly met; run ${Ze(r.configuration,"yarn explain peer-requirements ",Ue.CODE)} for details, where ${Ze(r.configuration,"",Ue.CODE)} is the six-letter p-prefixed code`)},skipIfEmpty:!0},()=>{for(let W of wn(j,$))switch(W.type){case 0:l.reportWarning(2,`${mt(r.configuration,W.subject)} doesn't provide ${Ai(r.configuration,W.requested)} (${Ze(r.configuration,W.hash,Ue.CODE)}), requested by ${Ai(r.configuration,W.requester)}`);break;case 1:{let Z=W.requirementCount>1?"and some of its descendants request":"requests";l.reportWarning(60,`${mt(r.configuration,W.subject)} provides ${Ai(r.configuration,W.requested)} (${Ze(r.configuration,W.hash,Ue.CODE)}) with version ${_d(r.configuration,W.version)}, which doesn't satisfy what ${Ai(r.configuration,W.requester)} ${Z}`)}break}})}var hh=class{constructor(e,t){this.values=new Map;this.hits=new Map;this.enumerators=new Map;this.configuration=e;let i=this.getRegistryPath();this.isNew=!M.existsSync(i),this.sendReport(t),this.startBuffer()}reportVersion(e){this.reportValue("version",e.replace(/-git\..*/,"-git"))}reportCommandName(e){this.reportValue("commandName",e||"")}reportPluginName(e){this.reportValue("pluginName",e)}reportProject(e){this.reportEnumerator("projectCount",e)}reportInstall(e){this.reportHit("installCount",e)}reportPackageExtension(e){this.reportValue("packageExtension",e)}reportWorkspaceCount(e){this.reportValue("workspaceCount",String(e))}reportDependencyCount(e){this.reportValue("dependencyCount",String(e))}reportValue(e,t){lc(this.values,e).add(t)}reportEnumerator(e,t){lc(this.enumerators,e).add(Zi(t))}reportHit(e,t="*"){let i=sf(this.hits,e),n=xa(i,t,()=>0);i.set(t,n+1)}getRegistryPath(){let e=this.configuration.get("globalFolder");return x.join(e,"telemetry.json")}sendReport(e){var u,g,f;let t=this.getRegistryPath(),i;try{i=M.readJsonSync(t)}catch{i={}}let n=Date.now(),s=this.configuration.get("telemetryInterval")*24*60*60*1e3,a=((u=i.lastUpdate)!=null?u:n+s+Math.floor(s*Math.random()))+s;if(a>n&&i.lastUpdate!=null)return;try{M.mkdirSync(x.dirname(t),{recursive:!0}),M.writeJsonSync(t,{lastUpdate:n})}catch{return}if(a>n||!i.blocks)return;let l=`https://browser-http-intake.logs.datadoghq.eu/v1/input/${e}?ddsource=yarn`,c=h=>pR(l,h,{configuration:this.configuration}).catch(()=>{});for(let[h,p]of Object.entries((g=i.blocks)!=null?g:{})){if(Object.keys(p).length===0)continue;let C=p;C.userId=h,C.reportType="primary";for(let v of Object.keys((f=C.enumerators)!=null?f:{}))C.enumerators[v]=C.enumerators[v].length;c(C);let y=new Map,B=20;for(let[v,D]of Object.entries(C.values))D.length>0&&y.set(v,D.slice(0,B));for(;y.size>0;){let v={};v.userId=h,v.reportType="secondary",v.metrics={};for(let[D,L]of y)v.metrics[D]=L.shift(),L.length===0&&y.delete(D);c(v)}}}applyChanges(){var o,a,l,c,u,g,f,h,p;let e=this.getRegistryPath(),t;try{t=M.readJsonSync(e)}catch{t={}}let i=(o=this.configuration.get("telemetryUserId"))!=null?o:"*",n=t.blocks=(a=t.blocks)!=null?a:{},s=n[i]=(l=n[i])!=null?l:{};for(let C of this.hits.keys()){let y=s.hits=(c=s.hits)!=null?c:{},B=y[C]=(u=y[C])!=null?u:{};for(let[v,D]of this.hits.get(C))B[v]=((g=B[v])!=null?g:0)+D}for(let C of["values","enumerators"])for(let y of this[C].keys()){let B=s[C]=(f=s[C])!=null?f:{};B[y]=[...new Set([...(h=B[y])!=null?h:[],...(p=this[C].get(y))!=null?p:[]])]}M.mkdirSync(x.dirname(e),{recursive:!0}),M.writeJsonSync(e,t)}startBuffer(){process.on("exit",()=>{try{this.applyChanges()}catch{}})}};var yN=J("child_process"),qZ=Pe(Vl());var wN=J("fs");var ph=new Map([["constraints",[["constraints","query"],["constraints","source"],["constraints"]]],["exec",[]],["interactive-tools",[["search"],["upgrade-interactive"]]],["stage",[["stage"]]],["typescript",[]],["version",[["version","apply"],["version","check"],["version"]]],["workspace-tools",[["workspaces","focus"],["workspaces","foreach"]]]]);function TOe(r){let e=K.fromPortablePath(r);process.on("SIGINT",()=>{}),e?(0,yN.execFileSync)(process.execPath,[e,...process.argv.slice(2)],{stdio:"inherit",env:{...process.env,YARN_IGNORE_PATH:"1",YARN_IGNORE_CWD:"1"}}):(0,yN.execFileSync)(e,process.argv.slice(2),{stdio:"inherit",env:{...process.env,YARN_IGNORE_PATH:"1",YARN_IGNORE_CWD:"1"}})}async function R0({binaryVersion:r,pluginConfiguration:e}){async function t(){let n=new Kn({binaryLabel:"Yarn Package Manager",binaryName:"yarn",binaryVersion:r});try{await i(n)}catch(s){process.stdout.write(n.error(s)),process.exitCode=1}}async function i(n){var C,y,B,v,D;let s=process.versions.node,o=">=12 <14 || 14.2 - 14.9 || >14.10.0";if(!Ie.parseOptionalBoolean(process.env.YARN_IGNORE_NODE)&&!vt.satisfiesWithPrereleases(s,o))throw new be(`This tool requires a Node version compatible with ${o} (got ${s}). Upgrade Node, or set \`YARN_IGNORE_NODE=1\` in your environment.`);let l=await ye.find(K.toPortablePath(process.cwd()),e,{usePath:!0,strict:!1}),c=l.get("yarnPath"),u=l.get("ignorePath"),g=l.get("ignoreCwd"),f=K.toPortablePath(K.resolve(process.argv[1])),h=L=>M.readFilePromise(L).catch(()=>Buffer.of());if(!u&&!g&&await(async()=>c===f||Buffer.compare(...await Promise.all([h(c),h(f)]))===0)()){process.env.YARN_IGNORE_PATH="1",process.env.YARN_IGNORE_CWD="1",await i(n);return}else if(c!==null&&!u)if(!M.existsSync(c))process.stdout.write(n.error(new Error(`The "yarn-path" option has been set (in ${l.sources.get("yarnPath")}), but the specified location doesn't exist (${c}).`))),process.exitCode=1;else try{TOe(c)}catch(L){process.exitCode=L.code||1}else{u&&delete process.env.YARN_IGNORE_PATH,l.get("enableTelemetry")&&!qZ.isCI&&process.stdout.isTTY&&(ye.telemetry=new hh(l,"puba9cdc10ec5790a2cf4969dd413a47270")),(C=ye.telemetry)==null||C.reportVersion(r);for(let[$,V]of l.plugins.entries()){ph.has((B=(y=$.match(/^@yarnpkg\/plugin-(.*)$/))==null?void 0:y[1])!=null?B:"")&&((v=ye.telemetry)==null||v.reportPluginName($));for(let W of V.commands||[])n.register(W)}let H=n.process(process.argv.slice(2));H.help||(D=ye.telemetry)==null||D.reportCommandName(H.path.join(" "));let j=H.cwd;if(typeof j<"u"&&!g){let $=(0,wN.realpathSync)(process.cwd()),V=(0,wN.realpathSync)(j);if($!==V){process.chdir(j),await t();return}}await n.runExit(H,{cwd:K.toPortablePath(process.cwd()),plugins:e,quiet:!1,stdin:process.stdin,stdout:process.stdout,stderr:process.stderr})}}return t().catch(n=>{process.stdout.write(n.stack||n.message),process.exitCode=1}).finally(()=>M.rmtempPromise())}function JZ(r){r.Command.Path=(...e)=>t=>{t.paths=t.paths||[],t.paths.push(e)};for(let e of["Array","Boolean","String","Proxy","Rest","Counter"])r.Command[e]=(...t)=>(i,n)=>{let s=r.Option[e](...t);Object.defineProperty(i,`__${n}`,{configurable:!1,enumerable:!0,get(){return s},set(o){this[n]=o}})};return r}var Qm={};ut(Qm,{BaseCommand:()=>De,WorkspaceRequiredError:()=>ct,getDynamicLibs:()=>sie,getPluginConfiguration:()=>rQ,main:()=>R0,openWorkspace:()=>Ph,pluginCommands:()=>ph});var De=class extends ve{constructor(){super(...arguments);this.cwd=z.String("--cwd",{hidden:!0})}};var ct=class extends be{constructor(e,t){let i=x.relative(e,t),n=x.join(e,ot.fileName);super(`This command can only be run from within a workspace of your project (${i} isn't a workspace of ${n}).`)}};var GGe=Pe(Xr());ns();var YGe=Pe(IL()),sie=()=>new Map([["@yarnpkg/cli",Qm],["@yarnpkg/core",VC],["@yarnpkg/fslib",Lp],["@yarnpkg/libzip",CC],["@yarnpkg/parsers",Yp],["@yarnpkg/shell",yC],["clipanion",$p],["semver",GGe],["typanion",gn],["yup",YGe]]);async function Ph(r,e){let{project:t,workspace:i}=await je.find(r,e);if(!i)throw new ct(t.cwd,e);return i}var m6e=Pe(Xr());ns();var E6e=Pe(IL());var GT={};ut(GT,{dedupeUtils:()=>fQ,default:()=>t3e,suggestUtils:()=>Fh});var iae=Pe(Vl());var Wne=Pe(Pm());ns();var Fh={};ut(Fh,{Modifier:()=>gT,Strategy:()=>lQ,Target:()=>Dm,WorkspaceModifier:()=>Hne,applyModifier:()=>Yne,extractDescriptorFromPath:()=>fT,extractRangeModifier:()=>Gne,fetchDescriptorFrom:()=>hT,findProjectDescriptors:()=>Jne,getModifier:()=>km,getSuggestedDescriptors:()=>Rm,makeWorkspaceDescriptor:()=>qne,toWorkspaceModifier:()=>jne});var uT=Pe(Xr()),aje="workspace:",Dm=(i=>(i.REGULAR="dependencies",i.DEVELOPMENT="devDependencies",i.PEER="peerDependencies",i))(Dm||{}),gT=(i=>(i.CARET="^",i.TILDE="~",i.EXACT="",i))(gT||{}),Hne=(i=>(i.CARET="^",i.TILDE="~",i.EXACT="*",i))(Hne||{}),lQ=(s=>(s.KEEP="keep",s.REUSE="reuse",s.PROJECT="project",s.LATEST="latest",s.CACHE="cache",s))(lQ||{});function km(r,e){return r.exact?"":r.caret?"^":r.tilde?"~":e.configuration.get("defaultSemverRangePrefix")}var Aje=/^([\^~]?)[0-9]+(?:\.[0-9]+){0,2}(?:-\S+)?$/;function Gne(r,{project:e}){let t=r.match(Aje);return t?t[1]:e.configuration.get("defaultSemverRangePrefix")}function Yne(r,e){let{protocol:t,source:i,params:n,selector:s}=P.parseRange(r.range);return uT.default.valid(s)&&(s=`${e}${r.range}`),P.makeDescriptor(r,P.makeRange({protocol:t,source:i,params:n,selector:s}))}function jne(r){switch(r){case"^":return"^";case"~":return"~";case"":return"*";default:throw new Error(`Assertion failed: Unknown modifier: "${r}"`)}}function qne(r,e){return P.makeDescriptor(r.anchoredDescriptor,`${aje}${jne(e)}`)}async function Jne(r,{project:e,target:t}){let i=new Map,n=s=>{let o=i.get(s.descriptorHash);return o||i.set(s.descriptorHash,o={descriptor:s,locators:[]}),o};for(let s of e.workspaces)if(t==="peerDependencies"){let o=s.manifest.peerDependencies.get(r.identHash);o!==void 0&&n(o).locators.push(s.anchoredLocator)}else{let o=s.manifest.dependencies.get(r.identHash),a=s.manifest.devDependencies.get(r.identHash);t==="devDependencies"?a!==void 0?n(a).locators.push(s.anchoredLocator):o!==void 0&&n(o).locators.push(s.anchoredLocator):o!==void 0?n(o).locators.push(s.anchoredLocator):a!==void 0&&n(a).locators.push(s.anchoredLocator)}return i}async function fT(r,{cwd:e,workspace:t}){return await lje(async i=>{x.isAbsolute(r)||(r=x.relative(t.cwd,x.resolve(e,r)),r.match(/^\.{0,2}\//)||(r=`./${r}`));let{project:n}=t,s=await hT(P.makeIdent(null,"archive"),r,{project:t.project,cache:i,workspace:t});if(!s)throw new Error("Assertion failed: The descriptor should have been found");let o=new ti,a=n.configuration.makeResolver(),l=n.configuration.makeFetcher(),c={checksums:n.storedChecksums,project:n,cache:i,fetcher:l,report:o,resolver:a},u=a.bindDescriptor(s,t.anchoredLocator,c),g=P.convertDescriptorToLocator(u),f=await l.fetch(g,c),h=await ot.find(f.prefixPath,{baseFs:f.packageFs});if(!h.name)throw new Error("Target path doesn't have a name");return P.makeDescriptor(h.name,r)})}async function Rm(r,{project:e,workspace:t,cache:i,target:n,modifier:s,strategies:o,maxResults:a=1/0}){if(!(a>=0))throw new Error(`Invalid maxResults (${a})`);if(r.range!=="unknown")return{suggestions:[{descriptor:r,name:`Use ${P.prettyDescriptor(e.configuration,r)}`,reason:"(unambiguous explicit request)"}],rejections:[]};let l=typeof t<"u"&&t!==null&&t.manifest[n].get(r.identHash)||null,c=[],u=[],g=async f=>{try{await f()}catch(h){u.push(h)}};for(let f of o){if(c.length>=a)break;switch(f){case"keep":await g(async()=>{l&&c.push({descriptor:l,name:`Keep ${P.prettyDescriptor(e.configuration,l)}`,reason:"(no changes)"})});break;case"reuse":await g(async()=>{for(let{descriptor:h,locators:p}of(await Jne(r,{project:e,target:n})).values()){if(p.length===1&&p[0].locatorHash===t.anchoredLocator.locatorHash&&o.includes("keep"))continue;let C=`(originally used by ${P.prettyLocator(e.configuration,p[0])}`;C+=p.length>1?` and ${p.length-1} other${p.length>2?"s":""})`:")",c.push({descriptor:h,name:`Reuse ${P.prettyDescriptor(e.configuration,h)}`,reason:C})}});break;case"cache":await g(async()=>{for(let h of e.storedDescriptors.values())h.identHash===r.identHash&&c.push({descriptor:h,name:`Reuse ${P.prettyDescriptor(e.configuration,h)}`,reason:"(already used somewhere in the lockfile)"})});break;case"project":await g(async()=>{if(t.manifest.name!==null&&r.identHash===t.manifest.name.identHash)return;let h=e.tryWorkspaceByIdent(r);if(h===null)return;let p=qne(h,s);c.push({descriptor:p,name:`Attach ${P.prettyDescriptor(e.configuration,p)}`,reason:`(local workspace at ${ee.pretty(e.configuration,h.relativeCwd,ee.Type.PATH)})`})});break;case"latest":await g(async()=>{if(r.range!=="unknown")c.push({descriptor:r,name:`Use ${P.prettyRange(e.configuration,r.range)}`,reason:"(explicit range requested)"});else if(n==="peerDependencies")c.push({descriptor:P.makeDescriptor(r,"*"),name:"Use *",reason:"(catch-all peer dependency pattern)"});else if(!e.configuration.get("enableNetwork"))c.push({descriptor:null,name:"Resolve from latest",reason:ee.pretty(e.configuration,"(unavailable because enableNetwork is toggled off)","grey")});else{let h=await hT(r,"latest",{project:e,cache:i,workspace:t,preserveModifier:!1});h&&(h=Yne(h,s),c.push({descriptor:h,name:`Use ${P.prettyDescriptor(e.configuration,h)}`,reason:"(resolved from latest)"}))}});break}}return{suggestions:c.slice(0,a),rejections:u.slice(0,a)}}async function hT(r,e,{project:t,cache:i,workspace:n,preserveModifier:s=!0}){let o=P.makeDescriptor(r,e),a=new ti,l=t.configuration.makeFetcher(),c=t.configuration.makeResolver(),u={project:t,fetcher:l,cache:i,checksums:t.storedChecksums,report:a,cacheOptions:{skipIntegrityCheck:!0},skipIntegrityCheck:!0},g={...u,resolver:c,fetchOptions:u},f=c.bindDescriptor(o,n.anchoredLocator,g),h=await c.getCandidates(f,new Map,g);if(h.length===0)return null;let p=h[0],{protocol:C,source:y,params:B,selector:v}=P.parseRange(P.convertToManifestRange(p.reference));if(C===t.configuration.get("defaultProtocol")&&(C=null),uT.default.valid(v)&&s!==!1){let D=typeof s=="string"?s:o.range;v=Gne(D,{project:t})+v}return P.makeDescriptor(p,P.makeRange({protocol:C,source:y,params:B,selector:v}))}async function lje(r){return await M.mktempPromise(async e=>{let t=ye.create(e);return t.useWithSource(e,{enableMirror:!1,compressionLevel:0},e,{overwrite:!0}),await r(new Rt(e,{configuration:t,check:!1,immutable:!1}))})}var _c=class extends De{constructor(){super(...arguments);this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.exact=z.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=z.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=z.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.dev=z.Boolean("-D,--dev",!1,{description:"Add a package as a dev dependency"});this.peer=z.Boolean("-P,--peer",!1,{description:"Add a package as a peer dependency"});this.optional=z.Boolean("-O,--optional",!1,{description:"Add / upgrade a package to an optional regular / peer dependency"});this.preferDev=z.Boolean("--prefer-dev",!1,{description:"Add / upgrade a package to a dev dependency"});this.interactive=z.Boolean("-i,--interactive",{description:"Reuse the specified package from other workspaces in the project"});this.cached=z.Boolean("--cached",!1,{description:"Reuse the highest version already used somewhere within the project"});this.mode=z.String("--mode",{description:"Change what artifacts installs generate",validator:Wi(Xn)});this.silent=z.Boolean("--silent",{hidden:!0});this.packages=z.Rest()}async execute(){var y;let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState({restoreResolutions:!1});let o=(y=this.interactive)!=null?y:t.get("preferInteractive"),a=km(this,i),l=[...o?["reuse"]:[],"project",...this.cached?["cache"]:[],"latest"],c=o?1/0:1,u=await Promise.all(this.packages.map(async B=>{let v=B.match(/^\.{0,2}\//)?await fT(B,{cwd:this.context.cwd,workspace:n}):P.tryParseDescriptor(B),D=B.match(/^(https?:|git@github)/);if(D)throw new be(`It seems you are trying to add a package using a ${ee.pretty(t,`${D[0]}...`,vi.RANGE)} url; we now require package names to be explicitly specified. -Try running the command again with the package name prefixed: ${ee.pretty(t,"yarn add",vi.CODE)} ${ee.pretty(t,P.makeDescriptor(P.makeIdent(null,"my-package"),`${D[0]}...`),vi.DESCRIPTOR)}`);if(!v)throw new be(`The ${ee.pretty(t,B,vi.CODE)} string didn't match the required format (package-name@range). Did you perhaps forget to explicitly reference the package name?`);let L=cje(n,v,{dev:this.dev,peer:this.peer,preferDev:this.preferDev,optional:this.optional});return await Promise.all(L.map(async j=>{let $=await Rm(v,{project:i,workspace:n,cache:s,target:j,modifier:a,strategies:l,maxResults:c});return{request:v,suggestedDescriptors:$,target:j}}))})).then(B=>B.flat()),g=await _o.start({configuration:t,stdout:this.context.stdout,suggestInstall:!1},async B=>{for(let{request:v,suggestedDescriptors:{suggestions:D,rejections:L}}of u)if(D.filter(j=>j.descriptor!==null).length===0){let[j]=L;if(typeof j>"u")throw new Error("Assertion failed: Expected an error to have been set");i.configuration.get("enableNetwork")?B.reportError(27,`${P.prettyDescriptor(t,v)} can't be resolved to a satisfying range`):B.reportError(27,`${P.prettyDescriptor(t,v)} can't be resolved to a satisfying range (note: network resolution has been disabled)`),B.reportSeparator(),B.reportExceptionOnce(j)}});if(g.hasErrors())return g.exitCode();let f=!1,h=[],p=[];for(let{suggestedDescriptors:{suggestions:B},target:v}of u){let D,L=B.filter(V=>V.descriptor!==null),H=L[0].descriptor,j=L.every(V=>P.areDescriptorsEqual(V.descriptor,H));L.length===1||j?D=H:(f=!0,{answer:D}=await(0,Wne.prompt)({type:"select",name:"answer",message:"Which range do you want to use?",choices:B.map(({descriptor:V,name:W,reason:Z})=>V?{name:W,hint:Z,descriptor:V}:{name:W,hint:Z,disabled:!0}),onCancel:()=>process.exit(130),result(V){return this.find(V,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let $=n.manifest[v].get(D.identHash);(typeof $>"u"||$.descriptorHash!==D.descriptorHash)&&(n.manifest[v].set(D.identHash,D),this.optional&&(v==="dependencies"?n.manifest.ensureDependencyMeta({...D,range:"unknown"}).optional=!0:v==="peerDependencies"&&(n.manifest.ensurePeerDependencyMeta({...D,range:"unknown"}).optional=!0)),typeof $>"u"?h.push([n,v,D,l]):p.push([n,v,$,D]))}return await t.triggerMultipleHooks(B=>B.afterWorkspaceDependencyAddition,h),await t.triggerMultipleHooks(B=>B.afterWorkspaceDependencyReplacement,p),f&&this.context.stdout.write(` -`),(await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout,includeLogs:!this.context.quiet},async B=>{await i.install({cache:s,report:B,mode:this.mode})})).exitCode()}};_c.paths=[["add"]],_c.usage=ve.Usage({description:"add dependencies to the project",details:"\n This command adds a package to the package.json for the nearest workspace.\n\n - If it didn't exist before, the package will by default be added to the regular `dependencies` field, but this behavior can be overriden thanks to the `-D,--dev` flag (which will cause the dependency to be added to the `devDependencies` field instead) and the `-P,--peer` flag (which will do the same but for `peerDependencies`).\n\n - If the package was already listed in your dependencies, it will by default be upgraded whether it's part of your `dependencies` or `devDependencies` (it won't ever update `peerDependencies`, though).\n\n - If set, the `--prefer-dev` flag will operate as a more flexible `-D,--dev` in that it will add the package to your `devDependencies` if it isn't already listed in either `dependencies` or `devDependencies`, but it will also happily upgrade your `dependencies` if that's what you already use (whereas `-D,--dev` would throw an exception).\n\n - If set, the `-O,--optional` flag will add the package to the `optionalDependencies` field and, in combination with the `-P,--peer` flag, it will add the package as an optional peer dependency. If the package was already listed in your `dependencies`, it will be upgraded to `optionalDependencies`. If the package was already listed in your `peerDependencies`, in combination with the `-P,--peer` flag, it will be upgraded to an optional peer dependency: `\"peerDependenciesMeta\": { \"\": { \"optional\": true } }`\n\n - If the added package doesn't specify a range at all its `latest` tag will be resolved and the returned version will be used to generate a new semver range (using the `^` modifier by default unless otherwise configured via the `defaultSemverRangePrefix` configuration, or the `~` modifier if `-T,--tilde` is specified, or no modifier at all if `-E,--exact` is specified). Two exceptions to this rule: the first one is that if the package is a workspace then its local version will be used, and the second one is that if you use `-P,--peer` the default range will be `*` and won't be resolved at all.\n\n - If the added package specifies a range (such as `^1.0.0`, `latest`, or `rc`), Yarn will add this range as-is in the resulting package.json entry (in particular, tags such as `rc` will be encoded as-is rather than being converted into a semver range).\n\n If the `--cached` option is used, Yarn will preferably reuse the highest version already used somewhere within the project, even if through a transitive dependency.\n\n If the `-i,--interactive` option is used (or if the `preferInteractive` settings is toggled on) the command will first try to check whether other workspaces in the project use the specified package and, if so, will offer to reuse them.\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n For a compilation of all the supported protocols, please consult the dedicated page from our website: https://yarnpkg.com/features/protocols.\n ",examples:[["Add a regular package to the current workspace","$0 add lodash"],["Add a specific version for a package to the current workspace","$0 add lodash@1.2.3"],["Add a package from a GitHub repository (the master branch) to the current workspace using a URL","$0 add lodash@https://github.com/lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol","$0 add lodash@github:lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol (shorthand)","$0 add lodash@lodash/lodash"],["Add a package from a specific branch of a GitHub repository to the current workspace using the GitHub protocol (shorthand)","$0 add lodash-es@lodash/lodash#es"]]});function cje(r,e,{dev:t,peer:i,preferDev:n,optional:s}){let o=r.manifest["dependencies"].has(e.identHash),a=r.manifest["devDependencies"].has(e.identHash),l=r.manifest["peerDependencies"].has(e.identHash);if((t||i)&&o)throw new be(`Package "${P.prettyIdent(r.project.configuration,e)}" is already listed as a regular dependency - remove the -D,-P flags or remove it from your dependencies first`);if(!t&&!i&&l)throw new be(`Package "${P.prettyIdent(r.project.configuration,e)}" is already listed as a peer dependency - use either of -D or -P, or remove it from your peer dependencies first`);if(s&&a)throw new be(`Package "${P.prettyIdent(r.project.configuration,e)}" is already listed as a dev dependency - remove the -O flag or remove it from your dev dependencies first`);if(s&&!i&&l)throw new be(`Package "${P.prettyIdent(r.project.configuration,e)}" is already listed as a peer dependency - remove the -O flag or add the -P flag or remove it from your peer dependencies first`);if((t||n)&&s)throw new be(`Package "${P.prettyIdent(r.project.configuration,e)}" cannot simultaneously be a dev dependency and an optional dependency`);let c=[];return i&&c.push("peerDependencies"),(t||n)&&c.push("devDependencies"),s&&c.push("dependencies"),c.length>0?c:a?["devDependencies"]:l?["peerDependencies"]:["dependencies"]}var Zc=class extends De{constructor(){super(...arguments);this.verbose=z.Boolean("-v,--verbose",!1,{description:"Print both the binary name and the locator of the package that provides the binary"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.name=z.String({required:!1})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,locator:n}=await je.find(t,this.context.cwd);if(await i.restoreInstallState(),this.name){let a=(await Jt.getPackageAccessibleBinaries(n,{project:i})).get(this.name);if(!a)throw new be(`Couldn't find a binary named "${this.name}" for package "${P.prettyLocator(t,n)}"`);let[,l]=a;return this.context.stdout.write(`${l} -`),0}return(await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout},async o=>{let a=await Jt.getPackageAccessibleBinaries(n,{project:i}),c=Array.from(a.keys()).reduce((u,g)=>Math.max(u,g.length),0);for(let[u,[g,f]]of a)o.reportJson({name:u,source:P.stringifyIdent(g),path:f});if(this.verbose)for(let[u,[g]]of a)o.reportInfo(null,`${u.padEnd(c," ")} ${P.prettyLocator(t,g)}`);else for(let u of a.keys())o.reportInfo(null,u)})).exitCode()}};Zc.paths=[["bin"]],Zc.usage=ve.Usage({description:"get the path to a binary script",details:` +`+wa(t)}async persistLockfile(){let e=x.join(this.cwd,this.configuration.get("lockfileFilename")),t="";try{t=await M.readFilePromise(e,"utf8")}catch{}let i=this.generateLockfile(),n=ql(t,i);n!==t&&(await M.writeFilePromise(e,n),this.lockFileChecksum=v$(n),this.lockfileNeedsRefresh=!1)}async persistInstallStateFile(){let e=[];for(let o of Object.values(jN))e.push(...o);let t=(0,W0.default)(this,e),i=qN.default.serialize(t),n=en(i);if(this.installStateChecksum===n)return;let s=this.configuration.get("installStatePath");await M.mkdirPromise(x.dirname(s),{recursive:!0}),await M.writeFilePromise(s,await MMe(i)),this.installStateChecksum=n}async restoreInstallState({restoreInstallersCustomData:e=!0,restoreResolutions:t=!0,restoreBuildState:i=!0}={}){let n=this.configuration.get("installStatePath"),s;try{let o=await KMe(await M.readFilePromise(n));s=qN.default.deserialize(o),this.installStateChecksum=en(o)}catch{t&&await this.applyLightResolution();return}e&&typeof s.installersCustomData<"u"&&(this.installersCustomData=s.installersCustomData),i&&Object.assign(this,(0,W0.default)(s,jN.restoreBuildState)),t&&(s.lockFileChecksum===this.lockFileChecksum?(Object.assign(this,(0,W0.default)(s,jN.restoreResolutions)),this.refreshWorkspaceDependencies()):await this.applyLightResolution())}async applyLightResolution(){await this.resolveEverything({lockfileOnly:!0,report:new ti}),await this.persistInstallStateFile()}async persist(){await this.persistLockfile();for(let e of this.workspacesByCwd.values())await e.persistManifest()}async cacheCleanup({cache:e,report:t}){if(this.configuration.get("enableGlobalCache"))return;let i=new Set([".gitignore"]);if(!ZD(e.cwd,this.cwd)||!await M.existsPromise(e.cwd))return;let n=this.configuration.get("preferAggregateCacheInfo"),s=0,o=null;for(let a of await M.readdirPromise(e.cwd)){if(i.has(a))continue;let l=x.resolve(e.cwd,a);e.markedFiles.has(l)||(o=a,e.immutable?t.reportError(56,`${$e(this.configuration,x.basename(l),"magenta")} appears to be unused and would be marked for deletion, but the cache is immutable`):(n?s+=1:t.reportInfo(19,`${$e(this.configuration,x.basename(l),"magenta")} appears to be unused - removing`),await M.removePromise(l)))}n&&s!==0&&t.reportInfo(19,s>1?`${s} packages appeared to be unused and were removed`:`${o} appeared to be unused and was removed`),e.markedFiles.clear()}};function UMe({project:r,allDescriptors:e,allResolutions:t,allPackages:i,accessibleLocators:n=new Set,optionalBuilds:s=new Set,peerRequirements:o=new Map,volatileDescriptors:a=new Set,report:l}){var V;let c=new Map,u=[],g=new Map,f=new Map,h=new Map,p=new Map,C=new Map,y=new Map(r.workspaces.map(W=>{let _=W.anchoredLocator.locatorHash,A=i.get(_);if(typeof A>"u")throw new Error("Assertion failed: The workspace should have an associated package");return[_,eC(A)]})),B=()=>{let W=M.mktempSync(),_=x.join(W,"stacktrace.log"),A=String(u.length+1).length,ae=u.map((ge,re)=>`${`${re+1}.`.padStart(A," ")} ${Cs(ge)} +`).join("");throw M.writeFileSync(_,ae),M.detachTemp(W),new at(45,`Encountered a stack overflow when resolving peer dependencies; cf ${K.fromPortablePath(_)}`)},v=W=>{let _=t.get(W.descriptorHash);if(typeof _>"u")throw new Error("Assertion failed: The resolution should have been registered");let A=i.get(_);if(!A)throw new Error("Assertion failed: The package could not be found");return A},D=(W,_,A,{top:ae,optional:ge})=>{u.length>1e3&&B(),u.push(_);let re=L(W,_,A,{top:ae,optional:ge});return u.pop(),re},L=(W,_,A,{top:ae,optional:ge})=>{if(n.has(_.locatorHash))return;n.add(_.locatorHash),ge||s.delete(_.locatorHash);let re=i.get(_.locatorHash);if(!re)throw new Error(`Assertion failed: The package (${mt(r.configuration,_)}) should have been registered`);let O=[],F=[],ue=[],he=[],ke=[];for(let Ne of Array.from(re.dependencies.values())){if(re.peerDependencies.has(Ne.identHash)&&re.locatorHash!==ae)continue;if(qA(Ne))throw new Error("Assertion failed: Virtual packages shouldn't be encountered when virtualizing a branch");a.delete(Ne.descriptorHash);let oe=ge;if(!oe){let Y=re.dependenciesMeta.get(Ot(Ne));if(typeof Y<"u"){let pe=Y.get(null);typeof pe<"u"&&pe.optional&&(oe=!0)}}let le=t.get(Ne.descriptorHash);if(!le)throw new Error(`Assertion failed: The resolution (${tr(r.configuration,Ne)}) should have been registered`);let we=y.get(le)||i.get(le);if(!we)throw new Error(`Assertion failed: The package (${le}, resolved from ${tr(r.configuration,Ne)}) should have been registered`);if(we.peerDependencies.size===0){D(Ne,we,new Map,{top:ae,optional:oe});continue}let fe,Ae,qe=new Set,ne;F.push(()=>{fe=GD(Ne,_.locatorHash),Ae=YD(we,_.locatorHash),re.dependencies.delete(Ne.identHash),re.dependencies.set(fe.identHash,fe),t.set(fe.descriptorHash,Ae.locatorHash),e.set(fe.descriptorHash,fe),i.set(Ae.locatorHash,Ae),O.push([we,fe,Ae])}),ue.push(()=>{var Y;ne=new Map;for(let pe of Ae.peerDependencies.values()){let ie=re.dependencies.get(pe.identHash);if(!ie&&iC(_,pe)&&(W.identHash===_.identHash?ie=W:(ie=_t(_,W.range),e.set(ie.descriptorHash,ie),t.set(ie.descriptorHash,_.locatorHash),a.delete(ie.descriptorHash))),(!ie||ie.range==="missing:")&&Ae.dependencies.has(pe.identHash)){Ae.peerDependencies.delete(pe.identHash);continue}ie||(ie=_t(pe,"missing:")),Ae.dependencies.set(ie.identHash,ie),qA(ie)&&mc(h,ie.descriptorHash).add(Ae.locatorHash),g.set(ie.identHash,ie),ie.range==="missing:"&&qe.add(ie.identHash),ne.set(pe.identHash,(Y=A.get(pe.identHash))!=null?Y:Ae.locatorHash)}Ae.dependencies=new Map(wn(Ae.dependencies,([pe,ie])=>Ot(ie)))}),he.push(()=>{if(!i.has(Ae.locatorHash))return;let Y=c.get(we.locatorHash);typeof Y=="number"&&Y>=2&&B();let pe=c.get(we.locatorHash),ie=typeof pe<"u"?pe+1:1;c.set(we.locatorHash,ie),D(fe,Ae,ne,{top:ae,optional:oe}),c.set(we.locatorHash,ie-1)}),ke.push(()=>{let Y=re.dependencies.get(Ne.identHash);if(typeof Y>"u")throw new Error("Assertion failed: Expected the peer dependency to have been turned into a dependency");let pe=t.get(Y.descriptorHash);if(typeof pe>"u")throw new Error("Assertion failed: Expected the descriptor to be registered");if(mc(C,pe).add(_.locatorHash),!!i.has(Ae.locatorHash)){for(let ie of Ae.peerDependencies.values()){let de=ne.get(ie.identHash);if(typeof de>"u")throw new Error("Assertion failed: Expected the peer dependency ident to be registered");uf(gf(p,de),Ot(ie)).push(Ae.locatorHash)}for(let ie of qe)Ae.dependencies.delete(ie)}})}for(let Ne of[...F,...ue])Ne();let Fe;do{Fe=!0;for(let[Ne,oe,le]of O){let we=gf(f,Ne.locatorHash),fe=en(...[...le.dependencies.values()].map(Y=>{let pe=Y.range!=="missing:"?t.get(Y.descriptorHash):"missing:";if(typeof pe>"u")throw new Error(`Assertion failed: Expected the resolution for ${tr(r.configuration,Y)} to have been registered`);return pe===ae?`${pe} (top)`:pe}),oe.identHash),Ae=we.get(fe);if(typeof Ae>"u"){we.set(fe,oe);continue}if(Ae===oe)continue;i.delete(le.locatorHash),e.delete(oe.descriptorHash),t.delete(oe.descriptorHash),n.delete(le.locatorHash);let qe=h.get(oe.descriptorHash)||[],ne=[re.locatorHash,...qe];h.delete(oe.descriptorHash);for(let Y of ne){let pe=i.get(Y);typeof pe>"u"||(pe.dependencies.get(oe.identHash).descriptorHash!==Ae.descriptorHash&&(Fe=!1),pe.dependencies.set(oe.identHash,Ae))}}}while(!Fe);for(let Ne of[...he,...ke])Ne()};for(let W of r.workspaces){let _=W.anchoredLocator;a.delete(W.anchoredDescriptor.descriptorHash),D(W.anchoredDescriptor,_,new Map,{top:_.locatorHash,optional:!1})}let H;(A=>(A[A.NotProvided=0]="NotProvided",A[A.NotCompatible=1]="NotCompatible"))(H||(H={}));let j=[];for(let[W,_]of C){let A=i.get(W);if(typeof A>"u")throw new Error("Assertion failed: Expected the root to be registered");let ae=p.get(W);if(!(typeof ae>"u"))for(let ge of _){let re=i.get(ge);if(!(typeof re>"u"))for(let[O,F]of ae){let ue=$i(O);if(re.peerDependencies.has(ue.identHash))continue;let he=`p${en(ge,O,W).slice(0,5)}`;o.set(he,{subject:ge,requested:ue,rootRequester:W,allRequesters:F});let ke=A.dependencies.get(ue.identHash);if(typeof ke<"u"){let Fe=v(ke),Ne=(V=Fe.version)!=null?V:"0.0.0",oe=new Set;for(let we of F){let fe=i.get(we);if(typeof fe>"u")throw new Error("Assertion failed: Expected the link to be registered");let Ae=fe.peerDependencies.get(ue.identHash);if(typeof Ae>"u")throw new Error("Assertion failed: Expected the ident to be registered");oe.add(Ae.range)}[...oe].every(we=>{if(we.startsWith(jr.protocol)){if(!r.tryWorkspaceByLocator(Fe))return!1;we=we.slice(jr.protocol.length),(we==="^"||we==="~")&&(we="*")}return vc(Ne,we)})||j.push({type:1,subject:re,requested:ue,requester:A,version:Ne,hash:he,requirementCount:F.length})}else{let Fe=A.peerDependenciesMeta.get(O);Fe!=null&&Fe.optional||j.push({type:0,subject:re,requested:ue,requester:A,hash:he})}}}}let $=[W=>jD(W.subject),W=>Ot(W.requested),W=>`${W.type}`];l==null||l.startSectionSync({reportFooter:()=>{l.reportWarning(0,`Some peer dependencies are incorrectly met; run ${$e(r.configuration,"yarn explain peer-requirements ",Ue.CODE)} for details, where ${$e(r.configuration,"",Ue.CODE)} is the six-letter p-prefixed code`)},skipIfEmpty:!0},()=>{for(let W of wn(j,$))switch(W.type){case 0:l.reportWarning(2,`${mt(r.configuration,W.subject)} doesn't provide ${Ai(r.configuration,W.requested)} (${$e(r.configuration,W.hash,Ue.CODE)}), requested by ${Ai(r.configuration,W.requester)}`);break;case 1:{let _=W.requirementCount>1?"and some of its descendants request":"requests";l.reportWarning(60,`${mt(r.configuration,W.subject)} provides ${Ai(r.configuration,W.requested)} (${$e(r.configuration,W.hash,Ue.CODE)}) with version ${oC(r.configuration,W.version)}, which doesn't satisfy what ${Ai(r.configuration,W.requester)} ${_}`)}break}})}var Bh=class{constructor(e,t){this.values=new Map;this.hits=new Map;this.enumerators=new Map;this.configuration=e;let i=this.getRegistryPath();this.isNew=!M.existsSync(i),this.sendReport(t),this.startBuffer()}reportVersion(e){this.reportValue("version",e.replace(/-git\..*/,"-git"))}reportCommandName(e){this.reportValue("commandName",e||"")}reportPluginName(e){this.reportValue("pluginName",e)}reportProject(e){this.reportEnumerator("projectCount",e)}reportInstall(e){this.reportHit("installCount",e)}reportPackageExtension(e){this.reportValue("packageExtension",e)}reportWorkspaceCount(e){this.reportValue("workspaceCount",String(e))}reportDependencyCount(e){this.reportValue("dependencyCount",String(e))}reportValue(e,t){mc(this.values,e).add(t)}reportEnumerator(e,t){mc(this.enumerators,e).add(en(t))}reportHit(e,t="*"){let i=gf(this.hits,e),n=Fa(i,t,()=>0);i.set(t,n+1)}getRegistryPath(){let e=this.configuration.get("globalFolder");return x.join(e,"telemetry.json")}sendReport(e){var u,g,f;let t=this.getRegistryPath(),i;try{i=M.readJsonSync(t)}catch{i={}}let n=Date.now(),s=this.configuration.get("telemetryInterval")*24*60*60*1e3,a=((u=i.lastUpdate)!=null?u:n+s+Math.floor(s*Math.random()))+s;if(a>n&&i.lastUpdate!=null)return;try{M.mkdirSync(x.dirname(t),{recursive:!0}),M.writeJsonSync(t,{lastUpdate:n})}catch{return}if(a>n||!i.blocks)return;let l=`https://browser-http-intake.logs.datadoghq.eu/v1/input/${e}?ddsource=yarn`,c=h=>kR(l,h,{configuration:this.configuration}).catch(()=>{});for(let[h,p]of Object.entries((g=i.blocks)!=null?g:{})){if(Object.keys(p).length===0)continue;let C=p;C.userId=h,C.reportType="primary";for(let v of Object.keys((f=C.enumerators)!=null?f:{}))C.enumerators[v]=C.enumerators[v].length;c(C);let y=new Map,B=20;for(let[v,D]of Object.entries(C.values))D.length>0&&y.set(v,D.slice(0,B));for(;y.size>0;){let v={};v.userId=h,v.reportType="secondary",v.metrics={};for(let[D,L]of y)v.metrics[D]=L.shift(),L.length===0&&y.delete(D);c(v)}}}applyChanges(){var o,a,l,c,u,g,f,h,p;let e=this.getRegistryPath(),t;try{t=M.readJsonSync(e)}catch{t={}}let i=(o=this.configuration.get("telemetryUserId"))!=null?o:"*",n=t.blocks=(a=t.blocks)!=null?a:{},s=n[i]=(l=n[i])!=null?l:{};for(let C of this.hits.keys()){let y=s.hits=(c=s.hits)!=null?c:{},B=y[C]=(u=y[C])!=null?u:{};for(let[v,D]of this.hits.get(C))B[v]=((g=B[v])!=null?g:0)+D}for(let C of["values","enumerators"])for(let y of this[C].keys()){let B=s[C]=(f=s[C])!=null?f:{};B[y]=[...new Set([...(h=B[y])!=null?h:[],...(p=this[C].get(y))!=null?p:[]])]}M.mkdirSync(x.dirname(e),{recursive:!0}),M.writeJsonSync(e,t)}startBuffer(){process.on("exit",()=>{try{this.applyChanges()}catch{}})}};var zN=J("child_process"),D$=Pe(nc());var VN=J("fs");var Qh=new Map([["constraints",[["constraints","query"],["constraints","source"],["constraints"]]],["exec",[]],["interactive-tools",[["search"],["upgrade-interactive"]]],["stage",[["stage"]]],["typescript",[]],["version",[["version","apply"],["version","check"],["version"]]],["workspace-tools",[["workspaces","focus"],["workspaces","foreach"]]]]);function HMe(r){let e=K.fromPortablePath(r);process.on("SIGINT",()=>{}),e?(0,zN.execFileSync)(process.execPath,[e,...process.argv.slice(2)],{stdio:"inherit",env:{...process.env,YARN_IGNORE_PATH:"1",YARN_IGNORE_CWD:"1"}}):(0,zN.execFileSync)(e,process.argv.slice(2),{stdio:"inherit",env:{...process.env,YARN_IGNORE_PATH:"1",YARN_IGNORE_CWD:"1"}})}async function z0({binaryVersion:r,pluginConfiguration:e}){async function t(){let n=new Un({binaryLabel:"Yarn Package Manager",binaryName:"yarn",binaryVersion:r});try{await i(n)}catch(s){process.stdout.write(n.error(s)),process.exitCode=1}}async function i(n){var C,y,B,v,D;let s=process.versions.node,o=">=12 <14 || 14.2 - 14.9 || >14.10.0";if(!Ie.parseOptionalBoolean(process.env.YARN_IGNORE_NODE)&&!vt.satisfiesWithPrereleases(s,o))throw new be(`This tool requires a Node version compatible with ${o} (got ${s}). Upgrade Node, or set \`YARN_IGNORE_NODE=1\` in your environment.`);let l=await ye.find(K.toPortablePath(process.cwd()),e,{usePath:!0,strict:!1}),c=l.get("yarnPath"),u=l.get("ignorePath"),g=l.get("ignoreCwd"),f=K.toPortablePath(K.resolve(process.argv[1])),h=L=>M.readFilePromise(L).catch(()=>Buffer.of());if(!u&&!g&&await(async()=>c===f||Buffer.compare(...await Promise.all([h(c),h(f)]))===0)()){process.env.YARN_IGNORE_PATH="1",process.env.YARN_IGNORE_CWD="1",await i(n);return}else if(c!==null&&!u)if(!M.existsSync(c))process.stdout.write(n.error(new Error(`The "yarn-path" option has been set (in ${l.sources.get("yarnPath")}), but the specified location doesn't exist (${c}).`))),process.exitCode=1;else try{HMe(c)}catch(L){process.exitCode=L.code||1}else{u&&delete process.env.YARN_IGNORE_PATH,l.get("enableTelemetry")&&!D$.isCI&&process.stdout.isTTY&&(ye.telemetry=new Bh(l,"puba9cdc10ec5790a2cf4969dd413a47270")),(C=ye.telemetry)==null||C.reportVersion(r);for(let[$,V]of l.plugins.entries()){Qh.has((B=(y=$.match(/^@yarnpkg\/plugin-(.*)$/))==null?void 0:y[1])!=null?B:"")&&((v=ye.telemetry)==null||v.reportPluginName($));for(let W of V.commands||[])n.register(W)}let H=n.process(process.argv.slice(2));H.help||(D=ye.telemetry)==null||D.reportCommandName(H.path.join(" "));let j=H.cwd;if(typeof j<"u"&&!g){let $=(0,VN.realpathSync)(process.cwd()),V=(0,VN.realpathSync)(j);if($!==V){process.chdir(j),await t();return}}await n.runExit(H,{cwd:K.toPortablePath(process.cwd()),plugins:e,quiet:!1,stdin:process.stdin,stdout:process.stdout,stderr:process.stderr})}}return t().catch(n=>{process.stdout.write(n.stack||n.message),process.exitCode=1}).finally(()=>M.rmtempPromise())}function k$(r){r.Command.Path=(...e)=>t=>{t.paths=t.paths||[],t.paths.push(e)};for(let e of["Array","Boolean","String","Proxy","Rest","Counter"])r.Command[e]=(...t)=>(i,n)=>{let s=r.Option[e](...t);Object.defineProperty(i,`__${n}`,{configurable:!1,enumerable:!0,get(){return s},set(o){this[n]=o}})};return r}var Rm={};ut(Rm,{BaseCommand:()=>De,WorkspaceRequiredError:()=>ct,getDynamicLibs:()=>jie,getPluginConfiguration:()=>mQ,main:()=>z0,openWorkspace:()=>Mh,pluginCommands:()=>Qh});var De=class extends ve{constructor(){super(...arguments);this.cwd=z.String("--cwd",{hidden:!0})}};var ct=class extends be{constructor(e,t){let i=x.relative(e,t),n=x.join(e,ot.fileName);super(`This command can only be run from within a workspace of your project (${i} isn't a workspace of ${n}).`)}};var WYe=Pe(Xr());as();var zYe=Pe(WL()),jie=()=>new Map([["@yarnpkg/cli",Rm],["@yarnpkg/core",im],["@yarnpkg/fslib",qp],["@yarnpkg/libzip",SC],["@yarnpkg/parsers",$p],["@yarnpkg/shell",DC],["clipanion",ld],["semver",WYe],["typanion",gn],["yup",zYe]]);async function Mh(r,e){let{project:t,workspace:i}=await je.find(r,e);if(!i)throw new ct(t.cwd,e);return i}var B7e=Pe(Xr());as();var Q7e=Pe(WL());var pO={};ut(pO,{dedupeUtils:()=>PQ,default:()=>o3e,suggestUtils:()=>Gh});var Yae=Pe(nc());var Rse=Pe(Om());as();var Gh={};ut(Gh,{Modifier:()=>KT,Strategy:()=>bQ,Target:()=>Mm,WorkspaceModifier:()=>Sse,applyModifier:()=>xse,extractDescriptorFromPath:()=>UT,extractRangeModifier:()=>vse,fetchDescriptorFrom:()=>HT,findProjectDescriptors:()=>kse,getModifier:()=>Km,getSuggestedDescriptors:()=>Um,makeWorkspaceDescriptor:()=>Dse,toWorkspaceModifier:()=>Pse});var MT=Pe(Xr()),gqe="workspace:",Mm=(i=>(i.REGULAR="dependencies",i.DEVELOPMENT="devDependencies",i.PEER="peerDependencies",i))(Mm||{}),KT=(i=>(i.CARET="^",i.TILDE="~",i.EXACT="",i))(KT||{}),Sse=(i=>(i.CARET="^",i.TILDE="~",i.EXACT="*",i))(Sse||{}),bQ=(s=>(s.KEEP="keep",s.REUSE="reuse",s.PROJECT="project",s.LATEST="latest",s.CACHE="cache",s))(bQ||{});function Km(r,e){return r.exact?"":r.caret?"^":r.tilde?"~":e.configuration.get("defaultSemverRangePrefix")}var fqe=/^([\^~]?)[0-9]+(?:\.[0-9]+){0,2}(?:-\S+)?$/;function vse(r,{project:e}){let t=r.match(fqe);return t?t[1]:e.configuration.get("defaultSemverRangePrefix")}function xse(r,e){let{protocol:t,source:i,params:n,selector:s}=P.parseRange(r.range);return MT.default.valid(s)&&(s=`${e}${r.range}`),P.makeDescriptor(r,P.makeRange({protocol:t,source:i,params:n,selector:s}))}function Pse(r){switch(r){case"^":return"^";case"~":return"~";case"":return"*";default:throw new Error(`Assertion failed: Unknown modifier: "${r}"`)}}function Dse(r,e){return P.makeDescriptor(r.anchoredDescriptor,`${gqe}${Pse(e)}`)}async function kse(r,{project:e,target:t}){let i=new Map,n=s=>{let o=i.get(s.descriptorHash);return o||i.set(s.descriptorHash,o={descriptor:s,locators:[]}),o};for(let s of e.workspaces)if(t==="peerDependencies"){let o=s.manifest.peerDependencies.get(r.identHash);o!==void 0&&n(o).locators.push(s.anchoredLocator)}else{let o=s.manifest.dependencies.get(r.identHash),a=s.manifest.devDependencies.get(r.identHash);t==="devDependencies"?a!==void 0?n(a).locators.push(s.anchoredLocator):o!==void 0&&n(o).locators.push(s.anchoredLocator):o!==void 0?n(o).locators.push(s.anchoredLocator):a!==void 0&&n(a).locators.push(s.anchoredLocator)}return i}async function UT(r,{cwd:e,workspace:t}){return await hqe(async i=>{x.isAbsolute(r)||(r=x.relative(t.cwd,x.resolve(e,r)),r.match(/^\.{0,2}\//)||(r=`./${r}`));let{project:n}=t,s=await HT(P.makeIdent(null,"archive"),r,{project:t.project,cache:i,workspace:t});if(!s)throw new Error("Assertion failed: The descriptor should have been found");let o=new ti,a=n.configuration.makeResolver(),l=n.configuration.makeFetcher(),c={checksums:n.storedChecksums,project:n,cache:i,fetcher:l,report:o,resolver:a},u=a.bindDescriptor(s,t.anchoredLocator,c),g=P.convertDescriptorToLocator(u),f=await l.fetch(g,c),h=await ot.find(f.prefixPath,{baseFs:f.packageFs});if(!h.name)throw new Error("Target path doesn't have a name");return P.makeDescriptor(h.name,r)})}async function Um(r,{project:e,workspace:t,cache:i,target:n,modifier:s,strategies:o,maxResults:a=1/0}){if(!(a>=0))throw new Error(`Invalid maxResults (${a})`);if(r.range!=="unknown")return{suggestions:[{descriptor:r,name:`Use ${P.prettyDescriptor(e.configuration,r)}`,reason:"(unambiguous explicit request)"}],rejections:[]};let l=typeof t<"u"&&t!==null&&t.manifest[n].get(r.identHash)||null,c=[],u=[],g=async f=>{try{await f()}catch(h){u.push(h)}};for(let f of o){if(c.length>=a)break;switch(f){case"keep":await g(async()=>{l&&c.push({descriptor:l,name:`Keep ${P.prettyDescriptor(e.configuration,l)}`,reason:"(no changes)"})});break;case"reuse":await g(async()=>{for(let{descriptor:h,locators:p}of(await kse(r,{project:e,target:n})).values()){if(p.length===1&&p[0].locatorHash===t.anchoredLocator.locatorHash&&o.includes("keep"))continue;let C=`(originally used by ${P.prettyLocator(e.configuration,p[0])}`;C+=p.length>1?` and ${p.length-1} other${p.length>2?"s":""})`:")",c.push({descriptor:h,name:`Reuse ${P.prettyDescriptor(e.configuration,h)}`,reason:C})}});break;case"cache":await g(async()=>{for(let h of e.storedDescriptors.values())h.identHash===r.identHash&&c.push({descriptor:h,name:`Reuse ${P.prettyDescriptor(e.configuration,h)}`,reason:"(already used somewhere in the lockfile)"})});break;case"project":await g(async()=>{if(t.manifest.name!==null&&r.identHash===t.manifest.name.identHash)return;let h=e.tryWorkspaceByIdent(r);if(h===null)return;let p=Dse(h,s);c.push({descriptor:p,name:`Attach ${P.prettyDescriptor(e.configuration,p)}`,reason:`(local workspace at ${ee.pretty(e.configuration,h.relativeCwd,ee.Type.PATH)})`})});break;case"latest":await g(async()=>{if(r.range!=="unknown")c.push({descriptor:r,name:`Use ${P.prettyRange(e.configuration,r.range)}`,reason:"(explicit range requested)"});else if(n==="peerDependencies")c.push({descriptor:P.makeDescriptor(r,"*"),name:"Use *",reason:"(catch-all peer dependency pattern)"});else if(!e.configuration.get("enableNetwork"))c.push({descriptor:null,name:"Resolve from latest",reason:ee.pretty(e.configuration,"(unavailable because enableNetwork is toggled off)","grey")});else{let h=await HT(r,"latest",{project:e,cache:i,workspace:t,preserveModifier:!1});h&&(h=xse(h,s),c.push({descriptor:h,name:`Use ${P.prettyDescriptor(e.configuration,h)}`,reason:"(resolved from latest)"}))}});break}}return{suggestions:c.slice(0,a),rejections:u.slice(0,a)}}async function HT(r,e,{project:t,cache:i,workspace:n,preserveModifier:s=!0}){let o=P.makeDescriptor(r,e),a=new ti,l=t.configuration.makeFetcher(),c=t.configuration.makeResolver(),u={project:t,fetcher:l,cache:i,checksums:t.storedChecksums,report:a,cacheOptions:{skipIntegrityCheck:!0},skipIntegrityCheck:!0},g={...u,resolver:c,fetchOptions:u},f=c.bindDescriptor(o,n.anchoredLocator,g),h=await c.getCandidates(f,new Map,g);if(h.length===0)return null;let p=h[0],{protocol:C,source:y,params:B,selector:v}=P.parseRange(P.convertToManifestRange(p.reference));if(C===t.configuration.get("defaultProtocol")&&(C=null),MT.default.valid(v)&&s!==!1){let D=typeof s=="string"?s:o.range;v=vse(D,{project:t})+v}return P.makeDescriptor(p,P.makeRange({protocol:C,source:y,params:B,selector:v}))}async function hqe(r){return await M.mktempPromise(async e=>{let t=ye.create(e);return t.useWithSource(e,{enableMirror:!1,compressionLevel:0},e,{overwrite:!0}),await r(new Rt(e,{configuration:t,check:!1,immutable:!1}))})}var nu=class extends De{constructor(){super(...arguments);this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.exact=z.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=z.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=z.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.dev=z.Boolean("-D,--dev",!1,{description:"Add a package as a dev dependency"});this.peer=z.Boolean("-P,--peer",!1,{description:"Add a package as a peer dependency"});this.optional=z.Boolean("-O,--optional",!1,{description:"Add / upgrade a package to an optional regular / peer dependency"});this.preferDev=z.Boolean("--prefer-dev",!1,{description:"Add / upgrade a package to a dev dependency"});this.interactive=z.Boolean("-i,--interactive",{description:"Reuse the specified package from other workspaces in the project"});this.cached=z.Boolean("--cached",!1,{description:"Reuse the highest version already used somewhere within the project"});this.mode=z.String("--mode",{description:"Change what artifacts installs generate",validator:Vi($n)});this.silent=z.Boolean("--silent",{hidden:!0});this.packages=z.Rest()}async execute(){var y;let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState({restoreResolutions:!1});let o=(y=this.interactive)!=null?y:t.get("preferInteractive"),a=Km(this,i),l=[...o?["reuse"]:[],"project",...this.cached?["cache"]:[],"latest"],c=o?1/0:1,u=await Promise.all(this.packages.map(async B=>{let v=B.match(/^\.{0,2}\//)?await UT(B,{cwd:this.context.cwd,workspace:n}):P.tryParseDescriptor(B),D=B.match(/^(https?:|git@github)/);if(D)throw new be(`It seems you are trying to add a package using a ${ee.pretty(t,`${D[0]}...`,xi.RANGE)} url; we now require package names to be explicitly specified. +Try running the command again with the package name prefixed: ${ee.pretty(t,"yarn add",xi.CODE)} ${ee.pretty(t,P.makeDescriptor(P.makeIdent(null,"my-package"),`${D[0]}...`),xi.DESCRIPTOR)}`);if(!v)throw new be(`The ${ee.pretty(t,B,xi.CODE)} string didn't match the required format (package-name@range). Did you perhaps forget to explicitly reference the package name?`);let L=pqe(n,v,{dev:this.dev,peer:this.peer,preferDev:this.preferDev,optional:this.optional});return await Promise.all(L.map(async j=>{let $=await Um(v,{project:i,workspace:n,cache:s,target:j,modifier:a,strategies:l,maxResults:c});return{request:v,suggestedDescriptors:$,target:j}}))})).then(B=>B.flat()),g=await ra.start({configuration:t,stdout:this.context.stdout,suggestInstall:!1},async B=>{for(let{request:v,suggestedDescriptors:{suggestions:D,rejections:L}}of u)if(D.filter(j=>j.descriptor!==null).length===0){let[j]=L;if(typeof j>"u")throw new Error("Assertion failed: Expected an error to have been set");i.configuration.get("enableNetwork")?B.reportError(27,`${P.prettyDescriptor(t,v)} can't be resolved to a satisfying range`):B.reportError(27,`${P.prettyDescriptor(t,v)} can't be resolved to a satisfying range (note: network resolution has been disabled)`),B.reportSeparator(),B.reportExceptionOnce(j)}});if(g.hasErrors())return g.exitCode();let f=!1,h=[],p=[];for(let{suggestedDescriptors:{suggestions:B},target:v}of u){let D,L=B.filter(V=>V.descriptor!==null),H=L[0].descriptor,j=L.every(V=>P.areDescriptorsEqual(V.descriptor,H));L.length===1||j?D=H:(f=!0,{answer:D}=await(0,Rse.prompt)({type:"select",name:"answer",message:"Which range do you want to use?",choices:B.map(({descriptor:V,name:W,reason:_})=>V?{name:W,hint:_,descriptor:V}:{name:W,hint:_,disabled:!0}),onCancel:()=>process.exit(130),result(V){return this.find(V,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let $=n.manifest[v].get(D.identHash);(typeof $>"u"||$.descriptorHash!==D.descriptorHash)&&(n.manifest[v].set(D.identHash,D),this.optional&&(v==="dependencies"?n.manifest.ensureDependencyMeta({...D,range:"unknown"}).optional=!0:v==="peerDependencies"&&(n.manifest.ensurePeerDependencyMeta({...D,range:"unknown"}).optional=!0)),typeof $>"u"?h.push([n,v,D,l]):p.push([n,v,$,D]))}return await t.triggerMultipleHooks(B=>B.afterWorkspaceDependencyAddition,h),await t.triggerMultipleHooks(B=>B.afterWorkspaceDependencyReplacement,p),f&&this.context.stdout.write(` +`),(await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout,includeLogs:!this.context.quiet},async B=>{await i.install({cache:s,report:B,mode:this.mode})})).exitCode()}};nu.paths=[["add"]],nu.usage=ve.Usage({description:"add dependencies to the project",details:"\n This command adds a package to the package.json for the nearest workspace.\n\n - If it didn't exist before, the package will by default be added to the regular `dependencies` field, but this behavior can be overriden thanks to the `-D,--dev` flag (which will cause the dependency to be added to the `devDependencies` field instead) and the `-P,--peer` flag (which will do the same but for `peerDependencies`).\n\n - If the package was already listed in your dependencies, it will by default be upgraded whether it's part of your `dependencies` or `devDependencies` (it won't ever update `peerDependencies`, though).\n\n - If set, the `--prefer-dev` flag will operate as a more flexible `-D,--dev` in that it will add the package to your `devDependencies` if it isn't already listed in either `dependencies` or `devDependencies`, but it will also happily upgrade your `dependencies` if that's what you already use (whereas `-D,--dev` would throw an exception).\n\n - If set, the `-O,--optional` flag will add the package to the `optionalDependencies` field and, in combination with the `-P,--peer` flag, it will add the package as an optional peer dependency. If the package was already listed in your `dependencies`, it will be upgraded to `optionalDependencies`. If the package was already listed in your `peerDependencies`, in combination with the `-P,--peer` flag, it will be upgraded to an optional peer dependency: `\"peerDependenciesMeta\": { \"\": { \"optional\": true } }`\n\n - If the added package doesn't specify a range at all its `latest` tag will be resolved and the returned version will be used to generate a new semver range (using the `^` modifier by default unless otherwise configured via the `defaultSemverRangePrefix` configuration, or the `~` modifier if `-T,--tilde` is specified, or no modifier at all if `-E,--exact` is specified). Two exceptions to this rule: the first one is that if the package is a workspace then its local version will be used, and the second one is that if you use `-P,--peer` the default range will be `*` and won't be resolved at all.\n\n - If the added package specifies a range (such as `^1.0.0`, `latest`, or `rc`), Yarn will add this range as-is in the resulting package.json entry (in particular, tags such as `rc` will be encoded as-is rather than being converted into a semver range).\n\n If the `--cached` option is used, Yarn will preferably reuse the highest version already used somewhere within the project, even if through a transitive dependency.\n\n If the `-i,--interactive` option is used (or if the `preferInteractive` settings is toggled on) the command will first try to check whether other workspaces in the project use the specified package and, if so, will offer to reuse them.\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n For a compilation of all the supported protocols, please consult the dedicated page from our website: https://yarnpkg.com/features/protocols.\n ",examples:[["Add a regular package to the current workspace","$0 add lodash"],["Add a specific version for a package to the current workspace","$0 add lodash@1.2.3"],["Add a package from a GitHub repository (the master branch) to the current workspace using a URL","$0 add lodash@https://github.com/lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol","$0 add lodash@github:lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol (shorthand)","$0 add lodash@lodash/lodash"],["Add a package from a specific branch of a GitHub repository to the current workspace using the GitHub protocol (shorthand)","$0 add lodash-es@lodash/lodash#es"]]});function pqe(r,e,{dev:t,peer:i,preferDev:n,optional:s}){let o=r.manifest["dependencies"].has(e.identHash),a=r.manifest["devDependencies"].has(e.identHash),l=r.manifest["peerDependencies"].has(e.identHash);if((t||i)&&o)throw new be(`Package "${P.prettyIdent(r.project.configuration,e)}" is already listed as a regular dependency - remove the -D,-P flags or remove it from your dependencies first`);if(!t&&!i&&l)throw new be(`Package "${P.prettyIdent(r.project.configuration,e)}" is already listed as a peer dependency - use either of -D or -P, or remove it from your peer dependencies first`);if(s&&a)throw new be(`Package "${P.prettyIdent(r.project.configuration,e)}" is already listed as a dev dependency - remove the -O flag or remove it from your dev dependencies first`);if(s&&!i&&l)throw new be(`Package "${P.prettyIdent(r.project.configuration,e)}" is already listed as a peer dependency - remove the -O flag or add the -P flag or remove it from your peer dependencies first`);if((t||n)&&s)throw new be(`Package "${P.prettyIdent(r.project.configuration,e)}" cannot simultaneously be a dev dependency and an optional dependency`);let c=[];return i&&c.push("peerDependencies"),(t||n)&&c.push("devDependencies"),s&&c.push("dependencies"),c.length>0?c:a?["devDependencies"]:l?["peerDependencies"]:["dependencies"]}var su=class extends De{constructor(){super(...arguments);this.verbose=z.Boolean("-v,--verbose",!1,{description:"Print both the binary name and the locator of the package that provides the binary"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.name=z.String({required:!1})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,locator:n}=await je.find(t,this.context.cwd);if(await i.restoreInstallState(),this.name){let a=(await Wt.getPackageAccessibleBinaries(n,{project:i})).get(this.name);if(!a)throw new be(`Couldn't find a binary named "${this.name}" for package "${P.prettyLocator(t,n)}"`);let[,l]=a;return this.context.stdout.write(`${l} +`),0}return(await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout},async o=>{let a=await Wt.getPackageAccessibleBinaries(n,{project:i}),c=Array.from(a.keys()).reduce((u,g)=>Math.max(u,g.length),0);for(let[u,[g,f]]of a)o.reportJson({name:u,source:P.stringifyIdent(g),path:f});if(this.verbose)for(let[u,[g]]of a)o.reportInfo(null,`${u.padEnd(c," ")} ${P.prettyLocator(t,g)}`);else for(let u of a.keys())o.reportInfo(null,u)})).exitCode()}};su.paths=[["bin"]],su.usage=ve.Usage({description:"get the path to a binary script",details:` When used without arguments, this command will print the list of all the binaries available in the current workspace. Adding the \`-v,--verbose\` flag will cause the output to contain both the binary name and the locator of the package that provides the binary. When an argument is specified, this command will just print the path to the binary on the standard output and exit. Note that the reported path may be stored within a zip archive. - `,examples:[["List all the available binaries","$0 bin"],["Print the path to a specific binary","$0 bin eslint"]]});var $c=class extends De{constructor(){super(...arguments);this.mirror=z.Boolean("--mirror",!1,{description:"Remove the global cache files instead of the local cache files"});this.all=z.Boolean("--all",!1,{description:"Remove both the global cache files and the local cache files of the current project"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i=await Rt.find(t);return(await Ge.start({configuration:t,stdout:this.context.stdout},async()=>{let s=(this.all||this.mirror)&&i.mirrorCwd!==null,o=!this.mirror;s&&(await M.removePromise(i.mirrorCwd),await t.triggerHook(a=>a.cleanGlobalArtifacts,t)),o&&await M.removePromise(i.cwd)})).exitCode()}};$c.paths=[["cache","clean"],["cache","clear"]],$c.usage=ve.Usage({description:"remove the shared cache files",details:` + `,examples:[["List all the available binaries","$0 bin"],["Print the path to a specific binary","$0 bin eslint"]]});var ou=class extends De{constructor(){super(...arguments);this.mirror=z.Boolean("--mirror",!1,{description:"Remove the global cache files instead of the local cache files"});this.all=z.Boolean("--all",!1,{description:"Remove both the global cache files and the local cache files of the current project"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i=await Rt.find(t);return(await Ge.start({configuration:t,stdout:this.context.stdout},async()=>{let s=(this.all||this.mirror)&&i.mirrorCwd!==null,o=!this.mirror;s&&(await M.removePromise(i.mirrorCwd),await t.triggerHook(a=>a.cleanGlobalArtifacts,t)),o&&await M.removePromise(i.cwd)})).exitCode()}};ou.paths=[["cache","clean"],["cache","clear"]],ou.usage=ve.Usage({description:"remove the shared cache files",details:` This command will remove all the files from the cache. - `,examples:[["Remove all the local archives","$0 cache clean"],["Remove all the archives stored in the ~/.yarn directory","$0 cache clean --mirror"]]});var zne=Pe(j0()),pT=J("util"),eu=class extends De{constructor(){super(...arguments);this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.unsafe=z.Boolean("--no-redacted",!1,{description:"Don't redact secrets (such as tokens) from the output"});this.name=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i=this.name.replace(/[.[].*$/,""),n=this.name.replace(/^[^.[]*/,"");if(typeof t.settings.get(i)>"u")throw new be(`Couldn't find a configuration settings named "${i}"`);let o=t.getSpecial(i,{hideSecrets:!this.unsafe,getNativePaths:!0}),a=Ie.convertMapsToIndexableObjects(o),l=n?(0,zne.default)(a,n):a,c=await Ge.start({configuration:t,includeFooter:!1,json:this.json,stdout:this.context.stdout},async u=>{u.reportJson(l)});if(!this.json){if(typeof l=="string")return this.context.stdout.write(`${l} -`),c.exitCode();pT.inspect.styles.name="cyan",this.context.stdout.write(`${(0,pT.inspect)(l,{depth:1/0,colors:t.get("enableColors"),compact:!1})} -`)}return c.exitCode()}};eu.paths=[["config","get"]],eu.usage=ve.Usage({description:"read a configuration settings",details:` + `,examples:[["Remove all the local archives","$0 cache clean"],["Remove all the archives stored in the ~/.yarn directory","$0 cache clean --mirror"]]});var Fse=Pe(oQ()),GT=J("util"),au=class extends De{constructor(){super(...arguments);this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.unsafe=z.Boolean("--no-redacted",!1,{description:"Don't redact secrets (such as tokens) from the output"});this.name=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i=this.name.replace(/[.[].*$/,""),n=this.name.replace(/^[^.[]*/,"");if(typeof t.settings.get(i)>"u")throw new be(`Couldn't find a configuration settings named "${i}"`);let o=t.getSpecial(i,{hideSecrets:!this.unsafe,getNativePaths:!0}),a=Ie.convertMapsToIndexableObjects(o),l=n?(0,Fse.default)(a,n):a,c=await Ge.start({configuration:t,includeFooter:!1,json:this.json,stdout:this.context.stdout},async u=>{u.reportJson(l)});if(!this.json){if(typeof l=="string")return this.context.stdout.write(`${l} +`),c.exitCode();GT.inspect.styles.name="cyan",this.context.stdout.write(`${(0,GT.inspect)(l,{depth:1/0,colors:t.get("enableColors"),compact:!1})} +`)}return c.exitCode()}};au.paths=[["config","get"]],au.usage=ve.Usage({description:"read a configuration settings",details:` This command will print a configuration setting. Secrets (such as tokens) will be redacted from the output by default. If this behavior isn't desired, set the \`--no-redacted\` to get the untransformed value. - `,examples:[["Print a simple configuration setting","yarn config get yarnPath"],["Print a complex configuration setting","yarn config get packageExtensions"],["Print a nested field from the configuration",`yarn config get 'npmScopes["my-company"].npmRegistryServer'`],["Print a token from the configuration","yarn config get npmAuthToken --no-redacted"],["Print a configuration setting as JSON","yarn config get packageExtensions --json"]]});var ooe=Pe(yT()),aoe=Pe(j0()),Aoe=Pe(soe()),wT=J("util"),tu=class extends De{constructor(){super(...arguments);this.json=z.Boolean("--json",!1,{description:"Set complex configuration settings to JSON values"});this.home=z.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=z.String();this.value=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i=()=>{if(!t.projectCwd)throw new be("This command must be run from within a project folder");return t.projectCwd},n=this.name.replace(/[.[].*$/,""),s=this.name.replace(/^[^.[]*\.?/,"");if(typeof t.settings.get(n)>"u")throw new be(`Couldn't find a configuration settings named "${n}"`);if(n==="enableStrictSettings")throw new be("This setting only affects the file it's in, and thus cannot be set from the CLI");let a=this.json?JSON.parse(this.value):this.value;await(this.home?p=>ye.updateHomeConfiguration(p):p=>ye.updateConfiguration(i(),p))(p=>{if(s){let C=(0,ooe.default)(p);return(0,Aoe.default)(C,this.name,a),C}else return{...p,[n]:a}});let u=(await ye.find(this.context.cwd,this.context.plugins)).getSpecial(n,{hideSecrets:!0,getNativePaths:!0}),g=Ie.convertMapsToIndexableObjects(u),f=s?(0,aoe.default)(g,s):g;return(await Ge.start({configuration:t,includeFooter:!1,stdout:this.context.stdout},async p=>{wT.inspect.styles.name="cyan",p.reportInfo(0,`Successfully set ${this.name} to ${(0,wT.inspect)(f,{depth:1/0,colors:t.get("enableColors"),compact:!1})}`)})).exitCode()}};tu.paths=[["config","set"]],tu.usage=ve.Usage({description:"change a configuration settings",details:` + `,examples:[["Print a simple configuration setting","yarn config get yarnPath"],["Print a complex configuration setting","yarn config get packageExtensions"],["Print a nested field from the configuration",`yarn config get 'npmScopes["my-company"].npmRegistryServer'`],["Print a token from the configuration","yarn config get npmAuthToken --no-redacted"],["Print a configuration setting as JSON","yarn config get packageExtensions --json"]]});var qoe=Pe(zT()),Joe=Pe(oQ()),Woe=Pe(joe()),VT=J("util"),Au=class extends De{constructor(){super(...arguments);this.json=z.Boolean("--json",!1,{description:"Set complex configuration settings to JSON values"});this.home=z.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=z.String();this.value=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i=()=>{if(!t.projectCwd)throw new be("This command must be run from within a project folder");return t.projectCwd},n=this.name.replace(/[.[].*$/,""),s=this.name.replace(/^[^.[]*\.?/,"");if(typeof t.settings.get(n)>"u")throw new be(`Couldn't find a configuration settings named "${n}"`);if(n==="enableStrictSettings")throw new be("This setting only affects the file it's in, and thus cannot be set from the CLI");let a=this.json?JSON.parse(this.value):this.value;await(this.home?p=>ye.updateHomeConfiguration(p):p=>ye.updateConfiguration(i(),p))(p=>{if(s){let C=(0,qoe.default)(p);return(0,Woe.default)(C,this.name,a),C}else return{...p,[n]:a}});let u=(await ye.find(this.context.cwd,this.context.plugins)).getSpecial(n,{hideSecrets:!0,getNativePaths:!0}),g=Ie.convertMapsToIndexableObjects(u),f=s?(0,Joe.default)(g,s):g;return(await Ge.start({configuration:t,includeFooter:!1,stdout:this.context.stdout},async p=>{VT.inspect.styles.name="cyan",p.reportInfo(0,`Successfully set ${this.name} to ${(0,VT.inspect)(f,{depth:1/0,colors:t.get("enableColors"),compact:!1})}`)})).exitCode()}};Au.paths=[["config","set"]],Au.usage=ve.Usage({description:"change a configuration settings",details:` This command will set a configuration setting. When used without the \`--json\` flag, it can only set a simple configuration setting (a string, a number, or a boolean). When used with the \`--json\` flag, it can set both simple and complex configuration settings, including Arrays and Objects. - `,examples:[["Set a simple configuration setting (a string, a number, or a boolean)","yarn config set initScope myScope"],["Set a simple configuration setting (a string, a number, or a boolean) using the `--json` flag",'yarn config set initScope --json \\"myScope\\"'],["Set a complex configuration setting (an Array) using the `--json` flag",`yarn config set unsafeHttpWhitelist --json '["*.example.com", "example.com"]'`],["Set a complex configuration setting (an Object) using the `--json` flag",`yarn config set packageExtensions --json '{ "@babel/parser@*": { "dependencies": { "@babel/types": "*" } } }'`],["Set a nested configuration setting",'yarn config set npmScopes.company.npmRegistryServer "https://npm.example.com"'],["Set a nested configuration setting using indexed access for non-simple keys",`yarn config set 'npmRegistries["//npm.example.com"].npmAuthToken' "ffffffff-ffff-ffff-ffff-ffffffffffff"`]]});var Coe=Pe(yT()),moe=Pe(_C()),Eoe=Pe(doe()),ru=class extends De{constructor(){super(...arguments);this.home=z.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i=()=>{if(!t.projectCwd)throw new be("This command must be run from within a project folder");return t.projectCwd},n=this.name.replace(/[.[].*$/,""),s=this.name.replace(/^[^.[]*\.?/,"");if(typeof t.settings.get(n)>"u")throw new be(`Couldn't find a configuration settings named "${n}"`);let a=this.home?c=>ye.updateHomeConfiguration(c):c=>ye.updateConfiguration(i(),c);return(await Ge.start({configuration:t,includeFooter:!1,stdout:this.context.stdout},async c=>{let u=!1;await a(g=>{if(!(0,moe.default)(g,this.name))return c.reportWarning(0,`Configuration doesn't contain setting ${this.name}; there is nothing to unset`),u=!0,g;let f=s?(0,Coe.default)(g):{...g};return(0,Eoe.default)(f,this.name),f}),u||c.reportInfo(0,`Successfully unset ${this.name}`)})).exitCode()}};ru.paths=[["config","unset"]],ru.usage=ve.Usage({description:"unset a configuration setting",details:` + `,examples:[["Set a simple configuration setting (a string, a number, or a boolean)","yarn config set initScope myScope"],["Set a simple configuration setting (a string, a number, or a boolean) using the `--json` flag",'yarn config set initScope --json \\"myScope\\"'],["Set a complex configuration setting (an Array) using the `--json` flag",`yarn config set unsafeHttpWhitelist --json '["*.example.com", "example.com"]'`],["Set a complex configuration setting (an Object) using the `--json` flag",`yarn config set packageExtensions --json '{ "@babel/parser@*": { "dependencies": { "@babel/types": "*" } } }'`],["Set a nested configuration setting",'yarn config set npmScopes.company.npmRegistryServer "https://npm.example.com"'],["Set a nested configuration setting using indexed access for non-simple keys",`yarn config set 'npmRegistries["//npm.example.com"].npmAuthToken' "ffffffff-ffff-ffff-ffff-ffffffffffff"`]]});var rae=Pe(zT()),iae=Pe(sm()),nae=Pe(tae()),lu=class extends De{constructor(){super(...arguments);this.home=z.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i=()=>{if(!t.projectCwd)throw new be("This command must be run from within a project folder");return t.projectCwd},n=this.name.replace(/[.[].*$/,""),s=this.name.replace(/^[^.[]*\.?/,"");if(typeof t.settings.get(n)>"u")throw new be(`Couldn't find a configuration settings named "${n}"`);let a=this.home?c=>ye.updateHomeConfiguration(c):c=>ye.updateConfiguration(i(),c);return(await Ge.start({configuration:t,includeFooter:!1,stdout:this.context.stdout},async c=>{let u=!1;await a(g=>{if(!(0,iae.default)(g,this.name))return c.reportWarning(0,`Configuration doesn't contain setting ${this.name}; there is nothing to unset`),u=!0,g;let f=s?(0,rae.default)(g):{...g};return(0,nae.default)(f,this.name),f}),u||c.reportInfo(0,`Successfully unset ${this.name}`)})).exitCode()}};lu.paths=[["config","unset"]],lu.usage=ve.Usage({description:"unset a configuration setting",details:` This command will unset a configuration setting. - `,examples:[["Unset a simple configuration setting","yarn config unset initScope"],["Unset a complex configuration setting","yarn config unset packageExtensions"],["Unset a nested configuration setting","yarn config unset npmScopes.company.npmRegistryServer"]]});var BT=J("util"),iu=class extends De{constructor(){super(...arguments);this.verbose=z.Boolean("-v,--verbose",!1,{description:"Print the setting description on top of the regular key/value information"});this.why=z.Boolean("--why",!1,{description:"Print the reason why a setting is set a particular way"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins,{strict:!1});return(await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout},async n=>{if(t.invalid.size>0&&!this.json){for(let[s,o]of t.invalid)n.reportError(34,`Invalid configuration key "${s}" in ${o}`);n.reportSeparator()}if(this.json){let s=Ie.sortMap(t.settings.keys(),o=>o);for(let o of s){let a=t.settings.get(o),l=t.getSpecial(o,{hideSecrets:!0,getNativePaths:!0}),c=t.sources.get(o);this.verbose?n.reportJson({key:o,effective:l,source:c}):n.reportJson({key:o,effective:l,source:c,...a})}}else{let s=Ie.sortMap(t.settings.keys(),l=>l),o=s.reduce((l,c)=>Math.max(l,c.length),0),a={breakLength:1/0,colors:t.get("enableColors"),maxArrayLength:2};if(this.why||this.verbose){let l=s.map(u=>{let g=t.settings.get(u);if(!g)throw new Error(`Assertion failed: This settings ("${u}") should have been registered`);let f=this.why?t.sources.get(u)||"":g.description;return[u,f]}),c=l.reduce((u,[,g])=>Math.max(u,g.length),0);for(let[u,g]of l)n.reportInfo(null,`${u.padEnd(o," ")} ${g.padEnd(c," ")} ${(0,BT.inspect)(t.getSpecial(u,{hideSecrets:!0,getNativePaths:!0}),a)}`)}else for(let l of s)n.reportInfo(null,`${l.padEnd(o," ")} ${(0,BT.inspect)(t.getSpecial(l,{hideSecrets:!0,getNativePaths:!0}),a)}`)}})).exitCode()}};iu.paths=[["config"]],iu.usage=ve.Usage({description:"display the current configuration",details:` + `,examples:[["Unset a simple configuration setting","yarn config unset initScope"],["Unset a complex configuration setting","yarn config unset packageExtensions"],["Unset a nested configuration setting","yarn config unset npmScopes.company.npmRegistryServer"]]});var XT=J("util"),cu=class extends De{constructor(){super(...arguments);this.verbose=z.Boolean("-v,--verbose",!1,{description:"Print the setting description on top of the regular key/value information"});this.why=z.Boolean("--why",!1,{description:"Print the reason why a setting is set a particular way"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins,{strict:!1});return(await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout},async n=>{if(t.invalid.size>0&&!this.json){for(let[s,o]of t.invalid)n.reportError(34,`Invalid configuration key "${s}" in ${o}`);n.reportSeparator()}if(this.json){let s=Ie.sortMap(t.settings.keys(),o=>o);for(let o of s){let a=t.settings.get(o),l=t.getSpecial(o,{hideSecrets:!0,getNativePaths:!0}),c=t.sources.get(o);this.verbose?n.reportJson({key:o,effective:l,source:c}):n.reportJson({key:o,effective:l,source:c,...a})}}else{let s=Ie.sortMap(t.settings.keys(),l=>l),o=s.reduce((l,c)=>Math.max(l,c.length),0),a={breakLength:1/0,colors:t.get("enableColors"),maxArrayLength:2};if(this.why||this.verbose){let l=s.map(u=>{let g=t.settings.get(u);if(!g)throw new Error(`Assertion failed: This settings ("${u}") should have been registered`);let f=this.why?t.sources.get(u)||"":g.description;return[u,f]}),c=l.reduce((u,[,g])=>Math.max(u,g.length),0);for(let[u,g]of l)n.reportInfo(null,`${u.padEnd(o," ")} ${g.padEnd(c," ")} ${(0,XT.inspect)(t.getSpecial(u,{hideSecrets:!0,getNativePaths:!0}),a)}`)}else for(let l of s)n.reportInfo(null,`${l.padEnd(o," ")} ${(0,XT.inspect)(t.getSpecial(l,{hideSecrets:!0,getNativePaths:!0}),a)}`)}})).exitCode()}};cu.paths=[["config"]],cu.usage=ve.Usage({description:"display the current configuration",details:` This command prints the current active configuration settings. - `,examples:[["Print the active configuration settings","$0 config"]]});ns();var fQ={};ut(fQ,{Strategy:()=>Nm,acceptedStrategies:()=>fWe,dedupe:()=>QT});var Ioe=Pe(yn()),Nm=(e=>(e.HIGHEST="highest",e))(Nm||{}),fWe=new Set(Object.values(Nm)),hWe={highest:async(r,e,{resolver:t,fetcher:i,resolveOptions:n,fetchOptions:s})=>{let o=new Map;for(let[a,l]of r.storedResolutions){let c=r.storedDescriptors.get(a);if(typeof c>"u")throw new Error(`Assertion failed: The descriptor (${a}) should have been registered`);Ie.getSetWithDefault(o,c.identHash).add(l)}return Array.from(r.storedDescriptors.values(),async a=>{if(e.length&&!Ioe.default.isMatch(P.stringifyIdent(a),e))return null;let l=r.storedResolutions.get(a.descriptorHash);if(typeof l>"u")throw new Error(`Assertion failed: The resolution (${a.descriptorHash}) should have been registered`);let c=r.originalPackages.get(l);if(typeof c>"u"||!t.shouldPersistResolution(c,n))return null;let u=o.get(a.identHash);if(typeof u>"u")throw new Error(`Assertion failed: The resolutions (${a.identHash}) should have been registered`);if(u.size===1)return null;let g=[...u].map(y=>{let B=r.originalPackages.get(y);if(typeof B>"u")throw new Error(`Assertion failed: The package (${y}) should have been registered`);return B.reference}),f=await t.getSatisfying(a,g,n),h=f==null?void 0:f[0];if(typeof h>"u")return null;let p=h.locatorHash,C=r.originalPackages.get(p);if(typeof C>"u")throw new Error(`Assertion failed: The package (${p}) should have been registered`);return p===l?null:{descriptor:a,currentPackage:c,updatedPackage:C}})}};async function QT(r,{strategy:e,patterns:t,cache:i,report:n}){let{configuration:s}=r,o=new ti,a=s.makeResolver(),l=s.makeFetcher(),c={cache:i,checksums:r.storedChecksums,fetcher:l,project:r,report:o,skipIntegrityCheck:!0,cacheOptions:{skipIntegrityCheck:!0}},u={project:r,resolver:a,report:o,fetchOptions:c};return await n.startTimerPromise("Deduplication step",async()=>{let g=hWe[e],f=await g(r,t,{resolver:a,resolveOptions:u,fetcher:l,fetchOptions:c}),h=Si.progressViaCounter(f.length);await n.reportProgress(h);let p=0;await Promise.all(f.map(B=>B.then(v=>{if(v===null)return;p++;let{descriptor:D,currentPackage:L,updatedPackage:H}=v;n.reportInfo(0,`${P.prettyDescriptor(s,D)} can be deduped from ${P.prettyLocator(s,L)} to ${P.prettyLocator(s,H)}`),n.reportJson({descriptor:P.stringifyDescriptor(D),currentResolution:P.stringifyLocator(L),updatedResolution:P.stringifyLocator(H)}),r.storedResolutions.set(D.descriptorHash,H.locatorHash)}).finally(()=>h.tick())));let C;switch(p){case 0:C="No packages";break;case 1:C="One package";break;default:C=`${p} packages`}let y=ee.pretty(s,e,ee.Type.CODE);return n.reportInfo(0,`${C} can be deduped using the ${y} strategy`),p})}var nu=class extends De{constructor(){super(...arguments);this.strategy=z.String("-s,--strategy","highest",{description:"The strategy to use when deduping dependencies",validator:Wi(Nm)});this.check=z.Boolean("-c,--check",!1,{description:"Exit with exit code 1 when duplicates are found, without persisting the dependency tree"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.mode=z.String("--mode",{description:"Change what artifacts installs generate",validator:Wi(Xn)});this.patterns=z.Rest()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i}=await je.find(t,this.context.cwd),n=await Rt.find(t);await i.restoreInstallState({restoreResolutions:!1});let s=0,o=await Ge.start({configuration:t,includeFooter:!1,stdout:this.context.stdout,json:this.json},async a=>{s=await QT(i,{strategy:this.strategy,patterns:this.patterns,cache:n,report:a})});return o.hasErrors()?o.exitCode():this.check?s?1:0:(await Ge.start({configuration:t,stdout:this.context.stdout,json:this.json},async l=>{await i.install({cache:n,report:l,mode:this.mode})})).exitCode()}};nu.paths=[["dedupe"]],nu.usage=ve.Usage({description:"deduplicate dependencies with overlapping ranges",details:"\n Duplicates are defined as descriptors with overlapping ranges being resolved and locked to different locators. They are a natural consequence of Yarn's deterministic installs, but they can sometimes pile up and unnecessarily increase the size of your project.\n\n This command dedupes dependencies in the current project using different strategies (only one is implemented at the moment):\n\n - `highest`: Reuses (where possible) the locators with the highest versions. This means that dependencies can only be upgraded, never downgraded. It's also guaranteed that it never takes more than a single pass to dedupe the entire dependency tree.\n\n **Note:** Even though it never produces a wrong dependency tree, this command should be used with caution, as it modifies the dependency tree, which can sometimes cause problems when packages don't strictly follow semver recommendations. Because of this, it is recommended to also review the changes manually.\n\n If set, the `-c,--check` flag will only report the found duplicates, without persisting the modified dependency tree. If changes are found, the command will exit with a non-zero exit code, making it suitable for CI purposes.\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n ### In-depth explanation:\n\n Yarn doesn't deduplicate dependencies by default, otherwise installs wouldn't be deterministic and the lockfile would be useless. What it actually does is that it tries to not duplicate dependencies in the first place.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@*`will cause Yarn to reuse `foo@2.3.4`, even if the latest `foo` is actually `foo@2.10.14`, thus preventing unnecessary duplication.\n\n Duplication happens when Yarn can't unlock dependencies that have already been locked inside the lockfile.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@2.10.14` will cause Yarn to install `foo@2.10.14` because the existing resolution doesn't satisfy the range `2.10.14`. This behavior can lead to (sometimes) unwanted duplication, since now the lockfile contains 2 separate resolutions for the 2 `foo` descriptors, even though they have overlapping ranges, which means that the lockfile can be simplified so that both descriptors resolve to `foo@2.10.14`.\n ",examples:[["Dedupe all packages","$0 dedupe"],["Dedupe all packages using a specific strategy","$0 dedupe --strategy highest"],["Dedupe a specific package","$0 dedupe lodash"],["Dedupe all packages with the `@babel/*` scope","$0 dedupe '@babel/*'"],["Check for duplicates (can be used as a CI step)","$0 dedupe --check"]]});var Oh=class extends De{async execute(){let{plugins:e}=await ye.find(this.context.cwd,this.context.plugins),t=[];for(let o of e){let{commands:a}=o[1];if(a){let c=Kn.from(a).definitions();t.push([o[0],c])}}let i=this.cli.definitions(),n=(o,a)=>o.split(" ").slice(1).join()===a.split(" ").slice(1).join(),s=yoe()["@yarnpkg/builder"].bundles.standard;for(let o of t){let a=o[1];for(let l of a)i.find(c=>n(c.path,l.path)).plugin={name:o[0],isDefault:s.includes(o[0])}}this.context.stdout.write(`${JSON.stringify(i,null,2)} -`)}};Oh.paths=[["--clipanion=definitions"]];var Mh=class extends De{async execute(){this.context.stdout.write(this.cli.usage(null))}};Mh.paths=[["help"],["--help"],["-h"]];var Lm=class extends De{constructor(){super(...arguments);this.leadingArgument=z.String();this.args=z.Proxy()}async execute(){if(this.leadingArgument.match(/[\\/]/)&&!P.tryParseIdent(this.leadingArgument)){let t=x.resolve(this.context.cwd,K.toPortablePath(this.leadingArgument));return await this.cli.run(this.args,{cwd:t})}else return await this.cli.run(["run",this.leadingArgument,...this.args])}};var Kh=class extends De{async execute(){this.context.stdout.write(`${Lr||""} -`)}};Kh.paths=[["-v"],["--version"]];var su=class extends De{constructor(){super(...arguments);this.commandName=z.String();this.args=z.Proxy()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,locator:n}=await je.find(t,this.context.cwd);return await i.restoreInstallState(),await Jt.executePackageShellcode(n,this.commandName,this.args,{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,project:i})}};su.paths=[["exec"]],su.usage=ve.Usage({description:"execute a shell script",details:` + `,examples:[["Print the active configuration settings","$0 config"]]});as();var PQ={};ut(PQ,{Strategy:()=>Gm,acceptedStrategies:()=>m4e,dedupe:()=>ZT});var sae=Pe(yn()),Gm=(e=>(e.HIGHEST="highest",e))(Gm||{}),m4e=new Set(Object.values(Gm)),E4e={highest:async(r,e,{resolver:t,fetcher:i,resolveOptions:n,fetchOptions:s})=>{let o=new Map;for(let[a,l]of r.storedResolutions){let c=r.storedDescriptors.get(a);if(typeof c>"u")throw new Error(`Assertion failed: The descriptor (${a}) should have been registered`);Ie.getSetWithDefault(o,c.identHash).add(l)}return Array.from(r.storedDescriptors.values(),async a=>{if(e.length&&!sae.default.isMatch(P.stringifyIdent(a),e))return null;let l=r.storedResolutions.get(a.descriptorHash);if(typeof l>"u")throw new Error(`Assertion failed: The resolution (${a.descriptorHash}) should have been registered`);let c=r.originalPackages.get(l);if(typeof c>"u"||!t.shouldPersistResolution(c,n))return null;let u=o.get(a.identHash);if(typeof u>"u")throw new Error(`Assertion failed: The resolutions (${a.identHash}) should have been registered`);if(u.size===1)return null;let g=[...u].map(y=>{let B=r.originalPackages.get(y);if(typeof B>"u")throw new Error(`Assertion failed: The package (${y}) should have been registered`);return B.reference}),f=await t.getSatisfying(a,g,n),h=f==null?void 0:f[0];if(typeof h>"u")return null;let p=h.locatorHash,C=r.originalPackages.get(p);if(typeof C>"u")throw new Error(`Assertion failed: The package (${p}) should have been registered`);return p===l?null:{descriptor:a,currentPackage:c,updatedPackage:C}})}};async function ZT(r,{strategy:e,patterns:t,cache:i,report:n}){let{configuration:s}=r,o=new ti,a=s.makeResolver(),l=s.makeFetcher(),c={cache:i,checksums:r.storedChecksums,fetcher:l,project:r,report:o,skipIntegrityCheck:!0,cacheOptions:{skipIntegrityCheck:!0}},u={project:r,resolver:a,report:o,fetchOptions:c};return await n.startTimerPromise("Deduplication step",async()=>{let g=E4e[e],f=await g(r,t,{resolver:a,resolveOptions:u,fetcher:l,fetchOptions:c}),h=vi.progressViaCounter(f.length);await n.reportProgress(h);let p=0;await Promise.all(f.map(B=>B.then(v=>{if(v===null)return;p++;let{descriptor:D,currentPackage:L,updatedPackage:H}=v;n.reportInfo(0,`${P.prettyDescriptor(s,D)} can be deduped from ${P.prettyLocator(s,L)} to ${P.prettyLocator(s,H)}`),n.reportJson({descriptor:P.stringifyDescriptor(D),currentResolution:P.stringifyLocator(L),updatedResolution:P.stringifyLocator(H)}),r.storedResolutions.set(D.descriptorHash,H.locatorHash)}).finally(()=>h.tick())));let C;switch(p){case 0:C="No packages";break;case 1:C="One package";break;default:C=`${p} packages`}let y=ee.pretty(s,e,ee.Type.CODE);return n.reportInfo(0,`${C} can be deduped using the ${y} strategy`),p})}var uu=class extends De{constructor(){super(...arguments);this.strategy=z.String("-s,--strategy","highest",{description:"The strategy to use when deduping dependencies",validator:Vi(Gm)});this.check=z.Boolean("-c,--check",!1,{description:"Exit with exit code 1 when duplicates are found, without persisting the dependency tree"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.mode=z.String("--mode",{description:"Change what artifacts installs generate",validator:Vi($n)});this.patterns=z.Rest()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i}=await je.find(t,this.context.cwd),n=await Rt.find(t);await i.restoreInstallState({restoreResolutions:!1});let s=0,o=await Ge.start({configuration:t,includeFooter:!1,stdout:this.context.stdout,json:this.json},async a=>{s=await ZT(i,{strategy:this.strategy,patterns:this.patterns,cache:n,report:a})});return o.hasErrors()?o.exitCode():this.check?s?1:0:(await Ge.start({configuration:t,stdout:this.context.stdout,json:this.json},async l=>{await i.install({cache:n,report:l,mode:this.mode})})).exitCode()}};uu.paths=[["dedupe"]],uu.usage=ve.Usage({description:"deduplicate dependencies with overlapping ranges",details:"\n Duplicates are defined as descriptors with overlapping ranges being resolved and locked to different locators. They are a natural consequence of Yarn's deterministic installs, but they can sometimes pile up and unnecessarily increase the size of your project.\n\n This command dedupes dependencies in the current project using different strategies (only one is implemented at the moment):\n\n - `highest`: Reuses (where possible) the locators with the highest versions. This means that dependencies can only be upgraded, never downgraded. It's also guaranteed that it never takes more than a single pass to dedupe the entire dependency tree.\n\n **Note:** Even though it never produces a wrong dependency tree, this command should be used with caution, as it modifies the dependency tree, which can sometimes cause problems when packages don't strictly follow semver recommendations. Because of this, it is recommended to also review the changes manually.\n\n If set, the `-c,--check` flag will only report the found duplicates, without persisting the modified dependency tree. If changes are found, the command will exit with a non-zero exit code, making it suitable for CI purposes.\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n ### In-depth explanation:\n\n Yarn doesn't deduplicate dependencies by default, otherwise installs wouldn't be deterministic and the lockfile would be useless. What it actually does is that it tries to not duplicate dependencies in the first place.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@*`will cause Yarn to reuse `foo@2.3.4`, even if the latest `foo` is actually `foo@2.10.14`, thus preventing unnecessary duplication.\n\n Duplication happens when Yarn can't unlock dependencies that have already been locked inside the lockfile.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@2.10.14` will cause Yarn to install `foo@2.10.14` because the existing resolution doesn't satisfy the range `2.10.14`. This behavior can lead to (sometimes) unwanted duplication, since now the lockfile contains 2 separate resolutions for the 2 `foo` descriptors, even though they have overlapping ranges, which means that the lockfile can be simplified so that both descriptors resolve to `foo@2.10.14`.\n ",examples:[["Dedupe all packages","$0 dedupe"],["Dedupe all packages using a specific strategy","$0 dedupe --strategy highest"],["Dedupe a specific package","$0 dedupe lodash"],["Dedupe all packages with the `@babel/*` scope","$0 dedupe '@babel/*'"],["Check for duplicates (can be used as a CI step)","$0 dedupe --check"]]});var Jh=class extends De{async execute(){let{plugins:e}=await ye.find(this.context.cwd,this.context.plugins),t=[];for(let o of e){let{commands:a}=o[1];if(a){let c=Un.from(a).definitions();t.push([o[0],c])}}let i=this.cli.definitions(),n=(o,a)=>o.split(" ").slice(1).join()===a.split(" ").slice(1).join(),s=oae()["@yarnpkg/builder"].bundles.standard;for(let o of t){let a=o[1];for(let l of a)i.find(c=>n(c.path,l.path)).plugin={name:o[0],isDefault:s.includes(o[0])}}this.context.stdout.write(`${JSON.stringify(i,null,2)} +`)}};Jh.paths=[["--clipanion=definitions"]];var Wh=class extends De{async execute(){this.context.stdout.write(this.cli.usage(null))}};Wh.paths=[["help"],["--help"],["-h"]];var Ym=class extends De{constructor(){super(...arguments);this.leadingArgument=z.String();this.args=z.Proxy()}async execute(){if(this.leadingArgument.match(/[\\/]/)&&!P.tryParseIdent(this.leadingArgument)){let t=x.resolve(this.context.cwd,K.toPortablePath(this.leadingArgument));return await this.cli.run(this.args,{cwd:t})}else return await this.cli.run(["run",this.leadingArgument,...this.args])}};var zh=class extends De{async execute(){this.context.stdout.write(`${Lr||""} +`)}};zh.paths=[["-v"],["--version"]];var gu=class extends De{constructor(){super(...arguments);this.commandName=z.String();this.args=z.Proxy()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,locator:n}=await je.find(t,this.context.cwd);return await i.restoreInstallState(),await Wt.executePackageShellcode(n,this.commandName,this.args,{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,project:i})}};gu.paths=[["exec"]],gu.usage=ve.Usage({description:"execute a shell script",details:` This command simply executes a shell script within the context of the root directory of the active workspace using the portable shell. It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment). - `,examples:[["Execute a single shell command","$0 exec echo Hello World"],["Execute a shell script",'$0 exec "tsc & babel src --out-dir lib"']]});ns();var ou=class extends De{constructor(){super(...arguments);this.hash=z.String({required:!1,validator:zp(Wp(),[Vp(/^p[0-9a-f]{5}$/)])})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i}=await je.find(t,this.context.cwd);return await i.restoreInstallState({restoreResolutions:!1}),await i.applyLightResolution(),typeof this.hash<"u"?await dWe(this.hash,i,{stdout:this.context.stdout}):(await Ge.start({configuration:t,stdout:this.context.stdout,includeFooter:!1},async s=>{var a;let o=[([,l])=>P.stringifyLocator(i.storedPackages.get(l.subject)),([,l])=>P.stringifyIdent(l.requested)];for(let[l,c]of Ie.sortMap(i.peerRequirements,o)){let u=i.storedPackages.get(c.subject);if(typeof u>"u")throw new Error("Assertion failed: Expected the subject package to have been registered");let g=i.storedPackages.get(c.rootRequester);if(typeof g>"u")throw new Error("Assertion failed: Expected the root package to have been registered");let f=(a=u.dependencies.get(c.requested.identHash))!=null?a:null,h=ee.pretty(t,l,ee.Type.CODE),p=P.prettyLocator(t,u),C=P.prettyIdent(t,c.requested),y=P.prettyIdent(t,g),B=c.allRequesters.length-1,v=`descendant${B===1?"":"s"}`,D=B>0?` and ${B} ${v}`:"",L=f!==null?"provides":"doesn't provide";s.reportInfo(null,`${h} \u2192 ${p} ${L} ${C} to ${y}${D}`)}})).exitCode()}};ou.paths=[["explain","peer-requirements"]],ou.usage=ve.Usage({description:"explain a set of peer requirements",details:` + `,examples:[["Execute a single shell command","$0 exec echo Hello World"],["Execute a shell script",'$0 exec "tsc & babel src --out-dir lib"']]});as();var fu=class extends De{constructor(){super(...arguments);this.hash=z.String({required:!1,validator:nd(id(),[sd(/^p[0-9a-f]{5}$/)])})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i}=await je.find(t,this.context.cwd);return await i.restoreInstallState({restoreResolutions:!1}),await i.applyLightResolution(),typeof this.hash<"u"?await y4e(this.hash,i,{stdout:this.context.stdout}):(await Ge.start({configuration:t,stdout:this.context.stdout,includeFooter:!1},async s=>{var a;let o=[([,l])=>P.stringifyLocator(i.storedPackages.get(l.subject)),([,l])=>P.stringifyIdent(l.requested)];for(let[l,c]of Ie.sortMap(i.peerRequirements,o)){let u=i.storedPackages.get(c.subject);if(typeof u>"u")throw new Error("Assertion failed: Expected the subject package to have been registered");let g=i.storedPackages.get(c.rootRequester);if(typeof g>"u")throw new Error("Assertion failed: Expected the root package to have been registered");let f=(a=u.dependencies.get(c.requested.identHash))!=null?a:null,h=ee.pretty(t,l,ee.Type.CODE),p=P.prettyLocator(t,u),C=P.prettyIdent(t,c.requested),y=P.prettyIdent(t,g),B=c.allRequesters.length-1,v=`descendant${B===1?"":"s"}`,D=B>0?` and ${B} ${v}`:"",L=f!==null?"provides":"doesn't provide";s.reportInfo(null,`${h} \u2192 ${p} ${L} ${C} to ${y}${D}`)}})).exitCode()}};fu.paths=[["explain","peer-requirements"]],fu.usage=ve.Usage({description:"explain a set of peer requirements",details:` A set of peer requirements represents all peer requirements that a dependent must satisfy when providing a given peer request to a requester and its descendants. When the hash argument is specified, this command prints a detailed explanation of all requirements of the set corresponding to the hash and whether they're satisfied or not. @@ -482,9 +482,9 @@ Try running the command again with the package name prefixed: ${ee.pretty(t,"yar When used without arguments, this command lists all sets of peer requirements and the corresponding hash that can be used to get detailed information about a given set. **Note:** A hash is a six-letter p-prefixed code that can be obtained from peer dependency warnings or from the list of all peer requirements (\`yarn explain peer-requirements\`). - `,examples:[["Explain the corresponding set of peer requirements for a hash","$0 explain peer-requirements p1a4ed"],["List all sets of peer requirements","$0 explain peer-requirements"]]});async function dWe(r,e,t){let{configuration:i}=e,n=e.peerRequirements.get(r);if(typeof n>"u")throw new Error(`No peerDependency requirements found for hash: "${r}"`);return(await Ge.start({configuration:i,stdout:t.stdout,includeFooter:!1},async o=>{var B,v;let a=e.storedPackages.get(n.subject);if(typeof a>"u")throw new Error("Assertion failed: Expected the subject package to have been registered");let l=e.storedPackages.get(n.rootRequester);if(typeof l>"u")throw new Error("Assertion failed: Expected the root package to have been registered");let c=(B=a.dependencies.get(n.requested.identHash))!=null?B:null,u=c!==null?e.storedResolutions.get(c.descriptorHash):null;if(typeof u>"u")throw new Error("Assertion failed: Expected the resolution to have been registered");let g=u!==null?e.storedPackages.get(u):null;if(typeof g>"u")throw new Error("Assertion failed: Expected the provided package to have been registered");let f=[...n.allRequesters.values()].map(D=>{let L=e.storedPackages.get(D);if(typeof L>"u")throw new Error("Assertion failed: Expected the package to be registered");let H=P.devirtualizeLocator(L),j=e.storedPackages.get(H.locatorHash);if(typeof j>"u")throw new Error("Assertion failed: Expected the package to be registered");let $=j.peerDependencies.get(n.requested.identHash);if(typeof $>"u")throw new Error("Assertion failed: Expected the peer dependency to be registered");return{pkg:L,peerDependency:$}});if(g!==null){let D=f.every(({peerDependency:L})=>vt.satisfiesWithPrereleases(g.version,L.range));o.reportInfo(0,`${P.prettyLocator(i,a)} provides ${P.prettyLocator(i,g)} with version ${P.prettyReference(i,(v=g.version)!=null?v:"")}, which ${D?"satisfies":"doesn't satisfy"} the following requirements:`)}else o.reportInfo(0,`${P.prettyLocator(i,a)} doesn't provide ${P.prettyIdent(i,n.requested)}, breaking the following requirements:`);o.reportSeparator();let h=ee.mark(i),p=[];for(let{pkg:D,peerDependency:L}of Ie.sortMap(f,H=>P.stringifyLocator(H.pkg))){let j=(g!==null?vt.satisfiesWithPrereleases(g.version,L.range):!1)?h.Check:h.Cross;p.push({stringifiedLocator:P.stringifyLocator(D),prettyLocator:P.prettyLocator(i,D),prettyRange:P.prettyRange(i,L.range),mark:j})}let C=Math.max(...p.map(({stringifiedLocator:D})=>D.length)),y=Math.max(...p.map(({prettyRange:D})=>D.length));for(let{stringifiedLocator:D,prettyLocator:L,prettyRange:H,mark:j}of Ie.sortMap(p,({stringifiedLocator:$})=>$))o.reportInfo(null,`${L.padEnd(C+(L.length-D.length)," ")} \u2192 ${H.padEnd(y," ")} ${j}`);p.length>1&&(o.reportSeparator(),o.reportInfo(0,`Note: these requirements start with ${P.prettyLocator(e.configuration,l)}`))})).exitCode()}ns();var woe=Pe(Xr()),au=class extends De{constructor(){super(...arguments);this.onlyIfNeeded=z.Boolean("--only-if-needed",!1,{description:"Only lock the Yarn version if it isn't already locked"});this.version=z.String()}async execute(){var o;let t=await ye.find(this.context.cwd,this.context.plugins);if(this.onlyIfNeeded&&t.get("yarnPath")){let a=t.sources.get("yarnPath");if(!a)throw new Error("Assertion failed: Expected 'yarnPath' to have a source");let l=(o=t.projectCwd)!=null?o:t.startingCwd;if(x.contains(l,a))return 0}let i=()=>{if(typeof Lr>"u")throw new be("The --install flag can only be used without explicit version specifier from the Yarn CLI");return`file://${process.argv[1]}`},n;if(this.version==="self")n=i();else if(this.version==="latest"||this.version==="berry"||this.version==="stable")n=`https://repo.yarnpkg.com/${await Tm(t,"stable")}/packages/yarnpkg-cli/bin/yarn.js`;else if(this.version==="canary")n=`https://repo.yarnpkg.com/${await Tm(t,"canary")}/packages/yarnpkg-cli/bin/yarn.js`;else if(this.version==="classic")n="https://classic.yarnpkg.com/latest.js";else if(this.version.match(/^https?:/))n=this.version;else if(this.version.match(/^\.{0,2}[\\/]/)||K.isAbsolute(this.version))n=`file://${K.resolve(this.version)}`;else if(vt.satisfiesWithPrereleases(this.version,">=2.0.0"))n=`https://repo.yarnpkg.com/${this.version}/packages/yarnpkg-cli/bin/yarn.js`;else if(vt.satisfiesWithPrereleases(this.version,"^0.x || ^1.x"))n=`https://github.com/yarnpkg/yarn/releases/download/v${this.version}/yarn-${this.version}.js`;else if(vt.validRange(this.version))n=`https://repo.yarnpkg.com/${await CWe(t,this.version)}/packages/yarnpkg-cli/bin/yarn.js`;else throw new be(`Invalid version descriptor "${this.version}"`);return(await Ge.start({configuration:t,stdout:this.context.stdout,includeLogs:!this.context.quiet},async a=>{let l="file://",c;n.startsWith(l)?(a.reportInfo(0,`Downloading ${ee.pretty(t,n,vi.URL)}`),c=await M.readFilePromise(K.toPortablePath(n.slice(l.length)))):(a.reportInfo(0,`Retrieving ${ee.pretty(t,n,vi.PATH)}`),c=await Vt.get(n,{configuration:t})),await bT(t,null,c,{report:a})})).exitCode()}};au.paths=[["set","version"]],au.usage=ve.Usage({description:"lock the Yarn version used by the project",details:"\n This command will download a specific release of Yarn directly from the Yarn GitHub repository, will store it inside your project, and will change the `yarnPath` settings from your project `.yarnrc.yml` file to point to the new file.\n\n A very good use case for this command is to enforce the version of Yarn used by the any single member of your team inside a same project - by doing this you ensure that you have control on Yarn upgrades and downgrades (including on your deployment servers), and get rid of most of the headaches related to someone using a slightly different version and getting a different behavior than you.\n\n The version specifier can be:\n\n - a tag:\n - `latest` / `berry` / `stable` -> the most recent stable berry (`>=2.0.0`) release\n - `canary` -> the most recent canary (release candidate) berry (`>=2.0.0`) release\n - `classic` -> the most recent classic (`^0.x || ^1.x`) release\n\n - a semver range (e.g. `2.x`) -> the most recent version satisfying the range (limited to berry releases)\n\n - a semver version (e.g. `2.4.1`, `1.22.1`)\n\n - a local file referenced through either a relative or absolute path\n\n - `self` -> the version used to invoke the command\n ",examples:[["Download the latest release from the Yarn repository","$0 set version latest"],["Download the latest canary release from the Yarn repository","$0 set version canary"],["Download the latest classic release from the Yarn repository","$0 set version classic"],["Download the most recent Yarn 3 build","$0 set version 3.x"],["Download a specific Yarn 2 build","$0 set version 2.0.0-rc.30"],["Switch back to a specific Yarn 1 release","$0 set version 1.22.1"],["Use a release from the local filesystem","$0 set version ./yarn.cjs"],["Use a release from a URL","$0 set version https://repo.yarnpkg.com/3.1.0/packages/yarnpkg-cli/bin/yarn.js"],["Download the version used to invoke the command","$0 set version self"]]});async function CWe(r,e){let i=(await Vt.get("https://repo.yarnpkg.com/tags",{configuration:r,jsonResponse:!0})).tags.filter(n=>vt.satisfiesWithPrereleases(n,e));if(i.length===0)throw new be(`No matching release found for range ${ee.pretty(r,e,ee.Type.RANGE)}.`);return i[0]}async function Tm(r,e){let t=await Vt.get("https://repo.yarnpkg.com/tags",{configuration:r,jsonResponse:!0});if(!t.latest[e])throw new be(`Tag ${ee.pretty(r,e,ee.Type.RANGE)} not found`);return t.latest[e]}async function bT(r,e,t,{report:i}){var h;e===null&&await M.mktempPromise(async p=>{let C=x.join(p,"yarn.cjs");await M.writeFilePromise(C,t);let{stdout:y}=await Cr.execvp(process.execPath,[K.fromPortablePath(C),"--version"],{cwd:p,env:{...process.env,YARN_IGNORE_PATH:"1"}});if(e=y.trim(),!woe.default.valid(e))throw new Error(`Invalid semver version. ${ee.pretty(r,"yarn --version",ee.Type.CODE)} returned: -${e}`)});let n=(h=r.projectCwd)!=null?h:r.startingCwd,s=x.resolve(n,".yarn/releases"),o=x.resolve(s,`yarn-${e}.cjs`),a=x.relative(r.startingCwd,o),l=x.relative(n,o);i.reportInfo(0,`Saving the new release in ${ee.pretty(r,a,"magenta")}`),await M.removePromise(x.dirname(o)),await M.mkdirPromise(x.dirname(o),{recursive:!0}),await M.writeFilePromise(o,t,{mode:493}),await ye.updateConfiguration(n,{yarnPath:l});let c=await ot.tryFind(n)||new ot;c.packageManager=`yarn@${e&&Ie.isTaggedYarnVersion(e)?e:await Tm(r,"stable")}`;let u={};c.exportTo(u);let g=x.join(n,ot.fileName),f=`${JSON.stringify(u,null,c.indent)} -`;await M.changeFilePromise(g,f,{automaticNewlines:!0})}function Boe(r){return Ct[QI(r)]}var mWe=/## (?YN[0-9]{4}) - `(?[A-Z_]+)`\n\n(?
(?:.(?!##))+)/gs;async function EWe(r){let t=`https://repo.yarnpkg.com/${Ie.isTaggedYarnVersion(Lr)?Lr:await Tm(r,"canary")}/packages/gatsby/content/advanced/error-codes.md`,i=await Vt.get(t,{configuration:r});return new Map(Array.from(i.toString().matchAll(mWe),({groups:n})=>{if(!n)throw new Error("Assertion failed: Expected the match to have been successful");let s=Boe(n.code);if(n.name!==s)throw new Error(`Assertion failed: Invalid error code data: Expected "${n.name}" to be named "${s}"`);return[n.code,n.details]}))}var Au=class extends De{constructor(){super(...arguments);this.code=z.String({required:!1,validator:zp(Wp(),[Vp(/^YN[0-9]{4}$/)])});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins);if(typeof this.code<"u"){let i=Boe(this.code),n=ee.pretty(t,i,ee.Type.CODE),s=this.cli.format().header(`${this.code} - ${n}`),a=(await EWe(t)).get(this.code),l=typeof a<"u"?ee.jsonOrPretty(this.json,t,ee.tuple(ee.Type.MARKDOWN,{text:a,format:this.cli.format(),paragraphs:!0})):`This error code does not have a description. + `,examples:[["Explain the corresponding set of peer requirements for a hash","$0 explain peer-requirements p1a4ed"],["List all sets of peer requirements","$0 explain peer-requirements"]]});async function y4e(r,e,t){let{configuration:i}=e,n=e.peerRequirements.get(r);if(typeof n>"u")throw new Error(`No peerDependency requirements found for hash: "${r}"`);return(await Ge.start({configuration:i,stdout:t.stdout,includeFooter:!1},async o=>{var B,v;let a=e.storedPackages.get(n.subject);if(typeof a>"u")throw new Error("Assertion failed: Expected the subject package to have been registered");let l=e.storedPackages.get(n.rootRequester);if(typeof l>"u")throw new Error("Assertion failed: Expected the root package to have been registered");let c=(B=a.dependencies.get(n.requested.identHash))!=null?B:null,u=c!==null?e.storedResolutions.get(c.descriptorHash):null;if(typeof u>"u")throw new Error("Assertion failed: Expected the resolution to have been registered");let g=u!==null?e.storedPackages.get(u):null;if(typeof g>"u")throw new Error("Assertion failed: Expected the provided package to have been registered");let f=[...n.allRequesters.values()].map(D=>{let L=e.storedPackages.get(D);if(typeof L>"u")throw new Error("Assertion failed: Expected the package to be registered");let H=P.devirtualizeLocator(L),j=e.storedPackages.get(H.locatorHash);if(typeof j>"u")throw new Error("Assertion failed: Expected the package to be registered");let $=j.peerDependencies.get(n.requested.identHash);if(typeof $>"u")throw new Error("Assertion failed: Expected the peer dependency to be registered");return{pkg:L,peerDependency:$}});if(g!==null){let D=f.every(({peerDependency:L})=>vt.satisfiesWithPrereleases(g.version,L.range));o.reportInfo(0,`${P.prettyLocator(i,a)} provides ${P.prettyLocator(i,g)} with version ${P.prettyReference(i,(v=g.version)!=null?v:"")}, which ${D?"satisfies":"doesn't satisfy"} the following requirements:`)}else o.reportInfo(0,`${P.prettyLocator(i,a)} doesn't provide ${P.prettyIdent(i,n.requested)}, breaking the following requirements:`);o.reportSeparator();let h=ee.mark(i),p=[];for(let{pkg:D,peerDependency:L}of Ie.sortMap(f,H=>P.stringifyLocator(H.pkg))){let j=(g!==null?vt.satisfiesWithPrereleases(g.version,L.range):!1)?h.Check:h.Cross;p.push({stringifiedLocator:P.stringifyLocator(D),prettyLocator:P.prettyLocator(i,D),prettyRange:P.prettyRange(i,L.range),mark:j})}let C=Math.max(...p.map(({stringifiedLocator:D})=>D.length)),y=Math.max(...p.map(({prettyRange:D})=>D.length));for(let{stringifiedLocator:D,prettyLocator:L,prettyRange:H,mark:j}of Ie.sortMap(p,({stringifiedLocator:$})=>$))o.reportInfo(null,`${L.padEnd(C+(L.length-D.length)," ")} \u2192 ${H.padEnd(y," ")} ${j}`);p.length>1&&(o.reportSeparator(),o.reportInfo(0,`Note: these requirements start with ${P.prettyLocator(e.configuration,l)}`))})).exitCode()}as();var aae=Pe(Xr()),hu=class extends De{constructor(){super(...arguments);this.onlyIfNeeded=z.Boolean("--only-if-needed",!1,{description:"Only lock the Yarn version if it isn't already locked"});this.version=z.String()}async execute(){var o;let t=await ye.find(this.context.cwd,this.context.plugins);if(this.onlyIfNeeded&&t.get("yarnPath")){let a=t.sources.get("yarnPath");if(!a)throw new Error("Assertion failed: Expected 'yarnPath' to have a source");let l=(o=t.projectCwd)!=null?o:t.startingCwd;if(x.contains(l,a))return 0}let i=()=>{if(typeof Lr>"u")throw new be("The --install flag can only be used without explicit version specifier from the Yarn CLI");return`file://${process.argv[1]}`},n;if(this.version==="self")n=i();else if(this.version==="latest"||this.version==="berry"||this.version==="stable")n=`https://repo.yarnpkg.com/${await jm(t,"stable")}/packages/yarnpkg-cli/bin/yarn.js`;else if(this.version==="canary")n=`https://repo.yarnpkg.com/${await jm(t,"canary")}/packages/yarnpkg-cli/bin/yarn.js`;else if(this.version==="classic")n="https://classic.yarnpkg.com/latest.js";else if(this.version.match(/^https?:/))n=this.version;else if(this.version.match(/^\.{0,2}[\\/]/)||K.isAbsolute(this.version))n=`file://${K.resolve(this.version)}`;else if(vt.satisfiesWithPrereleases(this.version,">=2.0.0"))n=`https://repo.yarnpkg.com/${this.version}/packages/yarnpkg-cli/bin/yarn.js`;else if(vt.satisfiesWithPrereleases(this.version,"^0.x || ^1.x"))n=`https://github.com/yarnpkg/yarn/releases/download/v${this.version}/yarn-${this.version}.js`;else if(vt.validRange(this.version))n=`https://repo.yarnpkg.com/${await w4e(t,this.version)}/packages/yarnpkg-cli/bin/yarn.js`;else throw new be(`Invalid version descriptor "${this.version}"`);return(await Ge.start({configuration:t,stdout:this.context.stdout,includeLogs:!this.context.quiet},async a=>{let l="file://",c;n.startsWith(l)?(a.reportInfo(0,`Downloading ${ee.pretty(t,n,xi.URL)}`),c=await M.readFilePromise(K.toPortablePath(n.slice(l.length)))):(a.reportInfo(0,`Retrieving ${ee.pretty(t,n,xi.PATH)}`),c=await Xt.get(n,{configuration:t})),await _T(t,null,c,{report:a})})).exitCode()}};hu.paths=[["set","version"]],hu.usage=ve.Usage({description:"lock the Yarn version used by the project",details:"\n This command will download a specific release of Yarn directly from the Yarn GitHub repository, will store it inside your project, and will change the `yarnPath` settings from your project `.yarnrc.yml` file to point to the new file.\n\n A very good use case for this command is to enforce the version of Yarn used by the any single member of your team inside a same project - by doing this you ensure that you have control on Yarn upgrades and downgrades (including on your deployment servers), and get rid of most of the headaches related to someone using a slightly different version and getting a different behavior than you.\n\n The version specifier can be:\n\n - a tag:\n - `latest` / `berry` / `stable` -> the most recent stable berry (`>=2.0.0`) release\n - `canary` -> the most recent canary (release candidate) berry (`>=2.0.0`) release\n - `classic` -> the most recent classic (`^0.x || ^1.x`) release\n\n - a semver range (e.g. `2.x`) -> the most recent version satisfying the range (limited to berry releases)\n\n - a semver version (e.g. `2.4.1`, `1.22.1`)\n\n - a local file referenced through either a relative or absolute path\n\n - `self` -> the version used to invoke the command\n ",examples:[["Download the latest release from the Yarn repository","$0 set version latest"],["Download the latest canary release from the Yarn repository","$0 set version canary"],["Download the latest classic release from the Yarn repository","$0 set version classic"],["Download the most recent Yarn 3 build","$0 set version 3.x"],["Download a specific Yarn 2 build","$0 set version 2.0.0-rc.30"],["Switch back to a specific Yarn 1 release","$0 set version 1.22.1"],["Use a release from the local filesystem","$0 set version ./yarn.cjs"],["Use a release from a URL","$0 set version https://repo.yarnpkg.com/3.1.0/packages/yarnpkg-cli/bin/yarn.js"],["Download the version used to invoke the command","$0 set version self"]]});async function w4e(r,e){let i=(await Xt.get("https://repo.yarnpkg.com/tags",{configuration:r,jsonResponse:!0})).tags.filter(n=>vt.satisfiesWithPrereleases(n,e));if(i.length===0)throw new be(`No matching release found for range ${ee.pretty(r,e,ee.Type.RANGE)}.`);return i[0]}async function jm(r,e){let t=await Xt.get("https://repo.yarnpkg.com/tags",{configuration:r,jsonResponse:!0});if(!t.latest[e])throw new be(`Tag ${ee.pretty(r,e,ee.Type.RANGE)} not found`);return t.latest[e]}async function _T(r,e,t,{report:i}){var h;e===null&&await M.mktempPromise(async p=>{let C=x.join(p,"yarn.cjs");await M.writeFilePromise(C,t);let{stdout:y}=await Cr.execvp(process.execPath,[K.fromPortablePath(C),"--version"],{cwd:p,env:{...process.env,YARN_IGNORE_PATH:"1"}});if(e=y.trim(),!aae.default.valid(e))throw new Error(`Invalid semver version. ${ee.pretty(r,"yarn --version",ee.Type.CODE)} returned: +${e}`)});let n=(h=r.projectCwd)!=null?h:r.startingCwd,s=x.resolve(n,".yarn/releases"),o=x.resolve(s,`yarn-${e}.cjs`),a=x.relative(r.startingCwd,o),l=x.relative(n,o);i.reportInfo(0,`Saving the new release in ${ee.pretty(r,a,"magenta")}`),await M.removePromise(x.dirname(o)),await M.mkdirPromise(x.dirname(o),{recursive:!0}),await M.writeFilePromise(o,t,{mode:493}),await ye.updateConfiguration(n,{yarnPath:l});let c=await ot.tryFind(n)||new ot;c.packageManager=`yarn@${e&&Ie.isTaggedYarnVersion(e)?e:await jm(r,"stable")}`;let u={};c.exportTo(u);let g=x.join(n,ot.fileName),f=`${JSON.stringify(u,null,c.indent)} +`;await M.changeFilePromise(g,f,{automaticNewlines:!0})}function Aae(r){return Ct[RI(r)]}var B4e=/## (?YN[0-9]{4}) - `(?[A-Z_]+)`\n\n(?
(?:.(?!##))+)/gs;async function Q4e(r){let t=`https://repo.yarnpkg.com/${Ie.isTaggedYarnVersion(Lr)?Lr:await jm(r,"canary")}/packages/gatsby/content/advanced/error-codes.md`,i=await Xt.get(t,{configuration:r});return new Map(Array.from(i.toString().matchAll(B4e),({groups:n})=>{if(!n)throw new Error("Assertion failed: Expected the match to have been successful");let s=Aae(n.code);if(n.name!==s)throw new Error(`Assertion failed: Invalid error code data: Expected "${n.name}" to be named "${s}"`);return[n.code,n.details]}))}var pu=class extends De{constructor(){super(...arguments);this.code=z.String({required:!1,validator:nd(id(),[sd(/^YN[0-9]{4}$/)])});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins);if(typeof this.code<"u"){let i=Aae(this.code),n=ee.pretty(t,i,ee.Type.CODE),s=this.cli.format().header(`${this.code} - ${n}`),a=(await Q4e(t)).get(this.code),l=typeof a<"u"?ee.jsonOrPretty(this.json,t,ee.tuple(ee.Type.MARKDOWN,{text:a,format:this.cli.format(),paragraphs:!0})):`This error code does not have a description. You can help us by editing this page on GitHub \u{1F642}: ${ee.jsonOrPretty(this.json,t,ee.tuple(ee.Type.URL,"https://github.com/yarnpkg/berry/blob/master/packages/gatsby/content/advanced/error-codes.md"))} @@ -492,11 +492,11 @@ ${ee.jsonOrPretty(this.json,t,ee.tuple(ee.Type.URL,"https://github.com/yarnpkg/b `):this.context.stdout.write(`${s} ${l} -`)}else{let i={children:Ie.mapAndFilter(Object.entries(Ct),([n,s])=>Number.isNaN(Number(n))?Ie.mapAndFilter.skip:{label:QA(Number(n)),value:ee.tuple(ee.Type.CODE,s)})};Vn.emitTree(i,{configuration:t,stdout:this.context.stdout,json:this.json})}}};Au.paths=[["explain"]],Au.usage=ve.Usage({description:"explain an error code",details:` +`)}else{let i={children:Ie.mapAndFilter(Object.entries(Ct),([n,s])=>Number.isNaN(Number(n))?Ie.mapAndFilter.skip:{label:RA(Number(n)),value:ee.tuple(ee.Type.CODE,s)})};_n.emitTree(i,{configuration:t,stdout:this.context.stdout,json:this.json})}}};pu.paths=[["explain"]],pu.usage=ve.Usage({description:"explain an error code",details:` When the code argument is specified, this command prints its name and its details. When used without arguments, this command lists all error codes and their names. - `,examples:[["Explain an error code","$0 explain YN0006"],["List all error codes","$0 explain"]]});var Qoe=Pe(yn()),lu=class extends De{constructor(){super(...arguments);this.all=z.Boolean("-A,--all",!1,{description:"Print versions of a package from the whole project"});this.recursive=z.Boolean("-R,--recursive",!1,{description:"Print information for all packages, including transitive dependencies"});this.extra=z.Array("-X,--extra",[],{description:"An array of requests of extra data provided by plugins"});this.cache=z.Boolean("--cache",!1,{description:"Print information about the cache entry of a package (path, size, checksum)"});this.dependents=z.Boolean("--dependents",!1,{description:"Print all dependents for each matching package"});this.manifest=z.Boolean("--manifest",!1,{description:"Print data obtained by looking at the package archive (license, homepage, ...)"});this.nameOnly=z.Boolean("--name-only",!1,{description:"Only print the name for the matching packages"});this.virtuals=z.Boolean("--virtuals",!1,{description:"Print each instance of the virtual packages"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=z.Rest()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n&&!this.all)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState();let o=new Set(this.extra);this.cache&&o.add("cache"),this.dependents&&o.add("dependents"),this.manifest&&o.add("manifest");let a=(L,{recursive:H})=>{let j=L.anchoredLocator.locatorHash,$=new Map,V=[j];for(;V.length>0;){let W=V.shift();if($.has(W))continue;let Z=i.storedPackages.get(W);if(typeof Z>"u")throw new Error("Assertion failed: Expected the package to be registered");if($.set(W,Z),P.isVirtualLocator(Z)&&V.push(P.devirtualizeLocator(Z).locatorHash),!(!H&&W!==j))for(let A of Z.dependencies.values()){let ae=i.storedResolutions.get(A.descriptorHash);if(typeof ae>"u")throw new Error("Assertion failed: Expected the resolution to be registered");V.push(ae)}}return $.values()},l=({recursive:L})=>{let H=new Map;for(let j of i.workspaces)for(let $ of a(j,{recursive:L}))H.set($.locatorHash,$);return H.values()},c=({all:L,recursive:H})=>L&&H?i.storedPackages.values():L?l({recursive:H}):a(n,{recursive:H}),u=({all:L,recursive:H})=>{let j=c({all:L,recursive:H}),$=this.patterns.map(Z=>{let A=P.parseLocator(Z),ae=Qoe.default.makeRe(P.stringifyIdent(A)),ge=P.isVirtualLocator(A),re=ge?P.devirtualizeLocator(A):A;return O=>{let F=P.stringifyIdent(O);if(!ae.test(F))return!1;if(A.reference==="unknown")return!0;let ue=P.isVirtualLocator(O),he=ue?P.devirtualizeLocator(O):O;return!(ge&&ue&&A.reference!==O.reference||re.reference!==he.reference)}}),V=Ie.sortMap([...j],Z=>P.stringifyLocator(Z));return{selection:V.filter(Z=>$.length===0||$.some(A=>A(Z))),sortedLookup:V}},{selection:g,sortedLookup:f}=u({all:this.all,recursive:this.recursive});if(g.length===0)throw new be("No package matched your request");let h=new Map;if(this.dependents)for(let L of f)for(let H of L.dependencies.values()){let j=i.storedResolutions.get(H.descriptorHash);if(typeof j>"u")throw new Error("Assertion failed: Expected the resolution to be registered");Ie.getArrayWithDefault(h,j).push(L)}let p=new Map;for(let L of f){if(!P.isVirtualLocator(L))continue;let H=P.devirtualizeLocator(L);Ie.getArrayWithDefault(p,H.locatorHash).push(L)}let C={},y={children:C},B=t.makeFetcher(),v={project:i,fetcher:B,cache:s,checksums:i.storedChecksums,report:new ti,cacheOptions:{skipIntegrityCheck:!0},skipIntegrityCheck:!0},D=[async(L,H,j)=>{var W,Z;if(!H.has("manifest"))return;let $=await B.fetch(L,v),V;try{V=await ot.find($.prefixPath,{baseFs:$.packageFs})}finally{(W=$.releaseFs)==null||W.call($)}j("Manifest",{License:ee.tuple(ee.Type.NO_HINT,V.license),Homepage:ee.tuple(ee.Type.URL,(Z=V.raw.homepage)!=null?Z:null)})},async(L,H,j)=>{var ae;if(!H.has("cache"))return;let $={mockedPackages:i.disabledLocators,unstablePackages:i.conditionalLocators},V=(ae=i.storedChecksums.get(L.locatorHash))!=null?ae:null,W=s.getLocatorPath(L,V,$),Z;if(W!==null)try{Z=M.statSync(W)}catch{}let A=typeof Z<"u"?[Z.size,ee.Type.SIZE]:void 0;j("Cache",{Checksum:ee.tuple(ee.Type.NO_HINT,V),Path:ee.tuple(ee.Type.PATH,W),Size:A})}];for(let L of g){let H=P.isVirtualLocator(L);if(!this.virtuals&&H)continue;let j={},$={value:[L,ee.Type.LOCATOR],children:j};if(C[P.stringifyLocator(L)]=$,this.nameOnly){delete $.children;continue}let V=p.get(L.locatorHash);typeof V<"u"&&(j.Instances={label:"Instances",value:ee.tuple(ee.Type.NUMBER,V.length)}),j.Version={label:"Version",value:ee.tuple(ee.Type.NO_HINT,L.version)};let W=(A,ae)=>{let ge={};if(j[A]=ge,Array.isArray(ae))ge.children=ae.map(re=>({value:re}));else{let re={};ge.children=re;for(let[O,F]of Object.entries(ae))typeof F>"u"||(re[O]={label:O,value:F})}};if(!H){for(let A of D)await A(L,o,W);await t.triggerHook(A=>A.fetchPackageInfo,L,o,W)}L.bin.size>0&&!H&&W("Exported Binaries",[...L.bin.keys()].map(A=>ee.tuple(ee.Type.PATH,A)));let Z=h.get(L.locatorHash);typeof Z<"u"&&Z.length>0&&W("Dependents",Z.map(A=>ee.tuple(ee.Type.LOCATOR,A))),L.dependencies.size>0&&!H&&W("Dependencies",[...L.dependencies.values()].map(A=>{var re;let ae=i.storedResolutions.get(A.descriptorHash),ge=typeof ae<"u"&&(re=i.storedPackages.get(ae))!=null?re:null;return ee.tuple(ee.Type.RESOLUTION,{descriptor:A,locator:ge})})),L.peerDependencies.size>0&&H&&W("Peer dependencies",[...L.peerDependencies.values()].map(A=>{var O,F;let ae=L.dependencies.get(A.identHash),ge=typeof ae<"u"&&(O=i.storedResolutions.get(ae.descriptorHash))!=null?O:null,re=ge!==null&&(F=i.storedPackages.get(ge))!=null?F:null;return ee.tuple(ee.Type.RESOLUTION,{descriptor:A,locator:re})}))}Vn.emitTree(y,{configuration:t,json:this.json,stdout:this.context.stdout,separators:this.nameOnly?0:2})}};lu.paths=[["info"]],lu.usage=ve.Usage({description:"see information related to packages",details:"\n This command prints various information related to the specified packages, accepting glob patterns.\n\n By default, if the locator reference is missing, Yarn will default to print the information about all the matching direct dependencies of the package for the active workspace. To instead print all versions of the package that are direct dependencies of any of your workspaces, use the `-A,--all` flag. Adding the `-R,--recursive` flag will also report transitive dependencies.\n\n Some fields will be hidden by default in order to keep the output readable, but can be selectively displayed by using additional options (`--dependents`, `--manifest`, `--virtuals`, ...) described in the option descriptions.\n\n Note that this command will only print the information directly related to the selected packages - if you wish to know why the package is there in the first place, use `yarn why` which will do just that (it also provides a `-R,--recursive` flag that may be of some help).\n ",examples:[["Show information about Lodash","$0 info lodash"]]});var hQ=Pe(Vl());ns();var cu=class extends De{constructor(){super(...arguments);this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.immutable=z.Boolean("--immutable",{description:"Abort with an error exit code if the lockfile was to be modified"});this.immutableCache=z.Boolean("--immutable-cache",{description:"Abort with an error exit code if the cache folder was to be modified"});this.checkCache=z.Boolean("--check-cache",!1,{description:"Always refetch the packages and ensure that their checksums are consistent"});this.inlineBuilds=z.Boolean("--inline-builds",{description:"Verbosely print the output of the build steps of dependencies"});this.mode=z.String("--mode",{description:"Change what artifacts installs generate",validator:Wi(Xn)});this.cacheFolder=z.String("--cache-folder",{hidden:!0});this.frozenLockfile=z.Boolean("--frozen-lockfile",{hidden:!0});this.ignoreEngines=z.Boolean("--ignore-engines",{hidden:!0});this.nonInteractive=z.Boolean("--non-interactive",{hidden:!0});this.preferOffline=z.Boolean("--prefer-offline",{hidden:!0});this.production=z.Boolean("--production",{hidden:!0});this.registry=z.String("--registry",{hidden:!0});this.silent=z.Boolean("--silent",{hidden:!0});this.networkTimeout=z.String("--network-timeout",{hidden:!0})}async execute(){var f;let t=await ye.find(this.context.cwd,this.context.plugins);typeof this.inlineBuilds<"u"&&t.useWithSource("",{enableInlineBuilds:this.inlineBuilds},t.startingCwd,{overwrite:!0});let i=!!process.env.FUNCTION_TARGET||!!process.env.GOOGLE_RUNTIME,n=async(h,{error:p})=>{let C=await Ge.start({configuration:t,stdout:this.context.stdout,includeFooter:!1},async y=>{p?y.reportError(50,h):y.reportWarning(50,h)});return C.hasErrors()?C.exitCode():null};if(typeof this.ignoreEngines<"u"){let h=await n("The --ignore-engines option is deprecated; engine checking isn't a core feature anymore",{error:!hQ.default.VERCEL});if(h!==null)return h}if(typeof this.registry<"u"){let h=await n("The --registry option is deprecated; prefer setting npmRegistryServer in your .yarnrc.yml file",{error:!1});if(h!==null)return h}if(typeof this.preferOffline<"u"){let h=await n("The --prefer-offline flag is deprecated; use the --cached flag with 'yarn add' instead",{error:!hQ.default.VERCEL});if(h!==null)return h}if(typeof this.production<"u"){let h=await n("The --production option is deprecated on 'install'; use 'yarn workspaces focus' instead",{error:!0});if(h!==null)return h}if(typeof this.nonInteractive<"u"){let h=await n("The --non-interactive option is deprecated",{error:!i});if(h!==null)return h}if(typeof this.frozenLockfile<"u"&&(await n("The --frozen-lockfile option is deprecated; use --immutable and/or --immutable-cache instead",{error:!1}),this.immutable=this.frozenLockfile),typeof this.cacheFolder<"u"){let h=await n("The cache-folder option has been deprecated; use rc settings instead",{error:!hQ.default.NETLIFY});if(h!==null)return h}let s=this.mode==="update-lockfile";if(s&&(this.immutable||this.immutableCache))throw new be(`${ee.pretty(t,"--immutable",ee.Type.CODE)} and ${ee.pretty(t,"--immutable-cache",ee.Type.CODE)} cannot be used with ${ee.pretty(t,"--mode=update-lockfile",ee.Type.CODE)}`);let o=((f=this.immutable)!=null?f:t.get("enableImmutableInstalls"))&&!s,a=this.immutableCache&&!s;if(t.projectCwd!==null){let h=await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout,includeFooter:!1},async p=>{await BWe(t,o)&&(p.reportInfo(48,"Automatically fixed merge conflicts \u{1F44D}"),p.reportSeparator())});if(h.hasErrors())return h.exitCode()}if(t.projectCwd!==null&&typeof t.sources.get("nodeLinker")>"u"){let h=t.projectCwd,p;try{p=await M.readFilePromise(x.join(h,xt.lockfile),"utf8")}catch{}if(p!=null&&p.includes("yarn lockfile v1")){let C=await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout,includeFooter:!1},async y=>{y.reportInfo(70,"Migrating from Yarn 1; automatically enabling the compatibility node-modules linker \u{1F44D}"),y.reportSeparator(),t.use("",{nodeLinker:"node-modules"},h,{overwrite:!0}),await ye.updateConfiguration(h,{nodeLinker:"node-modules"})});if(C.hasErrors())return C.exitCode()}}if(t.projectCwd!==null){let h=await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout,includeFooter:!1},async p=>{var C;(C=ye.telemetry)!=null&&C.isNew&&(p.reportInfo(65,"Yarn will periodically gather anonymous telemetry: https://yarnpkg.com/advanced/telemetry"),p.reportInfo(65,`Run ${ee.pretty(t,"yarn config set --home enableTelemetry 0",ee.Type.CODE)} to disable`),p.reportSeparator())});if(h.hasErrors())return h.exitCode()}let{project:l,workspace:c}=await je.find(t,this.context.cwd),u=await Rt.find(t,{immutable:a,check:this.checkCache});if(!c)throw new ct(l.cwd,this.context.cwd);return await l.restoreInstallState({restoreResolutions:!1}),(await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout,includeLogs:!0},async h=>{await l.install({cache:u,report:h,immutable:o,mode:this.mode})})).exitCode()}};cu.paths=[["install"],ve.Default],cu.usage=ve.Usage({description:"install the project dependencies",details:` + `,examples:[["Explain an error code","$0 explain YN0006"],["List all error codes","$0 explain"]]});var lae=Pe(yn()),du=class extends De{constructor(){super(...arguments);this.all=z.Boolean("-A,--all",!1,{description:"Print versions of a package from the whole project"});this.recursive=z.Boolean("-R,--recursive",!1,{description:"Print information for all packages, including transitive dependencies"});this.extra=z.Array("-X,--extra",[],{description:"An array of requests of extra data provided by plugins"});this.cache=z.Boolean("--cache",!1,{description:"Print information about the cache entry of a package (path, size, checksum)"});this.dependents=z.Boolean("--dependents",!1,{description:"Print all dependents for each matching package"});this.manifest=z.Boolean("--manifest",!1,{description:"Print data obtained by looking at the package archive (license, homepage, ...)"});this.nameOnly=z.Boolean("--name-only",!1,{description:"Only print the name for the matching packages"});this.virtuals=z.Boolean("--virtuals",!1,{description:"Print each instance of the virtual packages"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=z.Rest()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n&&!this.all)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState();let o=new Set(this.extra);this.cache&&o.add("cache"),this.dependents&&o.add("dependents"),this.manifest&&o.add("manifest");let a=(L,{recursive:H})=>{let j=L.anchoredLocator.locatorHash,$=new Map,V=[j];for(;V.length>0;){let W=V.shift();if($.has(W))continue;let _=i.storedPackages.get(W);if(typeof _>"u")throw new Error("Assertion failed: Expected the package to be registered");if($.set(W,_),P.isVirtualLocator(_)&&V.push(P.devirtualizeLocator(_).locatorHash),!(!H&&W!==j))for(let A of _.dependencies.values()){let ae=i.storedResolutions.get(A.descriptorHash);if(typeof ae>"u")throw new Error("Assertion failed: Expected the resolution to be registered");V.push(ae)}}return $.values()},l=({recursive:L})=>{let H=new Map;for(let j of i.workspaces)for(let $ of a(j,{recursive:L}))H.set($.locatorHash,$);return H.values()},c=({all:L,recursive:H})=>L&&H?i.storedPackages.values():L?l({recursive:H}):a(n,{recursive:H}),u=({all:L,recursive:H})=>{let j=c({all:L,recursive:H}),$=this.patterns.map(_=>{let A=P.parseLocator(_),ae=lae.default.makeRe(P.stringifyIdent(A)),ge=P.isVirtualLocator(A),re=ge?P.devirtualizeLocator(A):A;return O=>{let F=P.stringifyIdent(O);if(!ae.test(F))return!1;if(A.reference==="unknown")return!0;let ue=P.isVirtualLocator(O),he=ue?P.devirtualizeLocator(O):O;return!(ge&&ue&&A.reference!==O.reference||re.reference!==he.reference)}}),V=Ie.sortMap([...j],_=>P.stringifyLocator(_));return{selection:V.filter(_=>$.length===0||$.some(A=>A(_))),sortedLookup:V}},{selection:g,sortedLookup:f}=u({all:this.all,recursive:this.recursive});if(g.length===0)throw new be("No package matched your request");let h=new Map;if(this.dependents)for(let L of f)for(let H of L.dependencies.values()){let j=i.storedResolutions.get(H.descriptorHash);if(typeof j>"u")throw new Error("Assertion failed: Expected the resolution to be registered");Ie.getArrayWithDefault(h,j).push(L)}let p=new Map;for(let L of f){if(!P.isVirtualLocator(L))continue;let H=P.devirtualizeLocator(L);Ie.getArrayWithDefault(p,H.locatorHash).push(L)}let C={},y={children:C},B=t.makeFetcher(),v={project:i,fetcher:B,cache:s,checksums:i.storedChecksums,report:new ti,cacheOptions:{skipIntegrityCheck:!0},skipIntegrityCheck:!0},D=[async(L,H,j)=>{var W,_;if(!H.has("manifest"))return;let $=await B.fetch(L,v),V;try{V=await ot.find($.prefixPath,{baseFs:$.packageFs})}finally{(W=$.releaseFs)==null||W.call($)}j("Manifest",{License:ee.tuple(ee.Type.NO_HINT,V.license),Homepage:ee.tuple(ee.Type.URL,(_=V.raw.homepage)!=null?_:null)})},async(L,H,j)=>{var ae;if(!H.has("cache"))return;let $={mockedPackages:i.disabledLocators,unstablePackages:i.conditionalLocators},V=(ae=i.storedChecksums.get(L.locatorHash))!=null?ae:null,W=s.getLocatorPath(L,V,$),_;if(W!==null)try{_=M.statSync(W)}catch{}let A=typeof _<"u"?[_.size,ee.Type.SIZE]:void 0;j("Cache",{Checksum:ee.tuple(ee.Type.NO_HINT,V),Path:ee.tuple(ee.Type.PATH,W),Size:A})}];for(let L of g){let H=P.isVirtualLocator(L);if(!this.virtuals&&H)continue;let j={},$={value:[L,ee.Type.LOCATOR],children:j};if(C[P.stringifyLocator(L)]=$,this.nameOnly){delete $.children;continue}let V=p.get(L.locatorHash);typeof V<"u"&&(j.Instances={label:"Instances",value:ee.tuple(ee.Type.NUMBER,V.length)}),j.Version={label:"Version",value:ee.tuple(ee.Type.NO_HINT,L.version)};let W=(A,ae)=>{let ge={};if(j[A]=ge,Array.isArray(ae))ge.children=ae.map(re=>({value:re}));else{let re={};ge.children=re;for(let[O,F]of Object.entries(ae))typeof F>"u"||(re[O]={label:O,value:F})}};if(!H){for(let A of D)await A(L,o,W);await t.triggerHook(A=>A.fetchPackageInfo,L,o,W)}L.bin.size>0&&!H&&W("Exported Binaries",[...L.bin.keys()].map(A=>ee.tuple(ee.Type.PATH,A)));let _=h.get(L.locatorHash);typeof _<"u"&&_.length>0&&W("Dependents",_.map(A=>ee.tuple(ee.Type.LOCATOR,A))),L.dependencies.size>0&&!H&&W("Dependencies",[...L.dependencies.values()].map(A=>{var re;let ae=i.storedResolutions.get(A.descriptorHash),ge=typeof ae<"u"&&(re=i.storedPackages.get(ae))!=null?re:null;return ee.tuple(ee.Type.RESOLUTION,{descriptor:A,locator:ge})})),L.peerDependencies.size>0&&H&&W("Peer dependencies",[...L.peerDependencies.values()].map(A=>{var O,F;let ae=L.dependencies.get(A.identHash),ge=typeof ae<"u"&&(O=i.storedResolutions.get(ae.descriptorHash))!=null?O:null,re=ge!==null&&(F=i.storedPackages.get(ge))!=null?F:null;return ee.tuple(ee.Type.RESOLUTION,{descriptor:A,locator:re})}))}_n.emitTree(y,{configuration:t,json:this.json,stdout:this.context.stdout,separators:this.nameOnly?0:2})}};du.paths=[["info"]],du.usage=ve.Usage({description:"see information related to packages",details:"\n This command prints various information related to the specified packages, accepting glob patterns.\n\n By default, if the locator reference is missing, Yarn will default to print the information about all the matching direct dependencies of the package for the active workspace. To instead print all versions of the package that are direct dependencies of any of your workspaces, use the `-A,--all` flag. Adding the `-R,--recursive` flag will also report transitive dependencies.\n\n Some fields will be hidden by default in order to keep the output readable, but can be selectively displayed by using additional options (`--dependents`, `--manifest`, `--virtuals`, ...) described in the option descriptions.\n\n Note that this command will only print the information directly related to the selected packages - if you wish to know why the package is there in the first place, use `yarn why` which will do just that (it also provides a `-R,--recursive` flag that may be of some help).\n ",examples:[["Show information about Lodash","$0 info lodash"]]});var DQ=Pe(nc());as();var Cu=class extends De{constructor(){super(...arguments);this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.immutable=z.Boolean("--immutable",{description:"Abort with an error exit code if the lockfile was to be modified"});this.immutableCache=z.Boolean("--immutable-cache",{description:"Abort with an error exit code if the cache folder was to be modified"});this.checkCache=z.Boolean("--check-cache",!1,{description:"Always refetch the packages and ensure that their checksums are consistent"});this.inlineBuilds=z.Boolean("--inline-builds",{description:"Verbosely print the output of the build steps of dependencies"});this.mode=z.String("--mode",{description:"Change what artifacts installs generate",validator:Vi($n)});this.cacheFolder=z.String("--cache-folder",{hidden:!0});this.frozenLockfile=z.Boolean("--frozen-lockfile",{hidden:!0});this.ignoreEngines=z.Boolean("--ignore-engines",{hidden:!0});this.nonInteractive=z.Boolean("--non-interactive",{hidden:!0});this.preferOffline=z.Boolean("--prefer-offline",{hidden:!0});this.production=z.Boolean("--production",{hidden:!0});this.registry=z.String("--registry",{hidden:!0});this.silent=z.Boolean("--silent",{hidden:!0});this.networkTimeout=z.String("--network-timeout",{hidden:!0})}async execute(){var f;let t=await ye.find(this.context.cwd,this.context.plugins);typeof this.inlineBuilds<"u"&&t.useWithSource("",{enableInlineBuilds:this.inlineBuilds},t.startingCwd,{overwrite:!0});let i=!!process.env.FUNCTION_TARGET||!!process.env.GOOGLE_RUNTIME,n=async(h,{error:p})=>{let C=await Ge.start({configuration:t,stdout:this.context.stdout,includeFooter:!1},async y=>{p?y.reportError(50,h):y.reportWarning(50,h)});return C.hasErrors()?C.exitCode():null};if(typeof this.ignoreEngines<"u"){let h=await n("The --ignore-engines option is deprecated; engine checking isn't a core feature anymore",{error:!DQ.default.VERCEL});if(h!==null)return h}if(typeof this.registry<"u"){let h=await n("The --registry option is deprecated; prefer setting npmRegistryServer in your .yarnrc.yml file",{error:!1});if(h!==null)return h}if(typeof this.preferOffline<"u"){let h=await n("The --prefer-offline flag is deprecated; use the --cached flag with 'yarn add' instead",{error:!DQ.default.VERCEL});if(h!==null)return h}if(typeof this.production<"u"){let h=await n("The --production option is deprecated on 'install'; use 'yarn workspaces focus' instead",{error:!0});if(h!==null)return h}if(typeof this.nonInteractive<"u"){let h=await n("The --non-interactive option is deprecated",{error:!i});if(h!==null)return h}if(typeof this.frozenLockfile<"u"&&(await n("The --frozen-lockfile option is deprecated; use --immutable and/or --immutable-cache instead",{error:!1}),this.immutable=this.frozenLockfile),typeof this.cacheFolder<"u"){let h=await n("The cache-folder option has been deprecated; use rc settings instead",{error:!DQ.default.NETLIFY});if(h!==null)return h}let s=this.mode==="update-lockfile";if(s&&(this.immutable||this.immutableCache))throw new be(`${ee.pretty(t,"--immutable",ee.Type.CODE)} and ${ee.pretty(t,"--immutable-cache",ee.Type.CODE)} cannot be used with ${ee.pretty(t,"--mode=update-lockfile",ee.Type.CODE)}`);let o=((f=this.immutable)!=null?f:t.get("enableImmutableInstalls"))&&!s,a=this.immutableCache&&!s;if(t.projectCwd!==null){let h=await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout,includeFooter:!1},async p=>{await x4e(t,o)&&(p.reportInfo(48,"Automatically fixed merge conflicts \u{1F44D}"),p.reportSeparator())});if(h.hasErrors())return h.exitCode()}if(t.projectCwd!==null&&typeof t.sources.get("nodeLinker")>"u"){let h=t.projectCwd,p;try{p=await M.readFilePromise(x.join(h,xt.lockfile),"utf8")}catch{}if(p!=null&&p.includes("yarn lockfile v1")){let C=await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout,includeFooter:!1},async y=>{y.reportInfo(70,"Migrating from Yarn 1; automatically enabling the compatibility node-modules linker \u{1F44D}"),y.reportSeparator(),t.use("",{nodeLinker:"node-modules"},h,{overwrite:!0}),await ye.updateConfiguration(h,{nodeLinker:"node-modules"})});if(C.hasErrors())return C.exitCode()}}if(t.projectCwd!==null){let h=await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout,includeFooter:!1},async p=>{var C;(C=ye.telemetry)!=null&&C.isNew&&(p.reportInfo(65,"Yarn will periodically gather anonymous telemetry: https://yarnpkg.com/advanced/telemetry"),p.reportInfo(65,`Run ${ee.pretty(t,"yarn config set --home enableTelemetry 0",ee.Type.CODE)} to disable`),p.reportSeparator())});if(h.hasErrors())return h.exitCode()}let{project:l,workspace:c}=await je.find(t,this.context.cwd),u=await Rt.find(t,{immutable:a,check:this.checkCache});if(!c)throw new ct(l.cwd,this.context.cwd);return await l.restoreInstallState({restoreResolutions:!1}),(await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout,includeLogs:!0},async h=>{await l.install({cache:u,report:h,immutable:o,mode:this.mode})})).exitCode()}};Cu.paths=[["install"],ve.Default],Cu.usage=ve.Usage({description:"install the project dependencies",details:` This command sets up your project if needed. The installation is split into four different steps that each have their own characteristics: - **Resolution:** First the package manager will resolve your dependencies. The exact way a dependency version is privileged over another isn't standardized outside of the regular semver guarantees. If a package doesn't resolve to what you would expect, check that all dependencies are correctly declared (also check our website for more information: ). @@ -522,18 +522,18 @@ ${l} - \`skip-build\` will not run the build scripts at all. Note that this is different from setting \`enableScripts\` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run. - \`update-lockfile\` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost. - `,examples:[["Install the project","$0 install"],["Validate a project when using Zero-Installs","$0 install --immutable --immutable-cache"],["Validate a project when using Zero-Installs (slightly safer if you accept external PRs)","$0 install --immutable --immutable-cache --check-cache"]]});var IWe="|||||||",yWe=">>>>>>>",wWe="=======",boe="<<<<<<<";async function BWe(r,e){if(!r.projectCwd)return!1;let t=x.join(r.projectCwd,r.get("lockfileFilename"));if(!await M.existsPromise(t))return!1;let i=await M.readFilePromise(t,"utf8");if(!i.includes(boe))return!1;if(e)throw new at(47,"Cannot autofix a lockfile when running an immutable install");let[n,s]=QWe(i),o,a;try{o=Ii(n),a=Ii(s)}catch{throw new at(46,"The individual variants of the lockfile failed to parse")}let l={...o,...a};for(let[c,u]of Object.entries(l))typeof u=="string"&&delete l[c];return await M.changeFilePromise(t,Ca(l),{automaticNewlines:!0}),!0}function QWe(r){let e=[[],[]],t=r.split(/\r?\n/g),i=!1;for(;t.length>0;){let n=t.shift();if(typeof n>"u")throw new Error("Assertion failed: Some lines should remain");if(n.startsWith(boe)){for(;t.length>0;){let s=t.shift();if(typeof s>"u")throw new Error("Assertion failed: Some lines should remain");if(s===wWe){i=!1;break}else if(i||s.startsWith(IWe)){i=!0;continue}else e[0].push(s)}for(;t.length>0;){let s=t.shift();if(typeof s>"u")throw new Error("Assertion failed: Some lines should remain");if(s.startsWith(yWe))break;e[1].push(s)}}else e[0].push(n),e[1].push(n)}return[e[0].join(` + `,examples:[["Install the project","$0 install"],["Validate a project when using Zero-Installs","$0 install --immutable --immutable-cache"],["Validate a project when using Zero-Installs (slightly safer if you accept external PRs)","$0 install --immutable --immutable-cache --check-cache"]]});var b4e="|||||||",S4e=">>>>>>>",v4e="=======",cae="<<<<<<<";async function x4e(r,e){if(!r.projectCwd)return!1;let t=x.join(r.projectCwd,r.get("lockfileFilename"));if(!await M.existsPromise(t))return!1;let i=await M.readFilePromise(t,"utf8");if(!i.includes(cae))return!1;if(e)throw new at(47,"Cannot autofix a lockfile when running an immutable install");let[n,s]=P4e(i),o,a;try{o=yi(n),a=yi(s)}catch{throw new at(46,"The individual variants of the lockfile failed to parse")}let l={...o,...a};for(let[c,u]of Object.entries(l))typeof u=="string"&&delete l[c];return await M.changeFilePromise(t,wa(l),{automaticNewlines:!0}),!0}function P4e(r){let e=[[],[]],t=r.split(/\r?\n/g),i=!1;for(;t.length>0;){let n=t.shift();if(typeof n>"u")throw new Error("Assertion failed: Some lines should remain");if(n.startsWith(cae)){for(;t.length>0;){let s=t.shift();if(typeof s>"u")throw new Error("Assertion failed: Some lines should remain");if(s===v4e){i=!1;break}else if(i||s.startsWith(b4e)){i=!0;continue}else e[0].push(s)}for(;t.length>0;){let s=t.shift();if(typeof s>"u")throw new Error("Assertion failed: Some lines should remain");if(s.startsWith(S4e))break;e[1].push(s)}}else e[0].push(n),e[1].push(n)}return[e[0].join(` `),e[1].join(` -`)]}var uu=class extends De{constructor(){super(...arguments);this.all=z.Boolean("-A,--all",!1,{description:"Link all workspaces belonging to the target project to the current one"});this.private=z.Boolean("-p,--private",!1,{description:"Also link private workspaces belonging to the target project to the current one"});this.relative=z.Boolean("-r,--relative",!1,{description:"Link workspaces using relative paths instead of absolute paths"});this.destination=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState({restoreResolutions:!1});let o=x.resolve(this.context.cwd,K.toPortablePath(this.destination)),a=await ye.find(o,this.context.plugins,{useRc:!1,strict:!1}),{project:l,workspace:c}=await je.find(a,o);if(i.cwd===l.cwd)throw new be("Invalid destination; Can't link the project to itself");if(!c)throw new ct(l.cwd,o);let u=i.topLevelWorkspace,g=[];if(this.all){for(let h of l.workspaces)h.manifest.name&&(!h.manifest.private||this.private)&&g.push(h);if(g.length===0)throw new be("No workspace found to be linked in the target project")}else{if(!c.manifest.name)throw new be("The target workspace doesn't have a name and thus cannot be linked");if(c.manifest.private&&!this.private)throw new be("The target workspace is marked private - use the --private flag to link it anyway");g.push(c)}for(let h of g){let p=P.stringifyIdent(h.locator),C=this.relative?x.relative(i.cwd,h.cwd):h.cwd;u.manifest.resolutions.push({pattern:{descriptor:{fullName:p}},reference:`portal:${C}`})}return(await Ge.start({configuration:t,stdout:this.context.stdout},async h=>{await i.install({cache:s,report:h})})).exitCode()}};uu.paths=[["link"]],uu.usage=ve.Usage({description:"connect the local project to another one",details:"\n This command will set a new `resolutions` field in the project-level manifest and point it to the workspace at the specified location (even if part of another project).\n ",examples:[["Register a remote workspace for use in the current project","$0 link ~/ts-loader"],["Register all workspaces from a remote project for use in the current project","$0 link ~/jest --all"]]});var gu=class extends De{constructor(){super(...arguments);this.args=z.Proxy()}async execute(){return this.cli.run(["exec","node",...this.args])}};gu.paths=[["node"]],gu.usage=ve.Usage({description:"run node with the hook already setup",details:` +`)]}var mu=class extends De{constructor(){super(...arguments);this.all=z.Boolean("-A,--all",!1,{description:"Link all workspaces belonging to the target project to the current one"});this.private=z.Boolean("-p,--private",!1,{description:"Also link private workspaces belonging to the target project to the current one"});this.relative=z.Boolean("-r,--relative",!1,{description:"Link workspaces using relative paths instead of absolute paths"});this.destination=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState({restoreResolutions:!1});let o=x.resolve(this.context.cwd,K.toPortablePath(this.destination)),a=await ye.find(o,this.context.plugins,{useRc:!1,strict:!1}),{project:l,workspace:c}=await je.find(a,o);if(i.cwd===l.cwd)throw new be("Invalid destination; Can't link the project to itself");if(!c)throw new ct(l.cwd,o);let u=i.topLevelWorkspace,g=[];if(this.all){for(let h of l.workspaces)h.manifest.name&&(!h.manifest.private||this.private)&&g.push(h);if(g.length===0)throw new be("No workspace found to be linked in the target project")}else{if(!c.manifest.name)throw new be("The target workspace doesn't have a name and thus cannot be linked");if(c.manifest.private&&!this.private)throw new be("The target workspace is marked private - use the --private flag to link it anyway");g.push(c)}for(let h of g){let p=P.stringifyIdent(h.locator),C=this.relative?x.relative(i.cwd,h.cwd):h.cwd;u.manifest.resolutions.push({pattern:{descriptor:{fullName:p}},reference:`portal:${C}`})}return(await Ge.start({configuration:t,stdout:this.context.stdout},async h=>{await i.install({cache:s,report:h})})).exitCode()}};mu.paths=[["link"]],mu.usage=ve.Usage({description:"connect the local project to another one",details:"\n This command will set a new `resolutions` field in the project-level manifest and point it to the workspace at the specified location (even if part of another project).\n ",examples:[["Register a remote workspace for use in the current project","$0 link ~/ts-loader"],["Register all workspaces from a remote project for use in the current project","$0 link ~/jest --all"]]});var Eu=class extends De{constructor(){super(...arguments);this.args=z.Proxy()}async execute(){return this.cli.run(["exec","node",...this.args])}};Eu.paths=[["node"]],Eu.usage=ve.Usage({description:"run node with the hook already setup",details:` This command simply runs Node. It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment). The Node process will use the exact same version of Node as the one used to run Yarn itself, which might be a good way to ensure that your commands always use a consistent Node version. - `,examples:[["Run a Node script","$0 node ./my-script.js"]]});var koe=J("os");var Soe=J("os");var bWe="https://raw.githubusercontent.com/yarnpkg/berry/master/plugins.yml";async function hu(r){let e=await Vt.get(bWe,{configuration:r});return Ii(e.toString())}var fu=class extends De{constructor(){super(...arguments);this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins);return(await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout},async n=>{let s=await hu(t);for(let[o,{experimental:a,...l}]of Object.entries(s)){let c=o;a&&(c+=" [experimental]"),n.reportJson({name:o,experimental:a,...l}),n.reportInfo(null,c)}})).exitCode()}};fu.paths=[["plugin","list"]],fu.usage=ve.Usage({category:"Plugin-related commands",description:"list the available official plugins",details:"\n This command prints the plugins available directly from the Yarn repository. Only those plugins can be referenced by name in `yarn plugin import`.\n ",examples:[["List the official plugins","$0 plugin list"]]});var SWe=/^[0-9]+$/;function voe(r){return SWe.test(r)?`pull/${r}/head`:r}var vWe=({repository:r,branch:e},t)=>[["git","init",K.fromPortablePath(t)],["git","remote","add","origin",r],["git","fetch","origin","--depth=1",voe(e)],["git","reset","--hard","FETCH_HEAD"]],xWe=({branch:r})=>[["git","fetch","origin","--depth=1",voe(r),"--force"],["git","reset","--hard","FETCH_HEAD"],["git","clean","-dfx"]],PWe=({plugins:r,noMinify:e},t)=>[["yarn","build:cli",...new Array().concat(...r.map(i=>["--plugin",x.resolve(t,i)])),...e?["--no-minify"]:[],"|"]],pu=class extends De{constructor(){super(...arguments);this.installPath=z.String("--path",{description:"The path where the repository should be cloned to"});this.repository=z.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=z.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.plugins=z.Array("--plugin",[],{description:"An array of additional plugins that should be included in the bundle"});this.noMinify=z.Boolean("--no-minify",!1,{description:"Build a bundle for development (debugging) - non-minified and non-mangled"});this.force=z.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.skipPlugins=z.Boolean("--skip-plugins",!1,{description:"Skip updating the contrib plugins"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i}=await je.find(t,this.context.cwd),n=typeof this.installPath<"u"?x.resolve(this.context.cwd,K.toPortablePath(this.installPath)):x.resolve(K.toPortablePath((0,Soe.tmpdir)()),"yarnpkg-sources",li.makeHash(this.repository).slice(0,6));return(await Ge.start({configuration:t,stdout:this.context.stdout},async o=>{await ST(this,{configuration:t,report:o,target:n}),o.reportSeparator(),o.reportInfo(0,"Building a fresh bundle"),o.reportSeparator(),await Om(PWe(this,n),{configuration:t,context:this.context,target:n}),o.reportSeparator();let a=x.resolve(n,"packages/yarnpkg-cli/bundles/yarn.js"),l=await M.readFilePromise(a);await bT(t,"sources",l,{report:o}),this.skipPlugins||await DWe(this,{project:i,report:o,target:n})})).exitCode()}};pu.paths=[["set","version","from","sources"]],pu.usage=ve.Usage({description:"build Yarn from master",details:` + `,examples:[["Run a Node script","$0 node ./my-script.js"]]});var dae=J("os");var uae=J("os");var D4e="https://raw.githubusercontent.com/yarnpkg/berry/master/plugins.yml";async function yu(r){let e=await Xt.get(D4e,{configuration:r});return yi(e.toString())}var Iu=class extends De{constructor(){super(...arguments);this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins);return(await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout},async n=>{let s=await yu(t);for(let[o,{experimental:a,...l}]of Object.entries(s)){let c=o;a&&(c+=" [experimental]"),n.reportJson({name:o,experimental:a,...l}),n.reportInfo(null,c)}})).exitCode()}};Iu.paths=[["plugin","list"]],Iu.usage=ve.Usage({category:"Plugin-related commands",description:"list the available official plugins",details:"\n This command prints the plugins available directly from the Yarn repository. Only those plugins can be referenced by name in `yarn plugin import`.\n ",examples:[["List the official plugins","$0 plugin list"]]});var k4e=/^[0-9]+$/;function gae(r){return k4e.test(r)?`pull/${r}/head`:r}var R4e=({repository:r,branch:e},t)=>[["git","init",K.fromPortablePath(t)],["git","remote","add","origin",r],["git","fetch","origin","--depth=1",gae(e)],["git","reset","--hard","FETCH_HEAD"]],F4e=({branch:r})=>[["git","fetch","origin","--depth=1",gae(r),"--force"],["git","reset","--hard","FETCH_HEAD"],["git","clean","-dfx"]],N4e=({plugins:r,noMinify:e},t)=>[["yarn","build:cli",...new Array().concat(...r.map(i=>["--plugin",x.resolve(t,i)])),...e?["--no-minify"]:[],"|"]],wu=class extends De{constructor(){super(...arguments);this.installPath=z.String("--path",{description:"The path where the repository should be cloned to"});this.repository=z.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=z.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.plugins=z.Array("--plugin",[],{description:"An array of additional plugins that should be included in the bundle"});this.noMinify=z.Boolean("--no-minify",!1,{description:"Build a bundle for development (debugging) - non-minified and non-mangled"});this.force=z.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.skipPlugins=z.Boolean("--skip-plugins",!1,{description:"Skip updating the contrib plugins"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i}=await je.find(t,this.context.cwd),n=typeof this.installPath<"u"?x.resolve(this.context.cwd,K.toPortablePath(this.installPath)):x.resolve(K.toPortablePath((0,uae.tmpdir)()),"yarnpkg-sources",li.makeHash(this.repository).slice(0,6));return(await Ge.start({configuration:t,stdout:this.context.stdout},async o=>{await $T(this,{configuration:t,report:o,target:n}),o.reportSeparator(),o.reportInfo(0,"Building a fresh bundle"),o.reportSeparator(),await qm(N4e(this,n),{configuration:t,context:this.context,target:n}),o.reportSeparator();let a=x.resolve(n,"packages/yarnpkg-cli/bundles/yarn.js"),l=await M.readFilePromise(a);await _T(t,"sources",l,{report:o}),this.skipPlugins||await L4e(this,{project:i,report:o,target:n})})).exitCode()}};wu.paths=[["set","version","from","sources"]],wu.usage=ve.Usage({description:"build Yarn from master",details:` This command will clone the Yarn repository into a temporary folder, then build it. The resulting bundle will then be copied into the local project. By default, it also updates all contrib plugins to the same commit the bundle is built from. This behavior can be disabled by using the \`--skip-plugins\` flag. - `,examples:[["Build Yarn from master","$0 set version from sources"]]});async function Om(r,{configuration:e,context:t,target:i}){for(let[n,...s]of r){let o=s[s.length-1]==="|";if(o&&s.pop(),o)await Cr.pipevp(n,s,{cwd:i,stdin:t.stdin,stdout:t.stdout,stderr:t.stderr,strict:!0});else{t.stdout.write(`${ee.pretty(e,` $ ${[n,...s].join(" ")}`,"grey")} -`);try{await Cr.execvp(n,s,{cwd:i,strict:!0})}catch(a){throw t.stdout.write(a.stdout||a.stack),a}}}}async function ST(r,{configuration:e,report:t,target:i}){let n=!1;if(!r.force&&M.existsSync(x.join(i,".git"))){t.reportInfo(0,"Fetching the latest commits"),t.reportSeparator();try{await Om(xWe(r),{configuration:e,context:r.context,target:i}),n=!0}catch{t.reportSeparator(),t.reportWarning(0,"Repository update failed; we'll try to regenerate it")}}n||(t.reportInfo(0,"Cloning the remote repository"),t.reportSeparator(),await M.removePromise(i),await M.mkdirPromise(i,{recursive:!0}),await Om(vWe(r,i),{configuration:e,context:r.context,target:i}))}async function DWe(r,{project:e,report:t,target:i}){let n=await hu(e.configuration),s=new Set(Object.keys(n));for(let o of e.configuration.plugins.keys())!s.has(o)||await vT(o,r,{project:e,report:t,target:i})}var xoe=Pe(Xr()),Poe=J("url"),Doe=J("vm");var du=class extends De{constructor(){super(...arguments);this.name=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins);return(await Ge.start({configuration:t,stdout:this.context.stdout},async n=>{let{project:s}=await je.find(t,this.context.cwd),o,a;if(this.name.match(/^\.{0,2}[\\/]/)||K.isAbsolute(this.name)){let l=x.resolve(this.context.cwd,K.toPortablePath(this.name));n.reportInfo(0,`Reading ${ee.pretty(t,l,ee.Type.PATH)}`),o=x.relative(s.cwd,l),a=await M.readFilePromise(l)}else{let l;if(this.name.match(/^https?:/)){try{new Poe.URL(this.name)}catch{throw new at(52,`Plugin specifier "${this.name}" is neither a plugin name nor a valid url`)}o=this.name,l=this.name}else{let c=P.parseLocator(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-"));if(c.reference!=="unknown"&&!xoe.default.valid(c.reference))throw new at(0,"Official plugins only accept strict version references. Use an explicit URL if you wish to download them from another location.");let u=P.stringifyIdent(c),g=await hu(t);if(!Object.prototype.hasOwnProperty.call(g,u))throw new at(51,`Couldn't find a plugin named "${u}" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be referenced by their name; any other plugin will have to be referenced through its public url (for example https://github.com/yarnpkg/berry/raw/master/packages/plugin-typescript/bin/%40yarnpkg/plugin-typescript.js).`);o=u,l=g[u].url,c.reference!=="unknown"?l=l.replace(/\/master\//,`/${u}/${c.reference}/`):Lr!==null&&(l=l.replace(/\/master\//,`/@yarnpkg/cli/${Lr}/`))}n.reportInfo(0,`Downloading ${ee.pretty(t,l,"green")}`),a=await Vt.get(l,{configuration:t})}await xT(o,a,{project:s,report:n})})).exitCode()}};du.paths=[["plugin","import"]],du.usage=ve.Usage({category:"Plugin-related commands",description:"download a plugin",details:` + `,examples:[["Build Yarn from master","$0 set version from sources"]]});async function qm(r,{configuration:e,context:t,target:i}){for(let[n,...s]of r){let o=s[s.length-1]==="|";if(o&&s.pop(),o)await Cr.pipevp(n,s,{cwd:i,stdin:t.stdin,stdout:t.stdout,stderr:t.stderr,strict:!0});else{t.stdout.write(`${ee.pretty(e,` $ ${[n,...s].join(" ")}`,"grey")} +`);try{await Cr.execvp(n,s,{cwd:i,strict:!0})}catch(a){throw t.stdout.write(a.stdout||a.stack),a}}}}async function $T(r,{configuration:e,report:t,target:i}){let n=!1;if(!r.force&&M.existsSync(x.join(i,".git"))){t.reportInfo(0,"Fetching the latest commits"),t.reportSeparator();try{await qm(F4e(r),{configuration:e,context:r.context,target:i}),n=!0}catch{t.reportSeparator(),t.reportWarning(0,"Repository update failed; we'll try to regenerate it")}}n||(t.reportInfo(0,"Cloning the remote repository"),t.reportSeparator(),await M.removePromise(i),await M.mkdirPromise(i,{recursive:!0}),await qm(R4e(r,i),{configuration:e,context:r.context,target:i}))}async function L4e(r,{project:e,report:t,target:i}){let n=await yu(e.configuration),s=new Set(Object.keys(n));for(let o of e.configuration.plugins.keys())!s.has(o)||await eO(o,r,{project:e,report:t,target:i})}var fae=Pe(Xr()),hae=J("url"),pae=J("vm");var Bu=class extends De{constructor(){super(...arguments);this.name=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins);return(await Ge.start({configuration:t,stdout:this.context.stdout},async n=>{let{project:s}=await je.find(t,this.context.cwd),o,a;if(this.name.match(/^\.{0,2}[\\/]/)||K.isAbsolute(this.name)){let l=x.resolve(this.context.cwd,K.toPortablePath(this.name));n.reportInfo(0,`Reading ${ee.pretty(t,l,ee.Type.PATH)}`),o=x.relative(s.cwd,l),a=await M.readFilePromise(l)}else{let l;if(this.name.match(/^https?:/)){try{new hae.URL(this.name)}catch{throw new at(52,`Plugin specifier "${this.name}" is neither a plugin name nor a valid url`)}o=this.name,l=this.name}else{let c=P.parseLocator(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-"));if(c.reference!=="unknown"&&!fae.default.valid(c.reference))throw new at(0,"Official plugins only accept strict version references. Use an explicit URL if you wish to download them from another location.");let u=P.stringifyIdent(c),g=await yu(t);if(!Object.prototype.hasOwnProperty.call(g,u))throw new at(51,`Couldn't find a plugin named "${u}" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be referenced by their name; any other plugin will have to be referenced through its public url (for example https://github.com/yarnpkg/berry/raw/master/packages/plugin-typescript/bin/%40yarnpkg/plugin-typescript.js).`);o=u,l=g[u].url,c.reference!=="unknown"?l=l.replace(/\/master\//,`/${u}/${c.reference}/`):Lr!==null&&(l=l.replace(/\/master\//,`/@yarnpkg/cli/${Lr}/`))}n.reportInfo(0,`Downloading ${ee.pretty(t,l,"green")}`),a=await Xt.get(l,{configuration:t})}await tO(o,a,{project:s,report:n})})).exitCode()}};Bu.paths=[["plugin","import"]],Bu.usage=ve.Usage({category:"Plugin-related commands",description:"download a plugin",details:` This command downloads the specified plugin from its remote location and updates the configuration to reference it in further CLI invocations. Three types of plugin references are accepted: @@ -543,23 +543,23 @@ ${l} - Local plugins can be referenced by their path on the disk. Plugins cannot be downloaded from the npm registry, and aren't allowed to have dependencies (they need to be bundled into a single file, possibly thanks to the \`@yarnpkg/builder\` package). - `,examples:[['Download and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import @yarnpkg/plugin-exec"],['Download and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import exec"],["Download and activate a community plugin","$0 plugin import https://example.org/path/to/plugin.js"],["Activate a local plugin","$0 plugin import ./path/to/plugin.js"]]});async function xT(r,e,{project:t,report:i}){let{configuration:n}=t,s={},o={exports:s};(0,Doe.runInNewContext)(e.toString(),{module:o,exports:s});let a=o.exports.name,l=`.yarn/plugins/${a}.cjs`,c=x.resolve(t.cwd,l);i.reportInfo(0,`Saving the new plugin in ${ee.pretty(n,l,"magenta")}`),await M.mkdirPromise(x.dirname(c),{recursive:!0}),await M.writeFilePromise(c,e);let u={path:l,spec:r};await ye.updateConfiguration(t.cwd,g=>{let f=[],h=!1;for(let p of g.plugins||[]){let C=typeof p!="string"?p.path:p,y=x.resolve(t.cwd,K.toPortablePath(C)),{name:B}=Ie.dynamicRequire(y);B!==a?f.push(p):(f.push(u),h=!0)}return h||f.push(u),{...g,plugins:f}})}var kWe=({pluginName:r,noMinify:e},t)=>[["yarn",`build:${r}`,...e?["--no-minify"]:[],"|"]],Cu=class extends De{constructor(){super(...arguments);this.installPath=z.String("--path",{description:"The path where the repository should be cloned to"});this.repository=z.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=z.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.noMinify=z.Boolean("--no-minify",!1,{description:"Build a plugin for development (debugging) - non-minified and non-mangled"});this.force=z.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.name=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i=typeof this.installPath<"u"?x.resolve(this.context.cwd,K.toPortablePath(this.installPath)):x.resolve(K.toPortablePath((0,koe.tmpdir)()),"yarnpkg-sources",li.makeHash(this.repository).slice(0,6));return(await Ge.start({configuration:t,stdout:this.context.stdout},async s=>{let{project:o}=await je.find(t,this.context.cwd),a=P.parseIdent(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-")),l=P.stringifyIdent(a),c=await hu(t);if(!Object.prototype.hasOwnProperty.call(c,l))throw new at(51,`Couldn't find a plugin named "${l}" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be built and imported from sources.`);let u=l;await ST(this,{configuration:t,report:s,target:i}),await vT(u,this,{project:o,report:s,target:i})})).exitCode()}};Cu.paths=[["plugin","import","from","sources"]],Cu.usage=ve.Usage({category:"Plugin-related commands",description:"build a plugin from sources",details:` + `,examples:[['Download and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import @yarnpkg/plugin-exec"],['Download and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import exec"],["Download and activate a community plugin","$0 plugin import https://example.org/path/to/plugin.js"],["Activate a local plugin","$0 plugin import ./path/to/plugin.js"]]});async function tO(r,e,{project:t,report:i}){let{configuration:n}=t,s={},o={exports:s};(0,pae.runInNewContext)(e.toString(),{module:o,exports:s});let a=o.exports.name,l=`.yarn/plugins/${a}.cjs`,c=x.resolve(t.cwd,l);i.reportInfo(0,`Saving the new plugin in ${ee.pretty(n,l,"magenta")}`),await M.mkdirPromise(x.dirname(c),{recursive:!0}),await M.writeFilePromise(c,e);let u={path:l,spec:r};await ye.updateConfiguration(t.cwd,g=>{let f=[],h=!1;for(let p of g.plugins||[]){let C=typeof p!="string"?p.path:p,y=x.resolve(t.cwd,K.toPortablePath(C)),{name:B}=Ie.dynamicRequire(y);B!==a?f.push(p):(f.push(u),h=!0)}return h||f.push(u),{...g,plugins:f}})}var T4e=({pluginName:r,noMinify:e},t)=>[["yarn",`build:${r}`,...e?["--no-minify"]:[],"|"]],Qu=class extends De{constructor(){super(...arguments);this.installPath=z.String("--path",{description:"The path where the repository should be cloned to"});this.repository=z.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=z.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.noMinify=z.Boolean("--no-minify",!1,{description:"Build a plugin for development (debugging) - non-minified and non-mangled"});this.force=z.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.name=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i=typeof this.installPath<"u"?x.resolve(this.context.cwd,K.toPortablePath(this.installPath)):x.resolve(K.toPortablePath((0,dae.tmpdir)()),"yarnpkg-sources",li.makeHash(this.repository).slice(0,6));return(await Ge.start({configuration:t,stdout:this.context.stdout},async s=>{let{project:o}=await je.find(t,this.context.cwd),a=P.parseIdent(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-")),l=P.stringifyIdent(a),c=await yu(t);if(!Object.prototype.hasOwnProperty.call(c,l))throw new at(51,`Couldn't find a plugin named "${l}" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be built and imported from sources.`);let u=l;await $T(this,{configuration:t,report:s,target:i}),await eO(u,this,{project:o,report:s,target:i})})).exitCode()}};Qu.paths=[["plugin","import","from","sources"]],Qu.usage=ve.Usage({category:"Plugin-related commands",description:"build a plugin from sources",details:` This command clones the Yarn repository into a temporary folder, builds the specified contrib plugin and updates the configuration to reference it in further CLI invocations. The plugins can be referenced by their short name if sourced from the official Yarn repository. - `,examples:[['Build and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import from sources @yarnpkg/plugin-exec"],['Build and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import from sources exec"]]});async function vT(r,{context:e,noMinify:t},{project:i,report:n,target:s}){let o=r.replace(/@yarnpkg\//,""),{configuration:a}=i;n.reportSeparator(),n.reportInfo(0,`Building a fresh ${o}`),n.reportSeparator(),await Om(kWe({pluginName:o,noMinify:t},s),{configuration:a,context:e,target:s}),n.reportSeparator();let l=x.resolve(s,`packages/${o}/bundles/${r}.js`),c=await M.readFilePromise(l);await xT(r,c,{project:i,report:n})}var mu=class extends De{constructor(){super(...arguments);this.name=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i}=await je.find(t,this.context.cwd);return(await Ge.start({configuration:t,stdout:this.context.stdout},async s=>{let o=this.name,a=P.parseIdent(o);if(!t.plugins.has(o))throw new be(`${P.prettyIdent(t,a)} isn't referenced by the current configuration`);let l=`.yarn/plugins/${o}.cjs`,c=x.resolve(i.cwd,l);M.existsSync(c)&&(s.reportInfo(0,`Removing ${ee.pretty(t,l,ee.Type.PATH)}...`),await M.removePromise(c)),s.reportInfo(0,"Updating the configuration..."),await ye.updateConfiguration(i.cwd,u=>{if(!Array.isArray(u.plugins))return u;let g=u.plugins.filter(f=>f.path!==l);return u.plugins.length===g.length?u:{...u,plugins:g}})})).exitCode()}};mu.paths=[["plugin","remove"]],mu.usage=ve.Usage({category:"Plugin-related commands",description:"remove a plugin",details:` + `,examples:[['Build and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import from sources @yarnpkg/plugin-exec"],['Build and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import from sources exec"]]});async function eO(r,{context:e,noMinify:t},{project:i,report:n,target:s}){let o=r.replace(/@yarnpkg\//,""),{configuration:a}=i;n.reportSeparator(),n.reportInfo(0,`Building a fresh ${o}`),n.reportSeparator(),await qm(T4e({pluginName:o,noMinify:t},s),{configuration:a,context:e,target:s}),n.reportSeparator();let l=x.resolve(s,`packages/${o}/bundles/${r}.js`),c=await M.readFilePromise(l);await tO(r,c,{project:i,report:n})}var bu=class extends De{constructor(){super(...arguments);this.name=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i}=await je.find(t,this.context.cwd);return(await Ge.start({configuration:t,stdout:this.context.stdout},async s=>{let o=this.name,a=P.parseIdent(o);if(!t.plugins.has(o))throw new be(`${P.prettyIdent(t,a)} isn't referenced by the current configuration`);let l=`.yarn/plugins/${o}.cjs`,c=x.resolve(i.cwd,l);M.existsSync(c)&&(s.reportInfo(0,`Removing ${ee.pretty(t,l,ee.Type.PATH)}...`),await M.removePromise(c)),s.reportInfo(0,"Updating the configuration..."),await ye.updateConfiguration(i.cwd,u=>{if(!Array.isArray(u.plugins))return u;let g=u.plugins.filter(f=>f.path!==l);return u.plugins.length===g.length?u:{...u,plugins:g}})})).exitCode()}};bu.paths=[["plugin","remove"]],bu.usage=ve.Usage({category:"Plugin-related commands",description:"remove a plugin",details:` This command deletes the specified plugin from the .yarn/plugins folder and removes it from the configuration. **Note:** The plugins have to be referenced by their name property, which can be obtained using the \`yarn plugin runtime\` command. Shorthands are not allowed. - `,examples:[["Remove a plugin imported from the Yarn repository","$0 plugin remove @yarnpkg/plugin-typescript"],["Remove a plugin imported from a local file","$0 plugin remove my-local-plugin"]]});var Eu=class extends De{constructor(){super(...arguments);this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins);return(await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout},async n=>{for(let s of t.plugins.keys()){let o=this.context.plugins.plugins.has(s),a=s;o&&(a+=" [builtin]"),n.reportJson({name:s,builtin:o}),n.reportInfo(null,`${a}`)}})).exitCode()}};Eu.paths=[["plugin","runtime"]],Eu.usage=ve.Usage({category:"Plugin-related commands",description:"list the active plugins",details:` + `,examples:[["Remove a plugin imported from the Yarn repository","$0 plugin remove @yarnpkg/plugin-typescript"],["Remove a plugin imported from a local file","$0 plugin remove my-local-plugin"]]});var Su=class extends De{constructor(){super(...arguments);this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins);return(await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout},async n=>{for(let s of t.plugins.keys()){let o=this.context.plugins.plugins.has(s),a=s;o&&(a+=" [builtin]"),n.reportJson({name:s,builtin:o}),n.reportInfo(null,`${a}`)}})).exitCode()}};Su.paths=[["plugin","runtime"]],Su.usage=ve.Usage({category:"Plugin-related commands",description:"list the active plugins",details:` This command prints the currently active plugins. Will be displayed both builtin plugins and external plugins. - `,examples:[["List the currently active plugins","$0 plugin runtime"]]});var Iu=class extends De{constructor(){super(...arguments);this.idents=z.Rest()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);let o=new Set;for(let l of this.idents)o.add(P.parseIdent(l).identHash);if(await i.restoreInstallState({restoreResolutions:!1}),await i.resolveEverything({cache:s,report:new ti}),o.size>0)for(let l of i.storedPackages.values())o.has(l.identHash)&&i.storedBuildState.delete(l.locatorHash);else i.storedBuildState.clear();return(await Ge.start({configuration:t,stdout:this.context.stdout,includeLogs:!this.context.quiet},async l=>{await i.install({cache:s,report:l})})).exitCode()}};Iu.paths=[["rebuild"]],Iu.usage=ve.Usage({description:"rebuild the project's native packages",details:` + `,examples:[["List the currently active plugins","$0 plugin runtime"]]});var vu=class extends De{constructor(){super(...arguments);this.idents=z.Rest()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);let o=new Set;for(let l of this.idents)o.add(P.parseIdent(l).identHash);if(await i.restoreInstallState({restoreResolutions:!1}),await i.resolveEverything({cache:s,report:new ti}),o.size>0)for(let l of i.storedPackages.values())o.has(l.identHash)&&i.storedBuildState.delete(l.locatorHash);else i.storedBuildState.clear();return(await Ge.start({configuration:t,stdout:this.context.stdout,includeLogs:!this.context.quiet},async l=>{await i.install({cache:s,report:l})})).exitCode()}};vu.paths=[["rebuild"]],vu.usage=ve.Usage({description:"rebuild the project's native packages",details:` This command will automatically cause Yarn to forget about previous compilations of the given packages and to run them again. Note that while Yarn forgets the compilation, the previous artifacts aren't erased from the filesystem and may affect the next builds (in good or bad). To avoid this, you may remove the .yarn/unplugged folder, or any other relevant location where packages might have been stored (Yarn may offer a way to do that automatically in the future). By default all packages will be rebuilt, but you can filter the list by specifying the names of the packages you want to clear from memory. - `,examples:[["Rebuild all packages","$0 rebuild"],["Rebuild fsevents only","$0 rebuild fsevents"]]});var PT=Pe(yn());ns();var yu=class extends De{constructor(){super(...arguments);this.all=z.Boolean("-A,--all",!1,{description:"Apply the operation to all workspaces from the current project"});this.mode=z.String("--mode",{description:"Change what artifacts installs generate",validator:Wi(Xn)});this.patterns=z.Rest()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState({restoreResolutions:!1});let o=this.all?i.workspaces:[n],a=["dependencies","devDependencies","peerDependencies"],l=[],c=!1,u=[];for(let p of this.patterns){let C=!1,y=P.parseIdent(p);for(let B of o){let v=[...B.manifest.peerDependenciesMeta.keys()];for(let D of(0,PT.default)(v,p))B.manifest.peerDependenciesMeta.delete(D),c=!0,C=!0;for(let D of a){let L=B.manifest.getForScope(D),H=[...L.values()].map(j=>P.stringifyIdent(j));for(let j of(0,PT.default)(H,P.stringifyIdent(y))){let{identHash:$}=P.parseIdent(j),V=L.get($);if(typeof V>"u")throw new Error("Assertion failed: Expected the descriptor to be registered");B.manifest[D].delete($),u.push([B,D,V]),c=!0,C=!0}}}C||l.push(p)}let g=l.length>1?"Patterns":"Pattern",f=l.length>1?"don't":"doesn't",h=this.all?"any":"this";if(l.length>0)throw new be(`${g} ${ee.prettyList(t,l,vi.CODE)} ${f} match any packages referenced by ${h} workspace`);return c?(await t.triggerMultipleHooks(C=>C.afterWorkspaceDependencyRemoval,u),(await Ge.start({configuration:t,stdout:this.context.stdout},async C=>{await i.install({cache:s,report:C,mode:this.mode})})).exitCode()):0}};yu.paths=[["remove"]],yu.usage=ve.Usage({description:"remove dependencies from the project",details:` + `,examples:[["Rebuild all packages","$0 rebuild"],["Rebuild fsevents only","$0 rebuild fsevents"]]});var rO=Pe(yn());as();var xu=class extends De{constructor(){super(...arguments);this.all=z.Boolean("-A,--all",!1,{description:"Apply the operation to all workspaces from the current project"});this.mode=z.String("--mode",{description:"Change what artifacts installs generate",validator:Vi($n)});this.patterns=z.Rest()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState({restoreResolutions:!1});let o=this.all?i.workspaces:[n],a=["dependencies","devDependencies","peerDependencies"],l=[],c=!1,u=[];for(let p of this.patterns){let C=!1,y=P.parseIdent(p);for(let B of o){let v=[...B.manifest.peerDependenciesMeta.keys()];for(let D of(0,rO.default)(v,p))B.manifest.peerDependenciesMeta.delete(D),c=!0,C=!0;for(let D of a){let L=B.manifest.getForScope(D),H=[...L.values()].map(j=>P.stringifyIdent(j));for(let j of(0,rO.default)(H,P.stringifyIdent(y))){let{identHash:$}=P.parseIdent(j),V=L.get($);if(typeof V>"u")throw new Error("Assertion failed: Expected the descriptor to be registered");B.manifest[D].delete($),u.push([B,D,V]),c=!0,C=!0}}}C||l.push(p)}let g=l.length>1?"Patterns":"Pattern",f=l.length>1?"don't":"doesn't",h=this.all?"any":"this";if(l.length>0)throw new be(`${g} ${ee.prettyList(t,l,xi.CODE)} ${f} match any packages referenced by ${h} workspace`);return c?(await t.triggerMultipleHooks(C=>C.afterWorkspaceDependencyRemoval,u),(await Ge.start({configuration:t,stdout:this.context.stdout},async C=>{await i.install({cache:s,report:C,mode:this.mode})})).exitCode()):0}};xu.paths=[["remove"]],xu.usage=ve.Usage({description:"remove dependencies from the project",details:` This command will remove the packages matching the specified patterns from the current workspace. If the \`--mode=\` option is set, Yarn will change which artifacts are generated. The modes currently supported are: @@ -569,7 +569,7 @@ ${l} - \`update-lockfile\` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost. This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them. - `,examples:[["Remove a dependency from the current project","$0 remove lodash"],["Remove a dependency from all workspaces at once","$0 remove lodash --all"],["Remove all dependencies starting with `eslint-`","$0 remove 'eslint-*'"],["Remove all dependencies with the `@babel` scope","$0 remove '@babel/*'"],["Remove all dependencies matching `react-dom` or `react-helmet`","$0 remove 'react-{dom,helmet}'"]]});var Roe=J("util"),Uh=class extends De{async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:t,workspace:i}=await je.find(e,this.context.cwd);if(!i)throw new ct(t.cwd,this.context.cwd);return(await Ge.start({configuration:e,stdout:this.context.stdout},async s=>{let o=i.manifest.scripts,a=Ie.sortMap(o.keys(),u=>u),l={breakLength:1/0,colors:e.get("enableColors"),maxArrayLength:2},c=a.reduce((u,g)=>Math.max(u,g.length),0);for(let[u,g]of o.entries())s.reportInfo(null,`${u.padEnd(c," ")} ${(0,Roe.inspect)(g,l)}`)})).exitCode()}};Uh.paths=[["run"]];var wu=class extends De{constructor(){super(...arguments);this.inspect=z.String("--inspect",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.inspectBrk=z.String("--inspect-brk",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.topLevel=z.Boolean("-T,--top-level",!1,{description:"Check the root workspace for scripts and/or binaries instead of the current one"});this.binariesOnly=z.Boolean("-B,--binaries-only",!1,{description:"Ignore any user defined scripts and only check for binaries"});this.silent=z.Boolean("--silent",{hidden:!0});this.scriptName=z.String();this.args=z.Proxy()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n,locator:s}=await je.find(t,this.context.cwd);await i.restoreInstallState();let o=this.topLevel?i.topLevelWorkspace.anchoredLocator:s;if(!this.binariesOnly&&await Jt.hasPackageScript(o,this.scriptName,{project:i}))return await Jt.executePackageScript(o,this.scriptName,this.args,{project:i,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});let a=await Jt.getPackageAccessibleBinaries(o,{project:i});if(a.get(this.scriptName)){let c=[];return this.inspect&&(typeof this.inspect=="string"?c.push(`--inspect=${this.inspect}`):c.push("--inspect")),this.inspectBrk&&(typeof this.inspectBrk=="string"?c.push(`--inspect-brk=${this.inspectBrk}`):c.push("--inspect-brk")),await Jt.executePackageAccessibleBinary(o,this.scriptName,this.args,{cwd:this.context.cwd,project:i,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,nodeArgs:c,packageAccessibleBinaries:a})}if(!this.topLevel&&!this.binariesOnly&&n&&this.scriptName.includes(":")){let u=(await Promise.all(i.workspaces.map(async g=>g.manifest.scripts.has(this.scriptName)?g:null))).filter(g=>g!==null);if(u.length===1)return await Jt.executeWorkspaceScript(u[0],this.scriptName,this.args,{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})}if(this.topLevel)throw this.scriptName==="node-gyp"?new be(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${P.prettyLocator(t,s)}). This typically happens because some package depends on "node-gyp" to build itself, but didn't list it in their dependencies. To fix that, please run "yarn add node-gyp" into your top-level workspace. You also can open an issue on the repository of the specified package to suggest them to use an optional peer dependency.`):new be(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${P.prettyLocator(t,s)}).`);{if(this.scriptName==="global")throw new be("The 'yarn global' commands have been removed in 2.x - consider using 'yarn dlx' or a third-party plugin instead");let c=[this.scriptName].concat(this.args);for(let[u,g]of ph)for(let f of g)if(c.length>=f.length&&JSON.stringify(c.slice(0,f.length))===JSON.stringify(f))throw new be(`Couldn't find a script named "${this.scriptName}", but a matching command can be found in the ${u} plugin. You can install it with "yarn plugin import ${u}".`);throw new be(`Couldn't find a script named "${this.scriptName}".`)}}};wu.paths=[["run"]],wu.usage=ve.Usage({description:"run a script defined in the package.json",details:` + `,examples:[["Remove a dependency from the current project","$0 remove lodash"],["Remove a dependency from all workspaces at once","$0 remove lodash --all"],["Remove all dependencies starting with `eslint-`","$0 remove 'eslint-*'"],["Remove all dependencies with the `@babel` scope","$0 remove '@babel/*'"],["Remove all dependencies matching `react-dom` or `react-helmet`","$0 remove 'react-{dom,helmet}'"]]});var Cae=J("util"),Vh=class extends De{async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:t,workspace:i}=await je.find(e,this.context.cwd);if(!i)throw new ct(t.cwd,this.context.cwd);return(await Ge.start({configuration:e,stdout:this.context.stdout},async s=>{let o=i.manifest.scripts,a=Ie.sortMap(o.keys(),u=>u),l={breakLength:1/0,colors:e.get("enableColors"),maxArrayLength:2},c=a.reduce((u,g)=>Math.max(u,g.length),0);for(let[u,g]of o.entries())s.reportInfo(null,`${u.padEnd(c," ")} ${(0,Cae.inspect)(g,l)}`)})).exitCode()}};Vh.paths=[["run"]];var Pu=class extends De{constructor(){super(...arguments);this.inspect=z.String("--inspect",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.inspectBrk=z.String("--inspect-brk",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.topLevel=z.Boolean("-T,--top-level",!1,{description:"Check the root workspace for scripts and/or binaries instead of the current one"});this.binariesOnly=z.Boolean("-B,--binaries-only",!1,{description:"Ignore any user defined scripts and only check for binaries"});this.silent=z.Boolean("--silent",{hidden:!0});this.scriptName=z.String();this.args=z.Proxy()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n,locator:s}=await je.find(t,this.context.cwd);await i.restoreInstallState();let o=this.topLevel?i.topLevelWorkspace.anchoredLocator:s;if(!this.binariesOnly&&await Wt.hasPackageScript(o,this.scriptName,{project:i}))return await Wt.executePackageScript(o,this.scriptName,this.args,{project:i,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});let a=await Wt.getPackageAccessibleBinaries(o,{project:i});if(a.get(this.scriptName)){let c=[];return this.inspect&&(typeof this.inspect=="string"?c.push(`--inspect=${this.inspect}`):c.push("--inspect")),this.inspectBrk&&(typeof this.inspectBrk=="string"?c.push(`--inspect-brk=${this.inspectBrk}`):c.push("--inspect-brk")),await Wt.executePackageAccessibleBinary(o,this.scriptName,this.args,{cwd:this.context.cwd,project:i,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,nodeArgs:c,packageAccessibleBinaries:a})}if(!this.topLevel&&!this.binariesOnly&&n&&this.scriptName.includes(":")){let u=(await Promise.all(i.workspaces.map(async g=>g.manifest.scripts.has(this.scriptName)?g:null))).filter(g=>g!==null);if(u.length===1)return await Wt.executeWorkspaceScript(u[0],this.scriptName,this.args,{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})}if(this.topLevel)throw this.scriptName==="node-gyp"?new be(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${P.prettyLocator(t,s)}). This typically happens because some package depends on "node-gyp" to build itself, but didn't list it in their dependencies. To fix that, please run "yarn add node-gyp" into your top-level workspace. You also can open an issue on the repository of the specified package to suggest them to use an optional peer dependency.`):new be(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${P.prettyLocator(t,s)}).`);{if(this.scriptName==="global")throw new be("The 'yarn global' commands have been removed in 2.x - consider using 'yarn dlx' or a third-party plugin instead");let c=[this.scriptName].concat(this.args);for(let[u,g]of Qh)for(let f of g)if(c.length>=f.length&&JSON.stringify(c.slice(0,f.length))===JSON.stringify(f))throw new be(`Couldn't find a script named "${this.scriptName}", but a matching command can be found in the ${u} plugin. You can install it with "yarn plugin import ${u}".`);throw new be(`Couldn't find a script named "${this.scriptName}".`)}}};Pu.paths=[["run"]],Pu.usage=ve.Usage({description:"run a script defined in the package.json",details:` This command will run a tool. The exact tool that will be executed will depend on the current state of your workspace: - If the \`scripts\` field from your local package.json contains a matching script name, its definition will get executed. @@ -579,62 +579,62 @@ ${l} - Otherwise, if the specified name contains a colon character and if one of the workspaces in the project contains exactly one script with a matching name, then this script will get executed. Whatever happens, the cwd of the spawned process will be the workspace that declares the script (which makes it possible to call commands cross-workspaces using the third syntax). - `,examples:[["Run the tests from the local workspace","$0 run test"],['Same thing, but without the "run" keyword',"$0 test"],["Inspect Webpack while running","$0 run --inspect-brk webpack"]]});var Bu=class extends De{constructor(){super(...arguments);this.save=z.Boolean("-s,--save",!1,{description:"Persist the resolution inside the top-level manifest"});this.descriptor=z.String();this.resolution=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(await i.restoreInstallState({restoreResolutions:!1}),!n)throw new ct(i.cwd,this.context.cwd);let o=P.parseDescriptor(this.descriptor,!0),a=P.makeDescriptor(o,this.resolution);return i.storedDescriptors.set(o.descriptorHash,o),i.storedDescriptors.set(a.descriptorHash,a),i.resolutionAliases.set(o.descriptorHash,a.descriptorHash),(await Ge.start({configuration:t,stdout:this.context.stdout},async c=>{await i.install({cache:s,report:c})})).exitCode()}};Bu.paths=[["set","resolution"]],Bu.usage=ve.Usage({description:"enforce a package resolution",details:'\n This command updates the resolution table so that `descriptor` is resolved by `resolution`.\n\n Note that by default this command only affect the current resolution table - meaning that this "manual override" will disappear if you remove the lockfile, or if the package disappear from the table. If you wish to make the enforced resolution persist whatever happens, add the `-s,--save` flag which will also edit the `resolutions` field from your top-level manifest.\n\n Note that no attempt is made at validating that `resolution` is a valid resolution entry for `descriptor`.\n ',examples:[["Force all instances of lodash@npm:^1.2.3 to resolve to 1.5.0","$0 set resolution lodash@npm:^1.2.3 1.5.0"]]});var Foe=Pe(yn()),Qu=class extends De{constructor(){super(...arguments);this.all=z.Boolean("-A,--all",!1,{description:"Unlink all workspaces belonging to the target project from the current one"});this.leadingArguments=z.Rest()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);let o=i.topLevelWorkspace,a=new Set;if(this.leadingArguments.length===0&&this.all)for(let{pattern:c,reference:u}of o.manifest.resolutions)u.startsWith("portal:")&&a.add(c.descriptor.fullName);if(this.leadingArguments.length>0)for(let c of this.leadingArguments){let u=x.resolve(this.context.cwd,K.toPortablePath(c));if(Ie.isPathLike(c)){let g=await ye.find(u,this.context.plugins,{useRc:!1,strict:!1}),{project:f,workspace:h}=await je.find(g,u);if(!h)throw new ct(f.cwd,u);if(this.all){for(let p of f.workspaces)p.manifest.name&&a.add(P.stringifyIdent(p.locator));if(a.size===0)throw new be("No workspace found to be unlinked in the target project")}else{if(!h.manifest.name)throw new be("The target workspace doesn't have a name and thus cannot be unlinked");a.add(P.stringifyIdent(h.locator))}}else{let g=[...o.manifest.resolutions.map(({pattern:f})=>f.descriptor.fullName)];for(let f of(0,Foe.default)(g,c))a.add(f)}}return o.manifest.resolutions=o.manifest.resolutions.filter(({pattern:c})=>!a.has(c.descriptor.fullName)),(await Ge.start({configuration:t,stdout:this.context.stdout},async c=>{await i.install({cache:s,report:c})})).exitCode()}};Qu.paths=[["unlink"]],Qu.usage=ve.Usage({description:"disconnect the local project from another one",details:` + `,examples:[["Run the tests from the local workspace","$0 run test"],['Same thing, but without the "run" keyword',"$0 test"],["Inspect Webpack while running","$0 run --inspect-brk webpack"]]});var Du=class extends De{constructor(){super(...arguments);this.save=z.Boolean("-s,--save",!1,{description:"Persist the resolution inside the top-level manifest"});this.descriptor=z.String();this.resolution=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(await i.restoreInstallState({restoreResolutions:!1}),!n)throw new ct(i.cwd,this.context.cwd);let o=P.parseDescriptor(this.descriptor,!0),a=P.makeDescriptor(o,this.resolution);return i.storedDescriptors.set(o.descriptorHash,o),i.storedDescriptors.set(a.descriptorHash,a),i.resolutionAliases.set(o.descriptorHash,a.descriptorHash),(await Ge.start({configuration:t,stdout:this.context.stdout},async c=>{await i.install({cache:s,report:c})})).exitCode()}};Du.paths=[["set","resolution"]],Du.usage=ve.Usage({description:"enforce a package resolution",details:'\n This command updates the resolution table so that `descriptor` is resolved by `resolution`.\n\n Note that by default this command only affect the current resolution table - meaning that this "manual override" will disappear if you remove the lockfile, or if the package disappear from the table. If you wish to make the enforced resolution persist whatever happens, add the `-s,--save` flag which will also edit the `resolutions` field from your top-level manifest.\n\n Note that no attempt is made at validating that `resolution` is a valid resolution entry for `descriptor`.\n ',examples:[["Force all instances of lodash@npm:^1.2.3 to resolve to 1.5.0","$0 set resolution lodash@npm:^1.2.3 1.5.0"]]});var mae=Pe(yn()),ku=class extends De{constructor(){super(...arguments);this.all=z.Boolean("-A,--all",!1,{description:"Unlink all workspaces belonging to the target project from the current one"});this.leadingArguments=z.Rest()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);let o=i.topLevelWorkspace,a=new Set;if(this.leadingArguments.length===0&&this.all)for(let{pattern:c,reference:u}of o.manifest.resolutions)u.startsWith("portal:")&&a.add(c.descriptor.fullName);if(this.leadingArguments.length>0)for(let c of this.leadingArguments){let u=x.resolve(this.context.cwd,K.toPortablePath(c));if(Ie.isPathLike(c)){let g=await ye.find(u,this.context.plugins,{useRc:!1,strict:!1}),{project:f,workspace:h}=await je.find(g,u);if(!h)throw new ct(f.cwd,u);if(this.all){for(let p of f.workspaces)p.manifest.name&&a.add(P.stringifyIdent(p.locator));if(a.size===0)throw new be("No workspace found to be unlinked in the target project")}else{if(!h.manifest.name)throw new be("The target workspace doesn't have a name and thus cannot be unlinked");a.add(P.stringifyIdent(h.locator))}}else{let g=[...o.manifest.resolutions.map(({pattern:f})=>f.descriptor.fullName)];for(let f of(0,mae.default)(g,c))a.add(f)}}return o.manifest.resolutions=o.manifest.resolutions.filter(({pattern:c})=>!a.has(c.descriptor.fullName)),(await Ge.start({configuration:t,stdout:this.context.stdout},async c=>{await i.install({cache:s,report:c})})).exitCode()}};ku.paths=[["unlink"]],ku.usage=ve.Usage({description:"disconnect the local project from another one",details:` This command will remove any resolutions in the project-level manifest that would have been added via a yarn link with similar arguments. - `,examples:[["Unregister a remote workspace in the current project","$0 unlink ~/ts-loader"],["Unregister all workspaces from a remote project in the current project","$0 unlink ~/jest --all"],["Unregister all previously linked workspaces","$0 unlink --all"],["Unregister all workspaces matching a glob","$0 unlink '@babel/*' 'pkg-{a,b}'"]]});var Noe=Pe(Pm()),DT=Pe(yn());ns();var Al=class extends De{constructor(){super(...arguments);this.interactive=z.Boolean("-i,--interactive",{description:"Offer various choices, depending on the detected upgrade paths"});this.exact=z.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=z.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=z.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.recursive=z.Boolean("-R,--recursive",!1,{description:"Resolve again ALL resolutions for those packages"});this.mode=z.String("--mode",{description:"Change what artifacts installs generate",validator:Wi(Xn)});this.patterns=z.Rest()}async execute(){return this.recursive?await this.executeUpRecursive():await this.executeUpClassic()}async executeUpRecursive(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState({restoreResolutions:!1});let o=[...i.storedDescriptors.values()],a=o.map(g=>P.stringifyIdent(g)),l=new Set;for(let g of this.patterns){if(P.parseDescriptor(g).range!=="unknown")throw new be("Ranges aren't allowed when using --recursive");for(let f of(0,DT.default)(a,g)){let h=P.parseIdent(f);l.add(h.identHash)}}let c=o.filter(g=>l.has(g.identHash));for(let g of c)i.storedDescriptors.delete(g.descriptorHash),i.storedResolutions.delete(g.descriptorHash);return(await Ge.start({configuration:t,stdout:this.context.stdout},async g=>{await i.install({cache:s,report:g})})).exitCode()}async executeUpClassic(){var y;let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState({restoreResolutions:!1});let o=(y=this.interactive)!=null?y:t.get("preferInteractive"),a=km(this,i),l=o?["keep","reuse","project","latest"]:["project","latest"],c=[],u=[];for(let B of this.patterns){let v=!1,D=P.parseDescriptor(B);for(let L of i.workspaces)for(let H of["dependencies","devDependencies"]){let $=[...L.manifest.getForScope(H).values()].map(V=>P.stringifyIdent(V));for(let V of(0,DT.default)($,P.stringifyIdent(D))){let W=P.parseIdent(V),Z=L.manifest[H].get(W.identHash);if(typeof Z>"u")throw new Error("Assertion failed: Expected the descriptor to be registered");let A=P.makeDescriptor(W,D.range);c.push(Promise.resolve().then(async()=>[L,H,Z,await Rm(A,{project:i,workspace:L,cache:s,target:H,modifier:a,strategies:l})])),v=!0}}v||u.push(B)}if(u.length>1)throw new be(`Patterns ${ee.prettyList(t,u,vi.CODE)} don't match any packages referenced by any workspace`);if(u.length>0)throw new be(`Pattern ${ee.prettyList(t,u,vi.CODE)} doesn't match any packages referenced by any workspace`);let g=await Promise.all(c),f=await _o.start({configuration:t,stdout:this.context.stdout,suggestInstall:!1},async B=>{for(let[,,v,{suggestions:D,rejections:L}]of g){let H=D.filter(j=>j.descriptor!==null);if(H.length===0){let[j]=L;if(typeof j>"u")throw new Error("Assertion failed: Expected an error to have been set");let $=this.cli.error(j);i.configuration.get("enableNetwork")?B.reportError(27,`${P.prettyDescriptor(t,v)} can't be resolved to a satisfying range + `,examples:[["Unregister a remote workspace in the current project","$0 unlink ~/ts-loader"],["Unregister all workspaces from a remote project in the current project","$0 unlink ~/jest --all"],["Unregister all previously linked workspaces","$0 unlink --all"],["Unregister all workspaces matching a glob","$0 unlink '@babel/*' 'pkg-{a,b}'"]]});var Eae=Pe(Om()),iO=Pe(yn());as();var Cl=class extends De{constructor(){super(...arguments);this.interactive=z.Boolean("-i,--interactive",{description:"Offer various choices, depending on the detected upgrade paths"});this.exact=z.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=z.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=z.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.recursive=z.Boolean("-R,--recursive",!1,{description:"Resolve again ALL resolutions for those packages"});this.mode=z.String("--mode",{description:"Change what artifacts installs generate",validator:Vi($n)});this.patterns=z.Rest()}async execute(){return this.recursive?await this.executeUpRecursive():await this.executeUpClassic()}async executeUpRecursive(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState({restoreResolutions:!1});let o=[...i.storedDescriptors.values()],a=o.map(g=>P.stringifyIdent(g)),l=new Set;for(let g of this.patterns){if(P.parseDescriptor(g).range!=="unknown")throw new be("Ranges aren't allowed when using --recursive");for(let f of(0,iO.default)(a,g)){let h=P.parseIdent(f);l.add(h.identHash)}}let c=o.filter(g=>l.has(g.identHash));for(let g of c)i.storedDescriptors.delete(g.descriptorHash),i.storedResolutions.delete(g.descriptorHash);return(await Ge.start({configuration:t,stdout:this.context.stdout},async g=>{await i.install({cache:s,report:g})})).exitCode()}async executeUpClassic(){var y;let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState({restoreResolutions:!1});let o=(y=this.interactive)!=null?y:t.get("preferInteractive"),a=Km(this,i),l=o?["keep","reuse","project","latest"]:["project","latest"],c=[],u=[];for(let B of this.patterns){let v=!1,D=P.parseDescriptor(B);for(let L of i.workspaces)for(let H of["dependencies","devDependencies"]){let $=[...L.manifest.getForScope(H).values()].map(V=>P.stringifyIdent(V));for(let V of(0,iO.default)($,P.stringifyIdent(D))){let W=P.parseIdent(V),_=L.manifest[H].get(W.identHash);if(typeof _>"u")throw new Error("Assertion failed: Expected the descriptor to be registered");let A=P.makeDescriptor(W,D.range);c.push(Promise.resolve().then(async()=>[L,H,_,await Um(A,{project:i,workspace:L,cache:s,target:H,modifier:a,strategies:l})])),v=!0}}v||u.push(B)}if(u.length>1)throw new be(`Patterns ${ee.prettyList(t,u,xi.CODE)} don't match any packages referenced by any workspace`);if(u.length>0)throw new be(`Pattern ${ee.prettyList(t,u,xi.CODE)} doesn't match any packages referenced by any workspace`);let g=await Promise.all(c),f=await ra.start({configuration:t,stdout:this.context.stdout,suggestInstall:!1},async B=>{for(let[,,v,{suggestions:D,rejections:L}]of g){let H=D.filter(j=>j.descriptor!==null);if(H.length===0){let[j]=L;if(typeof j>"u")throw new Error("Assertion failed: Expected an error to have been set");let $=this.cli.error(j);i.configuration.get("enableNetwork")?B.reportError(27,`${P.prettyDescriptor(t,v)} can't be resolved to a satisfying range ${$}`):B.reportError(27,`${P.prettyDescriptor(t,v)} can't be resolved to a satisfying range (note: network resolution has been disabled) -${$}`)}else H.length>1&&!o&&B.reportError(27,`${P.prettyDescriptor(t,v)} has multiple possible upgrade strategies; use -i to disambiguate manually`)}});if(f.hasErrors())return f.exitCode();let h=!1,p=[];for(let[B,v,,{suggestions:D}]of g){let L,H=D.filter(W=>W.descriptor!==null),j=H[0].descriptor,$=H.every(W=>P.areDescriptorsEqual(W.descriptor,j));H.length===1||$?L=j:(h=!0,{answer:L}=await(0,Noe.prompt)({type:"select",name:"answer",message:`Which range to you want to use in ${P.prettyWorkspace(t,B)} \u276F ${v}?`,choices:D.map(({descriptor:W,name:Z,reason:A})=>W?{name:Z,hint:A,descriptor:W}:{name:Z,hint:A,disabled:!0}),onCancel:()=>process.exit(130),result(W){return this.find(W,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let V=B.manifest[v].get(L.identHash);if(typeof V>"u")throw new Error("Assertion failed: This descriptor should have a matching entry");if(V.descriptorHash!==L.descriptorHash)B.manifest[v].set(L.identHash,L),p.push([B,v,V,L]);else{let W=t.makeResolver(),Z={project:i,resolver:W},A=W.bindDescriptor(V,B.anchoredLocator,Z);i.forgetResolution(A)}}return await t.triggerMultipleHooks(B=>B.afterWorkspaceDependencyReplacement,p),h&&this.context.stdout.write(` -`),(await Ge.start({configuration:t,stdout:this.context.stdout},async B=>{await i.install({cache:s,report:B,mode:this.mode})})).exitCode()}};Al.paths=[["up"]],Al.usage=ve.Usage({description:"upgrade dependencies across the project",details:"\n This command upgrades the packages matching the list of specified patterns to their latest available version across the whole project (regardless of whether they're part of `dependencies` or `devDependencies` - `peerDependencies` won't be affected). This is a project-wide command: all workspaces will be upgraded in the process.\n\n If `-R,--recursive` is set the command will change behavior and no other switch will be allowed. When operating under this mode `yarn up` will force all ranges matching the selected packages to be resolved again (often to the highest available versions) before being stored in the lockfile. It however won't touch your manifests anymore, so depending on your needs you might want to run both `yarn up` and `yarn up -R` to cover all bases.\n\n If `-i,--interactive` is set (or if the `preferInteractive` settings is toggled on) the command will offer various choices, depending on the detected upgrade paths. Some upgrades require this flag in order to resolve ambiguities.\n\n The, `-C,--caret`, `-E,--exact` and `-T,--tilde` options have the same meaning as in the `add` command (they change the modifier used when the range is missing or a tag, and are ignored when the range is explicitly set).\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n Generally you can see `yarn up` as a counterpart to what was `yarn upgrade --latest` in Yarn 1 (ie it ignores the ranges previously listed in your manifests), but unlike `yarn upgrade` which only upgraded dependencies in the current workspace, `yarn up` will upgrade all workspaces at the same time.\n\n This command accepts glob patterns as arguments (if valid Descriptors and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n **Note:** The ranges have to be static, only the package scopes and names can contain glob patterns.\n ",examples:[["Upgrade all instances of lodash to the latest release","$0 up lodash"],["Upgrade all instances of lodash to the latest release, but ask confirmation for each","$0 up lodash -i"],["Upgrade all instances of lodash to 1.2.3","$0 up lodash@1.2.3"],["Upgrade all instances of packages with the `@babel` scope to the latest release","$0 up '@babel/*'"],["Upgrade all instances of packages containing the word `jest` to the latest release","$0 up '*jest*'"],["Upgrade all instances of packages with the `@babel` scope to 7.0.0","$0 up '@babel/*@7.0.0'"]]}),Al.schema=[JS("recursive",Xl.Forbids,["interactive","exact","tilde","caret"],{ignore:[void 0,!1]})];var bu=class extends De{constructor(){super(...arguments);this.recursive=z.Boolean("-R,--recursive",!1,{description:"List, for each workspace, what are all the paths that lead to the dependency"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.peers=z.Boolean("--peers",!1,{description:"Also print the peer dependencies that match the specified name"});this.package=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState();let s=P.parseIdent(this.package).identHash,o=this.recursive?FWe(i,s,{configuration:t,peers:this.peers}):RWe(i,s,{configuration:t,peers:this.peers});Vn.emitTree(o,{configuration:t,stdout:this.context.stdout,json:this.json,separators:1})}};bu.paths=[["why"]],bu.usage=ve.Usage({description:"display the reason why a package is needed",details:` +${$}`)}else H.length>1&&!o&&B.reportError(27,`${P.prettyDescriptor(t,v)} has multiple possible upgrade strategies; use -i to disambiguate manually`)}});if(f.hasErrors())return f.exitCode();let h=!1,p=[];for(let[B,v,,{suggestions:D}]of g){let L,H=D.filter(W=>W.descriptor!==null),j=H[0].descriptor,$=H.every(W=>P.areDescriptorsEqual(W.descriptor,j));H.length===1||$?L=j:(h=!0,{answer:L}=await(0,Eae.prompt)({type:"select",name:"answer",message:`Which range to you want to use in ${P.prettyWorkspace(t,B)} \u276F ${v}?`,choices:D.map(({descriptor:W,name:_,reason:A})=>W?{name:_,hint:A,descriptor:W}:{name:_,hint:A,disabled:!0}),onCancel:()=>process.exit(130),result(W){return this.find(W,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let V=B.manifest[v].get(L.identHash);if(typeof V>"u")throw new Error("Assertion failed: This descriptor should have a matching entry");if(V.descriptorHash!==L.descriptorHash)B.manifest[v].set(L.identHash,L),p.push([B,v,V,L]);else{let W=t.makeResolver(),_={project:i,resolver:W},A=W.bindDescriptor(V,B.anchoredLocator,_);i.forgetResolution(A)}}return await t.triggerMultipleHooks(B=>B.afterWorkspaceDependencyReplacement,p),h&&this.context.stdout.write(` +`),(await Ge.start({configuration:t,stdout:this.context.stdout},async B=>{await i.install({cache:s,report:B,mode:this.mode})})).exitCode()}};Cl.paths=[["up"]],Cl.usage=ve.Usage({description:"upgrade dependencies across the project",details:"\n This command upgrades the packages matching the list of specified patterns to their latest available version across the whole project (regardless of whether they're part of `dependencies` or `devDependencies` - `peerDependencies` won't be affected). This is a project-wide command: all workspaces will be upgraded in the process.\n\n If `-R,--recursive` is set the command will change behavior and no other switch will be allowed. When operating under this mode `yarn up` will force all ranges matching the selected packages to be resolved again (often to the highest available versions) before being stored in the lockfile. It however won't touch your manifests anymore, so depending on your needs you might want to run both `yarn up` and `yarn up -R` to cover all bases.\n\n If `-i,--interactive` is set (or if the `preferInteractive` settings is toggled on) the command will offer various choices, depending on the detected upgrade paths. Some upgrades require this flag in order to resolve ambiguities.\n\n The, `-C,--caret`, `-E,--exact` and `-T,--tilde` options have the same meaning as in the `add` command (they change the modifier used when the range is missing or a tag, and are ignored when the range is explicitly set).\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n Generally you can see `yarn up` as a counterpart to what was `yarn upgrade --latest` in Yarn 1 (ie it ignores the ranges previously listed in your manifests), but unlike `yarn upgrade` which only upgraded dependencies in the current workspace, `yarn up` will upgrade all workspaces at the same time.\n\n This command accepts glob patterns as arguments (if valid Descriptors and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n **Note:** The ranges have to be static, only the package scopes and names can contain glob patterns.\n ",examples:[["Upgrade all instances of lodash to the latest release","$0 up lodash"],["Upgrade all instances of lodash to the latest release, but ask confirmation for each","$0 up lodash -i"],["Upgrade all instances of lodash to 1.2.3","$0 up lodash@1.2.3"],["Upgrade all instances of packages with the `@babel` scope to the latest release","$0 up '@babel/*'"],["Upgrade all instances of packages containing the word `jest` to the latest release","$0 up '*jest*'"],["Upgrade all instances of packages with the `@babel` scope to 7.0.0","$0 up '@babel/*@7.0.0'"]]}),Cl.schema=[av("recursive",sc.Forbids,["interactive","exact","tilde","caret"],{ignore:[void 0,!1]})];var Ru=class extends De{constructor(){super(...arguments);this.recursive=z.Boolean("-R,--recursive",!1,{description:"List, for each workspace, what are all the paths that lead to the dependency"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.peers=z.Boolean("--peers",!1,{description:"Also print the peer dependencies that match the specified name"});this.package=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState();let s=P.parseIdent(this.package).identHash,o=this.recursive?M4e(i,s,{configuration:t,peers:this.peers}):O4e(i,s,{configuration:t,peers:this.peers});_n.emitTree(o,{configuration:t,stdout:this.context.stdout,json:this.json,separators:1})}};Ru.paths=[["why"]],Ru.usage=ve.Usage({description:"display the reason why a package is needed",details:` This command prints the exact reasons why a package appears in the dependency tree. If \`-R,--recursive\` is set, the listing will go in depth and will list, for each workspaces, what are all the paths that lead to the dependency. Note that the display is somewhat optimized in that it will not print the package listing twice for a single package, so if you see a leaf named "Foo" when looking for "Bar", it means that "Foo" already got printed higher in the tree. - `,examples:[["Explain why lodash is used in your project","$0 why lodash"]]});function RWe(r,e,{configuration:t,peers:i}){let n=Ie.sortMap(r.storedPackages.values(),a=>P.stringifyLocator(a)),s={},o={children:s};for(let a of n){let l={};for(let u of a.dependencies.values()){if(!i&&a.peerDependencies.has(u.identHash))continue;let g=r.storedResolutions.get(u.descriptorHash);if(!g)throw new Error("Assertion failed: The resolution should have been registered");let f=r.storedPackages.get(g);if(!f)throw new Error("Assertion failed: The package should have been registered");if(f.identHash!==e)continue;{let p=P.stringifyLocator(a);s[p]={value:[a,ee.Type.LOCATOR],children:l}}let h=P.stringifyLocator(f);l[h]={value:[{descriptor:u,locator:f},ee.Type.DEPENDENT]}}}return o}function FWe(r,e,{configuration:t,peers:i}){let n=Ie.sortMap(r.workspaces,f=>P.stringifyLocator(f.anchoredLocator)),s=new Set,o=new Set,a=f=>{if(s.has(f.locatorHash))return o.has(f.locatorHash);if(s.add(f.locatorHash),f.identHash===e)return o.add(f.locatorHash),!0;let h=!1;f.identHash===e&&(h=!0);for(let p of f.dependencies.values()){if(!i&&f.peerDependencies.has(p.identHash))continue;let C=r.storedResolutions.get(p.descriptorHash);if(!C)throw new Error("Assertion failed: The resolution should have been registered");let y=r.storedPackages.get(C);if(!y)throw new Error("Assertion failed: The package should have been registered");a(y)&&(h=!0)}return h&&o.add(f.locatorHash),h};for(let f of n){let h=r.storedPackages.get(f.anchoredLocator.locatorHash);if(!h)throw new Error("Assertion failed: The package should have been registered");a(h)}let l=new Set,c={},u={children:c},g=(f,h,p)=>{if(!o.has(f.locatorHash))return;let C=p!==null?ee.tuple(ee.Type.DEPENDENT,{locator:f,descriptor:p}):ee.tuple(ee.Type.LOCATOR,f),y={},B={value:C,children:y},v=P.stringifyLocator(f);if(h[v]=B,!l.has(f.locatorHash)&&(l.add(f.locatorHash),!(p!==null&&r.tryWorkspaceByLocator(f))))for(let D of f.dependencies.values()){if(!i&&f.peerDependencies.has(D.identHash))continue;let L=r.storedResolutions.get(D.descriptorHash);if(!L)throw new Error("Assertion failed: The resolution should have been registered");let H=r.storedPackages.get(L);if(!H)throw new Error("Assertion failed: The package should have been registered");g(H,y,D)}};for(let f of n){let h=r.storedPackages.get(f.anchoredLocator.locatorHash);if(!h)throw new Error("Assertion failed: The package should have been registered");g(h,c,null)}return u}var HT={};ut(HT,{default:()=>$We,gitUtils:()=>$a});var $a={};ut($a,{TreeishProtocols:()=>pQ,clone:()=>UT,fetchBase:()=>tae,fetchChangedFiles:()=>rae,fetchChangedWorkspaces:()=>_We,fetchRoot:()=>eae,isGitUrl:()=>Gh,lsRemote:()=>$oe,normalizeLocator:()=>MT,normalizeRepoUrl:()=>Km,resolveUrl:()=>KT,splitRepoUrl:()=>Mm});var OT=Pe(zoe()),_oe=Pe(dB()),Hh=Pe(J("querystring")),LT=Pe(Xr());function NT(r,e,t){let i=r.indexOf(t);return r.lastIndexOf(e,i>-1?i:1/0)}function Voe(r){try{return new URL(r)}catch{return}}function VWe(r){let e=NT(r,"@","#"),t=NT(r,":","#");return t>e&&(r=`${r.slice(0,t)}/${r.slice(t+1)}`),NT(r,":","#")===-1&&r.indexOf("//")===-1&&(r=`ssh://${r}`),r}function Xoe(r){return Voe(r)||Voe(VWe(r))}function Zoe(){return{...process.env,GIT_SSH_COMMAND:process.env.GIT_SSH_COMMAND||`${process.env.GIT_SSH||"ssh"} -o BatchMode=yes`}}var XWe=[/^ssh:/,/^git(?:\+[^:]+)?:/,/^(?:git\+)?https?:[^#]+\/[^#]+(?:\.git)(?:#.*)?$/,/^git@[^#]+\/[^#]+\.git(?:#.*)?$/,/^(?:github:|https:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z._0-9-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z._0-9-]+?)(?:\.git)?(?:#.*)?$/,/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/],pQ=(n=>(n.Commit="commit",n.Head="head",n.Tag="tag",n.Semver="semver",n))(pQ||{});function Gh(r){return r?XWe.some(e=>!!r.match(e)):!1}function Mm(r){r=Km(r);let e=r.indexOf("#");if(e===-1)return{repo:r,treeish:{protocol:"head",request:"HEAD"},extra:{}};let t=r.slice(0,e),i=r.slice(e+1);if(i.match(/^[a-z]+=/)){let n=Hh.default.parse(i);for(let[l,c]of Object.entries(n))if(typeof c!="string")throw new Error(`Assertion failed: The ${l} parameter must be a literal string`);let s=Object.values(pQ).find(l=>Object.prototype.hasOwnProperty.call(n,l)),o,a;typeof s<"u"?(o=s,a=n[s]):(o="head",a="HEAD");for(let l of Object.values(pQ))delete n[l];return{repo:t,treeish:{protocol:o,request:a},extra:n}}else{let n=i.indexOf(":"),s,o;return n===-1?(s=null,o=i):(s=i.slice(0,n),o=i.slice(n+1)),{repo:t,treeish:{protocol:s,request:o},extra:{}}}}function Km(r,{git:e=!1}={}){if(r=r.replace(/^git\+https:/,"https:"),r=r.replace(/^(?:github:|https:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)(?:\.git)?(#.*)?$/,"https://github.com/$1/$2.git$3"),r=r.replace(/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/,"https://github.com/$1/$2.git#$3"),e){let t=Xoe(r);t&&(r=t.href),r=r.replace(/^git\+([^:]+):/,"$1:")}return r}function MT(r){return P.makeLocator(r,Km(r.reference))}async function $oe(r,e){let t=Km(r,{git:!0});if(!Vt.getNetworkSettings(`https://${(0,OT.default)(t).resource}`,{configuration:e}).enableNetwork)throw new Error(`Request to '${t}' has been blocked because of your configuration settings`);let n=await TT("listing refs",["ls-remote",t],{cwd:e.startingCwd,env:Zoe()},{configuration:e,normalizedRepoUrl:t}),s=new Map,o=/^([a-f0-9]{40})\t([^\n]+)/gm,a;for(;(a=o.exec(n.stdout))!==null;)s.set(a[2],a[1]);return s}async function KT(r,e){let{repo:t,treeish:{protocol:i,request:n},extra:s}=Mm(r),o=await $oe(t,e),a=(c,u)=>{switch(c){case"commit":{if(!u.match(/^[a-f0-9]{40}$/))throw new Error("Invalid commit hash");return Hh.default.stringify({...s,commit:u})}case"head":{let g=o.get(u==="HEAD"?u:`refs/heads/${u}`);if(typeof g>"u")throw new Error(`Unknown head ("${u}")`);return Hh.default.stringify({...s,commit:g})}case"tag":{let g=o.get(`refs/tags/${u}`);if(typeof g>"u")throw new Error(`Unknown tag ("${u}")`);return Hh.default.stringify({...s,commit:g})}case"semver":{let g=vt.validRange(u);if(!g)throw new Error(`Invalid range ("${u}")`);let f=new Map([...o.entries()].filter(([p])=>p.startsWith("refs/tags/")).map(([p,C])=>[LT.default.parse(p.slice(10)),C]).filter(p=>p[0]!==null)),h=LT.default.maxSatisfying([...f.keys()],g);if(h===null)throw new Error(`No matching range ("${u}")`);return Hh.default.stringify({...s,commit:f.get(h)})}case null:{let g;if((g=l("commit",u))!==null||(g=l("tag",u))!==null||(g=l("head",u))!==null)return g;throw u.match(/^[a-f0-9]+$/)?new Error(`Couldn't resolve "${u}" as either a commit, a tag, or a head - if a commit, use the 40-characters commit hash`):new Error(`Couldn't resolve "${u}" as either a commit, a tag, or a head`)}default:throw new Error(`Invalid Git resolution protocol ("${c}")`)}},l=(c,u)=>{try{return a(c,u)}catch{return null}};return`${t}#${a(i,n)}`}async function UT(r,e){return await e.getLimit("cloneConcurrency")(async()=>{let{repo:t,treeish:{protocol:i,request:n}}=Mm(r);if(i!=="commit")throw new Error("Invalid treeish protocol when cloning");let s=Km(t,{git:!0});if(Vt.getNetworkSettings(`https://${(0,OT.default)(s).resource}`,{configuration:e}).enableNetwork===!1)throw new Error(`Request to '${s}' has been blocked because of your configuration settings`);let o=await M.mktempPromise(),a={cwd:o,env:Zoe()};return await TT("cloning the repository",["clone","-c core.autocrlf=false",s,K.fromPortablePath(o)],a,{configuration:e,normalizedRepoUrl:s}),await TT("switching branch",["checkout",`${n}`],a,{configuration:e,normalizedRepoUrl:s}),o})}async function eae(r){let e=null,t,i=r;do t=i,await M.existsPromise(x.join(t,".git"))&&(e=t),i=x.dirname(t);while(e===null&&i!==t);return e}async function tae(r,{baseRefs:e}){if(e.length===0)throw new be("Can't run this command with zero base refs specified.");let t=[];for(let a of e){let{code:l}=await Cr.execvp("git",["merge-base",a,"HEAD"],{cwd:r});l===0&&t.push(a)}if(t.length===0)throw new be(`No ancestor could be found between any of HEAD and ${e.join(", ")}`);let{stdout:i}=await Cr.execvp("git",["merge-base","HEAD",...t],{cwd:r,strict:!0}),n=i.trim(),{stdout:s}=await Cr.execvp("git",["show","--quiet","--pretty=format:%s",n],{cwd:r,strict:!0}),o=s.trim();return{hash:n,title:o}}async function rae(r,{base:e,project:t}){let i=Ie.buildIgnorePattern(t.configuration.get("changesetIgnorePatterns")),{stdout:n}=await Cr.execvp("git",["diff","--name-only",`${e}`],{cwd:r,strict:!0}),s=n.split(/\r\n|\r|\n/).filter(c=>c.length>0).map(c=>x.resolve(r,K.toPortablePath(c))),{stdout:o}=await Cr.execvp("git",["ls-files","--others","--exclude-standard"],{cwd:r,strict:!0}),a=o.split(/\r\n|\r|\n/).filter(c=>c.length>0).map(c=>x.resolve(r,K.toPortablePath(c))),l=[...new Set([...s,...a].sort())];return i?l.filter(c=>!x.relative(t.cwd,c).match(i)):l}async function _We({ref:r,project:e}){if(e.configuration.projectCwd===null)throw new be("This command can only be run from within a Yarn project");let t=[x.resolve(e.cwd,e.configuration.get("cacheFolder")),x.resolve(e.cwd,e.configuration.get("installStatePath")),x.resolve(e.cwd,e.configuration.get("lockfileFilename")),x.resolve(e.cwd,e.configuration.get("virtualFolder"))];await e.configuration.triggerHook(o=>o.populateYarnPaths,e,o=>{o!=null&&t.push(o)});let i=await eae(e.configuration.projectCwd);if(i==null)throw new be("This command can only be run on Git repositories");let n=await tae(i,{baseRefs:typeof r=="string"?[r]:e.configuration.get("changesetBaseRefs")}),s=await rae(i,{base:n.hash,project:e});return new Set(Ie.mapAndFilter(s,o=>{let a=e.tryWorkspaceByFilePath(o);return a===null?Ie.mapAndFilter.skip:t.some(l=>o.startsWith(l))?Ie.mapAndFilter.skip:a}))}async function TT(r,e,t,{configuration:i,normalizedRepoUrl:n}){try{return await Cr.execvp("git",e,{...t,strict:!0})}catch(s){if(!(s instanceof Cr.ExecError))throw s;let o=s.reportExtra,a=s.stderr.toString();throw new at(1,`Failed ${r}`,l=>{l.reportError(1,` ${ee.prettyField(i,{label:"Repository URL",value:ee.tuple(ee.Type.URL,n)})}`);for(let c of a.matchAll(/^(.+?): (.*)$/gm)){let[,u,g]=c;u=u.toLowerCase();let f=u==="error"?"Error":`${(0,_oe.default)(u)} Error`;l.reportError(1,` ${ee.prettyField(i,{label:f,value:ee.tuple(ee.Type.NO_HINT,g)})}`)}o==null||o(l)})}}var dQ=class{supports(e,t){return Gh(e.reference)}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,n=MT(e),s=new Map(t.checksums);s.set(n.locatorHash,i);let o={...t,checksums:s},a=await this.downloadHosted(n,o);if(a!==null)return a;let[l,c,u]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the remote repository`),loader:()=>this.cloneFromRemote(n,o),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:l,releaseFs:c,prefixPath:P.getIdentVendorPath(e),checksum:u}}async downloadHosted(e,t){return t.project.configuration.reduceHook(i=>i.fetchHostedRepository,null,e,t)}async cloneFromRemote(e,t){let i=await UT(e.reference,t.project.configuration),n=Mm(e.reference),s=x.join(i,"package.tgz");await Jt.prepareExternalProject(i,s,{configuration:t.project.configuration,report:t.report,workspace:n.extra.workspace,locator:e});let o=await M.readFilePromise(s);return await Ie.releaseAfterUseAsync(async()=>await Ci.convertToZip(o,{compressionLevel:t.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1}))}};var CQ=class{supportsDescriptor(e,t){return Gh(e.range)}supportsLocator(e,t){return Gh(e.reference)}shouldPersistResolution(e,t){return!0}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){let n=await KT(e.range,i.project.configuration);return[P.makeLocator(e,n)]}async getSatisfying(e,t,i){return null}async resolve(e,t){if(!t.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),n=await Ie.releaseAfterUseAsync(async()=>await ot.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return{...e,version:n.version||"0.0.0",languageName:n.languageName||t.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin}}};var ZWe={configuration:{changesetBaseRefs:{description:"The base git refs that the current HEAD is compared against when detecting changes. Supports git branches, tags, and commits.",type:"STRING",isArray:!0,isNullable:!1,default:["master","origin/master","upstream/master","main","origin/main","upstream/main"]},changesetIgnorePatterns:{description:"Array of glob patterns; files matching them will be ignored when fetching the changed files",type:"STRING",default:[],isArray:!0},cloneConcurrency:{description:"Maximal number of concurrent clones",type:"NUMBER",default:2}},fetchers:[dQ],resolvers:[CQ]};var $We=ZWe;var Su=class extends De{constructor(){super(...arguments);this.since=z.String("--since",{description:"Only include workspaces that have been changed since the specified ref.",tolerateBoolean:!0});this.recursive=z.Boolean("-R,--recursive",!1,{description:"Find packages via dependencies/devDependencies instead of using the workspaces field"});this.noPrivate=z.Boolean("--no-private",{description:"Exclude workspaces that have the private field set to true"});this.verbose=z.Boolean("-v,--verbose",!1,{description:"Also return the cross-dependencies between workspaces"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i}=await je.find(t,this.context.cwd);return(await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout},async s=>{let o=this.since?await $a.fetchChangedWorkspaces({ref:this.since,project:i}):i.workspaces,a=new Set(o);if(this.recursive)for(let l of[...o].map(c=>c.getRecursiveWorkspaceDependents()))for(let c of l)a.add(c);for(let l of a){let{manifest:c}=l;if(c.private&&this.noPrivate)continue;let u;if(this.verbose){let g=new Set,f=new Set;for(let h of ot.hardDependencies)for(let[p,C]of c.getForScope(h)){let y=i.tryWorkspaceByDescriptor(C);y===null?i.workspacesByIdent.has(p)&&f.add(C):g.add(y)}u={workspaceDependencies:Array.from(g).map(h=>h.relativeCwd),mismatchedWorkspaceDependencies:Array.from(f).map(h=>P.stringifyDescriptor(h))}}s.reportInfo(null,`${l.relativeCwd}`),s.reportJson({location:l.relativeCwd,name:c.name?P.stringifyIdent(c.name):null,...u})}})).exitCode()}};Su.paths=[["workspaces","list"]],Su.usage=ve.Usage({category:"Workspace-related commands",description:"list all available workspaces",details:"\n This command will print the list of all workspaces in the project.\n\n - If `--since` is set, Yarn will only list workspaces that have been modified since the specified ref. By default Yarn will use the refs specified by the `changesetBaseRefs` configuration option.\n\n - If `-R,--recursive` is set, Yarn will find workspaces to run the command on by recursively evaluating `dependencies` and `devDependencies` fields, instead of looking at the `workspaces` fields.\n\n - If `--no-private` is set, Yarn will not list any workspaces that have the `private` field set to `true`.\n\n - If both the `-v,--verbose` and `--json` options are set, Yarn will also return the cross-dependencies between each workspaces (useful when you wish to automatically generate Buck / Bazel rules).\n "});var vu=class extends De{constructor(){super(...arguments);this.workspaceName=z.String();this.commandName=z.String();this.args=z.Proxy()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd);if(!n)throw new ct(i.cwd,this.context.cwd);let s=i.workspaces,o=new Map(s.map(l=>[P.stringifyIdent(l.locator),l])),a=o.get(this.workspaceName);if(a===void 0){let l=Array.from(o.keys()).sort();throw new be(`Workspace '${this.workspaceName}' not found. Did you mean any of the following: + `,examples:[["Explain why lodash is used in your project","$0 why lodash"]]});function O4e(r,e,{configuration:t,peers:i}){let n=Ie.sortMap(r.storedPackages.values(),a=>P.stringifyLocator(a)),s={},o={children:s};for(let a of n){let l={};for(let u of a.dependencies.values()){if(!i&&a.peerDependencies.has(u.identHash))continue;let g=r.storedResolutions.get(u.descriptorHash);if(!g)throw new Error("Assertion failed: The resolution should have been registered");let f=r.storedPackages.get(g);if(!f)throw new Error("Assertion failed: The package should have been registered");if(f.identHash!==e)continue;{let p=P.stringifyLocator(a);s[p]={value:[a,ee.Type.LOCATOR],children:l}}let h=P.stringifyLocator(f);l[h]={value:[{descriptor:u,locator:f},ee.Type.DEPENDENT]}}}return o}function M4e(r,e,{configuration:t,peers:i}){let n=Ie.sortMap(r.workspaces,f=>P.stringifyLocator(f.anchoredLocator)),s=new Set,o=new Set,a=f=>{if(s.has(f.locatorHash))return o.has(f.locatorHash);if(s.add(f.locatorHash),f.identHash===e)return o.add(f.locatorHash),!0;let h=!1;f.identHash===e&&(h=!0);for(let p of f.dependencies.values()){if(!i&&f.peerDependencies.has(p.identHash))continue;let C=r.storedResolutions.get(p.descriptorHash);if(!C)throw new Error("Assertion failed: The resolution should have been registered");let y=r.storedPackages.get(C);if(!y)throw new Error("Assertion failed: The package should have been registered");a(y)&&(h=!0)}return h&&o.add(f.locatorHash),h};for(let f of n){let h=r.storedPackages.get(f.anchoredLocator.locatorHash);if(!h)throw new Error("Assertion failed: The package should have been registered");a(h)}let l=new Set,c={},u={children:c},g=(f,h,p)=>{if(!o.has(f.locatorHash))return;let C=p!==null?ee.tuple(ee.Type.DEPENDENT,{locator:f,descriptor:p}):ee.tuple(ee.Type.LOCATOR,f),y={},B={value:C,children:y},v=P.stringifyLocator(f);if(h[v]=B,!l.has(f.locatorHash)&&(l.add(f.locatorHash),!(p!==null&&r.tryWorkspaceByLocator(f))))for(let D of f.dependencies.values()){if(!i&&f.peerDependencies.has(D.identHash))continue;let L=r.storedResolutions.get(D.descriptorHash);if(!L)throw new Error("Assertion failed: The resolution should have been registered");let H=r.storedPackages.get(L);if(!H)throw new Error("Assertion failed: The package should have been registered");g(H,y,D)}};for(let f of n){let h=r.storedPackages.get(f.anchoredLocator.locatorHash);if(!h)throw new Error("Assertion failed: The package should have been registered");g(h,c,null)}return u}var hO={};ut(hO,{default:()=>n3e,gitUtils:()=>aA});var aA={};ut(aA,{TreeishProtocols:()=>kQ,clone:()=>fO,fetchBase:()=>Hae,fetchChangedFiles:()=>Gae,fetchChangedWorkspaces:()=>r3e,fetchRoot:()=>Uae,isGitUrl:()=>Zh,lsRemote:()=>Kae,normalizeLocator:()=>uO,normalizeRepoUrl:()=>Wm,resolveUrl:()=>gO,splitRepoUrl:()=>Jm});var cO=Pe(Fae()),Oae=Pe(bB()),Xh=Pe(J("querystring")),AO=Pe(Xr());var Lae=J("url");function aO(r,e,t){let i=r.indexOf(t);return r.lastIndexOf(e,i>-1?i:1/0)}function Nae(r){try{return new Lae.URL(r)}catch{return}}function e3e(r){let e=aO(r,"@","#"),t=aO(r,":","#");return t>e&&(r=`${r.slice(0,t)}/${r.slice(t+1)}`),aO(r,":","#")===-1&&r.indexOf("//")===-1&&(r=`ssh://${r}`),r}function Tae(r){return Nae(r)||Nae(e3e(r))}function Mae(){return{...process.env,GIT_SSH_COMMAND:process.env.GIT_SSH_COMMAND||`${process.env.GIT_SSH||"ssh"} -o BatchMode=yes`}}var t3e=[/^ssh:/,/^git(?:\+[^:]+)?:/,/^(?:git\+)?https?:[^#]+\/[^#]+(?:\.git)(?:#.*)?$/,/^git@[^#]+\/[^#]+\.git(?:#.*)?$/,/^(?:github:|https:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z._0-9-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z._0-9-]+?)(?:\.git)?(?:#.*)?$/,/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/],kQ=(n=>(n.Commit="commit",n.Head="head",n.Tag="tag",n.Semver="semver",n))(kQ||{});function Zh(r){return r?t3e.some(e=>!!r.match(e)):!1}function Jm(r){r=Wm(r);let e=r.indexOf("#");if(e===-1)return{repo:r,treeish:{protocol:"head",request:"HEAD"},extra:{}};let t=r.slice(0,e),i=r.slice(e+1);if(i.match(/^[a-z]+=/)){let n=Xh.default.parse(i);for(let[l,c]of Object.entries(n))if(typeof c!="string")throw new Error(`Assertion failed: The ${l} parameter must be a literal string`);let s=Object.values(kQ).find(l=>Object.prototype.hasOwnProperty.call(n,l)),o,a;typeof s<"u"?(o=s,a=n[s]):(o="head",a="HEAD");for(let l of Object.values(kQ))delete n[l];return{repo:t,treeish:{protocol:o,request:a},extra:n}}else{let n=i.indexOf(":"),s,o;return n===-1?(s=null,o=i):(s=i.slice(0,n),o=i.slice(n+1)),{repo:t,treeish:{protocol:s,request:o},extra:{}}}}function Wm(r,{git:e=!1}={}){if(r=r.replace(/^git\+https:/,"https:"),r=r.replace(/^(?:github:|https:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)(?:\.git)?(#.*)?$/,"https://github.com/$1/$2.git$3"),r=r.replace(/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/,"https://github.com/$1/$2.git#$3"),e){let t=Tae(r);t&&(r=t.href),r=r.replace(/^git\+([^:]+):/,"$1:")}return r}function uO(r){return P.makeLocator(r,Wm(r.reference))}async function Kae(r,e){let t=Wm(r,{git:!0});if(!Xt.getNetworkSettings(`https://${(0,cO.default)(t).resource}`,{configuration:e}).enableNetwork)throw new Error(`Request to '${t}' has been blocked because of your configuration settings`);let n=await lO("listing refs",["ls-remote",t],{cwd:e.startingCwd,env:Mae()},{configuration:e,normalizedRepoUrl:t}),s=new Map,o=/^([a-f0-9]{40})\t([^\n]+)/gm,a;for(;(a=o.exec(n.stdout))!==null;)s.set(a[2],a[1]);return s}async function gO(r,e){let{repo:t,treeish:{protocol:i,request:n},extra:s}=Jm(r),o=await Kae(t,e),a=(c,u)=>{switch(c){case"commit":{if(!u.match(/^[a-f0-9]{40}$/))throw new Error("Invalid commit hash");return Xh.default.stringify({...s,commit:u})}case"head":{let g=o.get(u==="HEAD"?u:`refs/heads/${u}`);if(typeof g>"u")throw new Error(`Unknown head ("${u}")`);return Xh.default.stringify({...s,commit:g})}case"tag":{let g=o.get(`refs/tags/${u}`);if(typeof g>"u")throw new Error(`Unknown tag ("${u}")`);return Xh.default.stringify({...s,commit:g})}case"semver":{let g=vt.validRange(u);if(!g)throw new Error(`Invalid range ("${u}")`);let f=new Map([...o.entries()].filter(([p])=>p.startsWith("refs/tags/")).map(([p,C])=>[AO.default.parse(p.slice(10)),C]).filter(p=>p[0]!==null)),h=AO.default.maxSatisfying([...f.keys()],g);if(h===null)throw new Error(`No matching range ("${u}")`);return Xh.default.stringify({...s,commit:f.get(h)})}case null:{let g;if((g=l("commit",u))!==null||(g=l("tag",u))!==null||(g=l("head",u))!==null)return g;throw u.match(/^[a-f0-9]+$/)?new Error(`Couldn't resolve "${u}" as either a commit, a tag, or a head - if a commit, use the 40-characters commit hash`):new Error(`Couldn't resolve "${u}" as either a commit, a tag, or a head`)}default:throw new Error(`Invalid Git resolution protocol ("${c}")`)}},l=(c,u)=>{try{return a(c,u)}catch{return null}};return`${t}#${a(i,n)}`}async function fO(r,e){return await e.getLimit("cloneConcurrency")(async()=>{let{repo:t,treeish:{protocol:i,request:n}}=Jm(r);if(i!=="commit")throw new Error("Invalid treeish protocol when cloning");let s=Wm(t,{git:!0});if(Xt.getNetworkSettings(`https://${(0,cO.default)(s).resource}`,{configuration:e}).enableNetwork===!1)throw new Error(`Request to '${s}' has been blocked because of your configuration settings`);let o=await M.mktempPromise(),a={cwd:o,env:Mae()};return await lO("cloning the repository",["clone","-c core.autocrlf=false",s,K.fromPortablePath(o)],a,{configuration:e,normalizedRepoUrl:s}),await lO("switching branch",["checkout",`${n}`],a,{configuration:e,normalizedRepoUrl:s}),o})}async function Uae(r){let e=null,t,i=r;do t=i,await M.existsPromise(x.join(t,".git"))&&(e=t),i=x.dirname(t);while(e===null&&i!==t);return e}async function Hae(r,{baseRefs:e}){if(e.length===0)throw new be("Can't run this command with zero base refs specified.");let t=[];for(let a of e){let{code:l}=await Cr.execvp("git",["merge-base",a,"HEAD"],{cwd:r});l===0&&t.push(a)}if(t.length===0)throw new be(`No ancestor could be found between any of HEAD and ${e.join(", ")}`);let{stdout:i}=await Cr.execvp("git",["merge-base","HEAD",...t],{cwd:r,strict:!0}),n=i.trim(),{stdout:s}=await Cr.execvp("git",["show","--quiet","--pretty=format:%s",n],{cwd:r,strict:!0}),o=s.trim();return{hash:n,title:o}}async function Gae(r,{base:e,project:t}){let i=Ie.buildIgnorePattern(t.configuration.get("changesetIgnorePatterns")),{stdout:n}=await Cr.execvp("git",["diff","--name-only",`${e}`],{cwd:r,strict:!0}),s=n.split(/\r\n|\r|\n/).filter(c=>c.length>0).map(c=>x.resolve(r,K.toPortablePath(c))),{stdout:o}=await Cr.execvp("git",["ls-files","--others","--exclude-standard"],{cwd:r,strict:!0}),a=o.split(/\r\n|\r|\n/).filter(c=>c.length>0).map(c=>x.resolve(r,K.toPortablePath(c))),l=[...new Set([...s,...a].sort())];return i?l.filter(c=>!x.relative(t.cwd,c).match(i)):l}async function r3e({ref:r,project:e}){if(e.configuration.projectCwd===null)throw new be("This command can only be run from within a Yarn project");let t=[x.resolve(e.cwd,e.configuration.get("cacheFolder")),x.resolve(e.cwd,e.configuration.get("installStatePath")),x.resolve(e.cwd,e.configuration.get("lockfileFilename")),x.resolve(e.cwd,e.configuration.get("virtualFolder"))];await e.configuration.triggerHook(o=>o.populateYarnPaths,e,o=>{o!=null&&t.push(o)});let i=await Uae(e.configuration.projectCwd);if(i==null)throw new be("This command can only be run on Git repositories");let n=await Hae(i,{baseRefs:typeof r=="string"?[r]:e.configuration.get("changesetBaseRefs")}),s=await Gae(i,{base:n.hash,project:e});return new Set(Ie.mapAndFilter(s,o=>{let a=e.tryWorkspaceByFilePath(o);return a===null?Ie.mapAndFilter.skip:t.some(l=>o.startsWith(l))?Ie.mapAndFilter.skip:a}))}async function lO(r,e,t,{configuration:i,normalizedRepoUrl:n}){try{return await Cr.execvp("git",e,{...t,strict:!0})}catch(s){if(!(s instanceof Cr.ExecError))throw s;let o=s.reportExtra,a=s.stderr.toString();throw new at(1,`Failed ${r}`,l=>{l.reportError(1,` ${ee.prettyField(i,{label:"Repository URL",value:ee.tuple(ee.Type.URL,n)})}`);for(let c of a.matchAll(/^(.+?): (.*)$/gm)){let[,u,g]=c;u=u.toLowerCase();let f=u==="error"?"Error":`${(0,Oae.default)(u)} Error`;l.reportError(1,` ${ee.prettyField(i,{label:f,value:ee.tuple(ee.Type.NO_HINT,g)})}`)}o==null||o(l)})}}var RQ=class{supports(e,t){return Zh(e.reference)}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,n=uO(e),s=new Map(t.checksums);s.set(n.locatorHash,i);let o={...t,checksums:s},a=await this.downloadHosted(n,o);if(a!==null)return a;let[l,c,u]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the remote repository`),loader:()=>this.cloneFromRemote(n,o),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:l,releaseFs:c,prefixPath:P.getIdentVendorPath(e),checksum:u}}async downloadHosted(e,t){return t.project.configuration.reduceHook(i=>i.fetchHostedRepository,null,e,t)}async cloneFromRemote(e,t){let i=await fO(e.reference,t.project.configuration),n=Jm(e.reference),s=x.join(i,"package.tgz");await Wt.prepareExternalProject(i,s,{configuration:t.project.configuration,report:t.report,workspace:n.extra.workspace,locator:e});let o=await M.readFilePromise(s);return await Ie.releaseAfterUseAsync(async()=>await mi.convertToZip(o,{compressionLevel:t.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1}))}};var FQ=class{supportsDescriptor(e,t){return Zh(e.range)}supportsLocator(e,t){return Zh(e.reference)}shouldPersistResolution(e,t){return!0}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){let n=await gO(e.range,i.project.configuration);return[P.makeLocator(e,n)]}async getSatisfying(e,t,i){return null}async resolve(e,t){if(!t.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),n=await Ie.releaseAfterUseAsync(async()=>await ot.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return{...e,version:n.version||"0.0.0",languageName:n.languageName||t.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin}}};var i3e={configuration:{changesetBaseRefs:{description:"The base git refs that the current HEAD is compared against when detecting changes. Supports git branches, tags, and commits.",type:"STRING",isArray:!0,isNullable:!1,default:["master","origin/master","upstream/master","main","origin/main","upstream/main"]},changesetIgnorePatterns:{description:"Array of glob patterns; files matching them will be ignored when fetching the changed files",type:"STRING",default:[],isArray:!0},cloneConcurrency:{description:"Maximal number of concurrent clones",type:"NUMBER",default:2}},fetchers:[RQ],resolvers:[FQ]};var n3e=i3e;var Fu=class extends De{constructor(){super(...arguments);this.since=z.String("--since",{description:"Only include workspaces that have been changed since the specified ref.",tolerateBoolean:!0});this.recursive=z.Boolean("-R,--recursive",!1,{description:"Find packages via dependencies/devDependencies instead of using the workspaces field"});this.noPrivate=z.Boolean("--no-private",{description:"Exclude workspaces that have the private field set to true"});this.verbose=z.Boolean("-v,--verbose",!1,{description:"Also return the cross-dependencies between workspaces"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i}=await je.find(t,this.context.cwd);return(await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout},async s=>{let o=this.since?await aA.fetchChangedWorkspaces({ref:this.since,project:i}):i.workspaces,a=new Set(o);if(this.recursive)for(let l of[...o].map(c=>c.getRecursiveWorkspaceDependents()))for(let c of l)a.add(c);for(let l of a){let{manifest:c}=l;if(c.private&&this.noPrivate)continue;let u;if(this.verbose){let g=new Set,f=new Set;for(let h of ot.hardDependencies)for(let[p,C]of c.getForScope(h)){let y=i.tryWorkspaceByDescriptor(C);y===null?i.workspacesByIdent.has(p)&&f.add(C):g.add(y)}u={workspaceDependencies:Array.from(g).map(h=>h.relativeCwd),mismatchedWorkspaceDependencies:Array.from(f).map(h=>P.stringifyDescriptor(h))}}s.reportInfo(null,`${l.relativeCwd}`),s.reportJson({location:l.relativeCwd,name:c.name?P.stringifyIdent(c.name):null,...u})}})).exitCode()}};Fu.paths=[["workspaces","list"]],Fu.usage=ve.Usage({category:"Workspace-related commands",description:"list all available workspaces",details:"\n This command will print the list of all workspaces in the project.\n\n - If `--since` is set, Yarn will only list workspaces that have been modified since the specified ref. By default Yarn will use the refs specified by the `changesetBaseRefs` configuration option.\n\n - If `-R,--recursive` is set, Yarn will find workspaces to run the command on by recursively evaluating `dependencies` and `devDependencies` fields, instead of looking at the `workspaces` fields.\n\n - If `--no-private` is set, Yarn will not list any workspaces that have the `private` field set to `true`.\n\n - If both the `-v,--verbose` and `--json` options are set, Yarn will also return the cross-dependencies between each workspaces (useful when you wish to automatically generate Buck / Bazel rules).\n "});var Nu=class extends De{constructor(){super(...arguments);this.workspaceName=z.String();this.commandName=z.String();this.args=z.Proxy()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd);if(!n)throw new ct(i.cwd,this.context.cwd);let s=i.workspaces,o=new Map(s.map(l=>[P.stringifyIdent(l.locator),l])),a=o.get(this.workspaceName);if(a===void 0){let l=Array.from(o.keys()).sort();throw new be(`Workspace '${this.workspaceName}' not found. Did you mean any of the following: - ${l.join(` - - `)}?`)}return this.cli.run([this.commandName,...this.args],{cwd:a.cwd})}};vu.paths=[["workspace"]],vu.usage=ve.Usage({category:"Workspace-related commands",description:"run a command within the specified workspace",details:` + - `)}?`)}return this.cli.run([this.commandName,...this.args],{cwd:a.cwd})}};Nu.paths=[["workspace"]],Nu.usage=ve.Usage({category:"Workspace-related commands",description:"run a command within the specified workspace",details:` This command will run a given sub-command on a single workspace. - `,examples:[["Add a package to a single workspace","yarn workspace components add -D react"],["Run build script on a single workspace","yarn workspace components run build"]]});var e3e={configuration:{enableImmutableInstalls:{description:"If true (the default on CI), prevents the install command from modifying the lockfile",type:"BOOLEAN",default:iae.isCI},defaultSemverRangePrefix:{description:"The default save prefix: '^', '~' or ''",type:"STRING",values:["^","~",""],default:"^"}},commands:[$c,eu,tu,ru,Bu,pu,au,Su,Oh,Mh,Lm,Kh,_c,Zc,iu,nu,su,ou,Au,lu,cu,uu,Qu,gu,Cu,du,mu,fu,Eu,Iu,yu,Uh,wu,Al,bu,vu]},t3e=e3e;var WT={};ut(WT,{default:()=>i3e});var Le={optional:!0},YT=[["@tailwindcss/aspect-ratio@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@tailwindcss/line-clamp@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@fullhuman/postcss-purgecss@3.1.3 || 3.1.3-alpha.0",{peerDependencies:{postcss:"^8.0.0"}}],["@samverschueren/stream-to-observable@<0.3.1",{peerDependenciesMeta:{rxjs:Le,zenObservable:Le}}],["any-observable@<0.5.1",{peerDependenciesMeta:{rxjs:Le,zenObservable:Le}}],["@pm2/agent@<1.0.4",{dependencies:{debug:"*"}}],["debug@<4.2.0",{peerDependenciesMeta:{["supports-color"]:Le}}],["got@<11",{dependencies:{["@types/responselike"]:"^1.0.0",["@types/keyv"]:"^3.1.1"}}],["cacheable-lookup@<4.1.2",{dependencies:{["@types/keyv"]:"^3.1.1"}}],["http-link-dataloader@*",{peerDependencies:{graphql:"^0.13.1 || ^14.0.0"}}],["typescript-language-server@*",{dependencies:{["vscode-jsonrpc"]:"^5.0.1",["vscode-languageserver-protocol"]:"^3.15.0"}}],["postcss-syntax@*",{peerDependenciesMeta:{["postcss-html"]:Le,["postcss-jsx"]:Le,["postcss-less"]:Le,["postcss-markdown"]:Le,["postcss-scss"]:Le}}],["jss-plugin-rule-value-function@<=10.1.1",{dependencies:{["tiny-warning"]:"^1.0.2"}}],["ink-select-input@<4.1.0",{peerDependencies:{react:"^16.8.2"}}],["license-webpack-plugin@<2.3.18",{peerDependenciesMeta:{webpack:Le}}],["snowpack@>=3.3.0",{dependencies:{["node-gyp"]:"^7.1.0"}}],["promise-inflight@*",{peerDependenciesMeta:{bluebird:Le}}],["reactcss@*",{peerDependencies:{react:"*"}}],["react-color@<=2.19.0",{peerDependencies:{react:"*"}}],["gatsby-plugin-i18n@*",{dependencies:{ramda:"^0.24.1"}}],["useragent@^2.0.0",{dependencies:{request:"^2.88.0",yamlparser:"0.0.x",semver:"5.5.x"}}],["@apollographql/apollo-tools@<=0.5.2",{peerDependencies:{graphql:"^14.2.1 || ^15.0.0"}}],["material-table@^2.0.0",{dependencies:{"@babel/runtime":"^7.11.2"}}],["@babel/parser@*",{dependencies:{"@babel/types":"^7.8.3"}}],["fork-ts-checker-webpack-plugin@<=6.3.4",{peerDependencies:{eslint:">= 6",typescript:">= 2.7",webpack:">= 4","vue-template-compiler":"*"},peerDependenciesMeta:{eslint:Le,"vue-template-compiler":Le}}],["rc-animate@<=3.1.1",{peerDependencies:{react:">=16.9.0","react-dom":">=16.9.0"}}],["react-bootstrap-table2-paginator@*",{dependencies:{classnames:"^2.2.6"}}],["react-draggable@<=4.4.3",{peerDependencies:{react:">= 16.3.0","react-dom":">= 16.3.0"}}],["apollo-upload-client@<14",{peerDependencies:{graphql:"14 - 15"}}],["react-instantsearch-core@<=6.7.0",{peerDependencies:{algoliasearch:">= 3.1 < 5"}}],["react-instantsearch-dom@<=6.7.0",{dependencies:{"react-fast-compare":"^3.0.0"}}],["ws@<7.2.1",{peerDependencies:{bufferutil:"^4.0.1","utf-8-validate":"^5.0.2"},peerDependenciesMeta:{bufferutil:Le,"utf-8-validate":Le}}],["react-portal@<4.2.2",{peerDependencies:{"react-dom":"^15.0.0-0 || ^16.0.0-0 || ^17.0.0-0"}}],["react-scripts@<=4.0.1",{peerDependencies:{react:"*"}}],["testcafe@<=1.10.1",{dependencies:{"@babel/plugin-transform-for-of":"^7.12.1","@babel/runtime":"^7.12.5"}}],["testcafe-legacy-api@<=4.2.0",{dependencies:{"testcafe-hammerhead":"^17.0.1","read-file-relative":"^1.2.0"}}],["@google-cloud/firestore@<=4.9.3",{dependencies:{protobufjs:"^6.8.6"}}],["gatsby-source-apiserver@*",{dependencies:{["babel-polyfill"]:"^6.26.0"}}],["@webpack-cli/package-utils@<=1.0.1-alpha.4",{dependencies:{["cross-spawn"]:"^7.0.3"}}],["gatsby-remark-prismjs@<3.3.28",{dependencies:{lodash:"^4"}}],["gatsby-plugin-favicon@*",{peerDependencies:{webpack:"*"}}],["gatsby-plugin-sharp@<=4.6.0-next.3",{dependencies:{debug:"^4.3.1"}}],["gatsby-react-router-scroll@<=5.6.0-next.0",{dependencies:{["prop-types"]:"^15.7.2"}}],["@rebass/forms@*",{dependencies:{["@styled-system/should-forward-prop"]:"^5.0.0"},peerDependencies:{react:"^16.8.6"}}],["rebass@*",{peerDependencies:{react:"^16.8.6"}}],["@ant-design/react-slick@<=0.28.3",{peerDependencies:{react:">=16.0.0"}}],["mqtt@<4.2.7",{dependencies:{duplexify:"^4.1.1"}}],["vue-cli-plugin-vuetify@<=2.0.3",{dependencies:{semver:"^6.3.0"},peerDependenciesMeta:{"sass-loader":Le,"vuetify-loader":Le}}],["vue-cli-plugin-vuetify@<=2.0.4",{dependencies:{"null-loader":"^3.0.0"}}],["vue-cli-plugin-vuetify@>=2.4.3",{peerDependencies:{vue:"*"}}],["@vuetify/cli-plugin-utils@<=0.0.4",{dependencies:{semver:"^6.3.0"},peerDependenciesMeta:{"sass-loader":Le}}],["@vue/cli-plugin-typescript@<=5.0.0-alpha.0",{dependencies:{"babel-loader":"^8.1.0"}}],["@vue/cli-plugin-typescript@<=5.0.0-beta.0",{dependencies:{"@babel/core":"^7.12.16"},peerDependencies:{"vue-template-compiler":"^2.0.0"},peerDependenciesMeta:{"vue-template-compiler":Le}}],["cordova-ios@<=6.3.0",{dependencies:{underscore:"^1.9.2"}}],["cordova-lib@<=10.0.1",{dependencies:{underscore:"^1.9.2"}}],["git-node-fs@*",{peerDependencies:{"js-git":"^0.7.8"},peerDependenciesMeta:{"js-git":Le}}],["consolidate@<0.16.0",{peerDependencies:{mustache:"^3.0.0"},peerDependenciesMeta:{mustache:Le}}],["consolidate@<=0.16.0",{peerDependencies:{velocityjs:"^2.0.1",tinyliquid:"^0.2.34","liquid-node":"^3.0.1",jade:"^1.11.0","then-jade":"*",dust:"^0.3.0","dustjs-helpers":"^1.7.4","dustjs-linkedin":"^2.7.5",swig:"^1.4.2","swig-templates":"^2.0.3","razor-tmpl":"^1.3.1",atpl:">=0.7.6",liquor:"^0.0.5",twig:"^1.15.2",ejs:"^3.1.5",eco:"^1.1.0-rc-3",jazz:"^0.0.18",jqtpl:"~1.1.0",hamljs:"^0.6.2",hamlet:"^0.3.3",whiskers:"^0.4.0","haml-coffee":"^1.14.1","hogan.js":"^3.0.2",templayed:">=0.2.3",handlebars:"^4.7.6",underscore:"^1.11.0",lodash:"^4.17.20",pug:"^3.0.0","then-pug":"*",qejs:"^3.0.5",walrus:"^0.10.1",mustache:"^4.0.1",just:"^0.1.8",ect:"^0.5.9",mote:"^0.2.0",toffee:"^0.3.6",dot:"^1.1.3","bracket-template":"^1.1.5",ractive:"^1.3.12",nunjucks:"^3.2.2",htmling:"^0.0.8","babel-core":"^6.26.3",plates:"~0.4.11","react-dom":"^16.13.1",react:"^16.13.1","arc-templates":"^0.5.3",vash:"^0.13.0",slm:"^2.0.0",marko:"^3.14.4",teacup:"^2.0.0","coffee-script":"^1.12.7",squirrelly:"^5.1.0",twing:"^5.0.2"},peerDependenciesMeta:{velocityjs:Le,tinyliquid:Le,"liquid-node":Le,jade:Le,"then-jade":Le,dust:Le,"dustjs-helpers":Le,"dustjs-linkedin":Le,swig:Le,"swig-templates":Le,"razor-tmpl":Le,atpl:Le,liquor:Le,twig:Le,ejs:Le,eco:Le,jazz:Le,jqtpl:Le,hamljs:Le,hamlet:Le,whiskers:Le,"haml-coffee":Le,"hogan.js":Le,templayed:Le,handlebars:Le,underscore:Le,lodash:Le,pug:Le,"then-pug":Le,qejs:Le,walrus:Le,mustache:Le,just:Le,ect:Le,mote:Le,toffee:Le,dot:Le,"bracket-template":Le,ractive:Le,nunjucks:Le,htmling:Le,"babel-core":Le,plates:Le,"react-dom":Le,react:Le,"arc-templates":Le,vash:Le,slm:Le,marko:Le,teacup:Le,"coffee-script":Le,squirrelly:Le,twing:Le}}],["vue-loader@<=16.3.3",{peerDependencies:{"@vue/compiler-sfc":"^3.0.8",webpack:"^4.1.0 || ^5.0.0-0"},peerDependenciesMeta:{"@vue/compiler-sfc":Le}}],["vue-loader@^16.7.0",{peerDependencies:{"@vue/compiler-sfc":"^3.0.8",vue:"^3.2.13"},peerDependenciesMeta:{"@vue/compiler-sfc":Le,vue:Le}}],["scss-parser@<=1.0.5",{dependencies:{lodash:"^4.17.21"}}],["query-ast@<1.0.5",{dependencies:{lodash:"^4.17.21"}}],["redux-thunk@<=2.3.0",{peerDependencies:{redux:"^4.0.0"}}],["skypack@<=0.3.2",{dependencies:{tar:"^6.1.0"}}],["@npmcli/metavuln-calculator@<2.0.0",{dependencies:{"json-parse-even-better-errors":"^2.3.1"}}],["bin-links@<2.3.0",{dependencies:{"mkdirp-infer-owner":"^1.0.2"}}],["rollup-plugin-polyfill-node@<=0.8.0",{peerDependencies:{rollup:"^1.20.0 || ^2.0.0"}}],["snowpack@<3.8.6",{dependencies:{"magic-string":"^0.25.7"}}],["elm-webpack-loader@*",{dependencies:{temp:"^0.9.4"}}],["winston-transport@<=4.4.0",{dependencies:{logform:"^2.2.0"}}],["jest-vue-preprocessor@*",{dependencies:{"@babel/core":"7.8.7","@babel/template":"7.8.6"},peerDependencies:{pug:"^2.0.4"},peerDependenciesMeta:{pug:Le}}],["redux-persist@*",{peerDependencies:{react:">=16"},peerDependenciesMeta:{react:Le}}],["sodium@>=3",{dependencies:{"node-gyp":"^3.8.0"}}],["babel-plugin-graphql-tag@<=3.1.0",{peerDependencies:{graphql:"^14.0.0 || ^15.0.0"}}],["@playwright/test@<=1.14.1",{dependencies:{"jest-matcher-utils":"^26.4.2"}}],...["babel-plugin-remove-graphql-queries@<3.14.0-next.1","babel-preset-gatsby-package@<1.14.0-next.1","create-gatsby@<1.14.0-next.1","gatsby-admin@<0.24.0-next.1","gatsby-cli@<3.14.0-next.1","gatsby-core-utils@<2.14.0-next.1","gatsby-design-tokens@<3.14.0-next.1","gatsby-legacy-polyfills@<1.14.0-next.1","gatsby-plugin-benchmark-reporting@<1.14.0-next.1","gatsby-plugin-graphql-config@<0.23.0-next.1","gatsby-plugin-image@<1.14.0-next.1","gatsby-plugin-mdx@<2.14.0-next.1","gatsby-plugin-netlify-cms@<5.14.0-next.1","gatsby-plugin-no-sourcemaps@<3.14.0-next.1","gatsby-plugin-page-creator@<3.14.0-next.1","gatsby-plugin-preact@<5.14.0-next.1","gatsby-plugin-preload-fonts@<2.14.0-next.1","gatsby-plugin-schema-snapshot@<2.14.0-next.1","gatsby-plugin-styletron@<6.14.0-next.1","gatsby-plugin-subfont@<3.14.0-next.1","gatsby-plugin-utils@<1.14.0-next.1","gatsby-recipes@<0.25.0-next.1","gatsby-source-shopify@<5.6.0-next.1","gatsby-source-wikipedia@<3.14.0-next.1","gatsby-transformer-screenshot@<3.14.0-next.1","gatsby-worker@<0.5.0-next.1"].map(r=>[r,{dependencies:{"@babel/runtime":"^7.14.8"}}]),["gatsby-core-utils@<2.14.0-next.1",{dependencies:{got:"8.3.2"}}],["gatsby-plugin-gatsby-cloud@<=3.1.0-next.0",{dependencies:{"gatsby-core-utils":"^2.13.0-next.0"}}],["gatsby-plugin-gatsby-cloud@<=3.2.0-next.1",{peerDependencies:{webpack:"*"}}],["babel-plugin-remove-graphql-queries@<=3.14.0-next.1",{dependencies:{"gatsby-core-utils":"^2.8.0-next.1"}}],["gatsby-plugin-netlify@3.13.0-next.1",{dependencies:{"gatsby-core-utils":"^2.13.0-next.0"}}],["clipanion-v3-codemod@<=0.2.0",{peerDependencies:{jscodeshift:"^0.11.0"}}],["react-live@*",{peerDependencies:{"react-dom":"*",react:"*"}}],["webpack@<4.44.1",{peerDependenciesMeta:{"webpack-cli":Le,"webpack-command":Le}}],["webpack@<5.0.0-beta.23",{peerDependenciesMeta:{"webpack-cli":Le}}],["webpack-dev-server@<3.10.2",{peerDependenciesMeta:{"webpack-cli":Le}}],["@docusaurus/responsive-loader@<1.5.0",{peerDependenciesMeta:{sharp:Le,jimp:Le}}],["eslint-module-utils@*",{peerDependenciesMeta:{"eslint-import-resolver-node":Le,"eslint-import-resolver-typescript":Le,"eslint-import-resolver-webpack":Le,"@typescript-eslint/parser":Le}}],["eslint-plugin-import@*",{peerDependenciesMeta:{"@typescript-eslint/parser":Le}}],["critters-webpack-plugin@<3.0.2",{peerDependenciesMeta:{"html-webpack-plugin":Le}}],["terser@<=5.10.0",{dependencies:{acorn:"^8.5.0"}}],["babel-preset-react-app@10.0.x",{dependencies:{"@babel/plugin-proposal-private-property-in-object":"^7.16.0"}}],["eslint-config-react-app@*",{peerDependenciesMeta:{typescript:Le}}],["@vue/eslint-config-typescript@<11.0.0",{peerDependenciesMeta:{typescript:Le}}],["unplugin-vue2-script-setup@<0.9.1",{peerDependencies:{"@vue/composition-api":"^1.4.3","@vue/runtime-dom":"^3.2.26"}}],["@cypress/snapshot@*",{dependencies:{debug:"^3.2.7"}}],["auto-relay@<=0.14.0",{peerDependencies:{"reflect-metadata":"^0.1.13"}}],["vue-template-babel-compiler@<1.2.0",{peerDependencies:{["vue-template-compiler"]:"^2.6.0"}}],["@parcel/transformer-image@<2.5.0",{peerDependencies:{["@parcel/core"]:"*"}}],["@parcel/transformer-js@<2.5.0",{peerDependencies:{["@parcel/core"]:"*"}}],["parcel@*",{peerDependenciesMeta:{["@parcel/core"]:Le}}],["react-scripts@*",{peerDependencies:{eslint:"*"}}],["focus-trap-react@^8.0.0",{dependencies:{tabbable:"^5.3.2"}}],["react-rnd@<10.3.7",{peerDependencies:{react:">=16.3.0","react-dom":">=16.3.0"}}],["connect-mongo@*",{peerDependencies:{"express-session":"^1.17.1"}}],["vue-i18n@<9",{peerDependencies:{vue:"^2"}}],["vue-router@<4",{peerDependencies:{vue:"^2"}}],["unified@<10",{dependencies:{"@types/unist":"^2.0.0"}}],["react-github-btn@<=1.3.0",{peerDependencies:{react:">=16.3.0"}}],["react-dev-utils@*",{peerDependencies:{typescript:">=2.7",webpack:">=4"},peerDependenciesMeta:{typescript:Le}}],["@asyncapi/react-component@<=1.0.0-next.39",{peerDependencies:{react:">=16.8.0","react-dom":">=16.8.0"}}],["xo@*",{peerDependencies:{webpack:">=1.11.0"},peerDependenciesMeta:{webpack:Le}}],["babel-plugin-remove-graphql-queries@<=4.20.0-next.0",{dependencies:{"@babel/types":"^7.15.4"}}],["gatsby-plugin-page-creator@<=4.20.0-next.1",{dependencies:{"fs-extra":"^10.1.0"}}],["gatsby-plugin-utils@<=3.14.0-next.1",{dependencies:{fastq:"^1.13.0"},peerDependencies:{graphql:"^15.0.0"}}],["gatsby-plugin-mdx@<3.1.0-next.1",{dependencies:{mkdirp:"^1.0.4"}}],["gatsby-plugin-mdx@^2",{peerDependencies:{gatsby:"^3.0.0-next"}}],["fdir@<=5.2.0",{peerDependencies:{picomatch:"2.x"},peerDependenciesMeta:{picomatch:Le}}],["babel-plugin-transform-typescript-metadata@<=0.3.2",{peerDependencies:{"@babel/core":"^7","@babel/traverse":"^7"},peerDependenciesMeta:{"@babel/traverse":Le}}],["graphql-compose@>=9.0.10",{peerDependencies:{graphql:"^14.2.0 || ^15.0.0 || ^16.0.0"}}]];var jT;function nae(){return typeof jT>"u"&&(jT=J("zlib").brotliDecompressSync(Buffer.from("G7weAByFTVk3Vs7UfHhq4yykgEM7pbW7TI43SG2S5tvGrwHBAzdz+s/npQ6tgEvobvxisrPIadkXeUAJotBn5bDZ5kAhcRqsIHe3F75Walet5hNalwgFDtxb0BiDUjiUQkjG0yW2hto9HPgiCkm316d6bC0kST72YN7D7rfkhCE9x4J0XwB0yavalxpUu2t9xszHrmtwalOxT7VslsxWcB1qpqZwERUra4psWhTV8BgwWeizurec82Caf1ABL11YMfbf8FJ9JBceZOkgmvrQPbC9DUldX/yMbmX06UQluCEjSwUoyO+EZPIjofr+/oAZUck2enraRD+oWLlnlYnj8xB+gwSo9lmmks4fXv574qSqcWA6z21uYkzMu3EWj+K23RxeQlLqiE35/rC8GcS4CGkKHKKq+zAIQwD9iRDNfiAqueLLpicFFrNsAI4zeTD/eO9MHcnRa5m8UT+M2+V+AkFST4BlKneiAQRSdST8KEAIyFlULt6wa9EBd0Ds28VmpaxquJdVt+nwdEs5xUskI13OVtFyY0UrQIRAlCuvvWivvlSKQfTO+2Q8OyUR1W5RvetaPz4jD27hdtwHFFA1Ptx6Ee/t2cY2rg2G46M1pNDRf2pWhvpy8pqMnuI3++4OF3+7OFIWXGjh+o7Nr2jNvbiYcQdQS1h903/jVFgOpA0yJ78z+x759bFA0rq+6aY5qPB4FzS3oYoLupDUhD9nDz6F6H7hpnlMf18KNKDu4IKjTWwrAnY6MFQw1W6ymOALHlFyCZmQhldg1MQHaMVVQTVgDC60TfaBqG++Y8PEoFhN/PBTZT175KNP/BlHDYGOOBmnBdzqJKplZ/ljiVG0ZBzfqeBRrrUkn6rA54462SgiliKoYVnbeptMdXNfAuaupIEi0bApF10TlgHfmEJAPUVidRVFyDupSem5po5vErPqWKhKbUIp0LozpYsIKK57dM/HKr+nguF+7924IIWMICkQ8JUigs9D+W+c4LnNoRtPPKNRUiCYmP+Jfo2lfKCKw8qpraEeWU3uiNRO6zcyKQoXPR5htmzzLznke7b4YbXW3I1lIRzmgG02Udb58U+7TpwyN7XymCgH+wuPDthZVQvRZuEP+SnLtMicz9m5zASWOBiAcLmkuFlTKuHspSIhCBD0yUPKcxu81A+4YD78rA2vtwsUEday9WNyrShyrl60rWmA+SmbYZkQOwFJWArxRYYc5jGhA5ikxYw1rx3ei4NmeX/lKiwpZ9Ln1tV2Ae7sArvxuVLbJjqJRjW1vFXAyHpvLG+8MJ6T2Ubx5M2KDa2SN6vuIGxJ9WQM9Mk3Q7aCNiZONXllhqq24DmoLbQfW2rYWsOgHWjtOmIQMyMKdiHZDjoyIq5+U700nZ6odJAoYXPQBvFNiQ78d5jaXliBqLTJEqUCwi+LiH2mx92EmNKDsJL74Z613+3lf20pxkV1+erOrjj8pW00vsPaahKUM+05ssd5uwM7K482KWEf3TCwlg/o3e5ngto7qSMz7YteIgCsF1UOcsLk7F7MxWbvrPMY473ew0G+noVL8EPbkmEMftMSeL6HFub/zy+2JQ==","base64")).toString()),jT}var qT;function sae(){return typeof qT>"u"&&(qT=J("zlib").brotliDecompressSync(Buffer.from("G8MSIIzURnVBnObTcvb3XE6v2S9Qgc2K801Oa5otNKEtK8BINZNcaQHy+9/vf/WXBimwutXC33P2DPc64pps5rz7NGGWaOKNSPL4Y2KRE8twut2lFOIN+OXPtRmPMRhMTILib2bEQx43az2I5d3YS8Roa5UZpF/ujHb3Djd3GDvYUfvFYSUQ39vb2cmifp/rgB4J/65JK3wRBTvMBoNBmn3mbXC63/gbBkW/2IRPri0O8bcsRBsmarF328pAln04nyJFkwUAvNu934supAqLtyerZZpJ8I8suJHhf/ocMV+scKwa8NOiDKIPXw6Ex/EEZD6TEGaW8N5zvNHYF10l6Lfooj7D5W2k3dgvQSbp2Wv8TGOayS978gxlOLVjTGXs66ozewbrjwElLtyrYNnWTfzzdEutgROUFPVMhnMoy8EjJLLlWwIEoySxliim9kYW30JUHiPVyjt0iAw/ZpPmCbUCltYPnq6ZNblIKhTNhqS/oqC9iya5sGKZTOVsTEg34n92uZTf2iPpcZih8rPW8CzA+adIGmyCPcKdLMsBLShd+zuEbTrqpwuh+DLmracZcjPC5Sdf5odDAhKpFuOsQS67RT+1VgWWygSv3YwxDnylc04/PYuaMeIzhBkLrvs7e/OUzRTF56MmfY6rI63QtEjEQzq637zQqJ39nNhu3NmoRRhW/086bHGBUtx0PE0j3aEGvkdh9WJC8y8j8mqqke9/dQ5la+Q3ba4RlhvTbnfQhPDDab3tUifkjKuOsp13mXEmO00Mu88F/M67R7LXfoFDFLNtgCSWjWX+3Jn1371pJTK9xPBiMJafvDjtFyAzu8rxeQ0TKMQXNPs5xxiBOd+BRJP8KP88XPtJIbZKh/cdW8KvBUkpqKpGoiIaA32c3/JnQr4efXt85mXvidOvn/eU3Pase1typLYBalJ14mCso9h79nuMOuCa/kZAOkJHmTjP5RM2WNoPasZUAnT1TAE/NH25hUxcQv6hQWR/m1PKk4ooXMcM4SR1iYU3fUohvqk4RY2hbmTVVIXv6TvqO+0doOjgeVFAcom+RlwJQmOVH7pr1Q9LoJT6n1DeQEB+NHygsATbIwTcOKZlJsY8G4+suX1uQLjUWwLjjs0mvSvZcLTpIGAekeR7GCgl8eo3ndAqEe2XCav4huliHjdbIPBsGJuPX7lrO9HX1UbXRH5opOe1x6JsOSgHZR+EaxuXVhpLLxm6jk1LJtZfHSc6BKPun3CpYYVMJGwEUyk8MTGG0XL5MfEwaXpnc9TKnBmlGn6nHiGREc3ysn47XIBDzA+YvFdjZzVIEDcKGpS6PbUJehFRjEne8D0lVU1XuRtlgszq6pTNlQ/3MzNOEgCWPyTct22V2mEi2krizn5VDo9B19/X2DB3hCGRMM7ONbtnAcIx/OWB1u5uPbW1gsH8irXxT/IzG0PoXWYjhbMsH3KTuoOl5o17PulcgvsfTSnKFM354GWI8luqZnrswWjiXy3G+Vbyo1KMopFmmvBwNELgaS8z8dNZchx/Cl/xjddxhMcyqtzFyONb2Zdu90NkI8pAeufe7YlXrp53v8Dj/l8vWeVspRKBGXScBBPI/HinSTGmLDOGGOCIyH0JFdOZx0gWsacNlQLJMIrBhqRxXxHF/5pseWwejlAAvZ3klZSDSYY8mkToaWejXhgNomeGtx1DTLEUFMRkgF5yFB22WYdJnaWN14r1YJj81hGi45+jrADS5nYRhCiSlCJJ1nL8pYX+HDSMhdTEWyRcgHVp/IsUIZYMfT+YYncUQPgcxNGCHfZ88vDdrcUuaGIl6zhAsiaq7R5dfqrqXH/JcBhfjT8D0azayIyEz75Nxp6YkcyDxlJq3EXnJUpqDohJJOysL1t1uNiHESlvsxPb5cpbW0+ICZqJmUZus1BMW0F5IVBODLIo2zHHjA0=","base64")).toString()),qT}var JT;function oae(){return typeof JT>"u"&&(JT=J("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),JT}var aae=new Map([[P.makeIdent(null,"fsevents").identHash,nae],[P.makeIdent(null,"resolve").identHash,sae],[P.makeIdent(null,"typescript").identHash,oae]]),r3e={hooks:{registerPackageExtensions:async(r,e)=>{for(let[t,i]of YT)e(P.parseDescriptor(t,!0),i)},getBuiltinPatch:async(r,e)=>{var s;let t="compat/";if(!e.startsWith(t))return;let i=P.parseIdent(e.slice(t.length)),n=(s=aae.get(i.identHash))==null?void 0:s();return typeof n<"u"?n:null},reduceDependency:async(r,e,t,i)=>typeof aae.get(r.identHash)>"u"?r:P.makeDescriptor(r,P.makeRange({protocol:"patch:",source:P.stringifyDescriptor(r),selector:`~builtin`,params:null}))}},i3e=r3e;var zT={};ut(zT,{default:()=>s3e});var Yh=class extends De{constructor(){super(...arguments);this.pkg=z.String("-p,--package",{description:"The package to run the provided command from"});this.quiet=z.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=z.String();this.args=z.Proxy()}async execute(){let t=[];this.pkg&&t.push("--package",this.pkg),this.quiet&&t.push("--quiet");let i=P.parseDescriptor(this.command),n;i.scope?n=P.makeIdent(i.scope,`create-${i.name}`):i.name.startsWith("@")?n=P.makeIdent(i.name.substring(1),"create"):n=P.makeIdent(null,`create-${i.name}`);let s=P.stringifyIdent(n);return i.range!=="unknown"&&(s+=`@${i.range}`),this.cli.run(["dlx",...t,s,...this.args])}};Yh.paths=[["create"]];var xu=class extends De{constructor(){super(...arguments);this.packages=z.Array("-p,--package",{description:"The package(s) to install before running the command"});this.quiet=z.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=z.String();this.args=z.Proxy()}async execute(){return ye.telemetry=null,await M.mktempPromise(async t=>{var C;let i=x.join(t,`dlx-${process.pid}`);await M.mkdirPromise(i),await M.writeFilePromise(x.join(i,"package.json"),`{} + `,examples:[["Add a package to a single workspace","yarn workspace components add -D react"],["Run build script on a single workspace","yarn workspace components run build"]]});var s3e={configuration:{enableImmutableInstalls:{description:"If true (the default on CI), prevents the install command from modifying the lockfile",type:"BOOLEAN",default:Yae.isCI},defaultSemverRangePrefix:{description:"The default save prefix: '^', '~' or ''",type:"STRING",values:["^","~",""],default:"^"}},commands:[ou,au,Au,lu,Du,wu,hu,Fu,Jh,Wh,Ym,zh,nu,su,cu,uu,gu,fu,pu,du,Cu,mu,ku,Eu,Qu,Bu,bu,Iu,Su,vu,xu,Vh,Pu,Cl,Ru,Nu]},o3e=s3e;var IO={};ut(IO,{default:()=>A3e});var Le={optional:!0},dO=[["@tailwindcss/aspect-ratio@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@tailwindcss/line-clamp@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@fullhuman/postcss-purgecss@3.1.3 || 3.1.3-alpha.0",{peerDependencies:{postcss:"^8.0.0"}}],["@samverschueren/stream-to-observable@<0.3.1",{peerDependenciesMeta:{rxjs:Le,zenObservable:Le}}],["any-observable@<0.5.1",{peerDependenciesMeta:{rxjs:Le,zenObservable:Le}}],["@pm2/agent@<1.0.4",{dependencies:{debug:"*"}}],["debug@<4.2.0",{peerDependenciesMeta:{["supports-color"]:Le}}],["got@<11",{dependencies:{["@types/responselike"]:"^1.0.0",["@types/keyv"]:"^3.1.1"}}],["cacheable-lookup@<4.1.2",{dependencies:{["@types/keyv"]:"^3.1.1"}}],["http-link-dataloader@*",{peerDependencies:{graphql:"^0.13.1 || ^14.0.0"}}],["typescript-language-server@*",{dependencies:{["vscode-jsonrpc"]:"^5.0.1",["vscode-languageserver-protocol"]:"^3.15.0"}}],["postcss-syntax@*",{peerDependenciesMeta:{["postcss-html"]:Le,["postcss-jsx"]:Le,["postcss-less"]:Le,["postcss-markdown"]:Le,["postcss-scss"]:Le}}],["jss-plugin-rule-value-function@<=10.1.1",{dependencies:{["tiny-warning"]:"^1.0.2"}}],["ink-select-input@<4.1.0",{peerDependencies:{react:"^16.8.2"}}],["license-webpack-plugin@<2.3.18",{peerDependenciesMeta:{webpack:Le}}],["snowpack@>=3.3.0",{dependencies:{["node-gyp"]:"^7.1.0"}}],["promise-inflight@*",{peerDependenciesMeta:{bluebird:Le}}],["reactcss@*",{peerDependencies:{react:"*"}}],["react-color@<=2.19.0",{peerDependencies:{react:"*"}}],["gatsby-plugin-i18n@*",{dependencies:{ramda:"^0.24.1"}}],["useragent@^2.0.0",{dependencies:{request:"^2.88.0",yamlparser:"0.0.x",semver:"5.5.x"}}],["@apollographql/apollo-tools@<=0.5.2",{peerDependencies:{graphql:"^14.2.1 || ^15.0.0"}}],["material-table@^2.0.0",{dependencies:{"@babel/runtime":"^7.11.2"}}],["@babel/parser@*",{dependencies:{"@babel/types":"^7.8.3"}}],["fork-ts-checker-webpack-plugin@<=6.3.4",{peerDependencies:{eslint:">= 6",typescript:">= 2.7",webpack:">= 4","vue-template-compiler":"*"},peerDependenciesMeta:{eslint:Le,"vue-template-compiler":Le}}],["rc-animate@<=3.1.1",{peerDependencies:{react:">=16.9.0","react-dom":">=16.9.0"}}],["react-bootstrap-table2-paginator@*",{dependencies:{classnames:"^2.2.6"}}],["react-draggable@<=4.4.3",{peerDependencies:{react:">= 16.3.0","react-dom":">= 16.3.0"}}],["apollo-upload-client@<14",{peerDependencies:{graphql:"14 - 15"}}],["react-instantsearch-core@<=6.7.0",{peerDependencies:{algoliasearch:">= 3.1 < 5"}}],["react-instantsearch-dom@<=6.7.0",{dependencies:{"react-fast-compare":"^3.0.0"}}],["ws@<7.2.1",{peerDependencies:{bufferutil:"^4.0.1","utf-8-validate":"^5.0.2"},peerDependenciesMeta:{bufferutil:Le,"utf-8-validate":Le}}],["react-portal@<4.2.2",{peerDependencies:{"react-dom":"^15.0.0-0 || ^16.0.0-0 || ^17.0.0-0"}}],["react-scripts@<=4.0.1",{peerDependencies:{react:"*"}}],["testcafe@<=1.10.1",{dependencies:{"@babel/plugin-transform-for-of":"^7.12.1","@babel/runtime":"^7.12.5"}}],["testcafe-legacy-api@<=4.2.0",{dependencies:{"testcafe-hammerhead":"^17.0.1","read-file-relative":"^1.2.0"}}],["@google-cloud/firestore@<=4.9.3",{dependencies:{protobufjs:"^6.8.6"}}],["gatsby-source-apiserver@*",{dependencies:{["babel-polyfill"]:"^6.26.0"}}],["@webpack-cli/package-utils@<=1.0.1-alpha.4",{dependencies:{["cross-spawn"]:"^7.0.3"}}],["gatsby-remark-prismjs@<3.3.28",{dependencies:{lodash:"^4"}}],["gatsby-plugin-favicon@*",{peerDependencies:{webpack:"*"}}],["gatsby-plugin-sharp@<=4.6.0-next.3",{dependencies:{debug:"^4.3.1"}}],["gatsby-react-router-scroll@<=5.6.0-next.0",{dependencies:{["prop-types"]:"^15.7.2"}}],["@rebass/forms@*",{dependencies:{["@styled-system/should-forward-prop"]:"^5.0.0"},peerDependencies:{react:"^16.8.6"}}],["rebass@*",{peerDependencies:{react:"^16.8.6"}}],["@ant-design/react-slick@<=0.28.3",{peerDependencies:{react:">=16.0.0"}}],["mqtt@<4.2.7",{dependencies:{duplexify:"^4.1.1"}}],["vue-cli-plugin-vuetify@<=2.0.3",{dependencies:{semver:"^6.3.0"},peerDependenciesMeta:{"sass-loader":Le,"vuetify-loader":Le}}],["vue-cli-plugin-vuetify@<=2.0.4",{dependencies:{"null-loader":"^3.0.0"}}],["vue-cli-plugin-vuetify@>=2.4.3",{peerDependencies:{vue:"*"}}],["@vuetify/cli-plugin-utils@<=0.0.4",{dependencies:{semver:"^6.3.0"},peerDependenciesMeta:{"sass-loader":Le}}],["@vue/cli-plugin-typescript@<=5.0.0-alpha.0",{dependencies:{"babel-loader":"^8.1.0"}}],["@vue/cli-plugin-typescript@<=5.0.0-beta.0",{dependencies:{"@babel/core":"^7.12.16"},peerDependencies:{"vue-template-compiler":"^2.0.0"},peerDependenciesMeta:{"vue-template-compiler":Le}}],["cordova-ios@<=6.3.0",{dependencies:{underscore:"^1.9.2"}}],["cordova-lib@<=10.0.1",{dependencies:{underscore:"^1.9.2"}}],["git-node-fs@*",{peerDependencies:{"js-git":"^0.7.8"},peerDependenciesMeta:{"js-git":Le}}],["consolidate@<0.16.0",{peerDependencies:{mustache:"^3.0.0"},peerDependenciesMeta:{mustache:Le}}],["consolidate@<=0.16.0",{peerDependencies:{velocityjs:"^2.0.1",tinyliquid:"^0.2.34","liquid-node":"^3.0.1",jade:"^1.11.0","then-jade":"*",dust:"^0.3.0","dustjs-helpers":"^1.7.4","dustjs-linkedin":"^2.7.5",swig:"^1.4.2","swig-templates":"^2.0.3","razor-tmpl":"^1.3.1",atpl:">=0.7.6",liquor:"^0.0.5",twig:"^1.15.2",ejs:"^3.1.5",eco:"^1.1.0-rc-3",jazz:"^0.0.18",jqtpl:"~1.1.0",hamljs:"^0.6.2",hamlet:"^0.3.3",whiskers:"^0.4.0","haml-coffee":"^1.14.1","hogan.js":"^3.0.2",templayed:">=0.2.3",handlebars:"^4.7.6",underscore:"^1.11.0",lodash:"^4.17.20",pug:"^3.0.0","then-pug":"*",qejs:"^3.0.5",walrus:"^0.10.1",mustache:"^4.0.1",just:"^0.1.8",ect:"^0.5.9",mote:"^0.2.0",toffee:"^0.3.6",dot:"^1.1.3","bracket-template":"^1.1.5",ractive:"^1.3.12",nunjucks:"^3.2.2",htmling:"^0.0.8","babel-core":"^6.26.3",plates:"~0.4.11","react-dom":"^16.13.1",react:"^16.13.1","arc-templates":"^0.5.3",vash:"^0.13.0",slm:"^2.0.0",marko:"^3.14.4",teacup:"^2.0.0","coffee-script":"^1.12.7",squirrelly:"^5.1.0",twing:"^5.0.2"},peerDependenciesMeta:{velocityjs:Le,tinyliquid:Le,"liquid-node":Le,jade:Le,"then-jade":Le,dust:Le,"dustjs-helpers":Le,"dustjs-linkedin":Le,swig:Le,"swig-templates":Le,"razor-tmpl":Le,atpl:Le,liquor:Le,twig:Le,ejs:Le,eco:Le,jazz:Le,jqtpl:Le,hamljs:Le,hamlet:Le,whiskers:Le,"haml-coffee":Le,"hogan.js":Le,templayed:Le,handlebars:Le,underscore:Le,lodash:Le,pug:Le,"then-pug":Le,qejs:Le,walrus:Le,mustache:Le,just:Le,ect:Le,mote:Le,toffee:Le,dot:Le,"bracket-template":Le,ractive:Le,nunjucks:Le,htmling:Le,"babel-core":Le,plates:Le,"react-dom":Le,react:Le,"arc-templates":Le,vash:Le,slm:Le,marko:Le,teacup:Le,"coffee-script":Le,squirrelly:Le,twing:Le}}],["vue-loader@<=16.3.3",{peerDependencies:{"@vue/compiler-sfc":"^3.0.8",webpack:"^4.1.0 || ^5.0.0-0"},peerDependenciesMeta:{"@vue/compiler-sfc":Le}}],["vue-loader@^16.7.0",{peerDependencies:{"@vue/compiler-sfc":"^3.0.8",vue:"^3.2.13"},peerDependenciesMeta:{"@vue/compiler-sfc":Le,vue:Le}}],["scss-parser@<=1.0.5",{dependencies:{lodash:"^4.17.21"}}],["query-ast@<1.0.5",{dependencies:{lodash:"^4.17.21"}}],["redux-thunk@<=2.3.0",{peerDependencies:{redux:"^4.0.0"}}],["skypack@<=0.3.2",{dependencies:{tar:"^6.1.0"}}],["@npmcli/metavuln-calculator@<2.0.0",{dependencies:{"json-parse-even-better-errors":"^2.3.1"}}],["bin-links@<2.3.0",{dependencies:{"mkdirp-infer-owner":"^1.0.2"}}],["rollup-plugin-polyfill-node@<=0.8.0",{peerDependencies:{rollup:"^1.20.0 || ^2.0.0"}}],["snowpack@<3.8.6",{dependencies:{"magic-string":"^0.25.7"}}],["elm-webpack-loader@*",{dependencies:{temp:"^0.9.4"}}],["winston-transport@<=4.4.0",{dependencies:{logform:"^2.2.0"}}],["jest-vue-preprocessor@*",{dependencies:{"@babel/core":"7.8.7","@babel/template":"7.8.6"},peerDependencies:{pug:"^2.0.4"},peerDependenciesMeta:{pug:Le}}],["redux-persist@*",{peerDependencies:{react:">=16"},peerDependenciesMeta:{react:Le}}],["sodium@>=3",{dependencies:{"node-gyp":"^3.8.0"}}],["babel-plugin-graphql-tag@<=3.1.0",{peerDependencies:{graphql:"^14.0.0 || ^15.0.0"}}],["@playwright/test@<=1.14.1",{dependencies:{"jest-matcher-utils":"^26.4.2"}}],...["babel-plugin-remove-graphql-queries@<3.14.0-next.1","babel-preset-gatsby-package@<1.14.0-next.1","create-gatsby@<1.14.0-next.1","gatsby-admin@<0.24.0-next.1","gatsby-cli@<3.14.0-next.1","gatsby-core-utils@<2.14.0-next.1","gatsby-design-tokens@<3.14.0-next.1","gatsby-legacy-polyfills@<1.14.0-next.1","gatsby-plugin-benchmark-reporting@<1.14.0-next.1","gatsby-plugin-graphql-config@<0.23.0-next.1","gatsby-plugin-image@<1.14.0-next.1","gatsby-plugin-mdx@<2.14.0-next.1","gatsby-plugin-netlify-cms@<5.14.0-next.1","gatsby-plugin-no-sourcemaps@<3.14.0-next.1","gatsby-plugin-page-creator@<3.14.0-next.1","gatsby-plugin-preact@<5.14.0-next.1","gatsby-plugin-preload-fonts@<2.14.0-next.1","gatsby-plugin-schema-snapshot@<2.14.0-next.1","gatsby-plugin-styletron@<6.14.0-next.1","gatsby-plugin-subfont@<3.14.0-next.1","gatsby-plugin-utils@<1.14.0-next.1","gatsby-recipes@<0.25.0-next.1","gatsby-source-shopify@<5.6.0-next.1","gatsby-source-wikipedia@<3.14.0-next.1","gatsby-transformer-screenshot@<3.14.0-next.1","gatsby-worker@<0.5.0-next.1"].map(r=>[r,{dependencies:{"@babel/runtime":"^7.14.8"}}]),["gatsby-core-utils@<2.14.0-next.1",{dependencies:{got:"8.3.2"}}],["gatsby-plugin-gatsby-cloud@<=3.1.0-next.0",{dependencies:{"gatsby-core-utils":"^2.13.0-next.0"}}],["gatsby-plugin-gatsby-cloud@<=3.2.0-next.1",{peerDependencies:{webpack:"*"}}],["babel-plugin-remove-graphql-queries@<=3.14.0-next.1",{dependencies:{"gatsby-core-utils":"^2.8.0-next.1"}}],["gatsby-plugin-netlify@3.13.0-next.1",{dependencies:{"gatsby-core-utils":"^2.13.0-next.0"}}],["clipanion-v3-codemod@<=0.2.0",{peerDependencies:{jscodeshift:"^0.11.0"}}],["react-live@*",{peerDependencies:{"react-dom":"*",react:"*"}}],["webpack@<4.44.1",{peerDependenciesMeta:{"webpack-cli":Le,"webpack-command":Le}}],["webpack@<5.0.0-beta.23",{peerDependenciesMeta:{"webpack-cli":Le}}],["webpack-dev-server@<3.10.2",{peerDependenciesMeta:{"webpack-cli":Le}}],["@docusaurus/responsive-loader@<1.5.0",{peerDependenciesMeta:{sharp:Le,jimp:Le}}],["eslint-module-utils@*",{peerDependenciesMeta:{"eslint-import-resolver-node":Le,"eslint-import-resolver-typescript":Le,"eslint-import-resolver-webpack":Le,"@typescript-eslint/parser":Le}}],["eslint-plugin-import@*",{peerDependenciesMeta:{"@typescript-eslint/parser":Le}}],["critters-webpack-plugin@<3.0.2",{peerDependenciesMeta:{"html-webpack-plugin":Le}}],["terser@<=5.10.0",{dependencies:{acorn:"^8.5.0"}}],["babel-preset-react-app@10.0.x",{dependencies:{"@babel/plugin-proposal-private-property-in-object":"^7.16.0"}}],["eslint-config-react-app@*",{peerDependenciesMeta:{typescript:Le}}],["@vue/eslint-config-typescript@<11.0.0",{peerDependenciesMeta:{typescript:Le}}],["unplugin-vue2-script-setup@<0.9.1",{peerDependencies:{"@vue/composition-api":"^1.4.3","@vue/runtime-dom":"^3.2.26"}}],["@cypress/snapshot@*",{dependencies:{debug:"^3.2.7"}}],["auto-relay@<=0.14.0",{peerDependencies:{"reflect-metadata":"^0.1.13"}}],["vue-template-babel-compiler@<1.2.0",{peerDependencies:{["vue-template-compiler"]:"^2.6.0"}}],["@parcel/transformer-image@<2.5.0",{peerDependencies:{["@parcel/core"]:"*"}}],["@parcel/transformer-js@<2.5.0",{peerDependencies:{["@parcel/core"]:"*"}}],["parcel@*",{peerDependenciesMeta:{["@parcel/core"]:Le}}],["react-scripts@*",{peerDependencies:{eslint:"*"}}],["focus-trap-react@^8.0.0",{dependencies:{tabbable:"^5.3.2"}}],["react-rnd@<10.3.7",{peerDependencies:{react:">=16.3.0","react-dom":">=16.3.0"}}],["connect-mongo@*",{peerDependencies:{"express-session":"^1.17.1"}}],["vue-i18n@<9",{peerDependencies:{vue:"^2"}}],["vue-router@<4",{peerDependencies:{vue:"^2"}}],["unified@<10",{dependencies:{"@types/unist":"^2.0.0"}}],["react-github-btn@<=1.3.0",{peerDependencies:{react:">=16.3.0"}}],["react-dev-utils@*",{peerDependencies:{typescript:">=2.7",webpack:">=4"},peerDependenciesMeta:{typescript:Le}}],["@asyncapi/react-component@<=1.0.0-next.39",{peerDependencies:{react:">=16.8.0","react-dom":">=16.8.0"}}],["xo@*",{peerDependencies:{webpack:">=1.11.0"},peerDependenciesMeta:{webpack:Le}}],["babel-plugin-remove-graphql-queries@<=4.20.0-next.0",{dependencies:{"@babel/types":"^7.15.4"}}],["gatsby-plugin-page-creator@<=4.20.0-next.1",{dependencies:{"fs-extra":"^10.1.0"}}],["gatsby-plugin-utils@<=3.14.0-next.1",{dependencies:{fastq:"^1.13.0"},peerDependencies:{graphql:"^15.0.0"}}],["gatsby-plugin-mdx@<3.1.0-next.1",{dependencies:{mkdirp:"^1.0.4"}}],["gatsby-plugin-mdx@^2",{peerDependencies:{gatsby:"^3.0.0-next"}}],["fdir@<=5.2.0",{peerDependencies:{picomatch:"2.x"},peerDependenciesMeta:{picomatch:Le}}],["babel-plugin-transform-typescript-metadata@<=0.3.2",{peerDependencies:{"@babel/core":"^7","@babel/traverse":"^7"},peerDependenciesMeta:{"@babel/traverse":Le}}],["graphql-compose@>=9.0.10",{peerDependencies:{graphql:"^14.2.0 || ^15.0.0 || ^16.0.0"}}]];var CO;function jae(){return typeof CO>"u"&&(CO=J("zlib").brotliDecompressSync(Buffer.from("G7weAByFTVk3Vs7UfHhq4yykgEM7pbW7TI43SG2S5tvGrwHBAzdz+s/npQ6tgEvobvxisrPIadkXeUAJotBn5bDZ5kAhcRqsIHe3F75Walet5hNalwgFDtxb0BiDUjiUQkjG0yW2hto9HPgiCkm316d6bC0kST72YN7D7rfkhCE9x4J0XwB0yavalxpUu2t9xszHrmtwalOxT7VslsxWcB1qpqZwERUra4psWhTV8BgwWeizurec82Caf1ABL11YMfbf8FJ9JBceZOkgmvrQPbC9DUldX/yMbmX06UQluCEjSwUoyO+EZPIjofr+/oAZUck2enraRD+oWLlnlYnj8xB+gwSo9lmmks4fXv574qSqcWA6z21uYkzMu3EWj+K23RxeQlLqiE35/rC8GcS4CGkKHKKq+zAIQwD9iRDNfiAqueLLpicFFrNsAI4zeTD/eO9MHcnRa5m8UT+M2+V+AkFST4BlKneiAQRSdST8KEAIyFlULt6wa9EBd0Ds28VmpaxquJdVt+nwdEs5xUskI13OVtFyY0UrQIRAlCuvvWivvlSKQfTO+2Q8OyUR1W5RvetaPz4jD27hdtwHFFA1Ptx6Ee/t2cY2rg2G46M1pNDRf2pWhvpy8pqMnuI3++4OF3+7OFIWXGjh+o7Nr2jNvbiYcQdQS1h903/jVFgOpA0yJ78z+x759bFA0rq+6aY5qPB4FzS3oYoLupDUhD9nDz6F6H7hpnlMf18KNKDu4IKjTWwrAnY6MFQw1W6ymOALHlFyCZmQhldg1MQHaMVVQTVgDC60TfaBqG++Y8PEoFhN/PBTZT175KNP/BlHDYGOOBmnBdzqJKplZ/ljiVG0ZBzfqeBRrrUkn6rA54462SgiliKoYVnbeptMdXNfAuaupIEi0bApF10TlgHfmEJAPUVidRVFyDupSem5po5vErPqWKhKbUIp0LozpYsIKK57dM/HKr+nguF+7924IIWMICkQ8JUigs9D+W+c4LnNoRtPPKNRUiCYmP+Jfo2lfKCKw8qpraEeWU3uiNRO6zcyKQoXPR5htmzzLznke7b4YbXW3I1lIRzmgG02Udb58U+7TpwyN7XymCgH+wuPDthZVQvRZuEP+SnLtMicz9m5zASWOBiAcLmkuFlTKuHspSIhCBD0yUPKcxu81A+4YD78rA2vtwsUEday9WNyrShyrl60rWmA+SmbYZkQOwFJWArxRYYc5jGhA5ikxYw1rx3ei4NmeX/lKiwpZ9Ln1tV2Ae7sArvxuVLbJjqJRjW1vFXAyHpvLG+8MJ6T2Ubx5M2KDa2SN6vuIGxJ9WQM9Mk3Q7aCNiZONXllhqq24DmoLbQfW2rYWsOgHWjtOmIQMyMKdiHZDjoyIq5+U700nZ6odJAoYXPQBvFNiQ78d5jaXliBqLTJEqUCwi+LiH2mx92EmNKDsJL74Z613+3lf20pxkV1+erOrjj8pW00vsPaahKUM+05ssd5uwM7K482KWEf3TCwlg/o3e5ngto7qSMz7YteIgCsF1UOcsLk7F7MxWbvrPMY473ew0G+noVL8EPbkmEMftMSeL6HFub/zy+2JQ==","base64")).toString()),CO}var mO;function qae(){return typeof mO>"u"&&(mO=J("zlib").brotliDecompressSync(Buffer.from("G8MSIIzURnVBnObTcvb3XE6v2S9Qgc2K801Oa5otNKEtK8BINZNcaQHy+9/vf/WXBimwutXC33P2DPc64pps5rz7NGGWaOKNSPL4Y2KRE8twut2lFOIN+OXPtRmPMRhMTILib2bEQx43az2I5d3YS8Roa5UZpF/ujHb3Djd3GDvYUfvFYSUQ39vb2cmifp/rgB4J/65JK3wRBTvMBoNBmn3mbXC63/gbBkW/2IRPri0O8bcsRBsmarF328pAln04nyJFkwUAvNu934supAqLtyerZZpJ8I8suJHhf/ocMV+scKwa8NOiDKIPXw6Ex/EEZD6TEGaW8N5zvNHYF10l6Lfooj7D5W2k3dgvQSbp2Wv8TGOayS978gxlOLVjTGXs66ozewbrjwElLtyrYNnWTfzzdEutgROUFPVMhnMoy8EjJLLlWwIEoySxliim9kYW30JUHiPVyjt0iAw/ZpPmCbUCltYPnq6ZNblIKhTNhqS/oqC9iya5sGKZTOVsTEg34n92uZTf2iPpcZih8rPW8CzA+adIGmyCPcKdLMsBLShd+zuEbTrqpwuh+DLmracZcjPC5Sdf5odDAhKpFuOsQS67RT+1VgWWygSv3YwxDnylc04/PYuaMeIzhBkLrvs7e/OUzRTF56MmfY6rI63QtEjEQzq637zQqJ39nNhu3NmoRRhW/086bHGBUtx0PE0j3aEGvkdh9WJC8y8j8mqqke9/dQ5la+Q3ba4RlhvTbnfQhPDDab3tUifkjKuOsp13mXEmO00Mu88F/M67R7LXfoFDFLNtgCSWjWX+3Jn1371pJTK9xPBiMJafvDjtFyAzu8rxeQ0TKMQXNPs5xxiBOd+BRJP8KP88XPtJIbZKh/cdW8KvBUkpqKpGoiIaA32c3/JnQr4efXt85mXvidOvn/eU3Pase1typLYBalJ14mCso9h79nuMOuCa/kZAOkJHmTjP5RM2WNoPasZUAnT1TAE/NH25hUxcQv6hQWR/m1PKk4ooXMcM4SR1iYU3fUohvqk4RY2hbmTVVIXv6TvqO+0doOjgeVFAcom+RlwJQmOVH7pr1Q9LoJT6n1DeQEB+NHygsATbIwTcOKZlJsY8G4+suX1uQLjUWwLjjs0mvSvZcLTpIGAekeR7GCgl8eo3ndAqEe2XCav4huliHjdbIPBsGJuPX7lrO9HX1UbXRH5opOe1x6JsOSgHZR+EaxuXVhpLLxm6jk1LJtZfHSc6BKPun3CpYYVMJGwEUyk8MTGG0XL5MfEwaXpnc9TKnBmlGn6nHiGREc3ysn47XIBDzA+YvFdjZzVIEDcKGpS6PbUJehFRjEne8D0lVU1XuRtlgszq6pTNlQ/3MzNOEgCWPyTct22V2mEi2krizn5VDo9B19/X2DB3hCGRMM7ONbtnAcIx/OWB1u5uPbW1gsH8irXxT/IzG0PoXWYjhbMsH3KTuoOl5o17PulcgvsfTSnKFM354GWI8luqZnrswWjiXy3G+Vbyo1KMopFmmvBwNELgaS8z8dNZchx/Cl/xjddxhMcyqtzFyONb2Zdu90NkI8pAeufe7YlXrp53v8Dj/l8vWeVspRKBGXScBBPI/HinSTGmLDOGGOCIyH0JFdOZx0gWsacNlQLJMIrBhqRxXxHF/5pseWwejlAAvZ3klZSDSYY8mkToaWejXhgNomeGtx1DTLEUFMRkgF5yFB22WYdJnaWN14r1YJj81hGi45+jrADS5nYRhCiSlCJJ1nL8pYX+HDSMhdTEWyRcgHVp/IsUIZYMfT+YYncUQPgcxNGCHfZ88vDdrcUuaGIl6zhAsiaq7R5dfqrqXH/JcBhfjT8D0azayIyEz75Nxp6YkcyDxlJq3EXnJUpqDohJJOysL1t1uNiHESlvsxPb5cpbW0+ICZqJmUZus1BMW0F5IVBODLIo2zHHjA0=","base64")).toString()),mO}var EO;function Jae(){return typeof EO>"u"&&(EO=J("zlib").brotliDecompressSync(Buffer.from("mxi2LYNtw1tvVo8GXJm1KcGTDafcGOIFxFq5fe/n9kakh/eBUpueW7rSkDq6AfVW3BgDB7S3K0lOy1a7jmzz4Ah+J2z6wouRLRhysbzG2lLr0ScSVjBivhfdOFrW346S6tLY2R5N/ZKwxQi/Dw4l19x8FxFJrwF03PqLgCCESdcwE9GIXs3cHqvMIX15VvihbzX177mc9Dv2X0xw0m+9nk0Ri8ksYkdPrr3SAgJUS1v211QK0AY0/94QNDV6LN+FuPvofrn8ey+3TI3d1DSvU9GvXiFDlAjkJbOfA8XvTWd3LqePts2YQQp2qp3mdFLZUgkrO1ghfjHlIScdQvM8Qg9eTq/im5MGlcq+MN0GIGFwsrf9U2NvbzwEvQQ1Z8eWJVueIHql7Sfstg5FKWRMrmAp43Ne6H8uUtlzR6GsKlRX6JVHxVsYuA/bDOQ3Ijoxc1yiCHABb+N9eyhDv2+iBHzi//w0QshM0vr/7++1SlUqXmsa2F3SkD0cKQi93PIAYTbZsP6+59yj/iDVSF/SKslygcvVYGike8+9971PUpUMU5abmJNokpTz4Sz+pBpjo5rlRlcPcxAkc++yV+q2M+RmlJdrKWfjPKM7wIz8DJAJC2vSpnZYOuswqOuzBLHAwPuAoDD+i3RLNNoUzSptNyghKP87NentruF0/t8l3+MqIVcCSuiSfgbrnGwtAG9JQj3IkgJM44t87ojPHXZC4k4rXZvVqvtPTTVgQtInMoPU+QuFMPY+1yuQCB9OQCzGm6psjf//Nitjw3KrDHpPhn9rQbUUyknkICFMAvqqVc+MKcIIqMekmWhPPlgyheYIYx9nznqDOG2NVN2G0uJ/kuG9X4b6JRP4ffv9f9o79K4K8QmR/MIlrAiEHuHe7e59Krkf7gBgCGSyuqq6qh7/9d4ECF1cJGqF0vc5gzKJUF/Iga/+BvaEYovsJsTGf9XeiupeQEHUGptFSD0xG9aTXz16DNPaW7rvjwFFVKJonmNQpWN7jYWhe8NIq67CGwxnI4XKmPg6FWBn5Ba46iQYyDSlpGOlc/DfGeOYwxhqMZYZe831Td+osLwCwgbxwDEZutSfq2UnhVBGFf0r8ZwvXqqaj691YzEho8yLMDMIkZw1A18aXwuX73sKWLaszTHWKttK7/kTkU8EksFR2JMckzGtv5coItDEkacYRU/EoNbw4LriHeTHgYB4dnfmA8ilP3guf4vN3VEZKAtVGeuh/m6ot1ID628K8u87kvs45Ndr+FW7kf9Mh3Yzh/wE+ken6Hrwh1jaC8635oVnc/+lT+luG8PjaNhuYXkHv8LmHNoJ1tP66TL7SSE+9nMn2acVbnx7P3+tW0wLCnSHmtfj80DzAGwwS0445MQr9xWiqHQ/RXw9TYZfsjx05WiIpSUDhgQE/FuM5sjOL9C4Ub7LGaCadPGR+4whQBUsiKjG+KeUhmg1eEC7Sj8RXR2qNDdvN9AjDEvtea8ql82nUufmk4r/jpQnFpsut17UpwnuvzYpgi0B9jxRJv8fFeiu9Ty8MjlUDk4zRMvAAxdkP9VskuBxvP5DEKTKnGdYKEI95yqPqmt/au5olqzHizhZXNx6sScQ6UMnTZiURXBZnfW3PUrA7gCFHCafxx/B3oi8LalCuPrXSz9JTi5eZeZKDy6Y6wI1/lHFQiFYxPanzSGCwTQ2fohhzPJYEgbicaaxS5yZPlKFs3DQAthbCh4urvw4X0f1PCMGGIWQFvwtXRKdFE6GZQPI8AQ9u4eJyh44GOvl41OkODBnCBuuijKw97oTf2QDbrweZ4AkBJ9NE2R+xsmydzzbRCB53PK59T/KDJIBFbar+rIcdDct3LpMr53q9Lus4m5G7a43hTOwHJ2YB5y7PsNxTBoagc+ITx7A+ei8mgjiKdVjE3nQKi8x5tOdf2+w+z71IjAUkbaYT4pE1QcSnQIlMXugwksYzDC3BmiCr35qkR8js4bzXCBA9QKc9G9ifuZWLEoeVPnLeLIsH0OpWIAlZUQNkom9YcXW+XPs5OYE1J8VlT9VZZX9THqa8DAnBUwTzr44FxYqcoaFd1lboJenXy5dwrMw6oUj4uKAklmUI0qBna2MLUCkHJUIh6jJOqJPiTR+/LJCQIX0fmqNQMEC2l1nMzI9/bmNTuEyTnxHDVBFrM1rsrMwFST769ad11InJgKBrMZ+LA3D5bp4gWTmiW8egdBNGKAyj/4GKxz41pFwnDMPOX/5j8Nnjo5IluVtUr78SNXHh87/jocovXIdHX1zjM4iBrg/Cs8lBkstguVR/zR/CfaQpYLpu1CY73iqMwIe69ET5kk8BSfhej+yUOB5vzP7ZZOelFAbzany63SyowV5xhcBvCB1ebkDUssdnHFYTrKcd8atL6tsJ1PUZe312LMsPs7Pdv8UNuqsRDlt/Upy2a5zXmZ9PYqYmJnlJOUYcGKspr9Zv+ZMh6YxP+eyjzq2eWq+sBA/aVmvWziZcXPMmn9E9osVymAu5vgQHB4fhPSUm55qsw5gDLrj9oSq28Vn3vg1qSYYatTjHjQOQkmeYY+555hjxum+RldipcvCx+6ra5DYffj4ZX10s7ufBBlQghcWUwsPGf+R+wYECi6soOAn9UqSX2ymN+7nrbqwRH45kv3In84l13NCazMTwrq0mO24gH+unDr58oCErLL6IqeaBIBvW3jfle1mRBbjmEWxClFW+4LA2F63y/BxKD/5HWmgcLDY7KYzltLj+NxDjEQbljN9n05ogXHRL9mu7SNRNoxL1kd3Cq/EbfoHLpbiW0sPHng127ThrhYy927rpgWE2bzoIYGPJW61os6ipvfPQ9J8dIuJwrbLLbW1HVrlNpXonq8FIJ7dIJi16HpNNOSqNAs/RVQsON4u9Jz4MgIB+oj6SHTECvuWLmuYHNrOnG+p3GD36KrXOunQiQRVFn6VwgGV11q55OchTeXc2jpgOITq+p4AkKBrC0Wkn/KkAuEG+CmBLQEUjEwtCFj1jHIrgmq41qUpJ7nrE5giW0+Q6RwR9ogHJp0zAqEOcIi8Z8sl8ZwibCFIolkjzB5xC6fXzQC9BRhR4aCXuLJIuJ5hp5nqpqcbo32hksgpypWxgyioSwj5HZJEjuSRR8X0jDx4l4f+rov1X81L2ne56/e3PLPoHn+GXpg8+O5lkE+rWrEYeRiewe1gBMUeBL7xewmcRN9oee/NS9l8IDaJXoSh6yukPBwZHBxN74RBWBAx7zW57hQ38c5JGZufKF52EVdCohltGvVmwNN/g4ZdtHe6uWqKHMt79sfZbRD9fa1qEbIc9A0eJ8Dzwn2nKrnd602QKFCVUrcHYiym2hnFth7WvDFt26qY79dqNZh5clrpUhm27NW0a15FqkaLVrF52sSelvEdBm8Q1cuJvLr/QM6wqq6I5kIleDMaFtJlfSXqcHYjKmPQGqBzZIWyPyeCXoa22PO/SlrfCewaDB+7UlN3d+7+hf08ERXOUuKuTcLKzQs+NsWdldgDLtMmqqmvMzbPmBGqtF6nGpvGusxispOb84bc6xuzm+nLkL1zc19+kO9eIM6dz0fx99ZlTZ+b+/wyXh+19P9RVEsilO1qd4T2qDwXePQ/2MSdK6YZO8MH4PPzJV1Y6sTBCvu4p7RNpHgvIF0dfw/G63SMBpIXWDm2qiprMZD6NfCK/JwD3v5c+VJ7ze0siXX8e6rLYQHsZON8XrwIdwNU9hdT7qiXANNKQvsQQt/C8W++2/6uir/1Pp5NLwMBCJyes8J7AsjRxdNimWO94MRlRwb72+ViO+19krj86/ZeJfVbmm85Hnjsyb9JsJTbuFtLNi18QftzLb5T25FP08bJefvoqxFkzXxwaNUamG0w+PX6c5A1EOfGVL1me7Ke2YpwGdeczP0PJQmssj4pcnnkbwZG9iHy/FqYTQ+UGDmAOObwDqKahTis4QIAIfNXdCKFN6RR7RLz1jj6GgEABYiPtMw3A8Uye4+LYB4pcu/XGfarN/nG1GMozy1uWZ8TrayYJ1VcAGACAVrYDfXqdi7Uqj0CADzQpEOzkF6WedHMIwPot13Crx34he2Id8sxYnSz7PPnghUA2nn3t99fzp/Rk2swB2dFOY8090MPKn+1zs7xQhj9CLKF95BNgHdruADALovcjYWThmDVjjB/Zyd9jQBAok6za+GY33Oi3pn7J36PX8A3B1aO5uQGQEK5imQAAFJrAvnPXP3nd+XFtdaNAea6n/ASYLVddhYFkK7+9WQG3tNOvlqNHTKUF4ThUR9wKpWr6C0AINOJMjvRsjGcK72JM/45TbgikLq47OkOEN1+KBMAiKfg6UFiH+5GEAM/GzmpbHCQYl5d7GoLABQZu9iwGbtQe6vGklEnXQIAHa61ljNPQ5B6P911HloDA45BuYqwBQB08gZls8IjVu3G2usipoJVq6RGAKBiokVjHvAHtPpRI/giMRp62dyI8ioAdLPe1owH6Caau9daPgDw2aC3PkNjsmZewihbAODk2KuV2PAwtuH2pbISjG10IwCQWbVkzOPRMROffT0Jq+tXog6cqBMSYCHlKpIBAEhLuqDGpQbyn+3iElWdGWfbBVZFHexz8D3oYaqXNu7ueKT3AdGjvkFqu1xFbwEAsSzraVzqVT54ClyK1aBxpt2H91pSEjMBgIRvoolnPvX2v7rJjbhls8tpvLq2Gy4AUEspvTnhTOHFkkus/eK9liThEgC47D78kZYbrPMPN8YPxy+buK8udcMFAEp4acslJpx4MSWx9o33mpKETQBgw1vBK7f51b1LelPm8qfm7pFgBYB11pvdVF8FQ3d/tdHc05VvptfS2CsXVdG4AMAZs0edGe4wxpj7MsakRgBg0eer8WMKFZobVik7SEj9a01390sC30dVgvlRulstwwoWTb3glIy+ydrvRYLtSXjKdthJUjINDJiSjvwhPPkVu16EBU8WWnABPxIfufnQHAqdYLGGq4E9v75neCqJ6Euk6vMeqVX5otcLfZ9w1UXI+Cy+SMHF1oWRseybW3u1Db4CNZvXHJu8FcQ3pLEDzreezVMUu+tf/fOra80Wa9ubiN3rRdApmbmwRoJU0nfI2XYMpBavJuglfNwl7hzIfzfwZgwXEB5ufVR+oo7q5iTnlC+NJEz6Cy+kwqZX9ZA9UR/Vmsb4xUdZ/k5zNKMAacLAiyflFX2g2U1w+EARoEB1bfrYGOkDYahipF9mHHGM2d3J3Bl6Ytp9MofXKfOelU1Wk+oYNxe2CXubW6ww+72ZzgNAKRqCc8vOesVEUiDn2gwiWqihq+QJXe3AMvR76IsBhcMdF12dmx/fOYIZRIjKx4ErHlWB4T4KLkCsVZSoIp270ojfXTl4lyqFm4zQk+mOlX/0ODb2iOV2U0Lo8NriscPDXVu/NSXskMv3/PDTaENYbufcgwOjtFFCKde6aaZ34o8kqolBNKkMyblxEVro3hilGgu0KL4scty3XhFGAR8OUySQlhm/ZlgWUQ1W8EjXDmXaaFqRLZGhNkQJN2cOkfykPLqne9Rcr0CM3SVfQ+h4Fb65hsuPI9HzSL8u7OceT4L5/kMOSuXjuZL48W6OJ6+sjSYOHbxmUwDRAKgatJ2mTgJPGP2R0m/aItc8ubpOaeJzUSs5Lrw2SsgGPgaI9D6M9tKfU7+5AYMdgXeM6uPUBA7Ha83G9SPk25eLek+LfJcuqUV2A5PnswTC6+ZWvP8Rac3+w6i16XJRz67xBs4ZuvnL496oEL26ZN/7gIFqUWHj6gfyDzMm9LcxsQNW/xxH7fDDhUkAoMM+gPbXUvmndVHR1bj826rVweuu9tBmRZM0/65eGO1jzLV93A0LbVp/bQ+Jt35lb7EEjJDQjU+2fsu7Ov5VdxKARZO5lqpszaSOrdkRYBpvsLnG5HmvRI5OCz87Zk2nGG8apyBHk6WHVcCTiKU/EtNJsnVQOrJlNjZkNqUweMTmgKZF1+QufyaboW8ZqKc1A3M7aFOhau5iQjb12F5GBtNm9SJttdlHPLXNrb02/4in7G+huhKZc/xRRqAfE+tQ0nFGVrG43C4svvWKt/HNdignxlq/iijNbyuZQUtiMWtgYsbE9WAI+hXKoLhwrtf4Jq+KdHail+yO8U7Pq7AF7xEgibA7VKkLEq+mThYBINGyyn4fFoDYvyYThFOhfDwGZEh5YQlmiQvavogjOs2n1JqQll1SAz/McA1t0xrVK5KCS8qkx0IyykpWpz5+T0Js+Jw+LhVyt5PhmY/0Ri/fCwRY1yVWbhXFsp24gBN/64aoLkvxMdk1YQOcw+WePixMuPTzl8Zqjy1MdnnipptXYtSDYjixoBU2OShLSJoz6KOJqMk1GZXqsmQkXn/NKJXdj94bcZKEomnEjTIVp4Dn29BX83Q0KsEbhHPY7D37t22Uu1zkns5WvO51UKlJpwrGunLeI/SwXOpFEEasxG0SAQdHygIOJziw5/OoamoXLkLtLDih85Qyrf3zZokStZSOfk3n7dgIkwb/eCz5FxTxvgnXLFDmStYfO/1Dq3Lc0+VG6h4sdeSiIvbbFnPAqGrvlwDAmMoXk0ftmJfR1GZ9tMRkE4zdz4QIZjL0GI0e8E2+p2WRtL5Oo7PSxJ9xCiuHL2V8ppMZAPCLoaGRwucXFO32i/ZoAgCWnFK+gRZDAjdcI28n+nTmKplMNLmF5yAbPTgEv13xrku52W3PNjOrFNYKPKkzAwAgXwhFkjgOol2NyfdFK5oAgHym21J+BU0PCvRh1oN9K/hu6KkIYExQtzSbaxG/6ZC8tpgKwNVqhgURTlNb8ffsDMkp2hNXp5mNCusI3q0yAwB7fCnUcrGwT6jaWX7BiiYAkJKEUm5A2mEAG19ty7JL1l+R/cWDAv7BS8SF3g5+RnyrXEPYhgjKRlpXMwDgRnAtehPuWu7M9txVZrbdBHznvvnOkAvHunks/wN7xyNQiBfTDWPiJki5jBV6yU3DZgczA63Gsi1efk9ZwlWLkQNsM5NZ/vjsqIJBxfBKS+2ODzJeLUIxixZdTUaRmo8FN5kjFi0d085e0bQMoCKVQ1TG0S+xCHHKcnvslLwntEdnhERaLuDa7ugjI1YSuxirxqgWfXG3HUsUEdyMy+mTryakoPOarn6pzWPBzTARKyQct0uFYkPdcc8FtmUU0twNlNKUo9ddZQ4+CG+PLmoO8iL1t5vwKYnm5np81ho1pw66LWc+E6yl42FoyRlBL092yj5VcPA9r4aZWTrPm6Sz+MZOEoJUmsOyLC1uKxrVq0jgSweizQB7xF2zdqaL4SE8Jbvj8idCucrRpuQMCZ3pRgd1tDu9UG+QwzSPBNyObGqdsG+dtRcQRaIqh3+0w0/rsO/sYofh5WclO3OL7Hdh+eCCRW0ApfuAsE90YVacftVcGMQKJKsmhMIr1/XAyF1Hjhc3IT4HnREh/ECIUjRORIObctvguDH52xI80vVaFiZy1bCb768ENgfxIoMcmvRcfJrciwKeLU66bCmKkTYI4oGx7YD1nkYm/LKWcfIDq0/eaeTYqk5Q1tD/kpgBgJ2gKueEKzZ68dbm1mXX1PDaZBoef5QJAGg0ul3B8Io//MeN4SXswr+Z0MWKRsyQfaze7dN8CmNO6TG8tjKeC8J11uGj99kIXFYDgsEEUXAvJP5GJz1zsnB7lwPrHotb4QY33Jm+dof6pW5bhCPzfWhdqvxHlWyfG+73rz6vR+l6lTQoTXL3wmKzjxI3XNmNBYih9737+7O5172ehsMlVBBQ+H/33oCf1ix5cvAebcgc+vjo1s8pZkMV4a+4AUIBta3UNzG+6c1UdvvZ/lSJnW7bWlJdsshRO3q7gzrD6+2flZ5qg6OV6BFKZHVGWSfdKBbv1f7W6XRwYa9lrsSFm4pvhwoaUFtcmWrc+It0v3Jm/bPyXybmA93SiRqs/dbZvKBnbq2lw5o7gXrF+aduSKdvHdbOcJw0uBfzgWomtInqlLVnX17hG8J9sP78n/fsBCgpwqhR5q+msL4qN4KlOjMAIEGWEPaCUnpf01C390JGTRMA8MLR1L2KcO6fUQIAdbFa1sTk7bBczURTqpGgo3X5+ICpeeNo48Hrl7fOlBahbmSVA1BGhMam1OSXxa/jbdYfSWY/62VGmDN6ygEoQ0Jvu+HyYfvU4nf1z6+8SSSVH2HY9ccmbFfbMwKyRPofmQEAxCwZCWFERdGitW5vQouKJgDQZL3R0P0dZlw3CQC4SNbVmtV8O+V15N73Civzi12fn5kQrD82YQuir5FJaZIZALAyjXUyLEXIuK35iQk1J0uG3ZAJ3BZema+KFzS10F9k8QsfwiELf7R/h5LRqLjBCKlF2NpnarC1PlBfQVHBdvddB9iy9AtNagPTGRQAzcu5HZ7aDl+A026cBkNMwuc3NYeTS96Swcibw74AUaNfqVg3WhUzRPyHwy2e5EaQIceg7Gd0Y4E0AGTPQCRZM1bCO/CiVcPpNPNc/R/tqEFvOpiWP1HhSrW7QrLu5iPjctORe751qis1z1CaPTAY1wWFX1PRoUah75aeQK0tGpzrL0CwiU6zgb1H7sIAXV9qnhv7AR+jU4/txP7xeFGfyukQf+KF3TVDlQ6DWe5rcTZG3qGhbciR+v3nMbIm8WiHXdm5R+jcV4AoUj1C6TAr9OkCGSuRfOjC1VYgTrZhMgOblmLMhAMGNz9LbHp/2fRqqCZGuykA4Gu1MZPH4t4oNdYhjnLz1/qFh/Wza64jtVoteeUH2fBY33P+0PYH7pSOcED4sV57fG3F/7TDms94YAlDaJVB7cU8xP5MG0xiv/iwLcaRvDpK+o+RCLKhBUFCOpjk0QctNPdixxhMjOFz6gy4Vsc4LbbKMblVrU4jHVMcccnKlJWEHlyhWyss19/q6B/zUoxnbQPg6OyYpMUgNnOii5UKI4UlR1amOidJsf+ZluMyHDa2ACHsrhnmWiSKh1A2uTBw0MD9hOpFonawKrnZddtBr3xQRhqk+IUJOjQdGV9p/l69aneMLmTM3a3QBjMMRMDNOFUK2UOZCubiP+eudMcF4Mc/oWv1cnHaE7SmXLF1rlgyxQZ2yKbPwkb19iPFncAmWVPeLlSsFohOjAVfWJCjFXP7BI1TDBDD3c+jLcF3t6LrbIZGWJWyhkccw931rNUrD0iJVGlLwNsu4uZQyQSpRVrW71EGWpkzLtgf24z4lBdXmfb5xNR4z3pFwIo64eiV36lWcczbyq2mfbTwTiFB0Z3Fi3zn2Iu12LE8GBqWUIMmYEyaq35Gm+4hA0LLYFGQQc6KBY1xFl/mRDTO+N3pDHZoa+J7M5dxPlHADw+ppD9QRbMQFDdz8MYsdPNuY385prpr86eiq8kJphWjKs6oUUoVUcKGhFYnkf/0U0DNGKjQnOEMMVDYZ7x0fIMrXtwjjMkabcv2U8pR1GUziiGqgEd7P8+Ui3YdJxFxXBmOiEr7uI/s8DvfauCTF/Nric/dyIzNSgkAXSwLlviwPrScNmkl4cWinlwBQ+Z26A/N59dIqYMw7c+Y6rBLIzrvePDs9Kxm9F0zxioqT1gYzZuw2F35nHsndR4syp85/HWT4WG5hCsWHx4gorfntiMWgq1tvqdKVOxHlKDg91OYAP0corWSKDbIP6cdccRGFzKj+2Ccvc+8xNOjeavfmJi/BcWDJ4jnQ6OFPbzN8U6Ixs5FNe8PcvhEzIhJI83zj1CbrzHg+ncBbPPxq7lq1isqVS3SbYaKh1gUMwAgKDsyLMX6GheqODG9KckSa+eVquFtjdAtEwAgzlx8T5jeKsw84K9GqZ3a/o3vWWAlAK51oLV4cZYjKXr1WdxQJCTuA6IOA/EcTfUkt54nfN3Wbfx9Tzigulz0juhpugLwVh1T/ZsJYEozN+FnovHOO4FRH5DhgtVXbDAMEUosRcdggJJkFh5e3fxzcecqVM38NTm9TXsAiLdszebmEudIfNAV3DXWnheggTPQiCLNkDBWnpCs2MC2Z1WbnT1ufwtINGZQm2jctMs6DUyHbj0w8b60014dYqyZG834k4IOfYyeONb8jOD83jSE9VD/8uXeC1T/JL781c/rtmSRBPqwe32uWL6/TUMbedT2UAKSDjMj68I7H+CNm6oObH9kmblYnYafxWMOTHKbnjGQRKJfjxkMD57i/n8HJvdigvkwWI8q6qA9s6DPs9q1a5Or02JODwUD5gh8fiMOW2X2vLf2o8w7dwQOxpOxvyS0dUAQ6osEJYdy/Os7DHmJJ8rxrgb010BLnM9nWhCsu+paXzqUIbUide1aRJ+PCy1mAO/GlY11C+e2O6+C8c4M6xJS1hrVqGcaPssf0++y/o8UuNFUY2i5V9S1lORGs854J8kwGi44m0tXD8h1gQ9Ny6I/vayXdYuOsnOY2ssVzxpTPb2xCecWVV0+fVWviMf+Wo7kYR7YGjEfGTZ9bz5hNB/5K2GzKF3NAa1ThJU1b5c1mgw3GUzPhnB9Y/4Cq1AODxxwp2v1ElsFTRBzL5oHMOe5ljH1w07CCa7hwP4q5Ea+vdc6A5ZD36UwspoARIuiPM6vOc348b10rpiqB50DFdNNUDFQJ4INw4ZzYntmzQqIQrdKZhxzTdHXKLDQ3MjTaYPF2WiZEfkd93r+RN/YDAWnxsRoZcxekb485nQ4dnTYLkXdp3oOdkxU/FeepD8eWb8Q7UdnwVRR7mEmzCZkzGWZTnRGRkEdF1m4Amf5Q6Mza+IEUNW4Ujw5c2xPhFUarndhXmEtMcFQd9zPZF28+IXUrZaBt0wp7JmBN0YDy9rfc0J2ZRc9IeandH0G9o6xKXseEO+OR6gizhNb+hdybZG32cmgr1xUyJVL+JeP9kC8p6eN6Guaj5XNuMtP08cKX/Ab06oNqmSbErPPzh93jJOx2yjhU5xwkH0zAZtID6NUjxS6c7YsJfBlgE9JxecYa9O4CWJaAu/70E/YeYVXYqKe8ThmLHf0kNJiRK+uxHVB4zZvFH1N4grlWeCkCTDY4fI6sWtJLuxwxFHOkhPTpIb0cpwTZ0TkMDSwbkX+OWzQpYeIF6ts15tLSPRYJ6gl4s26raoUKkISVpgOdjxKxJM4bC0w7bqY1jA95PplWWZ5isO92vWa+DOsl0sjImlpgBCbwI2XzZ4/UjE0FZ5sDhc1dx29R+zRVUqc7da0OGYYpW+kuaKIHkOAgFmI/XdoHMfPqY/DFfuuwkXia0tCAWMr5gAXbjyyNGN0G3mE+LAnzOaPkSck/jnh9/6ry6rBf+oOoQ9/34qxwg9hJeZj4VjKd5vf8c44J4o8uxm8MfiaTFgJX4RgQLy0gRddGBhD7RXJxfCrbLHg+KXZ/AWlqokxGDs6oWN+KtXLWLMiV+NErQsapQaJMxnLe8d39m3jVNqosPcCXqbzU6UdK4DGlyHZRcstV0/JIOMsmBdyKCQ2LDfgHYh5FCThd96+wCnyOuDhrCB9dyrwibpazy4cZhohbFNvypKvXJPSBGYAIDIlfTLaE+o3hVaoWcz1gZBIdmId2/Po4p2ZAECQZ+QpfKGxyS28qYjenRhdq60fAAgEk7ZQWsDqKJ/VsEAt9hYsyvz5Bl5CEtxVZ3MKry58py6HclL9kmwsYNX0KbFt2HdqdjswjmohB2a1zdYtzFn9dgMGFSsSQJljwbfxbHq2WF6w5x5zCPN5uN7WQAIouX+O1WPiU5p9LxYfmU25+RqP342zXZAAikj0LrZUHt7v14umwHC7SmrR48Ee8tpJVdurOgwqLmlJzABAC8q2jHgwZXodChE1+2DzyPGhntMtfFzRBAAwrHzRNjfwaUjvCtNV7QcAUDBbRfngZumj4UkxtmCW/tuFccpgBQl/ezumgWupHHNZcP1B1FwO/sFbByJ4LbbaN3JsQ9YvJxSG8kw0AwAkCKCM+OfKhG1LMuxqmdiKpGN+1ov2LuZgx8XLWyrH0DXfrh4B7RJvPZbFMY1cCGLVeNJ4vXHS5jy2LIhuv256uRvvtXeZZp5Qh978OTytE+hNcDHNVUkMfGUO5YL6S+m4/Eus4FYd5mYHLkdE7omeZXPMOpyVNc0DZB1yhJ6wNF7tUFNGZsyQdTwnIkewiHc6JqavbIJL3s5nKol3wr3H5/h9ZVd1t2aUNmtWUlhfjz3EopgBgKBagp5aRkxYQqtKiLNjtV1kKnPC6zMBACHn00Dj/ro1oHru/ZjZxWAnWFf2bx3n2U+TJVy2+nU143I4bl1LXbiLCWql3dgczj6ue4ksBgCW1XHAyyi5gknmyyo2/1TWPPx9VHWLTfWa5ZTQLMXxX9rDvpA2VmMzfst5+PuogcTmCLAjKWy1KvUOLE87dySNl9dAf0l5AUq4Dkna7riprL998teynWKBkLaowHJAaOlkY10gXFV4Y88gNdOviNuF/iV0zEu098vn+6fogfb2Zwh7nOtPS9hayVvqfkq3Dyfv6jjt6UTdraFAtlUVn8vi68YMAHQLb7t6E29ZHb5whdAOY+691YYDHZ6BRmgCAJksmglIk9jA1LwfmNtROdmMVN1eEAB4modQjRFQo2QWeTylsAfo8UwFYkiPBy39YD3mRBTIekwylOscuRKZ9BB2V0TJYy7tlEo1GxBetVoEhtdnsyPCG+p3ruBtx4pSpNyxnI557d1Db38iCeYzO4E4NggSQPn9cyytY5bKaHy1NHbv0BefAnlsGiSAghLNm3UIykf1mUmFT3qSaNsIwf88/nsZXssfF1YeXN3HDADUaobroJIMph/q5aJon3yWW3Rb0wQA5mCutmHB9qCcm/XEVYMAoA3PqigRrip9GLhVjNXwWP8Z8FAZuGGkeN/ga8kd79qJvSc2HpSFL9C3l3hTNLspIzcsN7hjYzFL/KyYbY1E0nLxLS+gaQdslkj6g+2o2OfZfkkc5a917vAiQm2MeNKfVCyqAT2zsz8QdX54x3Lyj29t7/rEgedFbpMfHEgjow/B7aIrwPKLzQWYLMgpuxsz8R1XHSrDu+bgqri5uUDKX7BAvgBDAR6t4lcW7ZZkdw/mOwrMcRJvyI4Egj8CczsOjJJK1Hw+QSk80oiXnWdtMlPvZ1W3/1upueIUmRJcgDGNVmQVwDijk0sXSrq7Ov5NI0L4NtLnsL7QdWwkqIsgIqDuKH3sfOOPJ57MKNzVoaznIMWyePPiHFY/ZtQm8iytSZYagXBlYMcZqKgynQBNXz9phq9nmZLCftclw+jhTZ0KbRDBxsdv8hvY1OSQnNIUaKhAa0ieDiMk5z7lNV8AA+mO+FWYTYtxPJ5Ouw6lxo1RkCvuWPupR5dfnspqEE6/fsBO9eM6hCcG3rSoO63qj+STyvuxtEmd1QifiHOiOfWTT2KIfC/dM3kb4hPGky93QOxIjcAfbUHM1kv0C1SJM/QSfBWn2/Oo01lpBK+fhFQkkrNjs3/81V51GIBMhFkowTnqXrMpkqyffiGy3WPU6EU0d+OtGzEGVqYEccPJjiyypdg/Vfadz9YpJGJXuTBXOCjq4/8wuDYfjfjy72qPklkw3hfM+9Fnu+x7Rht9+DsET7IGvfK5zx4aimeXR9SNYNGMxVYqDfcPmIobGISKkVGE5nGzcKugOTtsP4WOEdAbm4UbLBbHp7Z0qHgc75FH2Jbs3f+0Z+cYuI7gjqSGizP57ncGLn46XIoFwZXrLGuvOdu3FLe6tOD96wAAW4ao+OOU2yKXFmOPMr3afYecGnOZWO0h2vxCk3sU8f5U0mKHjrlreKFDB4+IhwhNpfYQfTg7zKt16ct0XhnZsb4CPMclYELAO7oJqhY+x0J5oe+fcn1OwZ8hTrBWkukqCVvozS14MYRjUnfycglQ7UvsMFMYW3clrLFi3GRa8XqZlNpI69qAYcPucLJ5QprhihDqTnpXg4mNkAWvG2g4jnBzvJ04ZxJN+DAQoAbppREZUDtG3sc5gT6N/GODf2nGO2RV1Cz9wZpNGOmwb7VJG/3b9MzM5W7DJzCwCHN2KWigiaiiw99BC3lxXJsD5Abq2/VSPHH8Sh7sIAIk8nJXWAXAmyG5uLow2KKiE6O422jAQTrAdT4MDM/uRtOqCkKrm7taDpCUhDWse9/LRFKEaBigw3yI85ppD7ynTZlVg3cmRG1Wg6mvzmJpTQI0KVmTyJUppf5Kw2LOmQRSnbX2e+sTYT3YvbFF07gERuhIH2vpPbxKBW3+AYhc44k1Yz2WLuQX8rwNZHv/NWLv+U/DyAm5SYaTxDD80UKOo7eyE32sOLVvC4f3Se2gn+v2cYyq3JYxllmcYpWWcLQq1mbbfOHIEDH8SyqMPGgbdbpkN7J+6kos4VwhTzDhR+YO2bDVfe2TffBvcIhG2w5asO6TcpBhSH0gqzV8EG9+rNiQwGQ8wOTAYqGhXRQqAK0sD931+EWInFcoLmd5RBxc2ANBXEifoMpfzyf9DM8OKi5iRO9kuhpzRS7ybjatZZIAJFJVtKgUxeT1LSYiSfRSgQaU8hyi01b+f0aakEpUQJ6Wp/mlAShLRc+ltNxmfiEzbynJUbEcyuPzUqKNLCQzYdPmNCKJXSsxPBPv0Y6O0Y/DUmcNQVJ/iLyGR7PEtGxtc9Pa9x9CXZn2VVnJxB1r4Zp9gAjfrGPOu2n8UcKUSWLYaq+HFicSfkz127b7N4bBHs+egCqbBE5IC2fCr0HhCnO5AyeEgdy4QWNQyKrYuGi0nitpTsmKRfV5JOCeaJ/Czh7ZTXmvGdUbMuC4PZcf0Fjd7VREA1zXsdsI3J+pvtDc07WT9K2Nv6fqbPhV8CPt8taqFFjo6rrmdkcxjH2qfpr/mczFNQbY3W2pJTm48MU9zLXC59wsEd3nj99U0+C41XTe+I1oYDqniF7xpaC+OUQ7LScQ+2t53S+lS9FmmjKSRGh9KptG0qCo9nqLFTq85yyU8m6FayTXQ6Xg5iF0EpCOZvOlfB+ZrCdzRN6HdI/H1Q67JRPf25cn6MUQMXDFJijl/RT/J9Zu++wRF4S8+VfT/MU9vbvWIZ9HpaJAbOAKmTuCaJKg6TTFuonwS9xH1hDdQICunR6kLkbKSgAXQZjtoGqmWavZraBG6vT87moQCwHN8ECiG1lZFEJ3R+8t2r6nnWY/b29/0uvf+F1fm8H79cfY4K3qt6Xg/7QTf/P+kZns9Vz/vxm0rg3v/GeceTkD0sE7fzT6GH80ZHD+BqEMTeK2ixHrj0NjrPH4xhQSWswsY9IOSkjrVf3d36WEL6xNzFKPor3fE3lrFtUYcA7jLVzJAUU6z/qmV2wgWRNdggKal7sfwlNjqTWKL327eSrRuXjDi6UsMpoS9dwWVTznNpac2Nl+y8m14cZtUHtu4LaW/0ZuUDfd0KWbttiqnINHS3OPr+bYwGxfssn31FycKEcSF/guCZg36RpPLFhoNOjxcG8UiLGuMwU0iQXtcuCqUZZFBOlatRGjbNNFYGdpfWVM6fBTNWKuDGUGHWjxAZ9OAo5E2dieVVlECsTjmmjklGiImd4bE4G6P+PrwN2tqGBoUUC4yR6izWPTcWbjVkC4SIKmoqse2ek2FhDaJMFRBeZEjwR6RTGkGPIrL1+Tyx2d0HJ+K8sLQ2DSZa9R6/1Kcu+IJw22rXReGywl/w0iSAM6J49bBapFhryQpxr78SIIGerYs7V5wzhCkYu5WYqiWNF1QuhcHGWkcZ7fzxtVXuxKXHewbzVu1ZPcxD45vuQwjJenc4h5DfXoz+FQQNu6oCStP39argdXNDht9VA/mUC6Sxp4mHAG0Tmu6Xz5u6j8N9w0I7TBTCbLf20J2mZ8FZnOyP/JorvBHzNU+Ia4AuVaP4zsK1+UwHfVs7+pFTFaO3etrtqis/osgO40FHTaddc0XOYRArau7/bbeMW7bCy74oJdrMRPxHXAFvZ0wauTQMfJCcmnN5xt9YjUp+LS8fHScMfMxdGp9rSy+oOJBdwVDpds0YvGKeYhohxa/LNc7zZny9WGhiXZr+cBDbjiBkCX2a/lHIkX4iioWw9D0y3jFKXdiFjw1khV4TQeflF/Xiz02ffqrKR4JJD1G2LzL9uDXh0i/fEos/mv6LG8qSnLco68hnnZj1+FHmeXYk4Lk5pHOqmr0+tnwcr9Tfl2HeH8bo9++xHv2/pqBgcxgeSqgEkipyZPkAYo+xsrZd5H4D+kxx5odH6csPtIHQGeO8JLCK5SMTDdZVnDGea4jMryeYWWWFjno93GQRBwZt83QUkjA2yZ8JCaGANhMsWJO8sC7zeBQk1Ra0XqI+StoXGvsQHh4i2G3kqyAOURhY5GienrNLD3VECgqVCBfaR6pbFx4loNd7Wz5OKQZqc7MDyTC52T2MKPIxdp2IRFzpBrYS79sdGlDOSfIYWk+uMklqS8tIMfl+atE/QCN02UlpmxsUz/EIolQbWG8bmKWJ6IGTc+ubaUc60yi+44gVFZg5l2vNcAI16tsgt9dlZtiJQEvH0ECxsltjc6OnLSz4LLRsayjxYyJmjCS7J5CiDiWxPRwZRcRuE2DwNPlXvG5NhA0UD6wDDvyFUG6XtcNmCE2K5r8w6R32j/5Uvr6B6ZMANxUh/hB4UhiZpwv3G/luTW8eNHPs1+Yk2iOBRsSuXIli52ymHAjy51SUk7BPiwnJzlKJisboWXKEnFpS7Y3OpY1q9uaSOigfKNM7CvkOrBpoQSWM3hTDNMca3YV6u9WWa9iGcyHXZ5zjkbBFBWMhBxTRm/LUpiF3+/Gw0slemC0qFbGSukFa+G8MY08J/+vjp6MvzA7KfUfSKFWtxAcQuiC+jvGT+EV0B97Hh3fNXDyZZDADn9skoXEyhjxbSQrCNwFK1Jb+VIpmo28PillBLmk8uez4qd12nse9NhC+DmOzuYTy6ruY2m6FwpXXZMA4BJ3PTuhMwztOs/t3TpHnNfjp0vp9y+DC+an6grAwFCdtmMbADZ9Pt/f9VeYjwEGIXSM3p15DR8E/yETqoPYTKYB0GA/Nl8pp5lu/ascqcNnSn17ixJyH5kdjjYqB2DAN/yehGJ6X9i0fIYVwHWkg6mAMZ33jKdmY93GstbMM37DyfwbdewgR/rgfZa2SttUZqSVQLv4yGPV6mF/m71wRaVUswrX2aBeGsfrzc0mdDN9GICVQyfDevt+VP8Yr5nblRWuzgAtDAPkixsbNMmYUD/nvGbKdwotGcnPzRludAg4CTGgcyNlV5qKyXMQT+K8WIsu4SuwFxzl9SOw4Kpxc/ZTt+mcT8oUyl8VTIvD31MsIptbQVhAJ+1qbaP1o91KhyyZCwmX0LYPMWQdP0Z9uo9+QahFtmpqDHrAGmbVnGT8f8QjkymZp8eJgR4eM7LaLBVT140YQ1HRhXAlT7JtKXtmWQkOWf5qEJ6g8ypxlIA7HZAR1Rt8cEzMvI433s0/+7Pr0zng6Oa4vUgvqn7khwO/h05wS85NDdm+5mMw43KbQ+n5+HGbhjtPNzYw5qmB3LYcWRgRf+5SieZVifIiuQKeVKe3JRVSMl9c/g8wlHjiv2K+dVVms+xz3uyT88CyeYcmGHVBJ3Rvm4AoIOqvBhhEujgOJGsz6VrBLvTymFQr3DsaXgqWyv2fNDT6qA+dbP8ag0SukUE3EXIneouu0oSbMWuZbnlW0T/cgWnsPcfAJgCYYfm59DwOuqWLnjvwnDQY2+V2sgS8UedKNmkAE0AVE8igDbhGyhvNvBBdiwZ6NT/th0AYFUdwxj/6GM1jmG2y5m63Y5rnqnrvwwyIDPV0xROQaFTlW2bXJVtzQMA0AvvWONyBdPUme3AvLHZi4VVZxvWgHkbgVqSZk/njeoLvmOPN5Vk+tXK5M020//nwUwC9ovt534iWANLQdWYHJG6YlfkF/nb+tW8nakyiZ+3VdsAqsF0dbj5vsl37PFmLsxMpfjUSn1Kxgq27rv9Us5HnG9NmCuzMd9/rA3xukbW6HS+QniBeWrfNoC5Nps35i50BWnoKsM3/Td0N7taf9JKZR8QYZXAtaZK9lTdAICWrwH1sKnrIZ/m+lxyXXPn4aBmvcKxGvRUtlYsHKuhp2yTiKUui4hWj5hwqruMSBKoQu263LJ90b9dwc7t/QcA+iYwL+bHY1imum0J1kGLdw5WaP6WBW0mKZjgwFxt1z9RIHAF35Wdfyqre0RN1fFaoBjLuS2NSHDUuWRP1QUAxFmK2Jcj/67Erdcfl/LrU56ejp/ysVPTdl59S9ZzLFGZyqZwXG3OTlwkztIUTu7ZUwAAyB5cC+jw20MO/+LtZD531rBvxW4DS71fBwCwDdzOlXFZpPSShegW6j8jl9sIS382lX8vwqKsoX8c/Y84tI/dEjBW1cbvvPL3woY/d9ucEQQC2C0OoXiVk9fBImiveOyPF4/+p9coh7r82b69Um0cgI662p80JYGzttbPuzpPX+F7+0UDf3peWaLmQnw029JL9iUo2Kd6wrVXVVEm31MFYsncAMAJnoaUNsOWcmPhG3KiKUvKYR6fCjvPzrYUL1whMwojZfGKDc4rGEXJYhKxhCkhCREAsNNxqLMEx94EEy21oKO+P14NOXe07x8A4MlAGpof2fmzgFzTXWqJQuXKGQ7wL03xhuyVZSq9NtxEmXMrXi2boKNsgZJ1Rwg6l564mpUlwRZH7EbuOA03seea8iLZCFw50NdENbPh/dUwqu0YMeBr9enTbu5vljhn6aqOQTL4Oy4Eg6/Q8GIRV41FKngMQsHfh0zwuMMrqK2b3Gm00/Z8/jgEgstasCEOLCMNbEcY2IoscOuyejKSwAKCwKW89r2ZH7Yn85sRAi75BNupMhLAHgSAn2NCCDz77fS3sMBO/+LD39/r0FNdSgn5sJRmYK7V6aJqZU9dyJhzs6UkpNiUD3GOSCBQME81BQAUHuRE6vbQNg9xYvTaoVd8douam8DUrIpX0alAWtqXBwAEK1zW08FdVWe+tbjW+R8x18fm8rWLPxISW3F8bVS5JpAMJ4sb1/ZB3ZyjUzETC23iswbBujet2stRyorRxyyPBr41N/VuKN0P6XrFw3xvd6m/GP3W96/AP10CXKkt3i9iNOs3sS6EUq1Jw8UE1cUweKLwdPbfdQMAnqmpgBdhzjbDgm7T3GVcBVy3kGYcsRgfNOxtEpPwtxJYbYgAAChwqrEE59oafi33ie+y9S9Za41GTLf+AwAqAW1f8qOT5I1VM1j45hribNZlp/AhgT4XFNeVVrgQU+C+7tb7Elyi4WTKFcbRVsfnTgtvI/ZwJ3LgqLtakwOxGdOFe8GetnYAwCVyaKh8C3EvhInbLQm6hslKDwmDac0DAOTAkQPcdG5ZPdorlZnCClfk0eZM9pT06IamYWr16Kp7oFA6SI7LLStPt4eLMpqyxH4WHxTphaF6R44Us7KinkX/sQa/U6zuFxTnBmMDqMrRPNlbvcQV+Rj0I/l9PKf8QJleIeYs7OxlKyl/voAv1fjPKpK/gvLcdGwAcx4299KnFF3neqXmVRW2CKFcy3XRrKpqFtdkSvZU3QDAts4/9cA2twvyMthtj8ZL6hZSTW+vKEdH1aOCt0nUSei0IQIAGIKbrCU41rbLc7lP7GP0b9PwNvf+AwA8ClbD/FgFK62ai4E9CMXrmKmyDKXXHiut0IGyQBn0PlyCjrFBKVcPL9A4tkPnmPTsaK2T0P0hf/d7ikOei9X4EkcH3Adxi4QU0vdvAwAgfKrUb5tKBFXte5qvUm8WRNUhqXs5ZZC4pDBrA1JEO58UzuPtyzDKOM914mzM4cxpH7sJAIBtx0XVTGmYMxJUunWc3NkXXbl1B8zK57TsAAB3hQtRRimiFJVmxgNFUOJYUESKvSIAxBEcVOLA7c9Tf4FtClTHf5X6MpVS75T4qg5lZ88kyGkDE7inWY4b37l90cAv65P3CF6u8aR3XsFw8Kp6YAVWC453lyEAkG0EiRsp1Ga9UGcnh8opAxrl5NRJdLBg5+EEPv7LZlXZX8Hi4FitHgmWBbG3BREA4AwFSh2/hshDsXXZ/redpokXbe/+BwB2wGYof66irJpdhc1rsqtgfE129Qy9pl5Sat0toKZPuNHYgkNWMR++sfofm8PbIF/47i/veORf6lZxgwAc//8Cp/mTWFXmRl3XTDGqk3LfhBscQ9kZkax6fvqtw0GxMv49K3txxAKue6y0+zDPU9m1AI8i4XCnw/LVJpfd7pofA/QrIIuYzPWSaouYRAlcHIQ6C7GXMlx/zRXxEMucKr3afA47QRi8r6E5GX52wWCLLJXuytdNlhWU+pIxaouHKIEWQtucPQUAhDYVMq18OvoQZTFupxPzxalNU1geyldv5Ys0Z+UBAJ30anEYny+FU+MM9VQnI9hAjUuyhSNQm0mD2AXcur4os0yRroknfCZnpOc8WyW3hSzRH4eXoyb1wtAXAk7f+yivyZoR2lSWqzGLWaKk8LY7OHU16+C0Zh3rOhdGu0t2liEA0Nfgr0eqnUWTsc2YQMeV83eb1g2POpTCg5t3t3JIU4lJjAJhS0RwtrnCp7rL27BE1wfPYesf0gmWjBbd+g8ALAmu++TPTYBTs+uweSC7CcYHsps7D7XSE5OWBMqNqJzCdIcT92V1EZytpIscA85ebyAJAtddt+vZBu6qZMxzJHe397UDAEYV8Mx1fCaK3AP325kIOQlsrDiqqB4d3ZYHAKDUvap6TI/GbS2Mps7IBQNjs7UHQ2cbXISh2Qbl6hfuSY47MWfNR/RZzQnON18MHLkLQ6WGHFFFZRZ6svhptitOCx8ct221BlCBoXkCesrFT58R3xr8Pcbv8sKZu0LMT9coIzx2I/TV2I3Ub044b1ttDWB+u95YmnLCc9x9UDN04q0znLzyDsygalJ4Ik9tFzgA4G5/fKpb29xDyJxg5xvrl9UsBHKJWBQaqmJMokSoLRExvcX/P9VdVt1GkXtuL2ztRf+2r2dDHW1X6z8AsAOwacifq4iaZpuweU12FYyvya7uvK6VnnnYtgC38MjazzoIXME25Wk69Q2mpryRk7w/9kM/5vzQL1mvi6z5Osv+w4KdwzVg8vMOH7tcf3f7cxt/Cn65+vL0/q+ibAGYi8rjUWKGYquFVEg74QiUwCLBzBNxjcWVhVbTYdQj9bZ/83/hKo8B0eMIW2vWjVZHXw2WFKWi99TF0xmldoTHQ2IfMc5NX2ZWVK7Bk+rW+2jl6a3PXmdIaQh9T3eV7igZaxlYj6irpzOmUq3+BExu4ke3UtnTFN1m6AYX2SDsmXOWnpYekNuqhYK3nS1hLTGQhIXaZbD4OFGo+npbw7/7pLRl3fpKdK5e6LINpLtHR17ugeQu1bUvE0Gy63dT4WbpXqrb6dNp5bP6i1pw6qF0JVGFjhe2qJWNXbIfbJyRJOJsUVtl1PhPYOs6VU4YSAfXO8TuTbL1dJdCwKp803jaeJawkq2QOLVrWz8a4wUyESbHsNQLqs7SA7r+6yb0jyv8e7nKn+sr6vPp0PZxI2AH21IATs98hCbqgd/tZWFJqwVrQm3a7ttXAOsHSp1i6bW+gfirWKfu+y4WZ2lepDfWG9QhbuVGLNzkNPS0fbb82XNyaHEyp9Hha200CHX4ufxpwN62ZUa5xUeqZfqaD1Mng77A86HCfYZSuQyVmI3MSgyVvo3hKuPSiN0td8o4M9E1p6HaKrS1BFv6bPxlxzuv1k+uX3TlJVyYfYZQRy4A40VPX9UxH8I3QsqbSb/calsbqtvi6wLpIQMGG5jTe1fuJqJuUv03uNowSu8Zm1IcwiR5Oj/EnJsAkaQZWqeX99PFa47Vby446IYw8itxa2HO8NAMGVbKKt+CkHreumfZ9DqcnzV/RSVtTlgqyHrjnVUTDKWRqHG8Lu4GVfW+wpSuYyJOV102KOQnsTrbfcea7r1lMnX7hGjB+gxmvkDgD+J0Zzl3taA6DAnnAXyTURIVohfguMMGmgmx7kqwjQcxYhPdf+q2cf4l48gG5SFFPy2SuGWvAw0AJEBRxWKVGEDYMjCh3mxWeFPLmZuVWNGsyCyl2X++ZozZ/RlwbaPoq5nsfditWeWK1KMK4U+hDXVTBRWSa1Nlxe1ljSSQ2QZ9oFhYQ2iZSjq/cJjNE41LrVUxqM5HhK1jFCoy0sK/mB3pl4wjQAbQZQ8A2KnxVzAKqbRiBSleAquW3/9sAQvFi0qdv0jUG4dIMc/6rNkUxCzOSM5sgKdT00aGFHfyWapyClhmxFV9llqOAMsGXbNOl/sEuqBiyx0w41UkFrYIuyruiT3eK4B7dn7sSmzbu1l35bhDiRslTR4pinkjwarG06uqPbmqAUytqnqrYNQapb72yc0Go5XM4Lc7Ru3PiDREOVXLt44OiaWAdinV7gIml+9M3+31c3K+evpbTGO+T/Kq8bxUhEwyUIGbsOC7qWbbVU1/u5sucLvkqiymQQXqu+dWM4t/YNcsaahQ+VJaqVxUnGRnYhwoQNfh+6yNzdAZYNL3+KR+3avy/W7nHZ+RqoAbZ4FmdiHjEUET5WR7FqDJpfyFseeM/cVt1iNpgGWUB72FW+bI+oq5OZ6KWbKuaELOkas4T5V/XoNl3P8/o1gDMyIH2LLs4lcsZZ/yKHK4l56cHtYBNfAz4/vxZTwcx3bPvl/V/vpO7QBWG8iDCf64KaN+gPSHWHBuGmFqb3NCL2j+07fN7Wq7TNv9mIFEQGJEU0eSzTve4r0qh/xrpJfU4yv7y61SObWaXdLTMYs61eprU4ywUpBrW0wAAHdDO7XxsSst9TpKwp39IwqnYvrOVAFO5UkL1E2capkiqeegAUTbXIt6naotOy2JNqlhRRj1CMZFRwJ27QEAds9rv3aWoZgf5mBiVVNXMBeB2LP/VOAxj6bUGNihKDgmiNXjrQiBs7AraZfXK7s3Qrgr8iMceD1ZYsWRZ8fO4OLRtP0hALCK/LTWvj0w0jFytxnYt1YlBXL3ZPse2PPZ19/lpTQuEayszhwPdstmnw2bbSAuAxuKiN0dZYN2XR0Iwq6XUk34vt2CUTWMrr/0oRtA5YvmCKAqz9mjs9mLYvdL47jQnP2X3nQDmCOvN7OtLMifxCNWXf7HKtm4ufH6L6nOt1hUt3bDxD4ycBUxDC18gmpqJgBAGWpJD/XIYEFKOmjAEUQOn91BWm1QgRyVNIDmRNt1LRaHtaWzKNC+d9/pdjmpKUEkmLkaQADghsTxzwQwpmyuYF8i7h18EgdvVOksK15EASIF6+CipJC7xS92ZeZBweDPnu9n7oN/tMKbkjkzU5sRjtIAjpSiliy1UAYR8oxxLpQyuBzq/pqDpKwBNABNFByBhetZ75NQNgXQQOjVclgQpZYPAEBFnHiVsEhbUElXP04rgEPD+j+v6CH25cv7B3uFurVlkYO9TbkfDawaLbKuTZI7abx2KevG9n/ZwzWeM1wKO5jHzCE4sND6bQCsZ1L9svOWKThniaeY3VgLOHbaOJNIhfjAogtU8Xa0R59R5UWJHqteyjdLsO59yy1a/N26q1M8TNr0wgfG4WSiucnd+sl2iS+9U35fRyb5S6tnvSrR44v6sAp3yfbVJffqNlbvVSfAugiddLTC0DFw7TIBAFzQ9tr01ULssn/U4NSevjNNGadepQSaWUqFDW4lElsC3SIKALAaBscQQaBggX6ARWm9WKbY4l/dfIFkdfkKeBUsHKfapg0AqNeTWWphwR7wTnbtpxJd3GjVbApuUIubgRuyUq2i8pILC7bWnSt7Z1QLXKGlaLJ0c8KhKvDqsibtYju2XQv18qzYKSrXwpy+EZoLTo3yZhpOwY5lhlFKLRABQIZw2toXLKP0Ru6CA3eKWEkNFQKK22v0793VbK1sa+8nHCfd23lDkZrrf8SkhOFyapIfCYmtskhh5Ms8aG2RRseLiGnH2X15uOMUztyKwStMOeXzQkzuvUbmN+v404/wRPurDlf1r4ZT06zO4RUFL9uVwnsMNrtMAIArKN3SIxrRmqyjJBcFoLluGzlB7j0TqyQ4oZKzSkMupYRri0QIEktEKAdQF85CAABkeAwRdvgBlrjmpjxZYirHNdLeTm0AYLtluk6qzDnhIt+cz5uVVVZNM7A4gdg3xDjxWIKU2uqb8Rcg71ZwTa9MRtXKexICwfphxHtluzaG9zpGuFmOYqzKezOwGTt2ECNbLRABwKnh3dW+HBntKW6XgDzckiq+oQcr7qoifHczZpKuv5/YgwB323/je8xVkNnRYwYie6nH6hiI3YLViIitTdmYNLky+D1r8NHKjSc16Vyboetf9XIbQB2GJjm2l0f2wfzYbeWh7C89hxnZ+nPZ2t9tADO2NR9FJCT88XhFVtLf4auEmant2HizpnrPJfv36iUdUusb0KqFtZBSMwEAFBZbVurL3lNsgWQMSHb8Kmbq6bOOIFMbtKG1SkIxg1QbMt40PKwttwXRxJvVwdBgIolZ9GoDANURW5xYeSBcvItg9K3l6rJJwthifIR44zbGsJVce0eKwbN8lfyxb8TgKyKsPykUj9uc4bsq9KTTsx9NvYZ8bl/5U1ju3xTPSW57DSEJSF5CRgo4cuxji/KWX+lqofuJC/nas9c/Bvdyrj1Bb/ArMytae3asgPn9cpRS5APt9zkcNLTMDtIn/+TpX+tu1vV7CuegR/Ws5+U4f+S/uezY7O/7rjqIIvw4EtiF1WjmG08/68cho6na//wfuPKQUPhHiA77I3/4x/nfAADTf34Ly1PrYdhSB+a72rTtrLS6bZX9277Fr+nRLaIz6YbuGCqDbjhxCaVUK3kY3BWy5wMAuLrD2Zp0xcvhMqZ8+feM0+ziUq4iP9T7fKqtLADAzT1Hq2Bc2t2X6CxGtJaa2c7QDrOYdpcWT+8uiMfnpz3Thvgiz+hrNrA9zumtVPRNmpQeuvSuTk4qvhsWHMdNviZvfB4l3VR8GTYVVJvDACZfNsdjyTaDV8c5TuXXvvOKYxjxp5L3fa5X5SK1nr6K8Dp1bQKoZqCLtp4FJ1LKFCimVNjtI5BudK5bE+HmXoH9WQgAgOANDBGDUVt0wb7mv0hkZ1CDr7xP07YHAHRulG6yjhSzNdZnjmP3gDlnr9TMyTjnXFslnnj7SFNwbjaV4mSpXqDI8IresOFWKlCKFMBsq3BxPiVddwQ4B/2Dd+qMWBQqAb5Ud/ssVKI8zV+0s626zKHHAFPMpeFfF+4seLtleMncGXfxrxW77lp2N1nr1Znn/TMWf/mpKH/W3fKqdINv1XZ5LgIKWY8RCMHoCo4lMynptxWCdOnwdvzCCZzDJikRnwFSnznxONqs12fOAwSwE1U9zu+rmpH2GaiEqEkT3lTJv/FrrycFMHH3c8qt+RL0PuJUSL84Xeun6yUgG6XcLiTk+htjEYuVHM4xIGk68xXlZSifyFFzmJYGjwEDlT9TnvhhJC147nujaVXt/kkA7Of8l9FcdIQjWjaL2suVVys5uycum0XucAjGMD3HZzXc2Scq1wGa4jEgk20HS+5o5Vaa/8PTis3lN8FNjDhdv5/Uf9rtJ9BGsQUoBQgUFh8TqB3h6nra+9YOXFc9uLd7S82Rt0bxMsygBfbvd4VQ0RZ0MVRnB2PXpjw5FeQHmuI00yd4WUeugQZZBI1eXGQnBComzc4duCZZvC6LHYvxsmd2odJmBMANdlAraIHmnO8tjUxMP5vilGhVFgG8uwvpZRFbkEZ9A3JsRqNIIIzYbFo4pNPaheC1xwKxo8CrzozAzV9Vl9W1A2w7n41NjlTLfAVN7gDIf9tCEc7ztLqHDKmLBPpDizlBU6FdTMSZlgRAKVfas7ESI4rm7PCQb5OtnzHA2PvcTvxyokuJw0CQvqZ6lQrTlQOjhmLl/CJg30Q+jMgx3PIfeYfIdJdOzer59KYm9IQOUZgJBB/h+M21+2Qf7tuJ7ExZJIp1e8SNVJI26j+lLRKUqwxCo18n0OiagUMBZmhN8nmxu7qZdad4uNzu9v8kZL3LwQ/ctHn3IufqsO6WwZZzyeysylodGWE7ZqmRW6Yp7gauffUYcW2VcPXrRl6CnDwFdfEWNJjHoKbzIOcHiT6YzGxHX/1uaduKO9YgXCACfA09XWudyNVQN3dDJrqcnNzOFAvp3A8lcUH/t3nr5vNFFMMfkYVPos5oZDbfRPP5J/oQPops/BS9cZ3xVV7nYJKBeD7LNVw6mZw+39VnCHcszHuEnt2cetQpgRy5uRJSR5HWDK+sNLadOapYGtNQi/ZhOKEZBiUxXY+JsQxPl15PbJfi6isArn90DUvhaLTkuF3Hu7DTw5RcaE9Q2xKcVsT0QE8U2tJD4lBKgGzeXKORqvx2y6SpRdO1ZNX4nTVHZHNUiesZeOFLJjt17IvwVphaN7O2B2J6P6QMx5ftUbiVVDvxpXvRWKgWO32jdnFbXIWTrFz3LlXFLmH9O0IAINU7FinJvhTuZsSwW2XGO7G7FRlO/IhsxyJDyZMPOxYBGW+b2Lazl/I4FlK4czBOjXE2Ur6LjslSsj80d9z4d4jeOyUM4YXehjiGVVyK1IOUE2HSHZQwca8dBQDgDeRiYDBfp/FakIRq+QdmmGlZx8rbsn60Vn517hpj4NbUrevcMymSey3NtYgAujF3ZyEAAELVK4nU9YVLwam6f5HI6V7zKbptDwCY3nVZai0pXWx9UKjsEDzKUjPRbUFUlxITXeEGldNGNi3anCsPrnlFl7KnWnmEBoWNx57VRWRi4RVmc1cWbCMMmaubVHcbs6AZQN3yFfRBV5drefeS7Qgeneg+7j0JABpb5D01e+0GgOYQNFjK13Li3BVq8Mof1Ce3Wx+4llCepcqeD6QaLG0nBABgQ6tq5LoY9/bYpTBze8V4YLPnAsaMgZg0gImYGNKUDZppjqlGvtE+d4v+v+Sz9HQN+UYIeAcdAsSOOkkTT5jiC5EnvbrgtU6hAwjyj8z8rjoECCjImw8TF0F+vdr8c6gfEr66gwny3/TVht0E1e4W1H5ujtpp1YQnI0ri7DSeGgUA2GezkpBID6Ik1ltHSRXbv8bhdMfomTLz/jfpYgwU4pRei6TsvERJrm0TBQDcALyehIjpgL5CT2Knh7yP3bYHAHS2utlbR4px2vrMoU7gmHPWUTMn7ZxzJQPxpDcxdK1h17fJxgtQgLqib4+2VKlA8dQfU9uupcrqy+KJlTUO7Puu4b/xKt7AV71jHT6WA2SVZMjEcFUqsio4PkuWbSi37SUAQFK47Z7QsJ2gYjUHaXvk3/IIeWOdtPqoU+qI1fou7uQLlucl7XjZLKevwTGUY6TltXwAAJvFXY9Tlps2GEh9NUOafJDeywIAjGoAppgoAR2AWWsmkCn7FgOUrzBMlCEc5bRxR28U8VZ9hkwAqtVuGMfAmQ80o57AcnXyVanaNuNVT4Af225jHu6mupqAYwhes4re3MfcPJyJMI+I5YvO1Y4CAJzJbZHqKgY7AnAN2Rs98zZknzHwAvKWSfIaunCzLZXj+mnawtBaItOjUgwQvTURnl/Ac+i0Hx4AwPbBpM0PXYAiwiZd/2+AWmkxd65MnWnjAnCz6spwu7dUqeD12ADGO7il2WD0fkFE192CvA7Vok9JdeHqqUe58ukbopLjY85GisZP8h7vpINZ+VHO/2kB41HgnWvrPhQaY3Vfc6wyg0gMYyHFmEP4BShgbO09CQDm1OTjw167AWBSAnNj5UOxly9xSXOgcTuUnB9wZ6oCT4ERvJcQAJj1AbSocOBsKKPmUXUbaDRZLZGphLaGTCUhBOBO9Y2ZCsWbwP8E9zBjLj503uFYPqadlK4hn5z3ROs1/B3wWOjA1ae2xFCcsCpu7O0+p8JohFXItWFSqR0FAFAJpw7SdA0AZUoAxosUjvP51NHpUkyrXn6luzYGAaBUS6RoLmZ3W3cyYru3/nkWAgAgW7JEtsiwWxNx5NhNqzYAgHQBgnRCZVrmhxvAxYZNXskhAq6jxUwXEUjMPSvFDNVfwKTDq7p7wVapUJUDirolwbayWKjB8WW5VGWhhsqLv6kukGCHwXm6y4HAqBI2EAYYO+EBNTjMntd6EgDQNMfEe+0GAKiPHERCn50awyOQkTt4AavaqnBQ76D44UXtJgQA4ssRwFPj3ISn1NAwEyUyjdAWyTQSQgLGsQ/OFpikuP4cLDxK+wKtqiM/rT4dJYYCgqrQwjOZWzUwG7mSwhfvKVGVFACAgY7RRz2CGaSkbgmoESRIp+GzFHSrDTLQRSOFWLTpEwUAUE/KWcyRRHzyxy2DzicWWLV4AKAAM8LlpoWvby3Phcx94vYjQgXiWytvi7ZOY17L3ATXXYiQV68y2XLS6qSjnmckYOTFNMSegmMCT0pvE2artllYq3oI2KmgBAAS5rZ2NwBUgEp9yh4Jy+Ayd/YDJKNAmWnQ5mRcttPVn4h+HR/+z+BVWy/oH/8pJNERHAIEAeQ34yO2y5sf5U+OY2D9iTUJAMh/fUczx1xZxdSfDhte32iYN8NFD9iXAgAQWKneNBUDDmxhp9EAmgNYGjTsi5JKUQcLNm7btJQd1hYhiwhOPhGgq/EAgANQAenASZwGlY4LtHBrcNP3YDbJn/hK+4jt7FFJ7Hnwepc+tVe0hRw++sV34k+aSyMHS7CVTci2q3Db7Wk8hQkAEGnYgWG20kKqOUiHyL/bGgjJI2+iM9sLORUqFwtrzhJKWw7lq0oU/HN3W/6Pl87fDhX/T2JVH6BrbX6ssCdTc3VK407DpOXcm1cSnKpoTUI48H4WAAClgndHuFxyK2tB8nFDZrza1Xt0GyVmVRkIgsHdX9Sw2q4Rm7Tqv0JHh8sphrXqXIdTNZFphZYTTZZqTmbyUb8lPxLO1WeIxCTiM7U4edzwr+I79eEj41TdY4Q7UDeq6gvjH5nZ5/rNCDMLMZnGWSkAgLdBqPfCp2wA1urn5R0Ut58dI/4aXEuDM4ODRLpAW/PirRUPB2oyxws77a46BYc3kkROz7qrIHvzLxLJSccVlnP6WuIBAEKppAr12Pxo/IzCsaZUU9Aa6wUNS4uFFKu60Kh/a8SiHrDVbK4+QjCIinrL/dzA5eJSChgwq22XPDArbnNzbZ1MHP2N98J8LWT/+KC3SFmJYaDvCyqoAl7MY9PDMdkQZdtyUvCVzaiaLrcZhMfF0FPNc/5W/OX5jtFsn6Y5zolc7zXcGe+UMNafup9alkVxW/i53Ky53X0VCZGr19XcewufvYGCtIe3Qp9LMWkPWs+uhsqXgwbYMVKe0Gh3A87BKSEDMiqyIvQUffSBoLYex6TkJ32HFf8TKbdWFBnsaIp6SM/SRX2fQbFsoPhi6qVpg9uwJvK3UHQQxc2EKrJkjUABNCErGi/yg+AClLHCTMx22dXH5b4LF3jse4iybox6D48xW2T1HjlAUgWnfcd9SbXTw29ckBxGYMzMlYYV3i6304NBIKREzsYcPQt2VrLZW0ahg/exHLnTjCugbBxCDA97mY3peZMTJcgGG+uQtgs8137LZiAObHKjoFYSiMo1RIfr0xeeEN+wexXsTS1jOycDuVzZzhu0652T2ZCm2qgHKnQhPiBs/nB92vzhIDZ/sH/tUd+uT5s/xFw9BmKIv9H0ljxACkyBOdZ46cmZnvrO/w0omBNd/HZwATAKCVD27CYEwgX1SITC9WDzh67lxfLIe58sOZ5+T2HkkFV62pSpQW7wYR5+qWcyPdab6gqd/qZaqx9QuDmoTttfepvmPnxICqaBWRc6dHftjBU5jKWhmQ9wbKnnoNjL4Keg43M+60laQHQ3Sum/GQniVrhI3pMo8wTCLpAOuh7qePopPBDLqGh48kP/OBlX5SgUvuR+QPGDhABA4BQ3E35YOwVcCJbJvrejTCxkPAVQ4TrZnmlQWbgPHi64Xbd5cXxaLw/299WZmCavAmb3fidUfmZN2DhSrf6ahq5rYHL/4bg7H5t+WiTmX5or/fpO+8Jd7175sfprZ6YSINfwEqWFzEUFZNduJnueAoj+O7rpO3gtJxOa987dTnELXU4xCRV4Z7FO/DRahP4KPRSdqOGWotxW3ab16qZWAWqvLxm8o1Nf9qMAAOogVlHCnEmHD+cS7J8rr4CxN0wuerbF/FOgrTYGW4a2YJK2jsF0+y4AMAspF0u0lZEPdkQs3JbIe/wDL5I97ogHAEQhTMkfcS2YPRJrLqopHkywMZYQqTulmpRsIXhfFdReR7JPGXDjXFNNTdf01g05c03N2Js4fYCCTgjYM1CIMMwuTHJWUT8WvXMRjJQUp2+b7YZzt59MAGBHgA11p4RFziYMAbE72/0auJSSWFFvUCg9Nm/73p31d3nsECdUJ2NH7oEqgyy5m22y2SJ3ew0E2TBqvCcnOxfU7PqdkB3Iaxy/nsx5HW6IidUnusDQsK4ahlvn1YSf7mJS3/SejQIAyELLdIhXusipGuAKx+1nmMv2s621+muwJQ22GGyJpC3cTmUfLwCwYwaWmBtixURLFK7F5mDiGlPo3AMAdmlZYVLuFj96Uo2XQqyUiSf2xuFRIl4dhrXULUQW783TY2yxkvzbx+WS6PKmCNfhxnDiEp7RBA0YTMKTtq3nUplUjTBQg9sazKZWJgCc4XFJlTGgIHCjyygCd3WxZMIqbLDdyw+njfbd7u101IYU4t/u7A8gxBC/I3X+eo/+dMq+WZ3tWYYXcuQdQLymQ+uw3UKJYQHblwIALNBSXTTQgHfw3uGzdVmAvFZsoAUdJWlB9fECAAJWF92ByiYut3Q69wCAblRqmBRL/hDTlzgBTig+N7fiAFI9PGMFFHAFVPJvfA3q+Z80k3cUO/D/8ax/al/gaT/5X1U/+Kfqi7ytuzom21V1WjSVUx4Di40Tw9UoNLGDRMq/22OVOXRKjmPsZ+NEy1Iw/vHKee5kju956imkLp64Z33Py4E+37iSAwCMICZuKa2MNpPRf9egOhp3pQUAWEFZ5ZIuBQyOSt5JmTm6jrVKMRFDa5WmJmKz6qrkPQVl/AfslkKBbhM/cJR1T9X5AWMJfkfLCepDfR5WCN8QWnIes5ICAFSxaFZq6MMQxUEXtuK/XfSrQz3ZM9WX8RaNhMFqMSV7wjc6GNXjAYQRpr4LANyyvIkqCsbSEk8PJmIwo1o8AICD2/oHBQ/LJg6eLcYceE5LETBTvk1YpQRsyKHZm3S19kBz1JvYOkMAEwJoBIH2j2DD+THonYtg5EnY6duGTBjp/WQCAJQDEK47xfrIIdoQYLdVZFIDl1BnVSg2f6I95tZOQgBgq8qv97juAhy80Q3FbNMmDwozDRffD6MYV5k9fhjl4pMjgnDZw2kyVvH4mJ9nQ8l54IHKm2NnqmI+lHtJ8zKbVaCi4f5mtiPh5WfU4qAbBQDQIjBSz05OcmlAN+9vlc2eqfKvd5oIg9VpInyy5Qz6NmGLMpJm3LoLAMw12BpYom2UgZZHZK3bEtUT3P9FknZHPACgE4IoXcRuGebNXphw0NStdqMQfUosd8N2yQ9zY6SMgn3bvF7nHrRaeWua/2vGg87EFEp4TU9fqpjC3Tl9aqIUbkLAxkFRVJitmhNuFbXMJPztr8Yo5dSzzd4lZxX3kwkAnG7AVnenxDU5WzEERLbayzVwKdNmRe0lcgqw2VIIACCVppzZXIiTGLkRZtiM3JLZBCP3SQgK9mf0QJnC0Qz/+e2Cs+NS38eBkZ65ItrE0H5jTyxcOWQ6DTtSAACt2Sj+aNU+BilJJQGzokG9nqzJkeXNamQudaVKP58pp1NCCZ/bMcF/qxgTqbfCCwDsQM24qC5oWxJxDiVOqvuWwfbEAwCrxZT4uQUUyuLZpLmFSqbFSiqujayHA6WlpuG95DqNJAG/rh2Ek+6QwHlGnpZdNw1+WGZyOFEKLEkwWlBhuIRoO58KJRl1payV3bacWD1lAkBpMSehrg5WdvCktCVQ5Ak54zm8pfoCWLePDep5UUV0IaF/LNB3an0A0YZ4nrrnt6zI9LHZx+Ir6BKONCToDwt6WDHsIb51Za2+FADgbCb+aG4HBikbasA7eJNBA1DiQMAIpwW6jxcAMFBxUWXo8yY75hOLG9AbDwAYoAKaAydxGlQ6LtBiqsEN3/tOxDfFM/zrrcbz2ZJ4UYz54PQyeEPzrfvB7eqHd96hfXsIcbOq1mWrIUIP6jUBAARY3Bq60YA3eHk5r2XPmE3pmW0fWwiZXVTK3oXrE+eh7FpSXKpF+eVJgYCqlnvdyg10jPrtUfNj2x6eavlG1Sh0vs6tfUSOdS1peOfKWhJa/u6TgvsIdpAAsjGtdrgW1YfUi5u7vHLGxMaUsBN9IFB/UWklfDWZtMio+PplBqc5ux/PN6dR6QJdsNbsGdkDZCuTLjO9p7/J4mPkAADbRIZWiY381Z14bWlvv7RtfNSa24LZ50v7yp+ZBQBgNsNc5Ue60LP9cj4O0/BGJk/bNO+9SU+6Qczz8tE/nPQO5IeCW5fX9/F71ROhI0gcGwQdtq0QYpFWqrk4ocwBisuQw0uIN7iDFngu9SPnuYwe9Lzu3ac/0YLVZhgcQD4pB+0Y5W/npWF5GTW1j8PW2YZw/EPv5/yQQIngQMJAHZJgtAgTuQYZOI2hqRcJSEJ6dRRyR/pZco6Qo6DBycnrZIc51lg60iR2E5BN/FYe+STOQfNa7z+2VJqX7KHclQrCm4otk4efUciKGsd3WOdH+e26W4GsVHV2sr/tmtW7oFl3odfNYDZostpRAABSF5Jh0ge4OHauBGTXuAeQv56gjnc2VbgFjLXWaWsXKU+eVGtHW1XhxES+ItXdpzUY0NcsSYNsUptORCsLkJKehKfZckLaQcLklyVjqZIbzF9fDrOdLj8njSsNayy3tYKjbW1o6dRKZB3hmDOtVa4nXD0D8Nm468fL5f5dAMCr8e9cfuS9iKKr6bcemptYopDtjUouTLfEAwCidpav8Izkj7GBToTRfcHWmvUINgzigq2LN0gEMIQLttnOo28WtLz6Te8eQhHWjRDwUmjESrw0W4MCKhO3Jm6Rk4odsIqc3A7Cdsn+s4Kak9d20QtyMhvb9oWR2i1lAsAOYBuKegEjbwuC1IJmWP82l3li5W4c44PXaCcEAFQqdyMgojVOW2DnTmdWBouyzV4dWGAMxLrA0dtndksITSmJk4pAVCd5WplJgCa+Xu/4Toq+he0gWRf5lQtT8RMrN6gu74t9SmEuqZYkVlIAAJGNdK3TPXsludcMNaDBBzuakFlzcwYrMzgA+ngBgAMYE/VRhlqxDyXuJ14crM49AKAR3h4oRUY/Q0HfwQqaK+Cl00ww3iO6t+LId4AO3UlP34odTkRcYaTo0i50B4rdm4iehW7XEKg8hvaZd4ZNdTAvhlEVmOnotrrIgpYyAUBNWHWKKjQj1cUGhQEu26AYNdOZ0ueJC0w3IQDQ2ypqxQpx+5dcBzfINAvgW0Eie23FFhECnScbjugEJvyWLCcP53435K889xXppP9zRn2z69R6DwcolhhuAH0pAACAFeoNT0QgAObmDtzM4ADu4wUAmubGRZuAm088bujeeACAYAsggZU4CSIdH0D9zoBK4AWuFBgWYcZd6C5jzzYTrd3hxL74JtknCDSq6hwowbY6UILxtKg8tF3RMqOeMgEAWryTUEsHKzfYWqRVKJO9mfgJ2dv47rQF+0Oxt+BfsQ97ZCtHN4T7u/RAgEhX/OYOwDYGHzC/6Hh6fgn1EYlyxf9XzSbWfRxXDCKGC5i+FABgAEv1Ak4EDoDc3ILODDagPl4AoMCNiqZmfQudT1ywqvEAAAGW/CFmEjSbBr0OTijWQcj3A5he3Tp/9iw6/HfDn7318262cHSAf/zg8H4c5nzLfvid9ZzrTdNB5A12Bj5YySkroMoUaFUxAQD2WGx1atjGbHbk4AI1AhAbdglr2eqBnwu0nPSZKRbQPPK+WC38vVt+e7KvcqCBkz5/Rg9I+UWV10N1U3xy7sMZMzt0rPHYff8RjZW26RGN4Yqw6qlqRbiOyzZMS64Ku3+wC3017Cw5G4mAcXRSBaduJ5htq6Q6oGKCprr0pZyP6tpQrBGjyj+3j6bvEEvFaA7qPWKVb3J5NLk7zRrFW/IYH6g+VwUmd3H09mNPgA3Hx11HU6ro9A/OQaFhrQImlbk0wtxAjNtRAABVQcbKdG83/cYZlgQ0Zzz+zy2m4pqLy8GEwYsKsgqSilxaloOdndkJAAQ0h2ucJbphUUENiR1vMlHWgLsyulo8ALAN8+KfcytLFmvL5jbsSsa7wzB5w27V+xq+Kd9Z+KgFEuh65DVZ6GY6cXLQYkzADLQcszGEVmNGRtDu5DZjzKZSJgBUsWJYUHtZMxwc7GPVvQJFT0oZysxcKLUTAgAioYy6OHcO2qPOXGmHMoy9Gpt9tWBvzkBcF7gY/WQZxMOR9k9bTuNcpfwUoGiSPI8WattdQv3NmWPTrD1f7MBY/ddz/k0F1maazkZcaGGx9i8jsZYCAIgsDOt0b9dT4V7DHAGatT6Jf7DohMmamwPNTgsigZleXQCA4EZEJ312WrEOJW7CoaxbNh3xAMD+9t1BRC7ryN631jghc6fx0wodik/A2bZiy/cBFVzPWWD5FiucnIjAQl5dBAa2XUD2LyvAkH2JYEmopXRAoIHaq8KCTs7srJyWdy53rFx0hDro2RZO3KvpaScTANghFxQ91YV7Ba8gUHYwKTVwWRBtxMpu4ttbkd2EAMCc7u8gA1xjCr0VEWbKOR4HO87WwY0gdHAOzbkjXK9w33EwPtR2BdFNenPOoLQyD/snWgyb5mopAAADjFQ3jVQgAnRuTgAGBhEaVnUBAAUcWQQQ+USC2xcPAGy37cPCFUANOm0WRknHBEu+C+wEbhBC4NhgZsddwC2rpUsMJhOBsFHT/yYQsDFNGl0QPtMrdi7V+CRjwcfB7TW3FHrLBIACK6UWRicIrhXOH4PLY4HiHDs9KafCfu77dfTjfRxelHQt8GhWfKegQCceCBDdit/cE9juFfZSUB2nSqTbLke24j/tBGaH1HqP1wpKDAvYvhQA4ICO1JudhBYwBlyxAiyo3BzByQwegF5dAODAjop673EWTj4RoKvxAIADWgAVoMLpgJeMgVHkO8FK4AIn+S++8k1gx+G57JQLd79pC+P1pM/r+swm8KGzAQHIOAFg1FLy7TvIfM1xC6uvBQAgQFGSRdPksZ/8SHNNwGiCZh3o4wBTcesAlc80xou3zMnyARxz47En1mqv9s0EBGqtFE2cCDrOUYZNSOBAJkrjzl0CLrkCy0knb0782NYS5YRCz09uJ6brm2c7et+3qcTbgZo68BKAZBZgdlTw5u8Wp13kocQyL9W5AR3xAIAOJC45Ab/tN40FQCHzVGbTI8IG4ttLINzYJ2msAt7BPNslIIYbvqdtLTqNBbYKuhl5TQIdphMngZZjAgbQugwz7Uf386i0O2ZkDO1NbjOLuaqUCQDVrBgV1D7WjAcHO0zinhMr8AoukAvtnYQAgNSY7fYosMZ5qpqTxm6kMlc+5d99OXuNPxKb2VeF/vAeDMR1w5eNmmUEtL02ztVVJz8Uw+Z5LFdtjxZ8J3P3MX4y5vYnMbd27iUAeTLALEmkIovaaXA4cYO7fkHPj53xAIAOXFzSqEbwG4ErMmQuLYKt4FD8xokbrejY5xr4BIfXE/cWvoUO/+fiLR51g+GOvcAasF6gAUU2aFEgcEXbgicZDzOV3w43TG+ZAABgi6oL3OFBF8CIpWEV5AbVVQgA5KjrJTxqmBOTagy21D4QIqLBzZSRIyqogK5Hu/ss/ji1vGrgs0nTkZcApOAAo2URH6xQRD6RXNgn7IwHAMQVPQM6bTZGSccEK/sgcBL40hBsBJwADM52AZnOUxjDaCJYsFqGQCCstmETDKvXMAoLqwOY2haOtaYrZQIAh5XggqqwFjw46IIFhbJL0SS1QRBFnT9Oz13dIH5t9QJlafoSgOweaB8qgMBZzOeHm4jLxrhZMf06iPYGzdLwJQCJQ4DK07IIjzILTj4RXPATdsYDAKJFT4NKnAVeMgZGyT4Q7ARuEMn/8JWRBDsoi808DzxumGzhHcPqUJ/lsJ9eHTmgFy54+dvJfxQVTtsDETG2Fm8N7fYyJ76vQ0Iu4ONr68/lhSO+rysX6wU1+zguWMnI8+0CtND9wjs5/DzBgzoELCyzZaYivEcCCcROr6noEmz8ph3opb7WxiVfBaaUT/JWXXvtahwggDCNqAh0tX/pgAZ+Do0z4lQzk5k2NDTGV4iIqcDr1YO3OqgqtI7B7xzsfUN7LhlxxRj8qpEIbso+von3voXJeHT7WlYpDI7JrKyh+GkcrspM6t8UsaUQ2w1JRQq4C+yJdevAIkiqYQfmp+ra/2D5Nhb67STe1csTjTYoY1lsxYZCm7o1zDl4O2iOCrLP9nYaK4QjgLVrXp4paZbIGzTOgMSaJmiYJh1ptU0QiP1HLSG14HlnKP2Fxd6PBaT7pzTA1MPdK5JqgW93dbbbfoUmK93dEHFT3lJ4W6SiStJLhEZVlMeefukA63y6s9ZfvVgFrHInDrO/qvUkAH2K7Fqts+WqPC4AizBDai19inRAbnnLo/gRFcLriOfx3ymTi8jTKlOlh8fpArTrhRDIMPvBv9skFvh5KStQhJUjBSvMYZpCQ47W8zCje9Hk1eVPNQMaSzJ5hsEqFGdyEjCZ6XnC5BCq1ctZ9qJkON4uoGZxCMiBH2fk42q049Q5rABkUZ4b3Kq1ZnWl8FEEmElU5UsYPZv4GplUTofZ+f9m4GFlwR+AuXP/L2bgRXudP2zPsGic4JnRiYgyHbQUsxmBTMyGyqtVhaUcWe/kh6EhKs43YRod4LMNOLpYr1SuE0f5oYLyYeCPux5UtLhUvy0g3jD1ymuFVAam78RpZZ6Tko4BpLnsC548KbZ9TVnOI7M8m0wQlbqiAFBCnPpkRNBqmFdPE4bqpVOYMh/egWEkIJgbohmDVdtv6I1XusuvkB2BZsvOwUzPBZti9RlQlmFuKKNZKSNrNBbMQyudNjxXB9u7WWY7YXH1bBpk4VgMxmK2FrbEg6NAtct3QuG0aLkdJN/PoChtwGz7vbT8mECyQHkbtnzOODKqnIHZyXvhOnkssqVYwSsiNVFdZPuGPXxg39WO1aWYCUS4kR3k/AuTvKM1B4evMCJwhpYW20HaiyFxxyEsB0Um+5cLoLbU8OBMRB+WWEiBHmoNBktyK9lkqJvN0VP71f74Zkq/qotMfcgNN3sI1SH46Y/IHyvHdocNz+cLQud79IXHPPkyULJDhD1/X3Ohwinz7oLxuesbkB+C5aYFWNKu+xZwkmHqXKb3+pqftGTRhsIuhYZf6oqMy7+LtEujyR19SdbE+lrU/xRlqoSazpdpguaqk/ofesMwOoSsjf16g9xoxUZLLwcF63VbHQkWpplCoY24u64E2Y4w1Rg41niHnPrC9awx+L0VKtz2vGXzHitKap8SmUaq96wi68K9ntnd93Sj13e7tpG13qWQxOvuvNeymJAa1lcOhGBkexwIe2Sf7bW1IXRHUySIozSv5k6VnnCASmH4NDT7ZS8BTfjlXgFyPueSe712N3qZZ7KQewLnr1s6K8tLUGuN9/7zvsC1iKfVbGHvs5D7RFDyKoXWJ9NZhDYSSsXmrRaQHRdnHXmAbHX+n/UVK0Zez1JwPUi6zc6+nQ/NqePQroPxVeIwHm2DROwOSk8KgMTEi1Y7nSIE+Gq+MYAYP0Mom8sLrS8bEm/EUAHHUG6+e0HfDC8B3MqBR3zX3JteVCwDiF+9wAxoGkjhP1xsMWi2GGEFiNABbNAAINqL/0xR/znzruP5h8br94jHf19mMr7tYW+ujsWKPoXCRvnoIcD7k+xVB+Zii7xv/z6JbFRPY51auW5GNPYuu347RRODlqOZlr4vTLJdmO32Ymr7zQBPxf0e8MxxxyV4jiVPHYPMfD6L8q87fkjsCvYVjr+ggNoH/QiK5hxcuJej9yg8ZNMSeTmwO+90TBWds84JkXDjot7yAJXMI6ljVCzbV5YFnVIeOlAk1lLeGkscNyy4yxYpaop7a4pzeyTT+03hN9KcdJgv900x55fG5qw9CFrkWu4hqI0cPSfliKAi02oQWHbN0Wt3Tq/qJ0npOBlejLRfOnCXc+nKUsxSVBpDYVF23VPtEKVvHrCHwXyK59qtxqOxFyFl3YwyB2dqD6eUKBvwyFBMiThbbCz+yeXmhgeG2tSjdT8vWvWcKf+WVhnRB2vxTg5GAQOuCmtRTjYwMx7jyhVhs5Xy3z871eewlfFllqQpTWfHEEJYddKEp3a+kwb2g0QfnrjcphnK1EpKMo18ClFEvTsIk5RXjswp9ORxN0cNvc5trSG6nVMj4quwDmcdCahuWQqyuRQX0xzRBQcFF9wTDDgniKK+OGL6mgT/lruY49uQuK14I5Bd6B//Dbr4FFVujranybg9U94cAU6I9IaobqrCL2JNQOFx2FTrtTAoreGDsU7qXj3HRgN5tkVhC4qz1tuRcI+vGYF3uOHb/179lv+LCP9wkd/Tm0uOxoO/93nirm3O7C18++IrjN0mu3oh6ZKimJ7+T2aadaX1xTE8WSHvUI7uCdut058paGY/H4QbmIuca5xQZ1bZdHb2lYebMzX6W4jMqbM5U+bfR5A5bZsT4t34PDFlS0LmX4AGACRGNics3mgycQKN4RIKxTicJkz9fKpaitbei2t9eCBiW5wuQGqn4683xEZu3D/qi484PBx9cfXR7WV4srliakfiRq9/R9jnEjvQI74z8HnoYZ9FTPH/yZPnhBU/yZP/qLUxye8jm1UsYfsq+sd0mKyNS9K34luwRqcf40TVRu9oN92GV2eADCYC7X60BIO5DnNotqBl/i0LeuHLfrRuNGEdj9lcg3Zaaxttx2nm0KmNDvSp0m34GKP+JrdXoxqxUzkCetygZLYIvehEFMd7Um2VFVbYX7nr+voTjOXGaTL6r5azfwWOLLpb3rY5dMQOe88Izov8OQjA0u2Mlj3Or9bFnPuehxuIL//tgDJ8RFeplj4uApqZfISRtU7ZxI1eF+6J7yrq4p5XGYx81AzVvavdIsDSXFWyPRjW6rUVp2HoGmJ01cu/FBDYzYUnfvRN8XfwNV3RnWXJ8RC/Es449i0Cj6FNpR/eiLasN4Ky4MWI4unGVxI0ii+60kF+rK1xfGWPqzcSTalg9rodob98MXQU5I9yAM97iDovsFBMCv+mYIzFm2wYhKezwkrNRzZbNnBdIQS7/ZLGphQkePaA1jYbFno04fi6l9Ox1N9K2wye3DEmK4auEExrEX7XHo2Yt/L5GMbEW75R2g0drOOPskO4P/kysbG4WBMQiUHHlXOOsKGQovoO7fUrke/+FvVWPpb1oXpXtyHW0j5s9SBRCDgUB8+4Tke00/1xWFLex3MsF0Q42WPLAQxSXI/hL2wn8fZs+Qh+usWpEiOKONuJ5IQtJUZ10qN8oWKTfoDBnXff8IYVj3TqLyIz2YS05BM1vSiJWLBfFjQgzbaqvYCgQ6VMWD16Y+8Ybyvvx1rzLLjnEQ8zno0GXFXNrtllU7ZZl03Jab3Mz3m9THJiLzM6szG5OaIw6YuopGKyYOwQ0Gtw9S/X5vJfjrv+l3EfwLLufQHLzD4Bgo0ngdO+rgtH58ljM0iZIvd1XBGS9QoDlgiGZphEhcVkorkV3sQUO8G7eTPV7d7GlS8A6Usm1EieAM++kqttK4m/vvpO0U+KdQcEoae6Omtq6vU1SGSTtwSRqfjXHHEchLIVvmVnfxqFEWdAcmxnPhhOjbyL6fyxZ+ShtiRu+qErp5i4uzKoqxLT4tLcrAcr+UKf7YJ7q0w9DAvCuI2FjbcNLrfyk1MKflPISkjWoWLceucgvctFz3PRRGLKzA6QiJg3HRghCknQmpZA6+isa6L5OIIAw8GQ4sceFL6q+wZ075gKoNG+e+lZZjqwhHs6nck6ahNMDBw8PnqN37ra+2fr2juuQKJYpVmy4maTzlodoT9zC/BwxXJ3ztcJOWVDGDhSaJPPTddsPDA7V3JCAm567fHvDIX1XUVvSUSePHeEzyPsQTaKOdMieGRUBB4fBbbKs29nd2cM2j1kteOUbBQKp6TEIL6CU8TLIyK184jeldvP3mIUzCOOVMsjJzt03WJion+MSWAunh2424MyF4QQuGkMieL7tso/ZIUU8xh0Ecigq8ylGcVtsMqEGYkGCnmx1bulb6UoKhHzCBEujyxia1ejJ96i0xyPkB3kRmc8YiQwHtEzC8KCO/dI3+AJ+ZTblMEIHDMUwZHhXU85V8xABG0ZhuCtyL7aK4vDRoEjWjyKTWzJFgS4WTIBgTJ9a6lAMLtv0OJu1Y1rqkMDstMWzUMwtuMkFzjNhXwT8SntPs072WOVa9yjLoI6cgF+2fx7z01nl1oNQR2XTRfZc+d/IjjDbapvoEIqveUUAZqbG3ODgF/+D9jlr47V+tONFfnPz5WPCZz7hDn7WCdCYq8mr1T6EyxyzVBuTcgtAbRSTbUlHnq2yUiJ2JJXCGvMigGVW3wcWa7m59ArPSXLpw5ZvKcnU0hIqSLYwE1LsBT6kmn6ThYD8zm8qdEnDWze3V511YzfePWfqPGbmjqX5cyOEb5qZt5S+TzN0SlQ4zxdXcovPgOhCubpiSuLz4TXOxeP7SdasvXqCYvsfs7a+pyeem8DlsWXko6CIrWbgo2KAHPS/R8dulDlvTI1Pi6koiWygXEzO8Fbv0x6RRlp1drsYYeShJWtMYjjar9xURHBI29NDNO0XQ/C+V+1aIRH5loVOVHyzmqZ51nzyOrVNJ436G8D1Kw2QN5Vp9ORx71/hyGdr7rhTb+dX11OoSRXosmxW7Jk/l7s1/v6uKhKca/9XHo9aRx80veJr27baBCjsPINChqyLVyGL7Oudgg1qQec8PLcXuS6XMmiD95fy3RZ2oT0zjeV4/YVAIJw0OYg0MQuwz3GIt0EvVAoQB44ci3azZdKARF6YiCC3rTqTrx4HQoEoMPT/WNSfASKYqGDWL3whI+i/N373Vya7Sl9IVvdGdPHvt9yv2+XGl746PLiOBpBuK2uVROF15iaOqF/ki4Xg0tYywEhyiuK2/2KYrKbhgWiisEr1hD1zWgHnhjLwotHnm3mYE61fHLnrQa8Hq0hrJnooBa8GAF8mOn4ttzmJqXlYacwL8oWPpwMXRuvuBWw65c3o+kz8wIzCLoQb5bYDdneITm0dAkeRiSqFGv4fwPwZTBlBhYAfuaTPjQ2a3krug7F6sosuhJY/7cA3Qijs+M4gYGC0egT5OcwmUXXqFMPg/1H5GgC+bQydxCcu+cWwVKs4b8DwMyNSAplduI0Y1li9Wo2XAmsRLNZvYHWJFajR/W8HERKBClnP6ZHMvqjdvOdIsTmiY9el1BeHqhfpngzU4ahVy3eul0ls9vOPf3uNUL9NG6fvSN+WhRLBxDdwJynbPMiQjWwN5usP1e28TQ68OWpgc6uM/764sQAwtlp/PjpXDxvhIBKRwbClx7EfkvXxCeZxn45qXyaqZp1uhATNF2zT0egfz2aBw8b9GyWBNLF+2iS0tGvl9TNclDa2Bg1CIfzl/wlgi95wB1lyMYzsNU/EXk6RFefWp0V3RI/LpYLO9y/aGeFD2XwTtIdHG2OHclc32rNBzVuo6bvFv+XXtShKtPlOFNXGbTx1mLCYFrcBRpqdEM5t63xtNeXaAcGJlbQCztH+GIMVxHTMsT2GhPjjew64MXOCF+E5272OyDZa0wkZKpmEGfQ7pWoy3sFkFOGr6ihxkQb8OLDxIkJuLLzh6/mU8ErDQz7cbUm2nFWnbHwpCM6LpoBGoYXA6XvQjtHMPMwX9kJya9h3LJ+5tDRSsOYZvl4hrX3Sud1wO4bcn3W8AQFG38wH6bhYYXcGGMM96dgYFvOssxNmuNXtviitJ7YWNJxmGePbEHfcLk0smkynj5KXz0LrvGy3LGw//BafQJ38MQcPG6T/Ausf7AjP64cmhKghxoxpDfdCeNPF84MPE1RJM7Ezo7TTYodMYFmZBKM4tnFenEqd8jNMnSSu8s16oy/UO5s4llMX690OojEgTdd/+LZxTPjpsYKTMK5s+tb/+JAjOmbrHg6O+IpHmfnjLPrn10gzk5nR6wIF4lwingQCsDNkKP78dPbGy+xxyR5g3j98mcUxB+I4nXOH4Aq2CuVS/4WlDdsTXB2WTKynjcagrTlQeKDtfnTO+0YahbrV1Pw8dm1YyB+o8xfObuJ18weGsu2FmIz5o8uMsRUYDUU+koC2G9VTAUE8ib8YAO0ShNpUzWG04ON/t+QoP+SoAckf7Ar2+kc6vnwyaiQV6tkF3dYH9Wv5T9Pm1r00d/Ma/ZyKeuoFkdXIo4IX1fBC307rL/BCxgw2LyUjRTdmL069XuBbikYKCiAVoAAwSDiATr2BQ011I2nXXvCaDK4/hVSxdkctqJmyGT/LBL22gpfO+wju/U968OXpH8i/JazObD+cRr2eVp9cVhPgE6BHdlQ0+BSvioOslzDDHXGH/jl67gr/4HmzTqttF5xwDi461QyGz4nHhnxQ6EqNyUbcCPTEwknlAV5k7At0xvDlPpCncmF8wV5mzZjmUVuCZGERqaRPgVvQGeYii7YASf4yN6mr3wDswUIBBjQdd7KWtqAqr1gMbIWDuOtr8DpojhEqi4u3jGlq+P4KmrDjm1uMrmCRkEE+AGiAL2gzm527ZyrfE5V0PmL6LiOrtBAwY1CMwmCz3r60mM5i7guMx0OA4ld1BvPjlNyV4Nn/mRs7cDxcVvZo5DOtwbAaLVKte7xBt75rcoOK9UMPO0EM13xCABagReK7zaw7jfOXlhh8ber2aRy84vbfnyZ73hN2KeivNjilT6q7LzmuS6jxnwblMn38R+in3n+dr3zt3OSssfyrB69/9ygIuc8tD+3b5jL/+fKjfqVifWvxPpSX423boZMzmd018NOoZmNH4C1nwEAqM5Yw4sPKylWKl391coWS30y6HU0F/nO17/N/Huc1S6Q+oEQegReeYDK4smXLiRKJXQHybQersUKerniDlwXn8r625rVnSQX4ZZPNhZ6JrLR/6Hdc5eF8Rz5AZWYrsafboZ4xrjRw+0FLzzp41PKKx107kOPZdAfZfSInWgAAIO2bFs34jijtJ8YA8foVyeOEJRTkHACgbeLCSMIkq4lQkPY3eVFBMS9nVuWgRjTaWe3TCK8W3B/8c7P9+YCx2tRiaAfVAefarRMbHc1hlE6CVTDMHvJIQpzqd3YjPBP51a1FWbu/v0ZAGCVYmyN4sVKQiknJw5zOozxD4luq2c9VYOdWJcDgFNOQQg2cLxdDFkLnKRrIQkgurs8UgKqt3Oj3UBhulX6BoqLRKqMgsGgv2l4kA84+xMCgNEYhmF6OM4BZpD8gwBgw66DNSuX0npxI7kMKfI5YHETXe8BuszurzGAnnVX30JMpuY3xF9/59tvMeuLd0IiML9tmroxsLa4W+gUNUgH3a75CNaCP/3b4usJqmPP4bzY7NTmP863aGsDAKLycjTxPLwcw2zM27UCYL1eImm3oq2EecP1m8LfbddPMfn8N5luh/uL3NfmSc67jpyn5SB8DbduAUGRL2LIdr58cBWqpNPXsGEQpiMjLAylrmZcgOFt1zJGYJh0eWO1fLakdqeVz05p7e0BqvGWofeqGA8uboj4Cd51MUnPZTscB8rdn6lpLTT74k6ti3p81ER7RwDQBm6d3esr3N7fj/oCp/Btftc63yCHKRPfWDN8vP/fPW2RT/15WmHI5Nf+UXI6mrJ74YtTYHRfL6Kjn/31e/rcUl264f7+GmefsG7/XB+/oCTHD1so72a0ClG04hS6Q0IHF4SS6vIxWCg1fRVsNZPcym9Uf9/59uX4+UMK99+c4t0pDcDckbijeU5cS9X8Zt2GMMNOrmYDt4y6vyMAoMt2jff6GovufhOnFOUBnmvh/ez7zMNdU7tJmgrc29tez94CSaeAS2ZgLA5SMudZfZZ98uh+BgCwBNbjrrI+AA==","base64")).toString()),EO}var Wae=new Map([[P.makeIdent(null,"fsevents").identHash,jae],[P.makeIdent(null,"resolve").identHash,qae],[P.makeIdent(null,"typescript").identHash,Jae]]),a3e={hooks:{registerPackageExtensions:async(r,e)=>{for(let[t,i]of dO)e(P.parseDescriptor(t,!0),i)},getBuiltinPatch:async(r,e)=>{var s;let t="compat/";if(!e.startsWith(t))return;let i=P.parseIdent(e.slice(t.length)),n=(s=Wae.get(i.identHash))==null?void 0:s();return typeof n<"u"?n:null},reduceDependency:async(r,e,t,i)=>typeof Wae.get(r.identHash)>"u"?r:P.makeDescriptor(r,P.makeRange({protocol:"patch:",source:P.stringifyDescriptor(r),selector:`~builtin`,params:null}))}},A3e=a3e;var yO={};ut(yO,{default:()=>c3e});var _h=class extends De{constructor(){super(...arguments);this.pkg=z.String("-p,--package",{description:"The package to run the provided command from"});this.quiet=z.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=z.String();this.args=z.Proxy()}async execute(){let t=[];this.pkg&&t.push("--package",this.pkg),this.quiet&&t.push("--quiet");let i=P.parseDescriptor(this.command),n;i.scope?n=P.makeIdent(i.scope,`create-${i.name}`):i.name.startsWith("@")?n=P.makeIdent(i.name.substring(1),"create"):n=P.makeIdent(null,`create-${i.name}`);let s=P.stringifyIdent(n);return i.range!=="unknown"&&(s+=`@${i.range}`),this.cli.run(["dlx",...t,s,...this.args])}};_h.paths=[["create"]];var Lu=class extends De{constructor(){super(...arguments);this.packages=z.Array("-p,--package",{description:"The package(s) to install before running the command"});this.quiet=z.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=z.String();this.args=z.Proxy()}async execute(){return ye.telemetry=null,await M.mktempPromise(async t=>{var C;let i=x.join(t,`dlx-${process.pid}`);await M.mkdirPromise(i),await M.writeFilePromise(x.join(i,"package.json"),`{} `),await M.writeFilePromise(x.join(i,"yarn.lock"),"");let n=x.join(i,".yarnrc.yml"),s=await ye.findProjectCwd(this.context.cwd,xt.lockfile),o=!(await ye.find(this.context.cwd,null,{strict:!1})).get("enableGlobalCache"),a=s!==null?x.join(s,".yarnrc.yml"):null;a!==null&&M.existsSync(a)?(await M.copyFilePromise(a,n),await ye.updateConfiguration(i,y=>{let B={...y,enableGlobalCache:o,enableTelemetry:!1};return Array.isArray(y.plugins)&&(B.plugins=y.plugins.map(v=>{let D=typeof v=="string"?v:v.path,L=K.isAbsolute(D)?D:K.resolve(K.fromPortablePath(s),D);return typeof v=="string"?L:{path:L,spec:v.spec}})),B})):await M.writeFilePromise(n,`enableGlobalCache: ${o} enableTelemetry: false `);let l=(C=this.packages)!=null?C:[this.command],c=P.parseDescriptor(this.command).name,u=await this.cli.run(["add","--",...l],{cwd:i,quiet:this.quiet});if(u!==0)return u;this.quiet||this.context.stdout.write(` -`);let g=await ye.find(i,this.context.plugins),{project:f,workspace:h}=await je.find(g,i);if(h===null)throw new ct(f.cwd,i);await f.restoreInstallState();let p=await Jt.getWorkspaceAccessibleBinaries(h);return p.has(c)===!1&&p.size===1&&typeof this.packages>"u"&&(c=Array.from(p)[0][0]),await Jt.executeWorkspaceAccessibleBinary(h,c,this.args,{packageAccessibleBinaries:p,cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})})}};xu.paths=[["dlx"]],xu.usage=ve.Usage({description:"run a package in a temporary environment",details:"\n This command will install a package within a temporary environment, and run its binary script if it contains any. The binary will run within the current cwd.\n\n By default Yarn will download the package named `command`, but this can be changed through the use of the `-p,--package` flag which will instruct Yarn to still run the same command but from a different package.\n\n Using `yarn dlx` as a replacement of `yarn add` isn't recommended, as it makes your project non-deterministic (Yarn doesn't keep track of the packages installed through `dlx` - neither their name, nor their version).\n ",examples:[["Use create-react-app to create a new React app","yarn dlx create-react-app ./my-app"],["Install multiple packages for a single command",`yarn dlx -p typescript -p ts-node ts-node --transpile-only -e "console.log('hello!')"`]]});var n3e={commands:[Yh,xu]},s3e=n3e;var ZT={};ut(ZT,{default:()=>A3e,fileUtils:()=>Hm});var jh=/^(?:[a-zA-Z]:[\\/]|\.{0,2}\/)/,Um=/^[^?]*\.(?:tar\.gz|tgz)(?:::.*)?$/,qr="file:";var Hm={};ut(Hm,{makeArchiveFromLocator:()=>mQ,makeBufferFromLocator:()=>_T,makeLocator:()=>XT,makeSpec:()=>Aae,parseSpec:()=>VT});function VT(r){let{params:e,selector:t}=P.parseRange(r),i=K.toPortablePath(t);return{parentLocator:e&&typeof e.locator=="string"?P.parseLocator(e.locator):null,path:i}}function Aae({parentLocator:r,path:e,folderHash:t,protocol:i}){let n=r!==null?{locator:P.stringifyLocator(r)}:{},s=typeof t<"u"?{hash:t}:{};return P.makeRange({protocol:i,source:e,selector:e,params:{...s,...n}})}function XT(r,{parentLocator:e,path:t,folderHash:i,protocol:n}){return P.makeLocator(r,Aae({parentLocator:e,path:t,folderHash:i,protocol:n}))}async function mQ(r,{protocol:e,fetchOptions:t,inMemory:i=!1}){let{parentLocator:n,path:s}=P.parseFileStyleRange(r.reference,{protocol:e}),o=x.isAbsolute(s)?{packageFs:new jt(Oe.root),prefixPath:Oe.dot,localPath:Oe.root}:await t.fetcher.fetch(n,t),a=o.localPath?{packageFs:new jt(Oe.root),prefixPath:x.relative(Oe.root,o.localPath)}:o;o!==a&&o.releaseFs&&o.releaseFs();let l=a.packageFs,c=x.join(a.prefixPath,s);return await Ie.releaseAfterUseAsync(async()=>await Ci.makeArchiveFromDirectory(c,{baseFs:l,prefixPath:P.getIdentVendorPath(r),compressionLevel:t.project.configuration.get("compressionLevel"),inMemory:i}),a.releaseFs)}async function _T(r,{protocol:e,fetchOptions:t}){return(await mQ(r,{protocol:e,fetchOptions:t,inMemory:!0})).getBufferAndClose()}var EQ=class{supports(e,t){return!!e.reference.startsWith(qr)}getLocalPath(e,t){let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:qr});if(x.isAbsolute(n))return n;let s=t.fetcher.getLocalPath(i,t);return s===null?null:x.resolve(s,n)}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,t),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),localPath:this.getLocalPath(e,t),checksum:o}}async fetchFromDisk(e,t){return mQ(e,{protocol:qr,fetchOptions:t})}};var o3e=2,IQ=class{supportsDescriptor(e,t){return e.range.match(jh)?!0:!!e.range.startsWith(qr)}supportsLocator(e,t){return!!e.reference.startsWith(qr)}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,i){return jh.test(e.range)&&(e=P.makeDescriptor(e,`${qr}${e.range}`)),P.bindDescriptor(e,{locator:P.stringifyLocator(t)})}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){if(!i.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{path:n,parentLocator:s}=VT(e.range);if(s===null)throw new Error("Assertion failed: The descriptor should have been bound");let o=await _T(P.makeLocator(e,P.makeRange({protocol:qr,source:n,selector:n,params:{locator:P.stringifyLocator(s)}})),{protocol:qr,fetchOptions:i.fetchOptions}),a=li.makeHash(`${o3e}`,o).slice(0,6);return[XT(e,{parentLocator:s,path:n,folderHash:a,protocol:qr})]}async getSatisfying(e,t,i){return null}async resolve(e,t){if(!t.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),n=await Ie.releaseAfterUseAsync(async()=>await ot.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return{...e,version:n.version||"0.0.0",languageName:n.languageName||t.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin}}};var yQ=class{supports(e,t){return Um.test(e.reference)?!!e.reference.startsWith(qr):!1}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,t),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromDisk(e,t){let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:qr}),s=x.isAbsolute(n)?{packageFs:new jt(Oe.root),prefixPath:Oe.dot,localPath:Oe.root}:await t.fetcher.fetch(i,t),o=s.localPath?{packageFs:new jt(Oe.root),prefixPath:x.relative(Oe.root,s.localPath)}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=x.join(o.prefixPath,n),c=await a.readFilePromise(l);return await Ie.releaseAfterUseAsync(async()=>await Ci.convertToZip(c,{compressionLevel:t.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1}),o.releaseFs)}};var wQ=class{supportsDescriptor(e,t){return Um.test(e.range)?!!(e.range.startsWith(qr)||jh.test(e.range)):!1}supportsLocator(e,t){return Um.test(e.reference)?!!e.reference.startsWith(qr):!1}shouldPersistResolution(e,t){return!0}bindDescriptor(e,t,i){return jh.test(e.range)&&(e=P.makeDescriptor(e,`${qr}${e.range}`)),P.bindDescriptor(e,{locator:P.stringifyLocator(t)})}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){let n=e.range;return n.startsWith(qr)&&(n=n.slice(qr.length)),[P.makeLocator(e,`${qr}${K.toPortablePath(n)}`)]}async getSatisfying(e,t,i){return null}async resolve(e,t){if(!t.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),n=await Ie.releaseAfterUseAsync(async()=>await ot.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return{...e,version:n.version||"0.0.0",languageName:n.languageName||t.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin}}};var a3e={fetchers:[yQ,EQ],resolvers:[wQ,IQ]},A3e=a3e;var $T={};ut($T,{default:()=>g3e});var lae=Pe(J("querystring")),cae=[/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+)\/tarball\/([^/#]+)(?:#(.*))?$/,/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+?)(?:\.git)?(?:#(.*))?$/];function uae(r){return r?cae.some(e=>!!r.match(e)):!1}function gae(r){let e;for(let a of cae)if(e=r.match(a),e)break;if(!e)throw new Error(l3e(r));let[,t,i,n,s="master"]=e,{commit:o}=lae.default.parse(s);return s=o||s.replace(/[^:]*:/,""),{auth:t,username:i,reponame:n,treeish:s}}function l3e(r){return`Input cannot be parsed as a valid GitHub URL ('${r}').`}var BQ=class{supports(e,t){return!!uae(e.reference)}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from GitHub`),loader:()=>this.fetchFromNetwork(e,t),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,t){let i=await Vt.get(this.getLocatorUrl(e,t),{configuration:t.project.configuration});return await M.mktempPromise(async n=>{let s=new jt(n);await Ci.extractArchiveTo(i,s,{stripComponents:1});let o=$a.splitRepoUrl(e.reference),a=x.join(n,"package.tgz");await Jt.prepareExternalProject(n,a,{configuration:t.project.configuration,report:t.report,workspace:o.extra.workspace,locator:e});let l=await M.readFilePromise(a);return await Ci.convertToZip(l,{compressionLevel:t.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1})})}getLocatorUrl(e,t){let{auth:i,username:n,reponame:s,treeish:o}=gae(e.reference);return`https://${i?`${i}@`:""}github.com/${n}/${s}/archive/${o}.tar.gz`}};var u3e={hooks:{async fetchHostedRepository(r,e,t){if(r!==null)return r;let i=new BQ;if(!i.supports(e,t))return null;try{return await i.fetch(e,t)}catch{return null}}}},g3e=u3e;var eO={};ut(eO,{default:()=>h3e});var Gm=/^[^?]*\.(?:tar\.gz|tgz)(?:\?.*)?$/,Ym=/^https?:/;var QQ=class{supports(e,t){return Gm.test(e.reference)?!!Ym.test(e.reference):!1}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,t),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,t){let i=await Vt.get(e.reference,{configuration:t.project.configuration});return await Ci.convertToZip(i,{compressionLevel:t.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1})}};var bQ=class{supportsDescriptor(e,t){return Gm.test(e.range)?!!Ym.test(e.range):!1}supportsLocator(e,t){return Gm.test(e.reference)?!!Ym.test(e.reference):!1}shouldPersistResolution(e,t){return!0}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){return[P.convertDescriptorToLocator(e)]}async getSatisfying(e,t,i){return null}async resolve(e,t){if(!t.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),n=await Ie.releaseAfterUseAsync(async()=>await ot.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return{...e,version:n.version||"0.0.0",languageName:n.languageName||t.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin}}};var f3e={fetchers:[QQ],resolvers:[bQ]},h3e=f3e;var nO={};ut(nO,{default:()=>p4e});var Kae=Pe(Mae()),iO=J("util"),Pu=class extends De{constructor(){super(...arguments);this.private=z.Boolean("-p,--private",!1,{description:"Initialize a private package"});this.workspace=z.Boolean("-w,--workspace",!1,{description:"Initialize a workspace root with a `packages/` directory"});this.install=z.String("-i,--install",!1,{tolerateBoolean:!0,description:"Initialize a package with a specific bundle that will be locked in the project"});this.usev2=z.Boolean("-2",!1,{hidden:!0});this.yes=z.Boolean("-y,--yes",{hidden:!0});this.assumeFreshProject=z.Boolean("--assume-fresh-project",!1,{hidden:!0})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i=typeof this.install=="string"?this.install:this.usev2||this.install===!0?"latest":null;return i!==null?await this.executeProxy(t,i):await this.executeRegular(t)}async executeProxy(t,i){if(t.projectCwd!==null&&t.projectCwd!==this.context.cwd)throw new be("Cannot use the --install flag from within a project subdirectory");M.existsSync(this.context.cwd)||await M.mkdirPromise(this.context.cwd,{recursive:!0});let n=x.join(this.context.cwd,t.get("lockfileFilename"));M.existsSync(n)||await M.writeFilePromise(n,"");let s=await this.cli.run(["set","version",i],{quiet:!0});if(s!==0)return s;let o=[];return this.private&&o.push("-p"),this.workspace&&o.push("-w"),this.yes&&o.push("-y"),await M.mktempPromise(async a=>{let{code:l}=await Cr.pipevp("yarn",["init",...o],{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,env:await Jt.makeScriptEnv({binFolder:a})});return l})}async executeRegular(t){var c;let i=null;try{i=(await je.find(t,this.context.cwd)).project}catch{i=null}M.existsSync(this.context.cwd)||await M.mkdirPromise(this.context.cwd,{recursive:!0});let n=await ot.tryFind(this.context.cwd)||new ot,s=Object.fromEntries(t.get("initFields").entries());n.load(s),n.name=(c=n.name)!=null?c:P.makeIdent(t.get("initScope"),x.basename(this.context.cwd)),n.packageManager=Lr&&Ie.isTaggedYarnVersion(Lr)?`yarn@${Lr}`:null,typeof n.raw.private>"u"&&(this.private||this.workspace&&n.workspaceDefinitions.length===0)&&(n.private=!0),this.workspace&&n.workspaceDefinitions.length===0&&(await M.mkdirPromise(x.join(this.context.cwd,"packages"),{recursive:!0}),n.workspaceDefinitions=[{pattern:"packages/*"}]);let o={};n.exportTo(o),iO.inspect.styles.name="cyan",this.context.stdout.write(`${(0,iO.inspect)(o,{depth:1/0,colors:!0,compact:!1})} +`);let g=await ye.find(i,this.context.plugins),{project:f,workspace:h}=await je.find(g,i);if(h===null)throw new ct(f.cwd,i);await f.restoreInstallState();let p=await Wt.getWorkspaceAccessibleBinaries(h);return p.has(c)===!1&&p.size===1&&typeof this.packages>"u"&&(c=Array.from(p)[0][0]),await Wt.executeWorkspaceAccessibleBinary(h,c,this.args,{packageAccessibleBinaries:p,cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})})}};Lu.paths=[["dlx"]],Lu.usage=ve.Usage({description:"run a package in a temporary environment",details:"\n This command will install a package within a temporary environment, and run its binary script if it contains any. The binary will run within the current cwd.\n\n By default Yarn will download the package named `command`, but this can be changed through the use of the `-p,--package` flag which will instruct Yarn to still run the same command but from a different package.\n\n Using `yarn dlx` as a replacement of `yarn add` isn't recommended, as it makes your project non-deterministic (Yarn doesn't keep track of the packages installed through `dlx` - neither their name, nor their version).\n ",examples:[["Use create-react-app to create a new React app","yarn dlx create-react-app ./my-app"],["Install multiple packages for a single command",`yarn dlx -p typescript -p ts-node ts-node --transpile-only -e "console.log('hello!')"`]]});var l3e={commands:[_h,Lu]},c3e=l3e;var bO={};ut(bO,{default:()=>f3e,fileUtils:()=>Vm});var $h=/^(?:[a-zA-Z]:[\\/]|\.{0,2}\/)/,zm=/^[^?]*\.(?:tar\.gz|tgz)(?:::.*)?$/,qr="file:";var Vm={};ut(Vm,{makeArchiveFromLocator:()=>NQ,makeBufferFromLocator:()=>QO,makeLocator:()=>BO,makeSpec:()=>zae,parseSpec:()=>wO});function wO(r){let{params:e,selector:t}=P.parseRange(r),i=K.toPortablePath(t);return{parentLocator:e&&typeof e.locator=="string"?P.parseLocator(e.locator):null,path:i}}function zae({parentLocator:r,path:e,folderHash:t,protocol:i}){let n=r!==null?{locator:P.stringifyLocator(r)}:{},s=typeof t<"u"?{hash:t}:{};return P.makeRange({protocol:i,source:e,selector:e,params:{...s,...n}})}function BO(r,{parentLocator:e,path:t,folderHash:i,protocol:n}){return P.makeLocator(r,zae({parentLocator:e,path:t,folderHash:i,protocol:n}))}async function NQ(r,{protocol:e,fetchOptions:t,inMemory:i=!1}){let{parentLocator:n,path:s}=P.parseFileStyleRange(r.reference,{protocol:e}),o=x.isAbsolute(s)?{packageFs:new qt(Oe.root),prefixPath:Oe.dot,localPath:Oe.root}:await t.fetcher.fetch(n,t),a=o.localPath?{packageFs:new qt(Oe.root),prefixPath:x.relative(Oe.root,o.localPath)}:o;o!==a&&o.releaseFs&&o.releaseFs();let l=a.packageFs,c=x.join(a.prefixPath,s);return await Ie.releaseAfterUseAsync(async()=>await mi.makeArchiveFromDirectory(c,{baseFs:l,prefixPath:P.getIdentVendorPath(r),compressionLevel:t.project.configuration.get("compressionLevel"),inMemory:i}),a.releaseFs)}async function QO(r,{protocol:e,fetchOptions:t}){return(await NQ(r,{protocol:e,fetchOptions:t,inMemory:!0})).getBufferAndClose()}var LQ=class{supports(e,t){return!!e.reference.startsWith(qr)}getLocalPath(e,t){let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:qr});if(x.isAbsolute(n))return n;let s=t.fetcher.getLocalPath(i,t);return s===null?null:x.resolve(s,n)}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,t),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),localPath:this.getLocalPath(e,t),checksum:o}}async fetchFromDisk(e,t){return NQ(e,{protocol:qr,fetchOptions:t})}};var u3e=2,TQ=class{supportsDescriptor(e,t){return e.range.match($h)?!0:!!e.range.startsWith(qr)}supportsLocator(e,t){return!!e.reference.startsWith(qr)}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,i){return $h.test(e.range)&&(e=P.makeDescriptor(e,`${qr}${e.range}`)),P.bindDescriptor(e,{locator:P.stringifyLocator(t)})}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){if(!i.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{path:n,parentLocator:s}=wO(e.range);if(s===null)throw new Error("Assertion failed: The descriptor should have been bound");let o=await QO(P.makeLocator(e,P.makeRange({protocol:qr,source:n,selector:n,params:{locator:P.stringifyLocator(s)}})),{protocol:qr,fetchOptions:i.fetchOptions}),a=li.makeHash(`${u3e}`,o).slice(0,6);return[BO(e,{parentLocator:s,path:n,folderHash:a,protocol:qr})]}async getSatisfying(e,t,i){return null}async resolve(e,t){if(!t.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),n=await Ie.releaseAfterUseAsync(async()=>await ot.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return{...e,version:n.version||"0.0.0",languageName:n.languageName||t.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin}}};var OQ=class{supports(e,t){return zm.test(e.reference)?!!e.reference.startsWith(qr):!1}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,t),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromDisk(e,t){let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:qr}),s=x.isAbsolute(n)?{packageFs:new qt(Oe.root),prefixPath:Oe.dot,localPath:Oe.root}:await t.fetcher.fetch(i,t),o=s.localPath?{packageFs:new qt(Oe.root),prefixPath:x.relative(Oe.root,s.localPath)}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=x.join(o.prefixPath,n),c=await a.readFilePromise(l);return await Ie.releaseAfterUseAsync(async()=>await mi.convertToZip(c,{compressionLevel:t.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1}),o.releaseFs)}};var MQ=class{supportsDescriptor(e,t){return zm.test(e.range)?!!(e.range.startsWith(qr)||$h.test(e.range)):!1}supportsLocator(e,t){return zm.test(e.reference)?!!e.reference.startsWith(qr):!1}shouldPersistResolution(e,t){return!0}bindDescriptor(e,t,i){return $h.test(e.range)&&(e=P.makeDescriptor(e,`${qr}${e.range}`)),P.bindDescriptor(e,{locator:P.stringifyLocator(t)})}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){let n=e.range;return n.startsWith(qr)&&(n=n.slice(qr.length)),[P.makeLocator(e,`${qr}${K.toPortablePath(n)}`)]}async getSatisfying(e,t,i){return null}async resolve(e,t){if(!t.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),n=await Ie.releaseAfterUseAsync(async()=>await ot.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return{...e,version:n.version||"0.0.0",languageName:n.languageName||t.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin}}};var g3e={fetchers:[OQ,LQ],resolvers:[MQ,TQ]},f3e=g3e;var SO={};ut(SO,{default:()=>C3e});var Vae=Pe(J("querystring")),Xae=[/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+)\/tarball\/([^/#]+)(?:#(.*))?$/,/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+?)(?:\.git)?(?:#(.*))?$/];function Zae(r){return r?Xae.some(e=>!!r.match(e)):!1}function _ae(r){let e;for(let a of Xae)if(e=r.match(a),e)break;if(!e)throw new Error(h3e(r));let[,t,i,n,s="master"]=e,{commit:o}=Vae.default.parse(s);return s=o||s.replace(/[^:]*:/,""),{auth:t,username:i,reponame:n,treeish:s}}function h3e(r){return`Input cannot be parsed as a valid GitHub URL ('${r}').`}var KQ=class{supports(e,t){return!!Zae(e.reference)}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from GitHub`),loader:()=>this.fetchFromNetwork(e,t),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,t){let i=await Xt.get(this.getLocatorUrl(e,t),{configuration:t.project.configuration});return await M.mktempPromise(async n=>{let s=new qt(n);await mi.extractArchiveTo(i,s,{stripComponents:1});let o=aA.splitRepoUrl(e.reference),a=x.join(n,"package.tgz");await Wt.prepareExternalProject(n,a,{configuration:t.project.configuration,report:t.report,workspace:o.extra.workspace,locator:e});let l=await M.readFilePromise(a);return await mi.convertToZip(l,{compressionLevel:t.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1})})}getLocatorUrl(e,t){let{auth:i,username:n,reponame:s,treeish:o}=_ae(e.reference);return`https://${i?`${i}@`:""}github.com/${n}/${s}/archive/${o}.tar.gz`}};var d3e={hooks:{async fetchHostedRepository(r,e,t){if(r!==null)return r;let i=new KQ;if(!i.supports(e,t))return null;try{return await i.fetch(e,t)}catch{return null}}}},C3e=d3e;var vO={};ut(vO,{default:()=>E3e});var Xm=/^[^?]*\.(?:tar\.gz|tgz)(?:\?.*)?$/,Zm=/^https?:/;var UQ=class{supports(e,t){return Xm.test(e.reference)?!!Zm.test(e.reference):!1}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,t),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,t){let i=await Xt.get(e.reference,{configuration:t.project.configuration});return await mi.convertToZip(i,{compressionLevel:t.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1})}};var HQ=class{supportsDescriptor(e,t){return Xm.test(e.range)?!!Zm.test(e.range):!1}supportsLocator(e,t){return Xm.test(e.reference)?!!Zm.test(e.reference):!1}shouldPersistResolution(e,t){return!0}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){return[P.convertDescriptorToLocator(e)]}async getSatisfying(e,t,i){return null}async resolve(e,t){if(!t.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),n=await Ie.releaseAfterUseAsync(async()=>await ot.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return{...e,version:n.version||"0.0.0",languageName:n.languageName||t.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin}}};var m3e={fetchers:[UQ],resolvers:[HQ]},E3e=m3e;var kO={};ut(kO,{default:()=>I8e});var bAe=Pe(QAe()),DO=J("util"),Tu=class extends De{constructor(){super(...arguments);this.private=z.Boolean("-p,--private",!1,{description:"Initialize a private package"});this.workspace=z.Boolean("-w,--workspace",!1,{description:"Initialize a workspace root with a `packages/` directory"});this.install=z.String("-i,--install",!1,{tolerateBoolean:!0,description:"Initialize a package with a specific bundle that will be locked in the project"});this.usev2=z.Boolean("-2",!1,{hidden:!0});this.yes=z.Boolean("-y,--yes",{hidden:!0});this.assumeFreshProject=z.Boolean("--assume-fresh-project",!1,{hidden:!0})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i=typeof this.install=="string"?this.install:this.usev2||this.install===!0?"latest":null;return i!==null?await this.executeProxy(t,i):await this.executeRegular(t)}async executeProxy(t,i){if(t.projectCwd!==null&&t.projectCwd!==this.context.cwd)throw new be("Cannot use the --install flag from within a project subdirectory");M.existsSync(this.context.cwd)||await M.mkdirPromise(this.context.cwd,{recursive:!0});let n=x.join(this.context.cwd,t.get("lockfileFilename"));M.existsSync(n)||await M.writeFilePromise(n,"");let s=await this.cli.run(["set","version",i],{quiet:!0});if(s!==0)return s;let o=[];return this.private&&o.push("-p"),this.workspace&&o.push("-w"),this.yes&&o.push("-y"),await M.mktempPromise(async a=>{let{code:l}=await Cr.pipevp("yarn",["init",...o],{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,env:await Wt.makeScriptEnv({binFolder:a})});return l})}async executeRegular(t){var c;let i=null;try{i=(await je.find(t,this.context.cwd)).project}catch{i=null}M.existsSync(this.context.cwd)||await M.mkdirPromise(this.context.cwd,{recursive:!0});let n=await ot.tryFind(this.context.cwd)||new ot,s=Object.fromEntries(t.get("initFields").entries());n.load(s),n.name=(c=n.name)!=null?c:P.makeIdent(t.get("initScope"),x.basename(this.context.cwd)),n.packageManager=Lr&&Ie.isTaggedYarnVersion(Lr)?`yarn@${Lr}`:null,typeof n.raw.private>"u"&&(this.private||this.workspace&&n.workspaceDefinitions.length===0)&&(n.private=!0),this.workspace&&n.workspaceDefinitions.length===0&&(await M.mkdirPromise(x.join(this.context.cwd,"packages"),{recursive:!0}),n.workspaceDefinitions=[{pattern:"packages/*"}]);let o={};n.exportTo(o),DO.inspect.styles.name="cyan",this.context.stdout.write(`${(0,DO.inspect)(o,{depth:1/0,colors:!0,compact:!1})} `);let a=x.join(this.context.cwd,ot.fileName);await M.changeFilePromise(a,`${JSON.stringify(o,null,2)} `,{automaticNewlines:!0});let l=x.join(this.context.cwd,"README.md");if(M.existsSync(l)||await M.writeFilePromise(l,`# ${P.stringifyIdent(n.name)} `),!i||i.cwd===this.context.cwd){let u=x.join(this.context.cwd,xt.lockfile);M.existsSync(u)||await M.writeFilePromise(u,"");let f=[".yarn/*","!.yarn/patches","!.yarn/plugins","!.yarn/releases","!.yarn/sdks","!.yarn/versions","","# Swap the comments on the following lines if you don't wish to use zero-installs","# Documentation here: https://yarnpkg.com/features/zero-installs","!.yarn/cache","#.pnp.*"].map(L=>`${L} `).join(""),h=x.join(this.context.cwd,".gitignore");M.existsSync(h)||await M.writeFilePromise(h,f);let C=["/.yarn/** linguist-vendored","/.yarn/releases/* binary","/.yarn/plugins/**/* binary","/.pnp.* binary linguist-generated"].map(L=>`${L} -`).join(""),y=x.join(this.context.cwd,".gitattributes");M.existsSync(y)||await M.writeFilePromise(y,C);let B={["*"]:{endOfLine:"lf",insertFinalNewline:!0},["*.{js,json,yml}"]:{charset:"utf-8",indentStyle:"space",indentSize:2}};(0,Kae.default)(B,t.get("initEditorConfig"));let v=`root = true +`).join(""),y=x.join(this.context.cwd,".gitattributes");M.existsSync(y)||await M.writeFilePromise(y,C);let B={["*"]:{endOfLine:"lf",insertFinalNewline:!0},["*.{js,json,yml}"]:{charset:"utf-8",indentStyle:"space",indentSize:2}};(0,bAe.default)(B,t.get("initEditorConfig"));let v=`root = true `;for(let[L,H]of Object.entries(B)){v+=` [${L}] `;for(let[j,$]of Object.entries(H))v+=`${j.replace(/[A-Z]/g,W=>`_${W.toLowerCase()}`)} = ${$} -`}let D=x.join(this.context.cwd,".editorconfig");M.existsSync(D)||await M.writeFilePromise(D,v),M.existsSync(x.join(this.context.cwd,".git"))||await Cr.execvp("git",["init"],{cwd:this.context.cwd})}}};Pu.paths=[["init"]],Pu.usage=ve.Usage({description:"create a new package",details:"\n This command will setup a new package in your local directory.\n\n If the `-p,--private` or `-w,--workspace` options are set, the package will be private by default.\n\n If the `-w,--workspace` option is set, the package will be configured to accept a set of workspaces in the `packages/` directory.\n\n If the `-i,--install` option is given a value, Yarn will first download it using `yarn set version` and only then forward the init call to the newly downloaded bundle. Without arguments, the downloaded bundle will be `latest`.\n\n The initial settings of the manifest can be changed by using the `initScope` and `initFields` configuration values. Additionally, Yarn will generate an EditorConfig file whose rules can be altered via `initEditorConfig`, and will initialize a Git repository in the current directory.\n ",examples:[["Create a new package in the local directory","yarn init"],["Create a new private package in the local directory","yarn init -p"],["Create a new package and store the Yarn release inside","yarn init -i=latest"],["Create a new private package and defines it as a workspace root","yarn init -w"]]});var h4e={configuration:{initScope:{description:"Scope used when creating packages via the init command",type:"STRING",default:null},initFields:{description:"Additional fields to set when creating packages via the init command",type:"MAP",valueDefinition:{description:"",type:"ANY"}},initEditorConfig:{description:"Extra rules to define in the generator editorconfig",type:"MAP",valueDefinition:{description:"",type:"ANY"}}},commands:[Pu]},p4e=h4e;var sO={};ut(sO,{default:()=>C4e});var eA="portal:",tA="link:";var SQ=class{supports(e,t){return!!e.reference.startsWith(eA)}getLocalPath(e,t){let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:eA});if(x.isAbsolute(n))return n;let s=t.fetcher.getLocalPath(i,t);return s===null?null:x.resolve(s,n)}async fetch(e,t){var c;let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:eA}),s=x.isAbsolute(n)?{packageFs:new jt(Oe.root),prefixPath:Oe.dot,localPath:Oe.root}:await t.fetcher.fetch(i,t),o=s.localPath?{packageFs:new jt(Oe.root),prefixPath:x.relative(Oe.root,s.localPath),localPath:Oe.root}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=x.resolve((c=o.localPath)!=null?c:o.packageFs.getRealPath(),o.prefixPath,n);return s.localPath?{packageFs:new jt(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Oe.dot,localPath:l}:{packageFs:new wo(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Oe.dot}}};var vQ=class{supportsDescriptor(e,t){return!!e.range.startsWith(eA)}supportsLocator(e,t){return!!e.reference.startsWith(eA)}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,i){return P.bindDescriptor(e,{locator:P.stringifyLocator(t)})}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){let n=e.range.slice(eA.length);return[P.makeLocator(e,`${eA}${K.toPortablePath(n)}`)]}async getSatisfying(e,t,i){return null}async resolve(e,t){if(!t.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),n=await Ie.releaseAfterUseAsync(async()=>await ot.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return{...e,version:n.version||"0.0.0",languageName:n.languageName||t.project.configuration.get("defaultLanguageName"),linkType:"SOFT",conditions:n.getConditions(),dependencies:new Map([...n.dependencies]),peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin}}};var xQ=class{supports(e,t){return!!e.reference.startsWith(tA)}getLocalPath(e,t){let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:tA});if(x.isAbsolute(n))return n;let s=t.fetcher.getLocalPath(i,t);return s===null?null:x.resolve(s,n)}async fetch(e,t){var c;let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:tA}),s=x.isAbsolute(n)?{packageFs:new jt(Oe.root),prefixPath:Oe.dot,localPath:Oe.root}:await t.fetcher.fetch(i,t),o=s.localPath?{packageFs:new jt(Oe.root),prefixPath:x.relative(Oe.root,s.localPath),localPath:Oe.root}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=x.resolve((c=o.localPath)!=null?c:o.packageFs.getRealPath(),o.prefixPath,n);return s.localPath?{packageFs:new jt(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Oe.dot,discardFromLookup:!0,localPath:l}:{packageFs:new wo(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Oe.dot,discardFromLookup:!0}}};var PQ=class{supportsDescriptor(e,t){return!!e.range.startsWith(tA)}supportsLocator(e,t){return!!e.reference.startsWith(tA)}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,i){return P.bindDescriptor(e,{locator:P.stringifyLocator(t)})}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){let n=e.range.slice(tA.length);return[P.makeLocator(e,`${tA}${K.toPortablePath(n)}`)]}async getSatisfying(e,t,i){return null}async resolve(e,t){return{...e,version:"0.0.0",languageName:t.project.configuration.get("defaultLanguageName"),linkType:"SOFT",conditions:null,dependencies:new Map,peerDependencies:new Map,dependenciesMeta:new Map,peerDependenciesMeta:new Map,bin:new Map}}};var d4e={fetchers:[xQ,SQ],resolvers:[PQ,vQ]},C4e=d4e;var MO={};ut(MO,{default:()=>N8e});var aO=(r,e)=>`${r}@${e}`,Uae=(r,e)=>{let t=e.indexOf("#"),i=t>=0?e.substring(t+1):e;return aO(r,i)};var Yae=(r,e={})=>{let t=e.debugLevel||Number(process.env.NM_DEBUG_LEVEL||-1),i=e.check||t>=9,n=e.hoistingLimits||new Map,s={check:i,debugLevel:t,hoistingLimits:n,fastLookupPossible:!0},o;s.debugLevel>=0&&(o=Date.now());let a=Q4e(r,s),l=!1,c=0;do l=AO(a,[a],new Set([a.locator]),new Map,s).anotherRoundNeeded,s.fastLookupPossible=!1,c++;while(l);if(s.debugLevel>=0&&console.log(`hoist time: ${Date.now()-o}ms, rounds: ${c}`),s.debugLevel>=1){let u=jm(a);if(AO(a,[a],new Set([a.locator]),new Map,s).isGraphChanged)throw new Error(`The hoisting result is not terminal, prev tree: +`}let D=x.join(this.context.cwd,".editorconfig");M.existsSync(D)||await M.writeFilePromise(D,v),M.existsSync(x.join(this.context.cwd,".git"))||await Cr.execvp("git",["init"],{cwd:this.context.cwd})}}};Tu.paths=[["init"]],Tu.usage=ve.Usage({description:"create a new package",details:"\n This command will setup a new package in your local directory.\n\n If the `-p,--private` or `-w,--workspace` options are set, the package will be private by default.\n\n If the `-w,--workspace` option is set, the package will be configured to accept a set of workspaces in the `packages/` directory.\n\n If the `-i,--install` option is given a value, Yarn will first download it using `yarn set version` and only then forward the init call to the newly downloaded bundle. Without arguments, the downloaded bundle will be `latest`.\n\n The initial settings of the manifest can be changed by using the `initScope` and `initFields` configuration values. Additionally, Yarn will generate an EditorConfig file whose rules can be altered via `initEditorConfig`, and will initialize a Git repository in the current directory.\n ",examples:[["Create a new package in the local directory","yarn init"],["Create a new private package in the local directory","yarn init -p"],["Create a new package and store the Yarn release inside","yarn init -i=latest"],["Create a new private package and defines it as a workspace root","yarn init -w"]]});var E8e={configuration:{initScope:{description:"Scope used when creating packages via the init command",type:"STRING",default:null},initFields:{description:"Additional fields to set when creating packages via the init command",type:"MAP",valueDefinition:{description:"",type:"ANY"}},initEditorConfig:{description:"Extra rules to define in the generator editorconfig",type:"MAP",valueDefinition:{description:"",type:"ANY"}}},commands:[Tu]},I8e=E8e;var RO={};ut(RO,{default:()=>w8e});var AA="portal:",lA="link:";var GQ=class{supports(e,t){return!!e.reference.startsWith(AA)}getLocalPath(e,t){let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:AA});if(x.isAbsolute(n))return n;let s=t.fetcher.getLocalPath(i,t);return s===null?null:x.resolve(s,n)}async fetch(e,t){var c;let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:AA}),s=x.isAbsolute(n)?{packageFs:new qt(Oe.root),prefixPath:Oe.dot,localPath:Oe.root}:await t.fetcher.fetch(i,t),o=s.localPath?{packageFs:new qt(Oe.root),prefixPath:x.relative(Oe.root,s.localPath),localPath:Oe.root}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=x.resolve((c=o.localPath)!=null?c:o.packageFs.getRealPath(),o.prefixPath,n);return s.localPath?{packageFs:new qt(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Oe.dot,localPath:l}:{packageFs:new So(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Oe.dot}}};var YQ=class{supportsDescriptor(e,t){return!!e.range.startsWith(AA)}supportsLocator(e,t){return!!e.reference.startsWith(AA)}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,i){return P.bindDescriptor(e,{locator:P.stringifyLocator(t)})}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){let n=e.range.slice(AA.length);return[P.makeLocator(e,`${AA}${K.toPortablePath(n)}`)]}async getSatisfying(e,t,i){return null}async resolve(e,t){if(!t.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),n=await Ie.releaseAfterUseAsync(async()=>await ot.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return{...e,version:n.version||"0.0.0",languageName:n.languageName||t.project.configuration.get("defaultLanguageName"),linkType:"SOFT",conditions:n.getConditions(),dependencies:new Map([...n.dependencies]),peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin}}};var jQ=class{supports(e,t){return!!e.reference.startsWith(lA)}getLocalPath(e,t){let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:lA});if(x.isAbsolute(n))return n;let s=t.fetcher.getLocalPath(i,t);return s===null?null:x.resolve(s,n)}async fetch(e,t){var c;let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:lA}),s=x.isAbsolute(n)?{packageFs:new qt(Oe.root),prefixPath:Oe.dot,localPath:Oe.root}:await t.fetcher.fetch(i,t),o=s.localPath?{packageFs:new qt(Oe.root),prefixPath:x.relative(Oe.root,s.localPath),localPath:Oe.root}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=x.resolve((c=o.localPath)!=null?c:o.packageFs.getRealPath(),o.prefixPath,n);return s.localPath?{packageFs:new qt(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Oe.dot,discardFromLookup:!0,localPath:l}:{packageFs:new So(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Oe.dot,discardFromLookup:!0}}};var qQ=class{supportsDescriptor(e,t){return!!e.range.startsWith(lA)}supportsLocator(e,t){return!!e.reference.startsWith(lA)}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,i){return P.bindDescriptor(e,{locator:P.stringifyLocator(t)})}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){let n=e.range.slice(lA.length);return[P.makeLocator(e,`${lA}${K.toPortablePath(n)}`)]}async getSatisfying(e,t,i){return null}async resolve(e,t){return{...e,version:"0.0.0",languageName:t.project.configuration.get("defaultLanguageName"),linkType:"SOFT",conditions:null,dependencies:new Map,peerDependencies:new Map,dependenciesMeta:new Map,peerDependenciesMeta:new Map,bin:new Map}}};var y8e={fetchers:[jQ,GQ],resolvers:[qQ,YQ]},w8e=y8e;var uM={};ut(uM,{default:()=>Kze});var NO=(r,e)=>`${r}@${e}`,SAe=(r,e)=>{let t=e.indexOf("#"),i=t>=0?e.substring(t+1):e;return NO(r,i)};var PAe=(r,e={})=>{let t=e.debugLevel||Number(process.env.NM_DEBUG_LEVEL||-1),i=e.check||t>=9,n=e.hoistingLimits||new Map,s={check:i,debugLevel:t,hoistingLimits:n,fastLookupPossible:!0},o;s.debugLevel>=0&&(o=Date.now());let a=P8e(r,s),l=!1,c=0;do l=LO(a,[a],new Set([a.locator]),new Map,s).anotherRoundNeeded,s.fastLookupPossible=!1,c++;while(l);if(s.debugLevel>=0&&console.log(`hoist time: ${Date.now()-o}ms, rounds: ${c}`),s.debugLevel>=1){let u=_m(a);if(LO(a,[a],new Set([a.locator]),new Map,s).isGraphChanged)throw new Error(`The hoisting result is not terminal, prev tree: ${u}, next tree: -${jm(a)}`);let f=jae(a);if(f)throw new Error(`${f}, after hoisting finished: -${jm(a)}`)}return s.debugLevel>=2&&console.log(jm(a)),b4e(a)},m4e=r=>{let e=r[r.length-1],t=new Map,i=new Set,n=s=>{if(!i.has(s)){i.add(s);for(let o of s.hoistedDependencies.values())t.set(o.name,o);for(let o of s.dependencies.values())s.peerNames.has(o.name)||n(o)}};return n(e),t},E4e=r=>{let e=r[r.length-1],t=new Map,i=new Set,n=new Set,s=(o,a)=>{if(i.has(o))return;i.add(o);for(let c of o.hoistedDependencies.values())if(!a.has(c.name)){let u;for(let g of r)u=g.dependencies.get(c.name),u&&t.set(u.name,u)}let l=new Set;for(let c of o.dependencies.values())l.add(c.name);for(let c of o.dependencies.values())o.peerNames.has(c.name)||s(c,l)};return s(e,n),t},Hae=(r,e)=>{if(e.decoupled)return e;let{name:t,references:i,ident:n,locator:s,dependencies:o,originalDependencies:a,hoistedDependencies:l,peerNames:c,reasons:u,isHoistBorder:g,hoistPriority:f,dependencyKind:h,hoistedFrom:p,hoistedTo:C}=e,y={name:t,references:new Set(i),ident:n,locator:s,dependencies:new Map(o),originalDependencies:new Map(a),hoistedDependencies:new Map(l),peerNames:new Set(c),reasons:new Map(u),decoupled:!0,isHoistBorder:g,hoistPriority:f,dependencyKind:h,hoistedFrom:new Map(p),hoistedTo:new Map(C)},B=y.dependencies.get(t);return B&&B.ident==y.ident&&y.dependencies.set(t,y),r.dependencies.set(y.name,y),y},I4e=(r,e)=>{let t=new Map([[r.name,[r.ident]]]);for(let n of r.dependencies.values())r.peerNames.has(n.name)||t.set(n.name,[n.ident]);let i=Array.from(e.keys());i.sort((n,s)=>{let o=e.get(n),a=e.get(s);return a.hoistPriority!==o.hoistPriority?a.hoistPriority-o.hoistPriority:a.peerDependents.size!==o.peerDependents.size?a.peerDependents.size-o.peerDependents.size:a.dependents.size-o.dependents.size});for(let n of i){let s=n.substring(0,n.indexOf("@",1)),o=n.substring(s.length+1);if(!r.peerNames.has(s)){let a=t.get(s);a||(a=[],t.set(s,a)),a.indexOf(o)<0&&a.push(o)}}return t},oO=r=>{let e=new Set,t=(i,n=new Set)=>{if(!n.has(i)){n.add(i);for(let s of i.peerNames)if(!r.peerNames.has(s)){let o=r.dependencies.get(s);o&&!e.has(o)&&t(o,n)}e.add(i)}};for(let i of r.dependencies.values())r.peerNames.has(i.name)||t(i);return e},AO=(r,e,t,i,n,s=new Set)=>{let o=e[e.length-1];if(s.has(o))return{anotherRoundNeeded:!1,isGraphChanged:!1};s.add(o);let a=S4e(o),l=I4e(o,a),c=r==o?new Map:n.fastLookupPossible?m4e(e):E4e(e),u,g=!1,f=!1,h=new Map(Array.from(l.entries()).map(([C,y])=>[C,y[0]])),p=new Map;do{let C=B4e(r,e,t,c,h,l,i,p,n);C.isGraphChanged&&(f=!0),C.anotherRoundNeeded&&(g=!0),u=!1;for(let[y,B]of l)B.length>1&&!o.dependencies.has(y)&&(h.delete(y),B.shift(),h.set(y,B[0]),u=!0)}while(u);for(let C of o.dependencies.values())if(!o.peerNames.has(C.name)&&!t.has(C.locator)){t.add(C.locator);let y=AO(r,[...e,C],t,p,n);y.isGraphChanged&&(f=!0),y.anotherRoundNeeded&&(g=!0),t.delete(C.locator)}return{anotherRoundNeeded:g,isGraphChanged:f}},y4e=r=>{for(let[e,t]of r.dependencies)if(!r.peerNames.has(e)&&t.ident!==r.ident)return!0;return!1},w4e=(r,e,t,i,n,s,o,a,{outputReason:l,fastLookupPossible:c})=>{let u,g=null,f=new Set;l&&(u=`${Array.from(e).map(y=>Di(y)).join("\u2192")}`);let h=t[t.length-1],C=!(i.ident===h.ident);if(l&&!C&&(g="- self-reference"),C&&(C=i.dependencyKind!==1,l&&!C&&(g="- workspace")),C&&i.dependencyKind===2&&(C=!y4e(i),l&&!C&&(g="- external soft link with unhoisted dependencies")),C&&(C=h.dependencyKind!==1||h.hoistedFrom.has(i.name)||e.size===1,l&&!C&&(g=h.reasons.get(i.name))),C&&(C=!r.peerNames.has(i.name),l&&!C&&(g=`- cannot shadow peer: ${Di(r.originalDependencies.get(i.name).locator)} at ${u}`)),C){let y=!1,B=n.get(i.name);if(y=!B||B.ident===i.ident,l&&!y&&(g=`- filled by: ${Di(B.locator)} at ${u}`),y)for(let v=t.length-1;v>=1;v--){let L=t[v].dependencies.get(i.name);if(L&&L.ident!==i.ident){y=!1;let H=a.get(h);H||(H=new Set,a.set(h,H)),H.add(i.name),l&&(g=`- filled by ${Di(L.locator)} at ${t.slice(0,v).map(j=>Di(j.locator)).join("\u2192")}`);break}}C=y}if(C&&(C=s.get(i.name)===i.ident,l&&!C&&(g=`- filled by: ${Di(o.get(i.name)[0])} at ${u}`)),C){let y=!0,B=new Set(i.peerNames);for(let v=t.length-1;v>=1;v--){let D=t[v];for(let L of B){if(D.peerNames.has(L)&&D.originalDependencies.has(L))continue;let H=D.dependencies.get(L);H&&r.dependencies.get(L)!==H&&(v===t.length-1?f.add(H):(f=null,y=!1,l&&(g=`- peer dependency ${Di(H.locator)} from parent ${Di(D.locator)} was not hoisted to ${u}`))),B.delete(L)}if(!y)break}C=y}if(C&&!c)for(let y of i.hoistedDependencies.values()){let B=n.get(y.name)||r.dependencies.get(y.name);if(!B||y.ident!==B.ident){C=!1,l&&(g=`- previously hoisted dependency mismatch, needed: ${Di(y.locator)}, available: ${Di(B==null?void 0:B.locator)}`);break}}return f!==null&&f.size>0?{isHoistable:2,dependsOn:f,reason:g}:{isHoistable:C?0:1,reason:g}},DQ=r=>`${r.name}@${r.locator}`,B4e=(r,e,t,i,n,s,o,a,l)=>{let c=e[e.length-1],u=new Set,g=!1,f=!1,h=(B,v,D,L,H)=>{if(u.has(L))return;let j=[...v,DQ(L)],$=[...D,DQ(L)],V=new Map,W=new Map;for(let re of oO(L)){let O=w4e(c,t,[c,...B,L],re,i,n,s,a,{outputReason:l.debugLevel>=2,fastLookupPossible:l.fastLookupPossible});if(W.set(re,O),O.isHoistable===2)for(let F of O.dependsOn){let ue=V.get(F.name)||new Set;ue.add(re.name),V.set(F.name,ue)}}let Z=new Set,A=(re,O,F)=>{if(!Z.has(re)){Z.add(re),W.set(re,{isHoistable:1,reason:F});for(let ue of V.get(re.name)||[])A(L.dependencies.get(ue),O,l.debugLevel>=2?`- peer dependency ${Di(re.locator)} from parent ${Di(L.locator)} was not hoisted`:"")}};for(let[re,O]of W)O.isHoistable===1&&A(re,O,O.reason);let ae=!1;for(let re of W.keys())if(!Z.has(re)){f=!0;let O=o.get(L);O&&O.has(re.name)&&(g=!0),ae=!0,L.dependencies.delete(re.name),L.hoistedDependencies.set(re.name,re),L.reasons.delete(re.name);let F=c.dependencies.get(re.name);if(l.debugLevel>=2){let ue=Array.from(v).concat([L.locator]).map(ke=>Di(ke)).join("\u2192"),he=c.hoistedFrom.get(re.name);he||(he=[],c.hoistedFrom.set(re.name,he)),he.push(ue),L.hoistedTo.set(re.name,Array.from(e).map(ke=>Di(ke.locator)).join("\u2192"))}if(!F)c.ident!==re.ident&&(c.dependencies.set(re.name,re),H.add(re));else for(let ue of re.references)F.references.add(ue)}if(L.dependencyKind===2&&ae&&(g=!0),l.check){let re=jae(r);if(re)throw new Error(`${re}, after hoisting dependencies of ${[c,...B,L].map(O=>Di(O.locator)).join("\u2192")}: -${jm(r)}`)}let ge=oO(L);for(let re of ge)if(Z.has(re)){let O=W.get(re);if((n.get(re.name)===re.ident||!L.reasons.has(re.name))&&O.isHoistable!==0&&L.reasons.set(re.name,O.reason),!re.isHoistBorder&&$.indexOf(DQ(re))<0){u.add(L);let ue=Hae(L,re);h([...B,L],j,$,ue,C),u.delete(L)}}},p,C=new Set(oO(c)),y=Array.from(e).map(B=>DQ(B));do{p=C,C=new Set;for(let B of p){if(B.locator===c.locator||B.isHoistBorder)continue;let v=Hae(c,B);h([],Array.from(t),y,v,C)}}while(C.size>0);return{anotherRoundNeeded:g,isGraphChanged:f}},jae=r=>{let e=[],t=new Set,i=new Set,n=(s,o,a)=>{if(t.has(s)||(t.add(s),i.has(s)))return;let l=new Map(o);for(let c of s.dependencies.values())s.peerNames.has(c.name)||l.set(c.name,c);for(let c of s.originalDependencies.values()){let u=l.get(c.name),g=()=>`${Array.from(i).concat([s]).map(f=>Di(f.locator)).join("\u2192")}`;if(s.peerNames.has(c.name)){let f=o.get(c.name);(f!==u||!f||f.ident!==c.ident)&&e.push(`${g()} - broken peer promise: expected ${c.ident} but found ${f&&f.ident}`)}else{let f=a.hoistedFrom.get(s.name),h=s.hoistedTo.get(c.name),p=`${f?` hoisted from ${f.join(", ")}`:""}`,C=`${h?` hoisted to ${h}`:""}`,y=`${g()}${p}`;u?u.ident!==c.ident&&e.push(`${y} - broken require promise for ${c.name}${C}: expected ${c.ident}, but found: ${u.ident}`):e.push(`${y} - broken require promise: no required dependency ${c.name}${C} found`)}}i.add(s);for(let c of s.dependencies.values())s.peerNames.has(c.name)||n(c,l,s);i.delete(s)};return n(r,r.dependencies,r),e.join(` -`)},Q4e=(r,e)=>{let{identName:t,name:i,reference:n,peerNames:s}=r,o={name:i,references:new Set([n]),locator:aO(t,n),ident:Uae(t,n),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(s),reasons:new Map,decoupled:!0,isHoistBorder:!0,hoistPriority:0,dependencyKind:1,hoistedFrom:new Map,hoistedTo:new Map},a=new Map([[r,o]]),l=(c,u)=>{let g=a.get(c),f=!!g;if(!g){let{name:h,identName:p,reference:C,peerNames:y,hoistPriority:B,dependencyKind:v}=c,D=e.hoistingLimits.get(u.locator);g={name:h,references:new Set([C]),locator:aO(p,C),ident:Uae(p,C),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(y),reasons:new Map,decoupled:!0,isHoistBorder:D?D.has(h):!1,hoistPriority:B||0,dependencyKind:v||0,hoistedFrom:new Map,hoistedTo:new Map},a.set(c,g)}if(u.dependencies.set(c.name,g),u.originalDependencies.set(c.name,g),f){let h=new Set,p=C=>{if(!h.has(C)){h.add(C),C.decoupled=!1;for(let y of C.dependencies.values())C.peerNames.has(y.name)||p(y)}};p(g)}else for(let h of c.dependencies)l(h,g)};for(let c of r.dependencies)l(c,o);return o},lO=r=>r.substring(0,r.indexOf("@",1)),b4e=r=>{let e={name:r.name,identName:lO(r.locator),references:new Set(r.references),dependencies:new Set},t=new Set([r]),i=(n,s,o)=>{let a=t.has(n),l;if(s===n)l=o;else{let{name:c,references:u,locator:g}=n;l={name:c,identName:lO(g),references:u,dependencies:new Set}}if(o.dependencies.add(l),!a){t.add(n);for(let c of n.dependencies.values())n.peerNames.has(c.name)||i(c,n,l);t.delete(n)}};for(let n of r.dependencies.values())i(n,r,e);return e},S4e=r=>{let e=new Map,t=new Set([r]),i=o=>`${o.name}@${o.ident}`,n=o=>{let a=i(o),l=e.get(a);return l||(l={dependents:new Set,peerDependents:new Set,hoistPriority:0},e.set(a,l)),l},s=(o,a)=>{let l=!!t.has(a);if(n(a).dependents.add(o.ident),!l){t.add(a);for(let u of a.dependencies.values()){let g=n(u);g.hoistPriority=Math.max(g.hoistPriority,u.hoistPriority),a.peerNames.has(u.name)?g.peerDependents.add(a.ident):s(a,u)}}};for(let o of r.dependencies.values())r.peerNames.has(o.name)||s(r,o);return e},Di=r=>{if(!r)return"none";let e=r.indexOf("@",1),t=r.substring(0,e);t.endsWith("$wsroot$")&&(t=`wh:${t.replace("$wsroot$","")}`);let i=r.substring(e+1);if(i==="workspace:.")return".";if(i){let n=(i.indexOf("#")>0?i.split("#")[1]:i).replace("npm:","");return i.startsWith("virtual")&&(t=`v:${t}`),n.startsWith("workspace")&&(t=`w:${t}`,n=""),`${t}${n?`@${n}`:""}`}else return`${t}`},Gae=5e4,jm=r=>{let e=0,t=(n,s,o="")=>{if(e>Gae||s.has(n))return"";e++;let a=Array.from(n.dependencies.values()).sort((c,u)=>c.name===u.name?0:c.name>u.name?1:-1),l="";s.add(n);for(let c=0;c":"")+(f!==u.name?`a:${u.name}:`:"")+Di(u.locator)+(g?` ${g}`:"")} -`,l+=t(u,s,`${o}${cGae?` +${_m(a)}`);let f=DAe(a);if(f)throw new Error(`${f}, after hoisting finished: +${_m(a)}`)}return s.debugLevel>=2&&console.log(_m(a)),D8e(a)},B8e=r=>{let e=r[r.length-1],t=new Map,i=new Set,n=s=>{if(!i.has(s)){i.add(s);for(let o of s.hoistedDependencies.values())t.set(o.name,o);for(let o of s.dependencies.values())s.peerNames.has(o.name)||n(o)}};return n(e),t},Q8e=r=>{let e=r[r.length-1],t=new Map,i=new Set,n=new Set,s=(o,a)=>{if(i.has(o))return;i.add(o);for(let c of o.hoistedDependencies.values())if(!a.has(c.name)){let u;for(let g of r)u=g.dependencies.get(c.name),u&&t.set(u.name,u)}let l=new Set;for(let c of o.dependencies.values())l.add(c.name);for(let c of o.dependencies.values())o.peerNames.has(c.name)||s(c,l)};return s(e,n),t},vAe=(r,e)=>{if(e.decoupled)return e;let{name:t,references:i,ident:n,locator:s,dependencies:o,originalDependencies:a,hoistedDependencies:l,peerNames:c,reasons:u,isHoistBorder:g,hoistPriority:f,dependencyKind:h,hoistedFrom:p,hoistedTo:C}=e,y={name:t,references:new Set(i),ident:n,locator:s,dependencies:new Map(o),originalDependencies:new Map(a),hoistedDependencies:new Map(l),peerNames:new Set(c),reasons:new Map(u),decoupled:!0,isHoistBorder:g,hoistPriority:f,dependencyKind:h,hoistedFrom:new Map(p),hoistedTo:new Map(C)},B=y.dependencies.get(t);return B&&B.ident==y.ident&&y.dependencies.set(t,y),r.dependencies.set(y.name,y),y},b8e=(r,e)=>{let t=new Map([[r.name,[r.ident]]]);for(let n of r.dependencies.values())r.peerNames.has(n.name)||t.set(n.name,[n.ident]);let i=Array.from(e.keys());i.sort((n,s)=>{let o=e.get(n),a=e.get(s);return a.hoistPriority!==o.hoistPriority?a.hoistPriority-o.hoistPriority:a.peerDependents.size!==o.peerDependents.size?a.peerDependents.size-o.peerDependents.size:a.dependents.size-o.dependents.size});for(let n of i){let s=n.substring(0,n.indexOf("@",1)),o=n.substring(s.length+1);if(!r.peerNames.has(s)){let a=t.get(s);a||(a=[],t.set(s,a)),a.indexOf(o)<0&&a.push(o)}}return t},FO=r=>{let e=new Set,t=(i,n=new Set)=>{if(!n.has(i)){n.add(i);for(let s of i.peerNames)if(!r.peerNames.has(s)){let o=r.dependencies.get(s);o&&!e.has(o)&&t(o,n)}e.add(i)}};for(let i of r.dependencies.values())r.peerNames.has(i.name)||t(i);return e},LO=(r,e,t,i,n,s=new Set)=>{let o=e[e.length-1];if(s.has(o))return{anotherRoundNeeded:!1,isGraphChanged:!1};s.add(o);let a=k8e(o),l=b8e(o,a),c=r==o?new Map:n.fastLookupPossible?B8e(e):Q8e(e),u,g=!1,f=!1,h=new Map(Array.from(l.entries()).map(([C,y])=>[C,y[0]])),p=new Map;do{let C=x8e(r,e,t,c,h,l,i,p,n);C.isGraphChanged&&(f=!0),C.anotherRoundNeeded&&(g=!0),u=!1;for(let[y,B]of l)B.length>1&&!o.dependencies.has(y)&&(h.delete(y),B.shift(),h.set(y,B[0]),u=!0)}while(u);for(let C of o.dependencies.values())if(!o.peerNames.has(C.name)&&!t.has(C.locator)){t.add(C.locator);let y=LO(r,[...e,C],t,p,n);y.isGraphChanged&&(f=!0),y.anotherRoundNeeded&&(g=!0),t.delete(C.locator)}return{anotherRoundNeeded:g,isGraphChanged:f}},S8e=r=>{for(let[e,t]of r.dependencies)if(!r.peerNames.has(e)&&t.ident!==r.ident)return!0;return!1},v8e=(r,e,t,i,n,s,o,a,{outputReason:l,fastLookupPossible:c})=>{let u,g=null,f=new Set;l&&(u=`${Array.from(e).map(y=>ki(y)).join("\u2192")}`);let h=t[t.length-1],C=!(i.ident===h.ident);if(l&&!C&&(g="- self-reference"),C&&(C=i.dependencyKind!==1,l&&!C&&(g="- workspace")),C&&i.dependencyKind===2&&(C=!S8e(i),l&&!C&&(g="- external soft link with unhoisted dependencies")),C&&(C=h.dependencyKind!==1||h.hoistedFrom.has(i.name)||e.size===1,l&&!C&&(g=h.reasons.get(i.name))),C&&(C=!r.peerNames.has(i.name),l&&!C&&(g=`- cannot shadow peer: ${ki(r.originalDependencies.get(i.name).locator)} at ${u}`)),C){let y=!1,B=n.get(i.name);if(y=!B||B.ident===i.ident,l&&!y&&(g=`- filled by: ${ki(B.locator)} at ${u}`),y)for(let v=t.length-1;v>=1;v--){let L=t[v].dependencies.get(i.name);if(L&&L.ident!==i.ident){y=!1;let H=a.get(h);H||(H=new Set,a.set(h,H)),H.add(i.name),l&&(g=`- filled by ${ki(L.locator)} at ${t.slice(0,v).map(j=>ki(j.locator)).join("\u2192")}`);break}}C=y}if(C&&(C=s.get(i.name)===i.ident,l&&!C&&(g=`- filled by: ${ki(o.get(i.name)[0])} at ${u}`)),C){let y=!0,B=new Set(i.peerNames);for(let v=t.length-1;v>=1;v--){let D=t[v];for(let L of B){if(D.peerNames.has(L)&&D.originalDependencies.has(L))continue;let H=D.dependencies.get(L);H&&r.dependencies.get(L)!==H&&(v===t.length-1?f.add(H):(f=null,y=!1,l&&(g=`- peer dependency ${ki(H.locator)} from parent ${ki(D.locator)} was not hoisted to ${u}`))),B.delete(L)}if(!y)break}C=y}if(C&&!c)for(let y of i.hoistedDependencies.values()){let B=n.get(y.name)||r.dependencies.get(y.name);if(!B||y.ident!==B.ident){C=!1,l&&(g=`- previously hoisted dependency mismatch, needed: ${ki(y.locator)}, available: ${ki(B==null?void 0:B.locator)}`);break}}return f!==null&&f.size>0?{isHoistable:2,dependsOn:f,reason:g}:{isHoistable:C?0:1,reason:g}},JQ=r=>`${r.name}@${r.locator}`,x8e=(r,e,t,i,n,s,o,a,l)=>{let c=e[e.length-1],u=new Set,g=!1,f=!1,h=(B,v,D,L,H)=>{if(u.has(L))return;let j=[...v,JQ(L)],$=[...D,JQ(L)],V=new Map,W=new Map;for(let re of FO(L)){let O=v8e(c,t,[c,...B,L],re,i,n,s,a,{outputReason:l.debugLevel>=2,fastLookupPossible:l.fastLookupPossible});if(W.set(re,O),O.isHoistable===2)for(let F of O.dependsOn){let ue=V.get(F.name)||new Set;ue.add(re.name),V.set(F.name,ue)}}let _=new Set,A=(re,O,F)=>{if(!_.has(re)){_.add(re),W.set(re,{isHoistable:1,reason:F});for(let ue of V.get(re.name)||[])A(L.dependencies.get(ue),O,l.debugLevel>=2?`- peer dependency ${ki(re.locator)} from parent ${ki(L.locator)} was not hoisted`:"")}};for(let[re,O]of W)O.isHoistable===1&&A(re,O,O.reason);let ae=!1;for(let re of W.keys())if(!_.has(re)){f=!0;let O=o.get(L);O&&O.has(re.name)&&(g=!0),ae=!0,L.dependencies.delete(re.name),L.hoistedDependencies.set(re.name,re),L.reasons.delete(re.name);let F=c.dependencies.get(re.name);if(l.debugLevel>=2){let ue=Array.from(v).concat([L.locator]).map(ke=>ki(ke)).join("\u2192"),he=c.hoistedFrom.get(re.name);he||(he=[],c.hoistedFrom.set(re.name,he)),he.push(ue),L.hoistedTo.set(re.name,Array.from(e).map(ke=>ki(ke.locator)).join("\u2192"))}if(!F)c.ident!==re.ident&&(c.dependencies.set(re.name,re),H.add(re));else for(let ue of re.references)F.references.add(ue)}if(L.dependencyKind===2&&ae&&(g=!0),l.check){let re=DAe(r);if(re)throw new Error(`${re}, after hoisting dependencies of ${[c,...B,L].map(O=>ki(O.locator)).join("\u2192")}: +${_m(r)}`)}let ge=FO(L);for(let re of ge)if(_.has(re)){let O=W.get(re);if((n.get(re.name)===re.ident||!L.reasons.has(re.name))&&O.isHoistable!==0&&L.reasons.set(re.name,O.reason),!re.isHoistBorder&&$.indexOf(JQ(re))<0){u.add(L);let ue=vAe(L,re);h([...B,L],j,$,ue,C),u.delete(L)}}},p,C=new Set(FO(c)),y=Array.from(e).map(B=>JQ(B));do{p=C,C=new Set;for(let B of p){if(B.locator===c.locator||B.isHoistBorder)continue;let v=vAe(c,B);h([],Array.from(t),y,v,C)}}while(C.size>0);return{anotherRoundNeeded:g,isGraphChanged:f}},DAe=r=>{let e=[],t=new Set,i=new Set,n=(s,o,a)=>{if(t.has(s)||(t.add(s),i.has(s)))return;let l=new Map(o);for(let c of s.dependencies.values())s.peerNames.has(c.name)||l.set(c.name,c);for(let c of s.originalDependencies.values()){let u=l.get(c.name),g=()=>`${Array.from(i).concat([s]).map(f=>ki(f.locator)).join("\u2192")}`;if(s.peerNames.has(c.name)){let f=o.get(c.name);(f!==u||!f||f.ident!==c.ident)&&e.push(`${g()} - broken peer promise: expected ${c.ident} but found ${f&&f.ident}`)}else{let f=a.hoistedFrom.get(s.name),h=s.hoistedTo.get(c.name),p=`${f?` hoisted from ${f.join(", ")}`:""}`,C=`${h?` hoisted to ${h}`:""}`,y=`${g()}${p}`;u?u.ident!==c.ident&&e.push(`${y} - broken require promise for ${c.name}${C}: expected ${c.ident}, but found: ${u.ident}`):e.push(`${y} - broken require promise: no required dependency ${c.name}${C} found`)}}i.add(s);for(let c of s.dependencies.values())s.peerNames.has(c.name)||n(c,l,s);i.delete(s)};return n(r,r.dependencies,r),e.join(` +`)},P8e=(r,e)=>{let{identName:t,name:i,reference:n,peerNames:s}=r,o={name:i,references:new Set([n]),locator:NO(t,n),ident:SAe(t,n),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(s),reasons:new Map,decoupled:!0,isHoistBorder:!0,hoistPriority:0,dependencyKind:1,hoistedFrom:new Map,hoistedTo:new Map},a=new Map([[r,o]]),l=(c,u)=>{let g=a.get(c),f=!!g;if(!g){let{name:h,identName:p,reference:C,peerNames:y,hoistPriority:B,dependencyKind:v}=c,D=e.hoistingLimits.get(u.locator);g={name:h,references:new Set([C]),locator:NO(p,C),ident:SAe(p,C),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(y),reasons:new Map,decoupled:!0,isHoistBorder:D?D.has(h):!1,hoistPriority:B||0,dependencyKind:v||0,hoistedFrom:new Map,hoistedTo:new Map},a.set(c,g)}if(u.dependencies.set(c.name,g),u.originalDependencies.set(c.name,g),f){let h=new Set,p=C=>{if(!h.has(C)){h.add(C),C.decoupled=!1;for(let y of C.dependencies.values())C.peerNames.has(y.name)||p(y)}};p(g)}else for(let h of c.dependencies)l(h,g)};for(let c of r.dependencies)l(c,o);return o},TO=r=>r.substring(0,r.indexOf("@",1)),D8e=r=>{let e={name:r.name,identName:TO(r.locator),references:new Set(r.references),dependencies:new Set},t=new Set([r]),i=(n,s,o)=>{let a=t.has(n),l;if(s===n)l=o;else{let{name:c,references:u,locator:g}=n;l={name:c,identName:TO(g),references:u,dependencies:new Set}}if(o.dependencies.add(l),!a){t.add(n);for(let c of n.dependencies.values())n.peerNames.has(c.name)||i(c,n,l);t.delete(n)}};for(let n of r.dependencies.values())i(n,r,e);return e},k8e=r=>{let e=new Map,t=new Set([r]),i=o=>`${o.name}@${o.ident}`,n=o=>{let a=i(o),l=e.get(a);return l||(l={dependents:new Set,peerDependents:new Set,hoistPriority:0},e.set(a,l)),l},s=(o,a)=>{let l=!!t.has(a);if(n(a).dependents.add(o.ident),!l){t.add(a);for(let u of a.dependencies.values()){let g=n(u);g.hoistPriority=Math.max(g.hoistPriority,u.hoistPriority),a.peerNames.has(u.name)?g.peerDependents.add(a.ident):s(a,u)}}};for(let o of r.dependencies.values())r.peerNames.has(o.name)||s(r,o);return e},ki=r=>{if(!r)return"none";let e=r.indexOf("@",1),t=r.substring(0,e);t.endsWith("$wsroot$")&&(t=`wh:${t.replace("$wsroot$","")}`);let i=r.substring(e+1);if(i==="workspace:.")return".";if(i){let n=(i.indexOf("#")>0?i.split("#")[1]:i).replace("npm:","");return i.startsWith("virtual")&&(t=`v:${t}`),n.startsWith("workspace")&&(t=`w:${t}`,n=""),`${t}${n?`@${n}`:""}`}else return`${t}`},xAe=5e4,_m=r=>{let e=0,t=(n,s,o="")=>{if(e>xAe||s.has(n))return"";e++;let a=Array.from(n.dependencies.values()).sort((c,u)=>c.name===u.name?0:c.name>u.name?1:-1),l="";s.add(n);for(let c=0;c":"")+(f!==u.name?`a:${u.name}:`:"")+ki(u.locator)+(g?` ${g}`:"")} +`,l+=t(u,s,`${o}${cxAe?` Tree is too large, part of the tree has been dunped -`:"")};var qm=(i=>(i.WORKSPACES="workspaces",i.DEPENDENCIES="dependencies",i.NONE="none",i))(qm||{}),qae="node_modules",Du="$wsroot$";var Jm=(r,e)=>{let{packageTree:t,hoistingLimits:i,errors:n,preserveSymlinksRequired:s}=x4e(r,e),o=null;if(n.length===0){let a=Yae(t,{hoistingLimits:i});o=D4e(r,a,e)}return{tree:o,errors:n,preserveSymlinksRequired:s}},ea=r=>`${r.name}@${r.reference}`,uO=r=>{let e=new Map;for(let[t,i]of r.entries())if(!i.dirList){let n=e.get(i.locator);n||(n={target:i.target,linkType:i.linkType,locations:[],aliases:i.aliases},e.set(i.locator,n)),n.locations.push(t)}for(let t of e.values())t.locations=t.locations.sort((i,n)=>{let s=i.split(x.delimiter).length,o=n.split(x.delimiter).length;return n===i?0:s!==o?o-s:n>i?1:-1});return e},Jae=(r,e)=>{let t=P.isVirtualLocator(r)?P.devirtualizeLocator(r):r,i=P.isVirtualLocator(e)?P.devirtualizeLocator(e):e;return P.areLocatorsEqual(t,i)},cO=(r,e,t,i)=>{if(r.linkType!=="SOFT")return!1;let n=K.toPortablePath(t.resolveVirtual&&e.reference&&e.reference.startsWith("virtual:")?t.resolveVirtual(r.packageLocation):r.packageLocation);return x.contains(i,n)===null},v4e=r=>{let e=r.getPackageInformation(r.topLevel);if(e===null)throw new Error("Assertion failed: Expected the top-level package to have been registered");if(r.findPackageLocator(e.packageLocation)===null)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");let i=K.toPortablePath(e.packageLocation.slice(0,-1)),n=new Map,s={children:new Map},o=r.getDependencyTreeRoots(),a=new Map,l=new Set,c=(f,h)=>{let p=ea(f);if(l.has(p))return;l.add(p);let C=r.getPackageInformation(f);if(C){let y=h?ea(h):"";if(ea(f)!==y&&C.linkType==="SOFT"&&!cO(C,f,r,i)){let B=Wae(C,f,r);(!a.get(B)||f.reference.startsWith("workspace:"))&&a.set(B,f)}for(let[B,v]of C.packageDependencies)v!==null&&(C.packagePeers.has(B)||c(r.getLocator(B,v),f))}};for(let f of o)c(f,null);let u=i.split(x.sep);for(let f of a.values()){let h=r.getPackageInformation(f),C=K.toPortablePath(h.packageLocation.slice(0,-1)).split(x.sep).slice(u.length),y=s;for(let B of C){let v=y.children.get(B);v||(v={children:new Map},y.children.set(B,v)),y=v}y.workspaceLocator=f}let g=(f,h)=>{if(f.workspaceLocator){let p=ea(h),C=n.get(p);C||(C=new Set,n.set(p,C)),C.add(f.workspaceLocator)}for(let p of f.children.values())g(p,f.workspaceLocator||h)};for(let f of s.children.values())g(f,s.workspaceLocator);return n},x4e=(r,e)=>{let t=[],i=!1,n=new Map,s=v4e(r),o=r.getPackageInformation(r.topLevel);if(o===null)throw new Error("Assertion failed: Expected the top-level package to have been registered");let a=r.findPackageLocator(o.packageLocation);if(a===null)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");let l=K.toPortablePath(o.packageLocation.slice(0,-1)),c={name:a.name,identName:a.name,reference:a.reference,peerNames:o.packagePeers,dependencies:new Set,dependencyKind:1},u=new Map,g=(h,p)=>`${ea(p)}:${h}`,f=(h,p,C,y,B,v,D,L)=>{var re,O;let H=g(h,C),j=u.get(H),$=!!j;!$&&C.name===a.name&&C.reference===a.reference&&(j=c,u.set(H,c));let V=cO(p,C,r,l);if(!j){let F=0;V?F=2:p.linkType==="SOFT"&&C.name.endsWith(Du)&&(F=1),j={name:h,identName:C.name,reference:C.reference,dependencies:new Set,peerNames:F===1?new Set:p.packagePeers,dependencyKind:F},u.set(H,j)}let W;if(V?W=2:B.linkType==="SOFT"?W=1:W=0,j.hoistPriority=Math.max(j.hoistPriority||0,W),L&&!V){let F=ea({name:y.identName,reference:y.reference}),ue=n.get(F)||new Set;n.set(F,ue),ue.add(j.name)}let Z=new Map(p.packageDependencies);if(e.project){let F=e.project.workspacesByCwd.get(K.toPortablePath(p.packageLocation.slice(0,-1)));if(F){let ue=new Set([...Array.from(F.manifest.peerDependencies.values(),he=>P.stringifyIdent(he)),...Array.from(F.manifest.peerDependenciesMeta.keys())]);for(let he of ue)Z.has(he)||(Z.set(he,v.get(he)||null),j.peerNames.add(he))}}let A=ea({name:C.name.replace(Du,""),reference:C.reference}),ae=s.get(A);if(ae)for(let F of ae)Z.set(`${F.name}${Du}`,F.reference);(p!==B||p.linkType!=="SOFT"||!V&&(!e.selfReferencesByCwd||e.selfReferencesByCwd.get(D)))&&y.dependencies.add(j);let ge=C!==a&&p.linkType==="SOFT"&&!C.name.endsWith(Du)&&!V;if(!$&&!ge){let F=new Map;for(let[ue,he]of Z)if(he!==null){let ke=r.getLocator(ue,he),Fe=r.getLocator(ue.replace(Du,""),he),Ne=r.getPackageInformation(Fe);if(Ne===null)throw new Error("Assertion failed: Expected the package to have been registered");let oe=cO(Ne,ke,r,l);if(e.validateExternalSoftLinks&&e.project&&oe){Ne.packageDependencies.size>0&&(i=!0);for(let[qe,ne]of Ne.packageDependencies)if(ne!==null){let Y=P.parseLocator(Array.isArray(ne)?`${ne[0]}@${ne[1]}`:`${qe}@${ne}`);if(ea(Y)!==ea(ke)){let pe=Z.get(qe);if(pe){let ie=P.parseLocator(Array.isArray(pe)?`${pe[0]}@${pe[1]}`:`${qe}@${pe}`);Jae(ie,Y)||t.push({messageName:71,text:`Cannot link ${P.prettyIdent(e.project.configuration,P.parseIdent(ke.name))} into ${P.prettyLocator(e.project.configuration,P.parseLocator(`${C.name}@${C.reference}`))} dependency ${P.prettyLocator(e.project.configuration,Y)} conflicts with parent dependency ${P.prettyLocator(e.project.configuration,ie)}`})}else{let ie=F.get(qe);if(ie){let de=ie.target,tt=P.parseLocator(Array.isArray(de)?`${de[0]}@${de[1]}`:`${qe}@${de}`);Jae(tt,Y)||t.push({messageName:71,text:`Cannot link ${P.prettyIdent(e.project.configuration,P.parseIdent(ke.name))} into ${P.prettyLocator(e.project.configuration,P.parseLocator(`${C.name}@${C.reference}`))} dependency ${P.prettyLocator(e.project.configuration,Y)} conflicts with dependency ${P.prettyLocator(e.project.configuration,tt)} from sibling portal ${P.prettyIdent(e.project.configuration,P.parseIdent(ie.portal.name))}`})}else F.set(qe,{target:Y.reference,portal:ke})}}}}let le=(re=e.hoistingLimitsByCwd)==null?void 0:re.get(D),we=oe?D:x.relative(l,K.toPortablePath(Ne.packageLocation))||Oe.dot,fe=(O=e.hoistingLimitsByCwd)==null?void 0:O.get(we);f(ue,Ne,ke,j,p,Z,we,le==="dependencies"||fe==="dependencies"||fe==="workspaces")}}};return f(a.name,o,a,c,o,o.packageDependencies,Oe.dot,!1),{packageTree:c,hoistingLimits:n,errors:t,preserveSymlinksRequired:i}};function Wae(r,e,t){let i=t.resolveVirtual&&e.reference&&e.reference.startsWith("virtual:")?t.resolveVirtual(r.packageLocation):r.packageLocation;return K.toPortablePath(i||r.packageLocation)}function P4e(r,e,t){let i=e.getLocator(r.name.replace(Du,""),r.reference),n=e.getPackageInformation(i);if(n===null)throw new Error("Assertion failed: Expected the package to be registered");let s,o;return t.pnpifyFs?(o=K.toPortablePath(n.packageLocation),s="SOFT"):(o=Wae(n,r,e),s=n.linkType),{linkType:s,target:o}}var D4e=(r,e,t)=>{let i=new Map,n=(u,g,f)=>{let{linkType:h,target:p}=P4e(u,r,t);return{locator:ea(u),nodePath:g,target:p,linkType:h,aliases:f}},s=u=>{let[g,f]=u.split("/");return f?{scope:Ur(g),name:Ur(f)}:{scope:null,name:Ur(g)}},o=new Set,a=(u,g,f)=>{if(o.has(u))return;o.add(u);let h=Array.from(u.references).sort().join("#");for(let p of u.dependencies){let C=Array.from(p.references).sort().join("#");if(p.identName===u.identName&&C===h)continue;let y=Array.from(p.references).sort(),B={name:p.identName,reference:y[0]},{name:v,scope:D}=s(p.name),L=D?[D,v]:[v],H=x.join(g,qae),j=x.join(H,...L),$=`${f}/${B.name}`,V=n(B,f,y.slice(1)),W=!1;if(V.linkType==="SOFT"&&t.project){let A=t.project.workspacesByCwd.get(V.target.slice(0,-1));W=!!(A&&!A.manifest.name)}let Z=V.linkType==="SOFT"&&j.startsWith(V.target);if(!p.name.endsWith(Du)&&!W&&!Z){let A=i.get(j);if(A){if(A.dirList)throw new Error(`Assertion failed: ${j} cannot merge dir node with leaf node`);{let O=P.parseLocator(A.locator),F=P.parseLocator(V.locator);if(A.linkType!==V.linkType)throw new Error(`Assertion failed: ${j} cannot merge nodes with different link types ${A.nodePath}/${P.stringifyLocator(O)} and ${f}/${P.stringifyLocator(F)}`);if(O.identHash!==F.identHash)throw new Error(`Assertion failed: ${j} cannot merge nodes with different idents ${A.nodePath}/${P.stringifyLocator(O)} and ${f}/s${P.stringifyLocator(F)}`);V.aliases=[...V.aliases,...A.aliases,P.parseLocator(A.locator).reference]}}i.set(j,V);let ae=j.split("/"),ge=ae.indexOf(qae),re=ae.length-1;for(;ge>=0&&re>ge;){let O=K.toPortablePath(ae.slice(0,re).join(x.sep)),F=Ur(ae[re]),ue=i.get(O);if(!ue)i.set(O,{dirList:new Set([F])});else if(ue.dirList){if(ue.dirList.has(F))break;ue.dirList.add(F)}re--}}a(p,V.linkType==="SOFT"?V.target:j,$)}},l=n({name:e.name,reference:Array.from(e.references)[0]},"",[]),c=l.target;return i.set(c,l),a(e,c,""),i};var vO={};ut(vO,{PnpInstaller:()=>Fu,PnpLinker:()=>ll,default:()=>a8e,getPnpPath:()=>cl,jsInstallUtils:()=>uo,pnpUtils:()=>rE,quotePathIfNeeded:()=>TAe});var NAe=Pe(Xr()),LAe=J("url");var zae={["DEFAULT"]:{collapsed:!1,next:{["*"]:"DEFAULT"}},["TOP_LEVEL"]:{collapsed:!1,next:{fallbackExclusionList:"FALLBACK_EXCLUSION_LIST",packageRegistryData:"PACKAGE_REGISTRY_DATA",["*"]:"DEFAULT"}},["FALLBACK_EXCLUSION_LIST"]:{collapsed:!1,next:{["*"]:"FALLBACK_EXCLUSION_ENTRIES"}},["FALLBACK_EXCLUSION_ENTRIES"]:{collapsed:!0,next:{["*"]:"FALLBACK_EXCLUSION_DATA"}},["FALLBACK_EXCLUSION_DATA"]:{collapsed:!0,next:{["*"]:"DEFAULT"}},["PACKAGE_REGISTRY_DATA"]:{collapsed:!1,next:{["*"]:"PACKAGE_REGISTRY_ENTRIES"}},["PACKAGE_REGISTRY_ENTRIES"]:{collapsed:!0,next:{["*"]:"PACKAGE_STORE_DATA"}},["PACKAGE_STORE_DATA"]:{collapsed:!1,next:{["*"]:"PACKAGE_STORE_ENTRIES"}},["PACKAGE_STORE_ENTRIES"]:{collapsed:!0,next:{["*"]:"PACKAGE_INFORMATION_DATA"}},["PACKAGE_INFORMATION_DATA"]:{collapsed:!1,next:{packageDependencies:"PACKAGE_DEPENDENCIES",["*"]:"DEFAULT"}},["PACKAGE_DEPENDENCIES"]:{collapsed:!1,next:{["*"]:"PACKAGE_DEPENDENCY"}},["PACKAGE_DEPENDENCY"]:{collapsed:!0,next:{["*"]:"DEFAULT"}}};function k4e(r,e,t){let i="";i+="[";for(let n=0,s=r.length;n"u"||(a!==0&&(n+=", "),n+=JSON.stringify(l),n+=": ",n+=kQ(l,c,e,t).replace(/^ +/g,""),a+=1)}return n+="}",n}function N4e(r,e,t){let i=Object.keys(r),n=`${t} `,s="";s+=t,s+=`{ +`:"")};var $m=(i=>(i.WORKSPACES="workspaces",i.DEPENDENCIES="dependencies",i.NONE="none",i))($m||{}),kAe="node_modules",Ou="$wsroot$";var eE=(r,e)=>{let{packageTree:t,hoistingLimits:i,errors:n,preserveSymlinksRequired:s}=F8e(r,e),o=null;if(n.length===0){let a=PAe(t,{hoistingLimits:i});o=L8e(r,a,e)}return{tree:o,errors:n,preserveSymlinksRequired:s}},sa=r=>`${r.name}@${r.reference}`,MO=r=>{let e=new Map;for(let[t,i]of r.entries())if(!i.dirList){let n=e.get(i.locator);n||(n={target:i.target,linkType:i.linkType,locations:[],aliases:i.aliases},e.set(i.locator,n)),n.locations.push(t)}for(let t of e.values())t.locations=t.locations.sort((i,n)=>{let s=i.split(x.delimiter).length,o=n.split(x.delimiter).length;return n===i?0:s!==o?o-s:n>i?1:-1});return e},RAe=(r,e)=>{let t=P.isVirtualLocator(r)?P.devirtualizeLocator(r):r,i=P.isVirtualLocator(e)?P.devirtualizeLocator(e):e;return P.areLocatorsEqual(t,i)},OO=(r,e,t,i)=>{if(r.linkType!=="SOFT")return!1;let n=K.toPortablePath(t.resolveVirtual&&e.reference&&e.reference.startsWith("virtual:")?t.resolveVirtual(r.packageLocation):r.packageLocation);return x.contains(i,n)===null},R8e=r=>{let e=r.getPackageInformation(r.topLevel);if(e===null)throw new Error("Assertion failed: Expected the top-level package to have been registered");if(r.findPackageLocator(e.packageLocation)===null)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");let i=K.toPortablePath(e.packageLocation.slice(0,-1)),n=new Map,s={children:new Map},o=r.getDependencyTreeRoots(),a=new Map,l=new Set,c=(f,h)=>{let p=sa(f);if(l.has(p))return;l.add(p);let C=r.getPackageInformation(f);if(C){let y=h?sa(h):"";if(sa(f)!==y&&C.linkType==="SOFT"&&!OO(C,f,r,i)){let B=FAe(C,f,r);(!a.get(B)||f.reference.startsWith("workspace:"))&&a.set(B,f)}for(let[B,v]of C.packageDependencies)v!==null&&(C.packagePeers.has(B)||c(r.getLocator(B,v),f))}};for(let f of o)c(f,null);let u=i.split(x.sep);for(let f of a.values()){let h=r.getPackageInformation(f),C=K.toPortablePath(h.packageLocation.slice(0,-1)).split(x.sep).slice(u.length),y=s;for(let B of C){let v=y.children.get(B);v||(v={children:new Map},y.children.set(B,v)),y=v}y.workspaceLocator=f}let g=(f,h)=>{if(f.workspaceLocator){let p=sa(h),C=n.get(p);C||(C=new Set,n.set(p,C)),C.add(f.workspaceLocator)}for(let p of f.children.values())g(p,f.workspaceLocator||h)};for(let f of s.children.values())g(f,s.workspaceLocator);return n},F8e=(r,e)=>{let t=[],i=!1,n=new Map,s=R8e(r),o=r.getPackageInformation(r.topLevel);if(o===null)throw new Error("Assertion failed: Expected the top-level package to have been registered");let a=r.findPackageLocator(o.packageLocation);if(a===null)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");let l=K.toPortablePath(o.packageLocation.slice(0,-1)),c={name:a.name,identName:a.name,reference:a.reference,peerNames:o.packagePeers,dependencies:new Set,dependencyKind:1},u=new Map,g=(h,p)=>`${sa(p)}:${h}`,f=(h,p,C,y,B,v,D,L)=>{var re,O;let H=g(h,C),j=u.get(H),$=!!j;!$&&C.name===a.name&&C.reference===a.reference&&(j=c,u.set(H,c));let V=OO(p,C,r,l);if(!j){let F=0;V?F=2:p.linkType==="SOFT"&&C.name.endsWith(Ou)&&(F=1),j={name:h,identName:C.name,reference:C.reference,dependencies:new Set,peerNames:F===1?new Set:p.packagePeers,dependencyKind:F},u.set(H,j)}let W;if(V?W=2:B.linkType==="SOFT"?W=1:W=0,j.hoistPriority=Math.max(j.hoistPriority||0,W),L&&!V){let F=sa({name:y.identName,reference:y.reference}),ue=n.get(F)||new Set;n.set(F,ue),ue.add(j.name)}let _=new Map(p.packageDependencies);if(e.project){let F=e.project.workspacesByCwd.get(K.toPortablePath(p.packageLocation.slice(0,-1)));if(F){let ue=new Set([...Array.from(F.manifest.peerDependencies.values(),he=>P.stringifyIdent(he)),...Array.from(F.manifest.peerDependenciesMeta.keys())]);for(let he of ue)_.has(he)||(_.set(he,v.get(he)||null),j.peerNames.add(he))}}let A=sa({name:C.name.replace(Ou,""),reference:C.reference}),ae=s.get(A);if(ae)for(let F of ae)_.set(`${F.name}${Ou}`,F.reference);(p!==B||p.linkType!=="SOFT"||!V&&(!e.selfReferencesByCwd||e.selfReferencesByCwd.get(D)))&&y.dependencies.add(j);let ge=C!==a&&p.linkType==="SOFT"&&!C.name.endsWith(Ou)&&!V;if(!$&&!ge){let F=new Map;for(let[ue,he]of _)if(he!==null){let ke=r.getLocator(ue,he),Fe=r.getLocator(ue.replace(Ou,""),he),Ne=r.getPackageInformation(Fe);if(Ne===null)throw new Error("Assertion failed: Expected the package to have been registered");let oe=OO(Ne,ke,r,l);if(e.validateExternalSoftLinks&&e.project&&oe){Ne.packageDependencies.size>0&&(i=!0);for(let[qe,ne]of Ne.packageDependencies)if(ne!==null){let Y=P.parseLocator(Array.isArray(ne)?`${ne[0]}@${ne[1]}`:`${qe}@${ne}`);if(sa(Y)!==sa(ke)){let pe=_.get(qe);if(pe){let ie=P.parseLocator(Array.isArray(pe)?`${pe[0]}@${pe[1]}`:`${qe}@${pe}`);RAe(ie,Y)||t.push({messageName:71,text:`Cannot link ${P.prettyIdent(e.project.configuration,P.parseIdent(ke.name))} into ${P.prettyLocator(e.project.configuration,P.parseLocator(`${C.name}@${C.reference}`))} dependency ${P.prettyLocator(e.project.configuration,Y)} conflicts with parent dependency ${P.prettyLocator(e.project.configuration,ie)}`})}else{let ie=F.get(qe);if(ie){let de=ie.target,_e=P.parseLocator(Array.isArray(de)?`${de[0]}@${de[1]}`:`${qe}@${de}`);RAe(_e,Y)||t.push({messageName:71,text:`Cannot link ${P.prettyIdent(e.project.configuration,P.parseIdent(ke.name))} into ${P.prettyLocator(e.project.configuration,P.parseLocator(`${C.name}@${C.reference}`))} dependency ${P.prettyLocator(e.project.configuration,Y)} conflicts with dependency ${P.prettyLocator(e.project.configuration,_e)} from sibling portal ${P.prettyIdent(e.project.configuration,P.parseIdent(ie.portal.name))}`})}else F.set(qe,{target:Y.reference,portal:ke})}}}}let le=(re=e.hoistingLimitsByCwd)==null?void 0:re.get(D),we=oe?D:x.relative(l,K.toPortablePath(Ne.packageLocation))||Oe.dot,fe=(O=e.hoistingLimitsByCwd)==null?void 0:O.get(we);f(ue,Ne,ke,j,p,_,we,le==="dependencies"||fe==="dependencies"||fe==="workspaces")}}};return f(a.name,o,a,c,o,o.packageDependencies,Oe.dot,!1),{packageTree:c,hoistingLimits:n,errors:t,preserveSymlinksRequired:i}};function FAe(r,e,t){let i=t.resolveVirtual&&e.reference&&e.reference.startsWith("virtual:")?t.resolveVirtual(r.packageLocation):r.packageLocation;return K.toPortablePath(i||r.packageLocation)}function N8e(r,e,t){let i=e.getLocator(r.name.replace(Ou,""),r.reference),n=e.getPackageInformation(i);if(n===null)throw new Error("Assertion failed: Expected the package to be registered");let s,o;return t.pnpifyFs?(o=K.toPortablePath(n.packageLocation),s="SOFT"):(o=FAe(n,r,e),s=n.linkType),{linkType:s,target:o}}var L8e=(r,e,t)=>{let i=new Map,n=(u,g,f)=>{let{linkType:h,target:p}=N8e(u,r,t);return{locator:sa(u),nodePath:g,target:p,linkType:h,aliases:f}},s=u=>{let[g,f]=u.split("/");return f?{scope:Ur(g),name:Ur(f)}:{scope:null,name:Ur(g)}},o=new Set,a=(u,g,f)=>{if(o.has(u))return;o.add(u);let h=Array.from(u.references).sort().join("#");for(let p of u.dependencies){let C=Array.from(p.references).sort().join("#");if(p.identName===u.identName&&C===h)continue;let y=Array.from(p.references).sort(),B={name:p.identName,reference:y[0]},{name:v,scope:D}=s(p.name),L=D?[D,v]:[v],H=x.join(g,kAe),j=x.join(H,...L),$=`${f}/${B.name}`,V=n(B,f,y.slice(1)),W=!1;if(V.linkType==="SOFT"&&t.project){let A=t.project.workspacesByCwd.get(V.target.slice(0,-1));W=!!(A&&!A.manifest.name)}let _=V.linkType==="SOFT"&&j.startsWith(V.target);if(!p.name.endsWith(Ou)&&!W&&!_){let A=i.get(j);if(A){if(A.dirList)throw new Error(`Assertion failed: ${j} cannot merge dir node with leaf node`);{let O=P.parseLocator(A.locator),F=P.parseLocator(V.locator);if(A.linkType!==V.linkType)throw new Error(`Assertion failed: ${j} cannot merge nodes with different link types ${A.nodePath}/${P.stringifyLocator(O)} and ${f}/${P.stringifyLocator(F)}`);if(O.identHash!==F.identHash)throw new Error(`Assertion failed: ${j} cannot merge nodes with different idents ${A.nodePath}/${P.stringifyLocator(O)} and ${f}/s${P.stringifyLocator(F)}`);V.aliases=[...V.aliases,...A.aliases,P.parseLocator(A.locator).reference]}}i.set(j,V);let ae=j.split("/"),ge=ae.indexOf(kAe),re=ae.length-1;for(;ge>=0&&re>ge;){let O=K.toPortablePath(ae.slice(0,re).join(x.sep)),F=Ur(ae[re]),ue=i.get(O);if(!ue)i.set(O,{dirList:new Set([F])});else if(ue.dirList){if(ue.dirList.has(F))break;ue.dirList.add(F)}re--}}a(p,V.linkType==="SOFT"?V.target:j,$)}},l=n({name:e.name,reference:Array.from(e.references)[0]},"",[]),c=l.target;return i.set(c,l),a(e,c,""),i};var eM={};ut(eM,{PnpInstaller:()=>Uu,PnpLinker:()=>ml,default:()=>gze,getPnpPath:()=>El,jsInstallUtils:()=>po,pnpUtils:()=>cE,quotePathIfNeeded:()=>wle});var Ile=Pe(Xr()),yle=J("url");var NAe={["DEFAULT"]:{collapsed:!1,next:{["*"]:"DEFAULT"}},["TOP_LEVEL"]:{collapsed:!1,next:{fallbackExclusionList:"FALLBACK_EXCLUSION_LIST",packageRegistryData:"PACKAGE_REGISTRY_DATA",["*"]:"DEFAULT"}},["FALLBACK_EXCLUSION_LIST"]:{collapsed:!1,next:{["*"]:"FALLBACK_EXCLUSION_ENTRIES"}},["FALLBACK_EXCLUSION_ENTRIES"]:{collapsed:!0,next:{["*"]:"FALLBACK_EXCLUSION_DATA"}},["FALLBACK_EXCLUSION_DATA"]:{collapsed:!0,next:{["*"]:"DEFAULT"}},["PACKAGE_REGISTRY_DATA"]:{collapsed:!1,next:{["*"]:"PACKAGE_REGISTRY_ENTRIES"}},["PACKAGE_REGISTRY_ENTRIES"]:{collapsed:!0,next:{["*"]:"PACKAGE_STORE_DATA"}},["PACKAGE_STORE_DATA"]:{collapsed:!1,next:{["*"]:"PACKAGE_STORE_ENTRIES"}},["PACKAGE_STORE_ENTRIES"]:{collapsed:!0,next:{["*"]:"PACKAGE_INFORMATION_DATA"}},["PACKAGE_INFORMATION_DATA"]:{collapsed:!1,next:{packageDependencies:"PACKAGE_DEPENDENCIES",["*"]:"DEFAULT"}},["PACKAGE_DEPENDENCIES"]:{collapsed:!1,next:{["*"]:"PACKAGE_DEPENDENCY"}},["PACKAGE_DEPENDENCY"]:{collapsed:!0,next:{["*"]:"DEFAULT"}}};function T8e(r,e,t){let i="";i+="[";for(let n=0,s=r.length;n"u"||(a!==0&&(n+=", "),n+=JSON.stringify(l),n+=": ",n+=WQ(l,c,e,t).replace(/^ +/g,""),a+=1)}return n+="}",n}function K8e(r,e,t){let i=Object.keys(r),n=`${t} `,s="";s+=t,s+=`{ `;let o=0;for(let a=0,l=i.length;a"u"||(o!==0&&(s+=",",s+=` -`),s+=n,s+=JSON.stringify(c),s+=": ",s+=kQ(c,u,e,n).replace(/^ +/g,""),o+=1)}return o!==0&&(s+=` -`),s+=t,s+="}",s}function kQ(r,e,t,i){let{next:n}=zae[t],s=n[r]||n["*"];return Vae(e,s,i)}function Vae(r,e,t){let{collapsed:i}=zae[e];return Array.isArray(r)?i?k4e(r,e,t):R4e(r,e,t):typeof r=="object"&&r!==null?i?F4e(r,e,t):N4e(r,e,t):JSON.stringify(r)}function Xae(r){return Vae(r,"TOP_LEVEL","")}function Wm(r,e){let t=Array.from(r);Array.isArray(e)||(e=[e]);let i=[];for(let s of e)i.push(t.map(o=>s(o)));let n=t.map((s,o)=>o);return n.sort((s,o)=>{for(let a of i){let l=a[s]a[o]?1:0;if(l!==0)return l}return 0}),n.map(s=>t[s])}function L4e(r){let e=new Map,t=Wm(r.fallbackExclusionList||[],[({name:i,reference:n})=>i,({name:i,reference:n})=>n]);for(let{name:i,reference:n}of t){let s=e.get(i);typeof s>"u"&&e.set(i,s=new Set),s.add(n)}return Array.from(e).map(([i,n])=>[i,Array.from(n)])}function T4e(r){return Wm(r.fallbackPool||[],([e])=>e)}function O4e(r){let e=[];for(let[t,i]of Wm(r.packageRegistry,([n])=>n===null?"0":`1${n}`)){let n=[];e.push([t,n]);for(let[s,{packageLocation:o,packageDependencies:a,packagePeers:l,linkType:c,discardFromLookup:u}]of Wm(i,([g])=>g===null?"0":`1${g}`)){let g=[];t!==null&&s!==null&&!a.has(t)&&g.push([t,s]);for(let[p,C]of Wm(a.entries(),([y])=>y))g.push([p,C]);let f=l&&l.size>0?Array.from(l):void 0,h=u||void 0;n.push([s,{packageLocation:o,packageDependencies:g,packagePeers:f,linkType:c,discardFromLookup:h}])}}return e}function zm(r){return{__info:["This file is automatically generated. Do not touch it, or risk","your modifications being lost. We also recommend you not to read","it either without using the @yarnpkg/pnp package, as the data layout","is entirely unspecified and WILL change from a version to another."],dependencyTreeRoots:r.dependencyTreeRoots,enableTopLevelFallback:r.enableTopLevelFallback||!1,ignorePatternData:r.ignorePattern||null,fallbackExclusionList:L4e(r),fallbackPool:T4e(r),packageRegistryData:O4e(r)}}var $ae=Pe(Zae());function eAe(r,e){return[r?`${r} +`),s+=n,s+=JSON.stringify(c),s+=": ",s+=WQ(c,u,e,n).replace(/^ +/g,""),o+=1)}return o!==0&&(s+=` +`),s+=t,s+="}",s}function WQ(r,e,t,i){let{next:n}=NAe[t],s=n[r]||n["*"];return LAe(e,s,i)}function LAe(r,e,t){let{collapsed:i}=NAe[e];return Array.isArray(r)?i?T8e(r,e,t):O8e(r,e,t):typeof r=="object"&&r!==null?i?M8e(r,e,t):K8e(r,e,t):JSON.stringify(r)}function TAe(r){return LAe(r,"TOP_LEVEL","")}function tE(r,e){let t=Array.from(r);Array.isArray(e)||(e=[e]);let i=[];for(let s of e)i.push(t.map(o=>s(o)));let n=t.map((s,o)=>o);return n.sort((s,o)=>{for(let a of i){let l=a[s]a[o]?1:0;if(l!==0)return l}return 0}),n.map(s=>t[s])}function U8e(r){let e=new Map,t=tE(r.fallbackExclusionList||[],[({name:i,reference:n})=>i,({name:i,reference:n})=>n]);for(let{name:i,reference:n}of t){let s=e.get(i);typeof s>"u"&&e.set(i,s=new Set),s.add(n)}return Array.from(e).map(([i,n])=>[i,Array.from(n)])}function H8e(r){return tE(r.fallbackPool||[],([e])=>e)}function G8e(r){let e=[];for(let[t,i]of tE(r.packageRegistry,([n])=>n===null?"0":`1${n}`)){let n=[];e.push([t,n]);for(let[s,{packageLocation:o,packageDependencies:a,packagePeers:l,linkType:c,discardFromLookup:u}]of tE(i,([g])=>g===null?"0":`1${g}`)){let g=[];t!==null&&s!==null&&!a.has(t)&&g.push([t,s]);for(let[p,C]of tE(a.entries(),([y])=>y))g.push([p,C]);let f=l&&l.size>0?Array.from(l):void 0,h=u||void 0;n.push([s,{packageLocation:o,packageDependencies:g,packagePeers:f,linkType:c,discardFromLookup:h}])}}return e}function rE(r){return{__info:["This file is automatically generated. Do not touch it, or risk","your modifications being lost. We also recommend you not to read","it either without using the @yarnpkg/pnp package, as the data layout","is entirely unspecified and WILL change from a version to another."],dependencyTreeRoots:r.dependencyTreeRoots,enableTopLevelFallback:r.enableTopLevelFallback||!1,ignorePatternData:r.ignorePattern||null,fallbackExclusionList:U8e(r),fallbackPool:H8e(r),packageRegistryData:G8e(r)}}var KAe=Pe(MAe());function UAe(r,e){return[r?`${r} `:"",`/* eslint-disable */ `,`"use strict"; `,` `,`function $$SETUP_STATE(hydrateRuntimeState, basePath) { `,e.replace(/^/gm," "),`} `,` -`,(0,$ae.default)()].join("")}function M4e(r){return JSON.stringify(r,null,2)}function K4e(r){return`'${r.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\n/g,`\\ -`)}'`}function U4e(r){return[`return hydrateRuntimeState(JSON.parse(${K4e(Xae(r))}), {basePath: basePath || __dirname}); -`].join("")}function H4e(r){return[`var path = require('path'); +`,(0,KAe.default)()].join("")}function Y8e(r){return JSON.stringify(r,null,2)}function j8e(r){return`'${r.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\n/g,`\\ +`)}'`}function q8e(r){return[`return hydrateRuntimeState(JSON.parse(${j8e(TAe(r))}), {basePath: basePath || __dirname}); +`].join("")}function J8e(r){return[`var path = require('path'); `,`var dataLocation = path.resolve(__dirname, ${JSON.stringify(r)}); `,`return hydrateRuntimeState(require(dataLocation), {basePath: basePath || path.dirname(dataLocation)}); -`].join("")}function tAe(r){let e=zm(r),t=U4e(e);return eAe(r.shebang,t)}function rAe(r){let e=zm(r),t=H4e(r.dataLocation),i=eAe(r.shebang,t);return{dataFile:M4e(e),loaderFile:i}}var SAe=J("fs");var vAe=J("util");function fO(r,{basePath:e}){let t=K.toPortablePath(e),i=x.resolve(t),n=r.ignorePatternData!==null?new RegExp(r.ignorePatternData):null,s=new Map,o=new Map(r.packageRegistryData.map(([g,f])=>[g,new Map(f.map(([h,p])=>{var D;if(g===null!=(h===null))throw new Error("Assertion failed: The name and reference should be null, or neither should");let C=(D=p.discardFromLookup)!=null?D:!1,y={name:g,reference:h},B=s.get(p.packageLocation);B?(B.discardFromLookup=B.discardFromLookup&&C,C||(B.locator=y)):s.set(p.packageLocation,{locator:y,discardFromLookup:C});let v=null;return[h,{packageDependencies:new Map(p.packageDependencies),packagePeers:new Set(p.packagePeers),linkType:p.linkType,discardFromLookup:C,get packageLocation(){return v||(v=x.join(i,p.packageLocation))}}]}))])),a=new Map(r.fallbackExclusionList.map(([g,f])=>[g,new Set(f)])),l=new Map(r.fallbackPool),c=r.dependencyTreeRoots,u=r.enableTopLevelFallback;return{basePath:t,dependencyTreeRoots:c,enableTopLevelFallback:u,fallbackExclusionList:a,fallbackPool:l,ignorePattern:n,packageLocatorsByLocations:s,packageRegistry:o}}var eE=J("module");function qh(r,e){if(typeof r=="string")return r;if(r){let t,i;if(Array.isArray(r)){for(t=0;t0)return(f=qh(n[g],u))?f.replace("*",c.substring(g.length-1)):ku(i,c,1)}return ku(i,c)}}var KQ=J("url"),IO=J("util");var Ao=J("url");var cAe=Pe(J("assert"));var nAe=Array.isArray,Vm=JSON.stringify,hO=Object.getOwnPropertyNames,Jh=(r,e)=>Object.prototype.hasOwnProperty.call(r,e),pO=(r,e)=>RegExp.prototype.exec.call(r,e),dO=(r,...e)=>RegExp.prototype[Symbol.replace].apply(r,e),Xm=(r,...e)=>String.prototype.endsWith.apply(r,e),sAe=(r,...e)=>String.prototype.includes.apply(r,e),oAe=(r,...e)=>String.prototype.lastIndexOf.apply(r,e),RQ=(r,...e)=>String.prototype.indexOf.apply(r,e),aAe=(r,...e)=>String.prototype.replace.apply(r,e),_m=(r,...e)=>String.prototype.slice.apply(r,e),rA=(r,...e)=>String.prototype.startsWith.apply(r,e),AAe=Map,lAe=JSON.parse;function FQ(r,e,t){return class extends t{constructor(...i){super(e(...i)),this.code=r,this.name=`${t.name} [${r}]`}}}var uAe=FQ("ERR_PACKAGE_IMPORT_NOT_DEFINED",(r,e,t)=>`Package import specifier "${r}" is not defined${e?` in package ${e}package.json`:""} imported from ${t}`,TypeError),CO=FQ("ERR_INVALID_MODULE_SPECIFIER",(r,e,t=void 0)=>`Invalid module "${r}" ${e}${t?` imported from ${t}`:""}`,TypeError),gAe=FQ("ERR_INVALID_PACKAGE_TARGET",(r,e,t,i=!1,n=void 0)=>{let s=typeof t=="string"&&!i&&t.length&&!rA(t,"./");return e==="."?((0,cAe.default)(i===!1),`Invalid "exports" main target ${Vm(t)} defined in the package config ${r}package.json${n?` imported from ${n}`:""}${s?'; targets must start with "./"':""}`):`Invalid "${i?"imports":"exports"}" target ${Vm(t)} defined for '${e}' in the package config ${r}package.json${n?` imported from ${n}`:""}${s?'; targets must start with "./"':""}`},Error),NQ=FQ("ERR_INVALID_PACKAGE_CONFIG",(r,e,t)=>`Invalid package config ${r}${e?` while importing ${e}`:""}${t?`. ${t}`:""}`,Error);var TQ=J("url");function fAe(r,e){let t=Object.create(null);for(let i=0;ie):r+e}Zm(t,r,i,o,n)}pO(pAe,_m(r,2))!==null&&Zm(t,r,i,o,n);let l=new URL(r,i),c=l.pathname,u=new URL(".",i).pathname;if(rA(c,u)||Zm(t,r,i,o,n),e==="")return l;if(pO(pAe,e)!==null){let g=s?aAe(t,"*",()=>e):t+e;q4e(g,i,o,n)}return s?new URL(dO(dAe,l.href,()=>e)):new URL(e,l)}function W4e(r){let e=+r;return`${e}`!==r?!1:e>=0&&e<4294967295}function OQ(r,e,t,i,n,s,o,a){if(typeof e=="string")return J4e(e,t,i,r,n,s,o,a);if(nAe(e)){if(e.length===0)return null;let l;for(let c=0;cs?-1:s>n||t===-1?1:i===-1||r.length>e.length?-1:e.length>r.length?1:0}function CAe({name:r,base:e,conditions:t,readFileSyncFn:i}){if(r==="#"||rA(r,"#/")||Xm(r,"/")){let o="is not a valid internal imports specifier name";throw new CO(r,o,(0,Ao.fileURLToPath)(e))}let n,s=hAe(e,i);if(s.exists){n=(0,Ao.pathToFileURL)(s.pjsonPath);let o=s.imports;if(o)if(Jh(o,r)&&!sAe(r,"*")){let a=OQ(n,o[r],"",r,e,!1,!0,t);if(a!=null)return a}else{let a="",l,c=hO(o);for(let u=0;u=g.length&&Xm(r,h)&&z4e(a,g)===1&&oAe(g,"*")===f&&(a=g,l=_m(r,f,r.length-h.length))}}if(a){let u=o[a],g=OQ(n,u,l,a,e,!0,!0,t);if(g!=null)return g}}}j4e(r,n,e)}var V4e=new Set(["BUILTIN_NODE_RESOLUTION_FAILED","MISSING_DEPENDENCY","MISSING_PEER_DEPENDENCY","QUALIFIED_PATH_RESOLUTION_FAILED","UNDECLARED_DEPENDENCY"]);function ri(r,e,t={},i){i!=null||(i=V4e.has(r)?"MODULE_NOT_FOUND":r);let n={configurable:!0,writable:!0,enumerable:!1};return Object.defineProperties(new Error(e),{code:{...n,value:i},pnpCode:{...n,value:r},data:{...n,value:t}})}function lo(r){return K.normalize(K.fromPortablePath(r))}var yAe=Pe(EAe());function wAe(r){return X4e(),EO[r]}var EO;function X4e(){EO||(EO={"--conditions":[],...IAe(_4e()),...IAe(process.execArgv)})}function IAe(r){return(0,yAe.default)({"--conditions":[String],"-C":"--conditions"},{argv:r,permissive:!0})}function _4e(){let r=[],e=Z4e(process.env.NODE_OPTIONS||"",r);return r.length,e}function Z4e(r,e){let t=[],i=!1,n=!0;for(let s=0;s[g,new Map(f.map(([h,p])=>{var D;if(g===null!=(h===null))throw new Error("Assertion failed: The name and reference should be null, or neither should");let C=(D=p.discardFromLookup)!=null?D:!1,y={name:g,reference:h},B=s.get(p.packageLocation);B?(B.discardFromLookup=B.discardFromLookup&&C,C||(B.locator=y)):s.set(p.packageLocation,{locator:y,discardFromLookup:C});let v=null;return[h,{packageDependencies:new Map(p.packageDependencies),packagePeers:new Set(p.packagePeers),linkType:p.linkType,discardFromLookup:C,get packageLocation(){return v||(v=x.join(i,p.packageLocation))}}]}))])),a=new Map(r.fallbackExclusionList.map(([g,f])=>[g,new Set(f)])),l=new Map(r.fallbackPool),c=r.dependencyTreeRoots,u=r.enableTopLevelFallback;return{basePath:t,dependencyTreeRoots:c,enableTopLevelFallback:u,fallbackExclusionList:a,fallbackPool:l,ignorePattern:n,packageLocatorsByLocations:s,packageRegistry:o}}var AE=J("module");function ep(r,e){if(typeof r=="string")return r;if(r){let t,i;if(Array.isArray(r)){for(t=0;t0)return(f=ep(n[g],u))?f.replace("*",c.substring(g.length-1)):Mu(i,c,1)}return Mu(i,c)}}var rp=J("url"),WO=J("util");var go=J("url");var XAe=Pe(J("assert"));var jAe=Array.isArray,iE=JSON.stringify,HO=Object.getOwnPropertyNames,tp=(r,e)=>Object.prototype.hasOwnProperty.call(r,e),GO=(r,e)=>RegExp.prototype.exec.call(r,e),YO=(r,...e)=>RegExp.prototype[Symbol.replace].apply(r,e),nE=(r,...e)=>String.prototype.endsWith.apply(r,e),qAe=(r,...e)=>String.prototype.includes.apply(r,e),JAe=(r,...e)=>String.prototype.lastIndexOf.apply(r,e),zQ=(r,...e)=>String.prototype.indexOf.apply(r,e),WAe=(r,...e)=>String.prototype.replace.apply(r,e),sE=(r,...e)=>String.prototype.slice.apply(r,e),cA=(r,...e)=>String.prototype.startsWith.apply(r,e),zAe=Map,VAe=JSON.parse;function VQ(r,e,t){return class extends t{constructor(...i){super(e(...i)),this.code=r,this.name=`${t.name} [${r}]`}}}var ZAe=VQ("ERR_PACKAGE_IMPORT_NOT_DEFINED",(r,e,t)=>`Package import specifier "${r}" is not defined${e?` in package ${e}package.json`:""} imported from ${t}`,TypeError),jO=VQ("ERR_INVALID_MODULE_SPECIFIER",(r,e,t=void 0)=>`Invalid module "${r}" ${e}${t?` imported from ${t}`:""}`,TypeError),_Ae=VQ("ERR_INVALID_PACKAGE_TARGET",(r,e,t,i=!1,n=void 0)=>{let s=typeof t=="string"&&!i&&t.length&&!cA(t,"./");return e==="."?((0,XAe.default)(i===!1),`Invalid "exports" main target ${iE(t)} defined in the package config ${r}package.json${n?` imported from ${n}`:""}${s?'; targets must start with "./"':""}`):`Invalid "${i?"imports":"exports"}" target ${iE(t)} defined for '${e}' in the package config ${r}package.json${n?` imported from ${n}`:""}${s?'; targets must start with "./"':""}`},Error),XQ=VQ("ERR_INVALID_PACKAGE_CONFIG",(r,e,t)=>`Invalid package config ${r}${e?` while importing ${e}`:""}${t?`. ${t}`:""}`,Error);var _Q=J("url");function $Ae(r,e){let t=Object.create(null);for(let i=0;ie):r+e}oE(t,r,i,o,n)}GO(tle,sE(r,2))!==null&&oE(t,r,i,o,n);let l=new URL(r,i),c=l.pathname,u=new URL(".",i).pathname;if(cA(c,u)||oE(t,r,i,o,n),e==="")return l;if(GO(tle,e)!==null){let g=s?WAe(t,"*",()=>e):t+e;X8e(g,i,o,n)}return s?new URL(YO(rle,l.href,()=>e)):new URL(e,l)}function _8e(r){let e=+r;return`${e}`!==r?!1:e>=0&&e<4294967295}function $Q(r,e,t,i,n,s,o,a){if(typeof e=="string")return Z8e(e,t,i,r,n,s,o,a);if(jAe(e)){if(e.length===0)return null;let l;for(let c=0;cs?-1:s>n||t===-1?1:i===-1||r.length>e.length?-1:e.length>r.length?1:0}function ile({name:r,base:e,conditions:t,readFileSyncFn:i}){if(r==="#"||cA(r,"#/")||nE(r,"/")){let o="is not a valid internal imports specifier name";throw new jO(r,o,(0,go.fileURLToPath)(e))}let n,s=ele(e,i);if(s.exists){n=(0,go.pathToFileURL)(s.pjsonPath);let o=s.imports;if(o)if(tp(o,r)&&!qAe(r,"*")){let a=$Q(n,o[r],"",r,e,!1,!0,t);if(a!=null)return a}else{let a="",l,c=HO(o);for(let u=0;u=g.length&&nE(r,h)&&$8e(a,g)===1&&JAe(g,"*")===f&&(a=g,l=sE(r,f,r.length-h.length))}}if(a){let u=o[a],g=$Q(n,u,l,a,e,!0,!0,t);if(g!=null)return g}}}V8e(r,n,e)}var eze=new Set(["BUILTIN_NODE_RESOLUTION_FAILED","MISSING_DEPENDENCY","MISSING_PEER_DEPENDENCY","QUALIFIED_PATH_RESOLUTION_FAILED","UNDECLARED_DEPENDENCY"]);function ri(r,e,t={},i){i!=null||(i=eze.has(r)?"MODULE_NOT_FOUND":r);let n={configurable:!0,writable:!0,enumerable:!1};return Object.defineProperties(new Error(e),{code:{...n,value:i},pnpCode:{...n,value:r},data:{...n,value:t}})}function fo(r){return K.normalize(K.fromPortablePath(r))}var ale=Pe(sle());function Ale(r){return tze(),JO[r]}var JO;function tze(){JO||(JO={"--conditions":[],...ole(rze()),...ole(process.execArgv)})}function ole(r){return(0,ale.default)({"--conditions":[String],"-C":"--conditions"},{argv:r,permissive:!0})}function rze(){let r=[],e=ize(process.env.NODE_OPTIONS||"",r);return r.length,e}function ize(r,e){let t=[],i=!1,n=!0;for(let s=0;sparseInt(r,10)),cwt=co>16||co===16&&Ru>=12,uwt=co>17||co===17&&Ru>=5||co===16&&Ru>=15,gwt=co>17||co===17&&Ru>=1||co===16&&Ru>14,BAe=co>19||co===19&&Ru>=2||co===18&&Ru>=13;var $4e=new Set(QAe.Module.builtinModules||Object.keys(process.binding("natives"))),MQ=r=>r.startsWith("node:")||$4e.has(r);function bAe(r){if(process.env.WATCH_REPORT_DEPENDENCIES&&process.send)if(r=r.map(e=>K.fromPortablePath(Br.resolveVirtual(K.toPortablePath(e)))),BAe)process.send({"watch:require":r});else for(let e of r)process.send({"watch:require":e})}function yO(r,e){let t=Number(process.env.PNP_ALWAYS_WARN_ON_FALLBACK)>0,i=Number(process.env.PNP_DEBUG_LEVEL),n=/^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:node:)?(?:@[^/]+\/)?[^/]+)\/*(.*|)$/,s=/^(\/|\.{1,2}(\/|$))/,o=/\/$/,a=/^\.{0,2}\//,l={name:null,reference:null},c=[],u=new Set;if(r.enableTopLevelFallback===!0&&c.push(l),e.compatibilityMode!==!1)for(let oe of["react-scripts","gatsby"]){let le=r.packageRegistry.get(oe);if(le)for(let we of le.keys()){if(we===null)throw new Error("Assertion failed: This reference shouldn't be null");c.push({name:oe,reference:we})}}let{ignorePattern:g,packageRegistry:f,packageLocatorsByLocations:h}=r;function p(oe,le){return{fn:oe,args:le,error:null,result:null}}function C(oe){var qe,ne,Y,pe,ie,de;let le=(Y=(ne=(qe=process.stderr)==null?void 0:qe.hasColors)==null?void 0:ne.call(qe))!=null?Y:process.stdout.isTTY,we=(tt,Pt)=>`\x1B[${tt}m${Pt}\x1B[0m`,fe=oe.error;console.error(fe?we("31;1",`\u2716 ${(pe=oe.error)==null?void 0:pe.message.replace(/\n.*/s,"")}`):we("33;1","\u203C Resolution")),oe.args.length>0&&console.error();for(let tt of oe.args)console.error(` ${we("37;1","In \u2190")} ${(0,IO.inspect)(tt,{colors:le,compact:!0})}`);oe.result&&(console.error(),console.error(` ${we("37;1","Out \u2192")} ${(0,IO.inspect)(oe.result,{colors:le,compact:!0})}`));let Ae=(de=(ie=new Error().stack.match(/(?<=^ +)at.*/gm))==null?void 0:ie.slice(2))!=null?de:[];if(Ae.length>0){console.error();for(let tt of Ae)console.error(` ${we("38;5;244",tt)}`)}console.error()}function y(oe,le){if(e.allowDebug===!1)return le;if(Number.isFinite(i)){if(i>=2)return(...we)=>{let fe=p(oe,we);try{return fe.result=le(...we)}catch(Ae){throw fe.error=Ae}finally{C(fe)}};if(i>=1)return(...we)=>{try{return le(...we)}catch(fe){let Ae=p(oe,we);throw Ae.error=fe,C(Ae),fe}}}return le}function B(oe){let le=A(oe);if(!le)throw ri("INTERNAL","Couldn't find a matching entry in the dependency tree for the specified parent (this is probably an internal error)");return le}function v(oe){if(oe.name===null)return!0;for(let le of r.dependencyTreeRoots)if(le.name===oe.name&&le.reference===oe.reference)return!0;return!1}let D=new Set(["default","node","require",...wAe("--conditions")]);function L(oe,le=D){let we=re(x.join(oe,"internal.js"),{resolveIgnored:!0,includeDiscardFromLookup:!0});if(we===null)throw ri("INTERNAL",`The locator that owns the "${oe}" path can't be found inside the dependency tree (this is probably an internal error)`);let{packageLocation:fe}=B(we),Ae=x.join(fe,xt.manifest);if(!e.fakeFs.existsSync(Ae))return null;let qe=JSON.parse(e.fakeFs.readFileSync(Ae,"utf8")),ne=x.contains(fe,oe);if(ne===null)throw ri("INTERNAL","unqualifiedPath doesn't contain the packageLocation (this is probably an internal error)");a.test(ne)||(ne=`./${ne}`);let Y;try{Y=iAe(qe,x.normalize(ne),{conditions:le,unsafe:!0})}catch(pe){throw ri("EXPORTS_RESOLUTION_FAILED",pe.message,{unqualifiedPath:lo(oe),locator:we,pkgJson:qe,subpath:lo(ne),conditions:le},"ERR_PACKAGE_PATH_NOT_EXPORTED")}return typeof Y=="string"?x.join(fe,Y):null}function H(oe,le,{extensions:we}){let fe;try{le.push(oe),fe=e.fakeFs.statSync(oe)}catch{}if(fe&&!fe.isDirectory())return e.fakeFs.realpathSync(oe);if(fe&&fe.isDirectory()){let Ae;try{Ae=JSON.parse(e.fakeFs.readFileSync(x.join(oe,xt.manifest),"utf8"))}catch{}let qe;if(Ae&&Ae.main&&(qe=x.resolve(oe,Ae.main)),qe&&qe!==oe){let ne=H(qe,le,{extensions:we});if(ne!==null)return ne}}for(let Ae=0,qe=we.length;Ae{let Y=JSON.stringify(ne.name);if(fe.has(Y))return;fe.add(Y);let pe=ae(ne);for(let ie of pe)if(B(ie).packagePeers.has(oe))Ae(ie);else{let tt=we.get(ie.name);typeof tt>"u"&&we.set(ie.name,tt=new Set),tt.add(ie.reference)}};Ae(le);let qe=[];for(let ne of[...we.keys()].sort())for(let Y of[...we.get(ne)].sort())qe.push({name:ne,reference:Y});return qe}function re(oe,{resolveIgnored:le=!1,includeDiscardFromLookup:we=!1}={}){if(V(oe)&&!le)return null;let fe=x.relative(r.basePath,oe);fe.match(s)||(fe=`./${fe}`),fe.endsWith("/")||(fe=`${fe}/`);do{let Ae=h.get(fe);if(typeof Ae>"u"||Ae.discardFromLookup&&!we){fe=fe.substring(0,fe.lastIndexOf("/",fe.length-2)+1);continue}return Ae.locator}while(fe!=="");return null}function O(oe){try{return e.fakeFs.readFileSync(K.toPortablePath(oe),"utf8")}catch(le){if(le.code==="ENOENT")return;throw le}}function F(oe,le,{considerBuiltins:we=!0}={}){if(oe.startsWith("#"))throw new Error("resolveToUnqualified can not handle private import mappings");if(oe==="pnpapi")return K.toPortablePath(e.pnpapiResolution);if(we&&MQ(oe))return null;let fe=lo(oe),Ae=le&&lo(le);if(le&&V(le)&&(!x.isAbsolute(oe)||re(oe)===null)){let Y=$(oe,le);if(Y===!1)throw ri("BUILTIN_NODE_RESOLUTION_FAILED",`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer was explicitely ignored by the regexp) +`),t}var cle=J("module");var[ho,Ku]=process.versions.node.split(".").map(r=>parseInt(r,10)),$wt=ho>16||ho===16&&Ku>=12,eBt=ho>17||ho===17&&Ku>=5||ho===16&&Ku>=15,tBt=ho>17||ho===17&&Ku>=1||ho===16&&Ku>14,lle=ho>19||ho===19&&Ku>=2||ho===18&&Ku>=13;var nze=new Set(cle.Module.builtinModules||Object.keys(process.binding("natives"))),eb=r=>r.startsWith("node:")||nze.has(r);function ule(r){if(process.env.WATCH_REPORT_DEPENDENCIES&&process.send)if(r=r.map(e=>K.fromPortablePath(Br.resolveVirtual(K.toPortablePath(e)))),lle)process.send({"watch:require":r});else for(let e of r)process.send({"watch:require":e})}function zO(r,e){let t=Number(process.env.PNP_ALWAYS_WARN_ON_FALLBACK)>0,i=Number(process.env.PNP_DEBUG_LEVEL),n=/^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:node:)?(?:@[^/]+\/)?[^/]+)\/*(.*|)$/,s=/^(\/|\.{1,2}(\/|$))/,o=/\/$/,a=/^\.{0,2}\//,l={name:null,reference:null},c=[],u=new Set;if(r.enableTopLevelFallback===!0&&c.push(l),e.compatibilityMode!==!1)for(let oe of["react-scripts","gatsby"]){let le=r.packageRegistry.get(oe);if(le)for(let we of le.keys()){if(we===null)throw new Error("Assertion failed: This reference shouldn't be null");c.push({name:oe,reference:we})}}let{ignorePattern:g,packageRegistry:f,packageLocatorsByLocations:h}=r;function p(oe,le){return{fn:oe,args:le,error:null,result:null}}function C(oe){var qe,ne,Y,pe,ie,de;let le=(Y=(ne=(qe=process.stderr)==null?void 0:qe.hasColors)==null?void 0:ne.call(qe))!=null?Y:process.stdout.isTTY,we=(_e,Pt)=>`\x1B[${_e}m${Pt}\x1B[0m`,fe=oe.error;console.error(fe?we("31;1",`\u2716 ${(pe=oe.error)==null?void 0:pe.message.replace(/\n.*/s,"")}`):we("33;1","\u203C Resolution")),oe.args.length>0&&console.error();for(let _e of oe.args)console.error(` ${we("37;1","In \u2190")} ${(0,WO.inspect)(_e,{colors:le,compact:!0})}`);oe.result&&(console.error(),console.error(` ${we("37;1","Out \u2192")} ${(0,WO.inspect)(oe.result,{colors:le,compact:!0})}`));let Ae=(de=(ie=new Error().stack.match(/(?<=^ +)at.*/gm))==null?void 0:ie.slice(2))!=null?de:[];if(Ae.length>0){console.error();for(let _e of Ae)console.error(` ${we("38;5;244",_e)}`)}console.error()}function y(oe,le){if(e.allowDebug===!1)return le;if(Number.isFinite(i)){if(i>=2)return(...we)=>{let fe=p(oe,we);try{return fe.result=le(...we)}catch(Ae){throw fe.error=Ae}finally{C(fe)}};if(i>=1)return(...we)=>{try{return le(...we)}catch(fe){let Ae=p(oe,we);throw Ae.error=fe,C(Ae),fe}}}return le}function B(oe){let le=A(oe);if(!le)throw ri("INTERNAL","Couldn't find a matching entry in the dependency tree for the specified parent (this is probably an internal error)");return le}function v(oe){if(oe.name===null)return!0;for(let le of r.dependencyTreeRoots)if(le.name===oe.name&&le.reference===oe.reference)return!0;return!1}let D=new Set(["default","node","require",...Ale("--conditions")]);function L(oe,le=D){let we=re(x.join(oe,"internal.js"),{resolveIgnored:!0,includeDiscardFromLookup:!0});if(we===null)throw ri("INTERNAL",`The locator that owns the "${oe}" path can't be found inside the dependency tree (this is probably an internal error)`);let{packageLocation:fe}=B(we),Ae=x.join(fe,xt.manifest);if(!e.fakeFs.existsSync(Ae))return null;let qe=JSON.parse(e.fakeFs.readFileSync(Ae,"utf8")),ne=x.contains(fe,oe);if(ne===null)throw ri("INTERNAL","unqualifiedPath doesn't contain the packageLocation (this is probably an internal error)");a.test(ne)||(ne=`./${ne}`);let Y;try{Y=YAe(qe,x.normalize(ne),{conditions:le,unsafe:!0})}catch(pe){throw ri("EXPORTS_RESOLUTION_FAILED",pe.message,{unqualifiedPath:fo(oe),locator:we,pkgJson:qe,subpath:fo(ne),conditions:le},"ERR_PACKAGE_PATH_NOT_EXPORTED")}return typeof Y=="string"?x.join(fe,Y):null}function H(oe,le,{extensions:we}){let fe;try{le.push(oe),fe=e.fakeFs.statSync(oe)}catch{}if(fe&&!fe.isDirectory())return e.fakeFs.realpathSync(oe);if(fe&&fe.isDirectory()){let Ae;try{Ae=JSON.parse(e.fakeFs.readFileSync(x.join(oe,xt.manifest),"utf8"))}catch{}let qe;if(Ae&&Ae.main&&(qe=x.resolve(oe,Ae.main)),qe&&qe!==oe){let ne=H(qe,le,{extensions:we});if(ne!==null)return ne}}for(let Ae=0,qe=we.length;Ae{let Y=JSON.stringify(ne.name);if(fe.has(Y))return;fe.add(Y);let pe=ae(ne);for(let ie of pe)if(B(ie).packagePeers.has(oe))Ae(ie);else{let _e=we.get(ie.name);typeof _e>"u"&&we.set(ie.name,_e=new Set),_e.add(ie.reference)}};Ae(le);let qe=[];for(let ne of[...we.keys()].sort())for(let Y of[...we.get(ne)].sort())qe.push({name:ne,reference:Y});return qe}function re(oe,{resolveIgnored:le=!1,includeDiscardFromLookup:we=!1}={}){if(V(oe)&&!le)return null;let fe=x.relative(r.basePath,oe);fe.match(s)||(fe=`./${fe}`),fe.endsWith("/")||(fe=`${fe}/`);do{let Ae=h.get(fe);if(typeof Ae>"u"||Ae.discardFromLookup&&!we){fe=fe.substring(0,fe.lastIndexOf("/",fe.length-2)+1);continue}return Ae.locator}while(fe!=="");return null}function O(oe){try{return e.fakeFs.readFileSync(K.toPortablePath(oe),"utf8")}catch(le){if(le.code==="ENOENT")return;throw le}}function F(oe,le,{considerBuiltins:we=!0}={}){if(oe.startsWith("#"))throw new Error("resolveToUnqualified can not handle private import mappings");if(oe==="pnpapi")return K.toPortablePath(e.pnpapiResolution);if(we&&eb(oe))return null;let fe=fo(oe),Ae=le&&fo(le);if(le&&V(le)&&(!x.isAbsolute(oe)||re(oe)===null)){let Y=$(oe,le);if(Y===!1)throw ri("BUILTIN_NODE_RESOLUTION_FAILED",`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer was explicitely ignored by the regexp) Require request: "${fe}" Required by: ${Ae} @@ -642,7 +642,7 @@ Required by: ${Ae} Require path: "${fe}" Required by: ${Ae} -`,{request:fe,issuer:Ae});return K.toPortablePath(hr)}let tt=B(ie).packageDependencies.get(Y),Pt=null;if(tt==null&&ie.name!==null){let hr=r.fallbackExclusionList.get(ie.name);if(!hr||!hr.has(ie.reference)){for(let ni=0,Ls=c.length;ni`Ancestor breaking the chain: ${fi.name}@${fi.reference} `).join("")} -`,{request:fe,issuer:Ae,issuerLocator:Object.assign({},ie),dependencyName:Y,brokenAncestors:hr})}else tt===void 0&&(!we&&MQ(oe)?v(ie)?It=ri("UNDECLARED_DEPENDENCY",`Your application tried to access ${Y}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${Y} isn't otherwise declared in your dependencies, this makes the require call ambiguous and unsound. +`,{request:fe,issuer:Ae,issuerLocator:Object.assign({},ie),dependencyName:Y,brokenAncestors:hr})}else _e===void 0&&(!we&&eb(oe)?v(ie)?It=ri("UNDECLARED_DEPENDENCY",`Your application tried to access ${Y}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${Y} isn't otherwise declared in your dependencies, this makes the require call ambiguous and unsound. Required package: ${Y}${Y!==fe?` (via "${fe}")`:""} Required by: ${Ae} @@ -675,27 +675,27 @@ Required by: ${Ae} Required package: ${Y}${Y!==fe?` (via "${fe}")`:""} Required by: ${ie.name}@${ie.reference} (via ${Ae}) -`,{request:fe,issuer:Ae,issuerLocator:Object.assign({},ie),dependencyName:Y}));if(tt==null){if(Pt===null||It===null)throw It||new Error("Assertion failed: Expected an error to have been set");tt=Pt;let hr=It.message.replace(/\n.*/g,"");It.message=hr,!u.has(hr)&&i!==0&&(u.add(hr),process.emitWarning(It))}let Or=Array.isArray(tt)?{name:tt[0],reference:tt[1]}:{name:Y,reference:tt},ii=B(Or);if(!ii.packageLocation)throw ri("MISSING_DEPENDENCY",`A dependency seems valid but didn't get installed for some reason. This might be caused by a partial install, such as dev vs prod. +`,{request:fe,issuer:Ae,issuerLocator:Object.assign({},ie),dependencyName:Y}));if(_e==null){if(Pt===null||It===null)throw It||new Error("Assertion failed: Expected an error to have been set");_e=Pt;let hr=It.message.replace(/\n.*/g,"");It.message=hr,!u.has(hr)&&i!==0&&(u.add(hr),process.emitWarning(It))}let Or=Array.isArray(_e)?{name:_e[0],reference:_e[1]}:{name:Y,reference:_e},ii=B(Or);if(!ii.packageLocation)throw ri("MISSING_DEPENDENCY",`A dependency seems valid but didn't get installed for some reason. This might be caused by a partial install, such as dev vs prod. Required package: ${Or.name}@${Or.reference}${Or.name!==fe?` (via "${fe}")`:""} Required by: ${ie.name}@${ie.reference} (via ${Ae}) -`,{request:fe,issuer:Ae,dependencyLocator:Object.assign({},Or)});let gi=ii.packageLocation;pe?qe=x.join(gi,pe):qe=gi}else if(x.isAbsolute(oe))qe=x.normalize(oe);else{if(!le)throw ri("API_ERROR","The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:fe,issuer:Ae});let Y=x.resolve(le);le.match(o)?qe=x.normalize(x.join(Y,oe)):qe=x.normalize(x.join(x.dirname(Y),oe))}return x.normalize(qe)}function ue(oe,le,we=D){if(s.test(oe))return le;let fe=L(le,we);return fe?x.normalize(fe):le}function he(oe,{extensions:le=Object.keys(eE.Module._extensions)}={}){var Ae,qe;let we=[],fe=H(oe,we,{extensions:le});if(fe)return x.normalize(fe);{bAe(we.map(pe=>K.fromPortablePath(pe)));let ne=lo(oe),Y=re(oe);if(Y){let{packageLocation:pe}=B(Y),ie=!0;try{e.fakeFs.accessSync(pe)}catch(de){if((de==null?void 0:de.code)==="ENOENT")ie=!1;else{let tt=((qe=(Ae=de==null?void 0:de.message)!=null?Ae:de)!=null?qe:"empty exception thrown").replace(/^[A-Z]/,Pt=>Pt.toLowerCase());throw ri("QUALIFIED_PATH_RESOLUTION_FAILED",`Required package exists but could not be accessed (${tt}). +`,{request:fe,issuer:Ae,dependencyLocator:Object.assign({},Or)});let gi=ii.packageLocation;pe?qe=x.join(gi,pe):qe=gi}else if(x.isAbsolute(oe))qe=x.normalize(oe);else{if(!le)throw ri("API_ERROR","The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:fe,issuer:Ae});let Y=x.resolve(le);le.match(o)?qe=x.normalize(x.join(Y,oe)):qe=x.normalize(x.join(x.dirname(Y),oe))}return x.normalize(qe)}function ue(oe,le,we=D){if(s.test(oe))return le;let fe=L(le,we);return fe?x.normalize(fe):le}function he(oe,{extensions:le=Object.keys(AE.Module._extensions)}={}){var Ae,qe;let we=[],fe=H(oe,we,{extensions:le});if(fe)return x.normalize(fe);{ule(we.map(pe=>K.fromPortablePath(pe)));let ne=fo(oe),Y=re(oe);if(Y){let{packageLocation:pe}=B(Y),ie=!0;try{e.fakeFs.accessSync(pe)}catch(de){if((de==null?void 0:de.code)==="ENOENT")ie=!1;else{let _e=((qe=(Ae=de==null?void 0:de.message)!=null?Ae:de)!=null?qe:"empty exception thrown").replace(/^[A-Z]/,Pt=>Pt.toLowerCase());throw ri("QUALIFIED_PATH_RESOLUTION_FAILED",`Required package exists but could not be accessed (${_e}). Missing package: ${Y.name}@${Y.reference} -Expected package location: ${lo(pe)} +Expected package location: ${fo(pe)} `,{unqualifiedPath:ne,extensions:le})}}if(!ie){let de=pe.includes("/unplugged/")?"Required unplugged package missing from disk. This may happen when switching branches without running installs (unplugged packages must be fully materialized on disk to work).":"Required package missing from disk. If you keep your packages inside your repository then restarting the Node process may be enough. Otherwise, try to run an install first.";throw ri("QUALIFIED_PATH_RESOLUTION_FAILED",`${de} Missing package: ${Y.name}@${Y.reference} -Expected package location: ${lo(pe)} +Expected package location: ${fo(pe)} `,{unqualifiedPath:ne,extensions:le})}}throw ri("QUALIFIED_PATH_RESOLUTION_FAILED",`Qualified path resolution failed: we looked for the following paths, but none could be accessed. Source path: ${ne} -${we.map(pe=>`Not found: ${lo(pe)} -`).join("")}`,{unqualifiedPath:ne,extensions:le})}}function ke(oe,le,we){var Ae;if(!le)throw new Error("Assertion failed: An issuer is required to resolve private import mappings");let fe=CAe({name:oe,base:(0,KQ.pathToFileURL)(K.fromPortablePath(le)),conditions:(Ae=we.conditions)!=null?Ae:D,readFileSyncFn:O});if(fe instanceof URL)return he(K.toPortablePath((0,KQ.fileURLToPath)(fe)),{extensions:we.extensions});if(fe.startsWith("#"))throw new Error("Mapping from one private import to another isn't allowed");return Fe(fe,le,we)}function Fe(oe,le,we={}){try{if(oe.startsWith("#"))return ke(oe,le,we);let{considerBuiltins:fe,extensions:Ae,conditions:qe}=we,ne=F(oe,le,{considerBuiltins:fe});if(oe==="pnpapi")return ne;if(ne===null)return null;let Y=()=>le!==null?V(le):!1,pe=(!fe||!MQ(oe))&&!Y()?ue(oe,ne,qe):ne;return he(pe,{extensions:Ae})}catch(fe){throw Object.prototype.hasOwnProperty.call(fe,"pnpCode")&&Object.assign(fe.data,{request:lo(oe),issuer:le&&lo(le)}),fe}}function Ne(oe){let le=x.normalize(oe),we=Br.resolveVirtual(le);return we!==le?we:null}return{VERSIONS:W,topLevel:Z,getLocator:(oe,le)=>Array.isArray(le)?{name:le[0],reference:le[1]}:{name:oe,reference:le},getDependencyTreeRoots:()=>[...r.dependencyTreeRoots],getAllLocators(){let oe=[];for(let[le,we]of f)for(let fe of we.keys())le!==null&&fe!==null&&oe.push({name:le,reference:fe});return oe},getPackageInformation:oe=>{let le=A(oe);if(le===null)return null;let we=K.fromPortablePath(le.packageLocation);return{...le,packageLocation:we}},findPackageLocator:oe=>re(K.toPortablePath(oe)),resolveToUnqualified:y("resolveToUnqualified",(oe,le,we)=>{let fe=le!==null?K.toPortablePath(le):null,Ae=F(K.toPortablePath(oe),fe,we);return Ae===null?null:K.fromPortablePath(Ae)}),resolveUnqualified:y("resolveUnqualified",(oe,le)=>K.fromPortablePath(he(K.toPortablePath(oe),le))),resolveRequest:y("resolveRequest",(oe,le,we)=>{let fe=le!==null?K.toPortablePath(le):null,Ae=Fe(K.toPortablePath(oe),fe,we);return Ae===null?null:K.fromPortablePath(Ae)}),resolveVirtual:y("resolveVirtual",oe=>{let le=Ne(K.toPortablePath(oe));return le!==null?K.fromPortablePath(le):null})}}var Dwt=(0,vAe.promisify)(SAe.readFile);var xAe=(r,e,t)=>{let i=zm(r),n=fO(i,{basePath:e}),s=K.join(e,xt.pnpCjs);return yO(n,{fakeFs:t,pnpapiResolution:s})};var BO=Pe(DAe());var uo={};ut(uo,{checkAndReportManifestCompatibility:()=>RAe,checkManifestCompatibility:()=>kAe,extractBuildScripts:()=>UQ,getExtractHint:()=>QO,hasBindingGyp:()=>bO});function kAe(r){return P.isPackageCompatible(r,Cs.getArchitectureSet())}function RAe(r,e,{configuration:t,report:i}){return kAe(r)?!0:(i==null||i.reportWarningOnce(76,`${P.prettyLocator(t,r)} The ${Cs.getArchitectureName()} architecture is incompatible with this package, ${e} skipped.`),!1)}function UQ(r,e,t,{configuration:i,report:n}){let s=[];for(let a of["preinstall","install","postinstall"])e.manifest.scripts.has(a)&&s.push([0,a]);return!e.manifest.scripts.has("install")&&e.misc.hasBindingGyp&&s.push([1,"node-gyp rebuild"]),s.length===0?[]:r.linkType!=="HARD"?(n==null||n.reportWarningOnce(6,`${P.prettyLocator(i,r)} lists build scripts, but is referenced through a soft link. Soft links don't support build scripts, so they'll be ignored.`),[]):t&&t.built===!1?(n==null||n.reportInfoOnce(5,`${P.prettyLocator(i,r)} lists build scripts, but its build has been explicitly disabled through configuration.`),[]):!i.get("enableScripts")&&!t.built?(n==null||n.reportWarningOnce(4,`${P.prettyLocator(i,r)} lists build scripts, but all build scripts have been disabled.`),[]):RAe(r,"build",{configuration:i,report:n})?s:[]}var t8e=new Set([".exe",".h",".hh",".hpp",".c",".cc",".cpp",".java",".jar",".node"]);function QO(r){return r.packageFs.getExtractHint({relevantExtensions:t8e})}function bO(r){let e=x.join(r.prefixPath,"binding.gyp");return r.packageFs.existsSync(e)}var rE={};ut(rE,{getUnpluggedPath:()=>tE});function tE(r,{configuration:e}){return x.resolve(e.get("pnpUnpluggedFolder"),P.slugifyLocator(r))}var r8e=new Set([P.makeIdent(null,"open").identHash,P.makeIdent(null,"opn").identHash]),ll=class{constructor(){this.mode="strict";this.pnpCache=new Map}supportsPackage(e,t){return this.isEnabled(t)}async findPackageLocation(e,t){if(!this.isEnabled(t))throw new Error("Assertion failed: Expected the PnP linker to be enabled");let i=cl(t.project).cjs;if(!M.existsSync(i))throw new be(`The project in ${ee.pretty(t.project.configuration,`${t.project.cwd}/package.json`,ee.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let n=Ie.getFactoryWithDefault(this.pnpCache,i,()=>Ie.dynamicRequire(i,{cachingStrategy:Ie.CachingStrategy.FsTime})),s={name:P.stringifyIdent(e),reference:e.reference},o=n.getPackageInformation(s);if(!o)throw new be(`Couldn't find ${P.prettyLocator(t.project.configuration,e)} in the currently installed PnP map - running an install might help`);return K.toPortablePath(o.packageLocation)}async findPackageLocator(e,t){if(!this.isEnabled(t))return null;let i=cl(t.project).cjs;if(!M.existsSync(i))return null;let s=Ie.getFactoryWithDefault(this.pnpCache,i,()=>Ie.dynamicRequire(i,{cachingStrategy:Ie.CachingStrategy.FsTime})).findPackageLocator(K.fromPortablePath(e));return s?P.makeLocator(P.parseIdent(s.name),s.reference):null}makeInstaller(e){return new Fu(e)}isEnabled(e){return!(e.project.configuration.get("nodeLinker")!=="pnp"||e.project.configuration.get("pnpMode")!==this.mode)}},Fu=class{constructor(e){this.opts=e;this.mode="strict";this.asyncActions=new Ie.AsyncActions(10);this.packageRegistry=new Map;this.virtualTemplates=new Map;this.isESMLoaderRequired=!1;this.customData={store:new Map};this.unpluggedPaths=new Set;this.opts=e}getCustomDataKey(){return JSON.stringify({name:"PnpInstaller",version:2})}attachCustomData(e){this.customData=e}async installPackage(e,t,i){let n=P.stringifyIdent(e),s=e.reference,o=!!this.opts.project.tryWorkspaceByLocator(e),a=P.isVirtualLocator(e),l=e.peerDependencies.size>0&&!a,c=!l&&!o,u=!l&&e.linkType!=="SOFT",g,f;if(c||u){let D=a?P.devirtualizeLocator(e):e;g=this.customData.store.get(D.locatorHash),typeof g>"u"&&(g=await i8e(t),e.linkType==="HARD"&&this.customData.store.set(D.locatorHash,g)),g.manifest.type==="module"&&(this.isESMLoaderRequired=!0),f=this.opts.project.getDependencyMeta(D,e.version)}let h=c?UQ(e,g,f,{configuration:this.opts.project.configuration,report:this.opts.report}):[],p=u?await this.unplugPackageIfNeeded(e,g,t,f,i):t.packageFs;if(x.isAbsolute(t.prefixPath))throw new Error(`Assertion failed: Expected the prefix path (${t.prefixPath}) to be relative to the parent`);let C=x.resolve(p.getRealPath(),t.prefixPath),y=SO(this.opts.project.cwd,C),B=new Map,v=new Set;if(a){for(let D of e.peerDependencies.values())B.set(P.stringifyIdent(D),null),v.add(P.stringifyIdent(D));if(!o){let D=P.devirtualizeLocator(e);this.virtualTemplates.set(D.locatorHash,{location:SO(this.opts.project.cwd,Br.resolveVirtual(C)),locator:D})}}return Ie.getMapWithDefault(this.packageRegistry,n).set(s,{packageLocation:y,packageDependencies:B,packagePeers:v,linkType:e.linkType,discardFromLookup:t.discardFromLookup||!1}),{packageLocation:C,buildDirective:h.length>0?h:null}}async attachInternalDependencies(e,t){let i=this.getPackageInformation(e);for(let[n,s]of t){let o=P.areIdentsEqual(n,s)?s.reference:[P.stringifyIdent(s),s.reference];i.packageDependencies.set(P.stringifyIdent(n),o)}}async attachExternalDependents(e,t){for(let i of t)this.getDiskInformation(i).packageDependencies.set(P.stringifyIdent(e),e.reference)}async finalizeInstall(){if(this.opts.project.configuration.get("pnpMode")!==this.mode)return;let e=cl(this.opts.project);if(M.existsSync(e.cjsLegacy)&&(this.opts.report.reportWarning(0,`Removing the old ${ee.pretty(this.opts.project.configuration,xt.pnpJs,ee.Type.PATH)} file. You might need to manually update existing references to reference the new ${ee.pretty(this.opts.project.configuration,xt.pnpCjs,ee.Type.PATH)} file. If you use Editor SDKs, you'll have to rerun ${ee.pretty(this.opts.project.configuration,"yarn sdks",ee.Type.CODE)}.`),await M.removePromise(e.cjsLegacy)),this.isEsmEnabled()||await M.removePromise(e.esmLoader),this.opts.project.configuration.get("nodeLinker")!=="pnp"){await M.removePromise(e.cjs),await M.removePromise(this.opts.project.configuration.get("pnpDataPath")),await M.removePromise(e.esmLoader),await M.removePromise(this.opts.project.configuration.get("pnpUnpluggedFolder"));return}for(let{locator:u,location:g}of this.virtualTemplates.values())Ie.getMapWithDefault(this.packageRegistry,P.stringifyIdent(u)).set(u.reference,{packageLocation:g,packageDependencies:new Map,packagePeers:new Set,linkType:"SOFT",discardFromLookup:!1});this.packageRegistry.set(null,new Map([[null,this.getPackageInformation(this.opts.project.topLevelWorkspace.anchoredLocator)]]));let t=this.opts.project.configuration.get("pnpFallbackMode"),i=this.opts.project.workspaces.map(({anchoredLocator:u})=>({name:P.stringifyIdent(u),reference:u.reference})),n=t!=="none",s=[],o=new Map,a=Ie.buildIgnorePattern([".yarn/sdks/**",...this.opts.project.configuration.get("pnpIgnorePatterns")]),l=this.packageRegistry,c=this.opts.project.configuration.get("pnpShebang");if(t==="dependencies-only")for(let u of this.opts.project.storedPackages.values())this.opts.project.tryWorkspaceByLocator(u)&&s.push({name:P.stringifyIdent(u),reference:u.reference});return await this.asyncActions.wait(),await this.finalizeInstallWithPnp({dependencyTreeRoots:i,enableTopLevelFallback:n,fallbackExclusionList:s,fallbackPool:o,ignorePattern:a,packageRegistry:l,shebang:c}),{customData:this.customData}}async transformPnpSettings(e){}isEsmEnabled(){if(this.opts.project.configuration.sources.has("pnpEnableEsmLoader"))return this.opts.project.configuration.get("pnpEnableEsmLoader");if(this.isESMLoaderRequired)return!0;for(let e of this.opts.project.workspaces)if(e.manifest.type==="module")return!0;return!1}async finalizeInstallWithPnp(e){let t=cl(this.opts.project),i=this.opts.project.configuration.get("pnpDataPath"),n=await this.locateNodeModules(e.ignorePattern);if(n.length>0){this.opts.report.reportWarning(31,"One or more node_modules have been detected and will be removed. This operation may take some time.");for(let o of n)await M.removePromise(o)}if(await this.transformPnpSettings(e),this.opts.project.configuration.get("pnpEnableInlining")){let o=tAe(e);await M.changeFilePromise(t.cjs,o,{automaticNewlines:!0,mode:493}),await M.removePromise(i)}else{let o=x.relative(x.dirname(t.cjs),i),{dataFile:a,loaderFile:l}=rAe({...e,dataLocation:o});await M.changeFilePromise(t.cjs,l,{automaticNewlines:!0,mode:493}),await M.changeFilePromise(i,a,{automaticNewlines:!0,mode:420})}this.isEsmEnabled()&&(this.opts.report.reportWarning(0,"ESM support for PnP uses the experimental loader API and is therefore experimental"),await M.changeFilePromise(t.esmLoader,(0,BO.default)(),{automaticNewlines:!0,mode:420}));let s=this.opts.project.configuration.get("pnpUnpluggedFolder");if(this.unpluggedPaths.size===0)await M.removePromise(s);else for(let o of await M.readdirPromise(s)){let a=x.resolve(s,o);this.unpluggedPaths.has(a)||await M.removePromise(a)}}async locateNodeModules(e){let t=[],i=e?new RegExp(e):null;for(let n of this.opts.project.workspaces){let s=x.join(n.cwd,"node_modules");if(i&&i.test(x.relative(this.opts.project.cwd,n.cwd))||!M.existsSync(s))continue;let o=await M.readdirPromise(s,{withFileTypes:!0}),a=o.filter(l=>!l.isDirectory()||l.name===".bin"||!l.name.startsWith("."));if(a.length===o.length)t.push(s);else for(let l of a)t.push(x.join(s,l.name))}return t}async unplugPackageIfNeeded(e,t,i,n,s){return this.shouldBeUnplugged(e,t,n)?this.unplugPackage(e,i,s):i.packageFs}shouldBeUnplugged(e,t,i){return typeof i.unplugged<"u"?i.unplugged:r8e.has(e.identHash)||e.conditions!=null?!0:t.manifest.preferUnplugged!==null?t.manifest.preferUnplugged:!!(UQ(e,t,i,{configuration:this.opts.project.configuration}).length>0||t.misc.extractHint)}async unplugPackage(e,t,i){let n=tE(e,{configuration:this.opts.project.configuration});return this.opts.project.disabledLocators.has(e.locatorHash)?new yo(n,{baseFs:t.packageFs,pathUtils:x}):(this.unpluggedPaths.add(n),i.holdFetchResult(this.asyncActions.set(e.locatorHash,async()=>{let s=x.join(n,t.prefixPath,".ready");await M.existsPromise(s)||(this.opts.project.storedBuildState.delete(e.locatorHash),await M.mkdirPromise(n,{recursive:!0}),await M.copyPromise(n,Oe.dot,{baseFs:t.packageFs,overwrite:!1}),await M.writeFilePromise(s,""))})),new jt(n))}getPackageInformation(e){let t=P.stringifyIdent(e),i=e.reference,n=this.packageRegistry.get(t);if(!n)throw new Error(`Assertion failed: The package information store should have been available (for ${P.prettyIdent(this.opts.project.configuration,e)})`);let s=n.get(i);if(!s)throw new Error(`Assertion failed: The package information should have been available (for ${P.prettyLocator(this.opts.project.configuration,e)})`);return s}getDiskInformation(e){let t=Ie.getMapWithDefault(this.packageRegistry,"@@disk"),i=SO(this.opts.project.cwd,e);return Ie.getFactoryWithDefault(t,i,()=>({packageLocation:i,packageDependencies:new Map,packagePeers:new Set,linkType:"SOFT",discardFromLookup:!1}))}};function SO(r,e){let t=x.relative(r,e);return t.match(/^\.{0,2}\//)||(t=`./${t}`),t.replace(/\/?$/,"/")}async function i8e(r){var i;let e=(i=await ot.tryFind(r.prefixPath,{baseFs:r.packageFs}))!=null?i:new ot,t=new Set(["preinstall","install","postinstall"]);for(let n of e.scripts.keys())t.has(n)||e.scripts.delete(n);return{manifest:{scripts:e.scripts,preferUnplugged:e.preferUnplugged,type:e.type},misc:{extractHint:QO(r),hasBindingGyp:bO(r)}}}var FAe=Pe(yn());var Nu=class extends De{constructor(){super(...arguments);this.all=z.Boolean("-A,--all",!1,{description:"Unplug direct dependencies from the entire project"});this.recursive=z.Boolean("-R,--recursive",!1,{description:"Unplug both direct and transitive dependencies"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=z.Rest()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);if(t.get("nodeLinker")!=="pnp")throw new be("This command can only be used if the `nodeLinker` option is set to `pnp`");await i.restoreInstallState();let o=new Set(this.patterns),a=this.patterns.map(h=>{let p=P.parseDescriptor(h),C=p.range!=="unknown"?p:P.makeDescriptor(p,"*");if(!vt.validRange(C.range))throw new be(`The range of the descriptor patterns must be a valid semver range (${P.prettyDescriptor(t,C)})`);return y=>{let B=P.stringifyIdent(y);return!FAe.default.isMatch(B,P.stringifyIdent(C))||y.version&&!vt.satisfiesWithPrereleases(y.version,C.range)?!1:(o.delete(h),!0)}}),l=()=>{let h=[];for(let p of i.storedPackages.values())!i.tryWorkspaceByLocator(p)&&!P.isVirtualLocator(p)&&a.some(C=>C(p))&&h.push(p);return h},c=h=>{let p=new Set,C=[],y=(B,v)=>{if(!p.has(B.locatorHash)&&(p.add(B.locatorHash),!i.tryWorkspaceByLocator(B)&&a.some(D=>D(B))&&C.push(B),!(v>0&&!this.recursive)))for(let D of B.dependencies.values()){let L=i.storedResolutions.get(D.descriptorHash);if(!L)throw new Error("Assertion failed: The resolution should have been registered");let H=i.storedPackages.get(L);if(!H)throw new Error("Assertion failed: The package should have been registered");y(H,v+1)}};for(let B of h){let v=i.storedPackages.get(B.anchoredLocator.locatorHash);if(!v)throw new Error("Assertion failed: The package should have been registered");y(v,0)}return C},u,g;if(this.all&&this.recursive?(u=l(),g="the project"):this.all?(u=c(i.workspaces),g="any workspace"):(u=c([n]),g="this workspace"),o.size>1)throw new be(`Patterns ${ee.prettyList(t,o,ee.Type.CODE)} don't match any packages referenced by ${g}`);if(o.size>0)throw new be(`Pattern ${ee.prettyList(t,o,ee.Type.CODE)} doesn't match any packages referenced by ${g}`);return u=Ie.sortMap(u,h=>P.stringifyLocator(h)),(await Ge.start({configuration:t,stdout:this.context.stdout,json:this.json},async h=>{var p;for(let C of u){let y=(p=C.version)!=null?p:"unknown",B=i.topLevelWorkspace.manifest.ensureDependencyMeta(P.makeDescriptor(C,y));B.unplugged=!0,h.reportInfo(0,`Will unpack ${P.prettyLocator(t,C)} to ${ee.pretty(t,tE(C,{configuration:t}),ee.Type.PATH)}`),h.reportJson({locator:P.stringifyLocator(C),version:y})}await i.topLevelWorkspace.persistManifest(),h.reportSeparator(),await i.install({cache:s,report:h})})).exitCode()}};Nu.paths=[["unplug"]],Nu.usage=ve.Usage({description:"force the unpacking of a list of packages",details:"\n This command will add the selectors matching the specified patterns to the list of packages that must be unplugged when installed.\n\n A package being unplugged means that instead of being referenced directly through its archive, it will be unpacked at install time in the directory configured via `pnpUnpluggedFolder`. Note that unpacking packages this way is generally not recommended because it'll make it harder to store your packages within the repository. However, it's a good approach to quickly and safely debug some packages, and can even sometimes be required depending on the context (for example when the package contains shellscripts).\n\n Running the command will set a persistent flag inside your top-level `package.json`, in the `dependenciesMeta` field. As such, to undo its effects, you'll need to revert the changes made to the manifest and run `yarn install` to apply the modification.\n\n By default, only direct dependencies from the current workspace are affected. If `-A,--all` is set, direct dependencies from the entire project are affected. Using the `-R,--recursive` flag will affect transitive dependencies as well as direct ones.\n\n This command accepts glob patterns inside the scope and name components (not the range). Make sure to escape the patterns to prevent your own shell from trying to expand them.\n ",examples:[["Unplug the lodash dependency from the active workspace","yarn unplug lodash"],["Unplug all instances of lodash referenced by any workspace","yarn unplug lodash -A"],["Unplug all instances of lodash referenced by the active workspace and its dependencies","yarn unplug lodash -R"],["Unplug all instances of lodash, anywhere","yarn unplug lodash -AR"],["Unplug one specific version of lodash","yarn unplug lodash@1.2.3"],["Unplug all packages with the `@babel` scope","yarn unplug '@babel/*'"],["Unplug all packages (only for testing, not recommended)","yarn unplug -R '*'"]]});var cl=r=>({cjs:x.join(r.cwd,xt.pnpCjs),cjsLegacy:x.join(r.cwd,xt.pnpJs),esmLoader:x.join(r.cwd,".pnp.loader.mjs")}),TAe=r=>/\s/.test(r)?JSON.stringify(r):r;async function n8e(r,e,t){let i=cl(r),n=`--require ${TAe(K.fromPortablePath(i.cjs))}`;if(M.existsSync(i.esmLoader)&&(n=`${n} --experimental-loader ${(0,LAe.pathToFileURL)(K.fromPortablePath(i.esmLoader)).href}`),i.cjs.includes(" ")&&NAe.default.lt(process.versions.node,"12.0.0"))throw new Error(`Expected the build location to not include spaces when using Node < 12.0.0 (${process.versions.node})`);if(M.existsSync(i.cjs)){let s=e.NODE_OPTIONS||"",o=/\s*--require\s+\S*\.pnp\.c?js\s*/g,a=/\s*--experimental-loader\s+\S*\.pnp\.loader\.mjs\s*/;s=s.replace(o," ").replace(a," ").trim(),s=s?`${n} ${s}`:n,e.NODE_OPTIONS=s}}async function s8e(r,e){let t=cl(r);e(t.cjs),e(t.esmLoader),e(r.configuration.get("pnpDataPath")),e(r.configuration.get("pnpUnpluggedFolder"))}var o8e={hooks:{populateYarnPaths:s8e,setupScriptEnvironment:n8e},configuration:{nodeLinker:{description:'The linker used for installing Node packages, one of: "pnp", "node-modules"',type:"STRING",default:"pnp"},pnpMode:{description:"If 'strict', generates standard PnP maps. If 'loose', merges them with the n_m resolution.",type:"STRING",default:"strict"},pnpShebang:{description:"String to prepend to the generated PnP script",type:"STRING",default:"#!/usr/bin/env node"},pnpIgnorePatterns:{description:"Array of glob patterns; files matching them will use the classic resolution",type:"STRING",default:[],isArray:!0},pnpEnableEsmLoader:{description:"If true, Yarn will generate an ESM loader (`.pnp.loader.mjs`). If this is not explicitly set Yarn tries to automatically detect whether ESM support is required.",type:"BOOLEAN",default:!1},pnpEnableInlining:{description:"If true, the PnP data will be inlined along with the generated loader",type:"BOOLEAN",default:!0},pnpFallbackMode:{description:"If true, the generated PnP loader will follow the top-level fallback rule",type:"STRING",default:"dependencies-only"},pnpUnpluggedFolder:{description:"Folder where the unplugged packages must be stored",type:"ABSOLUTE_PATH",default:"./.yarn/unplugged"},pnpDataPath:{description:"Path of the file where the PnP data (used by the loader) must be written",type:"ABSOLUTE_PATH",default:"./.pnp.data.json"}},linkers:[ll],commands:[Nu]},a8e=o8e;var jAe=Pe(HAe());var NO=Pe(J("crypto")),qAe=Pe(J("fs")),JAe=1,kr="node_modules",HQ=".bin",WAe=".yarn-state.yml",Q8e=1e3;var GQ=class{constructor(){this.installStateCache=new Map}supportsPackage(e,t){return this.isEnabled(t)}async findPackageLocation(e,t){if(!this.isEnabled(t))throw new Error("Assertion failed: Expected the node-modules linker to be enabled");let i=t.project.tryWorkspaceByLocator(e);if(i)return i.cwd;let n=await Ie.getFactoryWithDefault(this.installStateCache,t.project.cwd,async()=>await FO(t.project,{unrollAliases:!0}));if(n===null)throw new be("Couldn't find the node_modules state file - running an install might help (findPackageLocation)");let s=n.locatorMap.get(P.stringifyLocator(e));if(!s){let l=new be(`Couldn't find ${P.prettyLocator(t.project.configuration,e)} in the currently installed node_modules map - running an install might help`);throw l.code="LOCATOR_NOT_INSTALLED",l}let o=s.locations.sort((l,c)=>l.split(x.sep).length-c.split(x.sep).length),a=x.join(t.project.configuration.startingCwd,kr);return o.find(l=>x.contains(a,l))||s.locations[0]}async findPackageLocator(e,t){if(!this.isEnabled(t))return null;let i=await Ie.getFactoryWithDefault(this.installStateCache,t.project.cwd,async()=>await FO(t.project,{unrollAliases:!0}));if(i===null)return null;let{locationRoot:n,segments:s}=YQ(x.resolve(e),{skipPrefix:t.project.cwd}),o=i.locationTree.get(n);if(!o)return null;let a=o.locator;for(let l of s){if(o=o.children.get(l),!o)break;a=o.locator||a}return P.parseLocator(a)}makeInstaller(e){return new RO(e)}isEnabled(e){return e.project.configuration.get("nodeLinker")==="node-modules"}},RO=class{constructor(e){this.opts=e;this.localStore=new Map;this.realLocatorChecksums=new Map;this.customData={store:new Map}}getCustomDataKey(){return JSON.stringify({name:"NodeModulesInstaller",version:2})}attachCustomData(e){this.customData=e}async installPackage(e,t){var u;let i=x.resolve(t.packageFs.getRealPath(),t.prefixPath),n=this.customData.store.get(e.locatorHash);if(typeof n>"u"&&(n=await b8e(e,t),e.linkType==="HARD"&&this.customData.store.set(e.locatorHash,n)),!P.isPackageCompatible(e,this.opts.project.configuration.getSupportedArchitectures()))return{packageLocation:null,buildDirective:null};let s=new Map,o=new Set;s.has(P.stringifyIdent(e))||s.set(P.stringifyIdent(e),e.reference);let a=e;if(P.isVirtualLocator(e)){a=P.devirtualizeLocator(e);for(let g of e.peerDependencies.values())s.set(P.stringifyIdent(g),null),o.add(P.stringifyIdent(g))}let l={packageLocation:`${K.fromPortablePath(i)}/`,packageDependencies:s,packagePeers:o,linkType:e.linkType,discardFromLookup:(u=t.discardFromLookup)!=null?u:!1};this.localStore.set(e.locatorHash,{pkg:e,customPackageData:n,dependencyMeta:this.opts.project.getDependencyMeta(e,e.version),pnpNode:l});let c=t.checksum?t.checksum.substring(t.checksum.indexOf("/")+1):null;return this.realLocatorChecksums.set(a.locatorHash,c),{packageLocation:i,buildDirective:null}}async attachInternalDependencies(e,t){let i=this.localStore.get(e.locatorHash);if(typeof i>"u")throw new Error("Assertion failed: Expected information object to have been registered");for(let[n,s]of t){let o=P.areIdentsEqual(n,s)?s.reference:[P.stringifyIdent(s),s.reference];i.pnpNode.packageDependencies.set(P.stringifyIdent(n),o)}}async attachExternalDependents(e,t){throw new Error("External dependencies haven't been implemented for the node-modules linker")}async finalizeInstall(){if(this.opts.project.configuration.get("nodeLinker")!=="node-modules")return;let e=new Br({baseFs:new Tn({libzip:await rn(),maxOpenFiles:80,readOnlyArchives:!0})}),t=await FO(this.opts.project),i=this.opts.project.configuration.get("nmMode");(t===null||i!==t.nmMode)&&(this.opts.project.storedBuildState.clear(),t={locatorMap:new Map,binSymlinks:new Map,locationTree:new Map,nmMode:i,mtimeMs:0});let n=new Map(this.opts.project.workspaces.map(f=>{var p,C;let h=this.opts.project.configuration.get("nmHoistingLimits");try{h=Ie.validateEnum(qm,(C=(p=f.manifest.installConfig)==null?void 0:p.hoistingLimits)!=null?C:h)}catch{let B=P.prettyWorkspace(this.opts.project.configuration,f);this.opts.report.reportWarning(57,`${B}: Invalid 'installConfig.hoistingLimits' value. Expected one of ${Object.values(qm).join(", ")}, using default: "${h}"`)}return[f.relativeCwd,h]})),s=new Map(this.opts.project.workspaces.map(f=>{var p,C;let h=this.opts.project.configuration.get("nmSelfReferences");return h=(C=(p=f.manifest.installConfig)==null?void 0:p.selfReferences)!=null?C:h,[f.relativeCwd,h]})),o={VERSIONS:{std:1},topLevel:{name:null,reference:null},getLocator:(f,h)=>Array.isArray(h)?{name:h[0],reference:h[1]}:{name:f,reference:h},getDependencyTreeRoots:()=>this.opts.project.workspaces.map(f=>{let h=f.anchoredLocator;return{name:P.stringifyIdent(f.locator),reference:h.reference}}),getPackageInformation:f=>{let h=f.reference===null?this.opts.project.topLevelWorkspace.anchoredLocator:P.makeLocator(P.parseIdent(f.name),f.reference),p=this.localStore.get(h.locatorHash);if(typeof p>"u")throw new Error("Assertion failed: Expected the package reference to have been registered");return p.pnpNode},findPackageLocator:f=>{let h=this.opts.project.tryWorkspaceByCwd(K.toPortablePath(f));if(h!==null){let p=h.anchoredLocator;return{name:P.stringifyIdent(p),reference:p.reference}}throw new Error("Assertion failed: Unimplemented")},resolveToUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveRequest:()=>{throw new Error("Assertion failed: Unimplemented")},resolveVirtual:f=>K.fromPortablePath(Br.resolveVirtual(K.toPortablePath(f)))},{tree:a,errors:l,preserveSymlinksRequired:c}=Jm(o,{pnpifyFs:!1,validateExternalSoftLinks:!0,hoistingLimitsByCwd:n,project:this.opts.project,selfReferencesByCwd:s});if(!a){for(let{messageName:f,text:h}of l)this.opts.report.reportError(f,h);return}let u=uO(a);await k8e(t,u,{baseFs:e,project:this.opts.project,report:this.opts.report,realLocatorChecksums:this.realLocatorChecksums,loadManifest:async f=>{let h=P.parseLocator(f),p=this.localStore.get(h.locatorHash);if(typeof p>"u")throw new Error("Assertion failed: Expected the slot to exist");return p.customPackageData.manifest}});let g=[];for(let[f,h]of u.entries()){if(_Ae(f))continue;let p=P.parseLocator(f),C=this.localStore.get(p.locatorHash);if(typeof C>"u")throw new Error("Assertion failed: Expected the slot to exist");if(this.opts.project.tryWorkspaceByLocator(C.pkg))continue;let y=uo.extractBuildScripts(C.pkg,C.customPackageData,C.dependencyMeta,{configuration:this.opts.project.configuration,report:this.opts.report});y.length!==0&&g.push({buildLocations:h.locations,locatorHash:p.locatorHash,buildDirective:y})}return c&&this.opts.report.reportWarning(72,`The application uses portals and that's why ${ee.pretty(this.opts.project.configuration,"--preserve-symlinks",ee.Type.CODE)} Node option is required for launching it`),{customData:this.customData,records:g}}};async function b8e(r,e){var n;let t=(n=await ot.tryFind(e.prefixPath,{baseFs:e.packageFs}))!=null?n:new ot,i=new Set(["preinstall","install","postinstall"]);for(let s of t.scripts.keys())i.has(s)||t.scripts.delete(s);return{manifest:{bin:t.bin,scripts:t.scripts},misc:{extractHint:uo.getExtractHint(e),hasBindingGyp:uo.hasBindingGyp(e)}}}async function S8e(r,e,t,i,{installChangedByUser:n}){let s="";s+=`# Warning: This file is automatically generated. Removing it is fine, but will +${we.map(pe=>`Not found: ${fo(pe)} +`).join("")}`,{unqualifiedPath:ne,extensions:le})}}function ke(oe,le,we){var Ae;if(!le)throw new Error("Assertion failed: An issuer is required to resolve private import mappings");let fe=ile({name:oe,base:(0,rp.pathToFileURL)(K.fromPortablePath(le)),conditions:(Ae=we.conditions)!=null?Ae:D,readFileSyncFn:O});if(fe instanceof rp.URL)return he(K.toPortablePath((0,rp.fileURLToPath)(fe)),{extensions:we.extensions});if(fe.startsWith("#"))throw new Error("Mapping from one private import to another isn't allowed");return Fe(fe,le,we)}function Fe(oe,le,we={}){try{if(oe.startsWith("#"))return ke(oe,le,we);let{considerBuiltins:fe,extensions:Ae,conditions:qe}=we,ne=F(oe,le,{considerBuiltins:fe});if(oe==="pnpapi")return ne;if(ne===null)return null;let Y=()=>le!==null?V(le):!1,pe=(!fe||!eb(oe))&&!Y()?ue(oe,ne,qe):ne;return he(pe,{extensions:Ae})}catch(fe){throw Object.prototype.hasOwnProperty.call(fe,"pnpCode")&&Object.assign(fe.data,{request:fo(oe),issuer:le&&fo(le)}),fe}}function Ne(oe){let le=x.normalize(oe),we=Br.resolveVirtual(le);return we!==le?we:null}return{VERSIONS:W,topLevel:_,getLocator:(oe,le)=>Array.isArray(le)?{name:le[0],reference:le[1]}:{name:oe,reference:le},getDependencyTreeRoots:()=>[...r.dependencyTreeRoots],getAllLocators(){let oe=[];for(let[le,we]of f)for(let fe of we.keys())le!==null&&fe!==null&&oe.push({name:le,reference:fe});return oe},getPackageInformation:oe=>{let le=A(oe);if(le===null)return null;let we=K.fromPortablePath(le.packageLocation);return{...le,packageLocation:we}},findPackageLocator:oe=>re(K.toPortablePath(oe)),resolveToUnqualified:y("resolveToUnqualified",(oe,le,we)=>{let fe=le!==null?K.toPortablePath(le):null,Ae=F(K.toPortablePath(oe),fe,we);return Ae===null?null:K.fromPortablePath(Ae)}),resolveUnqualified:y("resolveUnqualified",(oe,le)=>K.fromPortablePath(he(K.toPortablePath(oe),le))),resolveRequest:y("resolveRequest",(oe,le,we)=>{let fe=le!==null?K.toPortablePath(le):null,Ae=Fe(K.toPortablePath(oe),fe,we);return Ae===null?null:K.fromPortablePath(Ae)}),resolveVirtual:y("resolveVirtual",oe=>{let le=Ne(K.toPortablePath(oe));return le!==null?K.fromPortablePath(le):null})}}var EBt=(0,fle.promisify)(gle.readFile);var hle=(r,e,t)=>{let i=rE(r),n=UO(i,{basePath:e}),s=K.join(e,xt.pnpCjs);return zO(n,{fakeFs:t,pnpapiResolution:s})};var XO=Pe(dle());var po={};ut(po,{checkAndReportManifestCompatibility:()=>mle,checkManifestCompatibility:()=>Cle,extractBuildScripts:()=>tb,getExtractHint:()=>ZO,hasBindingGyp:()=>_O});function Cle(r){return P.isPackageCompatible(r,Is.getArchitectureSet())}function mle(r,e,{configuration:t,report:i}){return Cle(r)?!0:(i==null||i.reportWarningOnce(76,`${P.prettyLocator(t,r)} The ${Is.getArchitectureName()} architecture is incompatible with this package, ${e} skipped.`),!1)}function tb(r,e,t,{configuration:i,report:n}){let s=[];for(let a of["preinstall","install","postinstall"])e.manifest.scripts.has(a)&&s.push([0,a]);return!e.manifest.scripts.has("install")&&e.misc.hasBindingGyp&&s.push([1,"node-gyp rebuild"]),s.length===0?[]:r.linkType!=="HARD"?(n==null||n.reportWarningOnce(6,`${P.prettyLocator(i,r)} lists build scripts, but is referenced through a soft link. Soft links don't support build scripts, so they'll be ignored.`),[]):t&&t.built===!1?(n==null||n.reportInfoOnce(5,`${P.prettyLocator(i,r)} lists build scripts, but its build has been explicitly disabled through configuration.`),[]):!i.get("enableScripts")&&!t.built?(n==null||n.reportWarningOnce(4,`${P.prettyLocator(i,r)} lists build scripts, but all build scripts have been disabled.`),[]):mle(r,"build",{configuration:i,report:n})?s:[]}var oze=new Set([".exe",".h",".hh",".hpp",".c",".cc",".cpp",".java",".jar",".node"]);function ZO(r){return r.packageFs.getExtractHint({relevantExtensions:oze})}function _O(r){let e=x.join(r.prefixPath,"binding.gyp");return r.packageFs.existsSync(e)}var cE={};ut(cE,{getUnpluggedPath:()=>lE});function lE(r,{configuration:e}){return x.resolve(e.get("pnpUnpluggedFolder"),P.slugifyLocator(r))}var aze=new Set([P.makeIdent(null,"open").identHash,P.makeIdent(null,"opn").identHash]),ml=class{constructor(){this.mode="strict";this.pnpCache=new Map}supportsPackage(e,t){return this.isEnabled(t)}async findPackageLocation(e,t){if(!this.isEnabled(t))throw new Error("Assertion failed: Expected the PnP linker to be enabled");let i=El(t.project).cjs;if(!M.existsSync(i))throw new be(`The project in ${ee.pretty(t.project.configuration,`${t.project.cwd}/package.json`,ee.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let n=Ie.getFactoryWithDefault(this.pnpCache,i,()=>Ie.dynamicRequire(i,{cachingStrategy:Ie.CachingStrategy.FsTime})),s={name:P.stringifyIdent(e),reference:e.reference},o=n.getPackageInformation(s);if(!o)throw new be(`Couldn't find ${P.prettyLocator(t.project.configuration,e)} in the currently installed PnP map - running an install might help`);return K.toPortablePath(o.packageLocation)}async findPackageLocator(e,t){if(!this.isEnabled(t))return null;let i=El(t.project).cjs;if(!M.existsSync(i))return null;let s=Ie.getFactoryWithDefault(this.pnpCache,i,()=>Ie.dynamicRequire(i,{cachingStrategy:Ie.CachingStrategy.FsTime})).findPackageLocator(K.fromPortablePath(e));return s?P.makeLocator(P.parseIdent(s.name),s.reference):null}makeInstaller(e){return new Uu(e)}isEnabled(e){return!(e.project.configuration.get("nodeLinker")!=="pnp"||e.project.configuration.get("pnpMode")!==this.mode)}},Uu=class{constructor(e){this.opts=e;this.mode="strict";this.asyncActions=new Ie.AsyncActions(10);this.packageRegistry=new Map;this.virtualTemplates=new Map;this.isESMLoaderRequired=!1;this.customData={store:new Map};this.unpluggedPaths=new Set;this.opts=e}getCustomDataKey(){return JSON.stringify({name:"PnpInstaller",version:2})}attachCustomData(e){this.customData=e}async installPackage(e,t,i){let n=P.stringifyIdent(e),s=e.reference,o=!!this.opts.project.tryWorkspaceByLocator(e),a=P.isVirtualLocator(e),l=e.peerDependencies.size>0&&!a,c=!l&&!o,u=!l&&e.linkType!=="SOFT",g,f;if(c||u){let D=a?P.devirtualizeLocator(e):e;g=this.customData.store.get(D.locatorHash),typeof g>"u"&&(g=await Aze(t),e.linkType==="HARD"&&this.customData.store.set(D.locatorHash,g)),g.manifest.type==="module"&&(this.isESMLoaderRequired=!0),f=this.opts.project.getDependencyMeta(D,e.version)}let h=c?tb(e,g,f,{configuration:this.opts.project.configuration,report:this.opts.report}):[],p=u?await this.unplugPackageIfNeeded(e,g,t,f,i):t.packageFs;if(x.isAbsolute(t.prefixPath))throw new Error(`Assertion failed: Expected the prefix path (${t.prefixPath}) to be relative to the parent`);let C=x.resolve(p.getRealPath(),t.prefixPath),y=$O(this.opts.project.cwd,C),B=new Map,v=new Set;if(a){for(let D of e.peerDependencies.values())B.set(P.stringifyIdent(D),null),v.add(P.stringifyIdent(D));if(!o){let D=P.devirtualizeLocator(e);this.virtualTemplates.set(D.locatorHash,{location:$O(this.opts.project.cwd,Br.resolveVirtual(C)),locator:D})}}return Ie.getMapWithDefault(this.packageRegistry,n).set(s,{packageLocation:y,packageDependencies:B,packagePeers:v,linkType:e.linkType,discardFromLookup:t.discardFromLookup||!1}),{packageLocation:C,buildDirective:h.length>0?h:null}}async attachInternalDependencies(e,t){let i=this.getPackageInformation(e);for(let[n,s]of t){let o=P.areIdentsEqual(n,s)?s.reference:[P.stringifyIdent(s),s.reference];i.packageDependencies.set(P.stringifyIdent(n),o)}}async attachExternalDependents(e,t){for(let i of t)this.getDiskInformation(i).packageDependencies.set(P.stringifyIdent(e),e.reference)}async finalizeInstall(){if(this.opts.project.configuration.get("pnpMode")!==this.mode)return;let e=El(this.opts.project);if(M.existsSync(e.cjsLegacy)&&(this.opts.report.reportWarning(0,`Removing the old ${ee.pretty(this.opts.project.configuration,xt.pnpJs,ee.Type.PATH)} file. You might need to manually update existing references to reference the new ${ee.pretty(this.opts.project.configuration,xt.pnpCjs,ee.Type.PATH)} file. If you use Editor SDKs, you'll have to rerun ${ee.pretty(this.opts.project.configuration,"yarn sdks",ee.Type.CODE)}.`),await M.removePromise(e.cjsLegacy)),this.isEsmEnabled()||await M.removePromise(e.esmLoader),this.opts.project.configuration.get("nodeLinker")!=="pnp"){await M.removePromise(e.cjs),await M.removePromise(this.opts.project.configuration.get("pnpDataPath")),await M.removePromise(e.esmLoader),await M.removePromise(this.opts.project.configuration.get("pnpUnpluggedFolder"));return}for(let{locator:u,location:g}of this.virtualTemplates.values())Ie.getMapWithDefault(this.packageRegistry,P.stringifyIdent(u)).set(u.reference,{packageLocation:g,packageDependencies:new Map,packagePeers:new Set,linkType:"SOFT",discardFromLookup:!1});this.packageRegistry.set(null,new Map([[null,this.getPackageInformation(this.opts.project.topLevelWorkspace.anchoredLocator)]]));let t=this.opts.project.configuration.get("pnpFallbackMode"),i=this.opts.project.workspaces.map(({anchoredLocator:u})=>({name:P.stringifyIdent(u),reference:u.reference})),n=t!=="none",s=[],o=new Map,a=Ie.buildIgnorePattern([".yarn/sdks/**",...this.opts.project.configuration.get("pnpIgnorePatterns")]),l=this.packageRegistry,c=this.opts.project.configuration.get("pnpShebang");if(t==="dependencies-only")for(let u of this.opts.project.storedPackages.values())this.opts.project.tryWorkspaceByLocator(u)&&s.push({name:P.stringifyIdent(u),reference:u.reference});return await this.asyncActions.wait(),await this.finalizeInstallWithPnp({dependencyTreeRoots:i,enableTopLevelFallback:n,fallbackExclusionList:s,fallbackPool:o,ignorePattern:a,packageRegistry:l,shebang:c}),{customData:this.customData}}async transformPnpSettings(e){}isEsmEnabled(){if(this.opts.project.configuration.sources.has("pnpEnableEsmLoader"))return this.opts.project.configuration.get("pnpEnableEsmLoader");if(this.isESMLoaderRequired)return!0;for(let e of this.opts.project.workspaces)if(e.manifest.type==="module")return!0;return!1}async finalizeInstallWithPnp(e){let t=El(this.opts.project),i=this.opts.project.configuration.get("pnpDataPath"),n=await this.locateNodeModules(e.ignorePattern);if(n.length>0){this.opts.report.reportWarning(31,"One or more node_modules have been detected and will be removed. This operation may take some time.");for(let o of n)await M.removePromise(o)}if(await this.transformPnpSettings(e),this.opts.project.configuration.get("pnpEnableInlining")){let o=HAe(e);await M.changeFilePromise(t.cjs,o,{automaticNewlines:!0,mode:493}),await M.removePromise(i)}else{let o=x.relative(x.dirname(t.cjs),i),{dataFile:a,loaderFile:l}=GAe({...e,dataLocation:o});await M.changeFilePromise(t.cjs,l,{automaticNewlines:!0,mode:493}),await M.changeFilePromise(i,a,{automaticNewlines:!0,mode:420})}this.isEsmEnabled()&&(this.opts.report.reportWarning(0,"ESM support for PnP uses the experimental loader API and is therefore experimental"),await M.changeFilePromise(t.esmLoader,(0,XO.default)(),{automaticNewlines:!0,mode:420}));let s=this.opts.project.configuration.get("pnpUnpluggedFolder");if(this.unpluggedPaths.size===0)await M.removePromise(s);else for(let o of await M.readdirPromise(s)){let a=x.resolve(s,o);this.unpluggedPaths.has(a)||await M.removePromise(a)}}async locateNodeModules(e){let t=[],i=e?new RegExp(e):null;for(let n of this.opts.project.workspaces){let s=x.join(n.cwd,"node_modules");if(i&&i.test(x.relative(this.opts.project.cwd,n.cwd))||!M.existsSync(s))continue;let o=await M.readdirPromise(s,{withFileTypes:!0}),a=o.filter(l=>!l.isDirectory()||l.name===".bin"||!l.name.startsWith("."));if(a.length===o.length)t.push(s);else for(let l of a)t.push(x.join(s,l.name))}return t}async unplugPackageIfNeeded(e,t,i,n,s){return this.shouldBeUnplugged(e,t,n)?this.unplugPackage(e,i,s):i.packageFs}shouldBeUnplugged(e,t,i){return typeof i.unplugged<"u"?i.unplugged:aze.has(e.identHash)||e.conditions!=null?!0:t.manifest.preferUnplugged!==null?t.manifest.preferUnplugged:!!(tb(e,t,i,{configuration:this.opts.project.configuration}).length>0||t.misc.extractHint)}async unplugPackage(e,t,i){let n=lE(e,{configuration:this.opts.project.configuration});return this.opts.project.disabledLocators.has(e.locatorHash)?new bo(n,{baseFs:t.packageFs,pathUtils:x}):(this.unpluggedPaths.add(n),i.holdFetchResult(this.asyncActions.set(e.locatorHash,async()=>{let s=x.join(n,t.prefixPath,".ready");await M.existsPromise(s)||(this.opts.project.storedBuildState.delete(e.locatorHash),await M.mkdirPromise(n,{recursive:!0}),await M.copyPromise(n,Oe.dot,{baseFs:t.packageFs,overwrite:!1}),await M.writeFilePromise(s,""))})),new qt(n))}getPackageInformation(e){let t=P.stringifyIdent(e),i=e.reference,n=this.packageRegistry.get(t);if(!n)throw new Error(`Assertion failed: The package information store should have been available (for ${P.prettyIdent(this.opts.project.configuration,e)})`);let s=n.get(i);if(!s)throw new Error(`Assertion failed: The package information should have been available (for ${P.prettyLocator(this.opts.project.configuration,e)})`);return s}getDiskInformation(e){let t=Ie.getMapWithDefault(this.packageRegistry,"@@disk"),i=$O(this.opts.project.cwd,e);return Ie.getFactoryWithDefault(t,i,()=>({packageLocation:i,packageDependencies:new Map,packagePeers:new Set,linkType:"SOFT",discardFromLookup:!1}))}};function $O(r,e){let t=x.relative(r,e);return t.match(/^\.{0,2}\//)||(t=`./${t}`),t.replace(/\/?$/,"/")}async function Aze(r){var i;let e=(i=await ot.tryFind(r.prefixPath,{baseFs:r.packageFs}))!=null?i:new ot,t=new Set(["preinstall","install","postinstall"]);for(let n of e.scripts.keys())t.has(n)||e.scripts.delete(n);return{manifest:{scripts:e.scripts,preferUnplugged:e.preferUnplugged,type:e.type},misc:{extractHint:ZO(r),hasBindingGyp:_O(r)}}}var Ele=Pe(yn());var Hu=class extends De{constructor(){super(...arguments);this.all=z.Boolean("-A,--all",!1,{description:"Unplug direct dependencies from the entire project"});this.recursive=z.Boolean("-R,--recursive",!1,{description:"Unplug both direct and transitive dependencies"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=z.Rest()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);if(t.get("nodeLinker")!=="pnp")throw new be("This command can only be used if the `nodeLinker` option is set to `pnp`");await i.restoreInstallState();let o=new Set(this.patterns),a=this.patterns.map(h=>{let p=P.parseDescriptor(h),C=p.range!=="unknown"?p:P.makeDescriptor(p,"*");if(!vt.validRange(C.range))throw new be(`The range of the descriptor patterns must be a valid semver range (${P.prettyDescriptor(t,C)})`);return y=>{let B=P.stringifyIdent(y);return!Ele.default.isMatch(B,P.stringifyIdent(C))||y.version&&!vt.satisfiesWithPrereleases(y.version,C.range)?!1:(o.delete(h),!0)}}),l=()=>{let h=[];for(let p of i.storedPackages.values())!i.tryWorkspaceByLocator(p)&&!P.isVirtualLocator(p)&&a.some(C=>C(p))&&h.push(p);return h},c=h=>{let p=new Set,C=[],y=(B,v)=>{if(!p.has(B.locatorHash)&&(p.add(B.locatorHash),!i.tryWorkspaceByLocator(B)&&a.some(D=>D(B))&&C.push(B),!(v>0&&!this.recursive)))for(let D of B.dependencies.values()){let L=i.storedResolutions.get(D.descriptorHash);if(!L)throw new Error("Assertion failed: The resolution should have been registered");let H=i.storedPackages.get(L);if(!H)throw new Error("Assertion failed: The package should have been registered");y(H,v+1)}};for(let B of h){let v=i.storedPackages.get(B.anchoredLocator.locatorHash);if(!v)throw new Error("Assertion failed: The package should have been registered");y(v,0)}return C},u,g;if(this.all&&this.recursive?(u=l(),g="the project"):this.all?(u=c(i.workspaces),g="any workspace"):(u=c([n]),g="this workspace"),o.size>1)throw new be(`Patterns ${ee.prettyList(t,o,ee.Type.CODE)} don't match any packages referenced by ${g}`);if(o.size>0)throw new be(`Pattern ${ee.prettyList(t,o,ee.Type.CODE)} doesn't match any packages referenced by ${g}`);return u=Ie.sortMap(u,h=>P.stringifyLocator(h)),(await Ge.start({configuration:t,stdout:this.context.stdout,json:this.json},async h=>{var p;for(let C of u){let y=(p=C.version)!=null?p:"unknown",B=i.topLevelWorkspace.manifest.ensureDependencyMeta(P.makeDescriptor(C,y));B.unplugged=!0,h.reportInfo(0,`Will unpack ${P.prettyLocator(t,C)} to ${ee.pretty(t,lE(C,{configuration:t}),ee.Type.PATH)}`),h.reportJson({locator:P.stringifyLocator(C),version:y})}await i.topLevelWorkspace.persistManifest(),h.reportSeparator(),await i.install({cache:s,report:h})})).exitCode()}};Hu.paths=[["unplug"]],Hu.usage=ve.Usage({description:"force the unpacking of a list of packages",details:"\n This command will add the selectors matching the specified patterns to the list of packages that must be unplugged when installed.\n\n A package being unplugged means that instead of being referenced directly through its archive, it will be unpacked at install time in the directory configured via `pnpUnpluggedFolder`. Note that unpacking packages this way is generally not recommended because it'll make it harder to store your packages within the repository. However, it's a good approach to quickly and safely debug some packages, and can even sometimes be required depending on the context (for example when the package contains shellscripts).\n\n Running the command will set a persistent flag inside your top-level `package.json`, in the `dependenciesMeta` field. As such, to undo its effects, you'll need to revert the changes made to the manifest and run `yarn install` to apply the modification.\n\n By default, only direct dependencies from the current workspace are affected. If `-A,--all` is set, direct dependencies from the entire project are affected. Using the `-R,--recursive` flag will affect transitive dependencies as well as direct ones.\n\n This command accepts glob patterns inside the scope and name components (not the range). Make sure to escape the patterns to prevent your own shell from trying to expand them.\n ",examples:[["Unplug the lodash dependency from the active workspace","yarn unplug lodash"],["Unplug all instances of lodash referenced by any workspace","yarn unplug lodash -A"],["Unplug all instances of lodash referenced by the active workspace and its dependencies","yarn unplug lodash -R"],["Unplug all instances of lodash, anywhere","yarn unplug lodash -AR"],["Unplug one specific version of lodash","yarn unplug lodash@1.2.3"],["Unplug all packages with the `@babel` scope","yarn unplug '@babel/*'"],["Unplug all packages (only for testing, not recommended)","yarn unplug -R '*'"]]});var El=r=>({cjs:x.join(r.cwd,xt.pnpCjs),cjsLegacy:x.join(r.cwd,xt.pnpJs),esmLoader:x.join(r.cwd,".pnp.loader.mjs")}),wle=r=>/\s/.test(r)?JSON.stringify(r):r;async function lze(r,e,t){let i=El(r),n=`--require ${wle(K.fromPortablePath(i.cjs))}`;if(M.existsSync(i.esmLoader)&&(n=`${n} --experimental-loader ${(0,yle.pathToFileURL)(K.fromPortablePath(i.esmLoader)).href}`),i.cjs.includes(" ")&&Ile.default.lt(process.versions.node,"12.0.0"))throw new Error(`Expected the build location to not include spaces when using Node < 12.0.0 (${process.versions.node})`);if(M.existsSync(i.cjs)){let s=e.NODE_OPTIONS||"",o=/\s*--require\s+\S*\.pnp\.c?js\s*/g,a=/\s*--experimental-loader\s+\S*\.pnp\.loader\.mjs\s*/;s=s.replace(o," ").replace(a," ").trim(),s=s?`${n} ${s}`:n,e.NODE_OPTIONS=s}}async function cze(r,e){let t=El(r);e(t.cjs),e(t.esmLoader),e(r.configuration.get("pnpDataPath")),e(r.configuration.get("pnpUnpluggedFolder"))}var uze={hooks:{populateYarnPaths:cze,setupScriptEnvironment:lze},configuration:{nodeLinker:{description:'The linker used for installing Node packages, one of: "pnp", "node-modules"',type:"STRING",default:"pnp"},pnpMode:{description:"If 'strict', generates standard PnP maps. If 'loose', merges them with the n_m resolution.",type:"STRING",default:"strict"},pnpShebang:{description:"String to prepend to the generated PnP script",type:"STRING",default:"#!/usr/bin/env node"},pnpIgnorePatterns:{description:"Array of glob patterns; files matching them will use the classic resolution",type:"STRING",default:[],isArray:!0},pnpEnableEsmLoader:{description:"If true, Yarn will generate an ESM loader (`.pnp.loader.mjs`). If this is not explicitly set Yarn tries to automatically detect whether ESM support is required.",type:"BOOLEAN",default:!1},pnpEnableInlining:{description:"If true, the PnP data will be inlined along with the generated loader",type:"BOOLEAN",default:!0},pnpFallbackMode:{description:"If true, the generated PnP loader will follow the top-level fallback rule",type:"STRING",default:"dependencies-only"},pnpUnpluggedFolder:{description:"Folder where the unplugged packages must be stored",type:"ABSOLUTE_PATH",default:"./.yarn/unplugged"},pnpDataPath:{description:"Path of the file where the PnP data (used by the loader) must be written",type:"ABSOLUTE_PATH",default:"./.pnp.data.json"}},linkers:[ml],commands:[Hu]},gze=uze;var Dle=Pe(vle());var aM=Pe(J("crypto")),kle=Pe(J("fs")),Rle=1,kr="node_modules",rb=".bin",Fle=".yarn-state.yml",Pze=1e3;var ib=class{constructor(){this.installStateCache=new Map}supportsPackage(e,t){return this.isEnabled(t)}async findPackageLocation(e,t){if(!this.isEnabled(t))throw new Error("Assertion failed: Expected the node-modules linker to be enabled");let i=t.project.tryWorkspaceByLocator(e);if(i)return i.cwd;let n=await Ie.getFactoryWithDefault(this.installStateCache,t.project.cwd,async()=>await oM(t.project,{unrollAliases:!0}));if(n===null)throw new be("Couldn't find the node_modules state file - running an install might help (findPackageLocation)");let s=n.locatorMap.get(P.stringifyLocator(e));if(!s){let l=new be(`Couldn't find ${P.prettyLocator(t.project.configuration,e)} in the currently installed node_modules map - running an install might help`);throw l.code="LOCATOR_NOT_INSTALLED",l}let o=s.locations.sort((l,c)=>l.split(x.sep).length-c.split(x.sep).length),a=x.join(t.project.configuration.startingCwd,kr);return o.find(l=>x.contains(a,l))||s.locations[0]}async findPackageLocator(e,t){if(!this.isEnabled(t))return null;let i=await Ie.getFactoryWithDefault(this.installStateCache,t.project.cwd,async()=>await oM(t.project,{unrollAliases:!0}));if(i===null)return null;let{locationRoot:n,segments:s}=nb(x.resolve(e),{skipPrefix:t.project.cwd}),o=i.locationTree.get(n);if(!o)return null;let a=o.locator;for(let l of s){if(o=o.children.get(l),!o)break;a=o.locator||a}return P.parseLocator(a)}makeInstaller(e){return new sM(e)}isEnabled(e){return e.project.configuration.get("nodeLinker")==="node-modules"}},sM=class{constructor(e){this.opts=e;this.localStore=new Map;this.realLocatorChecksums=new Map;this.customData={store:new Map}}getCustomDataKey(){return JSON.stringify({name:"NodeModulesInstaller",version:2})}attachCustomData(e){this.customData=e}async installPackage(e,t){var u;let i=x.resolve(t.packageFs.getRealPath(),t.prefixPath),n=this.customData.store.get(e.locatorHash);if(typeof n>"u"&&(n=await Dze(e,t),e.linkType==="HARD"&&this.customData.store.set(e.locatorHash,n)),!P.isPackageCompatible(e,this.opts.project.configuration.getSupportedArchitectures()))return{packageLocation:null,buildDirective:null};let s=new Map,o=new Set;s.has(P.stringifyIdent(e))||s.set(P.stringifyIdent(e),e.reference);let a=e;if(P.isVirtualLocator(e)){a=P.devirtualizeLocator(e);for(let g of e.peerDependencies.values())s.set(P.stringifyIdent(g),null),o.add(P.stringifyIdent(g))}let l={packageLocation:`${K.fromPortablePath(i)}/`,packageDependencies:s,packagePeers:o,linkType:e.linkType,discardFromLookup:(u=t.discardFromLookup)!=null?u:!1};this.localStore.set(e.locatorHash,{pkg:e,customPackageData:n,dependencyMeta:this.opts.project.getDependencyMeta(e,e.version),pnpNode:l});let c=t.checksum?t.checksum.substring(t.checksum.indexOf("/")+1):null;return this.realLocatorChecksums.set(a.locatorHash,c),{packageLocation:i,buildDirective:null}}async attachInternalDependencies(e,t){let i=this.localStore.get(e.locatorHash);if(typeof i>"u")throw new Error("Assertion failed: Expected information object to have been registered");for(let[n,s]of t){let o=P.areIdentsEqual(n,s)?s.reference:[P.stringifyIdent(s),s.reference];i.pnpNode.packageDependencies.set(P.stringifyIdent(n),o)}}async attachExternalDependents(e,t){throw new Error("External dependencies haven't been implemented for the node-modules linker")}async finalizeInstall(){if(this.opts.project.configuration.get("nodeLinker")!=="node-modules")return;let e=new Br({baseFs:new On({libzip:await sn(),maxOpenFiles:80,readOnlyArchives:!0})}),t=await oM(this.opts.project),i=this.opts.project.configuration.get("nmMode");(t===null||i!==t.nmMode)&&(this.opts.project.storedBuildState.clear(),t={locatorMap:new Map,binSymlinks:new Map,locationTree:new Map,nmMode:i,mtimeMs:0});let n=new Map(this.opts.project.workspaces.map(f=>{var p,C;let h=this.opts.project.configuration.get("nmHoistingLimits");try{h=Ie.validateEnum($m,(C=(p=f.manifest.installConfig)==null?void 0:p.hoistingLimits)!=null?C:h)}catch{let B=P.prettyWorkspace(this.opts.project.configuration,f);this.opts.report.reportWarning(57,`${B}: Invalid 'installConfig.hoistingLimits' value. Expected one of ${Object.values($m).join(", ")}, using default: "${h}"`)}return[f.relativeCwd,h]})),s=new Map(this.opts.project.workspaces.map(f=>{var p,C;let h=this.opts.project.configuration.get("nmSelfReferences");return h=(C=(p=f.manifest.installConfig)==null?void 0:p.selfReferences)!=null?C:h,[f.relativeCwd,h]})),o={VERSIONS:{std:1},topLevel:{name:null,reference:null},getLocator:(f,h)=>Array.isArray(h)?{name:h[0],reference:h[1]}:{name:f,reference:h},getDependencyTreeRoots:()=>this.opts.project.workspaces.map(f=>{let h=f.anchoredLocator;return{name:P.stringifyIdent(f.locator),reference:h.reference}}),getPackageInformation:f=>{let h=f.reference===null?this.opts.project.topLevelWorkspace.anchoredLocator:P.makeLocator(P.parseIdent(f.name),f.reference),p=this.localStore.get(h.locatorHash);if(typeof p>"u")throw new Error("Assertion failed: Expected the package reference to have been registered");return p.pnpNode},findPackageLocator:f=>{let h=this.opts.project.tryWorkspaceByCwd(K.toPortablePath(f));if(h!==null){let p=h.anchoredLocator;return{name:P.stringifyIdent(p),reference:p.reference}}throw new Error("Assertion failed: Unimplemented")},resolveToUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveRequest:()=>{throw new Error("Assertion failed: Unimplemented")},resolveVirtual:f=>K.fromPortablePath(Br.resolveVirtual(K.toPortablePath(f)))},{tree:a,errors:l,preserveSymlinksRequired:c}=eE(o,{pnpifyFs:!1,validateExternalSoftLinks:!0,hoistingLimitsByCwd:n,project:this.opts.project,selfReferencesByCwd:s});if(!a){for(let{messageName:f,text:h}of l)this.opts.report.reportError(f,h);return}let u=MO(a);await Tze(t,u,{baseFs:e,project:this.opts.project,report:this.opts.report,realLocatorChecksums:this.realLocatorChecksums,loadManifest:async f=>{let h=P.parseLocator(f),p=this.localStore.get(h.locatorHash);if(typeof p>"u")throw new Error("Assertion failed: Expected the slot to exist");return p.customPackageData.manifest}});let g=[];for(let[f,h]of u.entries()){if(Ole(f))continue;let p=P.parseLocator(f),C=this.localStore.get(p.locatorHash);if(typeof C>"u")throw new Error("Assertion failed: Expected the slot to exist");if(this.opts.project.tryWorkspaceByLocator(C.pkg))continue;let y=po.extractBuildScripts(C.pkg,C.customPackageData,C.dependencyMeta,{configuration:this.opts.project.configuration,report:this.opts.report});y.length!==0&&g.push({buildLocations:h.locations,locatorHash:p.locatorHash,buildDirective:y})}return c&&this.opts.report.reportWarning(72,`The application uses portals and that's why ${ee.pretty(this.opts.project.configuration,"--preserve-symlinks",ee.Type.CODE)} Node option is required for launching it`),{customData:this.customData,records:g}}};async function Dze(r,e){var n;let t=(n=await ot.tryFind(e.prefixPath,{baseFs:e.packageFs}))!=null?n:new ot,i=new Set(["preinstall","install","postinstall"]);for(let s of t.scripts.keys())i.has(s)||t.scripts.delete(s);return{manifest:{bin:t.bin,scripts:t.scripts},misc:{extractHint:po.getExtractHint(e),hasBindingGyp:po.hasBindingGyp(e)}}}async function kze(r,e,t,i,{installChangedByUser:n}){let s="";s+=`# Warning: This file is automatically generated. Removing it is fine, but will `,s+=`# cause your node_modules installation to become invalidated. `,s+=` `,s+=`__metadata: -`,s+=` version: ${JAe} +`,s+=` version: ${Rle} `,s+=` nmMode: ${i.value} `;let o=Array.from(e.keys()).sort(),a=P.stringifyLocator(r.topLevelWorkspace.anchoredLocator);for(let u of o){let g=e.get(u);s+=` `,s+=`${JSON.stringify(u)}: @@ -706,14 +706,14 @@ ${we.map(pe=>`Not found: ${lo(pe)} `}if(u===a&&t.size>0){s+=` bin: `;for(let[f,h]of t){let p=x.contains(r.cwd,f);if(p===null)throw new Error(`Assertion failed: Expected the path to be within the project (${f})`);s+=` ${JSON.stringify(p)}: `;for(let[C,y]of h){let B=x.relative(x.join(f,kr),y);s+=` ${JSON.stringify(C)}: ${JSON.stringify(B)} -`}}}}let l=r.cwd,c=x.join(l,kr,WAe);n&&await M.removePromise(c),await M.changeFilePromise(c,s,{automaticNewlines:!0})}async function FO(r,{unrollAliases:e=!1}={}){let t=r.cwd,i=x.join(t,kr,WAe),n;try{n=await M.statPromise(i)}catch{}if(!n)return null;let s=Ii(await M.readFilePromise(i,"utf8"));if(s.__metadata.version>JAe)return null;let o=s.__metadata.nmMode||"classic",a=new Map,l=new Map;delete s.__metadata;for(let[c,u]of Object.entries(s)){let g=u.locations.map(h=>x.join(t,h)),f=u.bin;if(f)for(let[h,p]of Object.entries(f)){let C=x.join(t,K.toPortablePath(h)),y=Ie.getMapWithDefault(l,C);for(let[B,v]of Object.entries(p))y.set(Ur(B),K.toPortablePath([C,kr,v].join(x.sep)))}if(a.set(c,{target:Oe.dot,linkType:"HARD",locations:g,aliases:u.aliases||[]}),e&&u.aliases)for(let h of u.aliases){let{scope:p,name:C}=P.parseLocator(c),y=P.makeLocator(P.makeIdent(p,C),h),B=P.stringifyLocator(y);a.set(B,{target:Oe.dot,linkType:"HARD",locations:g,aliases:[]})}}return{locatorMap:a,binSymlinks:l,locationTree:zAe(a,{skipPrefix:r.cwd}),nmMode:o,mtimeMs:n.mtimeMs}}var zh=async(r,e)=>{if(r.split(x.sep).indexOf(kr)<0)throw new Error(`Assertion failed: trying to remove dir that doesn't contain node_modules: ${r}`);try{if(!e.innerLoop){let i=e.allowSymlink?await M.statPromise(r):await M.lstatPromise(r);if(e.allowSymlink&&!i.isDirectory()||!e.allowSymlink&&i.isSymbolicLink()){await M.unlinkPromise(r);return}}let t=await M.readdirPromise(r,{withFileTypes:!0});for(let i of t){let n=x.join(r,Ur(i.name));i.isDirectory()?(i.name!==kr||e&&e.innerLoop)&&await zh(n,{innerLoop:!0,contentsOnly:!1}):await M.unlinkPromise(n)}e.contentsOnly||await M.rmdirPromise(r)}catch(t){if(t.code!=="ENOENT"&&t.code!=="ENOTEMPTY")throw t}},GAe=4,YQ=(r,{skipPrefix:e})=>{let t=x.contains(e,r);if(t===null)throw new Error(`Assertion failed: Writing attempt prevented to ${r} which is outside project root: ${e}`);let i=t.split(x.sep).filter(l=>l!==""),n=i.indexOf(kr),s=i.slice(0,n).join(x.sep),o=x.join(e,s),a=i.slice(n);return{locationRoot:o,segments:a}},zAe=(r,{skipPrefix:e})=>{let t=new Map;if(r===null)return t;let i=()=>({children:new Map,linkType:"HARD"});for(let[n,s]of r.entries()){if(s.linkType==="SOFT"&&x.contains(e,s.target)!==null){let a=Ie.getFactoryWithDefault(t,s.target,i);a.locator=n,a.linkType=s.linkType}for(let o of s.locations){let{locationRoot:a,segments:l}=YQ(o,{skipPrefix:e}),c=Ie.getFactoryWithDefault(t,a,i);for(let u=0;u{let t;try{process.platform==="win32"&&(t=await M.lstatPromise(r))}catch{}process.platform=="win32"&&(!t||t.isDirectory())?await M.symlinkPromise(r,e,"junction"):await M.symlinkPromise(x.relative(x.dirname(e),r),e)};async function VAe(r,e,t){let i=x.join(r,Ur(`${NO.default.randomBytes(16).toString("hex")}.tmp`));try{await M.writeFilePromise(i,t);try{await M.linkPromise(i,e)}catch{}}finally{await M.unlinkPromise(i)}}async function v8e({srcPath:r,dstPath:e,entry:t,globalHardlinksStore:i,baseFs:n,nmMode:s}){if(t.kind===XAe.FILE){if(s.value==="hardlinks-global"&&i&&t.digest){let a=x.join(i,t.digest.substring(0,2),`${t.digest.substring(2)}.dat`),l;try{let c=await M.statPromise(a);if(c&&(!t.mtimeMs||c.mtimeMs>t.mtimeMs||c.mtimeMs(i.FILE="file",i.DIRECTORY="directory",i.SYMLINK="symlink",i))(XAe||{}),x8e=async(r,e,{baseFs:t,globalHardlinksStore:i,nmMode:n,packageChecksum:s})=>{await M.mkdirPromise(r,{recursive:!0});let o=async(c=Oe.dot)=>{let u=x.join(e,c),g=await t.readdirPromise(u,{withFileTypes:!0}),f=new Map;for(let h of g){let p=x.join(c,h.name),C,y=x.join(u,h.name);if(h.isFile()){if(C={kind:"file",mode:(await t.lstatPromise(y)).mode},n.value==="hardlinks-global"){let B=await li.checksumFile(y,{baseFs:t,algorithm:"sha1"});C.digest=B}}else if(h.isDirectory())C={kind:"directory"};else if(h.isSymbolicLink())C={kind:"symlink",symlinkTo:await t.readlinkPromise(y)};else throw new Error(`Unsupported file type (file: ${y}, mode: 0o${await t.statSync(y).mode.toString(8).padStart(6,"0")})`);if(f.set(p,C),h.isDirectory()&&p!==kr){let B=await o(p);for(let[v,D]of B)f.set(v,D)}}return f},a;if(n.value==="hardlinks-global"&&i&&s){let c=x.join(i,s.substring(0,2),`${s.substring(2)}.json`);try{a=new Map(Object.entries(JSON.parse(await M.readFilePromise(c,"utf8"))))}catch{a=await o()}}else a=await o();let l=!1;for(let[c,u]of a){let g=x.join(e,c),f=x.join(r,c);if(u.kind==="directory")await M.mkdirPromise(f,{recursive:!0});else if(u.kind==="file"){let h=u.mtimeMs;await v8e({srcPath:g,dstPath:f,entry:u,nmMode:n,baseFs:t,globalHardlinksStore:i}),u.mtimeMs!==h&&(l=!0)}else u.kind==="symlink"&&await LO(x.resolve(x.dirname(f),u.symlinkTo),f)}if(n.value==="hardlinks-global"&&i&&l&&s){let c=x.join(i,s.substring(0,2),`${s.substring(2)}.json`);await M.removePromise(c),await VAe(i,c,Buffer.from(JSON.stringify(Object.fromEntries(a))))}};function P8e(r,e,t,i){let n=new Map,s=new Map,o=new Map,a=!1,l=(c,u,g,f,h)=>{let p=!0,C=x.join(c,u),y=new Set;if(u===kr||u.startsWith("@")){let v;try{v=M.statSync(C)}catch{}p=!!v,v?v.mtimeMs>t?(a=!0,y=new Set(M.readdirSync(C))):y=new Set(g.children.get(u).children.keys()):a=!0;let D=e.get(c);if(D){let L=x.join(c,kr,HQ),H;try{H=M.statSync(L)}catch{}if(!H)a=!0;else if(H.mtimeMs>t){a=!0;let j=new Set(M.readdirSync(L)),$=new Map;s.set(c,$);for(let[V,W]of D)j.has(V)&&$.set(V,W)}else s.set(c,D)}}else p=h.has(u);let B=g.children.get(u);if(p){let{linkType:v,locator:D}=B,L={children:new Map,linkType:v,locator:D};if(f.children.set(u,L),D){let H=Ie.getSetWithDefault(o,D);H.add(C),o.set(D,H)}for(let H of B.children.keys())l(C,H,B,L,y)}else B.locator&&i.storedBuildState.delete(P.parseLocator(B.locator).locatorHash)};for(let[c,u]of r){let{linkType:g,locator:f}=u,h={children:new Map,linkType:g,locator:f};if(n.set(c,h),f){let p=Ie.getSetWithDefault(o,u.locator);p.add(c),o.set(u.locator,p)}u.children.has(kr)&&l(c,kr,u,h,new Set)}return{locationTree:n,binSymlinks:s,locatorLocations:o,installChangedByUser:a}}function _Ae(r){let e=P.parseDescriptor(r);return P.isVirtualDescriptor(e)&&(e=P.devirtualizeDescriptor(e)),e.range.startsWith("link:")}async function D8e(r,e,t,{loadManifest:i}){let n=new Map;for(let[a,{locations:l}]of r){let c=_Ae(a)?null:await i(a,l[0]),u=new Map;if(c)for(let[g,f]of c.bin){let h=x.join(l[0],f);f!==""&&M.existsSync(h)&&u.set(g,f)}n.set(a,u)}let s=new Map,o=(a,l,c)=>{let u=new Map,g=x.contains(t,a);if(c.locator&&g!==null){let f=n.get(c.locator);for(let[h,p]of f){let C=x.join(a,K.toPortablePath(p));u.set(Ur(h),C)}for(let[h,p]of c.children){let C=x.join(a,h),y=o(C,C,p);y.size>0&&s.set(a,new Map([...s.get(a)||new Map,...y]))}}else for(let[f,h]of c.children){let p=o(x.join(a,f),l,h);for(let[C,y]of p)u.set(C,y)}return u};for(let[a,l]of e){let c=o(a,a,l);c.size>0&&s.set(a,new Map([...s.get(a)||new Map,...c]))}return s}var YAe=(r,e)=>{if(!r||!e)return r===e;let t=P.parseLocator(r);P.isVirtualLocator(t)&&(t=P.devirtualizeLocator(t));let i=P.parseLocator(e);return P.isVirtualLocator(i)&&(i=P.devirtualizeLocator(i)),P.areLocatorsEqual(t,i)};function TO(r){return x.join(r.get("globalFolder"),"store")}async function k8e(r,e,{baseFs:t,project:i,report:n,loadManifest:s,realLocatorChecksums:o}){let a=x.join(i.cwd,kr),{locationTree:l,binSymlinks:c,locatorLocations:u,installChangedByUser:g}=P8e(r.locationTree,r.binSymlinks,r.mtimeMs,i),f=zAe(e,{skipPrefix:i.cwd}),h=[],p=async({srcDir:V,dstDir:W,linkType:Z,globalHardlinksStore:A,nmMode:ae,packageChecksum:ge})=>{let re=(async()=>{try{Z==="SOFT"?(await M.mkdirPromise(x.dirname(W),{recursive:!0}),await LO(x.resolve(V),W)):await x8e(W,V,{baseFs:t,globalHardlinksStore:A,nmMode:ae,packageChecksum:ge})}catch(O){throw O.message=`While persisting ${V} -> ${W} ${O.message}`,O}finally{L.tick()}})().then(()=>h.splice(h.indexOf(re),1));h.push(re),h.length>GAe&&await Promise.race(h)},C=async(V,W,Z)=>{let A=(async()=>{let ae=async(ge,re,O)=>{try{O.innerLoop||await M.mkdirPromise(re,{recursive:!0});let F=await M.readdirPromise(ge,{withFileTypes:!0});for(let ue of F){if(!O.innerLoop&&ue.name===HQ)continue;let he=x.join(ge,ue.name),ke=x.join(re,ue.name);ue.isDirectory()?(ue.name!==kr||O&&O.innerLoop)&&(await M.mkdirPromise(ke,{recursive:!0}),await ae(he,ke,{...O,innerLoop:!0})):$.value==="hardlinks-local"||$.value==="hardlinks-global"?await M.linkPromise(he,ke):await M.copyFilePromise(he,ke,qAe.default.constants.COPYFILE_FICLONE)}}catch(F){throw O.innerLoop||(F.message=`While cloning ${ge} -> ${re} ${F.message}`),F}finally{O.innerLoop||L.tick()}};await ae(V,W,Z)})().then(()=>h.splice(h.indexOf(A),1));h.push(A),h.length>GAe&&await Promise.race(h)},y=async(V,W,Z)=>{if(Z)for(let[A,ae]of W.children){let ge=Z.children.get(A);await y(x.join(V,A),ae,ge)}else{W.children.has(kr)&&await zh(x.join(V,kr),{contentsOnly:!1});let A=x.basename(V)===kr&&f.has(x.join(x.dirname(V),x.sep));await zh(V,{contentsOnly:V===a,allowSymlink:A})}};for(let[V,W]of l){let Z=f.get(V);for(let[A,ae]of W.children){if(A===".")continue;let ge=Z&&Z.children.get(A),re=x.join(V,A);await y(re,ae,ge)}}let B=async(V,W,Z)=>{if(Z){YAe(W.locator,Z.locator)||await zh(V,{contentsOnly:W.linkType==="HARD"});for(let[A,ae]of W.children){let ge=Z.children.get(A);await B(x.join(V,A),ae,ge)}}else{W.children.has(kr)&&await zh(x.join(V,kr),{contentsOnly:!0});let A=x.basename(V)===kr&&f.has(x.join(x.dirname(V),x.sep));await zh(V,{contentsOnly:W.linkType==="HARD",allowSymlink:A})}};for(let[V,W]of f){let Z=l.get(V);for(let[A,ae]of W.children){if(A===".")continue;let ge=Z&&Z.children.get(A);await B(x.join(V,A),ae,ge)}}let v=new Map,D=[];for(let[V,W]of u)for(let Z of W){let{locationRoot:A,segments:ae}=YQ(Z,{skipPrefix:i.cwd}),ge=f.get(A),re=A;if(ge){for(let O of ae)if(re=x.join(re,O),ge=ge.children.get(O),!ge)break;if(ge){let O=YAe(ge.locator,V),F=e.get(ge.locator),ue=F.target,he=re,ke=F.linkType;if(O)v.has(ue)||v.set(ue,he);else if(ue!==he){let Fe=P.parseLocator(ge.locator);P.isVirtualLocator(Fe)&&(Fe=P.devirtualizeLocator(Fe)),D.push({srcDir:ue,dstDir:he,linkType:ke,realLocatorHash:Fe.locatorHash})}}}}for(let[V,{locations:W}]of e.entries())for(let Z of W){let{locationRoot:A,segments:ae}=YQ(Z,{skipPrefix:i.cwd}),ge=l.get(A),re=f.get(A),O=A,F=e.get(V),ue=P.parseLocator(V);P.isVirtualLocator(ue)&&(ue=P.devirtualizeLocator(ue));let he=ue.locatorHash,ke=F.target,Fe=Z;if(ke===Fe)continue;let Ne=F.linkType;for(let oe of ae)re=re.children.get(oe);if(!ge)D.push({srcDir:ke,dstDir:Fe,linkType:Ne,realLocatorHash:he});else for(let oe of ae)if(O=x.join(O,oe),ge=ge.children.get(oe),!ge){D.push({srcDir:ke,dstDir:Fe,linkType:Ne,realLocatorHash:he});break}}let L=Si.progressViaCounter(D.length),H=n.reportProgress(L),j=i.configuration.get("nmMode"),$={value:j};try{let V=$.value==="hardlinks-global"?`${TO(i.configuration)}/v1`:null;if(V&&!await M.existsPromise(V)){await M.mkdirpPromise(V);for(let Z=0;Z<256;Z++)await M.mkdirPromise(x.join(V,Z.toString(16).padStart(2,"0")))}for(let Z of D)(Z.linkType==="SOFT"||!v.has(Z.srcDir))&&(v.set(Z.srcDir,Z.dstDir),await p({...Z,globalHardlinksStore:V,nmMode:$,packageChecksum:o.get(Z.realLocatorHash)||null}));await Promise.all(h),h.length=0;for(let Z of D){let A=v.get(Z.srcDir);Z.linkType!=="SOFT"&&Z.dstDir!==A&&await C(A,Z.dstDir,{nmMode:$})}await Promise.all(h),await M.mkdirPromise(a,{recursive:!0});let W=await D8e(e,f,i.cwd,{loadManifest:s});await R8e(c,W,i.cwd),await S8e(i,e,W,$,{installChangedByUser:g}),j=="hardlinks-global"&&$.value=="hardlinks-local"&&n.reportWarningOnce(74,"'nmMode' has been downgraded to 'hardlinks-local' due to global cache and install folder being on different devices")}finally{H.stop()}}async function R8e(r,e,t){for(let i of r.keys()){if(x.contains(t,i)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${i}`);if(!e.has(i)){let n=x.join(i,kr,HQ);await M.removePromise(n)}}for(let[i,n]of e){if(x.contains(t,i)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${i}`);let s=x.join(i,kr,HQ),o=r.get(i)||new Map;await M.mkdirPromise(s,{recursive:!0});for(let a of o.keys())n.has(a)||(await M.removePromise(x.join(s,a)),process.platform==="win32"&&await M.removePromise(x.join(s,Ur(`${a}.cmd`))));for(let[a,l]of n){let c=o.get(a),u=x.join(s,a);c!==l&&(process.platform==="win32"?await(0,jAe.default)(K.fromPortablePath(l),K.fromPortablePath(u),{createPwshFile:!1}):(await M.removePromise(u),await LO(l,u),x.contains(t,await M.realpathPromise(l))!==null&&await M.chmodPromise(l,493)))}}}var jQ=class extends ll{constructor(){super(...arguments);this.mode="loose"}makeInstaller(t){return new OO(t)}},OO=class extends Fu{constructor(){super(...arguments);this.mode="loose"}async transformPnpSettings(t){let i=new Br({baseFs:new Tn({libzip:await rn(),maxOpenFiles:80,readOnlyArchives:!0})}),n=xAe(t,this.opts.project.cwd,i),{tree:s,errors:o}=Jm(n,{pnpifyFs:!1,project:this.opts.project});if(!s){for(let{messageName:g,text:f}of o)this.opts.report.reportError(g,f);return}let a=new Map;t.fallbackPool=a;let l=(g,f)=>{let h=P.parseLocator(f.locator),p=P.stringifyIdent(h);p===g?a.set(g,h.reference):a.set(g,[p,h.reference])},c=x.join(this.opts.project.cwd,xt.nodeModules),u=s.get(c);if(!(typeof u>"u")){if("target"in u)throw new Error("Assertion failed: Expected the root junction point to be a directory");for(let g of u.dirList){let f=x.join(c,g),h=s.get(f);if(typeof h>"u")throw new Error("Assertion failed: Expected the child to have been registered");if("target"in h)l(g,h);else for(let p of h.dirList){let C=x.join(f,p),y=s.get(C);if(typeof y>"u")throw new Error("Assertion failed: Expected the subchild to have been registered");if("target"in y)l(`${g}/${p}`,y);else throw new Error("Assertion failed: Expected the leaf junction to be a package")}}}}};var F8e={hooks:{cleanGlobalArtifacts:async r=>{let e=TO(r);await M.removePromise(e)}},configuration:{nmHoistingLimits:{description:"Prevent packages to be hoisted past specific levels",type:"STRING",values:["workspaces","dependencies","none"],default:"none"},nmMode:{description:'If set to "hardlinks-local" Yarn will utilize hardlinks to reduce disk space consumption inside "node_modules" directories. With "hardlinks-global" Yarn will use global content addressable storage to reduce "node_modules" size across all the projects using this option.',type:"STRING",values:["classic","hardlinks-local","hardlinks-global"],default:"classic"},nmSelfReferences:{description:"If set to 'false' the workspace will not be allowed to require itself and corresponding self-referencing symlink will not be created",type:"BOOLEAN",default:!0}},linkers:[GQ,jQ]},N8e=F8e;var LM={};ut(LM,{default:()=>GVe,npmConfigUtils:()=>or,npmHttpUtils:()=>Mt,npmPublishUtils:()=>op});var ile=Pe(Xr());var gr="npm:";var Mt={};ut(Mt,{AuthType:()=>rle,customPackageError:()=>T8e,del:()=>K8e,get:()=>fo,getIdentUrl:()=>gl,handleInvalidAuthenticationError:()=>ul,post:()=>O8e,put:()=>M8e});var HO=Pe(Pm()),tle=J("url");var or={};ut(or,{RegistryType:()=>ZAe,getAuditRegistry:()=>L8e,getAuthConfiguration:()=>UO,getDefaultRegistry:()=>qQ,getPublishRegistry:()=>$Ae,getRegistryConfiguration:()=>ele,getScopeConfiguration:()=>KO,getScopeRegistry:()=>iA,normalizeRegistry:()=>go});var ZAe=(i=>(i.AUDIT_REGISTRY="npmAuditRegistry",i.FETCH_REGISTRY="npmRegistryServer",i.PUBLISH_REGISTRY="npmPublishRegistry",i))(ZAe||{});function go(r){return r.replace(/\/$/,"")}function L8e(r,{configuration:e}){let t=e.get("npmAuditRegistry");return t!==null?go(t):$Ae(r,{configuration:e})}function $Ae(r,{configuration:e}){var t;return(t=r.publishConfig)!=null&&t.registry?go(r.publishConfig.registry):r.name?iA(r.name.scope,{configuration:e,type:"npmPublishRegistry"}):qQ({configuration:e,type:"npmPublishRegistry"})}function iA(r,{configuration:e,type:t="npmRegistryServer"}){let i=KO(r,{configuration:e});if(i===null)return qQ({configuration:e,type:t});let n=i.get(t);return n===null?qQ({configuration:e,type:t}):go(n)}function qQ({configuration:r,type:e="npmRegistryServer"}){let t=r.get(e);return go(t!==null?t:r.get("npmRegistryServer"))}function ele(r,{configuration:e}){let t=e.get("npmRegistries"),i=go(r),n=t.get(i);if(typeof n<"u")return n;let s=t.get(i.replace(/^[a-z]+:/,""));return typeof s<"u"?s:null}function KO(r,{configuration:e}){if(r===null)return null;let i=e.get("npmScopes").get(r);return i||null}function UO(r,{configuration:e,ident:t}){let i=t&&KO(t.scope,{configuration:e});return(i==null?void 0:i.get("npmAuthIdent"))||(i==null?void 0:i.get("npmAuthToken"))?i:ele(r,{configuration:e})||e}var rle=(n=>(n[n.NO_AUTH=0]="NO_AUTH",n[n.BEST_EFFORT=1]="BEST_EFFORT",n[n.CONFIGURATION=2]="CONFIGURATION",n[n.ALWAYS_AUTH=3]="ALWAYS_AUTH",n))(rle||{});async function ul(r,{attemptedAs:e,registry:t,headers:i,configuration:n}){var s,o;if(WQ(r))throw new at(41,"Invalid OTP token");if(((s=r.originalError)==null?void 0:s.name)==="HTTPError"&&((o=r.originalError)==null?void 0:o.response.statusCode)===401)throw new at(41,`Invalid authentication (${typeof e!="string"?`as ${await H8e(t,i,{configuration:n})}`:`attempted as ${e}`})`)}function T8e(r){var e;return((e=r.response)==null?void 0:e.statusCode)===404?"Package not found":null}function gl(r){return r.scope?`/@${r.scope}%2f${r.name}`:`/${r.name}`}async function fo(r,{configuration:e,headers:t,ident:i,authType:n,registry:s,...o}){if(i&&typeof s>"u"&&(s=iA(i.scope,{configuration:e})),i&&i.scope&&typeof n>"u"&&(n=1),typeof s!="string")throw new Error("Assertion failed: The registry should be a string");let a=await JQ(s,{authType:n,configuration:e,ident:i});a&&(t={...t,authorization:a});try{return await Vt.get(r.charAt(0)==="/"?`${s}${r}`:r,{configuration:e,headers:t,...o})}catch(l){throw await ul(l,{registry:s,configuration:e,headers:t}),l}}async function O8e(r,e,{attemptedAs:t,configuration:i,headers:n,ident:s,authType:o=3,registry:a,otp:l,...c}){if(s&&typeof a>"u"&&(a=iA(s.scope,{configuration:i})),typeof a!="string")throw new Error("Assertion failed: The registry should be a string");let u=await JQ(a,{authType:o,configuration:i,ident:s});u&&(n={...n,authorization:u}),l&&(n={...n,...Vh(l)});try{return await Vt.post(a+r,e,{configuration:i,headers:n,...c})}catch(g){if(!WQ(g)||l)throw await ul(g,{attemptedAs:t,registry:a,configuration:i,headers:n}),g;l=await GO(g,{configuration:i});let f={...n,...Vh(l)};try{return await Vt.post(`${a}${r}`,e,{configuration:i,headers:f,...c})}catch(h){throw await ul(h,{attemptedAs:t,registry:a,configuration:i,headers:n}),h}}}async function M8e(r,e,{attemptedAs:t,configuration:i,headers:n,ident:s,authType:o=3,registry:a,otp:l,...c}){if(s&&typeof a>"u"&&(a=iA(s.scope,{configuration:i})),typeof a!="string")throw new Error("Assertion failed: The registry should be a string");let u=await JQ(a,{authType:o,configuration:i,ident:s});u&&(n={...n,authorization:u}),l&&(n={...n,...Vh(l)});try{return await Vt.put(a+r,e,{configuration:i,headers:n,...c})}catch(g){if(!WQ(g))throw await ul(g,{attemptedAs:t,registry:a,configuration:i,headers:n}),g;l=await GO(g,{configuration:i});let f={...n,...Vh(l)};try{return await Vt.put(`${a}${r}`,e,{configuration:i,headers:f,...c})}catch(h){throw await ul(h,{attemptedAs:t,registry:a,configuration:i,headers:n}),h}}}async function K8e(r,{attemptedAs:e,configuration:t,headers:i,ident:n,authType:s=3,registry:o,otp:a,...l}){if(n&&typeof o>"u"&&(o=iA(n.scope,{configuration:t})),typeof o!="string")throw new Error("Assertion failed: The registry should be a string");let c=await JQ(o,{authType:s,configuration:t,ident:n});c&&(i={...i,authorization:c}),a&&(i={...i,...Vh(a)});try{return await Vt.del(o+r,{configuration:t,headers:i,...l})}catch(u){if(!WQ(u)||a)throw await ul(u,{attemptedAs:e,registry:o,configuration:t,headers:i}),u;a=await GO(u,{configuration:t});let g={...i,...Vh(a)};try{return await Vt.del(`${o}${r}`,{configuration:t,headers:g,...l})}catch(f){throw await ul(f,{attemptedAs:e,registry:o,configuration:t,headers:i}),f}}}async function JQ(r,{authType:e=2,configuration:t,ident:i}){let n=UO(r,{configuration:t,ident:i}),s=U8e(n,e);if(!s)return null;let o=await t.reduceHook(a=>a.getNpmAuthenticationHeader,void 0,r,{configuration:t,ident:i});if(o)return o;if(n.get("npmAuthToken"))return`Bearer ${n.get("npmAuthToken")}`;if(n.get("npmAuthIdent")){let a=n.get("npmAuthIdent");return a.includes(":")?`Basic ${Buffer.from(a).toString("base64")}`:`Basic ${a}`}if(s&&e!==1)throw new at(33,"No authentication configured for request");return null}function U8e(r,e){switch(e){case 2:return r.get("npmAlwaysAuth");case 1:case 3:return!0;case 0:return!1;default:throw new Error("Unreachable")}}async function H8e(r,e,{configuration:t}){var i;if(typeof e>"u"||typeof e.authorization>"u")return"an anonymous user";try{return(i=(await Vt.get(new tle.URL(`${r}/-/whoami`).href,{configuration:t,headers:e,jsonResponse:!0})).username)!=null?i:"an unknown user"}catch{return"an unknown user"}}async function GO(r,{configuration:e}){var n;let t=(n=r.originalError)==null?void 0:n.response.headers["npm-notice"];if(t&&(await Ge.start({configuration:e,stdout:process.stdout,includeFooter:!1},async s=>{if(s.reportInfo(0,t.replace(/(https?:\/\/\S+)/g,ee.pretty(e,"$1",ee.Type.URL))),!process.env.YARN_IS_TEST_ENV){let o=t.match(/open (https?:\/\/\S+)/i);if(o&&Cs.openUrl){let{openNow:a}=await(0,HO.prompt)({type:"confirm",name:"openNow",message:"Do you want to try to open this url now?",required:!0,initial:!0,onCancel:()=>process.exit(130)});a&&(await Cs.openUrl(o[1])||(s.reportSeparator(),s.reportWarning(0,"We failed to automatically open the url; you'll have to open it yourself in your browser of choice.")))}}}),process.stdout.write(` -`)),process.env.YARN_IS_TEST_ENV)return process.env.YARN_INJECT_NPM_2FA_TOKEN||"";let{otp:i}=await(0,HO.prompt)({type:"password",name:"otp",message:"One-time password:",required:!0,onCancel:()=>process.exit(130)});return process.stdout.write(` -`),i}function WQ(r){var e,t;if(((e=r.originalError)==null?void 0:e.name)!=="HTTPError")return!1;try{return((t=r.originalError)==null?void 0:t.response.headers["www-authenticate"].split(/,\s*/).map(n=>n.toLowerCase())).includes("otp")}catch{return!1}}function Vh(r){return{["npm-otp"]:r}}var zQ=class{supports(e,t){if(!e.reference.startsWith(gr))return!1;let{selector:i,params:n}=P.parseRange(e.reference);return!(!ile.default.valid(i)||n===null||typeof n.__archiveUrl!="string")}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,t),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,t){let{params:i}=P.parseRange(e.reference);if(i===null||typeof i.__archiveUrl!="string")throw new Error("Assertion failed: The archiveUrl querystring parameter should have been available");let n=await fo(i.__archiveUrl,{configuration:t.project.configuration,ident:e});return await Ci.convertToZip(n,{compressionLevel:t.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1})}};var VQ=class{supportsDescriptor(e,t){return!(!e.range.startsWith(gr)||!P.tryParseDescriptor(e.range.slice(gr.length),!0))}supportsLocator(e,t){return!1}shouldPersistResolution(e,t){throw new Error("Unreachable")}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){let i=P.parseDescriptor(e.range.slice(gr.length),!0);return t.resolver.getResolutionDependencies(i,t)}async getCandidates(e,t,i){let n=P.parseDescriptor(e.range.slice(gr.length),!0);return await i.resolver.getCandidates(n,t,i)}async getSatisfying(e,t,i){let n=P.parseDescriptor(e.range.slice(gr.length),!0);return i.resolver.getSatisfying(n,t,i)}resolve(e,t){throw new Error("Unreachable")}};var nle=Pe(Xr()),sle=J("url");var Rs=class{supports(e,t){if(!e.reference.startsWith(gr))return!1;let i=new sle.URL(e.reference);return!(!nle.default.valid(i.pathname)||i.searchParams.has("__archiveUrl"))}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the remote registry`),loader:()=>this.fetchFromNetwork(e,t),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,t){let i;try{i=await fo(Rs.getLocatorUrl(e),{configuration:t.project.configuration,ident:e})}catch{i=await fo(Rs.getLocatorUrl(e).replace(/%2f/g,"/"),{configuration:t.project.configuration,ident:e})}return await Ci.convertToZip(i,{compressionLevel:t.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1})}static isConventionalTarballUrl(e,t,{configuration:i}){let n=iA(e.scope,{configuration:i}),s=Rs.getLocatorUrl(e);return t=t.replace(/^https?:(\/\/(?:[^/]+\.)?npmjs.org(?:$|\/))/,"https:$1"),n=n.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),t=t.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),t===n+s||t===n+s.replace(/%2f/g,"/")}static getLocatorUrl(e){let t=vt.clean(e.reference.slice(gr.length));if(t===null)throw new at(10,"The npm semver resolver got selected, but the version isn't semver");return`${gl(e)}/-/${e.name}-${t}.tgz`}};var ole=Pe(Xr());var XQ=P.makeIdent(null,"node-gyp"),G8e=/\b(node-gyp|prebuild-install)\b/,_Q=class{supportsDescriptor(e,t){return e.range.startsWith(gr)?!!vt.validRange(e.range.slice(gr.length)):!1}supportsLocator(e,t){if(!e.reference.startsWith(gr))return!1;let{selector:i}=P.parseRange(e.reference);return!!ole.default.valid(i)}shouldPersistResolution(e,t){return!0}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){let n=vt.validRange(e.range.slice(gr.length));if(n===null)throw new Error(`Expected a valid range, got ${e.range.slice(gr.length)}`);let s=await fo(gl(e),{configuration:i.project.configuration,ident:e,jsonResponse:!0}),o=Ie.mapAndFilter(Object.keys(s.versions),c=>{try{let u=new vt.SemVer(c);if(n.test(u))return u}catch{}return Ie.mapAndFilter.skip}),a=o.filter(c=>!s.versions[c.raw].deprecated),l=a.length>0?a:o;return l.sort((c,u)=>-c.compare(u)),l.map(c=>{let u=P.makeLocator(e,`${gr}${c.raw}`),g=s.versions[c.raw].dist.tarball;return Rs.isConventionalTarballUrl(u,g,{configuration:i.project.configuration})?u:P.bindLocator(u,{__archiveUrl:g})})}async getSatisfying(e,t,i){let n=vt.validRange(e.range.slice(gr.length));if(n===null)throw new Error(`Expected a valid range, got ${e.range.slice(gr.length)}`);return Ie.mapAndFilter(t,s=>{try{let{selector:o}=P.parseRange(s,{requireProtocol:gr}),a=new vt.SemVer(o);if(n.test(a))return{reference:s,version:a}}catch{}return Ie.mapAndFilter.skip}).sort((s,o)=>-s.version.compare(o.version)).map(({reference:s})=>P.makeLocator(e,s))}async resolve(e,t){let{selector:i}=P.parseRange(e.reference),n=vt.clean(i);if(n===null)throw new at(10,"The npm semver resolver got selected, but the version isn't semver");let s=await fo(gl(e),{configuration:t.project.configuration,ident:e,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(s,"versions"))throw new at(15,'Registry returned invalid data for - missing "versions" field');if(!Object.prototype.hasOwnProperty.call(s.versions,n))throw new at(16,`Registry failed to return reference "${n}"`);let o=new ot;if(o.load(s.versions[n]),!o.dependencies.has(XQ.identHash)&&!o.peerDependencies.has(XQ.identHash)){for(let a of o.scripts.values())if(a.match(G8e)){o.dependencies.set(XQ.identHash,P.makeDescriptor(XQ,"latest")),t.report.reportWarningOnce(32,`${P.prettyLocator(t.project.configuration,e)}: Implicit dependencies on node-gyp are discouraged`);break}}if(typeof o.raw.deprecated=="string"&&o.raw.deprecated!==""){let a=P.prettyLocator(t.project.configuration,e),l=o.raw.deprecated.match(/\S/)?`${a} is deprecated: ${o.raw.deprecated}`:`${a} is deprecated`;t.report.reportWarningOnce(61,l)}return{...e,version:n,languageName:"node",linkType:"HARD",conditions:o.getConditions(),dependencies:o.dependencies,peerDependencies:o.peerDependencies,dependenciesMeta:o.dependenciesMeta,peerDependenciesMeta:o.peerDependenciesMeta,bin:o.bin}}};var ZQ=class{supportsDescriptor(e,t){return!(!e.range.startsWith(gr)||!wf.test(e.range.slice(gr.length)))}supportsLocator(e,t){return!1}shouldPersistResolution(e,t){throw new Error("Unreachable")}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){let n=e.range.slice(gr.length),s=await fo(gl(e),{configuration:i.project.configuration,ident:e,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(s,"dist-tags"))throw new at(15,'Registry returned invalid data - missing "dist-tags" field');let o=s["dist-tags"];if(!Object.prototype.hasOwnProperty.call(o,n))throw new at(16,`Registry failed to return tag "${n}"`);let a=o[n],l=P.makeLocator(e,`${gr}${a}`),c=s.versions[a].dist.tarball;return Rs.isConventionalTarballUrl(l,c,{configuration:i.project.configuration})?[l]:[P.bindLocator(l,{__archiveUrl:c})]}async getSatisfying(e,t,i){return null}async resolve(e,t){throw new Error("Unreachable")}};var op={};ut(op,{getGitHead:()=>UVe,makePublishBody:()=>KVe});var DM={};ut(DM,{default:()=>yVe,packUtils:()=>ia});var ia={};ut(ia,{genPackList:()=>yb,genPackStream:()=>PM,genPackageManifest:()=>Oce,hasPackScripts:()=>vM,prepareForPack:()=>xM});var SM=Pe(yn()),Lce=Pe(kce()),Tce=J("zlib"),cVe=["/package.json","/readme","/readme.*","/license","/license.*","/licence","/licence.*","/changelog","/changelog.*"],uVe=["/package.tgz",".github",".git",".hg","node_modules",".npmignore",".gitignore",".#*",".DS_Store"];async function vM(r){return!!(Jt.hasWorkspaceScript(r,"prepack")||Jt.hasWorkspaceScript(r,"postpack"))}async function xM(r,{report:e},t){await Jt.maybeExecuteWorkspaceLifecycleScript(r,"prepack",{report:e});try{let i=x.join(r.cwd,ot.fileName);await M.existsPromise(i)&&await r.manifest.loadFile(i,{baseFs:M}),await t()}finally{await Jt.maybeExecuteWorkspaceLifecycleScript(r,"postpack",{report:e})}}async function PM(r,e){var s,o;typeof e>"u"&&(e=await yb(r));let t=new Set;for(let a of(o=(s=r.manifest.publishConfig)==null?void 0:s.executableFiles)!=null?o:new Set)t.add(x.normalize(a));for(let a of r.manifest.bin.values())t.add(x.normalize(a));let i=Lce.default.pack();process.nextTick(async()=>{for(let a of e){let l=x.normalize(a),c=x.resolve(r.cwd,l),u=x.join("package",l),g=await M.lstatPromise(c),f={name:u,mtime:new Date(xr.SAFE_TIME*1e3)},h=t.has(l)?493:420,p,C,y=new Promise((v,D)=>{p=v,C=D}),B=v=>{v?C(v):p()};if(g.isFile()){let v;l==="package.json"?v=Buffer.from(JSON.stringify(await Oce(r),null,2)):v=await M.readFilePromise(c),i.entry({...f,mode:h,type:"file"},v,B)}else g.isSymbolicLink()?i.entry({...f,mode:h,type:"symlink",linkname:await M.readlinkPromise(c)},B):B(new Error(`Unsupported file type ${g.mode} for ${K.fromPortablePath(l)}`));await y}i.finalize()});let n=(0,Tce.createGzip)();return i.pipe(n),n}async function Oce(r){let e=JSON.parse(JSON.stringify(r.manifest.raw));return await r.project.configuration.triggerHook(t=>t.beforeWorkspacePacking,r,e),e}async function yb(r){var g,f,h,p,C,y,B,v;let e=r.project,t=e.configuration,i={accept:[],reject:[]};for(let D of uVe)i.reject.push(D);for(let D of cVe)i.accept.push(D);i.reject.push(t.get("rcFilename"));let n=D=>{if(D===null||!D.startsWith(`${r.cwd}/`))return;let L=x.relative(r.cwd,D),H=x.resolve(Oe.root,L);i.reject.push(H)};n(x.resolve(e.cwd,t.get("lockfileFilename"))),n(t.get("cacheFolder")),n(t.get("globalFolder")),n(t.get("installStatePath")),n(t.get("virtualFolder")),n(t.get("yarnPath")),await t.triggerHook(D=>D.populateYarnPaths,e,D=>{n(D)});for(let D of e.workspaces){let L=x.relative(r.cwd,D.cwd);L!==""&&!L.match(/^(\.\.)?\//)&&i.reject.push(`/${L}`)}let s={accept:[],reject:[]},o=(f=(g=r.manifest.publishConfig)==null?void 0:g.main)!=null?f:r.manifest.main,a=(p=(h=r.manifest.publishConfig)==null?void 0:h.module)!=null?p:r.manifest.module,l=(y=(C=r.manifest.publishConfig)==null?void 0:C.browser)!=null?y:r.manifest.browser,c=(v=(B=r.manifest.publishConfig)==null?void 0:B.bin)!=null?v:r.manifest.bin;o!=null&&s.accept.push(x.resolve(Oe.root,o)),a!=null&&s.accept.push(x.resolve(Oe.root,a)),typeof l=="string"&&s.accept.push(x.resolve(Oe.root,l));for(let D of c.values())s.accept.push(x.resolve(Oe.root,D));if(l instanceof Map)for(let[D,L]of l.entries())s.accept.push(x.resolve(Oe.root,D)),typeof L=="string"&&s.accept.push(x.resolve(Oe.root,L));let u=r.manifest.files!==null;if(u){s.reject.push("/*");for(let D of r.manifest.files)Mce(s.accept,D,{cwd:Oe.root})}return await gVe(r.cwd,{hasExplicitFileList:u,globalList:i,ignoreList:s})}async function gVe(r,{hasExplicitFileList:e,globalList:t,ignoreList:i}){let n=[],s=new wo(r),o=[[Oe.root,[i]]];for(;o.length>0;){let[a,l]=o.pop(),c=await s.lstatPromise(a);if(!Fce(a,{globalList:t,ignoreLists:c.isDirectory()?null:l}))if(c.isDirectory()){let u=await s.readdirPromise(a),g=!1,f=!1;if(!e||a!==Oe.root)for(let C of u)g=g||C===".gitignore",f=f||C===".npmignore";let h=f?await Rce(s,a,".npmignore"):g?await Rce(s,a,".gitignore"):null,p=h!==null?[h].concat(l):l;Fce(a,{globalList:t,ignoreLists:l})&&(p=[...l,{accept:[],reject:["**/*"]}]);for(let C of u)o.push([x.resolve(a,C),p])}else(c.isFile()||c.isSymbolicLink())&&n.push(x.relative(Oe.root,a))}return n.sort()}async function Rce(r,e,t){let i={accept:[],reject:[]},n=await r.readFilePromise(x.join(e,t),"utf8");for(let s of n.split(/\n/g))Mce(i.reject,s,{cwd:e});return i}function fVe(r,{cwd:e}){let t=r[0]==="!";return t&&(r=r.slice(1)),r.match(/\.{0,1}\//)&&(r=x.resolve(e,r)),t&&(r=`!${r}`),r}function Mce(r,e,{cwd:t}){let i=e.trim();i===""||i[0]==="#"||r.push(fVe(i,{cwd:t}))}function Fce(r,{globalList:e,ignoreLists:t}){let i=Ib(r,e.accept);if(i!==0)return i===2;let n=Ib(r,e.reject);if(n!==0)return n===1;if(t!==null)for(let s of t){let o=Ib(r,s.accept);if(o!==0)return o===2;let a=Ib(r,s.reject);if(a!==0)return a===1}return!1}function Ib(r,e){let t=e,i=[];for(let n=0;n{await xM(n,{report:c},async()=>{c.reportJson({base:K.fromPortablePath(n.cwd)});let u=await yb(n);for(let g of u)c.reportInfo(null,K.fromPortablePath(g)),c.reportJson({location:K.fromPortablePath(g)});if(!this.dryRun){let g=await PM(n,u),f=M.createWriteStream(o);g.pipe(f),await new Promise(h=>{f.on("finish",h)})}}),this.dryRun||(c.reportInfo(0,`Package archive generated in ${ee.pretty(t,o,ee.Type.PATH)}`),c.reportJson({output:K.fromPortablePath(o)}))})).exitCode()}};Ku.paths=[["pack"]],Ku.usage=ve.Usage({description:"generate a tarball from the active workspace",details:"\n This command will turn the active workspace into a compressed archive suitable for publishing. The archive will by default be stored at the root of the workspace (`package.tgz`).\n\n If the `-o,---out` is set the archive will be created at the specified path. The `%s` and `%v` variables can be used within the path and will be respectively replaced by the package name and version.\n ",examples:[["Create an archive from the active workspace","yarn pack"],["List the files that would be made part of the workspace's archive","yarn pack --dry-run"],["Name and output the archive in a dedicated folder","yarn pack --out /artifacts/%s-%v.tgz"]]});function hVe(r,{workspace:e}){let t=r.replace("%s",pVe(e)).replace("%v",dVe(e));return K.toPortablePath(t)}function pVe(r){return r.manifest.name!==null?P.slugifyIdent(r.manifest.name):"package"}function dVe(r){return r.manifest.version!==null?r.manifest.version:"unknown"}var CVe=["dependencies","devDependencies","peerDependencies"],mVe="workspace:",EVe=(r,e)=>{var i,n;e.publishConfig&&(e.publishConfig.main&&(e.main=e.publishConfig.main),e.publishConfig.browser&&(e.browser=e.publishConfig.browser),e.publishConfig.module&&(e.module=e.publishConfig.module),e.publishConfig.exports&&(e.exports=e.publishConfig.exports),e.publishConfig.bin&&(e.bin=e.publishConfig.bin));let t=r.project;for(let s of CVe)for(let o of r.manifest.getForScope(s).values()){let a=t.tryWorkspaceByDescriptor(o),l=P.parseRange(o.range);if(l.protocol===mVe)if(a===null){if(t.tryWorkspaceByIdent(o)===null)throw new at(21,`${P.prettyDescriptor(t.configuration,o)}: No local workspace found for this range`)}else{let c;P.areDescriptorsEqual(o,a.anchoredDescriptor)||l.selector==="*"?c=(i=a.manifest.version)!=null?i:"0.0.0":l.selector==="~"||l.selector==="^"?c=`${l.selector}${(n=a.manifest.version)!=null?n:"0.0.0"}`:c=l.selector;let u=s==="dependencies"?P.makeDescriptor(o,"unknown"):null,g=u!==null&&r.manifest.ensureDependencyMeta(u).optional?"optionalDependencies":s;e[g][P.stringifyIdent(o)]=c}}},IVe={hooks:{beforeWorkspacePacking:EVe},commands:[Ku]},yVe=IVe;var Wce=J("crypto"),zce=Pe(Jce()),Vce=J("url");async function KVe(r,e,{access:t,tag:i,registry:n,gitHead:s}){let o=r.project.configuration,a=r.manifest.name,l=r.manifest.version,c=P.stringifyIdent(a),u=(0,Wce.createHash)("sha1").update(e).digest("hex"),g=zce.default.fromData(e).toString();typeof t>"u"&&(r.manifest.publishConfig&&typeof r.manifest.publishConfig.access=="string"?t=r.manifest.publishConfig.access:o.get("npmPublishAccess")!==null?t=o.get("npmPublishAccess"):a.scope?t="restricted":t="public");let f=await ia.genPackageManifest(r),h=`${c}-${l}.tgz`,p=new Vce.URL(`${go(n)}/${c}/-/${h}`);return{_id:c,_attachments:{[h]:{content_type:"application/octet-stream",data:e.toString("base64"),length:e.length}},name:c,access:t,["dist-tags"]:{[i]:l},versions:{[l]:{...f,_id:`${c}@${l}`,name:c,version:l,gitHead:s,dist:{shasum:u,integrity:g,tarball:p.toString()}}}}}async function UVe(r){try{let{stdout:e}=await Cr.execvp("git",["rev-parse","--revs-only","HEAD"],{cwd:r});return e.trim()===""?void 0:e.trim()}catch{return}}var NM={npmAlwaysAuth:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:"BOOLEAN",default:!1},npmAuthIdent:{description:"Authentication identity for the npm registry (_auth in npm and yarn v1)",type:"SECRET",default:null},npmAuthToken:{description:"Authentication token for the npm registry (_authToken in npm and yarn v1)",type:"SECRET",default:null}},Xce={npmAuditRegistry:{description:"Registry to query for audit reports",type:"STRING",default:null},npmPublishRegistry:{description:"Registry to push packages to",type:"STRING",default:null},npmRegistryServer:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:"STRING",default:"https://registry.yarnpkg.com"}},HVe={configuration:{...NM,...Xce,npmScopes:{description:"Settings per package scope",type:"MAP",valueDefinition:{description:"",type:"SHAPE",properties:{...NM,...Xce}}},npmRegistries:{description:"Settings per registry",type:"MAP",normalizeKeys:go,valueDefinition:{description:"",type:"SHAPE",properties:{...NM}}}},fetchers:[zQ,Rs],resolvers:[VQ,_Q,ZQ]},GVe=HVe;var KM={};ut(KM,{default:()=>ZVe});var EE=Pe(yn());ns();var wb=(i=>(i.All="all",i.Production="production",i.Development="development",i))(wb||{}),Bb=(s=>(s.Info="info",s.Low="low",s.Moderate="moderate",s.High="high",s.Critical="critical",s))(Bb||{});var mE=["info","low","moderate","high","critical"];function Zce(r,e){let t=[],i=new Set,n=o=>{i.has(o)||(i.add(o),t.push(o))};for(let o of e)n(o);let s=new Set;for(;t.length>0;){let o=t.shift(),a=r.storedResolutions.get(o);if(typeof a>"u")throw new Error("Assertion failed: Expected the resolution to have been registered");let l=r.storedPackages.get(a);if(!!l){s.add(o);for(let c of l.dependencies.values())n(c.descriptorHash)}}return s}function YVe(r,e){return new Set([...r].filter(t=>!e.has(t)))}function jVe(r,e,{all:t}){let i=t?r.workspaces:[e],n=i.map(f=>f.manifest),s=new Set(n.map(f=>[...f.dependencies].map(([h,p])=>h)).flat()),o=new Set(n.map(f=>[...f.devDependencies].map(([h,p])=>h)).flat()),a=i.map(f=>[...f.dependencies.values()]).flat(),l=a.filter(f=>s.has(f.identHash)).map(f=>f.descriptorHash),c=a.filter(f=>o.has(f.identHash)).map(f=>f.descriptorHash),u=Zce(r,l),g=Zce(r,c);return YVe(g,u)}function $ce(r){let e={};for(let t of r)e[P.stringifyIdent(t)]=P.parseRange(t.range).selector;return e}function eue(r){if(typeof r>"u")return new Set(mE);let e=mE.indexOf(r),t=mE.slice(e);return new Set(t)}function qVe(r,e){let t=eue(e),i={};for(let n of t)i[n]=r[n];return i}function tue(r,e){var i;let t=qVe(r,e);for(let n of Object.keys(t))if((i=t[n])!=null?i:0>0)return!0;return!1}function rue(r,e){var s;let t={},i={children:t},n=Object.values(r.advisories);if(e!=null){let o=eue(e);n=n.filter(a=>o.has(a.severity))}for(let o of Ie.sortMap(n,a=>a.module_name))t[o.module_name]={label:o.module_name,value:ee.tuple(ee.Type.RANGE,o.findings.map(a=>a.version).join(", ")),children:{ID:{label:"ID",value:ee.tuple(ee.Type.NUMBER,o.id)},Issue:{label:"Issue",value:ee.tuple(ee.Type.NO_HINT,o.title)},URL:{label:"URL",value:ee.tuple(ee.Type.URL,o.url)},Severity:{label:"Severity",value:ee.tuple(ee.Type.NO_HINT,o.severity)},["Vulnerable Versions"]:{label:"Vulnerable Versions",value:ee.tuple(ee.Type.RANGE,o.vulnerable_versions)},["Patched Versions"]:{label:"Patched Versions",value:ee.tuple(ee.Type.RANGE,o.patched_versions)},Via:{label:"Via",value:ee.tuple(ee.Type.NO_HINT,Array.from(new Set(o.findings.map(a=>a.paths).flat().map(a=>a.split(">")[0]))).join(", "))},Recommendation:{label:"Recommendation",value:ee.tuple(ee.Type.NO_HINT,(s=o.recommendation)==null?void 0:s.replace(/\n/g," "))}}};return i}function iue(r,e,{all:t,environment:i}){let n=t?r.workspaces:[e],s=["all","production"].includes(i),o=[];if(s)for(let c of n)for(let u of c.manifest.dependencies.values())o.push(u);let a=["all","development"].includes(i),l=[];if(a)for(let c of n)for(let u of c.manifest.devDependencies.values())l.push(u);return $ce([...o,...l].filter(c=>P.parseRange(c.range).protocol===null))}function nue(r,e,{all:t}){var s;let i=jVe(r,e,{all:t}),n={};for(let o of r.storedPackages.values())n[P.stringifyIdent(o)]={version:(s=o.version)!=null?s:"0.0.0",integrity:o.identHash,requires:$ce(o.dependencies.values()),dev:i.has(P.convertLocatorToDescriptor(o).descriptorHash)};return n}var Gu=class extends De{constructor(){super(...arguments);this.all=z.Boolean("-A,--all",!1,{description:"Audit dependencies from all workspaces"});this.recursive=z.Boolean("-R,--recursive",!1,{description:"Audit transitive dependencies as well"});this.environment=z.String("--environment","all",{description:"Which environments to cover",validator:Wi(wb)});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.severity=z.String("--severity","info",{description:"Minimal severity requested for packages to be displayed",validator:Wi(Bb)});this.excludes=z.Array("--exclude",[],{description:"Array of glob patterns of packages to exclude from audit"});this.ignores=z.Array("--ignore",[],{description:"Array of glob patterns of advisory ID's to ignore in the audit report"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState();let s=iue(i,n,{all:this.all,environment:this.environment}),o=nue(i,n,{all:this.all});if(!this.recursive)for(let C of Object.keys(o))Object.prototype.hasOwnProperty.call(s,C)?o[C].requires={}:delete o[C];let a=Array.from(new Set([...t.get("npmAuditExcludePackages"),...this.excludes]));if(a){for(let C of Object.keys(s))EE.default.isMatch(C,a)&&delete s[C];for(let C of Object.keys(o))EE.default.isMatch(C,a)&&delete o[C];for(let C of Object.keys(o))for(let y of Object.keys(o[C].requires))EE.default.isMatch(y,a)&&delete o[C].requires[y]}let l={requires:s,dependencies:o},c=or.getAuditRegistry(n.manifest,{configuration:t}),u,g=await _o.start({configuration:t,stdout:this.context.stdout},async()=>{u=await Mt.post("/-/npm/v1/security/audits/quick",l,{authType:Mt.AuthType.BEST_EFFORT,configuration:t,jsonResponse:!0,registry:c})});if(g.hasErrors())return g.exitCode();let f=Array.from(new Set([...t.get("npmAuditIgnoreAdvisories"),...this.ignores]));if(f){for(let C of Object.keys(u.advisories))if(EE.default.isMatch(C,f)){let y=u.advisories[C];u.metadata.vulnerabilities[y.severity]-=1,delete u.advisories[C]}}let h=tue(u.metadata.vulnerabilities,this.severity);return!this.json&&h?(Vn.emitTree(rue(u,this.severity),{configuration:t,json:this.json,stdout:this.context.stdout,separators:2}),1):(await Ge.start({configuration:t,includeFooter:!1,json:this.json,stdout:this.context.stdout},async C=>{C.reportJson(u),h||C.reportInfo(1,"No audit suggestions")})).exitCode()}};Gu.paths=[["npm","audit"]],Gu.usage=ve.Usage({description:"perform a vulnerability audit against the installed packages",details:` +`}}}}let l=r.cwd,c=x.join(l,kr,Fle);n&&await M.removePromise(c),await M.changeFilePromise(c,s,{automaticNewlines:!0})}async function oM(r,{unrollAliases:e=!1}={}){let t=r.cwd,i=x.join(t,kr,Fle),n;try{n=await M.statPromise(i)}catch{}if(!n)return null;let s=yi(await M.readFilePromise(i,"utf8"));if(s.__metadata.version>Rle)return null;let o=s.__metadata.nmMode||"classic",a=new Map,l=new Map;delete s.__metadata;for(let[c,u]of Object.entries(s)){let g=u.locations.map(h=>x.join(t,h)),f=u.bin;if(f)for(let[h,p]of Object.entries(f)){let C=x.join(t,K.toPortablePath(h)),y=Ie.getMapWithDefault(l,C);for(let[B,v]of Object.entries(p))y.set(Ur(B),K.toPortablePath([C,kr,v].join(x.sep)))}if(a.set(c,{target:Oe.dot,linkType:"HARD",locations:g,aliases:u.aliases||[]}),e&&u.aliases)for(let h of u.aliases){let{scope:p,name:C}=P.parseLocator(c),y=P.makeLocator(P.makeIdent(p,C),h),B=P.stringifyLocator(y);a.set(B,{target:Oe.dot,linkType:"HARD",locations:g,aliases:[]})}}return{locatorMap:a,binSymlinks:l,locationTree:Nle(a,{skipPrefix:r.cwd}),nmMode:o,mtimeMs:n.mtimeMs}}var np=async(r,e)=>{if(r.split(x.sep).indexOf(kr)<0)throw new Error(`Assertion failed: trying to remove dir that doesn't contain node_modules: ${r}`);try{if(!e.innerLoop){let i=e.allowSymlink?await M.statPromise(r):await M.lstatPromise(r);if(e.allowSymlink&&!i.isDirectory()||!e.allowSymlink&&i.isSymbolicLink()){await M.unlinkPromise(r);return}}let t=await M.readdirPromise(r,{withFileTypes:!0});for(let i of t){let n=x.join(r,Ur(i.name));i.isDirectory()?(i.name!==kr||e&&e.innerLoop)&&await np(n,{innerLoop:!0,contentsOnly:!1}):await M.unlinkPromise(n)}e.contentsOnly||await M.rmdirPromise(r)}catch(t){if(t.code!=="ENOENT"&&t.code!=="ENOTEMPTY")throw t}},xle=4,nb=(r,{skipPrefix:e})=>{let t=x.contains(e,r);if(t===null)throw new Error(`Assertion failed: Writing attempt prevented to ${r} which is outside project root: ${e}`);let i=t.split(x.sep).filter(l=>l!==""),n=i.indexOf(kr),s=i.slice(0,n).join(x.sep),o=x.join(e,s),a=i.slice(n);return{locationRoot:o,segments:a}},Nle=(r,{skipPrefix:e})=>{let t=new Map;if(r===null)return t;let i=()=>({children:new Map,linkType:"HARD"});for(let[n,s]of r.entries()){if(s.linkType==="SOFT"&&x.contains(e,s.target)!==null){let a=Ie.getFactoryWithDefault(t,s.target,i);a.locator=n,a.linkType=s.linkType}for(let o of s.locations){let{locationRoot:a,segments:l}=nb(o,{skipPrefix:e}),c=Ie.getFactoryWithDefault(t,a,i);for(let u=0;u{let t;try{process.platform==="win32"&&(t=await M.lstatPromise(r))}catch{}process.platform=="win32"&&(!t||t.isDirectory())?await M.symlinkPromise(r,e,"junction"):await M.symlinkPromise(x.relative(x.dirname(e),r),e)};async function Lle(r,e,t){let i=x.join(r,Ur(`${aM.default.randomBytes(16).toString("hex")}.tmp`));try{await M.writeFilePromise(i,t);try{await M.linkPromise(i,e)}catch{}}finally{await M.unlinkPromise(i)}}async function Rze({srcPath:r,dstPath:e,entry:t,globalHardlinksStore:i,baseFs:n,nmMode:s}){if(t.kind===Tle.FILE){if(s.value==="hardlinks-global"&&i&&t.digest){let a=x.join(i,t.digest.substring(0,2),`${t.digest.substring(2)}.dat`),l;try{let c=await M.statPromise(a);if(c&&(!t.mtimeMs||c.mtimeMs>t.mtimeMs||c.mtimeMs(i.FILE="file",i.DIRECTORY="directory",i.SYMLINK="symlink",i))(Tle||{}),Fze=async(r,e,{baseFs:t,globalHardlinksStore:i,nmMode:n,packageChecksum:s})=>{await M.mkdirPromise(r,{recursive:!0});let o=async(c=Oe.dot)=>{let u=x.join(e,c),g=await t.readdirPromise(u,{withFileTypes:!0}),f=new Map;for(let h of g){let p=x.join(c,h.name),C,y=x.join(u,h.name);if(h.isFile()){if(C={kind:"file",mode:(await t.lstatPromise(y)).mode},n.value==="hardlinks-global"){let B=await li.checksumFile(y,{baseFs:t,algorithm:"sha1"});C.digest=B}}else if(h.isDirectory())C={kind:"directory"};else if(h.isSymbolicLink())C={kind:"symlink",symlinkTo:await t.readlinkPromise(y)};else throw new Error(`Unsupported file type (file: ${y}, mode: 0o${await t.statSync(y).mode.toString(8).padStart(6,"0")})`);if(f.set(p,C),h.isDirectory()&&p!==kr){let B=await o(p);for(let[v,D]of B)f.set(v,D)}}return f},a;if(n.value==="hardlinks-global"&&i&&s){let c=x.join(i,s.substring(0,2),`${s.substring(2)}.json`);try{a=new Map(Object.entries(JSON.parse(await M.readFilePromise(c,"utf8"))))}catch{a=await o()}}else a=await o();let l=!1;for(let[c,u]of a){let g=x.join(e,c),f=x.join(r,c);if(u.kind==="directory")await M.mkdirPromise(f,{recursive:!0});else if(u.kind==="file"){let h=u.mtimeMs;await Rze({srcPath:g,dstPath:f,entry:u,nmMode:n,baseFs:t,globalHardlinksStore:i}),u.mtimeMs!==h&&(l=!0)}else u.kind==="symlink"&&await AM(x.resolve(x.dirname(f),u.symlinkTo),f)}if(n.value==="hardlinks-global"&&i&&l&&s){let c=x.join(i,s.substring(0,2),`${s.substring(2)}.json`);await M.removePromise(c),await Lle(i,c,Buffer.from(JSON.stringify(Object.fromEntries(a))))}};function Nze(r,e,t,i){let n=new Map,s=new Map,o=new Map,a=!1,l=(c,u,g,f,h)=>{let p=!0,C=x.join(c,u),y=new Set;if(u===kr||u.startsWith("@")){let v;try{v=M.statSync(C)}catch{}p=!!v,v?v.mtimeMs>t?(a=!0,y=new Set(M.readdirSync(C))):y=new Set(g.children.get(u).children.keys()):a=!0;let D=e.get(c);if(D){let L=x.join(c,kr,rb),H;try{H=M.statSync(L)}catch{}if(!H)a=!0;else if(H.mtimeMs>t){a=!0;let j=new Set(M.readdirSync(L)),$=new Map;s.set(c,$);for(let[V,W]of D)j.has(V)&&$.set(V,W)}else s.set(c,D)}}else p=h.has(u);let B=g.children.get(u);if(p){let{linkType:v,locator:D}=B,L={children:new Map,linkType:v,locator:D};if(f.children.set(u,L),D){let H=Ie.getSetWithDefault(o,D);H.add(C),o.set(D,H)}for(let H of B.children.keys())l(C,H,B,L,y)}else B.locator&&i.storedBuildState.delete(P.parseLocator(B.locator).locatorHash)};for(let[c,u]of r){let{linkType:g,locator:f}=u,h={children:new Map,linkType:g,locator:f};if(n.set(c,h),f){let p=Ie.getSetWithDefault(o,u.locator);p.add(c),o.set(u.locator,p)}u.children.has(kr)&&l(c,kr,u,h,new Set)}return{locationTree:n,binSymlinks:s,locatorLocations:o,installChangedByUser:a}}function Ole(r){let e=P.parseDescriptor(r);return P.isVirtualDescriptor(e)&&(e=P.devirtualizeDescriptor(e)),e.range.startsWith("link:")}async function Lze(r,e,t,{loadManifest:i}){let n=new Map;for(let[a,{locations:l}]of r){let c=Ole(a)?null:await i(a,l[0]),u=new Map;if(c)for(let[g,f]of c.bin){let h=x.join(l[0],f);f!==""&&M.existsSync(h)&&u.set(g,f)}n.set(a,u)}let s=new Map,o=(a,l,c)=>{let u=new Map,g=x.contains(t,a);if(c.locator&&g!==null){let f=n.get(c.locator);for(let[h,p]of f){let C=x.join(a,K.toPortablePath(p));u.set(Ur(h),C)}for(let[h,p]of c.children){let C=x.join(a,h),y=o(C,C,p);y.size>0&&s.set(a,new Map([...s.get(a)||new Map,...y]))}}else for(let[f,h]of c.children){let p=o(x.join(a,f),l,h);for(let[C,y]of p)u.set(C,y)}return u};for(let[a,l]of e){let c=o(a,a,l);c.size>0&&s.set(a,new Map([...s.get(a)||new Map,...c]))}return s}var Ple=(r,e)=>{if(!r||!e)return r===e;let t=P.parseLocator(r);P.isVirtualLocator(t)&&(t=P.devirtualizeLocator(t));let i=P.parseLocator(e);return P.isVirtualLocator(i)&&(i=P.devirtualizeLocator(i)),P.areLocatorsEqual(t,i)};function lM(r){return x.join(r.get("globalFolder"),"store")}async function Tze(r,e,{baseFs:t,project:i,report:n,loadManifest:s,realLocatorChecksums:o}){let a=x.join(i.cwd,kr),{locationTree:l,binSymlinks:c,locatorLocations:u,installChangedByUser:g}=Nze(r.locationTree,r.binSymlinks,r.mtimeMs,i),f=Nle(e,{skipPrefix:i.cwd}),h=[],p=async({srcDir:V,dstDir:W,linkType:_,globalHardlinksStore:A,nmMode:ae,packageChecksum:ge})=>{let re=(async()=>{try{_==="SOFT"?(await M.mkdirPromise(x.dirname(W),{recursive:!0}),await AM(x.resolve(V),W)):await Fze(W,V,{baseFs:t,globalHardlinksStore:A,nmMode:ae,packageChecksum:ge})}catch(O){throw O.message=`While persisting ${V} -> ${W} ${O.message}`,O}finally{L.tick()}})().then(()=>h.splice(h.indexOf(re),1));h.push(re),h.length>xle&&await Promise.race(h)},C=async(V,W,_)=>{let A=(async()=>{let ae=async(ge,re,O)=>{try{O.innerLoop||await M.mkdirPromise(re,{recursive:!0});let F=await M.readdirPromise(ge,{withFileTypes:!0});for(let ue of F){if(!O.innerLoop&&ue.name===rb)continue;let he=x.join(ge,ue.name),ke=x.join(re,ue.name);ue.isDirectory()?(ue.name!==kr||O&&O.innerLoop)&&(await M.mkdirPromise(ke,{recursive:!0}),await ae(he,ke,{...O,innerLoop:!0})):$.value==="hardlinks-local"||$.value==="hardlinks-global"?await M.linkPromise(he,ke):await M.copyFilePromise(he,ke,kle.default.constants.COPYFILE_FICLONE)}}catch(F){throw O.innerLoop||(F.message=`While cloning ${ge} -> ${re} ${F.message}`),F}finally{O.innerLoop||L.tick()}};await ae(V,W,_)})().then(()=>h.splice(h.indexOf(A),1));h.push(A),h.length>xle&&await Promise.race(h)},y=async(V,W,_)=>{if(_)for(let[A,ae]of W.children){let ge=_.children.get(A);await y(x.join(V,A),ae,ge)}else{W.children.has(kr)&&await np(x.join(V,kr),{contentsOnly:!1});let A=x.basename(V)===kr&&f.has(x.join(x.dirname(V),x.sep));await np(V,{contentsOnly:V===a,allowSymlink:A})}};for(let[V,W]of l){let _=f.get(V);for(let[A,ae]of W.children){if(A===".")continue;let ge=_&&_.children.get(A),re=x.join(V,A);await y(re,ae,ge)}}let B=async(V,W,_)=>{if(_){Ple(W.locator,_.locator)||await np(V,{contentsOnly:W.linkType==="HARD"});for(let[A,ae]of W.children){let ge=_.children.get(A);await B(x.join(V,A),ae,ge)}}else{W.children.has(kr)&&await np(x.join(V,kr),{contentsOnly:!0});let A=x.basename(V)===kr&&f.has(x.join(x.dirname(V),x.sep));await np(V,{contentsOnly:W.linkType==="HARD",allowSymlink:A})}};for(let[V,W]of f){let _=l.get(V);for(let[A,ae]of W.children){if(A===".")continue;let ge=_&&_.children.get(A);await B(x.join(V,A),ae,ge)}}let v=new Map,D=[];for(let[V,W]of u)for(let _ of W){let{locationRoot:A,segments:ae}=nb(_,{skipPrefix:i.cwd}),ge=f.get(A),re=A;if(ge){for(let O of ae)if(re=x.join(re,O),ge=ge.children.get(O),!ge)break;if(ge){let O=Ple(ge.locator,V),F=e.get(ge.locator),ue=F.target,he=re,ke=F.linkType;if(O)v.has(ue)||v.set(ue,he);else if(ue!==he){let Fe=P.parseLocator(ge.locator);P.isVirtualLocator(Fe)&&(Fe=P.devirtualizeLocator(Fe)),D.push({srcDir:ue,dstDir:he,linkType:ke,realLocatorHash:Fe.locatorHash})}}}}for(let[V,{locations:W}]of e.entries())for(let _ of W){let{locationRoot:A,segments:ae}=nb(_,{skipPrefix:i.cwd}),ge=l.get(A),re=f.get(A),O=A,F=e.get(V),ue=P.parseLocator(V);P.isVirtualLocator(ue)&&(ue=P.devirtualizeLocator(ue));let he=ue.locatorHash,ke=F.target,Fe=_;if(ke===Fe)continue;let Ne=F.linkType;for(let oe of ae)re=re.children.get(oe);if(!ge)D.push({srcDir:ke,dstDir:Fe,linkType:Ne,realLocatorHash:he});else for(let oe of ae)if(O=x.join(O,oe),ge=ge.children.get(oe),!ge){D.push({srcDir:ke,dstDir:Fe,linkType:Ne,realLocatorHash:he});break}}let L=vi.progressViaCounter(D.length),H=n.reportProgress(L),j=i.configuration.get("nmMode"),$={value:j};try{let V=$.value==="hardlinks-global"?`${lM(i.configuration)}/v1`:null;if(V&&!await M.existsPromise(V)){await M.mkdirpPromise(V);for(let _=0;_<256;_++)await M.mkdirPromise(x.join(V,_.toString(16).padStart(2,"0")))}for(let _ of D)(_.linkType==="SOFT"||!v.has(_.srcDir))&&(v.set(_.srcDir,_.dstDir),await p({..._,globalHardlinksStore:V,nmMode:$,packageChecksum:o.get(_.realLocatorHash)||null}));await Promise.all(h),h.length=0;for(let _ of D){let A=v.get(_.srcDir);_.linkType!=="SOFT"&&_.dstDir!==A&&await C(A,_.dstDir,{nmMode:$})}await Promise.all(h),await M.mkdirPromise(a,{recursive:!0});let W=await Lze(e,f,i.cwd,{loadManifest:s});await Oze(c,W,i.cwd),await kze(i,e,W,$,{installChangedByUser:g}),j=="hardlinks-global"&&$.value=="hardlinks-local"&&n.reportWarningOnce(74,"'nmMode' has been downgraded to 'hardlinks-local' due to global cache and install folder being on different devices")}finally{H.stop()}}async function Oze(r,e,t){for(let i of r.keys()){if(x.contains(t,i)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${i}`);if(!e.has(i)){let n=x.join(i,kr,rb);await M.removePromise(n)}}for(let[i,n]of e){if(x.contains(t,i)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${i}`);let s=x.join(i,kr,rb),o=r.get(i)||new Map;await M.mkdirPromise(s,{recursive:!0});for(let a of o.keys())n.has(a)||(await M.removePromise(x.join(s,a)),process.platform==="win32"&&await M.removePromise(x.join(s,Ur(`${a}.cmd`))));for(let[a,l]of n){let c=o.get(a),u=x.join(s,a);c!==l&&(process.platform==="win32"?await(0,Dle.default)(K.fromPortablePath(l),K.fromPortablePath(u),{createPwshFile:!1}):(await M.removePromise(u),await AM(l,u),x.contains(t,await M.realpathPromise(l))!==null&&await M.chmodPromise(l,493)))}}}var sb=class extends ml{constructor(){super(...arguments);this.mode="loose"}makeInstaller(t){return new cM(t)}},cM=class extends Uu{constructor(){super(...arguments);this.mode="loose"}async transformPnpSettings(t){let i=new Br({baseFs:new On({libzip:await sn(),maxOpenFiles:80,readOnlyArchives:!0})}),n=hle(t,this.opts.project.cwd,i),{tree:s,errors:o}=eE(n,{pnpifyFs:!1,project:this.opts.project});if(!s){for(let{messageName:g,text:f}of o)this.opts.report.reportError(g,f);return}let a=new Map;t.fallbackPool=a;let l=(g,f)=>{let h=P.parseLocator(f.locator),p=P.stringifyIdent(h);p===g?a.set(g,h.reference):a.set(g,[p,h.reference])},c=x.join(this.opts.project.cwd,xt.nodeModules),u=s.get(c);if(!(typeof u>"u")){if("target"in u)throw new Error("Assertion failed: Expected the root junction point to be a directory");for(let g of u.dirList){let f=x.join(c,g),h=s.get(f);if(typeof h>"u")throw new Error("Assertion failed: Expected the child to have been registered");if("target"in h)l(g,h);else for(let p of h.dirList){let C=x.join(f,p),y=s.get(C);if(typeof y>"u")throw new Error("Assertion failed: Expected the subchild to have been registered");if("target"in y)l(`${g}/${p}`,y);else throw new Error("Assertion failed: Expected the leaf junction to be a package")}}}}};var Mze={hooks:{cleanGlobalArtifacts:async r=>{let e=lM(r);await M.removePromise(e)}},configuration:{nmHoistingLimits:{description:"Prevent packages to be hoisted past specific levels",type:"STRING",values:["workspaces","dependencies","none"],default:"none"},nmMode:{description:'If set to "hardlinks-local" Yarn will utilize hardlinks to reduce disk space consumption inside "node_modules" directories. With "hardlinks-global" Yarn will use global content addressable storage to reduce "node_modules" size across all the projects using this option.',type:"STRING",values:["classic","hardlinks-local","hardlinks-global"],default:"classic"},nmSelfReferences:{description:"If set to 'false' the workspace will not be allowed to require itself and corresponding self-referencing symlink will not be created",type:"BOOLEAN",default:!0}},linkers:[ib,sb]},Kze=Mze;var A1={};ut(A1,{default:()=>WVe,npmConfigUtils:()=>or,npmHttpUtils:()=>Mt,npmPublishUtils:()=>dp});var Yle=Pe(Xr());var gr="npm:";var Mt={};ut(Mt,{AuthType:()=>Gle,customPackageError:()=>Hze,del:()=>jze,get:()=>mo,getIdentUrl:()=>yl,handleInvalidAuthenticationError:()=>Il,post:()=>Gze,put:()=>Yze});var hM=Pe(Om()),Hle=J("url");var or={};ut(or,{RegistryType:()=>Mle,getAuditRegistry:()=>Uze,getAuthConfiguration:()=>fM,getDefaultRegistry:()=>ob,getPublishRegistry:()=>Kle,getRegistryConfiguration:()=>Ule,getScopeConfiguration:()=>gM,getScopeRegistry:()=>uA,normalizeRegistry:()=>Co});var Mle=(i=>(i.AUDIT_REGISTRY="npmAuditRegistry",i.FETCH_REGISTRY="npmRegistryServer",i.PUBLISH_REGISTRY="npmPublishRegistry",i))(Mle||{});function Co(r){return r.replace(/\/$/,"")}function Uze(r,{configuration:e}){let t=e.get("npmAuditRegistry");return t!==null?Co(t):Kle(r,{configuration:e})}function Kle(r,{configuration:e}){var t;return(t=r.publishConfig)!=null&&t.registry?Co(r.publishConfig.registry):r.name?uA(r.name.scope,{configuration:e,type:"npmPublishRegistry"}):ob({configuration:e,type:"npmPublishRegistry"})}function uA(r,{configuration:e,type:t="npmRegistryServer"}){let i=gM(r,{configuration:e});if(i===null)return ob({configuration:e,type:t});let n=i.get(t);return n===null?ob({configuration:e,type:t}):Co(n)}function ob({configuration:r,type:e="npmRegistryServer"}){let t=r.get(e);return Co(t!==null?t:r.get("npmRegistryServer"))}function Ule(r,{configuration:e}){let t=e.get("npmRegistries"),i=Co(r),n=t.get(i);if(typeof n<"u")return n;let s=t.get(i.replace(/^[a-z]+:/,""));return typeof s<"u"?s:null}function gM(r,{configuration:e}){if(r===null)return null;let i=e.get("npmScopes").get(r);return i||null}function fM(r,{configuration:e,ident:t}){let i=t&&gM(t.scope,{configuration:e});return(i==null?void 0:i.get("npmAuthIdent"))||(i==null?void 0:i.get("npmAuthToken"))?i:Ule(r,{configuration:e})||e}var Gle=(n=>(n[n.NO_AUTH=0]="NO_AUTH",n[n.BEST_EFFORT=1]="BEST_EFFORT",n[n.CONFIGURATION=2]="CONFIGURATION",n[n.ALWAYS_AUTH=3]="ALWAYS_AUTH",n))(Gle||{});async function Il(r,{attemptedAs:e,registry:t,headers:i,configuration:n}){var s,o;if(Ab(r))throw new at(41,"Invalid OTP token");if(((s=r.originalError)==null?void 0:s.name)==="HTTPError"&&((o=r.originalError)==null?void 0:o.response.statusCode)===401)throw new at(41,`Invalid authentication (${typeof e!="string"?`as ${await Jze(t,i,{configuration:n})}`:`attempted as ${e}`})`)}function Hze(r){var e;return((e=r.response)==null?void 0:e.statusCode)===404?"Package not found":null}function yl(r){return r.scope?`/@${r.scope}%2f${r.name}`:`/${r.name}`}async function mo(r,{configuration:e,headers:t,ident:i,authType:n,registry:s,...o}){if(i&&typeof s>"u"&&(s=uA(i.scope,{configuration:e})),i&&i.scope&&typeof n>"u"&&(n=1),typeof s!="string")throw new Error("Assertion failed: The registry should be a string");let a=await ab(s,{authType:n,configuration:e,ident:i});a&&(t={...t,authorization:a});try{return await Xt.get(r.charAt(0)==="/"?`${s}${r}`:r,{configuration:e,headers:t,...o})}catch(l){throw await Il(l,{registry:s,configuration:e,headers:t}),l}}async function Gze(r,e,{attemptedAs:t,configuration:i,headers:n,ident:s,authType:o=3,registry:a,otp:l,...c}){if(s&&typeof a>"u"&&(a=uA(s.scope,{configuration:i})),typeof a!="string")throw new Error("Assertion failed: The registry should be a string");let u=await ab(a,{authType:o,configuration:i,ident:s});u&&(n={...n,authorization:u}),l&&(n={...n,...sp(l)});try{return await Xt.post(a+r,e,{configuration:i,headers:n,...c})}catch(g){if(!Ab(g)||l)throw await Il(g,{attemptedAs:t,registry:a,configuration:i,headers:n}),g;l=await pM(g,{configuration:i});let f={...n,...sp(l)};try{return await Xt.post(`${a}${r}`,e,{configuration:i,headers:f,...c})}catch(h){throw await Il(h,{attemptedAs:t,registry:a,configuration:i,headers:n}),h}}}async function Yze(r,e,{attemptedAs:t,configuration:i,headers:n,ident:s,authType:o=3,registry:a,otp:l,...c}){if(s&&typeof a>"u"&&(a=uA(s.scope,{configuration:i})),typeof a!="string")throw new Error("Assertion failed: The registry should be a string");let u=await ab(a,{authType:o,configuration:i,ident:s});u&&(n={...n,authorization:u}),l&&(n={...n,...sp(l)});try{return await Xt.put(a+r,e,{configuration:i,headers:n,...c})}catch(g){if(!Ab(g))throw await Il(g,{attemptedAs:t,registry:a,configuration:i,headers:n}),g;l=await pM(g,{configuration:i});let f={...n,...sp(l)};try{return await Xt.put(`${a}${r}`,e,{configuration:i,headers:f,...c})}catch(h){throw await Il(h,{attemptedAs:t,registry:a,configuration:i,headers:n}),h}}}async function jze(r,{attemptedAs:e,configuration:t,headers:i,ident:n,authType:s=3,registry:o,otp:a,...l}){if(n&&typeof o>"u"&&(o=uA(n.scope,{configuration:t})),typeof o!="string")throw new Error("Assertion failed: The registry should be a string");let c=await ab(o,{authType:s,configuration:t,ident:n});c&&(i={...i,authorization:c}),a&&(i={...i,...sp(a)});try{return await Xt.del(o+r,{configuration:t,headers:i,...l})}catch(u){if(!Ab(u)||a)throw await Il(u,{attemptedAs:e,registry:o,configuration:t,headers:i}),u;a=await pM(u,{configuration:t});let g={...i,...sp(a)};try{return await Xt.del(`${o}${r}`,{configuration:t,headers:g,...l})}catch(f){throw await Il(f,{attemptedAs:e,registry:o,configuration:t,headers:i}),f}}}async function ab(r,{authType:e=2,configuration:t,ident:i}){let n=fM(r,{configuration:t,ident:i}),s=qze(n,e);if(!s)return null;let o=await t.reduceHook(a=>a.getNpmAuthenticationHeader,void 0,r,{configuration:t,ident:i});if(o)return o;if(n.get("npmAuthToken"))return`Bearer ${n.get("npmAuthToken")}`;if(n.get("npmAuthIdent")){let a=n.get("npmAuthIdent");return a.includes(":")?`Basic ${Buffer.from(a).toString("base64")}`:`Basic ${a}`}if(s&&e!==1)throw new at(33,"No authentication configured for request");return null}function qze(r,e){switch(e){case 2:return r.get("npmAlwaysAuth");case 1:case 3:return!0;case 0:return!1;default:throw new Error("Unreachable")}}async function Jze(r,e,{configuration:t}){var i;if(typeof e>"u"||typeof e.authorization>"u")return"an anonymous user";try{return(i=(await Xt.get(new Hle.URL(`${r}/-/whoami`).href,{configuration:t,headers:e,jsonResponse:!0})).username)!=null?i:"an unknown user"}catch{return"an unknown user"}}async function pM(r,{configuration:e}){var n;let t=(n=r.originalError)==null?void 0:n.response.headers["npm-notice"];if(t&&(await Ge.start({configuration:e,stdout:process.stdout,includeFooter:!1},async s=>{if(s.reportInfo(0,t.replace(/(https?:\/\/\S+)/g,ee.pretty(e,"$1",ee.Type.URL))),!process.env.YARN_IS_TEST_ENV){let o=t.match(/open (https?:\/\/\S+)/i);if(o&&Is.openUrl){let{openNow:a}=await(0,hM.prompt)({type:"confirm",name:"openNow",message:"Do you want to try to open this url now?",required:!0,initial:!0,onCancel:()=>process.exit(130)});a&&(await Is.openUrl(o[1])||(s.reportSeparator(),s.reportWarning(0,"We failed to automatically open the url; you'll have to open it yourself in your browser of choice.")))}}}),process.stdout.write(` +`)),process.env.YARN_IS_TEST_ENV)return process.env.YARN_INJECT_NPM_2FA_TOKEN||"";let{otp:i}=await(0,hM.prompt)({type:"password",name:"otp",message:"One-time password:",required:!0,onCancel:()=>process.exit(130)});return process.stdout.write(` +`),i}function Ab(r){var e,t;if(((e=r.originalError)==null?void 0:e.name)!=="HTTPError")return!1;try{return((t=r.originalError)==null?void 0:t.response.headers["www-authenticate"].split(/,\s*/).map(n=>n.toLowerCase())).includes("otp")}catch{return!1}}function sp(r){return{["npm-otp"]:r}}var lb=class{supports(e,t){if(!e.reference.startsWith(gr))return!1;let{selector:i,params:n}=P.parseRange(e.reference);return!(!Yle.default.valid(i)||n===null||typeof n.__archiveUrl!="string")}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,t),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,t){let{params:i}=P.parseRange(e.reference);if(i===null||typeof i.__archiveUrl!="string")throw new Error("Assertion failed: The archiveUrl querystring parameter should have been available");let n=await mo(i.__archiveUrl,{configuration:t.project.configuration,ident:e});return await mi.convertToZip(n,{compressionLevel:t.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1})}};var cb=class{supportsDescriptor(e,t){return!(!e.range.startsWith(gr)||!P.tryParseDescriptor(e.range.slice(gr.length),!0))}supportsLocator(e,t){return!1}shouldPersistResolution(e,t){throw new Error("Unreachable")}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){let i=P.parseDescriptor(e.range.slice(gr.length),!0);return t.resolver.getResolutionDependencies(i,t)}async getCandidates(e,t,i){let n=P.parseDescriptor(e.range.slice(gr.length),!0);return await i.resolver.getCandidates(n,t,i)}async getSatisfying(e,t,i){let n=P.parseDescriptor(e.range.slice(gr.length),!0);return i.resolver.getSatisfying(n,t,i)}resolve(e,t){throw new Error("Unreachable")}};var jle=Pe(Xr()),qle=J("url");var Ns=class{supports(e,t){if(!e.reference.startsWith(gr))return!1;let i=new qle.URL(e.reference);return!(!jle.default.valid(i.pathname)||i.searchParams.has("__archiveUrl"))}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the remote registry`),loader:()=>this.fetchFromNetwork(e,t),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,t){let i;try{i=await mo(Ns.getLocatorUrl(e),{configuration:t.project.configuration,ident:e})}catch{i=await mo(Ns.getLocatorUrl(e).replace(/%2f/g,"/"),{configuration:t.project.configuration,ident:e})}return await mi.convertToZip(i,{compressionLevel:t.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1})}static isConventionalTarballUrl(e,t,{configuration:i}){let n=uA(e.scope,{configuration:i}),s=Ns.getLocatorUrl(e);return t=t.replace(/^https?:(\/\/(?:[^/]+\.)?npmjs.org(?:$|\/))/,"https:$1"),n=n.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),t=t.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),t===n+s||t===n+s.replace(/%2f/g,"/")}static getLocatorUrl(e){let t=vt.clean(e.reference.slice(gr.length));if(t===null)throw new at(10,"The npm semver resolver got selected, but the version isn't semver");return`${yl(e)}/-/${e.name}-${t}.tgz`}};var Jle=Pe(Xr());var ub=P.makeIdent(null,"node-gyp"),Wze=/\b(node-gyp|prebuild-install)\b/,gb=class{supportsDescriptor(e,t){return e.range.startsWith(gr)?!!vt.validRange(e.range.slice(gr.length)):!1}supportsLocator(e,t){if(!e.reference.startsWith(gr))return!1;let{selector:i}=P.parseRange(e.reference);return!!Jle.default.valid(i)}shouldPersistResolution(e,t){return!0}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){let n=vt.validRange(e.range.slice(gr.length));if(n===null)throw new Error(`Expected a valid range, got ${e.range.slice(gr.length)}`);let s=await mo(yl(e),{configuration:i.project.configuration,ident:e,jsonResponse:!0}),o=Ie.mapAndFilter(Object.keys(s.versions),c=>{try{let u=new vt.SemVer(c);if(n.test(u))return u}catch{}return Ie.mapAndFilter.skip}),a=o.filter(c=>!s.versions[c.raw].deprecated),l=a.length>0?a:o;return l.sort((c,u)=>-c.compare(u)),l.map(c=>{let u=P.makeLocator(e,`${gr}${c.raw}`),g=s.versions[c.raw].dist.tarball;return Ns.isConventionalTarballUrl(u,g,{configuration:i.project.configuration})?u:P.bindLocator(u,{__archiveUrl:g})})}async getSatisfying(e,t,i){let n=vt.validRange(e.range.slice(gr.length));if(n===null)throw new Error(`Expected a valid range, got ${e.range.slice(gr.length)}`);return Ie.mapAndFilter(t,s=>{try{let{selector:o}=P.parseRange(s,{requireProtocol:gr}),a=new vt.SemVer(o);if(n.test(a))return{reference:s,version:a}}catch{}return Ie.mapAndFilter.skip}).sort((s,o)=>-s.version.compare(o.version)).map(({reference:s})=>P.makeLocator(e,s))}async resolve(e,t){let{selector:i}=P.parseRange(e.reference),n=vt.clean(i);if(n===null)throw new at(10,"The npm semver resolver got selected, but the version isn't semver");let s=await mo(yl(e),{configuration:t.project.configuration,ident:e,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(s,"versions"))throw new at(15,'Registry returned invalid data for - missing "versions" field');if(!Object.prototype.hasOwnProperty.call(s.versions,n))throw new at(16,`Registry failed to return reference "${n}"`);let o=new ot;if(o.load(s.versions[n]),!o.dependencies.has(ub.identHash)&&!o.peerDependencies.has(ub.identHash)){for(let a of o.scripts.values())if(a.match(Wze)){o.dependencies.set(ub.identHash,P.makeDescriptor(ub,"latest")),t.report.reportWarningOnce(32,`${P.prettyLocator(t.project.configuration,e)}: Implicit dependencies on node-gyp are discouraged`);break}}if(typeof o.raw.deprecated=="string"&&o.raw.deprecated!==""){let a=P.prettyLocator(t.project.configuration,e),l=o.raw.deprecated.match(/\S/)?`${a} is deprecated: ${o.raw.deprecated}`:`${a} is deprecated`;t.report.reportWarningOnce(61,l)}return{...e,version:n,languageName:"node",linkType:"HARD",conditions:o.getConditions(),dependencies:o.dependencies,peerDependencies:o.peerDependencies,dependenciesMeta:o.dependenciesMeta,peerDependenciesMeta:o.peerDependenciesMeta,bin:o.bin}}};var fb=class{supportsDescriptor(e,t){return!(!e.range.startsWith(gr)||!Pf.test(e.range.slice(gr.length)))}supportsLocator(e,t){return!1}shouldPersistResolution(e,t){throw new Error("Unreachable")}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){let n=e.range.slice(gr.length),s=await mo(yl(e),{configuration:i.project.configuration,ident:e,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(s,"dist-tags"))throw new at(15,'Registry returned invalid data - missing "dist-tags" field');let o=s["dist-tags"];if(!Object.prototype.hasOwnProperty.call(o,n))throw new at(16,`Registry failed to return tag "${n}"`);let a=o[n],l=P.makeLocator(e,`${gr}${a}`),c=s.versions[a].dist.tarball;return Ns.isConventionalTarballUrl(l,c,{configuration:i.project.configuration})?[l]:[P.bindLocator(l,{__archiveUrl:c})]}async getSatisfying(e,t,i){return null}async resolve(e,t){throw new Error("Unreachable")}};var dp={};ut(dp,{getGitHead:()=>qVe,makePublishBody:()=>jVe});var i1={};ut(i1,{default:()=>SVe,packUtils:()=>Aa});var Aa={};ut(Aa,{genPackList:()=>Tb,genPackStream:()=>r1,genPackageManifest:()=>Bue,hasPackScripts:()=>e1,prepareForPack:()=>t1});var $M=Pe(yn()),yue=Pe(Cue()),wue=J("zlib"),pVe=["/package.json","/readme","/readme.*","/license","/license.*","/licence","/licence.*","/changelog","/changelog.*"],dVe=["/package.tgz",".github",".git",".hg","node_modules",".npmignore",".gitignore",".#*",".DS_Store"];async function e1(r){return!!(Wt.hasWorkspaceScript(r,"prepack")||Wt.hasWorkspaceScript(r,"postpack"))}async function t1(r,{report:e},t){await Wt.maybeExecuteWorkspaceLifecycleScript(r,"prepack",{report:e});try{let i=x.join(r.cwd,ot.fileName);await M.existsPromise(i)&&await r.manifest.loadFile(i,{baseFs:M}),await t()}finally{await Wt.maybeExecuteWorkspaceLifecycleScript(r,"postpack",{report:e})}}async function r1(r,e){var s,o;typeof e>"u"&&(e=await Tb(r));let t=new Set;for(let a of(o=(s=r.manifest.publishConfig)==null?void 0:s.executableFiles)!=null?o:new Set)t.add(x.normalize(a));for(let a of r.manifest.bin.values())t.add(x.normalize(a));let i=yue.default.pack();process.nextTick(async()=>{for(let a of e){let l=x.normalize(a),c=x.resolve(r.cwd,l),u=x.join("package",l),g=await M.lstatPromise(c),f={name:u,mtime:new Date(xr.SAFE_TIME*1e3)},h=t.has(l)?493:420,p,C,y=new Promise((v,D)=>{p=v,C=D}),B=v=>{v?C(v):p()};if(g.isFile()){let v;l==="package.json"?v=Buffer.from(JSON.stringify(await Bue(r),null,2)):v=await M.readFilePromise(c),i.entry({...f,mode:h,type:"file"},v,B)}else g.isSymbolicLink()?i.entry({...f,mode:h,type:"symlink",linkname:await M.readlinkPromise(c)},B):B(new Error(`Unsupported file type ${g.mode} for ${K.fromPortablePath(l)}`));await y}i.finalize()});let n=(0,wue.createGzip)();return i.pipe(n),n}async function Bue(r){let e=JSON.parse(JSON.stringify(r.manifest.raw));return await r.project.configuration.triggerHook(t=>t.beforeWorkspacePacking,r,e),e}async function Tb(r){var g,f,h,p,C,y,B,v;let e=r.project,t=e.configuration,i={accept:[],reject:[]};for(let D of dVe)i.reject.push(D);for(let D of pVe)i.accept.push(D);i.reject.push(t.get("rcFilename"));let n=D=>{if(D===null||!D.startsWith(`${r.cwd}/`))return;let L=x.relative(r.cwd,D),H=x.resolve(Oe.root,L);i.reject.push(H)};n(x.resolve(e.cwd,t.get("lockfileFilename"))),n(t.get("cacheFolder")),n(t.get("globalFolder")),n(t.get("installStatePath")),n(t.get("virtualFolder")),n(t.get("yarnPath")),await t.triggerHook(D=>D.populateYarnPaths,e,D=>{n(D)});for(let D of e.workspaces){let L=x.relative(r.cwd,D.cwd);L!==""&&!L.match(/^(\.\.)?\//)&&i.reject.push(`/${L}`)}let s={accept:[],reject:[]},o=(f=(g=r.manifest.publishConfig)==null?void 0:g.main)!=null?f:r.manifest.main,a=(p=(h=r.manifest.publishConfig)==null?void 0:h.module)!=null?p:r.manifest.module,l=(y=(C=r.manifest.publishConfig)==null?void 0:C.browser)!=null?y:r.manifest.browser,c=(v=(B=r.manifest.publishConfig)==null?void 0:B.bin)!=null?v:r.manifest.bin;o!=null&&s.accept.push(x.resolve(Oe.root,o)),a!=null&&s.accept.push(x.resolve(Oe.root,a)),typeof l=="string"&&s.accept.push(x.resolve(Oe.root,l));for(let D of c.values())s.accept.push(x.resolve(Oe.root,D));if(l instanceof Map)for(let[D,L]of l.entries())s.accept.push(x.resolve(Oe.root,D)),typeof L=="string"&&s.accept.push(x.resolve(Oe.root,L));let u=r.manifest.files!==null;if(u){s.reject.push("/*");for(let D of r.manifest.files)Que(s.accept,D,{cwd:Oe.root})}return await CVe(r.cwd,{hasExplicitFileList:u,globalList:i,ignoreList:s})}async function CVe(r,{hasExplicitFileList:e,globalList:t,ignoreList:i}){let n=[],s=new So(r),o=[[Oe.root,[i]]];for(;o.length>0;){let[a,l]=o.pop(),c=await s.lstatPromise(a);if(!Eue(a,{globalList:t,ignoreLists:c.isDirectory()?null:l}))if(c.isDirectory()){let u=await s.readdirPromise(a),g=!1,f=!1;if(!e||a!==Oe.root)for(let C of u)g=g||C===".gitignore",f=f||C===".npmignore";let h=f?await mue(s,a,".npmignore"):g?await mue(s,a,".gitignore"):null,p=h!==null?[h].concat(l):l;Eue(a,{globalList:t,ignoreLists:l})&&(p=[...l,{accept:[],reject:["**/*"]}]);for(let C of u)o.push([x.resolve(a,C),p])}else(c.isFile()||c.isSymbolicLink())&&n.push(x.relative(Oe.root,a))}return n.sort()}async function mue(r,e,t){let i={accept:[],reject:[]},n=await r.readFilePromise(x.join(e,t),"utf8");for(let s of n.split(/\n/g))Que(i.reject,s,{cwd:e});return i}function mVe(r,{cwd:e}){let t=r[0]==="!";return t&&(r=r.slice(1)),r.match(/\.{0,1}\//)&&(r=x.resolve(e,r)),t&&(r=`!${r}`),r}function Que(r,e,{cwd:t}){let i=e.trim();i===""||i[0]==="#"||r.push(mVe(i,{cwd:t}))}function Eue(r,{globalList:e,ignoreLists:t}){let i=Lb(r,e.accept);if(i!==0)return i===2;let n=Lb(r,e.reject);if(n!==0)return n===1;if(t!==null)for(let s of t){let o=Lb(r,s.accept);if(o!==0)return o===2;let a=Lb(r,s.reject);if(a!==0)return a===1}return!1}function Lb(r,e){let t=e,i=[];for(let n=0;n{await t1(n,{report:c},async()=>{c.reportJson({base:K.fromPortablePath(n.cwd)});let u=await Tb(n);for(let g of u)c.reportInfo(null,K.fromPortablePath(g)),c.reportJson({location:K.fromPortablePath(g)});if(!this.dryRun){let g=await r1(n,u),f=M.createWriteStream(o);g.pipe(f),await new Promise(h=>{f.on("finish",h)})}}),this.dryRun||(c.reportInfo(0,`Package archive generated in ${ee.pretty(t,o,ee.Type.PATH)}`),c.reportJson({output:K.fromPortablePath(o)}))})).exitCode()}};Ju.paths=[["pack"]],Ju.usage=ve.Usage({description:"generate a tarball from the active workspace",details:"\n This command will turn the active workspace into a compressed archive suitable for publishing. The archive will by default be stored at the root of the workspace (`package.tgz`).\n\n If the `-o,---out` is set the archive will be created at the specified path. The `%s` and `%v` variables can be used within the path and will be respectively replaced by the package name and version.\n ",examples:[["Create an archive from the active workspace","yarn pack"],["List the files that would be made part of the workspace's archive","yarn pack --dry-run"],["Name and output the archive in a dedicated folder","yarn pack --out /artifacts/%s-%v.tgz"]]});function EVe(r,{workspace:e}){let t=r.replace("%s",IVe(e)).replace("%v",yVe(e));return K.toPortablePath(t)}function IVe(r){return r.manifest.name!==null?P.slugifyIdent(r.manifest.name):"package"}function yVe(r){return r.manifest.version!==null?r.manifest.version:"unknown"}var wVe=["dependencies","devDependencies","peerDependencies"],BVe="workspace:",QVe=(r,e)=>{var i,n;e.publishConfig&&(e.publishConfig.type&&(e.type=e.publishConfig.type),e.publishConfig.main&&(e.main=e.publishConfig.main),e.publishConfig.browser&&(e.browser=e.publishConfig.browser),e.publishConfig.module&&(e.module=e.publishConfig.module),e.publishConfig.exports&&(e.exports=e.publishConfig.exports),e.publishConfig.imports&&(e.imports=e.publishConfig.imports),e.publishConfig.bin&&(e.bin=e.publishConfig.bin));let t=r.project;for(let s of wVe)for(let o of r.manifest.getForScope(s).values()){let a=t.tryWorkspaceByDescriptor(o),l=P.parseRange(o.range);if(l.protocol===BVe)if(a===null){if(t.tryWorkspaceByIdent(o)===null)throw new at(21,`${P.prettyDescriptor(t.configuration,o)}: No local workspace found for this range`)}else{let c;P.areDescriptorsEqual(o,a.anchoredDescriptor)||l.selector==="*"?c=(i=a.manifest.version)!=null?i:"0.0.0":l.selector==="~"||l.selector==="^"?c=`${l.selector}${(n=a.manifest.version)!=null?n:"0.0.0"}`:c=l.selector;let u=s==="dependencies"?P.makeDescriptor(o,"unknown"):null,g=u!==null&&r.manifest.ensureDependencyMeta(u).optional?"optionalDependencies":s;e[g][P.stringifyIdent(o)]=c}}},bVe={hooks:{beforeWorkspacePacking:QVe},commands:[Ju]},SVe=bVe;var Fue=J("crypto"),Nue=Pe(Rue()),Lue=J("url");async function jVe(r,e,{access:t,tag:i,registry:n,gitHead:s}){let o=r.project.configuration,a=r.manifest.name,l=r.manifest.version,c=P.stringifyIdent(a),u=(0,Fue.createHash)("sha1").update(e).digest("hex"),g=Nue.default.fromData(e).toString();typeof t>"u"&&(r.manifest.publishConfig&&typeof r.manifest.publishConfig.access=="string"?t=r.manifest.publishConfig.access:o.get("npmPublishAccess")!==null?t=o.get("npmPublishAccess"):a.scope?t="restricted":t="public");let f=await Aa.genPackageManifest(r),h=`${c}-${l}.tgz`,p=new Lue.URL(`${Co(n)}/${c}/-/${h}`);return{_id:c,_attachments:{[h]:{content_type:"application/octet-stream",data:e.toString("base64"),length:e.length}},name:c,access:t,["dist-tags"]:{[i]:l},versions:{[l]:{...f,_id:`${c}@${l}`,name:c,version:l,gitHead:s,dist:{shasum:u,integrity:g,tarball:p.toString()}}}}}async function qVe(r){try{let{stdout:e}=await Cr.execvp("git",["rev-parse","--revs-only","HEAD"],{cwd:r});return e.trim()===""?void 0:e.trim()}catch{return}}var a1={npmAlwaysAuth:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:"BOOLEAN",default:!1},npmAuthIdent:{description:"Authentication identity for the npm registry (_auth in npm and yarn v1)",type:"SECRET",default:null},npmAuthToken:{description:"Authentication token for the npm registry (_authToken in npm and yarn v1)",type:"SECRET",default:null}},Tue={npmAuditRegistry:{description:"Registry to query for audit reports",type:"STRING",default:null},npmPublishRegistry:{description:"Registry to push packages to",type:"STRING",default:null},npmRegistryServer:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:"STRING",default:"https://registry.yarnpkg.com"}},JVe={configuration:{...a1,...Tue,npmScopes:{description:"Settings per package scope",type:"MAP",valueDefinition:{description:"",type:"SHAPE",properties:{...a1,...Tue}}},npmRegistries:{description:"Settings per registry",type:"MAP",normalizeKeys:Co,valueDefinition:{description:"",type:"SHAPE",properties:{...a1}}}},fetchers:[lb,Ns],resolvers:[cb,gb,fb]},WVe=JVe;var g1={};ut(g1,{default:()=>i7e});var vE=Pe(yn());as();var Ob=(i=>(i.All="all",i.Production="production",i.Development="development",i))(Ob||{}),Mb=(s=>(s.Info="info",s.Low="low",s.Moderate="moderate",s.High="high",s.Critical="critical",s))(Mb||{});var SE=["info","low","moderate","high","critical"];function Mue(r,e){let t=[],i=new Set,n=o=>{i.has(o)||(i.add(o),t.push(o))};for(let o of e)n(o);let s=new Set;for(;t.length>0;){let o=t.shift(),a=r.storedResolutions.get(o);if(typeof a>"u")throw new Error("Assertion failed: Expected the resolution to have been registered");let l=r.storedPackages.get(a);if(!!l){s.add(o);for(let c of l.dependencies.values())n(c.descriptorHash)}}return s}function zVe(r,e){return new Set([...r].filter(t=>!e.has(t)))}function VVe(r,e,{all:t}){let i=t?r.workspaces:[e],n=i.map(f=>f.manifest),s=new Set(n.map(f=>[...f.dependencies].map(([h,p])=>h)).flat()),o=new Set(n.map(f=>[...f.devDependencies].map(([h,p])=>h)).flat()),a=i.map(f=>[...f.dependencies.values()]).flat(),l=a.filter(f=>s.has(f.identHash)).map(f=>f.descriptorHash),c=a.filter(f=>o.has(f.identHash)).map(f=>f.descriptorHash),u=Mue(r,l),g=Mue(r,c);return zVe(g,u)}function Kue(r){let e={};for(let t of r)e[P.stringifyIdent(t)]=P.parseRange(t.range).selector;return e}function Uue(r){if(typeof r>"u")return new Set(SE);let e=SE.indexOf(r),t=SE.slice(e);return new Set(t)}function XVe(r,e){let t=Uue(e),i={};for(let n of t)i[n]=r[n];return i}function Hue(r,e){var i;let t=XVe(r,e);for(let n of Object.keys(t))if((i=t[n])!=null?i:0>0)return!0;return!1}function Gue(r,e){var s;let t={},i={children:t},n=Object.values(r.advisories);if(e!=null){let o=Uue(e);n=n.filter(a=>o.has(a.severity))}for(let o of Ie.sortMap(n,a=>a.module_name))t[o.module_name]={label:o.module_name,value:ee.tuple(ee.Type.RANGE,o.findings.map(a=>a.version).join(", ")),children:{ID:{label:"ID",value:ee.tuple(ee.Type.NUMBER,o.id)},Issue:{label:"Issue",value:ee.tuple(ee.Type.NO_HINT,o.title)},URL:{label:"URL",value:ee.tuple(ee.Type.URL,o.url)},Severity:{label:"Severity",value:ee.tuple(ee.Type.NO_HINT,o.severity)},["Vulnerable Versions"]:{label:"Vulnerable Versions",value:ee.tuple(ee.Type.RANGE,o.vulnerable_versions)},["Patched Versions"]:{label:"Patched Versions",value:ee.tuple(ee.Type.RANGE,o.patched_versions)},Via:{label:"Via",value:ee.tuple(ee.Type.NO_HINT,Array.from(new Set(o.findings.map(a=>a.paths).flat().map(a=>a.split(">")[0]))).join(", "))},Recommendation:{label:"Recommendation",value:ee.tuple(ee.Type.NO_HINT,(s=o.recommendation)==null?void 0:s.replace(/\n/g," "))}}};return i}function Yue(r,e,{all:t,environment:i}){let n=t?r.workspaces:[e],s=["all","production"].includes(i),o=[];if(s)for(let c of n)for(let u of c.manifest.dependencies.values())o.push(u);let a=["all","development"].includes(i),l=[];if(a)for(let c of n)for(let u of c.manifest.devDependencies.values())l.push(u);return Kue([...o,...l].filter(c=>P.parseRange(c.range).protocol===null))}function jue(r,e,{all:t}){var s;let i=VVe(r,e,{all:t}),n={};for(let o of r.storedPackages.values())n[P.stringifyIdent(o)]={version:(s=o.version)!=null?s:"0.0.0",integrity:o.identHash,requires:Kue(o.dependencies.values()),dev:i.has(P.convertLocatorToDescriptor(o).descriptorHash)};return n}var Vu=class extends De{constructor(){super(...arguments);this.all=z.Boolean("-A,--all",!1,{description:"Audit dependencies from all workspaces"});this.recursive=z.Boolean("-R,--recursive",!1,{description:"Audit transitive dependencies as well"});this.environment=z.String("--environment","all",{description:"Which environments to cover",validator:Vi(Ob)});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.severity=z.String("--severity","info",{description:"Minimal severity requested for packages to be displayed",validator:Vi(Mb)});this.excludes=z.Array("--exclude",[],{description:"Array of glob patterns of packages to exclude from audit"});this.ignores=z.Array("--ignore",[],{description:"Array of glob patterns of advisory ID's to ignore in the audit report"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState();let s=Yue(i,n,{all:this.all,environment:this.environment}),o=jue(i,n,{all:this.all});if(!this.recursive)for(let C of Object.keys(o))Object.prototype.hasOwnProperty.call(s,C)?o[C].requires={}:delete o[C];let a=Array.from(new Set([...t.get("npmAuditExcludePackages"),...this.excludes]));if(a){for(let C of Object.keys(s))vE.default.isMatch(C,a)&&delete s[C];for(let C of Object.keys(o))vE.default.isMatch(C,a)&&delete o[C];for(let C of Object.keys(o))for(let y of Object.keys(o[C].requires))vE.default.isMatch(y,a)&&delete o[C].requires[y]}let l={requires:s,dependencies:o},c=or.getAuditRegistry(n.manifest,{configuration:t}),u,g=await ra.start({configuration:t,stdout:this.context.stdout},async()=>{u=await Mt.post("/-/npm/v1/security/audits/quick",l,{authType:Mt.AuthType.BEST_EFFORT,configuration:t,jsonResponse:!0,registry:c})});if(g.hasErrors())return g.exitCode();let f=Array.from(new Set([...t.get("npmAuditIgnoreAdvisories"),...this.ignores]));if(f){for(let C of Object.keys(u.advisories))if(vE.default.isMatch(C,f)){let y=u.advisories[C];u.metadata.vulnerabilities[y.severity]-=1,delete u.advisories[C]}}let h=Hue(u.metadata.vulnerabilities,this.severity);return!this.json&&h?(_n.emitTree(Gue(u,this.severity),{configuration:t,json:this.json,stdout:this.context.stdout,separators:2}),1):(await Ge.start({configuration:t,includeFooter:!1,json:this.json,stdout:this.context.stdout},async C=>{C.reportJson(u),h||C.reportInfo(1,"No audit suggestions")})).exitCode()}};Vu.paths=[["npm","audit"]],Vu.usage=ve.Usage({description:"perform a vulnerability audit against the installed packages",details:` This command checks for known security reports on the packages you use. The reports are by default extracted from the npm registry, and may or may not be relevant to your actual program (not all vulnerabilities affect all code paths). For consistency with our other commands the default is to only check the direct dependencies for the active workspace. To extend this search to all workspaces, use \`-A,--all\`. To extend this search to both direct and transitive dependencies, use \`-R,--recursive\`. - Applying the \`--severity\` flag will limit the audit table to vulnerabilities of the corresponding severity and above. Valid values are ${mE.map(t=>`\`${t}\``).join(", ")}. + Applying the \`--severity\` flag will limit the audit table to vulnerabilities of the corresponding severity and above. Valid values are ${SE.map(t=>`\`${t}\``).join(", ")}. If the \`--json\` flag is set, Yarn will print the output exactly as received from the registry. Regardless of this flag, the process will exit with a non-zero exit code if a report is found for the selected packages. @@ -722,25 +722,25 @@ ${we.map(pe=>`Not found: ${lo(pe)} If particular advisories are needed to be ignored, the \`--ignore\` flag can be used with Advisory ID's to ignore any number of advisories in the audit report. This can also be set in the configuration file with the \`npmAuditIgnoreAdvisories\` option. To understand the dependency tree requiring vulnerable packages, check the raw report with the \`--json\` flag or use \`yarn why \` to get more information as to who depends on them. - `,examples:[["Checks for known security issues with the installed packages. The output is a list of known issues.","yarn npm audit"],["Audit dependencies in all workspaces","yarn npm audit --all"],["Limit auditing to `dependencies` (excludes `devDependencies`)","yarn npm audit --environment production"],["Show audit report as valid JSON","yarn npm audit --json"],["Audit all direct and transitive dependencies","yarn npm audit --recursive"],["Output moderate (or more severe) vulnerabilities","yarn npm audit --severity moderate"],["Exclude certain packages","yarn npm audit --exclude package1 --exclude package2"],["Ignore specific advisories","yarn npm audit --ignore 1234567 --ignore 7654321"]]});var TM=Pe(Xr()),OM=J("util"),Yu=class extends De{constructor(){super(...arguments);this.fields=z.String("-f,--fields",{description:"A comma-separated list of manifest fields that should be displayed"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.packages=z.Rest()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i}=await je.find(t,this.context.cwd),n=typeof this.fields<"u"?new Set(["name",...this.fields.split(/\s*,\s*/)]):null,s=[],o=!1,a=await Ge.start({configuration:t,includeFooter:!1,json:this.json,stdout:this.context.stdout},async l=>{for(let c of this.packages){let u;if(c==="."){let L=i.topLevelWorkspace;if(!L.manifest.name)throw new be(`Missing ${ee.pretty(t,"name",ee.Type.CODE)} field in ${K.fromPortablePath(x.join(L.cwd,xt.manifest))}`);u=P.makeDescriptor(L.manifest.name,"unknown")}else u=P.parseDescriptor(c);let g=Mt.getIdentUrl(u),f=MM(await Mt.get(g,{configuration:t,ident:u,jsonResponse:!0,customErrorMessage:Mt.customPackageError})),h=Object.keys(f.versions).sort(TM.default.compareLoose),C=f["dist-tags"].latest||h[h.length-1],y=vt.validRange(u.range);if(y){let L=TM.default.maxSatisfying(h,y);L!==null?C=L:(l.reportWarning(0,`Unmet range ${P.prettyRange(t,u.range)}; falling back to the latest version`),o=!0)}else Object.prototype.hasOwnProperty.call(f["dist-tags"],u.range)?C=f["dist-tags"][u.range]:u.range!=="unknown"&&(l.reportWarning(0,`Unknown tag ${P.prettyRange(t,u.range)}; falling back to the latest version`),o=!0);let B=f.versions[C],v={...f,...B,version:C,versions:h},D;if(n!==null){D={};for(let L of n){let H=v[L];if(typeof H<"u")D[L]=H;else{l.reportWarning(1,`The ${ee.pretty(t,L,ee.Type.CODE)} field doesn't exist inside ${P.prettyIdent(t,u)}'s information`),o=!0;continue}}}else this.json||(delete v.dist,delete v.readme,delete v.users),D=v;l.reportJson(D),this.json||s.push(D)}});OM.inspect.styles.name="cyan";for(let l of s)(l!==s[0]||o)&&this.context.stdout.write(` -`),this.context.stdout.write(`${(0,OM.inspect)(l,{depth:1/0,colors:!0,compact:!1})} -`);return a.exitCode()}};Yu.paths=[["npm","info"]],Yu.usage=ve.Usage({category:"Npm-related commands",description:"show information about a package",details:"\n This command fetches information about a package from the npm registry and prints it in a tree format.\n\n The package does not have to be installed locally, but needs to have been published (in particular, local changes will be ignored even for workspaces).\n\n Append `@` to the package argument to provide information specific to the latest version that satisfies the range or to the corresponding tagged version. If the range is invalid or if there is no version satisfying the range, the command will print a warning and fall back to the latest version.\n\n If the `-f,--fields` option is set, it's a comma-separated list of fields which will be used to only display part of the package information.\n\n By default, this command won't return the `dist`, `readme`, and `users` fields, since they are often very long. To explicitly request those fields, explicitly list them with the `--fields` flag or request the output in JSON mode.\n ",examples:[["Show all available information about react (except the `dist`, `readme`, and `users` fields)","yarn npm info react"],["Show all available information about react as valid JSON (including the `dist`, `readme`, and `users` fields)","yarn npm info react --json"],["Show all available information about react@16.12.0","yarn npm info react@16.12.0"],["Show all available information about react@next","yarn npm info react@next"],["Show the description of react","yarn npm info react --fields description"],["Show all available versions of react","yarn npm info react --fields versions"],["Show the readme of react","yarn npm info react --fields readme"],["Show a few fields of react","yarn npm info react --fields homepage,repository"]]});function MM(r){if(Array.isArray(r)){let e=[];for(let t of r)t=MM(t),t&&e.push(t);return e}else if(typeof r=="object"&&r!==null){let e={};for(let t of Object.keys(r)){if(t.startsWith("_"))continue;let i=MM(r[t]);i&&(e[t]=i)}return e}else return r||null}var sue=Pe(Pm()),ju=class extends De{constructor(){super(...arguments);this.scope=z.String("-s,--scope",{description:"Login to the registry configured for a given scope"});this.publish=z.Boolean("--publish",!1,{description:"Login to the publish registry"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i=await Qb({configuration:t,cwd:this.context.cwd,publish:this.publish,scope:this.scope});return(await Ge.start({configuration:t,stdout:this.context.stdout,includeFooter:!1},async s=>{let o=await zVe({configuration:t,registry:i,report:s,stdin:this.context.stdin,stdout:this.context.stdout}),a=`/-/user/org.couchdb.user:${encodeURIComponent(o.name)}`,l=await Mt.put(a,o,{attemptedAs:o.name,configuration:t,registry:i,jsonResponse:!0,authType:Mt.AuthType.NO_AUTH});return await WVe(i,l.token,{configuration:t,scope:this.scope}),s.reportInfo(0,"Successfully logged in")})).exitCode()}};ju.paths=[["npm","login"]],ju.usage=ve.Usage({category:"Npm-related commands",description:"store new login info to access the npm registry",details:"\n This command will ask you for your username, password, and 2FA One-Time-Password (when it applies). It will then modify your local configuration (in your home folder, never in the project itself) to reference the new tokens thus generated.\n\n Adding the `-s,--scope` flag will cause the authentication to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the authentication to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n ",examples:[["Login to the default registry","yarn npm login"],["Login to the registry linked to the @my-scope registry","yarn npm login --scope my-scope"],["Login to the publish registry for the current package","yarn npm login --publish"]]});async function Qb({scope:r,publish:e,configuration:t,cwd:i}){return r&&e?or.getScopeRegistry(r,{configuration:t,type:or.RegistryType.PUBLISH_REGISTRY}):r?or.getScopeRegistry(r,{configuration:t}):e?or.getPublishRegistry((await Ph(t,i)).manifest,{configuration:t}):or.getDefaultRegistry({configuration:t})}async function WVe(r,e,{configuration:t,scope:i}){let n=o=>a=>{let l=Ie.isIndexableObject(a)?a:{},c=l[o],u=Ie.isIndexableObject(c)?c:{};return{...l,[o]:{...u,npmAuthToken:e}}},s=i?{npmScopes:n(i)}:{npmRegistries:n(r)};return await ye.updateHomeConfiguration(s)}async function zVe({configuration:r,registry:e,report:t,stdin:i,stdout:n}){t.reportInfo(0,`Logging in to ${ee.pretty(r,e,ee.Type.URL)}`);let s=!1;if(e.match(/^https:\/\/npm\.pkg\.github\.com(\/|$)/)&&(t.reportInfo(0,"You seem to be using the GitHub Package Registry. Tokens must be generated with the 'repo', 'write:packages', and 'read:packages' permissions."),s=!0),t.reportSeparator(),process.env.YARN_IS_TEST_ENV)return{name:process.env.YARN_INJECT_NPM_USER||"",password:process.env.YARN_INJECT_NPM_PASSWORD||""};let{username:o,password:a}=await(0,sue.prompt)([{type:"input",name:"username",message:"Username:",required:!0,onCancel:()=>process.exit(130),stdin:i,stdout:n},{type:"password",name:"password",message:s?"Token:":"Password:",required:!0,onCancel:()=>process.exit(130),stdin:i,stdout:n}]);return t.reportSeparator(),{name:o,password:a}}var ap=new Set(["npmAuthIdent","npmAuthToken"]),qu=class extends De{constructor(){super(...arguments);this.scope=z.String("-s,--scope",{description:"Logout of the registry configured for a given scope"});this.publish=z.Boolean("--publish",!1,{description:"Logout of the publish registry"});this.all=z.Boolean("-A,--all",!1,{description:"Logout of all registries"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i=async()=>{var c;let s=await Qb({configuration:t,cwd:this.context.cwd,publish:this.publish,scope:this.scope}),o=await ye.find(this.context.cwd,this.context.plugins),a=P.makeIdent((c=this.scope)!=null?c:null,"pkg");return!or.getAuthConfiguration(s,{configuration:o,ident:a}).get("npmAuthToken")};return(await Ge.start({configuration:t,stdout:this.context.stdout},async s=>{if(this.all&&(await XVe(),s.reportInfo(0,"Successfully logged out from everything")),this.scope){await oue("npmScopes",this.scope),await i()?s.reportInfo(0,`Successfully logged out from ${this.scope}`):s.reportWarning(0,"Scope authentication settings removed, but some other ones settings still apply to it");return}let o=await Qb({configuration:t,cwd:this.context.cwd,publish:this.publish});await oue("npmRegistries",o),await i()?s.reportInfo(0,`Successfully logged out from ${o}`):s.reportWarning(0,"Registry authentication settings removed, but some other ones settings still apply to it")})).exitCode()}};qu.paths=[["npm","logout"]],qu.usage=ve.Usage({category:"Npm-related commands",description:"logout of the npm registry",details:"\n This command will log you out by modifying your local configuration (in your home folder, never in the project itself) to delete all credentials linked to a registry.\n\n Adding the `-s,--scope` flag will cause the deletion to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the deletion to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n\n Adding the `-A,--all` flag will cause the deletion to be done against all registries and scopes.\n ",examples:[["Logout of the default registry","yarn npm logout"],["Logout of the @my-scope scope","yarn npm logout --scope my-scope"],["Logout of the publish registry for the current package","yarn npm logout --publish"],["Logout of all registries","yarn npm logout --all"]]});function VVe(r,e){let t=r[e];if(!Ie.isIndexableObject(t))return!1;let i=new Set(Object.keys(t));if([...ap].every(s=>!i.has(s)))return!1;for(let s of ap)i.delete(s);if(i.size===0)return r[e]=void 0,!0;let n={...t};for(let s of ap)delete n[s];return r[e]=n,!0}async function XVe(){let r=e=>{let t=!1,i=Ie.isIndexableObject(e)?{...e}:{};i.npmAuthToken&&(delete i.npmAuthToken,t=!0);for(let n of Object.keys(i))VVe(i,n)&&(t=!0);if(Object.keys(i).length!==0)return t?i:e};return await ye.updateHomeConfiguration({npmRegistries:r,npmScopes:r})}async function oue(r,e){return await ye.updateHomeConfiguration({[r]:t=>{let i=Ie.isIndexableObject(t)?t:{};if(!Object.prototype.hasOwnProperty.call(i,e))return t;let n=i[e],s=Ie.isIndexableObject(n)?n:{},o=new Set(Object.keys(s));if([...ap].every(l=>!o.has(l)))return t;for(let l of ap)o.delete(l);if(o.size===0)return Object.keys(i).length===1?void 0:{...i,[e]:void 0};let a={};for(let l of ap)a[l]=void 0;return{...i,[e]:{...s,...a}}}})}var Ju=class extends De{constructor(){super(...arguments);this.access=z.String("--access",{description:"The access for the published package (public or restricted)"});this.tag=z.String("--tag","latest",{description:"The tag on the registry that the package should be attached to"});this.tolerateRepublish=z.Boolean("--tolerate-republish",!1,{description:"Warn and exit when republishing an already existing version of a package"});this.otp=z.String("--otp",{description:"The OTP token to use with the command"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd);if(!n)throw new ct(i.cwd,this.context.cwd);if(n.manifest.private)throw new be("Private workspaces cannot be published");if(n.manifest.name===null||n.manifest.version===null)throw new be("Workspaces must have valid names and versions to be published on an external registry");await i.restoreInstallState();let s=n.manifest.name,o=n.manifest.version,a=or.getPublishRegistry(n.manifest,{configuration:t});return(await Ge.start({configuration:t,stdout:this.context.stdout},async c=>{var u,g;if(this.tolerateRepublish)try{let f=await Mt.get(Mt.getIdentUrl(s),{configuration:t,registry:a,ident:s,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(f,"versions"))throw new at(15,'Registry returned invalid data for - missing "versions" field');if(Object.prototype.hasOwnProperty.call(f.versions,o)){c.reportWarning(0,`Registry already knows about version ${o}; skipping.`);return}}catch(f){if(((g=(u=f.originalError)==null?void 0:u.response)==null?void 0:g.statusCode)!==404)throw f}await Jt.maybeExecuteWorkspaceLifecycleScript(n,"prepublish",{report:c}),await ia.prepareForPack(n,{report:c},async()=>{let f=await ia.genPackList(n);for(let B of f)c.reportInfo(null,B);let h=await ia.genPackStream(n,f),p=await Ie.bufferStream(h),C=await op.getGitHead(n.cwd),y=await op.makePublishBody(n,p,{access:this.access,tag:this.tag,registry:a,gitHead:C});await Mt.put(Mt.getIdentUrl(s),y,{configuration:t,registry:a,ident:s,otp:this.otp,jsonResponse:!0})}),c.reportInfo(0,"Package archive published")})).exitCode()}};Ju.paths=[["npm","publish"]],Ju.usage=ve.Usage({category:"Npm-related commands",description:"publish the active workspace to the npm registry",details:'\n This command will pack the active workspace into a fresh archive and upload it to the npm registry.\n\n The package will by default be attached to the `latest` tag on the registry, but this behavior can be overriden by using the `--tag` option.\n\n Note that for legacy reasons scoped packages are by default published with an access set to `restricted` (aka "private packages"). This requires you to register for a paid npm plan. In case you simply wish to publish a public scoped package to the registry (for free), just add the `--access public` flag. This behavior can be enabled by default through the `npmPublishAccess` settings.\n ',examples:[["Publish the active workspace","yarn npm publish"]]});var aue=Pe(Xr());var Wu=class extends De{constructor(){super(...arguments);this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=z.String({required:!1})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s;if(typeof this.package<"u")s=P.parseIdent(this.package);else{if(!n)throw new ct(i.cwd,this.context.cwd);if(!n.manifest.name)throw new be(`Missing 'name' field in ${K.fromPortablePath(x.join(n.cwd,xt.manifest))}`);s=n.manifest.name}let o=await IE(s,t),l={children:Ie.sortMap(Object.entries(o),([c])=>c).map(([c,u])=>({value:ee.tuple(ee.Type.RESOLUTION,{descriptor:P.makeDescriptor(s,c),locator:P.makeLocator(s,u)})}))};return Vn.emitTree(l,{configuration:t,json:this.json,stdout:this.context.stdout})}};Wu.paths=[["npm","tag","list"]],Wu.usage=ve.Usage({category:"Npm-related commands",description:"list all dist-tags of a package",details:` + `,examples:[["Checks for known security issues with the installed packages. The output is a list of known issues.","yarn npm audit"],["Audit dependencies in all workspaces","yarn npm audit --all"],["Limit auditing to `dependencies` (excludes `devDependencies`)","yarn npm audit --environment production"],["Show audit report as valid JSON","yarn npm audit --json"],["Audit all direct and transitive dependencies","yarn npm audit --recursive"],["Output moderate (or more severe) vulnerabilities","yarn npm audit --severity moderate"],["Exclude certain packages","yarn npm audit --exclude package1 --exclude package2"],["Ignore specific advisories","yarn npm audit --ignore 1234567 --ignore 7654321"]]});var l1=Pe(Xr()),c1=J("util"),Xu=class extends De{constructor(){super(...arguments);this.fields=z.String("-f,--fields",{description:"A comma-separated list of manifest fields that should be displayed"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.packages=z.Rest()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i}=await je.find(t,this.context.cwd),n=typeof this.fields<"u"?new Set(["name",...this.fields.split(/\s*,\s*/)]):null,s=[],o=!1,a=await Ge.start({configuration:t,includeFooter:!1,json:this.json,stdout:this.context.stdout},async l=>{for(let c of this.packages){let u;if(c==="."){let L=i.topLevelWorkspace;if(!L.manifest.name)throw new be(`Missing ${ee.pretty(t,"name",ee.Type.CODE)} field in ${K.fromPortablePath(x.join(L.cwd,xt.manifest))}`);u=P.makeDescriptor(L.manifest.name,"unknown")}else u=P.parseDescriptor(c);let g=Mt.getIdentUrl(u),f=u1(await Mt.get(g,{configuration:t,ident:u,jsonResponse:!0,customErrorMessage:Mt.customPackageError})),h=Object.keys(f.versions).sort(l1.default.compareLoose),C=f["dist-tags"].latest||h[h.length-1],y=vt.validRange(u.range);if(y){let L=l1.default.maxSatisfying(h,y);L!==null?C=L:(l.reportWarning(0,`Unmet range ${P.prettyRange(t,u.range)}; falling back to the latest version`),o=!0)}else Object.prototype.hasOwnProperty.call(f["dist-tags"],u.range)?C=f["dist-tags"][u.range]:u.range!=="unknown"&&(l.reportWarning(0,`Unknown tag ${P.prettyRange(t,u.range)}; falling back to the latest version`),o=!0);let B=f.versions[C],v={...f,...B,version:C,versions:h},D;if(n!==null){D={};for(let L of n){let H=v[L];if(typeof H<"u")D[L]=H;else{l.reportWarning(1,`The ${ee.pretty(t,L,ee.Type.CODE)} field doesn't exist inside ${P.prettyIdent(t,u)}'s information`),o=!0;continue}}}else this.json||(delete v.dist,delete v.readme,delete v.users),D=v;l.reportJson(D),this.json||s.push(D)}});c1.inspect.styles.name="cyan";for(let l of s)(l!==s[0]||o)&&this.context.stdout.write(` +`),this.context.stdout.write(`${(0,c1.inspect)(l,{depth:1/0,colors:!0,compact:!1})} +`);return a.exitCode()}};Xu.paths=[["npm","info"]],Xu.usage=ve.Usage({category:"Npm-related commands",description:"show information about a package",details:"\n This command fetches information about a package from the npm registry and prints it in a tree format.\n\n The package does not have to be installed locally, but needs to have been published (in particular, local changes will be ignored even for workspaces).\n\n Append `@` to the package argument to provide information specific to the latest version that satisfies the range or to the corresponding tagged version. If the range is invalid or if there is no version satisfying the range, the command will print a warning and fall back to the latest version.\n\n If the `-f,--fields` option is set, it's a comma-separated list of fields which will be used to only display part of the package information.\n\n By default, this command won't return the `dist`, `readme`, and `users` fields, since they are often very long. To explicitly request those fields, explicitly list them with the `--fields` flag or request the output in JSON mode.\n ",examples:[["Show all available information about react (except the `dist`, `readme`, and `users` fields)","yarn npm info react"],["Show all available information about react as valid JSON (including the `dist`, `readme`, and `users` fields)","yarn npm info react --json"],["Show all available information about react@16.12.0","yarn npm info react@16.12.0"],["Show all available information about react@next","yarn npm info react@next"],["Show the description of react","yarn npm info react --fields description"],["Show all available versions of react","yarn npm info react --fields versions"],["Show the readme of react","yarn npm info react --fields readme"],["Show a few fields of react","yarn npm info react --fields homepage,repository"]]});function u1(r){if(Array.isArray(r)){let e=[];for(let t of r)t=u1(t),t&&e.push(t);return e}else if(typeof r=="object"&&r!==null){let e={};for(let t of Object.keys(r)){if(t.startsWith("_"))continue;let i=u1(r[t]);i&&(e[t]=i)}return e}else return r||null}var que=Pe(Om()),Zu=class extends De{constructor(){super(...arguments);this.scope=z.String("-s,--scope",{description:"Login to the registry configured for a given scope"});this.publish=z.Boolean("--publish",!1,{description:"Login to the publish registry"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i=await Kb({configuration:t,cwd:this.context.cwd,publish:this.publish,scope:this.scope});return(await Ge.start({configuration:t,stdout:this.context.stdout,includeFooter:!1},async s=>{let o=await $Ve({configuration:t,registry:i,report:s,stdin:this.context.stdin,stdout:this.context.stdout}),a=`/-/user/org.couchdb.user:${encodeURIComponent(o.name)}`,l=await Mt.put(a,o,{attemptedAs:o.name,configuration:t,registry:i,jsonResponse:!0,authType:Mt.AuthType.NO_AUTH});return await _Ve(i,l.token,{configuration:t,scope:this.scope}),s.reportInfo(0,"Successfully logged in")})).exitCode()}};Zu.paths=[["npm","login"]],Zu.usage=ve.Usage({category:"Npm-related commands",description:"store new login info to access the npm registry",details:"\n This command will ask you for your username, password, and 2FA One-Time-Password (when it applies). It will then modify your local configuration (in your home folder, never in the project itself) to reference the new tokens thus generated.\n\n Adding the `-s,--scope` flag will cause the authentication to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the authentication to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n ",examples:[["Login to the default registry","yarn npm login"],["Login to the registry linked to the @my-scope registry","yarn npm login --scope my-scope"],["Login to the publish registry for the current package","yarn npm login --publish"]]});async function Kb({scope:r,publish:e,configuration:t,cwd:i}){return r&&e?or.getScopeRegistry(r,{configuration:t,type:or.RegistryType.PUBLISH_REGISTRY}):r?or.getScopeRegistry(r,{configuration:t}):e?or.getPublishRegistry((await Mh(t,i)).manifest,{configuration:t}):or.getDefaultRegistry({configuration:t})}async function _Ve(r,e,{configuration:t,scope:i}){let n=o=>a=>{let l=Ie.isIndexableObject(a)?a:{},c=l[o],u=Ie.isIndexableObject(c)?c:{};return{...l,[o]:{...u,npmAuthToken:e}}},s=i?{npmScopes:n(i)}:{npmRegistries:n(r)};return await ye.updateHomeConfiguration(s)}async function $Ve({configuration:r,registry:e,report:t,stdin:i,stdout:n}){t.reportInfo(0,`Logging in to ${ee.pretty(r,e,ee.Type.URL)}`);let s=!1;if(e.match(/^https:\/\/npm\.pkg\.github\.com(\/|$)/)&&(t.reportInfo(0,"You seem to be using the GitHub Package Registry. Tokens must be generated with the 'repo', 'write:packages', and 'read:packages' permissions."),s=!0),t.reportSeparator(),process.env.YARN_IS_TEST_ENV)return{name:process.env.YARN_INJECT_NPM_USER||"",password:process.env.YARN_INJECT_NPM_PASSWORD||""};let{username:o,password:a}=await(0,que.prompt)([{type:"input",name:"username",message:"Username:",required:!0,onCancel:()=>process.exit(130),stdin:i,stdout:n},{type:"password",name:"password",message:s?"Token:":"Password:",required:!0,onCancel:()=>process.exit(130),stdin:i,stdout:n}]);return t.reportSeparator(),{name:o,password:a}}var Cp=new Set(["npmAuthIdent","npmAuthToken"]),_u=class extends De{constructor(){super(...arguments);this.scope=z.String("-s,--scope",{description:"Logout of the registry configured for a given scope"});this.publish=z.Boolean("--publish",!1,{description:"Logout of the publish registry"});this.all=z.Boolean("-A,--all",!1,{description:"Logout of all registries"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i=async()=>{var c;let s=await Kb({configuration:t,cwd:this.context.cwd,publish:this.publish,scope:this.scope}),o=await ye.find(this.context.cwd,this.context.plugins),a=P.makeIdent((c=this.scope)!=null?c:null,"pkg");return!or.getAuthConfiguration(s,{configuration:o,ident:a}).get("npmAuthToken")};return(await Ge.start({configuration:t,stdout:this.context.stdout},async s=>{if(this.all&&(await t7e(),s.reportInfo(0,"Successfully logged out from everything")),this.scope){await Jue("npmScopes",this.scope),await i()?s.reportInfo(0,`Successfully logged out from ${this.scope}`):s.reportWarning(0,"Scope authentication settings removed, but some other ones settings still apply to it");return}let o=await Kb({configuration:t,cwd:this.context.cwd,publish:this.publish});await Jue("npmRegistries",o),await i()?s.reportInfo(0,`Successfully logged out from ${o}`):s.reportWarning(0,"Registry authentication settings removed, but some other ones settings still apply to it")})).exitCode()}};_u.paths=[["npm","logout"]],_u.usage=ve.Usage({category:"Npm-related commands",description:"logout of the npm registry",details:"\n This command will log you out by modifying your local configuration (in your home folder, never in the project itself) to delete all credentials linked to a registry.\n\n Adding the `-s,--scope` flag will cause the deletion to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the deletion to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n\n Adding the `-A,--all` flag will cause the deletion to be done against all registries and scopes.\n ",examples:[["Logout of the default registry","yarn npm logout"],["Logout of the @my-scope scope","yarn npm logout --scope my-scope"],["Logout of the publish registry for the current package","yarn npm logout --publish"],["Logout of all registries","yarn npm logout --all"]]});function e7e(r,e){let t=r[e];if(!Ie.isIndexableObject(t))return!1;let i=new Set(Object.keys(t));if([...Cp].every(s=>!i.has(s)))return!1;for(let s of Cp)i.delete(s);if(i.size===0)return r[e]=void 0,!0;let n={...t};for(let s of Cp)delete n[s];return r[e]=n,!0}async function t7e(){let r=e=>{let t=!1,i=Ie.isIndexableObject(e)?{...e}:{};i.npmAuthToken&&(delete i.npmAuthToken,t=!0);for(let n of Object.keys(i))e7e(i,n)&&(t=!0);if(Object.keys(i).length!==0)return t?i:e};return await ye.updateHomeConfiguration({npmRegistries:r,npmScopes:r})}async function Jue(r,e){return await ye.updateHomeConfiguration({[r]:t=>{let i=Ie.isIndexableObject(t)?t:{};if(!Object.prototype.hasOwnProperty.call(i,e))return t;let n=i[e],s=Ie.isIndexableObject(n)?n:{},o=new Set(Object.keys(s));if([...Cp].every(l=>!o.has(l)))return t;for(let l of Cp)o.delete(l);if(o.size===0)return Object.keys(i).length===1?void 0:{...i,[e]:void 0};let a={};for(let l of Cp)a[l]=void 0;return{...i,[e]:{...s,...a}}}})}var $u=class extends De{constructor(){super(...arguments);this.access=z.String("--access",{description:"The access for the published package (public or restricted)"});this.tag=z.String("--tag","latest",{description:"The tag on the registry that the package should be attached to"});this.tolerateRepublish=z.Boolean("--tolerate-republish",!1,{description:"Warn and exit when republishing an already existing version of a package"});this.otp=z.String("--otp",{description:"The OTP token to use with the command"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd);if(!n)throw new ct(i.cwd,this.context.cwd);if(n.manifest.private)throw new be("Private workspaces cannot be published");if(n.manifest.name===null||n.manifest.version===null)throw new be("Workspaces must have valid names and versions to be published on an external registry");await i.restoreInstallState();let s=n.manifest.name,o=n.manifest.version,a=or.getPublishRegistry(n.manifest,{configuration:t});return(await Ge.start({configuration:t,stdout:this.context.stdout},async c=>{var u,g;if(this.tolerateRepublish)try{let f=await Mt.get(Mt.getIdentUrl(s),{configuration:t,registry:a,ident:s,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(f,"versions"))throw new at(15,'Registry returned invalid data for - missing "versions" field');if(Object.prototype.hasOwnProperty.call(f.versions,o)){c.reportWarning(0,`Registry already knows about version ${o}; skipping.`);return}}catch(f){if(((g=(u=f.originalError)==null?void 0:u.response)==null?void 0:g.statusCode)!==404)throw f}await Wt.maybeExecuteWorkspaceLifecycleScript(n,"prepublish",{report:c}),await Aa.prepareForPack(n,{report:c},async()=>{let f=await Aa.genPackList(n);for(let B of f)c.reportInfo(null,B);let h=await Aa.genPackStream(n,f),p=await Ie.bufferStream(h),C=await dp.getGitHead(n.cwd),y=await dp.makePublishBody(n,p,{access:this.access,tag:this.tag,registry:a,gitHead:C});await Mt.put(Mt.getIdentUrl(s),y,{configuration:t,registry:a,ident:s,otp:this.otp,jsonResponse:!0})}),c.reportInfo(0,"Package archive published")})).exitCode()}};$u.paths=[["npm","publish"]],$u.usage=ve.Usage({category:"Npm-related commands",description:"publish the active workspace to the npm registry",details:'\n This command will pack the active workspace into a fresh archive and upload it to the npm registry.\n\n The package will by default be attached to the `latest` tag on the registry, but this behavior can be overriden by using the `--tag` option.\n\n Note that for legacy reasons scoped packages are by default published with an access set to `restricted` (aka "private packages"). This requires you to register for a paid npm plan. In case you simply wish to publish a public scoped package to the registry (for free), just add the `--access public` flag. This behavior can be enabled by default through the `npmPublishAccess` settings.\n ',examples:[["Publish the active workspace","yarn npm publish"]]});var Wue=Pe(Xr());var eg=class extends De{constructor(){super(...arguments);this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=z.String({required:!1})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s;if(typeof this.package<"u")s=P.parseIdent(this.package);else{if(!n)throw new ct(i.cwd,this.context.cwd);if(!n.manifest.name)throw new be(`Missing 'name' field in ${K.fromPortablePath(x.join(n.cwd,xt.manifest))}`);s=n.manifest.name}let o=await xE(s,t),l={children:Ie.sortMap(Object.entries(o),([c])=>c).map(([c,u])=>({value:ee.tuple(ee.Type.RESOLUTION,{descriptor:P.makeDescriptor(s,c),locator:P.makeLocator(s,u)})}))};return _n.emitTree(l,{configuration:t,json:this.json,stdout:this.context.stdout})}};eg.paths=[["npm","tag","list"]],eg.usage=ve.Usage({category:"Npm-related commands",description:"list all dist-tags of a package",details:` This command will list all tags of a package from the npm registry. If the package is not specified, Yarn will default to the current workspace. - `,examples:[["List all tags of package `my-pkg`","yarn npm tag list my-pkg"]]});async function IE(r,e){let t=`/-/package${Mt.getIdentUrl(r)}/dist-tags`;return Mt.get(t,{configuration:e,ident:r,jsonResponse:!0,customErrorMessage:Mt.customPackageError})}var zu=class extends De{constructor(){super(...arguments);this.package=z.String();this.tag=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd);if(!n)throw new ct(i.cwd,this.context.cwd);let s=P.parseDescriptor(this.package,!0),o=s.range;if(!aue.default.valid(o))throw new be(`The range ${ee.pretty(t,s.range,ee.Type.RANGE)} must be a valid semver version`);let a=or.getPublishRegistry(n.manifest,{configuration:t}),l=ee.pretty(t,s,ee.Type.IDENT),c=ee.pretty(t,o,ee.Type.RANGE),u=ee.pretty(t,this.tag,ee.Type.CODE);return(await Ge.start({configuration:t,stdout:this.context.stdout},async f=>{let h=await IE(s,t);Object.prototype.hasOwnProperty.call(h,this.tag)&&h[this.tag]===o&&f.reportWarning(0,`Tag ${u} is already set to version ${c}`);let p=`/-/package${Mt.getIdentUrl(s)}/dist-tags/${encodeURIComponent(this.tag)}`;await Mt.put(p,o,{configuration:t,registry:a,ident:s,jsonRequest:!0,jsonResponse:!0}),f.reportInfo(0,`Tag ${u} added to version ${c} of package ${l}`)})).exitCode()}};zu.paths=[["npm","tag","add"]],zu.usage=ve.Usage({category:"Npm-related commands",description:"add a tag for a specific version of a package",details:` + `,examples:[["List all tags of package `my-pkg`","yarn npm tag list my-pkg"]]});async function xE(r,e){let t=`/-/package${Mt.getIdentUrl(r)}/dist-tags`;return Mt.get(t,{configuration:e,ident:r,jsonResponse:!0,customErrorMessage:Mt.customPackageError})}var tg=class extends De{constructor(){super(...arguments);this.package=z.String();this.tag=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd);if(!n)throw new ct(i.cwd,this.context.cwd);let s=P.parseDescriptor(this.package,!0),o=s.range;if(!Wue.default.valid(o))throw new be(`The range ${ee.pretty(t,s.range,ee.Type.RANGE)} must be a valid semver version`);let a=or.getPublishRegistry(n.manifest,{configuration:t}),l=ee.pretty(t,s,ee.Type.IDENT),c=ee.pretty(t,o,ee.Type.RANGE),u=ee.pretty(t,this.tag,ee.Type.CODE);return(await Ge.start({configuration:t,stdout:this.context.stdout},async f=>{let h=await xE(s,t);Object.prototype.hasOwnProperty.call(h,this.tag)&&h[this.tag]===o&&f.reportWarning(0,`Tag ${u} is already set to version ${c}`);let p=`/-/package${Mt.getIdentUrl(s)}/dist-tags/${encodeURIComponent(this.tag)}`;await Mt.put(p,o,{configuration:t,registry:a,ident:s,jsonRequest:!0,jsonResponse:!0}),f.reportInfo(0,`Tag ${u} added to version ${c} of package ${l}`)})).exitCode()}};tg.paths=[["npm","tag","add"]],tg.usage=ve.Usage({category:"Npm-related commands",description:"add a tag for a specific version of a package",details:` This command will add a tag to the npm registry for a specific version of a package. If the tag already exists, it will be overwritten. - `,examples:[["Add a `beta` tag for version `2.3.4-beta.4` of package `my-pkg`","yarn npm tag add my-pkg@2.3.4-beta.4 beta"]]});var Vu=class extends De{constructor(){super(...arguments);this.package=z.String();this.tag=z.String()}async execute(){if(this.tag==="latest")throw new be("The 'latest' tag cannot be removed.");let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd);if(!n)throw new ct(i.cwd,this.context.cwd);let s=P.parseIdent(this.package),o=or.getPublishRegistry(n.manifest,{configuration:t}),a=ee.pretty(t,this.tag,ee.Type.CODE),l=ee.pretty(t,s,ee.Type.IDENT),c=await IE(s,t);if(!Object.prototype.hasOwnProperty.call(c,this.tag))throw new be(`${a} is not a tag of package ${l}`);return(await Ge.start({configuration:t,stdout:this.context.stdout},async g=>{let f=`/-/package${Mt.getIdentUrl(s)}/dist-tags/${encodeURIComponent(this.tag)}`;await Mt.del(f,{configuration:t,registry:o,ident:s,jsonResponse:!0}),g.reportInfo(0,`Tag ${a} removed from package ${l}`)})).exitCode()}};Vu.paths=[["npm","tag","remove"]],Vu.usage=ve.Usage({category:"Npm-related commands",description:"remove a tag from a package",details:` + `,examples:[["Add a `beta` tag for version `2.3.4-beta.4` of package `my-pkg`","yarn npm tag add my-pkg@2.3.4-beta.4 beta"]]});var rg=class extends De{constructor(){super(...arguments);this.package=z.String();this.tag=z.String()}async execute(){if(this.tag==="latest")throw new be("The 'latest' tag cannot be removed.");let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd);if(!n)throw new ct(i.cwd,this.context.cwd);let s=P.parseIdent(this.package),o=or.getPublishRegistry(n.manifest,{configuration:t}),a=ee.pretty(t,this.tag,ee.Type.CODE),l=ee.pretty(t,s,ee.Type.IDENT),c=await xE(s,t);if(!Object.prototype.hasOwnProperty.call(c,this.tag))throw new be(`${a} is not a tag of package ${l}`);return(await Ge.start({configuration:t,stdout:this.context.stdout},async g=>{let f=`/-/package${Mt.getIdentUrl(s)}/dist-tags/${encodeURIComponent(this.tag)}`;await Mt.del(f,{configuration:t,registry:o,ident:s,jsonResponse:!0}),g.reportInfo(0,`Tag ${a} removed from package ${l}`)})).exitCode()}};rg.paths=[["npm","tag","remove"]],rg.usage=ve.Usage({category:"Npm-related commands",description:"remove a tag from a package",details:` This command will remove a tag from a package from the npm registry. - `,examples:[["Remove the `beta` tag from package `my-pkg`","yarn npm tag remove my-pkg beta"]]});var Xu=class extends De{constructor(){super(...arguments);this.scope=z.String("-s,--scope",{description:"Print username for the registry configured for a given scope"});this.publish=z.Boolean("--publish",!1,{description:"Print username for the publish registry"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i;return this.scope&&this.publish?i=or.getScopeRegistry(this.scope,{configuration:t,type:or.RegistryType.PUBLISH_REGISTRY}):this.scope?i=or.getScopeRegistry(this.scope,{configuration:t}):this.publish?i=or.getPublishRegistry((await Ph(t,this.context.cwd)).manifest,{configuration:t}):i=or.getDefaultRegistry({configuration:t}),(await Ge.start({configuration:t,stdout:this.context.stdout},async s=>{var a,l;let o;try{o=await Mt.get("/-/whoami",{configuration:t,registry:i,authType:Mt.AuthType.ALWAYS_AUTH,jsonResponse:!0,ident:this.scope?P.makeIdent(this.scope,""):void 0})}catch(c){if(((a=c.response)==null?void 0:a.statusCode)===401||((l=c.response)==null?void 0:l.statusCode)===403){s.reportError(41,"Authentication failed - your credentials may have expired");return}else throw c}s.reportInfo(0,o.username)})).exitCode()}};Xu.paths=[["npm","whoami"]],Xu.usage=ve.Usage({category:"Npm-related commands",description:"display the name of the authenticated user",details:"\n Print the username associated with the current authentication settings to the standard output.\n\n When using `-s,--scope`, the username printed will be the one that matches the authentication settings of the registry associated with the given scope (those settings can be overriden using the `npmRegistries` map, and the registry associated with the scope is configured via the `npmScopes` map).\n\n When using `--publish`, the registry we'll select will by default be the one used when publishing packages (`publishConfig.registry` or `npmPublishRegistry` if available, otherwise we'll fallback to the regular `npmRegistryServer`).\n ",examples:[["Print username for the default registry","yarn npm whoami"],["Print username for the registry on a given scope","yarn npm whoami --scope company"]]});var _Ve={configuration:{npmPublishAccess:{description:"Default access of the published packages",type:"STRING",default:null},npmAuditExcludePackages:{description:"Array of glob patterns of packages to exclude from npm audit",type:"STRING",default:[],isArray:!0},npmAuditIgnoreAdvisories:{description:"Array of glob patterns of advisory IDs to exclude from npm audit",type:"STRING",default:[],isArray:!0}},commands:[Gu,Yu,ju,qu,Ju,zu,Wu,Vu,Xu]},ZVe=_Ve;var zM={};ut(zM,{default:()=>h6e,patchUtils:()=>_u});var _u={};ut(_u,{applyPatchFile:()=>Sb,diffFolders:()=>JM,ensureUnpatchedDescriptor:()=>HM,extractPackageToDisk:()=>qM,extractPatchFlags:()=>hue,isParentRequired:()=>jM,loadPatchFiles:()=>QE,makeDescriptor:()=>GM,makeLocator:()=>YM,makePatchHash:()=>WM,parseDescriptor:()=>wE,parseLocator:()=>BE,parsePatchFile:()=>yE});var $Ve=/^@@ -(\d+)(,(\d+))? \+(\d+)(,(\d+))? @@.*/;function Ap(r){return x.relative(Oe.root,x.resolve(Oe.root,K.toPortablePath(r)))}function e6e(r){let e=r.trim().match($Ve);if(!e)throw new Error(`Bad header line: '${r}'`);return{original:{start:Math.max(Number(e[1]),1),length:Number(e[3]||1)},patched:{start:Math.max(Number(e[4]),1),length:Number(e[6]||1)}}}var t6e=420,r6e=493;var Aue=()=>({semverExclusivity:null,diffLineFromPath:null,diffLineToPath:null,oldMode:null,newMode:null,deletedFileMode:null,newFileMode:null,renameFrom:null,renameTo:null,beforeHash:null,afterHash:null,fromPath:null,toPath:null,hunks:null}),i6e=r=>({header:e6e(r),parts:[]}),n6e={["@"]:"header",["-"]:"deletion",["+"]:"insertion",[" "]:"context",["\\"]:"pragma",undefined:"context"};function s6e(r){let e=[],t=Aue(),i="parsing header",n=null,s=null;function o(){n&&(s&&(n.parts.push(s),s=null),t.hunks.push(n),n=null)}function a(){o(),e.push(t),t=Aue()}for(let l=0;l0?"patch":"mode change",v=null;switch(B){case"rename":{if(!u||!g)throw new Error("Bad parser state: rename from & to not given");e.push({type:"rename",semverExclusivity:i,fromPath:Ap(u),toPath:Ap(g)}),v=g}break;case"file deletion":{let D=n||p;if(!D)throw new Error("Bad parse state: no path given for file deletion");e.push({type:"file deletion",semverExclusivity:i,hunk:y&&y[0]||null,path:Ap(D),mode:bb(l),hash:f})}break;case"file creation":{let D=s||C;if(!D)throw new Error("Bad parse state: no path given for file creation");e.push({type:"file creation",semverExclusivity:i,hunk:y&&y[0]||null,path:Ap(D),mode:bb(c),hash:h})}break;case"patch":case"mode change":v=C||s;break;default:Ie.assertNever(B);break}v&&o&&a&&o!==a&&e.push({type:"mode change",semverExclusivity:i,path:Ap(v),oldMode:bb(o),newMode:bb(a)}),v&&y&&y.length&&e.push({type:"patch",semverExclusivity:i,path:Ap(v),hunks:y,beforeHash:f,afterHash:h})}if(e.length===0)throw new Error("Unable to parse patch file: No changes found. Make sure the patch is a valid UTF8 encoded string");return e}function bb(r){let e=parseInt(r,8)&511;if(e!==t6e&&e!==r6e)throw new Error(`Unexpected file mode string: ${r}`);return e}function yE(r){let e=r.split(/\n/g);return e[e.length-1]===""&&e.pop(),o6e(s6e(e))}function a6e(r){let e=0,t=0;for(let{type:i,lines:n}of r.parts)switch(i){case"context":t+=n.length,e+=n.length;break;case"deletion":e+=n.length;break;case"insertion":t+=n.length;break;default:Ie.assertNever(i);break}if(e!==r.header.original.length||t!==r.header.patched.length){let i=n=>n<0?n:`+${n}`;throw new Error(`hunk header integrity check failed (expected @@ ${i(r.header.original.length)} ${i(r.header.patched.length)} @@, got @@ ${i(e)} ${i(t)} @@)`)}}var lp=class extends Error{constructor(t,i){super(`Cannot apply hunk #${t+1}`);this.hunk=i}};async function cp(r,e,t){let i=await r.lstatPromise(e),n=await t();if(typeof n<"u"&&(e=n),r.lutimesPromise)await r.lutimesPromise(e,i.atime,i.mtime);else if(!i.isSymbolicLink())await r.utimesPromise(e,i.atime,i.mtime);else throw new Error("Cannot preserve the time values of a symlink")}async function Sb(r,{baseFs:e=new $t,dryRun:t=!1,version:i=null}={}){for(let n of r)if(!(n.semverExclusivity!==null&&i!==null&&!vt.satisfiesWithPrereleases(i,n.semverExclusivity)))switch(n.type){case"file deletion":if(t){if(!e.existsSync(n.path))throw new Error(`Trying to delete a file that doesn't exist: ${n.path}`)}else await cp(e,x.dirname(n.path),async()=>{await e.unlinkPromise(n.path)});break;case"rename":if(t){if(!e.existsSync(n.fromPath))throw new Error(`Trying to move a file that doesn't exist: ${n.fromPath}`)}else await cp(e,x.dirname(n.fromPath),async()=>{await cp(e,x.dirname(n.toPath),async()=>{await cp(e,n.fromPath,async()=>(await e.movePromise(n.fromPath,n.toPath),n.toPath))})});break;case"file creation":if(t){if(e.existsSync(n.path))throw new Error(`Trying to create a file that already exists: ${n.path}`)}else{let s=n.hunk?n.hunk.parts[0].lines.join(` + `,examples:[["Remove the `beta` tag from package `my-pkg`","yarn npm tag remove my-pkg beta"]]});var ig=class extends De{constructor(){super(...arguments);this.scope=z.String("-s,--scope",{description:"Print username for the registry configured for a given scope"});this.publish=z.Boolean("--publish",!1,{description:"Print username for the publish registry"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i;return this.scope&&this.publish?i=or.getScopeRegistry(this.scope,{configuration:t,type:or.RegistryType.PUBLISH_REGISTRY}):this.scope?i=or.getScopeRegistry(this.scope,{configuration:t}):this.publish?i=or.getPublishRegistry((await Mh(t,this.context.cwd)).manifest,{configuration:t}):i=or.getDefaultRegistry({configuration:t}),(await Ge.start({configuration:t,stdout:this.context.stdout},async s=>{var a,l;let o;try{o=await Mt.get("/-/whoami",{configuration:t,registry:i,authType:Mt.AuthType.ALWAYS_AUTH,jsonResponse:!0,ident:this.scope?P.makeIdent(this.scope,""):void 0})}catch(c){if(((a=c.response)==null?void 0:a.statusCode)===401||((l=c.response)==null?void 0:l.statusCode)===403){s.reportError(41,"Authentication failed - your credentials may have expired");return}else throw c}s.reportInfo(0,o.username)})).exitCode()}};ig.paths=[["npm","whoami"]],ig.usage=ve.Usage({category:"Npm-related commands",description:"display the name of the authenticated user",details:"\n Print the username associated with the current authentication settings to the standard output.\n\n When using `-s,--scope`, the username printed will be the one that matches the authentication settings of the registry associated with the given scope (those settings can be overriden using the `npmRegistries` map, and the registry associated with the scope is configured via the `npmScopes` map).\n\n When using `--publish`, the registry we'll select will by default be the one used when publishing packages (`publishConfig.registry` or `npmPublishRegistry` if available, otherwise we'll fallback to the regular `npmRegistryServer`).\n ",examples:[["Print username for the default registry","yarn npm whoami"],["Print username for the registry on a given scope","yarn npm whoami --scope company"]]});var r7e={configuration:{npmPublishAccess:{description:"Default access of the published packages",type:"STRING",default:null},npmAuditExcludePackages:{description:"Array of glob patterns of packages to exclude from npm audit",type:"STRING",default:[],isArray:!0},npmAuditIgnoreAdvisories:{description:"Array of glob patterns of advisory IDs to exclude from npm audit",type:"STRING",default:[],isArray:!0}},commands:[Vu,Xu,Zu,_u,$u,tg,eg,rg,ig]},i7e=r7e;var y1={};ut(y1,{default:()=>E7e,patchUtils:()=>ng});var ng={};ut(ng,{applyPatchFile:()=>Hb,diffFolders:()=>E1,ensureUnpatchedDescriptor:()=>h1,extractPackageToDisk:()=>m1,extractPatchFlags:()=>ege,isParentRequired:()=>C1,loadPatchFiles:()=>RE,makeDescriptor:()=>p1,makeLocator:()=>d1,makePatchHash:()=>I1,parseDescriptor:()=>DE,parseLocator:()=>kE,parsePatchFile:()=>PE});var n7e=/^@@ -(\d+)(,(\d+))? \+(\d+)(,(\d+))? @@.*/;function mp(r){return x.relative(Oe.root,x.resolve(Oe.root,K.toPortablePath(r)))}function s7e(r){let e=r.trim().match(n7e);if(!e)throw new Error(`Bad header line: '${r}'`);return{original:{start:Math.max(Number(e[1]),1),length:Number(e[3]||1)},patched:{start:Math.max(Number(e[4]),1),length:Number(e[6]||1)}}}var o7e=420,a7e=493;var zue=()=>({semverExclusivity:null,diffLineFromPath:null,diffLineToPath:null,oldMode:null,newMode:null,deletedFileMode:null,newFileMode:null,renameFrom:null,renameTo:null,beforeHash:null,afterHash:null,fromPath:null,toPath:null,hunks:null}),A7e=r=>({header:s7e(r),parts:[]}),l7e={["@"]:"header",["-"]:"deletion",["+"]:"insertion",[" "]:"context",["\\"]:"pragma",undefined:"context"};function c7e(r){let e=[],t=zue(),i="parsing header",n=null,s=null;function o(){n&&(s&&(n.parts.push(s),s=null),t.hunks.push(n),n=null)}function a(){o(),e.push(t),t=zue()}for(let l=0;l0?"patch":"mode change",v=null;switch(B){case"rename":{if(!u||!g)throw new Error("Bad parser state: rename from & to not given");e.push({type:"rename",semverExclusivity:i,fromPath:mp(u),toPath:mp(g)}),v=g}break;case"file deletion":{let D=n||p;if(!D)throw new Error("Bad parse state: no path given for file deletion");e.push({type:"file deletion",semverExclusivity:i,hunk:y&&y[0]||null,path:mp(D),mode:Ub(l),hash:f})}break;case"file creation":{let D=s||C;if(!D)throw new Error("Bad parse state: no path given for file creation");e.push({type:"file creation",semverExclusivity:i,hunk:y&&y[0]||null,path:mp(D),mode:Ub(c),hash:h})}break;case"patch":case"mode change":v=C||s;break;default:Ie.assertNever(B);break}v&&o&&a&&o!==a&&e.push({type:"mode change",semverExclusivity:i,path:mp(v),oldMode:Ub(o),newMode:Ub(a)}),v&&y&&y.length&&e.push({type:"patch",semverExclusivity:i,path:mp(v),hunks:y,beforeHash:f,afterHash:h})}if(e.length===0)throw new Error("Unable to parse patch file: No changes found. Make sure the patch is a valid UTF8 encoded string");return e}function Ub(r){let e=parseInt(r,8)&511;if(e!==o7e&&e!==a7e)throw new Error(`Unexpected file mode string: ${r}`);return e}function PE(r){let e=r.split(/\n/g);return e[e.length-1]===""&&e.pop(),u7e(c7e(e))}function g7e(r){let e=0,t=0;for(let{type:i,lines:n}of r.parts)switch(i){case"context":t+=n.length,e+=n.length;break;case"deletion":e+=n.length;break;case"insertion":t+=n.length;break;default:Ie.assertNever(i);break}if(e!==r.header.original.length||t!==r.header.patched.length){let i=n=>n<0?n:`+${n}`;throw new Error(`hunk header integrity check failed (expected @@ ${i(r.header.original.length)} ${i(r.header.patched.length)} @@, got @@ ${i(e)} ${i(t)} @@)`)}}var Ep=class extends Error{constructor(t,i){super(`Cannot apply hunk #${t+1}`);this.hunk=i}};async function Ip(r,e,t){let i=await r.lstatPromise(e),n=await t();if(typeof n<"u"&&(e=n),r.lutimesPromise)await r.lutimesPromise(e,i.atime,i.mtime);else if(!i.isSymbolicLink())await r.utimesPromise(e,i.atime,i.mtime);else throw new Error("Cannot preserve the time values of a symlink")}async function Hb(r,{baseFs:e=new $t,dryRun:t=!1,version:i=null}={}){for(let n of r)if(!(n.semverExclusivity!==null&&i!==null&&!vt.satisfiesWithPrereleases(i,n.semverExclusivity)))switch(n.type){case"file deletion":if(t){if(!e.existsSync(n.path))throw new Error(`Trying to delete a file that doesn't exist: ${n.path}`)}else await Ip(e,x.dirname(n.path),async()=>{await e.unlinkPromise(n.path)});break;case"rename":if(t){if(!e.existsSync(n.fromPath))throw new Error(`Trying to move a file that doesn't exist: ${n.fromPath}`)}else await Ip(e,x.dirname(n.fromPath),async()=>{await Ip(e,x.dirname(n.toPath),async()=>{await Ip(e,n.fromPath,async()=>(await e.movePromise(n.fromPath,n.toPath),n.toPath))})});break;case"file creation":if(t){if(e.existsSync(n.path))throw new Error(`Trying to create a file that already exists: ${n.path}`)}else{let s=n.hunk?n.hunk.parts[0].lines.join(` `)+(n.hunk.parts[0].noNewlineAtEndOfFile?"":` -`):"";await e.mkdirpPromise(x.dirname(n.path),{chmod:493,utimes:[xr.SAFE_TIME,xr.SAFE_TIME]}),await e.writeFilePromise(n.path,s,{mode:n.mode}),await e.utimesPromise(n.path,xr.SAFE_TIME,xr.SAFE_TIME)}break;case"patch":await cp(e,n.path,async()=>{await c6e(n,{baseFs:e,dryRun:t})});break;case"mode change":{let o=(await e.statPromise(n.path)).mode;if(lue(n.newMode)!==lue(o))continue;await cp(e,n.path,async()=>{await e.chmodPromise(n.path,n.newMode)})}break;default:Ie.assertNever(n);break}}function lue(r){return(r&64)>0}function cue(r){return r.replace(/\s+$/,"")}function l6e(r,e){return cue(r)===cue(e)}async function c6e({hunks:r,path:e},{baseFs:t,dryRun:i=!1}){let n=await t.statSync(e).mode,o=(await t.readFileSync(e,"utf8")).split(/\n/),a=[],l=0,c=0;for(let g of r){let f=Math.max(c,g.header.patched.start+l),h=Math.max(0,f-c),p=Math.max(0,o.length-f-g.header.original.length),C=Math.max(h,p),y=0,B=0,v=null;for(;y<=C;){if(y<=h&&(B=f-y,v=uue(g,o,B),v!==null)){y=-y;break}if(y<=p&&(B=f+y,v=uue(g,o,B),v!==null))break;y+=1}if(v===null)throw new lp(r.indexOf(g),g);a.push(v),l+=y,c=B+g.header.original.length}if(i)return;let u=0;for(let g of a)for(let f of g)switch(f.type){case"splice":{let h=f.index+u;o.splice(h,f.numToDelete,...f.linesToInsert),u+=f.linesToInsert.length-f.numToDelete}break;case"pop":o.pop();break;case"push":o.push(f.line);break;default:Ie.assertNever(f);break}await t.writeFilePromise(e,o.join(` -`),{mode:n})}function uue(r,e,t){let i=[];for(let n of r.parts)switch(n.type){case"context":case"deletion":{for(let s of n.lines){let o=e[t];if(o==null||!l6e(o,s))return null;t+=1}n.type==="deletion"&&(i.push({type:"splice",index:t-n.lines.length,numToDelete:n.lines.length,linesToInsert:[]}),n.noNewlineAtEndOfFile&&i.push({type:"push",line:""}))}break;case"insertion":i.push({type:"splice",index:t,numToDelete:0,linesToInsert:n.lines}),n.noNewlineAtEndOfFile&&i.push({type:"pop"});break;default:Ie.assertNever(n.type);break}return i}var g6e=/^builtin<([^>]+)>$/;function UM(r,e){let{source:t,selector:i,params:n}=P.parseRange(r);if(t===null)throw new Error("Patch locators must explicitly define their source");let s=i?i.split(/&/).map(c=>K.toPortablePath(c)):[],o=n&&typeof n.locator=="string"?P.parseLocator(n.locator):null,a=n&&typeof n.version=="string"?n.version:null,l=e(t);return{parentLocator:o,sourceItem:l,patchPaths:s,sourceVersion:a}}function wE(r){let{sourceItem:e,...t}=UM(r.range,P.parseDescriptor);return{...t,sourceDescriptor:e}}function BE(r){let{sourceItem:e,...t}=UM(r.reference,P.parseLocator);return{...t,sourceLocator:e}}function HM(r){if(!r.range.startsWith("patch:"))return r;let{sourceItem:e}=UM(r.range,P.parseDescriptor);return e}function gue({parentLocator:r,sourceItem:e,patchPaths:t,sourceVersion:i,patchHash:n},s){let o=r!==null?{locator:P.stringifyLocator(r)}:{},a=typeof i<"u"?{version:i}:{},l=typeof n<"u"?{hash:n}:{};return P.makeRange({protocol:"patch:",source:s(e),selector:t.join("&"),params:{...a,...l,...o}})}function GM(r,{parentLocator:e,sourceDescriptor:t,patchPaths:i}){return P.makeDescriptor(r,gue({parentLocator:e,sourceItem:t,patchPaths:i},P.stringifyDescriptor))}function YM(r,{parentLocator:e,sourcePackage:t,patchPaths:i,patchHash:n}){return P.makeLocator(r,gue({parentLocator:e,sourceItem:t,sourceVersion:t.version,patchPaths:i,patchHash:n},P.stringifyLocator))}function fue({onAbsolute:r,onRelative:e,onBuiltin:t},i){i.startsWith("~")&&(i=i.slice(1));let s=i.match(g6e);return s!==null?t(s[1]):x.isAbsolute(i)?r(i):e(i)}function hue(r){let e=r.startsWith("~");return e&&(r=r.slice(1)),{optional:e}}function jM(r){return fue({onAbsolute:()=>!1,onRelative:()=>!0,onBuiltin:()=>!1},r)}async function QE(r,e,t){let i=r!==null?await t.fetcher.fetch(r,t):null,n=i&&i.localPath?{packageFs:new jt(Oe.root),prefixPath:x.relative(Oe.root,i.localPath)}:i;i&&i!==n&&i.releaseFs&&i.releaseFs();let s=await Ie.releaseAfterUseAsync(async()=>await Promise.all(e.map(async o=>{let a=hue(o),l=await fue({onAbsolute:async()=>await M.readFilePromise(o,"utf8"),onRelative:async()=>{if(n===null)throw new Error("Assertion failed: The parent locator should have been fetched");return await n.packageFs.readFilePromise(x.join(n.prefixPath,o),"utf8")},onBuiltin:async c=>await t.project.configuration.firstHook(u=>u.getBuiltinPatch,t.project,c)},o);return{...a,source:l}})));for(let o of s)typeof o.source=="string"&&(o.source=o.source.replace(/\r\n?/g,` -`));return s}async function qM(r,{cache:e,project:t}){let i=t.storedPackages.get(r.locatorHash);if(typeof i>"u")throw new Error("Assertion failed: Expected the package to be registered");let n=t.storedChecksums,s=new ti,o=t.configuration.makeFetcher(),a=await o.fetch(r,{cache:e,project:t,fetcher:o,checksums:n,report:s}),l=await M.mktempPromise(),c=x.join(l,"source"),u=x.join(l,"user"),g=x.join(l,".yarn-patch.json");return await Promise.all([M.copyPromise(c,a.prefixPath,{baseFs:a.packageFs}),M.copyPromise(u,a.prefixPath,{baseFs:a.packageFs}),M.writeJsonPromise(g,{locator:P.stringifyLocator(r),version:i.version})]),M.detachTemp(l),u}async function JM(r,e){let t=K.fromPortablePath(r).replace(/\\/g,"/"),i=K.fromPortablePath(e).replace(/\\/g,"/"),{stdout:n,stderr:s}=await Cr.execvp("git",["-c","core.safecrlf=false","diff","--src-prefix=a/","--dst-prefix=b/","--ignore-cr-at-eol","--full-index","--no-index","--no-renames","--text",t,i],{cwd:K.toPortablePath(process.cwd()),env:{...process.env,GIT_CONFIG_NOSYSTEM:"1",HOME:"",XDG_CONFIG_HOME:"",USERPROFILE:""}});if(s.length>0)throw new Error(`Unable to diff directories. Make sure you have a recent version of 'git' available in PATH. +`):"";await e.mkdirpPromise(x.dirname(n.path),{chmod:493,utimes:[xr.SAFE_TIME,xr.SAFE_TIME]}),await e.writeFilePromise(n.path,s,{mode:n.mode}),await e.utimesPromise(n.path,xr.SAFE_TIME,xr.SAFE_TIME)}break;case"patch":await Ip(e,n.path,async()=>{await p7e(n,{baseFs:e,dryRun:t})});break;case"mode change":{let o=(await e.statPromise(n.path)).mode;if(Vue(n.newMode)!==Vue(o))continue;await Ip(e,n.path,async()=>{await e.chmodPromise(n.path,n.newMode)})}break;default:Ie.assertNever(n);break}}function Vue(r){return(r&64)>0}function Xue(r){return r.replace(/\s+$/,"")}function h7e(r,e){return Xue(r)===Xue(e)}async function p7e({hunks:r,path:e},{baseFs:t,dryRun:i=!1}){let n=await t.statSync(e).mode,o=(await t.readFileSync(e,"utf8")).split(/\n/),a=[],l=0,c=0;for(let g of r){let f=Math.max(c,g.header.patched.start+l),h=Math.max(0,f-c),p=Math.max(0,o.length-f-g.header.original.length),C=Math.max(h,p),y=0,B=0,v=null;for(;y<=C;){if(y<=h&&(B=f-y,v=Zue(g,o,B),v!==null)){y=-y;break}if(y<=p&&(B=f+y,v=Zue(g,o,B),v!==null))break;y+=1}if(v===null)throw new Ep(r.indexOf(g),g);a.push(v),l+=y,c=B+g.header.original.length}if(i)return;let u=0;for(let g of a)for(let f of g)switch(f.type){case"splice":{let h=f.index+u;o.splice(h,f.numToDelete,...f.linesToInsert),u+=f.linesToInsert.length-f.numToDelete}break;case"pop":o.pop();break;case"push":o.push(f.line);break;default:Ie.assertNever(f);break}await t.writeFilePromise(e,o.join(` +`),{mode:n})}function Zue(r,e,t){let i=[];for(let n of r.parts)switch(n.type){case"context":case"deletion":{for(let s of n.lines){let o=e[t];if(o==null||!h7e(o,s))return null;t+=1}n.type==="deletion"&&(i.push({type:"splice",index:t-n.lines.length,numToDelete:n.lines.length,linesToInsert:[]}),n.noNewlineAtEndOfFile&&i.push({type:"push",line:""}))}break;case"insertion":i.push({type:"splice",index:t,numToDelete:0,linesToInsert:n.lines}),n.noNewlineAtEndOfFile&&i.push({type:"pop"});break;default:Ie.assertNever(n.type);break}return i}var C7e=/^builtin<([^>]+)>$/;function f1(r,e){let{source:t,selector:i,params:n}=P.parseRange(r);if(t===null)throw new Error("Patch locators must explicitly define their source");let s=i?i.split(/&/).map(c=>K.toPortablePath(c)):[],o=n&&typeof n.locator=="string"?P.parseLocator(n.locator):null,a=n&&typeof n.version=="string"?n.version:null,l=e(t);return{parentLocator:o,sourceItem:l,patchPaths:s,sourceVersion:a}}function DE(r){let{sourceItem:e,...t}=f1(r.range,P.parseDescriptor);return{...t,sourceDescriptor:e}}function kE(r){let{sourceItem:e,...t}=f1(r.reference,P.parseLocator);return{...t,sourceLocator:e}}function h1(r){if(!r.range.startsWith("patch:"))return r;let{sourceItem:e}=f1(r.range,P.parseDescriptor);return e}function _ue({parentLocator:r,sourceItem:e,patchPaths:t,sourceVersion:i,patchHash:n},s){let o=r!==null?{locator:P.stringifyLocator(r)}:{},a=typeof i<"u"?{version:i}:{},l=typeof n<"u"?{hash:n}:{};return P.makeRange({protocol:"patch:",source:s(e),selector:t.join("&"),params:{...a,...l,...o}})}function p1(r,{parentLocator:e,sourceDescriptor:t,patchPaths:i}){return P.makeDescriptor(r,_ue({parentLocator:e,sourceItem:t,patchPaths:i},P.stringifyDescriptor))}function d1(r,{parentLocator:e,sourcePackage:t,patchPaths:i,patchHash:n}){return P.makeLocator(r,_ue({parentLocator:e,sourceItem:t,sourceVersion:t.version,patchPaths:i,patchHash:n},P.stringifyLocator))}function $ue({onAbsolute:r,onRelative:e,onBuiltin:t},i){i.startsWith("~")&&(i=i.slice(1));let s=i.match(C7e);return s!==null?t(s[1]):x.isAbsolute(i)?r(i):e(i)}function ege(r){let e=r.startsWith("~");return e&&(r=r.slice(1)),{optional:e}}function C1(r){return $ue({onAbsolute:()=>!1,onRelative:()=>!0,onBuiltin:()=>!1},r)}async function RE(r,e,t){let i=r!==null?await t.fetcher.fetch(r,t):null,n=i&&i.localPath?{packageFs:new qt(Oe.root),prefixPath:x.relative(Oe.root,i.localPath)}:i;i&&i!==n&&i.releaseFs&&i.releaseFs();let s=await Ie.releaseAfterUseAsync(async()=>await Promise.all(e.map(async o=>{let a=ege(o),l=await $ue({onAbsolute:async()=>await M.readFilePromise(o,"utf8"),onRelative:async()=>{if(n===null)throw new Error("Assertion failed: The parent locator should have been fetched");return await n.packageFs.readFilePromise(x.join(n.prefixPath,o),"utf8")},onBuiltin:async c=>await t.project.configuration.firstHook(u=>u.getBuiltinPatch,t.project,c)},o);return{...a,source:l}})));for(let o of s)typeof o.source=="string"&&(o.source=o.source.replace(/\r\n?/g,` +`));return s}async function m1(r,{cache:e,project:t}){let i=t.storedPackages.get(r.locatorHash);if(typeof i>"u")throw new Error("Assertion failed: Expected the package to be registered");let n=t.storedChecksums,s=new ti,o=t.configuration.makeFetcher(),a=await o.fetch(r,{cache:e,project:t,fetcher:o,checksums:n,report:s}),l=await M.mktempPromise(),c=x.join(l,"source"),u=x.join(l,"user"),g=x.join(l,".yarn-patch.json");return await Promise.all([M.copyPromise(c,a.prefixPath,{baseFs:a.packageFs}),M.copyPromise(u,a.prefixPath,{baseFs:a.packageFs}),M.writeJsonPromise(g,{locator:P.stringifyLocator(r),version:i.version})]),M.detachTemp(l),u}async function E1(r,e){let t=K.fromPortablePath(r).replace(/\\/g,"/"),i=K.fromPortablePath(e).replace(/\\/g,"/"),{stdout:n,stderr:s}=await Cr.execvp("git",["-c","core.safecrlf=false","diff","--src-prefix=a/","--dst-prefix=b/","--ignore-cr-at-eol","--full-index","--no-index","--no-renames","--text",t,i],{cwd:K.toPortablePath(process.cwd()),env:{...process.env,GIT_CONFIG_NOSYSTEM:"1",HOME:"",XDG_CONFIG_HOME:"",USERPROFILE:""}});if(s.length>0)throw new Error(`Unable to diff directories. Make sure you have a recent version of 'git' available in PATH. The following error was reported by 'git': -${s}`);let o=t.startsWith("/")?a=>a.slice(1):a=>a;return n.replace(new RegExp(`(a|b)(${Ie.escapeRegExp(`/${o(t)}/`)})`,"g"),"$1/").replace(new RegExp(`(a|b)${Ie.escapeRegExp(`/${o(i)}/`)}`,"g"),"$1/").replace(new RegExp(Ie.escapeRegExp(`${t}/`),"g"),"").replace(new RegExp(Ie.escapeRegExp(`${i}/`),"g"),"")}function WM(r,e){let t=[];for(let{source:i}of r){if(i===null)continue;let n=yE(i);for(let s of n){let{semverExclusivity:o,...a}=s;o!==null&&e!==null&&!vt.satisfiesWithPrereleases(e,o)||t.push(JSON.stringify(a))}}return li.makeHash(`${3}`,...t).slice(0,6)}function pue(r,{configuration:e,report:t}){for(let i of r.parts)for(let n of i.lines)switch(i.type){case"context":t.reportInfo(null,` ${ee.pretty(e,n,"grey")}`);break;case"deletion":t.reportError(28,`- ${ee.pretty(e,n,ee.Type.REMOVED)}`);break;case"insertion":t.reportError(28,`+ ${ee.pretty(e,n,ee.Type.ADDED)}`);break;default:Ie.assertNever(i.type)}}var vb=class{supports(e,t){return!!e.reference.startsWith("patch:")}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.patchPackage(e,t),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),localPath:this.getLocalPath(e,t),checksum:o}}async patchPackage(e,t){let{parentLocator:i,sourceLocator:n,sourceVersion:s,patchPaths:o}=BE(e),a=await QE(i,o,t),l=await M.mktempPromise(),c=x.join(l,"current.zip"),u=await t.fetcher.fetch(n,t),g=P.getIdentVendorPath(e),f=await rn(),h=new Wr(c,{libzip:f,create:!0,level:t.project.configuration.get("compressionLevel")});await Ie.releaseAfterUseAsync(async()=>{await h.copyPromise(g,u.prefixPath,{baseFs:u.packageFs,stableSort:!0})},u.releaseFs),h.saveAndClose();for(let{source:p,optional:C}of a){if(p===null)continue;let y=new Wr(c,{libzip:f,level:t.project.configuration.get("compressionLevel")}),B=new jt(x.resolve(Oe.root,g),{baseFs:y});try{await Sb(yE(p),{baseFs:B,version:s})}catch(v){if(!(v instanceof lp))throw v;let D=t.project.configuration.get("enableInlineHunks"),L=!D&&!C?" (set enableInlineHunks for details)":"",H=`${P.prettyLocator(t.project.configuration,e)}: ${v.message}${L}`,j=$=>{!D||pue(v.hunk,{configuration:t.project.configuration,report:$})};if(y.discardAndClose(),C){t.report.reportWarningOnce(66,H,{reportExtra:j});continue}else throw new at(66,H,j)}y.saveAndClose()}return new Wr(c,{libzip:f,level:t.project.configuration.get("compressionLevel")})}};var xb=class{supportsDescriptor(e,t){return!!e.range.startsWith("patch:")}supportsLocator(e,t){return!!e.reference.startsWith("patch:")}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,i){let{patchPaths:n}=wE(e);return n.every(s=>!jM(s))?e:P.bindDescriptor(e,{locator:P.stringifyLocator(t)})}getResolutionDependencies(e,t){let{sourceDescriptor:i}=wE(e);return[i]}async getCandidates(e,t,i){if(!i.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{parentLocator:n,sourceDescriptor:s,patchPaths:o}=wE(e),a=await QE(n,o,i.fetchOptions),l=t.get(s.descriptorHash);if(typeof l>"u")throw new Error("Assertion failed: The dependency should have been resolved");let c=WM(a,l.version);return[YM(e,{parentLocator:n,sourcePackage:l,patchPaths:o,patchHash:c})]}async getSatisfying(e,t,i){return null}async resolve(e,t){let{sourceLocator:i}=BE(e);return{...await t.resolver.resolve(i,t),...e}}};var Zu=class extends De{constructor(){super(...arguments);this.save=z.Boolean("-s,--save",!1,{description:"Add the patch to your resolution entries"});this.patchFolder=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState();let s=x.resolve(this.context.cwd,K.toPortablePath(this.patchFolder)),o=x.join(s,"../source"),a=x.join(s,"../.yarn-patch.json");if(!M.existsSync(o))throw new be("The argument folder didn't get created by 'yarn patch'");let l=await JM(o,s),c=await M.readJsonPromise(a),u=P.parseLocator(c.locator,!0);if(!i.storedPackages.has(u.locatorHash))throw new be("No package found in the project for the given locator");if(!this.save){this.context.stdout.write(l);return}let g=t.get("patchFolder"),f=x.join(g,`${P.slugifyLocator(u)}.patch`);await M.mkdirPromise(g,{recursive:!0}),await M.writeFilePromise(f,l);let h=new Map;for(let p of i.storedPackages.values()){if(P.isVirtualLocator(p))continue;let C=p.dependencies.get(u.identHash);if(!C)continue;let y=P.isVirtualDescriptor(C)?P.devirtualizeDescriptor(C):C,B=HM(y),v=i.storedResolutions.get(B.descriptorHash);if(!v)throw new Error("Assertion failed: Expected the resolution to have been registered");if(!i.storedPackages.get(v))throw new Error("Assertion failed: Expected the package to have been registered");let L=i.originalPackages.get(p.locatorHash);if(!L)throw new Error("Assertion failed: Expected the original package to have been registered");let H=L.dependencies.get(C.identHash);if(!H)throw new Error("Assertion failed: Expected the original dependency to have been registered");h.set(H.descriptorHash,H)}for(let p of h.values()){let C=GM(p,{parentLocator:null,sourceDescriptor:P.convertLocatorToDescriptor(u),sourceVersion:null,patchPaths:[`./${x.relative(i.cwd,f)}`]});i.topLevelWorkspace.manifest.resolutions.push({pattern:{descriptor:{fullName:P.stringifyIdent(C),description:p.range}},reference:C.range})}await i.persist()}};Zu.paths=[["patch-commit"]],Zu.usage=ve.Usage({description:"generate a patch out of a directory",details:"\n By default, this will print a patchfile on stdout based on the diff between the folder passed in and the original version of the package. Such file is suitable for consumption with the `patch:` protocol.\n\n With the `-s,--save` option set, the patchfile won't be printed on stdout anymore and will instead be stored within a local file (by default kept within `.yarn/patches`, but configurable via the `patchFolder` setting). A `resolutions` entry will also be added to your top-level manifest, referencing the patched package via the `patch:` protocol.\n\n Note that only folders generated by `yarn patch` are accepted as valid input for `yarn patch-commit`.\n "});var $u=class extends De{constructor(){super(...arguments);this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState();let o=P.parseLocator(this.package);if(o.reference==="unknown"){let a=Ie.mapAndFilter([...i.storedPackages.values()],l=>l.identHash!==o.identHash?Ie.mapAndFilter.skip:P.isVirtualLocator(l)?Ie.mapAndFilter.skip:l);if(a.length===0)throw new be("No package found in the project for the given locator");if(a.length>1)throw new be(`Multiple candidate packages found; explicitly choose one of them (use \`yarn why \` to get more information as to who depends on them): +${s}`);let o=t.startsWith("/")?a=>a.slice(1):a=>a;return n.replace(new RegExp(`(a|b)(${Ie.escapeRegExp(`/${o(t)}/`)})`,"g"),"$1/").replace(new RegExp(`(a|b)${Ie.escapeRegExp(`/${o(i)}/`)}`,"g"),"$1/").replace(new RegExp(Ie.escapeRegExp(`${t}/`),"g"),"").replace(new RegExp(Ie.escapeRegExp(`${i}/`),"g"),"")}function I1(r,e){let t=[];for(let{source:i}of r){if(i===null)continue;let n=PE(i);for(let s of n){let{semverExclusivity:o,...a}=s;o!==null&&e!==null&&!vt.satisfiesWithPrereleases(e,o)||t.push(JSON.stringify(a))}}return li.makeHash(`${3}`,...t).slice(0,6)}function tge(r,{configuration:e,report:t}){for(let i of r.parts)for(let n of i.lines)switch(i.type){case"context":t.reportInfo(null,` ${ee.pretty(e,n,"grey")}`);break;case"deletion":t.reportError(28,`- ${ee.pretty(e,n,ee.Type.REMOVED)}`);break;case"insertion":t.reportError(28,`+ ${ee.pretty(e,n,ee.Type.ADDED)}`);break;default:Ie.assertNever(i.type)}}var Gb=class{supports(e,t){return!!e.reference.startsWith("patch:")}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.patchPackage(e,t),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),localPath:this.getLocalPath(e,t),checksum:o}}async patchPackage(e,t){let{parentLocator:i,sourceLocator:n,sourceVersion:s,patchPaths:o}=kE(e),a=await RE(i,o,t),l=await M.mktempPromise(),c=x.join(l,"current.zip"),u=await t.fetcher.fetch(n,t),g=P.getIdentVendorPath(e),f=await sn(),h=new Wr(c,{libzip:f,create:!0,level:t.project.configuration.get("compressionLevel")});await Ie.releaseAfterUseAsync(async()=>{await h.copyPromise(g,u.prefixPath,{baseFs:u.packageFs,stableSort:!0})},u.releaseFs),h.saveAndClose();for(let{source:p,optional:C}of a){if(p===null)continue;let y=new Wr(c,{libzip:f,level:t.project.configuration.get("compressionLevel")}),B=new qt(x.resolve(Oe.root,g),{baseFs:y});try{await Hb(PE(p),{baseFs:B,version:s})}catch(v){if(!(v instanceof Ep))throw v;let D=t.project.configuration.get("enableInlineHunks"),L=!D&&!C?" (set enableInlineHunks for details)":"",H=`${P.prettyLocator(t.project.configuration,e)}: ${v.message}${L}`,j=$=>{!D||tge(v.hunk,{configuration:t.project.configuration,report:$})};if(y.discardAndClose(),C){t.report.reportWarningOnce(66,H,{reportExtra:j});continue}else throw new at(66,H,j)}y.saveAndClose()}return new Wr(c,{libzip:f,level:t.project.configuration.get("compressionLevel")})}};var Yb=class{supportsDescriptor(e,t){return!!e.range.startsWith("patch:")}supportsLocator(e,t){return!!e.reference.startsWith("patch:")}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,i){let{patchPaths:n}=DE(e);return n.every(s=>!C1(s))?e:P.bindDescriptor(e,{locator:P.stringifyLocator(t)})}getResolutionDependencies(e,t){let{sourceDescriptor:i}=DE(e);return[i]}async getCandidates(e,t,i){if(!i.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{parentLocator:n,sourceDescriptor:s,patchPaths:o}=DE(e),a=await RE(n,o,i.fetchOptions),l=t.get(s.descriptorHash);if(typeof l>"u")throw new Error("Assertion failed: The dependency should have been resolved");let c=I1(a,l.version);return[d1(e,{parentLocator:n,sourcePackage:l,patchPaths:o,patchHash:c})]}async getSatisfying(e,t,i){return null}async resolve(e,t){let{sourceLocator:i}=kE(e);return{...await t.resolver.resolve(i,t),...e}}};var sg=class extends De{constructor(){super(...arguments);this.save=z.Boolean("-s,--save",!1,{description:"Add the patch to your resolution entries"});this.patchFolder=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState();let s=x.resolve(this.context.cwd,K.toPortablePath(this.patchFolder)),o=x.join(s,"../source"),a=x.join(s,"../.yarn-patch.json");if(!M.existsSync(o))throw new be("The argument folder didn't get created by 'yarn patch'");let l=await E1(o,s),c=await M.readJsonPromise(a),u=P.parseLocator(c.locator,!0);if(!i.storedPackages.has(u.locatorHash))throw new be("No package found in the project for the given locator");if(!this.save){this.context.stdout.write(l);return}let g=t.get("patchFolder"),f=x.join(g,`${P.slugifyLocator(u)}.patch`);await M.mkdirPromise(g,{recursive:!0}),await M.writeFilePromise(f,l);let h=new Map;for(let p of i.storedPackages.values()){if(P.isVirtualLocator(p))continue;let C=p.dependencies.get(u.identHash);if(!C)continue;let y=P.isVirtualDescriptor(C)?P.devirtualizeDescriptor(C):C,B=h1(y),v=i.storedResolutions.get(B.descriptorHash);if(!v)throw new Error("Assertion failed: Expected the resolution to have been registered");if(!i.storedPackages.get(v))throw new Error("Assertion failed: Expected the package to have been registered");let L=i.originalPackages.get(p.locatorHash);if(!L)throw new Error("Assertion failed: Expected the original package to have been registered");let H=L.dependencies.get(C.identHash);if(!H)throw new Error("Assertion failed: Expected the original dependency to have been registered");h.set(H.descriptorHash,H)}for(let p of h.values()){let C=p1(p,{parentLocator:null,sourceDescriptor:P.convertLocatorToDescriptor(u),sourceVersion:null,patchPaths:[`./${x.relative(i.cwd,f)}`]});i.topLevelWorkspace.manifest.resolutions.push({pattern:{descriptor:{fullName:P.stringifyIdent(C),description:p.range}},reference:C.range})}await i.persist()}};sg.paths=[["patch-commit"]],sg.usage=ve.Usage({description:"generate a patch out of a directory",details:"\n By default, this will print a patchfile on stdout based on the diff between the folder passed in and the original version of the package. Such file is suitable for consumption with the `patch:` protocol.\n\n With the `-s,--save` option set, the patchfile won't be printed on stdout anymore and will instead be stored within a local file (by default kept within `.yarn/patches`, but configurable via the `patchFolder` setting). A `resolutions` entry will also be added to your top-level manifest, referencing the patched package via the `patch:` protocol.\n\n Note that only folders generated by `yarn patch` are accepted as valid input for `yarn patch-commit`.\n "});var og=class extends De{constructor(){super(...arguments);this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState();let o=P.parseLocator(this.package);if(o.reference==="unknown"){let a=Ie.mapAndFilter([...i.storedPackages.values()],l=>l.identHash!==o.identHash?Ie.mapAndFilter.skip:P.isVirtualLocator(l)?Ie.mapAndFilter.skip:l);if(a.length===0)throw new be("No package found in the project for the given locator");if(a.length>1)throw new be(`Multiple candidate packages found; explicitly choose one of them (use \`yarn why \` to get more information as to who depends on them): ${a.map(l=>` -- ${P.prettyLocator(t,l)}`).join("")}`);o=a[0]}if(!i.storedPackages.has(o.locatorHash))throw new be("No package found in the project for the given locator");await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout},async a=>{let l=await qM(o,{cache:s,project:i});a.reportJson({locator:P.stringifyLocator(o),path:K.fromPortablePath(l)}),a.reportInfo(0,`Package ${P.prettyLocator(t,o)} got extracted with success!`),a.reportInfo(0,`You can now edit the following folder: ${ee.pretty(t,K.fromPortablePath(l),"magenta")}`),a.reportInfo(0,`Once you are done run ${ee.pretty(t,`yarn patch-commit -s ${process.platform==="win32"?'"':""}${K.fromPortablePath(l)}${process.platform==="win32"?'"':""}`,"cyan")} and Yarn will store a patchfile based on your changes.`)})}};$u.paths=[["patch"]],$u.usage=ve.Usage({description:"prepare a package for patching",details:"\n This command will cause a package to be extracted in a temporary directory intended to be editable at will.\n \n Once you're done with your changes, run `yarn patch-commit -s ` (with `` being the temporary directory you received) to generate a patchfile and register it into your top-level manifest via the `patch:` protocol. Run `yarn patch-commit -h` for more details.\n "});var f6e={configuration:{enableInlineHunks:{description:"If true, the installs will print unmatched patch hunks",type:"BOOLEAN",default:!1},patchFolder:{description:"Folder where the patch files must be written",type:"ABSOLUTE_PATH",default:"./.yarn/patches"}},commands:[Zu,$u],fetchers:[vb],resolvers:[xb]},h6e=f6e;var ZM={};ut(ZM,{default:()=>C6e});var Pb=class{supportsPackage(e,t){return this.isEnabled(t)}async findPackageLocation(e,t){if(!this.isEnabled(t))throw new Error("Assertion failed: Expected the pnpm linker to be enabled");let i=XM(),n=t.project.installersCustomData.get(i);if(!n)throw new be(`The project in ${ee.pretty(t.project.configuration,`${t.project.cwd}/package.json`,ee.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let s=n.pathByLocator.get(e.locatorHash);if(typeof s>"u")throw new be(`Couldn't find ${P.prettyLocator(t.project.configuration,e)} in the currently installed pnpm map - running an install might help`);return s}async findPackageLocator(e,t){if(!this.isEnabled(t))return null;let i=XM(),n=t.project.installersCustomData.get(i);if(!n)throw new be(`The project in ${ee.pretty(t.project.configuration,`${t.project.cwd}/package.json`,ee.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let s=e.match(/(^.*\/node_modules\/(@[^/]*\/)?[^/]+)(\/.*$)/);if(s){let l=n.locatorByPath.get(s[1]);if(l)return l}let o=e,a=e;do{a=o,o=x.dirname(a);let l=n.locatorByPath.get(a);if(l)return l}while(o!==a);return null}makeInstaller(e){return new VM(e)}isEnabled(e){return e.project.configuration.get("nodeLinker")==="pnpm"}},VM=class{constructor(e){this.opts=e;this.asyncActions=new Ie.AsyncActions(10);this.customData={pathByLocator:new Map,locatorByPath:new Map}}getCustomDataKey(){return XM()}attachCustomData(e){}async installPackage(e,t,i){switch(e.linkType){case"SOFT":return this.installPackageSoft(e,t,i);case"HARD":return this.installPackageHard(e,t,i)}throw new Error("Assertion failed: Unsupported package link type")}async installPackageSoft(e,t,i){let n=x.resolve(t.packageFs.getRealPath(),t.prefixPath);return this.customData.pathByLocator.set(e.locatorHash,n),{packageLocation:n,buildDirective:null}}async installPackageHard(e,t,i){var u;let n=p6e(e,{project:this.opts.project});this.customData.locatorByPath.set(n,P.stringifyLocator(e)),this.customData.pathByLocator.set(e.locatorHash,n),i.holdFetchResult(this.asyncActions.set(e.locatorHash,async()=>{await M.mkdirPromise(n,{recursive:!0}),await M.copyPromise(n,t.prefixPath,{baseFs:t.packageFs,overwrite:!1})}));let o=P.isVirtualLocator(e)?P.devirtualizeLocator(e):e,a={manifest:(u=await ot.tryFind(t.prefixPath,{baseFs:t.packageFs}))!=null?u:new ot,misc:{hasBindingGyp:uo.hasBindingGyp(t)}},l=this.opts.project.getDependencyMeta(o,e.version),c=uo.extractBuildScripts(e,a,l,{configuration:this.opts.project.configuration,report:this.opts.report});return{packageLocation:n,buildDirective:c}}async attachInternalDependencies(e,t){this.opts.project.configuration.get("nodeLinker")==="pnpm"&&(!due(e,{project:this.opts.project})||this.asyncActions.reduce(e.locatorHash,async i=>{await i;let n=this.customData.pathByLocator.get(e.locatorHash);if(typeof n>"u")throw new Error(`Assertion failed: Expected the package to have been registered (${P.stringifyLocator(e)})`);let s=x.join(n,xt.nodeModules),o=[],a=await Cue(s);for(let[l,c]of t){let u=c;due(c,{project:this.opts.project})||(this.opts.report.reportWarningOnce(0,"The pnpm linker doesn't support providing different versions to workspaces' peer dependencies"),u=P.devirtualizeLocator(c));let g=this.customData.pathByLocator.get(u.locatorHash);if(typeof g>"u")throw new Error(`Assertion failed: Expected the package to have been registered (${P.stringifyLocator(c)})`);let f=P.stringifyIdent(l),h=x.join(s,f),p=x.relative(x.dirname(h),g),C=a.get(f);a.delete(f),o.push(Promise.resolve().then(async()=>{if(C){if(C.isSymbolicLink()&&await M.readlinkPromise(h)===p)return;await M.removePromise(h)}await M.mkdirpPromise(x.dirname(h)),process.platform=="win32"?await M.symlinkPromise(g,h,"junction"):await M.symlinkPromise(p,h)}))}o.push(mue(s,a)),await Promise.all(o)}))}async attachExternalDependents(e,t){throw new Error("External dependencies haven't been implemented for the pnpm linker")}async finalizeInstall(){let e=Iue(this.opts.project);if(this.opts.project.configuration.get("nodeLinker")!=="pnpm")await M.removePromise(e);else{let t=[],i=new Set;for(let s of this.customData.pathByLocator.values()){let o=x.contains(e,s);if(o!==null){let[a,,...l]=o.split(x.sep);i.add(a);let c=x.join(e,a);t.push(M.readdirPromise(c).then(u=>Promise.all(u.map(async g=>{let f=x.join(c,g);if(g===xt.nodeModules){let h=await Cue(f);return h.delete(l.join(x.sep)),mue(f,h)}else return M.removePromise(f)}))).catch(u=>{if(u.code!=="ENOENT")throw u}))}}let n;try{n=await M.readdirPromise(e)}catch{n=[]}for(let s of n)i.has(s)||t.push(M.removePromise(x.join(e,s)));await Promise.all(t)}return await this.asyncActions.wait(),await _M(e),this.opts.project.configuration.get("nodeLinker")!=="node-modules"&&await _M(Eue(this.opts.project)),{customData:this.customData}}};function XM(){return JSON.stringify({name:"PnpmInstaller",version:2})}function Eue(r){return x.join(r.cwd,xt.nodeModules)}function Iue(r){return x.join(Eue(r),".store")}function p6e(r,{project:e}){let t=P.slugifyLocator(r),i=P.getIdentVendorPath(r);return x.join(Iue(e),t,i)}function due(r,{project:e}){return!P.isVirtualLocator(r)||!e.tryWorkspaceByLocator(r)}async function Cue(r){let e=new Map,t=[];try{t=await M.readdirPromise(r,{withFileTypes:!0})}catch(i){if(i.code!=="ENOENT")throw i}try{for(let i of t)if(!i.name.startsWith("."))if(i.name.startsWith("@")){let n=await M.readdirPromise(x.join(r,i.name),{withFileTypes:!0});if(n.length===0)e.set(i.name,i);else for(let s of n)e.set(`${i.name}/${s.name}`,s)}else e.set(i.name,i)}catch(i){if(i.code!=="ENOENT")throw i}return e}async function mue(r,e){var n;let t=[],i=new Set;for(let s of e.keys()){t.push(M.removePromise(x.join(r,s)));let o=(n=P.tryParseIdent(s))==null?void 0:n.scope;o&&i.add(`@${o}`)}return Promise.all(t).then(()=>Promise.all([...i].map(s=>_M(x.join(r,s)))))}async function _M(r){try{await M.rmdirPromise(r)}catch(e){if(e.code!=="ENOENT"&&e.code!=="ENOTEMPTY")throw e}}var d6e={linkers:[Pb]},C6e=d6e;var rQ=()=>({modules:new Map([["@yarnpkg/cli",Qm],["@yarnpkg/core",VC],["@yarnpkg/fslib",Lp],["@yarnpkg/libzip",CC],["@yarnpkg/parsers",Yp],["@yarnpkg/shell",yC],["clipanion",JZ($p)],["semver",m6e],["typanion",gn],["yup",E6e],["@yarnpkg/plugin-essentials",GT],["@yarnpkg/plugin-compat",WT],["@yarnpkg/plugin-dlx",zT],["@yarnpkg/plugin-file",ZT],["@yarnpkg/plugin-git",HT],["@yarnpkg/plugin-github",$T],["@yarnpkg/plugin-http",eO],["@yarnpkg/plugin-init",nO],["@yarnpkg/plugin-link",sO],["@yarnpkg/plugin-nm",MO],["@yarnpkg/plugin-npm",LM],["@yarnpkg/plugin-npm-cli",KM],["@yarnpkg/plugin-pack",DM],["@yarnpkg/plugin-patch",zM],["@yarnpkg/plugin-pnp",vO],["@yarnpkg/plugin-pnpm",ZM]]),plugins:new Set(["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-dlx","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-link","@yarnpkg/plugin-nm","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp","@yarnpkg/plugin-pnpm"])});R0({binaryVersion:Lr||"",pluginConfiguration:rQ()});})(); +- ${P.prettyLocator(t,l)}`).join("")}`);o=a[0]}if(!i.storedPackages.has(o.locatorHash))throw new be("No package found in the project for the given locator");await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout},async a=>{let l=await m1(o,{cache:s,project:i});a.reportJson({locator:P.stringifyLocator(o),path:K.fromPortablePath(l)}),a.reportInfo(0,`Package ${P.prettyLocator(t,o)} got extracted with success!`),a.reportInfo(0,`You can now edit the following folder: ${ee.pretty(t,K.fromPortablePath(l),"magenta")}`),a.reportInfo(0,`Once you are done run ${ee.pretty(t,`yarn patch-commit -s ${process.platform==="win32"?'"':""}${K.fromPortablePath(l)}${process.platform==="win32"?'"':""}`,"cyan")} and Yarn will store a patchfile based on your changes.`)})}};og.paths=[["patch"]],og.usage=ve.Usage({description:"prepare a package for patching",details:"\n This command will cause a package to be extracted in a temporary directory intended to be editable at will.\n \n Once you're done with your changes, run `yarn patch-commit -s ` (with `` being the temporary directory you received) to generate a patchfile and register it into your top-level manifest via the `patch:` protocol. Run `yarn patch-commit -h` for more details.\n "});var m7e={configuration:{enableInlineHunks:{description:"If true, the installs will print unmatched patch hunks",type:"BOOLEAN",default:!1},patchFolder:{description:"Folder where the patch files must be written",type:"ABSOLUTE_PATH",default:"./.yarn/patches"}},commands:[sg,og],fetchers:[Gb],resolvers:[Yb]},E7e=m7e;var b1={};ut(b1,{default:()=>w7e});var jb=class{supportsPackage(e,t){return this.isEnabled(t)}async findPackageLocation(e,t){if(!this.isEnabled(t))throw new Error("Assertion failed: Expected the pnpm linker to be enabled");let i=B1(),n=t.project.installersCustomData.get(i);if(!n)throw new be(`The project in ${ee.pretty(t.project.configuration,`${t.project.cwd}/package.json`,ee.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let s=n.pathByLocator.get(e.locatorHash);if(typeof s>"u")throw new be(`Couldn't find ${P.prettyLocator(t.project.configuration,e)} in the currently installed pnpm map - running an install might help`);return s}async findPackageLocator(e,t){if(!this.isEnabled(t))return null;let i=B1(),n=t.project.installersCustomData.get(i);if(!n)throw new be(`The project in ${ee.pretty(t.project.configuration,`${t.project.cwd}/package.json`,ee.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let s=e.match(/(^.*\/node_modules\/(@[^/]*\/)?[^/]+)(\/.*$)/);if(s){let l=n.locatorByPath.get(s[1]);if(l)return l}let o=e,a=e;do{a=o,o=x.dirname(a);let l=n.locatorByPath.get(a);if(l)return l}while(o!==a);return null}makeInstaller(e){return new w1(e)}isEnabled(e){return e.project.configuration.get("nodeLinker")==="pnpm"}},w1=class{constructor(e){this.opts=e;this.asyncActions=new Ie.AsyncActions(10);this.customData={pathByLocator:new Map,locatorByPath:new Map}}getCustomDataKey(){return B1()}attachCustomData(e){}async installPackage(e,t,i){switch(e.linkType){case"SOFT":return this.installPackageSoft(e,t,i);case"HARD":return this.installPackageHard(e,t,i)}throw new Error("Assertion failed: Unsupported package link type")}async installPackageSoft(e,t,i){let n=x.resolve(t.packageFs.getRealPath(),t.prefixPath);return this.customData.pathByLocator.set(e.locatorHash,n),{packageLocation:n,buildDirective:null}}async installPackageHard(e,t,i){var u;let n=I7e(e,{project:this.opts.project});this.customData.locatorByPath.set(n,P.stringifyLocator(e)),this.customData.pathByLocator.set(e.locatorHash,n),i.holdFetchResult(this.asyncActions.set(e.locatorHash,async()=>{await M.mkdirPromise(n,{recursive:!0}),await M.copyPromise(n,t.prefixPath,{baseFs:t.packageFs,overwrite:!1})}));let o=P.isVirtualLocator(e)?P.devirtualizeLocator(e):e,a={manifest:(u=await ot.tryFind(t.prefixPath,{baseFs:t.packageFs}))!=null?u:new ot,misc:{hasBindingGyp:po.hasBindingGyp(t)}},l=this.opts.project.getDependencyMeta(o,e.version),c=po.extractBuildScripts(e,a,l,{configuration:this.opts.project.configuration,report:this.opts.report});return{packageLocation:n,buildDirective:c}}async attachInternalDependencies(e,t){this.opts.project.configuration.get("nodeLinker")==="pnpm"&&(!rge(e,{project:this.opts.project})||this.asyncActions.reduce(e.locatorHash,async i=>{await i;let n=this.customData.pathByLocator.get(e.locatorHash);if(typeof n>"u")throw new Error(`Assertion failed: Expected the package to have been registered (${P.stringifyLocator(e)})`);let s=x.join(n,xt.nodeModules),o=[],a=await ige(s);for(let[l,c]of t){let u=c;rge(c,{project:this.opts.project})||(this.opts.report.reportWarningOnce(0,"The pnpm linker doesn't support providing different versions to workspaces' peer dependencies"),u=P.devirtualizeLocator(c));let g=this.customData.pathByLocator.get(u.locatorHash);if(typeof g>"u")throw new Error(`Assertion failed: Expected the package to have been registered (${P.stringifyLocator(c)})`);let f=P.stringifyIdent(l),h=x.join(s,f),p=x.relative(x.dirname(h),g),C=a.get(f);a.delete(f),o.push(Promise.resolve().then(async()=>{if(C){if(C.isSymbolicLink()&&await M.readlinkPromise(h)===p)return;await M.removePromise(h)}await M.mkdirpPromise(x.dirname(h)),process.platform=="win32"?await M.symlinkPromise(g,h,"junction"):await M.symlinkPromise(p,h)}))}o.push(nge(s,a)),await Promise.all(o)}))}async attachExternalDependents(e,t){throw new Error("External dependencies haven't been implemented for the pnpm linker")}async finalizeInstall(){let e=oge(this.opts.project);if(this.opts.project.configuration.get("nodeLinker")!=="pnpm")await M.removePromise(e);else{let t=[],i=new Set;for(let s of this.customData.pathByLocator.values()){let o=x.contains(e,s);if(o!==null){let[a,,...l]=o.split(x.sep);i.add(a);let c=x.join(e,a);t.push(M.readdirPromise(c).then(u=>Promise.all(u.map(async g=>{let f=x.join(c,g);if(g===xt.nodeModules){let h=await ige(f);return h.delete(l.join(x.sep)),nge(f,h)}else return M.removePromise(f)}))).catch(u=>{if(u.code!=="ENOENT")throw u}))}}let n;try{n=await M.readdirPromise(e)}catch{n=[]}for(let s of n)i.has(s)||t.push(M.removePromise(x.join(e,s)));await Promise.all(t)}return await this.asyncActions.wait(),await Q1(e),this.opts.project.configuration.get("nodeLinker")!=="node-modules"&&await Q1(sge(this.opts.project)),{customData:this.customData}}};function B1(){return JSON.stringify({name:"PnpmInstaller",version:2})}function sge(r){return x.join(r.cwd,xt.nodeModules)}function oge(r){return x.join(sge(r),".store")}function I7e(r,{project:e}){let t=P.slugifyLocator(r),i=P.getIdentVendorPath(r);return x.join(oge(e),t,i)}function rge(r,{project:e}){return!P.isVirtualLocator(r)||!e.tryWorkspaceByLocator(r)}async function ige(r){let e=new Map,t=[];try{t=await M.readdirPromise(r,{withFileTypes:!0})}catch(i){if(i.code!=="ENOENT")throw i}try{for(let i of t)if(!i.name.startsWith("."))if(i.name.startsWith("@")){let n=await M.readdirPromise(x.join(r,i.name),{withFileTypes:!0});if(n.length===0)e.set(i.name,i);else for(let s of n)e.set(`${i.name}/${s.name}`,s)}else e.set(i.name,i)}catch(i){if(i.code!=="ENOENT")throw i}return e}async function nge(r,e){var n;let t=[],i=new Set;for(let s of e.keys()){t.push(M.removePromise(x.join(r,s)));let o=(n=P.tryParseIdent(s))==null?void 0:n.scope;o&&i.add(`@${o}`)}return Promise.all(t).then(()=>Promise.all([...i].map(s=>Q1(x.join(r,s)))))}async function Q1(r){try{await M.rmdirPromise(r)}catch(e){if(e.code!=="ENOENT"&&e.code!=="ENOTEMPTY")throw e}}var y7e={linkers:[jb]},w7e=y7e;var mQ=()=>({modules:new Map([["@yarnpkg/cli",Rm],["@yarnpkg/core",im],["@yarnpkg/fslib",qp],["@yarnpkg/libzip",SC],["@yarnpkg/parsers",$p],["@yarnpkg/shell",DC],["clipanion",k$(ld)],["semver",B7e],["typanion",gn],["yup",Q7e],["@yarnpkg/plugin-essentials",pO],["@yarnpkg/plugin-compat",IO],["@yarnpkg/plugin-dlx",yO],["@yarnpkg/plugin-file",bO],["@yarnpkg/plugin-git",hO],["@yarnpkg/plugin-github",SO],["@yarnpkg/plugin-http",vO],["@yarnpkg/plugin-init",kO],["@yarnpkg/plugin-link",RO],["@yarnpkg/plugin-nm",uM],["@yarnpkg/plugin-npm",A1],["@yarnpkg/plugin-npm-cli",g1],["@yarnpkg/plugin-pack",i1],["@yarnpkg/plugin-patch",y1],["@yarnpkg/plugin-pnp",eM],["@yarnpkg/plugin-pnpm",b1]]),plugins:new Set(["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-dlx","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-link","@yarnpkg/plugin-nm","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp","@yarnpkg/plugin-pnpm"])});z0({binaryVersion:Lr||"",pluginConfiguration:mQ()});})(); /*! * buildToken * Builds OAuth token prefix (helper function) diff --git a/.yarnrc.yml b/.yarnrc.yml index 6ad90c9d0a..bb8c49b097 100644 --- a/.yarnrc.yml +++ b/.yarnrc.yml @@ -8,4 +8,4 @@ plugins: - path: .yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs spec: "@yarnpkg/plugin-interactive-tools" -yarnPath: .yarn/releases/yarn-3.4.1.cjs +yarnPath: .yarn/releases/yarn-3.5.0.cjs diff --git a/build-scripts/bundle.js b/build-scripts/bundle.js index c02e03e8fc..fd4070ea59 100644 --- a/build-scripts/bundle.js +++ b/build-scripts/bundle.js @@ -2,6 +2,15 @@ const path = require("path"); const env = require("./env.js"); const paths = require("./paths.js"); +// GitHub base URL to use for production source maps +// Nightly builds use the commit SHA, otherwise assumes there is a tag that matches the version +module.exports.sourceMapURL = () => { + const ref = env.version().endsWith("dev") + ? process.env.GITHUB_SHA || "dev" + : env.version(); + return `https://raw.githubusercontent.com/home-assistant/frontend/${ref}`; +}; + // Files from NPM Packages that should not be imported // eslint-disable-next-line unused-imports/no-unused-vars module.exports.ignorePackages = ({ latestBuild }) => [ @@ -53,7 +62,7 @@ module.exports.definedVars = ({ isProdBuild, latestBuild, defineOverlay }) => ({ ...defineOverlay, }); -const htmlMinifierOptions = { +module.exports.htmlMinifierOptions = { caseSensitive: true, collapseWhitespace: true, conservativeCollapse: true, @@ -61,17 +70,18 @@ const htmlMinifierOptions = { removeComments: true, removeRedundantAttributes: true, minifyCSS: { - level: 0, + compatibility: "*,-properties.zeroUnits", }, }; -module.exports.terserOptions = (latestBuild) => ({ +module.exports.terserOptions = ({ latestBuild, isTestBuild }) => ({ safari10: !latestBuild, ecma: latestBuild ? undefined : 5, - output: { comments: false }, + format: { comments: false }, + sourceMap: !isTestBuild, }); -module.exports.babelOptions = ({ latestBuild, isProdBuild }) => ({ +module.exports.babelOptions = ({ latestBuild, isProdBuild, isTestBuild }) => ({ babelrc: false, compact: false, presets: [ @@ -125,7 +135,7 @@ module.exports.babelOptions = ({ latestBuild, isProdBuild }) => ({ "@polymer/polymer/lib/utils/html-tag": ["html"], }, strictCSS: true, - htmlMinifier: htmlMinifierOptions, + htmlMinifier: module.exports.htmlMinifierOptions, failOnError: true, // we can turn this off in case of false positives }, ], @@ -135,8 +145,11 @@ module.exports.babelOptions = ({ latestBuild, isProdBuild }) => ({ /node_modules[\\/]core-js/, /node_modules[\\/]webpack[\\/]buildin/, ], + sourceMaps: !isTestBuild, }); +const nameSuffix = (latestBuild) => (latestBuild ? "-latest" : "-es5"); + const outputPath = (outputRoot, latestBuild) => path.resolve(outputRoot, latestBuild ? "frontend_latest" : "frontend_es5"); @@ -159,14 +172,17 @@ BundleConfig { latestBuild: boolean, // If we're doing a stats build (create nice chunk names) isStatsBuild: boolean, + // If it's just a test build in CI, skip time on source map generation + isTestBuild: boolean, // Names of entrypoints that should not be hashed dontHash: Set } */ module.exports.config = { - app({ isProdBuild, latestBuild, isStatsBuild, isWDS }) { + app({ isProdBuild, latestBuild, isStatsBuild, isTestBuild, isWDS }) { return { + name: "app" + nameSuffix(latestBuild), entry: { service_worker: "./src/entrypoints/service_worker.ts", app: "./src/entrypoints/app.ts", @@ -180,12 +196,14 @@ module.exports.config = { isProdBuild, latestBuild, isStatsBuild, + isTestBuild, isWDS, }; }, demo({ isProdBuild, latestBuild, isStatsBuild }) { return { + name: "demo" + nameSuffix(latestBuild), entry: { main: path.resolve(paths.demo_dir, "src/entrypoint.ts"), }, @@ -215,6 +233,7 @@ module.exports.config = { } return { + name: "cast" + nameSuffix(latestBuild), entry, outputPath: outputPath(paths.cast_output_root, latestBuild), publicPath: publicPath(latestBuild), @@ -226,8 +245,9 @@ module.exports.config = { }; }, - hassio({ isProdBuild, latestBuild }) { + hassio({ isProdBuild, latestBuild, isStatsBuild, isTestBuild }) { return { + name: "supervisor" + nameSuffix(latestBuild), entry: { entrypoint: path.resolve(paths.hassio_dir, "src/entrypoint.ts"), }, @@ -235,6 +255,8 @@ module.exports.config = { publicPath: publicPath(latestBuild, paths.hassio_publicPath), isProdBuild, latestBuild, + isStatsBuild, + isTestBuild, isHassioBuild: true, defineOverlay: { __SUPERVISOR__: true, @@ -244,6 +266,7 @@ module.exports.config = { gallery({ isProdBuild, latestBuild }) { return { + name: "gallery" + nameSuffix(latestBuild), entry: { entrypoint: path.resolve(paths.gallery_dir, "src/entrypoint.js"), }, diff --git a/build-scripts/env.js b/build-scripts/env.js index 3f21328050..034e069181 100644 --- a/build-scripts/env.js +++ b/build-scripts/env.js @@ -17,7 +17,7 @@ module.exports = { isStatsBuild() { return process.env.STATS === "1"; }, - isTest() { + isTestBuild() { return process.env.IS_TEST === "true"; }, isNetlify() { diff --git a/build-scripts/gulp/app.js b/build-scripts/gulp/app.js index 2959ad6a55..f97a210930 100644 --- a/build-scripts/gulp/app.js +++ b/build-scripts/gulp/app.js @@ -1,8 +1,7 @@ // Run HA develop mode + const gulp = require("gulp"); - const env = require("../env"); - require("./clean.js"); require("./translations.js"); require("./locale-data.js"); @@ -50,7 +49,7 @@ gulp.task( "copy-static-app", env.useRollup() ? "rollup-prod-app" : "webpack-prod-app", // Don't compress running tests - ...(env.isTest() ? [] : ["compress-app"]), + ...(env.isTestBuild() ? [] : ["compress-app"]), gulp.parallel( "gen-pages-prod", "gen-index-app-prod", diff --git a/build-scripts/gulp/entry-html.js b/build-scripts/gulp/entry-html.js index 701e617627..14ead700c9 100644 --- a/build-scripts/gulp/entry-html.js +++ b/build-scripts/gulp/entry-html.js @@ -3,9 +3,10 @@ const gulp = require("gulp"); const fs = require("fs-extra"); const path = require("path"); const template = require("lodash.template"); -const minify = require("html-minifier").minify; +const { minify } = require("html-minifier-terser"); const paths = require("../paths.js"); const env = require("../env.js"); +const { htmlMinifierOptions, terserOptions } = require("../bundle.js"); const templatePath = (tpl) => path.resolve(paths.polymer_dir, "src/html/", `${tpl}.html.template`); @@ -39,10 +40,12 @@ const renderGalleryTemplate = (pth, data = {}) => const minifyHtml = (content) => minify(content, { - collapseWhitespace: true, - minifyJS: true, - minifyCSS: true, - removeComments: true, + ...htmlMinifierOptions, + conservativeCollapse: false, + minifyJS: terserOptions({ + latestBuild: false, // Shared scripts should be ES5 + isTestBuild: true, // Don't need source maps + }), }); const PAGES = ["onboarding", "authorize"]; @@ -63,7 +66,7 @@ gulp.task("gen-pages-dev", (done) => { done(); }); -gulp.task("gen-pages-prod", (done) => { +gulp.task("gen-pages-prod", async () => { const latestManifest = require(path.resolve( paths.app_output_latest, "manifest.json" @@ -73,19 +76,23 @@ gulp.task("gen-pages-prod", (done) => { "manifest.json" )); + const minifiedHTML = []; for (const page of PAGES) { const content = renderTemplate(page, { latestPageJS: latestManifest[`${page}.js`], - es5PageJS: es5Manifest[`${page}.js`], }); - fs.outputFileSync( - path.resolve(paths.app_output_root, `${page}.html`), - minifyHtml(content) + minifiedHTML.push( + minifyHtml(content).then((minified) => + fs.outputFileSync( + path.resolve(paths.app_output_root, `${page}.html`), + minified + ) + ) ); } - done(); + await Promise.all(minifiedHTML); }); gulp.task("gen-index-app-dev", (done) => { @@ -118,7 +125,7 @@ gulp.task("gen-index-app-dev", (done) => { done(); }); -gulp.task("gen-index-app-prod", (done) => { +gulp.task("gen-index-app-prod", async () => { const latestManifest = require(path.resolve( paths.app_output_latest, "manifest.json" @@ -136,13 +143,15 @@ gulp.task("gen-index-app-prod", (done) => { es5CoreJS: es5Manifest["core.js"], es5CustomPanelJS: es5Manifest["custom-panel.js"], }); - const minified = minifyHtml(content).replace(/#THEMEC/g, "{{ theme_color }}"); + const minified = (await minifyHtml(content)).replace( + /#THEMEC/g, + "{{ theme_color }}" + ); fs.outputFileSync( path.resolve(paths.app_output_root, "index.html"), minified ); - done(); }); gulp.task("gen-index-cast-dev", (done) => { @@ -244,7 +253,7 @@ gulp.task("gen-index-demo-dev", (done) => { done(); }); -gulp.task("gen-index-demo-prod", (done) => { +gulp.task("gen-index-demo-prod", async () => { const latestManifest = require(path.resolve( paths.demo_output_latest, "manifest.json" @@ -258,13 +267,12 @@ gulp.task("gen-index-demo-prod", (done) => { es5DemoJS: es5Manifest["main.js"], }); - const minified = minifyHtml(content); + const minified = await minifyHtml(content); fs.outputFileSync( path.resolve(paths.demo_output_root, "index.html"), minified ); - done(); }); gulp.task("gen-index-gallery-dev", (done) => { @@ -279,7 +287,7 @@ gulp.task("gen-index-gallery-dev", (done) => { done(); }); -gulp.task("gen-index-gallery-prod", (done) => { +gulp.task("gen-index-gallery-prod", async () => { const latestManifest = require(path.resolve( paths.gallery_output_latest, "manifest.json" @@ -287,13 +295,12 @@ gulp.task("gen-index-gallery-prod", (done) => { const content = renderGalleryTemplate("index", { latestGalleryJS: latestManifest["entrypoint.js"], }); - const minified = minifyHtml(content); + const minified = await minifyHtml(content); fs.outputFileSync( path.resolve(paths.gallery_output_root, "index.html"), minified ); - done(); }); gulp.task("gen-index-hassio-dev", async () => { diff --git a/build-scripts/gulp/gallery.js b/build-scripts/gulp/gallery.js index 37b1e32524..a1529ff7ec 100644 --- a/build-scripts/gulp/gallery.js +++ b/build-scripts/gulp/gallery.js @@ -20,7 +20,7 @@ require("./rollup.js"); gulp.task("gather-gallery-pages", async function gatherPages() { const pageDir = path.resolve(paths.gallery_dir, "src/pages"); - const files = glob.sync(path.resolve(pageDir, "**/*")); + const files = await glob(path.resolve(pageDir, "**/*")); const galleryBuild = path.resolve(paths.gallery_dir, "build"); fs.mkdirSync(galleryBuild, { recursive: true }); diff --git a/build-scripts/gulp/hassio.js b/build-scripts/gulp/hassio.js index 5b5e31650d..e1bfcb86e6 100644 --- a/build-scripts/gulp/hassio.js +++ b/build-scripts/gulp/hassio.js @@ -1,7 +1,5 @@ const gulp = require("gulp"); - const env = require("../env"); - require("./clean.js"); require("./gen-icons-json.js"); require("./webpack.js"); @@ -43,6 +41,6 @@ gulp.task( env.useRollup() ? "rollup-prod-hassio" : "webpack-prod-hassio", "gen-index-hassio-prod", ...// Don't compress running tests - (env.isTest() ? [] : ["compress-hassio"]) + (env.isTestBuild() ? [] : ["compress-hassio"]) ) ); diff --git a/build-scripts/gulp/webpack.js b/build-scripts/gulp/webpack.js index 051fe07fa5..ed9fdb3ba6 100644 --- a/build-scripts/gulp/webpack.js +++ b/build-scripts/gulp/webpack.js @@ -5,6 +5,7 @@ const webpack = require("webpack"); const WebpackDevServer = require("webpack-dev-server"); const log = require("fancy-log"); const path = require("path"); +const env = require("../env"); const paths = require("../paths"); const { createAppConfig, @@ -104,6 +105,8 @@ gulp.task("webpack-prod-app", () => prodBuild( bothBuilds(createAppConfig, { isProdBuild: true, + isStatsBuild: env.isStatsBuild(), + isTestBuild: env.isTestBuild(), }) ) ); @@ -161,6 +164,8 @@ gulp.task("webpack-prod-hassio", () => prodBuild( bothBuilds(createHassioConfig, { isProdBuild: true, + isStatsBuild: env.isStatsBuild(), + isTestBuild: env.isTestBuild(), }) ) ); diff --git a/build-scripts/rollup.js b/build-scripts/rollup.js index ed030a774a..dbc21dad9c 100644 --- a/build-scripts/rollup.js +++ b/build-scripts/rollup.js @@ -39,7 +39,7 @@ const createRollupConfig = ({ inputOptions: { input: entry, // Some entry points contain no JavaScript. This setting silences a warning about that. - // https://rollupjs.org/guide/en/#preserveentrysignatures + // https://rollupjs.org/configuration-options/#preserveentrysignatures preserveEntrySignatures: false, plugins: [ ignore({ @@ -76,7 +76,7 @@ const createRollupConfig = ({ }), !isWDS && worker(), !isWDS && dontHashPlugin({ dontHash }), - !isWDS && isProdBuild && terser(bundle.terserOptions(latestBuild)), + !isWDS && isProdBuild && terser(bundle.terserOptions({ latestBuild })), !isWDS && isStatsBuild && visualizer({ @@ -90,20 +90,20 @@ const createRollupConfig = ({ * @type { import("rollup").OutputOptions } */ outputOptions: { - // https://rollupjs.org/guide/en/#outputdir + // https://rollupjs.org/configuration-options/#output-dir dir: outputPath, - // https://rollupjs.org/guide/en/#outputformat + // https://rollupjs.org/configuration-options/#output-format format: latestBuild ? "es" : "systemjs", - // https://rollupjs.org/guide/en/#outputexternallivebindings + // https://rollupjs.org/configuration-options/#output-externallivebindings externalLiveBindings: false, - // https://rollupjs.org/guide/en/#outputentryfilenames - // https://rollupjs.org/guide/en/#outputchunkfilenames - // https://rollupjs.org/guide/en/#outputassetfilenames + // https://rollupjs.org/configuration-options/#output-entryfilenames + // https://rollupjs.org/configuration-options/#output-chunkfilenames + // https://rollupjs.org/configuration-options/#output-assetfilenames entryFileNames: isProdBuild && !isStatsBuild ? "[name]-[hash].js" : "[name].js", chunkFileNames: isProdBuild && !isStatsBuild ? "c.[hash].js" : "[name].js", assetFileNames: isProdBuild && !isStatsBuild ? "a.[hash].js" : "[name].js", - // https://rollupjs.org/guide/en/#outputsourcemap + // https://rollupjs.org/configuration-options/#output-sourcemap sourcemap: isProdBuild ? true : "inline", }, }); diff --git a/build-scripts/webpack.js b/build-scripts/webpack.js index 77b78a1dc7..bce6291b98 100644 --- a/build-scripts/webpack.js +++ b/build-scripts/webpack.js @@ -22,6 +22,7 @@ class LogStartCompilePlugin { } const createWebpackConfig = ({ + name, entry, outputPath, publicPath, @@ -29,6 +30,7 @@ const createWebpackConfig = ({ isProdBuild, latestBuild, isStatsBuild, + isTestBuild, isHassioBuild, dontHash, }) => { @@ -37,10 +39,16 @@ const createWebpackConfig = ({ } const ignorePackages = bundle.ignorePackages({ latestBuild }); return { + name, mode: isProdBuild ? "production" : "development", target: ["web", latestBuild ? "es2017" : "es5"], - devtool: isProdBuild - ? "cheap-module-source-map" + // For tests/CI, source maps are skipped to gain build speed + // For production, generate source maps for accurate stack traces without source code + // For development, generate "cheap" versions that can map to original line numbers + devtool: isTestBuild + ? false + : isProdBuild + ? "nosources-source-map" : "eval-cheap-module-source-map", entry, node: false, @@ -51,7 +59,7 @@ const createWebpackConfig = ({ use: { loader: "babel-loader", options: { - ...bundle.babelOptions({ latestBuild, isProdBuild }), + ...bundle.babelOptions({ latestBuild, isProdBuild, isTestBuild }), cacheDirectory: !isProdBuild, cacheCompression: false, }, @@ -68,7 +76,7 @@ const createWebpackConfig = ({ new TerserPlugin({ parallel: true, extractComments: true, - terserOptions: bundle.terserOptions(latestBuild), + terserOptions: bundle.terserOptions({ latestBuild, isTestBuild }), }), ], moduleIds: isProdBuild && !isStatsBuild ? "deterministic" : "named", @@ -153,6 +161,22 @@ const createWebpackConfig = ({ publicPath, // To silence warning in worker plugin globalObject: "self", + // Since production source maps don't include sources, we need to point to them elsewhere + // For dependencies, just provide the path (no source in browser) + // Otherwise, point to the raw code on GitHub for browser to load + devtoolModuleFilenameTemplate: + !isTestBuild && isProdBuild + ? (info) => { + const sourcePath = info.resourcePath.replace(/^\.\//, ""); + if ( + sourcePath.startsWith("node_modules") || + sourcePath.startsWith("webpack") + ) { + return `no-source/${sourcePath}`; + } + return `${bundle.sourceMapURL()}/${sourcePath}`; + } + : undefined, }, experiments: { topLevelAwait: true, @@ -160,9 +184,14 @@ const createWebpackConfig = ({ }; }; -const createAppConfig = ({ isProdBuild, latestBuild, isStatsBuild }) => +const createAppConfig = ({ + isProdBuild, + latestBuild, + isStatsBuild, + isTestBuild, +}) => createWebpackConfig( - bundle.config.app({ isProdBuild, latestBuild, isStatsBuild }) + bundle.config.app({ isProdBuild, latestBuild, isStatsBuild, isTestBuild }) ); const createDemoConfig = ({ isProdBuild, latestBuild, isStatsBuild }) => @@ -173,8 +202,20 @@ const createDemoConfig = ({ isProdBuild, latestBuild, isStatsBuild }) => const createCastConfig = ({ isProdBuild, latestBuild }) => createWebpackConfig(bundle.config.cast({ isProdBuild, latestBuild })); -const createHassioConfig = ({ isProdBuild, latestBuild }) => - createWebpackConfig(bundle.config.hassio({ isProdBuild, latestBuild })); +const createHassioConfig = ({ + isProdBuild, + latestBuild, + isStatsBuild, + isTestBuild, +}) => + createWebpackConfig( + bundle.config.hassio({ + isProdBuild, + latestBuild, + isStatsBuild, + isTestBuild, + }) + ); const createGalleryConfig = ({ isProdBuild, latestBuild }) => createWebpackConfig(bundle.config.gallery({ isProdBuild, latestBuild })); diff --git a/demo/src/stubs/history.ts b/demo/src/stubs/history.ts index 0daccb4d80..b7c660d2ea 100644 --- a/demo/src/stubs/history.ts +++ b/demo/src/stubs/history.ts @@ -1,39 +1,19 @@ import { HassEntity } from "home-assistant-js-websocket"; +import { HistoryStates } from "../../../src/data/history"; import { MockHomeAssistant } from "../../../src/fake_data/provide_hass"; -interface HistoryQueryParams { - filter_entity_id: string; - end_time: string; -} - -const parseQuery = (queryString: string) => { - const query: any = {}; - const items = queryString.split("&"); - for (const item of items) { - const parts = item.split("="); - const key = decodeURIComponent(parts[0]); - const value = parts.length > 1 ? decodeURIComponent(parts[1]) : undefined; - query[key] = value; - } - return query as T; -}; - -const getTime = (minutesAgo) => { - const ts = new Date(Date.now() - minutesAgo * 60 * 1000); - return ts.toISOString(); -}; - -const randomTimeAdjustment = (diff) => Math.random() * diff - diff / 2; - -const maxTime = 1440; - -const generateHistory = (state, deltas) => { +const generateStateHistory = ( + state: HassEntity, + deltas, + start_date: Date, + end_date: Date +) => { const changes = typeof deltas[0] === "object" ? deltas : deltas.map((st) => ({ state: st })); - const timeDiff = 900 / changes.length; + const timeDiff = (end_date.getTime() - start_date.getTime()) / changes.length; return changes.map((change, index) => { let attributes; @@ -47,17 +27,13 @@ const generateHistory = (state, deltas) => { attributes = { ...state.attributes, ...change.attributes }; } - const time = - index === 0 - ? getTime(maxTime) - : getTime(maxTime - index * timeDiff + randomTimeAdjustment(timeDiff)); + const time = start_date.getTime() + timeDiff * index; return { - attributes, - entity_id: state.entity_id, - state: change.state || state.state, - last_changed: time, - last_updated: time, + a: attributes, + s: change.state || state.state, + lc: time / 1000, + lu: time / 1000, }; }); }; @@ -65,15 +41,29 @@ const generateHistory = (state, deltas) => { const incrementalUnits = ["clients", "queries", "ads"]; export const mockHistory = (mockHass: MockHomeAssistant) => { - mockHass.mockAPI( - /history\/period\/.+/, - (hass, _method, path, _parameters) => { - const params = parseQuery(path.split("?")[1]); - const entities = params.filter_entity_id.split(","); + mockHass.mockWS( + "history/stream", + ( + { + entity_ids, + start_time, + end_time, + }: { + entity_ids: string[]; + start_time: string; + end_time?: string; + }, + hass, + onChange + ) => { + const states: HistoryStates = {}; - const results: HassEntity[][] = []; + const start = new Date(start_time); + const end = end_time ? new Date(end_time) : new Date(); + + for (const entityId of entity_ids) { + states[entityId] = []; - for (const entityId of entities) { const state = hass.states[entityId]; if (!state) { @@ -81,7 +71,12 @@ export const mockHistory = (mockHass: MockHomeAssistant) => { } if (!state.attributes.unit_of_measurement) { - results.push(generateHistory(state, [state.state])); + states[entityId] = generateStateHistory( + state, + [state.state], + start, + end + ); continue; } @@ -120,17 +115,23 @@ export const mockHistory = (mockHass: MockHomeAssistant) => { numberState - diff + Math.floor(Math.random() * 2 * diff); } - results.push( - generateHistory( - { - entity_id: state.entity_id, - attributes: state.attributes, - }, - Array.from({ length: statesToGenerate }, genFunc) - ) + states[entityId] = generateStateHistory( + state, + Array.from({ length: statesToGenerate }, genFunc), + start, + end ); } - return results; + + setTimeout(() => { + onChange?.({ + states, + start_time: start, + end_time: end, + }); + }, 1); + + return () => {}; } ); }; diff --git a/gallery/src/pages/components/ha-control-select.markdown b/gallery/src/pages/components/ha-control-select.markdown new file mode 100644 index 0000000000..92def91fbe --- /dev/null +++ b/gallery/src/pages/components/ha-control-select.markdown @@ -0,0 +1,3 @@ +--- +title: Control Select +--- diff --git a/gallery/src/pages/components/ha-control-select.ts b/gallery/src/pages/components/ha-control-select.ts new file mode 100644 index 0000000000..2f9eda7564 --- /dev/null +++ b/gallery/src/pages/components/ha-control-select.ts @@ -0,0 +1,212 @@ +import { mdiFanOff, mdiFanSpeed1, mdiFanSpeed2, mdiFanSpeed3 } from "@mdi/js"; +import { css, html, LitElement, TemplateResult } from "lit"; +import { customElement, state } from "lit/decorators"; +import { ifDefined } from "lit/directives/if-defined"; +import { repeat } from "lit/directives/repeat"; +import "../../../../src/components/ha-card"; +import "../../../../src/components/ha-control-select"; +import type { ControlSelectOption } from "../../../../src/components/ha-control-select"; + +const fullOptions: ControlSelectOption[] = [ + { + value: "off", + label: "Off", + path: mdiFanOff, + }, + { + value: "low", + label: "Low", + path: mdiFanSpeed1, + }, + { + value: "medium", + label: "Medium", + path: mdiFanSpeed2, + }, + { + value: "high", + label: "High", + path: mdiFanSpeed3, + }, +]; + +const iconOptions: ControlSelectOption[] = [ + { + value: "off", + path: mdiFanOff, + }, + { + value: "low", + path: mdiFanSpeed1, + }, + { + value: "medium", + path: mdiFanSpeed2, + }, + { + value: "high", + path: mdiFanSpeed3, + }, +]; + +const labelOptions: ControlSelectOption[] = [ + { + value: "off", + label: "Off", + }, + { + value: "low", + label: "Low", + }, + { + value: "medium", + label: "Medium", + }, + { + value: "high", + label: "High", + }, +]; + +const selects: { + id: string; + label: string; + class?: string; + options: ControlSelectOption[]; + disabled?: boolean; +}[] = [ + { + id: "label", + label: "Select with labels", + options: labelOptions, + }, + { + id: "icon", + label: "Select with icons", + options: iconOptions, + }, + { + id: "icon", + label: "Disabled select", + options: iconOptions, + disabled: true, + }, + { + id: "custom", + label: "Select and custom style", + class: "custom", + options: fullOptions, + }, +]; + +@customElement("demo-components-ha-control-select") +export class DemoHaControlSelect extends LitElement { + @state() private value?: string = "off"; + + handleValueChanged(e: CustomEvent) { + this.value = e.detail.value as string; + } + + protected render(): TemplateResult { + return html` + +
+

Slider values

+ + + + + + + +
value${this.value ?? "-"}
+
+
+ ${repeat(selects, (select) => { + const { id, label, options, ...config } = select; + return html` + +
+ +
Config: ${JSON.stringify(config)}
+ + +
+
+ `; + })} + +
+

Vertical

+
+ ${repeat(selects, (select) => { + const { id, label, options, ...config } = select; + return html` + + + `; + })} +
+
+
+ `; + } + + static get styles() { + return css` + ha-card { + max-width: 600px; + margin: 24px auto; + } + pre { + margin-top: 0; + margin-bottom: 8px; + } + p { + margin: 0; + } + label { + font-weight: 600; + } + .custom { + --mdc-icon-size: 24px; + --control-select-color: var(--state-fan-active-color); + --control-select-thickness: 100px; + --control-select-border-radius: 24px; + } + .vertical-selects { + height: 300px; + display: flex; + flex-direction: row; + justify-content: space-between; + } + p.title { + margin-bottom: 12px; + } + .vertical-selects > *:not(:last-child) { + margin-right: 4px; + } + `; + } +} + +declare global { + interface HTMLElementTagNameMap { + "demo-components-ha-control-select": DemoHaControlSelect; + } +} diff --git a/hassio/src/addon-view/config/hassio-addon-audio.ts b/hassio/src/addon-view/config/hassio-addon-audio.ts index 63a93314cf..c36d93b210 100644 --- a/hassio/src/addon-view/config/hassio-addon-audio.ts +++ b/hassio/src/addon-view/config/hassio-addon-audio.ts @@ -114,9 +114,6 @@ class HassioAddonAudio extends LitElement { ha-card { display: block; } - paper-item { - width: 450px; - } .card-actions { text-align: right; } diff --git a/hassio/src/backups/hassio-backups.ts b/hassio/src/backups/hassio-backups.ts index bca0160b64..eedfad61e2 100644 --- a/hassio/src/backups/hassio-backups.ts +++ b/hassio/src/backups/hassio-backups.ts @@ -248,9 +248,9 @@ export class HassioBackups extends LitElement { class="warning" @click=${this._deleteSelected} > - + ${this.supervisor.localize("backup.delete_selected")} - + `} ` diff --git a/hassio/src/dialogs/markdown/dialog-hassio-markdown.ts b/hassio/src/dialogs/markdown/dialog-hassio-markdown.ts index 2d8c43c614..3791ffd2e0 100644 --- a/hassio/src/dialogs/markdown/dialog-hassio-markdown.ts +++ b/hassio/src/dialogs/markdown/dialog-hassio-markdown.ts @@ -50,20 +50,7 @@ class HassioMarkdownDialog extends LitElement { haStyleDialog, hassioStyle, css` - app-toolbar { - margin: 0; - padding: 0 16px; - color: var(--primary-text-color); - background-color: var(--secondary-background-color); - } - app-toolbar [main-title] { - margin-left: 16px; - } @media all and (max-width: 450px), all and (max-height: 500px) { - app-toolbar { - color: var(--text-primary-color); - background-color: var(--primary-color); - } ha-markdown { padding: 16px; } diff --git a/hassio/src/dialogs/network/dialog-hassio-network.ts b/hassio/src/dialogs/network/dialog-hassio-network.ts index b8d949daf1..027b8b53ab 100644 --- a/hassio/src/dialogs/network/dialog-hassio-network.ts +++ b/hassio/src/dialogs/network/dialog-hassio-network.ts @@ -597,10 +597,6 @@ export class DialogHassioNetwork margin-left: 8px; } - :host([rtl]) app-toolbar { - direction: rtl; - text-align: right; - } .container { padding: 0 8px 4px; } diff --git a/hassio/src/dialogs/repositories/dialog-hassio-repositories.ts b/hassio/src/dialogs/repositories/dialog-hassio-repositories.ts index dec2f33cf2..a97cb0907d 100644 --- a/hassio/src/dialogs/repositories/dialog-hassio-repositories.ts +++ b/hassio/src/dialogs/repositories/dialog-hassio-repositories.ts @@ -4,7 +4,7 @@ import "@polymer/paper-input/paper-input"; import type { PaperInputElement } from "@polymer/paper-input/paper-input"; import "@polymer/paper-item/paper-item"; import "@polymer/paper-item/paper-item-body"; -import "@polymer/paper-tooltip/paper-tooltip"; +import "@lrnwebcomponents/simple-tooltip/simple-tooltip"; import { css, CSSResultGroup, html, LitElement, nothing } from "lit"; import { customElement, property, query, state } from "lit/decorators"; import memoizeOne from "memoize-one"; @@ -128,7 +128,7 @@ class HassioRepositoriesDialog extends LitElement { @click=${this._removeRepository} > - + ` diff --git a/package.json b/package.json index b74288b48d..58513dbc1d 100644 --- a/package.json +++ b/package.json @@ -26,12 +26,12 @@ "dependencies": { "@braintree/sanitize-url": "6.0.2", "@codemirror/autocomplete": "6.4.2", - "@codemirror/commands": "6.2.1", + "@codemirror/commands": "6.2.2", "@codemirror/language": "6.6.0", - "@codemirror/legacy-modes": "6.3.1", - "@codemirror/search": "6.2.3", + "@codemirror/legacy-modes": "6.3.2", + "@codemirror/search": "6.3.0", "@codemirror/state": "6.2.0", - "@codemirror/view": "6.9.1", + "@codemirror/view": "6.9.3", "@egjs/hammerjs": "2.0.17", "@formatjs/intl-datetimeformat": "6.5.1", "@formatjs/intl-getcanonicallocales": "2.1.0", @@ -39,14 +39,16 @@ "@formatjs/intl-numberformat": "8.3.5", "@formatjs/intl-pluralrules": "5.1.10", "@formatjs/intl-relativetimeformat": "11.1.10", - "@fullcalendar/core": "6.1.4", - "@fullcalendar/daygrid": "6.1.4", - "@fullcalendar/interaction": "6.1.4", - "@fullcalendar/list": "6.1.4", - "@fullcalendar/timegrid": "6.1.4", - "@lezer/highlight": "1.1.3", + "@fullcalendar/core": "6.1.5", + "@fullcalendar/daygrid": "6.1.5", + "@fullcalendar/interaction": "6.1.5", + "@fullcalendar/list": "6.1.5", + "@fullcalendar/timegrid": "6.1.5", + "@lezer/highlight": "1.1.4", + "@lit-labs/context": "0.3.0", "@lit-labs/motion": "1.0.3", "@lit-labs/virtualizer": "1.0.1", + "@lrnwebcomponents/simple-tooltip": "4.1.0", "@material/chips": "=14.0.0-canary.53b3cad2f.0", "@material/data-table": "=14.0.0-canary.53b3cad2f.0", "@material/mwc-button": "0.27.0", @@ -69,28 +71,26 @@ "@material/mwc-tab-bar": "0.27.0", "@material/mwc-textarea": "0.27.0", "@material/mwc-textfield": "0.27.0", + "@material/mwc-top-app-bar": "0.27.0", "@material/mwc-top-app-bar-fixed": "0.27.0", "@material/top-app-bar": "=14.0.0-canary.53b3cad2f.0", - "@material/web": "=1.0.0-pre.3", - "@mdi/js": "7.1.96", - "@mdi/svg": "7.1.96", + "@material/web": "=1.0.0-pre.4", + "@mdi/js": "7.2.96", + "@mdi/svg": "7.2.96", "@polymer/app-layout": "3.1.0", "@polymer/iron-flex-layout": "3.0.1", - "@polymer/iron-icon": "3.0.1", "@polymer/iron-input": "3.0.1", "@polymer/iron-resizable-behavior": "3.0.1", "@polymer/paper-input": "3.2.1", "@polymer/paper-item": "3.0.1", "@polymer/paper-listbox": "3.0.1", "@polymer/paper-slider": "3.0.1", - "@polymer/paper-styles": "3.0.1", "@polymer/paper-tabs": "3.1.0", "@polymer/paper-toast": "3.0.1", - "@polymer/paper-tooltip": "3.0.1", - "@polymer/polymer": "3.4.1", + "@polymer/polymer": "3.5.1", "@thomasloven/round-slider": "0.6.0", - "@vaadin/combo-box": "23.3.8", - "@vaadin/vaadin-themable-mixin": "23.3.8", + "@vaadin/combo-box": "23.3.9", + "@vaadin/vaadin-themable-mixin": "23.3.9", "@vibrant/color": "3.2.1-alpha.1", "@vibrant/core": "3.2.1-alpha.1", "@vibrant/quantizer-mmcq": "3.2.1-alpha.1", @@ -100,7 +100,7 @@ "app-datepicker": "5.1.1", "chart.js": "3.3.2", "comlink": "4.4.1", - "core-js": "3.29.0", + "core-js": "3.29.1", "cropperjs": "1.5.13", "date-fns": "2.29.3", "date-fns-tz": "2.0.0", @@ -108,15 +108,15 @@ "deep-freeze": "0.0.1", "fuse.js": "6.6.2", "google-timezones-json": "1.0.2", - "hls.js": "1.3.4", + "hls.js": "1.3.5", "home-assistant-js-websocket": "8.0.1", "idb-keyval": "6.2.0", - "intl-messageformat": "10.3.1", + "intl-messageformat": "10.3.3", "js-yaml": "4.1.0", "leaflet": "1.9.3", "leaflet-draw": "1.0.4", - "lit": "2.6.1", - "marked": "4.2.12", + "lit": "2.7.0", + "marked": "4.3.0", "memoize-one": "6.0.0", "node-vibrant": "3.2.1-alpha.1", "proxy-polyfill": "0.3.2", @@ -133,8 +133,8 @@ "tsparticles-engine": "2.9.3", "tsparticles-preset-links": "2.9.3", "unfetch": "5.0.0", - "vis-data": "7.1.4", - "vis-network": "9.1.4", + "vis-data": "7.1.6", + "vis-network": "9.1.6", "vue": "2.7.14", "vue2-daterange-picker": "0.6.8", "weekstart": "2.0.0", @@ -147,7 +147,7 @@ "xss": "1.0.14" }, "devDependencies": { - "@babel/core": "7.21.0", + "@babel/core": "7.21.3", "@babel/plugin-external-helpers": "7.18.6", "@babel/plugin-proposal-class-properties": "7.18.6", "@babel/plugin-proposal-decorators": "7.21.0", @@ -162,7 +162,7 @@ "@koa/cors": "4.0.0", "@octokit/auth-oauth-device": "4.0.4", "@octokit/rest": "19.0.7", - "@open-wc/dev-server-hmr": "0.1.3", + "@open-wc/dev-server-hmr": "0.1.4", "@rollup/plugin-babel": "6.0.3", "@rollup/plugin-commonjs": "24.0.1", "@rollup/plugin-json": "6.0.0", @@ -172,50 +172,51 @@ "@types/chromecast-caf-sender": "1.0.5", "@types/esprima": "4.0.3", "@types/glob": "8.1.0", + "@types/html-minifier-terser": "7.0.0", "@types/js-yaml": "4.0.5", - "@types/leaflet": "1.9.1", + "@types/leaflet": "1.9.3", "@types/leaflet-draw": "1.0.6", "@types/marked": "4.0.8", "@types/mocha": "10.0.1", "@types/qrcode": "1.5.0", "@types/serve-handler": "6.1.1", - "@types/sortablejs": "1.15.0", + "@types/sortablejs": "1.15.1", "@types/tar": "6.1.4", "@types/webspeechapi": "0.0.29", - "@typescript-eslint/eslint-plugin": "5.54.0", - "@typescript-eslint/parser": "5.54.0", - "@web/dev-server": "0.1.35", - "@web/dev-server-rollup": "0.3.21", + "@typescript-eslint/eslint-plugin": "5.56.0", + "@typescript-eslint/parser": "5.56.0", + "@web/dev-server": "0.1.36", + "@web/dev-server-rollup": "0.4.0", "babel-loader": "9.1.2", "babel-plugin-template-html-minifier": "4.1.0", "chai": "4.3.7", "del": "7.0.0", - "eslint": "8.35.0", + "eslint": "8.36.0", "eslint-config-airbnb-base": "15.0.0", "eslint-config-airbnb-typescript": "17.0.0", - "eslint-config-prettier": "8.7.0", + "eslint-config-prettier": "8.8.0", "eslint-import-resolver-webpack": "0.13.2", "eslint-plugin-disable": "2.0.3", "eslint-plugin-import": "2.27.5", "eslint-plugin-lit": "1.8.2", - "eslint-plugin-lit-a11y": "2.3.0", + "eslint-plugin-lit-a11y": "2.4.0", "eslint-plugin-unused-imports": "2.0.0", "eslint-plugin-wc": "1.4.0", "esprima": "4.0.1", "fancy-log": "2.0.0", - "fs-extra": "11.1.0", - "glob": "8.1.0", + "fs-extra": "11.1.1", + "glob": "9.3.2", "gulp": "4.0.2", "gulp-flatmap": "1.0.2", "gulp-json-transform": "0.4.8", "gulp-merge-json": "2.1.2", "gulp-rename": "2.0.0", "gulp-zopfli-green": "6.0.1", - "html-minifier": "4.0.0", + "html-minifier-terser": "7.1.0", "husky": "8.0.3", "instant-mocha": "1.5.0", "jszip": "3.10.1", - "lint-staged": "13.1.2", + "lint-staged": "13.2.0", "lit-analyzer": "1.2.1", "lodash.template": "4.5.0", "magic-string": "0.30.0", @@ -225,37 +226,38 @@ "object-hash": "3.0.0", "open": "8.4.2", "pinst": "3.0.0", - "prettier": "2.8.4", + "prettier": "2.8.7", "require-dir": "1.2.0", "rollup": "2.79.1", "rollup-plugin-string": "3.0.0", - "rollup-plugin-terser": "5.3.1", + "rollup-plugin-terser": "7.0.2", "rollup-plugin-visualizer": "5.9.0", "serve-handler": "6.1.5", - "sinon": "15.0.1", + "sinon": "15.0.2", "source-map-url": "0.4.1", - "systemjs": "6.14.0", + "systemjs": "6.14.1", "tar": "6.1.13", - "terser-webpack-plugin": "5.3.6", + "terser-webpack-plugin": "5.3.7", "ts-lit-plugin": "1.2.1", "typescript": "4.9.5", "vinyl-buffer": "1.0.1", "vinyl-source-stream": "2.0.0", "webpack": "=5.72.1", "webpack-cli": "5.0.1", - "webpack-dev-server": "4.11.1", + "webpack-dev-server": "4.13.1", "webpack-manifest-plugin": "5.0.0", "webpackbar": "5.0.2", "workbox-build": "6.5.4" }, "_comment": "Polymer 3.2 contained a bug, fixed in https://github.com/Polymer/polymer/pull/5569, add as patch", "resolutions": { - "@polymer/polymer": "patch:@polymer/polymer@3.4.1#./.yarn/patches/@polymer/polymer/pr-5569.patch" + "@polymer/polymer": "patch:@polymer/polymer@3.5.1#./.yarn/patches/@polymer/polymer/pr-5569.patch", + "@material/mwc-button@^0.25.3": "^0.27.0" }, "main": "src/home-assistant.js", "prettier": { "trailingComma": "es5", "arrowParens": "always" }, - "packageManager": "yarn@3.4.1" + "packageManager": "yarn@3.5.0" } diff --git a/pyproject.toml b/pyproject.toml index 63007a0bb2..4bdd5d3728 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "home-assistant-frontend" -version = "20230309.1" +version = "20230329.0" license = {text = "Apache-2.0"} description = "The Home Assistant frontend" readme = "README.md" diff --git a/src/auth/ha-pick-auth-provider.ts b/src/auth/ha-pick-auth-provider.ts index 5d9b480030..c1b53f83c0 100644 --- a/src/auth/ha-pick-auth-provider.ts +++ b/src/auth/ha-pick-auth-provider.ts @@ -1,9 +1,9 @@ -import "@polymer/paper-item/paper-item"; -import "@polymer/paper-item/paper-item-body"; +import "@material/mwc-list"; import { css, html, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; import { fireEvent } from "../common/dom/fire_event"; import "../components/ha-icon-next"; +import "../components/ha-list-item"; import { AuthProvider } from "../data/auth"; import { litLocalizeLiteMixin } from "../mixins/lit-localize-lite-mixin"; @@ -20,18 +20,21 @@ export class HaPickAuthProvider extends litLocalizeLiteMixin(LitElement) { protected render() { return html`

${this.localize("ui.panel.page-authorize.pick_auth_provider")}:

- ${this.authProviders.map( - (provider) => html` - - ${provider.name} - - - ` - )} + + ${this.authProviders.map( + (provider) => html` + + ${provider.name} + + + ` + )} `; } @@ -40,11 +43,12 @@ export class HaPickAuthProvider extends litLocalizeLiteMixin(LitElement) { } static styles = css` - paper-item { - cursor: pointer; - } p { margin-top: 0; } + mwc-list { + margin: 0 -16px; + --mdc-list-side-padding: 16px; + } `; } diff --git a/src/common/datetime/duration.ts b/src/common/datetime/duration.ts index 2d6c46ff87..36fef1902a 100644 --- a/src/common/datetime/duration.ts +++ b/src/common/datetime/duration.ts @@ -1,16 +1,19 @@ -import secondsToDuration from "./seconds_to_duration"; +import millisecondsToDuration from "./milliseconds_to_duration"; -const DAY_IN_SECONDS = 86400; -const HOUR_IN_SECONDS = 3600; -const MINUTE_IN_SECONDS = 60; +const DAY_IN_MILLISECONDS = 86400000; +const HOUR_IN_MILLISECONDS = 3600000; +const MINUTE_IN_MILLISECONDS = 60000; +const SECOND_IN_MILLISECONDS = 1000; -export const UNIT_TO_SECOND_CONVERT = { - s: 1, - min: MINUTE_IN_SECONDS, - h: HOUR_IN_SECONDS, - d: DAY_IN_SECONDS, +export const UNIT_TO_MILLISECOND_CONVERT = { + ms: 1, + s: SECOND_IN_MILLISECONDS, + min: MINUTE_IN_MILLISECONDS, + h: HOUR_IN_MILLISECONDS, + d: DAY_IN_MILLISECONDS, }; export const formatDuration = (duration: string, units: string): string => - secondsToDuration(parseFloat(duration) * UNIT_TO_SECOND_CONVERT[units]) || - "0"; + millisecondsToDuration( + parseFloat(duration) * UNIT_TO_MILLISECOND_CONVERT[units] + ) || "0"; diff --git a/src/common/datetime/milliseconds_to_duration.ts b/src/common/datetime/milliseconds_to_duration.ts new file mode 100644 index 0000000000..384a8a7707 --- /dev/null +++ b/src/common/datetime/milliseconds_to_duration.ts @@ -0,0 +1,25 @@ +const leftPad = (num: number, digits = 2) => { + let paddedNum = "" + num; + for (let i = 1; i < digits; i++) { + paddedNum = parseInt(paddedNum) < 10 ** i ? `0${paddedNum}` : paddedNum; + } + return paddedNum; +}; + +export default function millisecondsToDuration(d: number) { + const h = Math.floor(d / 1000 / 3600); + const m = Math.floor(((d / 1000) % 3600) / 60); + const s = Math.floor(((d / 1000) % 3600) % 60); + const ms = Math.floor(d % 1000); + + if (h > 0) { + return `${h}:${leftPad(m)}:${leftPad(s)}`; + } + if (m > 0) { + return `${m}:${leftPad(s)}`; + } + if (s > 0 || ms > 0) { + return `${s}${ms > 0 ? `.${leftPad(ms, 3)}` : ``}`; + } + return null; +} diff --git a/src/common/decorators/transform.ts b/src/common/decorators/transform.ts new file mode 100644 index 0000000000..312dac5bd1 --- /dev/null +++ b/src/common/decorators/transform.ts @@ -0,0 +1,111 @@ +import { PropertyDeclaration, PropertyValues, ReactiveElement } from "lit"; +import { ClassElement } from "../../types"; +import { shallowEqual } from "../util/shallow-equal"; + +/** + * Transform function type. + */ +export interface Transformer { + (value: V): T; +} + +type ReactiveTransformElement = ReactiveElement & { + _transformers: Map; + _watching: Map>; +}; + +type ReactiveElementClassWithTransformers = typeof ReactiveElement & { + prototype: ReactiveTransformElement; +}; + +/** + * Specifies an tranformer callback that is run when the value of the decorated property, or any of the properties in the watching array, changes. + * The result of the tranformer is assigned to the decorated property. + * The tranformer receives the current as arguments. + */ +export const transform = + (config: { + transformer: Transformer; + watch?: PropertyKey[]; + propertyOptions?: PropertyDeclaration; + }): any => + (clsElement: ClassElement) => { + const key = String(clsElement.key); + return { + ...clsElement, + kind: "method", + descriptor: { + set(this: ReactiveTransformElement, value: V) { + const oldValue = this[`__transform_${key}`]; + const trnsformr: Transformer | undefined = + this._transformers.get(key); + if (trnsformr) { + this[`__transform_${key}`] = trnsformr.call(this, value); + } else { + this[`__transform_${key}`] = value; + } + this[`__original_${key}`] = value; + this.requestUpdate(key, oldValue); + }, + get(): T { + return this[`__transform_${key}`]; + }, + enumerable: true, + configurable: true, + }, + finisher(cls: ReactiveElementClassWithTransformers) { + // if we haven't wrapped `willUpdate` in this class, do so + if (!cls.prototype._transformers) { + cls.prototype._transformers = new Map(); + cls.prototype._watching = new Map>(); + // @ts-ignore + const userWillUpdate = cls.prototype.willUpdate; + // @ts-ignore + cls.prototype.willUpdate = function ( + this: ReactiveTransformElement, + changedProperties: PropertyValues + ) { + userWillUpdate.call(this, changedProperties); + const keys = new Set(); + changedProperties.forEach((_v, k) => { + const watchers = this._watching; + const ks: Set | undefined = watchers.get(k); + if (ks !== undefined) { + ks.forEach((wk) => keys.add(wk)); + } + }); + keys.forEach((k) => { + // trigger setter + this[k] = this[`__original_${String(k)}`]; + }); + }; + // clone any existing observers (superclasses) + // eslint-disable-next-line no-prototype-builtins + } else if (!cls.prototype.hasOwnProperty("_transformers")) { + const tranformers = cls.prototype._transformers; + cls.prototype._transformers = new Map(); + tranformers.forEach((v: any, k: PropertyKey) => + cls.prototype._transformers.set(k, v) + ); + } + // set this method + cls.prototype._transformers.set(clsElement.key, config.transformer); + if (config.watch) { + // store watchers + config.watch.forEach((k) => { + let curWatch = cls.prototype._watching.get(k); + if (!curWatch) { + curWatch = new Set(); + cls.prototype._watching.set(k, curWatch); + } + curWatch.add(clsElement.key); + }); + } + cls.createProperty(clsElement.key, { + noAccessor: true, + hasChanged: (v: any, o: any) => !shallowEqual(v, o), + ...config.propertyOptions, + }); + }, + }; + }; diff --git a/src/common/dom/apply_themes_on_element.ts b/src/common/dom/apply_themes_on_element.ts index ab80caf54b..7b99678309 100644 --- a/src/common/dom/apply_themes_on_element.ts +++ b/src/common/dom/apply_themes_on_element.ts @@ -93,7 +93,7 @@ export const applyThemesOnElement = ( } // Nothing was changed - if (element._themes?.cacheKey === cacheKey) { + if (element.__themes?.cacheKey === cacheKey) { return; } } @@ -119,7 +119,7 @@ export const applyThemesOnElement = ( } } - if (!element._themes?.keys && !Object.keys(themeRules).length) { + if (!element.__themes?.keys && !Object.keys(themeRules).length) { // No styles to reset, and no styles to set return; } @@ -130,8 +130,8 @@ export const applyThemesOnElement = ( : undefined; // Add previous set keys to reset them, and new theme - const styles = { ...element._themes?.keys, ...newTheme?.styles }; - element._themes = { cacheKey, keys: newTheme?.keys }; + const styles = { ...element.__themes?.keys, ...newTheme?.styles }; + element.__themes = { cacheKey, keys: newTheme?.keys }; // Set and/or reset styles if (element.updateStyles) { diff --git a/src/common/entity/compute_attribute_display.ts b/src/common/entity/compute_attribute_display.ts index 7cba3466f7..e43c662ba9 100644 --- a/src/common/entity/compute_attribute_display.ts +++ b/src/common/entity/compute_attribute_display.ts @@ -1,30 +1,126 @@ import { HassEntity } from "home-assistant-js-websocket"; +import { html, TemplateResult } from "lit"; +import { until } from "lit/directives/until"; import { EntityRegistryDisplayEntry } from "../../data/entity_registry"; import { HomeAssistant } from "../../types"; +import checkValidDate from "../datetime/check_valid_date"; +import { formatDate } from "../datetime/format_date"; +import { formatDateTimeWithSeconds } from "../datetime/format_date_time"; +import { formatNumber } from "../number/format_number"; +import { capitalizeFirstLetter } from "../string/capitalize-first-letter"; +import { isDate } from "../string/is_date"; +import { isTimestamp } from "../string/is_timestamp"; import { LocalizeFunc } from "../translations/localize"; import { computeDomain } from "./compute_domain"; +import { FrontendLocaleData } from "../../data/translation"; + +let jsYamlPromise: Promise; export const computeAttributeValueDisplay = ( localize: LocalizeFunc, stateObj: HassEntity, + locale: FrontendLocaleData, entities: HomeAssistant["entities"], attribute: string, value?: any -): string => { - const entityId = stateObj.entity_id; +): string | TemplateResult => { const attributeValue = value !== undefined ? value : stateObj.attributes[attribute]; + + // Null value, the state is unknown + if (attributeValue === null) { + return localize("state.default.unknown"); + } + + // Number value, return formatted number + if (typeof attributeValue === "number") { + return formatNumber(attributeValue, locale); + } + + // Special handling in case this is a string with an known format + if (typeof attributeValue === "string") { + // URL handling + if (attributeValue.startsWith("http")) { + try { + // If invalid URL, exception will be raised + const url = new URL(attributeValue); + if (url.protocol === "http:" || url.protocol === "https:") + return html`${attributeValue}`; + } catch (_) { + // Nothing to do here + } + } + + // Date handling + if (isDate(attributeValue, true)) { + // Timestamp handling + if (isTimestamp(attributeValue)) { + const date = new Date(attributeValue); + if (checkValidDate(date)) { + return formatDateTimeWithSeconds(date, locale); + } + } + + // Value was not a timestamp, so only do date formatting + const date = new Date(attributeValue); + if (checkValidDate(date)) { + return formatDate(date, locale); + } + } + } + + // Values are objects, render object + if ( + (Array.isArray(attributeValue) && + attributeValue.some((val) => val instanceof Object)) || + (!Array.isArray(attributeValue) && attributeValue instanceof Object) + ) { + if (!jsYamlPromise) { + jsYamlPromise = import("../../resources/js-yaml-dump"); + } + const yaml = jsYamlPromise.then((jsYaml) => jsYaml.dump(attributeValue)); + return html`
${until(yaml, "")}
`; + } + + // If this is an array, try to determine the display value for each item + if (Array.isArray(attributeValue)) { + return attributeValue + .map((item) => + computeAttributeValueDisplay( + localize, + stateObj, + locale, + entities, + attribute, + item + ) + ) + .join(", "); + } + + // We've explored all known value handling, so now we'll try to find a + // translation for the value. + const entityId = stateObj.entity_id; const domain = computeDomain(entityId); - const entity = entities[entityId] as EntityRegistryDisplayEntry | undefined; - const translationKey = entity?.translation_key; + const deviceClass = stateObj.attributes.device_class; + const registryEntry = entities[entityId] as + | EntityRegistryDisplayEntry + | undefined; + const translationKey = registryEntry?.translation_key; return ( (translationKey && localize( - `component.${entity.platform}.entity.${domain}.${translationKey}.state_attributes.${attribute}.state.${attributeValue}` + `component.${registryEntry.platform}.entity.${domain}.${translationKey}.state_attributes.${attribute}.state.${attributeValue}` + )) || + (deviceClass && + localize( + `component.${domain}.entity_component.${deviceClass}.state_attributes.${attribute}.state.${attributeValue}` )) || localize( - `component.${domain}.state_attributes._.${attribute}.state.${attributeValue}` + `component.${domain}.entity_component._.state_attributes.${attribute}.state.${attributeValue}` ) || attributeValue ); @@ -37,6 +133,7 @@ export const computeAttributeNameDisplay = ( attribute: string ): string => { const entityId = stateObj.entity_id; + const deviceClass = stateObj.attributes.device_class; const domain = computeDomain(entityId); const entity = entities[entityId] as EntityRegistryDisplayEntry | undefined; const translationKey = entity?.translation_key; @@ -46,7 +143,20 @@ export const computeAttributeNameDisplay = ( localize( `component.${entity.platform}.entity.${domain}.${translationKey}.state_attributes.${attribute}.name` )) || - localize(`component.${domain}.state_attributes._.${attribute}.name`) || - attribute + (deviceClass && + localize( + `component.${domain}.entity_component.${deviceClass}.state_attributes.${attribute}.name` + )) || + localize( + `component.${domain}.entity_component._.state_attributes.${attribute}.name` + ) || + capitalizeFirstLetter( + attribute + .replace(/_/g, " ") + .replace(/\bid\b/g, "ID") + .replace(/\bip\b/g, "IP") + .replace(/\bmac\b/g, "MAC") + .replace(/\bgps\b/g, "GPS") + ) ); }; diff --git a/src/common/entity/compute_state_display.ts b/src/common/entity/compute_state_display.ts index 930d8added..b0a10f9057 100644 --- a/src/common/entity/compute_state_display.ts +++ b/src/common/entity/compute_state_display.ts @@ -7,7 +7,10 @@ import { UPDATE_SUPPORT_PROGRESS, } from "../../data/update"; import { HomeAssistant } from "../../types"; -import { formatDuration, UNIT_TO_SECOND_CONVERT } from "../datetime/duration"; +import { + formatDuration, + UNIT_TO_MILLISECOND_CONVERT, +} from "../datetime/duration"; import { formatDate } from "../datetime/format_date"; import { formatDateTime } from "../datetime/format_date_time"; import { formatTime } from "../datetime/format_time"; @@ -57,7 +60,7 @@ export const computeStateDisplayFromEntityAttributes = ( if ( attributes.device_class === "duration" && attributes.unit_of_measurement && - UNIT_TO_SECOND_CONVERT[attributes.unit_of_measurement] + UNIT_TO_MILLISECOND_CONVERT[attributes.unit_of_measurement] ) { try { return formatDuration(state, attributes.unit_of_measurement); @@ -214,10 +217,10 @@ export const computeStateDisplayFromEntityAttributes = ( // Return device class translation (attributes.device_class && localize( - `component.${domain}.state.${attributes.device_class}.${state}` + `component.${domain}.entity_component.${attributes.device_class}.state.${state}` )) || // Return default translation - localize(`component.${domain}.state._.${state}`) || + localize(`component.${domain}.entity_component._.state.${state}`) || // We don't know! Return the raw state. state ); diff --git a/src/common/entity/state_color.ts b/src/common/entity/state_color.ts index 32d0be425b..efcac098f2 100644 --- a/src/common/entity/state_color.ts +++ b/src/common/entity/state_color.ts @@ -1,6 +1,7 @@ /** Return an color representing a state. */ import { HassEntity } from "home-assistant-js-websocket"; import { UNAVAILABLE } from "../../data/entity"; +import { computeGroupDomain, GroupEntity } from "../../data/group"; import { computeCssVariable } from "../../resources/css-variables"; import { slugify } from "../string/slugify"; import { batteryStateColorProperty } from "./color/battery_color"; @@ -52,11 +53,11 @@ export const stateColorCss = (stateObj: HassEntity, state?: string) => { }; export const domainStateColorProperties = ( + domain: string, stateObj: HassEntity, state?: string ): string[] => { const compareState = state !== undefined ? state : stateObj.state; - const domain = computeDomain(stateObj.entity_id); const active = stateActive(stateObj, state); const properties: string[] = []; @@ -95,8 +96,16 @@ export const stateColorProperties = ( } } + // Special rules for group coloring + if (domain === "group") { + const groupDomain = computeGroupDomain(stateObj as GroupEntity); + if (groupDomain && STATE_COLORED_DOMAIN.has(groupDomain)) { + return domainStateColorProperties(groupDomain, stateObj, state); + } + } + if (STATE_COLORED_DOMAIN.has(domain)) { - return domainStateColorProperties(stateObj, state); + return domainStateColorProperties(domain, stateObj, state); } return undefined; diff --git a/src/common/util/shallow-equal.ts b/src/common/util/shallow-equal.ts new file mode 100644 index 0000000000..d28a00a98c --- /dev/null +++ b/src/common/util/shallow-equal.ts @@ -0,0 +1,108 @@ +/** + * Compares two values for shallow equality, only 1 level deep. + */ +export const shallowEqual = (a: any, b: any): boolean => { + if (a === b) { + return true; + } + + if (a && b && typeof a === "object" && typeof b === "object") { + if (a.constructor !== b.constructor) { + return false; + } + + let i: number | [any, any]; + let length: number; + if (Array.isArray(a)) { + length = a.length; + if (length !== b.length) { + return false; + } + for (i = length; i-- !== 0; ) { + if (a[i] !== b[i]) { + return false; + } + } + return true; + } + + if (a instanceof Map && b instanceof Map) { + if (a.size !== b.size) { + return false; + } + for (i of a.entries()) { + if (!b.has(i[0])) { + return false; + } + } + for (i of a.entries()) { + if (i[1] !== b.get(i[0])) { + return false; + } + } + return true; + } + + if (a instanceof Set && b instanceof Set) { + if (a.size !== b.size) { + return false; + } + for (i of a.entries()) { + if (!b.has(i[0])) { + return false; + } + } + return true; + } + + if (ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) { + // @ts-ignore + length = a.length; + // @ts-ignore + if (length !== b.length) { + return false; + } + for (i = length; i-- !== 0; ) { + if (a[i] !== b[i]) { + return false; + } + } + return true; + } + + if (a.constructor === RegExp) { + return a.source === b.source && a.flags === b.flags; + } + if (a.valueOf !== Object.prototype.valueOf) { + return a.valueOf() === b.valueOf(); + } + if (a.toString !== Object.prototype.toString) { + return a.toString() === b.toString(); + } + + const keys = Object.keys(a); + length = keys.length; + if (length !== Object.keys(b).length) { + return false; + } + for (i = length; i-- !== 0; ) { + if (!Object.prototype.hasOwnProperty.call(b, keys[i])) { + return false; + } + } + + for (i = length; i-- !== 0; ) { + const key = keys[i]; + + if (a[key] !== b[key]) { + return false; + } + } + + return true; + } + + // true if both NaN, false otherwise + // eslint-disable-next-line no-self-compare + return a !== a && b !== b; +}; diff --git a/src/components/chart/state-history-chart-timeline.ts b/src/components/chart/state-history-chart-timeline.ts index fd2dea5e0a..f255b014da 100644 --- a/src/components/chart/state-history-chart-timeline.ts +++ b/src/components/chart/state-history-chart-timeline.ts @@ -143,11 +143,16 @@ export class StateHistoryChartTimeline extends LitElement { } }, afterUpdate: (y) => { + const yWidth = this.showNames + ? y.width ?? 0 + : computeRTL(this.hass) + ? 0 + : y.left ?? 0; if ( - this._yWidth !== Math.floor(y.width) && + this._yWidth !== Math.floor(yWidth) && y.ticks.length === this.data.length ) { - this._yWidth = Math.floor(y.width); + this._yWidth = Math.floor(yWidth); fireEvent(this, "y-width-changed", { value: this._yWidth, chartIndex: this.chartIndex, diff --git a/src/components/chart/state-history-charts.ts b/src/components/chart/state-history-charts.ts index 4e3e429219..4e7a0d429a 100644 --- a/src/components/chart/state-history-charts.ts +++ b/src/components/chart/state-history-charts.ts @@ -175,15 +175,14 @@ export class StateHistoryCharts extends LitElement { if (changedProps.has("_chartCount")) { if (this._chartCount < this._childYWidths.length) { this._childYWidths.length = this._chartCount; - this._maxYWidth = - this._childYWidths.length === 0 ? 0 : Math.max(...this._childYWidths); + this._maxYWidth = Math.max(...Object.values(this._childYWidths), 0); } } } private _yWidthChanged(e: CustomEvent) { this._childYWidths[e.detail.chartIndex] = e.detail.value; - this._maxYWidth = Math.max(...this._childYWidths); + this._maxYWidth = Math.max(...Object.values(this._childYWidths), 0); } private _isHistoryEmpty(): boolean { diff --git a/src/components/data-table/ha-data-table-icon.ts b/src/components/data-table/ha-data-table-icon.ts index 597d702dc8..5e7cada2d5 100644 --- a/src/components/data-table/ha-data-table-icon.ts +++ b/src/components/data-table/ha-data-table-icon.ts @@ -48,8 +48,8 @@ class HaDataTableIcon extends LitElement { outline: none; font-size: 10px; line-height: 1; - background-color: var(--paper-tooltip-background, #616161); - color: var(--paper-tooltip-text-color, white); + background-color: var(--simple-tooltip-background, #616161); + color: var(--simple-tooltip-text-color, white); padding: 8px; border-radius: 2px; } diff --git a/src/components/date-range-picker.ts b/src/components/date-range-picker.ts index 20a952fb6c..182d3343ee 100644 --- a/src/components/date-range-picker.ts +++ b/src/components/date-range-picker.ts @@ -6,6 +6,21 @@ import DateRangePicker from "vue2-daterange-picker"; import dateRangePickerStyles from "vue2-daterange-picker/dist/vue2-daterange-picker.css"; import { fireEvent } from "../common/dom/fire_event"; +// Set the current date to the left picker instead of the right picker because the right is hidden +const CustomDateRangePicker = Vue.extend({ + mixins: [DateRangePicker], + methods: { + selectMonthDate() { + const dt: Date = this.end || new Date(); + // @ts-ignore + this.changeLeftMonth({ + year: dt.getFullYear(), + month: dt.getMonth() + 1, + }); + }, + }, +}); + const Component = Vue.extend({ props: { timePicker: { @@ -47,7 +62,7 @@ const Component = Vue.extend({ }, render(createElement) { // @ts-expect-error - return createElement(DateRangePicker, { + return createElement(CustomDateRangePicker, { props: { "time-picker": this.timePicker, "auto-apply": this.autoApply, diff --git a/src/components/entity/ha-entity-attribute-picker.ts b/src/components/entity/ha-entity-attribute-picker.ts index 1e4c790712..799e89d7a4 100644 --- a/src/components/entity/ha-entity-attribute-picker.ts +++ b/src/components/entity/ha-entity-attribute-picker.ts @@ -1,7 +1,7 @@ import { HassEntity } from "home-assistant-js-websocket"; import { html, LitElement, PropertyValues, nothing } from "lit"; import { customElement, property, query } from "lit/decorators"; -import { formatAttributeName } from "../../data/entity_attributes"; +import { computeAttributeNameDisplay } from "../../common/entity/compute_attribute_display"; import { PolymerChangedEvent } from "../../polymer-types"; import { HomeAssistant } from "../../types"; import "../ha-combo-box"; @@ -54,7 +54,12 @@ class HaEntityAttributePicker extends LitElement { .filter((key) => !this.hideAttributes?.includes(key)) .map((key) => ({ value: key, - label: formatAttributeName(key), + label: computeAttributeNameDisplay( + this.hass.localize, + state, + this.hass.entities, + key + ), })) : []; } @@ -68,7 +73,14 @@ class HaEntityAttributePicker extends LitElement { return html` - +
@@ -72,7 +72,7 @@ class StateInfo extends LitElement { >
-
+ ` : html`
`} `; diff --git a/src/components/ha-analytics-learn-more.ts b/src/components/ha-analytics-learn-more.ts deleted file mode 100644 index e806b2e459..0000000000 --- a/src/components/ha-analytics-learn-more.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { html } from "lit"; -import { HomeAssistant } from "../types"; -import { documentationUrl } from "../util/documentation-url"; - -export const analyticsLearnMore = (hass: HomeAssistant) => html` - How we process your data -`; diff --git a/src/components/ha-analytics.ts b/src/components/ha-analytics.ts index 33756e4c28..9ea3540baa 100644 --- a/src/components/ha-analytics.ts +++ b/src/components/ha-analytics.ts @@ -1,4 +1,4 @@ -import "@polymer/paper-tooltip/paper-tooltip"; +import "@lrnwebcomponents/simple-tooltip/simple-tooltip"; import { css, CSSResultGroup, html, LitElement, TemplateResult } from "lit"; import { customElement, property } from "lit/decorators"; import { fireEvent } from "../common/dom/fire_event"; @@ -9,18 +9,7 @@ import "./ha-settings-row"; import "./ha-switch"; import type { HaSwitch } from "./ha-switch"; -const ADDITIONAL_PREFERENCES = [ - { - key: "usage", - title: "Usage", - description: "Details of what you use with Home Assistant", - }, - { - key: "statistics", - title: "Statistical data", - description: "Counts containing total number of datapoints", - }, -]; +const ADDITIONAL_PREFERENCES = ["usage", "statistics"] as const; declare global { interface HASSDomEvents { @@ -34,15 +23,25 @@ export class HaAnalytics extends LitElement { @property({ attribute: false }) public analytics?: Analytics; + @property({ attribute: "translation_key_panel" }) public translationKeyPanel: + | "page-onboarding" + | "config" = "config"; + protected render(): TemplateResult { const loading = this.analytics === undefined; const baseEnabled = !loading && this.analytics!.preferences.base; return html` - Basic analytics + + ${this.hass.localize( + `ui.panel.${this.translationKeyPanel}.analytics.preferences.base.title` + )} + - This includes information about your system. + ${this.hass.localize( + `ui.panel.${this.translationKeyPanel}.analytics.preferences.base.description` + )} html` - - ${preference.title} + + ${this.hass.localize( + `ui.panel.${this.translationKeyPanel}.analytics.preferences.${preference}.title` + )} - - ${preference.description} + + ${this.hass.localize( + `ui.panel.${this.translationKeyPanel}.analytics.preferences.${preference}.description` + )} ${!baseEnabled ? html` - - You need to enable basic analytics for this option to be - available - + + ${this.hass.localize( + `ui.panel.${this.translationKeyPanel}.analytics.need_base_enabled` + )} + ` : ""} @@ -84,9 +88,15 @@ export class HaAnalytics extends LitElement { ` )} - Diagnostics + + ${this.hass.localize( + `ui.panel.${this.translationKeyPanel}.analytics.preferences.diagnostics.title` + )} + - Share crash reports when unexpected errors occur. + ${this.hass.localize( + `ui.panel.${this.translationKeyPanel}.analytics.preferences.diagnostics.description` + )} entry.key === preference) && + ADDITIONAL_PREFERENCES.some((entry) => entry === preference) && target.checked ) { preferences.base = true; diff --git a/src/components/ha-attributes.ts b/src/components/ha-attributes.ts index 77e2af29ee..c1092cb96f 100644 --- a/src/components/ha-attributes.ts +++ b/src/components/ha-attributes.ts @@ -1,18 +1,11 @@ import { HassEntity } from "home-assistant-js-websocket"; -import { - css, - CSSResultGroup, - html, - LitElement, - TemplateResult, - nothing, -} from "lit"; +import { css, CSSResultGroup, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { - formatAttributeName, - formatAttributeValue, - STATE_ATTRIBUTES, -} from "../data/entity_attributes"; + computeAttributeNameDisplay, + computeAttributeValueDisplay, +} from "../common/entity/compute_attribute_display"; +import { STATE_ATTRIBUTES } from "../data/entity_attributes"; import { haStyle } from "../resources/styles"; import { HomeAssistant } from "../types"; @@ -56,9 +49,22 @@ class HaAttributes extends LitElement { ${attributes.map( (attribute) => html`
-
${formatAttributeName(attribute)}
+
+ ${computeAttributeNameDisplay( + this.hass.localize, + this.stateObj!, + this.hass.entities, + attribute + )} +
- ${this.formatAttribute(attribute)} + ${computeAttributeValueDisplay( + this.hass.localize, + this.stateObj!, + this.hass.locale, + this.hass.entities, + attribute + )}
` @@ -128,14 +134,6 @@ class HaAttributes extends LitElement { ); } - private formatAttribute(attribute: string): string | TemplateResult { - if (!this.stateObj) { - return "—"; - } - const value = this.stateObj.attributes[attribute]; - return formatAttributeValue(this.hass, value); - } - private expandedChanged(ev) { this._expanded = ev.detail.expanded; } diff --git a/src/components/ha-chip.ts b/src/components/ha-chip.ts index d9fa23971f..fc427fd93d 100644 --- a/src/components/ha-chip.ts +++ b/src/components/ha-chip.ts @@ -1,13 +1,6 @@ // @ts-ignore import chipStyles from "@material/chips/dist/mdc.chips.min.css"; -import { - css, - CSSResultGroup, - html, - LitElement, - TemplateResult, - unsafeCSS, -} from "lit"; +import { css, CSSResultGroup, html, LitElement, nothing, unsafeCSS } from "lit"; import { customElement, property } from "lit/decorators"; @customElement("ha-chip") @@ -18,14 +11,14 @@ export class HaChip extends LitElement { @property({ type: Boolean }) public noText = false; - protected render(): TemplateResult { + protected render() { return html`
${this.hasIcon ? html`
` - : null} + : nothing}
@@ -36,7 +29,7 @@ export class HaChip extends LitElement { ? html`
` - : null} + : nothing}
`; } diff --git a/src/components/ha-climate-state.ts b/src/components/ha-climate-state.ts index c4264f947b..7c8be97a6e 100644 --- a/src/components/ha-climate-state.ts +++ b/src/components/ha-climate-state.ts @@ -27,6 +27,7 @@ class HaClimateState extends LitElement { ${computeAttributeValueDisplay( this.hass.localize, this.stateObj, + this.hass.locale, this.hass.entities, "preset_mode" )}` @@ -142,6 +143,7 @@ class HaClimateState extends LitElement { ? `${computeAttributeValueDisplay( this.hass.localize, this.stateObj, + this.hass.locale, this.hass.entities, "hvac_action" )} (${stateString})` diff --git a/src/components/ha-control-button.ts b/src/components/ha-control-button.ts index d169fb6d08..8c8f467f76 100644 --- a/src/components/ha-control-button.ts +++ b/src/components/ha-control-button.ts @@ -85,6 +85,7 @@ export class HaControlButton extends LitElement { --control-button-background-opacity: 0.2; --control-button-border-radius: 10px; --mdc-icon-size: 20px; + color: var(--primary-text-color); width: 40px; height: 40px; -webkit-tap-highlight-color: transparent; @@ -107,8 +108,11 @@ export class HaControlButton extends LitElement { outline: none; overflow: hidden; background: none; - z-index: 1; --mdc-ripple-color: var(--control-button-background-color); + /* For safari border-radius overflow */ + z-index: 0; + font-size: inherit; + color: inherit; } .button::before { content: ""; diff --git a/src/components/ha-control-select.ts b/src/components/ha-control-select.ts new file mode 100644 index 0000000000..6330ef4e9e --- /dev/null +++ b/src/components/ha-control-select.ts @@ -0,0 +1,336 @@ +import { + css, + CSSResultGroup, + html, + LitElement, + nothing, + PropertyValues, +} from "lit"; +import { customElement, property, state } from "lit/decorators"; +import { classMap } from "lit/directives/class-map"; +import { ifDefined } from "lit/directives/if-defined"; +import { repeat } from "lit/directives/repeat"; +import { fireEvent } from "../common/dom/fire_event"; +import "./ha-icon"; +import "./ha-svg-icon"; + +export type ControlSelectOption = { + value: string; + label?: string; + icon?: string; + path?: string; +}; + +@customElement("ha-control-select") +export class HaControlSelect extends LitElement { + @property({ type: Boolean, reflect: true }) disabled = false; + + @property() public label?: string; + + @property() public options?: ControlSelectOption[]; + + @property() public value?: string; + + @property({ type: Boolean, reflect: true }) + public vertical = false; + + @property({ type: Boolean, attribute: "hide-label" }) + public hideLabel = false; + + @state() private _activeIndex?: number; + + protected firstUpdated(changedProperties: PropertyValues): void { + super.firstUpdated(changedProperties); + this.setAttribute("role", "listbox"); + if (!this.hasAttribute("tabindex")) { + this.setAttribute("tabindex", "0"); + } + } + + protected updated(changedProps: PropertyValues) { + super.updated(changedProps); + if (changedProps.has("_activeIndex")) { + const activeValue = + this._activeIndex != null + ? this.options?.[this._activeIndex]?.value + : undefined; + const activedescendant = + activeValue != null ? `option-${activeValue}` : undefined; + this.setAttribute("aria-activedescendant", activedescendant ?? ""); + } + if (changedProps.has("vertical")) { + const orientation = this.vertical ? "vertical" : "horizontal"; + this.setAttribute("aria-orientation", orientation); + } + } + + public connectedCallback(): void { + super.connectedCallback(); + this._setupListeners(); + } + + public disconnectedCallback(): void { + super.disconnectedCallback(); + this._destroyListeners(); + } + + private _setupListeners() { + this.addEventListener("focus", this._handleFocus); + this.addEventListener("blur", this._handleBlur); + this.addEventListener("keydown", this._handleKeydown); + } + + private _destroyListeners() { + this.removeEventListener("focus", this._handleFocus); + this.removeEventListener("blur", this._handleBlur); + this.removeEventListener("keydown", this._handleKeydown); + } + + private _handleFocus() { + if (this.disabled) return; + this._activeIndex = + (this.value != null + ? this.options?.findIndex((option) => option.value === this.value) + : undefined) ?? 0; + } + + private _handleBlur() { + this._activeIndex = undefined; + } + + private _handleKeydown(ev: KeyboardEvent) { + if (!this.options || this._activeIndex == null || this.disabled) return; + const value = this.options[this._activeIndex].value; + switch (ev.key) { + case " ": + this.value = value; + fireEvent(this, "value-changed", { value }); + break; + case "ArrowUp": + case "ArrowLeft": + this._activeIndex = + this._activeIndex <= 0 + ? this.options.length - 1 + : this._activeIndex - 1; + break; + case "ArrowDown": + case "ArrowRight": + this._activeIndex = (this._activeIndex + 1) % this.options.length; + break; + case "Home": + this._activeIndex = 0; + break; + case "End": + this._activeIndex = this.options.length - 1; + break; + default: + return; + } + ev.preventDefault(); + } + + private _handleOptionClick(ev: MouseEvent) { + if (this.disabled) return; + const value = (ev.target as any).value; + this.value = value; + fireEvent(this, "value-changed", { value }); + } + + private _handleOptionMouseDown(ev: MouseEvent) { + if (this.disabled) return; + ev.preventDefault(); + const value = (ev.target as any).value; + this._activeIndex = this.options?.findIndex( + (option) => option.value === value + ); + } + + private _handleOptionMouseUp(ev: MouseEvent) { + ev.preventDefault(); + this._activeIndex = undefined; + } + + protected render() { + return html` +
+ ${this.options + ? repeat( + this.options, + (option) => option.value, + (option, idx) => this._renderOption(option, idx) + ) + : nothing} +
+ `; + } + + private _renderOption(option: ControlSelectOption, index: number) { + return html` +
+
+ ${option.path + ? html`` + : option.icon + ? html` ` + : nothing} + ${option.label && !this.hideLabel + ? html`${option.label}` + : nothing} +
+
+ `; + } + + static get styles(): CSSResultGroup { + return css` + :host { + display: block; + --control-select-color: var(--primary-color); + --control-select-focused-opacity: 0.2; + --control-select-selected-opacity: 1; + --control-select-background: var(--disabled-color); + --control-select-background-opacity: 0.2; + --control-select-thickness: 40px; + --control-select-border-radius: 10px; + --control-select-padding: 4px; + --control-select-button-border-radius: calc( + var(--control-select-border-radius) - var(--control-select-padding) + ); + --mdc-icon-size: 20px; + height: var(--control-select-thickness); + width: 100%; + border-radius: var(--control-select-border-radius); + outline: none; + transition: box-shadow 180ms ease-in-out; + font-style: normal; + font-weight: 500; + user-select: none; + -webkit-tap-highlight-color: transparent; + } + :host(:focus-visible) { + box-shadow: 0 0 0 2px var(--control-select-color); + } + :host([vertical]) { + width: var(--control-select-thickness); + height: 100%; + } + .container { + position: relative; + height: 100%; + width: 100%; + border-radius: var(--control-select-border-radius); + transform: translateZ(0); + overflow: hidden; + display: flex; + flex-direction: row; + padding: var(--control-select-padding); + box-sizing: border-box; + } + .container::before { + position: absolute; + content: ""; + top: 0; + left: 0; + height: 100%; + width: 100%; + background: var(--control-select-background); + opacity: var(--control-select-background-opacity); + } + + .container > *:not(:last-child) { + margin-right: var(--control-select-padding); + margin-inline-end: var(--control-select-padding); + margin-inline-start: initial; + direction: var(--direction); + } + .option { + cursor: pointer; + position: relative; + flex: 1; + height: 100%; + width: 100%; + display: flex; + align-items: center; + justify-content: center; + border-radius: var(--control-select-button-border-radius); + overflow: hidden; + color: var(--primary-text-color); + /* For safari border-radius overflow */ + z-index: 0; + } + .content > *:not(:last-child) { + margin-bottom: 4px; + } + .option::before { + position: absolute; + content: ""; + top: 0; + left: 0; + height: 100%; + width: 100%; + background-color: var(--control-select-color); + opacity: 0; + transition: background-color ease-in-out 180ms, opacity ease-in-out 80ms; + } + .option.focused::before, + .option:hover::before { + opacity: var(--control-select-focused-opacity); + } + .option.selected { + color: white; + } + .option.selected::before { + opacity: var(--control-select-selected-opacity); + } + .option .content { + position: relative; + pointer-events: none; + display: flex; + align-items: center; + justify-content: center; + flex-direction: column; + text-align: center; + } + :host([vertical]) { + width: var(--control-select-thickness); + height: auto; + } + :host([vertical]) .container { + flex-direction: column; + } + :host([vertical]) .container > *:not(:last-child) { + margin-right: initial; + margin-inline-end: initial; + margin-bottom: var(--control-select-padding); + } + :host([disabled]) { + --control-select-color: var(--disabled-color); + --control-select-focused-opacity: 0; + } + :host([disabled]) .option { + cursor: not-allowed; + } + `; + } +} + +declare global { + interface HTMLElementTagNameMap { + "ha-control-select": HaControlSelect; + } +} diff --git a/src/components/ha-control-slider.ts b/src/components/ha-control-slider.ts index 2b761d4c30..2cc172969a 100644 --- a/src/components/ha-control-slider.ts +++ b/src/components/ha-control-slider.ts @@ -29,19 +29,6 @@ const A11Y_KEY_CODES = new Set([ "End", ]); -const getPercentageFromEvent = (e: HammerInput, vertical: boolean) => { - if (vertical) { - const y = e.center.y; - const offset = e.target.getBoundingClientRect().top; - const total = e.target.clientHeight; - return Math.max(Math.min(1, 1 - (y - offset) / total), 0); - } - const x = e.center.x; - const offset = e.target.getBoundingClientRect().left; - const total = e.target.clientWidth; - return Math.max(Math.min(1, (x - offset) / total), 0); -}; - @customElement("ha-control-slider") export class HaControlSlider extends LitElement { @property({ type: Boolean, reflect: true }) @@ -157,7 +144,7 @@ export class HaControlSlider extends LitElement { }); this._mc.on("panmove", (e) => { if (this.disabled) return; - const percentage = getPercentageFromEvent(e, this.vertical); + const percentage = this._getPercentageFromEvent(e); this.value = this.percentageToValue(percentage); const value = this.steppedValue(this.value); fireEvent(this, "slider-moved", { value }); @@ -165,7 +152,7 @@ export class HaControlSlider extends LitElement { this._mc.on("panend", (e) => { if (this.disabled) return; this.pressed = false; - const percentage = getPercentageFromEvent(e, this.vertical); + const percentage = this._getPercentageFromEvent(e); this.value = this.steppedValue(this.percentageToValue(percentage)); fireEvent(this, "slider-moved", { value: undefined }); fireEvent(this, "value-changed", { value: this.value }); @@ -173,7 +160,7 @@ export class HaControlSlider extends LitElement { this._mc.on("singletap", (e) => { if (this.disabled) return; - const percentage = getPercentageFromEvent(e, this.vertical); + const percentage = this._getPercentageFromEvent(e); this.value = this.steppedValue(this.percentageToValue(percentage)); fireEvent(this, "value-changed", { value: this.value }); }); @@ -234,6 +221,19 @@ export class HaControlSlider extends LitElement { fireEvent(this, "value-changed", { value: this.value }); } + private _getPercentageFromEvent = (e: HammerInput) => { + if (this.vertical) { + const y = e.center.y; + const offset = e.target.getBoundingClientRect().top; + const total = e.target.clientHeight; + return Math.max(Math.min(1, 1 - (y - offset) / total), 0); + } + const x = e.center.x; + const offset = e.target.getBoundingClientRect().left; + const total = e.target.clientWidth; + return Math.max(Math.min(1, (x - offset) / total), 0); + }; + protected render(): TemplateResult { return html`
+ ${this.mode === "cursor" ? this.value != null ? html`
` @@ -259,7 +259,6 @@ export class HaControlSlider extends LitElement {
string; - protected render(): TemplateResult { + protected render() { return html`
` : this.schema.iconPath ? html` ` - : null} + : nothing} ${this.schema.title}
diff --git a/src/components/ha-header-bar.ts b/src/components/ha-header-bar.ts index c778b00331..2d55a1998d 100644 --- a/src/components/ha-header-bar.ts +++ b/src/components/ha-header-bar.ts @@ -32,6 +32,9 @@ export class HaHeaderBar extends LitElement { return [ unsafeCSS(topAppBarStyles), css` + .mdc-top-app-bar__row { + height: var(--header-bar-height, 64px); + } .mdc-top-app-bar { position: static; color: var(--mdc-theme-on-primary, #fff); diff --git a/src/components/ha-help-tooltip.ts b/src/components/ha-help-tooltip.ts index 1194f77b98..d8964b0044 100644 --- a/src/components/ha-help-tooltip.ts +++ b/src/components/ha-help-tooltip.ts @@ -1,5 +1,5 @@ import { mdiHelpCircle } from "@mdi/js"; -import "@polymer/paper-tooltip/paper-tooltip"; +import "@lrnwebcomponents/simple-tooltip/simple-tooltip"; import { css, html, LitElement, TemplateResult } from "lit"; import { customElement, property } from "lit/decorators"; import "./ha-svg-icon"; @@ -13,11 +13,11 @@ export class HaHelpTooltip extends LitElement { protected render(): TemplateResult { return html` - ${this.label}${this.label} `; } diff --git a/src/components/ha-icon-overflow-menu.ts b/src/components/ha-icon-overflow-menu.ts index 2ec0093232..4c4e94ea2b 100644 --- a/src/components/ha-icon-overflow-menu.ts +++ b/src/components/ha-icon-overflow-menu.ts @@ -1,6 +1,6 @@ import "@material/mwc-list/mwc-list-item"; import { mdiDotsVertical } from "@mdi/js"; -import "@polymer/paper-tooltip/paper-tooltip"; +import "@lrnwebcomponents/simple-tooltip/simple-tooltip"; import { css, html, LitElement, TemplateResult } from "lit"; import { customElement, property } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; @@ -75,9 +75,12 @@ export class HaIconOverflowMenu extends LitElement { ? html`
` : html`
${item.tooltip - ? html` + ? html` ${item.tooltip} - ` + ` : ""} `; + return html` + `; } return html` string; + + protected render() { + if (this.disabled) { + return nothing; + } + + const translationKey = this.selector.constant?.translation_key; + + const translatedLabel = + translationKey && this.localizeValue + ? this.localizeValue(`${translationKey}.value`) + : undefined; + + return ( + translatedLabel ?? + this.selector.constant?.label ?? + this.selector.constant?.value ?? + nothing + ); + } +} + +declare global { + interface HTMLElementTagNameMap { + "ha-selector-constant": HaSelectorConstant; + } +} diff --git a/src/components/ha-selector/ha-selector-duration.ts b/src/components/ha-selector/ha-selector-duration.ts index c0b60257fe..cbf60b4f66 100644 --- a/src/components/ha-selector/ha-selector-duration.ts +++ b/src/components/ha-selector/ha-selector-duration.ts @@ -2,7 +2,8 @@ import { html, LitElement } from "lit"; import { customElement, property } from "lit/decorators"; import type { DurationSelector } from "../../data/selector"; import type { HomeAssistant } from "../../types"; -import { HaDurationData } from "../ha-duration-input"; +import type { HaDurationData } from "../ha-duration-input"; +import "../ha-duration-input"; @customElement("ha-selector-duration") export class HaTimeDuration extends LitElement { diff --git a/src/components/ha-selector/ha-selector.ts b/src/components/ha-selector/ha-selector.ts index b613245545..f387867025 100644 --- a/src/components/ha-selector/ha-selector.ts +++ b/src/components/ha-selector/ha-selector.ts @@ -17,6 +17,7 @@ const LOAD_ELEMENTS = { boolean: () => import("./ha-selector-boolean"), color_rgb: () => import("./ha-selector-color-rgb"), config_entry: () => import("./ha-selector-config-entry"), + constant: () => import("./ha-selector-constant"), date: () => import("./ha-selector-date"), datetime: () => import("./ha-selector-datetime"), device: () => import("./ha-selector-device"), diff --git a/src/components/ha-service-control.ts b/src/components/ha-service-control.ts index 295ff0aeef..383e0a5065 100644 --- a/src/components/ha-service-control.ts +++ b/src/components/ha-service-control.ts @@ -360,10 +360,21 @@ export class HaServiceControl extends LitElement { if (checked) { this._checkedKeys.add(key); - const defaultValue = this._getServiceInfo( + const field = this._getServiceInfo( this._value?.service, this.hass.services - )?.fields.find((field) => field.key === key)?.default; + )?.fields.find((_field) => _field.key === key); + + let defaultValue = field?.default; + + if ( + defaultValue == null && + field?.selector && + "constant" in field.selector + ) { + defaultValue = field.selector.constant?.value; + } + if (defaultValue != null) { data = { ...this._value?.data, diff --git a/src/components/ha-settings-row.ts b/src/components/ha-settings-row.ts index c0bec72f89..7c36f13338 100644 --- a/src/components/ha-settings-row.ts +++ b/src/components/ha-settings-row.ts @@ -1,4 +1,3 @@ -import "@polymer/paper-item/paper-item-body"; import { css, CSSResultGroup, html, LitElement, TemplateResult } from "lit"; import { customElement, property } from "lit/decorators"; @@ -13,13 +12,14 @@ export class HaSettingsRow extends LitElement { return html`
- -
-
+
+
`; @@ -34,10 +34,38 @@ export class HaSettingsRow extends LitElement { align-self: auto; align-items: center; } - paper-item-body { + .body { padding: 8px 16px 8px 0; + overflow: hidden; + display: var(--layout-vertical_-_display); + flex-direction: var(--layout-vertical_-_flex-direction); + justify-content: var(--layout-center-justified_-_justify-content); + flex: var(--layout-flex_-_flex); + flex-basis: var(--layout-flex_-_flex-basis); } - paper-item-body[two-line] { + .body[three-line] { + min-height: var(--paper-item-body-three-line-min-height, 88px); + } + .body > * { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + .body > .secondary { + font-family: var(--paper-font-body1_-_font-family); + -webkit-font-smoothing: var( + --paper-font-body1_-_-webkit-font-smoothing + ); + font-size: var(--paper-font-body1_-_font-size); + font-weight: var(--paper-font-body1_-_font-weight); + line-height: var(--paper-font-body1_-_line-height); + + color: var( + --paper-item-body-secondary-color, + var(--secondary-text-color) + ); + } + .body[two-line] { min-height: calc( var(--paper-item-body-two-line-min-height, 72px) - 16px ); diff --git a/src/components/ha-sidebar.ts b/src/components/ha-sidebar.ts index a3fd399b08..156b4e777c 100644 --- a/src/components/ha-sidebar.ts +++ b/src/components/ha-sidebar.ts @@ -846,17 +846,9 @@ class HaSidebar extends SubscribeMixin(LitElement) { -ms-user-select: none; -webkit-user-select: none; -moz-user-select: none; - border-right: 1px solid var(--divider-color); background-color: var(--sidebar-background-color); - width: 56px; - } - :host([expanded]) { - width: 256px; - width: calc(256px + env(safe-area-inset-left)); - } - :host([rtl]) { - border-right: 0; - border-left: 1px solid var(--divider-color); + width: 100%; + box-sizing: border-box; } .menu { height: var(--header-height); @@ -1070,8 +1062,8 @@ class HaSidebar extends SubscribeMixin(LitElement) { .notification-badge, .configuration-badge { - left: calc(var(--app-drawer-width) - 42px); position: absolute; + left: calc(var(--app-drawer-width, 248px) - 42px); min-width: 20px; box-sizing: border-box; border-radius: 50%; diff --git a/src/components/ha-target-picker.ts b/src/components/ha-target-picker.ts index b9a674c3a2..e9975db128 100644 --- a/src/components/ha-target-picker.ts +++ b/src/components/ha-target-picker.ts @@ -9,7 +9,7 @@ import { mdiSofa, mdiUnfoldMoreVertical, } from "@mdi/js"; -import "@polymer/paper-tooltip/paper-tooltip"; +import "@lrnwebcomponents/simple-tooltip/simple-tooltip"; import { ComboBoxLightOpenedChangedEvent } from "@vaadin/combo-box/vaadin-combo-box-light"; import { HassEntity, HassServiceTarget } from "home-assistant-js-websocket"; import { css, CSSResultGroup, html, LitElement, unsafeCSS, nothing } from "lit"; @@ -248,10 +248,10 @@ export class HaTargetPicker extends LitElement { .type=${type} @click=${this._handleExpand} > - ${this.hass.localize( `ui.components.target-picker.expand_${type}` - )} `} @@ -266,10 +266,10 @@ export class HaTargetPicker extends LitElement { .type=${type} @click=${this._handleRemove} > - ${this.hass.localize( `ui.components.target-picker.remove_${type}` - )}
@@ -670,7 +670,7 @@ export class HaTargetPicker extends LitElement { .mdc-chip:hover { z-index: 5; } - paper-tooltip.expand { + simple-tooltip.expand { min-width: 200px; } :host([disabled]) .mdc-chip { diff --git a/src/components/ha-top-app-bar-fixed.ts b/src/components/ha-top-app-bar-fixed.ts new file mode 100644 index 0000000000..39e223b537 --- /dev/null +++ b/src/components/ha-top-app-bar-fixed.ts @@ -0,0 +1,34 @@ +import { TopAppBarFixedBase } from "@material/mwc-top-app-bar-fixed/mwc-top-app-bar-fixed-base"; +import { styles } from "@material/mwc-top-app-bar/mwc-top-app-bar.css"; +import { css } from "lit"; +import { customElement } from "lit/decorators"; + +@customElement("ha-top-app-bar-fixed") +export class HaTopAppBarFixed extends TopAppBarFixedBase { + static override styles = [ + styles, + css` + .mdc-top-app-bar__row { + height: var(--header-height); + } + .mdc-top-app-bar--fixed-adjust { + padding-top: var(--header-height); + } + .mdc-top-app-bar { + --mdc-typography-headline6-font-weight: 400; + color: var(--app-header-text-color, var(--mdc-theme-on-primary, #fff)); + background-color: var( + --app-header-background-color, + var(--mdc-theme-primary) + ); + border-bottom: var(--app-header-border-bottom); + } + `, + ]; +} + +declare global { + interface HTMLElementTagNameMap { + "ha-top-app-bar-fixed": HaTopAppBarFixed; + } +} diff --git a/src/components/ha-top-app-bar.ts b/src/components/ha-top-app-bar.ts new file mode 100644 index 0000000000..02330c8b56 --- /dev/null +++ b/src/components/ha-top-app-bar.ts @@ -0,0 +1,34 @@ +import { TopAppBarBase } from "@material/mwc-top-app-bar/mwc-top-app-bar-base"; +import { styles } from "@material/mwc-top-app-bar/mwc-top-app-bar.css"; +import { css } from "lit"; +import { customElement } from "lit/decorators"; + +@customElement("ha-top-app-bar") +export class HaTopAppBar extends TopAppBarBase { + static override styles = [ + styles, + css` + .mdc-top-app-bar__row { + height: var(--header-height); + } + .mdc-top-app-bar--fixed-adjust { + padding-top: var(--header-height); + } + .mdc-top-app-bar { + --mdc-typography-headline6-font-weight: 400; + color: var(--app-header-text-color, var(--mdc-theme-on-primary, #fff)); + background-color: var( + --app-header-background-color, + var(--mdc-theme-primary) + ); + border-bottom: var(--app-header-border-bottom); + } + `, + ]; +} + +declare global { + interface HTMLElementTagNameMap { + "ha-top-app-bar": HaTopAppBar; + } +} diff --git a/src/components/ha-vacuum-state.js b/src/components/ha-vacuum-state.js index da4ab54acd..371de7b4f5 100644 --- a/src/components/ha-vacuum-state.js +++ b/src/components/ha-vacuum-state.js @@ -76,7 +76,7 @@ class HaVacuumState extends LocalizeMixin(PolymerElement) { ? this.localize( `ui.card.vacuum.actions.${STATES_INTERCEPTABLE[state].action}` ) - : this.localize(`component.vacuum._.${state}`); + : this.localize(`component.vacuum.entity_component._.state.${state}`); } _callService(ev) { diff --git a/src/components/map/ha-map.ts b/src/components/map/ha-map.ts index 466fe0a0d1..671b46e8a1 100644 --- a/src/components/map/ha-map.ts +++ b/src/components/map/ha-map.ts @@ -50,6 +50,10 @@ export class HaMap extends ReactiveElement { @property({ type: Boolean }) public autoFit = false; + @property({ type: Boolean }) public renderPassive = false; + + @property({ type: Boolean }) public interactiveZones = false; + @property({ type: Boolean }) public fitZones?: boolean; @property({ type: Boolean }) public darkMode?: boolean; @@ -321,6 +325,10 @@ export class HaMap extends ReactiveElement { const computedStyles = getComputedStyle(this); const zoneColor = computedStyles.getPropertyValue("--accent-color"); + const passiveZoneColor = computedStyles.getPropertyValue( + "--secondary-text-color" + ); + const darkPrimaryColor = computedStyles.getPropertyValue( "--dark-primary-color" ); @@ -350,7 +358,7 @@ export class HaMap extends ReactiveElement { if (computeStateDomain(stateObj) === "zone") { // DRAW ZONE - if (passive) { + if (passive && !this.renderPassive) { continue; } @@ -374,7 +382,7 @@ export class HaMap extends ReactiveElement { iconSize: [24, 24], className, }), - interactive: false, + interactive: this.interactiveZones, title, }) ); @@ -383,7 +391,7 @@ export class HaMap extends ReactiveElement { this._mapZones.push( Leaflet.circle([latitude, longitude], { interactive: false, - color: zoneColor, + color: passive ? passiveZoneColor : zoneColor, radius, }) ); diff --git a/src/components/media-player/ha-media-player-browse.ts b/src/components/media-player/ha-media-player-browse.ts index 1cbd126b97..95006e0bda 100644 --- a/src/components/media-player/ha-media-player-browse.ts +++ b/src/components/media-player/ha-media-player-browse.ts @@ -5,7 +5,7 @@ import "@material/mwc-button/mwc-button"; import "@material/mwc-list/mwc-list"; import "@material/mwc-list/mwc-list-item"; import { mdiArrowUpRight, mdiPlay, mdiPlus } from "@mdi/js"; -import "@polymer/paper-tooltip/paper-tooltip"; +import "@lrnwebcomponents/simple-tooltip/simple-tooltip"; import { css, CSSResultGroup, @@ -600,8 +600,8 @@ export class HaMediaPlayerBrowse extends LitElement {
${child.title} - ${child.title}${child.title}
diff --git a/src/components/tile/ha-tile-image.ts b/src/components/tile/ha-tile-image.ts index 783b22583b..7ecb5af008 100644 --- a/src/components/tile/ha-tile-image.ts +++ b/src/components/tile/ha-tile-image.ts @@ -1,4 +1,4 @@ -import { CSSResultGroup, html, css, LitElement, TemplateResult } from "lit"; +import { CSSResultGroup, html, css, LitElement, nothing } from "lit"; import { customElement, property } from "lit/decorators"; import { ifDefined } from "lit/directives/if-defined"; @@ -8,12 +8,12 @@ export class HaTileImage extends LitElement { @property() public imageAlt?: string; - protected render(): TemplateResult { + protected render() { return html`
${this.imageUrl ? html`${ifDefined(this.imageAlt)}` - : null} + : nothing}
`; } diff --git a/src/components/tile/ha-tile-info.ts b/src/components/tile/ha-tile-info.ts index 5aa224884a..b28e373077 100644 --- a/src/components/tile/ha-tile-info.ts +++ b/src/components/tile/ha-tile-info.ts @@ -1,4 +1,11 @@ -import { CSSResultGroup, html, css, LitElement, TemplateResult } from "lit"; +import { + CSSResultGroup, + html, + css, + LitElement, + TemplateResult, + nothing, +} from "lit"; import { customElement, property } from "lit/decorators"; @customElement("ha-tile-info") @@ -7,13 +14,13 @@ export class HaTileInfo extends LitElement { @property() public secondary?: string | TemplateResult<1>; - protected render(): TemplateResult { + protected render() { return html`
${this.primary} ${this.secondary ? html`${this.secondary}` - : null} + : nothing}
`; } diff --git a/src/components/tile/ha-tile-slider.ts b/src/components/tile/ha-tile-slider.ts deleted file mode 100644 index b79bd0ad2c..0000000000 --- a/src/components/tile/ha-tile-slider.ts +++ /dev/null @@ -1,70 +0,0 @@ -import { css, CSSResultGroup, html, LitElement, TemplateResult } from "lit"; -import { customElement, property } from "lit/decorators"; -import { ifDefined } from "lit/directives/if-defined"; -import "../ha-control-slider"; - -@customElement("ha-tile-slider") -export class HaTileSlider extends LitElement { - @property({ type: Boolean }) - public disabled = false; - - @property() - public mode?: "start" | "end" | "cursor" = "start"; - - @property({ type: Boolean, attribute: "show-handle" }) - public showHandle = false; - - @property({ type: Number }) - public value?: number; - - @property({ type: Number }) - public step = 1; - - @property({ type: Number }) - public min = 0; - - @property({ type: Number }) - public max = 100; - - @property() public label?: string; - - protected render(): TemplateResult { - return html` - - - `; - } - - static get styles(): CSSResultGroup { - return css` - ha-control-slider { - --control-slider-color: var(--tile-slider-color, var(--primary-color)); - --control-slider-background: var( - --tile-slider-background, - var(--disabled-color) - ); - --control-slider-background-opacity: var( - --tile-slider-background-opacity, - 0.2 - ); - --control-slider-thickness: 40px; - --control-slider-border-radius: 10px; - } - `; - } -} - -declare global { - interface HTMLElementTagNameMap { - "ha-tile-slider": HaTileSlider; - } -} diff --git a/src/data/alarm_control_panel.ts b/src/data/alarm_control_panel.ts index 20ecbaa8ce..d5f59d595d 100644 --- a/src/data/alarm_control_panel.ts +++ b/src/data/alarm_control_panel.ts @@ -1,3 +1,15 @@ +import { + mdiAirplane, + mdiHome, + mdiLock, + mdiMoonWaningCrescent, + mdiShield, + mdiShieldOff, +} from "@mdi/js"; +import { + HassEntityAttributeBase, + HassEntityBase, +} from "home-assistant-js-websocket"; import { HomeAssistant } from "../types"; export const FORMAT_TEXT = "text"; @@ -12,6 +24,16 @@ export const enum AlarmControlPanelEntityFeature { ARM_VACATION = 32, } +interface AlarmControlPanelEntityAttributes extends HassEntityAttributeBase { + code_format?: "text" | "number"; + changed_by?: string | null; + code_arm_required?: boolean; +} + +export interface AlarmControlPanelEntity extends HassEntityBase { + attributes: AlarmControlPanelEntityAttributes; +} + export const callAlarmAction = ( hass: HomeAssistant, entity: string, @@ -29,3 +51,55 @@ export const callAlarmAction = ( code, }); }; + +export type AlarmMode = + | "away" + | "home" + | "night" + | "vacation" + | "custom_bypass" + | "disarmed"; + +type AlarmConfig = { + service: string; + feature?: AlarmControlPanelEntityFeature; + state: string; + path: string; +}; +export const ALARM_MODES: Record = { + away: { + feature: AlarmControlPanelEntityFeature.ARM_AWAY, + service: "alarm_arm_away", + state: "armed_away", + path: mdiLock, + }, + home: { + feature: AlarmControlPanelEntityFeature.ARM_HOME, + service: "alarm_arm_home", + state: "armed_home", + path: mdiHome, + }, + custom_bypass: { + feature: AlarmControlPanelEntityFeature.ARM_CUSTOM_BYPASS, + service: "alarm_arm_custom_bypass", + state: "armed_custom_bypass", + path: mdiShield, + }, + night: { + feature: AlarmControlPanelEntityFeature.ARM_NIGHT, + service: "alarm_arm_night", + state: "armed_night", + path: mdiMoonWaningCrescent, + }, + vacation: { + feature: AlarmControlPanelEntityFeature.ARM_VACATION, + service: "alarm_arm_vacation", + state: "armed_vacation", + path: mdiAirplane, + }, + disarmed: { + service: "alarm_disarm", + state: "disarmed", + path: mdiShieldOff, + }, +}; diff --git a/src/data/automation.ts b/src/data/automation.ts index 7ac5a88792..653b24e289 100644 --- a/src/data/automation.ts +++ b/src/data/automation.ts @@ -197,6 +197,7 @@ export interface StateCondition extends BaseCondition { attribute?: string; state: string | number | string[]; for?: string | number | ForDict; + match?: "all" | "any"; } export interface NumericStateCondition extends BaseCondition { diff --git a/src/data/automation_i18n.ts b/src/data/automation_i18n.ts index 876e2cbef3..5831a2498a 100644 --- a/src/data/automation_i18n.ts +++ b/src/data/automation_i18n.ts @@ -10,7 +10,11 @@ import { localizeDeviceAutomationCondition, localizeDeviceAutomationTrigger, } from "./device_automation"; -import { formatAttributeName } from "./entity_attributes"; +import { + computeAttributeNameDisplay, + computeAttributeValueDisplay, +} from "../common/entity/compute_attribute_display"; +import { computeStateDisplay } from "../common/entity/compute_state_display"; const describeDuration = (forTime: number | string | ForDict) => { let duration: string | null; @@ -67,7 +71,12 @@ export const describeTrigger = ( const entity = stateObj ? computeStateName(stateObj) : trigger.entity_id; if (trigger.attribute) { - base += ` ${formatAttributeName(trigger.attribute)} from`; + base += ` ${computeAttributeNameDisplay( + hass.localize, + stateObj, + hass.entities, + trigger.attribute + )} from`; } base += ` ${entity} is`; @@ -98,11 +107,18 @@ export const describeTrigger = ( if (trigger.platform === "state") { let base = "When"; let entities = ""; - const states = hass.states; if (trigger.attribute) { - base += ` ${formatAttributeName(trigger.attribute)} from`; + const stateObj = Array.isArray(trigger.entity_id) + ? hass.states[trigger.entity_id[0]] + : hass.states[trigger.entity_id]; + base += ` ${computeAttributeNameDisplay( + hass.localize, + stateObj, + hass.entities, + trigger.attribute + )} of`; } if (Array.isArray(trigger.entity_id)) { @@ -129,35 +145,120 @@ export const describeTrigger = ( base += ` ${entities} changes`; - if (trigger.from) { - let from = ""; - if (Array.isArray(trigger.from)) { + const stateObj = + hass.states[ + Array.isArray(trigger.entity_id) + ? trigger.entity_id[0] + : trigger.entity_id + ]; + if (trigger.from !== undefined) { + if (trigger.from === null) { + if (!trigger.attribute) { + base += " from any state"; + } + } else if (Array.isArray(trigger.from)) { + let from = ""; for (const [index, state] of trigger.from.entries()) { from += `${index > 0 ? "," : ""} ${ trigger.from.length > 1 && index === trigger.from.length - 1 ? "or" : "" - } ${state}`; + } '${ + trigger.attribute + ? computeAttributeValueDisplay( + hass.localize, + stateObj, + hass.locale, + hass.entities, + trigger.attribute, + state + ) + : computeStateDisplay( + hass.localize, + stateObj, + hass.locale, + hass.entities, + state + ) + }'`; + } + if (from) { + base += ` from ${from}`; } } else { - from = trigger.from.toString(); + base += ` from '${ + trigger.attribute + ? computeAttributeValueDisplay( + hass.localize, + stateObj, + hass.locale, + hass.entities, + trigger.attribute, + trigger.from + ).toString() + : computeStateDisplay( + hass.localize, + stateObj, + hass.locale, + hass.entities, + trigger.from.toString() + ).toString() + }'`; } - base += ` from ${from}`; } - if (trigger.to) { - let to = ""; - if (Array.isArray(trigger.to)) { + if (trigger.to !== undefined) { + if (trigger.to === null) { + if (!trigger.attribute) { + base += " to any state"; + } + } else if (Array.isArray(trigger.to)) { + let to = ""; for (const [index, state] of trigger.to.entries()) { to += `${index > 0 ? "," : ""} ${ trigger.to.length > 1 && index === trigger.to.length - 1 ? "or" : "" - } ${state}`; + } '${ + trigger.attribute + ? computeAttributeValueDisplay( + hass.localize, + stateObj, + hass.locale, + hass.entities, + trigger.attribute, + state + ).toString() + : computeStateDisplay( + hass.localize, + stateObj, + hass.locale, + hass.entities, + state + ).toString() + }'`; } - } else if (trigger.to) { - to = trigger.to.toString(); + if (to) { + base += ` to ${to}`; + } + } else { + base += ` to '${ + trigger.attribute + ? computeAttributeValueDisplay( + hass.localize, + stateObj, + hass.locale, + hass.entities, + trigger.attribute, + trigger.to + ).toString() + : computeStateDisplay( + hass.localize, + stateObj, + hass.locale, + hass.entities, + trigger.to.toString() + ).toString() + }'`; } - - base += ` to ${to}`; } if (trigger.for) { @@ -412,36 +513,108 @@ export const describeCondition = ( // State Condition if (condition.condition === "state") { let base = "Confirm"; - const stateObj = hass.states[condition.entity_id]; - const entity = stateObj - ? computeStateName(stateObj) - : condition.entity_id - ? condition.entity_id - : "an entity"; + if (!condition.entity_id) { + return `${base} state`; + } - if ("attribute" in condition) { - base += ` ${condition.attribute} from`; + if (condition.attribute) { + const stateObj = Array.isArray(condition.entity_id) + ? hass.states[condition.entity_id[0]] + : hass.states[condition.entity_id]; + base += ` ${computeAttributeNameDisplay( + hass.localize, + stateObj, + hass.entities, + condition.attribute + )} of`; + } + + if (Array.isArray(condition.entity_id)) { + let entities = ""; + for (const [index, entity] of condition.entity_id.entries()) { + if (hass.states[entity]) { + entities += `${index > 0 ? "," : ""} ${ + condition.entity_id.length > 1 && + index === condition.entity_id.length - 1 + ? condition.match === "any" + ? "or" + : "and" + : "" + } ${computeStateName(hass.states[entity]) || entity}`; + } + } + if (entities) { + base += ` ${entities} ${condition.entity_id.length > 1 ? "are" : "is"}`; + } else { + // no entity_id or empty array + base += " an entity"; + } + } else if (condition.entity_id) { + base += ` ${ + hass.states[condition.entity_id] + ? computeStateName(hass.states[condition.entity_id]) + : condition.entity_id + } is`; } let states = ""; - + const stateObj = + hass.states[ + Array.isArray(condition.entity_id) + ? condition.entity_id[0] + : condition.entity_id + ]; if (Array.isArray(condition.state)) { for (const [index, state] of condition.state.entries()) { states += `${index > 0 ? "," : ""} ${ condition.state.length > 1 && index === condition.state.length - 1 ? "or" : "" - } ${state}`; + } '${ + condition.attribute + ? computeAttributeValueDisplay( + hass.localize, + stateObj, + hass.locale, + hass.entities, + condition.attribute, + state + ) + : computeStateDisplay( + hass.localize, + stateObj, + hass.locale, + hass.entities, + state + ) + }'`; } - } else if (condition.state) { - states = condition.state.toString(); + } else if (condition.state !== "") { + states = `'${ + condition.attribute + ? computeAttributeValueDisplay( + hass.localize, + stateObj, + hass.locale, + hass.entities, + condition.attribute, + condition.state + ).toString() + : computeStateDisplay( + hass.localize, + stateObj, + hass.locale, + hass.entities, + condition.state.toString() + ).toString() + }'`; } if (!states) { states = "a state"; } - base += ` ${entity} is ${states}`; + base += ` ${states}`; if (condition.for) { const duration = describeDuration(condition.for); diff --git a/src/data/cloud.ts b/src/data/cloud.ts index 49a4244a1f..58a747ffd0 100644 --- a/src/data/cloud.ts +++ b/src/data/cloud.ts @@ -11,8 +11,6 @@ interface CloudStatusNotLoggedIn { export interface GoogleEntityConfig { should_expose?: boolean | null; - override_name?: string; - aliases?: string[]; disable_2fa?: boolean; } diff --git a/src/data/context.ts b/src/data/context.ts new file mode 100644 index 0000000000..2146180b30 --- /dev/null +++ b/src/data/context.ts @@ -0,0 +1,24 @@ +import { createContext } from "@lit-labs/context"; +import { HomeAssistant } from "../types"; +import { EntityRegistryEntry } from "./entity_registry"; + +export const statesContext = createContext("states"); +export const entitiesContext = + createContext("entities"); +export const devicesContext = + createContext("devices"); +export const areasContext = createContext("areas"); +export const localizeContext = + createContext("localize"); +export const localeContext = createContext("locale"); +export const configContext = createContext("config"); +export const themesContext = createContext("themes"); +export const selectedThemeContext = + createContext("selectedTheme"); +export const userContext = createContext("user"); +export const userDataContext = + createContext("userData"); +export const panelsContext = createContext("panels"); + +export const extendedEntitiesContext = + createContext("extendedEntities"); diff --git a/src/data/conversation.ts b/src/data/conversation.ts index 747b82cfaf..3745271c8b 100644 --- a/src/data/conversation.ts +++ b/src/data/conversation.ts @@ -44,7 +44,7 @@ interface IntentResultError extends IntentResultBase { }; } -interface ConversationResult { +export interface ConversationResult { conversation_id: string | null; response: | IntentResultActionDone diff --git a/src/data/entity_attributes.ts b/src/data/entity_attributes.ts index faa42e8fab..7e3fae87aa 100644 --- a/src/data/entity_attributes.ts +++ b/src/data/entity_attributes.ts @@ -1,17 +1,5 @@ -import { html, TemplateResult } from "lit"; -import { until } from "lit/directives/until"; -import checkValidDate from "../common/datetime/check_valid_date"; -import { formatDate } from "../common/datetime/format_date"; -import { formatDateTimeWithSeconds } from "../common/datetime/format_date_time"; -import { formatNumber } from "../common/number/format_number"; -import { capitalizeFirstLetter } from "../common/string/capitalize-first-letter"; -import { isDate } from "../common/string/is_date"; -import { isTimestamp } from "../common/string/is_timestamp"; -import { HomeAssistant } from "../types"; - -let jsYamlPromise: Promise; - export const STATE_ATTRIBUTES = [ + "entity_id", "assumed_state", "attribution", "custom_ui_more_info", @@ -32,74 +20,3 @@ export const STATE_ATTRIBUTES = [ "supported_features", "unit_of_measurement", ]; - -// Convert from internal snake_case format to user-friendly format -export function formatAttributeName(value: string): string { - value = value - .replace(/_/g, " ") - .replace(/\bid\b/g, "ID") - .replace(/\bip\b/g, "IP") - .replace(/\bmac\b/g, "MAC") - .replace(/\bgps\b/g, "GPS"); - return capitalizeFirstLetter(value); -} - -export function formatAttributeValue( - hass: HomeAssistant, - value: any -): string | TemplateResult { - if (value === null) { - return "—"; - } - - // YAML handling - if ( - (Array.isArray(value) && value.some((val) => val instanceof Object)) || - (!Array.isArray(value) && value instanceof Object) - ) { - if (!jsYamlPromise) { - jsYamlPromise = import("../resources/js-yaml-dump"); - } - const yaml = jsYamlPromise.then((jsYaml) => jsYaml.dump(value)); - return html`
${until(yaml, "")}
`; - } - - if (typeof value === "number") { - return formatNumber(value, hass.locale); - } - - if (typeof value === "string") { - // URL handling - if (value.startsWith("http")) { - try { - // If invalid URL, exception will be raised - const url = new URL(value); - if (url.protocol === "http:" || url.protocol === "https:") - return html`${value}`; - } catch (_) { - // Nothing to do here - } - } - - // Date handling - if (isDate(value, true)) { - // Timestamp handling - if (isTimestamp(value)) { - const date = new Date(value); - if (checkValidDate(date)) { - return formatDateTimeWithSeconds(date, hass.locale); - } - } - - // Value was not a timestamp, so only do date formatting - const date = new Date(value); - if (checkValidDate(date)) { - return formatDate(date, hass.locale); - } - } - } - - return Array.isArray(value) ? value.join(", ") : value; -} diff --git a/src/data/fan.ts b/src/data/fan.ts index 67a4e376b3..ca8e9e5a63 100644 --- a/src/data/fan.ts +++ b/src/data/fan.ts @@ -1,3 +1,10 @@ +import { + mdiFan, + mdiFanOff, + mdiFanSpeed1, + mdiFanSpeed2, + mdiFanSpeed3, +} from "@mdi/js"; import { HassEntityAttributeBase, HassEntityBase, @@ -11,7 +18,7 @@ export const enum FanEntityFeature { } interface FanEntityAttributes extends HassEntityAttributeBase { - direction?: number; + direction?: string; oscillating?: boolean; percentage?: number; percentage_step?: number; @@ -22,3 +29,65 @@ interface FanEntityAttributes extends HassEntityAttributeBase { export interface FanEntity extends HassEntityBase { attributes: FanEntityAttributes; } + +export type FanSpeed = "off" | "low" | "medium" | "high" | "on"; + +export const FAN_SPEEDS: Partial> = { + 2: ["off", "on"], + 3: ["off", "low", "high"], + 4: ["off", "low", "medium", "high"], +}; + +export function fanPercentageToSpeed( + stateObj: FanEntity, + value: number +): FanSpeed { + const step = stateObj.attributes.percentage_step ?? 1; + const speedValue = Math.round(value / step); + const speedCount = Math.round(100 / step) + 1; + + const speeds = FAN_SPEEDS[speedCount]; + return speeds?.[speedValue] ?? "off"; +} + +export function fanSpeedToPercentage( + stateObj: FanEntity, + speed: FanSpeed +): number { + const step = stateObj.attributes.percentage_step ?? 1; + const speedCount = Math.round(100 / step) + 1; + + const speeds = FAN_SPEEDS[speedCount]; + + if (!speeds) { + return 0; + } + + const speedValue = speeds.indexOf(speed); + if (speedValue === -1) { + return 0; + } + return Math.round(speedValue * step); +} + +export function computeFanSpeedCount(stateObj: FanEntity): number { + const step = stateObj.attributes.percentage_step ?? 1; + const speedCount = Math.round(100 / step) + 1; + return speedCount; +} + +export function computeFanSpeedIcon( + stateObj: FanEntity, + speed: FanSpeed +): string { + const speedCount = computeFanSpeedCount(stateObj); + const speeds = FAN_SPEEDS[speedCount]; + const index = speeds?.indexOf(speed) ?? 1; + + return speed === "on" + ? mdiFan + : speed === "off" + ? mdiFanOff + : [mdiFanSpeed1, mdiFanSpeed2, mdiFanSpeed3][index - 1]; +} +export const FAN_SPEED_COUNT_MAX_FOR_BUTTONS = 4; diff --git a/src/data/history.ts b/src/data/history.ts index b0d1d4b041..0bd3bd2e3f 100644 --- a/src/data/history.ts +++ b/src/data/history.ts @@ -232,7 +232,8 @@ export const subscribeHistoryStatesTimeWindow = ( hoursToShow: number, entityIds: string[], minimalResponse = true, - significantChangesOnly = true + significantChangesOnly = true, + noAttributes?: boolean ): Promise<() => Promise> => { const params = { type: "history/stream", @@ -242,9 +243,11 @@ export const subscribeHistoryStatesTimeWindow = ( ).toISOString(), minimal_response: minimalResponse, significant_changes_only: significantChangesOnly, - no_attributes: !entityIds.some((entityId) => - entityIdHistoryNeedsAttributes(hass, entityId) - ), + no_attributes: + noAttributes ?? + !entityIds.some((entityId) => + entityIdHistoryNeedsAttributes(hass, entityId) + ), }; const stream = new HistoryStream(hass, hoursToShow); return hass.connection.subscribeMessage( diff --git a/src/data/icons/haOscillating.ts b/src/data/icons/haOscillating.ts new file mode 100644 index 0000000000..a3afdb3b3c --- /dev/null +++ b/src/data/icons/haOscillating.ts @@ -0,0 +1,2 @@ +export const haOscillating = + "M12,6C7.963,6 6,9.715 6,12L9,12L5,16L1,12L4,12C4,9.17 5.897,4 12.004,4C18.112,4 20.004,9.17 20.004,12L23.004,12L19.004,16L15.004,12L18.004,12C18.004,9.715 16.037,6 12,6Z"; diff --git a/src/data/icons/haOscillatingOff.ts b/src/data/icons/haOscillatingOff.ts new file mode 100644 index 0000000000..285f6c5c39 --- /dev/null +++ b/src/data/icons/haOscillatingOff.ts @@ -0,0 +1,2 @@ +export const haOscillatingOff = + "M 2.9003906,0.8203125 1.6289062,2.0917969 6.0566406,6.5195312 C 4.5643882,8.2344127 4,10.461887 4,12 H 1 l 4,4 4,-4 H 6 C 6,10.82424 6.5229215,9.2725296 7.578125,8.0410156 L 19.730469,20.193359 21.003906,18.921875 8.9394531,6.8574219 7.3964844,5.3164062 Z M 12.003906,4 C 10.899236,4 9.9346562,4.1709695 9.0917969,4.4648438 L 10.755859,6.1289062 C 11.146838,6.0472549 11.559859,6 12,6 c 4.036992,0 6.003906,3.7150046 6.003906,6 h -1.376953 l 3.189453,3.1875 3.1875,-3.1875 h -3 c 0,-2.8299944 -1.892012,-8 -8,-8 z"; diff --git a/src/data/otbr.ts b/src/data/otbr.ts index 23bf157102..93e77a1eda 100644 --- a/src/data/otbr.ts +++ b/src/data/otbr.ts @@ -9,3 +9,24 @@ export const getOTBRInfo = (hass: HomeAssistant): Promise => hass.callWS({ type: "otbr/info", }); + +export const OTBRCreateNetwork = (hass: HomeAssistant): Promise => + hass.callWS({ + type: "otbr/create_network", + }); + +export const OTBRSetNetwork = ( + hass: HomeAssistant, + dataset_id: string +): Promise => + hass.callWS({ + type: "otbr/set_network", + dataset_id, + }); + +export const OTBRGetExtendedAddress = ( + hass: HomeAssistant +): Promise<{ extended_address: string }> => + hass.callWS({ + type: "otbr/get_extended_address", + }); diff --git a/src/data/selector.ts b/src/data/selector.ts index 3ac4661a87..12168d435e 100644 --- a/src/data/selector.ts +++ b/src/data/selector.ts @@ -13,6 +13,7 @@ export type Selector = | ColorRGBSelector | ColorTempSelector | ConfigEntrySelector + | ConstantSelector | DateSelector | DateTimeSelector | DeviceSelector @@ -88,6 +89,14 @@ export interface ConfigEntrySelector { } | null; } +export interface ConstantSelector { + constant: { + value: string | number | boolean; + label?: string; + translation_key?: string; + } | null; +} + export interface DateSelector { // eslint-disable-next-line @typescript-eslint/ban-types date: {} | null; diff --git a/src/data/stt.ts b/src/data/stt.ts new file mode 100644 index 0000000000..c855e77757 --- /dev/null +++ b/src/data/stt.ts @@ -0,0 +1,17 @@ +export interface SpeechMetadata { + language: string; + format: "wav" | "ogg"; + codec: "pcm" | "opus"; + bit_rate: 8 | 16 | 24 | 32; + sample_rate: + | 8000 + | 11000 + | 16000 + | 18900 + | 22000 + | 32000 + | 37800 + | 44100 + | 48000; + channel: 1 | 2; +} diff --git a/src/data/thread.ts b/src/data/thread.ts index 044e44c9a0..cd575fcb04 100644 --- a/src/data/thread.ts +++ b/src/data/thread.ts @@ -4,6 +4,7 @@ export interface ThreadRouter { brand: "google" | "apple" | "homeassistant"; server: string; extended_pan_id: string; + extended_address: string; model_name: string | null; network_name: string; vendor_name: string; @@ -87,3 +88,12 @@ export const removeThreadDataSet = ( type: "thread/delete_dataset", dataset_id, }); + +export const setPreferredThreadDataSet = ( + hass: HomeAssistant, + dataset_id: string +): Promise => + hass.callWS({ + type: "thread/set_preferred_dataset", + dataset_id, + }); diff --git a/src/data/translation.ts b/src/data/translation.ts index b0030c0605..382c5a804d 100644 --- a/src/data/translation.ts +++ b/src/data/translation.ts @@ -44,8 +44,8 @@ declare global { export type TranslationCategory = | "title" | "state" - | "state_attributes" | "entity" + | "entity_component" | "config" | "config_panel" | "options" diff --git a/src/data/voice_assistant.ts b/src/data/voice_assistant.ts new file mode 100644 index 0000000000..0de01e1db0 --- /dev/null +++ b/src/data/voice_assistant.ts @@ -0,0 +1,173 @@ +import type { HomeAssistant } from "../types"; +import type { ConversationResult } from "./conversation"; +import type { ResolvedMediaSource } from "./media_source"; +import type { SpeechMetadata } from "./stt"; + +interface PipelineEventBase { + timestamp: string; +} + +interface PipelineRunStartEvent extends PipelineEventBase { + type: "run-start"; + data: { + pipeline: string; + language: string; + runner_data: { + stt_binary_handler_id: number | null; + }; + }; +} +interface PipelineRunEndEvent extends PipelineEventBase { + type: "run-end"; + data: Record; +} + +interface PipelineErrorEvent extends PipelineEventBase { + type: "error"; + data: { + code: string; + message: string; + }; +} + +interface PipelineSTTStartEvent extends PipelineEventBase { + type: "stt-start"; + data: { + engine: string; + metadata: SpeechMetadata; + }; +} +interface PipelineSTTEndEvent extends PipelineEventBase { + type: "stt-end"; + data: { + text: string; + }; +} + +interface PipelineIntentStartEvent extends PipelineEventBase { + type: "intent-start"; + data: { + engine: string; + intent_input: string; + }; +} +interface PipelineIntentEndEvent extends PipelineEventBase { + type: "intent-end"; + data: { + intent_output: ConversationResult; + }; +} + +interface PipelineTTSStartEvent extends PipelineEventBase { + type: "tts-start"; + data: { + engine: string; + tts_input: string; + }; +} +interface PipelineTTSEndEvent extends PipelineEventBase { + type: "tts-end"; + data: { + tts_output: ResolvedMediaSource; + }; +} + +type PipelineRunEvent = + | PipelineRunStartEvent + | PipelineRunEndEvent + | PipelineErrorEvent + | PipelineSTTStartEvent + | PipelineSTTEndEvent + | PipelineIntentStartEvent + | PipelineIntentEndEvent + | PipelineTTSStartEvent + | PipelineTTSEndEvent; + +interface PipelineRunOptions { + start_stage: "stt" | "intent" | "tts"; + end_stage: "stt" | "intent" | "tts"; + language?: string; + pipeline?: string; + input?: { text: string }; + conversation_id?: string | null; +} + +export interface PipelineRun { + init_options: PipelineRunOptions; + events: PipelineRunEvent[]; + stage: "ready" | "stt" | "intent" | "tts" | "done" | "error"; + run: PipelineRunStartEvent["data"]; + error?: PipelineErrorEvent["data"]; + stt?: PipelineSTTStartEvent["data"] & Partial; + intent?: PipelineIntentStartEvent["data"] & + Partial; + tts?: PipelineTTSStartEvent["data"] & Partial; +} + +export const runPipelineFromText = ( + hass: HomeAssistant, + callback: (event: PipelineRun) => void, + options: PipelineRunOptions +) => { + let run: PipelineRun | undefined; + + const unsubProm = hass.connection.subscribeMessage( + (updateEvent) => { + if (updateEvent.type === "run-start") { + run = { + init_options: options, + stage: "ready", + run: updateEvent.data, + error: undefined, + stt: undefined, + intent: undefined, + tts: undefined, + events: [updateEvent], + }; + callback(run); + return; + } + + if (!run) { + // eslint-disable-next-line no-console + console.warn( + "Received unexpected event before receiving session", + updateEvent + ); + return; + } + + if (updateEvent.type === "stt-start") { + run = { ...run, stage: "stt", stt: updateEvent.data }; + } else if (updateEvent.type === "stt-end") { + run = { ...run, stt: { ...run.stt!, ...updateEvent.data } }; + } else if (updateEvent.type === "intent-start") { + run = { ...run, stage: "intent", intent: updateEvent.data }; + } else if (updateEvent.type === "intent-end") { + run = { ...run, intent: { ...run.intent!, ...updateEvent.data } }; + } else if (updateEvent.type === "tts-start") { + run = { ...run, stage: "tts", tts: updateEvent.data }; + } else if (updateEvent.type === "tts-end") { + run = { ...run, tts: { ...run.tts!, ...updateEvent.data } }; + } else if (updateEvent.type === "run-end") { + run = { ...run, stage: "done" }; + unsubProm.then((unsub) => unsub()); + } else if (updateEvent.type === "error") { + run = { ...run, stage: "error", error: updateEvent.data }; + unsubProm.then((unsub) => unsub()); + } else { + run = { ...run }; + } + + run.events = [...run.events, updateEvent]; + + callback(run); + }, + { + ...options, + type: "voice_assistant/run", + } + ); + + return unsubProm; +}; diff --git a/src/dialogs/config-flow/step-flow-form.ts b/src/dialogs/config-flow/step-flow-form.ts index d6f042bf9d..2c262626a2 100644 --- a/src/dialogs/config-flow/step-flow-form.ts +++ b/src/dialogs/config-flow/step-flow-form.ts @@ -1,5 +1,5 @@ import "@material/mwc-button"; -import "@polymer/paper-tooltip/paper-tooltip"; +import "@lrnwebcomponents/simple-tooltip/simple-tooltip"; import { css, CSSResultGroup, diff --git a/src/dialogs/more-info/components/alarm_control_panel/dialog-enter-code.ts b/src/dialogs/more-info/components/alarm_control_panel/dialog-enter-code.ts new file mode 100644 index 0000000000..62a1b6cb32 --- /dev/null +++ b/src/dialogs/more-info/components/alarm_control_panel/dialog-enter-code.ts @@ -0,0 +1,248 @@ +import "@material/web/button/filled-button"; +import "@material/web/iconbutton/filled-icon-button"; +import { mdiCheck, mdiClose } from "@mdi/js"; +import { css, CSSResultGroup, html, LitElement, nothing } from "lit"; +import { customElement, property, query, state } from "lit/decorators"; +import { fireEvent } from "../../../../common/dom/fire_event"; +import "../../../../components/ha-button"; +import "../../../../components/ha-control-button"; +import { createCloseHeading } from "../../../../components/ha-dialog"; +import "../../../../components/ha-textfield"; +import type { HaTextField } from "../../../../components/ha-textfield"; +import { HomeAssistant } from "../../../../types"; +import { HassDialog } from "../../../make-dialog-manager"; +import { EnterCodeDialogParams } from "./show-enter-code-dialog"; + +const BUTTONS = [ + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "0", + "clear", + "submit", +]; + +@customElement("dialog-enter-code") +export class DialogEnterCode + extends LitElement + implements HassDialog +{ + @property({ attribute: false }) public hass?: HomeAssistant; + + @state() private _dialogParams?: EnterCodeDialogParams; + + @query("#code") private _input?: HaTextField; + + @state() private _showClearButton = false; + + public async showDialog(dialogParams: EnterCodeDialogParams): Promise { + this._dialogParams = dialogParams; + await this.updateComplete; + } + + public closeDialog(): void { + if (this._dialogParams?.cancel) { + this._dialogParams.cancel(); + } + this._dialogParams = undefined; + this._showClearButton = false; + fireEvent(this, "dialog-closed", { dialog: this.localName }); + } + + private _submit(): void { + this._dialogParams?.submit?.(this._input?.value ?? ""); + this._dialogParams = undefined; + fireEvent(this, "dialog-closed", { dialog: this.localName }); + } + + private _numberClick(e: MouseEvent): void { + const val = (e.currentTarget! as any).value; + this._input!.value = this._input!.value + val; + this._showClearButton = true; + } + + private _clear(): void { + this._input!.value = ""; + this._showClearButton = false; + } + + private _inputValueChange(e) { + const val = (e.currentTarget! as any).value; + this._showClearButton = !!val; + } + + protected render() { + if (!this._dialogParams || !this.hass) { + return nothing; + } + + const isText = this._dialogParams.codeFormat === "text"; + + if (isText) { + return html` + + + + ${this._dialogParams.cancelText ?? + this.hass.localize("ui.common.cancel")} + + + ${this._dialogParams.submitText ?? + this.hass.localize("ui.common.submit")} + + + `; + } + + return html` + +
+ +
+ ${BUTTONS.map((value) => + value === "" + ? html`` + : value === "clear" + ? html` + + + + ` + : value === "submit" + ? html` + + + + ` + : html` + + ${value} + + ` + )} +
+
+
+ `; + } + + static get styles(): CSSResultGroup { + return css` + ha-dialog { + --mdc-dialog-heading-ink-color: var(--primary-text-color); + --mdc-dialog-content-ink-color: var(--primary-text-color); + /* Place above other dialogs */ + --dialog-z-index: 104; + } + ha-textfield { + width: 100%; + max-width: 300px; + margin: auto; + } + .container { + display: flex; + align-items: center; + flex-direction: column; + } + .keypad { + --keypad-columns: 3; + margin-top: 12px; + padding: 12px; + display: grid; + grid-template-columns: repeat(var(--keypad-columns), auto); + grid-auto-rows: auto; + grid-gap: 24px; + justify-items: center; + align-items: center; + } + .clear { + grid-row-start: 4; + grid-column-start: 0; + } + @media all and (max-height: 450px) { + .keypad { + --keypad-columns: 6; + } + .clear { + grid-row-start: 1; + grid-column-start: 6; + } + } + + ha-control-button { + width: 56px; + height: 56px; + --control-button-border-radius: 28px; + --mdc-icon-size: 24px; + font-size: 24px; + } + .submit { + --control-button-background-color: var(--green-color); + --control-button-icon-color: var(--green-color); + } + .clear { + --control-button-background-color: var(--red-color); + --control-button-icon-color: var(--red-color); + } + .hidden { + display: none; + } + .buttons { + margin-top: 12px; + } + `; + } +} + +declare global { + interface HTMLElementTagNameMap { + "dialog-enter-code": DialogEnterCode; + } +} diff --git a/src/dialogs/more-info/components/alarm_control_panel/ha-more-info-alarm_control_panel-modes.ts b/src/dialogs/more-info/components/alarm_control_panel/ha-more-info-alarm_control_panel-modes.ts new file mode 100644 index 0000000000..2a95653f04 --- /dev/null +++ b/src/dialogs/more-info/components/alarm_control_panel/ha-more-info-alarm_control_panel-modes.ts @@ -0,0 +1,154 @@ +import { HassEntity } from "home-assistant-js-websocket"; +import { css, CSSResultGroup, html, LitElement } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import { styleMap } from "lit/directives/style-map"; +import memoizeOne from "memoize-one"; +import { computeAttributeNameDisplay } from "../../../../common/entity/compute_attribute_display"; +import { stateColorCss } from "../../../../common/entity/state_color"; +import { supportsFeature } from "../../../../common/entity/supports-feature"; +import "../../../../components/ha-control-select"; +import type { ControlSelectOption } from "../../../../components/ha-control-select"; +import "../../../../components/ha-control-slider"; +import { + AlarmControlPanelEntity, + AlarmMode, + ALARM_MODES, +} from "../../../../data/alarm_control_panel"; +import { HomeAssistant } from "../../../../types"; +import { showEnterCodeDialogDialog } from "./show-enter-code-dialog"; + +@customElement("ha-more-info-alarm_control_panel-modes") +export class HaMoreInfoAlarmControlPanelModes extends LitElement { + @property({ attribute: false }) public hass!: HomeAssistant; + + @property({ attribute: false }) public stateObj!: AlarmControlPanelEntity; + + @state() _currentMode?: AlarmMode; + + private _modes = memoizeOne((stateObj: AlarmControlPanelEntity) => { + const modes = Object.keys(ALARM_MODES) as AlarmMode[]; + return modes.filter((mode) => { + const feature = ALARM_MODES[mode as AlarmMode].feature; + return !feature || supportsFeature(stateObj, feature); + }); + }); + + protected updated(changedProp: Map): void { + super.updated(changedProp); + if (changedProp.has("stateObj") && this.stateObj) { + const oldStateObj = changedProp.get("stateObj") as HassEntity | undefined; + + if (!oldStateObj || this.stateObj.state !== oldStateObj.state) { + this._currentMode = this._getCurrentMode(this.stateObj); + } + } + } + + private _getCurrentMode(stateObj: AlarmControlPanelEntity) { + return this._modes(stateObj).find( + (mode) => ALARM_MODES[mode].state === stateObj.state + ); + } + + private async _valueChanged(ev: CustomEvent) { + const mode = (ev.detail as any).value as AlarmMode; + + const { state: modeState, service } = ALARM_MODES[mode]; + + if (modeState === this.stateObj.state) return; + + // Force ha-control-select to previous mode because we don't known if the service call will succeed due to code check + this._currentMode = mode; + await this.requestUpdate("_currentMode"); + this._currentMode = this._getCurrentMode(this.stateObj!); + + let code: string | undefined; + + if ( + (mode !== "disarmed" && + this.stateObj.attributes.code_arm_required && + this.stateObj.attributes.code_format) || + (mode === "disarmed" && this.stateObj.attributes.code_format) + ) { + const disarm = mode === "disarmed"; + + const response = await showEnterCodeDialogDialog(this, { + codeFormat: this.stateObj.attributes.code_format, + title: this.hass.localize( + `ui.dialogs.more_info_control.alarm_control_panel.${ + disarm ? "disarm_title" : "arm_title" + }` + ), + submitText: this.hass.localize( + `ui.dialogs.more_info_control.alarm_control_panel.${ + disarm ? "disarm_action" : "arm_action" + }` + ), + }); + if (!response) { + return; + } + code = response; + } + + await this.hass.callService("alarm_control_panel", service, { + entity_id: this.stateObj!.entity_id, + code, + }); + } + + protected render() { + const color = stateColorCss(this.stateObj); + + const modes = this._modes(this.stateObj); + + const options = modes.map((mode) => ({ + value: mode, + label: this.hass.localize( + `ui.dialogs.more_info_control.alarm_control_panel.modes.${mode}` + ), + path: ALARM_MODES[mode].path, + })); + + return html` + + + `; + } + + static get styles(): CSSResultGroup { + return css` + ha-control-select { + height: 45vh; + max-height: max(320px, var(--modes-count, 1) * 80px); + min-height: max(200px, var(--modes-count, 1) * 80px); + --control-select-thickness: 100px; + --control-select-border-radius: 24px; + --control-select-color: var(--primary-color); + --control-select-background: var(--disabled-color); + --control-select-background-opacity: 0.2; + } + `; + } +} + +declare global { + interface HTMLElementTagNameMap { + "ha-more-info-alarm_control_panel-modes": HaMoreInfoAlarmControlPanelModes; + } +} diff --git a/src/dialogs/more-info/components/alarm_control_panel/show-enter-code-dialog.ts b/src/dialogs/more-info/components/alarm_control_panel/show-enter-code-dialog.ts new file mode 100644 index 0000000000..802ae23fb1 --- /dev/null +++ b/src/dialogs/more-info/components/alarm_control_panel/show-enter-code-dialog.ts @@ -0,0 +1,39 @@ +import { fireEvent } from "../../../../common/dom/fire_event"; + +export interface EnterCodeDialogParams { + codeFormat: "text" | "number"; + submitText?: string; + cancelText?: string; + title?: string; + submit?: (code?: string) => void; + cancel?: () => void; +} + +export const showEnterCodeDialogDialog = ( + element: HTMLElement, + dialogParams: EnterCodeDialogParams +) => + new Promise((resolve) => { + const origCancel = dialogParams.cancel; + const origSubmit = dialogParams.submit; + + fireEvent(element, "show-dialog", { + dialogTag: "dialog-enter-code", + dialogImport: () => import("./dialog-enter-code"), + dialogParams: { + ...dialogParams, + cancel: () => { + resolve(null); + if (origCancel) { + origCancel(); + } + }, + submit: (code: string) => { + resolve(code); + if (origSubmit) { + origSubmit(code); + } + }, + }, + }); + }); diff --git a/src/dialogs/more-info/components/cover/ha-more-info-cover-buttons.ts b/src/dialogs/more-info/components/cover/ha-more-info-cover-buttons.ts new file mode 100644 index 0000000000..99ee617ecb --- /dev/null +++ b/src/dialogs/more-info/components/cover/ha-more-info-cover-buttons.ts @@ -0,0 +1,311 @@ +import { mdiArrowBottomLeft, mdiArrowTopRight, mdiStop } from "@mdi/js"; +import { + css, + CSSResultGroup, + html, + LitElement, + nothing, + TemplateResult, +} from "lit"; +import { customElement, property } from "lit/decorators"; +import { repeat } from "lit/directives/repeat"; +import memoizeOne from "memoize-one"; +import { + computeCloseIcon, + computeOpenIcon, +} from "../../../../common/entity/cover_icon"; +import { supportsFeature } from "../../../../common/entity/supports-feature"; +import "../../../../components/ha-control-button"; +import "../../../../components/ha-control-button-group"; +import "../../../../components/ha-control-slider"; +import "../../../../components/ha-svg-icon"; +import { + canClose, + canCloseTilt, + canOpen, + canOpenTilt, + canStop, + canStopTilt, + CoverEntity, + CoverEntityFeature, +} from "../../../../data/cover"; +import { HomeAssistant } from "../../../../types"; + +type CoverButton = + | "open" + | "close" + | "stop" + | "open-tilt" + | "close-tilt" + | "none"; + +type CoverLayout = { + type: "line" | "cross"; + buttons: CoverButton[]; +}; + +export const getCoverLayout = memoizeOne( + (stateObj: CoverEntity): CoverLayout => { + const supportsOpen = supportsFeature(stateObj, CoverEntityFeature.OPEN); + const supportsClose = supportsFeature(stateObj, CoverEntityFeature.CLOSE); + const supportsStop = supportsFeature(stateObj, CoverEntityFeature.STOP); + const supportsOpenTilt = supportsFeature( + stateObj, + CoverEntityFeature.OPEN_TILT + ); + const supportsCloseTilt = supportsFeature( + stateObj, + CoverEntityFeature.CLOSE_TILT + ); + const supportsStopTilt = supportsFeature( + stateObj, + CoverEntityFeature.STOP_TILT + ); + + if ( + (supportsOpen || supportsClose) && + (supportsOpenTilt || supportsCloseTilt) + ) { + return { + type: "cross", + buttons: [ + supportsOpen ? "open" : "none", + supportsCloseTilt ? "close-tilt" : "none", + supportsStop || supportsStopTilt ? "stop" : "none", + supportsOpenTilt ? "open-tilt" : "none", + supportsClose ? "close" : "none", + ], + }; + } + + if (supportsOpen || supportsClose) { + const buttons: CoverButton[] = []; + if (supportsOpen) buttons.push("open"); + if (supportsStop) buttons.push("stop"); + if (supportsClose) buttons.push("close"); + return { + type: "line", + buttons, + }; + } + + if (supportsOpenTilt || supportsCloseTilt) { + const buttons: CoverButton[] = []; + if (supportsOpenTilt) buttons.push("open-tilt"); + if (supportsStopTilt) buttons.push("stop"); + if (supportsCloseTilt) buttons.push("close-tilt"); + return { + type: "line", + buttons, + }; + } + + return { + type: "line", + buttons: [], + }; + } +); + +@customElement("ha-more-info-cover-buttons") +export class HaMoreInfoCoverButtons extends LitElement { + @property({ attribute: false }) public hass!: HomeAssistant; + + @property({ attribute: false }) public stateObj!: CoverEntity; + + private _onOpenTap(ev): void { + ev.stopPropagation(); + this.hass!.callService("cover", "open_cover", { + entity_id: this.stateObj!.entity_id, + }); + } + + private _onCloseTap(ev): void { + ev.stopPropagation(); + this.hass!.callService("cover", "close_cover", { + entity_id: this.stateObj!.entity_id, + }); + } + + private _onOpenTiltTap(ev): void { + ev.stopPropagation(); + this.hass!.callService("cover", "open_cover_tilt", { + entity_id: this.stateObj!.entity_id, + }); + } + + private _onCloseTiltTap(ev): void { + ev.stopPropagation(); + this.hass!.callService("cover", "close_cover_tilt", { + entity_id: this.stateObj!.entity_id, + }); + } + + private _onStopTap(ev): void { + ev.stopPropagation(); + if (supportsFeature(this.stateObj, CoverEntityFeature.STOP)) { + this.hass!.callService("cover", "stop_cover", { + entity_id: this.stateObj!.entity_id, + }); + } + if (supportsFeature(this.stateObj, CoverEntityFeature.STOP_TILT)) { + this.hass!.callService("cover", "stop_cover_tilt", { + entity_id: this.stateObj!.entity_id, + }); + } + } + + protected renderButton(button: CoverButton | undefined) { + if (button === "open") { + return html` + + + + `; + } + if (button === "close") { + return html` + + + + `; + } + if (button === "stop") { + return html` + + + + `; + } + if (button === "open-tilt") { + return html` + + + + `; + } + if (button === "close-tilt") { + return html` + + + + `; + } + return nothing; + } + + protected render(): TemplateResult { + const layout = getCoverLayout(this.stateObj); + + return html` + ${layout.type === "line" + ? html` + + ${repeat( + layout.buttons, + (action) => action, + (action) => this.renderButton(action) + )} + + ` + : nothing} + ${layout.type === "cross" + ? html` +
+ ${repeat( + layout.buttons, + (action) => action, + (action) => this.renderButton(action) + )} +
+ ` + : nothing} + `; + } + + static get styles(): CSSResultGroup { + return css` + ha-control-button-group { + height: 45vh; + max-height: 320px; + min-height: 200px; + --control-button-group-spacing: 6px; + --control-button-group-thickness: 100px; + } + .cross-container { + height: 45vh; + max-height: 320px; + min-height: 200px; + display: grid; + grid-gap: 10px; + grid-template-columns: repeat(3, min(100px, 25vw, 15vh)); + grid-template-rows: repeat(3, min(100px, 25vw, 15vh)); + grid-template-areas: ". open ." "close-tilt stop open-tilt" ". close ."; + } + .cross-container > * { + width: 100%; + height: 100%; + } + .cross-container > [data-button="open"] { + grid-area: open; + } + .cross-container > [data-button="close"] { + grid-area: close; + } + .cross-container > [data-button="open-tilt"] { + grid-area: open-tilt; + } + .cross-container > [data-button="close-tilt"] { + grid-area: close-tilt; + } + .cross-container > [data-button="stop"] { + grid-area: stop; + } + ha-control-button { + --control-button-border-radius: 18px; + --mdc-icon-size: 24px; + } + `; + } +} + +declare global { + interface HTMLElementTagNameMap { + "ha-more-info-cover-buttons": HaMoreInfoCoverButtons; + } +} diff --git a/src/dialogs/more-info/components/cover/ha-more-info-cover-position.ts b/src/dialogs/more-info/components/cover/ha-more-info-cover-position.ts new file mode 100644 index 0000000000..ea30c823c6 --- /dev/null +++ b/src/dialogs/more-info/components/cover/ha-more-info-cover-position.ts @@ -0,0 +1,87 @@ +import { css, CSSResultGroup, html, LitElement, TemplateResult } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import { styleMap } from "lit/directives/style-map"; +import { computeAttributeNameDisplay } from "../../../../common/entity/compute_attribute_display"; +import { stateColorCss } from "../../../../common/entity/state_color"; +import "../../../../components/ha-control-slider"; +import { CoverEntity } from "../../../../data/cover"; +import { UNAVAILABLE } from "../../../../data/entity"; +import { HomeAssistant } from "../../../../types"; + +@customElement("ha-more-info-cover-position") +export class HaMoreInfoCoverPosition extends LitElement { + @property({ attribute: false }) public hass!: HomeAssistant; + + @property({ attribute: false }) public stateObj!: CoverEntity; + + @state() value?: number; + + protected updated(changedProp: Map): void { + if (changedProp.has("stateObj")) { + const currentPosition = this.stateObj?.attributes.current_position; + this.value = + currentPosition != null ? Math.round(currentPosition) : undefined; + } + } + + private _valueChanged(ev: CustomEvent) { + const value = (ev.detail as any).value; + if (isNaN(value)) return; + + this.hass.callService("cover", "set_cover_position", { + entity_id: this.stateObj!.entity_id, + position: value, + }); + } + + protected render(): TemplateResult { + const color = stateColorCss(this.stateObj); + + return html` + + + `; + } + + static get styles(): CSSResultGroup { + return css` + ha-control-slider { + height: 45vh; + max-height: 320px; + min-height: 200px; + /* Force inactive state to be colored for the slider */ + --state-cover-inactive-color: var(--state-cover-active-color); + --control-slider-thickness: 100px; + --control-slider-border-radius: 24px; + --control-slider-color: var(--primary-color); + --control-slider-background: var(--disabled-color); + --control-slider-background-opacity: 0.2; + } + `; + } +} + +declare global { + interface HTMLElementTagNameMap { + "ha-more-info-cover-position": HaMoreInfoCoverPosition; + } +} diff --git a/src/dialogs/more-info/components/cover/ha-more-info-cover-tilt-position.ts b/src/dialogs/more-info/components/cover/ha-more-info-cover-tilt-position.ts new file mode 100644 index 0000000000..b9b52d65de --- /dev/null +++ b/src/dialogs/more-info/components/cover/ha-more-info-cover-tilt-position.ts @@ -0,0 +1,128 @@ +import { + css, + CSSResultGroup, + html, + LitElement, + TemplateResult, + unsafeCSS, +} from "lit"; +import { customElement, property, state } from "lit/decorators"; +import { styleMap } from "lit/directives/style-map"; +import { computeAttributeNameDisplay } from "../../../../common/entity/compute_attribute_display"; +import { stateColorCss } from "../../../../common/entity/state_color"; +import "../../../../components/ha-control-slider"; +import { CoverEntity } from "../../../../data/cover"; +import { UNAVAILABLE } from "../../../../data/entity"; +import { HomeAssistant } from "../../../../types"; + +function generateTiltSliderTrackBackgroundGradient() { + const count = 24; + const minStrokeWidth = 0.2; + const gradient: [number, string][] = []; + + for (let i = 0; i < count; i++) { + const stopOffset1 = i / count; + const stopOffset2 = + stopOffset1 + + (i / count ** 2) * (1 - minStrokeWidth) + + minStrokeWidth / count; + + if (i !== 0) { + gradient.push([stopOffset1, "transparent"]); + } + gradient.push([stopOffset1, "var(--control-slider-color)"]); + gradient.push([stopOffset2, "var(--control-slider-color)"]); + gradient.push([stopOffset2, "transparent"]); + } + + return unsafeCSS( + gradient + .map(([stop, color]) => `${color} ${(stop as number) * 100}%`) + .join(", ") + ); +} + +const GRADIENT = generateTiltSliderTrackBackgroundGradient(); + +@customElement("ha-more-info-cover-tilt-position") +export class HaMoreInfoCoverTiltPosition extends LitElement { + @property({ attribute: false }) public hass!: HomeAssistant; + + @property({ attribute: false }) public stateObj!: CoverEntity; + + @state() value?: number; + + protected updated(changedProp: Map): void { + if (changedProp.has("stateObj")) { + this.value = + this.stateObj.attributes.current_tilt_position != null + ? Math.round(this.stateObj.attributes.current_tilt_position) + : undefined; + } + } + + private _valueChanged(ev: CustomEvent) { + const value = (ev.detail as any).value; + if (isNaN(value)) return; + + this.hass.callService("cover", "set_cover_tilt_position", { + entity_id: this.stateObj!.entity_id, + tilt_position: value, + }); + } + + protected render(): TemplateResult { + const color = stateColorCss(this.stateObj); + const isUnavailable = this.stateObj.state === UNAVAILABLE; + + return html` + +
+
+ `; + } + + static get styles(): CSSResultGroup { + return css` + ha-control-slider { + height: 45vh; + max-height: 320px; + min-height: 200px; + /* Force inactive state to be colored for the slider */ + --state-cover-inactive-color: var(--state-cover-active-color); + --control-slider-thickness: 100px; + --control-slider-border-radius: 24px; + --control-slider-color: var(--primary-color); + --control-slider-background-opacity: 0.2; + --control-slider-background: var(--control-slider-color); + } + .gradient { + background: -webkit-linear-gradient(top, ${GRADIENT}); + opacity: 0.6; + } + `; + } +} + +declare global { + interface HTMLElementTagNameMap { + "ha-more-info-cover-tilt-position": HaMoreInfoCoverTiltPosition; + } +} diff --git a/src/dialogs/more-info/components/cover/ha-more-info-cover-toggle.ts b/src/dialogs/more-info/components/cover/ha-more-info-cover-toggle.ts new file mode 100644 index 0000000000..0ee9b54172 --- /dev/null +++ b/src/dialogs/more-info/components/cover/ha-more-info-cover-toggle.ts @@ -0,0 +1,169 @@ +import { HassEntity } from "home-assistant-js-websocket"; +import { css, CSSResultGroup, html, LitElement, TemplateResult } from "lit"; +import { customElement, property } from "lit/decorators"; +import { classMap } from "lit/directives/class-map"; +import { styleMap } from "lit/directives/style-map"; +import { domainIcon } from "../../../../common/entity/domain_icon"; +import { stateColorCss } from "../../../../common/entity/state_color"; +import "../../../../components/ha-control-button"; +import "../../../../components/ha-control-switch"; +import { UNAVAILABLE, UNKNOWN } from "../../../../data/entity"; +import { forwardHaptic } from "../../../../data/haptics"; +import { HomeAssistant } from "../../../../types"; + +@customElement("ha-more-info-cover-toggle") +export class HaMoreInfoCoverToggle extends LitElement { + @property({ attribute: false }) public hass!: HomeAssistant; + + @property({ attribute: false }) public stateObj!: HassEntity; + + private _valueChanged(ev) { + const checked = ev.target.checked as boolean; + + if (checked) { + this._turnOn(); + } else { + this._turnOff(); + } + } + + private _turnOn() { + this._callService(true); + } + + private _turnOff() { + this._callService(false); + } + + private async _callService(turnOn): Promise { + if (!this.hass || !this.stateObj) { + return; + } + forwardHaptic("light"); + + await this.hass.callService( + "cover", + turnOn ? "open_cover" : "close_cover", + { + entity_id: this.stateObj.entity_id, + } + ); + } + + protected render(): TemplateResult { + const onColor = stateColorCss(this.stateObj, "open"); + const offColor = stateColorCss(this.stateObj, "closed"); + + const isOn = + this.stateObj.state === "open" || + this.stateObj.state === "closing" || + this.stateObj.state === "opening"; + const isOff = this.stateObj.state === "closed"; + + if ( + this.stateObj.attributes.assumed_state || + this.stateObj.state === UNKNOWN + ) { + return html` +
+ + + + + + +
+ `; + } + + return html` + + + `; + } + + static get styles(): CSSResultGroup { + return css` + ha-control-switch { + height: 45vh; + max-height: 320px; + min-height: 200px; + --control-switch-thickness: 100px; + --control-switch-border-radius: 24px; + --control-switch-padding: 6px; + --mdc-icon-size: 24px; + } + .buttons { + display: flex; + flex-direction: column; + width: 100px; + height: 45vh; + max-height: 320px; + min-height: 200px; + padding: 6px; + box-sizing: border-box; + } + ha-control-button { + flex: 1; + width: 100%; + --control-button-border-radius: 18px; + --mdc-icon-size: 24px; + } + ha-control-button.active { + --control-button-icon-color: white; + --control-button-background-color: var(--color); + --control-button-background-opacity: 1; + } + ha-control-button:not(:last-child) { + margin-bottom: 6px; + } + `; + } +} + +declare global { + interface HTMLElementTagNameMap { + "ha-more-info-cover-toggle": HaMoreInfoCoverToggle; + } +} diff --git a/src/dialogs/more-info/components/fan/ha-more-info-fan-speed.ts b/src/dialogs/more-info/components/fan/ha-more-info-fan-speed.ts new file mode 100644 index 0000000000..54bc13b937 --- /dev/null +++ b/src/dialogs/more-info/components/fan/ha-more-info-fan-speed.ts @@ -0,0 +1,169 @@ +import { css, CSSResultGroup, html, LitElement } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import { styleMap } from "lit/directives/style-map"; +import { computeAttributeNameDisplay } from "../../../../common/entity/compute_attribute_display"; +import { computeStateDisplay } from "../../../../common/entity/compute_state_display"; +import { stateColorCss } from "../../../../common/entity/state_color"; +import "../../../../components/ha-control-select"; +import type { ControlSelectOption } from "../../../../components/ha-control-select"; +import "../../../../components/ha-control-slider"; +import { UNAVAILABLE } from "../../../../data/entity"; +import { + computeFanSpeedCount, + computeFanSpeedIcon, + FanEntity, + fanPercentageToSpeed, + FanSpeed, + fanSpeedToPercentage, + FAN_SPEEDS, + FAN_SPEED_COUNT_MAX_FOR_BUTTONS, +} from "../../../../data/fan"; +import { HomeAssistant } from "../../../../types"; + +@customElement("ha-more-info-fan-speed") +export class HaMoreInfoFanSpeed extends LitElement { + @property({ attribute: false }) public hass!: HomeAssistant; + + @property({ attribute: false }) public stateObj!: FanEntity; + + @state() value?: number; + + protected updated(changedProp: Map): void { + if (changedProp.has("stateObj")) { + this.value = + this.stateObj.attributes.percentage != null + ? Math.max(Math.round(this.stateObj.attributes.percentage), 1) + : undefined; + } + } + + private _speedValueChanged(ev: CustomEvent) { + const speed = (ev.detail as any).value as FanSpeed; + + const percentage = fanSpeedToPercentage(this.stateObj, speed); + + this.hass.callService("fan", "set_percentage", { + entity_id: this.stateObj!.entity_id, + percentage: percentage, + }); + } + + private _valueChanged(ev: CustomEvent) { + const value = (ev.detail as any).value; + if (isNaN(value)) return; + + this.hass.callService("fan", "set_percentage", { + entity_id: this.stateObj!.entity_id, + percentage: value, + }); + } + + private _localizeSpeed(speed: FanSpeed) { + if (speed === "on" || speed === "off") { + return computeStateDisplay( + this.hass.localize, + this.stateObj, + this.hass.locale, + this.hass.entities, + speed + ); + } + return ( + this.hass.localize(`ui.dialogs.more_info_control.fan.speed.${speed}`) || + speed + ); + } + + protected render() { + const color = stateColorCss(this.stateObj); + + const speedCount = computeFanSpeedCount(this.stateObj); + + if (speedCount <= FAN_SPEED_COUNT_MAX_FOR_BUTTONS) { + const options = FAN_SPEEDS[speedCount]!.map( + (speed) => ({ + value: speed, + label: this._localizeSpeed(speed), + path: computeFanSpeedIcon(this.stateObj, speed), + }) + ).reverse(); + + const speed = fanPercentageToSpeed( + this.stateObj, + this.stateObj.attributes.percentage ?? 0 + ); + + return html` + + + `; + } + + return html` + + + `; + } + + static get styles(): CSSResultGroup { + return css` + ha-control-slider { + height: 45vh; + max-height: 320px; + min-height: 200px; + --control-slider-thickness: 100px; + --control-slider-border-radius: 24px; + --control-slider-color: var(--primary-color); + --control-slider-background: var(--disabled-color); + --control-slider-background-opacity: 0.2; + } + ha-control-select { + height: 45vh; + max-height: 320px; + min-height: 200px; + --control-select-thickness: 100px; + --control-select-border-radius: 24px; + --control-select-color: var(--primary-color); + --control-select-background: var(--disabled-color); + --control-select-background-opacity: 0.2; + } + `; + } +} + +declare global { + interface HTMLElementTagNameMap { + "ha-more-info-fan-speed": HaMoreInfoFanSpeed; + } +} diff --git a/src/dialogs/more-info/components/ha-more-info-control-style.ts b/src/dialogs/more-info/components/ha-more-info-control-style.ts index 1c3fed35e2..5f33a1a53d 100644 --- a/src/dialogs/more-info/components/ha-more-info-control-style.ts +++ b/src/dialogs/more-info/components/ha-more-info-control-style.ts @@ -14,10 +14,25 @@ export const moreInfoControlStyle = css` align-items: center; } + .controls:not(:last-child) { + margin-bottom: 24px; + } + .controls > *:not(:last-child) { margin-bottom: 24px; } + .buttons { + display: flex; + align-items: center; + justify-content: center; + margin-bottom: 12px; + } + + .buttons > * { + margin: 4px; + } + ha-attributes { width: 100%; } diff --git a/src/dialogs/more-info/components/lights/ha-more-info-view-light-color-picker.ts b/src/dialogs/more-info/components/lights/ha-more-info-view-light-color-picker.ts index 59828417c2..1defa77c48 100644 --- a/src/dialogs/more-info/components/lights/ha-more-info-view-light-color-picker.ts +++ b/src/dialogs/more-info/components/lights/ha-more-info-view-light-color-picker.ts @@ -11,6 +11,7 @@ import { PropertyValues, } from "lit"; import { customElement, property, state } from "lit/decorators"; +import { throttle } from "../../../../common/util/throttle"; import "../../../../components/ha-button-toggle-group"; import "../../../../components/ha-color-picker"; import "../../../../components/ha-control-slider"; @@ -297,17 +298,26 @@ class MoreInfoViewLightColorPicker extends LitElement { private _ctSliderMoved(ev: CustomEvent) { const ct = ev.detail.value; - if (isNaN(ct)) { + if (isNaN(ct) || this._ctSliderValue === ct) { return; } this._ctSliderValue = ct; + + this._throttleUpdateColorTemp(); } + private _throttleUpdateColorTemp = throttle(() => { + this.hass.callService("light", "turn_on", { + entity_id: this.stateObj!.entity_id, + color_temp_kelvin: this._ctSliderValue, + }); + }, 500); + private _ctSliderChanged(ev: CustomEvent) { const ct = ev.detail.value; - if (isNaN(ct)) { + if (isNaN(ct) || this._ctSliderValue === ct) { return; } diff --git a/src/dialogs/more-info/const.ts b/src/dialogs/more-info/const.ts index d091e1b395..e9304a55fc 100644 --- a/src/dialogs/more-info/const.ts +++ b/src/dialogs/more-info/const.ts @@ -17,6 +17,9 @@ export const EDITABLE_DOMAINS_WITH_ID = ["scene", "automation"]; export const EDITABLE_DOMAINS_WITH_UNIQUE_ID = ["script"]; /** Domains with with new more info design. */ export const DOMAINS_WITH_NEW_MORE_INFO = [ + "alarm_control_panel", + "cover", + "fan", "input_boolean", "light", "siren", diff --git a/src/dialogs/more-info/controls/more-info-alarm_control_panel.ts b/src/dialogs/more-info/controls/more-info-alarm_control_panel.ts index 9410c20e33..02ed0296cf 100644 --- a/src/dialogs/more-info/controls/more-info-alarm_control_panel.ts +++ b/src/dialogs/more-info/controls/more-info-alarm_control_panel.ts @@ -1,70 +1,46 @@ -import "@material/mwc-button"; -import type { HassEntity } from "home-assistant-js-websocket"; -import { css, html, LitElement, PropertyValues, nothing } from "lit"; -import { customElement, property, query, state } from "lit/decorators"; -import { classMap } from "lit/directives/class-map"; -import { supportsFeature } from "../../../common/entity/supports-feature"; -import "../../../components/ha-textfield"; -import type { HaTextField } from "../../../components/ha-textfield"; -import { - AlarmControlPanelEntityFeature, - callAlarmAction, - FORMAT_NUMBER, -} from "../../../data/alarm_control_panel"; +import "@material/web/button/outlined-button"; +import { mdiShieldOff } from "@mdi/js"; +import { css, CSSResultGroup, html, LitElement, nothing } from "lit"; +import { customElement, property } from "lit/decorators"; +import { styleMap } from "lit/directives/style-map"; +import { domainIcon } from "../../../common/entity/domain_icon"; +import { stateColorCss } from "../../../common/entity/state_color"; +import { AlarmControlPanelEntity } from "../../../data/alarm_control_panel"; import type { HomeAssistant } from "../../../types"; - -const BUTTONS = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "", "0", "clear"]; -const DISARM_ACTIONS = ["disarm"]; +import "../components/alarm_control_panel/ha-more-info-alarm_control_panel-modes"; +import { showEnterCodeDialogDialog } from "../components/alarm_control_panel/show-enter-code-dialog"; +import { moreInfoControlStyle } from "../components/ha-more-info-control-style"; +import "../components/ha-more-info-state-header"; @customElement("more-info-alarm_control_panel") -export class MoreInfoAlarmControlPanel extends LitElement { +class MoreInfoAlarmControlPanel extends LitElement { @property({ attribute: false }) public hass!: HomeAssistant; - @property({ attribute: false }) public stateObj?: HassEntity; + @property({ attribute: false }) public stateObj?: AlarmControlPanelEntity; - @state() private _armActions: string[] = []; + private async _disarm() { + let code: string | undefined; - @query("#alarmCode") private _input?: HaTextField; - - public willUpdate(changedProps: PropertyValues) { - super.willUpdate(changedProps); - - if (!this.stateObj || !changedProps.has("stateObj")) { - return; + if (this.stateObj!.attributes.code_format) { + const response = await showEnterCodeDialogDialog(this, { + codeFormat: this.stateObj!.attributes.code_format, + title: this.hass.localize( + "ui.dialogs.more_info_control.alarm_control_panel.disarm_title" + ), + submitText: this.hass.localize( + "ui.dialogs.more_info_control.alarm_control_panel.disarm_action" + ), + }); + if (!response) { + return; + } + code = response; } - this._armActions = []; - if ( - supportsFeature(this.stateObj, AlarmControlPanelEntityFeature.ARM_HOME) - ) { - this._armActions.push("arm_home"); - } - if ( - supportsFeature(this.stateObj, AlarmControlPanelEntityFeature.ARM_AWAY) - ) { - this._armActions.push("arm_away"); - } - if ( - supportsFeature(this.stateObj, AlarmControlPanelEntityFeature.ARM_NIGHT) - ) { - this._armActions.push("arm_night"); - } - if ( - supportsFeature( - this.stateObj, - AlarmControlPanelEntityFeature.ARM_CUSTOM_BYPASS - ) - ) { - this._armActions.push("arm_custom_bypass"); - } - if ( - supportsFeature( - this.stateObj, - AlarmControlPanelEntityFeature.ARM_VACATION - ) - ) { - this._armActions.push("arm_vacation"); - } + this.hass.callService("alarm_control_panel", "alarm_disarm", { + entity_id: this.stateObj!.entity_id, + code, + }); } protected render() { @@ -72,134 +48,104 @@ export class MoreInfoAlarmControlPanel extends LitElement { return nothing; } + const color = stateColorCss(this.stateObj); + const style = { + "--icon-color": color, + }; return html` - ${!this.stateObj.attributes.code_format - ? "" - : html` -
- -
- `} - ${this.stateObj.attributes.code_format !== FORMAT_NUMBER - ? "" - : html` -
- ${BUTTONS.map((value) => - value === "" - ? html`` - : html` - - ${value === "clear" - ? this.hass!.localize( - `ui.card.alarm_control_panel.clear_code` - ) - : value} - - ` - )} -
- `} -
- ${(this.stateObj.state === "disarmed" - ? this._armActions - : DISARM_ACTIONS - ).map( - (stateAction) => html` - - ${this.hass!.localize( - `ui.card.alarm_control_panel.${stateAction}` - )} - - ` - )} + +
+ ${["triggered", "arming", "pending"].includes(this.stateObj.state) + ? html` +
+ +
+ +
+ + + +
+ ` + : html` + + + `}
+ `; } - private _handlePadClick(e: MouseEvent): void { - const val = (e.currentTarget! as any).value; - this._input!.value = val === "clear" ? "" : this._input!.value + val; + static get styles(): CSSResultGroup { + return [ + moreInfoControlStyle, + css` + :host { + --icon-color: var(--primary-color); + } + md-outlined-button { + --ha-icon-display: block; + --md-sys-color-primary: var(--primary-text-color); + } + @keyframes pulse { + 0% { + opacity: 1; + } + 50% { + opacity: 0; + } + 100% { + opacity: 1; + } + } + .status { + display: flex; + align-items: center; + flex-direction: column; + } + .status .icon { + position: relative; + --mdc-icon-size: 80px; + animation: pulse 1s infinite; + color: var(--icon-color); + border-radius: 50%; + width: 144px; + height: 144px; + display: flex; + align-items: center; + justify-content: center; + } + .status .icon::before { + content: ""; + position: absolute; + top: 0; + left: 0; + height: 100%; + width: 100%; + border-radius: 50%; + background-color: var(--icon-color); + transition: background-color 180ms ease-in-out; + opacity: 0.2; + } + .status md-outlined-button { + margin-top: 32px; + } + `, + ]; } - - private _handleActionClick(e: MouseEvent): void { - const input = this._input; - callAlarmAction( - this.hass!, - this.stateObj!.entity_id, - (e.currentTarget! as any).action, - input?.value || undefined - ); - if (input) { - input.value = ""; - } - } - - static styles = css` - ha-textfield { - display: block; - margin: 8px; - max-width: 150px; - text-align: center; - } - - #keypad { - display: flex; - justify-content: center; - flex-wrap: wrap; - margin: auto; - width: 100%; - max-width: 300px; - } - - #keypad mwc-button { - padding: 8px; - width: 30%; - box-sizing: border-box; - } - - .actions { - margin: 0; - display: flex; - flex-wrap: wrap; - justify-content: center; - } - - .actions mwc-button { - margin: 0 4px 4px; - } - - mwc-button#disarm { - color: var(--error-color); - } - - mwc-button.numberkey { - --mdc-typography-button-font-size: var(--keypad-font-size, 0.875rem); - } - - .center { - display: flex; - justify-content: center; - } - `; } declare global { diff --git a/src/dialogs/more-info/controls/more-info-climate.ts b/src/dialogs/more-info/controls/more-info-climate.ts index b4a2bd831b..52a4b0aa14 100644 --- a/src/dialogs/more-info/controls/more-info-climate.ts +++ b/src/dialogs/more-info/controls/more-info-climate.ts @@ -235,6 +235,7 @@ class MoreInfoClimate extends LitElement { ${computeAttributeValueDisplay( hass.localize, stateObj, + hass.locale, hass.entities, "preset_mode", mode @@ -268,6 +269,7 @@ class MoreInfoClimate extends LitElement { ${computeAttributeValueDisplay( hass.localize, stateObj, + hass.locale, hass.entities, "fan_mode", mode @@ -301,6 +303,7 @@ class MoreInfoClimate extends LitElement { ${computeAttributeValueDisplay( hass.localize, stateObj, + hass.locale, hass.entities, "swing_mode", mode diff --git a/src/dialogs/more-info/controls/more-info-cover.ts b/src/dialogs/more-info/controls/more-info-cover.ts index 2b01a2fcad..659862a9b1 100644 --- a/src/dialogs/more-info/controls/more-info-cover.ts +++ b/src/dialogs/more-info/controls/more-info-cover.ts @@ -1,89 +1,195 @@ -import { css, CSSResult, html, LitElement, nothing } from "lit"; -import { customElement, property } from "lit/decorators"; -import { attributeClassNames } from "../../../common/entity/attribute_class_names"; +import { mdiMenu, mdiSwapVertical } from "@mdi/js"; import { - FeatureClassNames, - featureClassNames, -} from "../../../common/entity/feature_class_names"; + css, + CSSResultGroup, + html, + LitElement, + nothing, + PropertyValues, +} from "lit"; +import { customElement, property, state } from "lit/decorators"; +import { computeStateDisplay } from "../../../common/entity/compute_state_display"; import { supportsFeature } from "../../../common/entity/supports-feature"; +import { blankBeforePercent } from "../../../common/translations/blank_before_percent"; import "../../../components/ha-attributes"; -import "../../../components/ha-cover-tilt-controls"; -import "../../../components/ha-labeled-slider"; -import { - CoverEntity, - CoverEntityFeature, - isTiltOnly, -} from "../../../data/cover"; -import { HomeAssistant } from "../../../types"; - -export const FEATURE_CLASS_NAMES: FeatureClassNames = { - [CoverEntityFeature.SET_POSITION]: "has-set_position", - [CoverEntityFeature.OPEN_TILT]: "has-open_tilt", - [CoverEntityFeature.CLOSE_TILT]: "has-close_tilt", - [CoverEntityFeature.STOP_TILT]: "has-stop_tilt", - [CoverEntityFeature.SET_TILT_POSITION]: "has-set_tilt_position", -}; +import { CoverEntity, CoverEntityFeature } from "../../../data/cover"; +import type { HomeAssistant } from "../../../types"; +import "../components/cover/ha-more-info-cover-buttons"; +import "../components/cover/ha-more-info-cover-position"; +import "../components/cover/ha-more-info-cover-tilt-position"; +import "../components/cover/ha-more-info-cover-toggle"; +import { moreInfoControlStyle } from "../components/ha-more-info-control-style"; +import "../components/ha-more-info-state-header"; @customElement("more-info-cover") class MoreInfoCover extends LitElement { @property({ attribute: false }) public hass!: HomeAssistant; - @property({ attribute: false }) public stateObj!: CoverEntity; + @property({ attribute: false }) public stateObj?: CoverEntity; + + @state() private _displayedPosition?: number; + + @state() private _mode?: "position" | "button"; + + private _toggleMode() { + this._mode = this._mode === "position" ? "button" : "position"; + } + + private _positionChanged(ev) { + const value = (ev.detail as any).value; + if (isNaN(value)) return; + this._displayedPosition = value; + } + + protected willUpdate(changedProps: PropertyValues): void { + super.willUpdate(changedProps); + if (changedProps.has("stateObj") && this.stateObj) { + if (supportsFeature(this.stateObj, CoverEntityFeature.SET_POSITION)) { + const currentPosition = this.stateObj?.attributes.current_position; + this._displayedPosition = + currentPosition != null ? Math.round(currentPosition) : undefined; + } + if (!this._mode) { + this._mode = + supportsFeature(this.stateObj, CoverEntityFeature.SET_POSITION) || + supportsFeature(this.stateObj, CoverEntityFeature.SET_TILT_POSITION) + ? "position" + : "button"; + } + } + } + + private get _stateOverride() { + if (this._displayedPosition == null) return undefined; + + const tempState = { + ...this.stateObj, + state: this._displayedPosition ? "open" : "closed", + attributes: { + ...this.stateObj!.attributes, + current_position: this._displayedPosition, + }, + } as CoverEntity; + + const stateDisplay = computeStateDisplay( + this.hass.localize, + tempState!, + this.hass.locale, + this.hass.entities + ); + + return this._displayedPosition && this._displayedPosition !== 100 + ? `${stateDisplay} - ${Math.round( + this._displayedPosition + )}${blankBeforePercent(this.hass!.locale)}%` + : stateDisplay; + } protected render() { - if (!this.stateObj) { + if (!this.hass || !this.stateObj) { return nothing; } - const _isTiltOnly = isTiltOnly(this.stateObj); + const supportsPosition = supportsFeature( + this.stateObj, + CoverEntityFeature.SET_POSITION + ); + + const supportsTiltPosition = supportsFeature( + this.stateObj, + CoverEntityFeature.SET_TILT_POSITION + ); + + const supportsOpenClose = + supportsFeature(this.stateObj, CoverEntityFeature.OPEN) || + supportsFeature(this.stateObj, CoverEntityFeature.CLOSE) || + supportsFeature(this.stateObj, CoverEntityFeature.STOP); + + const supportsTilt = + supportsFeature(this.stateObj, CoverEntityFeature.OPEN_TILT) || + supportsFeature(this.stateObj, CoverEntityFeature.CLOSE_TILT) || + supportsFeature(this.stateObj, CoverEntityFeature.STOP_TILT); + + const supportsOpenCloseWithoutStop = + supportsFeature(this.stateObj, CoverEntityFeature.OPEN) && + supportsFeature(this.stateObj, CoverEntityFeature.CLOSE) && + !supportsFeature(this.stateObj, CoverEntityFeature.STOP) && + !supportsFeature(this.stateObj, CoverEntityFeature.OPEN_TILT) && + !supportsFeature(this.stateObj, CoverEntityFeature.CLOSE_TILT); return html` -
-
- -
- -
- ${supportsFeature(this.stateObj, CoverEntityFeature.SET_TILT_POSITION) - ? // Either render the labeled slider and put the tilt buttons into its slot - // or (if tilt position is not supported and therefore no slider is shown) - // render a title
(same style as for a labeled slider) and directly put - // the tilt controls on the more-info. - html` - ${!_isTiltOnly - ? html` ` - : nothing} - ` - : !_isTiltOnly - ? html` -
- ${this.hass.localize("ui.card.cover.tilt_position")} -
- - ` - : nothing} + +
+
+ ${ + this._mode === "position" + ? html` + ${supportsPosition + ? html` + + ` + : nothing} + ${supportsTiltPosition + ? html` + + ` + : nothing} + ` + : nothing + } + ${ + this._mode === "button" + ? html` + ${supportsOpenCloseWithoutStop + ? html` + + ` + : supportsOpenClose || supportsTilt + ? html` + + ` + : nothing} + ` + : nothing + } +
+ ${ + (supportsPosition || supportsTiltPosition) && + (supportsOpenClose || supportsTilt) + ? html` +
+ +
+ ` + : nothing + }
* { + margin: 0 8px; + } + `, ]; - return classes.join(" "); - } - - private _coverPositionSliderChanged(ev) { - this.hass.callService("cover", "set_cover_position", { - entity_id: this.stateObj.entity_id, - position: ev.target.value, - }); - } - - private _coverTiltPositionSliderChanged(ev) { - this.hass.callService("cover", "set_cover_tilt_position", { - entity_id: this.stateObj.entity_id, - tilt_position: ev.target.value, - }); - } - - static get styles(): CSSResult { - return css` - .current_position, - .tilt { - max-height: 0px; - overflow: hidden; - } - - .has-set_position .current_position, - .has-current_position .current_position, - .has-open_tilt .tilt, - .has-close_tilt .tilt, - .has-stop_tilt .tilt, - .has-set_tilt_position .tilt, - .has-current_tilt_position .tilt { - max-height: 208px; - } - - /* from ha-labeled-slider for consistent look */ - .title { - margin: 5px 0 8px; - color: var(--primary-text-color); - } - `; } } diff --git a/src/dialogs/more-info/controls/more-info-fan.js b/src/dialogs/more-info/controls/more-info-fan.js deleted file mode 100644 index 2ec3925e49..0000000000 --- a/src/dialogs/more-info/controls/more-info-fan.js +++ /dev/null @@ -1,238 +0,0 @@ -import "@material/mwc-list/mwc-list-item"; -import "@polymer/iron-flex-layout/iron-flex-layout-classes"; -import { html } from "@polymer/polymer/lib/utils/html-tag"; -/* eslint-plugin-disable lit */ -import { PolymerElement } from "@polymer/polymer/polymer-element"; -import { attributeClassNames } from "../../../common/entity/attribute_class_names"; -import { supportsFeature } from "../../../common/entity/supports-feature"; -import "../../../components/ha-attributes"; -import "../../../components/ha-icon"; -import "../../../components/ha-icon-button"; -import "../../../components/ha-labeled-slider"; -import "../../../components/ha-select"; -import "../../../components/ha-switch"; -import { FanEntityFeature } from "../../../data/fan"; -import { EventsMixin } from "../../../mixins/events-mixin"; -import LocalizeMixin from "../../../mixins/localize-mixin"; - -/* - * @appliesMixin EventsMixin - */ -class MoreInfoFan extends LocalizeMixin(EventsMixin(PolymerElement)) { - static get template() { - return html` - - - -
-
- -
- -
- - - -
- -
-
-
[[localize('ui.card.fan.oscillate')]]
- - -
-
- -
-
-
[[localize('ui.card.fan.direction')]]
- - - - - - -
-
-
- - - `; - } - - static get properties() { - return { - hass: { - type: Object, - }, - - stateObj: { - type: Object, - observer: "stateObjChanged", - }, - - oscillationToggleChecked: { - type: Boolean, - }, - - percentageSliderValue: { - type: Number, - }, - }; - } - - stateObjChanged(newVal, oldVal) { - if (newVal) { - this.setProperties({ - oscillationToggleChecked: newVal.attributes.oscillating, - percentageSliderValue: newVal.attributes.percentage, - }); - } - - if (oldVal) { - setTimeout(() => { - this.fire("iron-resize"); - }, 500); - } - } - - computePercentageStepSize(stateObj) { - if (stateObj.attributes.percentage_step) { - return stateObj.attributes.percentage_step; - } - return 1; - } - - computeClassNames(stateObj) { - return ( - "more-info-fan " + - (supportsFeature(stateObj, FanEntityFeature.SET_SPEED) - ? "has-percentage " - : "") + - (stateObj.attributes.preset_modes && - stateObj.attributes.preset_modes.length - ? "has-preset_modes " - : "") + - attributeClassNames(stateObj, ["oscillating", "direction"]) - ); - } - - presetModeChanged(ev) { - const oldVal = this.stateObj.attributes.preset_mode; - const newVal = ev.target.value; - - if (!newVal || oldVal === newVal) return; - - this.hass.callService("fan", "set_preset_mode", { - entity_id: this.stateObj.entity_id, - preset_mode: newVal, - }); - } - - stopPropagation(ev) { - ev.stopPropagation(); - } - - percentageChanged(ev) { - const oldVal = parseInt(this.stateObj.attributes.percentage, 10); - const newVal = ev.target.value; - - if (isNaN(newVal) || oldVal === newVal) return; - - this.hass.callService("fan", "set_percentage", { - entity_id: this.stateObj.entity_id, - percentage: newVal, - }); - } - - oscillationToggleChanged(ev) { - const oldVal = this.stateObj.attributes.oscillating; - const newVal = ev.target.checked; - - if (oldVal === newVal) return; - - this.hass.callService("fan", "oscillate", { - entity_id: this.stateObj.entity_id, - oscillating: newVal, - }); - } - - onDirectionReverse() { - this.hass.callService("fan", "set_direction", { - entity_id: this.stateObj.entity_id, - direction: "reverse", - }); - } - - onDirectionForward() { - this.hass.callService("fan", "set_direction", { - entity_id: this.stateObj.entity_id, - direction: "forward", - }); - } - - computeIsRotatingReverse(stateObj) { - return stateObj.attributes.direction === "reverse"; - } - - computeIsRotatingForward(stateObj) { - return stateObj.attributes.direction === "forward"; - } -} - -customElements.define("more-info-fan", MoreInfoFan); diff --git a/src/dialogs/more-info/controls/more-info-fan.ts b/src/dialogs/more-info/controls/more-info-fan.ts new file mode 100644 index 0000000000..701dff67a2 --- /dev/null +++ b/src/dialogs/more-info/controls/more-info-fan.ts @@ -0,0 +1,324 @@ +import "@material/web/button/outlined-button"; +import "@material/web/iconbutton/outlined-icon-button"; +import { + mdiCreation, + mdiFan, + mdiFanOff, + mdiPower, + mdiRotateLeft, + mdiRotateRight, +} from "@mdi/js"; +import { + css, + CSSResultGroup, + html, + LitElement, + nothing, + PropertyValues, +} from "lit"; +import { customElement, property, state } from "lit/decorators"; +import { stopPropagation } from "../../../common/dom/stop_propagation"; +import { + computeAttributeNameDisplay, + computeAttributeValueDisplay, +} from "../../../common/entity/compute_attribute_display"; +import { supportsFeature } from "../../../common/entity/supports-feature"; +import { blankBeforePercent } from "../../../common/translations/blank_before_percent"; +import "../../../components/ha-attributes"; +import { UNAVAILABLE } from "../../../data/entity"; +import { + computeFanSpeedCount, + FanEntity, + FanEntityFeature, + FAN_SPEED_COUNT_MAX_FOR_BUTTONS, +} from "../../../data/fan"; +import { forwardHaptic } from "../../../data/haptics"; +import { haOscillating } from "../../../data/icons/haOscillating"; +import { haOscillatingOff } from "../../../data/icons/haOscillatingOff"; +import type { HomeAssistant } from "../../../types"; +import "../components/fan/ha-more-info-fan-speed"; +import { moreInfoControlStyle } from "../components/ha-more-info-control-style"; +import "../components/ha-more-info-state-header"; +import "../components/ha-more-info-toggle"; + +@customElement("more-info-fan") +class MoreInfoFan extends LitElement { + @property({ attribute: false }) public hass!: HomeAssistant; + + @property({ attribute: false }) public stateObj?: FanEntity; + + @state() public _presetMode?: string; + + @state() private _selectedPercentage?: number; + + private _percentageChanged(ev) { + const value = (ev.detail as any).value; + if (isNaN(value)) return; + this._selectedPercentage = value; + } + + private _toggle = () => { + const service = this.stateObj?.state === "on" ? "turn_off" : "turn_on"; + forwardHaptic("light"); + this.hass.callService("fan", service, { + entity_id: this.stateObj!.entity_id, + }); + }; + + _setReverseDirection() { + this.hass.callService("fan", "set_direction", { + entity_id: this.stateObj!.entity_id, + direction: "reverse", + }); + } + + _setForwardDirection() { + this.hass.callService("fan", "set_direction", { + entity_id: this.stateObj!.entity_id, + direction: "forward", + }); + } + + _toggleOscillate() { + const oscillating = this.stateObj!.attributes.oscillating; + this.hass.callService("fan", "oscillate", { + entity_id: this.stateObj!.entity_id, + oscillating: !oscillating, + }); + } + + _handlePresetMode(ev) { + ev.stopPropagation(); + ev.preventDefault(); + + const index = ev.detail.index; + const newVal = this.stateObj!.attributes.preset_modes![index]; + const oldVal = this._presetMode; + + if (!newVal || oldVal === newVal) return; + + this._presetMode = newVal; + this.hass.callService("fan", "set_preset_mode", { + entity_id: this.stateObj!.entity_id, + preset_mode: newVal, + }); + } + + protected updated(changedProps: PropertyValues): void { + if (changedProps.has("stateObj")) { + this._presetMode = this.stateObj?.attributes.preset_mode; + this._selectedPercentage = this.stateObj?.attributes.percentage + ? Math.round(this.stateObj.attributes.percentage) + : undefined; + } + } + + protected render() { + if (!this.hass || !this.stateObj) { + return nothing; + } + + const supportsSpeed = supportsFeature( + this.stateObj, + FanEntityFeature.SET_SPEED + ); + + const supportsDirection = supportsFeature( + this.stateObj, + FanEntityFeature.DIRECTION + ); + const supportsOscillate = supportsFeature( + this.stateObj, + FanEntityFeature.OSCILLATE + ); + const supportsPresetMode = supportsFeature( + this.stateObj, + FanEntityFeature.PRESET_MODE + ); + + const supportSpeedPercentage = + supportsSpeed && + computeFanSpeedCount(this.stateObj) > FAN_SPEED_COUNT_MAX_FOR_BUTTONS; + + const stateOverride = this._selectedPercentage + ? `${Math.round(this._selectedPercentage)}${blankBeforePercent( + this.hass!.locale + )}%` + : undefined; + + return html` + +
+ ${ + supportsSpeed + ? html` + + + ` + : html` + + ` + } + ${ + supportSpeedPercentage || supportsDirection || supportsOscillate + ? html`
+ ${supportSpeedPercentage + ? html` + + + + ` + : nothing} + ${supportsDirection + ? html` + + + + + + + ` + : nothing} + ${supportsOscillate + ? html` + + + + ` + : nothing} +
` + : nothing + } + ${ + supportsPresetMode && this.stateObj.attributes.preset_modes + ? html` + + + + + ${this.stateObj.attributes.preset_modes?.map( + (mode) => + html` + + ${computeAttributeValueDisplay( + this.hass.localize, + this.stateObj!, + this.hass.locale, + this.hass.entities, + "preset_mode", + mode + )} + + ` + )} + + ` + : nothing + } +
+ +
+ `; + } + + static get styles(): CSSResultGroup { + return [ + moreInfoControlStyle, + css` + md-outlined-button { + --ha-icon-display: block; + --md-sys-color-primary: var(--primary-text-color); + } + `, + ]; + } +} + +declare global { + interface HTMLElementTagNameMap { + "more-info-fan": MoreInfoFan; + } +} diff --git a/src/dialogs/more-info/controls/more-info-group.ts b/src/dialogs/more-info/controls/more-info-group.ts index 2e2b069e68..0f5131c395 100644 --- a/src/dialogs/more-info/controls/more-info-group.ts +++ b/src/dialogs/more-info/controls/more-info-group.ts @@ -59,6 +59,7 @@ class MoreInfoGroup extends LitElement { attributes: { ...baseStateObj.attributes, friendly_name: this.stateObj.attributes.friendly_name, + entity_id: this.stateObj.attributes.entity_id, }, }; const type = domainMoreInfoType(groupDomain); diff --git a/src/dialogs/more-info/controls/more-info-input_boolean.ts b/src/dialogs/more-info/controls/more-info-input_boolean.ts index c2b37dac07..9ad596629d 100644 --- a/src/dialogs/more-info/controls/more-info-input_boolean.ts +++ b/src/dialogs/more-info/controls/more-info-input_boolean.ts @@ -1,6 +1,6 @@ import { mdiPower, mdiPowerOff } from "@mdi/js"; import { HassEntity } from "home-assistant-js-websocket"; -import { CSSResultGroup, html, LitElement, TemplateResult } from "lit"; +import { CSSResultGroup, html, LitElement, nothing } from "lit"; import { customElement, property } from "lit/decorators"; import "../../../components/ha-attributes"; import type { HomeAssistant } from "../../../types"; @@ -14,9 +14,9 @@ class MoreInfoInputBoolean extends LitElement { @property({ attribute: false }) public stateObj?: HassEntity; - protected render(): TemplateResult | null { + protected render() { if (!this.hass || !this.stateObj) { - return null; + return nothing; } return html` diff --git a/src/dialogs/more-info/controls/more-info-light.ts b/src/dialogs/more-info/controls/more-info-light.ts index cac953da44..225848310e 100644 --- a/src/dialogs/more-info/controls/more-info-light.ts +++ b/src/dialogs/more-info/controls/more-info-light.ts @@ -2,6 +2,7 @@ import "@material/mwc-list/mwc-list-item"; import "@material/web/iconbutton/outlined-icon-button"; import { mdiCreation, + mdiFileWordBox, mdiLightbulb, mdiLightbulbOff, mdiPalette, @@ -12,8 +13,8 @@ import { CSSResultGroup, html, LitElement, + nothing, PropertyValues, - TemplateResult, } from "lit"; import { customElement, property, state } from "lit/decorators"; import { stopPropagation } from "../../../common/dom/stop_propagation"; @@ -61,9 +62,9 @@ class MoreInfoLight extends LitElement { } } - protected render(): TemplateResult | null { + protected render() { if (!this.hass || !this.stateObj) { - return null; + return nothing; } const supportsColorTemp = lightSupportsColorMode( @@ -73,6 +74,11 @@ class MoreInfoLight extends LitElement { const supportsColor = lightSupportsColor(this.stateObj); + const supportsWhite = lightSupportsColorMode( + this.stateObj, + LightColorMode.WHITE + ); + const supportsBrightness = lightSupportsBrightness(this.stateObj); const supportsEffects = supportsFeature( @@ -131,7 +137,7 @@ class MoreInfoLight extends LitElement { ` - : null} + : nothing} ${supportsColorTemp || supportsColor ? html` ` - : null} + : nothing} + ${supportsWhite + ? html` + + + + ` + : nothing} ${supportsEffects && this.stateObj.attributes.effect_list ? html` ` - : null} + : nothing}
` - : null} + : nothing}
{ + this.hass.callService("light", "turn_on", { + entity_id: this.stateObj!.entity_id, + white: true, + }); + }; + private _handleEffectButton(ev) { ev.stopPropagation(); ev.preventDefault(); @@ -237,16 +266,6 @@ class MoreInfoLight extends LitElement { return [ moreInfoControlStyle, css` - .buttons { - display: flex; - align-items: center; - justify-content: center; - margin-bottom: 12px; - } - .buttons > * { - margin: 4px; - } - md-outlined-icon-button-toggle, md-outlined-icon-button { --ha-icon-display: block; diff --git a/src/dialogs/more-info/controls/more-info-siren.ts b/src/dialogs/more-info/controls/more-info-siren.ts index 31df155443..50bfeeabca 100644 --- a/src/dialogs/more-info/controls/more-info-siren.ts +++ b/src/dialogs/more-info/controls/more-info-siren.ts @@ -1,6 +1,6 @@ import { mdiVolumeHigh, mdiVolumeOff } from "@mdi/js"; import { HassEntity } from "home-assistant-js-websocket"; -import { CSSResultGroup, html, LitElement, TemplateResult } from "lit"; +import { CSSResultGroup, html, LitElement, nothing } from "lit"; import { customElement, property } from "lit/decorators"; import "../../../components/ha-attributes"; import type { HomeAssistant } from "../../../types"; @@ -14,9 +14,9 @@ class MoreInfoSiren extends LitElement { @property({ attribute: false }) public stateObj?: HassEntity; - protected render(): TemplateResult | null { + protected render() { if (!this.hass || !this.stateObj) { - return null; + return nothing; } return html` diff --git a/src/dialogs/more-info/controls/more-info-switch.ts b/src/dialogs/more-info/controls/more-info-switch.ts index cf9aa58f35..42915d0d89 100644 --- a/src/dialogs/more-info/controls/more-info-switch.ts +++ b/src/dialogs/more-info/controls/more-info-switch.ts @@ -1,6 +1,6 @@ import { mdiPower, mdiPowerOff } from "@mdi/js"; import { HassEntity } from "home-assistant-js-websocket"; -import { CSSResultGroup, html, LitElement, TemplateResult } from "lit"; +import { CSSResultGroup, html, LitElement, nothing } from "lit"; import { customElement, property } from "lit/decorators"; import "../../../components/ha-attributes"; import type { HomeAssistant } from "../../../types"; @@ -14,9 +14,9 @@ class MoreInfoSwitch extends LitElement { @property({ attribute: false }) public stateObj?: HassEntity; - protected render(): TemplateResult | null { + protected render() { if (!this.hass || !this.stateObj) { - return null; + return nothing; } return html` diff --git a/src/dialogs/more-info/controls/more-info-vacuum.ts b/src/dialogs/more-info/controls/more-info-vacuum.ts index c734e0160c..541a13d865 100644 --- a/src/dialogs/more-info/controls/more-info-vacuum.ts +++ b/src/dialogs/more-info/controls/more-info-vacuum.ts @@ -115,7 +115,7 @@ class MoreInfoVacuum extends LitElement { ${stateObj.attributes.status || this.hass.localize( - `component.vacuum.state._.${stateObj.state}` + `component.vacuum.entity_component._.state.${stateObj.state}` ) || stateObj.state} diff --git a/src/dialogs/more-info/controls/more-info-water_heater.js b/src/dialogs/more-info/controls/more-info-water_heater.js index a48c3b4118..bc7c673d41 100644 --- a/src/dialogs/more-info/controls/more-info-water_heater.js +++ b/src/dialogs/more-info/controls/more-info-water_heater.js @@ -225,7 +225,10 @@ class MoreInfoWaterHeater extends LocalizeMixin(EventsMixin(PolymerElement)) { } _localizeOperationMode(localize, mode) { - return localize(`component.water_heater.state._.${mode}`) || mode; + return ( + localize(`component.water_heater.entity_component._.state.${mode}`) || + mode + ); } } diff --git a/src/dialogs/more-info/ha-more-info-dialog.ts b/src/dialogs/more-info/ha-more-info-dialog.ts index 0e04e19024..456abaebe7 100644 --- a/src/dialogs/more-info/ha-more-info-dialog.ts +++ b/src/dialogs/more-info/ha-more-info-dialog.ts @@ -151,20 +151,34 @@ export class MoreInfoDialog extends LitElement { return entity?.device_id ?? null; } + private setView(view: View) { + history.replaceState( + { + ...history.state, + dialogParams: { + ...history.state?.dialogParams, + view, + }, + }, + "" + ); + this._currView = view; + } + private _goBack() { if (this._childView) { this._childView = undefined; } else { - this._currView = "info"; + this.setView("info"); } } private _goToHistory() { - this._currView = "history"; + this.setView("history"); } private _goToSettings(): void { - this._currView = "settings"; + this.setView("settings"); } private async _showChildView(ev: CustomEvent): Promise { @@ -206,7 +220,7 @@ export class MoreInfoDialog extends LitElement { private _goToRelated(ev): void { if (!shouldHandleRequestSelectedEvent(ev)) return; - this._currView = "related"; + this.setView("related"); } protected render() { diff --git a/src/dialogs/more-info/ha-more-info-history.ts b/src/dialogs/more-info/ha-more-info-history.ts index a347ac59df..f9e14f6338 100644 --- a/src/dialogs/more-info/ha-more-info-history.ts +++ b/src/dialogs/more-info/ha-more-info-history.ts @@ -4,6 +4,7 @@ import { customElement, property, state } from "lit/decorators"; import { isComponentLoaded } from "../../common/config/is_component_loaded"; import { fireEvent } from "../../common/dom/fire_event"; import { computeDomain } from "../../common/entity/compute_domain"; +import { createSearchParam } from "../../common/url/search-params"; import "../../components/chart/state-history-charts"; import "../../components/chart/statistics-chart"; import { @@ -100,9 +101,13 @@ export class MoreInfoHistory extends LitElement { return; } - this._showMoreHref = `/history?entity_id=${ - this.entityId - }&start_date=${startOfYesterday().toISOString()}`; + const params = { + entity_id: this.entityId, + start_date: startOfYesterday().toISOString(), + back: "1", + }; + + this._showMoreHref = `/history?${createSearchParam(params)}`; this._getStateHistory(); } diff --git a/src/dialogs/more-info/ha-more-info-info.ts b/src/dialogs/more-info/ha-more-info-info.ts index e9d59d3b62..858d0110bc 100644 --- a/src/dialogs/more-info/ha-more-info-info.ts +++ b/src/dialogs/more-info/ha-more-info-info.ts @@ -98,7 +98,7 @@ export class MoreInfoInfo extends LitElement { display: flex; flex-direction: column; flex: 1; - padding: 8px 24px 24px 24px; + padding: 24px; padding-bottom: max(env(safe-area-inset-bottom), 24px); } diff --git a/src/dialogs/more-info/ha-more-info-logbook.ts b/src/dialogs/more-info/ha-more-info-logbook.ts index f7a3ea990a..c42f72c57d 100644 --- a/src/dialogs/more-info/ha-more-info-logbook.ts +++ b/src/dialogs/more-info/ha-more-info-logbook.ts @@ -4,6 +4,7 @@ import { customElement, property } from "lit/decorators"; import memoizeOne from "memoize-one"; import { isComponentLoaded } from "../../common/config/is_component_loaded"; import { fireEvent } from "../../common/dom/fire_event"; +import { createSearchParam } from "../../common/url/search-params"; import "../../panels/logbook/ha-logbook"; import type { HomeAssistant } from "../../types"; @@ -55,9 +56,13 @@ export class MoreInfoLogbook extends LitElement { super.willUpdate(changedProps); if (changedProps.has("entityId") && this.entityId) { - this._showMoreHref = `/logbook?entity_id=${ - this.entityId - }&start_date=${startOfYesterday().toISOString()}`; + const params = { + entity_id: this.entityId, + start_date: startOfYesterday().toISOString(), + back: "1", + }; + + this._showMoreHref = `/logbook?${createSearchParam(params)}`; } } diff --git a/src/dialogs/notifications/notification-drawer.js b/src/dialogs/notifications/notification-drawer.js deleted file mode 100644 index 303c2aaae6..0000000000 --- a/src/dialogs/notifications/notification-drawer.js +++ /dev/null @@ -1,207 +0,0 @@ -import "@material/mwc-button"; -import "@polymer/app-layout/app-drawer/app-drawer"; -import "@polymer/app-layout/app-toolbar/app-toolbar"; -import { html } from "@polymer/polymer/lib/utils/html-tag"; -/* eslint-plugin-disable lit */ -import { PolymerElement } from "@polymer/polymer/polymer-element"; -import { computeDomain } from "../../common/entity/compute_domain"; -import "../../components/ha-icon-button-prev"; -import { subscribeNotifications } from "../../data/persistent_notification"; -import { EventsMixin } from "../../mixins/events-mixin"; -import LocalizeMixin from "../../mixins/localize-mixin"; -import "./notification-item"; - -/* - * @appliesMixin EventsMixin - * @appliesMixin LocalizeMixin - */ -export class HuiNotificationDrawer extends EventsMixin( - LocalizeMixin(PolymerElement) -) { - static get template() { - return html` - - - -
[[localize('ui.notification_drawer.title')]]
- - -
-
- - -
-
- `; - } - - static get properties() { - return { - hass: Object, - open: { - type: Boolean, - observer: "_openChanged", - }, - notifications: { - type: Array, - computed: "_computeNotifications(open, hass, _notificationsBackend)", - observer: "_notificationsChanged", - }, - _notificationsBackend: { - type: Array, - value: [], - }, - }; - } - - ready() { - super.ready(); - window.addEventListener("location-changed", () => { - // close drawer when we navigate away. - if (this.open) { - this.open = false; - } - }); - } - - _closeDrawer(ev) { - ev.stopPropagation(); - this.open = false; - } - - _dismissAll() { - this.notifications.forEach((notification) => { - this.hass.callService("persistent_notification", "dismiss", { - notification_id: notification.notification_id, - }); - }); - this.open = false; - } - - _empty(notifications) { - return notifications.length === 0; - } - - _moreThanOne(notifications) { - return notifications.length > 1; - } - - _openChanged(open) { - if (open) { - // Render closed then animate open - this._unsubNotifications = subscribeNotifications( - this.hass.connection, - (notifications) => { - this._notificationsBackend = notifications; - } - ); - } else if (this._unsubNotifications) { - this._unsubNotifications(); - this._unsubNotifications = undefined; - } - } - - _notificationsChanged(newNotifications, oldNotifications) { - // automatically close drawer when last notification has been dismissed - if ( - this.open && - oldNotifications.length > 0 && - newNotifications.length === 0 - ) { - this.open = false; - } - } - - _computeNotifications(open, hass, notificationsBackend) { - if (!open) { - return []; - } - - const configuratorEntities = Object.keys(hass.states) - .filter((entityId) => computeDomain(entityId) === "configurator") - .map((entityId) => hass.states[entityId]); - - const notifications = notificationsBackend.concat(configuratorEntities); - - notifications.sort((n1, n2) => { - const d1 = new Date(n1.created_at); - const d2 = new Date(n2.created_at); - - if (d1 < d2) { - return 1; - } - if (d1 > d2) { - return -1; - } - return 0; - }); - - return notifications; - } - - showDialog({ narrow }) { - this.style.setProperty( - "--app-drawer-width", - narrow ? window.innerWidth + "px" : "500px" - ); - this.$.drawer.open(); - } -} -customElements.define("notification-drawer", HuiNotificationDrawer); diff --git a/src/dialogs/notifications/notification-drawer.ts b/src/dialogs/notifications/notification-drawer.ts new file mode 100644 index 0000000000..15b39e54e0 --- /dev/null +++ b/src/dialogs/notifications/notification-drawer.ts @@ -0,0 +1,190 @@ +import "@material/mwc-button"; +import { UnsubscribeFunc } from "home-assistant-js-websocket"; +import { LitElement, html, css, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import { fireEvent } from "../../common/dom/fire_event"; +import { computeDomain } from "../../common/entity/compute_domain"; +import "../../components/ha-icon-button-prev"; +import { + PersistentNotification, + subscribeNotifications, +} from "../../data/persistent_notification"; +import { HomeAssistant } from "../../types"; +import "./notification-item"; +import "../../components/ha-header-bar"; +import "../../components/ha-drawer"; + +@customElement("notification-drawer") +export class HuiNotificationDrawer extends LitElement { + @property({ attribute: false }) public hass!: HomeAssistant; + + @state() private _notifications: PersistentNotification[] = []; + + @state() private _open = false; + + private _unsubNotifications?: UnsubscribeFunc; + + connectedCallback() { + super.connectedCallback(); + window.addEventListener("location-changed", this.closeDialog); + } + + disconnectedCallback() { + super.disconnectedCallback(); + window.addEventListener("location-changed", this.closeDialog); + } + + showDialog({ narrow }) { + this._unsubNotifications = subscribeNotifications( + this.hass.connection, + (notifications) => { + if (this._notifications.length && !notifications.length) { + this.closeDialog(); + return; + } + this._notifications = notifications; + } + ); + this.style.setProperty( + "--mdc-drawer-width", + narrow ? window.innerWidth + "px" : "500px" + ); + this._open = true; + } + + closeDialog = () => { + if (this._unsubNotifications) { + this._unsubNotifications(); + this._unsubNotifications = undefined; + } + this._notifications = []; + this._open = false; + fireEvent(this, "dialog-closed", { dialog: this.localName }); + }; + + protected render() { + if (!this._open) { + return nothing; + } + const configuratorEntities = Object.keys(this.hass.states) + .filter((entityId) => computeDomain(entityId) === "configurator") + .map((entityId) => this.hass.states[entityId]); + + // @ts-ignore + const notifications = this._notifications.concat(configuratorEntities); + + notifications.sort((n1, n2) => { + const d1 = new Date(n1.created_at); + const d2 = new Date(n2.created_at); + + if (d1 < d2) { + return 1; + } + if (d1 > d2) { + return -1; + } + return 0; + }); + + return html` + + +
+ ${this.hass.localize("ui.notification_drawer.title")} +
+ + +
+
+ ${notifications.length + ? html`${notifications.map( + (notification) => html`
+ +
` + )} + ${this._notifications.length > 1 + ? html`
+ + ${this.hass.localize( + "ui.notification_drawer.dismiss_all" + )} + +
` + : ""}` + : html`
+ ${this.hass.localize("ui.notification_drawer.empty")} +
+
`} +
+
+ `; + } + + private _closeDrawer(ev) { + ev.stopPropagation(); + this.closeDialog(); + } + + private _dismissAll() { + this._notifications.forEach((notification) => { + this.hass.callService("persistent_notification", "dismiss", { + notification_id: notification.notification_id, + }); + }); + this.closeDialog(); + } + + static styles = css` + ha-header-bar { + --mdc-theme-on-primary: var(--primary-text-color); + --mdc-theme-primary: var(--primary-background-color); + border-bottom: 1px solid var(--divider-color); + display: block; + --header-bar-height: var(--header-height); + } + + .notifications { + overflow-y: auto; + padding-top: 16px; + padding-left: env(safe-area-inset-left); + padding-right: env(safe-area-inset-right); + padding-bottom: env(safe-area-inset-bottom); + height: calc(100% - 1px - var(--header-height)); + box-sizing: border-box; + background-color: var(--primary-background-color); + color: var(--primary-text-color); + } + + .notification { + padding: 0 16px 16px; + } + + .notification-actions { + padding: 0 16px 16px; + text-align: center; + } + + .empty { + padding: 16px; + text-align: center; + } + `; +} + +declare global { + interface HTMLElementTagNameMap { + "notification-drawer": HuiNotificationDrawer; + } +} diff --git a/src/dialogs/notifications/persistent-notification-item.ts b/src/dialogs/notifications/persistent-notification-item.ts index fca3a395da..310a6b93b9 100644 --- a/src/dialogs/notifications/persistent-notification-item.ts +++ b/src/dialogs/notifications/persistent-notification-item.ts @@ -1,5 +1,5 @@ import "@material/mwc-button"; -import "@polymer/paper-tooltip/paper-tooltip"; +import "@lrnwebcomponents/simple-tooltip/simple-tooltip"; import { css, CSSResultGroup, html, LitElement, nothing } from "lit"; import { customElement, property } from "lit/decorators"; import { formatDateTime } from "../../common/datetime/format_date_time"; @@ -33,9 +33,9 @@ export class HuiPersistentNotificationItem extends LitElement { .datetime=${this.notification.created_at} capitalize > - + ${this._computeTooltip(this.hass, this.notification)} - +
diff --git a/src/dialogs/notifications/show-notification-drawer.ts b/src/dialogs/notifications/show-notification-drawer.ts index 5d4902f64a..c18ab74570 100644 --- a/src/dialogs/notifications/show-notification-drawer.ts +++ b/src/dialogs/notifications/show-notification-drawer.ts @@ -9,7 +9,7 @@ export const showNotificationDrawer = ( dialogParams: NotificationDrawerParams ): void => { fireEvent(element, "show-dialog", { - dialogTag: "notification-drawer" as any, // Not in TS yet + dialogTag: "notification-drawer", dialogImport: () => import("./notification-drawer"), dialogParams, }); diff --git a/src/dialogs/quick-bar/ha-quick-bar.ts b/src/dialogs/quick-bar/ha-quick-bar.ts index 9923b134c1..12b72f9b1d 100644 --- a/src/dialogs/quick-bar/ha-quick-bar.ts +++ b/src/dialogs/quick-bar/ha-quick-bar.ts @@ -30,7 +30,6 @@ import { import { debounce } from "../../common/util/debounce"; import "../../components/ha-chip"; import "../../components/ha-circular-progress"; -import "../../components/ha-header-bar"; import "../../components/ha-icon-button"; import "../../components/ha-list-item"; import "../../components/ha-textfield"; @@ -308,7 +307,7 @@ export class QuickBar extends LitElement { >${item.altText}
` - : null} + : nothing} `; } diff --git a/src/dialogs/restart/dialog-restart.ts b/src/dialogs/restart/dialog-restart.ts index 506b961823..880c909619 100644 --- a/src/dialogs/restart/dialog-restart.ts +++ b/src/dialogs/restart/dialog-restart.ts @@ -126,7 +126,7 @@ class DialogRestart extends LitElement {
` - : null} + : nothing} ` - : null} + : nothing} `} `; diff --git a/src/html/_style_base.html.template b/src/html/_style_base.html.template index e1e60a32b6..34de4456f5 100644 --- a/src/html/_style_base.html.template +++ b/src/html/_style_base.html.template @@ -1,5 +1,8 @@ - - - - - + - + `; } @@ -126,12 +97,11 @@ export class HomeAssistantMain extends LitElement { if (this._sidebarEditMode) { if (this._sidebarNarrow) { - this.drawer.open(); + this._drawerOpen = true; } else { fireEvent(this, "hass-dock-sidebar", { dock: "docked", }); - setTimeout(() => this.appLayout.resetLayout()); } } } @@ -148,16 +118,11 @@ export class HomeAssistantMain extends LitElement { return; } if (this._sidebarNarrow) { - if (this.drawer.opened) { - this.drawer.close(); - } else { - this.drawer.open(); - } + this._drawerOpen = !this._drawerOpen; } else { fireEvent(this, "hass-dock-sidebar", { dock: this.hass.dockedSidebar === "auto" ? "docked" : "auto", }); - setTimeout(() => this.appLayout.resetLayout()); } }); @@ -168,6 +133,12 @@ export class HomeAssistantMain extends LitElement { }); } + public willUpdate(changedProps: PropertyValues) { + if (changedProps.has("route") && this._sidebarNarrow) { + this._drawerOpen = false; + } + } + protected updated(changedProps: PropertyValues) { super.updated(changedProps); @@ -176,36 +147,15 @@ export class HomeAssistantMain extends LitElement { "expanded", this.narrow || this.hass.dockedSidebar !== "auto" ); - - if (changedProps.has("route") && this._sidebarNarrow) { - this.drawer.close(); - } - - const oldHass = changedProps.get("hass") as HomeAssistant | undefined; - - // Make app-drawer adjust to a potential LTR/RTL change - if (oldHass && oldHass.language !== this.hass!.language) { - this.drawer._resetPosition(); - } - } - - private _drawerTransitioned(ev: CustomEvent) { - const drawer = ev.currentTarget as AppDrawerElement; - if (!drawer.opened) { - this._sidebarEditMode = false; - } } private get _sidebarNarrow() { return this.narrow || this.hass.dockedSidebar === "always_hidden"; } - private get drawer(): AppDrawerElement { - return this.shadowRoot!.querySelector("app-drawer")!; - } - - private get appLayout(): AppDrawerLayoutElement { - return this.shadowRoot!.querySelector("app-drawer-layout")!; + private _drawerClosed() { + this._drawerOpen = false; + this._sidebarEditMode = false; } static get styles(): CSSResultGroup { @@ -214,16 +164,21 @@ export class HomeAssistantMain extends LitElement { color: var(--primary-text-color); /* remove the grey tap highlights in iOS on the fullscreen touch targets */ -webkit-tap-highlight-color: rgba(0, 0, 0, 0); - --app-drawer-width: 56px; + --mdc-drawer-width: 56px; } :host([expanded]) { - --app-drawer-width: calc(256px + env(safe-area-inset-left)); + --mdc-drawer-width: calc(256px + env(safe-area-inset-left)); } partial-panel-resolver, ha-sidebar { /* allow a light tap highlight on the actual interface elements */ -webkit-tap-highlight-color: rgba(0, 0, 0, 0.1); } + @media (min-width: 870px) { + partial-panel-resolver { + --mdc-top-app-bar-width: calc(100% - var(--mdc-drawer-width)); + } + } `; } } diff --git a/src/layouts/home-assistant.ts b/src/layouts/home-assistant.ts index a09b1441cb..bcd99b762d 100644 --- a/src/layouts/home-assistant.ts +++ b/src/layouts/home-assistant.ts @@ -136,12 +136,14 @@ export class HomeAssistantAppEl extends QuickBarMixin(HassElement) { protected hassConnected() { super.hassConnected(); // @ts-ignore - this._loadHassTranslations(this.hass!.language, "state"); - // @ts-ignore - this._loadHassTranslations(this.hass!.language, "state_attributes"); + this._loadHassTranslations(this.hass!.language, "entity_component"); // @ts-ignore this._loadHassTranslations(this.hass!.language, "entity"); + // Backwards compatibility for custom integrations + // @ts-ignore + this._loadHassTranslations(this.hass!.language, "state"); + document.addEventListener( "visibilitychange", () => this._checkVisibility(), diff --git a/src/onboarding/onboarding-analytics.ts b/src/onboarding/onboarding-analytics.ts index 3e8c1bfbf8..cbc4b6aad7 100644 --- a/src/onboarding/onboarding-analytics.ts +++ b/src/onboarding/onboarding-analytics.ts @@ -4,10 +4,10 @@ import { customElement, property, state } from "lit/decorators"; import { fireEvent } from "../common/dom/fire_event"; import { LocalizeFunc } from "../common/translations/localize"; import "../components/ha-analytics"; -import { analyticsLearnMore } from "../components/ha-analytics-learn-more"; import { Analytics, setAnalyticsPreferences } from "../data/analytics"; import { onboardAnalyticsStep } from "../data/onboarding"; import type { HomeAssistant } from "../types"; +import { documentationUrl } from "../util/documentation-url"; @customElement("onboarding-analytics") class OnboardingAnalytics extends LitElement { @@ -23,12 +23,9 @@ class OnboardingAnalytics extends LitElement { protected render(): TemplateResult { return html` -

- Share anonymized information from your installation to help make Home - Assistant better and help us convince manufacturers to add local control - and privacy-focused features. -

+

${this.hass.localize("ui.panel.page-onboarding.analytics.intro")}

${this.localize("ui.panel.page-onboarding.analytics.finish")} - ${analyticsLearnMore(this.hass)} + + ${this.hass.localize("ui.panel.page-onboarding.analytics.learn_more")} + `; } diff --git a/src/panels/calendar/ha-panel-calendar.ts b/src/panels/calendar/ha-panel-calendar.ts index de3410f3a8..88933e214a 100644 --- a/src/panels/calendar/ha-panel-calendar.ts +++ b/src/panels/calendar/ha-panel-calendar.ts @@ -1,8 +1,6 @@ import "@material/mwc-checkbox"; import "@material/mwc-formfield"; import { mdiRefresh } from "@mdi/js"; -import "@polymer/app-layout/app-header/app-header"; -import "@polymer/app-layout/app-toolbar/app-toolbar"; import { css, CSSResultGroup, @@ -25,10 +23,10 @@ import { fetchCalendarEvents, getCalendars, } from "../../data/calendar"; -import "../../layouts/ha-app-layout"; import { haStyle } from "../../resources/styles"; import type { CalendarViewChanged, HomeAssistant } from "../../types"; import "./ha-full-calendar"; +import "../../components/ha-top-app-bar-fixed"; @customElement("ha-panel-calendar") class PanelCalendar extends LitElement { @@ -59,21 +57,19 @@ class PanelCalendar extends LitElement { protected render(): TemplateResult { return html` - - - - -
${this.hass.localize("panel.calendar")}
- -
-
+ + +
${this.hass.localize("panel.calendar")}
+
@@ -108,7 +104,7 @@ class PanelCalendar extends LitElement { @view-changed=${this._handleViewChanged} >
- + `; } diff --git a/src/panels/config/areas/ha-config-area-page.ts b/src/panels/config/areas/ha-config-area-page.ts index e18a4350ba..4234fdd98d 100644 --- a/src/panels/config/areas/ha-config-area-page.ts +++ b/src/panels/config/areas/ha-config-area-page.ts @@ -553,9 +553,9 @@ class HaConfigAreaPage extends SubscribeMixin(LitElement) { ${!entityState.attributes.id ? html` - + ${this.hass.localize("ui.panel.config.devices.cant_edit")} - + ` : ""}
`; @@ -577,9 +577,9 @@ class HaConfigAreaPage extends SubscribeMixin(LitElement) { ${!entityState.attributes.id ? html` - + ${this.hass.localize("ui.panel.config.devices.cant_edit")} - + ` : ""}
`; diff --git a/src/panels/config/automation/dialog-new-automation.ts b/src/panels/config/automation/dialog-new-automation.ts index cc9183a3c8..0c160900b9 100644 --- a/src/panels/config/automation/dialog-new-automation.ts +++ b/src/panels/config/automation/dialog-new-automation.ts @@ -173,7 +173,7 @@ class DialogNewAutomation extends LitElement implements HassDialog { ` : html` - + disabled ? html` - + ${this.hass.localize( "ui.panel.config.automation.picker.disabled" )} - +
${error ? html`
${error}
` : ""} -

- Share anonymized information from your installation to help make - Home Assistant better and help us convince manufacturers to add - local control and privacy-focused features. -

+

${this.hass.localize("ui.panel.config.analytics.intro")}

- +
`; } diff --git a/src/panels/config/core/updates/dialog-join-beta.ts b/src/panels/config/core/updates/dialog-join-beta.ts index c6647b93a6..600ac954c9 100644 --- a/src/panels/config/core/updates/dialog-join-beta.ts +++ b/src/panels/config/core/updates/dialog-join-beta.ts @@ -5,7 +5,6 @@ import { customElement, property, state } from "lit/decorators"; import { fireEvent } from "../../../../common/dom/fire_event"; import "../../../../components/ha-alert"; import { createCloseHeading } from "../../../../components/ha-dialog"; -import "../../../../components/ha-header-bar"; import { HassDialog } from "../../../../dialogs/make-dialog-manager"; import { haStyleDialog } from "../../../../resources/styles"; import { HomeAssistant } from "../../../../types"; diff --git a/src/panels/config/dashboard/ha-config-dashboard.ts b/src/panels/config/dashboard/ha-config-dashboard.ts index 7c539b720d..b8d8ee15ab 100644 --- a/src/panels/config/dashboard/ha-config-dashboard.ts +++ b/src/panels/config/dashboard/ha-config-dashboard.ts @@ -6,8 +6,6 @@ import { mdiPower, mdiUpdate, } from "@mdi/js"; -import "@polymer/app-layout/app-header/app-header"; -import "@polymer/app-layout/app-toolbar/app-toolbar"; import { HassEntities, UnsubscribeFunc } from "home-assistant-js-websocket"; import { css, @@ -28,6 +26,7 @@ import "../../../components/ha-list-item"; import "../../../components/ha-menu-button"; import "../../../components/ha-svg-icon"; import "../../../components/ha-tip"; +import "../../../components/ha-top-app-bar-fixed"; import { CloudStatus } from "../../../data/cloud"; import { RepairsIssue, @@ -41,7 +40,6 @@ import { } from "../../../data/update"; import { showQuickBar } from "../../../dialogs/quick-bar/show-dialog-quick-bar"; import { showRestartDialog } from "../../../dialogs/restart/show-dialog-restart"; -import "../../../layouts/ha-app-layout"; import { PageNavigation } from "../../../layouts/hass-tabs-subpage"; import { SubscribeMixin } from "../../../mixins/subscribe-mixin"; import { haStyle } from "../../../resources/styles"; @@ -182,43 +180,43 @@ class HaConfigDashboard extends SubscribeMixin(LitElement) { this._repairsIssues; return html` - - - - -
${this.hass.localize("panel.config")}
- - - + + +
${this.hass.localize("panel.config")}
- - ${this.hass.localize("ui.panel.config.updates.check_updates")} - - + + + - - ${this.hass.localize( - "ui.panel.config.system_dashboard.restart_homeassistant" - )} - - - -
-
+ + ${this.hass.localize("ui.panel.config.updates.check_updates")} + + + + + ${this.hass.localize( + "ui.panel.config.system_dashboard.restart_homeassistant" + )} + + + ${this._tip} -
+
`; } diff --git a/src/panels/config/devices/ha-config-device-page.ts b/src/panels/config/devices/ha-config-device-page.ts index 2a0cc232a6..b4e0cb0b20 100644 --- a/src/panels/config/devices/ha-config-device-page.ts +++ b/src/panels/config/devices/ha-config-device-page.ts @@ -8,7 +8,7 @@ import { mdiPencil, mdiPlusCircle, } from "@mdi/js"; -import "@polymer/paper-tooltip/paper-tooltip"; +import "@lrnwebcomponents/simple-tooltip/simple-tooltip"; import { css, CSSResultGroup, html, LitElement, TemplateResult } from "lit"; import { customElement, property, state } from "lit/decorators"; import { ifDefined } from "lit/directives/if-defined"; @@ -403,11 +403,11 @@ export class HaConfigDevicePage extends LitElement { ${!entityState.attributes.id ? html` - + ${this.hass.localize( "ui.panel.config.devices.cant_edit" )} - + ` : ""} ` @@ -497,11 +497,11 @@ export class HaConfigDevicePage extends LitElement { ${!entityState.attributes.id ? html` - + ${this.hass.localize( "ui.panel.config.devices.cant_edit" )} - + ` : ""} diff --git a/src/panels/config/devices/ha-config-devices-dashboard.ts b/src/panels/config/devices/ha-config-devices-dashboard.ts index 582bd9e3ce..6f726df4df 100644 --- a/src/panels/config/devices/ha-config-devices-dashboard.ts +++ b/src/panels/config/devices/ha-config-devices-dashboard.ts @@ -1,6 +1,6 @@ import type { RequestSelectedDetail } from "@material/mwc-list/mwc-list-item"; import { mdiCancel, mdiFilterVariant, mdiPlus } from "@mdi/js"; -import "@polymer/paper-tooltip/paper-tooltip"; +import "@lrnwebcomponents/simple-tooltip/simple-tooltip"; import { css, CSSResultGroup, html, LitElement, TemplateResult } from "lit"; import { customElement, property, state } from "lit/decorators"; import memoizeOne from "memoize-one"; @@ -370,9 +370,9 @@ export class HaConfigDeviceDashboard extends LitElement { style="display:inline-block; position: relative;" > - + ${this.hass.localize("ui.panel.config.devices.disabled")} - + ` : "—", }; diff --git a/src/panels/config/energy/components/ha-energy-battery-settings.ts b/src/panels/config/energy/components/ha-energy-battery-settings.ts index 4d7ce0101a..dc4923f27a 100644 --- a/src/panels/config/energy/components/ha-energy-battery-settings.ts +++ b/src/panels/config/energy/components/ha-energy-battery-settings.ts @@ -100,14 +100,14 @@ export class EnergyBatterySettings extends LitElement { >` : html``}
- ${getStatisticLabel( this.hass, source.stat_energy_from, this.statsMetadata?.[source.stat_energy_from] )} - ${getStatisticLabel( this.hass, source.stat_energy_to, @@ -213,6 +213,10 @@ export class EnergyBatterySettings extends LitElement { display: flex; flex-direction: column; } + .label { + overflow: hidden; + text-overflow: ellipsis; + } `, ]; } diff --git a/src/panels/config/energy/components/styles.ts b/src/panels/config/energy/components/styles.ts index d980606a44..af553c6732 100644 --- a/src/panels/config/energy/components/styles.ts +++ b/src/panels/config/energy/components/styles.ts @@ -36,6 +36,8 @@ export const energyCardStyles = css` } .row .content { flex-grow: 1; + overflow: hidden; + text-overflow: ellipsis; } ha-icon-button { color: var(--secondary-text-color); diff --git a/src/panels/config/entities/ha-config-entities.ts b/src/panels/config/entities/ha-config-entities.ts index 143222a893..3e81973892 100644 --- a/src/panels/config/entities/ha-config-entities.ts +++ b/src/panels/config/entities/ha-config-entities.ts @@ -10,7 +10,7 @@ import { mdiRestoreAlert, mdiUndo, } from "@mdi/js"; -import "@polymer/paper-tooltip/paper-tooltip"; +import "@lrnwebcomponents/simple-tooltip/simple-tooltip"; import { HassEntity, UnsubscribeFunc } from "home-assistant-js-websocket"; import { css, CSSResultGroup, html, LitElement, nothing } from "lit"; import { customElement, property, query, state } from "lit/decorators"; @@ -276,7 +276,7 @@ export class HaConfigEntities extends SubscribeMixin(LitElement) { ? mdiEyeOff : mdiPencilOff} > - + ${entity.restored ? this.hass.localize( "ui.panel.config.entities.picker.status.restored" @@ -296,7 +296,7 @@ export class HaConfigEntities extends SubscribeMixin(LitElement) { : this.hass.localize( "ui.panel.config.entities.picker.status.readonly" )} - +
` : "—", @@ -576,33 +576,33 @@ export class HaConfigEntities extends SubscribeMixin(LitElement) { .path=${mdiUndo} .label=${this.hass.localize("ui.common.enable")} > - + ${this.hass.localize( "ui.panel.config.entities.picker.enable_selected.button" )} - + - + ${this.hass.localize( "ui.panel.config.entities.picker.disable_selected.button" )} - + - + ${this.hass.localize( "ui.panel.config.entities.picker.hide_selected.button" )} - + - + ${this.hass.localize( "ui.panel.config.entities.picker.remove_selected.button" )} - + `} diff --git a/src/panels/config/ha-panel-config.ts b/src/panels/config/ha-panel-config.ts index 6e3714bbfe..7920302c71 100644 --- a/src/panels/config/ha-panel-config.ts +++ b/src/panels/config/ha-panel-config.ts @@ -353,6 +353,13 @@ class HaPanelConfig extends HassRouterPage { tag: "ha-config-areas", load: () => import("./areas/ha-config-areas"), }, + voice_assistant: { + tag: "assist-pipeline-debug", + load: () => + import( + "./integrations/integration-panels/voice_assistant/assist/assist-pipeline-debug" + ), + }, automation: { tag: "ha-config-automation", load: () => import("./automation/ha-config-automation"), diff --git a/src/panels/config/hardware/ha-config-hardware.ts b/src/panels/config/hardware/ha-config-hardware.ts index 9e0cbea2a1..ee910d622e 100644 --- a/src/panels/config/hardware/ha-config-hardware.ts +++ b/src/panels/config/hardware/ha-config-hardware.ts @@ -3,7 +3,7 @@ import "@material/mwc-list/mwc-list-item"; import { mdiPower } from "@mdi/js"; import type { ChartOptions } from "chart.js"; import { UnsubscribeFunc } from "home-assistant-js-websocket"; -import { css, html, LitElement, PropertyValues, TemplateResult } from "lit"; +import { css, html, LitElement, nothing, PropertyValues } from "lit"; import { customElement, property, state } from "lit/decorators"; import { ifDefined } from "lit/directives/if-defined"; import { isComponentLoaded } from "../../../common/config/is_component_loaded"; @@ -209,7 +209,7 @@ class HaConfigHardware extends SubscribeMixin(LitElement) { } } - protected render(): TemplateResult { + protected render() { let boardId: string | undefined; let boardName: string | undefined; let imageURL: string | undefined; @@ -343,7 +343,7 @@ class HaConfigHardware extends SubscribeMixin(LitElement) { )} ` - : null} + : nothing} ${isComponentLoaded(this.hass, "hassio") ? html` @@ -352,7 +352,7 @@ class HaConfigHardware extends SubscribeMixin(LitElement) { )} ` - : null} + : nothing} ` : ""} diff --git a/src/panels/config/helpers/dialog-helper-detail.ts b/src/panels/config/helpers/dialog-helper-detail.ts index 9d60baf078..7497b3d608 100644 --- a/src/panels/config/helpers/dialog-helper-detail.ts +++ b/src/panels/config/helpers/dialog-helper-detail.ts @@ -1,7 +1,6 @@ import "@material/mwc-button/mwc-button"; import { RequestSelectedDetail } from "@material/mwc-list/mwc-list-item-base"; -import "@polymer/paper-item/paper-icon-item"; -import "@polymer/paper-tooltip/paper-tooltip"; +import "@lrnwebcomponents/simple-tooltip/simple-tooltip"; import { css, CSSResultGroup, @@ -199,12 +198,12 @@ export class DialogHelperDetail extends LitElement {
${!isLoaded ? html` - ${this.hass.localize( "ui.dialogs.helper_settings.platform_not_loaded", "platform", domain - )} ` : ""} diff --git a/src/panels/config/helpers/ha-config-helpers.ts b/src/panels/config/helpers/ha-config-helpers.ts index f7138bfd97..41d5f03441 100644 --- a/src/panels/config/helpers/ha-config-helpers.ts +++ b/src/panels/config/helpers/ha-config-helpers.ts @@ -1,5 +1,5 @@ import { mdiPencilOff, mdiPlus } from "@mdi/js"; -import "@polymer/paper-tooltip/paper-tooltip"; +import "@lrnwebcomponents/simple-tooltip/simple-tooltip"; import { HassEntity, UnsubscribeFunc } from "home-assistant-js-websocket"; import { html, LitElement, PropertyValues, TemplateResult } from "lit"; import { customElement, property, state } from "lit/decorators"; @@ -139,11 +139,11 @@ export class HaConfigHelpers extends SubscribeMixin(LitElement) { style="display:inline-block; position: relative;" > - + ${this.hass.localize( "ui.panel.config.entities.picker.status.readonly" )} - + ` : ""} diff --git a/src/panels/config/integrations/ha-config-integrations.ts b/src/panels/config/integrations/ha-config-integrations.ts index ef751029a0..797c7db8a4 100644 --- a/src/panels/config/integrations/ha-config-integrations.ts +++ b/src/panels/config/integrations/ha-config-integrations.ts @@ -7,8 +7,8 @@ import { CSSResultGroup, html, LitElement, + nothing, PropertyValues, - TemplateResult, } from "lit"; import { customElement, property, state } from "lit/decorators"; import { ifDefined } from "lit/directives/if-defined"; @@ -357,7 +357,7 @@ class HaConfigIntegrations extends SubscribeMixin(LitElement) { } } - protected render(): TemplateResult { + protected render() { if (!this._configEntries) { return html`` ) : this._filter && diff --git a/src/panels/config/integrations/ha-integration-card.ts b/src/panels/config/integrations/ha-integration-card.ts index a369f82157..efdfeac5c0 100644 --- a/src/panels/config/integrations/ha-integration-card.ts +++ b/src/panels/config/integrations/ha-integration-card.ts @@ -22,7 +22,7 @@ import { } from "@mdi/js"; import "@polymer/paper-item/paper-item"; import "@polymer/paper-listbox"; -import "@polymer/paper-tooltip/paper-tooltip"; +import "@lrnwebcomponents/simple-tooltip/simple-tooltip"; import { css, CSSResultGroup, html, LitElement, TemplateResult } from "lit"; import { customElement, property } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; @@ -192,11 +192,11 @@ export class HaIntegrationCard extends LitElement { class="info" .path=${mdiProgressHelper} > + > ${this.hass.localize( `ui.panel.config.integrations.config_entry.state.setup_in_progress` )} - + ` : ""} ${ERROR_STATES.includes(item.state) @@ -207,11 +207,11 @@ export class HaIntegrationCard extends LitElement { ? mdiReloadAlert : mdiAlertCircle} > + > ${this.hass.localize( `ui.panel.config.integrations.config_entry.state.${item.state}` )} - + ` : ""} diff --git a/src/panels/config/integrations/ha-integration-header.ts b/src/panels/config/integrations/ha-integration-header.ts index 3ea5c63138..cbf5fa04b9 100644 --- a/src/panels/config/integrations/ha-integration-header.ts +++ b/src/panels/config/integrations/ha-integration-header.ts @@ -1,5 +1,5 @@ import { mdiBugPlay, mdiCloud, mdiPackageVariant, mdiSyncOff } from "@mdi/js"; -import "@polymer/paper-tooltip/paper-tooltip"; +import "@lrnwebcomponents/simple-tooltip/simple-tooltip"; import { css, html, LitElement, TemplateResult } from "lit"; import { customElement, property } from "lit/decorators"; import "../../../components/ha-svg-icon"; @@ -115,8 +115,8 @@ export class HaIntegrationHeader extends LitElement { ([icon, description]) => html` - ${description}${description} ` @@ -203,7 +203,7 @@ export class HaIntegrationHeader extends LitElement { height: 20px; margin: 4px; } - paper-tooltip { + simple-tooltip { white-space: nowrap; } `; diff --git a/src/panels/config/integrations/ha-integration-list-item.ts b/src/panels/config/integrations/ha-integration-list-item.ts index 3d3ea7d4d2..b288f6a62d 100644 --- a/src/panels/config/integrations/ha-integration-list-item.ts +++ b/src/panels/config/integrations/ha-integration-list-item.ts @@ -72,20 +72,20 @@ export class HaIntegrationListItem extends ListItemBase { ${this.integration.cloud ? html`${this.hass.localize( "ui.panel.config.integrations.config_entry.depends_on_cloud" - )}` : ""} ${!this.integration.is_built_in ? html`${this.hass.localize( "ui.panel.config.integrations.config_entry.provided_by_custom_integration" - )}` : ""} @@ -93,10 +93,10 @@ export class HaIntegrationListItem extends ListItemBase { !this.integration.integrations && !this.integration.iot_standards ? html`${this.hass.localize( "ui.panel.config.integrations.config_entry.yaml_only" - )} - ${this.hass.localize( - "ui.panel.config.thread.add_open_thread_border_router" - )} + ${!this._otbrInfo + ? html`${this.hass.localize( + "ui.panel.config.thread.add_open_thread_border_router" + )}` + : ""}

${this.hass.localize("ui.panel.config.thread.my_network")}

@@ -150,7 +162,13 @@ export class ThreadConfigPanel extends SubscribeMixin(LitElement) {
${network.routers.map( (router) => - html` + html` ${router.model_name || router.server.replace(".local.", "")} ${router.server} + ${router.extended_address === this._otbrInfo?.extended_address + ? html` + ${this.hass.localize( + "ui.panel.config.thread.reset_border_router" + )}${network.dataset?.preferred + ? "" + : html`${this.hass.localize( + "ui.panel.config.thread.add_to_my_network" + )}`}` + : ""} ` )}` : html`
- ${this.hass.localize("ui.panel.config.thread.no_border_routers")} -
`} + ${network.dataset?.extended_pan_id && + this._otbrInfo?.active_dataset_tlvs?.includes( + network.dataset.extended_pan_id + ) + ? html`${this.hass.localize( + "ui.panel.config.thread.no_routers_otbr_network" + )} + ${this.hass.localize( + "ui.panel.config.thread.reset_border_router" + )}` + : this.hass.localize("ui.panel.config.thread.no_border_routers")} + `} + ${network.dataset && !network.dataset.preferred + ? html`
+ Make preferred network +
` + : ""} `; } private async _showDatasetInfo(ev: Event) { const dataset = (ev.currentTarget as any).networkDataset as ThreadDataSet; - if (isComponentLoaded(this.hass, "otbr")) { - const otbrInfo = await getOTBRInfo(this.hass); + if (this._otbrInfo) { if ( dataset.extended_pan_id && - otbrInfo.active_dataset_tlvs?.includes(dataset.extended_pan_id) + this._otbrInfo.active_dataset_tlvs?.includes(dataset.extended_pan_id) ) { showAlertDialog(this, { title: dataset.network_name, @@ -189,8 +254,8 @@ export class ThreadConfigPanel extends SubscribeMixin(LitElement) { Dataset id: ${dataset.dataset_id}
Pan id: ${dataset.pan_id}
Extended Pan id: ${dataset.extended_pan_id}
- OTBR URL: ${otbrInfo.url}
- Active dataset TLVs: ${otbrInfo.active_dataset_tlvs}`, + OTBR URL: ${this._otbrInfo.url}
+ Active dataset TLVs: ${this._otbrInfo.active_dataset_tlvs}`, }); return; } @@ -236,18 +301,21 @@ export class ThreadConfigPanel extends SubscribeMixin(LitElement) { let preferred: ThreadNetwork | undefined; const networks: { [key: string]: ThreadNetwork } = {}; for (const router of routers) { - const network = router.network_name; + const network = router.extended_pan_id; if (network in networks) { networks[network].routers!.push(router); } else { - networks[network] = { name: network, routers: [router] }; + networks[network] = { name: router.network_name, routers: [router] }; } } for (const dataset of datasets) { - const network = dataset.network_name; + const network = dataset.extended_pan_id; + if (!network) { + continue; + } if (dataset.preferred) { preferred = { - name: network, + name: dataset.network_name, dataset: dataset, routers: networks[network]?.routers, }; @@ -257,7 +325,7 @@ export class ThreadConfigPanel extends SubscribeMixin(LitElement) { if (network in networks) { networks[network].dataset = dataset; } else { - networks[network] = { name: network, dataset: dataset }; + networks[network] = { name: dataset.network_name, dataset: dataset }; } } return { @@ -269,10 +337,24 @@ export class ThreadConfigPanel extends SubscribeMixin(LitElement) { } ); - private _refresh() { + private async _refresh() { listThreadDataSets(this.hass).then((datasets) => { this._datasets = datasets.datasets; }); + if (!isComponentLoaded(this.hass, "otbr")) { + return; + } + try { + const _otbrAddress = OTBRGetExtendedAddress(this.hass); + const _otbrInfo = getOTBRInfo(this.hass); + const [otbrAddress, otbrInfo] = await Promise.all([ + _otbrAddress, + _otbrInfo, + ]); + this._otbrInfo = { ...otbrAddress, ...otbrInfo }; + } catch (err) { + this._otbrInfo = undefined; + } } private async _signUrl(ev) { @@ -295,6 +377,74 @@ export class ThreadConfigPanel extends SubscribeMixin(LitElement) { }); } + private _handleRouterAction(ev: CustomEvent) { + switch (ev.detail.index) { + case 0: + this._resetBorderRouter(); + break; + case 1: + this._setDataset(); + break; + } + } + + private async _resetBorderRouter() { + const confirm = await showConfirmationDialog(this, { + title: this.hass.localize( + "ui.panel.config.thread.confirm_reset_border_router" + ), + text: this.hass.localize( + "ui.panel.config.thread.confirm_reset_border_router_text" + ), + }); + if (!confirm) { + return; + } + try { + await OTBRCreateNetwork(this.hass); + } catch (err: any) { + showAlertDialog(this, { + title: this.hass.localize("ui.panel.config.thread.otbr_config_failed"), + text: err.message, + }); + } + this._refresh(); + } + + private async _setDataset() { + const networks = this._groupRoutersByNetwork(this._routers, this._datasets); + const preferedDatasetId = networks.preferred?.dataset?.dataset_id; + if (!preferedDatasetId) { + return; + } + const confirm = await showConfirmationDialog(this, { + title: this.hass.localize( + "ui.panel.config.thread.confirm_set_dataset_border_router" + ), + text: this.hass.localize( + "ui.panel.config.thread.confirm_set_dataset_border_router_text" + ), + }); + if (!confirm) { + return; + } + try { + await OTBRSetNetwork(this.hass, preferedDatasetId); + } catch (err: any) { + showAlertDialog(this, { + title: this.hass.localize("ui.panel.config.thread.otbr_config_failed"), + text: err.message, + }); + } + this._refresh(); + } + + private async _setPreferred(ev) { + const datasetId = ev.target.datasetId; + await setPreferredThreadDataSet(this.hass, datasetId); + this._refresh(); + } + private async _addTLV() { const tlv = await showPromptDialog(this, { title: this.hass.localize("ui.panel.config.thread.add_dataset"), @@ -355,6 +505,12 @@ export class ThreadConfigPanel extends SubscribeMixin(LitElement) { margin: 0 auto; direction: ltr; } + ha-list-item.router { + --mdc-list-side-padding: 16px; + --mdc-list-item-meta-size: 48px; + cursor: default; + overflow: visible; + } ha-button-menu a { text-decoration: none; } @@ -365,6 +521,7 @@ export class ThreadConfigPanel extends SubscribeMixin(LitElement) { display: flex; flex-direction: column; align-items: center; + text-align: center; } .no-routers ha-svg-icon { background-color: var(--light-primary-color); diff --git a/src/panels/config/integrations/integration-panels/voice_assistant/assist/assist-pipeline-debug.ts b/src/panels/config/integrations/integration-panels/voice_assistant/assist/assist-pipeline-debug.ts new file mode 100644 index 0000000000..7e95f9b590 --- /dev/null +++ b/src/panels/config/integrations/integration-panels/voice_assistant/assist/assist-pipeline-debug.ts @@ -0,0 +1,457 @@ +import { css, html, LitElement, PropertyValues, TemplateResult } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import "../../../../../../components/ha-card"; +import "../../../../../../components/ha-alert"; +import "../../../../../../components/ha-button"; +import "../../../../../../components/ha-circular-progress"; +import "../../../../../../components/ha-expansion-panel"; +import "../../../../../../components/ha-textfield"; +import { + PipelineRun, + runPipelineFromText, +} from "../../../../../../data/voice_assistant"; +import "../../../../../../layouts/hass-subpage"; +import { SubscribeMixin } from "../../../../../../mixins/subscribe-mixin"; +import { haStyle } from "../../../../../../resources/styles"; +import type { HomeAssistant } from "../../../../../../types"; +import { formatNumber } from "../../../../../../common/number/format_number"; +import { showPromptDialog } from "../../../../../../dialogs/generic/show-dialog-box"; + +const RUN_DATA = { + pipeline: "Pipeline", + language: "Language", +}; + +const STT_DATA = { + engine: "Engine", +}; + +const INTENT_DATA = { + engine: "Engine", + intent_input: "Input", +}; + +const TTS_DATA = { + engine: "Engine", + tts_input: "Input", +}; + +const STAGES: Record = { + ready: 0, + stt: 1, + intent: 2, + tts: 3, + done: 4, + error: 5, +}; + +const hasStage = (run: PipelineRun, stage: PipelineRun["stage"]) => + STAGES[run.init_options.start_stage] <= STAGES[stage] && + STAGES[stage] <= STAGES[run.init_options.end_stage]; + +const maybeRenderError = ( + run: PipelineRun, + stage: string, + lastRunStage: string +) => { + if (run.stage !== "error" || lastRunStage !== stage) { + return ""; + } + + return html` + ${run.error!.message} (${run.error!.code}) + `; +}; + +const renderProgress = ( + hass: HomeAssistant, + pipelineRun: PipelineRun, + stage: PipelineRun["stage"] +) => { + const startEvent = pipelineRun.events.find( + (ev) => ev.type === `${stage}-start` + ); + const finishEvent = pipelineRun.events.find( + (ev) => ev.type === `${stage}-end` + ); + + if (!startEvent) { + return ""; + } + + if (pipelineRun.stage === "error") { + return html`❌`; + } + + if (!finishEvent) { + return html``; + } + + const duration = + new Date(finishEvent.timestamp).getTime() - + new Date(startEvent.timestamp).getTime(); + const durationString = formatNumber(duration / 1000, hass.locale, { + maximumFractionDigits: 2, + }); + return html`${durationString}s ✅`; +}; + +const renderData = (data: Record, keys: Record) => + Object.entries(keys).map( + ([key, label]) => + html` +
+
${label}
+
${data[key]}
+
+ ` + ); + +const dataMinusKeysRender = ( + data: Record, + keys: Record +) => { + const result = {}; + let render = false; + for (const key in data) { + if (key in keys) { + continue; + } + render = true; + result[key] = data[key]; + } + return render ? html`
${JSON.stringify(result, null, 2)}
` : ""; +}; + +@customElement("assist-pipeline-debug") +export class AssistPipelineDebug extends SubscribeMixin(LitElement) { + @property({ attribute: false }) public hass!: HomeAssistant; + + @property({ type: Boolean }) public narrow!: boolean; + + @state() private _pipelineRun?: PipelineRun; + + @state() private _stopRecording?: () => void; + + private _audioBuffer?: Int16Array[]; + + protected render(): TemplateResult { + const lastRunStage: string = this._pipelineRun + ? ["tts", "intent", "stt"].find( + (stage) => this._pipelineRun![stage] !== undefined + ) || "ready" + : "ready"; + + return html` + +
+
+ + Run Text Pipeline + + + Run Audio Pipeline + +
+ + ${this._pipelineRun + ? html` + +
+
+
Run
+
${this._pipelineRun.stage}
+
+ + ${renderData(this._pipelineRun.run, RUN_DATA)} +
+
+ + ${maybeRenderError(this._pipelineRun, "ready", lastRunStage)} + ${hasStage(this._pipelineRun, "stt") + ? html` + +
+
+ Speech-to-Text + ${renderProgress( + this.hass, + this._pipelineRun, + "stt" + )} +
+ ${this._pipelineRun.stt + ? html` +
+ ${renderData(this._pipelineRun.stt, STT_DATA)} + ${dataMinusKeysRender( + this._pipelineRun.stt, + STT_DATA + )} +
+ ` + : ""} +
+ ${this._pipelineRun.stage === "stt" && + this._stopRecording + ? html` +
+ + Stop Recording + +
+ ` + : ""} +
+ ` + : ""} + ${maybeRenderError(this._pipelineRun, "stt", lastRunStage)} + ${hasStage(this._pipelineRun, "intent") + ? html` + +
+
+ Natural Language Processing + ${renderProgress( + this.hass, + this._pipelineRun, + "intent" + )} +
+ ${this._pipelineRun.intent + ? html` +
+ ${renderData( + this._pipelineRun.intent, + INTENT_DATA + )} + ${dataMinusKeysRender( + this._pipelineRun.intent, + INTENT_DATA + )} +
+ ` + : ""} +
+
+ ` + : ""} + ${maybeRenderError(this._pipelineRun, "intent", lastRunStage)} + ${hasStage(this._pipelineRun, "tts") + ? html` + +
+
+ Text-to-Speech + ${renderProgress( + this.hass, + this._pipelineRun, + "tts" + )} +
+ ${this._pipelineRun.tts + ? html` +
+ ${renderData(this._pipelineRun.tts, TTS_DATA)} +
+ ` + : ""} +
+ ${this._pipelineRun?.tts?.tts_output + ? html` +
+ + Play Audio + +
+ ` + : ""} +
+ ` + : ""} + ${maybeRenderError(this._pipelineRun, "tts", lastRunStage)} + + + Raw +
${JSON.stringify(this._pipelineRun, null, 2)}
+
+
+ ` + : ""} +
+
+ `; + } + + protected updated(changedProperties: PropertyValues): void { + super.updated(changedProperties); + + if ( + !changedProperties.has("_pipelineRun") || + !this._pipelineRun || + this._pipelineRun.init_options.start_stage !== "stt" + ) { + return; + } + + if (this._pipelineRun.stage === "stt" && this._audioBuffer) { + // Send the buffer over the WS to the STT engine. + for (const buffer of this._audioBuffer) { + this._sendAudioChunk(buffer); + } + this._audioBuffer = undefined; + } + + if (this._pipelineRun.stage !== "stt" && this._stopRecording) { + this._stopRecording(); + } + } + + private async _runTextPipeline() { + const text = await showPromptDialog(this, { + title: "Input text", + confirmText: "Run", + }); + + if (!text) { + return; + } + + this._pipelineRun = undefined; + runPipelineFromText( + this.hass, + (run) => { + this._pipelineRun = run; + }, + { + start_stage: "intent", + end_stage: "intent", + input: { text }, + } + ); + } + + private async _runAudioPipeline() { + // @ts-ignore-next-line + const context = new (window.AudioContext || window.webkitAudioContext)(); + const stream = await navigator.mediaDevices.getUserMedia({ audio: true }); + await context.audioWorklet.addModule( + new URL("./recorder.worklet.js", import.meta.url) + ); + + const source = context.createMediaStreamSource(stream); + const recorder = new AudioWorkletNode(context, "recorder.worklet"); + + this.hass.connection.socket!.binaryType = "arraybuffer"; + this._stopRecording = () => { + stream.getTracks()[0].stop(); + context.close(); + this._stopRecording = undefined; + this._audioBuffer = undefined; + // Send empty message to indicate we're done streaming. + this._sendAudioChunk(new Int16Array()); + }; + this._audioBuffer = []; + source.connect(recorder).connect(context.destination); + recorder.port.onmessage = (e) => { + if (this._audioBuffer) { + this._audioBuffer.push(e.data); + return; + } + if (this._pipelineRun?.stage !== "stt") { + return; + } + this._sendAudioChunk(e.data); + }; + + this._pipelineRun = undefined; + runPipelineFromText( + this.hass, + (run) => { + this._pipelineRun = run; + }, + { + start_stage: "stt", + end_stage: "tts", + } + ); + } + + private _sendAudioChunk(chunk: Int16Array) { + // Turn into 8 bit so we can prefix our handler ID. + const data = new Uint8Array(1 + chunk.length * 2); + data[0] = this._pipelineRun!.run.runner_data.stt_binary_handler_id!; + data.set(new Uint8Array(chunk.buffer), 1); + + this.hass.connection.socket!.send(data); + } + + private _playTTS(): void { + const url = this._pipelineRun!.tts!.tts_output!.url; + const audio = new Audio(url); + audio.play(); + } + + static styles = [ + haStyle, + css` + .content { + padding: 24px 0 32px; + max-width: 600px; + margin: 0 auto; + direction: ltr; + } + .start-row { + text-align: center; + } + .start-row ha-button { + margin: 16px; + } + ha-card, + ha-alert { + display: block; + margin-bottom: 16px; + } + .run-pipeline-card ha-textfield { + display: block; + } + .row { + display: flex; + justify-content: space-between; + } + pre { + margin: 0; + } + ha-expansion-panel { + padding-left: 8px; + } + .heading { + font-weight: 500; + margin-bottom: 16px; + } + `, + ]; +} + +declare global { + interface HTMLElementTagNameMap { + "assist-pipeline-debug": AssistPipelineDebug; + } +} diff --git a/src/panels/config/integrations/integration-panels/voice_assistant/assist/recorder.worklet.js b/src/panels/config/integrations/integration-panels/voice_assistant/assist/recorder.worklet.js new file mode 100644 index 0000000000..b8fef662e7 --- /dev/null +++ b/src/panels/config/integrations/integration-panels/voice_assistant/assist/recorder.worklet.js @@ -0,0 +1,21 @@ +class RecorderProcessor extends AudioWorkletProcessor { + process(inputList, _outputList, _parameters) { + if (inputList[0].length < 1) { + return true; + } + + const float32Data = inputList[0][0]; + const int16Data = new Int16Array(float32Data.length); + + for (let i = 0; i < float32Data.length; i++) { + const s = Math.max(-1, Math.min(1, float32Data[i])); + int16Data[i] = s < 0 ? s * 0x8000 : s * 0x7fff; + } + + this.port.postMessage(int16Data); + + return true; + } +} + +registerProcessor("recorder.worklet", RecorderProcessor); diff --git a/src/panels/config/integrations/integration-panels/zwave_js/zwave_js-node-config.ts b/src/panels/config/integrations/integration-panels/zwave_js/zwave_js-node-config.ts index 2047fefdae..a47c26bbe5 100644 --- a/src/panels/config/integrations/integration-panels/zwave_js/zwave_js-node-config.ts +++ b/src/panels/config/integrations/integration-panels/zwave_js/zwave_js-node-config.ts @@ -18,7 +18,6 @@ import { import { customElement, property, state } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; import memoizeOne from "memoize-one"; -import { debounce } from "../../../../../common/util/debounce"; import "../../../../../components/ha-alert"; import "../../../../../components/ha-card"; import "../../../../../components/ha-icon-next"; @@ -210,7 +209,7 @@ class ZWaveJSNodeConfig extends SubscribeMixin(LitElement) { ` : ""} ${result?.status - ? html`

- ${item.metadata.unit - ? html`${item.metadata.unit}` - : ""} `; } @@ -340,12 +337,6 @@ class ZWaveJSNodeConfig extends SubscribeMixin(LitElement) { this._updateConfigParameter(ev.target, Number(ev.target.value)); } - private debouncedUpdate = debounce((target, value) => { - this._config![target.key].value = value; - - this._updateConfigParameter(target, value); - }, 1000); - private _numericInputChanged(ev) { if (ev.target === undefined || this._config![ev.target.key] === undefined) { return; @@ -355,7 +346,7 @@ class ZWaveJSNodeConfig extends SubscribeMixin(LitElement) { return; } this.setResult(ev.target.key, undefined); - this.debouncedUpdate(ev.target, value); + this._updateConfigParameter(ev.target, value); } private async _updateConfigParameter(target, value) { diff --git a/src/panels/config/logs/dialog-system-log-detail.ts b/src/panels/config/logs/dialog-system-log-detail.ts index cb7a3365b9..65e54e7e4b 100644 --- a/src/panels/config/logs/dialog-system-log-detail.ts +++ b/src/panels/config/logs/dialog-system-log-detail.ts @@ -1,5 +1,5 @@ import { mdiClose, mdiContentCopy } from "@mdi/js"; -import "@polymer/paper-tooltip/paper-tooltip"; +import "@lrnwebcomponents/simple-tooltip/simple-tooltip"; import { css, CSSResultGroup, html, LitElement, nothing } from "lit"; import { property, state } from "lit/decorators"; import { fireEvent } from "../../../common/dom/fire_event"; diff --git a/src/panels/config/lovelace/dashboards/ha-config-lovelace-dashboards.ts b/src/panels/config/lovelace/dashboards/ha-config-lovelace-dashboards.ts index 90dac9127e..ea5169d445 100644 --- a/src/panels/config/lovelace/dashboards/ha-config-lovelace-dashboards.ts +++ b/src/panels/config/lovelace/dashboards/ha-config-lovelace-dashboards.ts @@ -5,7 +5,7 @@ import { mdiOpenInNew, mdiPlus, } from "@mdi/js"; -import "@polymer/paper-tooltip/paper-tooltip"; +import "@lrnwebcomponents/simple-tooltip/simple-tooltip"; import { html, LitElement, nothing, PropertyValues } from "lit"; import { customElement, property, state } from "lit/decorators"; import { ifDefined } from "lit/directives/if-defined"; @@ -91,11 +91,11 @@ export class HaConfigLovelaceDashboards extends LitElement { style="padding-left: 10px; padding-inline-start: 10px; direction: var(--direction);" .path=${mdiCheckCircleOutline} > - + ${this.hass.localize( `ui.panel.config.lovelace.dashboards.default_dashboard` )} - + ` : ""} `; diff --git a/src/panels/config/network/supervisor-hostname.ts b/src/panels/config/network/supervisor-hostname.ts index 85dd0bf471..ac03896260 100644 --- a/src/panels/config/network/supervisor-hostname.ts +++ b/src/panels/config/network/supervisor-hostname.ts @@ -10,7 +10,6 @@ import "../../../components/ha-card"; import "../../../components/ha-circular-progress"; import "../../../components/ha-expansion-panel"; import "../../../components/ha-formfield"; -import "../../../components/ha-header-bar"; import "../../../components/ha-icon-button"; import "../../../components/ha-radio"; import "../../../components/ha-settings-row"; diff --git a/src/panels/config/network/supervisor-network.ts b/src/panels/config/network/supervisor-network.ts index e0a087886e..e6ac16e72b 100644 --- a/src/panels/config/network/supervisor-network.ts +++ b/src/panels/config/network/supervisor-network.ts @@ -14,7 +14,6 @@ import "../../../components/ha-card"; import "../../../components/ha-circular-progress"; import "../../../components/ha-expansion-panel"; import "../../../components/ha-formfield"; -import "../../../components/ha-header-bar"; import "../../../components/ha-icon-button"; import "../../../components/ha-radio"; import { extractApiErrorMessage } from "../../../data/hassio/common"; @@ -549,12 +548,6 @@ export class HassioNetwork extends LitElement { static get styles(): CSSResultGroup { return [ css` - ha-header-bar { - --mdc-theme-on-primary: var(--primary-text-color); - --mdc-theme-primary: var(--mdc-theme-surface); - flex-shrink: 0; - } - mwc-tab-bar { border-bottom: 1px solid var(--mdc-dialog-scroll-divider-color, rgba(0, 0, 0, 0.12)); @@ -573,11 +566,6 @@ export class HassioNetwork extends LitElement { mwc-button.scan { margin-left: 8px; } - - :host([rtl]) app-toolbar { - direction: rtl; - text-align: right; - } ha-expansion-panel { --expansion-panel-summary-padding: 0 16px; margin: 4px 0; diff --git a/src/panels/config/scene/ha-scene-dashboard.ts b/src/panels/config/scene/ha-scene-dashboard.ts index 7146903b3c..a3a099c18a 100644 --- a/src/panels/config/scene/ha-scene-dashboard.ts +++ b/src/panels/config/scene/ha-scene-dashboard.ts @@ -7,7 +7,7 @@ import { mdiPlay, mdiPlus, } from "@mdi/js"; -import "@polymer/paper-tooltip/paper-tooltip"; +import "@lrnwebcomponents/simple-tooltip/simple-tooltip"; import { css, CSSResultGroup, html, LitElement, TemplateResult } from "lit"; import { customElement, property, state } from "lit/decorators"; import memoizeOne from "memoize-one"; @@ -131,11 +131,11 @@ class HaSceneDashboard extends LitElement { template: (_info, scene: any) => !scene.attributes.id ? html` - + ${this.hass.localize( "ui.panel.config.scene.picker.only_editable" )} - + ${user.system_generated ? html` - + ${this.hass.localize( "ui.panel.config.users.editor.system_generated_users_not_removable" )} - + ` : ""} ${!user.system_generated && this.hass.user?.is_owner @@ -196,11 +196,11 @@ class DialogUserDetail extends LitElement { ${user.system_generated ? html` - + ${this.hass.localize( "ui.panel.config.users.editor.system_generated_users_not_editable" )} - + ` : ""} diff --git a/src/panels/config/zone/ha-config-zone.ts b/src/panels/config/zone/ha-config-zone.ts index d46e313ff4..2e3c3b587a 100644 --- a/src/panels/config/zone/ha-config-zone.ts +++ b/src/panels/config/zone/ha-config-zone.ts @@ -2,7 +2,7 @@ import { mdiCog, mdiPencil, mdiPencilOff, mdiPlus } from "@mdi/js"; import "@polymer/paper-item/paper-icon-item"; import "@polymer/paper-item/paper-item-body"; import "@polymer/paper-listbox/paper-listbox"; -import "@polymer/paper-tooltip/paper-tooltip"; +import "@lrnwebcomponents/simple-tooltip/simple-tooltip"; import { HassEntity, UnsubscribeFunc } from "home-assistant-js-websocket"; import { css, @@ -200,11 +200,11 @@ export class HaConfigZone extends SubscribeMixin(LitElement) { > ${stateObject.entity_id !== "zone.home" ? html` - + ${hass.localize( "ui.panel.config.zone.configured_in_yaml" )} - + ` : ""} diff --git a/src/panels/developer-tools/ha-panel-developer-tools.ts b/src/panels/developer-tools/ha-panel-developer-tools.ts index 9f9f6f1f7f..728398a2c9 100644 --- a/src/panels/developer-tools/ha-panel-developer-tools.ts +++ b/src/panels/developer-tools/ha-panel-developer-tools.ts @@ -1,12 +1,9 @@ -import "@polymer/app-layout/app-header/app-header"; -import "@polymer/app-layout/app-toolbar/app-toolbar"; import "@polymer/paper-tabs/paper-tab"; +import "@polymer/paper-tabs/paper-tabs"; import { css, CSSResultGroup, html, LitElement, TemplateResult } from "lit"; import { customElement, property } from "lit/decorators"; import { navigate } from "../../common/navigate"; import "../../components/ha-menu-button"; -import "../../components/ha-tabs"; -import "../../layouts/ha-app-layout"; import { haStyle } from "../../resources/styles"; import { HomeAssistant, Route } from "../../types"; import "./developer-tools-router"; @@ -27,57 +24,54 @@ class PanelDeveloperTools extends LitElement { protected render(): TemplateResult { const page = this._page; return html` - - - - -

${this.hass.localize("panel.developer_tools")}
- - - - ${this.hass.localize("ui.panel.developer-tools.tabs.yaml.title")} - - - ${this.hass.localize( - "ui.panel.developer-tools.tabs.states.title" - )} - - - ${this.hass.localize( - "ui.panel.developer-tools.tabs.services.title" - )} - - - ${this.hass.localize( - "ui.panel.developer-tools.tabs.templates.title" - )} - - - ${this.hass.localize( - "ui.panel.developer-tools.tabs.events.title" - )} - - - ${this.hass.localize( - "ui.panel.developer-tools.tabs.statistics.title" - )} - - - - - +
+
+ +
+ ${this.hass.localize("panel.developer_tools")} +
+
+ + + ${this.hass.localize("ui.panel.developer-tools.tabs.yaml.title")} + + + ${this.hass.localize("ui.panel.developer-tools.tabs.states.title")} + + + ${this.hass.localize( + "ui.panel.developer-tools.tabs.services.title" + )} + + + ${this.hass.localize( + "ui.panel.developer-tools.tabs.templates.title" + )} + + + ${this.hass.localize("ui.panel.developer-tools.tabs.events.title")} + + + ${this.hass.localize( + "ui.panel.developer-tools.tabs.statistics.title" + )} + + +
+ `; } @@ -99,14 +93,36 @@ class PanelDeveloperTools extends LitElement { haStyle, css` :host { + display: block; + height: 100%; color: var(--primary-text-color); --paper-card-header-color: var(--primary-text-color); } + .header { + background-color: var(--app-header-background-color); + color: var(--app-header-text-color, white); + border-bottom: var(--app-header-border-bottom, none); + } + .toolbar { + height: var(--header-height); + display: flex; + align-items: center; + font-size: 20px; + padding: 0 16px; + font-weight: 400; + box-sizing: border-box; + } + .main-title { + margin: 0 0 0 24px; + line-height: 20px; + flex-grow: 1; + } developer-tools-router { display: block; - height: calc(100vh - 104px); + height: calc(100% - var(--header-height) - 48px); + overflow: auto; } - ha-tabs { + paper-tabs { margin-left: max(env(safe-area-inset-left), 24px); margin-right: max(env(safe-area-inset-right), 24px); --paper-tabs-selection-bar-color: var( diff --git a/src/panels/developer-tools/statistics/developer-tools-statistics.ts b/src/panels/developer-tools/statistics/developer-tools-statistics.ts index 0e3c6bb3eb..6f0d7510f7 100644 --- a/src/panels/developer-tools/statistics/developer-tools-statistics.ts +++ b/src/panels/developer-tools/statistics/developer-tools-statistics.ts @@ -263,7 +263,7 @@ class HaPanelDevStatistics extends SubscribeMixin(LitElement) { showAlertDialog(this, { title: "Entity not recorded", text: html`State changes of this entity are not recorded, therefore, - we can not track long term statistics for it.

You + we cannot track long term statistics for it.

You probably excluded this entity, or have just included some entities.

See the
You probably excluded this entity, or have just included - some entities.

See the + we cannot track long term statistics for it anymore.

You + probably excluded this entity, or have just included some + entities.

See the
Statistics can not be generated until this + is not supported.
Statistics cannot be generated until this entity has a supported state class.

If this state class was provided by an integration, this is a bug. Please report an issue.

If you have set this state class yourself, please diff --git a/src/panels/energy/ha-panel-energy.ts b/src/panels/energy/ha-panel-energy.ts index a81a6afef2..6c32b790ff 100644 --- a/src/panels/energy/ha-panel-energy.ts +++ b/src/panels/energy/ha-panel-energy.ts @@ -1,5 +1,3 @@ -import "@polymer/app-layout/app-header/app-header"; -import "@polymer/app-layout/app-toolbar/app-toolbar"; import { css, CSSResultGroup, @@ -11,12 +9,12 @@ import { import { customElement, property, state } from "lit/decorators"; import "../../components/ha-menu-button"; import { LovelaceConfig } from "../../data/lovelace"; -import "../../layouts/ha-app-layout"; import { haStyle } from "../../resources/styles"; import { HomeAssistant } from "../../types"; import "../lovelace/components/hui-energy-period-selector"; import { Lovelace } from "../lovelace/types"; import "../lovelace/views/hui-view"; +import "../../components/ha-top-app-bar-fixed"; const ENERGY_LOVELACE_CONFIG: LovelaceConfig = { views: [ @@ -62,24 +60,23 @@ class PanelEnergy extends LitElement { protected render(): TemplateResult { return html` - - - - -
${this.hass.localize("panel.energy")}
- ${this.narrow - ? "" - : html` - - `} -
-
+ + +
${this.hass.localize("panel.energy")}
+ ${this.narrow + ? "" + : html` + + `} -
+ `; } @@ -119,10 +116,6 @@ class PanelEnergy extends LitElement { return [ haStyle, css` - app-toolbar { - display: flex; - justify-content: space-between; - } hui-energy-period-selector { width: 100%; padding-left: 16px; diff --git a/src/panels/history/ha-panel-history.ts b/src/panels/history/ha-panel-history.ts index cdaf307565..b5f1c2bc13 100644 --- a/src/panels/history/ha-panel-history.ts +++ b/src/panels/history/ha-panel-history.ts @@ -1,6 +1,4 @@ import { mdiFilterRemove, mdiRefresh } from "@mdi/js"; -import "@polymer/app-layout/app-header/app-header"; -import "@polymer/app-layout/app-toolbar/app-toolbar"; import { addDays, differenceInHours, @@ -21,9 +19,11 @@ import { ensureArray } from "../../common/array/ensure-array"; import { firstWeekdayIndex } from "../../common/datetime/first_weekday"; import { LocalStorage } from "../../common/decorators/local-storage"; import { navigate } from "../../common/navigate"; +import { constructUrlCurrentPath } from "../../common/url/construct-url"; import { createSearchParam, extractSearchParamsObject, + removeSearchParam, } from "../../common/url/search-params"; import { computeRTL } from "../../common/util/compute_rtl"; import { MIN_TIME_BETWEEN_UPDATES } from "../../components/chart/ha-chart-base"; @@ -52,10 +52,11 @@ import { HistoryResult, subscribeHistory, } from "../../data/history"; -import "../../layouts/ha-app-layout"; import { SubscribeMixin } from "../../mixins/subscribe-mixin"; import { haStyle } from "../../resources/styles"; import { HomeAssistant } from "../../types"; +import "../../components/ha-top-app-bar-fixed"; +import "../../components/ha-icon-button-arrow-prev"; class HaPanelHistory extends SubscribeMixin(LitElement) { @property({ attribute: false }) hass!: HomeAssistant; @@ -83,6 +84,9 @@ class HaPanelHistory extends SubscribeMixin(LitElement) { @state() private _areaDeviceLookup?: AreaDeviceLookup; + @state() + private _showBack?: boolean; + @query("state-history-charts") private _stateHistoryCharts?: StateHistoryCharts; @@ -126,34 +130,46 @@ class HaPanelHistory extends SubscribeMixin(LitElement) { ]; } + private _goBack(): void { + history.back(); + } + protected render() { return html` - - - - -
${this.hass.localize("panel.history")}
- ${this._targetPickerValue - ? html` - - ` - : ""} - -
-
+ + ${this._showBack + ? html` + + ` + : html` + + `} +
${this.hass.localize("panel.history")}
+ ${this._targetPickerValue + ? html` + + ` + : ""} +
@@ -193,7 +209,7 @@ class HaPanelHistory extends SubscribeMixin(LitElement) { `}
- + `; } @@ -252,6 +268,17 @@ class HaPanelHistory extends SubscribeMixin(LitElement) { } } + protected firstUpdated(changedProps: PropertyValues) { + super.firstUpdated(changedProps); + const searchParams = extractSearchParamsObject(); + if (searchParams.back === "1" && history.length > 1) { + this._showBack = true; + navigate(constructUrlCurrentPath(removeSearchParam("back")), { + replace: true, + }); + } + } + protected updated(changedProps: PropertyValues) { if ( this._targetPickerValue && diff --git a/src/panels/logbook/ha-panel-logbook.ts b/src/panels/logbook/ha-panel-logbook.ts index f3983a2c4b..aba47b77d4 100644 --- a/src/panels/logbook/ha-panel-logbook.ts +++ b/src/panels/logbook/ha-panel-logbook.ts @@ -1,6 +1,4 @@ import { mdiRefresh } from "@mdi/js"; -import "@polymer/app-layout/app-header/app-header"; -import "@polymer/app-layout/app-toolbar/app-toolbar"; import { addDays, endOfToday, @@ -14,17 +12,20 @@ import { css, html, LitElement, PropertyValues } from "lit"; import { customElement, property, state } from "lit/decorators"; import { firstWeekdayIndex } from "../../common/datetime/first_weekday"; import { navigate } from "../../common/navigate"; +import { constructUrlCurrentPath } from "../../common/url/construct-url"; import { createSearchParam, extractSearchParamsObject, + removeSearchParam, } from "../../common/url/search-params"; import "../../components/entity/ha-entity-picker"; import "../../components/ha-date-range-picker"; import type { DateRangePickerRanges } from "../../components/ha-date-range-picker"; import "../../components/ha-icon-button"; +import "../../components/ha-icon-button-arrow-prev"; import "../../components/ha-menu-button"; +import "../../components/ha-top-app-bar-fixed"; import { filterLogbookCompatibleEntities } from "../../data/logbook"; -import "../../layouts/ha-app-layout"; import { haStyle } from "../../resources/styles"; import { HomeAssistant } from "../../types"; import "./ha-logbook"; @@ -41,6 +42,9 @@ export class HaPanelLogbook extends LitElement { @state() private _ranges?: DateRangePickerRanges; + @state() + private _showBack?: boolean; + public constructor() { super(); @@ -53,23 +57,34 @@ export class HaPanelLogbook extends LitElement { this._time = { range: [start, end] }; } + private _goBack(): void { + history.back(); + } + protected render() { return html` - - - - -
${this.hass.localize("panel.logbook")}
- -
-
+ + ${this._showBack + ? html` + + ` + : html` + + `} +
${this.hass.localize("panel.logbook")}
+
- + `; } @@ -132,6 +147,14 @@ export class HaPanelLogbook extends LitElement { protected firstUpdated(changedProps: PropertyValues) { super.firstUpdated(changedProps); this.hass.loadBackendTranslation("title"); + + const searchParams = extractSearchParamsObject(); + if (searchParams.back === "1" && history.length > 1) { + this._showBack = true; + navigate(constructUrlCurrentPath(removeSearchParam("back")), { + replace: true, + }); + } } public connectedCallback(): void { diff --git a/src/panels/lovelace/cards/energy/hui-energy-carbon-consumed-gauge-card.ts b/src/panels/lovelace/cards/energy/hui-energy-carbon-consumed-gauge-card.ts index 97541d5cc5..680dc43bda 100644 --- a/src/panels/lovelace/cards/energy/hui-energy-carbon-consumed-gauge-card.ts +++ b/src/panels/lovelace/cards/energy/hui-energy-carbon-consumed-gauge-card.ts @@ -1,5 +1,5 @@ import { mdiInformation } from "@mdi/js"; -import "@polymer/paper-tooltip"; +import "@lrnwebcomponents/simple-tooltip/simple-tooltip"; import { UnsubscribeFunc } from "home-assistant-js-websocket"; import { css, CSSResultGroup, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; @@ -118,13 +118,13 @@ class HuiEnergyCarbonGaugeCard ${value !== undefined ? html` - + ${this.hass.localize( "ui.panel.lovelace.cards.energy.carbon_consumed_gauge.card_indicates_energy_used" )} - + span { + simple-tooltip > span { font-size: 12px; line-height: 12px; } - paper-tooltip { + simple-tooltip { width: 80%; max-width: 250px; top: 8px !important; diff --git a/src/panels/lovelace/cards/energy/hui-energy-grid-neutrality-gauge-card.ts b/src/panels/lovelace/cards/energy/hui-energy-grid-neutrality-gauge-card.ts index 73efe19f4a..6d49817e5d 100644 --- a/src/panels/lovelace/cards/energy/hui-energy-grid-neutrality-gauge-card.ts +++ b/src/panels/lovelace/cards/energy/hui-energy-grid-neutrality-gauge-card.ts @@ -1,5 +1,5 @@ import { mdiInformation } from "@mdi/js"; -import "@polymer/paper-tooltip"; +import "@lrnwebcomponents/simple-tooltip/simple-tooltip"; import { UnsubscribeFunc } from "home-assistant-js-websocket"; import { css, CSSResultGroup, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; @@ -102,7 +102,7 @@ class HuiEnergyGridGaugeCard ${value !== undefined ? html` - + ${this.hass.localize( "ui.panel.lovelace.cards.energy.grid_neutrality_gauge.energy_dependency" @@ -112,7 +112,7 @@ class HuiEnergyGridGaugeCard "ui.panel.lovelace.cards.energy.grid_neutrality_gauge.color_explain" )} - + span { + simple-tooltip > span { font-size: 12px; line-height: 12px; } - paper-tooltip { + simple-tooltip { width: 80%; max-width: 250px; top: 8px !important; diff --git a/src/panels/lovelace/cards/energy/hui-energy-solar-consumed-gauge-card.ts b/src/panels/lovelace/cards/energy/hui-energy-solar-consumed-gauge-card.ts index b027d92b49..0365164fb7 100644 --- a/src/panels/lovelace/cards/energy/hui-energy-solar-consumed-gauge-card.ts +++ b/src/panels/lovelace/cards/energy/hui-energy-solar-consumed-gauge-card.ts @@ -1,5 +1,5 @@ import { mdiInformation } from "@mdi/js"; -import "@polymer/paper-tooltip"; +import "@lrnwebcomponents/simple-tooltip/simple-tooltip"; import { UnsubscribeFunc } from "home-assistant-js-websocket"; import { css, CSSResultGroup, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; @@ -93,7 +93,7 @@ class HuiEnergySolarGaugeCard ${value !== undefined ? html` - + ${this.hass.localize( "ui.panel.lovelace.cards.energy.solar_consumed_gauge.card_indicates_solar_energy_used" @@ -103,7 +103,7 @@ class HuiEnergySolarGaugeCard "ui.panel.lovelace.cards.energy.solar_consumed_gauge.card_indicates_solar_energy_used_charge_home_bat" )} - + span { + simple-tooltip > span { font-size: 12px; line-height: 12px; } - paper-tooltip { + simple-tooltip { width: 80%; max-width: 250px; top: 8px !important; diff --git a/src/panels/lovelace/cards/hui-alarm-panel-card.ts b/src/panels/lovelace/cards/hui-alarm-panel-card.ts index 165fb8ed8a..b35235bd2d 100644 --- a/src/panels/lovelace/cards/hui-alarm-panel-card.ts +++ b/src/panels/lovelace/cards/hui-alarm-panel-card.ts @@ -236,7 +236,7 @@ class HuiAlarmPanelCard extends LitElement implements LovelaceCard { return entityState === UNAVAILABLE ? this.hass!.localize("state.default.unavailable") : this.hass!.localize( - `component.alarm_control_panel.state._.${entityState}` + `component.alarm_control_panel.entity_component._.state.${entityState}` ) || entityState; } diff --git a/src/panels/lovelace/cards/hui-button-card.ts b/src/panels/lovelace/cards/hui-button-card.ts index 3886e2b83d..94d2fd49ed 100644 --- a/src/panels/lovelace/cards/hui-button-card.ts +++ b/src/panels/lovelace/cards/hui-button-card.ts @@ -1,25 +1,21 @@ +import { consume } from "@lit-labs/context"; import "@material/mwc-ripple"; import type { Ripple } from "@material/mwc-ripple"; import { RippleHandlers } from "@material/mwc-ripple/ripple-handlers"; -import { HassEntity } from "home-assistant-js-websocket"; +import { HassEntities, HassEntity } from "home-assistant-js-websocket"; import { - css, CSSResultGroup, - html, LitElement, PropertyValues, + css, + html, nothing, } from "lit"; -import { - customElement, - eventOptions, - property, - queryAsync, - state, -} from "lit/decorators"; +import { customElement, eventOptions, queryAsync, state } from "lit/decorators"; import { ifDefined } from "lit/directives/if-defined"; import { styleMap } from "lit/directives/style-map"; import { DOMAINS_TOGGLE } from "../../../common/const"; +import { transform } from "../../../common/decorators/transform"; import { applyThemesOnElement } from "../../../common/dom/apply_themes_on_element"; import { computeDomain } from "../../../common/entity/compute_domain"; import { computeStateDisplay } from "../../../common/entity/compute_state_display"; @@ -30,6 +26,13 @@ import { isValidEntityId } from "../../../common/entity/valid_entity_id"; import { iconColorCSS } from "../../../common/style/icon_color_css"; import "../../../components/ha-card"; import { HVAC_ACTION_TO_MODE } from "../../../data/climate"; +import { + entitiesContext, + localeContext, + localizeContext, + statesContext, + themesContext, +} from "../../../data/context"; import { LightEntity } from "../../../data/light"; import { ActionHandlerEvent } from "../../../data/lovelace"; import { HomeAssistant } from "../../../types"; @@ -40,6 +43,9 @@ import { hasAction } from "../common/has-action"; import { createEntityNotFoundWarning } from "../components/hui-warning"; import { LovelaceCard, LovelaceCardEditor } from "../types"; import { ButtonCardConfig } from "./types"; +import { LocalizeFunc } from "../../../common/translations/localize"; +import { FrontendLocaleData } from "../../../data/translation"; +import { Themes } from "../../../data/ws-themes"; @customElement("hui-button-card") export class HuiButtonCard extends LitElement implements LovelaceCard { @@ -71,10 +77,39 @@ export class HuiButtonCard extends LitElement implements LovelaceCard { }; } - @property({ attribute: false }) public hass?: HomeAssistant; + public hass!: HomeAssistant; @state() private _config?: ButtonCardConfig; + @consume({ context: statesContext, subscribe: true }) + @transform({ + transformer: function (this: HuiButtonCard, value: HassEntities) { + return this._config?.entity ? value[this._config?.entity] : undefined; + }, + watch: ["_config"], + }) + _stateObj?: HassEntity; + + @consume({ context: themesContext, subscribe: true }) + _themes!: Themes; + + @consume({ context: localizeContext, subscribe: true }) + _localize!: LocalizeFunc; + + @consume({ context: localeContext, subscribe: true }) + _locale!: FrontendLocaleData; + + @consume({ context: entitiesContext, subscribe: true }) + @transform({ + transformer: function (this: HuiButtonCard, value) { + return this._config?.entity + ? { [this._config?.entity]: value[this._config?.entity] } + : {}; + }, + watch: ["_config"], + }) + _entities!: HomeAssistant["entities"]; + @queryAsync("mwc-ripple") private _ripple!: Promise; @state() private _shouldRenderRipple = false; @@ -114,35 +149,11 @@ export class HuiButtonCard extends LitElement implements LovelaceCard { }; } - protected shouldUpdate(changedProps: PropertyValues): boolean { - if (changedProps.has("_config")) { - return true; - } - - const oldHass = changedProps.get("hass") as HomeAssistant | undefined; - - if ( - !oldHass || - oldHass.themes !== this.hass!.themes || - oldHass.locale !== this.hass!.locale - ) { - return true; - } - - return ( - Boolean(this._config!.entity) && - oldHass.states[this._config!.entity!] !== - this.hass!.states[this._config!.entity!] - ); - } - protected render() { - if (!this._config || !this.hass) { + if (!this._config) { return nothing; } - const stateObj = this._config.entity - ? this.hass.states[this._config.entity] - : undefined; + const stateObj = this._stateObj; if (this._config.entity && !stateObj) { return html` @@ -207,10 +218,10 @@ export class HuiButtonCard extends LitElement implements LovelaceCard { ${this._config.show_state && stateObj ? html` ${computeStateDisplay( - this.hass.localize, + this._localize, stateObj, - this.hass.locale, - this.hass.entities + this._locale, + this._entities )} ` : ""} @@ -221,21 +232,26 @@ export class HuiButtonCard extends LitElement implements LovelaceCard { protected updated(changedProps: PropertyValues): void { super.updated(changedProps); - if (!this._config || !this.hass) { + if (!this._config || !this._themes) { return; } - const oldHass = changedProps.get("hass") as HomeAssistant | undefined; + if (!changedProps.has("_themes") && !changedProps.has("_config")) { + return; + } + const oldThemes = changedProps.get("_themes") as + | HomeAssistant["themes"] + | undefined; const oldConfig = changedProps.get("_config") as | ButtonCardConfig | undefined; if ( - !oldHass || - !oldConfig || - oldHass.themes !== this.hass.themes || - oldConfig.theme !== this._config.theme + (changedProps.has("_themes") && + (!oldThemes || oldThemes !== this._themes)) || + (changedProps.has("_config") && + (!oldConfig || oldConfig.theme !== this._config.theme)) ) { - applyThemesOnElement(this, this.hass.themes, this._config.theme); + applyThemesOnElement(this, this._themes, this._config.theme); } } diff --git a/src/panels/lovelace/cards/hui-entity-card.ts b/src/panels/lovelace/cards/hui-entity-card.ts index 46a97f8a80..4d948cd0d7 100644 --- a/src/panels/lovelace/cards/hui-entity-card.ts +++ b/src/panels/lovelace/cards/hui-entity-card.ts @@ -27,7 +27,7 @@ import "../../../components/ha-card"; import "../../../components/ha-icon"; import { HVAC_ACTION_TO_MODE } from "../../../data/climate"; import { isUnavailableState } from "../../../data/entity"; -import { formatAttributeValue } from "../../../data/entity_attributes"; +import { computeAttributeValueDisplay } from "../../../common/entity/compute_attribute_display"; import { LightEntity } from "../../../data/light"; import { HomeAssistant } from "../../../types"; import { computeCardSize } from "../common/compute-card-size"; @@ -159,9 +159,12 @@ export class HuiEntityCard extends LitElement implements LovelaceCard { ${"attribute" in this._config ? stateObj.attributes[this._config.attribute!] !== undefined - ? formatAttributeValue( - this.hass, - stateObj.attributes[this._config.attribute!] + ? computeAttributeValueDisplay( + this.hass.localize, + stateObj, + this.hass.locale, + this.hass.entities, + this._config.attribute! ) : this.hass.localize("state.default.unknown") : isNumericState(stateObj) || this._config.unit diff --git a/src/panels/lovelace/cards/hui-gauge-card.ts b/src/panels/lovelace/cards/hui-gauge-card.ts index 13824d6a7c..8edb38253a 100644 --- a/src/panels/lovelace/cards/hui-gauge-card.ts +++ b/src/panels/lovelace/cards/hui-gauge-card.ts @@ -24,6 +24,9 @@ import { createEntityNotFoundWarning } from "../components/hui-warning"; import type { LovelaceCard, LovelaceCardEditor } from "../types"; import type { GaugeCardConfig } from "./types"; +export const DEFAULT_MIN = 0; +export const DEFAULT_MAX = 100; + export const severityMap = { red: "var(--error-color)", green: "var(--success-color)", @@ -76,7 +79,7 @@ class HuiGaugeCard extends LitElement implements LovelaceCard { throw new Error("Invalid entity"); } - this._config = { min: 0, max: 100, ...config }; + this._config = { min: DEFAULT_MIN, max: DEFAULT_MAX, ...config }; } protected render() { diff --git a/src/panels/lovelace/cards/hui-grid-card.ts b/src/panels/lovelace/cards/hui-grid-card.ts index 02a871f4ea..97b336c529 100644 --- a/src/panels/lovelace/cards/hui-grid-card.ts +++ b/src/panels/lovelace/cards/hui-grid-card.ts @@ -4,7 +4,7 @@ import { LovelaceCardEditor } from "../types"; import { HuiStackCard } from "./hui-stack-card"; import { GridCardConfig } from "./types"; -const DEFAULT_COLUMNS = 3; +export const DEFAULT_COLUMNS = 3; const SQUARE_ROW_HEIGHTS_BY_COLUMNS = { 1: 5, 2: 3, diff --git a/src/panels/lovelace/cards/hui-history-graph-card.ts b/src/panels/lovelace/cards/hui-history-graph-card.ts index 3b23878515..64e7809e18 100644 --- a/src/panels/lovelace/cards/hui-history-graph-card.ts +++ b/src/panels/lovelace/cards/hui-history-graph-card.ts @@ -11,6 +11,7 @@ import { classMap } from "lit/directives/class-map"; import { isComponentLoaded } from "../../../common/config/is_component_loaded"; import "../../../components/chart/state-history-charts"; import "../../../components/ha-card"; +import "../../../components/ha-alert"; import { computeHistory, HistoryResult, @@ -22,6 +23,8 @@ import { processConfigEntities } from "../common/process-config-entities"; import { LovelaceCard } from "../types"; import { HistoryGraphCardConfig } from "./types"; +export const DEFAULT_HOURS_TO_SHOW = 24; + @customElement("hui-history-graph-card") export class HuiHistoryGraphCard extends LitElement implements LovelaceCard { public static async getConfigElement() { @@ -46,7 +49,7 @@ export class HuiHistoryGraphCard extends LitElement implements LovelaceCard { private _entityIds: string[] = []; - private _hoursToShow = 24; + private _hoursToShow = DEFAULT_HOURS_TO_SHOW; private _interval?: number; @@ -77,7 +80,7 @@ export class HuiHistoryGraphCard extends LitElement implements LovelaceCard { } }); - this._hoursToShow = config.hours_to_show || 24; + this._hoursToShow = config.hours_to_show || DEFAULT_HOURS_TO_SHOW; this._config = config; } @@ -190,10 +193,10 @@ export class HuiHistoryGraphCard extends LitElement implements LovelaceCard { > ${this._error ? html` -
- ${this.hass.localize("ui.components.history_charts.error")} : + + ${this.hass.localize("ui.components.history_charts.error")}: ${this._error.message || this._error.code} -
+ ` : html` { @@ -66,7 +68,7 @@ export class HuiLogbookCard extends LitElement implements LovelaceCard { } this._config = { - hours_to_show: 24, + hours_to_show: DEFAULT_HOURS_TO_SHOW, ...config, }; this._time = { diff --git a/src/panels/lovelace/cards/hui-map-card.ts b/src/panels/lovelace/cards/hui-map-card.ts index 83f4f3dc38..7f1e2fc200 100644 --- a/src/panels/lovelace/cards/hui-map-card.ts +++ b/src/panels/lovelace/cards/hui-map-card.ts @@ -16,12 +16,13 @@ import { getColorByIndex } from "../../../common/color/colors"; import { isComponentLoaded } from "../../../common/config/is_component_loaded"; import { formatDateTime } from "../../../common/datetime/format_date_time"; import { - formatTime, + formatTimeWithSeconds, formatTimeWeekday, } from "../../../common/datetime/format_time"; import { computeDomain } from "../../../common/entity/compute_domain"; import parseAspectRatio from "../../../common/util/parse-aspect-ratio"; import "../../../components/ha-card"; +import "../../../components/ha-alert"; import "../../../components/ha-icon-button"; import "../../../components/map/ha-map"; import type { @@ -33,6 +34,7 @@ import { HistoryStates, subscribeHistoryStatesTimeWindow, } from "../../../data/history"; +import { hasConfigOrEntitiesChanged } from "../common/has-changed"; import { HomeAssistant } from "../../../types"; import { findEntities } from "../common/find-entities"; import { processConfigEntities } from "../common/process-config-entities"; @@ -40,7 +42,9 @@ import { EntityConfig } from "../entity-rows/types"; import { LovelaceCard } from "../types"; import { MapCardConfig } from "./types"; -const DEFAULT_HOURS_TO_SHOW = 0; +export const DEFAULT_HOURS_TO_SHOW = 0; +export const DEFAULT_ZOOM = 14; + @customElement("hui-map-card") class HuiMapCard extends LitElement implements LovelaceCard { @property({ attribute: false }) public hass!: HomeAssistant; @@ -62,7 +66,7 @@ class HuiMapCard extends LitElement implements LovelaceCard { private _colorIndex = 0; - private _error?: string; + @state() private _error?: { code: string; message: string }; private _subscribed?: Promise<(() => Promise) | void>; @@ -136,7 +140,10 @@ class HuiMapCard extends LitElement implements LovelaceCard { return nothing; } if (this._error) { - return html`
${this._error}
`; + return html` + ${this.hass.localize("ui.components.map.error")}: ${this._error.message} + (${this._error.code}) + `; } return html` @@ -148,10 +155,12 @@ class HuiMapCard extends LitElement implements LovelaceCard { this._config, this._configEntities )} - .zoom=${this._config.default_zoom ?? 14} + .zoom=${this._config.default_zoom ?? DEFAULT_ZOOM} .paths=${this._getHistoryPaths(this._config, this._stateHistory)} .autoFit=${this._config.auto_fit} .darkMode=${this._config.dark_mode} + interactiveZones + renderPassive > { this._subscribed = undefined; @@ -321,13 +335,16 @@ class HuiMapCard extends LitElement implements LovelaceCard { config: MapCardConfig, history?: HistoryStates ): HaMapPaths[] | undefined => { - if (!history) { + if (!history || !(config.hours_to_show ?? DEFAULT_HOURS_TO_SHOW)) { return undefined; } const paths: HaMapPaths[] = []; for (const entityId of Object.keys(history)) { + if (computeDomain(entityId) === "zone") { + continue; + } const entityStates = history[entityId]; if (!entityStates?.length) { continue; @@ -348,7 +365,7 @@ class HuiMapCard extends LitElement implements LovelaceCard { // date and time p.tooltip = formatDateTime(t, this.hass.locale); } else if (isToday(t)) { - p.tooltip = formatTime(t, this.hass.locale); + p.tooltip = formatTimeWithSeconds(t, this.hass.locale); } else { p.tooltip = formatTimeWeekday(t, this.hass.locale); } diff --git a/src/panels/lovelace/cards/hui-sensor-card.ts b/src/panels/lovelace/cards/hui-sensor-card.ts index 576856e4c1..e24a3f2c15 100644 --- a/src/panels/lovelace/cards/hui-sensor-card.ts +++ b/src/panels/lovelace/cards/hui-sensor-card.ts @@ -10,6 +10,8 @@ import { EntityCardConfig, SensorCardConfig } from "./types"; const includeDomains = ["counter", "input_number", "number", "sensor"]; +export const DEFAULT_HOURS_TO_SHOW = 24; + @customElement("hui-sensor-card") class HuiSensorCard extends HuiEntityCard { public static async getConfigElement(): Promise { @@ -59,7 +61,7 @@ class HuiSensorCard extends HuiEntityCard { type: "graph", entity: config.entity, detail: detail || 1, - hours_to_show: hours_to_show || 24, + hours_to_show: hours_to_show || DEFAULT_HOURS_TO_SHOW, limits: config.limits!, }; diff --git a/src/panels/lovelace/cards/hui-statistics-graph-card.ts b/src/panels/lovelace/cards/hui-statistics-graph-card.ts index d97005ffb3..49a3428adc 100644 --- a/src/panels/lovelace/cards/hui-statistics-graph-card.ts +++ b/src/panels/lovelace/cards/hui-statistics-graph-card.ts @@ -28,6 +28,8 @@ import { processConfigEntities } from "../common/process-config-entities"; import { LovelaceCard } from "../types"; import { StatisticsGraphCardConfig } from "./types"; +export const DEFAULT_DAYS_TO_SHOW = 30; + @customElement("hui-statistics-graph-card") export class HuiStatisticsGraphCard extends LitElement implements LovelaceCard { public static async getConfigElement() { @@ -225,7 +227,10 @@ export class HuiStatisticsGraphCard extends LitElement implements LovelaceCard { const startDate = new Date(); startDate.setTime( startDate.getTime() - - 1000 * 60 * 60 * (24 * (this._config!.days_to_show || 30) + 1) + 1000 * + 60 * + 60 * + (24 * (this._config!.days_to_show || DEFAULT_DAYS_TO_SHOW) + 1) ); try { let unitClass; diff --git a/src/panels/lovelace/cards/hui-thermostat-card.ts b/src/panels/lovelace/cards/hui-thermostat-card.ts index dbeb47db18..b186cf8e59 100644 --- a/src/panels/lovelace/cards/hui-thermostat-card.ts +++ b/src/panels/lovelace/cards/hui-thermostat-card.ts @@ -234,6 +234,7 @@ export class HuiThermostatCard extends LitElement implements LovelaceCard { ? computeAttributeValueDisplay( this.hass.localize, stateObj, + this.hass.locale, this.hass.entities, "hvac_action" ) @@ -252,6 +253,7 @@ export class HuiThermostatCard extends LitElement implements LovelaceCard { ${computeAttributeValueDisplay( this.hass.localize, stateObj, + this.hass.locale, this.hass.entities, "preset_mode" )} @@ -478,7 +480,9 @@ export class HuiThermostatCard extends LitElement implements LovelaceCard { @click=${this._handleAction} tabindex="0" .path=${modeIcons[mode]} - .label=${this.hass!.localize(`component.climate.state._.${mode}`)} + .label=${this.hass!.localize( + `component.climate.entity_component._.state.${mode}` + ) || mode} > `; diff --git a/src/panels/lovelace/cards/hui-tile-card.ts b/src/panels/lovelace/cards/hui-tile-card.ts index d1e392a4c9..6993c7698e 100644 --- a/src/panels/lovelace/cards/hui-tile-card.ts +++ b/src/panels/lovelace/cards/hui-tile-card.ts @@ -18,6 +18,7 @@ import { state, } from "lit/decorators"; import { classMap } from "lit/directives/class-map"; +import { ifDefined } from "lit/directives/if-defined"; import { styleMap } from "lit/directives/style-map"; import memoizeOne from "memoize-one"; import { computeCssColor } from "../../../common/color/compute-color"; @@ -224,7 +225,10 @@ export class HuiTileCard extends LitElement implements LovelaceCard { this.hass!.entities ); - if (domain === "cover" && stateObj.state === "open") { + if ( + domain === "cover" && + ["open", "opening", "closing"].includes(stateObj.state) + ) { const position = (stateObj as CoverEntity).attributes.current_position; if (position && position !== 100) { return `${stateDisplay} - ${Math.round(position)}${blankBeforePercent( @@ -305,6 +309,7 @@ export class HuiTileCard extends LitElement implements LovelaceCard { const active = stateActive(stateObj); const color = this._computeStateColor(stateObj, this._config.color); + const domain = computeDomain(stateObj.entity_id); const style = { "--tile-color": color, @@ -317,7 +322,7 @@ export class HuiTileCard extends LitElement implements LovelaceCard { return html` - ${this._shouldRenderRipple ? html`` : null} + ${this._shouldRenderRipple ? html`` : nothing}
` - : null} + : nothing}
` - : null} + : nothing} ${this.hass.localize( `ui.panel.lovelace.editor.color-picker.default_color` diff --git a/src/panels/lovelace/components/hui-energy-period-selector.ts b/src/panels/lovelace/components/hui-energy-period-selector.ts index ef733beeb4..4cfc118b69 100644 --- a/src/panels/lovelace/components/hui-energy-period-selector.ts +++ b/src/panels/lovelace/components/hui-energy-period-selector.ts @@ -44,7 +44,7 @@ export class HuiEnergyPeriodSelector extends SubscribeMixin(LitElement) { @property() public collectionKey?: string; - @property({ type: Boolean, reflect: true }) public narrow = false; + @property({ type: Boolean, reflect: true }) public narrow?; @state() _startDate?: Date; @@ -56,7 +56,9 @@ export class HuiEnergyPeriodSelector extends SubscribeMixin(LitElement) { public connectedCallback() { super.connectedCallback(); - toggleAttribute(this, "narrow", this.offsetWidth < 600); + if (this.narrow !== false) { + toggleAttribute(this, "narrow", this.offsetWidth < 600); + } } public hassSubscribe(): UnsubscribeFunc[] { diff --git a/src/panels/lovelace/components/hui-entity-editor.ts b/src/panels/lovelace/components/hui-entity-editor.ts index 138a88d870..ca0a8303c1 100644 --- a/src/panels/lovelace/components/hui-entity-editor.ts +++ b/src/panels/lovelace/components/hui-entity-editor.ts @@ -5,7 +5,10 @@ import { repeat } from "lit/directives/repeat"; import type { SortableEvent } from "sortablejs"; import { fireEvent } from "../../../common/dom/fire_event"; import "../../../components/entity/ha-entity-picker"; -import type { HaEntityPicker } from "../../../components/entity/ha-entity-picker"; +import type { + HaEntityPicker, + HaEntityPickerEntityFilterFunc, +} from "../../../components/entity/ha-entity-picker"; import "../../../components/ha-icon-button"; import { sortableStyles } from "../../../resources/ha-sortable-style"; import { @@ -21,6 +24,8 @@ export class HuiEntityEditor extends LitElement { @property({ attribute: false }) protected entities?: EntityConfig[]; + @property() protected entityFilter?: HaEntityPickerEntityFilterFunc; + @property() protected label?: string; private _entityKeys = new WeakMap(); @@ -65,6 +70,7 @@ export class HuiEntityEditor extends LitElement { .hass=${this.hass} .value=${entityConf.entity} .index=${index} + .entityFilter=${this.entityFilter} @value-changed=${this._valueChanged} allow-custom-entity > @@ -75,6 +81,7 @@ export class HuiEntityEditor extends LitElement { `; diff --git a/src/panels/lovelace/create-element/create-tile-feature-element.ts b/src/panels/lovelace/create-element/create-tile-feature-element.ts index dd91e8488e..a1b1fac46d 100644 --- a/src/panels/lovelace/create-element/create-tile-feature-element.ts +++ b/src/panels/lovelace/create-element/create-tile-feature-element.ts @@ -1,18 +1,22 @@ +import "../tile-features/hui-alarm-modes-tile-feature"; +import "../tile-features/hui-cover-open-close-tile-feature"; +import "../tile-features/hui-cover-tilt-tile-feature"; +import "../tile-features/hui-fan-speed-tile-feature"; +import "../tile-features/hui-light-brightness-tile-feature"; +import "../tile-features/hui-vacuum-commands-tile-feature"; import { LovelaceTileFeatureConfig } from "../tile-features/types"; import { createLovelaceElement, getLovelaceElementClass, } from "./create-element-base"; -import "../tile-features/hui-cover-open-close-tile-feature"; -import "../tile-features/hui-cover-tilt-tile-feature"; -import "../tile-features/hui-light-brightness-tile-feature"; -import "../tile-features/hui-vacuum-commands-tile-feature"; const TYPES: Set = new Set([ "cover-open-close", "cover-tilt", "light-brightness", "vacuum-commands", + "fan-speed", + "alarm-modes", ]); export const createTileFeatureElement = (config: LovelaceTileFeatureConfig) => diff --git a/src/panels/lovelace/editor/config-elements/hui-alarm-modes-tile-feature-editor.ts b/src/panels/lovelace/editor/config-elements/hui-alarm-modes-tile-feature-editor.ts new file mode 100644 index 0000000000..9793135ecd --- /dev/null +++ b/src/panels/lovelace/editor/config-elements/hui-alarm-modes-tile-feature-editor.ts @@ -0,0 +1,107 @@ +import { HassEntity } from "home-assistant-js-websocket"; +import { html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; +import { fireEvent } from "../../../../common/dom/fire_event"; +import { supportsFeature } from "../../../../common/entity/supports-feature"; +import type { LocalizeFunc } from "../../../../common/translations/localize"; +import type { SchemaUnion } from "../../../../components/ha-form/types"; +import { AlarmMode, ALARM_MODES } from "../../../../data/alarm_control_panel"; +import type { HomeAssistant } from "../../../../types"; +import { + LovelaceTileFeatureContext, + AlarmModesFileFeatureConfig, +} from "../../tile-features/types"; +import type { LovelaceTileFeatureEditor } from "../../types"; +import "../../../../components/ha-form/ha-form"; + +@customElement("hui-alarm-modes-tile-feature-editor") +export class HuiAlarmModesTileFeatureEditor + extends LitElement + implements LovelaceTileFeatureEditor +{ + @property({ attribute: false }) public hass?: HomeAssistant; + + @property({ attribute: false }) public context?: LovelaceTileFeatureContext; + + @state() private _config?: AlarmModesFileFeatureConfig; + + public setConfig(config: AlarmModesFileFeatureConfig): void { + this._config = config; + } + + private _schema = memoizeOne( + (localize: LocalizeFunc, stateObj?: HassEntity) => + [ + { + name: "modes", + selector: { + select: { + multiple: true, + mode: "list", + options: Object.keys(ALARM_MODES) + .filter((mode) => { + const feature = ALARM_MODES[mode as AlarmMode].feature; + return ( + stateObj && (!feature || supportsFeature(stateObj, feature)) + ); + }) + .map((mode) => ({ + value: mode, + label: `${localize( + `ui.panel.lovelace.editor.card.tile.features.types.alarm-modes.modes_list.${mode}` + )}`, + })), + }, + }, + }, + ] as const + ); + + protected render() { + if (!this.hass || !this._config) { + return nothing; + } + + const stateObj = this.context?.entity_id + ? this.hass.states[this.context?.entity_id] + : undefined; + + const schema = this._schema(this.hass.localize, stateObj); + + return html` + + `; + } + + private _valueChanged(ev: CustomEvent): void { + fireEvent(this, "config-changed", { config: ev.detail.value }); + } + + private _computeLabelCallback = ( + schema: SchemaUnion> + ) => { + switch (schema.name) { + case "modes": + return this.hass!.localize( + `ui.panel.lovelace.editor.card.tile.features.types.alarm-modes.${schema.name}` + ); + default: + return this.hass!.localize( + `ui.panel.lovelace.editor.card.generic.${schema.name}` + ); + } + }; +} + +declare global { + interface HTMLElementTagNameMap { + "hui-alarm-modes-tile-feature-editor": HuiAlarmModesTileFeatureEditor; + } +} diff --git a/src/panels/lovelace/editor/config-elements/hui-gauge-card-editor.ts b/src/panels/lovelace/editor/config-elements/hui-gauge-card-editor.ts index b30dcf043f..4055c1eea7 100644 --- a/src/panels/lovelace/editor/config-elements/hui-gauge-card-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-gauge-card-editor.ts @@ -19,6 +19,7 @@ import type { HomeAssistant } from "../../../../types"; import type { GaugeCardConfig } from "../../cards/types"; import type { LovelaceCardEditor } from "../../types"; import { baseLovelaceCardConfig } from "../structs/base-card-struct"; +import { DEFAULT_MIN, DEFAULT_MAX } from "../../cards/hui-gauge-card"; const gaugeSegmentStruct = object({ from: number(), @@ -79,8 +80,16 @@ export class HuiGaugeCardEditor name: "", type: "grid", schema: [ - { name: "min", selector: { number: { mode: "box" } } }, - { name: "max", selector: { number: { mode: "box" } } }, + { + name: "min", + default: DEFAULT_MIN, + selector: { number: { mode: "box" } }, + }, + { + name: "max", + default: DEFAULT_MAX, + selector: { number: { mode: "box" } }, + }, ], }, { diff --git a/src/panels/lovelace/editor/config-elements/hui-grid-card-editor.ts b/src/panels/lovelace/editor/config-elements/hui-grid-card-editor.ts index 10b96a51df..b683e8e13e 100644 --- a/src/panels/lovelace/editor/config-elements/hui-grid-card-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-grid-card-editor.ts @@ -16,6 +16,7 @@ import type { SchemaUnion } from "../../../../components/ha-form/types"; import type { GridCardConfig } from "../../cards/types"; import { baseLovelaceCardConfig } from "../structs/base-card-struct"; import { HuiStackCardEditor } from "./hui-stack-card-editor"; +import { DEFAULT_COLUMNS } from "../../cards/hui-grid-card"; const cardConfigStruct = assign( baseLovelaceCardConfig, @@ -32,7 +33,11 @@ const SCHEMA = [ type: "grid", name: "", schema: [ - { name: "columns", selector: { number: { min: 1, mode: "box" } } }, + { + name: "columns", + default: DEFAULT_COLUMNS, + selector: { number: { min: 1, mode: "box" } }, + }, { name: "square", selector: { boolean: {} } }, ], }, @@ -50,7 +55,7 @@ export class HuiGridCardEditor extends HuiStackCardEditor { return nothing; } - const data = { square: true, columns: 3, ...this._config }; + const data = { square: true, ...this._config }; return html`

diff --git a/src/panels/lovelace/editor/config-elements/hui-sensor-card-editor.ts b/src/panels/lovelace/editor/config-elements/hui-sensor-card-editor.ts index 32c8122f3d..60f4315d99 100644 --- a/src/panels/lovelace/editor/config-elements/hui-sensor-card-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-sensor-card-editor.ts @@ -19,6 +19,7 @@ import type { SensorCardConfig } from "../../cards/types"; import type { LovelaceCardEditor } from "../../types"; import { baseLovelaceCardConfig } from "../structs/base-card-struct"; import { configElementStyle } from "./config-elements-style"; +import { DEFAULT_HOURS_TO_SHOW } from "../../cards/hui-sensor-card"; const cardConfigStruct = assign( baseLovelaceCardConfig, @@ -77,6 +78,7 @@ const SCHEMA = [ { name: "theme", selector: { theme: {} } }, { name: "hours_to_show", + default: DEFAULT_HOURS_TO_SHOW, selector: { number: { min: 1, mode: "box" } }, }, ], @@ -103,7 +105,6 @@ export class HuiSensorCardEditor } const data = { - hours_to_show: 24, graph: "none", ...this._config, detail: this._config!.detail === 2, diff --git a/src/panels/lovelace/editor/config-elements/hui-statistics-graph-card-editor.ts b/src/panels/lovelace/editor/config-elements/hui-statistics-graph-card-editor.ts index af616f0ff5..689985508e 100644 --- a/src/panels/lovelace/editor/config-elements/hui-statistics-graph-card-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-statistics-graph-card-editor.ts @@ -45,6 +45,7 @@ import { processConfigEntities } from "../../common/process-config-entities"; import type { LovelaceCardEditor } from "../../types"; import { baseLovelaceCardConfig } from "../structs/base-card-struct"; import { entitiesConfigStruct } from "../structs/entities-struct"; +import { DEFAULT_DAYS_TO_SHOW } from "../../cards/hui-statistics-graph-card"; const statTypeStruct = union([ literal("state"), @@ -172,7 +173,7 @@ export class HuiStatisticsGraphCardEditor }, { name: "days_to_show", - required: true, + default: DEFAULT_DAYS_TO_SHOW, selector: { number: { min: 1, mode: "box" } }, }, { @@ -258,7 +259,6 @@ export class HuiStatisticsGraphCardEditor const data = { chart_type: "line", period: "hour", - days_to_show: 30, ...this._config, stat_types: configured_stat_types, }; diff --git a/src/panels/lovelace/editor/config-elements/hui-tile-card-features-editor.ts b/src/panels/lovelace/editor/config-elements/hui-tile-card-features-editor.ts index 798c634936..712c9e1d26 100644 --- a/src/panels/lovelace/editor/config-elements/hui-tile-card-features-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-tile-card-features-editor.ts @@ -1,6 +1,6 @@ import { mdiDelete, mdiDrag, mdiListBox, mdiPencil, mdiPlus } from "@mdi/js"; import { HassEntity } from "home-assistant-js-websocket"; -import { css, CSSResultGroup, html, LitElement, TemplateResult } from "lit"; +import { css, CSSResultGroup, html, LitElement, nothing } from "lit"; import { customElement, property } from "lit/decorators"; import { repeat } from "lit/directives/repeat"; import type { SortableEvent } from "sortablejs"; @@ -25,8 +25,10 @@ import { } from "../../../../resources/sortable.ondemand"; import { HomeAssistant } from "../../../../types"; import { getTileFeatureElementClass } from "../../create-element/create-tile-feature-element"; +import { supportsAlarmModesTileFeature } from "../../tile-features/hui-alarm-modes-tile-feature"; import { supportsCoverOpenCloseTileFeature } from "../../tile-features/hui-cover-open-close-tile-feature"; import { supportsCoverTiltTileFeature } from "../../tile-features/hui-cover-tilt-tile-feature"; +import { supportsFanSpeedTileFeature } from "../../tile-features/hui-fan-speed-tile-feature"; import { supportsLightBrightnessTileFeature } from "../../tile-features/hui-light-brightness-tile-feature"; import { supportsVacuumCommandTileFeature } from "../../tile-features/hui-vacuum-commands-tile-feature"; import { LovelaceTileFeatureConfig } from "../../tile-features/types"; @@ -39,9 +41,14 @@ const FEATURE_TYPES: FeatureType[] = [ "cover-tilt", "light-brightness", "vacuum-commands", + "fan-speed", + "alarm-modes", ]; -const EDITABLES_FEATURE_TYPES = new Set(["vacuum-commands"]); +const EDITABLES_FEATURE_TYPES = new Set([ + "vacuum-commands", + "alarm-modes", +]); const SUPPORTS_FEATURE_TYPES: Record = { @@ -49,6 +56,8 @@ const SUPPORTS_FEATURE_TYPES: Record = "cover-tilt": supportsCoverTiltTileFeature, "light-brightness": supportsLightBrightnessTileFeature, "vacuum-commands": supportsVacuumCommandTileFeature, + "fan-speed": supportsFanSpeedTileFeature, + "alarm-modes": supportsAlarmModesTileFeature, }; const CUSTOM_FEATURE_ENTRIES: Record< @@ -147,9 +156,9 @@ export class HuiTileCardFeaturesEditor extends LitElement { .filter((type) => this._supportsFeatureType(type)); } - protected render(): TemplateResult | null { + protected render() { if (!this.features || !this.hass) { - return null; + return nothing; } const supportedFeaturesType = this._getSupportedFeaturesType(); @@ -176,7 +185,7 @@ export class HuiTileCardFeaturesEditor extends LitElement { )} ` - : null} + : nothing}
${repeat( this.features, @@ -201,7 +210,7 @@ export class HuiTileCardFeaturesEditor extends LitElement { )} ` - : null} + : nothing}

${editable @@ -217,7 +226,7 @@ export class HuiTileCardFeaturesEditor extends LitElement { .disabled=${!supported} > ` - : null} + : nothing} 0 && customTypes.length > 0 ? html`
  • ` - : null} + : nothing} ${customTypes.map( (type) => html` @@ -267,7 +276,7 @@ export class HuiTileCardFeaturesEditor extends LitElement { )} ` - : null} + : nothing}
    `; diff --git a/src/panels/lovelace/editor/config-elements/hui-vacuum-commands-tile-feature-editor.ts b/src/panels/lovelace/editor/config-elements/hui-vacuum-commands-tile-feature-editor.ts index aeed477351..e9679933ab 100644 --- a/src/panels/lovelace/editor/config-elements/hui-vacuum-commands-tile-feature-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-vacuum-commands-tile-feature-editor.ts @@ -37,6 +37,7 @@ export class HuiVacuumCommandsTileFeatureEditor selector: { select: { multiple: true, + mode: "list", options: VACUUM_COMMANDS.filter( (command) => stateObj && supportsVacuumCommand(stateObj, command) diff --git a/src/panels/lovelace/editor/config-util.ts b/src/panels/lovelace/editor/config-util.ts index 2bae8eaf49..bf15aafbdc 100644 --- a/src/panels/lovelace/editor/config-util.ts +++ b/src/panels/lovelace/editor/config-util.ts @@ -191,7 +191,7 @@ export const moveCard = ( toPath: [number] ): LovelaceConfig => { if (fromPath[0] === toPath[0]) { - throw new Error("You can not move a card to the view it is in."); + throw new Error("You cannot move a card to the view it is in."); } const fromView = config.views[fromPath[0]]; const card = fromView.cards![fromPath[1]]; diff --git a/src/panels/lovelace/editor/select-view/hui-dialog-select-view.ts b/src/panels/lovelace/editor/select-view/hui-dialog-select-view.ts index c4828be5d3..24c8412883 100644 --- a/src/panels/lovelace/editor/select-view/hui-dialog-select-view.ts +++ b/src/panels/lovelace/editor/select-view/hui-dialog-select-view.ts @@ -111,7 +111,7 @@ export class HuiDialogSelectView extends LitElement { icon) ? "icon" - : null} + : nothing} @click=${this._viewChanged} .value=${idx.toString()} .selected=${this._selectedViewIdx === idx} diff --git a/src/panels/lovelace/hui-editor.ts b/src/panels/lovelace/hui-editor.ts index 4d200be7a5..9bf7cb9cc5 100644 --- a/src/panels/lovelace/hui-editor.ts +++ b/src/panels/lovelace/hui-editor.ts @@ -1,8 +1,6 @@ import { undoDepth } from "@codemirror/commands"; import "@material/mwc-button"; import { mdiClose } from "@mdi/js"; -import "@polymer/app-layout/app-header/app-header"; -import "@polymer/app-layout/app-toolbar/app-toolbar"; import { dump, load } from "js-yaml"; import { css, @@ -25,11 +23,11 @@ import { showAlertDialog, showConfirmationDialog, } from "../../dialogs/generic/show-dialog-box"; -import "../../layouts/ha-app-layout"; import { haStyle } from "../../resources/styles"; import type { HomeAssistant } from "../../types"; import { showToast } from "../../util/toast"; import type { Lovelace } from "./types"; +import "../../components/ha-top-app-bar-fixed"; const lovelaceStruct = type({ title: optional(string()), @@ -50,43 +48,38 @@ class LovelaceFullConfigEditor extends LitElement { protected render(): TemplateResult | void { return html` - - - - -
    - ${this.hass!.localize( - "ui.panel.lovelace.editor.raw_editor.header" - )} -
    -
    +
    + ${this.hass!.localize("ui.panel.lovelace.editor.raw_editor.header")} +
    +
    - ${this._changed - ? this.hass!.localize( - "ui.panel.lovelace.editor.raw_editor.unsaved_changes" - ) - : this.hass!.localize( - "ui.panel.lovelace.editor.raw_editor.saved" - )} -
    - ${this.hass!.localize( - "ui.panel.lovelace.editor.raw_editor.save" - )} - - + saved: this._saving! === false || this._changed === true, + })}" + > + ${this._changed + ? this.hass!.localize( + "ui.panel.lovelace.editor.raw_editor.unsaved_changes" + ) + : this.hass!.localize("ui.panel.lovelace.editor.raw_editor.saved")} +
    + ${this.hass!.localize( + "ui.panel.lovelace.editor.raw_editor.save" + )}
    -
    +
    `; } @@ -142,15 +135,11 @@ class LovelaceFullConfigEditor extends LitElement { css` :host { --code-mirror-height: 100%; - } - - ha-app-layout { - height: 100vh; - } - - app-toolbar { - background-color: var(--app-header-edit-background-color, #455a64); - color: var(--app-header-edit-text-color, #fff); + --app-header-background-color: var( + --app-header-edit-background-color, + #455a64 + ); + --app-header-text-color: var(--app-header-edit-text-color, #fff); } mwc-button[disabled] { @@ -158,14 +147,14 @@ class LovelaceFullConfigEditor extends LitElement { border-radius: 4px; } - .comments { - font-size: 16px; - } - .content { height: calc(100vh - var(--header-height)); } + .comments { + font-size: 16px; + } + .save-button { opacity: 0; font-size: 14px; diff --git a/src/panels/lovelace/hui-root.ts b/src/panels/lovelace/hui-root.ts index ae5bef430e..84ffc69bbe 100644 --- a/src/panels/lovelace/hui-root.ts +++ b/src/panels/lovelace/hui-root.ts @@ -16,9 +16,6 @@ import { mdiShape, mdiViewDashboard, } from "@mdi/js"; -import "@polymer/app-layout/app-header/app-header"; -import "@polymer/app-layout/app-scroll-effects/effects/waterfall"; -import "@polymer/app-layout/app-toolbar/app-toolbar"; import "@polymer/paper-tabs/paper-tab"; import "@polymer/paper-tabs/paper-tabs"; import { @@ -35,7 +32,6 @@ import { ifDefined } from "lit/directives/if-defined"; import memoizeOne from "memoize-one"; import { isComponentLoaded } from "../../common/config/is_component_loaded"; import { fireEvent } from "../../common/dom/fire_event"; -import scrollToTarget from "../../common/dom/scroll-to-target"; import { shouldHandleRequestSelectedEvent } from "../../common/mwc/handle-request-selected-event"; import { navigate } from "../../common/navigate"; import { constructUrlCurrentPath } from "../../common/url/construct-url"; @@ -66,8 +62,6 @@ import { } from "../../dialogs/generic/show-dialog-box"; import { showQuickBar } from "../../dialogs/quick-bar/show-dialog-quick-bar"; import { showVoiceCommandDialog } from "../../dialogs/voice-command-dialog/show-ha-voice-command-dialog"; -import "../../layouts/ha-app-layout"; -import type { haAppLayout } from "../../layouts/ha-app-layout"; import { haStyle } from "../../resources/styles"; import type { HomeAssistant } from "../../types"; import { documentationUrl } from "../../util/documentation-url"; @@ -93,7 +87,7 @@ class HUIRoot extends LitElement { @state() private _curView?: number | "hass-unused-entities"; - @query("ha-app-layout", true) private _appLayout!: haAppLayout; + @query("#view", true) _view!: HTMLDivElement; private _viewCache?: { [viewId: string]: HUIView }; @@ -121,20 +115,20 @@ class HUIRoot extends LitElement { typeof this._curView === "number" ? views[this._curView] : undefined; return html` - - - ${this._editMode - ? html` - -
    +
    +
    + ${this._editMode + ? html` +
    ${this.config.title || this.hass!.localize("ui.panel.lovelace.editor.header")}
    - -
    - + - - - - ${__DEMO__ /* No unused entities available in the demo */ - ? "" - : html` - - - - ${this.hass!.localize( - "ui.panel.lovelace.unused_entities.title" - )} - - `} - + - - ${this.hass!.localize( - "ui.panel.lovelace.editor.menu.raw_editor" - )} - - ${__DEMO__ /* No config available in the demo */ - ? "" - : html` - - ${this.hass!.localize( - "ui.panel.lovelace.editor.menu.manage_dashboards" - )} - - ${this.hass.userData?.showAdvanced - ? html` + + + + ${__DEMO__ /* No unused entities available in the demo */ + ? "" + : html` + + - - ${this.hass!.localize( - "ui.panel.lovelace.editor.menu.manage_resources" - )} - ` - : ""} `} - - - ` - : html` - + + ${this.hass!.localize( + "ui.panel.lovelace.unused_entities.title" + )} + + `} + + + ${this.hass!.localize( + "ui.panel.lovelace.editor.menu.raw_editor" + )} + + ${__DEMO__ /* No config available in the demo */ + ? "" + : html` + + ${this.hass!.localize( + "ui.panel.lovelace.editor.menu.manage_dashboards" + )} + + ${this.hass.userData?.showAdvanced + ? html` + + ${this.hass!.localize( + "ui.panel.lovelace.editor.menu.manage_resources" + )} + ` + : ""} `} + +
    + ` + : html` ${curViewConfig?.subview ? html` ` : html` `} ${curViewConfig?.subview - ? html`
    ${curViewConfig.title}
    ` + ? html`
    ${curViewConfig.title}
    ` : views.filter((view) => !view.subview).length > 1 ? html` ` - : html`
    ${this.config.title}
    `} - ${!this.narrow - ? html` - - ` - : ""} - ${!this.narrow && - this._conversation(this.hass.config.components) - ? html` - - ` - : ""} - ${this._showButtonMenu - ? html` - - - - ${this.narrow - ? html` - - ${this.hass!.localize( - "ui.panel.lovelace.menu.search" - )} - - - - ` - : ""} - ${this.narrow && - this._conversation(this.hass.config.components) - ? html` - - ${this.hass!.localize( - "ui.panel.lovelace.menu.assist" - )} - - - - ` - : ""} - ${this._yamlMode - ? html` - - ${this.hass!.localize("ui.common.refresh")} - - - - - ${this.hass!.localize( - "ui.panel.lovelace.unused_entities.title" - )} - - - - ` - : ""} - ${( - this.hass.panels.lovelace - ?.config as LovelacePanelConfig - )?.mode === "yaml" - ? html` - - ${this.hass!.localize( - "ui.panel.lovelace.menu.reload_resources" - )} - - - ` - : ""} - ${this.hass!.user?.is_admin && - !this.hass!.config.safe_mode - ? html` - - ${this.hass!.localize( - "ui.panel.lovelace.menu.configure_ui" - )} - - - ` - : ""} - ${this._editMode - ? html` - - - ${this.hass!.localize( - "ui.panel.lovelace.menu.help" - )} - - - - ` - : ""} - - ` - : ""} - - `} - ${this._editMode - ? html` -
    - - ${views.map( - (view) => html` - e.user === this.hass!.user?.id - )) || - view.visible === false) - ), - })} - > - ${this._editMode - ? html` - - ` - : ""} - ${view.icon - ? html` - - ` - : view.title || "Unnamed view"} - ${this._editMode - ? html` - - - ` - : ""} - - ` - )} - ${this._editMode + : html`
    ${this.config.title}
    `} +
    + ${!this.narrow ? html` ` : ""} - -
    + ${!this.narrow && + this._conversation(this.hass.config.components) + ? html` + + ` + : ""} + ${this._showButtonMenu + ? html` + + + + ${this.narrow + ? html` + + ${this.hass!.localize( + "ui.panel.lovelace.menu.search" + )} + + + + ` + : ""} + ${this.narrow && + this._conversation(this.hass.config.components) + ? html` + + ${this.hass!.localize( + "ui.panel.lovelace.menu.assist" + )} + + + + ` + : ""} + ${this._yamlMode + ? html` + + ${this.hass!.localize("ui.common.refresh")} + + + + + ${this.hass!.localize( + "ui.panel.lovelace.unused_entities.title" + )} + + + + ` + : ""} + ${( + this.hass.panels.lovelace + ?.config as LovelacePanelConfig + )?.mode === "yaml" + ? html` + + ${this.hass!.localize( + "ui.panel.lovelace.menu.reload_resources" + )} + + + ` + : ""} + ${this.hass!.user?.is_admin && + !this.hass!.config.safe_mode + ? html` + + ${this.hass!.localize( + "ui.panel.lovelace.menu.configure_ui" + )} + + + ` + : ""} + ${this._editMode + ? html` + + + ${this.hass!.localize( + "ui.panel.lovelace.menu.help" + )} + + + + ` + : ""} + + ` + : ""} +
    + `} +
    + ${this._editMode + ? html` + + ${views.map( + (view) => html` + e.user === this.hass!.user?.id + )) || + view.visible === false) + ), + })} + > + ${this._editMode + ? html` + + ` + : ""} + ${view.icon + ? html` + + ` + : view.title || "Unnamed view"} + ${this._editMode + ? html` + + + ` + : ""} + + ` + )} + ${this._editMode + ? html` + + ` + : ""} + ` : ""} - +
    - +
    `; } @@ -668,10 +672,6 @@ class HUIRoot extends LitElement { return this.lovelace!.editMode; } - private get _layout(): any { - return this.shadowRoot!.getElementById("layout"); - } - private get _viewRoot(): HTMLDivElement { return this.shadowRoot!.getElementById("view") as HTMLDivElement; } @@ -862,7 +862,7 @@ class HUIRoot extends LitElement { const path = this.config.views[viewIndex].path || viewIndex; this._navigateToView(path); } - scrollToTarget(this, this._layout.header.scrollTarget); + this._view.scrollTo(0, 0); } private _selectView(viewIndex: HUIRoot["_curView"], force: boolean): void { @@ -920,12 +920,9 @@ class HUIRoot extends LitElement { const configBackground = viewConfig.background || this.config.background; if (configBackground) { - this._appLayout.style.setProperty( - "--lovelace-background", - configBackground - ); + this.style.setProperty("--lovelace-background", configBackground); } else { - this._appLayout.style.removeProperty("--lovelace-background"); + this.style.removeProperty("--lovelace-background"); } root.appendChild(view); @@ -942,20 +939,43 @@ class HUIRoot extends LitElement { -webkit-user-select: none; -moz-user-select: none; } - - ha-app-layout { - min-height: 100%; + .header { + background-color: var(--app-header-background-color); + color: var(--app-header-text-color, white); + border-bottom: var(--app-header-border-bottom, none); + position: fixed; + top: 0; + width: var(--mdc-top-app-bar-width, 100%); + z-index: 2; + } + .edit-mode .header { + background-color: var(--app-header-edit-background-color, #455a64); + color: var(--app-header-edit-text-color, white); + } + .toolbar { + height: var(--header-height); + display: flex; + align-items: center; + font-size: 20px; + padding: 0 16px; + font-weight: 400; + box-sizing: border-box; + } + .main-title { + margin: 0 0 0 24px; + line-height: 20px; + flex-grow: 1; + } + .action-items { + white-space: nowrap; + display: flex; + align-items: center; } ha-tabs { width: 100%; height: 100%; margin-left: 4px; } - paper-tabs { - margin-left: 12px; - margin-left: max(env(safe-area-inset-left), 12px); - margin-right: env(safe-area-inset-right); - } ha-tabs, paper-tabs { --paper-tabs-selection-bar-color: var( @@ -964,15 +984,13 @@ class HUIRoot extends LitElement { ); text-transform: uppercase; } - - .edit-mode app-header, - .edit-mode app-toolbar { - background-color: var(--app-header-edit-background-color, #455a64); - color: var(--app-header-edit-text-color, #fff); - } .edit-mode div[main-title] { pointer-events: auto; } + .edit-mode paper-tabs { + background-color: var(--app-header-edit-background-color, #455a64); + color: var(--app-header-edit-text-color, #fff); + } paper-tab.iron-selected .edit-icon { display: inline-flex; } @@ -995,14 +1013,15 @@ class HUIRoot extends LitElement { background-color: var(--accent-color); border-radius: 4px; } - app-toolbar a { + a { color: var(--text-primary-color, white); } mwc-button.warning:not([disabled]) { color: var(--error-color); } #view { - min-height: calc( + margin-top: var(--header-height); + height: calc( 100vh - var(--header-height) - env(safe-area-inset-top) - env(safe-area-inset-bottom) ); @@ -1015,15 +1034,17 @@ class HUIRoot extends LitElement { */ position: relative; display: flex; + overflow: auto; } /** * In edit mode we have the tab bar on a new line * */ .edit-mode #view { - min-height: calc( + height: calc( 100vh - var(--header-height) - 48px - env(safe-area-inset-top) - env(safe-area-inset-bottom) ); + margin-top: calc(var(--header-height) + 48px); } #view > * { /** diff --git a/src/panels/lovelace/special-rows/hui-attribute-row.ts b/src/panels/lovelace/special-rows/hui-attribute-row.ts index 8942ae41f8..b0e95de02f 100644 --- a/src/panels/lovelace/special-rows/hui-attribute-row.ts +++ b/src/panels/lovelace/special-rows/hui-attribute-row.ts @@ -8,14 +8,13 @@ import { } from "lit"; import { customElement, property, state } from "lit/decorators"; import checkValidDate from "../../../common/datetime/check_valid_date"; -import { formatNumber } from "../../../common/number/format_number"; -import { formatAttributeValue } from "../../../data/entity_attributes"; import { HomeAssistant } from "../../../types"; import { hasConfigOrEntityChanged } from "../common/has-changed"; import "../components/hui-generic-entity-row"; import "../components/hui-timestamp-display"; import { createEntityNotFoundWarning } from "../components/hui-warning"; import { AttributeRowConfig, LovelaceRow } from "../entity-rows/types"; +import { computeAttributeValueDisplay } from "../../../common/entity/compute_attribute_display"; @customElement("hui-attribute-row") class HuiAttributeRow extends LitElement implements LovelaceRow { @@ -71,10 +70,15 @@ class HuiAttributeRow extends LitElement implements LovelaceRow { .format=${this._config.format} capitalize >` - : typeof attribute === "number" - ? formatNumber(attribute, this.hass.locale) : attribute !== undefined - ? formatAttributeValue(this.hass, attribute) + ? computeAttributeValueDisplay( + this.hass.localize, + stateObj, + this.hass.locale, + this.hass.entities, + this._config.attribute, + attribute + ) : "—"} ${this._config.suffix} diff --git a/src/panels/lovelace/tile-features/hui-alarm-modes-tile-feature.ts b/src/panels/lovelace/tile-features/hui-alarm-modes-tile-feature.ts new file mode 100644 index 0000000000..350af66ff1 --- /dev/null +++ b/src/panels/lovelace/tile-features/hui-alarm-modes-tile-feature.ts @@ -0,0 +1,245 @@ +import { mdiShieldOff } from "@mdi/js"; +import { HassEntity } from "home-assistant-js-websocket"; +import { css, html, LitElement, TemplateResult } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import { styleMap } from "lit/directives/style-map"; +import memoizeOne from "memoize-one"; +import { computeAttributeNameDisplay } from "../../../common/entity/compute_attribute_display"; +import { computeDomain } from "../../../common/entity/compute_domain"; +import { stateColorCss } from "../../../common/entity/state_color"; +import { supportsFeature } from "../../../common/entity/supports-feature"; +import "../../../components/ha-control-select"; +import type { ControlSelectOption } from "../../../components/ha-control-select"; +import "../../../components/ha-control-slider"; +import "../../../components/ha-control-button"; +import "../../../components/ha-control-button-group"; +import { + AlarmControlPanelEntity, + AlarmMode, + ALARM_MODES, +} from "../../../data/alarm_control_panel"; +import { showEnterCodeDialogDialog } from "../../../dialogs/more-info/components/alarm_control_panel/show-enter-code-dialog"; +import { HomeAssistant } from "../../../types"; +import { LovelaceTileFeature, LovelaceTileFeatureEditor } from "../types"; +import { AlarmModesFileFeatureConfig } from "./types"; + +export const supportsAlarmModesTileFeature = (stateObj: HassEntity) => { + const domain = computeDomain(stateObj.entity_id); + return domain === "alarm_control_panel"; +}; + +@customElement("hui-alarm-modes-tile-feature") +class HuiAlarmModeTileFeature + extends LitElement + implements LovelaceTileFeature +{ + @property({ attribute: false }) public hass?: HomeAssistant; + + @property({ attribute: false }) public stateObj?: AlarmControlPanelEntity; + + @state() private _config?: AlarmModesFileFeatureConfig; + + @state() _currentMode?: AlarmMode; + + static getStubConfig(_, stateObj?: HassEntity): AlarmModesFileFeatureConfig { + return { + type: "alarm-modes", + modes: stateObj + ? (Object.keys(ALARM_MODES) as AlarmMode[]).filter((mode) => { + const feature = ALARM_MODES[mode as AlarmMode].feature; + return !feature || supportsFeature(stateObj, feature); + }) + : [], + }; + } + + public static async getConfigElement(): Promise { + await import( + "../editor/config-elements/hui-alarm-modes-tile-feature-editor" + ); + return document.createElement("hui-alarm-modes-tile-feature-editor"); + } + + public setConfig(config: AlarmModesFileFeatureConfig): void { + if (!config) { + throw new Error("Invalid configuration"); + } + this._config = config; + } + + protected updated(changedProp: Map): void { + super.updated(changedProp); + if (changedProp.has("stateObj") && this.stateObj) { + const oldStateObj = changedProp.get("stateObj") as HassEntity | undefined; + + if (!oldStateObj || this.stateObj.state !== oldStateObj.state) { + this._currentMode = this._getCurrentMode(this.stateObj); + } + } + } + + private _modes = memoizeOne( + ( + stateObj: AlarmControlPanelEntity, + selectedModes: AlarmMode[] | undefined + ) => { + if (!selectedModes) { + return []; + } + + return (Object.keys(ALARM_MODES) as AlarmMode[]).filter((mode) => { + const feature = ALARM_MODES[mode].feature; + return ( + (!feature || supportsFeature(stateObj, feature)) && + selectedModes.includes(mode) + ); + }); + } + ); + + private _getCurrentMode(stateObj: AlarmControlPanelEntity) { + return this._modes(stateObj, this._config?.modes).find( + (mode) => ALARM_MODES[mode].state === stateObj.state + ); + } + + private async _valueChanged(ev: CustomEvent) { + const mode = (ev.detail as any).value as AlarmMode; + + if (ALARM_MODES[mode].state === this.stateObj!.state) return; + + // Force ha-control-select to previous mode because we don't known if the service call will succeed due to code check + this._currentMode = mode; + await this.requestUpdate("_currentMode"); + this._currentMode = this._getCurrentMode(this.stateObj!); + + this._setMode(mode); + } + + private async _disarm() { + this._setMode("disarmed"); + } + + private async _setMode(mode: AlarmMode) { + const { service } = ALARM_MODES[mode]; + + let code: string | undefined; + + if ( + (mode !== "disarmed" && + this.stateObj!.attributes.code_arm_required && + this.stateObj!.attributes.code_format) || + (mode === "disarmed" && this.stateObj!.attributes.code_format) + ) { + const disarm = mode === "disarmed"; + + const response = await showEnterCodeDialogDialog(this, { + codeFormat: this.stateObj!.attributes.code_format, + title: this.hass!.localize( + `ui.dialogs.more_info_control.alarm_control_panel.${ + disarm ? "disarm_title" : "arm_title" + }` + ), + submitText: this.hass!.localize( + `ui.dialogs.more_info_control.alarm_control_panel.${ + disarm ? "disarm_action" : "arm_action" + }` + ), + }); + if (!response) { + return; + } + code = response; + } + + this.hass!.callService("alarm_control_panel", service, { + entity_id: this.stateObj!.entity_id, + code, + }); + } + + protected render(): TemplateResult | null { + if ( + !this._config || + !this.hass || + !this.stateObj || + !supportsAlarmModesTileFeature(this.stateObj) + ) { + return null; + } + + const color = stateColorCss(this.stateObj); + + const modes = this._modes(this.stateObj, this._config.modes); + + const options = modes.map((mode) => ({ + value: mode, + label: this.hass!.localize( + `ui.dialogs.more_info_control.alarm_control_panel.modes.${mode}` + ), + path: ALARM_MODES[mode].path, + })); + + if (["triggered", "arming", "pending"].includes(this.stateObj.state)) { + return html` + + + + + + `; + } + return html` +
    + + +
    + `; + } + + static get styles() { + return css` + ha-control-select { + --control-select-color: var(--tile-color); + --control-select-padding: 0; + --control-select-thickness: 40px; + --control-select-border-radius: 10px; + --control-select-button-border-radius: 10px; + } + ha-control-button-group { + margin: 0 12px 12px 12px; + --control-button-group-spacing: 12px; + } + .container { + padding: 0 12px 12px 12px; + width: auto; + } + `; + } +} + +declare global { + interface HTMLElementTagNameMap { + "hui-alarm-modes-tile-feature": HuiAlarmModeTileFeature; + } +} diff --git a/src/panels/lovelace/tile-features/hui-cover-open-close-tile-feature.ts b/src/panels/lovelace/tile-features/hui-cover-open-close-tile-feature.ts index 8a4fe2c7cb..675407eb6d 100644 --- a/src/panels/lovelace/tile-features/hui-cover-open-close-tile-feature.ts +++ b/src/panels/lovelace/tile-features/hui-cover-open-close-tile-feature.ts @@ -1,6 +1,6 @@ import { mdiStop } from "@mdi/js"; import { HassEntity } from "home-assistant-js-websocket"; -import { css, html, LitElement, TemplateResult } from "lit"; +import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { computeDomain } from "../../../common/entity/compute_domain"; import { @@ -74,14 +74,14 @@ class HuiCoverOpenCloseTileFeature }); } - protected render(): TemplateResult | null { + protected render() { if ( !this._config || !this.hass || !this.stateObj || !supportsCoverOpenCloseTileFeature(this.stateObj) ) { - return null; + return nothing; } return html` @@ -100,7 +100,7 @@ class HuiCoverOpenCloseTileFeature >
    ` - : null} + : nothing} ${supportsFeature(this.stateObj, CoverEntityFeature.STOP) ? html` ` - : null} + : nothing} ${supportsFeature(this.stateObj, CoverEntityFeature.CLOSE) ? html` ` - : undefined} + : nothing} `; } diff --git a/src/panels/lovelace/tile-features/hui-cover-tilt-tile-feature.ts b/src/panels/lovelace/tile-features/hui-cover-tilt-tile-feature.ts index e2545048e7..3356440123 100644 --- a/src/panels/lovelace/tile-features/hui-cover-tilt-tile-feature.ts +++ b/src/panels/lovelace/tile-features/hui-cover-tilt-tile-feature.ts @@ -1,6 +1,6 @@ import { mdiArrowBottomLeft, mdiArrowTopRight, mdiStop } from "@mdi/js"; import { HassEntity } from "home-assistant-js-websocket"; -import { css, html, LitElement, TemplateResult } from "lit"; +import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { computeDomain } from "../../../common/entity/compute_domain"; import { supportsFeature } from "../../../common/entity/supports-feature"; @@ -70,14 +70,14 @@ class HuiCoverTiltTileFeature }); } - protected render(): TemplateResult | null { + protected render() { if ( !this._config || !this.hass || !this.stateObj || !supportsCoverTiltTileFeature ) { - return null; + return nothing; } return html` @@ -94,7 +94,7 @@ class HuiCoverTiltTileFeature ` - : null} + : nothing} ${supportsFeature(this.stateObj, CoverEntityFeature.STOP_TILT) ? html` ` - : null} + : nothing} ${supportsFeature(this.stateObj, CoverEntityFeature.CLOSE_TILT) ? html` ` - : undefined} + : nothing} `; } diff --git a/src/panels/lovelace/tile-features/hui-fan-speed-tile-feature.ts b/src/panels/lovelace/tile-features/hui-fan-speed-tile-feature.ts new file mode 100644 index 0000000000..5a67ea5bf1 --- /dev/null +++ b/src/panels/lovelace/tile-features/hui-fan-speed-tile-feature.ts @@ -0,0 +1,191 @@ +import { HassEntity } from "home-assistant-js-websocket"; +import { css, html, LitElement, nothing } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import { computeAttributeNameDisplay } from "../../../common/entity/compute_attribute_display"; +import { computeDomain } from "../../../common/entity/compute_domain"; +import { computeStateDisplay } from "../../../common/entity/compute_state_display"; +import { supportsFeature } from "../../../common/entity/supports-feature"; +import "../../../components/ha-control-select"; +import type { ControlSelectOption } from "../../../components/ha-control-select"; +import "../../../components/ha-control-slider"; +import { UNAVAILABLE } from "../../../data/entity"; +import { + computeFanSpeedCount, + computeFanSpeedIcon, + FanEntityFeature, + fanPercentageToSpeed, + FanSpeed, + fanSpeedToPercentage, + FAN_SPEEDS, + FAN_SPEED_COUNT_MAX_FOR_BUTTONS, +} from "../../../data/fan"; +import { HomeAssistant } from "../../../types"; +import { LovelaceTileFeature } from "../types"; +import { FanSpeedTileFeatureConfig } from "./types"; + +export const supportsFanSpeedTileFeature = (stateObj: HassEntity) => { + const domain = computeDomain(stateObj.entity_id); + return ( + domain === "fan" && supportsFeature(stateObj, FanEntityFeature.SET_SPEED) + ); +}; + +@customElement("hui-fan-speed-tile-feature") +class HuiFanSpeedTileFeature extends LitElement implements LovelaceTileFeature { + @property({ attribute: false }) public hass?: HomeAssistant; + + @property({ attribute: false }) public stateObj?: HassEntity; + + @state() private _config?: FanSpeedTileFeatureConfig; + + static getStubConfig(): FanSpeedTileFeatureConfig { + return { + type: "fan-speed", + }; + } + + public setConfig(config: FanSpeedTileFeatureConfig): void { + if (!config) { + throw new Error("Invalid configuration"); + } + this._config = config; + } + + private _localizeSpeed(speed: FanSpeed) { + if (speed === "on" || speed === "off") { + return computeStateDisplay( + this.hass!.localize, + this.stateObj!, + this.hass!.locale, + this.hass!.entities, + speed + ); + } + return ( + this.hass!.localize(`ui.dialogs.more_info_control.fan.speed.${speed}`) || + speed + ); + } + + protected render() { + if ( + !this._config || + !this.hass || + !this.stateObj || + !supportsFanSpeedTileFeature(this.stateObj) + ) { + return nothing; + } + + const speedCount = computeFanSpeedCount(this.stateObj); + + if (speedCount <= FAN_SPEED_COUNT_MAX_FOR_BUTTONS) { + const options = FAN_SPEEDS[speedCount]!.map( + (speed) => ({ + value: speed, + label: this._localizeSpeed(speed), + path: computeFanSpeedIcon(this.stateObj!, speed), + }) + ); + + const speed = fanPercentageToSpeed( + this.stateObj, + this.stateObj.attributes.percentage ?? 0 + ); + + return html` +
    + + +
    + `; + } + + const percentage = + this.stateObj.attributes.percentage != null + ? Math.max(Math.round(this.stateObj.attributes.percentage), 0) + : undefined; + + return html` +
    + +
    + `; + } + + private _speedValueChanged(ev: CustomEvent) { + const speed = (ev.detail as any).value as FanSpeed; + + const percentage = fanSpeedToPercentage(this.stateObj!, speed); + + this.hass!.callService("fan", "set_percentage", { + entity_id: this.stateObj!.entity_id, + percentage: percentage, + }); + } + + private _valueChanged(ev: CustomEvent) { + const value = (ev.detail as any).value; + if (isNaN(value)) return; + + this.hass!.callService("fan", "set_percentage", { + entity_id: this.stateObj!.entity_id, + percentage: value, + }); + } + + static get styles() { + return css` + ha-control-slider { + --control-slider-color: var(--tile-color); + --control-slider-background: var(--tile-color); + --control-slider-background-opacity: 0.2; + --control-slider-thickness: 40px; + --control-slider-border-radius: 10px; + } + ha-control-select { + --control-select-color: var(--tile-color); + --control-select-background: var(--tile-color); + --control-select-background-opacity: 0.2; + --control-select-padding: 0; + --control-select-thickness: 40px; + --control-select-border-radius: 10px; + --control-select-button-border-radius: 10px; + } + .container { + padding: 0 12px 12px 12px; + width: auto; + } + `; + } +} + +declare global { + interface HTMLElementTagNameMap { + "hui-fan-speed-tile-feature": HuiFanSpeedTileFeature; + } +} diff --git a/src/panels/lovelace/tile-features/hui-light-brightness-tile-feature.ts b/src/panels/lovelace/tile-features/hui-light-brightness-tile-feature.ts index f73261a41c..01d1e763cf 100644 --- a/src/panels/lovelace/tile-features/hui-light-brightness-tile-feature.ts +++ b/src/panels/lovelace/tile-features/hui-light-brightness-tile-feature.ts @@ -1,9 +1,9 @@ import { HassEntity } from "home-assistant-js-websocket"; -import { css, html, LitElement, TemplateResult } from "lit"; +import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { computeDomain } from "../../../common/entity/compute_domain"; import { stateActive } from "../../../common/entity/state_active"; -import "../../../components/tile/ha-tile-slider"; +import "../../../components/ha-control-slider"; import { UNAVAILABLE } from "../../../data/entity"; import { lightSupportsBrightness } from "../../../data/light"; import { HomeAssistant } from "../../../types"; @@ -39,14 +39,14 @@ class HuiLightBrightnessTileFeature this._config = config; } - protected render(): TemplateResult | null { + protected render() { if ( !this._config || !this.hass || !this.stateObj || !supportsLightBrightnessTileFeature(this.stateObj) ) { - return null; + return nothing; } const position = @@ -59,7 +59,7 @@ class HuiLightBrightnessTileFeature return html`
    - + >
    `; } @@ -84,10 +84,12 @@ class HuiLightBrightnessTileFeature static get styles() { return css` - ha-tile-slider { - --tile-slider-color: var(--tile-color); - --tile-slider-background: var(--tile-color); - --tile-slider-background-opacity: 0.2; + ha-control-slider { + --control-slider-color: var(--tile-color); + --control-slider-background: var(--tile-color); + --control-slider-background-opacity: 0.2; + --control-slider-thickness: 40px; + --control-slider-border-radius: 10px; } .container { padding: 0 12px 12px 12px; diff --git a/src/panels/lovelace/tile-features/hui-vacuum-commands-tile-feature.ts b/src/panels/lovelace/tile-features/hui-vacuum-commands-tile-feature.ts index 4b1993fa2f..3c4119511c 100644 --- a/src/panels/lovelace/tile-features/hui-vacuum-commands-tile-feature.ts +++ b/src/panels/lovelace/tile-features/hui-vacuum-commands-tile-feature.ts @@ -8,7 +8,7 @@ import { mdiTargetVariant, } from "@mdi/js"; import { HassEntity } from "home-assistant-js-websocket"; -import { css, html, LitElement, TemplateResult } from "lit"; +import { css, html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { computeDomain } from "../../../common/entity/compute_domain"; import { supportsFeature } from "../../../common/entity/supports-feature"; @@ -169,14 +169,14 @@ class HuiVacuumCommandTileFeature }); } - protected render(): TemplateResult | null { + protected render() { if ( !this._config || !this.hass || !this.stateObj || !supportsVacuumCommandTileFeature(this.stateObj) ) { - return null; + return nothing; } const stateObj = this.stateObj as VacuumEntity; diff --git a/src/panels/lovelace/tile-features/types.ts b/src/panels/lovelace/tile-features/types.ts index b741503969..03128a5efb 100644 --- a/src/panels/lovelace/tile-features/types.ts +++ b/src/panels/lovelace/tile-features/types.ts @@ -1,3 +1,5 @@ +import { AlarmMode } from "../../../data/alarm_control_panel"; + export interface CoverOpenCloseTileFeatureConfig { type: "cover-open-close"; } @@ -10,6 +12,15 @@ export interface LightBrightnessTileFeatureConfig { type: "light-brightness"; } +export interface FanSpeedTileFeatureConfig { + type: "fan-speed"; +} + +export interface AlarmModesFileFeatureConfig { + type: "alarm-modes"; + modes?: AlarmMode[]; +} + export const VACUUM_COMMANDS = [ "start_pause", "stop", @@ -29,7 +40,9 @@ export type LovelaceTileFeatureConfig = | CoverOpenCloseTileFeatureConfig | CoverTiltTileFeatureConfig | LightBrightnessTileFeatureConfig - | VacuumCommandsTileFeatureConfig; + | VacuumCommandsTileFeatureConfig + | FanSpeedTileFeatureConfig + | AlarmModesFileFeatureConfig; export type LovelaceTileFeatureContext = { entity_id?: string; diff --git a/src/panels/map/ha-panel-map.ts b/src/panels/map/ha-panel-map.ts index 57a055c379..5fb3ecd83e 100644 --- a/src/panels/map/ha-panel-map.ts +++ b/src/panels/map/ha-panel-map.ts @@ -1,13 +1,12 @@ import { mdiPencil } from "@mdi/js"; -import "@polymer/app-layout/app-toolbar/app-toolbar"; import { css, CSSResultGroup, html, LitElement, PropertyValues } from "lit"; import { customElement, property } from "lit/decorators"; import { computeStateDomain } from "../../common/entity/compute_state_domain"; import { navigate } from "../../common/navigate"; -import "../../components/ha-menu-button"; import "../../components/ha-icon-button"; +import "../../components/ha-menu-button"; +import "../../components/ha-top-app-bar-fixed"; import "../../components/map/ha-map"; -import "../../layouts/ha-app-layout"; import { haStyle } from "../../resources/styles"; import { HomeAssistant } from "../../types"; @@ -21,25 +20,28 @@ class HaPanelMap extends LitElement { protected render() { return html` - - - - -
    ${this.hass.localize("panel.map")}
    - ${!__DEMO__ && this.hass.user?.is_admin - ? html` ` - : ""} -
    -
    - -
    + + +
    ${this.hass.localize("panel.map")}
    + ${!__DEMO__ && this.hass.user?.is_admin + ? html` ` + : ""} + +
    `; } diff --git a/src/panels/media-browser/ha-panel-media-browser.ts b/src/panels/media-browser/ha-panel-media-browser.ts index 2de0f6c4de..cab9c9826d 100644 --- a/src/panels/media-browser/ha-panel-media-browser.ts +++ b/src/panels/media-browser/ha-panel-media-browser.ts @@ -1,6 +1,4 @@ import { mdiArrowLeft } from "@mdi/js"; -import "@polymer/app-layout/app-header/app-header"; -import "@polymer/app-layout/app-toolbar/app-toolbar"; import "@material/mwc-button"; import { css, @@ -33,7 +31,6 @@ import { ResolvedMediaSource, resolveMediaSource, } from "../../data/media_source"; -import "../../layouts/ha-app-layout"; import { haStyle } from "../../resources/styles"; import type { HomeAssistant, Route } from "../../types"; import "./ha-bar-media-player"; @@ -44,6 +41,7 @@ import { getEntityIdFromCameraMediaSource, isCameraMediaSource, } from "../../data/camera"; +import "../../components/ha-top-app-bar-fixed"; const createMediaPanelUrl = (entityId: string, items: MediaPlayerItemId[]) => { let path = `/media-browser/${entityId}`; @@ -82,36 +80,35 @@ class PanelMediaBrowser extends LitElement { protected render(): TemplateResult { return html` - - - - ${this._navigateIds.length > 1 - ? html` - - ` - : html` - - `} -
    - ${!this._currentItem - ? this.hass.localize( - "ui.components.media-browser.media-player-browser" - ) - : this._currentItem.title} -
    - -
    -
    + + ${this._navigateIds.length > 1 + ? html` + + ` + : html` + + `} +
    + ${!this._currentItem + ? this.hass.localize( + "ui.components.media-browser.media-player-browser" + ) + : this._currentItem.title} +
    + -
    + diff --git a/src/panels/profile/ha-mfa-modules-card.ts b/src/panels/profile/ha-mfa-modules-card.ts index 620f1f5ed1..c6fed2b149 100644 --- a/src/panels/profile/ha-mfa-modules-card.ts +++ b/src/panels/profile/ha-mfa-modules-card.ts @@ -1,6 +1,4 @@ import "@material/mwc-button"; -import "@polymer/paper-item/paper-item"; -import "@polymer/paper-item/paper-item-body"; import { css, CSSResultGroup, html, LitElement, TemplateResult } from "lit"; import { customElement, property } from "lit/decorators"; import { fireEvent } from "../../common/dom/fire_event"; @@ -19,11 +17,9 @@ class HaMfaModulesCard extends LitElement { return html` ${this.mfaModules.map( - (module) => html` - -
    ${module.name}
    -
    ${module.id}
    -
    + (module) => html` + ${module.name} + ${module.id} ${module.enabled ? html`${this.hass.localize( @@ -35,7 +31,7 @@ class HaMfaModulesCard extends LitElement { "ui.panel.profile.mfa.enable" )}`} -
    ` +
    ` )} `; @@ -46,6 +42,9 @@ class HaMfaModulesCard extends LitElement { mwc-button { margin-right: -0.57em; } + ha-list-item { + --mdc-list-item-meta-size: auto; + } `; } diff --git a/src/panels/profile/ha-panel-profile.ts b/src/panels/profile/ha-panel-profile.ts index 2d709dbc61..bc4afb7721 100644 --- a/src/panels/profile/ha-panel-profile.ts +++ b/src/panels/profile/ha-panel-profile.ts @@ -1,6 +1,4 @@ import "@material/mwc-button"; -import "@polymer/app-layout/app-header/app-header"; -import "@polymer/app-layout/app-toolbar/app-toolbar"; import { UnsubscribeFunc } from "home-assistant-js-websocket"; import { css, CSSResultGroup, html, LitElement, TemplateResult } from "lit"; import { customElement, property, state } from "lit/decorators"; @@ -14,7 +12,6 @@ import { } from "../../data/frontend"; import { RefreshToken } from "../../data/refresh_token"; import { showConfirmationDialog } from "../../dialogs/generic/show-dialog-box"; -import "../../layouts/ha-app-layout"; import { haStyle } from "../../resources/styles"; import { HomeAssistant } from "../../types"; import "./ha-advanced-mode-row"; @@ -33,6 +30,7 @@ import "./ha-push-notifications-row"; import "./ha-refresh-tokens-card"; import "./ha-set-suspend-row"; import "./ha-set-vibrate-row"; +import "../../components/ha-top-app-bar-fixed"; @customElement("ha-panel-profile") class HaPanelProfile extends LitElement { @@ -67,16 +65,13 @@ class HaPanelProfile extends LitElement { protected render(): TemplateResult { return html` - - - - -
    ${this.hass.localize("panel.profile")}
    -
    -
    + + +
    ${this.hass.localize("panel.profile")}
    @@ -205,7 +200,7 @@ class HaPanelProfile extends LitElement { @hass-refresh-tokens=${this._refreshRefreshTokens} >
    -
    + `; } diff --git a/src/panels/profile/ha-pick-language-row.ts b/src/panels/profile/ha-pick-language-row.ts index c4fe06bb18..c2e7ba86f6 100644 --- a/src/panels/profile/ha-pick-language-row.ts +++ b/src/panels/profile/ha-pick-language-row.ts @@ -27,7 +27,7 @@ export class HaPickLanguageRow extends LitElement { > ${this.hass.localize("ui.panel.profile.language.link_promo")}
    ${token.is_current - ? html` + ? html` ${this.hass.localize( "ui.panel.profile.refresh_tokens.current_token_tooltip" )} - ` + ` : ""} - - - -
    ${this.hass.localize("panel.shopping_list")}
    - ${this._conversation(this.hass.config.components) - ? html` - - ` - : ""} -
    -
    + + +
    ${this.hass.localize("panel.shopping_list")}
    + ${this._conversation(this.hass.config.components) + ? html` + + ` + : ""}
    ${this._card}
    - +
    `; } @@ -87,21 +83,6 @@ class PanelShoppingList extends LitElement { return [ haStyle, css` - :host { - display: block; - height: 100%; - } - app-header { - --mdc-theme-primary: var(--app-header-text-color); - } - :host([narrow]) app-toolbar mwc-button { - width: 65px; - } - .heading { - overflow: hidden; - white-space: nowrap; - margin-top: 4px; - } #columns { display: flex; flex-direction: row; diff --git a/src/resources/array.flat.polyfill.ts b/src/resources/array.flat.polyfill.ts index ad36844222..a85315334b 100644 --- a/src/resources/array.flat.polyfill.ts +++ b/src/resources/array.flat.polyfill.ts @@ -1,5 +1,4 @@ /* eslint-disable no-extend-native */ -// @ts-expect-error if (!Array.prototype.flat) { Object.defineProperty(Array.prototype, "flat", { configurable: true, diff --git a/src/resources/ha-style.ts b/src/resources/ha-style.ts index 0628b3dc59..cab06c3858 100644 --- a/src/resources/ha-style.ts +++ b/src/resources/ha-style.ts @@ -1,4 +1,3 @@ -import "@polymer/paper-styles/paper-styles"; import "@polymer/polymer/lib/elements/custom-style"; import { derivedStyles } from "./styles"; @@ -96,8 +95,8 @@ documentContainer.innerHTML = ` --disabled-color: #bdbdbd; --red-color: #f44336; --pink-color: #e91e63; - --purple-color: #9c27b0; - --deep-purple-color: #673ab7; + --purple-color: #926bc7; + --deep-purple-color: #6e41ab; --indigo-color: #3f51b5; --blue-color: #2196f3; --light-blue-color: #03a9f4; @@ -201,6 +200,214 @@ documentContainer.innerHTML = ` --material-caption-font-size: 0.75rem; --material-button-font-size: 0.875rem; + /* Paper shadow */ + --shadow-transition: { + transition: box-shadow 0.28s cubic-bezier(0.4, 0, 0.2, 1); + }; + + --shadow-none: { + box-shadow: none; + }; + + /* from http://codepen.io/shyndman/pen/c5394ddf2e8b2a5c9185904b57421cdb */ + + --shadow-elevation-2dp: { + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), + 0 1px 5px 0 rgba(0, 0, 0, 0.12), + 0 3px 1px -2px rgba(0, 0, 0, 0.2); + }; + + --shadow-elevation-3dp: { + box-shadow: 0 3px 4px 0 rgba(0, 0, 0, 0.14), + 0 1px 8px 0 rgba(0, 0, 0, 0.12), + 0 3px 3px -2px rgba(0, 0, 0, 0.4); + }; + + --shadow-elevation-4dp: { + box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), + 0 1px 10px 0 rgba(0, 0, 0, 0.12), + 0 2px 4px -1px rgba(0, 0, 0, 0.4); + }; + + --shadow-elevation-6dp: { + box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.14), + 0 1px 18px 0 rgba(0, 0, 0, 0.12), + 0 3px 5px -1px rgba(0, 0, 0, 0.4); + }; + + --shadow-elevation-8dp: { + box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.14), + 0 3px 14px 2px rgba(0, 0, 0, 0.12), + 0 5px 5px -3px rgba(0, 0, 0, 0.4); + }; + + --shadow-elevation-12dp: { + box-shadow: 0 12px 16px 1px rgba(0, 0, 0, 0.14), + 0 4px 22px 3px rgba(0, 0, 0, 0.12), + 0 6px 7px -4px rgba(0, 0, 0, 0.4); + }; + + --shadow-elevation-16dp: { + box-shadow: 0 16px 24px 2px rgba(0, 0, 0, 0.14), + 0 6px 30px 5px rgba(0, 0, 0, 0.12), + 0 8px 10px -5px rgba(0, 0, 0, 0.4); + }; + + --shadow-elevation-24dp: { + box-shadow: 0 24px 38px 3px rgba(0, 0, 0, 0.14), + 0 9px 46px 8px rgba(0, 0, 0, 0.12), + 0 11px 15px -7px rgba(0, 0, 0, 0.4); + }; + + /* Paper typography Styles */ + --paper-font-common-base: { + font-family: 'Roboto', 'Noto', sans-serif; + -webkit-font-smoothing: antialiased; + }; + + --paper-font-common-code: { + font-family: 'Roboto Mono', 'Consolas', 'Menlo', monospace; + -webkit-font-smoothing: antialiased; + }; + + --paper-font-common-expensive-kerning: { + text-rendering: optimizeLegibility; + }; + + --paper-font-common-nowrap: { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + }; + + /* Material Font Styles */ + + --paper-font-display4: { + @apply --paper-font-common-base; + @apply --paper-font-common-nowrap; + + font-size: 112px; + font-weight: 300; + letter-spacing: -.044em; + line-height: 120px; + }; + + --paper-font-display3: { + @apply --paper-font-common-base; + @apply --paper-font-common-nowrap; + + font-size: 56px; + font-weight: 400; + letter-spacing: -.026em; + line-height: 60px; + }; + + --paper-font-display2: { + @apply --paper-font-common-base; + + font-size: 45px; + font-weight: 400; + letter-spacing: -.018em; + line-height: 48px; + }; + + --paper-font-display1: { + @apply --paper-font-common-base; + + font-size: 34px; + font-weight: 400; + letter-spacing: -.01em; + line-height: 40px; + }; + + --paper-font-headline: { + @apply --paper-font-common-base; + + font-size: 24px; + font-weight: 400; + letter-spacing: -.012em; + line-height: 32px; + }; + + --paper-font-title: { + @apply --paper-font-common-base; + @apply --paper-font-common-nowrap; + + font-size: 20px; + font-weight: 500; + line-height: 28px; + }; + + --paper-font-subhead: { + @apply --paper-font-common-base; + + font-size: 16px; + font-weight: 400; + line-height: 24px; + }; + + --paper-font-body2: { + @apply --paper-font-common-base; + + font-size: 14px; + font-weight: 500; + line-height: 24px; + }; + + --paper-font-body1: { + @apply --paper-font-common-base; + + font-size: 14px; + font-weight: 400; + line-height: 20px; + }; + + --paper-font-caption: { + @apply --paper-font-common-base; + @apply --paper-font-common-nowrap; + + font-size: 12px; + font-weight: 400; + letter-spacing: 0.011em; + line-height: 20px; + }; + + --paper-font-menu: { + @apply --paper-font-common-base; + @apply --paper-font-common-nowrap; + + font-size: 13px; + font-weight: 500; + line-height: 24px; + }; + + --paper-font-button: { + @apply --paper-font-common-base; + @apply --paper-font-common-nowrap; + + font-size: 14px; + font-weight: 500; + letter-spacing: 0.018em; + line-height: 24px; + text-transform: uppercase; + }; + + --paper-font-code2: { + @apply --paper-font-common-code; + + font-size: 14px; + font-weight: 700; + line-height: 20px; + }; + + --paper-font-code1: { + @apply --paper-font-common-code; + + font-size: 14px; + font-weight: 500; + line-height: 20px; + }; + ${Object.entries(derivedStyles) .map(([key, value]) => `--${key}: ${value};`) .join("")} diff --git a/src/resources/styles.ts b/src/resources/styles.ts index 852cb41943..e94aedc60c 100644 --- a/src/resources/styles.ts +++ b/src/resources/styles.ts @@ -175,24 +175,6 @@ export const haStyle = css` line-height: var(--paper-font-body1_-_line-height); } - app-header-layout, - ha-app-layout { - background-color: var(--primary-background-color); - } - - app-header, - app-toolbar { - background-color: var(--app-header-background-color); - font-weight: 400; - color: var(--app-header-text-color, white); - } - - app-toolbar { - height: var(--header-height); - border-bottom: var(--app-header-border-bottom); - box-sizing: border-box; - } - app-header div[sticky] { height: 48px; } @@ -342,7 +324,8 @@ export const haStyleDialog = css` --ha-dialog-border-radius: 0px; } } - mwc-button.warning { + mwc-button.warning, + ha-button.warning { --mdc-theme-primary: var(--error-color); } .error { diff --git a/src/state/context-mixin.ts b/src/state/context-mixin.ts new file mode 100644 index 0000000000..9b8e2a8bb7 --- /dev/null +++ b/src/state/context-mixin.ts @@ -0,0 +1,93 @@ +import { ContextProvider } from "@lit-labs/context"; +import { + areasContext, + configContext, + devicesContext, + entitiesContext, + localeContext, + localizeContext, + panelsContext, + selectedThemeContext, + statesContext, + themesContext, + userContext, + userDataContext, +} from "../data/context"; +import { Constructor, HomeAssistant } from "../types"; +import { HassBaseEl } from "./hass-base-mixin"; + +export const contextMixin = >( + superClass: T +) => + class extends superClass { + private __contextProviders: Record< + string, + ContextProvider | undefined + > = { + states: new ContextProvider(this, { + context: statesContext, + initialValue: this.hass ? this.hass.states : this._pendingHass.states, + }), + entities: new ContextProvider(this, { + context: entitiesContext, + initialValue: this.hass + ? this.hass.entities + : this._pendingHass.entities, + }), + devices: new ContextProvider(this, { + context: devicesContext, + initialValue: this.hass ? this.hass.devices : this._pendingHass.devices, + }), + areas: new ContextProvider(this, { + context: areasContext, + initialValue: this.hass ? this.hass.areas : this._pendingHass.areas, + }), + localize: new ContextProvider(this, { + context: localizeContext, + initialValue: this.hass + ? this.hass.localize + : this._pendingHass.localize, + }), + locale: new ContextProvider(this, { + context: localeContext, + initialValue: this.hass ? this.hass.locale : this._pendingHass.locale, + }), + config: new ContextProvider(this, { + context: configContext, + initialValue: this.hass ? this.hass.config : this._pendingHass.config, + }), + themes: new ContextProvider(this, { + context: themesContext, + initialValue: this.hass ? this.hass.themes : this._pendingHass.themes, + }), + selectedTheme: new ContextProvider(this, { + context: selectedThemeContext, + initialValue: this.hass + ? this.hass.selectedTheme + : this._pendingHass.selectedTheme, + }), + user: new ContextProvider(this, { + context: userContext, + initialValue: this.hass ? this.hass.user : this._pendingHass.user, + }), + userData: new ContextProvider(this, { + context: userDataContext, + initialValue: this.hass + ? this.hass.userData + : this._pendingHass.userData, + }), + panels: new ContextProvider(this, { + context: panelsContext, + initialValue: this.hass ? this.hass.panels : this._pendingHass.panels, + }), + }; + + protected _updateHass(obj: Partial) { + super._updateHass(obj); + for (const [key, value] of Object.entries(obj)) { + if (key in this.__contextProviders) { + this.__contextProviders[key]!.setValue(value); + } + } + } + }; diff --git a/src/state/hass-element.ts b/src/state/hass-element.ts index 7a24238c23..e6e5b9f67a 100644 --- a/src/state/hass-element.ts +++ b/src/state/hass-element.ts @@ -6,6 +6,7 @@ import DisconnectToastMixin from "./disconnect-toast-mixin"; import { hapticMixin } from "./haptic-mixin"; import { HassBaseEl } from "./hass-base-mixin"; import { loggingMixin } from "./logging-mixin"; +import { contextMixin } from "./context-mixin"; import MoreInfoMixin from "./more-info-mixin"; import NotificationMixin from "./notification-mixin"; import { panelTitleMixin } from "./panel-title-mixin"; @@ -31,4 +32,5 @@ export class HassElement extends ext(HassBaseEl, [ hapticMixin, panelTitleMixin, loggingMixin, + contextMixin, ]) {} diff --git a/src/translations/en.json b/src/translations/en.json index 019466e5c9..f72f6330e7 100755 --- a/src/translations/en.json +++ b/src/translations/en.json @@ -491,6 +491,9 @@ "no_history_found": "No state history found.", "error": "Unable to load history" }, + "map": { + "error": "Unable to load map" + }, "statistics_charts": { "loading_statistics": "Loading statistics…", "no_statistics_found": "No statistics found.", @@ -891,7 +894,11 @@ "close_cover": "Close cover", "open_tilt_cover": "Open cover tilt", "close_tilt_cover": "Close cover tilt", - "stop_cover": "Stop cover" + "stop_cover": "Stop cover", + "switch_mode": { + "button": "Switch to button mode", + "position": "Switch to position mode" + } }, "zone": { "graph_unit": "People home" @@ -899,6 +906,7 @@ "light": { "toggle": "Toggle", "change_color": "Change color", + "set_white": "Set white", "select_effect": "Select effect", "brightness": "Brightness", "color_picker": { @@ -908,6 +916,31 @@ "color_temp": "Temperature" } } + }, + "fan": { + "set_forward_direction": "Set forward direction", + "set_reverse_direction": "Set reverse direction", + "turn_on_oscillating": "Turn on oscillating", + "turn_off_oscillating": "Turn off oscillating", + "speed": { + "low": "Low", + "medium": "Medium", + "high": "High" + } + }, + "alarm_control_panel": { + "modes": { + "away": "Away", + "home": "Home", + "night": "Night", + "vacation": "Vacation", + "custom_bypass": "Custom", + "disarmed": "Disarmed" + }, + "disarm_title": "Disarm", + "disarm_action": "Disarm", + "arm_title": "Arm", + "arm_action": "Arm" } }, "entity_registry": { @@ -1267,6 +1300,10 @@ "release_items": "This includes beta releases for:", "view_documentation": "View documentation", "join": "Join" + }, + "enter_code": { + "title": "Enter code", + "input_label": "Code" } }, "duration": { @@ -2000,7 +2037,7 @@ "enable": "[%key:ui::common::enable%]", "disable": "[%key:ui::common::disable%]", "disabled": "Automation is disabled", - "read_only": "This automation can not be edited from the UI, because it is not stored in the automations.yaml file, or doesn't have an ID.", + "read_only": "This automation cannot be edited from the UI, because it is not stored in the automations.yaml file, or doesn't have an ID.", "migrate": "Migrate", "duplicate": "[%key:ui::common::duplicate%]", "run": "[%key:ui::panel::config::automation::editor::actions::run%]", @@ -2491,7 +2528,7 @@ "introduction": "Use scripts to run a sequence of actions.", "show_trace": "[%key:ui::panel::config::automation::editor::show_trace%]", "show_info": "[%key:ui::panel::config::automation::editor::show_info%]", - "read_only": "This script can not be edited from the UI, because it is not stored in the ''scripts.yaml'' file.", + "read_only": "This script cannot be edited from the UI, because it is not stored in the ''scripts.yaml'' file.", "migrate": "Migrate", "duplicate": "[%key:ui::common::duplicate%]", "header": "Script: {name}", @@ -3146,7 +3183,7 @@ "submit": "Submit", "next": "Next", "found_following_devices": "We found the following devices", - "yaml_only_title": "This device can not be added from the UI", + "yaml_only_title": "This device cannot be added from the UI", "yaml_only": "You can add this device by adding it to your ''configuration.yaml''. See the documentation for more information.", "open_documentation": "Open documentation", "no_config_flow": "This integration does not support configuration via the UI. If you followed this link from the Home Assistant website, make sure you run the latest version of Home Assistant.", @@ -3292,10 +3329,18 @@ "my_network": "My network", "no_preferred_network": "You don't have a preferred network yet.", "add_open_thread_border_router": "Add an OpenThread border router", + "reset_border_router": "Reset border router", + "add_to_my_network": "Add to my network", + "no_routers_otbr_network": "No border routers where found, maybe the border router is not configured correctly. You can try to reset it to the factory settings.", "add_dataset_from_tlv": "Add dataset from TLV", "add_dataset": "Add Thread dataset", "add_dataset_label": "Operational dataset TLV", "add_dataset_button": "Add dataset", + "confirm_reset_border_router": "Reset border router?", + "confirm_reset_border_router_text": "This will reset the Home Assistant border router to its factory defaults and form a new Thread network. The old network may no longer be available, and any devices that were attached to this network may need to be recomissioned.", + "confirm_set_dataset_border_router": "Reconfigure border router?", + "confirm_set_dataset_border_router_text": "This will reconfigure the Home Assistant border router to use a different Thread network. The old network may no longer be available, and any devices that were attached to this network may need to be recomissioned.", + "otbr_config_failed": "Failed to configure the border router", "confirm_delete_dataset": "Delete {name} dataset?", "confirm_delete_dataset_text": "This network will be removed from Home Assistant.", "no_border_routers": "No border routers found", @@ -3753,7 +3798,28 @@ }, "analytics": { "caption": "Analytics", - "description": "Learn how to share data to improve Home Assistant" + "description": "Learn how to share data to improve Home Assistant", + "preferences": { + "base": { + "title": "Basic analytics", + "description": "This includes information about your system." + }, + "usage": { + "title": "Usage", + "description": "Details of what you use with Home Assistant" + }, + "statistics": { + "title": "Statistical data", + "description": "Counts containing total number of datapoints." + }, + "diagnostics": { + "title": "Diagnostics", + "description": "Share crash reports when unexpected errors occur." + } + }, + "need_base_enabled": "You need to enable basic analytics for this option to be available", + "learn_more": "How we process your data", + "intro": "Share anonymized information from your installation to help make Home Assistant better and help us convince manufacturers to add local control and privacy-focused features." }, "network": { "caption": "Network", @@ -4392,6 +4458,21 @@ "cover-tilt": { "label": "Cover tilt" }, + "fan-speed": { + "label": "Fan speed" + }, + "alarm-modes": { + "label": "Alarm modes", + "modes": "Modes", + "modes_list": { + "away": "[%key:ui::dialogs::more_info_control::alarm_control_panel::modes::away%]", + "home": "[%key:ui::dialogs::more_info_control::alarm_control_panel::modes::home%]", + "night": "[%key:ui::dialogs::more_info_control::alarm_control_panel::modes::night%]", + "vacation": "[%key:ui::dialogs::more_info_control::alarm_control_panel::modes::vacation%]", + "custom_bypass": "[%key:ui::dialogs::more_info_control::alarm_control_panel::modes::custom_bypass%]", + "disarmed": "[%key:ui::dialogs::more_info_control::alarm_control_panel::modes::disarmed%]" + } + }, "light-brightness": { "label": "Light brightness" }, @@ -5026,7 +5107,28 @@ "finish": "Finish" }, "analytics": { - "finish": "Next" + "finish": "Next", + "preferences": { + "base": { + "title": "[%key:ui::panel::config::analytics::preferences::base::title%]", + "description": "[%key:ui::panel::config::analytics::preferences::base::description%]" + }, + "usage": { + "title": "[%key:ui::panel::config::analytics::preferences::usage::title%]", + "description": "[%key:ui::panel::config::analytics::preferences::usage::description%]" + }, + "statistics": { + "title": "[%key:ui::panel::config::analytics::preferences::statistics::title%]", + "description": "[%key:ui::panel::config::analytics::preferences::statistics::description%]" + }, + "diagnostics": { + "title": "[%key:ui::panel::config::analytics::preferences::diagnostics::title%]", + "description": "[%key:ui::panel::config::analytics::preferences::diagnostics::description%]" + } + }, + "need_base_enabled": "[%key:ui::panel::config::analytics::need_base_enabled%]", + "learn_more": "[%key:ui::panel::config::analytics::learn_more%]", + "intro": "[%key:ui::panel::config::analytics::intro%]" }, "restore": { "description": "Alternatively you can restore from a previous backup.", @@ -5106,7 +5208,7 @@ "log": "Log" }, "configuration": { - "no_configuration": "This add-on does not expose configuration for you to mess with…", + "no_configuration": "This add-on has no configuration.", "audio": { "header": "Audio", "default": "Default", diff --git a/src/types/audio.d.ts b/src/types/audio.d.ts new file mode 100644 index 0000000000..cae4d4d0d5 --- /dev/null +++ b/src/types/audio.d.ts @@ -0,0 +1,23 @@ +interface AudioWorkletProcessor { + readonly port: MessagePort; + process( + inputs: Float32Array[][], + outputs: Float32Array[][], + parameters: Record + ): boolean; +} + +/* eslint-disable */ +declare var AudioWorkletProcessor: { + prototype: AudioWorkletProcessor; + new (options?: AudioWorkletNodeOptions): AudioWorkletProcessor; +}; + +declare function registerProcessor( + name: string, + processorCtor: (new ( + options?: AudioWorkletNodeOptions + ) => AudioWorkletProcessor) & { + parameterDescriptors?: AudioParamDescriptor[]; + } +); diff --git a/test/common/datetime/duration.ts b/test/common/datetime/duration.ts index 3e3a037451..32565316a3 100644 --- a/test/common/datetime/duration.ts +++ b/test/common/datetime/duration.ts @@ -4,7 +4,20 @@ import { formatDuration } from "../../../src/common/datetime/duration"; describe("formatDuration", () => { it("works", () => { + assert.strictEqual(formatDuration("0", "ms"), "0"); + assert.strictEqual(formatDuration("1", "ms"), "0.001"); + assert.strictEqual(formatDuration("10", "ms"), "0.010"); + assert.strictEqual(formatDuration("100", "ms"), "0.100"); + assert.strictEqual(formatDuration("1000", "ms"), "1"); + assert.strictEqual(formatDuration("1001", "ms"), "1.001"); + assert.strictEqual(formatDuration("65000", "ms"), "1:05"); + assert.strictEqual(formatDuration("3665000", "ms"), "1:01:05"); + assert.strictEqual(formatDuration("39665050", "ms"), "11:01:05"); + assert.strictEqual(formatDuration("932093000", "ms"), "258:54:53"); + assert.strictEqual(formatDuration("0", "s"), "0"); + assert.strictEqual(formatDuration("1", "s"), "1"); + assert.strictEqual(formatDuration("1.1", "s"), "1.100"); assert.strictEqual(formatDuration("65", "s"), "1:05"); assert.strictEqual(formatDuration("3665", "s"), "1:01:05"); assert.strictEqual(formatDuration("39665", "s"), "11:01:05"); diff --git a/test/common/datetime/milliseconds_to_duration_test.ts b/test/common/datetime/milliseconds_to_duration_test.ts new file mode 100644 index 0000000000..3d8089cd36 --- /dev/null +++ b/test/common/datetime/milliseconds_to_duration_test.ts @@ -0,0 +1,18 @@ +import { assert } from "chai"; + +import millisecondsToDuration from "../../../src/common/datetime/milliseconds_to_duration"; + +describe("millisecondsToDuration", () => { + it("works", () => { + assert.strictEqual(millisecondsToDuration(0), null); + assert.strictEqual(millisecondsToDuration(1), "0.001"); + assert.strictEqual(millisecondsToDuration(10), "0.010"); + assert.strictEqual(millisecondsToDuration(100), "0.100"); + assert.strictEqual(millisecondsToDuration(1000), "1"); + assert.strictEqual(millisecondsToDuration(1001), "1.001"); + assert.strictEqual(millisecondsToDuration(65000), "1:05"); + assert.strictEqual(millisecondsToDuration(3665000), "1:01:05"); + assert.strictEqual(millisecondsToDuration(39665050), "11:01:05"); + assert.strictEqual(millisecondsToDuration(932093000), "258:54:53"); + }); +}); diff --git a/test/common/entity/compute_state_display.ts b/test/common/entity/compute_state_display.ts index 26284d5af9..ff3a30a599 100644 --- a/test/common/entity/compute_state_display.ts +++ b/test/common/entity/compute_state_display.ts @@ -32,7 +32,7 @@ describe("computeStateDisplay", () => { }; assert.strictEqual( computeStateDisplay(localize, stateObj, localeData, {}), - "component.binary_sensor.state._.off" + "component.binary_sensor.entity_component._.state.off" ); }); @@ -154,7 +154,9 @@ describe("computeStateDisplay", () => { it("Localizes sensor value with component translation", () => { const altLocalize = (message, ...args) => { - if (message !== "component.sensor.state._.custom_state") { + if ( + message !== "component.sensor.entity_component._.state.custom_state" + ) { return ""; } return localize(message, ...args); @@ -166,7 +168,7 @@ describe("computeStateDisplay", () => { }; assert.strictEqual( computeStateDisplay(altLocalize, stateObj, localeData, {}), - "component.sensor.state._.custom_state" + "component.sensor.entity_component._.state.custom_state" ); }); diff --git a/test/common/string/format_number.ts b/test/common/string/format_number.ts index 2b62b4b44c..999928e38a 100644 --- a/test/common/string/format_number.ts +++ b/test/common/string/format_number.ts @@ -22,7 +22,7 @@ describe("formatNumber", () => { first_weekday: FirstWeekday.language, }; - // Node only ships with English support for `Intl`, so we can not test for other number formats here. + // Node only ships with English support for `Intl`, so we cannot test for other number formats here. it("Formats English numbers", () => { assert.strictEqual(formatNumber(1234.5, defaultLocale), "1,234.5"); }); diff --git a/test/panels/lovelace/editor/config-util.spec.ts b/test/panels/lovelace/editor/config-util.spec.ts index d30ac84fa3..f764813658 100644 --- a/test/panels/lovelace/editor/config-util.spec.ts +++ b/test/panels/lovelace/editor/config-util.spec.ts @@ -126,7 +126,7 @@ describe("moveCard", () => { assert.throws( result, Error, - "You can not move a card to the view it is in." + "You cannot move a card to the view it is in." ); }); }); diff --git a/webpack.config.js b/webpack.config.js index fdd9227cb9..fb6e7d6a2f 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -1,5 +1,12 @@ +/* eslint-disable import/extensions */ +/* eslint-disable @typescript-eslint/no-var-requires */ + const { createAppConfig } = require("./build-scripts/webpack.js"); -const { isProdBuild, isStatsBuild } = require("./build-scripts/env.js"); +const { + isProdBuild, + isStatsBuild, + isTestBuild, +} = require("./build-scripts/env.js"); // This file exists because we haven't migrated the stats script yet @@ -7,6 +14,7 @@ const configs = [ createAppConfig({ isProdBuild: isProdBuild(), isStatsBuild: isStatsBuild(), + isTestBuild: isTestBuild(), latestBuild: true, }), ]; @@ -16,6 +24,7 @@ if (isProdBuild && !isStatsBuild) { createAppConfig({ isProdBuild: isProdBuild(), isStatsBuild: isStatsBuild(), + isTestBuild: isTestBuild(), latestBuild: false, }) ); diff --git a/yarn.lock b/yarn.lock index 5cf5be494b..ffe0f51be5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -16,19 +16,19 @@ __metadata: linkType: hard "@apideck/better-ajv-errors@npm:^0.3.1": - version: 0.3.3 - resolution: "@apideck/better-ajv-errors@npm:0.3.3" + version: 0.3.6 + resolution: "@apideck/better-ajv-errors@npm:0.3.6" dependencies: json-schema: ^0.4.0 jsonpointer: ^5.0.0 leven: ^3.1.0 peerDependencies: ajv: ">=8" - checksum: 2d9ffaa422ebb47745d708b7aaa93daa68fe6598ee6ef790f541d6b70f73ed8bb3469e320d892ab69c9433464cb70f483f1a32d5142a48723266c52c75d72981 + checksum: b70ec9aae3b30ba1ac06948e585cd96aabbfe7ef6a1c27dc51e56c425f01290a58e9beb19ed95ee64da9f32df3e9276cd1ea58e78792741d74a519cb56955491 languageName: node linkType: hard -"@babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.12.11, @babel/code-frame@npm:^7.18.6, @babel/code-frame@npm:^7.5.5": +"@babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.12.11, @babel/code-frame@npm:^7.18.6": version: 7.18.6 resolution: "@babel/code-frame@npm:7.18.6" dependencies: @@ -38,44 +38,44 @@ __metadata: linkType: hard "@babel/compat-data@npm:^7.17.7, @babel/compat-data@npm:^7.20.1, @babel/compat-data@npm:^7.20.5": - version: 7.20.14 - resolution: "@babel/compat-data@npm:7.20.14" - checksum: 6c9efe36232094e4ad0b70d165587f21ca718e5d011f7a52a77a18502a7524e90e2855aa5a2e086395bcfd21bd2c7c99128dcd8d9fdffe94316b72acf5c66f2c + version: 7.21.0 + resolution: "@babel/compat-data@npm:7.21.0" + checksum: dbf632c532f9c75ba0be7d1dc9f6cd3582501af52f10a6b90415d634ec5878735bd46064c91673b10317af94d4cc99c4da5bd9d955978cdccb7905fc33291e4d languageName: node linkType: hard -"@babel/core@npm:7.21.0, @babel/core@npm:^7.11.1, @babel/core@npm:^7.12.3": - version: 7.21.0 - resolution: "@babel/core@npm:7.21.0" +"@babel/core@npm:7.21.3, @babel/core@npm:^7.11.1, @babel/core@npm:^7.12.3": + version: 7.21.3 + resolution: "@babel/core@npm:7.21.3" dependencies: "@ampproject/remapping": ^2.2.0 "@babel/code-frame": ^7.18.6 - "@babel/generator": ^7.21.0 + "@babel/generator": ^7.21.3 "@babel/helper-compilation-targets": ^7.20.7 - "@babel/helper-module-transforms": ^7.21.0 + "@babel/helper-module-transforms": ^7.21.2 "@babel/helpers": ^7.21.0 - "@babel/parser": ^7.21.0 + "@babel/parser": ^7.21.3 "@babel/template": ^7.20.7 - "@babel/traverse": ^7.21.0 - "@babel/types": ^7.21.0 + "@babel/traverse": ^7.21.3 + "@babel/types": ^7.21.3 convert-source-map: ^1.7.0 debug: ^4.1.0 gensync: ^1.0.0-beta.2 json5: ^2.2.2 semver: ^6.3.0 - checksum: 357f4dd3638861ceebf6d95ff49ad8b902065ee8b7b352621deed5666c2a6d702a48ca7254dba23ecae2a0afb67d20f90db7dd645c3b75e35e72ad9776c671aa + checksum: bef25fbea96f461bf79bd1d0e4f0cdce679fd5ada464a89c1141ddba59ae1adfdbb23e04440c266ed525712d33d5ffd818cd8b0c25b1dee0e648d5559516153a languageName: node linkType: hard -"@babel/generator@npm:^7.21.0": - version: 7.21.1 - resolution: "@babel/generator@npm:7.21.1" +"@babel/generator@npm:^7.21.3": + version: 7.21.3 + resolution: "@babel/generator@npm:7.21.3" dependencies: - "@babel/types": ^7.21.0 + "@babel/types": ^7.21.3 "@jridgewell/gen-mapping": ^0.3.2 "@jridgewell/trace-mapping": ^0.3.17 jsesc: ^2.5.1 - checksum: 69085a211ff91a7a608ee3f86e6fcb9cf5e724b756d792a713b0c328a671cd3e423e1ef1b12533f366baba0616caffe0a7ba9d328727eab484de5961badbef00 + checksum: be6bb5a32a0273260b91210d4137b7b5da148a2db8dd324654275cb0af865ae59de5e1536e93ac83423b2586415059e1c24cf94293026755cf995757238da749 languageName: node linkType: hard @@ -131,15 +131,15 @@ __metadata: languageName: node linkType: hard -"@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.19.0": - version: 7.19.0 - resolution: "@babel/helper-create-regexp-features-plugin@npm:7.19.0" +"@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.20.5": + version: 7.21.0 + resolution: "@babel/helper-create-regexp-features-plugin@npm:7.21.0" dependencies: "@babel/helper-annotate-as-pure": ^7.18.6 - regexpu-core: ^5.1.0 + regexpu-core: ^5.3.1 peerDependencies: "@babel/core": ^7.0.0 - checksum: 811cc90afe9fc25a74ed37fc0c1361a4a91b0b940235dd3958e3f03b366d40a903b40fc93b51bcb93be774aba573219f8f215664bea1d1301f58797ca6854f3f + checksum: 63a6396a4e9444edc7e97617845583ea5cf059573d0b4cc566869f38576d543e37fde0edfcc21d6dfb7962ed241e909561714dc41c5213198bac04e0983b04f2 languageName: node linkType: hard @@ -212,9 +212,9 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.18.6, @babel/helper-module-transforms@npm:^7.19.6, @babel/helper-module-transforms@npm:^7.21.0": - version: 7.21.0 - resolution: "@babel/helper-module-transforms@npm:7.21.0" +"@babel/helper-module-transforms@npm:^7.18.6, @babel/helper-module-transforms@npm:^7.20.11, @babel/helper-module-transforms@npm:^7.21.2": + version: 7.21.2 + resolution: "@babel/helper-module-transforms@npm:7.21.2" dependencies: "@babel/helper-environment-visitor": ^7.18.9 "@babel/helper-module-imports": ^7.18.6 @@ -222,9 +222,9 @@ __metadata: "@babel/helper-split-export-declaration": ^7.18.6 "@babel/helper-validator-identifier": ^7.19.1 "@babel/template": ^7.20.7 - "@babel/traverse": ^7.21.0 - "@babel/types": ^7.21.0 - checksum: bd92d0b73c12dc2f37be906954c58cc3fbec74ba243731e1aa223063b422eef6b961ca7fe19737a073be18db298e1385d370df2e5781646b8c09ecebd7c847de + "@babel/traverse": ^7.21.2 + "@babel/types": ^7.21.2 + checksum: 8a1c129a4f90bdf97d8b6e7861732c9580f48f877aaaafbc376ce2482febebcb8daaa1de8bc91676d12886487603f8c62a44f9e90ee76d6cac7f9225b26a49e1 languageName: node linkType: hard @@ -244,7 +244,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-remap-async-to-generator@npm:^7.18.6, @babel/helper-remap-async-to-generator@npm:^7.18.9": +"@babel/helper-remap-async-to-generator@npm:^7.18.9": version: 7.18.9 resolution: "@babel/helper-remap-async-to-generator@npm:7.18.9" dependencies: @@ -258,7 +258,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-replace-supers@npm:^7.18.6, @babel/helper-replace-supers@npm:^7.19.1, @babel/helper-replace-supers@npm:^7.20.7": +"@babel/helper-replace-supers@npm:^7.18.6, @babel/helper-replace-supers@npm:^7.20.7": version: 7.20.7 resolution: "@babel/helper-replace-supers@npm:7.20.7" dependencies: @@ -272,7 +272,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-simple-access@npm:^7.19.4, @babel/helper-simple-access@npm:^7.20.2": +"@babel/helper-simple-access@npm:^7.20.2": version: 7.20.2 resolution: "@babel/helper-simple-access@npm:7.20.2" dependencies: @@ -281,7 +281,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-skip-transparent-expression-wrappers@npm:^7.18.9, @babel/helper-skip-transparent-expression-wrappers@npm:^7.20.0": +"@babel/helper-skip-transparent-expression-wrappers@npm:^7.20.0": version: 7.20.0 resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.20.0" dependencies: @@ -321,14 +321,14 @@ __metadata: linkType: hard "@babel/helper-wrap-function@npm:^7.18.9": - version: 7.19.0 - resolution: "@babel/helper-wrap-function@npm:7.19.0" + version: 7.20.5 + resolution: "@babel/helper-wrap-function@npm:7.20.5" dependencies: "@babel/helper-function-name": ^7.19.0 "@babel/template": ^7.18.10 - "@babel/traverse": ^7.19.0 - "@babel/types": ^7.19.0 - checksum: 2453a6b134f12cc779179188c4358a66252c29b634a8195c0cf626e17f9806c3c4c40e159cd8056c2ec82b69b9056a088014fa43d6ccc1aca67da8d9605da8fd + "@babel/traverse": ^7.20.5 + "@babel/types": ^7.20.5 + checksum: 11a6fc28334368a193a9cb3ad16f29cd7603bab958433efc82ebe59fa6556c227faa24f07ce43983f7a85df826f71d441638442c4315e90a554fe0a70ca5005b languageName: node linkType: hard @@ -354,12 +354,12 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.18.4, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.21.0": - version: 7.21.1 - resolution: "@babel/parser@npm:7.21.1" +"@babel/parser@npm:^7.18.4, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.21.3": + version: 7.21.3 + resolution: "@babel/parser@npm:7.21.3" bin: parser: ./bin/babel-parser.js - checksum: a564cff6dec4201a611d1f2ae5af8d7436ce80550e75a77ee72dca6b094df6188b5a4ccfae6a98c85991b56a51e6c48159e466cc5a374c7a37af706fcb5a6bc2 + checksum: a71e6456a1260c2a943736b56cc0acdf5f2a53c6c79e545f56618967e51f9b710d1d3359264e7c979313a7153741b1d95ad8860834cc2ab4ce4f428b13cc07be languageName: node linkType: hard @@ -375,15 +375,15 @@ __metadata: linkType: hard "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.18.9": - version: 7.18.9 - resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.18.9" + version: 7.20.7 + resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.20.7" dependencies: - "@babel/helper-plugin-utils": ^7.18.9 - "@babel/helper-skip-transparent-expression-wrappers": ^7.18.9 - "@babel/plugin-proposal-optional-chaining": ^7.18.9 + "@babel/helper-plugin-utils": ^7.20.2 + "@babel/helper-skip-transparent-expression-wrappers": ^7.20.0 + "@babel/plugin-proposal-optional-chaining": ^7.20.7 peerDependencies: "@babel/core": ^7.13.0 - checksum: 93abb5cb179a13db171bfc2cdf79489598f43c50cc174f97a2b7bb1d44d24ade7109665a20cf4e317ad6c1c730f036f06478f7c7e789b4240be1abdb60d6452f + checksum: d610f532210bee5342f5b44a12395ccc6d904e675a297189bc1e401cc185beec09873da523466d7fec34ae1574f7a384235cba1ccc9fe7b89ba094167897c845 languageName: node linkType: hard @@ -399,16 +399,16 @@ __metadata: linkType: hard "@babel/plugin-proposal-async-generator-functions@npm:^7.20.1": - version: 7.20.1 - resolution: "@babel/plugin-proposal-async-generator-functions@npm:7.20.1" + version: 7.20.7 + resolution: "@babel/plugin-proposal-async-generator-functions@npm:7.20.7" dependencies: "@babel/helper-environment-visitor": ^7.18.9 - "@babel/helper-plugin-utils": ^7.19.0 + "@babel/helper-plugin-utils": ^7.20.2 "@babel/helper-remap-async-to-generator": ^7.18.9 "@babel/plugin-syntax-async-generators": ^7.8.4 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 518483a68c5618932109913eb7316ed5e656c575cbd9d22667bc0451e35a1be45f8eaeb8e2065834b36c8a93c4840f78cebf8f1d067b07c422f7be16d58eca60 + checksum: 111109ee118c9e69982f08d5e119eab04190b36a0f40e22e873802d941956eee66d2aa5a15f5321e51e3f9aa70a91136451b987fe15185ef8cc547ac88937723 languageName: node linkType: hard @@ -425,15 +425,15 @@ __metadata: linkType: hard "@babel/plugin-proposal-class-static-block@npm:^7.18.6": - version: 7.18.6 - resolution: "@babel/plugin-proposal-class-static-block@npm:7.18.6" + version: 7.21.0 + resolution: "@babel/plugin-proposal-class-static-block@npm:7.21.0" dependencies: - "@babel/helper-create-class-features-plugin": ^7.18.6 - "@babel/helper-plugin-utils": ^7.18.6 + "@babel/helper-create-class-features-plugin": ^7.21.0 + "@babel/helper-plugin-utils": ^7.20.2 "@babel/plugin-syntax-class-static-block": ^7.14.5 peerDependencies: "@babel/core": ^7.12.0 - checksum: b8d7ae99ed5ad784f39e7820e3ac03841f91d6ed60ab4a98c61d6112253da36013e12807bae4ffed0ef3cb318e47debac112ed614e03b403fb8b075b09a828ee + checksum: 236c0ad089e7a7acab776cc1d355330193314bfcd62e94e78f2df35817c6144d7e0e0368976778afd6b7c13e70b5068fa84d7abbf967d4f182e60d03f9ef802b languageName: node linkType: hard @@ -489,14 +489,14 @@ __metadata: linkType: hard "@babel/plugin-proposal-logical-assignment-operators@npm:^7.18.9": - version: 7.18.9 - resolution: "@babel/plugin-proposal-logical-assignment-operators@npm:7.18.9" + version: 7.20.7 + resolution: "@babel/plugin-proposal-logical-assignment-operators@npm:7.20.7" dependencies: - "@babel/helper-plugin-utils": ^7.18.9 + "@babel/helper-plugin-utils": ^7.20.2 "@babel/plugin-syntax-logical-assignment-operators": ^7.10.4 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: dd87fa4a48c6408c5e85dbd6405a65cc8fe909e3090030df46df90df64cdf3e74007381a58ed87608778ee597eff7395d215274009bb3f5d8964b2db5557754f + checksum: cdd7b8136cc4db3f47714d5266f9e7b592a2ac5a94a5878787ce08890e97c8ab1ca8e94b27bfeba7b0f2b1549a026d9fc414ca2196de603df36fb32633bbdc19 languageName: node linkType: hard @@ -551,7 +551,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-optional-chaining@npm:7.21.0, @babel/plugin-proposal-optional-chaining@npm:^7.18.9": +"@babel/plugin-proposal-optional-chaining@npm:7.21.0, @babel/plugin-proposal-optional-chaining@npm:^7.18.9, @babel/plugin-proposal-optional-chaining@npm:^7.20.7": version: 7.21.0 resolution: "@babel/plugin-proposal-optional-chaining@npm:7.21.0" dependencies: @@ -577,16 +577,16 @@ __metadata: linkType: hard "@babel/plugin-proposal-private-property-in-object@npm:^7.18.6": - version: 7.18.6 - resolution: "@babel/plugin-proposal-private-property-in-object@npm:7.18.6" + version: 7.21.0 + resolution: "@babel/plugin-proposal-private-property-in-object@npm:7.21.0" dependencies: "@babel/helper-annotate-as-pure": ^7.18.6 - "@babel/helper-create-class-features-plugin": ^7.18.6 - "@babel/helper-plugin-utils": ^7.18.6 + "@babel/helper-create-class-features-plugin": ^7.21.0 + "@babel/helper-plugin-utils": ^7.20.2 "@babel/plugin-syntax-private-property-in-object": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: c8e56a972930730345f39f2384916fd8e711b3f4b4eae2ca9740e99958980118120d5cc9b6ac150f0965a5a35f825910e2c3013d90be3e9993ab6111df444569 + checksum: add881a6a836635c41d2710551fdf777e2c07c0b691bf2baacc5d658dd64107479df1038680d6e67c468bfc6f36fb8920025d6bac2a1df0a81b867537d40ae78 languageName: node linkType: hard @@ -801,26 +801,26 @@ __metadata: linkType: hard "@babel/plugin-transform-arrow-functions@npm:^7.18.6": - version: 7.18.6 - resolution: "@babel/plugin-transform-arrow-functions@npm:7.18.6" + version: 7.20.7 + resolution: "@babel/plugin-transform-arrow-functions@npm:7.20.7" dependencies: - "@babel/helper-plugin-utils": ^7.18.6 + "@babel/helper-plugin-utils": ^7.20.2 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 900f5c695755062b91eec74da6f9092f40b8fada099058b92576f1e23c55e9813ec437051893a9b3c05cefe39e8ac06303d4a91b384e1c03dd8dc1581ea11602 + checksum: b43cabe3790c2de7710abe32df9a30005eddb2050dadd5d122c6872f679e5710e410f1b90c8f99a2aff7b614cccfecf30e7fd310236686f60d3ed43fd80b9847 languageName: node linkType: hard "@babel/plugin-transform-async-to-generator@npm:^7.18.6": - version: 7.18.6 - resolution: "@babel/plugin-transform-async-to-generator@npm:7.18.6" + version: 7.20.7 + resolution: "@babel/plugin-transform-async-to-generator@npm:7.20.7" dependencies: "@babel/helper-module-imports": ^7.18.6 - "@babel/helper-plugin-utils": ^7.18.6 - "@babel/helper-remap-async-to-generator": ^7.18.6 + "@babel/helper-plugin-utils": ^7.20.2 + "@babel/helper-remap-async-to-generator": ^7.18.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: c2cca47468cf1aeefdc7ec35d670e195c86cee4de28a1970648c46a88ce6bd1806ef0bab27251b9e7fb791bb28a64dcd543770efd899f28ee5f7854e64e873d3 + checksum: fe9ee8a5471b4317c1b9ea92410ace8126b52a600d7cfbfe1920dcac6fb0fad647d2e08beb4fd03c630eb54430e6c72db11e283e3eddc49615c68abd39430904 languageName: node linkType: hard @@ -836,54 +836,55 @@ __metadata: linkType: hard "@babel/plugin-transform-block-scoping@npm:^7.20.2": - version: 7.20.2 - resolution: "@babel/plugin-transform-block-scoping@npm:7.20.2" + version: 7.21.0 + resolution: "@babel/plugin-transform-block-scoping@npm:7.21.0" dependencies: "@babel/helper-plugin-utils": ^7.20.2 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 550b983277557ecfa3ef1e7a2367eaa9e0616a56f0d4106812cbc8aeca057b0f0b8bbc5c548b9b3b57399868f916e89e17303c802c8c46d18fba5bc174d4e794 + checksum: 15aacaadbecf96b53a750db1be4990b0d89c7f5bc3e1794b63b49fb219638c1fd25d452d15566d7e5ddf5b5f4e1a0a0055c35c1c7aee323c7b114bf49f66f4b0 languageName: node linkType: hard "@babel/plugin-transform-classes@npm:^7.20.2": - version: 7.20.2 - resolution: "@babel/plugin-transform-classes@npm:7.20.2" + version: 7.21.0 + resolution: "@babel/plugin-transform-classes@npm:7.21.0" dependencies: "@babel/helper-annotate-as-pure": ^7.18.6 - "@babel/helper-compilation-targets": ^7.20.0 + "@babel/helper-compilation-targets": ^7.20.7 "@babel/helper-environment-visitor": ^7.18.9 - "@babel/helper-function-name": ^7.19.0 + "@babel/helper-function-name": ^7.21.0 "@babel/helper-optimise-call-expression": ^7.18.6 "@babel/helper-plugin-utils": ^7.20.2 - "@babel/helper-replace-supers": ^7.19.1 + "@babel/helper-replace-supers": ^7.20.7 "@babel/helper-split-export-declaration": ^7.18.6 globals: ^11.1.0 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 57f3467a8eb7853cdb61cda963cfb6c6568ad276d77c9de2ff5a2194650010217aa318ef3733975537c6fb906b73a019afb6ea650b01852e7d2e1fab4034361b + checksum: 088ae152074bd0e90f64659169255bfe50393e637ec8765cb2a518848b11b0299e66b91003728fd0a41563a6fdc6b8d548ece698a314fd5447f5489c22e466b7 languageName: node linkType: hard "@babel/plugin-transform-computed-properties@npm:^7.18.9": - version: 7.18.9 - resolution: "@babel/plugin-transform-computed-properties@npm:7.18.9" + version: 7.20.7 + resolution: "@babel/plugin-transform-computed-properties@npm:7.20.7" dependencies: - "@babel/helper-plugin-utils": ^7.18.9 + "@babel/helper-plugin-utils": ^7.20.2 + "@babel/template": ^7.20.7 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: a6bfbea207827d77592628973c0e8cc3319db636506bdc6e81e21582de2e767890e6975b382d0511e9ec3773b9f43691185df90832883bbf9251f688d27fbc1d + checksum: be70e54bda8b469146459f429e5f2bd415023b87b2d5af8b10e48f465ffb02847a3ed162ca60378c004b82db848e4d62e90010d41ded7e7176b6d8d1c2911139 languageName: node linkType: hard "@babel/plugin-transform-destructuring@npm:^7.20.2": - version: 7.20.2 - resolution: "@babel/plugin-transform-destructuring@npm:7.20.2" + version: 7.21.3 + resolution: "@babel/plugin-transform-destructuring@npm:7.21.3" dependencies: "@babel/helper-plugin-utils": ^7.20.2 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 09033e09b28ca1b0d46a8d82f5a677b1d718a739b3c199886908c3ef1af23369317d0c429b21507d480ee82721c15892a9893be18e50ad6fc219e69312f4b097 + checksum: 43ebbe0bfa20287e34427be7c2200ce096c20913775ea75268fb47fe0e55f9510800587e6052c42fe6dffa0daaad95dd465c3e312fd1ef9785648384c45417ac languageName: node linkType: hard @@ -923,13 +924,13 @@ __metadata: linkType: hard "@babel/plugin-transform-for-of@npm:^7.18.8": - version: 7.18.8 - resolution: "@babel/plugin-transform-for-of@npm:7.18.8" + version: 7.21.0 + resolution: "@babel/plugin-transform-for-of@npm:7.21.0" dependencies: - "@babel/helper-plugin-utils": ^7.18.6 + "@babel/helper-plugin-utils": ^7.20.2 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: ca64c623cf0c7a80ab6f07ebd3e6e4ade95e2ae806696f70b43eafe6394fa8ce21f2b1ffdd15df2067f7363d2ecfe26472a97c6c774403d2163fa05f50c98f17 + checksum: 2f3f86ca1fab2929fcda6a87e4303d5c635b5f96dc9a45fd4ca083308a3020c79ac33b9543eb4640ef2b79f3586a00ab2d002a7081adb9e9d7440dce30781034 languageName: node linkType: hard @@ -969,41 +970,41 @@ __metadata: linkType: hard "@babel/plugin-transform-modules-amd@npm:^7.19.6": - version: 7.19.6 - resolution: "@babel/plugin-transform-modules-amd@npm:7.19.6" + version: 7.20.11 + resolution: "@babel/plugin-transform-modules-amd@npm:7.20.11" dependencies: - "@babel/helper-module-transforms": ^7.19.6 - "@babel/helper-plugin-utils": ^7.19.0 + "@babel/helper-module-transforms": ^7.20.11 + "@babel/helper-plugin-utils": ^7.20.2 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 4236aad970025bc10c772c1589b1e2eab8b7681933bb5ffa6e395d4c1a52532b28c47c553e3011b4272ea81e5ab39fe969eb5349584e8390e59771055c467d42 + checksum: 23665c1c20c8f11c89382b588fb9651c0756d130737a7625baeaadbd3b973bc5bfba1303bedffa8fb99db1e6d848afb01016e1df2b69b18303e946890c790001 languageName: node linkType: hard "@babel/plugin-transform-modules-commonjs@npm:^7.19.6": - version: 7.19.6 - resolution: "@babel/plugin-transform-modules-commonjs@npm:7.19.6" + version: 7.21.2 + resolution: "@babel/plugin-transform-modules-commonjs@npm:7.21.2" dependencies: - "@babel/helper-module-transforms": ^7.19.6 - "@babel/helper-plugin-utils": ^7.19.0 - "@babel/helper-simple-access": ^7.19.4 + "@babel/helper-module-transforms": ^7.21.2 + "@babel/helper-plugin-utils": ^7.20.2 + "@babel/helper-simple-access": ^7.20.2 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 85d46945ab5ba3fff89e962d560a5d40253f228b9659a697683db3de07c0236e8cd60e5eb41958007359951a42bc268bf32350fcdb5b4a86f58dff1e032c096e + checksum: 65aa06e3e3792f39b99eb5f807034693ff0ecf80438580f7ae504f4c4448ef04147b1889ea5e6f60f3ad4a12ebbb57c6f1f979a249dadbd8d11fe22f4441918b languageName: node linkType: hard "@babel/plugin-transform-modules-systemjs@npm:^7.19.6": - version: 7.19.6 - resolution: "@babel/plugin-transform-modules-systemjs@npm:7.19.6" + version: 7.20.11 + resolution: "@babel/plugin-transform-modules-systemjs@npm:7.20.11" dependencies: "@babel/helper-hoist-variables": ^7.18.6 - "@babel/helper-module-transforms": ^7.19.6 - "@babel/helper-plugin-utils": ^7.19.0 + "@babel/helper-module-transforms": ^7.20.11 + "@babel/helper-plugin-utils": ^7.20.2 "@babel/helper-validator-identifier": ^7.19.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 8526431cc81ea3eb232ad50862d0ed1cbb422b5251d14a8d6610d0ca0617f6e75f35179e98eb1235d0cccb980120350b9f112594e5646dd45378d41eaaf87342 + checksum: 4546c47587f88156d66c7eb7808e903cf4bb3f6ba6ac9bc8e3af2e29e92eb9f0b3f44d52043bfd24eb25fa7827fd7b6c8bfeac0cac7584e019b87e1ecbd0e673 languageName: node linkType: hard @@ -1020,14 +1021,14 @@ __metadata: linkType: hard "@babel/plugin-transform-named-capturing-groups-regex@npm:^7.19.1": - version: 7.19.1 - resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.19.1" + version: 7.20.5 + resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.20.5" dependencies: - "@babel/helper-create-regexp-features-plugin": ^7.19.0 - "@babel/helper-plugin-utils": ^7.19.0 + "@babel/helper-create-regexp-features-plugin": ^7.20.5 + "@babel/helper-plugin-utils": ^7.20.2 peerDependencies: "@babel/core": ^7.0.0 - checksum: 8a40f5d04f2140c44fe890a5a3fd72abc2a88445443ac2bd92e1e85d9366d3eb8f1ebb7e2c89d2daeaf213d9b28cb65605502ac9b155936d48045eeda6053494 + checksum: 528c95fb1087e212f17e1c6456df041b28a83c772b9c93d2e407c9d03b72182b0d9d126770c1d6e0b23aab052599ceaf25ed6a2c0627f4249be34a83f6fae853 languageName: node linkType: hard @@ -1055,13 +1056,13 @@ __metadata: linkType: hard "@babel/plugin-transform-parameters@npm:^7.20.1, @babel/plugin-transform-parameters@npm:^7.20.7": - version: 7.20.7 - resolution: "@babel/plugin-transform-parameters@npm:7.20.7" + version: 7.21.3 + resolution: "@babel/plugin-transform-parameters@npm:7.21.3" dependencies: "@babel/helper-plugin-utils": ^7.20.2 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 6ffe0dd9afb2d2b9bc247381aa2e95dd9997ff5568a0a11900528919a4e073ac68f46409431455badb8809644d47cff180045bc2b9700e3f36e3b23554978947 + checksum: c92128d7b1fcf54e2cab186c196bbbf55a9a6de11a83328dc2602649c9dc6d16ef73712beecd776cd49bfdc624b5f56740f4a53568d3deb9505ec666bc869da3 languageName: node linkType: hard @@ -1077,14 +1078,14 @@ __metadata: linkType: hard "@babel/plugin-transform-regenerator@npm:^7.18.6": - version: 7.18.6 - resolution: "@babel/plugin-transform-regenerator@npm:7.18.6" + version: 7.20.5 + resolution: "@babel/plugin-transform-regenerator@npm:7.20.5" dependencies: - "@babel/helper-plugin-utils": ^7.18.6 - regenerator-transform: ^0.15.0 + "@babel/helper-plugin-utils": ^7.20.2 + regenerator-transform: ^0.15.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 60bd482cb0343c714f85c3e19a13b3b5fa05ee336c079974091c0b35e263307f4e661f4555dff90707a87d5efe19b1d51835db44455405444ac1813e268ad750 + checksum: 13164861e71fb23d84c6270ef5330b03c54d5d661c2c7468f28e21c4f8598558ca0c8c3cb1d996219352946e849d270a61372bc93c8fbe9676e78e3ffd0dea07 languageName: node linkType: hard @@ -1111,14 +1112,14 @@ __metadata: linkType: hard "@babel/plugin-transform-spread@npm:^7.19.0": - version: 7.19.0 - resolution: "@babel/plugin-transform-spread@npm:7.19.0" + version: 7.20.7 + resolution: "@babel/plugin-transform-spread@npm:7.20.7" dependencies: - "@babel/helper-plugin-utils": ^7.19.0 - "@babel/helper-skip-transparent-expression-wrappers": ^7.18.9 + "@babel/helper-plugin-utils": ^7.20.2 + "@babel/helper-skip-transparent-expression-wrappers": ^7.20.0 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: e73a4deb095999185e70b524d0ff4e35df50fcda58299e700a6149a15bbc1a9b369ef1cef384e15a54b3c3ce316cc0f054dbf249dcd0d1ca59f4281dd4df9718 + checksum: 8ea698a12da15718aac7489d4cde10beb8a3eea1f66167d11ab1e625033641e8b328157fd1a0b55dd6531933a160c01fc2e2e61132a385cece05f26429fd0cc2 languageName: node linkType: hard @@ -1156,15 +1157,16 @@ __metadata: linkType: hard "@babel/plugin-transform-typescript@npm:^7.21.0": - version: 7.21.0 - resolution: "@babel/plugin-transform-typescript@npm:7.21.0" + version: 7.21.3 + resolution: "@babel/plugin-transform-typescript@npm:7.21.3" dependencies: + "@babel/helper-annotate-as-pure": ^7.18.6 "@babel/helper-create-class-features-plugin": ^7.21.0 "@babel/helper-plugin-utils": ^7.20.2 "@babel/plugin-syntax-typescript": ^7.20.0 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 091931118eb515738a4bc8245875f985fc9759d3f85cdf08ee641779b41520241b369404e2bb86fc81907ad827678fdb704e8e5a995352def5dd3051ea2cd870 + checksum: c16fd577bf43f633deb76fca2a8527d8ae25968c8efdf327c1955472c3e0257e62992473d1ad7f9ee95379ce2404699af405ea03346055adadd3478ad0ecd117 languageName: node linkType: hard @@ -1304,12 +1306,19 @@ __metadata: languageName: node linkType: hard +"@babel/regjsgen@npm:^0.8.0": + version: 0.8.0 + resolution: "@babel/regjsgen@npm:0.8.0" + checksum: 89c338fee774770e5a487382170711014d49a68eb281e74f2b5eac88f38300a4ad545516a7786a8dd5702e9cf009c94c2f582d200f077ac5decd74c56b973730 + languageName: node + linkType: hard + "@babel/runtime@npm:^7.10.2, @babel/runtime@npm:^7.11.2, @babel/runtime@npm:^7.7.2, @babel/runtime@npm:^7.8.4": - version: 7.14.0 - resolution: "@babel/runtime@npm:7.14.0" + version: 7.21.0 + resolution: "@babel/runtime@npm:7.21.0" dependencies: - regenerator-runtime: ^0.13.4 - checksum: 257dc2594355dd8798455f25b6f2f9a00f162b427391265752933e0e3337b3b14661d09283187d5039ae3764f723890ffe767e995c73d662f1d515bdf48e5ade + regenerator-runtime: ^0.13.11 + checksum: 7b33e25bfa9e0e1b9e8828bb61b2d32bdd46b41b07ba7cb43319ad08efc6fda8eb89445193e67d6541814627df0ca59122c0ea795e412b99c5183a0540d338ab languageName: node linkType: hard @@ -1324,32 +1333,32 @@ __metadata: languageName: node linkType: hard -"@babel/traverse@npm:^7.19.0, @babel/traverse@npm:^7.20.7, @babel/traverse@npm:^7.21.0": - version: 7.21.0 - resolution: "@babel/traverse@npm:7.21.0" +"@babel/traverse@npm:^7.20.5, @babel/traverse@npm:^7.20.7, @babel/traverse@npm:^7.21.0, @babel/traverse@npm:^7.21.2, @babel/traverse@npm:^7.21.3": + version: 7.21.3 + resolution: "@babel/traverse@npm:7.21.3" dependencies: "@babel/code-frame": ^7.18.6 - "@babel/generator": ^7.21.0 + "@babel/generator": ^7.21.3 "@babel/helper-environment-visitor": ^7.18.9 "@babel/helper-function-name": ^7.21.0 "@babel/helper-hoist-variables": ^7.18.6 "@babel/helper-split-export-declaration": ^7.18.6 - "@babel/parser": ^7.21.0 - "@babel/types": ^7.21.0 + "@babel/parser": ^7.21.3 + "@babel/types": ^7.21.3 debug: ^4.1.0 globals: ^11.1.0 - checksum: 99241b22db509d2f01a9af51bfab1d68e73cd3b66bbc2560f0f65e49880f68a05ead913e72a4e464152430a027f0c7822f126d6f1bcc3bc3e01ef8b8558a6dc6 + checksum: 0af5bcd47a2fc501592b90ac1feae9d449afb9ab0772a4f6e68230f4cd3a475795d538c1de3f880fe3414b6c2820bac84d02c6549eea796f39d74a603717447b languageName: node linkType: hard -"@babel/types@npm:^7.18.6, @babel/types@npm:^7.18.9, @babel/types@npm:^7.19.0, @babel/types@npm:^7.20.0, @babel/types@npm:^7.20.2, @babel/types@npm:^7.20.7, @babel/types@npm:^7.21.0, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": - version: 7.21.0 - resolution: "@babel/types@npm:7.21.0" +"@babel/types@npm:^7.18.6, @babel/types@npm:^7.18.9, @babel/types@npm:^7.20.0, @babel/types@npm:^7.20.2, @babel/types@npm:^7.20.5, @babel/types@npm:^7.20.7, @babel/types@npm:^7.21.0, @babel/types@npm:^7.21.2, @babel/types@npm:^7.21.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": + version: 7.21.3 + resolution: "@babel/types@npm:7.21.3" dependencies: "@babel/helper-string-parser": ^7.19.4 "@babel/helper-validator-identifier": ^7.19.1 to-fast-properties: ^2.0.0 - checksum: dbcdda202b3a2bfd59e4de880ce38652f1f8957893a9751be069ac86e47ad751222070fe6cd92220214d77973f1474e4e1111c16dc48199dfca1489c0ee8c0c5 + checksum: b750274718ba9cefd0b81836c464009bb6ba339fccce51b9baff497a0a2d96c044c61dc90cf203cec0adc770454b53a9681c3f7716883c802b85ab84c365ba35 languageName: node linkType: hard @@ -1377,15 +1386,15 @@ __metadata: languageName: node linkType: hard -"@codemirror/commands@npm:6.2.1": - version: 6.2.1 - resolution: "@codemirror/commands@npm:6.2.1" +"@codemirror/commands@npm:6.2.2": + version: 6.2.2 + resolution: "@codemirror/commands@npm:6.2.2" dependencies: "@codemirror/language": ^6.0.0 "@codemirror/state": ^6.2.0 "@codemirror/view": ^6.0.0 "@lezer/common": ^1.0.0 - checksum: 216308c57745e86bdd9cbbecc8fa6d8302c340674c3f1837894f1eeb12a91d47adeb24a1d1d76faf05f7630f6dd80b9dad974ff23f017370ebdc5329b2204262 + checksum: d3aa1ca8cbd7b9434eedba6b6d783411670796bf6ab61990afc4fd0c04645189fe4dd55bb95e23b943e9089f9739bc7e92aa4b2ac3eac09cfa2b91a45f608d3e languageName: node linkType: hard @@ -1403,23 +1412,23 @@ __metadata: languageName: node linkType: hard -"@codemirror/legacy-modes@npm:6.3.1": - version: 6.3.1 - resolution: "@codemirror/legacy-modes@npm:6.3.1" +"@codemirror/legacy-modes@npm:6.3.2": + version: 6.3.2 + resolution: "@codemirror/legacy-modes@npm:6.3.2" dependencies: "@codemirror/language": ^6.0.0 - checksum: 9065e521bf14e33856e9d3ea114d7b352adf341a8b8d4fb94b4c866189336a32b5ed42ffc20f5d2fa3c839f1bdf29a868bbf9b74c105ed83fa9fd6080e0429e9 + checksum: fa5f5477fb9e19267251e2ecd3de8c1a4c2512813555bb60111dce3951f2c3f6080a2985a573b7542534ba1d2c34115f7e39ee23fdf8f6f81db6f8ce447c1efc languageName: node linkType: hard -"@codemirror/search@npm:6.2.3": - version: 6.2.3 - resolution: "@codemirror/search@npm:6.2.3" +"@codemirror/search@npm:6.3.0": + version: 6.3.0 + resolution: "@codemirror/search@npm:6.3.0" dependencies: "@codemirror/state": ^6.0.0 "@codemirror/view": ^6.0.0 crelt: ^1.0.5 - checksum: 7ab0ffab7992f5c6260313e06ec8935f55807b95ca86f0327154ea1ae0ab984cd22c2fc1a812bd6cace1db131785353689fbfd080d2e12c660e3db0295dec355 + checksum: b757eebbb541c9d74fe36ccfdd03bc3e4e7aebb08b491e207d5898f24aaa612558c393ba49de5bf375972f5774de817fcfbad1ac551dda1a34badb41cf130d36 languageName: node linkType: hard @@ -1430,21 +1439,21 @@ __metadata: languageName: node linkType: hard -"@codemirror/view@npm:6.9.1, @codemirror/view@npm:^6.0.0, @codemirror/view@npm:^6.6.0": - version: 6.9.1 - resolution: "@codemirror/view@npm:6.9.1" +"@codemirror/view@npm:6.9.3, @codemirror/view@npm:^6.0.0, @codemirror/view@npm:^6.6.0": + version: 6.9.3 + resolution: "@codemirror/view@npm:6.9.3" dependencies: "@codemirror/state": ^6.1.4 style-mod: ^4.0.0 w3c-keyname: ^2.2.4 - checksum: 485d54d338a27ebde6bec489e3008db80a2a801fe27db0d4a3c70181c8739f806f035855ba13d5b311d186ad2b130db07196e8b465ec102b0142df0689bff2f8 + checksum: 718ecbb021ca75eb89003f73c846a07d36a708dcfec8345f0f0dbcfc0d0df5ea6f114918694b2730a6d49e5e50502bcce79ce7ff94ce55748e068e5a35073755 languageName: node linkType: hard "@discoveryjs/json-ext@npm:^0.5.0": - version: 0.5.2 - resolution: "@discoveryjs/json-ext@npm:0.5.2" - checksum: cf7ce79a6e25944b6618f3336a4f69191ce9019ee08e47129c4933f03f66aa625c0e7d55075f890cdfc9a7f9b3f6c5465a1e51bd3e7a73aec803753d7d0cec91 + version: 0.5.7 + resolution: "@discoveryjs/json-ext@npm:0.5.7" + checksum: 2176d301cc258ea5c2324402997cf8134ebb212469c0d397591636cea8d3c02f2b3cf9fd58dcb748c7a0dade77ebdc1b10284fa63e608c033a1db52fddc69918 languageName: node linkType: hard @@ -1457,27 +1466,45 @@ __metadata: languageName: node linkType: hard -"@eslint/eslintrc@npm:^2.0.0": - version: 2.0.0 - resolution: "@eslint/eslintrc@npm:2.0.0" +"@eslint-community/eslint-utils@npm:^4.2.0": + version: 4.3.0 + resolution: "@eslint-community/eslint-utils@npm:4.3.0" + dependencies: + eslint-visitor-keys: ^3.3.0 + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + checksum: f487760a692f0f1fef76e248ad72976919576ba57edc2b1b1dc1d182553bae6b5bf7b078e654da85d04f0af8a485d20bd26280002768f4fbcd2e330078340cb0 + languageName: node + linkType: hard + +"@eslint-community/regexpp@npm:^4.4.0": + version: 4.4.0 + resolution: "@eslint-community/regexpp@npm:4.4.0" + checksum: 2d127af0c752b80e8a782eacfe996a86925d21de92da3ffc6f9e615e701145e44a62e26bdd88bfac2cd76779c39ba8d9875a91046ec5e7e5f23cb647c247ea6a + languageName: node + linkType: hard + +"@eslint/eslintrc@npm:^2.0.1": + version: 2.0.1 + resolution: "@eslint/eslintrc@npm:2.0.1" dependencies: ajv: ^6.12.4 debug: ^4.3.2 - espree: ^9.4.0 + espree: ^9.5.0 globals: ^13.19.0 ignore: ^5.2.0 import-fresh: ^3.2.1 js-yaml: ^4.1.0 minimatch: ^3.1.2 strip-json-comments: ^3.1.1 - checksum: 31119c8ca06723d80384f18f5c78e0530d8e6306ad36379868650131a8b10dd7cffd7aff79a5deb3a2e9933660823052623d268532bae9538ded53d5b19a69a6 + checksum: 56b9192a687a450db53a7b883daf9f0f447c43b3510189cf88808a7a2467c2a302a42a50f184cc6d5a9faf3d1df890a2ef0fd0d60b751f32a3e9dfea717c6b48 languageName: node linkType: hard -"@eslint/js@npm:8.35.0": - version: 8.35.0 - resolution: "@eslint/js@npm:8.35.0" - checksum: 6687ceff659a6d617e37823f809dc9c4b096535961a81acead27d26b1a51a4cf608a5e59d831ddd57f24f6f8bb99340a4a0e19f9c99b390fbb4b275f51ed5f5e +"@eslint/js@npm:8.36.0": + version: 8.36.0 + resolution: "@eslint/js@npm:8.36.0" + checksum: b7d6b84b823c8c7784be390741196617565527b1f7c0977fde9455bfb57fd88f81c074a03dd878757d2c33fa29f24291e9ecbc1425710f067917324b55e1bf3a languageName: node linkType: hard @@ -1491,12 +1518,12 @@ __metadata: languageName: node linkType: hard -"@formatjs/fast-memoize@npm:1.2.8": - version: 1.2.8 - resolution: "@formatjs/fast-memoize@npm:1.2.8" +"@formatjs/fast-memoize@npm:2.0.1": + version: 2.0.1 + resolution: "@formatjs/fast-memoize@npm:2.0.1" dependencies: tslib: ^2.4.0 - checksum: 19f7f04657363d3ca4854ba3e5ecf4ae5bf0575c12ba8b2b24a7128131b38d91cf2692aeab778d42e9aa2e27cd2ea3b1e23cabf8ce4dff42988dcf65582c3a94 + checksum: e434cdc53354666459c47556c403f0ed3391ebab0e851a64e5622d8d81e3b684a74a09c4bf5189885c66e743004601f64e2e2c8c70adf6b00071d4afea20f69d languageName: node linkType: hard @@ -1604,50 +1631,57 @@ __metadata: languageName: node linkType: hard -"@fullcalendar/core@npm:6.1.4": - version: 6.1.4 - resolution: "@fullcalendar/core@npm:6.1.4" +"@fullcalendar/core@npm:6.1.5": + version: 6.1.5 + resolution: "@fullcalendar/core@npm:6.1.5" dependencies: - preact: ^10.0.5 - checksum: 3c659bbaf814a1f084ddd3e2eeaf68bb48f268a36560abb399c4aa29a40d6017c5bb1cd87c43664f333a1f6682c32b6a85ffb661538ea0faa78a1c119760a381 + preact: ~10.12.1 + checksum: 6892c11c40899fc986edc3d36b8e764c8e78f1c53df2c6e23d418d0191fc0bd1562bd0d9cfc74fd986d02ac1e18c8a4a9d34a40b8329964cc9fb9f8ab8367635 languageName: node linkType: hard -"@fullcalendar/daygrid@npm:6.1.4, @fullcalendar/daygrid@npm:~6.1.4": - version: 6.1.4 - resolution: "@fullcalendar/daygrid@npm:6.1.4" +"@fullcalendar/daygrid@npm:6.1.5, @fullcalendar/daygrid@npm:~6.1.5": + version: 6.1.5 + resolution: "@fullcalendar/daygrid@npm:6.1.5" peerDependencies: - "@fullcalendar/core": ~6.1.4 - checksum: 24b3c6e521c5e5288cb05d34e080daace1138b4b421a5dd059938a8c9b7730374b7f07908984b124d48e810276a3c24f1e1c7b6080d375ca80e4d7ef387d7774 + "@fullcalendar/core": ~6.1.5 + checksum: f62aa7364d0c51bb8121da988ba5784dc0ce775e15d87bfa7b4f52f0f0d12fd338aa634de93b43332167c105b6848dba47d184f23d12572235ebd16101f2b109 languageName: node linkType: hard -"@fullcalendar/interaction@npm:6.1.4": - version: 6.1.4 - resolution: "@fullcalendar/interaction@npm:6.1.4" +"@fullcalendar/interaction@npm:6.1.5": + version: 6.1.5 + resolution: "@fullcalendar/interaction@npm:6.1.5" peerDependencies: - "@fullcalendar/core": ~6.1.4 - checksum: 5e282ba36bfbc306e8e36ea88b9df0c5a11b7bcdf4c8952377396da24a3ca058b436a39e9002eba9fc1ca8ce70ca23ef2fd74ef08f48d4b8b45576f7e30a6bea + "@fullcalendar/core": ~6.1.5 + checksum: dd3d7fb8ba33b13b79ee0788f81fd6831f90d3663e04467fd4b72f1c82af6d6e7d1a91ea8ea8c2c203c39d7f6a388d1bbfd501f79f7198629da03c9c9385588d languageName: node linkType: hard -"@fullcalendar/list@npm:6.1.4": - version: 6.1.4 - resolution: "@fullcalendar/list@npm:6.1.4" +"@fullcalendar/list@npm:6.1.5": + version: 6.1.5 + resolution: "@fullcalendar/list@npm:6.1.5" peerDependencies: - "@fullcalendar/core": ~6.1.4 - checksum: 0338a8bb1546e103921d1d6a5baf54b9d43759d9aaf905357c2272e01cbd42e120812128b2f2661d0ef82abc0b8447b16e6f1618968487ffa4c6f0a570f907d5 + "@fullcalendar/core": ~6.1.5 + checksum: 4879294b57445a47a15c0316b3fa79265afaf02155b4fd250429a9af9fcb90eadf0842b105fa2a984efe2f044b205dbd48dffe7237d5ec9341c549fea251ad08 languageName: node linkType: hard -"@fullcalendar/timegrid@npm:6.1.4": - version: 6.1.4 - resolution: "@fullcalendar/timegrid@npm:6.1.4" +"@fullcalendar/timegrid@npm:6.1.5": + version: 6.1.5 + resolution: "@fullcalendar/timegrid@npm:6.1.5" dependencies: - "@fullcalendar/daygrid": ~6.1.4 + "@fullcalendar/daygrid": ~6.1.5 peerDependencies: - "@fullcalendar/core": ~6.1.4 - checksum: 1329b941f94e2c17a866e612e7d92adacbca0364ba7e76908caa2a936f526c0cde43fa050f571634dd2db2e779f1cbd3115b64cbc0b524d34f0c4d61243659b8 + "@fullcalendar/core": ~6.1.5 + checksum: 236aabb57a3a8e8f41c43bf3a76b074731fee8a4e815b3c32a3532a7503678d488bbc1b2c74c270580ef37fb2d9ed9edf0b4646943812a5c238cd1cd7104e5f8 + languageName: node + linkType: hard + +"@gar/promisify@npm:^1.1.3": + version: 1.1.3 + resolution: "@gar/promisify@npm:1.1.3" + checksum: 4059f790e2d07bf3c3ff3e0fec0daa8144fe35c1f6e0111c9921bd32106adaa97a4ab096ad7dab1e28ee6a9060083c4d1a4ada42a7f5f3f7a96b8812e2b757c1 languageName: node linkType: hard @@ -1685,136 +1719,136 @@ __metadata: languageName: node linkType: hard -"@jimp/bmp@npm:^0.16.1": - version: 0.16.1 - resolution: "@jimp/bmp@npm:0.16.1" +"@jimp/bmp@npm:^0.16.13": + version: 0.16.13 + resolution: "@jimp/bmp@npm:0.16.13" dependencies: "@babel/runtime": ^7.7.2 - "@jimp/utils": ^0.16.1 + "@jimp/utils": ^0.16.13 bmp-js: ^0.1.0 peerDependencies: "@jimp/custom": ">=0.3.5" - checksum: fa656b93c3fd2a009381d26174c5b421813a085d8b8ce600b0cd4f989e594671bcc32d0fb72c573d6d7ee4dc4283e1929cef066beb7967368f3a6e30a26c2992 + checksum: 57d9f0bcf108497d135e4a35b052475ff5ab56a39bd0d2c2b6837dcc3d9374aa7a39da85f6f56519de8f6477cec3c74492f3e25ba6ca801810d09492c3e60207 languageName: node linkType: hard -"@jimp/core@npm:^0.16.1": - version: 0.16.1 - resolution: "@jimp/core@npm:0.16.1" +"@jimp/core@npm:^0.16.13": + version: 0.16.13 + resolution: "@jimp/core@npm:0.16.13" dependencies: "@babel/runtime": ^7.7.2 - "@jimp/utils": ^0.16.1 + "@jimp/utils": ^0.16.13 any-base: ^1.1.0 buffer: ^5.2.0 exif-parser: ^0.1.12 - file-type: ^9.0.0 + file-type: ^16.5.4 load-bmfont: ^1.3.1 mkdirp: ^0.5.1 phin: ^2.9.1 pixelmatch: ^4.0.2 tinycolor2: ^1.4.1 - checksum: 81821b53787eaf866cd3ee54412eca3e3dd10f70a7c2bd48360b8a0538ed50537124d92fa3933d01382b9183d8f26884a029d7566db2447f195316807ec39ebe + checksum: 62d3ade16017db99c06f70174ae60374cb4fa43c20cdef18c801fe5133bc78be4371dca43c424b259be219732f474e5a630855bc30675a22d66bb92c54f932d0 languageName: node linkType: hard "@jimp/custom@npm:^0.16.1": - version: 0.16.1 - resolution: "@jimp/custom@npm:0.16.1" + version: 0.16.13 + resolution: "@jimp/custom@npm:0.16.13" dependencies: "@babel/runtime": ^7.7.2 - "@jimp/core": ^0.16.1 - checksum: 7f65ba4f62ff5495a0c679d9acf052500a672a44b9626732ba1481e8710b3ff822468c4df94a06ad27dac8b3237886aa689278ce122314a7ed3a272f43956389 + "@jimp/core": ^0.16.13 + checksum: 885a5e27ef54f062a9bb1be9904679beb049acd5c0e2132d726c5344a825076c0c6c53c4b9a8033d367ab62fb8312df23507402213e8ace15f6953c43830eee2 languageName: node linkType: hard -"@jimp/gif@npm:^0.16.1": - version: 0.16.1 - resolution: "@jimp/gif@npm:0.16.1" +"@jimp/gif@npm:^0.16.13": + version: 0.16.13 + resolution: "@jimp/gif@npm:0.16.13" dependencies: "@babel/runtime": ^7.7.2 - "@jimp/utils": ^0.16.1 + "@jimp/utils": ^0.16.13 gifwrap: ^0.9.2 omggif: ^1.0.9 peerDependencies: "@jimp/custom": ">=0.3.5" - checksum: 30f5d3540285b5829152515b3cb37a63b8c3794dbbb04b521208cc79351f9305ea041550cf669b5b28f5b07786a59b12a6aaf1b289a2b4820dce11d5b077e532 + checksum: 9556a7c94ff9b272d0f5251c6fc1a61cb701be03c964b54c11bde439c5462e4485baea876792deec82cedd663962f59e39aeca240230bf29556c90601f640700 languageName: node linkType: hard -"@jimp/jpeg@npm:^0.16.1": - version: 0.16.1 - resolution: "@jimp/jpeg@npm:0.16.1" +"@jimp/jpeg@npm:^0.16.13": + version: 0.16.13 + resolution: "@jimp/jpeg@npm:0.16.13" dependencies: "@babel/runtime": ^7.7.2 - "@jimp/utils": ^0.16.1 - jpeg-js: 0.4.2 + "@jimp/utils": ^0.16.13 + jpeg-js: ^0.4.2 peerDependencies: "@jimp/custom": ">=0.3.5" - checksum: a080d3c5f510cb6b24a052e44a42d6edde9f93fa32e4eaaf4bbdae03e0063cc85ee6db3949ca1faa4eb27bf65825571db6016d80368f96d5ec469adc69897813 + checksum: 2b740073676d58b1bac3fe66b2ddeb6d607e8c3ea5c6b8d8103d4fe8c749d167758289853a1e893ee5a3d95723662d3d832e049805cafb0e934f70b274011c17 languageName: node linkType: hard "@jimp/plugin-resize@npm:^0.16.1": - version: 0.16.1 - resolution: "@jimp/plugin-resize@npm:0.16.1" + version: 0.16.13 + resolution: "@jimp/plugin-resize@npm:0.16.13" dependencies: "@babel/runtime": ^7.7.2 - "@jimp/utils": ^0.16.1 + "@jimp/utils": ^0.16.13 peerDependencies: "@jimp/custom": ">=0.3.5" - checksum: 52d0a919277af0545de8dbb7789acb73c1d8cf69b0a960716a41fef6555618d8dcf54bb4268a5c4bf07bf3a07d53e1cfd1a19620033f00c8cdc513dfb2c0ae6b + checksum: e03071a60a29235584dd0b7c0febf0d8ad728cbc3fc18d183f9018ee252c0d6d0f87e6d91e9fb61cd960f8a72d683e4076d7cc9fb738e0aa382dcc4cd05a971e languageName: node linkType: hard -"@jimp/png@npm:^0.16.1": - version: 0.16.1 - resolution: "@jimp/png@npm:0.16.1" +"@jimp/png@npm:^0.16.13": + version: 0.16.13 + resolution: "@jimp/png@npm:0.16.13" dependencies: "@babel/runtime": ^7.7.2 - "@jimp/utils": ^0.16.1 + "@jimp/utils": ^0.16.13 pngjs: ^3.3.3 peerDependencies: "@jimp/custom": ">=0.3.5" - checksum: 8cfa563cbbd9d5ec08ab0f0513a93eab814ce5aaec69fc1f0e2d18db13aa7bb26bd46c7a4b4be1cfe5151b83711e5796668d54fd69d325877d528ab3163af919 + checksum: 7c2567eedd23f04564261ae69454a2127a4707b45a3c0a77f26a0a299859da13fdd874033c06c1d45921cb36515a1a7ccf5c0a97148aa615d08e951041ef11e1 languageName: node linkType: hard -"@jimp/tiff@npm:^0.16.1": - version: 0.16.1 - resolution: "@jimp/tiff@npm:0.16.1" +"@jimp/tiff@npm:^0.16.13": + version: 0.16.13 + resolution: "@jimp/tiff@npm:0.16.13" dependencies: "@babel/runtime": ^7.7.2 utif: ^2.0.1 peerDependencies: "@jimp/custom": ">=0.3.5" - checksum: b118db6b977bdc87bf23b16cccfd0f58224c18348327354306b9f738f0086166ae3f60f7e526abf1b5e0dbd33dddc9d75bfefa5c40801d8f85093277e9570e35 + checksum: c53445ab1463616214d67e5745f3ae0d17a443d09a05cc32e235f09e37710d458237729d7130a605cc463c26685bf9c44f0bfe939fd33fd7482e99432b9482bf languageName: node linkType: hard "@jimp/types@npm:^0.16.1": - version: 0.16.1 - resolution: "@jimp/types@npm:0.16.1" + version: 0.16.13 + resolution: "@jimp/types@npm:0.16.13" dependencies: "@babel/runtime": ^7.7.2 - "@jimp/bmp": ^0.16.1 - "@jimp/gif": ^0.16.1 - "@jimp/jpeg": ^0.16.1 - "@jimp/png": ^0.16.1 - "@jimp/tiff": ^0.16.1 + "@jimp/bmp": ^0.16.13 + "@jimp/gif": ^0.16.13 + "@jimp/jpeg": ^0.16.13 + "@jimp/png": ^0.16.13 + "@jimp/tiff": ^0.16.13 timm: ^1.6.1 peerDependencies: "@jimp/custom": ">=0.3.5" - checksum: 62c569a21924d76ccdc4d460f40d1a7fef590a552e4fc2bf4d727ccc9003961c964c7172d5f09ef0fc6d768a31e4c4fa735dd0bbc1aa9245eebdd01d4659fdf3 + checksum: bab48dd06fd418db2429c6aed60cac772b8503127f87eded95b2fa811457d55a53380fec52f9c1500998875391bb3de22dd7c1b10da483e7b557e14dcc368488 languageName: node linkType: hard -"@jimp/utils@npm:^0.16.1": - version: 0.16.1 - resolution: "@jimp/utils@npm:0.16.1" +"@jimp/utils@npm:^0.16.13": + version: 0.16.13 + resolution: "@jimp/utils@npm:0.16.13" dependencies: "@babel/runtime": ^7.7.2 regenerator-runtime: ^0.13.3 - checksum: e79cdbef3e4c8c57426230e223c26be99e6b1adccb439b99a0945248df6209afbadce1c54e7361d472e3e8115f01272e84a1b1c355977c8d0cc32c9d0faea2c5 + checksum: 1a8eb0657c645dd0a1e0acb2123a93072e6210eb640fecbf0a60b281809d68712850aa0a037e135bc1529c5837b878a536ad547abf54487630067036b7674869 languageName: node linkType: hard @@ -1870,7 +1904,7 @@ __metadata: languageName: node linkType: hard -"@jridgewell/trace-mapping@npm:^0.3.14, @jridgewell/trace-mapping@npm:^0.3.17, @jridgewell/trace-mapping@npm:^0.3.9": +"@jridgewell/trace-mapping@npm:^0.3.17, @jridgewell/trace-mapping@npm:^0.3.9": version: 0.3.17 resolution: "@jridgewell/trace-mapping@npm:0.3.17" dependencies: @@ -1903,21 +1937,31 @@ __metadata: languageName: node linkType: hard -"@lezer/highlight@npm:1.1.3, @lezer/highlight@npm:^1.0.0": - version: 1.1.3 - resolution: "@lezer/highlight@npm:1.1.3" +"@lezer/highlight@npm:1.1.4, @lezer/highlight@npm:^1.0.0": + version: 1.1.4 + resolution: "@lezer/highlight@npm:1.1.4" dependencies: "@lezer/common": ^1.0.0 - checksum: 90ec143ce46b32f6779c3b245f1b5a540d66686939816d3daed8318821acc4bc719466dc222336cfd483bf04a8de4fdc6f279e904cf114d4d9f786f9feccbbd8 + checksum: 30e848c02839bfcd9472fcd6e74d71cba12379cef38f27d0c6cab0e6831f92150cfc629d267a40cc31f84cf46ac0a935400163fdf931b2672c516bec29417485 languageName: node linkType: hard "@lezer/lr@npm:^1.0.0": - version: 1.2.5 - resolution: "@lezer/lr@npm:1.2.5" + version: 1.3.3 + resolution: "@lezer/lr@npm:1.3.3" dependencies: "@lezer/common": ^1.0.0 - checksum: 9a2fb2663dba5608c0f8a7d51b4c1beeb37d391da972fb3569fe51b637167ac4889b055ceb0c5267b8612a0aa5dfd517cbbd1349975cd662d1ca7fea374916b1 + checksum: 1804074c794005a31c54d80ab72127f19ae5be29bb627c52bc001a57b1af97a9e62732ff13e3aeb7bc53b330202b6bd3747272c64d87f257dbba533e75a183a3 + languageName: node + linkType: hard + +"@lit-labs/context@npm:0.3.0": + version: 0.3.0 + resolution: "@lit-labs/context@npm:0.3.0" + dependencies: + "@lit/reactive-element": ^1.5.0 + lit: ^2.7.0 + checksum: 85c66a67d12d3a9e3753337ef8f5566789ccacbb98b40b01c79db98ea6186c0bcdb5c16b4a27673cd5b4fb807bf3970c376b8c96797a9b20a78b0681f391efdb languageName: node linkType: hard @@ -1930,10 +1974,10 @@ __metadata: languageName: node linkType: hard -"@lit-labs/ssr-dom-shim@npm:^1.0.0": - version: 1.0.0 - resolution: "@lit-labs/ssr-dom-shim@npm:1.0.0" - checksum: ccba6675ad631c6f7360af4e12e328e88d877a52ec992ae9254a1be9902ef699b7916d851b073803dd91244d0f709de2c0539a7db643889cfe341ff6e1a74eb5 +"@lit-labs/ssr-dom-shim@npm:^1.0.0, @lit-labs/ssr-dom-shim@npm:^1.1.0": + version: 1.1.0 + resolution: "@lit-labs/ssr-dom-shim@npm:1.1.0" + checksum: 7d6f2331418164ee65816db0670b0a958572c6b91c95e3b41bc1874c6f1465febbe8ac88d4f8367d69fbaba44820d7b255c5e384beab61fa7ee4135d1694b603 languageName: node linkType: hard @@ -1948,7 +1992,7 @@ __metadata: languageName: node linkType: hard -"@lit/reactive-element@npm:1.0.0-rc.4, @lit/reactive-element@npm:^1.3.0, @lit/reactive-element@npm:^1.6.0": +"@lit/reactive-element@npm:^1.3.0, @lit/reactive-element@npm:^1.5.0, @lit/reactive-element@npm:^1.6.0": version: 1.6.1 resolution: "@lit/reactive-element@npm:1.6.1" dependencies: @@ -1957,12 +2001,12 @@ __metadata: languageName: node linkType: hard -"@material/animation@npm:14.0.0-canary.261f2db59.0": - version: 14.0.0-canary.261f2db59.0 - resolution: "@material/animation@npm:14.0.0-canary.261f2db59.0" +"@lrnwebcomponents/simple-tooltip@npm:4.1.0": + version: 4.1.0 + resolution: "@lrnwebcomponents/simple-tooltip@npm:4.1.0" dependencies: - tslib: ^2.1.0 - checksum: de125a476effec28a055a5e7025271f6d530c9953ac3814ea58e9602fc22b39612d24bc38d5c2e5d6ec2228d46b4c77b7e4acc9cfd6180d7dcacca4992e403fd + lit: ^2.2.8 + checksum: 30af8e317fae1c04912ade8613b26bb6323164ddb5d6a01413a2e1555a637d34f88e6a079af16e912ed5f9b3990b9b7d98147a63fc1bdc5dde336fab8c32cbdc languageName: node linkType: hard @@ -1975,15 +2019,6 @@ __metadata: languageName: node linkType: hard -"@material/base@npm:14.0.0-canary.261f2db59.0, @material/base@npm:=14.0.0-canary.261f2db59.0": - version: 14.0.0-canary.261f2db59.0 - resolution: "@material/base@npm:14.0.0-canary.261f2db59.0" - dependencies: - tslib: ^2.1.0 - checksum: 9e4074a14ba8055437589bd9be67c03627e61711a4757f2723e7d07559a3abf1374718592620bf2efa8f4dd80718cd3e2e6ab8d0c7b2f65ff279eeab5249b96a - languageName: node - linkType: hard - "@material/base@npm:14.0.0-canary.53b3cad2f.0, @material/base@npm:=14.0.0-canary.53b3cad2f.0": version: 14.0.0-canary.53b3cad2f.0 resolution: "@material/base@npm:14.0.0-canary.53b3cad2f.0" @@ -2129,16 +2164,6 @@ __metadata: languageName: node linkType: hard -"@material/dom@npm:14.0.0-canary.261f2db59.0, @material/dom@npm:=14.0.0-canary.261f2db59.0": - version: 14.0.0-canary.261f2db59.0 - resolution: "@material/dom@npm:14.0.0-canary.261f2db59.0" - dependencies: - "@material/feature-targeting": 14.0.0-canary.261f2db59.0 - tslib: ^2.1.0 - checksum: d43a19439f4000f283d02046ffe73854c6568fbdf8572ddfb183f33dbfe91d7426b92f1acd5f1d5f80f135ab6e86f2e72efab367f8d40e07ba995a7209639554 - languageName: node - linkType: hard - "@material/dom@npm:14.0.0-canary.53b3cad2f.0, @material/dom@npm:=14.0.0-canary.53b3cad2f.0": version: 14.0.0-canary.53b3cad2f.0 resolution: "@material/dom@npm:14.0.0-canary.53b3cad2f.0" @@ -2183,15 +2208,6 @@ __metadata: languageName: node linkType: hard -"@material/feature-targeting@npm:14.0.0-canary.261f2db59.0": - version: 14.0.0-canary.261f2db59.0 - resolution: "@material/feature-targeting@npm:14.0.0-canary.261f2db59.0" - dependencies: - tslib: ^2.1.0 - checksum: e73f98c59b1b2bb0753368d5257b81ac0c836e14db82524c5897c58d95dbbaef4f936f711b4d3f9e07adfef8c68cb9c0bc095e2a3f42f50cb3c9f0f7a4c4e00e - languageName: node - linkType: hard - "@material/feature-targeting@npm:14.0.0-canary.53b3cad2f.0": version: 14.0.0-canary.53b3cad2f.0 resolution: "@material/feature-targeting@npm:14.0.0-canary.53b3cad2f.0" @@ -2343,19 +2359,6 @@ __metadata: languageName: node linkType: hard -"@material/mwc-base@npm:^0.25.3": - version: 0.25.3 - resolution: "@material/mwc-base@npm:0.25.3" - dependencies: - "@lit/reactive-element": 1.0.0-rc.4 - "@material/base": =14.0.0-canary.261f2db59.0 - "@material/dom": =14.0.0-canary.261f2db59.0 - lit: ^2.0.0 - tslib: ^2.0.1 - checksum: 81efc38cd1d295182de05dba36a4e3407cb81aafe9fa31b8f48439646e962630c27af11c23820bd07b9f153b73a86f89dbede481a75a89e7d3976d02abab4109 - languageName: node - linkType: hard - "@material/mwc-base@npm:^0.27.0": version: 0.27.0 resolution: "@material/mwc-base@npm:0.27.0" @@ -2380,18 +2383,6 @@ __metadata: languageName: node linkType: hard -"@material/mwc-button@npm:^0.25.3": - version: 0.25.3 - resolution: "@material/mwc-button@npm:0.25.3" - dependencies: - "@material/mwc-icon": ^0.25.3 - "@material/mwc-ripple": ^0.25.3 - lit: ^2.0.0 - tslib: ^2.0.1 - checksum: 4d1ccbe481033b55f154a28cdb743596876bf77fb03399d530b117a58ea37af6228512d6cea7499d5c601a3b07e6b6db2d0fa54ff3cd5832e1ac71dd94c1b133 - languageName: node - linkType: hard - "@material/mwc-checkbox@npm:0.27.0, @material/mwc-checkbox@npm:^0.27.0": version: 0.27.0 resolution: "@material/mwc-checkbox@npm:0.27.0" @@ -2492,16 +2483,6 @@ __metadata: languageName: node linkType: hard -"@material/mwc-icon@npm:^0.25.3": - version: 0.25.3 - resolution: "@material/mwc-icon@npm:0.25.3" - dependencies: - lit: ^2.0.0 - tslib: ^2.0.1 - checksum: 117ba023ec388f90b42510d0c109960dc12bfcecef9bb65ff04edf48c13061af1e3c6c857d0eb636c9e91b030b9fb5cdca73c98e36ac7849fd2e4a236810cd3f - languageName: node - linkType: hard - "@material/mwc-icon@npm:^0.27.0": version: 0.27.0 resolution: "@material/mwc-icon@npm:0.27.0" @@ -2607,19 +2588,6 @@ __metadata: languageName: node linkType: hard -"@material/mwc-ripple@npm:^0.25.3": - version: 0.25.3 - resolution: "@material/mwc-ripple@npm:0.25.3" - dependencies: - "@material/dom": =14.0.0-canary.261f2db59.0 - "@material/mwc-base": ^0.25.3 - "@material/ripple": =14.0.0-canary.261f2db59.0 - lit: ^2.0.0 - tslib: ^2.0.1 - checksum: 4d75604f659c91788dc8c60cf8731f3d5f7f68138a529b100dfee89783ea3dc7dabe23f0381e2b92a06585a2562f5e70e0036628fb2020aa8a9c4eeca2db041e - languageName: node - linkType: hard - "@material/mwc-select@npm:0.27.0": version: 0.27.0 resolution: "@material/mwc-select@npm:0.27.0" @@ -2764,7 +2732,7 @@ __metadata: languageName: node linkType: hard -"@material/mwc-top-app-bar@npm:^0.27.0": +"@material/mwc-top-app-bar@npm:0.27.0, @material/mwc-top-app-bar@npm:^0.27.0": version: 0.27.0 resolution: "@material/mwc-top-app-bar@npm:0.27.0" dependencies: @@ -2833,31 +2801,6 @@ __metadata: languageName: node linkType: hard -"@material/ripple@npm:=14.0.0-canary.261f2db59.0": - version: 14.0.0-canary.261f2db59.0 - resolution: "@material/ripple@npm:14.0.0-canary.261f2db59.0" - dependencies: - "@material/animation": 14.0.0-canary.261f2db59.0 - "@material/base": 14.0.0-canary.261f2db59.0 - "@material/dom": 14.0.0-canary.261f2db59.0 - "@material/feature-targeting": 14.0.0-canary.261f2db59.0 - "@material/rtl": 14.0.0-canary.261f2db59.0 - "@material/theme": 14.0.0-canary.261f2db59.0 - tslib: ^2.1.0 - checksum: 72cc53474102b8e6b0e7145e70d9593018493b780a1c935dcb69ad899fcd8d70f10a769f34c8903db3f2e377badbb7886a9add34fcab27798f3cb42158d4c474 - languageName: node - linkType: hard - -"@material/rtl@npm:14.0.0-canary.261f2db59.0": - version: 14.0.0-canary.261f2db59.0 - resolution: "@material/rtl@npm:14.0.0-canary.261f2db59.0" - dependencies: - "@material/theme": 14.0.0-canary.261f2db59.0 - tslib: ^2.1.0 - checksum: 48aced264f8818e0dcf7c5f57b523e955b70cb1127126285b03a896bd214057c3338a0150f29441b9d791404878c99c3b7a019d3fd17a79720635e3d80dce44c - languageName: node - linkType: hard - "@material/rtl@npm:14.0.0-canary.53b3cad2f.0": version: 14.0.0-canary.53b3cad2f.0 resolution: "@material/rtl@npm:14.0.0-canary.53b3cad2f.0" @@ -3033,16 +2976,6 @@ __metadata: languageName: node linkType: hard -"@material/theme@npm:14.0.0-canary.261f2db59.0": - version: 14.0.0-canary.261f2db59.0 - resolution: "@material/theme@npm:14.0.0-canary.261f2db59.0" - dependencies: - "@material/feature-targeting": 14.0.0-canary.261f2db59.0 - tslib: ^2.1.0 - checksum: 5029cc6c7937981d4dc90a49f7e765f563edd7bf77e3d30ae5088add40193c8d4c26fb050bf32a9ff525e75ef934e4642bf9ecb4905bb5eb2e366fd4fee639ec - languageName: node - linkType: hard - "@material/theme@npm:14.0.0-canary.53b3cad2f.0, @material/theme@npm:=14.0.0-canary.53b3cad2f.0": version: 14.0.0-canary.53b3cad2f.0 resolution: "@material/theme@npm:14.0.0-canary.53b3cad2f.0" @@ -3102,27 +3035,27 @@ __metadata: languageName: node linkType: hard -"@material/web@npm:=1.0.0-pre.3": - version: 1.0.0-pre.3 - resolution: "@material/web@npm:1.0.0-pre.3" +"@material/web@npm:=1.0.0-pre.4": + version: 1.0.0-pre.4 + resolution: "@material/web@npm:1.0.0-pre.4" dependencies: lit: ^2.3.0 tslib: ^2.4.0 - checksum: d6286992cb0d63b094e638a3db484398195608b422bb2cb209102eaf87d220ed24bbe85d29933730054fd3cf99d318dbb3645ae9a2e271fe1a3c2833d829bf4c + checksum: e083087a85146998d49a8cfa11dd0e02efe8836f417ef75ffa7f1163ebce1d6329059a5d86eae2a778e217e805cc95709e044ddc7a51dd145f1b9989c954b9cc languageName: node linkType: hard -"@mdi/js@npm:7.1.96": - version: 7.1.96 - resolution: "@mdi/js@npm:7.1.96" - checksum: cd3102a0120c06b4af7a153e30ee964807746ce55f84a35479d382841d0ab1a10f986059e0c6af0c240444393679b7330d306d0688e1193a23fc03bb8cee0b82 +"@mdi/js@npm:7.2.96": + version: 7.2.96 + resolution: "@mdi/js@npm:7.2.96" + checksum: f8e22da5d994a4b764580d22290c825c1d789a6e015c166e271e2164fb80d33551d6632632897e30ae9033a3fe4aa6a28f2e97c5d3ad56c823f89f859944899e languageName: node linkType: hard -"@mdi/svg@npm:7.1.96": - version: 7.1.96 - resolution: "@mdi/svg@npm:7.1.96" - checksum: afbb0947cbf342ffb08d9b0069095db5e4d9a5dab741457eac2a0a8433217834bb96589be26b8abbf4ac315473870e07a14b0b759b5148efeedad193067ab67c +"@mdi/svg@npm:7.2.96": + version: 7.2.96 + resolution: "@mdi/svg@npm:7.2.96" + checksum: 44d9f26a0dbce344b71af910287aee789f4cde0bfe3a969f73731d19bea39821c3ffce522cea8674b18a6fae2f66e5d8e35c55ccb182df7164f1360286796788 languageName: node linkType: hard @@ -3170,13 +3103,23 @@ __metadata: languageName: node linkType: hard -"@npmcli/move-file@npm:^1.0.1": - version: 1.1.2 - resolution: "@npmcli/move-file@npm:1.1.2" +"@npmcli/fs@npm:^2.1.0": + version: 2.1.2 + resolution: "@npmcli/fs@npm:2.1.2" + dependencies: + "@gar/promisify": ^1.1.3 + semver: ^7.3.5 + checksum: 405074965e72d4c9d728931b64d2d38e6ea12066d4fad651ac253d175e413c06fe4350970c783db0d749181da8fe49c42d3880bd1cbc12cd68e3a7964d820225 + languageName: node + linkType: hard + +"@npmcli/move-file@npm:^2.0.0": + version: 2.0.1 + resolution: "@npmcli/move-file@npm:2.0.1" dependencies: mkdirp: ^1.0.4 rimraf: ^3.0.2 - checksum: c96381d4a37448ea280951e46233f7e541058cf57a57d4094dd4bdcaae43fa5872b5f2eb6bfb004591a68e29c5877abe3cdc210cb3588cbf20ab2877f31a7de7 + checksum: 52dc02259d98da517fae4cb3a0a3850227bdae4939dda1980b788a7670636ca2b4a01b58df03dd5f65c1e3cb70c50fa8ce5762b582b3f499ec30ee5ce1fd9380 languageName: node linkType: hard @@ -3193,48 +3136,48 @@ __metadata: linkType: hard "@octokit/auth-token@npm:^3.0.0": - version: 3.0.1 - resolution: "@octokit/auth-token@npm:3.0.1" + version: 3.0.3 + resolution: "@octokit/auth-token@npm:3.0.3" dependencies: - "@octokit/types": ^7.0.0 - checksum: e94ba5abc2f86cf49e8dc0b86225f2fdda6af451328b13a43d68972117d4e3dccba5cb375fa0c5970a43c9392665bf4e4f0ef1332522f76d4fa4b16c5ad6cc1d + "@octokit/types": ^9.0.0 + checksum: 9b3f569cec1b7e0aa88ab6da68aed4b49b6652261bd957257541fabaf6a4d4ed99f908153cc3dd2fe15b8b0ccaff8caaafaa50bb1a4de3925b0954a47cca1900 languageName: node linkType: hard "@octokit/core@npm:^4.1.0": - version: 4.1.0 - resolution: "@octokit/core@npm:4.1.0" + version: 4.2.0 + resolution: "@octokit/core@npm:4.2.0" dependencies: "@octokit/auth-token": ^3.0.0 "@octokit/graphql": ^5.0.0 "@octokit/request": ^6.0.0 "@octokit/request-error": ^3.0.0 - "@octokit/types": ^8.0.0 + "@octokit/types": ^9.0.0 before-after-hook: ^2.2.0 universal-user-agent: ^6.0.0 - checksum: 4e53e02ff3ebe808b74385be0055cc1cce4b548060b20e3f2d5dd1bf7877ff7b6556f11278edc070842bf24aa869f9f59a02638f1b14083eb290b9e297447a2d + checksum: 5ac56e7f14b42a5da8d3075a2ae41483521a78bee061a01f4a81d8c0ecd6a684b2e945d66baba0cd1fdf264639deedc3a96d0f32c4d2fc39b49ca10f52f4de39 languageName: node linkType: hard "@octokit/endpoint@npm:^7.0.0": - version: 7.0.1 - resolution: "@octokit/endpoint@npm:7.0.1" + version: 7.0.5 + resolution: "@octokit/endpoint@npm:7.0.5" dependencies: - "@octokit/types": ^7.0.0 + "@octokit/types": ^9.0.0 is-plain-object: ^5.0.0 universal-user-agent: ^6.0.0 - checksum: a0ff70202e8355845e9462df4e56e7ce4b32f15eddfb169d91e9939b7602fb05c78088b9d1ac9936b1655d61a883c7fe7b08e8f60c100ee05f40844bb4a95097 + checksum: 81c9e9eabf50e48940cceff7c4d7fbc9327190296507cfe8a199ea00cd492caf8f18a841caf4e3619828924b481996eb16091826db6b5a649bee44c8718ecaa9 languageName: node linkType: hard "@octokit/graphql@npm:^5.0.0": - version: 5.0.1 - resolution: "@octokit/graphql@npm:5.0.1" + version: 5.0.5 + resolution: "@octokit/graphql@npm:5.0.5" dependencies: "@octokit/request": ^6.0.0 - "@octokit/types": ^7.0.0 + "@octokit/types": ^9.0.0 universal-user-agent: ^6.0.0 - checksum: 310549c2d7966adb46428e943cd99cb766519819bd4945d8349d3ec0642e4ee39d9194e1b0a87a5404951c04c247fafb4a8456ed4c839c64bfb4042aa4a6812c + checksum: eb2d1a6305a3d1f55ff0ce92fb88b677f0bb789757152d58a79ef61171fb65ecf6fe18d6c27e236c0cee6a0c2600c2cb8370f5ac7184f8e9361c085aa4555bb1 languageName: node linkType: hard @@ -3246,29 +3189,15 @@ __metadata: linkType: hard "@octokit/oauth-methods@npm:^2.0.0": - version: 2.0.3 - resolution: "@octokit/oauth-methods@npm:2.0.3" + version: 2.0.5 + resolution: "@octokit/oauth-methods@npm:2.0.5" dependencies: "@octokit/oauth-authorization-url": ^5.0.0 - "@octokit/request": ^6.0.0 - "@octokit/request-error": ^3.0.0 - "@octokit/types": ^7.0.0 + "@octokit/request": ^6.2.3 + "@octokit/request-error": ^3.0.3 + "@octokit/types": ^9.0.0 btoa-lite: ^1.0.0 - checksum: 9cc4635128eb665217ed8ba0aaeb245fd14a09c2c4781e58346e1716cfa122482de9ea5b46a5a763526c71068e6700539da3af451bb9bc7059218a9fb7be352f - languageName: node - linkType: hard - -"@octokit/openapi-types@npm:^13.6.0": - version: 13.7.0 - resolution: "@octokit/openapi-types@npm:13.7.0" - checksum: ca872f64eb9967c66dea08c9e60343e1ee7f93839d86f5ef57b9d58ae19af301a49bac548a1e09c4ee53686b34b8b84eb61d5356faf632c8c2fbd89d0e32a954 - languageName: node - linkType: hard - -"@octokit/openapi-types@npm:^14.0.0": - version: 14.0.0 - resolution: "@octokit/openapi-types@npm:14.0.0" - checksum: 0a1f8f3be998cd82c5a640e9166d43fd183b33d5d36f5e1a9b81608e94d0da87c01ec46c9988f69cd26585d4e2ffc4d3ec99ee4f75e5fe997fc86dad0aa8293c + checksum: dda36fdc85f1b9a4322e47d88b13183f86fd7e03e66e787ced7be41ea4a1a64f610e2d1a75f82c7ec7ff5c4a76e07a696c2e7232bf944f04fe64aac5c26bd484 languageName: node linkType: hard @@ -3311,28 +3240,28 @@ __metadata: languageName: node linkType: hard -"@octokit/request-error@npm:^3.0.0": - version: 3.0.1 - resolution: "@octokit/request-error@npm:3.0.1" +"@octokit/request-error@npm:^3.0.0, @octokit/request-error@npm:^3.0.3": + version: 3.0.3 + resolution: "@octokit/request-error@npm:3.0.3" dependencies: - "@octokit/types": ^7.0.0 + "@octokit/types": ^9.0.0 deprecation: ^2.0.0 once: ^1.4.0 - checksum: ae386b5181b3cb66b844047a21d062b683cd7ec4daf70cb9868406c1a51608a72d683955e692c7cc6237d66a09b12c6bcf102a712985da68bcedcc3820117e75 + checksum: 5db0b514732686b627e6ed9ef1ccdbc10501f1b271a9b31f784783f01beee70083d7edcfeb35fbd7e569fa31fdd6762b1ff6b46101700d2d97e7e48e749520d0 languageName: node linkType: hard -"@octokit/request@npm:^6.0.0": - version: 6.2.1 - resolution: "@octokit/request@npm:6.2.1" +"@octokit/request@npm:^6.0.0, @octokit/request@npm:^6.2.3": + version: 6.2.3 + resolution: "@octokit/request@npm:6.2.3" dependencies: "@octokit/endpoint": ^7.0.0 "@octokit/request-error": ^3.0.0 - "@octokit/types": ^7.0.0 + "@octokit/types": ^9.0.0 is-plain-object: ^5.0.0 node-fetch: ^2.6.7 universal-user-agent: ^6.0.0 - checksum: f0a3e878de8c2e6930da5af835d9a3750800eff9ba66af02400dc75238475a9b9c2c5473047792c0f37c2c371095a36485c0729c419873bdccb6058bb8637685 + checksum: fef4097be8375d20bb0b3276d8a3adf866ec628f2b0664d334f3c29b92157da847899497abdc7a5be540053819b55564990543175ad48f04e9e6f25f0395d4d3 languageName: node linkType: hard @@ -3348,24 +3277,6 @@ __metadata: languageName: node linkType: hard -"@octokit/types@npm:^7.0.0": - version: 7.2.0 - resolution: "@octokit/types@npm:7.2.0" - dependencies: - "@octokit/openapi-types": ^13.6.0 - checksum: e647e20ad46cc0899d16a7c621a54857c64f6579becfedc6788b3a0759fff5ca53722309cb51e51cc34312705df6edc084a2dd6ef5850e7668e39f3ed95ba5aa - languageName: node - linkType: hard - -"@octokit/types@npm:^8.0.0": - version: 8.1.0 - resolution: "@octokit/types@npm:8.1.0" - dependencies: - "@octokit/openapi-types": ^14.0.0 - checksum: 51bb6ba84843b3779265f29a22b6b42ed59ae872913471212ff6bcdb2cfb42559ca78068794dac3e791ea2070d70c64e54593f7d8eb474619e94336c8c49c799 - languageName: node - linkType: hard - "@octokit/types@npm:^9.0.0": version: 9.0.0 resolution: "@octokit/types@npm:9.0.0" @@ -3376,24 +3287,24 @@ __metadata: linkType: hard "@open-wc/dedupe-mixin@npm:^1.3.0": - version: 1.3.0 - resolution: "@open-wc/dedupe-mixin@npm:1.3.0" - checksum: 6c957d705a0ee96c46282b95267eab0365265e90109b2da95b51c5384b730c4823fb426f99a0cc10465826250bd6466199af80ad7257a4aacdd9bcb997b4cab3 + version: 1.3.1 + resolution: "@open-wc/dedupe-mixin@npm:1.3.1" + checksum: f0771906242cfd506531f3de65d44dbb069b0b61388612f91ad16b91838d216347d71144e4718dfaf9890a33ab0c7b625b0e6d979e09a288f81acb09f239f55d languageName: node linkType: hard -"@open-wc/dev-server-hmr@npm:0.1.3": - version: 0.1.3 - resolution: "@open-wc/dev-server-hmr@npm:0.1.3" +"@open-wc/dev-server-hmr@npm:0.1.4": + version: 0.1.4 + resolution: "@open-wc/dev-server-hmr@npm:0.1.4" dependencies: "@babel/core": ^7.12.3 "@babel/plugin-syntax-class-properties": ^7.12.13 "@babel/plugin-syntax-import-assertions": ^7.12.1 "@babel/plugin-syntax-top-level-await": ^7.12.1 - "@web/dev-server-core": ^0.3.10 - "@web/dev-server-hmr": ^0.1.6 + "@web/dev-server-core": ^0.4.0 + "@web/dev-server-hmr": ^0.1.11 picomatch: ^2.2.2 - checksum: 993ddbdea4d919d5414ce2cbed8d49253658f4a0311b66f2e45d03ab9ea7354596144d46622a915683f72ca2b3c045b47362104327b4033bede1456446e085ff + checksum: 4fc1e2fb465ec85f5e4dc0ef54886023e4c65dda16912d78f0fe96c14db7650e2b3986f0c2fbbfbf621c40dd597b721f44d9b707ff796a95498ed0c3d9edd2d1 languageName: node linkType: hard @@ -3418,11 +3329,11 @@ __metadata: linkType: hard "@polymer/iron-a11y-announcer@npm:^3.0.0-pre.26": - version: 3.0.2 - resolution: "@polymer/iron-a11y-announcer@npm:3.0.2" + version: 3.2.0 + resolution: "@polymer/iron-a11y-announcer@npm:3.2.0" dependencies: "@polymer/polymer": ^3.0.0 - checksum: 93f48a7901d4887422aecb178aadd50c059fa9045f732e8c900970813fcb4c9a2a87cf5874078dac942f167071eeac65133f756c30a2d05a75315d3876b8ae27 + checksum: 4a5ba03c5fb1b1121f1d179671167c6a4a049496c4c87c8dbf7763bae7311a76013e2042caa3c983d17f70c0f9c3c927b2e20868fa89f31235da54c4316a750d languageName: node linkType: hard @@ -3495,7 +3406,7 @@ __metadata: languageName: node linkType: hard -"@polymer/iron-icon@npm:3.0.1, @polymer/iron-icon@npm:^3.0.0, @polymer/iron-icon@npm:^3.0.0-pre.26": +"@polymer/iron-icon@npm:^3.0.0, @polymer/iron-icon@npm:^3.0.0-pre.26": version: 3.0.1 resolution: "@polymer/iron-icon@npm:3.0.1" dependencies: @@ -3717,7 +3628,7 @@ __metadata: languageName: node linkType: hard -"@polymer/paper-styles@npm:3.0.1, @polymer/paper-styles@npm:^3.0.0-pre.26": +"@polymer/paper-styles@npm:^3.0.0-pre.26": version: 3.0.1 resolution: "@polymer/paper-styles@npm:3.0.1" dependencies: @@ -3758,31 +3669,21 @@ __metadata: languageName: node linkType: hard -"@polymer/paper-tooltip@npm:3.0.1": - version: 3.0.1 - resolution: "@polymer/paper-tooltip@npm:3.0.1" +"@polymer/polymer@npm:3.5.1": + version: 3.5.1 + resolution: "@polymer/polymer@npm:3.5.1" dependencies: - "@polymer/paper-styles": ^3.0.0-pre.26 - "@polymer/polymer": ^3.0.0 - checksum: 74a4328527a80a42fde9fb35def7b711251b2b40fa25a0c3609ea393bd2901f987cf5c7c1119a5e7ca35d52fdd8a02d9bb857e37b6c07399c6a10a324ba1088e + "@webcomponents/shadycss": ^1.9.1 + checksum: 4c499cd817e8ca79ad192d1006f7063a20173c425d00ba99ea93b25d47feccc72ccee7acdd41ad9aeba48f52f2e88aad632ba1651852d8170bc66d8717ec059c languageName: node linkType: hard -"@polymer/polymer@npm:3.4.1": - version: 3.4.1 - resolution: "@polymer/polymer@npm:3.4.1" +"@polymer/polymer@patch:@polymer/polymer@3.5.1#./.yarn/patches/@polymer/polymer/pr-5569.patch::locator=home-assistant-frontend%40workspace%3A.": + version: 3.5.1 + resolution: "@polymer/polymer@patch:@polymer/polymer@npm%3A3.5.1#./.yarn/patches/@polymer/polymer/pr-5569.patch::version=3.5.1&hash=0f00db&locator=home-assistant-frontend%40workspace%3A." dependencies: "@webcomponents/shadycss": ^1.9.1 - checksum: 0f80eb8af291ac900d93daac36be2ec98ebb618df3e9ef6e904742ffbd9c82132373082953ddda67d68f32c4a17fafc311ba496b56937535c3f4eb360b55fd51 - languageName: node - linkType: hard - -"@polymer/polymer@patch:@polymer/polymer@3.4.1#./.yarn/patches/@polymer/polymer/pr-5569.patch::locator=home-assistant-frontend%40workspace%3A.": - version: 3.4.1 - resolution: "@polymer/polymer@patch:@polymer/polymer@npm%3A3.4.1#./.yarn/patches/@polymer/polymer/pr-5569.patch::version=3.4.1&hash=0f00db&locator=home-assistant-frontend%40workspace%3A." - dependencies: - "@webcomponents/shadycss": ^1.9.1 - checksum: 3d8ffd3a55808269016785db20758e71e32d17bee45a8055720cefbbef2c24d86939ef743e1416276facab6ef1748b819f9af617a89550293397a27977e7a6d4 + checksum: b64b5b67592ffe0b1f83a43cfb1457d7213035032f0c3f12a9b9d69bfdd7c94edbe011a30541f419e05869df81bd9a87bfd8ace4b85fd6a975e61e3277607005 languageName: node linkType: hard @@ -3978,7 +3879,16 @@ __metadata: languageName: node linkType: hard -"@sinonjs/fake-timers@npm:10.0.2, @sinonjs/fake-timers@npm:^10.0.2": +"@sinonjs/commons@npm:^3.0.0": + version: 3.0.0 + resolution: "@sinonjs/commons@npm:3.0.0" + dependencies: + type-detect: 4.0.8 + checksum: b4b5b73d4df4560fb8c0c7b38c7ad4aeabedd362f3373859d804c988c725889cde33550e4bcc7cd316a30f5152a2d1d43db71b6d0c38f5feef71fd8d016763f8 + languageName: node + linkType: hard + +"@sinonjs/fake-timers@npm:^10.0.2": version: 10.0.2 resolution: "@sinonjs/fake-timers@npm:10.0.2" dependencies: @@ -3999,9 +3909,9 @@ __metadata: linkType: hard "@sinonjs/text-encoding@npm:^0.7.1": - version: 0.7.1 - resolution: "@sinonjs/text-encoding@npm:0.7.1" - checksum: 130de0bb568c5f8a611ec21d1a4e3f80ab0c5ec333010f49cfc1adc5cba6d8808699c8a587a46b0f0b016a1f4c1389bc96141e773e8460fcbb441875b2e91ba7 + version: 0.7.2 + resolution: "@sinonjs/text-encoding@npm:0.7.2" + checksum: fe690002a32ba06906cf87e2e8fe84d1590294586f2a7fd180a65355b53660c155c3273d8011a5f2b77209b819aa7306678ae6e4aea0df014bd7ffd4bbbcf1ab languageName: node linkType: hard @@ -4027,10 +3937,17 @@ __metadata: languageName: node linkType: hard -"@tootallnate/once@npm:1": - version: 1.1.2 - resolution: "@tootallnate/once@npm:1.1.2" - checksum: e1fb1bbbc12089a0cb9433dc290f97bddd062deadb6178ce9bcb93bb7c1aecde5e60184bc7065aec42fe1663622a213493c48bbd4972d931aae48315f18e1be9 +"@tokenizer/token@npm:^0.3.0": + version: 0.3.0 + resolution: "@tokenizer/token@npm:0.3.0" + checksum: 1d575d02d2a9f0c5a4ca5180635ebd2ad59e0f18b42a65f3d04844148b49b3db35cf00b6012a1af2d59c2ab3caca59451c5689f747ba8667ee586ad717ee58e1 + languageName: node + linkType: hard + +"@tootallnate/once@npm:2": + version: 2.0.0 + resolution: "@tootallnate/once@npm:2.0.0" + checksum: ad87447820dd3f24825d2d947ebc03072b20a42bfc96cbafec16bff8bbda6c1a81fcb0be56d5b21968560c5359a0af4038a68ba150c3e1694fe4c109a063bed8 languageName: node linkType: hard @@ -4044,12 +3961,12 @@ __metadata: linkType: hard "@types/body-parser@npm:*": - version: 1.19.0 - resolution: "@types/body-parser@npm:1.19.0" + version: 1.19.2 + resolution: "@types/body-parser@npm:1.19.2" dependencies: "@types/connect": "*" "@types/node": "*" - checksum: 15043566f1909e2a08dabb0a5d2642f8988545a1369bc5995fc40ee90c95200da2aa66f9240fcb19fc6af6ff4e27ff453f311b49363c14bb308c308c0751ca9b + checksum: e17840c7d747a549f00aebe72c89313d09fbc4b632b949b2470c5cb3b1cb73863901ae84d9335b567a79ec5efcfb8a28ff8e3f36bc8748a9686756b6d5681f40 languageName: node linkType: hard @@ -4063,12 +3980,12 @@ __metadata: linkType: hard "@types/chrome@npm:*": - version: 0.0.119 - resolution: "@types/chrome@npm:0.0.119" + version: 0.0.224 + resolution: "@types/chrome@npm:0.0.224" dependencies: "@types/filesystem": "*" "@types/har-format": "*" - checksum: 33610d7b268b44a0cdfd63cf5692ed3b211a14f92963409d9331904452898829eac9278c55092af3b5a305d74c20f183c67071070406ffd3be1e5beb6ba5c9a2 + checksum: 2dd2291a81a351d3639bb241647f89ece6d27d13206db73e8eac813bd7bfc7e101deaf16c34203f7db32554412f8a776da5b8bfdf8857619d96b0cc68effc196 languageName: node linkType: hard @@ -4089,9 +4006,9 @@ __metadata: linkType: hard "@types/command-line-args@npm:^5.0.0": - version: 5.0.0 - resolution: "@types/command-line-args@npm:5.0.0" - checksum: 97d4565c1194e239139a1207a21f5046d7fdd10e4cd0667f82815a30f4c2b28582986d27c1c9f2b165f759247e1c8b90838b5289ca0b7fdb820ce6e29e6c95c5 + version: 5.2.0 + resolution: "@types/command-line-args@npm:5.2.0" + checksum: 423121d2d083765f5b78d090115f3be82d53a39cec9de63719cbd07021e6330fab19b75e2290af1f7dda84efd7964dc498eb10b2b465991de27045db95aa1eef languageName: node linkType: hard @@ -4106,30 +4023,30 @@ __metadata: linkType: hard "@types/connect@npm:*": - version: 3.4.33 - resolution: "@types/connect@npm:3.4.33" + version: 3.4.35 + resolution: "@types/connect@npm:3.4.35" dependencies: "@types/node": "*" - checksum: 1220403e0cd05c6f51c03b83eed0f4e086f252d50c13279effd38d8bfea5cae82db012b134d31004cb8e4705f83d8ad62dddd71028baa190bf6f31c8d9ac916b + checksum: fe81351470f2d3165e8b12ce33542eef89ea893e36dd62e8f7d72566dfb7e448376ae962f9f3ea888547ce8b55a40020ca0e01d637fab5d99567673084542641 languageName: node linkType: hard "@types/content-disposition@npm:*": - version: 0.5.3 - resolution: "@types/content-disposition@npm:0.5.3" - checksum: 1b15b7af33619b2f2360501f6a4ecd68f03a70a138b28a0e2c02b7da7718cbfbf53256bc082ae161fd050358aff904f7c8ddf8b9dd96afe8a3c77ca581f9bc0a + version: 0.5.5 + resolution: "@types/content-disposition@npm:0.5.5" + checksum: fdf7379db1d509990bcf9a21d85f05aad878596f28b1418f9179f6436cb22513262c670ce88c6055054a7f5804a9303eeacb70aa59a5e11ffdc1434559db9692 languageName: node linkType: hard "@types/cookies@npm:*": - version: 0.7.5 - resolution: "@types/cookies@npm:0.7.5" + version: 0.7.7 + resolution: "@types/cookies@npm:0.7.7" dependencies: "@types/connect": "*" "@types/express": "*" "@types/keygrip": "*" "@types/node": "*" - checksum: 84b02cf60e8240f9186eb6a8cf59f7f8fa5394c287d323e523f1c28b5e7604cdbab9b2b4100effbddefcf756abf517e502962e69b67389bcd1fc423d85da6e5f + checksum: d3759efc1182cb0651808570ae13638677b67b0ea724eef7b174e58ffe6ea044b62c7c2715e532f76f88fce4dd8101ed32ac6fbb73226db654017924e8a2a1e6 languageName: node linkType: hard @@ -4144,12 +4061,12 @@ __metadata: linkType: hard "@types/eslint@npm:*": - version: 7.2.0 - resolution: "@types/eslint@npm:7.2.0" + version: 8.21.3 + resolution: "@types/eslint@npm:8.21.3" dependencies: "@types/estree": "*" "@types/json-schema": "*" - checksum: 0a2d8a737fb039fe8a8fc95853dc090cd1c67ae28f05000fb826f546261099975064008c7cfd08b5394e3bcbe66ad4e095c7145bdea580ff1f00b34a05513b48 + checksum: 80e0b5ca9ffb77bff19d01df08b93a99a6b44cad4c40e6450733ead6f1bc44b5514e7d28c3b0ad6304aeb01d690ee7ca89250729a9373551b7e587c6dbb41d7f languageName: node linkType: hard @@ -4183,42 +4100,42 @@ __metadata: languageName: node linkType: hard -"@types/express-serve-static-core@npm:*, @types/express-serve-static-core@npm:^4.17.31": - version: 4.17.32 - resolution: "@types/express-serve-static-core@npm:4.17.32" +"@types/express-serve-static-core@npm:*, @types/express-serve-static-core@npm:^4.17.33": + version: 4.17.33 + resolution: "@types/express-serve-static-core@npm:4.17.33" dependencies: "@types/node": "*" "@types/qs": "*" "@types/range-parser": "*" - checksum: 70ec1b8f386628850b315a7b9fd4240a5a70297b41ef1c39af65c8b9661d2c775cfff4686b491fd90e5b6eef43088af203700c5541aec0d063db0c6cbeff254c + checksum: dce580d16b85f207445af9d4053d66942b27d0c72e86153089fa00feee3e96ae336b7bedb31ed4eea9e553c99d6dd356ed6e0928f135375d9f862a1a8015adf2 languageName: node linkType: hard "@types/express@npm:*, @types/express@npm:^4.17.13": - version: 4.17.15 - resolution: "@types/express@npm:4.17.15" + version: 4.17.17 + resolution: "@types/express@npm:4.17.17" dependencies: "@types/body-parser": "*" - "@types/express-serve-static-core": ^4.17.31 + "@types/express-serve-static-core": ^4.17.33 "@types/qs": "*" "@types/serve-static": "*" - checksum: b4acd8a836d4f6409cdf79b12d6e660485249b62500cccd61e7997d2f520093edf77d7f8498ca79d64a112c6434b6de5ca48039b8fde2c881679eced7e96979b + checksum: 0196dacc275ac3ce89d7364885cb08e7fb61f53ca101f65886dbf1daf9b7eb05c0943e2e4bbd01b0cc5e50f37e0eea7e4cbe97d0304094411ac73e1b7998f4da languageName: node linkType: hard "@types/filesystem@npm:*": - version: 0.0.29 - resolution: "@types/filesystem@npm:0.0.29" + version: 0.0.32 + resolution: "@types/filesystem@npm:0.0.32" dependencies: "@types/filewriter": "*" - checksum: d57682687c3df2593d56cf78981e3d7f14c1e8bfb4e595995c5acd1a3c81e38079b572feb7de91f2838e8005ee018bc536b93e473d7a4bbdb8116fde3e93c2f8 + checksum: 4b9079d200a3b241722b90e1c5806c4b32c4dac87d42a1c7ef76a2c0dafdbe7d5f1a379b873ad5de73622b44de6599e1522908f67b938d54e785bd1c36e302a0 languageName: node linkType: hard "@types/filewriter@npm:*": - version: 0.0.28 - resolution: "@types/filewriter@npm:0.0.28" - checksum: e558fd6aed0444e5512037f51ae21d43628012c20a2149b9d9aa4cef029a4a36c7d46cbce430ecac3beedf9a55ac0f9751acd83cec67236c22bbe988d7c46d04 + version: 0.0.29 + resolution: "@types/filewriter@npm:0.0.29" + checksum: 0c58aa875c2c245be7dbc42b20212f3203e13d11ec013a4a5cd0febf0e8b87214be5882c05ff9d7bdf0398f145a4fdbc24b7e6cf7b094e134a3b4c7a0598502f languageName: node linkType: hard @@ -4247,32 +4164,39 @@ __metadata: linkType: hard "@types/har-format@npm:*": - version: 1.2.4 - resolution: "@types/har-format@npm:1.2.4" - checksum: 02ea3b979630ed1bf3494083dd7b2ecc8a32dc057b37f59bc8cf84fd2dc82fd456235ebcda9020162f38b1e27327900dc60a41367f06153658ef63d5ce9d8f12 + version: 1.2.10 + resolution: "@types/har-format@npm:1.2.10" + checksum: 14c0118d809e77a0bac9deec0a87159c28beab21105cfce3aa291b51e28d4c07142851c4e6b93b7ecb4ea237fe07d39ba98a42bb2de2f5891144733411ac76b7 + languageName: node + linkType: hard + +"@types/html-minifier-terser@npm:7.0.0": + version: 7.0.0 + resolution: "@types/html-minifier-terser@npm:7.0.0" + checksum: a7a42816bdacf507c9df764c0de6b55b00bfc341e69b8a2adb936aa68da8c7eb73c3d58957d9fd74610198893bce1c73f40fdbb47f468b2621eb4ccdbc3c9ba1 languageName: node linkType: hard "@types/http-assert@npm:*": - version: 1.5.1 - resolution: "@types/http-assert@npm:1.5.1" - checksum: 803633eeca6b2d043565960a891718a7632ad89a38959b67f40ad0fd20a639664b19332c6a9bae203ed0e7679b238d0a76d98bc68ba076cfcf450bbf244aa03b + version: 1.5.3 + resolution: "@types/http-assert@npm:1.5.3" + checksum: 9553e5a0b8bcfdac4b51d3fa3b89a91b5450171861a667a5b4c47204e0f4a1ca865d97396e6ceaf220e87b64d06b7a8bad7bfba15ef97acb41a87507c9940dbc languageName: node linkType: hard "@types/http-errors@npm:*": - version: 1.8.0 - resolution: "@types/http-errors@npm:1.8.0" - checksum: 72b4721a2894f045202b005833d49afe085dc44cf6abc083a081676f0ec6ff812f150ad40704d1409e268b33d4fe1fd32264d5583e2e3cbb55eb97bb4afd3c13 + version: 2.0.1 + resolution: "@types/http-errors@npm:2.0.1" + checksum: 3bb0c50b0a652e679a84c30cd0340d696c32ef6558518268c238840346c077f899315daaf1c26c09c57ddd5dc80510f2a7f46acd52bf949e339e35ed3ee9654f languageName: node linkType: hard "@types/http-proxy@npm:^1.17.8": - version: 1.17.9 - resolution: "@types/http-proxy@npm:1.17.9" + version: 1.17.10 + resolution: "@types/http-proxy@npm:1.17.10" dependencies: "@types/node": "*" - checksum: 7a6746d00729b2a9fe9f9dd3453430b099931df879ec8f7a7b5f07b1795f6d99b0512640c45a67390b1e4bacb9401e36824952aeeaf089feba8627a063cf8e00 + checksum: 8fabee5d01715e338f426715325121d6c4b7a9694dee716ab61c874e0aaccee9a0fff7ccc3c9d7e37a8feeaab7c783c17aaa9943efbc8849c5e79ecd7eaf02ab languageName: node linkType: hard @@ -4314,8 +4238,8 @@ __metadata: linkType: hard "@types/koa@npm:*, @types/koa@npm:^2.11.6": - version: 2.11.6 - resolution: "@types/koa@npm:2.11.6" + version: 2.13.5 + resolution: "@types/koa@npm:2.13.5" dependencies: "@types/accepts": "*" "@types/content-disposition": "*" @@ -4325,7 +4249,7 @@ __metadata: "@types/keygrip": "*" "@types/koa-compose": "*" "@types/node": "*" - checksum: cbe84433eab6ff381c109d9c08c6c7069563e9ebb9860fe791891721ccc7e1ae49edae41235ee4a28f0d9aa535d4838884a491cf8aeb92d566238061ccd2596e + checksum: e3b634d934b79ce8f394bf4130511596081f9c073dbfb4309aa32e4c421c47049a002b65111f8d9687eabec55d5a27b1b9ae0699afa83894cb7032c3536bfa17 languageName: node linkType: hard @@ -4338,21 +4262,21 @@ __metadata: languageName: node linkType: hard -"@types/leaflet@npm:*, @types/leaflet@npm:1.9.1": - version: 1.9.1 - resolution: "@types/leaflet@npm:1.9.1" +"@types/leaflet@npm:*, @types/leaflet@npm:1.9.3": + version: 1.9.3 + resolution: "@types/leaflet@npm:1.9.3" dependencies: "@types/geojson": "*" - checksum: 0ca56ff08e1c3e4cb09c98c75f89c1370367b9e39c1df16e7be1c9868efdf5d67a9fd4e471bf629877cf65c0134619b604232c1335dbc6f0942b214493426b6b + checksum: d12042edc3a043d074b4fd3b4c4800f479dfb01db3980d8c1151edbc70b23ca9e84ab7da72ce0d1c36c040f89ba1421bd36d9d9796ec3704a0d3c942985a87ae languageName: node linkType: hard "@types/lodash-es@npm:^4.17.4": - version: 4.17.6 - resolution: "@types/lodash-es@npm:4.17.6" + version: 4.17.7 + resolution: "@types/lodash-es@npm:4.17.7" dependencies: "@types/lodash": "*" - checksum: 9bd239dd525086e278821949ce12fbdd4f100a060fed9323fc7ad5661113e1641f28a7ebab617230ed3474680d8f4de705c1928b48252bb684be6ec9eed715db + checksum: 4b1f39fd1d921311c37a846c0e0df9d1fa23e27448a6ad1efd7574e703abd2b2fa5e8f3b5037146000f167ba231d0d01e52747d902654151b4ceeff9f2a9b380 languageName: node linkType: hard @@ -4371,9 +4295,9 @@ __metadata: linkType: hard "@types/mime@npm:*": - version: 2.0.3 - resolution: "@types/mime@npm:2.0.3" - checksum: 1f4f144423e149f300438f7cdca9b308d7a18a944e63f5ddf262558208a22a64c8e79b6973d602d86928e19052b3256b492429951b34d037242bb1bdfddae388 + version: 3.0.1 + resolution: "@types/mime@npm:3.0.1" + checksum: 4040fac73fd0cea2460e29b348c1a6173da747f3a87da0dbce80dd7a9355a3d0e51d6d9a401654f3e5550620e3718b5a899b2ec1debf18424e298a2c605346e7 languageName: node linkType: hard @@ -4392,16 +4316,23 @@ __metadata: linkType: hard "@types/node@npm:*": - version: 15.0.1 - resolution: "@types/node@npm:15.0.1" - checksum: af8c8ba83e9e56a1aa9db7106b2d05c07fa67fd6bf67490317530e05e9d85e1326e95f702aaf207379b3aaa10be7c68c76dc1ed114932bebdf46fe9c58aa0261 + version: 18.15.5 + resolution: "@types/node@npm:18.15.5" + checksum: 5fbf3453bd5ce1402bb2964e55d928fc8a8a7de5451b1b0fe66587fecb8a3eb86854ca9cefa5076a5971e2cff00e1773ceeb5d872a54f6c6ddfbbc1064b4e91a + languageName: node + linkType: hard + +"@types/node@npm:16.9.1": + version: 16.9.1 + resolution: "@types/node@npm:16.9.1" + checksum: 41afcf183a22d59323a0199dd7e0f46591247f45fc08a4434edb26d56dc279ae4fdb80f37989ddd7a0f45e3857c4933e6e82057ede09c5a829f77e373e680375 languageName: node linkType: hard "@types/node@npm:^10.12.18": - version: 10.17.46 - resolution: "@types/node@npm:10.17.46" - checksum: 4982b7d38a2f89f137e065a8921a2ec5ee50d20b412e3189427469d96d6214454bb11a39d97fde616d35728b2fa2597edac889a0e946347e3bcbb8c9626d0d89 + version: 10.17.60 + resolution: "@types/node@npm:10.17.60" + checksum: 2cdb3a77d071ba8513e5e8306fa64bf50e3c3302390feeaeff1fd325dd25c8441369715dfc8e3701011a72fed5958c7dfa94eb9239a81b3c286caa4d97db6eef languageName: node linkType: hard @@ -4445,16 +4376,16 @@ __metadata: linkType: hard "@types/qs@npm:*": - version: 6.9.5 - resolution: "@types/qs@npm:6.9.5" - checksum: eeb4597a9c5d3e7b3da3f6395fdfc53e435b79c863fd9d56ff14951e644d51d40870a7d8440c0f132299469941d27817b04ef3c7aa71242115eded0953f4f620 + version: 6.9.7 + resolution: "@types/qs@npm:6.9.7" + checksum: 7fd6f9c25053e9b5bb6bc9f9f76c1d89e6c04f7707a7ba0e44cc01f17ef5284adb82f230f542c2d5557d69407c9a40f0f3515e8319afd14e1e16b5543ac6cdba languageName: node linkType: hard "@types/range-parser@npm:*": - version: 1.2.3 - resolution: "@types/range-parser@npm:1.2.3" - checksum: a0a4218214d2c599e2128a8965e9183d1f0b8fc614def43a2183cf80534d10fcf86357c823c7907e779df0ab048fd1fa3818b4c8f0f6f99ba150a3f99df7d03d + version: 1.2.4 + resolution: "@types/range-parser@npm:1.2.4" + checksum: b7c0dfd5080a989d6c8bb0b6750fc0933d9acabeb476da6fe71d8bdf1ab65e37c136169d84148034802f48378ab94e3c37bb4ef7656b2bec2cb9c0f8d4146a95 languageName: node linkType: hard @@ -4474,10 +4405,10 @@ __metadata: languageName: node linkType: hard -"@types/retry@npm:^0.12.0": - version: 0.12.1 - resolution: "@types/retry@npm:0.12.1" - checksum: 5f46b2556053655f78262bb33040dc58417c900457cc63ff37d6c35349814471453ef511af0cec76a540c601296cd2b22f64bab1ab649c0dacc0223765ba876c +"@types/retry@npm:0.12.0": + version: 0.12.0 + resolution: "@types/retry@npm:0.12.0" + checksum: 61a072c7639f6e8126588bf1eb1ce8835f2cb9c2aba795c4491cf6310e013267b0c8488039857c261c387e9728c1b43205099223f160bb6a76b4374f741b5603 languageName: node linkType: hard @@ -4507,12 +4438,12 @@ __metadata: linkType: hard "@types/serve-static@npm:*, @types/serve-static@npm:^1.13.10": - version: 1.15.0 - resolution: "@types/serve-static@npm:1.15.0" + version: 1.15.1 + resolution: "@types/serve-static@npm:1.15.1" dependencies: "@types/mime": "*" "@types/node": "*" - checksum: b6ac93d471fb0f53ddcac1f9b67572a09cd62806f7db5855244b28f6f421139626f24799392566e97d1ffc61b12f9de7f30380c39fcae3c8a161fe161d44edf2 + checksum: 2e078bdc1e458c7dfe69e9faa83cc69194b8896cce57cb745016580543c7ab5af07fdaa8ac1765eb79524208c81017546f66056f44d1204f812d72810613de36 languageName: node linkType: hard @@ -4525,10 +4456,10 @@ __metadata: languageName: node linkType: hard -"@types/sortablejs@npm:1.15.0": - version: 1.15.0 - resolution: "@types/sortablejs@npm:1.15.0" - checksum: 34846bfcd1947a010c1e1d43ccbedbcda84462fcb6a3933d8d1a36d4eeced442dd889be7d1b6402f4491a61997ac29548e4f10cb35b14870a5f3d4ad6cafc0ec +"@types/sortablejs@npm:1.15.1": + version: 1.15.1 + resolution: "@types/sortablejs@npm:1.15.1" + checksum: 242c0350f63b86541d667d5aa5d1695a9b98644a1c1f52b537f7733baf187dd2618fadde4deab01e655ebf06294cebf0a889ebebf9202ef0a8750a7afed3ecfd languageName: node linkType: hard @@ -4543,9 +4474,9 @@ __metadata: linkType: hard "@types/trusted-types@npm:^2.0.2": - version: 2.0.2 - resolution: "@types/trusted-types@npm:2.0.2" - checksum: 3371eef5f1c50e1c3c07a127c1207b262ba65b83dd167a1c460fc1b135a3fb0c97b9f508efebd383f239cc5dd5b7169093686a692a501fde9c3f7208657d9b0d + version: 2.0.3 + resolution: "@types/trusted-types@npm:2.0.3" + checksum: 4794804bc4a4a173d589841b6d26cf455ff5dc4f3e704e847de7d65d215f2e7043d8757e4741ce3a823af3f08260a8d04a1a6e9c5ec9b20b7b04586956a6b005 languageName: node linkType: hard @@ -4556,7 +4487,7 @@ __metadata: languageName: node linkType: hard -"@types/ws@npm:^7.2.6, @types/ws@npm:^7.4.0": +"@types/ws@npm:^7.4.0": version: 7.4.7 resolution: "@types/ws@npm:7.4.7" dependencies: @@ -4574,18 +4505,18 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:5.54.0": - version: 5.54.0 - resolution: "@typescript-eslint/eslint-plugin@npm:5.54.0" +"@typescript-eslint/eslint-plugin@npm:5.56.0": + version: 5.56.0 + resolution: "@typescript-eslint/eslint-plugin@npm:5.56.0" dependencies: - "@typescript-eslint/scope-manager": 5.54.0 - "@typescript-eslint/type-utils": 5.54.0 - "@typescript-eslint/utils": 5.54.0 + "@eslint-community/regexpp": ^4.4.0 + "@typescript-eslint/scope-manager": 5.56.0 + "@typescript-eslint/type-utils": 5.56.0 + "@typescript-eslint/utils": 5.56.0 debug: ^4.3.4 grapheme-splitter: ^1.0.4 ignore: ^5.2.0 natural-compare-lite: ^1.4.0 - regexpp: ^3.2.0 semver: ^7.3.7 tsutils: ^3.21.0 peerDependencies: @@ -4594,43 +4525,43 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 4fdb520b8e0f6b9eb878206ddfa4212522f170d1507d7aba8a975159a198efa37af6d2d17982dd560317452d0748f2e2da5dd7347b172bc4446d1c5562ce2e94 + checksum: 2eed4a4ed8279950ad553252e8623e947ffdee39b0d677a13f6e4e2d863ea1cbc5d683ff189e55d0de6fd5a25afd72d3c3a9ab7ae417d5405a21ead907e1b154 languageName: node linkType: hard -"@typescript-eslint/parser@npm:5.54.0": - version: 5.54.0 - resolution: "@typescript-eslint/parser@npm:5.54.0" +"@typescript-eslint/parser@npm:5.56.0": + version: 5.56.0 + resolution: "@typescript-eslint/parser@npm:5.56.0" dependencies: - "@typescript-eslint/scope-manager": 5.54.0 - "@typescript-eslint/types": 5.54.0 - "@typescript-eslint/typescript-estree": 5.54.0 + "@typescript-eslint/scope-manager": 5.56.0 + "@typescript-eslint/types": 5.56.0 + "@typescript-eslint/typescript-estree": 5.56.0 debug: ^4.3.4 peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 peerDependenciesMeta: typescript: optional: true - checksum: 368d6dd85be42c3f518f0ddeed23ecd1d3c9484a77ae291ee4e08e2703ed379bed613bde014cd8ab2a3e06e85dd8aef201112ae5e3d2a07deba29ae80bb1fe06 + checksum: eb25490290bd5e22f9c42603dedc0d2d8ee845553e3cf48ea377bd5dc22440d3463f8b84be637b6a2b37cd9ea56b21e4e43007a0a69998948d9c8965c03fe1aa languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:5.54.0": - version: 5.54.0 - resolution: "@typescript-eslint/scope-manager@npm:5.54.0" +"@typescript-eslint/scope-manager@npm:5.56.0": + version: 5.56.0 + resolution: "@typescript-eslint/scope-manager@npm:5.56.0" dependencies: - "@typescript-eslint/types": 5.54.0 - "@typescript-eslint/visitor-keys": 5.54.0 - checksum: e50f12396de0ddb94aab119bdd5f4769b80dd2c273e137fd25e5811e25114d7a3d3668cdb3c454aca9537e940744881d62a1fed2ec86f07f60533dc7382ae15c + "@typescript-eslint/types": 5.56.0 + "@typescript-eslint/visitor-keys": 5.56.0 + checksum: bacac255ee52148cee6622be2811c0d7e25419058b89f1a11f4c1303faef4535a0a1237549f9556ec1d7a297c640ce4357183a1a8465d72e1393b7d8fb43874b languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:5.54.0": - version: 5.54.0 - resolution: "@typescript-eslint/type-utils@npm:5.54.0" +"@typescript-eslint/type-utils@npm:5.56.0": + version: 5.56.0 + resolution: "@typescript-eslint/type-utils@npm:5.56.0" dependencies: - "@typescript-eslint/typescript-estree": 5.54.0 - "@typescript-eslint/utils": 5.54.0 + "@typescript-eslint/typescript-estree": 5.56.0 + "@typescript-eslint/utils": 5.56.0 debug: ^4.3.4 tsutils: ^3.21.0 peerDependencies: @@ -4638,23 +4569,23 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 9cb5b52c7277bdf74b9ea3282fc40f41fda90ea4b1d33039044476e43cf05a766b1294e7d45f429594f2776828f7d17729cfa4ea027315f3df883e748ba57514 + checksum: 3dd1fcfadad18790b900a3d90f6617904adb6b0e2bd1e1edb6ebf239e1399865ca9098647405385feb4252d8b2b4577883e6fd3ef8d00bdd521d6070972d486b languageName: node linkType: hard -"@typescript-eslint/types@npm:5.54.0": - version: 5.54.0 - resolution: "@typescript-eslint/types@npm:5.54.0" - checksum: 0f66b1b93078f3afea6dfcd3d4e2f0abea4f60cd0c613c2cf13f85098e5bf786185484c9846ed80b6c4272de2c31a70c5a8aacb91314cf1b6da7dcb8855cb7ac +"@typescript-eslint/types@npm:5.56.0": + version: 5.56.0 + resolution: "@typescript-eslint/types@npm:5.56.0" + checksum: 82ca11553bbb1bbfcaf7e7760b03c0d898940238dc002552c21af3e58f7d482c64c3c6cf0666521aff2a1e7b4b58bb6e4d9a00b1e4998a16b5039f5d288d003a languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:5.54.0": - version: 5.54.0 - resolution: "@typescript-eslint/typescript-estree@npm:5.54.0" +"@typescript-eslint/typescript-estree@npm:5.56.0": + version: 5.56.0 + resolution: "@typescript-eslint/typescript-estree@npm:5.56.0" dependencies: - "@typescript-eslint/types": 5.54.0 - "@typescript-eslint/visitor-keys": 5.54.0 + "@typescript-eslint/types": 5.56.0 + "@typescript-eslint/visitor-keys": 5.56.0 debug: ^4.3.4 globby: ^11.1.0 is-glob: ^4.0.3 @@ -4663,191 +4594,191 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 377c75c34c4f95b7ab6218c1d96a6db3ea6ed6727711b6a09354582fe0157861dc1b6fb9e3f7113cd09741f713735d59d5ab5845457f5733a4ebad7470bf600a + checksum: ec3e85201786aa9adddba7cb834a9f330a7f55c729ee9ccf847dbdc2f7437b760f3774152ccad6d0aa48d13fd78df766c880e3a7ca42e01a20aba0e1a1ed61c5 languageName: node linkType: hard -"@typescript-eslint/utils@npm:5.54.0": - version: 5.54.0 - resolution: "@typescript-eslint/utils@npm:5.54.0" +"@typescript-eslint/utils@npm:5.56.0": + version: 5.56.0 + resolution: "@typescript-eslint/utils@npm:5.56.0" dependencies: + "@eslint-community/eslint-utils": ^4.2.0 "@types/json-schema": ^7.0.9 "@types/semver": ^7.3.12 - "@typescript-eslint/scope-manager": 5.54.0 - "@typescript-eslint/types": 5.54.0 - "@typescript-eslint/typescript-estree": 5.54.0 + "@typescript-eslint/scope-manager": 5.56.0 + "@typescript-eslint/types": 5.56.0 + "@typescript-eslint/typescript-estree": 5.56.0 eslint-scope: ^5.1.1 - eslint-utils: ^3.0.0 semver: ^7.3.7 peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - checksum: b8f344fc2961c7af530b93e53d5a17b5084cdf550b381082e3fb7f349ef16e718d9eebde1b9fc2d8fc4ecf8d60d334b004359977247554265c1afc87323bed37 + checksum: 413e8d4bf7023ee5ba4f695b62e796a1f94930bb92fe5aa0cee58f63b9837116c23f618825a9c671f610e50f5630188b6059b4ed6b05a2a3336f01d8e977becb languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:5.54.0": - version: 5.54.0 - resolution: "@typescript-eslint/visitor-keys@npm:5.54.0" +"@typescript-eslint/visitor-keys@npm:5.56.0": + version: 5.56.0 + resolution: "@typescript-eslint/visitor-keys@npm:5.56.0" dependencies: - "@typescript-eslint/types": 5.54.0 + "@typescript-eslint/types": 5.56.0 eslint-visitor-keys: ^3.3.0 - checksum: 17fc323c09e6272b603cdaec30a99916600fbbb737e1fbc8c1727a487753b4363cea112277fa43e0562bff34bdd1de9ad73ff9433118b1fd469b112fad0313ca + checksum: 568fda40134e153d7befb59b55698f7919ba780d2d3431d8745feabf2e0fbb8aa7a02173b3c467dd20a0f6594e5248a1f82bb25d6c37827716d77452e86cad29 languageName: node linkType: hard -"@vaadin/combo-box@npm:23.3.8": - version: 23.3.8 - resolution: "@vaadin/combo-box@npm:23.3.8" +"@vaadin/combo-box@npm:23.3.9": + version: 23.3.9 + resolution: "@vaadin/combo-box@npm:23.3.9" dependencies: "@open-wc/dedupe-mixin": ^1.3.0 "@polymer/polymer": ^3.0.0 - "@vaadin/component-base": ~23.3.8 - "@vaadin/field-base": ~23.3.8 - "@vaadin/input-container": ~23.3.8 - "@vaadin/item": ~23.3.8 - "@vaadin/lit-renderer": ~23.3.8 - "@vaadin/overlay": ~23.3.8 - "@vaadin/vaadin-lumo-styles": ~23.3.8 - "@vaadin/vaadin-material-styles": ~23.3.8 - "@vaadin/vaadin-themable-mixin": ~23.3.8 - checksum: 2ec8702dbbcca784e2bc5c59297a6b015e52223e060882aa135c9dac7663e938d2a6d8d7e702b6b22dbbc3b5f4704b64164ae3e2fe0ed8c83b7a18545e6595fd + "@vaadin/component-base": ~23.3.9 + "@vaadin/field-base": ~23.3.9 + "@vaadin/input-container": ~23.3.9 + "@vaadin/item": ~23.3.9 + "@vaadin/lit-renderer": ~23.3.9 + "@vaadin/overlay": ~23.3.9 + "@vaadin/vaadin-lumo-styles": ~23.3.9 + "@vaadin/vaadin-material-styles": ~23.3.9 + "@vaadin/vaadin-themable-mixin": ~23.3.9 + checksum: af5eede03c5bc2dc5f748db41c29a7852c67501ee3659b54b09f755e3e2459ee341cbc72b6713a800fb6659105a46065233639840494c417260c2db6d8f6aefd languageName: node linkType: hard -"@vaadin/component-base@npm:~23.3.8": - version: 23.3.8 - resolution: "@vaadin/component-base@npm:23.3.8" +"@vaadin/component-base@npm:~23.3.9": + version: 23.3.9 + resolution: "@vaadin/component-base@npm:23.3.9" dependencies: "@open-wc/dedupe-mixin": ^1.3.0 "@polymer/polymer": ^3.0.0 "@vaadin/vaadin-development-mode-detector": ^2.0.0 "@vaadin/vaadin-usage-statistics": ^2.1.0 lit: ^2.0.0 - checksum: c76d3d95604e92aa7d9a0f2396b0601203973d50d0ce266e90e60a067f0f42488b784fa1258a81cc944cdbb9d6dbded57ce1b365a242b85cbbf6f0f1665d9533 + checksum: 6966cc1e9172e59c9eb541687b1d4b3814733acfba833c2bf9a5171c64c7c3c74a0a3bdc9c13d6ab734d4b9abd2b469f077dc3c2c73f10c2122367f22b0a92d1 languageName: node linkType: hard -"@vaadin/field-base@npm:~23.3.8": - version: 23.3.8 - resolution: "@vaadin/field-base@npm:23.3.8" +"@vaadin/field-base@npm:~23.3.9": + version: 23.3.9 + resolution: "@vaadin/field-base@npm:23.3.9" dependencies: "@open-wc/dedupe-mixin": ^1.3.0 "@polymer/polymer": ^3.0.0 - "@vaadin/component-base": ~23.3.8 + "@vaadin/component-base": ~23.3.9 lit: ^2.0.0 - checksum: fc87060fc760fad70c8b77e1be563ba8f4cf1ac71c420e4a90c33a914bf97bfb3c19cd893839c80958a6b2c8c0f1c8d12d41d627a04feef76963dba0c126cabb + checksum: 1b3ebd9a3f1abb574d29d66eff9f7711187ed43035c3c1cf125616ff45c5f7ff546dd597d230d281d8bf09bad9fecbdd95cb86cb32c7cd5ce0a811db7bbca0a6 languageName: node linkType: hard -"@vaadin/icon@npm:~23.3.8": - version: 23.3.8 - resolution: "@vaadin/icon@npm:23.3.8" +"@vaadin/icon@npm:~23.3.9": + version: 23.3.9 + resolution: "@vaadin/icon@npm:23.3.9" dependencies: "@polymer/polymer": ^3.0.0 - "@vaadin/component-base": ~23.3.8 - "@vaadin/vaadin-lumo-styles": ~23.3.8 - "@vaadin/vaadin-themable-mixin": ~23.3.8 + "@vaadin/component-base": ~23.3.9 + "@vaadin/vaadin-lumo-styles": ~23.3.9 + "@vaadin/vaadin-themable-mixin": ~23.3.9 lit: ^2.0.0 - checksum: 4b94ceb1ae5b4da6f19a022ff803ccacc624d1a8b5edeab65278276f8e45e935722a2fab77402862ca203792c4f91c2ac9befe4eb6afbdc3e72631090687d818 + checksum: ef2b00eb93234fa9b74d8ca4707f8204b01cdd41dafa97bff3485f7d7f3426e8e73662b9242707297868ada29bc5c127b15507a510685346c951a6dbc12cf66d languageName: node linkType: hard -"@vaadin/input-container@npm:~23.3.8": - version: 23.3.8 - resolution: "@vaadin/input-container@npm:23.3.8" +"@vaadin/input-container@npm:~23.3.9": + version: 23.3.9 + resolution: "@vaadin/input-container@npm:23.3.9" dependencies: "@polymer/polymer": ^3.0.0 - "@vaadin/component-base": ~23.3.8 - "@vaadin/vaadin-lumo-styles": ~23.3.8 - "@vaadin/vaadin-material-styles": ~23.3.8 - "@vaadin/vaadin-themable-mixin": ~23.3.8 - checksum: 3381419fb567cd571ae30e93f18c5dd17783448f6ead803e68bb3fa39c31ca6418ba0807c8c0d322f64e86f288c45354f53f9e1154c00c88b051b0cd65250be3 + "@vaadin/component-base": ~23.3.9 + "@vaadin/vaadin-lumo-styles": ~23.3.9 + "@vaadin/vaadin-material-styles": ~23.3.9 + "@vaadin/vaadin-themable-mixin": ~23.3.9 + checksum: 33f258227a934fb0931a6c3e161815e03ea8226cc6fac79810acddee23807536eea05a4152a60c6aa9a095e9977247d5d84383bbe9c4961b96cd96dc0ec359c6 languageName: node linkType: hard -"@vaadin/item@npm:~23.3.8": - version: 23.3.8 - resolution: "@vaadin/item@npm:23.3.8" +"@vaadin/item@npm:~23.3.9": + version: 23.3.9 + resolution: "@vaadin/item@npm:23.3.9" dependencies: "@open-wc/dedupe-mixin": ^1.3.0 "@polymer/polymer": ^3.0.0 - "@vaadin/component-base": ~23.3.8 - "@vaadin/vaadin-lumo-styles": ~23.3.8 - "@vaadin/vaadin-material-styles": ~23.3.8 - "@vaadin/vaadin-themable-mixin": ~23.3.8 - checksum: 03a971952dbbff140775e32fb492e93cc4932719a16496054fc30ce91c11918f48f046e10be7c8b23e72e7772198a73bf7a8b2f27caff16bc70779e0de6f20b0 + "@vaadin/component-base": ~23.3.9 + "@vaadin/vaadin-lumo-styles": ~23.3.9 + "@vaadin/vaadin-material-styles": ~23.3.9 + "@vaadin/vaadin-themable-mixin": ~23.3.9 + checksum: 52ac88b7317ecdad116f94c088b3ad70c1e635724cfa0d91155d9f7301430dbe46bf0384166f3c67842f39894ccd9f327ea2dbcd1167beeb67eb24902c9c650d languageName: node linkType: hard -"@vaadin/lit-renderer@npm:~23.3.8": - version: 23.3.8 - resolution: "@vaadin/lit-renderer@npm:23.3.8" +"@vaadin/lit-renderer@npm:~23.3.9": + version: 23.3.9 + resolution: "@vaadin/lit-renderer@npm:23.3.9" dependencies: lit: ^2.0.0 - checksum: c0fcbb05569fe4b77f0f4e44bfb441451768a8ac4541bcab6c2bcbcbad6e9615736d95ca35e26b1c05abcce62da3552cc3767d212f0a96bc993a61e2a3977651 + checksum: d6c3f831526bf0b9f7c8838eb2d7e195e8e5d0a6735893ae38225178ac65ed090bc16d8ba4e5de1437863e32fefc68285f5c0b8d72b2293e47f37c9e91a2cd37 languageName: node linkType: hard -"@vaadin/overlay@npm:~23.3.8": - version: 23.3.8 - resolution: "@vaadin/overlay@npm:23.3.8" +"@vaadin/overlay@npm:~23.3.9": + version: 23.3.9 + resolution: "@vaadin/overlay@npm:23.3.9" dependencies: "@open-wc/dedupe-mixin": ^1.3.0 "@polymer/polymer": ^3.0.0 - "@vaadin/component-base": ~23.3.8 - "@vaadin/vaadin-lumo-styles": ~23.3.8 - "@vaadin/vaadin-material-styles": ~23.3.8 - "@vaadin/vaadin-themable-mixin": ~23.3.8 - checksum: b8fe2be92555912349278f9f491b83ae342dbfd03a7549a302444f31bfe2c170f23a19d551682bc8d64ed8f40d6eb85fc08f99ff2e67f0e2992a56d9c56244da + "@vaadin/component-base": ~23.3.9 + "@vaadin/vaadin-lumo-styles": ~23.3.9 + "@vaadin/vaadin-material-styles": ~23.3.9 + "@vaadin/vaadin-themable-mixin": ~23.3.9 + checksum: c80622243accc5ba4c2e646798cbf2431fcd397bdd629f70a9e87a00585417325a2555469399103899e65230825edac317059ecea049c4cff6fa09cec7900a02 languageName: node linkType: hard "@vaadin/vaadin-development-mode-detector@npm:^2.0.0": - version: 2.0.4 - resolution: "@vaadin/vaadin-development-mode-detector@npm:2.0.4" - checksum: c3c1993939ed677bf43d8d8704784bbefbe0e2e4c5852580bfc3170b4b02e0838aa9a7c300b4c23c6fc1835b0549876bbb12cb811d55d886cb87cf3c995d34e9 + version: 2.0.6 + resolution: "@vaadin/vaadin-development-mode-detector@npm:2.0.6" + checksum: dcb4fb1d6971e185637a4bfafaeaebf77b04977c776b807248eea28e0d81c47aa46cf9542eaedd3dfceca9667b73574c2f9cd5b4b567e4c420f5c346bc32936b languageName: node linkType: hard -"@vaadin/vaadin-lumo-styles@npm:~23.3.8": - version: 23.3.8 - resolution: "@vaadin/vaadin-lumo-styles@npm:23.3.8" +"@vaadin/vaadin-lumo-styles@npm:~23.3.9": + version: 23.3.9 + resolution: "@vaadin/vaadin-lumo-styles@npm:23.3.9" dependencies: "@polymer/iron-icon": ^3.0.0 "@polymer/iron-iconset-svg": ^3.0.0 "@polymer/polymer": ^3.0.0 - "@vaadin/icon": ~23.3.8 - "@vaadin/vaadin-themable-mixin": ~23.3.8 - checksum: a50afa6e888d32b0d2ec77a9c9dd2244852f8ee7bd778fe2ad1e8511306331acd98b5c14685b2eb373f3b8638627cd092f848d3c4551689b9c29a0a24ccccfa4 + "@vaadin/icon": ~23.3.9 + "@vaadin/vaadin-themable-mixin": ~23.3.9 + checksum: e9ee0b89db2e6812f31d4a54c88856798081652f5388c0f7ae8341c271f9618fd358e12ee10af0c89f6a5976fa5f6394c45fd717c11f5b35f87ff535044d6228 languageName: node linkType: hard -"@vaadin/vaadin-material-styles@npm:~23.3.8": - version: 23.3.8 - resolution: "@vaadin/vaadin-material-styles@npm:23.3.8" +"@vaadin/vaadin-material-styles@npm:~23.3.9": + version: 23.3.9 + resolution: "@vaadin/vaadin-material-styles@npm:23.3.9" dependencies: "@polymer/polymer": ^3.0.0 - "@vaadin/vaadin-themable-mixin": ~23.3.8 - checksum: 8e90104f4b6c26ae669acfee2466a693de6dd429044890e083a8412431819016918e713fdcec9dabe20d2b6abe319b2381423d6d7931bd67bf4e6a5608e37fe7 + "@vaadin/vaadin-themable-mixin": ~23.3.9 + checksum: 7f10dfd3635ddf19f0ab0c1a24e4bb22f8bda0017925adc32dd9614273faeebdc682022ac10a5fa192daf5ac566bfd096ee66223e70480162369000ca478ab30 languageName: node linkType: hard -"@vaadin/vaadin-themable-mixin@npm:23.3.8, @vaadin/vaadin-themable-mixin@npm:~23.3.8": - version: 23.3.8 - resolution: "@vaadin/vaadin-themable-mixin@npm:23.3.8" +"@vaadin/vaadin-themable-mixin@npm:23.3.9, @vaadin/vaadin-themable-mixin@npm:~23.3.9": + version: 23.3.9 + resolution: "@vaadin/vaadin-themable-mixin@npm:23.3.9" dependencies: "@open-wc/dedupe-mixin": ^1.3.0 lit: ^2.0.0 - checksum: 680774f70e04f54afaf60a4ec994810a08806d91836baf5074d218a2caa4d97ac19b897b2caf98476a022017555893d6fac0a8a5ef43540e6cc84ae8460cd4c7 + checksum: e136829834ebcb7fc79384bbf822d72d41c29bf08eb8859350bfbc80c9bb5e64ee733e5f3e9d6fb0fee0db21c6816673da94efcbe12aee47f452ca40cf0112ee languageName: node linkType: hard "@vaadin/vaadin-usage-statistics@npm:^2.1.0": - version: 2.1.0 - resolution: "@vaadin/vaadin-usage-statistics@npm:2.1.0" + version: 2.1.2 + resolution: "@vaadin/vaadin-usage-statistics@npm:2.1.2" dependencies: "@vaadin/vaadin-development-mode-detector": ^2.0.0 - checksum: 283472c7ead7a7620b45db8f980c0e146c9f73702af8b5b945ad717ae9d56856815cee1a1bce11b50ab799d27145a5caacfb53b8acf608c2d3d227f2106c3341 + checksum: ac71c388ea71ea0a8750ae5bb7e254e0186391afa9be37f6b4cce347ee749961f6a8647abb0a775df58edb8e72fd00c68f57497a441178034fde8fa861f2a886 languageName: node linkType: hard @@ -4988,34 +4919,9 @@ __metadata: languageName: node linkType: hard -"@web/dev-server-core@npm:^0.2.18": - version: 0.2.18 - resolution: "@web/dev-server-core@npm:0.2.18" - dependencies: - "@types/koa": ^2.11.6 - "@types/ws": ^7.2.6 - "@web/parse5-utils": ^1.0.0 - chokidar: ^3.4.3 - clone: ^2.1.2 - es-module-lexer: ^0.3.26 - get-stream: ^6.0.0 - is-stream: ^2.0.0 - isbinaryfile: ^4.0.6 - koa: ^2.13.0 - koa-etag: ^3.0.0 - koa-static: ^5.0.0 - lru-cache: ^5.1.1 - mime-types: ^2.1.27 - parse5: ^6.0.1 - picomatch: ^2.2.2 - ws: ^7.3.1 - checksum: 07afc7578cb34f6ea0341b47b233f496ff9838f1b3205e25a9f3ceb6016940973afce83b81ee0f43fe48e0c38f73d647dea331c8070529bbf7ec7da43303dc49 - languageName: node - linkType: hard - -"@web/dev-server-core@npm:^0.3.10, @web/dev-server-core@npm:^0.3.19": - version: 0.3.19 - resolution: "@web/dev-server-core@npm:0.3.19" +"@web/dev-server-core@npm:^0.4.0": + version: 0.4.0 + resolution: "@web/dev-server-core@npm:0.4.0" dependencies: "@types/koa": ^2.11.6 "@types/ws": ^7.4.0 @@ -5035,42 +4941,42 @@ __metadata: parse5: ^6.0.1 picomatch: ^2.2.2 ws: ^7.4.2 - checksum: 00b3cafc7d9c25806ae4af824d34d44928b09e039c7cf87e66ddc7b2f7d3198ab667f860282f8f8287cf26aeea1e8f4b348609eba4e05259cc52f4a7451c174f + checksum: d6c48fb7d349626c7d4083601126b31c84414c36a7829b8b14e8bef54611b6b342bebc6dd5c4dc9bb5ba361f1b8373cebe306f8ace3ab4fa0e9b5bf83882b718 languageName: node linkType: hard -"@web/dev-server-hmr@npm:^0.1.6": - version: 0.1.6 - resolution: "@web/dev-server-hmr@npm:0.1.6" +"@web/dev-server-hmr@npm:^0.1.11": + version: 0.1.11 + resolution: "@web/dev-server-hmr@npm:0.1.11" dependencies: - "@web/dev-server-core": ^0.2.18 - checksum: af1a3120baffec5a32d4a13754f309a5eb5181449cf15010d8eb1820148fe6279a7e503e20ca5c79c75acfd4be24df64886015d26da939f5832892297d88d8ba + "@web/dev-server-core": ^0.4.0 + checksum: a0c156c7c46f3463607a7ed87a6d149d372a2b1abd8ef2ce5a4d7ce3d7b0cd7e1375d93e28e87735e25617c322dd5c3d74c354a971712eb001e69adc6406698b languageName: node linkType: hard -"@web/dev-server-rollup@npm:0.3.21, @web/dev-server-rollup@npm:^0.3.19": - version: 0.3.21 - resolution: "@web/dev-server-rollup@npm:0.3.21" +"@web/dev-server-rollup@npm:0.4.0, @web/dev-server-rollup@npm:^0.4.0": + version: 0.4.0 + resolution: "@web/dev-server-rollup@npm:0.4.0" dependencies: "@rollup/plugin-node-resolve": ^13.0.4 - "@web/dev-server-core": ^0.3.19 + "@web/dev-server-core": ^0.4.0 nanocolors: ^0.2.1 parse5: ^6.0.1 rollup: ^2.67.0 whatwg-url: ^11.0.0 - checksum: 70fb5c638872f547bae1f78c304837c77deaf6c2dbdf6d0a7e3b141a61d2227ecb29fc7de902d4ef79b10c4c3856aa6598523b80110f2060a75467fe3d3b7be7 + checksum: e9ad742108a02f8e6c78c17a9769d28b54129d7bacefa89bf72ea55202a4f7ab03e24be51c5bbaf90302393f0832a3fc37c6932d014df7f039ff1ec0562f229d languageName: node linkType: hard -"@web/dev-server@npm:0.1.35": - version: 0.1.35 - resolution: "@web/dev-server@npm:0.1.35" +"@web/dev-server@npm:0.1.36": + version: 0.1.36 + resolution: "@web/dev-server@npm:0.1.36" dependencies: "@babel/code-frame": ^7.12.11 "@types/command-line-args": ^5.0.0 "@web/config-loader": ^0.1.3 - "@web/dev-server-core": ^0.3.19 - "@web/dev-server-rollup": ^0.3.19 + "@web/dev-server-core": ^0.4.0 + "@web/dev-server-rollup": ^0.4.0 camelcase: ^6.2.0 command-line-args: ^5.1.1 command-line-usage: ^6.1.1 @@ -5083,11 +4989,11 @@ __metadata: bin: wds: dist/bin.js web-dev-server: dist/bin.js - checksum: eccaf90e2bcb25c8a1584a714e3139b63a67b969dc9df40910848e6f56de7eea22de67b80a2400580cab625cab7a00b2711aea742c112207d3e80a2791f6fc9c + checksum: 4bbf3334380ebceb7dac12f985681194c8ea7eb5ab48e35a65b54602c4a2be5087b41c03daa28b9912257b988759ac5fedf79a23a7dbbaf794bbf914a3b82876 languageName: node linkType: hard -"@web/parse5-utils@npm:^1.0.0, @web/parse5-utils@npm:^1.2.0": +"@web/parse5-utils@npm:^1.2.0": version: 1.3.0 resolution: "@web/parse5-utils@npm:1.3.0" dependencies: @@ -5256,9 +5162,9 @@ __metadata: linkType: hard "@webcomponents/shadycss@npm:^1.9.1": - version: 1.10.2 - resolution: "@webcomponents/shadycss@npm:1.10.2" - checksum: 63c588fc7881297b186ee0b7ecc0c58be9af4ae31fd0f623a74bdafcc8f3e81d3b84b33ca6d4153320ec2a9255e6eb72ac42d4f3e28d98e15894f6a71a045bec + version: 1.11.1 + resolution: "@webcomponents/shadycss@npm:1.11.1" + checksum: e57b186190e5c4f871adef7dfd31110efca9e04cde686fd0f7651868a9420da7ec418bf060fa5aa664964b149cd69cccf2c2367cb5d06d1656eda0022834c155 languageName: node linkType: hard @@ -5316,7 +5222,7 @@ __metadata: languageName: node linkType: hard -"abbrev@npm:1": +"abbrev@npm:^1.0.0": version: 1.1.1 resolution: "abbrev@npm:1.1.1" checksum: a4a97ec07d7ea112c517036882b2ac22f3109b7b19077dc656316d07d308438aac28e4d9746dc4d84bf6b1e75b4a7b0a5f3cb30592419f128ca9a8cee3bcfa17 @@ -5334,11 +5240,11 @@ __metadata: linkType: hard "acorn-import-assertions@npm:^1.7.6": - version: 1.7.6 - resolution: "acorn-import-assertions@npm:1.7.6" + version: 1.8.0 + resolution: "acorn-import-assertions@npm:1.8.0" peerDependencies: acorn: ^8 - checksum: bc8a1585abd70ebfb3a6b3112f5e3974fee3ac598230f916a3857f0ad4fa7e72197be532c49d1feeb83678ef264f34bee9bf1934dfb2f276d88468134a51fa9f + checksum: 5c4cf7c850102ba7ae0eeae0deb40fb3158c8ca5ff15c0bca43b5c47e307a1de3d8ef761788f881343680ea374631ae9e9615ba8876fee5268dbe068c98bcba6 languageName: node linkType: hard @@ -5369,14 +5275,14 @@ __metadata: languageName: node linkType: hard -"agentkeepalive@npm:^4.1.3": - version: 4.1.4 - resolution: "agentkeepalive@npm:4.1.4" +"agentkeepalive@npm:^4.2.1": + version: 4.3.0 + resolution: "agentkeepalive@npm:4.3.0" dependencies: debug: ^4.1.0 - depd: ^1.1.2 + depd: ^2.0.0 humanize-ms: ^1.2.1 - checksum: d49c24d4b333e9507119385895a583872f4f53d62764a89be165926e824056a126955bae4a6d3c6f7cd26f4089621a40f7b27675f7868214d82118f744b9e82d + checksum: 982453aa44c11a06826c836025e5162c846e1200adb56f2d075400da7d32d87021b3b0a58768d949d824811f5654223d5a8a3dad120921a2439625eb847c6260 languageName: node linkType: hard @@ -5447,14 +5353,14 @@ __metadata: linkType: hard "ajv@npm:^8.0.0, ajv@npm:^8.6.0, ajv@npm:^8.8.0": - version: 8.11.2 - resolution: "ajv@npm:8.11.2" + version: 8.12.0 + resolution: "ajv@npm:8.12.0" dependencies: fast-deep-equal: ^3.1.1 json-schema-traverse: ^1.0.0 require-from-string: ^2.0.2 uri-js: ^4.2.2 - checksum: 53435bf79ee7d1eabba8085962dba4c08d08593334b304db7772887f0b7beebc1b3d957432f7437ed4b60e53b5d966a57b439869890209c50fed610459999e3e + checksum: 4dc13714e316e67537c8b31bc063f99a1d9d9a497eb4bbd55191ac0dcd5e4985bbb71570352ad6f1e76684fb6d790928f96ba3b2d4fd6e10024be9612fe3f001 languageName: node linkType: hard @@ -5526,13 +5432,6 @@ __metadata: languageName: node linkType: hard -"ansi-regex@npm:^3.0.0": - version: 3.0.0 - resolution: "ansi-regex@npm:3.0.0" - checksum: 2ad11c416f81c39f5c65eafc88cf1d71aa91d76a2f766e75e457c2a3c43e8a003aadbf2966b61c497aa6a6940a36412486c975b3270cdfc3f413b69826189ec3 - languageName: node - linkType: hard - "ansi-regex@npm:^5.0.1": version: 5.0.1 resolution: "ansi-regex@npm:5.0.1" @@ -5566,9 +5465,9 @@ __metadata: linkType: hard "ansi-styles@npm:^6.0.0": - version: 6.1.0 - resolution: "ansi-styles@npm:6.1.0" - checksum: 7a7f8528c07a9d20c3a92bccd2b6bc3bb4d26e5cb775c02826921477377bd495d615d61f710d56216344b6238d1d11ef2b0348e146c5b128715578bfb3217229 + version: 6.2.1 + resolution: "ansi-styles@npm:6.2.1" + checksum: ef940f2f0ced1a6347398da88a91da7930c33ecac3c77b72c5905f8b8fe402c52e6fde304ff5347f616e27a742da3f1dc76de98f6866c69251ad0b07a66776d9 languageName: node linkType: hard @@ -5586,7 +5485,7 @@ __metadata: languageName: node linkType: hard -"any-promise@npm:^1.0.0, any-promise@npm:^1.1.0": +"any-promise@npm:^1.1.0": version: 1.3.0 resolution: "any-promise@npm:1.3.0" checksum: 0ee8a9bdbe882c90464d75d1f55cf027f5458650c4bd1f0467e65aec38ccccda07ca5844969ee77ed46d04e7dded3eaceb027e8d32f385688523fe305fa7e1de @@ -5604,12 +5503,12 @@ __metadata: linkType: hard "anymatch@npm:~3.1.2": - version: 3.1.2 - resolution: "anymatch@npm:3.1.2" + version: 3.1.3 + resolution: "anymatch@npm:3.1.3" dependencies: normalize-path: ^3.0.0 picomatch: ^2.0.4 - checksum: 985163db2292fac9e5a1e072bf99f1b5baccf196e4de25a0b0b81865ebddeb3b3eb4480734ef0a2ac8c002845396b91aa89121f5b84f93981a4658164a9ec6e9 + checksum: 3e044fd6d1d26545f235a9fe4d7a534e2029d8e59fa7fd9f2a6eb21230f6b5380ea1eaf55136e60cbf8e613544b3b766e7a6fa2102e2a3a117505466e3025dc2 languageName: node linkType: hard @@ -5634,10 +5533,10 @@ __metadata: languageName: node linkType: hard -"aproba@npm:^1.0.3": - version: 1.2.0 - resolution: "aproba@npm:1.2.0" - checksum: 0fca141966559d195072ed047658b6e6c4fe92428c385dd38e288eacfc55807e7b4989322f030faff32c0f46bb0bc10f1e0ac32ec22d25315a1e5bbc0ebb76dc +"aproba@npm:^1.0.3 || ^2.0.0": + version: 2.0.0 + resolution: "aproba@npm:2.0.0" + checksum: 5615cadcfb45289eea63f8afd064ab656006361020e1735112e346593856f87435e02d8dcc7ff0d11928bc7d425f27bc7c2a84f6c0b35ab0ff659c814c138a24 languageName: node linkType: hard @@ -5648,13 +5547,13 @@ __metadata: languageName: node linkType: hard -"are-we-there-yet@npm:~1.1.2": - version: 1.1.5 - resolution: "are-we-there-yet@npm:1.1.5" +"are-we-there-yet@npm:^3.0.0": + version: 3.0.1 + resolution: "are-we-there-yet@npm:3.0.1" dependencies: delegates: ^1.0.0 - readable-stream: ^2.0.6 - checksum: 9a746b1dbce4122f44002b0c39fbba5b2c6f52c00e88b6ccba6fc68652323f8a1355a20e8ab94846995626d8de3bf67669a3b4a037dff0885db14607168f2b15 + readable-stream: ^3.6.0 + checksum: 52590c24860fa7173bedeb69a4c05fb573473e860197f618b9a28432ee4379049336727ae3a1f9c4cb083114601c1140cee578376164d0e651217a9843f9fe83 languageName: node linkType: hard @@ -5730,17 +5629,27 @@ __metadata: languageName: node linkType: hard -"array-back@npm:^3.0.1": +"array-back@npm:^3.0.1, array-back@npm:^3.1.0": version: 3.1.0 resolution: "array-back@npm:3.1.0" checksum: 7205004fcd0f9edd926db921af901b083094608d5b265738d0290092f9822f73accb468e677db74c7c94ef432d39e5ed75a7b1786701e182efb25bbba9734209 languageName: node linkType: hard -"array-back@npm:^4.0.1": - version: 4.0.1 - resolution: "array-back@npm:4.0.1" - checksum: f941e56e9fc85dc9ba465549e669d3e0d246351fa3f0a6248cd14c90be420db23e271485809bf433abe719ff21ebaca4b3d37e7dd79b24d77bed9a8418dc0219 +"array-back@npm:^4.0.1, array-back@npm:^4.0.2": + version: 4.0.2 + resolution: "array-back@npm:4.0.2" + checksum: f30603270771eeb54e5aad5f54604c62b3577a18b6db212a7272b2b6c32049121b49431f656654790ed1469411e45f387e7627c0de8fd0515995cc40df9b9294 + languageName: node + linkType: hard + +"array-buffer-byte-length@npm:^1.0.0": + version: 1.0.0 + resolution: "array-buffer-byte-length@npm:1.0.0" + dependencies: + call-bind: ^1.0.2 + is-array-buffer: ^3.0.1 + checksum: 044e101ce150f4804ad19c51d6c4d4cfa505c5b2577bd179256e4aa3f3f6a0a5e9874c78cd428ee566ac574c8a04d7ce21af9fe52e844abfdccb82b33035a7c3 languageName: node linkType: hard @@ -5896,21 +5805,21 @@ __metadata: linkType: hard "async-done@npm:^1.2.0, async-done@npm:^1.2.2": - version: 1.3.1 - resolution: "async-done@npm:1.3.1" + version: 1.3.2 + resolution: "async-done@npm:1.3.2" dependencies: end-of-stream: ^1.1.0 once: ^1.3.2 - process-nextick-args: ^1.0.7 + process-nextick-args: ^2.0.0 stream-exhaust: ^1.0.1 - checksum: 4cf4d232cafe2103f999e1c059d6ec5052fcf61a6d33f5e660186b1c9c99f1bb67a92363c462c3bbef44e58236d37a78ec1bdb4263297e92f25e9a89223270a6 + checksum: 2e46e294826782e1b7a7ff051d75abfeb7735d4d970de8d630d6aac154090479bcc523dbb8ddb2bc16c94e9886024df2c312edc1bb901c331938fa782923c1d8 languageName: node linkType: hard "async-each@npm:^1.0.1": - version: 1.0.2 - resolution: "async-each@npm:1.0.2" - checksum: d4bf93a0dda2b94034d300099097aa95cf602ad37c28bf5747109d1b95c8435653c6f235b960ecdf36caa85f4c40d8b6f50313faa202cfc32d5746d0cc0edeae + version: 1.0.6 + resolution: "async-each@npm:1.0.6" + checksum: d237e8c39348d5f1441edbd3893692912afbacaf83a2ccce8978ebeea804529a8838654b12208fbbc08c8b0411a1248948ee9bf9291ebe1921aabd5b613bc5db languageName: node linkType: hard @@ -6060,10 +5969,10 @@ __metadata: languageName: node linkType: hard -"base64-js@npm:^1.0.2, base64-js@npm:^1.3.0": - version: 1.3.1 - resolution: "base64-js@npm:1.3.1" - checksum: 957b9ced0ea1b39588a117193f801b045a5fb2d6f1b9943dd304bcad46e5681bf837fe092105692b11653658e8443764139d6b11d3c4037093b96e8db4e1dbb2 +"base64-js@npm:^1.3.0, base64-js@npm:^1.3.1": + version: 1.5.1 + resolution: "base64-js@npm:1.5.1" + checksum: 669632eb3745404c2f822a18fc3a0122d2f9a7a13f7fb8b5823ee19d1d2ff9ee5b52c53367176ea4ad093c332fd5ab4bd0ebae5a8e27917a4105a4cfc86b1005 languageName: node linkType: hard @@ -6090,9 +5999,9 @@ __metadata: linkType: hard "before-after-hook@npm:^2.2.0": - version: 2.2.2 - resolution: "before-after-hook@npm:2.2.2" - checksum: dc2e1ffe389e5afbef2a46790b1b5a50247ed57aba67649cfa9ec2552d248cc9278f222e72fb5a8ff59bbb39d78fbaa97e7234ead0c6b5e8418b67a8644ce207 + version: 2.2.3 + resolution: "before-after-hook@npm:2.2.3" + checksum: a1a2430976d9bdab4cd89cb50d27fa86b19e2b41812bf1315923b0cba03371ebca99449809226425dd3bcef20e010db61abdaff549278e111d6480034bebae87 languageName: node linkType: hard @@ -6104,9 +6013,18 @@ __metadata: linkType: hard "binary-extensions@npm:^2.0.0": - version: 2.1.0 - resolution: "binary-extensions@npm:2.1.0" - checksum: 16ef0ca9b8ebf1fa2376658d1fba6840b311ddfef81c507dbe0465ae3e9545899d9a5ae513e32907963259073e8f87247b0c43d43f13ed1c50ea1e29e9d1d19f + version: 2.2.0 + resolution: "binary-extensions@npm:2.2.0" + checksum: ccd267956c58d2315f5d3ea6757cf09863c5fc703e50fbeb13a7dc849b812ef76e3cf9ca8f35a0c48498776a7478d7b4a0418e1e2b8cb9cb9731f2922aaad7f8 + languageName: node + linkType: hard + +"bindings@npm:^1.5.0": + version: 1.5.0 + resolution: "bindings@npm:1.5.0" + dependencies: + file-uri-to-path: 1.0.0 + checksum: 65b6b48095717c2e6105a021a7da4ea435aa8d3d3cd085cb9e85bcb6e5773cf318c4745c3f7c504412855940b585bdf9b918236612a1c7a7942491de176f1ae7 languageName: node linkType: hard @@ -6121,9 +6039,9 @@ __metadata: linkType: hard "blocking-elements@npm:^0.1.0": - version: 0.1.0 - resolution: "blocking-elements@npm:0.1.0" - checksum: 8c683e1d60796049a2a868dbd7eb84469711fadc948d25dd824470f969022307566077799948f26454aebb254cc62b651a9999cb3800e75b221886982f4e98f6 + version: 0.1.1 + resolution: "blocking-elements@npm:0.1.1" + checksum: 9a34084405b73d60125d885b5c7ff5fe2ea93b939d5e4670319eb33ee4e05108d49a01aa1e8f3611f6f6bbdfad413bda1e38b6f9a60e8f8049bd60d70a37785c languageName: node linkType: hard @@ -6155,14 +6073,14 @@ __metadata: linkType: hard "bonjour-service@npm:^1.0.11": - version: 1.0.14 - resolution: "bonjour-service@npm:1.0.14" + version: 1.1.1 + resolution: "bonjour-service@npm:1.1.1" dependencies: array-flatten: ^2.1.2 dns-equal: ^1.0.0 fast-deep-equal: ^3.1.3 multicast-dns: ^7.2.5 - checksum: 4a825bbf1824147ba8295a182fb3e86a8bae5159a08e2f118e829a0c988043a559f1f6e4eab425fe17ee9a1f080115d30430e78962e53f75bb03e2021ee7c5b2 + checksum: 832d0cf78b91368fac8bb11fd7a714e46f4c4fb1bb14d7283bce614a6fb3aae2f3fe209aba5b4fa051811c1cab6921d073a83db8432fb23292f27dd4161fb0f1 languageName: node linkType: hard @@ -6219,17 +6137,17 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.14.5, browserslist@npm:^4.21.3, browserslist@npm:^4.21.4": - version: 4.21.4 - resolution: "browserslist@npm:4.21.4" +"browserslist@npm:^4.14.5, browserslist@npm:^4.21.3, browserslist@npm:^4.21.5": + version: 4.21.5 + resolution: "browserslist@npm:4.21.5" dependencies: - caniuse-lite: ^1.0.30001400 - electron-to-chromium: ^1.4.251 - node-releases: ^2.0.6 - update-browserslist-db: ^1.0.9 + caniuse-lite: ^1.0.30001449 + electron-to-chromium: ^1.4.284 + node-releases: ^2.0.8 + update-browserslist-db: ^1.0.10 bin: browserslist: cli.js - checksum: 4af3793704dbb4615bcd29059ab472344dc7961c8680aa6c4bb84f05340e14038d06a5aead58724eae69455b8fade8b8c69f1638016e87e5578969d74c078b79 + checksum: 9755986b22e73a6a1497fd8797aedd88e04270be33ce66ed5d85a1c8a798292a65e222b0f251bafa1c2522261e237d73b08b58689d4920a607e5a53d56dc4706 languageName: node linkType: hard @@ -6248,26 +6166,26 @@ __metadata: linkType: hard "buffer-equal@npm:^1.0.0": - version: 1.0.0 - resolution: "buffer-equal@npm:1.0.0" - checksum: c63a62d25ffc6f3a7064a86dd0d92d93a32d03b14f22d17374790bc10e94bca2312302895fdd28a2b0060999d4385cf90cbf6ad1a6678065156c664016d3be45 + version: 1.0.1 + resolution: "buffer-equal@npm:1.0.1" + checksum: 6ead0f976726c4e2fb6f2e82419983f4a99cbf2cca1f1e107e16c23c4d91d9046c732dd29b63fc6ac194354f74fa107e8e94946ef2527812d83cde1d5a006309 languageName: node linkType: hard "buffer-from@npm:^1.0.0": - version: 1.1.1 - resolution: "buffer-from@npm:1.1.1" - checksum: ccc53b69736008bff764497367c4d24879ba7122bc619ee499ff47eef3a5b885ca496e87272e7ebffa0bec3804c83f84041c616f6e3318f40624e27c1d80f045 + version: 1.1.2 + resolution: "buffer-from@npm:1.1.2" + checksum: 0448524a562b37d4d7ed9efd91685a5b77a50672c556ea254ac9a6d30e3403a517d8981f10e565db24e8339413b43c97ca2951f10e399c6125a0d8911f5679bb languageName: node linkType: hard "buffer@npm:^5.2.0": - version: 5.6.0 - resolution: "buffer@npm:5.6.0" + version: 5.7.1 + resolution: "buffer@npm:5.7.1" dependencies: - base64-js: ^1.0.2 - ieee754: ^1.1.4 - checksum: d659494c5032dd39d03d2912e64179cc44c6340e7e9d1f68d3840e7ab4559989fbce92b4950174593c38d05268224235ba404f0878775cab2a616b6dcad9c23e + base64-js: ^1.3.1 + ieee754: ^1.1.13 + checksum: e2cf8429e1c4c7b8cbd30834ac09bd61da46ce35f5c22a78e6c2f04497d6d25541b16881e30a019c6fd3154150650ccee27a308eff3e26229d788bbdeb08ab84 languageName: node linkType: hard @@ -6292,28 +6210,29 @@ __metadata: languageName: node linkType: hard -"cacache@npm:^15.0.5": - version: 15.2.0 - resolution: "cacache@npm:15.2.0" +"cacache@npm:^16.1.0": + version: 16.1.3 + resolution: "cacache@npm:16.1.3" dependencies: - "@npmcli/move-file": ^1.0.1 + "@npmcli/fs": ^2.1.0 + "@npmcli/move-file": ^2.0.0 chownr: ^2.0.0 - fs-minipass: ^2.0.0 - glob: ^7.1.4 + fs-minipass: ^2.1.0 + glob: ^8.0.1 infer-owner: ^1.0.4 - lru-cache: ^6.0.0 - minipass: ^3.1.1 + lru-cache: ^7.7.1 + minipass: ^3.1.6 minipass-collect: ^1.0.2 minipass-flush: ^1.0.5 - minipass-pipeline: ^1.2.2 - mkdirp: ^1.0.3 + minipass-pipeline: ^1.2.4 + mkdirp: ^1.0.4 p-map: ^4.0.0 promise-inflight: ^1.0.1 rimraf: ^3.0.2 - ssri: ^8.0.1 - tar: ^6.0.2 - unique-filename: ^1.1.1 - checksum: 34d0fba6030dd3f1f9de4d9fb486cfa8f6ec836ab00d75b846b40c06f96e64898e781f715d19a2c357a601a899c339a44446f94dd328f173605af165a295dd29 + ssri: ^9.0.0 + tar: ^6.1.11 + unique-filename: ^2.0.0 + checksum: d91409e6e57d7d9a3a25e5dcc589c84e75b178ae8ea7de05cbf6b783f77a5fae938f6e8fda6f5257ed70000be27a681e1e44829251bfffe4c10216002f8f14e6 languageName: node linkType: hard @@ -6355,30 +6274,20 @@ __metadata: linkType: hard "call-me-maybe@npm:^1.0.1": - version: 1.0.1 - resolution: "call-me-maybe@npm:1.0.1" - checksum: d19e9d6ac2c6a83fb1215718b64c5e233f688ebebb603bdfe4af59cde952df1f2b648530fab555bf290ea910d69d7d9665ebc916e871e0e194f47c2e48e4886b + version: 1.0.2 + resolution: "call-me-maybe@npm:1.0.2" + checksum: 42ff2d0bed5b207e3f0122589162eaaa47ba618f79ad2382fe0ba14d9e49fbf901099a6227440acc5946f86a4953e8aa2d242b330b0a5de4d090bb18f8935cae languageName: node linkType: hard "callsites@npm:^3.0.0": - version: 3.0.0 - resolution: "callsites@npm:3.0.0" - checksum: 40e3cb2027cceb6c6da0c9cfba2266606beec488f8028382b4cbb8f4320665c13f8012fd400efb3c43ae22e1547e89909fb9b2e8521e3b4e532ae300a5d248f9 + version: 3.1.0 + resolution: "callsites@npm:3.1.0" + checksum: 072d17b6abb459c2ba96598918b55868af677154bec7e73d222ef95a8fdb9bbf7dae96a8421085cdad8cd190d86653b5b6dc55a4484f2e5b2e27d5e0c3fc15b3 languageName: node linkType: hard -"camel-case@npm:^3.0.0": - version: 3.0.0 - resolution: "camel-case@npm:3.0.0" - dependencies: - no-case: ^2.2.0 - upper-case: ^1.1.1 - checksum: 4190ed6ab8acf4f3f6e1a78ad4d0f3f15ce717b6bfa1b5686d58e4bcd29960f6e312dd746b5fa259c6d452f1413caef25aee2e10c9b9a580ac83e516533a961a - languageName: node - linkType: hard - -"camel-case@npm:^4.1.1": +"camel-case@npm:^4.1.1, camel-case@npm:^4.1.2": version: 4.1.2 resolution: "camel-case@npm:4.1.2" dependencies: @@ -6403,16 +6312,16 @@ __metadata: linkType: hard "camelcase@npm:^6.0.0, camelcase@npm:^6.2.0": - version: 6.2.0 - resolution: "camelcase@npm:6.2.0" - checksum: 8335cfd0ecc472eae685896a42afd8c9dacd193a91f569120b931c87deb053a1ba82102031b9b48a4dbc1d18066caeacf2e4ace8c3c7f0d02936d348dc0b5a87 + version: 6.3.0 + resolution: "camelcase@npm:6.3.0" + checksum: 8c96818a9076434998511251dcb2761a94817ea17dbdc37f47ac080bd088fc62c7369429a19e2178b993497132c8cbcf5cc1f44ba963e76782ba469c0474938d languageName: node linkType: hard -"caniuse-lite@npm:^1.0.30001400": - version: 1.0.30001434 - resolution: "caniuse-lite@npm:1.0.30001434" - checksum: 7c9d2641e8e8f3ddf9af14c4ce47266a9d8fd1fc0243626049ff1b2eca4bf02938ff440813cc3feae3fa8d851ec8d1b9718044340c8d09bb4372d92d4f6b519c +"caniuse-lite@npm:^1.0.30001449": + version: 1.0.30001469 + resolution: "caniuse-lite@npm:1.0.30001469" + checksum: 8e496509d7e9ff189c72205675b5db0c5f1b6a09917027441e835efae0848a468a8c4e7d2b409ffc202438fcd23ae53e017f976a03c22c04d12d3c0e1e33e5de languageName: node linkType: hard @@ -6431,6 +6340,13 @@ __metadata: languageName: node linkType: hard +"chalk@npm:5.2.0": + version: 5.2.0 + resolution: "chalk@npm:5.2.0" + checksum: 03d8060277de6cf2fd567dc25fcf770593eb5bb85f460ce443e49255a30ff1242edd0c90a06a03803b0466ff0687a939b41db1757bec987113e83de89a003caa + languageName: node + linkType: hard + "chalk@npm:^2.0.0, chalk@npm:^2.4.2": version: 2.4.2 resolution: "chalk@npm:2.4.2" @@ -6508,13 +6424,6 @@ __metadata: languageName: node linkType: hard -"chownr@npm:^1.1.1": - version: 1.1.1 - resolution: "chownr@npm:1.1.1" - checksum: c9eff42c1141043fe5132a996e1dbc68aa30de3f5e899a7d2ca9bd15ae57569eb3649d04ab86978170232c48c631584ab2d0ea467a3304a5e7a67bd4c7040738 - languageName: node - linkType: hard - "chownr@npm:^2.0.0": version: 2.0.0 resolution: "chownr@npm:2.0.0" @@ -6523,11 +6432,9 @@ __metadata: linkType: hard "chrome-trace-event@npm:^1.0.2": - version: 1.0.2 - resolution: "chrome-trace-event@npm:1.0.2" - dependencies: - tslib: ^1.9.0 - checksum: a104606fd07e6191848fa15d4031ac41c1715d025074574bdbb27d998a20d75d860a2060a5aca840bfbf97ec2ef6b72df9b387ed4109a8fc6eb5c362477c9294 + version: 1.0.3 + resolution: "chrome-trace-event@npm:1.0.3" + checksum: cb8b1fc7e881aaef973bd0c4a43cd353c2ad8323fb471a041e64f7c2dd849cde4aad15f8b753331a32dda45c973f032c8a03b8177fc85d60eaa75e91e08bfb97 languageName: node linkType: hard @@ -6543,6 +6450,15 @@ __metadata: languageName: node linkType: hard +"clean-css@npm:5.2.0": + version: 5.2.0 + resolution: "clean-css@npm:5.2.0" + dependencies: + source-map: ~0.6.0 + checksum: ccb63b244b200abf53a005429b50132845a49b994fb6a2889a7eb775d53fbde7cb0d0b13655e435b0c3a6788d5d0fbcd2f56ccf32da852ef21ae933198dcad24 + languageName: node + linkType: hard + "clean-css@npm:^4.2.1, clean-css@npm:^4.2.3": version: 4.2.4 resolution: "clean-css@npm:4.2.4" @@ -6681,13 +6597,13 @@ __metadata: linkType: hard "cloneable-readable@npm:^1.0.0": - version: 1.1.2 - resolution: "cloneable-readable@npm:1.1.2" + version: 1.1.3 + resolution: "cloneable-readable@npm:1.1.3" dependencies: inherits: ^2.0.1 process-nextick-args: ^2.0.0 readable-stream: ^2.3.5 - checksum: 4d9a10f81dd79fca256bfca7e668a141bc7afeba802df2d4cdff48f96b5ca9a38dd262d9ac4fa18c2835029468f813abc7963c80e5d853518f5e45f602418f07 + checksum: 23b3741225a80c1760dff58aafb6a45383d5ee2d42de7124e4e674387cfad2404493d685b35ebfca9098f99c296e5c5719e748c9750c13838a2016ea2d2bb83a languageName: node linkType: hard @@ -6782,30 +6698,37 @@ __metadata: linkType: hard "command-line-args@npm:^5.1.1": - version: 5.1.1 - resolution: "command-line-args@npm:5.1.1" + version: 5.2.1 + resolution: "command-line-args@npm:5.2.1" dependencies: - array-back: ^3.0.1 + array-back: ^3.1.0 find-replace: ^3.0.0 lodash.camelcase: ^4.3.0 typical: ^4.0.0 - checksum: ea02272e4bc8f433ab6d0ffaab5aafd8ad5b9fc39013996a14d8ac02309592745a239ae1ab82843932cb5747e1e5a576de79fcb0d7608e8d88087172fbcafe3a + checksum: e759519087be3cf2e86af8b9a97d3058b4910cd11ee852495be881a067b72891f6a32718fb685ee6d41531ab76b2b7bfb6602f79f882cd4b7587ff1e827982c7 languageName: node linkType: hard "command-line-usage@npm:^6.1.1": - version: 6.1.1 - resolution: "command-line-usage@npm:6.1.1" + version: 6.1.3 + resolution: "command-line-usage@npm:6.1.3" dependencies: - array-back: ^4.0.1 + array-back: ^4.0.2 chalk: ^2.4.2 - table-layout: ^1.0.1 + table-layout: ^1.0.2 typical: ^5.2.0 - checksum: f84268a10449323cc838cec3eeaa962b0e63b93142bbeb9202e3e5406ecbbc91fd018d235a49088430f5b757fa1e9c086c3ca141583cfc3950d3fb366b0b2fed + checksum: 8261d4e5536eb0bcddee0ec5e89c05bb2abd18e5760785c8078ede5020bc1c612cbe28eb6586f5ed4a3660689748e5aaad4a72f21566f4ef39393694e2fa1a0b languageName: node linkType: hard -"commander@npm:^2.19.0, commander@npm:^2.20.0, commander@npm:^2.20.3, commander@npm:~2.20.3": +"commander@npm:^10.0.0": + version: 10.0.0 + resolution: "commander@npm:10.0.0" + checksum: 9f6495651f878213005ac744dd87a85fa3d9f2b8b90d1c19d0866d666bda7f735adfd7c2f10dfff345782e2f80ea258f98bb4efcef58e4e502f25f883940acfd + languageName: node + linkType: hard + +"commander@npm:^2.20.0, commander@npm:^2.20.3": version: 2.20.3 resolution: "commander@npm:2.20.3" checksum: ab8c07884e42c3a8dbc5dd9592c606176c7eb5c1ca5ff274bcf907039b2c41de3626f684ea75ccf4d361ba004bbaff1f577d5384c155f3871e456bdf27becf9e @@ -6827,9 +6750,9 @@ __metadata: linkType: hard "common-tags@npm:^1.8.0": - version: 1.8.0 - resolution: "common-tags@npm:1.8.0" - checksum: fb0cc9420d149176f2bd2b1fc9e6df622cd34eccaca60b276aa3253a7c9241e8a8ed1ec0702b2679eba7e47aeef721869c686bbd7257b75b5c44993c8462cd7f + version: 1.8.2 + resolution: "common-tags@npm:1.8.2" + checksum: 767a6255a84bbc47df49a60ab583053bb29a7d9687066a18500a516188a062c4e4cd52de341f22de0b07062e699b1b8fe3cfa1cb55b241cb9301aeb4f45b4dff languageName: node linkType: hard @@ -6891,9 +6814,9 @@ __metadata: linkType: hard "confusing-browser-globals@npm:^1.0.10": - version: 1.0.10 - resolution: "confusing-browser-globals@npm:1.0.10" - checksum: 7ccdc44c2ca419cf6576c3e4336106e18d1c5337f547e461342f51aec4a10f96fdfe45414b522be3c7d24ea0b62bf4372cd37768022e4d6161707ffb2c0987e6 + version: 1.0.11 + resolution: "confusing-browser-globals@npm:1.0.11" + checksum: 3afc635abd37e566477f610e7978b15753f0e84025c25d49236f1f14d480117185516bdd40d2a2167e6bed8048641a9854964b9c067e3dcdfa6b5d0ad3c3a5ef languageName: node linkType: hard @@ -6911,7 +6834,7 @@ __metadata: languageName: node linkType: hard -"console-control-strings@npm:^1.0.0, console-control-strings@npm:~1.1.0": +"console-control-strings@npm:^1.1.0": version: 1.1.0 resolution: "console-control-strings@npm:1.1.0" checksum: 8755d76787f94e6cf79ce4666f0c5519906d7f5b02d4b884cf41e11dcd759ed69c57da0670afd9236d229a46e0f9cf519db0cd829c6dca820bb5a5c3def584ed @@ -6935,18 +6858,16 @@ __metadata: linkType: hard "content-type@npm:^1.0.4, content-type@npm:~1.0.4": - version: 1.0.4 - resolution: "content-type@npm:1.0.4" - checksum: 3d93585fda985d1554eca5ebd251994327608d2e200978fdbfba21c0c679914d5faf266d17027de44b34a72c7b0745b18584ecccaa7e1fdfb6a68ac7114f12e0 + version: 1.0.5 + resolution: "content-type@npm:1.0.5" + checksum: 566271e0a251642254cde0f845f9dd4f9856e52d988f4eb0d0dcffbb7a1f8ec98de7a5215fc628f3bce30fe2fb6fd2bc064b562d721658c59b544e2d34ea2766 languageName: node linkType: hard "convert-source-map@npm:^1.5.0, convert-source-map@npm:^1.7.0": - version: 1.7.0 - resolution: "convert-source-map@npm:1.7.0" - dependencies: - safe-buffer: ~5.1.1 - checksum: bcd2e3ea7d37f96b85a6e362c8a89402ccc73757256e3ee53aa2c22fe915adb854c66b1f81111be815a3a6a6ce3c58e8001858e883c9d5b4fe08a853fa865967 + version: 1.9.0 + resolution: "convert-source-map@npm:1.9.0" + checksum: dc55a1f28ddd0e9485ef13565f8f756b342f9a46c4ae18b843fe3c30c675d058d6a4823eff86d472f187b176f0adf51ea7b69ea38be34be4a63cbbf91b0593c8 languageName: node linkType: hard @@ -6992,25 +6913,25 @@ __metadata: linkType: hard "core-js-compat@npm:^3.25.1": - version: 3.26.1 - resolution: "core-js-compat@npm:3.26.1" + version: 3.29.1 + resolution: "core-js-compat@npm:3.29.1" dependencies: - browserslist: ^4.21.4 - checksum: f222bce0002eae405327d68286e1d566037e8ac21906a47d7ecd15858adca7b12e82140db11dc43c8cc1fc066c5306120f3c27bfb2d7dbc2d20a72a2d90d38dc + browserslist: ^4.21.5 + checksum: 7260f6bbaa98836cda09a3b61aa721149d3ae95040302fb3b27eb153ae9bbddc8dee5249e72004cdc9552532029de4d50a5b2b066c37414421d2929d6091b18f languageName: node linkType: hard -"core-js@npm:3.29.0": - version: 3.29.0 - resolution: "core-js@npm:3.29.0" - checksum: 2bd69d783efcd2ef9197ce892a8b91d7b2fd86dddce805a3be0ff721013a2342eeab0f7d0b4b5548c1377b9846a8fb81485054efd39618b9d1a1fca04af81ccf +"core-js@npm:3.29.1": + version: 3.29.1 + resolution: "core-js@npm:3.29.1" + checksum: b38446dbfcfd3887b3d4922990da487e2c95044cb4c5717aaf95e786a4c6b218f05c056c7ed6c699169b9794a49fec890e402659d54661fc56965a0eb717e7bd languageName: node linkType: hard "core-util-is@npm:~1.0.0": - version: 1.0.2 - resolution: "core-util-is@npm:1.0.2" - checksum: 7a4c925b497a2c91421e25bf76d6d8190f0b2359a9200dbeed136e63b2931d6294d3b1893eda378883ed363cd950f44a12a401384c609839ea616befb7927dab + version: 1.0.3 + resolution: "core-util-is@npm:1.0.3" + checksum: 9de8597363a8e9b9952491ebe18167e3b36e7707569eed0ebf14f8bba773611376466ae34575bca8cfe3c767890c859c74056084738f09d4e4a6f902b2ad7d99 languageName: node linkType: hard @@ -7060,12 +6981,13 @@ __metadata: languageName: node linkType: hard -"d@npm:1": - version: 1.0.0 - resolution: "d@npm:1.0.0" +"d@npm:1, d@npm:^1.0.1": + version: 1.0.1 + resolution: "d@npm:1.0.1" dependencies: - es5-ext: ^0.10.9 - checksum: e9e866f16cd81d587c0b3d042a31ec9dac773b58d57f994e8db14c5712fc2faf76e6481356f144811893a02206697604e4260afed232d6a1e984c5a6656ff561 + es5-ext: ^0.10.50 + type: ^1.0.1 + checksum: 49ca0639c7b822db670de93d4fbce44b4aa072cd848c76292c9978a8cd0fff1028763020ff4b0f147bd77bfe29b4c7f82e0f71ade76b2a06100543cdfd948d19 languageName: node linkType: hard @@ -7086,13 +7008,13 @@ __metadata: linkType: hard "debounce@npm:^1.2.0": - version: 1.2.0 - resolution: "debounce@npm:1.2.0" - checksum: e39cb593ae26344921f5a2681b40b703bdd22bc43b179f0e7515176c790997932b3a0ee6ea9864f384c6ac58cecc08158fb102c3632d5d88ab621f8230ee39ff + version: 1.2.1 + resolution: "debounce@npm:1.2.1" + checksum: 682a89506d9e54fb109526f4da255c5546102fbb8e3ae75eef3b04effaf5d4853756aee97475cd4650641869794e44f410eeb20ace2b18ea592287ab2038519e languageName: node linkType: hard -"debug@npm:2.6.9, debug@npm:^2.1.2, debug@npm:^2.2.0, debug@npm:^2.3.3": +"debug@npm:2.6.9, debug@npm:^2.2.0, debug@npm:^2.3.3": version: 2.6.9 resolution: "debug@npm:2.6.9" dependencies: @@ -7101,7 +7023,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:4, debug@npm:4.3.4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.2, debug@npm:^4.3.4": +"debug@npm:4, debug@npm:4.3.4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.2, debug@npm:^4.3.3, debug@npm:^4.3.4": version: 4.3.4 resolution: "debug@npm:4.3.4" dependencies: @@ -7122,15 +7044,6 @@ __metadata: languageName: node linkType: hard -"debug@npm:~3.1.0": - version: 3.1.0 - resolution: "debug@npm:3.1.0" - dependencies: - ms: 2.0.0 - checksum: 0b52718ab957254a5b3ca07fc34543bc778f358620c206a08452251eb7fc193c3ea3505072acbf4350219c14e2d71ceb7bdaa0d3370aa630b50da790458d08b3 - languageName: node - linkType: hard - "decamelize@npm:^1.1.1, decamelize@npm:^1.2.0": version: 1.2.0 resolution: "decamelize@npm:1.2.0" @@ -7200,7 +7113,7 @@ __metadata: languageName: node linkType: hard -"deep-extend@npm:^0.6.0, deep-extend@npm:~0.6.0": +"deep-extend@npm:~0.6.0": version: 0.6.0 resolution: "deep-extend@npm:0.6.0" checksum: 7be7e5a8d468d6b10e6a67c3de828f55001b6eb515d014f7aeb9066ce36bd5717161eb47d6a0f7bed8a9083935b465bc163ee2581c8b128d29bf61092fdf57a7 @@ -7215,16 +7128,16 @@ __metadata: linkType: hard "deep-is@npm:^0.1.3": - version: 0.1.3 - resolution: "deep-is@npm:0.1.3" - checksum: c15b04c3848a89880c94e25b077c19b47d9a30dd99048e70e5f95d943e7b246bee1da0c1376b56b01bc045be2cae7d9b1c856e68e47e9805634327de7c6cb6d5 + version: 0.1.4 + resolution: "deep-is@npm:0.1.4" + checksum: edb65dd0d7d1b9c40b2f50219aef30e116cedd6fc79290e740972c132c09106d2e80aa0bc8826673dd5a00222d4179c84b36a790eef63a4c4bca75a37ef90804 languageName: node linkType: hard "deepmerge@npm:^4.2.2": - version: 4.2.2 - resolution: "deepmerge@npm:4.2.2" - checksum: a8c43a1ed8d6d1ed2b5bf569fa4c8eb9f0924034baf75d5d406e47e157a451075c4db353efea7b6bcc56ec48116a8ce72fccf867b6e078e7c561904b5897530b + version: 4.3.1 + resolution: "deepmerge@npm:4.3.1" + checksum: 2024c6a980a1b7128084170c4cf56b0fd58a63f2da1660dcfe977415f27b17dbe5888668b59d0b063753f3220719d5e400b7f113609489c90160bb9a5518d052 languageName: node linkType: hard @@ -7270,12 +7183,12 @@ __metadata: linkType: hard "define-properties@npm:^1.1.3, define-properties@npm:^1.1.4": - version: 1.1.4 - resolution: "define-properties@npm:1.1.4" + version: 1.2.0 + resolution: "define-properties@npm:1.2.0" dependencies: has-property-descriptors: ^1.0.0 object-keys: ^1.1.1 - checksum: ce0aef3f9eb193562b5cfb79b2d2c86b6a109dfc9fdcb5f45d680631a1a908c06824ddcdb72b7573b54e26ace07f0a23420aaba0d5c627b34d2c1de8ef527e2b + checksum: e60aee6a19b102df4e2b1f301816804e81ab48bb91f00d0d935f269bf4b3f79c88b39e4f89eaa132890d23267335fd1140dfcd8d5ccd61031a0a2c41a54e33a6 languageName: node linkType: hard @@ -7330,14 +7243,14 @@ __metadata: languageName: node linkType: hard -"depd@npm:2.0.0, depd@npm:~2.0.0": +"depd@npm:2.0.0, depd@npm:^2.0.0, depd@npm:~2.0.0": version: 2.0.0 resolution: "depd@npm:2.0.0" checksum: abbe19c768c97ee2eed6282d8ce3031126662252c58d711f646921c9623f9052e3e1906443066beec1095832f534e57c523b7333f8e7e0d93051ab6baef5ab3a languageName: node linkType: hard -"depd@npm:^1.1.2, depd@npm:~1.1.2": +"depd@npm:~1.1.2": version: 1.1.2 resolution: "depd@npm:1.1.2" checksum: 6b406620d269619852885ce15965272b829df6f409724415e0002c8632ab6a8c0a08ec1f0bd2add05dc7bd7507606f7e2cc034fa24224ab829580040b835ecd9 @@ -7365,19 +7278,10 @@ __metadata: languageName: node linkType: hard -"detect-libc@npm:^1.0.2": - version: 1.0.3 - resolution: "detect-libc@npm:1.0.3" - bin: - detect-libc: ./bin/detect-libc.js - checksum: daaaed925ffa7889bd91d56e9624e6c8033911bb60f3a50a74a87500680652969dbaab9526d1e200a4c94acf80fc862a22131841145a0a8482d60a99c24f4a3e - languageName: node - linkType: hard - "detect-node@npm:^2.0.4": - version: 2.0.4 - resolution: "detect-node@npm:2.0.4" - checksum: c06ae40fefbad8cb8cbb6ca819c93568b2a809e747bfc9c71f3524b027f5e988163b0ac0517fd65288b375360b30bc4822172eb05d211f99003d73cf8ec22911 + version: 2.1.0 + resolution: "detect-node@npm:2.1.0" + checksum: 832184ec458353e41533ac9c622f16c19f7c02d8b10c303dfd3a756f56be93e903616c0bb2d4226183c9351c15fc0b3dba41a17a2308262afabcfa3776e6ae6e languageName: node linkType: hard @@ -7392,17 +7296,24 @@ __metadata: languageName: node linkType: hard -"diff@npm:5.0.0, diff@npm:^5.0.0": +"diff@npm:5.0.0": version: 5.0.0 resolution: "diff@npm:5.0.0" checksum: f19fe29284b633afdb2725c2a8bb7d25761ea54d321d8e67987ac851c5294be4afeab532bd84531e02583a3fe7f4014aa314a3eda84f5590e7a9e6b371ef3b46 languageName: node linkType: hard +"diff@npm:^5.1.0": + version: 5.1.0 + resolution: "diff@npm:5.1.0" + checksum: c7bf0df7c9bfbe1cf8a678fd1b2137c4fb11be117a67bc18a0e03ae75105e8533dbfb1cda6b46beb3586ef5aed22143ef9d70713977d5fb1f9114e21455fba90 + languageName: node + linkType: hard + "dijkstrajs@npm:^1.0.1": - version: 1.0.1 - resolution: "dijkstrajs@npm:1.0.1" - checksum: e8502df553f72450116bdd4a9238f17ba00343aed9fb4fa45ebefb3bab5c24ca03efdcd2d5059603091e3bbda96c2ab51a504b0025d52d759e68b9e47df5cdfa + version: 1.0.2 + resolution: "dijkstrajs@npm:1.0.2" + checksum: 8cd822441a26f190da24d69bfab7b433d080b09e069e41e046ac84e152f182a1ed9478d531b34126e000adaa7b73114a0f85fcac117a7d25b3edf302d57c0d09 languageName: node linkType: hard @@ -7450,9 +7361,9 @@ __metadata: linkType: hard "dom-walk@npm:^0.1.0": - version: 0.1.1 - resolution: "dom-walk@npm:0.1.1" - checksum: f55db10d0344b87cca1046a2356915a8e9ddee90fc97d3ebb26c4021e593cce47d24cbef18aac721421787c6a60fa14dd079a0b81f8610c9aeeec52177fd2acf + version: 0.1.2 + resolution: "dom-walk@npm:0.1.2" + checksum: 19eb0ce9c6de39d5e231530685248545d9cd2bd97b2cb3486e0bfc0f2a393a9addddfd5557463a932b52fdfcf68ad2a619020cd2c74a5fe46fbecaa8e80872f3 languageName: node linkType: hard @@ -7514,20 +7425,27 @@ __metadata: linkType: hard "ejs@npm:^3.1.6": - version: 3.1.8 - resolution: "ejs@npm:3.1.8" + version: 3.1.9 + resolution: "ejs@npm:3.1.9" dependencies: jake: ^10.8.5 bin: ejs: bin/cli.js - checksum: 1d40d198ad52e315ccf37e577bdec06e24eefdc4e3c27aafa47751a03a0c7f0ec4310254c9277a5f14763c3cd4bbacce27497332b2d87c74232b9b1defef8efc + checksum: af6f10eb815885ff8a8cfacc42c6b6cf87daf97a4884f87a30e0c3271fedd85d76a3a297d9c33a70e735b97ee632887f85e32854b9cdd3a2d97edf931519a35f languageName: node linkType: hard -"electron-to-chromium@npm:^1.4.251": - version: 1.4.284 - resolution: "electron-to-chromium@npm:1.4.284" - checksum: be496e9dca6509dbdbb54dc32146fc99f8eb716d28a7ee8ccd3eba0066561df36fc51418d8bd7cf5a5891810bf56c0def3418e74248f51ea4a843d423603d10a +"electron-to-chromium@npm:^1.4.284": + version: 1.4.335 + resolution: "electron-to-chromium@npm:1.4.335" + checksum: a3c9ee2412427ed0853f065f1dde64db1b567abf53d5e50e8cfba1544af4bda970f59a4f4df3dad81078c948b3277dffb42042e6a859288246d68b58db81a555 + languageName: node + linkType: hard + +"emoji-regex@npm:^10.2.1": + version: 10.2.1 + resolution: "emoji-regex@npm:10.2.1" + checksum: 1aa2d16881c56531fdfc03d0b36f5c2b6221cc4097499a5665b88b711dc3fb4d5b8804f0ca6f00c56e5dcf89bac75f0487eee85da1da77df3a33accc6ecbe426 languageName: node linkType: hard @@ -7538,7 +7456,7 @@ __metadata: languageName: node linkType: hard -"emoji-regex@npm:^9.2.0, emoji-regex@npm:^9.2.2": +"emoji-regex@npm:^9.2.2": version: 9.2.2 resolution: "emoji-regex@npm:9.2.2" checksum: 8487182da74aabd810ac6d6f1994111dfc0e331b01271ae01ec1eb0ad7b5ecc2bbbbd2f053c05cb55a1ac30449527d819bbfbf0e3de1023db308cbcb47f86601 @@ -7559,7 +7477,7 @@ __metadata: languageName: node linkType: hard -"encoding@npm:^0.1.12": +"encoding@npm:^0.1.13": version: 0.1.13 resolution: "encoding@npm:0.1.13" dependencies: @@ -7569,11 +7487,11 @@ __metadata: linkType: hard "end-of-stream@npm:^1.0.0, end-of-stream@npm:^1.1.0": - version: 1.4.1 - resolution: "end-of-stream@npm:1.4.1" + version: 1.4.4 + resolution: "end-of-stream@npm:1.4.4" dependencies: once: ^1.4.0 - checksum: ac0f75d57cfcd5569af5bd2d7d005efb21e1a939fcfcc367e3d991c7e3275eeb10c400880aab4b3be72d5cda0406401511e98990d85996e72b2210cfdd4c8f8a + checksum: 530a5a5a1e517e962854a31693dbb5c0b2fc40b46dad2a56a2deec656ca040631124f4795823acc68238147805f8b021abbe221f4afed5ef3c8e8efc2024908b languageName: node linkType: hard @@ -7598,6 +7516,13 @@ __metadata: languageName: node linkType: hard +"entities@npm:^4.4.0": + version: 4.4.0 + resolution: "entities@npm:4.4.0" + checksum: 84d250329f4b56b40fa93ed067b194db21e8815e4eb9b59f43a086f0ecd342814f6bc483de8a77da5d64e0f626033192b1b4f1792232a7ea6b970ebe0f3187c2 + languageName: node + linkType: hard + "env-paths@npm:^2.2.0": version: 2.2.1 resolution: "env-paths@npm:2.2.1" @@ -7606,11 +7531,11 @@ __metadata: linkType: hard "envinfo@npm:^7.7.3": - version: 7.7.3 - resolution: "envinfo@npm:7.7.3" + version: 7.8.1 + resolution: "envinfo@npm:7.8.1" bin: envinfo: dist/cli.js - checksum: d8fb5c308fafaa18bff0e415d1a538df58de09ce168259b4b3fa6d10b3391df300ae6c64679e382c9949e26102fc703e7f675abc8a56958546baa8f509dc3df4 + checksum: de736c98d6311c78523628ff127af138451b162e57af5293c1b984ca821d0aeb9c849537d2fde0434011bed33f6bca5310ca2aab8a51a3f28fc719e89045d648 languageName: node linkType: hard @@ -7630,17 +7555,17 @@ __metadata: languageName: node linkType: hard -"es-abstract@npm:^1.19.0, es-abstract@npm:^1.19.1, es-abstract@npm:^1.20.4": - version: 1.21.1 - resolution: "es-abstract@npm:1.21.1" +"es-abstract@npm:^1.19.0, es-abstract@npm:^1.20.4": + version: 1.21.2 + resolution: "es-abstract@npm:1.21.2" dependencies: + array-buffer-byte-length: ^1.0.0 available-typed-arrays: ^1.0.5 call-bind: ^1.0.2 es-set-tostringtag: ^2.0.1 es-to-primitive: ^1.2.1 - function-bind: ^1.1.1 function.prototype.name: ^1.1.5 - get-intrinsic: ^1.1.3 + get-intrinsic: ^1.2.0 get-symbol-description: ^1.0.0 globalthis: ^1.0.3 gopd: ^1.0.1 @@ -7648,8 +7573,8 @@ __metadata: has-property-descriptors: ^1.0.0 has-proto: ^1.0.1 has-symbols: ^1.0.3 - internal-slot: ^1.0.4 - is-array-buffer: ^3.0.1 + internal-slot: ^1.0.5 + is-array-buffer: ^3.0.2 is-callable: ^1.2.7 is-negative-zero: ^2.0.2 is-regex: ^1.1.4 @@ -7657,17 +7582,18 @@ __metadata: is-string: ^1.0.7 is-typed-array: ^1.1.10 is-weakref: ^1.0.2 - object-inspect: ^1.12.2 + object-inspect: ^1.12.3 object-keys: ^1.1.1 object.assign: ^4.1.4 regexp.prototype.flags: ^1.4.3 safe-regex-test: ^1.0.0 + string.prototype.trim: ^1.2.7 string.prototype.trimend: ^1.0.6 string.prototype.trimstart: ^1.0.6 typed-array-length: ^1.0.4 unbox-primitive: ^1.0.2 which-typed-array: ^1.1.9 - checksum: 23ff60d42d17a55d150e7bcedbdb065d4077a8b98c436e0e2e1ef4dd532a6d78a56028673de0bd8ed464a43c46ba781c50d9af429b6a17e44dbd14c7d7fb7926 + checksum: 037f55ee5e1cdf2e5edbab5524095a4f97144d95b94ea29e3611b77d852fd8c8a40e7ae7101fa6a759a9b9b1405f188c3c70928f2d3cd88d543a07fc0d5ad41a languageName: node linkType: hard @@ -7688,24 +7614,17 @@ __metadata: languageName: node linkType: hard -"es-module-lexer@npm:^0.3.26": - version: 0.3.26 - resolution: "es-module-lexer@npm:0.3.26" - checksum: 06d7abe4df61935bbfcf710bb20487ffa44fd6c3d67bb493310acc90825f0ac62a483918d46c13bf45441f3c84bd47681c8e942ba9b0a675debb9238ca63fe5c - languageName: node - linkType: hard - "es-module-lexer@npm:^0.9.0": - version: 0.9.1 - resolution: "es-module-lexer@npm:0.9.1" - checksum: 2a8ba5b85c1e6f64a31482e7999e2898d2b2d3fb41d10b5237f58e98ad50a5a9600857fce4ca95077eae8fcb7d058a9282986f0df2643870c3d33d270844e625 + version: 0.9.3 + resolution: "es-module-lexer@npm:0.9.3" + checksum: 84bbab23c396281db2c906c766af58b1ae2a1a2599844a504df10b9e8dc77ec800b3211fdaa133ff700f5703d791198807bba25d9667392d27a5e9feda344da8 languageName: node linkType: hard "es-module-lexer@npm:^1.0.0": - version: 1.1.0 - resolution: "es-module-lexer@npm:1.1.0" - checksum: 3e9f5019b69c6b2f04eb8478c4fdb4ed72cb8b4c97511b5dd39c1f498386ed8f5083c32067c15efcfabc7e8460cb65ed4627dd32405475715a898009922f41fa + version: 1.2.0 + resolution: "es-module-lexer@npm:1.2.0" + checksum: a0b865641ae52093fa3dffc41f3c440ac97b9932156896daa7784e66f01bef40f15b5578540f91cb4a43c38adda4a8ab8afca395b3b25480007d741ff0642de3 languageName: node linkType: hard @@ -7740,18 +7659,18 @@ __metadata: languageName: node linkType: hard -"es5-ext@npm:^0.10.14, es5-ext@npm:^0.10.35, es5-ext@npm:^0.10.9, es5-ext@npm:~0.10.14": - version: 0.10.49 - resolution: "es5-ext@npm:0.10.49" +"es5-ext@npm:^0.10.35, es5-ext@npm:^0.10.46, es5-ext@npm:^0.10.50": + version: 0.10.62 + resolution: "es5-ext@npm:0.10.62" dependencies: - es6-iterator: ~2.0.3 - es6-symbol: ~3.1.1 - next-tick: ^1.0.0 - checksum: 8d9a09d7f42d20e5f7e6792d3512cb7c363a109a5250a7cd50a4f7522030e54c51f31a22c663ff8d7169204e8eeb41665a4a9f9db39b571787acf9e76cf52b05 + es6-iterator: ^2.0.3 + es6-symbol: ^3.1.3 + next-tick: ^1.1.0 + checksum: 25f42f6068cfc6e393cf670bc5bba249132c5f5ec2dd0ed6e200e6274aca2fed8e9aec8a31c76031744c78ca283c57f0b41c7e737804c6328c7b8d3fbcba7983 languageName: node linkType: hard -"es6-iterator@npm:^2.0.1, es6-iterator@npm:~2.0.3": +"es6-iterator@npm:^2.0.1, es6-iterator@npm:^2.0.3": version: 2.0.3 resolution: "es6-iterator@npm:2.0.3" dependencies: @@ -7762,25 +7681,25 @@ __metadata: languageName: node linkType: hard -"es6-symbol@npm:^3.1.1, es6-symbol@npm:~3.1.1": - version: 3.1.1 - resolution: "es6-symbol@npm:3.1.1" +"es6-symbol@npm:^3.1.1, es6-symbol@npm:^3.1.3": + version: 3.1.3 + resolution: "es6-symbol@npm:3.1.3" dependencies: - d: 1 - es5-ext: ~0.10.14 - checksum: 0aca3bfe44d90a77f4f76588b41de5267956d0bdbf2b57120da27314f14dab35dd07cb4188cbae879e1aa1a1e1b0d0d2e2006466738bef808eef58b2c50adc99 + d: ^1.0.1 + ext: ^1.1.2 + checksum: cd49722c2a70f011eb02143ef1c8c70658d2660dead6641e160b94619f408b9cf66425515787ffe338affdf0285ad54f4eae30ea5bd510e33f8659ec53bcaa70 languageName: node linkType: hard "es6-weak-map@npm:^2.0.1": - version: 2.0.2 - resolution: "es6-weak-map@npm:2.0.2" + version: 2.0.3 + resolution: "es6-weak-map@npm:2.0.3" dependencies: d: 1 - es5-ext: ^0.10.14 - es6-iterator: ^2.0.1 + es5-ext: ^0.10.46 + es6-iterator: ^2.0.3 es6-symbol: ^3.1.1 - checksum: ae1662bd495e3c6a4a04045780ef37783992ba57911299c71d1f478cdfbc6ce3715c0b0b2e4e4bcd460f1c0bc98e65621413326f7d6180057ee01733bda1ec90 + checksum: 19ca15f46d50948ce78c2da5f21fb5b1ef45addd4fe17b5df952ff1f2a3d6ce4781249bc73b90995257264be2a98b2ec749bb2aba0c14b5776a1154178f9c927 languageName: node linkType: hard @@ -7848,14 +7767,14 @@ __metadata: languageName: node linkType: hard -"eslint-config-prettier@npm:8.7.0": - version: 8.7.0 - resolution: "eslint-config-prettier@npm:8.7.0" +"eslint-config-prettier@npm:8.8.0": + version: 8.8.0 + resolution: "eslint-config-prettier@npm:8.8.0" peerDependencies: eslint: ">=7.0.0" bin: eslint-config-prettier: bin/cli.js - checksum: b05bc7f2296ce3e0925c14147849706544870e0382d38af2352d709a6cf8521bdaff2bd8e5021f1780e570775a8ffa1d2bac28b8065d90d43a3f1f98fd26ce52 + checksum: 1e94c3882c4d5e41e1dcfa2c368dbccbfe3134f6ac7d40101644d3bfbe3eb2f2ffac757f3145910b5eacf20c0e85e02b91293d3126d770cbf3dc390b3564681c languageName: node linkType: hard @@ -7940,15 +7859,15 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-lit-a11y@npm:2.3.0": - version: 2.3.0 - resolution: "eslint-plugin-lit-a11y@npm:2.3.0" +"eslint-plugin-lit-a11y@npm:2.4.0": + version: 2.4.0 + resolution: "eslint-plugin-lit-a11y@npm:2.4.0" dependencies: aria-query: ^5.1.3 axe-core: ^4.3.3 axobject-query: ^2.2.0 dom5: ^3.0.1 - emoji-regex: ^9.2.0 + emoji-regex: ^10.2.1 eslint-plugin-lit: ^1.6.0 eslint-rule-extender: 0.0.1 language-tags: ^1.0.5 @@ -7957,7 +7876,7 @@ __metadata: requireindex: ~1.2.0 peerDependencies: eslint: ">= 5" - checksum: 6bc589e7e2b17a1dfb5a883b02cd29728061a106322981c8b1c065454d54280567464fcc1564a9e7ade8c779890e4fd49ac31ff556e12d451c92ec76d668542a + checksum: 977340590796cea034658054343d001945b59329a851ad43eeda906800379dd2f98cdc0103c0b7a39da6edfd623d580a0ea18bdf17ae5bb4b89f639b6109bd1d languageName: node linkType: hard @@ -8035,24 +7954,6 @@ __metadata: languageName: node linkType: hard -"eslint-utils@npm:^3.0.0": - version: 3.0.0 - resolution: "eslint-utils@npm:3.0.0" - dependencies: - eslint-visitor-keys: ^2.0.0 - peerDependencies: - eslint: ">=5" - checksum: 0668fe02f5adab2e5a367eee5089f4c39033af20499df88fe4e6aba2015c20720404d8c3d6349b6f716b08fdf91b9da4e5d5481f265049278099c4c836ccb619 - languageName: node - linkType: hard - -"eslint-visitor-keys@npm:^2.0.0": - version: 2.0.0 - resolution: "eslint-visitor-keys@npm:2.0.0" - checksum: e07e9863fb8c9b1453f5ad1a26f3cc8dd6b349b26605cc06bc0c61215ac5b6f13a4d08c875218e6c0f8ac8fc06ca6e090df769e32c569f0fd2e6a848b8a76c75 - languageName: node - linkType: hard - "eslint-visitor-keys@npm:^3.3.0": version: 3.3.0 resolution: "eslint-visitor-keys@npm:3.3.0" @@ -8060,12 +7961,14 @@ __metadata: languageName: node linkType: hard -"eslint@npm:8.35.0": - version: 8.35.0 - resolution: "eslint@npm:8.35.0" +"eslint@npm:8.36.0": + version: 8.36.0 + resolution: "eslint@npm:8.36.0" dependencies: - "@eslint/eslintrc": ^2.0.0 - "@eslint/js": 8.35.0 + "@eslint-community/eslint-utils": ^4.2.0 + "@eslint-community/regexpp": ^4.4.0 + "@eslint/eslintrc": ^2.0.1 + "@eslint/js": 8.36.0 "@humanwhocodes/config-array": ^0.11.8 "@humanwhocodes/module-importer": ^1.0.1 "@nodelib/fs.walk": ^1.2.8 @@ -8076,9 +7979,8 @@ __metadata: doctrine: ^3.0.0 escape-string-regexp: ^4.0.0 eslint-scope: ^7.1.1 - eslint-utils: ^3.0.0 eslint-visitor-keys: ^3.3.0 - espree: ^9.4.0 + espree: ^9.5.0 esquery: ^1.4.2 esutils: ^2.0.2 fast-deep-equal: ^3.1.3 @@ -8100,24 +8002,23 @@ __metadata: minimatch: ^3.1.2 natural-compare: ^1.4.0 optionator: ^0.9.1 - regexpp: ^3.2.0 strip-ansi: ^6.0.1 strip-json-comments: ^3.1.0 text-table: ^0.2.0 bin: eslint: bin/eslint.js - checksum: 6212173691d90b1bc94dd3d640e1f210374b30c3905fc0a15e501cf71c6ca52aa3d80ea7a9a245adaaed26d6019169e01fb6881b3f2885b188d37069c749308c + checksum: e9a961fc3b3de5cff5a1cb2c92eeffaa7e155a715489e30b3e1e76f186bd1255e0481e09564f2094733c0b1dbd3453499fb72ae7c043c83156e11e6d965b2304 languageName: node linkType: hard -"espree@npm:^9.4.0": - version: 9.4.1 - resolution: "espree@npm:9.4.1" +"espree@npm:^9.5.0": + version: 9.5.0 + resolution: "espree@npm:9.5.0" dependencies: acorn: ^8.8.0 acorn-jsx: ^5.3.2 eslint-visitor-keys: ^3.3.0 - checksum: 4d266b0cf81c7dfe69e542c7df0f246e78d29f5b04dda36e514eb4c7af117ee6cfbd3280e560571ed82ff6c9c3f0003c05b82583fc7a94006db7497c4fe4270e + checksum: a7f110aefb6407e0d3237aa635ab3cea87106ae63748dd23c67031afccc640d04c4209fca2daf16e2233c82efb505faead0fb84097478fd9cc6e8f8dd80bf99d languageName: node linkType: hard @@ -8132,11 +8033,11 @@ __metadata: linkType: hard "esquery@npm:^1.4.2": - version: 1.4.2 - resolution: "esquery@npm:1.4.2" + version: 1.5.0 + resolution: "esquery@npm:1.5.0" dependencies: estraverse: ^5.1.0 - checksum: 2f4ad89c5aafaca61cc2c15e256190f0d6deb4791cae6552d3cb4b1eb8867958cdf27a56aaa3272ff17435e3eaa19ee0d4129fac336ca6373d7354d7b5da7966 + checksum: aefb0d2596c230118656cd4ec7532d447333a410a48834d80ea648b1e7b5c9bc9ed8b5e33a89cb04e487b60d622f44cf5713bf4abed7c97343edefdc84a35900 languageName: node linkType: hard @@ -8150,16 +8051,16 @@ __metadata: linkType: hard "estraverse@npm:^4.1.1": - version: 4.2.0 - resolution: "estraverse@npm:4.2.0" - checksum: 88c3ec2ef3550a5ddb0dc88d596e9c87c92e6e6a58183d3e5851fff844206081abc92ce57a0f227e685f18742cbc90b2019d12951f7d7dbe066e4440ab3acda6 + version: 4.3.0 + resolution: "estraverse@npm:4.3.0" + checksum: a6299491f9940bb246124a8d44b7b7a413a8336f5436f9837aaa9330209bd9ee8af7e91a654a3545aee9c54b3308e78ee360cef1d777d37cfef77d2fa33b5827 languageName: node linkType: hard "estraverse@npm:^5.1.0, estraverse@npm:^5.2.0": - version: 5.2.0 - resolution: "estraverse@npm:5.2.0" - checksum: ec11b70d946bf5d7f76f91db38ef6f08109ac1b36cda293a26e678e58df4719f57f67b9ec87042afdd1f0267cee91865be3aa48d2161765a93defab5431be7b8 + version: 5.3.0 + resolution: "estraverse@npm:5.3.0" + checksum: 072780882dc8416ad144f8fe199628d2b3e7bbc9989d9ed43795d2c90309a2047e6bc5979d7e2322a341163d22cfad9e21f4110597fe487519697389497e4e2b languageName: node linkType: hard @@ -8191,7 +8092,7 @@ __metadata: languageName: node linkType: hard -"etag@npm:^1.3.0, etag@npm:^1.8.1, etag@npm:~1.8.1": +"etag@npm:^1.8.1, etag@npm:~1.8.1": version: 1.8.1 resolution: "etag@npm:1.8.1" checksum: 571aeb3dbe0f2bbd4e4fadbdb44f325fc75335cd5f6f6b6a091e6a06a9f25ed5392f0863c5442acb0646787446e816f13cbfc6edce5b07658541dff573cab1ff @@ -8213,15 +8114,15 @@ __metadata: linkType: hard "events@npm:^3.2.0": - version: 3.2.0 - resolution: "events@npm:3.2.0" - checksum: 974178db37de546d2d8eff37ac662c2a9e046fc4f509ae0894cfaaf437381bc030081057d19b45a1bc32f1445d5a85221053fc1fb6858d08deeb01b1a6e259c3 + version: 3.3.0 + resolution: "events@npm:3.3.0" + checksum: f6f487ad2198aa41d878fa31452f1a3c00958f46e9019286ff4787c84aac329332ab45c9cdc8c445928fc6d7ded294b9e005a7fce9426488518017831b272780 languageName: node linkType: hard "execa@npm:^5.0.0": - version: 5.0.0 - resolution: "execa@npm:5.0.0" + version: 5.1.1 + resolution: "execa@npm:5.1.1" dependencies: cross-spawn: ^7.0.3 get-stream: ^6.0.0 @@ -8232,24 +8133,24 @@ __metadata: onetime: ^5.1.2 signal-exit: ^3.0.3 strip-final-newline: ^2.0.0 - checksum: a044367ebdcc68ca019810cb134510fc77bbc55c799122258ee0e00e289c132941ab48c2a331a036699c42bc8d479d451ae67c105fce5ce5cc813e7dd92d642b + checksum: fba9022c8c8c15ed862847e94c252b3d946036d7547af310e344a527e59021fd8b6bb0723883ea87044dc4f0201f949046993124a42ccb0855cae5bf8c786343 languageName: node linkType: hard -"execa@npm:^6.1.0": - version: 6.1.0 - resolution: "execa@npm:6.1.0" +"execa@npm:^7.0.0": + version: 7.1.1 + resolution: "execa@npm:7.1.1" dependencies: cross-spawn: ^7.0.3 get-stream: ^6.0.1 - human-signals: ^3.0.1 + human-signals: ^4.3.0 is-stream: ^3.0.0 merge-stream: ^2.0.0 npm-run-path: ^5.1.0 onetime: ^6.0.0 signal-exit: ^3.0.7 strip-final-newline: ^3.0.0 - checksum: 1a4af799839134f5c72eb63d525b87304c1114a63aa71676c91d57ccef2e26f2f53e14c11384ab11c4ec479be1efa83d11c8190e00040355c2c5c3364327fa8e + checksum: 21fa46fc69314ace4068cf820142bdde5b643a5d89831c2c9349479c1555bff137a291b8e749e7efca36535e4e0a8c772c11008ca2e84d2cbd6ca141a3c8f937 languageName: node linkType: hard @@ -8323,6 +8224,15 @@ __metadata: languageName: node linkType: hard +"ext@npm:^1.1.2": + version: 1.7.0 + resolution: "ext@npm:1.7.0" + dependencies: + type: ^2.7.2 + checksum: ef481f9ef45434d8c867cfd09d0393b60945b7c8a1798bedc4514cb35aac342ccb8d8ecb66a513e6a2b4ec1e294a338e3124c49b29736f8e7c735721af352c31 + languageName: node + linkType: hard + "extend-shallow@npm:^1.1.2": version: 1.1.4 resolution: "extend-shallow@npm:1.1.4" @@ -8460,27 +8370,27 @@ __metadata: linkType: hard "fastest-levenshtein@npm:^1.0.12": - version: 1.0.12 - resolution: "fastest-levenshtein@npm:1.0.12" - checksum: e1a013698dd1d302c7a78150130c7d50bb678c2c2f8839842a796d66cc7cdf50ea6b3d7ca930b0c8e7e8c2cd84fea8ab831023b382f7aab6922c318c1451beab + version: 1.0.16 + resolution: "fastest-levenshtein@npm:1.0.16" + checksum: a78d44285c9e2ae2c25f3ef0f8a73f332c1247b7ea7fb4a191e6bb51aa6ee1ef0dfb3ed113616dcdc7023e18e35a8db41f61c8d88988e877cf510df8edafbc71 languageName: node linkType: hard "fastq@npm:^1.6.0": - version: 1.8.0 - resolution: "fastq@npm:1.8.0" + version: 1.15.0 + resolution: "fastq@npm:1.15.0" dependencies: reusify: ^1.0.4 - checksum: f9ece30617a42670048bb5f73ec67570944205973443292854392b0b2b90b02cc4452beb866999d95fdf5f08f06215418c4118aadef86173968200407d44f933 + checksum: 0170e6bfcd5d57a70412440b8ef600da6de3b2a6c5966aeaf0a852d542daff506a0ee92d6de7679d1de82e644bce69d7a574a6c93f0b03964b5337eed75ada1a languageName: node linkType: hard "faye-websocket@npm:^0.11.3": - version: 0.11.3 - resolution: "faye-websocket@npm:0.11.3" + version: 0.11.4 + resolution: "faye-websocket@npm:0.11.4" dependencies: websocket-driver: ">=0.5.1" - checksum: d7b2d68546812ea24e3079bd1e08bf1d79cd6d6137bfcea565d1cb1f6a5fc8fc29b689df2c1aff8b8b291d60fc808e1b27aa2896b86ba77ded10f1d9734c8e9f + checksum: d49a62caf027f871149fc2b3f3c7104dc6d62744277eb6f9f36e2d5714e847d846b9f7f0d0b7169b25a012e24a594cde11a93034b30732e4c683f20b8a5019fa languageName: node linkType: hard @@ -8493,19 +8403,30 @@ __metadata: languageName: node linkType: hard -"file-type@npm:^9.0.0": - version: 9.0.0 - resolution: "file-type@npm:9.0.0" - checksum: 9ea78b29c3762d967eb1e3e4f45e401388b6d252b12c217f78f5ea97556ff7e35e4c7255cab68810ac414d51b776bd4e83504c86f132c262a454251561189efa +"file-type@npm:^16.5.4": + version: 16.5.4 + resolution: "file-type@npm:16.5.4" + dependencies: + readable-web-to-node-stream: ^3.0.0 + strtok3: ^6.2.4 + token-types: ^4.1.1 + checksum: d983c0f36491c57fcb6cc70fcb02c36d6b53f312a15053263e1924e28ca8314adf0db32170801ad777f09432c32155f31715ceaee66310947731588120d7ec27 + languageName: node + linkType: hard + +"file-uri-to-path@npm:1.0.0": + version: 1.0.0 + resolution: "file-uri-to-path@npm:1.0.0" + checksum: b648580bdd893a008c92c7ecc96c3ee57a5e7b6c4c18a9a09b44fb5d36d79146f8e442578bc0e173dc027adf3987e254ba1dfd6e3ec998b7c282873010502144 languageName: node linkType: hard "filelist@npm:^1.0.1": - version: 1.0.2 - resolution: "filelist@npm:1.0.2" + version: 1.0.4 + resolution: "filelist@npm:1.0.4" dependencies: - minimatch: ^3.0.4 - checksum: 4d6953cb6f76c5345a52fc50222949e244946f485462ab6bae977176fff64fe5200cc1f44db175c27fc887f91cead401504c22eefcdcc064012ee44759947561 + minimatch: ^5.0.1 + checksum: a303573b0821e17f2d5e9783688ab6fbfce5d52aaac842790ae85e704a6f5e4e3538660a63183d6453834dedf1e0f19a9dadcebfa3e926c72397694ea11f5160 languageName: node linkType: hard @@ -8627,15 +8548,15 @@ __metadata: linkType: hard "fined@npm:^1.0.1": - version: 1.1.1 - resolution: "fined@npm:1.1.1" + version: 1.2.0 + resolution: "fined@npm:1.2.0" dependencies: expand-tilde: ^2.0.2 is-plain-object: ^2.0.3 object.defaults: ^1.1.0 object.pick: ^1.2.0 parse-filepath: ^1.0.1 - checksum: f3760f799e6395f3f5ebacf9c4aadc47eb2a810829822f09f32f872c363e150a7a882019163c66d562fbcf15dbcb550a9fb0d946c2468128b228564471631dd3 + checksum: 9c76fb17e9f7e3f21e65b563cf49aed944c6b257a46b04306cef8883d60e295e904f57514443e60c64874914d13557b2f464071181d8d80a37cd9d8565075b7f languageName: node linkType: hard @@ -8666,9 +8587,9 @@ __metadata: linkType: hard "flatted@npm:^3.1.0": - version: 3.1.1 - resolution: "flatted@npm:3.1.1" - checksum: 508935e3366d95444131f0aaa801a4301f24ea5bcb900d12764e7335b46b910730cc1b5bcfcfb8eccb7c8db261ba0671c6a7ca30d10870ff7a7756dc7e731a7a + version: 3.2.7 + resolution: "flatted@npm:3.2.7" + checksum: 427633049d55bdb80201c68f7eb1cbd533e03eac541f97d3aecab8c5526f12a20ccecaeede08b57503e772c769e7f8680b37e8d482d1e5f8d7e2194687f9ea35 languageName: node linkType: hard @@ -8740,14 +8661,14 @@ __metadata: languageName: node linkType: hard -"fs-extra@npm:11.1.0": - version: 11.1.0 - resolution: "fs-extra@npm:11.1.0" +"fs-extra@npm:11.1.1": + version: 11.1.1 + resolution: "fs-extra@npm:11.1.1" dependencies: graceful-fs: ^4.2.0 jsonfile: ^6.0.1 universalify: ^2.0.0 - checksum: 5ca476103fa1f5ff4a9b3c4f331548f8a3c1881edaae323a4415d3153b5dc11dc6a981c8d1dd93eec8367ceee27b53f8bd27eecbbf66ffcdd04927510c171e7f + checksum: fb883c68245b2d777fbc1f2082c9efb084eaa2bbf9fddaa366130d196c03608eebef7fb490541276429ee1ca99f317e2d73e96f5ca0999eefedf5a624ae1edfd languageName: node linkType: hard @@ -8763,16 +8684,7 @@ __metadata: languageName: node linkType: hard -"fs-minipass@npm:^1.2.5": - version: 1.2.5 - resolution: "fs-minipass@npm:1.2.5" - dependencies: - minipass: ^2.2.1 - checksum: 288a010b08184fd9b03274f72284453b4e64e01ba03f16fd1add871f1bbbee879b8fd35e65e5869d27993565d77e9fcfbe9a003ce68a15d942b60d4af839189d - languageName: node - linkType: hard - -"fs-minipass@npm:^2.0.0": +"fs-minipass@npm:^2.0.0, fs-minipass@npm:^2.1.0": version: 2.1.0 resolution: "fs-minipass@npm:2.1.0" dependencies: @@ -8812,23 +8724,33 @@ __metadata: languageName: node linkType: hard -fsevents@^1.2.7: - version: 1.2.9 - resolution: "fsevents@npm:1.2.9" +"fsevents@npm:^1.2.7": + version: 1.2.13 + resolution: "fsevents@npm:1.2.13" dependencies: + bindings: ^1.5.0 nan: ^2.12.1 - node-pre-gyp: ^0.12.0 - checksum: a00be937d11f59936eaa7bc296a2635d4f14d79fa9015acdb0b4ae439da37dbe7e8cc857616655f860c747d3fb988e2ecd913f6cafcd5488fa241f42e237b5ba + checksum: ae855aa737aaa2f9167e9f70417cf6e45a5cd11918e1fee9923709a0149be52416d765433b4aeff56c789b1152e718cd1b13ddec6043b78cdda68260d86383c1 + conditions: os=darwin + languageName: node + linkType: hard + +"fsevents@npm:~2.3.2": + version: 2.3.2 + resolution: "fsevents@npm:2.3.2" + dependencies: + node-gyp: latest + checksum: 97ade64e75091afee5265e6956cb72ba34db7819b4c3e94c431d4be2b19b8bb7a2d4116da417950c3425f17c8fe693d25e20212cac583ac1521ad066b77ae31f conditions: os=darwin languageName: node linkType: hard "fsevents@patch:fsevents@^1.2.7#~builtin": - version: 1.2.9 - resolution: "fsevents@patch:fsevents@npm%3A1.2.9#~builtin::version=1.2.9&hash=d11327" + version: 1.2.13 + resolution: "fsevents@patch:fsevents@npm%3A1.2.13#~builtin::version=1.2.13&hash=d11327" dependencies: + bindings: ^1.5.0 nan: ^2.12.1 - node-pre-gyp: ^0.12.0 conditions: os=darwin languageName: node linkType: hard @@ -8842,16 +8764,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -fsevents@~2.3.2: - version: 2.3.2 - resolution: "fsevents@npm:2.3.2" - dependencies: - node-gyp: latest - checksum: 97ade64e75091afee5265e6956cb72ba34db7819b4c3e94c431d4be2b19b8bb7a2d4116da417950c3425f17c8fe693d25e20212cac583ac1521ad066b77ae31f - conditions: os=darwin - languageName: node - linkType: hard - "function-bind@npm:^1.1.1": version: 1.1.1 resolution: "function-bind@npm:1.1.1" @@ -8885,19 +8797,19 @@ fsevents@~2.3.2: languageName: node linkType: hard -"gauge@npm:~2.7.3": - version: 2.7.4 - resolution: "gauge@npm:2.7.4" +"gauge@npm:^4.0.3": + version: 4.0.4 + resolution: "gauge@npm:4.0.4" dependencies: - aproba: ^1.0.3 - console-control-strings: ^1.0.0 - has-unicode: ^2.0.0 - object-assign: ^4.1.0 - signal-exit: ^3.0.0 - string-width: ^1.0.1 - strip-ansi: ^3.0.1 - wide-align: ^1.1.0 - checksum: a89b53cee65579b46832e050b5f3a79a832cc422c190de79c6b8e2e15296ab92faddde6ddf2d376875cbba2b043efa99b9e1ed8124e7365f61b04e3cee9d40ee + aproba: ^1.0.3 || ^2.0.0 + color-support: ^1.1.3 + console-control-strings: ^1.1.0 + has-unicode: ^2.0.1 + signal-exit: ^3.0.7 + string-width: ^4.2.3 + strip-ansi: ^6.0.1 + wide-align: ^1.1.5 + checksum: 788b6bfe52f1dd8e263cda800c26ac0ca2ff6de0b6eee2fe0d9e3abf15e149b651bd27bf5226be10e6e3edb5c4e5d5985a5a1a98137e7a892f75eff76467ad2d languageName: node linkType: hard @@ -8929,7 +8841,7 @@ fsevents@~2.3.2: languageName: node linkType: hard -"get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.1, get-intrinsic@npm:^1.1.3": +"get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.1, get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.0": version: 1.2.0 resolution: "get-intrinsic@npm:1.2.0" dependencies: @@ -8972,12 +8884,12 @@ fsevents@~2.3.2: linkType: hard "gifwrap@npm:^0.9.2": - version: 0.9.2 - resolution: "gifwrap@npm:0.9.2" + version: 0.9.4 + resolution: "gifwrap@npm:0.9.4" dependencies: - image-q: ^1.1.1 + image-q: ^4.0.0 omggif: ^1.0.10 - checksum: ea83b0cc3611e555648a264c35a2e6d8ad50cb6f47cb6840dee6af8e9315e9c5f90bbbd2ab084f5d9287db52b0ffb2d93c6359e1649936e2dbae82171239b314 + checksum: f06d74d72d5fd5cfef78935471da06334c23305328fcaa5b1740c6c93b7ce7f775c28e75e166ecb4d7bc9848f767d4d191c8e18a74187543076a44123002f918 languageName: node linkType: hard @@ -9056,7 +8968,7 @@ fsevents@~2.3.2: languageName: node linkType: hard -"glob@npm:7.2.0, glob@npm:^7.1.1, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.6": +"glob@npm:7.2.0": version: 7.2.0 resolution: "glob@npm:7.2.0" dependencies: @@ -9070,7 +8982,33 @@ fsevents@~2.3.2: languageName: node linkType: hard -"glob@npm:8.1.0, glob@npm:^8.0.3": +"glob@npm:9.3.2": + version: 9.3.2 + resolution: "glob@npm:9.3.2" + dependencies: + fs.realpath: ^1.0.0 + minimatch: ^7.4.1 + minipass: ^4.2.4 + path-scurry: ^1.6.1 + checksum: f3d188e9f70e24fa729a63ca197bcdb36d838677abec1fb9bbfe4b7620063bf90dc0f8d195203d632abfdfa049fad0edf22f93c60076de67cef20c23bcbfaee8 + languageName: node + linkType: hard + +"glob@npm:^7.1.1, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.6": + version: 7.2.3 + resolution: "glob@npm:7.2.3" + dependencies: + fs.realpath: ^1.0.0 + inflight: ^1.0.4 + inherits: 2 + minimatch: ^3.1.1 + once: ^1.3.0 + path-is-absolute: ^1.0.0 + checksum: 29452e97b38fa704dabb1d1045350fb2467cf0277e155aa9ff7077e90ad81d1ea9d53d3ee63bd37c05b09a065e90f16aec4a65f5b8de401d1dac40bc5605d133 + languageName: node + linkType: hard + +"glob@npm:^8.0.1, glob@npm:^8.0.3": version: 8.1.0 resolution: "glob@npm:8.1.0" dependencies: @@ -9107,13 +9045,13 @@ fsevents@~2.3.2: languageName: node linkType: hard -"global@npm:~4.3.0": - version: 4.3.2 - resolution: "global@npm:4.3.2" +"global@npm:~4.4.0": + version: 4.4.0 + resolution: "global@npm:4.4.0" dependencies: min-document: ^2.19.0 - process: ~0.5.1 - checksum: aa6ad3fc9dc354cefc88898482df8ca042a69b133789e760c3d7639444860a7592f8f2139c9f096a823e9b0909d6d8531421dee266d59d4aff994d4b497a73f9 + process: ^0.11.10 + checksum: 9c057557c8f5a5bcfbeb9378ba4fe2255d04679452be504608dd5f13b54edf79f7be1db1031ea06a4ec6edd3b9f5f17d2d172fb47e6c69dae57fd84b7e72b77f languageName: node linkType: hard @@ -9195,9 +9133,9 @@ fsevents@~2.3.2: linkType: hard "graceful-fs@npm:^4.0.0, graceful-fs@npm:^4.1.11, graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.10, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": - version: 4.2.10 - resolution: "graceful-fs@npm:4.2.10" - checksum: 3f109d70ae123951905d85032ebeae3c2a5a7a997430df00ea30df0e3a6c60cf6689b109654d6fdacd28810a053348c4d14642da1d075049e6be1ba5216218da + version: 4.2.11 + resolution: "graceful-fs@npm:4.2.11" + checksum: ac85f94da92d8eb6b7f5a8b20ce65e43d66761c55ce85ac96df6865308390da45a8d3f0296dd3a663de65d30ba497bd46c696cc1e248c72b13d6d567138a4fc7 languageName: node linkType: hard @@ -9319,13 +9257,13 @@ fsevents@~2.3.2: linkType: hard "handle-thing@npm:^2.0.0": - version: 2.0.0 - resolution: "handle-thing@npm:2.0.0" - checksum: bb6a33ec17a36a9fca92c8f98b0208dca4b5659253d77a2db7d31a0bad467d01f94e59444e226b6d35877226516176f069501c01d847047e1abcbe303363070f + version: 2.0.1 + resolution: "handle-thing@npm:2.0.1" + checksum: 68071f313062315cd9dce55710e9496873945f1dd425107007058fc1629f93002a7649fcc3e464281ce02c7e809a35f5925504ab8105d972cf649f1f47cb7d6c languageName: node linkType: hard -"has-bigints@npm:^1.0.2": +"has-bigints@npm:^1.0.1, has-bigints@npm:^1.0.2": version: 1.0.2 resolution: "has-bigints@npm:1.0.2" checksum: 390e31e7be7e5c6fe68b81babb73dfc35d413604d7ee5f56da101417027a4b4ce6a27e46eff97ad040c835b5d228676eae99a9b5c3bc0e23c8e81a49241ff45b @@ -9362,7 +9300,7 @@ fsevents@~2.3.2: languageName: node linkType: hard -"has-symbols@npm:^1.0.1, has-symbols@npm:^1.0.2, has-symbols@npm:^1.0.3": +"has-symbols@npm:^1.0.2, has-symbols@npm:^1.0.3": version: 1.0.3 resolution: "has-symbols@npm:1.0.3" checksum: a054c40c631c0d5741a8285010a0777ea0c068f99ed43e5d6eb12972da223f8af553a455132fdb0801bdcfa0e0f443c0c03a68d8555aa529b3144b446c3f2410 @@ -9378,7 +9316,7 @@ fsevents@~2.3.2: languageName: node linkType: hard -"has-unicode@npm:^2.0.0": +"has-unicode@npm:^2.0.1": version: 2.0.1 resolution: "has-unicode@npm:2.0.1" checksum: 1eab07a7436512db0be40a710b29b5dc21fa04880b7f63c9980b706683127e3c1b57cb80ea96d47991bdae2dfe479604f6a1ba410106ee1046a41d1bd0814400 @@ -9442,10 +9380,10 @@ fsevents@~2.3.2: languageName: node linkType: hard -"hls.js@npm:1.3.4": - version: 1.3.4 - resolution: "hls.js@npm:1.3.4" - checksum: bdc0ad130853737c08705c1aa12035ee6d81b4edba17cf0d0d1304af19ee1b65e63bbdf2e96d49f1b5e605767ffd9c8fcf145160d8af2d1aad3407c9918ce7b5 +"hls.js@npm:1.3.5": + version: 1.3.5 + resolution: "hls.js@npm:1.3.5" + checksum: 83d62ce319a392edb432b2140e65f4e073d56b001f1f72707c5ce382cc462039f517b7c81e2b49651ee2237ca772202281e0e8358efcf61259409da2bc26ad48 languageName: node linkType: hard @@ -9453,7 +9391,7 @@ fsevents@~2.3.2: version: 0.0.0-use.local resolution: "home-assistant-frontend@workspace:." dependencies: - "@babel/core": 7.21.0 + "@babel/core": 7.21.3 "@babel/plugin-external-helpers": 7.18.6 "@babel/plugin-proposal-class-properties": 7.18.6 "@babel/plugin-proposal-decorators": 7.21.0 @@ -9467,12 +9405,12 @@ fsevents@~2.3.2: "@babel/preset-typescript": 7.21.0 "@braintree/sanitize-url": 6.0.2 "@codemirror/autocomplete": 6.4.2 - "@codemirror/commands": 6.2.1 + "@codemirror/commands": 6.2.2 "@codemirror/language": 6.6.0 - "@codemirror/legacy-modes": 6.3.1 - "@codemirror/search": 6.2.3 + "@codemirror/legacy-modes": 6.3.2 + "@codemirror/search": 6.3.0 "@codemirror/state": 6.2.0 - "@codemirror/view": 6.9.1 + "@codemirror/view": 6.9.3 "@egjs/hammerjs": 2.0.17 "@formatjs/intl-datetimeformat": 6.5.1 "@formatjs/intl-getcanonicallocales": 2.1.0 @@ -9480,15 +9418,17 @@ fsevents@~2.3.2: "@formatjs/intl-numberformat": 8.3.5 "@formatjs/intl-pluralrules": 5.1.10 "@formatjs/intl-relativetimeformat": 11.1.10 - "@fullcalendar/core": 6.1.4 - "@fullcalendar/daygrid": 6.1.4 - "@fullcalendar/interaction": 6.1.4 - "@fullcalendar/list": 6.1.4 - "@fullcalendar/timegrid": 6.1.4 + "@fullcalendar/core": 6.1.5 + "@fullcalendar/daygrid": 6.1.5 + "@fullcalendar/interaction": 6.1.5 + "@fullcalendar/list": 6.1.5 + "@fullcalendar/timegrid": 6.1.5 "@koa/cors": 4.0.0 - "@lezer/highlight": 1.1.3 + "@lezer/highlight": 1.1.4 + "@lit-labs/context": 0.3.0 "@lit-labs/motion": 1.0.3 "@lit-labs/virtualizer": 1.0.1 + "@lrnwebcomponents/simple-tooltip": 4.1.0 "@material/chips": =14.0.0-canary.53b3cad2f.0 "@material/data-table": =14.0.0-canary.53b3cad2f.0 "@material/mwc-button": 0.27.0 @@ -9511,28 +9451,26 @@ fsevents@~2.3.2: "@material/mwc-tab-bar": 0.27.0 "@material/mwc-textarea": 0.27.0 "@material/mwc-textfield": 0.27.0 + "@material/mwc-top-app-bar": 0.27.0 "@material/mwc-top-app-bar-fixed": 0.27.0 "@material/top-app-bar": =14.0.0-canary.53b3cad2f.0 - "@material/web": =1.0.0-pre.3 - "@mdi/js": 7.1.96 - "@mdi/svg": 7.1.96 + "@material/web": =1.0.0-pre.4 + "@mdi/js": 7.2.96 + "@mdi/svg": 7.2.96 "@octokit/auth-oauth-device": 4.0.4 "@octokit/rest": 19.0.7 - "@open-wc/dev-server-hmr": 0.1.3 + "@open-wc/dev-server-hmr": 0.1.4 "@polymer/app-layout": 3.1.0 "@polymer/iron-flex-layout": 3.0.1 - "@polymer/iron-icon": 3.0.1 "@polymer/iron-input": 3.0.1 "@polymer/iron-resizable-behavior": 3.0.1 "@polymer/paper-input": 3.2.1 "@polymer/paper-item": 3.0.1 "@polymer/paper-listbox": 3.0.1 "@polymer/paper-slider": 3.0.1 - "@polymer/paper-styles": 3.0.1 "@polymer/paper-tabs": 3.1.0 "@polymer/paper-toast": 3.0.1 - "@polymer/paper-tooltip": 3.0.1 - "@polymer/polymer": 3.4.1 + "@polymer/polymer": 3.5.1 "@rollup/plugin-babel": 6.0.3 "@rollup/plugin-commonjs": 24.0.1 "@rollup/plugin-json": 6.0.0 @@ -9543,26 +9481,27 @@ fsevents@~2.3.2: "@types/chromecast-caf-sender": 1.0.5 "@types/esprima": 4.0.3 "@types/glob": 8.1.0 + "@types/html-minifier-terser": 7.0.0 "@types/js-yaml": 4.0.5 - "@types/leaflet": 1.9.1 + "@types/leaflet": 1.9.3 "@types/leaflet-draw": 1.0.6 "@types/marked": 4.0.8 "@types/mocha": 10.0.1 "@types/qrcode": 1.5.0 "@types/serve-handler": 6.1.1 - "@types/sortablejs": 1.15.0 + "@types/sortablejs": 1.15.1 "@types/tar": 6.1.4 "@types/webspeechapi": 0.0.29 - "@typescript-eslint/eslint-plugin": 5.54.0 - "@typescript-eslint/parser": 5.54.0 - "@vaadin/combo-box": 23.3.8 - "@vaadin/vaadin-themable-mixin": 23.3.8 + "@typescript-eslint/eslint-plugin": 5.56.0 + "@typescript-eslint/parser": 5.56.0 + "@vaadin/combo-box": 23.3.9 + "@vaadin/vaadin-themable-mixin": 23.3.9 "@vibrant/color": 3.2.1-alpha.1 "@vibrant/core": 3.2.1-alpha.1 "@vibrant/quantizer-mmcq": 3.2.1-alpha.1 "@vue/web-component-wrapper": 1.3.0 - "@web/dev-server": 0.1.35 - "@web/dev-server-rollup": 0.3.21 + "@web/dev-server": 0.1.36 + "@web/dev-server-rollup": 0.4.0 "@webcomponents/scoped-custom-element-registry": 0.0.8 "@webcomponents/webcomponentsjs": 2.7.0 app-datepicker: 5.1.1 @@ -9571,29 +9510,29 @@ fsevents@~2.3.2: chai: 4.3.7 chart.js: 3.3.2 comlink: 4.4.1 - core-js: 3.29.0 + core-js: 3.29.1 cropperjs: 1.5.13 date-fns: 2.29.3 date-fns-tz: 2.0.0 deep-clone-simple: 1.1.1 deep-freeze: 0.0.1 del: 7.0.0 - eslint: 8.35.0 + eslint: 8.36.0 eslint-config-airbnb-base: 15.0.0 eslint-config-airbnb-typescript: 17.0.0 - eslint-config-prettier: 8.7.0 + eslint-config-prettier: 8.8.0 eslint-import-resolver-webpack: 0.13.2 eslint-plugin-disable: 2.0.3 eslint-plugin-import: 2.27.5 eslint-plugin-lit: 1.8.2 - eslint-plugin-lit-a11y: 2.3.0 + eslint-plugin-lit-a11y: 2.4.0 eslint-plugin-unused-imports: 2.0.0 eslint-plugin-wc: 1.4.0 esprima: 4.0.1 fancy-log: 2.0.0 - fs-extra: 11.1.0 + fs-extra: 11.1.1 fuse.js: 6.6.2 - glob: 8.1.0 + glob: 9.3.2 google-timezones-json: 1.0.2 gulp: 4.0.2 gulp-flatmap: 1.0.2 @@ -9601,24 +9540,24 @@ fsevents@~2.3.2: gulp-merge-json: 2.1.2 gulp-rename: 2.0.0 gulp-zopfli-green: 6.0.1 - hls.js: 1.3.4 + hls.js: 1.3.5 home-assistant-js-websocket: 8.0.1 - html-minifier: 4.0.0 + html-minifier-terser: 7.1.0 husky: 8.0.3 idb-keyval: 6.2.0 instant-mocha: 1.5.0 - intl-messageformat: 10.3.1 + intl-messageformat: 10.3.3 js-yaml: 4.1.0 jszip: 3.10.1 leaflet: 1.9.3 leaflet-draw: 1.0.4 - lint-staged: 13.1.2 - lit: 2.6.1 + lint-staged: 13.2.0 + lit: 2.7.0 lit-analyzer: 1.2.1 lodash.template: 4.5.0 magic-string: 0.30.0 map-stream: 0.0.7 - marked: 4.2.12 + marked: 4.3.0 memoize-one: 6.0.0 merge-stream: 2.0.0 mocha: 10.2.0 @@ -9626,7 +9565,7 @@ fsevents@~2.3.2: object-hash: 3.0.0 open: 8.4.2 pinst: 3.0.0 - prettier: 2.8.4 + prettier: 2.8.7 proxy-polyfill: 0.3.2 punycode: 2.3.0 qr-scanner: 1.4.2 @@ -9637,17 +9576,17 @@ fsevents@~2.3.2: roboto-fontface: 0.10.0 rollup: 2.79.1 rollup-plugin-string: 3.0.0 - rollup-plugin-terser: 5.3.1 + rollup-plugin-terser: 7.0.2 rollup-plugin-visualizer: 5.9.0 rrule: 2.7.2 serve-handler: 6.1.5 - sinon: 15.0.1 + sinon: 15.0.2 sortablejs: 1.15.0 source-map-url: 0.4.1 superstruct: 1.0.3 - systemjs: 6.14.0 + systemjs: 6.14.1 tar: 6.1.13 - terser-webpack-plugin: 5.3.6 + terser-webpack-plugin: 5.3.7 tinykeys: 1.4.0 ts-lit-plugin: 1.2.1 tsparticles-engine: 2.9.3 @@ -9656,13 +9595,13 @@ fsevents@~2.3.2: unfetch: 5.0.0 vinyl-buffer: 1.0.1 vinyl-source-stream: 2.0.0 - vis-data: 7.1.4 - vis-network: 9.1.4 + vis-data: 7.1.6 + vis-network: 9.1.6 vue: 2.7.14 vue2-daterange-picker: 0.6.8 webpack: =5.72.1 webpack-cli: 5.0.1 - webpack-dev-server: 4.11.1 + webpack-dev-server: 4.13.1 webpack-manifest-plugin: 5.0.0 webpackbar: 5.0.2 weekstart: 2.0.0 @@ -9713,9 +9652,26 @@ fsevents@~2.3.2: linkType: hard "html-entities@npm:^2.3.2": - version: 2.3.2 - resolution: "html-entities@npm:2.3.2" - checksum: 522d8d202df301ff51b517a379e642023ed5c81ea9fb5674ffad88cff386165733d00b6089d5c2fcc644e44777d6072017b6216d8fa40f271d3610420d00a886 + version: 2.3.3 + resolution: "html-entities@npm:2.3.3" + checksum: 92521501da8aa5f66fee27f0f022d6e9ceae62667dae93aa6a2f636afa71ad530b7fb24a18d4d6c124c9885970cac5f8a52dbf1731741161002816ae43f98196 + languageName: node + linkType: hard + +"html-minifier-terser@npm:7.1.0": + version: 7.1.0 + resolution: "html-minifier-terser@npm:7.1.0" + dependencies: + camel-case: ^4.1.2 + clean-css: 5.2.0 + commander: ^9.4.1 + entities: ^4.4.0 + param-case: ^3.0.4 + relateurl: ^0.2.7 + terser: ^5.15.1 + bin: + html-minifier-terser: cli.js + checksum: 351de28d85f142314a6a9b5222bdcaf068cef6bf2f521952ef55d99a6acdcecd0b4dbc42578da2d438d579c6e868b899ca19eac901ee6f9f0c69c223b5942099 languageName: node linkType: hard @@ -9736,30 +9692,13 @@ fsevents@~2.3.2: languageName: node linkType: hard -"html-minifier@npm:4.0.0": - version: 4.0.0 - resolution: "html-minifier@npm:4.0.0" - dependencies: - camel-case: ^3.0.0 - clean-css: ^4.2.1 - commander: ^2.19.0 - he: ^1.2.0 - param-case: ^2.1.1 - relateurl: ^0.2.7 - uglify-js: ^3.5.1 - bin: - html-minifier: ./cli.js - checksum: b426aee771d9da104c1c9554e3ebd3a4f483d2ce01f4dcc4156ba33a5959044acf6bea192d5ae63b290cdb92c30a9d07fd6924c65609aa82382ce411328f94ca - languageName: node - linkType: hard - "http-assert@npm:^1.3.0": - version: 1.4.1 - resolution: "http-assert@npm:1.4.1" + version: 1.5.0 + resolution: "http-assert@npm:1.5.0" dependencies: deep-equal: ~1.0.1 - http-errors: ~1.7.2 - checksum: dd5d30eb458976572af1d1d72206b47e9194c9828ee0c93db79c802fc2536ec7ce9a0e802e0df8791e89553e51e3272de328f89bbee419a74e648090af36d2fa + http-errors: ~1.8.0 + checksum: 69c9b3c14cf8b2822916360a365089ce936c883c49068f91c365eccba5c141a9964d19fdda589150a480013bf503bf37d8936c732e9635819339e730ab0e7527 languageName: node linkType: hard @@ -9790,16 +9729,16 @@ fsevents@~2.3.2: languageName: node linkType: hard -"http-errors@npm:^1.6.3, http-errors@npm:^1.7.3": - version: 1.8.0 - resolution: "http-errors@npm:1.8.0" +"http-errors@npm:^1.6.3, http-errors@npm:^1.7.3, http-errors@npm:~1.8.0": + version: 1.8.1 + resolution: "http-errors@npm:1.8.1" dependencies: depd: ~1.1.2 inherits: 2.0.4 setprototypeof: 1.2.0 statuses: ">= 1.5.0 < 2" - toidentifier: 1.0.0 - checksum: 873d997bada0340b31cc69cbe8376e47ee142f60375b81447fa3ad7be512dd4026afb3b46ed2257ee59472d43782a34151994b34264b204bcaad02e67ad836cb + toidentifier: 1.0.1 + checksum: d3c7e7e776fd51c0a812baff570bdf06fe49a5dc448b700ab6171b1250e4cf7db8b8f4c0b133e4bfe2451022a5790c1ca6c2cae4094dedd6ac8304a1267f91d2 languageName: node linkType: hard @@ -9815,34 +9754,21 @@ fsevents@~2.3.2: languageName: node linkType: hard -"http-errors@npm:~1.7.2": - version: 1.7.3 - resolution: "http-errors@npm:1.7.3" - dependencies: - depd: ~1.1.2 - inherits: 2.0.4 - setprototypeof: 1.1.1 - statuses: ">= 1.5.0 < 2" - toidentifier: 1.0.0 - checksum: a59f359473f4b3ea78305beee90d186268d6075432622a46fb7483059068a2dd4c854a20ac8cd438883127e06afb78c1309168bde6cdfeed1e3700eb42487d99 - languageName: node - linkType: hard - "http-parser-js@npm:>=0.5.1": - version: 0.5.3 - resolution: "http-parser-js@npm:0.5.3" - checksum: 6f3142c5f60ad995a6895a1dc4f70f8cef0910745366e97cbcb99caa604590dbcc11006b00989ad306837d6b820e9bfc6e801c4060ed19a0e4df83caa8577cb5 + version: 0.5.8 + resolution: "http-parser-js@npm:0.5.8" + checksum: 6bbdf2429858e8cf13c62375b0bfb6dc3955ca0f32e58237488bc86cd2378f31d31785fd3ac4ce93f1c74e0189cf8823c91f5cb061696214fd368d2452dc871d languageName: node linkType: hard -"http-proxy-agent@npm:^4.0.1": - version: 4.0.1 - resolution: "http-proxy-agent@npm:4.0.1" +"http-proxy-agent@npm:^5.0.0": + version: 5.0.0 + resolution: "http-proxy-agent@npm:5.0.0" dependencies: - "@tootallnate/once": 1 + "@tootallnate/once": 2 agent-base: 6 debug: 4 - checksum: c6a5da5a1929416b6bbdf77b1aca13888013fe7eb9d59fc292e25d18e041bb154a8dfada58e223fc7b76b9b2d155a87e92e608235201f77d34aa258707963a82 + checksum: e2ee1ff1656a131953839b2a19cd1f3a52d97c25ba87bd2559af6ae87114abf60971e498021f9b73f9fd78aea8876d1fb0d4656aac8a03c6caa9fc175f22b786 languageName: node linkType: hard @@ -9876,12 +9802,12 @@ fsevents@~2.3.2: linkType: hard "https-proxy-agent@npm:^5.0.0": - version: 5.0.0 - resolution: "https-proxy-agent@npm:5.0.0" + version: 5.0.1 + resolution: "https-proxy-agent@npm:5.0.1" dependencies: agent-base: 6 debug: 4 - checksum: 165bfb090bd26d47693597661298006841ab733d0c7383a8cb2f17373387a94c903a3ac687090aa739de05e379ab6f868bae84ab4eac288ad85c328cd1ec9e53 + checksum: 571fccdf38184f05943e12d37d6ce38197becdd69e58d03f43637f7fa1269cf303a7d228aa27e5b27bbd3af8f09fd938e1c91dcfefff2df7ba77c20ed8dfc765 languageName: node linkType: hard @@ -9892,10 +9818,10 @@ fsevents@~2.3.2: languageName: node linkType: hard -"human-signals@npm:^3.0.1": - version: 3.0.1 - resolution: "human-signals@npm:3.0.1" - checksum: f252a7769c8094a5c9dc6772816bdb417b188820b04c8b42d0fc468e03a0ba905b1dd07afabe9385cc83504af1ccc2b985cd1e4aeeeb8e0029896c5af2e6f354 +"human-signals@npm:^4.3.0": + version: 4.3.1 + resolution: "human-signals@npm:4.3.1" + checksum: 6f12958df3f21b6fdaf02d90896c271df00636a31e2bbea05bddf817a35c66b38a6fdac5863e2df85bd52f34958997f1f50350ff97249e1dff8452865d5235d1 languageName: node linkType: hard @@ -9917,7 +9843,7 @@ fsevents@~2.3.2: languageName: node linkType: hard -"iconv-lite@npm:0.4.24, iconv-lite@npm:^0.4.4": +"iconv-lite@npm:0.4.24": version: 0.4.24 resolution: "iconv-lite@npm:0.4.24" dependencies: @@ -9951,33 +9877,26 @@ fsevents@~2.3.2: languageName: node linkType: hard -"ieee754@npm:^1.1.4": - version: 1.1.13 - resolution: "ieee754@npm:1.1.13" - checksum: 102df1ba662e316e6160f7ce29c7c7fa3e04f2014c288336c5a9ff40bbcc2a27d209fa2a81ebfb33f28b1941021343d30e9ad8ee85a2d61f79f5936c35edc33d - languageName: node - linkType: hard - -"ignore-walk@npm:^3.0.1": - version: 3.0.1 - resolution: "ignore-walk@npm:3.0.1" - dependencies: - minimatch: ^3.0.4 - checksum: 65d882a70369c88ea4485cbe02a59d8097b4340f10afb72be594c13df4efcf037a3d156992db9831590706dd051312aa050fb09aca58963f3120d5afbc279bfe +"ieee754@npm:^1.1.13, ieee754@npm:^1.2.1": + version: 1.2.1 + resolution: "ieee754@npm:1.2.1" + checksum: 5144c0c9815e54ada181d80a0b810221a253562422e7c6c3a60b1901154184f49326ec239d618c416c1c5945a2e197107aee8d986a3dd836b53dffefd99b5e7e languageName: node linkType: hard "ignore@npm:^5.2.0": - version: 5.2.0 - resolution: "ignore@npm:5.2.0" - checksum: 6b1f926792d614f64c6c83da3a1f9c83f6196c2839aa41e1e32dd7b8d174cef2e329d75caabb62cb61ce9dc432f75e67d07d122a037312db7caa73166a1bdb77 + version: 5.2.4 + resolution: "ignore@npm:5.2.4" + checksum: 3d4c309c6006e2621659311783eaea7ebcd41fe4ca1d78c91c473157ad6666a57a2df790fe0d07a12300d9aac2888204d7be8d59f9aaf665b1c7fcdb432517ef languageName: node linkType: hard -"image-q@npm:^1.1.1": - version: 1.1.1 - resolution: "image-q@npm:1.1.1" - checksum: b5ad6d107bb79f1b5e542479100d1503e996c397afe4a1568ac19e65481fda0ed9358d4c4d8f4ac91ddc0438366b1160d1e69490e9c752f380883ac23604c407 +"image-q@npm:^4.0.0": + version: 4.0.0 + resolution: "image-q@npm:4.0.0" + dependencies: + "@types/node": 16.9.1 + checksum: 6c6a1dd8467833161f46cc17b4a43218d30a3899ff71a4ffb895f71a14ca29de12f79d824d4d2174070924cbd97faa018b2ded8d690483ab7eb269f364cd97cc languageName: node linkType: hard @@ -9999,14 +9918,14 @@ fsevents@~2.3.2: linkType: hard "import-local@npm:^3.0.2": - version: 3.0.2 - resolution: "import-local@npm:3.0.2" + version: 3.1.0 + resolution: "import-local@npm:3.1.0" dependencies: pkg-dir: ^4.2.0 resolve-cwd: ^3.0.0 bin: import-local-fixture: fixtures/cli.js - checksum: c74d9f9484c878cda1de3434613c7ff72d5dadcf20e5482542232d7c2575b713ff88701d6675fcf09a3684cb23fb407c8b333b9cbc59438712723d058d8e976c + checksum: bfcdb63b5e3c0e245e347f3107564035b128a414c4da1172a20dc67db2504e05ede4ac2eee1252359f78b0bfd7b19ef180aec427c2fce6493ae782d73a04cddd languageName: node linkType: hard @@ -10062,10 +9981,10 @@ fsevents@~2.3.2: languageName: node linkType: hard -"ini@npm:^1.3.4, ini@npm:~1.3.0": - version: 1.3.7 - resolution: "ini@npm:1.3.7" - checksum: f8f3801e8eb039f9e03cdc27ceb494a7ac6e6ca7b2dd8394a9ef97ed5ae66930fadefd5ec908e41e4b103d3c9063b5788d47de5e8e892083c7a67b489f3b962d +"ini@npm:^1.3.4": + version: 1.3.8 + resolution: "ini@npm:1.3.8" + checksum: dfd98b0ca3a4fc1e323e38a6c8eb8936e31a97a918d3b377649ea15bdb15d481207a0dda1021efbd86b464cae29a0d33c1d7dcaf6c5672bee17fa849bc50a1b3 languageName: node linkType: hard @@ -10086,14 +10005,14 @@ fsevents@~2.3.2: languageName: node linkType: hard -"internal-slot@npm:^1.0.3, internal-slot@npm:^1.0.4": - version: 1.0.4 - resolution: "internal-slot@npm:1.0.4" +"internal-slot@npm:^1.0.3, internal-slot@npm:^1.0.4, internal-slot@npm:^1.0.5": + version: 1.0.5 + resolution: "internal-slot@npm:1.0.5" dependencies: - get-intrinsic: ^1.1.3 + get-intrinsic: ^1.2.0 has: ^1.0.3 side-channel: ^1.0.4 - checksum: 8974588d06bab4f675573a3b52975370facf6486df51bc0567a982c7024fa29495f10b76c0d4dc742dd951d1b72024fdc1e31bb0bedf1678dc7aacacaf5a4f73 + checksum: 97e84046bf9e7574d0956bd98d7162313ce7057883b6db6c5c7b5e5f05688864b0978ba07610c726d15d66544ffe4b1050107d93f8a39ebc59b15d8b429b497a languageName: node linkType: hard @@ -10111,15 +10030,15 @@ fsevents@~2.3.2: languageName: node linkType: hard -"intl-messageformat@npm:10.3.1": - version: 10.3.1 - resolution: "intl-messageformat@npm:10.3.1" +"intl-messageformat@npm:10.3.3": + version: 10.3.3 + resolution: "intl-messageformat@npm:10.3.3" dependencies: "@formatjs/ecma402-abstract": 1.14.3 - "@formatjs/fast-memoize": 1.2.8 + "@formatjs/fast-memoize": 2.0.1 "@formatjs/icu-messageformat-parser": 2.3.0 tslib: ^2.4.0 - checksum: 926f07c8a09ad10feaf2619119b8fc77057cb263d6dec1a06a74ca62b530cfcdfa36f58bd40691c1d3cd41c350b75bc7d96f0e402a81e0ecb700d4d7d0d8cce9 + checksum: 05baee05d31b911dc4bb1774ddf0799dc136723203461f73fecb185e2e2d18b148311db7ef14294d664a6212311c5d9116c3e850cf609dd6348e347f3d07e660 languageName: node linkType: hard @@ -10131,9 +10050,16 @@ fsevents@~2.3.2: linkType: hard "ip@npm:^1.1.5": - version: 1.1.5 - resolution: "ip@npm:1.1.5" - checksum: 30133981f082a060a32644f6a7746e9ba7ac9e2bc07ecc8bbdda3ee8ca9bec1190724c390e45a1ee7695e7edfd2a8f7dda2c104ec5f7ac5068c00648504c7e5a + version: 1.1.8 + resolution: "ip@npm:1.1.8" + checksum: a2ade53eb339fb0cbe9e69a44caab10d6e3784662285eb5d2677117ee4facc33a64679051c35e0dfdb1a3983a51ce2f5d2cb36446d52e10d01881789b76e28fb + languageName: node + linkType: hard + +"ip@npm:^2.0.0": + version: 2.0.0 + resolution: "ip@npm:2.0.0" + checksum: cfcfac6b873b701996d71ec82a7dd27ba92450afdb421e356f44044ed688df04567344c36cbacea7d01b1c39a4c732dc012570ebe9bebfb06f27314bca625349 languageName: node linkType: hard @@ -10189,14 +10115,14 @@ fsevents@~2.3.2: languageName: node linkType: hard -"is-array-buffer@npm:^3.0.1": - version: 3.0.1 - resolution: "is-array-buffer@npm:3.0.1" +"is-array-buffer@npm:^3.0.1, is-array-buffer@npm:^3.0.2": + version: 3.0.2 + resolution: "is-array-buffer@npm:3.0.2" dependencies: call-bind: ^1.0.2 - get-intrinsic: ^1.1.3 + get-intrinsic: ^1.2.0 is-typed-array: ^1.1.10 - checksum: f26ab87448e698285daf707e52a533920449f7abf63714140ffab9d5571aa5a71ac2fa2677e8b793ad0d5d3e40078d4d2c8a0ab39c957e3cfc6513bb6c9dfdc9 + checksum: dcac9dda66ff17df9cabdc58214172bf41082f956eab30bb0d86bc0fab1e44b690fc8e1f855cf2481245caf4e8a5a006a982a71ddccec84032ed41f9d8da8c14 languageName: node linkType: hard @@ -10208,9 +10134,11 @@ fsevents@~2.3.2: linkType: hard "is-bigint@npm:^1.0.1": - version: 1.0.1 - resolution: "is-bigint@npm:1.0.1" - checksum: 04aa6fde59d2b7929df865acb89c8d7f89f919cc149b8be11e3560b1aab8667e5d939cc8954097c496f7dda80fd5bb67f829ca80ab66cc68918e41e2c1b9c5d7 + version: 1.0.4 + resolution: "is-bigint@npm:1.0.4" + dependencies: + has-bigints: ^1.0.1 + checksum: c56edfe09b1154f8668e53ebe8252b6f185ee852a50f9b41e8d921cb2bed425652049fbe438723f6cb48a63ca1aa051e948e7e401e093477c99c84eba244f666 languageName: node linkType: hard @@ -10233,11 +10161,12 @@ fsevents@~2.3.2: linkType: hard "is-boolean-object@npm:^1.1.0": - version: 1.1.0 - resolution: "is-boolean-object@npm:1.1.0" + version: 1.1.2 + resolution: "is-boolean-object@npm:1.1.2" dependencies: - call-bind: ^1.0.0 - checksum: 3ead0446176ee42a69f87658bf12d53c135095336d34765fa65f137f378ea125429bf777f91f6dd3407db80829d742bc4fb2fdaf8d2cf6ba82a2de2a07fbbac7 + call-bind: ^1.0.2 + has-tostringtag: ^1.0.0 + checksum: c03b23dbaacadc18940defb12c1c0e3aaece7553ef58b162a0f6bba0c2a7e1551b59f365b91e00d2dbac0522392d576ef322628cb1d036a0fe51eb466db67222 languageName: node linkType: hard @@ -10363,13 +10292,6 @@ fsevents@~2.3.2: languageName: node linkType: hard -"is-fullwidth-code-point@npm:^2.0.0": - version: 2.0.0 - resolution: "is-fullwidth-code-point@npm:2.0.0" - checksum: eef9c6e15f68085fec19ff6a978a6f1b8f48018fd1265035552078ee945573594933b09bbd6f562553e2a241561439f1ef5339276eba68d272001343084cfab8 - languageName: node - linkType: hard - "is-fullwidth-code-point@npm:^3.0.0": version: 3.0.0 resolution: "is-fullwidth-code-point@npm:3.0.0" @@ -10385,16 +10307,18 @@ fsevents@~2.3.2: linkType: hard "is-function@npm:^1.0.1": - version: 1.0.1 - resolution: "is-function@npm:1.0.1" - checksum: dc07a359b2c999fb6b65310a2f078c3f89e798675f80ffc644982bebe1131564ea484caca74c8b7a6fab566b4a71b41900b5d1f83b1953b4198e2d7236e23ed2 + version: 1.0.2 + resolution: "is-function@npm:1.0.2" + checksum: 7d564562e07b4b51359547d3ccc10fb93bb392fd1b8177ae2601ee4982a0ece86d952323fc172a9000743a3971f09689495ab78a1d49a9b14fc97a7e28521dc0 languageName: node linkType: hard "is-generator-function@npm:^1.0.7": - version: 1.0.7 - resolution: "is-generator-function@npm:1.0.7" - checksum: 05fa270375be3d2e4564ae8bcdcdb41e208d6f68f5390130a7beecaf7661d4d192ca139a029ea49f101686160eb976fabee4cdf591ee2ded08d7dc1b36897673 + version: 1.0.10 + resolution: "is-generator-function@npm:1.0.10" + dependencies: + has-tostringtag: ^1.0.0 + checksum: d54644e7dbaccef15ceb1e5d91d680eb5068c9ee9f9eb0a9e04173eb5542c9b51b5ab52c5537f5703e48d5fddfd376817c1ca07a84a407b7115b769d4bdde72b languageName: node linkType: hard @@ -10452,9 +10376,11 @@ fsevents@~2.3.2: linkType: hard "is-number-object@npm:^1.0.4": - version: 1.0.4 - resolution: "is-number-object@npm:1.0.4" - checksum: d8e4525b5c151f1830872bf217901b58b3a9f66d93fe2f71c2087418e03d7f5c19a3ad64afa0feb70dafd93f7b97e205e3520a8ff007be665e54b377f5b736a8 + version: 1.0.7 + resolution: "is-number-object@npm:1.0.7" + dependencies: + has-tostringtag: ^1.0.0 + checksum: d1e8d01bb0a7134c74649c4e62da0c6118a0bfc6771ea3c560914d52a627873e6920dd0fd0ebc0e12ad2ff4687eac4c308f7e80320b973b2c8a2c8f97a7524f7 languageName: node linkType: hard @@ -10540,9 +10466,9 @@ fsevents@~2.3.2: linkType: hard "is-potential-custom-element-name@npm:^1.0.0": - version: 1.0.0 - resolution: "is-potential-custom-element-name@npm:1.0.0" - checksum: 39084c1e357f2adf0cb9843cabd3c1ac770c9da14addbfd4e5a0243877eb084d9f3446e40c53970fdb8ea9c07e95659d694a0c4c6c4aa7a3da3f3e108212984f + version: 1.0.1 + resolution: "is-potential-custom-element-name@npm:1.0.1" + checksum: ced7bbbb6433a5b684af581872afe0e1767e2d1146b2207ca0068a648fb5cab9d898495d1ac0583524faaf24ca98176a7d9876363097c2d14fee6dd324f3a1ab languageName: node linkType: hard @@ -10598,9 +10524,9 @@ fsevents@~2.3.2: linkType: hard "is-stream@npm:^2.0.0": - version: 2.0.0 - resolution: "is-stream@npm:2.0.0" - checksum: 4dc47738e26bc4f1b3be9070b6b9e39631144f204fc6f87db56961220add87c10a999ba26cf81699f9ef9610426f69cb08a4713feff8deb7d8cadac907826935 + version: 2.0.1 + resolution: "is-stream@npm:2.0.1" + checksum: b8e05ccdf96ac330ea83c12450304d4a591f9958c11fd17bed240af8d5ffe08aedafa4c0f4cfccd4d28dc9d4d129daca1023633d5c11601a6cbc77521f6fae66 languageName: node linkType: hard @@ -10621,11 +10547,11 @@ fsevents@~2.3.2: linkType: hard "is-symbol@npm:^1.0.2, is-symbol@npm:^1.0.3": - version: 1.0.3 - resolution: "is-symbol@npm:1.0.3" + version: 1.0.4 + resolution: "is-symbol@npm:1.0.4" dependencies: - has-symbols: ^1.0.1 - checksum: c6d54bd01218fa202da8ce91525ca41a907819be5f000df9ab9621467e087eb36f34b2dbfa51a2a699a282e860681ffa6a787d69e944ba99a46d3df553ff2798 + has-symbols: ^1.0.2 + checksum: 92805812ef590738d9de49d677cd17dfd486794773fb6fa0032d16452af46e9b91bb43ffe82c983570f015b37136f4b53b28b8523bfb10b0ece7a66c31a54510 languageName: node linkType: hard @@ -10745,9 +10671,9 @@ fsevents@~2.3.2: linkType: hard "isbinaryfile@npm:^4.0.6": - version: 4.0.6 - resolution: "isbinaryfile@npm:4.0.6" - checksum: 25a6a3025fab513897302db8be6392ee0a8d2533f3aea78a93365f20e1e2649ef001220326731b275c437ed00dc35709dbf1834ab991995944b9fa80478b385f + version: 4.0.10 + resolution: "isbinaryfile@npm:4.0.10" + checksum: a6b28db7e23ac7a77d3707567cac81356ea18bd602a4f21f424f862a31d0e7ab4f250759c98a559ece35ffe4d99f0d339f1ab884ffa9795172f632ab8f88e686 languageName: node linkType: hard @@ -10788,16 +10714,6 @@ fsevents@~2.3.2: languageName: node linkType: hard -"jest-worker@npm:^24.9.0": - version: 24.9.0 - resolution: "jest-worker@npm:24.9.0" - dependencies: - merge-stream: ^2.0.0 - supports-color: ^6.1.0 - checksum: bd23b6c8728dcf3bad0d84543ea1bc4a95ccd3b5a40f9e2796d527ab0e87dc6afa6c30cc7b67845dce1cfe7894753812d19793de605db1976b7ac08930671bff - languageName: node - linkType: hard - "jest-worker@npm:^26.2.1": version: 26.6.2 resolution: "jest-worker@npm:26.6.2" @@ -10820,10 +10736,10 @@ fsevents@~2.3.2: languageName: node linkType: hard -"jpeg-js@npm:0.4.2": - version: 0.4.2 - resolution: "jpeg-js@npm:0.4.2" - checksum: def900757c395e6376446aef5c13ed122cae1ab15308e84784d260c8d3c14d30c2092eaf32a4f57528d6e1f96a6b240a801e92122f00c9f3bb5d5c4d38df5bc0 +"jpeg-js@npm:^0.4.2": + version: 0.4.4 + resolution: "jpeg-js@npm:0.4.4" + checksum: bd7cb61aa8df40a9ee2c2106839c3df6054891e56cfc22c0ac581402e06c6295f962a4754b0b2ac50a401789131b1c6dc9df8d24400f1352168be1894833c590 languageName: node linkType: hard @@ -10835,9 +10751,9 @@ fsevents@~2.3.2: linkType: hard "js-sdsl@npm:^4.1.4": - version: 4.3.0 - resolution: "js-sdsl@npm:4.3.0" - checksum: ce908257cf6909e213af580af3a691a736f5ee8b16315454768f917a682a4ea0c11bde1b241bbfaecedc0eb67b72101b2c2df2ffaed32aed5d539fca816f054e + version: 4.4.0 + resolution: "js-sdsl@npm:4.4.0" + checksum: 7bb08a2d746ab7ff742720339aa006c631afe05e77d11eda988c1c35fae8e03e492e4e347e883e786e3ce6170685d4780c125619111f0730c11fdb41b04059c7 languageName: node linkType: hard @@ -10912,7 +10828,7 @@ fsevents@~2.3.2: languageName: node linkType: hard -"json5@npm:^1.0.1": +"json5@npm:^1.0.2": version: 1.0.2 resolution: "json5@npm:1.0.2" dependencies: @@ -10946,9 +10862,9 @@ fsevents@~2.3.2: linkType: hard "jsonpointer@npm:^5.0.0": - version: 5.0.0 - resolution: "jsonpointer@npm:5.0.0" - checksum: c7ec0b6bb596b81de687bc12945586bbcdc80dfb54919656d2690d76334f796a936270067ee9f1b5bbc2d9ecc551afb366ac35e6685aa61f07b5b68d1e5e857d + version: 5.0.1 + resolution: "jsonpointer@npm:5.0.1" + checksum: 0b40f712900ad0c846681ea2db23b6684b9d5eedf55807b4708c656f5894b63507d0e28ae10aa1bddbea551241035afe62b6df0800fc94c2e2806a7f3adecd7c languageName: node linkType: hard @@ -10965,16 +10881,16 @@ fsevents@~2.3.2: linkType: hard "just-debounce@npm:^1.0.0": - version: 1.0.0 - resolution: "just-debounce@npm:1.0.0" - checksum: bb46dbbdd83915fc7b0c18665eec233f1a0de4989454124ab988e52b1a2f63c998add0e64cb4a0a1368938d27f4266e044da15eee19124e080baf420a2874581 + version: 1.1.0 + resolution: "just-debounce@npm:1.1.0" + checksum: 6f43d4d9b25ad45d8c2970f839d378b4d161f6da7e5fecfa3bab478d2567ea07d8992ca957009820704dc1accd211f816ffb15ace7e3a0a7254f1830b4914265 languageName: node linkType: hard "just-extend@npm:^4.0.2": - version: 4.0.2 - resolution: "just-extend@npm:4.0.2" - checksum: 03916980fc6855a0a9bcba164246c46984fcfb85b56f13405a4f244dd9369fddebcd700f33e2636d99780a704a6cec2b5333229eb03c5cbfa897340ecda4c616 + version: 4.2.1 + resolution: "just-extend@npm:4.2.1" + checksum: ff9fdede240fad313efeeeb68a660b942e5586d99c0058064c78884894a2690dc09bba44c994ad4e077e45d913fef01a9240c14a72c657b53687ac58de53b39c languageName: node linkType: hard @@ -11026,15 +10942,6 @@ fsevents@~2.3.2: languageName: node linkType: hard -"koa-compose@npm:^3.0.0": - version: 3.2.1 - resolution: "koa-compose@npm:3.2.1" - dependencies: - any-promise: ^1.1.0 - checksum: ff8e5fc0348455acf751179c6c613eb030a5fac6406d3b49ae9e00460b7ee8770db3ef62633fd3db0306cd4a6d2a0b5152399ebd5bb5e684418f9eeeb251c2de - languageName: node - linkType: hard - "koa-compose@npm:^4.1.0": version: 4.1.0 resolution: "koa-compose@npm:4.1.0" @@ -11042,23 +10949,13 @@ fsevents@~2.3.2: languageName: node linkType: hard -"koa-convert@npm:^1.2.0": - version: 1.2.0 - resolution: "koa-convert@npm:1.2.0" +"koa-convert@npm:^2.0.0": + version: 2.0.0 + resolution: "koa-convert@npm:2.0.0" dependencies: co: ^4.6.0 - koa-compose: ^3.0.0 - checksum: a33944dbda4ed87565985f5b37ba1122a012db872724b216b6fd8f9176d4bba42c4a9bf3c129330e45f6474d28f50ca0ed28d41b9bccd2ab5d36d6436cf0d676 - languageName: node - linkType: hard - -"koa-etag@npm:^3.0.0": - version: 3.0.0 - resolution: "koa-etag@npm:3.0.0" - dependencies: - etag: ^1.3.0 - mz: ^2.1.0 - checksum: 022aefab29f56009b3698c55a60d91317e24ee6622fb45251b7cc0b1e4f0d9ba0db5ad5743fc39872da9790d31f0162c6d7b792dbda39c214926ff2bc62be0a7 + koa-compose: ^4.1.0 + checksum: 7385b3391995f59c1312142e110d5dff677f9850dbfbcf387cd36a7b0af03b5d26e82b811eb9bb008b4f3e661cdab1f8817596e46b1929da2cf6e97a2f7456ed languageName: node linkType: hard @@ -11093,17 +10990,17 @@ fsevents@~2.3.2: linkType: hard "koa@npm:^2.13.0": - version: 2.13.0 - resolution: "koa@npm:2.13.0" + version: 2.14.1 + resolution: "koa@npm:2.14.1" dependencies: accepts: ^1.3.5 cache-content-type: ^1.0.0 content-disposition: ~0.5.2 content-type: ^1.0.4 cookies: ~0.8.0 - debug: ~3.1.0 + debug: ^4.3.2 delegates: ^1.0.0 - depd: ^1.1.2 + depd: ^2.0.0 destroy: ^1.0.4 encodeurl: ^1.0.2 escape-html: ^1.0.3 @@ -11112,14 +11009,14 @@ fsevents@~2.3.2: http-errors: ^1.6.3 is-generator-function: ^1.0.7 koa-compose: ^4.1.0 - koa-convert: ^1.2.0 + koa-convert: ^2.0.0 on-finished: ^2.3.0 only: ~0.0.2 parseurl: ^1.3.2 statuses: ^1.5.0 type-is: ^1.6.16 vary: ^1.1.2 - checksum: 4b8da40824fac97679cdfa48495034b0131dade49319b53811ce3e4ea027a0722474f6a729c2b21bf2c771d0730cdc48bc445e1f73dc39b1b6635d1ff3675125 + checksum: 84cfce48d72cf434831bd9f4f06beb3815da030325a7e89b13ee684f5afd158221e16c2d450ca637b221aa0c4a0ab235edd129e4efea656dc5d8384801d3e90f languageName: node linkType: hard @@ -11131,11 +11028,11 @@ fsevents@~2.3.2: linkType: hard "language-tags@npm:^1.0.5": - version: 1.0.7 - resolution: "language-tags@npm:1.0.7" + version: 1.0.8 + resolution: "language-tags@npm:1.0.8" dependencies: language-subtag-registry: ^0.3.20 - checksum: 2f1ca8ffe4e549893817456ca1974dbff0f3cc8aea4e123e666dc6df85f3cf2d828b8143084388a7e2bec15fac77b7194151e43b5b32e63526dafe17a08a9fd0 + checksum: 95d200a4c23ae58ec1c2224e264162ca95e71b3a1104a9cf9d2fd39ab807fa766b37827905a44c84763accc8223aedccebd4cd7807c16876cbe2af769e7a487b languageName: node linkType: hard @@ -11149,12 +11046,22 @@ fsevents@~2.3.2: languageName: node linkType: hard +"launch-editor@npm:^2.6.0": + version: 2.6.0 + resolution: "launch-editor@npm:2.6.0" + dependencies: + picocolors: ^1.0.0 + shell-quote: ^1.7.3 + checksum: 48e4230643e8fdb5c14c11314706d58d9f3fbafe2606be3d6e37da1918ad8bfe39dd87875c726a1b59b9f4da99d87ec3e36d4c528464f0b820f9e91e5cb1c02d + languageName: node + linkType: hard + "lazystream@npm:^1.0.0": - version: 1.0.0 - resolution: "lazystream@npm:1.0.0" + version: 1.0.1 + resolution: "lazystream@npm:1.0.1" dependencies: readable-stream: ^2.0.5 - checksum: 6cb9352a697bad74471671b299997edc736b400bb405dc409acfc9ffe584bb6f86898c4ace86b2f145ae32fe42ef60bd68749acb62c2ff3fa6bded721193f79c + checksum: 822c54c6b87701a6491c70d4fabc4cafcf0f87d6b656af168ee7bb3c45de9128a801cb612e6eeeefc64d298a7524a698dd49b13b0121ae50c2ae305f0dcc5310 languageName: node linkType: hard @@ -11232,46 +11139,46 @@ fsevents@~2.3.2: languageName: node linkType: hard -"lilconfig@npm:2.0.6": - version: 2.0.6 - resolution: "lilconfig@npm:2.0.6" - checksum: 40a3cd72f103b1be5975f2ac1850810b61d4053e20ab09be8d3aeddfe042187e1ba70b4651a7e70f95efa1642e7dc8b2ae395b317b7d7753b241b43cef7c0f7d +"lilconfig@npm:2.1.0": + version: 2.1.0 + resolution: "lilconfig@npm:2.1.0" + checksum: 8549bb352b8192375fed4a74694cd61ad293904eee33f9d4866c2192865c44c4eb35d10782966242634e0cbc1e91fe62b1247f148dc5514918e3a966da7ea117 languageName: node linkType: hard -"lint-staged@npm:13.1.2": - version: 13.1.2 - resolution: "lint-staged@npm:13.1.2" +"lint-staged@npm:13.2.0": + version: 13.2.0 + resolution: "lint-staged@npm:13.2.0" dependencies: + chalk: 5.2.0 cli-truncate: ^3.1.0 - colorette: ^2.0.19 - commander: ^9.4.1 + commander: ^10.0.0 debug: ^4.3.4 - execa: ^6.1.0 - lilconfig: 2.0.6 - listr2: ^5.0.5 + execa: ^7.0.0 + lilconfig: 2.1.0 + listr2: ^5.0.7 micromatch: ^4.0.5 normalize-path: ^3.0.0 - object-inspect: ^1.12.2 + object-inspect: ^1.12.3 pidtree: ^0.6.0 string-argv: ^0.3.1 - yaml: ^2.1.3 + yaml: ^2.2.1 bin: lint-staged: bin/lint-staged.js - checksum: f854ad5c88542b8f06e27f3b4046927a4f3d4a451a04e079526559d819a325762268f65bd2df7156bcc0cb5f531f621c42cdb824b403f537c78305adc9e56a54 + checksum: dcaa8fbbde567eb8ac27230a18b3a22f30c278c524c0e27cf7d4110d662d5d33ed68a585a2e1b05075ef1c262e853f557a5ae046188b723603246d63e6b9f07b languageName: node linkType: hard -"listr2@npm:^5.0.5": - version: 5.0.6 - resolution: "listr2@npm:5.0.6" +"listr2@npm:^5.0.7": + version: 5.0.8 + resolution: "listr2@npm:5.0.8" dependencies: cli-truncate: ^2.1.0 colorette: ^2.0.19 log-update: ^4.0.0 p-map: ^4.0.0 rfdc: ^1.3.0 - rxjs: ^7.5.7 + rxjs: ^7.8.0 through: ^2.3.8 wrap-ansi: ^7.0.0 peerDependencies: @@ -11279,7 +11186,7 @@ fsevents@~2.3.2: peerDependenciesMeta: enquirer: optional: true - checksum: 18975d690988aa2cce18fea9bacfc12c2607948ff9f7b7fd5b3e2b64d059b6e1961f8d06b4e1400d4c6bc18af84c7c145c2d22a1d392464fdb197c53b062e3d5 + checksum: 8be9f5632627c4df0dc33f452c98d415a49e5f1614650d3cab1b103c33e95f2a7a0e9f3e1e5de00d51bf0b4179acd8ff11b25be77dbe097cf3773c05e728d46c languageName: node linkType: hard @@ -11301,22 +11208,23 @@ fsevents@~2.3.2: languageName: node linkType: hard -"lit-element@npm:^3.2.0": - version: 3.2.2 - resolution: "lit-element@npm:3.2.2" +"lit-element@npm:^3.3.0": + version: 3.3.0 + resolution: "lit-element@npm:3.3.0" dependencies: + "@lit-labs/ssr-dom-shim": ^1.1.0 "@lit/reactive-element": ^1.3.0 - lit-html: ^2.2.0 - checksum: e1df57c02ad5ae4c42b49a5066b3b623bccf7fa6610bbc3f65bc22cbbe1546ecd6a7f717b1f01863929262f416c4b8b7a39ff166114215f93cc22f4e5b3825c3 + lit-html: ^2.7.0 + checksum: 5a483c34dd55412599978e02858d841a932199dedca0b86ec54639096bc36c301f57915c0ee0463d8a57ac265d57f3468c8378224816c732c73df641a2549d62 languageName: node linkType: hard -"lit-html@npm:^2.2.0, lit-html@npm:^2.6.0": - version: 2.6.1 - resolution: "lit-html@npm:2.6.1" +"lit-html@npm:^2.7.0": + version: 2.7.0 + resolution: "lit-html@npm:2.7.0" dependencies: "@types/trusted-types": ^2.0.2 - checksum: 32291eb5bcaa7fcc1d433522a9a62c3c3d240e49bb8c57ccea5c10014823d94f62f17e2d5361781cb6ee0b3c9078ef839de6164d5374371d650471904515e48e + checksum: 8a0f83c0f6110f8d02484803c2b309c6d21011bd03681cb790c5303e4a6e4f94956cb2dcb05e67f6c4066f382193a7e5c8987ab0ca244f2fe6e85b99e2feecdd languageName: node linkType: hard @@ -11331,20 +11239,20 @@ fsevents@~2.3.2: languageName: node linkType: hard -"lit@npm:2.6.1, lit@npm:^2.0.0, lit@npm:^2.0.0-rc.2, lit@npm:^2.2.1, lit@npm:^2.3.0, lit@npm:^2.5.0": - version: 2.6.1 - resolution: "lit@npm:2.6.1" +"lit@npm:2.7.0, lit@npm:^2.0.0, lit@npm:^2.0.0-rc.2, lit@npm:^2.2.1, lit@npm:^2.2.8, lit@npm:^2.3.0, lit@npm:^2.5.0, lit@npm:^2.7.0": + version: 2.7.0 + resolution: "lit@npm:2.7.0" dependencies: "@lit/reactive-element": ^1.6.0 - lit-element: ^3.2.0 - lit-html: ^2.6.0 - checksum: 74f2813152a48f195784f01b6b4ff7e4e7d8fa90ac272b725d1953fa3e1d6c9dca60b77da435f34144fcdd38705480889a8ea986835676932a8559c897cea517 + lit-element: ^3.3.0 + lit-html: ^2.7.0 + checksum: 916f459ded2e9700fe695070963dcb2edcea2dd1d127db6885cf10e94766d5ca9f438ebf659dca264c6402708254927b0ffed6595b6bcaac422e6f203dbbf6ee languageName: node linkType: hard "load-bmfont@npm:^1.3.1": - version: 1.4.0 - resolution: "load-bmfont@npm:1.4.0" + version: 1.4.1 + resolution: "load-bmfont@npm:1.4.1" dependencies: buffer-equal: 0.0.1 mime: ^1.3.4 @@ -11354,7 +11262,7 @@ fsevents@~2.3.2: phin: ^2.9.1 xhr: ^2.0.1 xtend: ^4.0.0 - checksum: f05c97fd247bdf0c386d27df7f6ef803425ad4c990415828d6049299a34dce595f617fd697d04865742f508d91f95a425340561471f9690935ac850e77e0c53f + checksum: 688d932fb0dc4c9333747736ccd926261f0b91734b7bdb6ff24f8659ef068a0f0b2278084b208851afac0beec79af7bd6664fe2ed5b6c5e1db88755fc25f785e languageName: node linkType: hard @@ -11372,9 +11280,9 @@ fsevents@~2.3.2: linkType: hard "loader-runner@npm:^4.2.0": - version: 4.2.0 - resolution: "loader-runner@npm:4.2.0" - checksum: e61aea8b6904b8af53d9de6f0484da86c462c0001f4511bedc837cec63deb9475cea813db62f702cd7930420ccb0e75c78112270ca5c8b61b374294f53c0cb3a + version: 4.3.0 + resolution: "loader-runner@npm:4.3.0" + checksum: a90e00dee9a16be118ea43fec3192d0b491fe03a32ed48a4132eb61d498f5536a03a1315531c19d284392a8726a4ecad71d82044c28d7f22ef62e029bf761569 languageName: node linkType: hard @@ -11509,13 +11417,6 @@ fsevents@~2.3.2: languageName: node linkType: hard -"lower-case@npm:^1.1.1": - version: 1.1.4 - resolution: "lower-case@npm:1.1.4" - checksum: 1ca9393b5eaef94a64e3f89e38b63d15bc7182a91171e6ad1550f51d710ec941540a065b274188f2e6b4576110cc2d11b50bc4bb7c603a040ddeb1db4ca95197 - languageName: node - linkType: hard - "lower-case@npm:^2.0.2": version: 2.0.2 resolution: "lower-case@npm:2.0.2" @@ -11543,6 +11444,13 @@ fsevents@~2.3.2: languageName: node linkType: hard +"lru-cache@npm:^7.14.1, lru-cache@npm:^7.7.1": + version: 7.18.3 + resolution: "lru-cache@npm:7.18.3" + checksum: e550d772384709deea3f141af34b6d4fa392e2e418c1498c078de0ee63670f1f46f5eee746e8ef7e69e1c895af0d4224e62ee33e66a543a14763b0f2e74c1356 + languageName: node + linkType: hard + "magic-string@npm:0.30.0": version: 0.30.0 resolution: "magic-string@npm:0.30.0" @@ -11553,11 +11461,11 @@ fsevents@~2.3.2: linkType: hard "magic-string@npm:^0.25.0, magic-string@npm:^0.25.7": - version: 0.25.7 - resolution: "magic-string@npm:0.25.7" + version: 0.25.9 + resolution: "magic-string@npm:0.25.9" dependencies: - sourcemap-codec: ^1.4.4 - checksum: 727a1fb70f9610304fe384f1df0251eb7d1d9dd779c07ef1225690361b71b216f26f5d934bfb11c919b5b0e7ba50f6240c823a6f2e44cfd33d4a07d7747ca829 + sourcemap-codec: ^1.4.8 + checksum: 9a0e55a15c7303fc360f9572a71cffba1f61451bc92c5602b1206c9d17f492403bf96f946dfce7483e66822d6b74607262e24392e87b0ac27b786e69a40e9b1a languageName: node linkType: hard @@ -11579,26 +11487,27 @@ fsevents@~2.3.2: languageName: node linkType: hard -"make-fetch-happen@npm:^8.0.14": - version: 8.0.14 - resolution: "make-fetch-happen@npm:8.0.14" +"make-fetch-happen@npm:^10.0.3": + version: 10.2.1 + resolution: "make-fetch-happen@npm:10.2.1" dependencies: - agentkeepalive: ^4.1.3 - cacache: ^15.0.5 + agentkeepalive: ^4.2.1 + cacache: ^16.1.0 http-cache-semantics: ^4.1.0 - http-proxy-agent: ^4.0.1 + http-proxy-agent: ^5.0.0 https-proxy-agent: ^5.0.0 is-lambda: ^1.0.1 - lru-cache: ^6.0.0 - minipass: ^3.1.3 + lru-cache: ^7.7.1 + minipass: ^3.1.6 minipass-collect: ^1.0.2 - minipass-fetch: ^1.3.2 + minipass-fetch: ^2.0.3 minipass-flush: ^1.0.5 minipass-pipeline: ^1.2.4 + negotiator: ^0.6.3 promise-retry: ^2.0.1 - socks-proxy-agent: ^5.0.0 - ssri: ^8.0.0 - checksum: 326fefde1aec1f1314e548be74baaaa322208718d1b51c9688a326f73dea70f57767b4f5423230e39408cfe7c6dcf7adcf86ca4798c919c3ea78f54532910434 + socks-proxy-agent: ^7.0.0 + ssri: ^9.0.0 + checksum: 2332eb9a8ec96f1ffeeea56ccefabcb4193693597b132cd110734d50f2928842e22b84cfa1508e921b8385cdfd06dda9ad68645fed62b50fff629a580f5fb72c languageName: node linkType: hard @@ -11634,12 +11543,12 @@ fsevents@~2.3.2: languageName: node linkType: hard -"marked@npm:4.2.12": - version: 4.2.12 - resolution: "marked@npm:4.2.12" +"marked@npm:4.3.0": + version: 4.3.0 + resolution: "marked@npm:4.3.0" bin: marked: bin/marked.js - checksum: bd551cd61028ee639d4ca2ccdfcc5a6ba4227c1b143c4538f3cde27f569dcb57df8e6313560394645b418b84a7336c07ab1e438b89b6324c29d7d8cdd3102d63 + checksum: 0db6817893952c3ec710eb9ceafb8468bf5ae38cb0f92b7b083baa13d70b19774674be04db5b817681fa7c5c6a088f61300815e4dd75a59696f4716ad69f6260 languageName: node linkType: hard @@ -11815,7 +11724,7 @@ fsevents@~2.3.2: languageName: node linkType: hard -"minimatch@npm:3.1.2, minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.2": +"minimatch@npm:3.1.2, minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": version: 3.1.2 resolution: "minimatch@npm:3.1.2" dependencies: @@ -11842,10 +11751,19 @@ fsevents@~2.3.2: languageName: node linkType: hard +"minimatch@npm:^7.4.1": + version: 7.4.2 + resolution: "minimatch@npm:7.4.2" + dependencies: + brace-expansion: ^2.0.1 + checksum: 9e341b04e69d5ab03e4206dcb61c8a158e3b8709628bf5e1a4eaa9f3b72c0ba925e24ad959b1f6ce6835caa5a927131d5087fae6836b69e7d99d7d5e63ef0bd8 + languageName: node + linkType: hard + "minimist@npm:^1.2.0, minimist@npm:^1.2.6": - version: 1.2.7 - resolution: "minimist@npm:1.2.7" - checksum: 7346574a1038ca23c32e02252f603801f09384dd1d78b69a943a4e8c2c28730b80e96193882d3d3b22a063445f460e48316b29b8a25addca2d7e5e8f75478bec + version: 1.2.8 + resolution: "minimist@npm:1.2.8" + checksum: 75a6d645fb122dad29c06a7597bddea977258957ed88d7a6df59b5cd3fe4a527e253e9bbf2e783e4b73657f9098b96a5fe96ab8a113655d4109108577ecf85b0 languageName: node linkType: hard @@ -11858,18 +11776,18 @@ fsevents@~2.3.2: languageName: node linkType: hard -"minipass-fetch@npm:^1.3.2": - version: 1.3.3 - resolution: "minipass-fetch@npm:1.3.3" +"minipass-fetch@npm:^2.0.3": + version: 2.1.2 + resolution: "minipass-fetch@npm:2.1.2" dependencies: - encoding: ^0.1.12 - minipass: ^3.1.0 + encoding: ^0.1.13 + minipass: ^3.1.6 minipass-sized: ^1.0.3 - minizlib: ^2.0.0 + minizlib: ^2.1.2 dependenciesMeta: encoding: optional: true - checksum: bd3d825b6b08b9c208b60f5022b12e3be78d01c2fd81bcbe8476e59c5ba2c6133d34c65961c88e1a17042242d99aa6a26a30a3139ccd4c07e536c6952ae72cb9 + checksum: 3f216be79164e915fc91210cea1850e488793c740534985da017a4cbc7a5ff50506956d0f73bb0cb60e4fe91be08b6b61ef35101706d3ef5da2c8709b5f08f91 languageName: node linkType: hard @@ -11882,7 +11800,7 @@ fsevents@~2.3.2: languageName: node linkType: hard -"minipass-pipeline@npm:^1.2.2, minipass-pipeline@npm:^1.2.4": +"minipass-pipeline@npm:^1.2.4": version: 1.2.4 resolution: "minipass-pipeline@npm:1.2.4" dependencies: @@ -11900,42 +11818,23 @@ fsevents@~2.3.2: languageName: node linkType: hard -"minipass@npm:^2.2.1, minipass@npm:^2.3.4": - version: 2.3.5 - resolution: "minipass@npm:2.3.5" - dependencies: - safe-buffer: ^5.1.2 - yallist: ^3.0.0 - checksum: 92803e1a8f69b04304d5c2721fe4b13187b6ea44c497e49d122bd6ef0572b72d6a947b2d95d8eac94f35f1519c4d36758ab02e385fd0f3944da0c66128566e3b - languageName: node - linkType: hard - -"minipass@npm:^3.0.0, minipass@npm:^3.1.0, minipass@npm:^3.1.1, minipass@npm:^3.1.3": - version: 3.3.5 - resolution: "minipass@npm:3.3.5" +"minipass@npm:^3.0.0, minipass@npm:^3.1.1, minipass@npm:^3.1.6": + version: 3.3.6 + resolution: "minipass@npm:3.3.6" dependencies: yallist: ^4.0.0 - checksum: f89f02bcaa0e0e4bb4c44ec796008e69fbca62db0aba6ead1bc57d25bdaefdf42102130f4f9ecb7d9c6b6cd35ff7b0c7b97d001d3435da8e629fb68af3aea57e + checksum: a30d083c8054cee83cdcdc97f97e4641a3f58ae743970457b1489ce38ee1167b3aaf7d815cd39ec7a99b9c40397fd4f686e83750e73e652b21cb516f6d845e48 languageName: node linkType: hard -"minipass@npm:^4.0.0": - version: 4.0.2 - resolution: "minipass@npm:4.0.2" - checksum: 2e4f4caaf85a45c01c6042adc43b5111a6113f62e300acf1db3b193ac3ec6e955bc893d6d8a08635598771a55a0f60487dcac59a1ac39557eb524295d4778c9e +"minipass@npm:^4.0.0, minipass@npm:^4.0.2, minipass@npm:^4.2.4": + version: 4.2.5 + resolution: "minipass@npm:4.2.5" + checksum: 4f9c19af23a5d4a9e7156feefc9110634b178a8cff8f8271af16ec5ebf7e221725a97429952c856f5b17b30c2065ebd24c81722d90c93d2122611d75b952b48f languageName: node linkType: hard -"minizlib@npm:^1.1.1": - version: 1.2.1 - resolution: "minizlib@npm:1.2.1" - dependencies: - minipass: ^2.2.1 - checksum: 5e78159791427616a63262dbc26fffb7af18725dfbe1ecf2110c08ef935af621cd3e238b6e7673e5cc77a9e5216a0f2b569bea3e620f81c6a0905cd93b07d0f5 - languageName: node - linkType: hard - -"minizlib@npm:^2.0.0, minizlib@npm:^2.1.1": +"minizlib@npm:^2.1.1, minizlib@npm:^2.1.2": version: 2.1.2 resolution: "minizlib@npm:2.1.2" dependencies: @@ -11955,7 +11854,7 @@ fsevents@~2.3.2: languageName: node linkType: hard -"mkdirp@npm:^0.5.0, mkdirp@npm:^0.5.1, mkdirp@npm:^0.5.6": +"mkdirp@npm:^0.5.1, mkdirp@npm:^0.5.6": version: 0.5.6 resolution: "mkdirp@npm:0.5.6" dependencies: @@ -12047,23 +11946,12 @@ fsevents@~2.3.2: languageName: node linkType: hard -"mz@npm:^2.1.0": - version: 2.7.0 - resolution: "mz@npm:2.7.0" - dependencies: - any-promise: ^1.0.0 - object-assign: ^4.0.1 - thenify-all: ^1.0.0 - checksum: 8427de0ece99a07e9faed3c0c6778820d7543e3776f9a84d22cf0ec0a8eb65f6e9aee9c9d353ff9a105ff62d33a9463c6ca638974cc652ee8140cd1e35951c87 - languageName: node - linkType: hard - "nan@npm:^2.12.1": - version: 2.13.2 - resolution: "nan@npm:2.13.2" + version: 2.17.0 + resolution: "nan@npm:2.17.0" dependencies: node-gyp: latest - checksum: cfe7225ce0480d07c7c01387e510a941775b8ed13d401fad6bdc04ed1ca57140869b8a63608ada016ae5b1fd0529cf887b8408c9316bd57211c912a4a8e5f3f7 + checksum: ec609aeaf7e68b76592a3ba96b372aa7f5df5b056c1e37410b0f1deefbab5a57a922061e2c5b369bae9c7c6b5e6eecf4ad2dac8833a1a7d3a751e0a7c7f849ed languageName: node linkType: hard @@ -12125,20 +12013,7 @@ fsevents@~2.3.2: languageName: node linkType: hard -"needle@npm:^2.2.1": - version: 2.2.4 - resolution: "needle@npm:2.2.4" - dependencies: - debug: ^2.1.2 - iconv-lite: ^0.4.4 - sax: ^1.2.4 - bin: - needle: ./bin/needle - checksum: ffb66c9e6c82b821d676493d9883c490fab644726516320579a32e18cac4cbedd52dd09f75d44eebc4f4ca347e063dadab9019b5d55932a46997e31797d09f20 - languageName: node - linkType: hard - -"negotiator@npm:0.6.3": +"negotiator@npm:0.6.3, negotiator@npm:^0.6.3": version: 0.6.3 resolution: "negotiator@npm:0.6.3" checksum: b8ffeb1e262eff7968fc90a2b6767b04cfd9842582a9d0ece0af7049537266e7b2506dfb1d107a32f06dd849ab2aea834d5830f7f4d0e5cb7d36e1ae55d021d9 @@ -12152,14 +12027,14 @@ fsevents@~2.3.2: languageName: node linkType: hard -"next-tick@npm:^1.0.0": - version: 1.0.0 - resolution: "next-tick@npm:1.0.0" - checksum: 83fcb3d4f8d9380210b1c2b8a610463602d80283f0c0c8571c1688e1ad6cbf3a16b345f5bb7212617d4898bedcfa10dff327dc09ec20a112a5bf43a0271375fb +"next-tick@npm:^1.1.0": + version: 1.1.0 + resolution: "next-tick@npm:1.1.0" + checksum: 83b5cf36027a53ee6d8b7f9c0782f2ba87f4858d977342bfc3c20c21629290a2111f8374d13a81221179603ffc4364f38374b5655d17b6a8f8a8c77bdea4fe8b languageName: node linkType: hard -"nise@npm:^5.1.2": +"nise@npm:^5.1.4": version: 5.1.4 resolution: "nise@npm:5.1.4" dependencies: @@ -12172,15 +12047,6 @@ fsevents@~2.3.2: languageName: node linkType: hard -"no-case@npm:^2.2.0": - version: 2.3.2 - resolution: "no-case@npm:2.3.2" - dependencies: - lower-case: ^1.1.1 - checksum: 856487731936fef44377ca74fdc5076464aba2e0734b56a4aa2b2a23d5b154806b591b9b2465faa59bb982e2b5c9391e3685400957fb4eeb38f480525adcf3dd - languageName: node - linkType: hard - "no-case@npm:^3.0.4": version: 3.0.4 resolution: "no-case@npm:3.0.4" @@ -12192,8 +12058,8 @@ fsevents@~2.3.2: linkType: hard "node-fetch@npm:^2.6.7": - version: 2.6.7 - resolution: "node-fetch@npm:2.6.7" + version: 2.6.9 + resolution: "node-fetch@npm:2.6.9" dependencies: whatwg-url: ^5.0.0 peerDependencies: @@ -12201,7 +12067,7 @@ fsevents@~2.3.2: peerDependenciesMeta: encoding: optional: true - checksum: 8d816ffd1ee22cab8301c7756ef04f3437f18dace86a1dae22cf81db8ef29c0bf6655f3215cb0cdb22b420b6fe141e64b26905e7f33f9377a7fa59135ea3e10b + checksum: acb04f9ce7224965b2b59e71b33c639794d8991efd73855b0b250921382b38331ffc9d61bce502571f6cc6e11a8905ca9b1b6d4aeb586ab093e2756a1fd190d0 languageName: node linkType: hard @@ -12213,49 +12079,29 @@ fsevents@~2.3.2: linkType: hard "node-gyp@npm:latest": - version: 8.1.0 - resolution: "node-gyp@npm:8.1.0" + version: 9.3.1 + resolution: "node-gyp@npm:9.3.1" dependencies: env-paths: ^2.2.0 glob: ^7.1.4 graceful-fs: ^4.2.6 - make-fetch-happen: ^8.0.14 - nopt: ^5.0.0 - npmlog: ^4.1.2 + make-fetch-happen: ^10.0.3 + nopt: ^6.0.0 + npmlog: ^6.0.0 rimraf: ^3.0.2 semver: ^7.3.5 - tar: ^6.1.0 + tar: ^6.1.2 which: ^2.0.2 bin: node-gyp: bin/node-gyp.js - checksum: d9f11a9ab20d2ec900cd910ecd77bc3909d4b5cd9eaf9854b00be4ba930227c5ce2ee0681216c326739dd445b1787aa933ac8d6a16ce222455d85092bb047901 + checksum: b860e9976fa645ca0789c69e25387401b4396b93c8375489b5151a6c55cf2640a3b6183c212b38625ef7c508994930b72198338e3d09b9d7ade5acc4aaf51ea7 languageName: node linkType: hard -"node-pre-gyp@npm:^0.12.0": - version: 0.12.0 - resolution: "node-pre-gyp@npm:0.12.0" - dependencies: - detect-libc: ^1.0.2 - mkdirp: ^0.5.1 - needle: ^2.2.1 - nopt: ^4.0.1 - npm-packlist: ^1.1.6 - npmlog: ^4.0.2 - rc: ^1.2.7 - rimraf: ^2.6.1 - semver: ^5.3.0 - tar: ^4 - bin: - node-pre-gyp: ./bin/node-pre-gyp - checksum: f5507d9956e7d24179b95052104d6da13b218dd75ad3717ea659beb78300bd63979ff5e7621c03eab92433e77da8b301be52ca3bef9afbea49e2c322e35f92d4 - languageName: node - linkType: hard - -"node-releases@npm:^2.0.6": - version: 2.0.6 - resolution: "node-releases@npm:2.0.6" - checksum: e86a926dc9fbb3b41b4c4a89d998afdf140e20a4e8dbe6c0a807f7b2948b42ea97d7fd3ad4868041487b6e9ee98409829c6e4d84a734a4215dff060a7fbeb4bf +"node-releases@npm:^2.0.8": + version: 2.0.10 + resolution: "node-releases@npm:2.0.10" + checksum: d784ecde25696a15d449c4433077f5cce620ed30a1656c4abf31282bfc691a70d9618bae6868d247a67914d1be5cc4fde22f65a05f4398cdfb92e0fc83cadfbc languageName: node linkType: hard @@ -12288,26 +12134,14 @@ fsevents@~2.3.2: languageName: node linkType: hard -"nopt@npm:^4.0.1": - version: 4.0.1 - resolution: "nopt@npm:4.0.1" +"nopt@npm:^6.0.0": + version: 6.0.0 + resolution: "nopt@npm:6.0.0" dependencies: - abbrev: 1 - osenv: ^0.1.4 - bin: - nopt: ./bin/nopt.js - checksum: 9698ffcb752bab2229e03f4a264215dbe34ce6d3465b58c5f2d7b4c2e21072f9003c0fe6b6c0ff8992cc6e2737b6bfd85b1fe92e81c78c6051b64df159c33b77 - languageName: node - linkType: hard - -"nopt@npm:^5.0.0": - version: 5.0.0 - resolution: "nopt@npm:5.0.0" - dependencies: - abbrev: 1 + abbrev: ^1.0.0 bin: nopt: bin/nopt.js - checksum: d35fdec187269503843924e0114c0c6533fb54bbf1620d0f28b4b60ba01712d6687f62565c55cc20a504eff0fbe5c63e22340c3fad549ad40469ffb611b04f2f + checksum: 82149371f8be0c4b9ec2f863cc6509a7fd0fa729929c009f3a58e4eb0c9e4cae9920e8f1f8eb46e7d032fec8fb01bede7f0f41a67eb3553b7b8e14fa53de1dac languageName: node linkType: hard @@ -12349,28 +12183,11 @@ fsevents@~2.3.2: linkType: hard "now-and-later@npm:^2.0.0": - version: 2.0.0 - resolution: "now-and-later@npm:2.0.0" + version: 2.0.1 + resolution: "now-and-later@npm:2.0.1" dependencies: once: ^1.3.2 - checksum: c4d9c3f23c1ee73a82a6a2265af625d18a8b84a1cce2c267951a5306c3e3cbfbfa36c621528214f234545e8a8f7ba61a11348bed82ed7c057ac7cbb09d327cf1 - languageName: node - linkType: hard - -"npm-bundled@npm:^1.0.1": - version: 1.0.6 - resolution: "npm-bundled@npm:1.0.6" - checksum: e2b304ae111ce1c6b29178b115dfd0f62976d65486de18648fd7419e38de5206e0eeec36047c784a6626208f1e181bc725cd9274ad64547a9f0c1c4fd516f200 - languageName: node - linkType: hard - -"npm-packlist@npm:^1.1.6": - version: 1.4.1 - resolution: "npm-packlist@npm:1.4.1" - dependencies: - ignore-walk: ^3.0.1 - npm-bundled: ^1.0.1 - checksum: 15074b0e7dddcd5da292e3b4adf0de75219ba175aa56b2aa619759f80f53bff11269ea9e71078ee2db3dce932f208402e05641cbdfb243c83f16b8ab52aa9376 + checksum: a6715b9504b96f2603020e048f5ef7adc0693a1be1fbb46589d359d95f16df77207339d7bccf76295675f0f152f4ef145914b8775fa179c294833abef05b475f languageName: node linkType: hard @@ -12392,15 +12209,15 @@ fsevents@~2.3.2: languageName: node linkType: hard -"npmlog@npm:^4.0.2, npmlog@npm:^4.1.2": - version: 4.1.2 - resolution: "npmlog@npm:4.1.2" +"npmlog@npm:^6.0.0": + version: 6.0.2 + resolution: "npmlog@npm:6.0.2" dependencies: - are-we-there-yet: ~1.1.2 - console-control-strings: ~1.1.0 - gauge: ~2.7.3 - set-blocking: ~2.0.0 - checksum: edbda9f95ec20957a892de1839afc6fb735054c3accf6fbefe767bac9a639fd5cea2baeac6bd2bcd50a85cb54924d57d9886c81c7fbc2332c2ddd19227504192 + are-we-there-yet: ^3.0.0 + console-control-strings: ^1.1.0 + gauge: ^4.0.3 + set-blocking: ^2.0.0 + checksum: ae238cd264a1c3f22091cdd9e2b106f684297d3c184f1146984ecbe18aaa86343953f26b9520dedd1b1372bc0316905b736c1932d778dbeb1fcf5a1001390e2a languageName: node linkType: hard @@ -12411,13 +12228,6 @@ fsevents@~2.3.2: languageName: node linkType: hard -"object-assign@npm:^4.0.1, object-assign@npm:^4.1.0": - version: 4.1.1 - resolution: "object-assign@npm:4.1.1" - checksum: fcc6e4ea8c7fe48abfbb552578b1c53e0d194086e2e6bbbf59e0a536381a292f39943c6e9628af05b5528aa5e3318bb30d6b2e53cadaf5b8fe9e12c4b69af23f - languageName: node - linkType: hard - "object-copy@npm:^0.1.0": version: 0.1.0 resolution: "object-copy@npm:0.1.0" @@ -12436,10 +12246,10 @@ fsevents@~2.3.2: languageName: node linkType: hard -"object-inspect@npm:^1.12.2, object-inspect@npm:^1.9.0": - version: 1.12.2 - resolution: "object-inspect@npm:1.12.2" - checksum: a534fc1b8534284ed71f25ce3a496013b7ea030f3d1b77118f6b7b1713829262be9e6243acbcb3ef8c626e2b64186112cb7f6db74e37b2789b9c789ca23048b2 +"object-inspect@npm:^1.12.3, object-inspect@npm:^1.9.0": + version: 1.12.3 + resolution: "object-inspect@npm:1.12.3" + checksum: dabfd824d97a5f407e6d5d24810d888859f6be394d8b733a77442b277e0808860555176719c5905e765e3743a7cada6b8b0a3b85e5331c530fd418cc8ae991db languageName: node linkType: hard @@ -12642,13 +12452,6 @@ fsevents@~2.3.2: languageName: node linkType: hard -"os-homedir@npm:^1.0.0": - version: 1.0.2 - resolution: "os-homedir@npm:1.0.2" - checksum: af609f5a7ab72de2f6ca9be6d6b91a599777afc122ac5cad47e126c1f67c176fe9b52516b9eeca1ff6ca0ab8587fe66208bc85e40a3940125f03cdb91408e9d2 - languageName: node - linkType: hard - "os-locale@npm:^1.4.0": version: 1.4.0 resolution: "os-locale@npm:1.4.0" @@ -12658,23 +12461,6 @@ fsevents@~2.3.2: languageName: node linkType: hard -"os-tmpdir@npm:^1.0.0": - version: 1.0.2 - resolution: "os-tmpdir@npm:1.0.2" - checksum: 5666560f7b9f10182548bf7013883265be33620b1c1b4a4d405c25be2636f970c5488ff3e6c48de75b55d02bde037249fe5dbfbb4c0fb7714953d56aed062e6d - languageName: node - linkType: hard - -"osenv@npm:^0.1.4": - version: 0.1.5 - resolution: "osenv@npm:0.1.5" - dependencies: - os-homedir: ^1.0.0 - os-tmpdir: ^1.0.0 - checksum: 779d261920f2a13e5e18cf02446484f12747d3f2ff82280912f52b213162d43d312647a40c332373cbccd5e3fb8126915d3bfea8dde4827f70f82da76e52d359 - languageName: node - linkType: hard - "p-limit@npm:^2.2.0": version: 2.3.0 resolution: "p-limit@npm:2.3.0" @@ -12730,12 +12516,12 @@ fsevents@~2.3.2: linkType: hard "p-retry@npm:^4.5.0": - version: 4.6.1 - resolution: "p-retry@npm:4.6.1" + version: 4.6.2 + resolution: "p-retry@npm:4.6.2" dependencies: - "@types/retry": ^0.12.0 + "@types/retry": 0.12.0 retry: ^0.13.1 - checksum: e6d540413bb3d0b96e0db44f74a7af1dce41f5005e6e84d617960110b148348c86a3987be07797749e3ddd55817dd3a8ffd6eae3428758bc2994d987e48c3a70 + checksum: 45c270bfddaffb4a895cea16cb760dcc72bdecb6cb45fef1971fa6ea2e91ddeafddefe01e444ac73e33b1b3d5d29fb0dd18a7effb294262437221ddc03ce0f2e languageName: node linkType: hard @@ -12753,16 +12539,7 @@ fsevents@~2.3.2: languageName: node linkType: hard -"param-case@npm:^2.1.1": - version: 2.1.1 - resolution: "param-case@npm:2.1.1" - dependencies: - no-case: ^2.2.0 - checksum: 3a63dcb8d8dc7995a612de061afdc7bb6fe7bd0e6db994db8d4cae999ed879859fd24389090e1a0d93f4c9207ebf8c048c870f468a3f4767161753e03cb9ab58 - languageName: node - linkType: hard - -"param-case@npm:^3.0.3": +"param-case@npm:^3.0.3, param-case@npm:^3.0.4": version: 3.0.4 resolution: "param-case@npm:3.0.4" dependencies: @@ -12817,9 +12594,9 @@ fsevents@~2.3.2: linkType: hard "parse-headers@npm:^2.0.0": - version: 2.0.3 - resolution: "parse-headers@npm:2.0.3" - checksum: 32658e1c923cde921fbb170ad3ef9700bfd56bcb6b649df03380b1d8ef60ab05d9f066dcfa7b13c732f2a1ce272f1e637dfd453345fb3041e86a2a9250326096 + version: 2.0.5 + resolution: "parse-headers@npm:2.0.5" + checksum: 3e97f01e4c7f960bfbfd0ee489f0bd8d3c72b6c814f1f79b66abec2cca8eaf8e4ecd89deba0b6e61266469aed87350bc932001181c01ff8c29a59e696abe251f languageName: node linkType: hard @@ -12981,6 +12758,16 @@ fsevents@~2.3.2: languageName: node linkType: hard +"path-scurry@npm:^1.6.1": + version: 1.6.2 + resolution: "path-scurry@npm:1.6.2" + dependencies: + lru-cache: ^7.14.1 + minipass: ^4.0.2 + checksum: daf863a0e5135be0741a461d36fe1cf67c3dda441d6dd9b038c94c601738e389de9a2f80ae92a5aed7c424186cce46770e785feef30939d364033247436ee5ee + languageName: node + linkType: hard + "path-to-regexp@npm:0.1.7": version: 0.1.7 resolution: "path-to-regexp@npm:0.1.7" @@ -12996,11 +12783,11 @@ fsevents@~2.3.2: linkType: hard "path-to-regexp@npm:^1.7.0": - version: 1.7.0 - resolution: "path-to-regexp@npm:1.7.0" + version: 1.8.0 + resolution: "path-to-regexp@npm:1.8.0" dependencies: isarray: 0.0.1 - checksum: bf5054aa006508b4f9fa9603f091ce90cb448f5a2714ce8b5dfefce761f107ca3a029401c28bf5824e4f38b71a605b3c24bd92e8a284c6436ab3060a497dd7ad + checksum: 709f6f083c0552514ef4780cb2e7e4cf49b0cc89a97439f2b7cc69a608982b7690fb5d1720a7473a59806508fc2dae0be751ba49f495ecf89fd8fbc62abccbcd languageName: node linkType: hard @@ -13029,6 +12816,13 @@ fsevents@~2.3.2: languageName: node linkType: hard +"peek-readable@npm:^4.1.0": + version: 4.1.0 + resolution: "peek-readable@npm:4.1.0" + checksum: 02c673f9bc816f8e4e74a054c097225ad38d457d745b775e2b96faf404a54473b2f62f5bcd496f5ebc28696708bcc5e95bed409856f4bef5ed62eae9b4ac0dab + languageName: node + linkType: hard + "phin@npm:^2.9.1": version: 2.9.3 resolution: "phin@npm:2.9.3" @@ -13179,10 +12973,10 @@ fsevents@~2.3.2: languageName: node linkType: hard -"preact@npm:^10.0.5": - version: 10.4.1 - resolution: "preact@npm:10.4.1" - checksum: e8c5eae6dca469226177394cf49994d6beab5b9b10d31e000d8b16d9b00bfa52cdd10b41331759d68646e7b8f601430d78eb025f9026263adc90150699800ed3 +"preact@npm:~10.12.1": + version: 10.12.1 + resolution: "preact@npm:10.12.1" + checksum: 0de99f477563ab7f94a0f964952ad216375973c0dcd9eb49881f8eb5effc5ed6948da062548c87d5bb0d82f1a1e516b649020e760eab3a0503dfdd8e64d34a26 languageName: node linkType: hard @@ -13193,12 +12987,12 @@ fsevents@~2.3.2: languageName: node linkType: hard -"prettier@npm:2.8.4": - version: 2.8.4 - resolution: "prettier@npm:2.8.4" +"prettier@npm:2.8.7": + version: 2.8.7 + resolution: "prettier@npm:2.8.7" bin: prettier: bin-prettier.js - checksum: c173064bf3df57b6d93d19aa98753b9b9dd7657212e33b41ada8e2e9f9884066bb9ca0b4005b89b3ab137efffdf8fbe0b462785aba20364798ff4303aadda57e + checksum: fdc8f2616f099f5f0d685907f4449a70595a0fc1d081a88919604375989e0d5e9168d6121d8cc6861f21990b31665828e00472544d785d5940ea08a17660c3a6 languageName: node linkType: hard @@ -13223,13 +13017,6 @@ fsevents@~2.3.2: languageName: node linkType: hard -"process-nextick-args@npm:^1.0.7": - version: 1.0.7 - resolution: "process-nextick-args@npm:1.0.7" - checksum: 41224fbc803ac6c96907461d4dfc20942efa3ca75f2d521bcf7cf0e89f8dec127fb3fb5d76746b8fb468a232ea02d84824fae08e027aec185fd29049c66d49f8 - languageName: node - linkType: hard - "process-nextick-args@npm:^2.0.0, process-nextick-args@npm:~2.0.0": version: 2.0.1 resolution: "process-nextick-args@npm:2.0.1" @@ -13237,10 +13024,10 @@ fsevents@~2.3.2: languageName: node linkType: hard -"process@npm:~0.5.1": - version: 0.5.2 - resolution: "process@npm:0.5.2" - checksum: 613505ec6d518654fc9c677881c6b8c871179dbf4bfe23f5a7a15defdb58efb1b75bfc96576adc118ba0bca1b76c359687a13f7d43950af0b7d5caa27efbe9e3 +"process@npm:^0.11.10": + version: 0.11.10 + resolution: "process@npm:0.11.10" + checksum: bfcce49814f7d172a6e6a14d5fa3ac92cc3d0c3b9feb1279774708a719e19acd673995226351a082a9ae99978254e320ccda4240ddc474ba31a76c79491ca7c3 languageName: node linkType: hard @@ -13262,11 +13049,11 @@ fsevents@~2.3.2: linkType: hard "promise@npm:^8.0.1": - version: 8.0.3 - resolution: "promise@npm:8.0.3" + version: 8.3.0 + resolution: "promise@npm:8.3.0" dependencies: asap: ~2.0.6 - checksum: 7d026b0f8a83fd1b5a5552f0e5f0ad87114711d9ed5427db5721bbc991f5609ec6d880fb09e6448559acc738a9125ddeced95bdfdc16c081826d611afca4cb3f + checksum: a69f0ddbddf78ffc529cffee7ad950d307347615970564b17988ce43fbe767af5c738a9439660b24a9a8cbea106c0dcbb6c2b20e23b7e96a8e89e5c2679e94d5 languageName: node linkType: hard @@ -13368,6 +13155,13 @@ fsevents@~2.3.2: languageName: node linkType: hard +"queue-microtask@npm:^1.2.2": + version: 1.2.3 + resolution: "queue-microtask@npm:1.2.3" + checksum: b676f8c040cdc5b12723ad2f91414d267605b26419d5c821ff03befa817ddd10e238d22b25d604920340fd73efd8ba795465a0377c4adf45a4a41e4234e42dc4 + languageName: node + linkType: hard + "randombytes@npm:^2.1.0": version: 2.1.0 resolution: "randombytes@npm:2.1.0" @@ -13403,20 +13197,6 @@ fsevents@~2.3.2: languageName: node linkType: hard -"rc@npm:^1.2.7": - version: 1.2.8 - resolution: "rc@npm:1.2.8" - dependencies: - deep-extend: ^0.6.0 - ini: ~1.3.0 - minimist: ^1.2.0 - strip-json-comments: ~2.0.1 - bin: - rc: ./cli.js - checksum: 2e26e052f8be2abd64e6d1dabfbd7be03f80ec18ccbc49562d31f617d0015fbdbcf0f9eed30346ea6ab789e0fdfe4337f033f8016efdbee0df5354751842080e - languageName: node - linkType: hard - "read-pkg-up@npm:^1.0.1": version: 1.0.1 resolution: "read-pkg-up@npm:1.0.1" @@ -13438,20 +13218,20 @@ fsevents@~2.3.2: languageName: node linkType: hard -"readable-stream@npm:3, readable-stream@npm:^3.0.6": - version: 3.6.0 - resolution: "readable-stream@npm:3.6.0" +"readable-stream@npm:3, readable-stream@npm:^3.0.6, readable-stream@npm:^3.6.0": + version: 3.6.2 + resolution: "readable-stream@npm:3.6.2" dependencies: inherits: ^2.0.3 string_decoder: ^1.1.1 util-deprecate: ^1.0.1 - checksum: d4ea81502d3799439bb955a3a5d1d808592cf3133350ed352aeaa499647858b27b1c4013984900238b0873ec8d0d8defce72469fb7a83e61d53f5ad61cb80dc8 + checksum: bdcbe6c22e846b6af075e32cf8f4751c2576238c5043169a1c221c92ee2878458a816a4ea33f4c67623c0b6827c8a400409bfb3cf0bf3381392d0b1dfb52ac8d languageName: node linkType: hard -"readable-stream@npm:^2.0.0, readable-stream@npm:^2.0.1, readable-stream@npm:^2.0.2, readable-stream@npm:^2.0.5, readable-stream@npm:^2.0.6, readable-stream@npm:^2.1.5, readable-stream@npm:^2.2.2, readable-stream@npm:^2.3.3, readable-stream@npm:^2.3.5, readable-stream@npm:^2.3.6, readable-stream@npm:~2.3.6": - version: 2.3.6 - resolution: "readable-stream@npm:2.3.6" +"readable-stream@npm:^2.0.0, readable-stream@npm:^2.0.1, readable-stream@npm:^2.0.2, readable-stream@npm:^2.0.5, readable-stream@npm:^2.1.5, readable-stream@npm:^2.2.2, readable-stream@npm:^2.3.3, readable-stream@npm:^2.3.5, readable-stream@npm:^2.3.6, readable-stream@npm:~2.3.6": + version: 2.3.8 + resolution: "readable-stream@npm:2.3.8" dependencies: core-util-is: ~1.0.0 inherits: ~2.0.3 @@ -13460,7 +13240,16 @@ fsevents@~2.3.2: safe-buffer: ~5.1.1 string_decoder: ~1.1.1 util-deprecate: ~1.0.1 - checksum: 686bbf9e2300cd24bbd71ba8999202613ef19441da9223bfe2c7da4f0dfab233302e2604846e9b8e814664ccdf365881e593da963ac9e2120abfa21f14f257fb + checksum: 65645467038704f0c8aaf026a72fbb588a9e2ef7a75cd57a01702ee9db1c4a1e4b03aaad36861a6a0926546a74d174149c8c207527963e0c2d3eee2f37678a42 + languageName: node + linkType: hard + +"readable-web-to-node-stream@npm:^3.0.0": + version: 3.0.2 + resolution: "readable-web-to-node-stream@npm:3.0.2" + dependencies: + readable-stream: ^3.6.0 + checksum: 8c56cc62c68513425ddfa721954875b382768f83fa20e6b31e365ee00cbe7a3d6296f66f7f1107b16cd3416d33aa9f1680475376400d62a081a88f81f0ea7f9c languageName: node linkType: hard @@ -13525,14 +13314,14 @@ fsevents@~2.3.2: languageName: node linkType: hard -"regenerator-runtime@npm:0.13.11, regenerator-runtime@npm:^0.13.3, regenerator-runtime@npm:^0.13.4": +"regenerator-runtime@npm:0.13.11, regenerator-runtime@npm:^0.13.11, regenerator-runtime@npm:^0.13.3": version: 0.13.11 resolution: "regenerator-runtime@npm:0.13.11" checksum: 27481628d22a1c4e3ff551096a683b424242a216fee44685467307f14d58020af1e19660bf2e26064de946bad7eff28950eae9f8209d55723e2d9351e632bbb4 languageName: node linkType: hard -"regenerator-transform@npm:^0.15.0": +"regenerator-transform@npm:^0.15.1": version: 0.15.1 resolution: "regenerator-transform@npm:0.15.1" dependencies: @@ -13551,7 +13340,7 @@ fsevents@~2.3.2: languageName: node linkType: hard -"regexp.prototype.flags@npm:^1.3.1, regexp.prototype.flags@npm:^1.4.3": +"regexp.prototype.flags@npm:^1.4.3": version: 1.4.3 resolution: "regexp.prototype.flags@npm:1.4.3" dependencies: @@ -13562,31 +13351,17 @@ fsevents@~2.3.2: languageName: node linkType: hard -"regexpp@npm:^3.2.0": - version: 3.2.0 - resolution: "regexpp@npm:3.2.0" - checksum: a78dc5c7158ad9ddcfe01aa9144f46e192ddbfa7b263895a70a5c6c73edd9ce85faf7c0430e59ac38839e1734e275b9c3de5c57ee3ab6edc0e0b1bdebefccef8 - languageName: node - linkType: hard - -"regexpu-core@npm:^5.1.0": - version: 5.2.2 - resolution: "regexpu-core@npm:5.2.2" +"regexpu-core@npm:^5.3.1": + version: 5.3.2 + resolution: "regexpu-core@npm:5.3.2" dependencies: + "@babel/regjsgen": ^0.8.0 regenerate: ^1.4.2 regenerate-unicode-properties: ^10.1.0 - regjsgen: ^0.7.1 regjsparser: ^0.9.1 unicode-match-property-ecmascript: ^2.0.0 unicode-match-property-value-ecmascript: ^2.1.0 - checksum: 87c56815e20d213848d38f6b047ba52f0d632f36e791b777f59327e8d350c0743b27cc25feab64c0eadc9fe9959dde6b1261af71108a9371b72c8c26beda05ef - languageName: node - linkType: hard - -"regjsgen@npm:^0.7.1": - version: 0.7.1 - resolution: "regjsgen@npm:0.7.1" - checksum: 7cac399921c58db8e16454869283ff66871531180218064fa938ac05c11c2976792a00706c3c78bbc625e1d793ca373065ea90564e06189a751a7b4ae33acadc + checksum: 95bb97088419f5396e07769b7de96f995f58137ad75fac5811fb5fe53737766dfff35d66a0ee66babb1eb55386ef981feaef392f9df6d671f3c124812ba24da2 languageName: node linkType: hard @@ -13637,9 +13412,9 @@ fsevents@~2.3.2: linkType: hard "repeat-element@npm:^1.1.2": - version: 1.1.3 - resolution: "repeat-element@npm:1.1.3" - checksum: 0743a136b484117016ad587577ede60a3ffe604b74e57bd5d7d0aa041fe2f1c956e6b2f3ff83c86f4db9fac022c3fa2da8e58b9d3618b8b4cb1c3d041bcc422f + version: 1.1.4 + resolution: "repeat-element@npm:1.1.4" + checksum: 1edd0301b7edad71808baad226f0890ba709443f03a698224c9ee4f2494c317892dc5211b2ba8cbea7194a9ddbcac01e283bd66de0467ab24ee1fc1a3711d8a9 languageName: node linkType: hard @@ -13651,9 +13426,9 @@ fsevents@~2.3.2: linkType: hard "replace-ext@npm:^1.0.0": - version: 1.0.0 - resolution: "replace-ext@npm:1.0.0" - checksum: 123e5c28046e4f0b82e1cdedb0340058d362ddbd8e17d98e5068bbacc3b3b397b4d8e3c69d603f9c4c0f6a6494852064396570c44f9426a4673dba63850fab34 + version: 1.0.1 + resolution: "replace-ext@npm:1.0.1" + checksum: 4994ea1aaa3d32d152a8d98ff638988812c4fa35ba55485630008fe6f49e3384a8a710878e6fd7304b42b38d1b64c1cd070e78ece411f327735581a79dd88571 languageName: node linkType: hard @@ -13783,7 +13558,7 @@ fsevents@~2.3.2: languageName: node linkType: hard -"resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.4.0, resolve@npm:^1.22.1": +"resolve@npm:^1.1.6, resolve@npm:^1.1.7, resolve@npm:^1.10.0, resolve@npm:^1.14.2, resolve@npm:^1.19.0, resolve@npm:^1.20.0, resolve@npm:^1.22.1, resolve@npm:^1.4.0": version: 1.22.1 resolution: "resolve@npm:1.22.1" dependencies: @@ -13854,17 +13629,6 @@ fsevents@~2.3.2: languageName: node linkType: hard -"rimraf@npm:^2.6.1": - version: 2.7.1 - resolution: "rimraf@npm:2.7.1" - dependencies: - glob: ^7.1.3 - bin: - rimraf: ./bin.js - checksum: cdc7f6eacb17927f2a075117a823e1c5951792c6498ebcce81ca8203454a811d4cf8900314154d3259bb8f0b42ab17f67396a8694a54cae3283326e57ad250cd - languageName: node - linkType: hard - "rimraf@npm:^3.0.2": version: 3.0.2 resolution: "rimraf@npm:3.0.2" @@ -13892,22 +13656,7 @@ fsevents@~2.3.2: languageName: node linkType: hard -"rollup-plugin-terser@npm:5.3.1": - version: 5.3.1 - resolution: "rollup-plugin-terser@npm:5.3.1" - dependencies: - "@babel/code-frame": ^7.5.5 - jest-worker: ^24.9.0 - rollup-pluginutils: ^2.8.2 - serialize-javascript: ^4.0.0 - terser: ^4.6.2 - peerDependencies: - rollup: ">=0.66.0 <3" - checksum: 50f9e8fa6737fa5e8aeca6a52b59ea3bc66faebe743bdfe9ce0484298cd1978082026721b182d79bcc88240429842dc58feae88d6c238b47cafc1684e0320a73 - languageName: node - linkType: hard - -"rollup-plugin-terser@npm:^7.0.0": +"rollup-plugin-terser@npm:7.0.2, rollup-plugin-terser@npm:^7.0.0": version: 7.0.2 resolution: "rollup-plugin-terser@npm:7.0.2" dependencies: @@ -13940,7 +13689,7 @@ fsevents@~2.3.2: languageName: node linkType: hard -"rollup-pluginutils@npm:^2.4.1, rollup-pluginutils@npm:^2.8.2": +"rollup-pluginutils@npm:^2.4.1": version: 2.8.2 resolution: "rollup-pluginutils@npm:2.8.2" dependencies: @@ -13973,13 +13722,15 @@ fsevents@~2.3.2: linkType: hard "run-parallel@npm:^1.1.9": - version: 1.1.9 - resolution: "run-parallel@npm:1.1.9" - checksum: 8bbeda89c2c1dbfeaa0cdb9f17e93a011ac58ef77339ef1e61a62208b67c8e7b661891df677bb7c5be84b8792e27061177368d500b3c731bb019b0c71e667591 + version: 1.2.0 + resolution: "run-parallel@npm:1.2.0" + dependencies: + queue-microtask: ^1.2.2 + checksum: cb4f97ad25a75ebc11a8ef4e33bb962f8af8516bb2001082ceabd8902e15b98f4b84b4f8a9b222e5d57fc3bd1379c483886ed4619367a7680dad65316993021d languageName: node linkType: hard -"rxjs@npm:^7.5.7": +"rxjs@npm:^7.8.0": version: 7.8.0 resolution: "rxjs@npm:7.8.0" dependencies: @@ -14002,7 +13753,7 @@ fsevents@~2.3.2: languageName: node linkType: hard -"safe-buffer@npm:5.2.1, safe-buffer@npm:>=5.1.0, safe-buffer@npm:^5.1.0, safe-buffer@npm:^5.1.1, safe-buffer@npm:^5.1.2, safe-buffer@npm:~5.2.0": +"safe-buffer@npm:5.2.1, safe-buffer@npm:>=5.1.0, safe-buffer@npm:^5.1.0, safe-buffer@npm:^5.1.1, safe-buffer@npm:~5.2.0": version: 5.2.1 resolution: "safe-buffer@npm:5.2.1" checksum: b99c4b41fdd67a6aaf280fcd05e9ffb0813654894223afb78a31f14a19ad220bba8aba1cb14eddce1fcfb037155fe6de4e861784eb434f7d11ed58d1e70dd491 @@ -14036,7 +13787,7 @@ fsevents@~2.3.2: languageName: node linkType: hard -"sax@npm:>=0.6.0, sax@npm:^1.2.4": +"sax@npm:>=0.6.0": version: 1.2.4 resolution: "sax@npm:1.2.4" checksum: d3df7d32b897a2c2f28e941f732c71ba90e27c24f62ee918bd4d9a8cfb3553f2f81e5493c7f0be94a11c1911b643a9108f231dd6f60df3fa9586b5d2e3e9e1fe @@ -14091,7 +13842,7 @@ fsevents@~2.3.2: languageName: node linkType: hard -"semver@npm:2 || 3 || 4 || 5, semver@npm:^5.3.0, semver@npm:^5.7.1": +"semver@npm:2 || 3 || 4 || 5, semver@npm:^5.7.1": version: 5.7.1 resolution: "semver@npm:5.7.1" bin: @@ -14141,7 +13892,7 @@ fsevents@~2.3.2: languageName: node linkType: hard -"serialize-javascript@npm:6.0.0, serialize-javascript@npm:^6.0.0": +"serialize-javascript@npm:6.0.0": version: 6.0.0 resolution: "serialize-javascript@npm:6.0.0" dependencies: @@ -14159,6 +13910,15 @@ fsevents@~2.3.2: languageName: node linkType: hard +"serialize-javascript@npm:^6.0.1": + version: 6.0.1 + resolution: "serialize-javascript@npm:6.0.1" + dependencies: + randombytes: ^2.1.0 + checksum: 3c4f4cb61d0893b988415bdb67243637333f3f574e9e9cc9a006a2ced0b390b0b3b44aef8d51c951272a9002ec50885eefdc0298891bc27eb2fe7510ea87dc4f + languageName: node + linkType: hard + "serve-handler@npm:6.1.5": version: 6.1.5 resolution: "serve-handler@npm:6.1.5" @@ -14202,7 +13962,7 @@ fsevents@~2.3.2: languageName: node linkType: hard -"set-blocking@npm:^2.0.0, set-blocking@npm:~2.0.0": +"set-blocking@npm:^2.0.0": version: 2.0.0 resolution: "set-blocking@npm:2.0.0" checksum: 6e65a05f7cf7ebdf8b7c75b101e18c0b7e3dff4940d480efed8aad3a36a4005140b660fa1d804cb8bce911cac290441dc728084a30504d3516ac2ff7ad607b02 @@ -14235,13 +13995,6 @@ fsevents@~2.3.2: languageName: node linkType: hard -"setprototypeof@npm:1.1.1": - version: 1.1.1 - resolution: "setprototypeof@npm:1.1.1" - checksum: a8bee29c1c64c245d460ce53f7460af8cbd0aceac68d66e5215153992cc8b3a7a123416353e0c642060e85cc5fd4241c92d1190eec97eda0dcb97436e8fcca3b - languageName: node - linkType: hard - "setprototypeof@npm:1.2.0": version: 1.2.0 resolution: "setprototypeof@npm:1.2.0" @@ -14274,6 +14027,13 @@ fsevents@~2.3.2: languageName: node linkType: hard +"shell-quote@npm:^1.7.3": + version: 1.8.0 + resolution: "shell-quote@npm:1.8.0" + checksum: 6ef7c5e308b9c77eedded882653a132214fa98b4a1512bb507588cf6cd2fc78bfee73e945d0c3211af028a1eabe09c6a19b96edd8977dc149810797e93809749 + languageName: node + linkType: hard + "side-channel@npm:^1.0.4": version: 1.0.4 resolution: "side-channel@npm:1.0.4" @@ -14285,24 +14045,24 @@ fsevents@~2.3.2: languageName: node linkType: hard -"signal-exit@npm:^3.0.0, signal-exit@npm:^3.0.2, signal-exit@npm:^3.0.3, signal-exit@npm:^3.0.7": +"signal-exit@npm:^3.0.2, signal-exit@npm:^3.0.3, signal-exit@npm:^3.0.7": version: 3.0.7 resolution: "signal-exit@npm:3.0.7" checksum: a2f098f247adc367dffc27845853e9959b9e88b01cb301658cfe4194352d8d2bb32e18467c786a7fe15f1d44b233ea35633d076d5e737870b7139949d1ab6318 languageName: node linkType: hard -"sinon@npm:15.0.1": - version: 15.0.1 - resolution: "sinon@npm:15.0.1" +"sinon@npm:15.0.2": + version: 15.0.2 + resolution: "sinon@npm:15.0.2" dependencies: - "@sinonjs/commons": ^2.0.0 - "@sinonjs/fake-timers": 10.0.2 + "@sinonjs/commons": ^3.0.0 + "@sinonjs/fake-timers": ^10.0.2 "@sinonjs/samsam": ^7.0.1 - diff: ^5.0.0 - nise: ^5.1.2 + diff: ^5.1.0 + nise: ^5.1.4 supports-color: ^7.2.0 - checksum: 4b5acff291b4650cf736bf45fc9eceed44dceca63b663cbd55926dd688fe8e9baa4b4629e296ee5d5b64245aedec5c540fea0416b8bb35bccfb98ca9e9ed87f3 + checksum: 98eb555442db3985d7fe0d90e23f081f3df71adffa0a50b049bcd2abbf5c2d71a43aeaa1e3c02500164cff5233d2f102f777356ebe8bfc257cb7059c1b2778b0 languageName: node linkType: hard @@ -14352,10 +14112,10 @@ fsevents@~2.3.2: languageName: node linkType: hard -"smart-buffer@npm:^4.1.0": - version: 4.1.0 - resolution: "smart-buffer@npm:4.1.0" - checksum: 1db847dcf92c06b36e96aace965e00aec5caccd65c8fd60e0c284c5ad9dabe7f16ef4a60a34dd3c4ccc245a8393071e646fc94fc95f111c25e8513fd9efa6ed5 +"smart-buffer@npm:^4.2.0": + version: 4.2.0 + resolution: "smart-buffer@npm:4.2.0" + checksum: b5167a7142c1da704c0e3af85c402002b597081dd9575031a90b4f229ca5678e9a36e8a374f1814c8156a725d17008ae3bde63b92f9cfd132526379e580bec8b languageName: node linkType: hard @@ -14406,24 +14166,24 @@ fsevents@~2.3.2: languageName: node linkType: hard -"socks-proxy-agent@npm:^5.0.0": - version: 5.0.1 - resolution: "socks-proxy-agent@npm:5.0.1" +"socks-proxy-agent@npm:^7.0.0": + version: 7.0.0 + resolution: "socks-proxy-agent@npm:7.0.0" dependencies: agent-base: ^6.0.2 - debug: 4 - socks: ^2.3.3 - checksum: 1b60c4977b2fef783f0fc4dc619cd2758aafdb43f3cf679f1e3627cb6c6e752811cee5513ebb4157ad26786033d2f85029440f197d321e8293b38cc5aab01e06 + debug: ^4.3.3 + socks: ^2.6.2 + checksum: 720554370154cbc979e2e9ce6a6ec6ced205d02757d8f5d93fe95adae454fc187a5cbfc6b022afab850a5ce9b4c7d73e0f98e381879cf45f66317a4895953846 languageName: node linkType: hard -"socks@npm:^2.3.3": - version: 2.6.1 - resolution: "socks@npm:2.6.1" +"socks@npm:^2.6.2": + version: 2.7.1 + resolution: "socks@npm:2.7.1" dependencies: - ip: ^1.1.5 - smart-buffer: ^4.1.0 - checksum: 2ca9d616e424f645838ebaabb04f85d94ea999e0f8393dc07f86c435af22ed88cb83958feeabd1bb7bc537c635ed47454255635502c6808a6df61af1f41af750 + ip: ^2.0.0 + smart-buffer: ^4.2.0 + checksum: 259d9e3e8e1c9809a7f5c32238c3d4d2a36b39b83851d0f573bfde5f21c4b1288417ce1af06af1452569cd1eb0841169afd4998f0e04ba04656f6b7f0e46d748 languageName: node linkType: hard @@ -14508,7 +14268,7 @@ fsevents@~2.3.2: languageName: node linkType: hard -"sourcemap-codec@npm:^1.4.4": +"sourcemap-codec@npm:^1.4.8": version: 1.4.8 resolution: "sourcemap-codec@npm:1.4.8" checksum: b57981c05611afef31605732b598ccf65124a9fcb03b833532659ac4d29ac0f7bfacbc0d6c5a28a03e84c7510e7e556d758d0bb57786e214660016fb94279316 @@ -14523,36 +14283,36 @@ fsevents@~2.3.2: linkType: hard "spdx-correct@npm:^3.0.0": - version: 3.1.0 - resolution: "spdx-correct@npm:3.1.0" + version: 3.2.0 + resolution: "spdx-correct@npm:3.2.0" dependencies: spdx-expression-parse: ^3.0.0 spdx-license-ids: ^3.0.0 - checksum: fda9fc191e8e45209049054119e1343f4a449d54b677f38bd7b47956eac47d31d065d8fb7a58d2430d5974fcb6d88c9faada02e935847f9ed386073c18ba5c8a + checksum: e9ae98d22f69c88e7aff5b8778dc01c361ef635580e82d29e5c60a6533cc8f4d820803e67d7432581af0cc4fb49973125076ee3b90df191d153e223c004193b2 languageName: node linkType: hard "spdx-exceptions@npm:^2.1.0": - version: 2.2.0 - resolution: "spdx-exceptions@npm:2.2.0" - checksum: 29189de3f60ac6d74d84fa85cfc49ca6a838f710242db99d9414461c2c1717ca3f4aae59b2ce57a99cf6427adc62bdcc4c198fb7ae17383497e5e85cc851f8d7 + version: 2.3.0 + resolution: "spdx-exceptions@npm:2.3.0" + checksum: cb69a26fa3b46305637123cd37c85f75610e8c477b6476fa7354eb67c08128d159f1d36715f19be6f9daf4b680337deb8c65acdcae7f2608ba51931540687ac0 languageName: node linkType: hard "spdx-expression-parse@npm:^3.0.0": - version: 3.0.0 - resolution: "spdx-expression-parse@npm:3.0.0" + version: 3.0.1 + resolution: "spdx-expression-parse@npm:3.0.1" dependencies: spdx-exceptions: ^2.1.0 spdx-license-ids: ^3.0.0 - checksum: 308c8c4925f3a584d5740e2d13615aa90e800fc16f9f794195723c9a3f56030096bf5cf34f68b2b05aedac292edd48fe7d51bac13e77e6f94abf921044e40248 + checksum: a1c6e104a2cbada7a593eaa9f430bd5e148ef5290d4c0409899855ce8b1c39652bcc88a725259491a82601159d6dc790bedefc9016c7472f7de8de7361f8ccde languageName: node linkType: hard "spdx-license-ids@npm:^3.0.0": - version: 3.0.3 - resolution: "spdx-license-ids@npm:3.0.3" - checksum: ec7bfab530c581501bd58bb70afb37d74e9a97d5cb1a452dac7f592c21b4b4ae8c53b4cbdf3ec88024d0c01dfb804bba07bd10445f87f8acfc57c772049063fb + version: 3.0.13 + resolution: "spdx-license-ids@npm:3.0.13" + checksum: 3469d85c65f3245a279fa11afc250c3dca96e9e847f2f79d57f466940c5bb8495da08a542646086d499b7f24a74b8d0b42f3fc0f95d50ff99af1f599f6360ad7 languageName: node linkType: hard @@ -14592,12 +14352,12 @@ fsevents@~2.3.2: languageName: node linkType: hard -"ssri@npm:^8.0.0, ssri@npm:^8.0.1": - version: 8.0.1 - resolution: "ssri@npm:8.0.1" +"ssri@npm:^9.0.0": + version: 9.0.1 + resolution: "ssri@npm:9.0.1" dependencies: minipass: ^3.1.1 - checksum: bc447f5af814fa9713aa201ec2522208ae0f4d8f3bda7a1f445a797c7b929a02720436ff7c478fb5edc4045adb02b1b88d2341b436a80798734e2494f1067b36 + checksum: fb58f5e46b6923ae67b87ad5ef1c5ab6d427a17db0bead84570c2df3cd50b4ceb880ebdba2d60726588272890bae842a744e1ecce5bd2a2a582fccd5068309eb languageName: node linkType: hard @@ -14633,9 +14393,9 @@ fsevents@~2.3.2: linkType: hard "std-env@npm:^3.0.1": - version: 3.3.1 - resolution: "std-env@npm:3.3.1" - checksum: c4f59ecd2cb52041ce1785776d28a1aa56d346b6c4efcb8473e7e801eed1ac7612332dcee242d0b35948f35f745cceb6e226b5e825b59e588b262dca6be2b8aa + version: 3.3.2 + resolution: "std-env@npm:3.3.2" + checksum: c02256bb041ba1870d23f8360bc7e47a9cf1fabcd02c8b7c4246d48f2c6bb47b4f45c70964348844e6d36521df84c4a9d09d468654b51e0eb5c600e3392b4570 languageName: node linkType: hard @@ -14656,9 +14416,9 @@ fsevents@~2.3.2: linkType: hard "stream-shift@npm:^1.0.0": - version: 1.0.0 - resolution: "stream-shift@npm:1.0.0" - checksum: 96db103f6c9e8de47e5bf31475ee14b00312f51531d6a4ab464fc1a6767edca44bf27528f13036a3222fc0ceea3727c9fe9577e6125fae365477e1252fff1b89 + version: 1.0.1 + resolution: "stream-shift@npm:1.0.1" + checksum: 59b82b44b29ec3699b5519a49b3cedcc6db58c72fb40c04e005525dfdcab1c75c4e0c180b923c380f204bed78211b9bad8faecc7b93dece4d004c3f6ec75737b languageName: node linkType: hard @@ -14689,17 +14449,7 @@ fsevents@~2.3.2: languageName: node linkType: hard -"string-width@npm:^1.0.2 || 2": - version: 2.1.1 - resolution: "string-width@npm:2.1.1" - dependencies: - is-fullwidth-code-point: ^2.0.0 - strip-ansi: ^4.0.0 - checksum: d6173abe088c615c8dffaf3861dc5d5906ed3dc2d6fd67ff2bd2e2b5dce7fd683c5240699cf0b1b8aa679a3b3bd6b28b5053c824cb89b813d7f6541d8f89064a - languageName: node - linkType: hard - -"string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3": +"string-width@npm:^1.0.2 || 2 || 3 || 4, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3": version: 4.2.3 resolution: "string-width@npm:4.2.3" dependencies: @@ -14722,18 +14472,29 @@ fsevents@~2.3.2: linkType: hard "string.prototype.matchall@npm:^4.0.6": - version: 4.0.6 - resolution: "string.prototype.matchall@npm:4.0.6" + version: 4.0.8 + resolution: "string.prototype.matchall@npm:4.0.8" dependencies: call-bind: ^1.0.2 - define-properties: ^1.1.3 - es-abstract: ^1.19.1 - get-intrinsic: ^1.1.1 - has-symbols: ^1.0.2 + define-properties: ^1.1.4 + es-abstract: ^1.20.4 + get-intrinsic: ^1.1.3 + has-symbols: ^1.0.3 internal-slot: ^1.0.3 - regexp.prototype.flags: ^1.3.1 + regexp.prototype.flags: ^1.4.3 side-channel: ^1.0.4 - checksum: 07aca53ddd8a096a8bd0560eb8574386c6b3887a6a06b40a98abd42c94dadeed3296261fca22fec59a1ed970d199bdeb450fcb6a7390193588d9c6b5f48fe842 + checksum: 952da3a818de42ad1c10b576140a5e05b4de7b34b8d9dbf00c3ac8c1293e9c0f533613a39c5cda53e0a8221f2e710bc2150e730b1c2278d60004a8a35726efb6 + languageName: node + linkType: hard + +"string.prototype.trim@npm:^1.2.7": + version: 1.2.7 + resolution: "string.prototype.trim@npm:1.2.7" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.1.4 + es-abstract: ^1.20.4 + checksum: 05b7b2d6af63648e70e44c4a8d10d8cc457536df78b55b9d6230918bde75c5987f6b8604438c4c8652eb55e4fc9725d2912789eb4ec457d6995f3495af190c09 languageName: node linkType: hard @@ -14797,15 +14558,6 @@ fsevents@~2.3.2: languageName: node linkType: hard -"strip-ansi@npm:^4.0.0": - version: 4.0.0 - resolution: "strip-ansi@npm:4.0.0" - dependencies: - ansi-regex: ^3.0.0 - checksum: d9186e6c0cf78f25274f6750ee5e4a5725fb91b70fdd79aa5fe648eab092a0ec5b9621b22d69d4534a56319f75d8944efbd84e3afa8d4ad1b9a9491f12c84eca - languageName: node - linkType: hard - "strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": version: 6.0.1 resolution: "strip-ansi@npm:6.0.1" @@ -14868,17 +14620,20 @@ fsevents@~2.3.2: languageName: node linkType: hard -"strip-json-comments@npm:~2.0.1": - version: 2.0.1 - resolution: "strip-json-comments@npm:2.0.1" - checksum: 1074ccb63270d32ca28edfb0a281c96b94dc679077828135141f27d52a5a398ef5e78bcf22809d23cadc2b81dfbe345eb5fd8699b385c8b1128907dec4a7d1e1 +"strtok3@npm:^6.2.4": + version: 6.3.0 + resolution: "strtok3@npm:6.3.0" + dependencies: + "@tokenizer/token": ^0.3.0 + peek-readable: ^4.1.0 + checksum: 90732cff3f325aef7c47c511f609b593e0873ec77b5081810071cde941344e6a0ee3ccb0cae1a9f5b4e12c81a2546fd6b322fabcdfbd1dd08362c2ce5291334a languageName: node linkType: hard "style-mod@npm:^4.0.0": - version: 4.0.1 - resolution: "style-mod@npm:4.0.1" - checksum: 1a9c60b56415dc3a40d512b634dfd3605c90935d7fa366216784bc3870e3a7411e65b8fb1a2d1d631dd16622fb1d96aeafd8457d940b5897838fcbee829cb654 + version: 4.0.2 + resolution: "style-mod@npm:4.0.2" + checksum: 4bac8877e039c61481fc729981378791979c3ebb2f827a54240e95ccca5bca92a6d660566cacb87a8d7cc1ffb26bcd5eafa10c697e131adb5ca9541f3a9cbff6 languageName: node linkType: hard @@ -14907,15 +14662,6 @@ fsevents@~2.3.2: languageName: node linkType: hard -"supports-color@npm:^6.1.0": - version: 6.1.0 - resolution: "supports-color@npm:6.1.0" - dependencies: - has-flag: ^3.0.0 - checksum: 74358f9535c83ee113fbaac354b11e808060f6e7d8722082ee43af3578469134e89d00026dce2a6b93ce4e5b89d0e9a10f638b2b9f64c7838c2fb2883a47b3d5 - languageName: node - linkType: hard - "supports-color@npm:^7.0.0, supports-color@npm:^7.1.0, supports-color@npm:^7.2.0": version: 7.2.0 resolution: "supports-color@npm:7.2.0" @@ -14942,22 +14688,22 @@ fsevents@~2.3.2: languageName: node linkType: hard -"systemjs@npm:6.14.0": - version: 6.14.0 - resolution: "systemjs@npm:6.14.0" - checksum: df82c38a5f23012dfee693e97dacfc48eef787a80cc41bc3bd594567ba9441c6392978841c6555d88df7451a2e22c8df9fcbf9c88c78f9f9b9027393ac38d84b +"systemjs@npm:6.14.1": + version: 6.14.1 + resolution: "systemjs@npm:6.14.1" + checksum: a72992339e858000892596705ec8cabf5166fc2db6272b5994c788641c3755115920b7a7914c9b8894ef08bfb75f4f96c3086c6b18399a2b22e303ecd5ac6570 languageName: node linkType: hard -"table-layout@npm:^1.0.1": - version: 1.0.1 - resolution: "table-layout@npm:1.0.1" +"table-layout@npm:^1.0.2": + version: 1.0.2 + resolution: "table-layout@npm:1.0.2" dependencies: array-back: ^4.0.1 deep-extend: ~0.6.0 typical: ^5.2.0 wordwrapjs: ^4.0.0 - checksum: 3efe03f91d6838929a12c7b5bf05b719492828ee519e4945210cbec5d777777984c6aa2f28d2742ad448030983b11ccc377186f24675c810adca00119babba94 + checksum: 8f41b5671f101a5195747ec1727b1d35ea2cd5bf85addda11cc2f4b36892db9696ce3c2c7334b5b8a122505b34d19135fede50e25678df71b0439e0704fd953f languageName: node linkType: hard @@ -14969,13 +14715,13 @@ fsevents@~2.3.2: linkType: hard "tapable@npm:^2.0.0, tapable@npm:^2.1.1, tapable@npm:^2.2.0": - version: 2.2.0 - resolution: "tapable@npm:2.2.0" - checksum: 5a7e31ddd2400d524b68e7ba0373e492ba52b321b8e1eb15b65956e9c1b9ba90dd175210a1318b6752538cbe3b284f4a7218a714be942aeeb812623c243aea25 + version: 2.2.1 + resolution: "tapable@npm:2.2.1" + checksum: 3b7a1b4d86fa940aad46d9e73d1e8739335efd4c48322cb37d073eb6f80f5281889bf0320c6d8ffcfa1a0dd5bfdbd0f9d037e252ef972aca595330538aac4d51 languageName: node linkType: hard -"tar@npm:6.1.13, tar@npm:^6.0.2, tar@npm:^6.1.0": +"tar@npm:6.1.13, tar@npm:^6.1.11, tar@npm:^6.1.2": version: 6.1.13 resolution: "tar@npm:6.1.13" dependencies: @@ -14989,21 +14735,6 @@ fsevents@~2.3.2: languageName: node linkType: hard -"tar@npm:^4": - version: 4.4.8 - resolution: "tar@npm:4.4.8" - dependencies: - chownr: ^1.1.1 - fs-minipass: ^1.2.5 - minipass: ^2.3.4 - minizlib: ^1.1.1 - mkdirp: ^0.5.0 - safe-buffer: ^5.1.2 - yallist: ^3.0.2 - checksum: 38901ab919e972a6126c75ebacdc309f60f4f365efad5ff32e5af25aae446d3dd829323b4c05d49623e7c27d1cbec528406283d0b62e3f2c232ad33e81805633 - languageName: node - linkType: hard - "temp-dir@npm:^2.0.0": version: 2.0.0 resolution: "temp-dir@npm:2.0.0" @@ -15023,15 +14754,15 @@ fsevents@~2.3.2: languageName: node linkType: hard -"terser-webpack-plugin@npm:5.3.6, terser-webpack-plugin@npm:^5.1.3": - version: 5.3.6 - resolution: "terser-webpack-plugin@npm:5.3.6" +"terser-webpack-plugin@npm:5.3.7, terser-webpack-plugin@npm:^5.1.3": + version: 5.3.7 + resolution: "terser-webpack-plugin@npm:5.3.7" dependencies: - "@jridgewell/trace-mapping": ^0.3.14 + "@jridgewell/trace-mapping": ^0.3.17 jest-worker: ^27.4.5 schema-utils: ^3.1.1 - serialize-javascript: ^6.0.0 - terser: ^5.14.1 + serialize-javascript: ^6.0.1 + terser: ^5.16.5 peerDependencies: webpack: ^5.1.0 peerDependenciesMeta: @@ -15041,11 +14772,11 @@ fsevents@~2.3.2: optional: true uglify-js: optional: true - checksum: 8f3448d7fdb0434ce6a0c09d95c462bfd2f4a5a430233d854163337f734a7f5c07c74513d16081e06d4ca33d366d5b1a36f5444219bc41a7403afd6162107bad + checksum: 095e699fdeeb553cdf2c6f75f983949271b396d9c201d7ae9fc633c45c1c1ad14c7257ef9d51ccc62213dd3e97f875870ba31550f6d4f1b6674f2615562da7f7 languageName: node linkType: hard -"terser@npm:^4.6.2, terser@npm:^4.6.3": +"terser@npm:^4.6.3": version: 4.8.1 resolution: "terser@npm:4.8.1" dependencies: @@ -15058,9 +14789,9 @@ fsevents@~2.3.2: languageName: node linkType: hard -"terser@npm:^5.0.0, terser@npm:^5.14.1": - version: 5.16.3 - resolution: "terser@npm:5.16.3" +"terser@npm:^5.0.0, terser@npm:^5.15.1, terser@npm:^5.16.5": + version: 5.16.6 + resolution: "terser@npm:5.16.6" dependencies: "@jridgewell/source-map": ^0.3.2 acorn: ^8.5.0 @@ -15068,7 +14799,7 @@ fsevents@~2.3.2: source-map-support: ~0.5.20 bin: terser: bin/terser - checksum: d3c2ac1c2723c37b698b25b68d76fd315a1277fddde113983d5783d1f2a01dd7b8ed83ba3f54e5e65f0b59dd971ed7be2fdf8d4be94ec694b2d27832d2e7561f + checksum: f763a7bcc7b98cb2bfc41434f7b92bfe8a701a12c92ea6049377736c8e6de328240d654a20dfe15ce170fd783491b9873fad9f4cd8fee4f6c6fb8ca407859dee languageName: node linkType: hard @@ -15079,24 +14810,6 @@ fsevents@~2.3.2: languageName: node linkType: hard -"thenify-all@npm:^1.0.0": - version: 1.6.0 - resolution: "thenify-all@npm:1.6.0" - dependencies: - thenify: ">= 3.1.0 < 4" - checksum: dba7cc8a23a154cdcb6acb7f51d61511c37a6b077ec5ab5da6e8b874272015937788402fd271fdfc5f187f8cb0948e38d0a42dcc89d554d731652ab458f5343e - languageName: node - linkType: hard - -"thenify@npm:>= 3.1.0 < 4": - version: 3.3.1 - resolution: "thenify@npm:3.3.1" - dependencies: - any-promise: ^1.0.0 - checksum: 84e1b804bfec49f3531215f17b4a6e50fd4397b5f7c1bccc427b9c656e1ecfb13ea79d899930184f78bc2f57285c54d9a50a590c8868f4f0cef5c1d9f898b05e - languageName: node - linkType: hard - "through2-filter@npm:^3.0.0": version: 3.0.0 resolution: "through2-filter@npm:3.0.0" @@ -15144,9 +14857,9 @@ fsevents@~2.3.2: linkType: hard "thunky@npm:^1.0.2": - version: 1.0.3 - resolution: "thunky@npm:1.0.3" - checksum: d06070207d01107bbcdfebb5277204802ba8c964bf6df6d90d904e0b94f312c01b36cc540afc50c54191e62c90ee6387454588171aade1d108e48f13a167c57f + version: 1.1.0 + resolution: "thunky@npm:1.1.0" + checksum: 993096c472b6b8f30e29dc777a8d17720e4cab448375041f20c0cb802a09a7fb2217f2a3e8cdc11851faa71c957e2db309357367fc9d7af3cb7a4d00f4b66034 languageName: node linkType: hard @@ -15158,16 +14871,16 @@ fsevents@~2.3.2: linkType: hard "timm@npm:^1.6.1": - version: 1.6.2 - resolution: "timm@npm:1.6.2" - checksum: bc5505e279865227c4fcdaf0664db4ece863148170813cac92e87da49ed40cebba47c6fbbf88530cad099a56c642edfbe3927fa052d88668888745493fb8ffb1 + version: 1.7.1 + resolution: "timm@npm:1.7.1" + checksum: c80df538ec7fae50a0e3183931b20fbe97f6f2c06907d9675eb7b9d90b3f788af7742285c730192db3b066c4ab22ebae75f8d21970c5b03f38d928d5bb2a0339 languageName: node linkType: hard "tinycolor2@npm:^1.4.1": - version: 1.4.1 - resolution: "tinycolor2@npm:1.4.1" - checksum: ffc22d986690ea713e1d1cba51ae3750711b6d825b47da1818a736eabf46f474cfc672d4b01f43153486e939f5c2d2cebae0a0afb285e0ce9a4d327f5c04a615 + version: 1.6.0 + resolution: "tinycolor2@npm:1.6.0" + checksum: 6df4d07fceeedc0a878d7bac47e2cd47c1ceeb1078340a9eb8a295bc0651e17c750f73d47b3028d829f30b85c15e0572c0fd4142083e4c21a30a597e47f47230 languageName: node linkType: hard @@ -15244,13 +14957,6 @@ fsevents@~2.3.2: languageName: node linkType: hard -"toidentifier@npm:1.0.0": - version: 1.0.0 - resolution: "toidentifier@npm:1.0.0" - checksum: 199e6bfca1531d49b3506cff02353d53ec987c9ee10ee272ca6484ed97f1fc10fb77c6c009079ca16d5c5be4a10378178c3cacdb41ce9ec954c3297c74c6053e - languageName: node - linkType: hard - "toidentifier@npm:1.0.1": version: 1.0.1 resolution: "toidentifier@npm:1.0.1" @@ -15258,6 +14964,16 @@ fsevents@~2.3.2: languageName: node linkType: hard +"token-types@npm:^4.1.1": + version: 4.2.1 + resolution: "token-types@npm:4.2.1" + dependencies: + "@tokenizer/token": ^0.3.0 + ieee754: ^1.2.1 + checksum: cce256766b33e0f08ceffefa2198fb4961a417866d00780e58625999ab5c0699821407053e64eadc41b00bbb6c0d0c4d02fbd2199940d8a3ccb71e1b148ab9a2 + languageName: node + linkType: hard + "tr46@npm:^1.0.1": version: 1.0.1 resolution: "tr46@npm:1.0.1" @@ -15300,28 +15016,28 @@ fsevents@~2.3.2: linkType: hard "tsconfig-paths@npm:^3.14.1": - version: 3.14.1 - resolution: "tsconfig-paths@npm:3.14.1" + version: 3.14.2 + resolution: "tsconfig-paths@npm:3.14.2" dependencies: "@types/json5": ^0.0.29 - json5: ^1.0.1 + json5: ^1.0.2 minimist: ^1.2.6 strip-bom: ^3.0.0 - checksum: 8afa01c673ebb4782ba53d3a12df97fa837ce524f8ad38ee4e2b2fd57f5ac79abc21c574e9e9eb014d93efe7fe8214001b96233b5c6ea75bd1ea82afe17a4c6d + checksum: a6162eaa1aed680537f93621b82399c7856afd10ec299867b13a0675e981acac4e0ec00896860480efc59fc10fd0b16fdc928c0b885865b52be62cadac692447 languageName: node linkType: hard -"tslib@npm:^1.8.1, tslib@npm:^1.9.0": - version: 1.10.0 - resolution: "tslib@npm:1.10.0" - checksum: 1d0450dc6f64b918b14acaf3b956ebe1c72d7401c632adce932a60e3cd8d2a70f6040ceef6a7c3561146c3f29bcf584c41c2e09a5d20a27d6c3057f0d5f2a836 +"tslib@npm:^1.8.1": + version: 1.14.1 + resolution: "tslib@npm:1.14.1" + checksum: dbe628ef87f66691d5d2959b3e41b9ca0045c3ee3c7c7b906cc1e328b39f199bb1ad9e671c39025bd56122ac57dfbf7385a94843b1cc07c60a4db74795829acd languageName: node linkType: hard "tslib@npm:^2.0.1, tslib@npm:^2.0.2, tslib@npm:^2.0.3, tslib@npm:^2.1.0, tslib@npm:^2.2.0, tslib@npm:^2.3.1, tslib@npm:^2.4.0": - version: 2.4.1 - resolution: "tslib@npm:2.4.1" - checksum: 19480d6e0313292bd6505d4efe096a6b31c70e21cf08b5febf4da62e95c265c8f571f7b36fcc3d1a17e068032f59c269fab3459d6cd3ed6949eafecf64315fca + version: 2.5.0 + resolution: "tslib@npm:2.5.0" + checksum: ae3ed5f9ce29932d049908ebfdf21b3a003a85653a9a140d614da6b767a93ef94f460e52c3d787f0e4f383546981713f165037dc2274df212ea9f8a4541004e1 languageName: node linkType: hard @@ -15476,6 +15192,20 @@ fsevents@~2.3.2: languageName: node linkType: hard +"type@npm:^1.0.1": + version: 1.2.0 + resolution: "type@npm:1.2.0" + checksum: dae8c64f82c648b985caf321e9dd6e8b7f4f2e2d4f846fc6fd2c8e9dc7769382d8a52369ddbaccd59aeeceb0df7f52fb339c465be5f2e543e81e810e413451ee + languageName: node + linkType: hard + +"type@npm:^2.7.2": + version: 2.7.2 + resolution: "type@npm:2.7.2" + checksum: 0f42379a8adb67fe529add238a3e3d16699d95b42d01adfe7b9a7c5da297f5c1ba93de39265ba30ffeb37dfd0afb3fb66ae09f58d6515da442219c086219f6f4 + languageName: node + linkType: hard + "typed-array-length@npm:^1.0.4": version: 1.0.4 resolution: "typed-array-length@npm:1.0.4" @@ -15494,16 +15224,6 @@ fsevents@~2.3.2: languageName: node linkType: hard -typescript@^3.8.3: - version: 3.8.3 - resolution: "typescript@npm:3.8.3" - bin: - tsc: bin/tsc - tsserver: bin/tsserver - checksum: 3ef07f997a9a3af80d663cc611be984d3e22df3dc2b5ecfa6cbe7dbd54f1984fa1c679ba67e6a9d36d73ffdbbab88a0fbb58eb30ffc4f748f3a3c28d562b546a - languageName: node - linkType: hard - "typescript@npm:4.9.5": version: 4.9.5 resolution: "typescript@npm:4.9.5" @@ -15514,6 +15234,16 @@ typescript@^3.8.3: languageName: node linkType: hard +"typescript@npm:^3.8.3": + version: 3.9.10 + resolution: "typescript@npm:3.9.10" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 46c842e2cd4797b88b66ef06c9c41dd21da48b95787072ccf39d5f2aa3124361bc4c966aa1c7f709fae0509614d76751455b5231b12dbb72eb97a31369e1ff92 + languageName: node + linkType: hard + "typescript@patch:typescript@4.9.5#~builtin": version: 4.9.5 resolution: "typescript@patch:typescript@npm%3A4.9.5#~builtin::version=4.9.5&hash=23ec76" @@ -15525,12 +15255,12 @@ typescript@^3.8.3: linkType: hard "typescript@patch:typescript@^3.8.3#~builtin": - version: 3.8.3 - resolution: "typescript@patch:typescript@npm%3A3.8.3#~builtin::version=3.8.3&hash=c44097" + version: 3.9.10 + resolution: "typescript@patch:typescript@npm%3A3.9.10#~builtin::version=3.9.10&hash=3bd3d3" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: fba33b9756bbffcbdc87254af0f491852bac475c1302b570b9c656c10fad9dbe7113975a64beb6035979db555b0fc87fa168734f10bf556f173213c13d371e4e + checksum: dc7141ab555b23a8650a6787f98845fc11692063d02b75ff49433091b3af2fe3d773650dea18389d7c21f47d620fb3b110ea363dab4ab039417a6ccbbaf96fc2 languageName: node linkType: hard @@ -15541,24 +15271,13 @@ typescript@^3.8.3: languageName: node linkType: hard -"typical@npm:^5.0.0, typical@npm:^5.2.0": +"typical@npm:^5.2.0": version: 5.2.0 resolution: "typical@npm:5.2.0" checksum: ccaeb151a9a556291b495571ca44c4660f736fb49c29314bbf773c90fad92e9485d3cc2b074c933866c1595abbbc962f2b8bfc6e0f52a8c6b0cdd205442036ac languageName: node linkType: hard -"uglify-js@npm:^3.5.1": - version: 3.9.3 - resolution: "uglify-js@npm:3.9.3" - dependencies: - commander: ~2.20.3 - bin: - uglifyjs: bin/uglifyjs - checksum: 942d38c74ade922c0ecd4960beb7c1586ea1c8ae5f1db6373fdc6996f89e9fc9e4f47901aa5b15ef8b1b7a8e6d30a1901485b6912aebfec05733305677670f75 - languageName: node - linkType: hard - "unbox-primitive@npm:^1.0.2": version: 1.0.2 resolution: "unbox-primitive@npm:1.0.2" @@ -15653,21 +15372,21 @@ typescript@^3.8.3: languageName: node linkType: hard -"unique-filename@npm:^1.1.1": - version: 1.1.1 - resolution: "unique-filename@npm:1.1.1" +"unique-filename@npm:^2.0.0": + version: 2.0.1 + resolution: "unique-filename@npm:2.0.1" dependencies: - unique-slug: ^2.0.0 - checksum: cf4998c9228cc7647ba7814e255dec51be43673903897b1786eff2ac2d670f54d4d733357eb08dea969aa5e6875d0e1bd391d668fbdb5a179744e7c7551a6f80 + unique-slug: ^3.0.0 + checksum: 807acf3381aff319086b64dc7125a9a37c09c44af7620bd4f7f3247fcd5565660ac12d8b80534dcbfd067e6fe88a67e621386dd796a8af828d1337a8420a255f languageName: node linkType: hard -"unique-slug@npm:^2.0.0": - version: 2.0.2 - resolution: "unique-slug@npm:2.0.2" +"unique-slug@npm:^3.0.0": + version: 3.0.0 + resolution: "unique-slug@npm:3.0.0" dependencies: imurmurhash: ^0.1.4 - checksum: 5b6876a645da08d505dedb970d1571f6cebdf87044cb6b740c8dbb24f0d6e1dc8bdbf46825fd09f994d7cf50760e6f6e063cfa197d51c5902c00a861702eb75a + checksum: 49f8d915ba7f0101801b922062ee46b7953256c93ceca74303bd8e6413ae10aa7e8216556b54dc5382895e8221d04f1efaf75f945c2e4a515b4139f77aa6640c languageName: node linkType: hard @@ -15728,7 +15447,7 @@ typescript@^3.8.3: languageName: node linkType: hard -"update-browserslist-db@npm:^1.0.9": +"update-browserslist-db@npm:^1.0.10": version: 1.0.10 resolution: "update-browserslist-db@npm:1.0.10" dependencies: @@ -15742,19 +15461,12 @@ typescript@^3.8.3: languageName: node linkType: hard -"upper-case@npm:^1.1.1": - version: 1.1.3 - resolution: "upper-case@npm:1.1.3" - checksum: 991c845de75fa56e5ad983f15e58494dd77b77cadd79d273cc11e8da400067e9881ae1a52b312aed79b3d754496e2e0712e08d22eae799e35c7f9ba6f3d8a85d - languageName: node - linkType: hard - "uri-js@npm:^4.2.2": - version: 4.2.2 - resolution: "uri-js@npm:4.2.2" + version: 4.4.1 + resolution: "uri-js@npm:4.4.1" dependencies: punycode: ^2.1.0 - checksum: 5a91c55d8ae6d9a1ff9dc1b0774888a99aae7cc6e9056c57b709275c0f6753b05cd1a9f2728a1479244b93a9f57ab37c60d277a48d9f2d032d6ae65837bf9bc7 + checksum: 7167432de6817fe8e9e0c9684f1d2de2bb688c94388f7569f7dbdb1587c9f4ca2a77962f134ec90be0cc4d004c939ff0d05acc9f34a0db39a3c797dada262633 languageName: node linkType: hard @@ -15921,28 +15633,28 @@ typescript@^3.8.3: languageName: node linkType: hard -"vis-data@npm:7.1.4": - version: 7.1.4 - resolution: "vis-data@npm:7.1.4" +"vis-data@npm:7.1.6": + version: 7.1.6 + resolution: "vis-data@npm:7.1.6" peerDependencies: - uuid: ^7.0.0 || ^8.0.0 - vis-util: ^4.0.0 || ^5.0.0 - checksum: a1266eb678b7f75c422c070ebd579a99565de9b23deba2e75862afb9c15ef5fa67e34f002c8c7013751100c75d6fb76b25bdb9f1a309d9f0cda1bec0935b26ff + uuid: ^3.4.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 + vis-util: ^5.0.1 + checksum: ef461d13e0c340c29aef38b70247c0722d293b9aab029fdbffe6802e473c47ea83e2c3c9563cd03e092d1e579b5f98326ce704eb1b3d51eee8f0eadaf6618f99 languageName: node linkType: hard -"vis-network@npm:9.1.4": - version: 9.1.4 - resolution: "vis-network@npm:9.1.4" +"vis-network@npm:9.1.6": + version: 9.1.6 + resolution: "vis-network@npm:9.1.6" peerDependencies: "@egjs/hammerjs": ^2.0.0 component-emitter: ^1.3.0 keycharm: ^0.2.0 || ^0.3.0 || ^0.4.0 timsort: ^0.3.0 uuid: ^3.4.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 - vis-data: ^7.0.0 + vis-data: ^6.3.0 || ^7.0.0 vis-util: ^5.0.1 - checksum: 1c3ce02d251bf04ce3284301d597ee2630ad2a76de6c168c78df4dccf8ec4f4d058d67a1d78d507b763ff909d04d0d1afadcb3c3daf664e5090720b25a00aa2f + checksum: a3e5de0c21a2045708a989d4b07749e207ee135a0f4c0a9fc2c23e19e662391d1532c17c9402eb84e3e6a1d3fe85fefa220973e79c845032cbcf228931096e84 languageName: node linkType: hard @@ -15971,9 +15683,9 @@ typescript@^3.8.3: linkType: hard "vscode-languageserver-textdocument@npm:^1.0.1": - version: 1.0.1 - resolution: "vscode-languageserver-textdocument@npm:1.0.1" - checksum: 1d000a2bae6c05142f73690af60ec0987f5cdee656190406cfde183806e731ab7d220324bb8e819e379412419749a3cabc7228ff06188869e7d5631d5b10bc46 + version: 1.0.9 + resolution: "vscode-languageserver-textdocument@npm:1.0.9" + checksum: 36b76f725098d3e0d97885c05c51fca47388d9b62e936f6c8824c44a4fac7a96e1406538538a0f46ef1fdb9f1053ddc1cacb5e7b168cecb36d3c018942ec6f52 languageName: node linkType: hard @@ -16018,9 +15730,9 @@ typescript@^3.8.3: linkType: hard "w3c-keyname@npm:^2.2.4": - version: 2.2.4 - resolution: "w3c-keyname@npm:2.2.4" - checksum: 890180452bdd7d25f05deb97b3c0839911264432a7c5dd8dc4c9d9b6384237a66d66b7c2a145440b607826d5aa61cd90098cfffcf50b50c0e4c2259b0d208038 + version: 2.2.6 + resolution: "w3c-keyname@npm:2.2.6" + checksum: 59a31d23ca9953c01c99ed6695fee5b6ea36eb2412d76a21fe4302ab33a3f5cd96c006a763940b6115c3d042c16d3564eeee1156832217d028af0518098b3a42 languageName: node linkType: hard @@ -16126,9 +15838,9 @@ typescript@^3.8.3: languageName: node linkType: hard -"webpack-dev-server@npm:4.11.1": - version: 4.11.1 - resolution: "webpack-dev-server@npm:4.11.1" +"webpack-dev-server@npm:4.13.1": + version: 4.13.1 + resolution: "webpack-dev-server@npm:4.13.1" dependencies: "@types/bonjour": ^3.5.9 "@types/connect-history-api-fallback": ^1.3.5 @@ -16149,6 +15861,7 @@ typescript@^3.8.3: html-entities: ^2.3.2 http-proxy-middleware: ^2.0.3 ipaddr.js: ^2.0.1 + launch-editor: ^2.6.0 open: ^8.0.9 p-retry: ^4.5.0 rimraf: ^3.0.2 @@ -16158,15 +15871,17 @@ typescript@^3.8.3: sockjs: ^0.3.24 spdy: ^4.0.2 webpack-dev-middleware: ^5.3.1 - ws: ^8.4.2 + ws: ^8.13.0 peerDependencies: webpack: ^4.37.0 || ^5.0.0 peerDependenciesMeta: + webpack: + optional: true webpack-cli: optional: true bin: webpack-dev-server: bin/webpack-dev-server.js - checksum: b7601a39ee0f413988259e29a36835b0a68522cfaa161de5b7ec99b3399acdd99d44189add4aaf4a5191258bb130f9cf3e68919324a1955c7557f5fe6ab0d96c + checksum: f70611544b7d964a31eb3d934d7c2b376b97e6927a89e03b2e21cfa5812bb639625cd18fd350de1604ba6c455b324135523a894032f28c69d90d90682e4f3b7d languageName: node linkType: hard @@ -16183,22 +15898,22 @@ typescript@^3.8.3: linkType: hard "webpack-merge@npm:^5.7.3": - version: 5.7.3 - resolution: "webpack-merge@npm:5.7.3" + version: 5.8.0 + resolution: "webpack-merge@npm:5.8.0" dependencies: clone-deep: ^4.0.1 wildcard: ^2.0.0 - checksum: 09608c3a4928246e9c1c09c22b5f867c38d0ab0fb027ebcc3b15d42659f06a10cfa7f7e2cf2a0ace6f2d571c1cd744ec23e7b2069d34a70378e163e8e035c290 + checksum: 88786ab91013f1bd2a683834ff381be81c245a4b0f63304a5103e90f6653f44dab496a0768287f8531761f8ad957d1f9f3ccb2cb55df0de1bd9ee343e079da26 languageName: node linkType: hard "webpack-sources@npm:^2.2.0": - version: 2.3.0 - resolution: "webpack-sources@npm:2.3.0" + version: 2.3.1 + resolution: "webpack-sources@npm:2.3.1" dependencies: source-list-map: ^2.0.1 source-map: ^0.6.1 - checksum: f0b3d13d3f350712c828c7187573d43d15fc1a96a11e81f69e3f10220d611dab95b529aca79ded9690a94040491bd7e4d84717f4467762211762cd01795a7b71 + checksum: 6fd67f2274a84c5f51ad89767112ec8b47727134bf0f2ba0cff458c970f18966939a24128bdbddba621cd66eeb2bef0552642a9333cd8e54514f7b2a71776346 languageName: node linkType: hard @@ -16392,18 +16107,18 @@ typescript@^3.8.3: linkType: hard "wicg-inert@npm:^3.0.0": - version: 3.0.0 - resolution: "wicg-inert@npm:3.0.0" - checksum: 2f8fdc3140d8937fa01d89901b9a3bfb6d342a63bafb63d3e6ca2da59d4521803abca7d5890b56b20f1a16afe0584c775989f2034a83b1912716dfa8b3e7623e + version: 3.1.2 + resolution: "wicg-inert@npm:3.1.2" + checksum: 538c5cb7f240915a4c17741c644b135040764c6d8a05853099f2f342c95ce2645e6cf7c4f729775013dbc218e0da04b3f943875eba6ed4b38ff9dd431465d391 languageName: node linkType: hard -"wide-align@npm:^1.1.0": - version: 1.1.3 - resolution: "wide-align@npm:1.1.3" +"wide-align@npm:^1.1.5": + version: 1.1.5 + resolution: "wide-align@npm:1.1.5" dependencies: - string-width: ^1.0.2 || 2 - checksum: d09c8012652a9e6cab3e82338d1874a4d7db2ad1bd19ab43eb744acf0b9b5632ec406bdbbbb970a8f4771a7d5ef49824d038ba70aa884e7723f5b090ab87134d + string-width: ^1.0.2 || 2 || 3 || 4 + checksum: d5fc37cd561f9daee3c80e03b92ed3e84d80dde3365a8767263d03dacfc8fa06b065ffe1df00d8c2a09f731482fcacae745abfbb478d4af36d0a891fad4834d3 languageName: node linkType: hard @@ -16422,12 +16137,12 @@ typescript@^3.8.3: linkType: hard "wordwrapjs@npm:^4.0.0": - version: 4.0.0 - resolution: "wordwrapjs@npm:4.0.0" + version: 4.0.1 + resolution: "wordwrapjs@npm:4.0.1" dependencies: reduce-flatten: ^2.0.0 - typical: ^5.0.0 - checksum: f32b644535784ef2a12932a753308bdd25d944e6681eb696792580531769cf22f1ff2a4b9c8c9cc20312467da45fce9b12ecb100e13fa53c2dbc6193a4f6ce4a + typical: ^5.2.0 + checksum: 3d927f3c95d0ad990968da54c0ad8cde2801d8e91006cd7474c26e6b742cc8557250ce495c9732b2f9db1f903601cb74ec282e0f122ee0d02d7abe81e150eea8 languageName: node linkType: hard @@ -16667,7 +16382,7 @@ typescript@^3.8.3: languageName: node linkType: hard -"ws@npm:^7.3.1, ws@npm:^7.4.2": +"ws@npm:^7.4.2": version: 7.5.9 resolution: "ws@npm:7.5.9" peerDependencies: @@ -16682,9 +16397,9 @@ typescript@^3.8.3: languageName: node linkType: hard -"ws@npm:^8.4.2": - version: 8.12.0 - resolution: "ws@npm:8.12.0" +"ws@npm:^8.13.0": + version: 8.13.0 + resolution: "ws@npm:8.13.0" peerDependencies: bufferutil: ^4.0.1 utf-8-validate: ">=5.0.2" @@ -16693,19 +16408,19 @@ typescript@^3.8.3: optional: true utf-8-validate: optional: true - checksum: 818ff3f8749c172a95a114cceb8b89cedd27e43a82d65c7ad0f7882b1e96a2ee6709e3746a903c3fa88beec0c8bae9a9fcd75f20858b32a166dfb7519316a5d7 + checksum: 53e991bbf928faf5dc6efac9b8eb9ab6497c69feeb94f963d648b7a3530a720b19ec2e0ec037344257e05a4f35bd9ad04d9de6f289615ffb133282031b18c61c languageName: node linkType: hard "xhr@npm:^2.0.1": - version: 2.5.0 - resolution: "xhr@npm:2.5.0" + version: 2.6.0 + resolution: "xhr@npm:2.6.0" dependencies: - global: ~4.3.0 + global: ~4.4.0 is-function: ^1.0.1 parse-headers: ^2.0.0 xtend: ^4.0.0 - checksum: 6afd2024a68ffdfb7c68d288e262b19ce2b0e72bc8335a145379e4bfab2460187d007aea17d86c2a4d3ff79a9bc2ae09e3e5f6f562ab5ef3de0f7c297661ae93 + checksum: a1db277e37737caf3ed363d2a33ce4b4ea5b5fc190b663a6f70bc252799185b840ccaa166eaeeea4841c9c60b87741f0a24e29cbcf6708dd425986d4df186d2f languageName: node linkType: hard @@ -16760,9 +16475,9 @@ typescript@^3.8.3: linkType: hard "y18n@npm:^4.0.0": - version: 4.0.0 - resolution: "y18n@npm:4.0.0" - checksum: 66e22d38bf994723b625dcc0159f6fd4068c511f8c565df39e8aa53426f5f31e4a9664a8d7099fbde2c22a1c71be2cb60e83f4c2961a5ee48672418d825a7bc2 + version: 4.0.3 + resolution: "y18n@npm:4.0.3" + checksum: 014dfcd9b5f4105c3bb397c1c8c6429a9df004aa560964fb36732bfb999bfe83d45ae40aeda5b55d21b1ee53d8291580a32a756a443e064317953f08025b1aa4 languageName: node linkType: hard @@ -16773,10 +16488,10 @@ typescript@^3.8.3: languageName: node linkType: hard -"yallist@npm:^3.0.0, yallist@npm:^3.0.2": - version: 3.0.3 - resolution: "yallist@npm:3.0.3" - checksum: 96c7ecfbbd07077fad5192064f560daa3625f2a71127380bffca4a00444abea5963680ef539cb681c657de52d8a4b1e41a2fc4f894f2766a874886304cbb605f +"yallist@npm:^3.0.2": + version: 3.1.1 + resolution: "yallist@npm:3.1.1" + checksum: 48f7bb00dc19fc635a13a39fe547f527b10c9290e7b3e836b9a8f1ca04d4d342e85714416b3c2ab74949c9c66f9cebb0473e6bc353b79035356103b47641285d languageName: node linkType: hard @@ -16787,7 +16502,7 @@ typescript@^3.8.3: languageName: node linkType: hard -"yaml@npm:^2.1.3": +"yaml@npm:^2.2.1": version: 2.2.1 resolution: "yaml@npm:2.2.1" checksum: 84f68cbe462d5da4e7ded4a8bded949ffa912bc264472e5a684c3d45b22d8f73a3019963a32164023bdf3d83cfb6f5b58ff7b2b10ef5b717c630f40bd6369a23 @@ -16812,9 +16527,9 @@ typescript@^3.8.3: linkType: hard "yargs-parser@npm:^20.2.2": - version: 20.2.7 - resolution: "yargs-parser@npm:20.2.7" - checksum: ec0ea9e1b5699977380583f5ab1c0e2c6fc5f1ed374eb3053c458df00c543effba53628ad3297f3ccc769660518d5e376fd1cfb298b8e37077421aca8d75ae89 + version: 20.2.9 + resolution: "yargs-parser@npm:20.2.9" + checksum: 8bb69015f2b0ff9e17b2c8e6bfe224ab463dd00ca211eece72a4cd8a906224d2703fb8a326d36fdd0e68701e201b2a60ed7cf81ce0fd9b3799f9fe7745977ae3 languageName: node linkType: hard @@ -16825,7 +16540,7 @@ typescript@^3.8.3: languageName: node linkType: hard -"yargs-parser@npm:^5.0.0": +"yargs-parser@npm:^5.0.1": version: 5.0.1 resolution: "yargs-parser@npm:5.0.1" dependencies: @@ -16882,8 +16597,8 @@ typescript@^3.8.3: linkType: hard "yargs@npm:^17.5.1": - version: 17.6.2 - resolution: "yargs@npm:17.6.2" + version: 17.7.1 + resolution: "yargs@npm:17.7.1" dependencies: cliui: ^8.0.1 escalade: ^3.1.1 @@ -16892,13 +16607,13 @@ typescript@^3.8.3: string-width: ^4.2.3 y18n: ^5.0.5 yargs-parser: ^21.1.1 - checksum: 47da1b0d854fa16d45a3ded57b716b013b2179022352a5f7467409da5a04a1eef5b3b3d97a2dfc13e8bbe5f2ffc0afe3bc6a4a72f8254e60f5a4bd7947138643 + checksum: 3d8a43c336a4942bc68080768664aca85c7bd406f018bad362fd255c41c8f4e650277f42fd65d543fce99e084124ddafee7bbfc1a5c6a8fda4cec78609dcf8d4 languageName: node linkType: hard "yargs@npm:^7.1.0": - version: 7.1.0 - resolution: "yargs@npm:7.1.0" + version: 7.1.2 + resolution: "yargs@npm:7.1.2" dependencies: camelcase: ^3.0.0 cliui: ^3.2.0 @@ -16912,15 +16627,15 @@ typescript@^3.8.3: string-width: ^1.0.2 which-module: ^1.0.0 y18n: ^3.2.1 - yargs-parser: ^5.0.0 - checksum: 207d461b5bb7b9f99dc6dc172e806e16aac07df31a9a85cda3f37a792cbe9909e054575b5091d888b452b8e50c7b3a8ce3401fcc4260c3a784b06f9951cef928 + yargs-parser: ^5.0.1 + checksum: 0c330ce1338cd9f293157bf8955af6833ae59032ab1bc936510ce7a216de9bb65b05b39a82ff0e7359bfb643342cc05de5049ce50ee9404b0818f65911fb59a5 languageName: node linkType: hard "ylru@npm:^1.2.0": - version: 1.2.1 - resolution: "ylru@npm:1.2.1" - checksum: 33c45248becece949d4511a13f66b2330852f6226da6c2842bf16f0b0ee45bbbfcdf6b8da3d4c52d6cd5106818eeb3674dd73a17e87c945d1839c470107549e2 + version: 1.3.2 + resolution: "ylru@npm:1.3.2" + checksum: b6bb3931144424114f2350c072cfeb180f205add93509c605ae025cbed8059846f8a5767655feeeab890d288b5b4c4b36f5d5d867ee4e6946c16bcc7ec3ddaee languageName: node linkType: hard