just-bash 2.9.5 → 2.9.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Bash.d.ts +5 -0
- package/dist/bin/chunks/{awk2-JBWRWZZH.js → awk2-PWEGD656.js} +1 -1
- package/dist/bin/{shell/chunks/base64-OHU2WTUF.js → chunks/base64-YXBFJFHG.js} +1 -1
- package/dist/bin/{shell/chunks/bash-RJTQJAKW.js → chunks/bash-WB6O736J.js} +1 -1
- package/dist/bin/chunks/chunk-A4442AOC.js +6 -0
- package/dist/bin/chunks/chunk-BARKRZDC.js +6 -0
- package/dist/bin/chunks/{chunk-CHQBMS62.js → chunk-CHB75QIN.js} +1 -1
- package/dist/bin/{shell/chunks/chunk-7FTB27TY.js → chunks/chunk-FEBB4TFH.js} +15 -15
- package/dist/bin/{shell/chunks/chunk-ZJSZ2BE5.js → chunks/chunk-K7XSYP4L.js} +11 -11
- package/dist/bin/chunks/{chunk-Q4AUWUII.js → chunk-LS25HZNJ.js} +1 -1
- package/dist/bin/chunks/{chunk-F26OLHG5.js → chunk-MNNOATCV.js} +1 -1
- package/dist/bin/chunks/{chunk-DSNA7727.js → chunk-QEBPVWVB.js} +1 -1
- package/dist/bin/chunks/{chunk-OIKCUTTB.js → chunk-RDZMRK5M.js} +1 -1
- package/dist/bin/chunks/{expansion-HIAVHGBZ.js → expansion-TL4Q62VX.js} +1 -1
- package/dist/bin/chunks/{flag-coverage-FNEHS7AY.js → flag-coverage-SFRIE2LL.js} +1 -1
- package/dist/bin/{shell/chunks/jq-3VHS7DR6.js → chunks/jq-CXQ33VMW.js} +1 -1
- package/dist/bin/{shell/chunks/sed-XP3QCHIB.js → chunks/sed-WNL6TIIN.js} +1 -1
- package/dist/bin/chunks/{xan-EBI2W7YX.js → xan-FMSZPFX4.js} +1 -1
- package/dist/bin/chunks/{yq-O56CEX4T.js → yq-WUJ5JNDT.js} +1 -1
- package/dist/bin/just-bash.js +52 -52
- package/dist/bin/shell/chunks/{awk2-JBWRWZZH.js → awk2-PWEGD656.js} +1 -1
- package/dist/bin/{chunks/base64-OHU2WTUF.js → shell/chunks/base64-YXBFJFHG.js} +1 -1
- package/dist/bin/{chunks/bash-RJTQJAKW.js → shell/chunks/bash-WB6O736J.js} +1 -1
- package/dist/bin/shell/chunks/chunk-A4442AOC.js +6 -0
- package/dist/bin/shell/chunks/chunk-BARKRZDC.js +6 -0
- package/dist/bin/shell/chunks/{chunk-CHQBMS62.js → chunk-CHB75QIN.js} +1 -1
- package/dist/bin/{chunks/chunk-7FTB27TY.js → shell/chunks/chunk-FEBB4TFH.js} +15 -15
- package/dist/bin/{chunks/chunk-ZJSZ2BE5.js → shell/chunks/chunk-K7XSYP4L.js} +11 -11
- package/dist/bin/shell/chunks/{chunk-Q4AUWUII.js → chunk-LS25HZNJ.js} +1 -1
- package/dist/bin/shell/chunks/{chunk-F26OLHG5.js → chunk-MNNOATCV.js} +1 -1
- package/dist/bin/shell/chunks/{chunk-DSNA7727.js → chunk-QEBPVWVB.js} +1 -1
- package/dist/bin/shell/chunks/{chunk-OIKCUTTB.js → chunk-RDZMRK5M.js} +1 -1
- package/dist/bin/shell/chunks/{expansion-HIAVHGBZ.js → expansion-TL4Q62VX.js} +1 -1
- package/dist/bin/shell/chunks/{flag-coverage-FNEHS7AY.js → flag-coverage-SFRIE2LL.js} +1 -1
- package/dist/bin/{chunks/jq-3VHS7DR6.js → shell/chunks/jq-CXQ33VMW.js} +1 -1
- package/dist/bin/{chunks/sed-XP3QCHIB.js → shell/chunks/sed-WNL6TIIN.js} +1 -1
- package/dist/bin/shell/chunks/{xan-EBI2W7YX.js → xan-FMSZPFX4.js} +1 -1
- package/dist/bin/shell/chunks/{yq-O56CEX4T.js → yq-WUJ5JNDT.js} +1 -1
- package/dist/bin/shell/shell.js +4 -4
- package/dist/bundle/browser.js +657 -657
- package/dist/bundle/chunks/{awk2-M5NFQRYA.js → awk2-BDPR2JPZ.js} +1 -1
- package/dist/bundle/chunks/{base64-HYOQ5I2F.js → base64-A3SGWC34.js} +1 -1
- package/dist/bundle/chunks/{bash-OVBCDR7G.js → bash-DYXMG247.js} +1 -1
- package/dist/bundle/chunks/{chunk-GQ7SJRUH.js → chunk-2OCD45J4.js} +1 -1
- package/dist/bundle/chunks/{chunk-WEIVGBP5.js → chunk-3KWUDRIP.js} +11 -11
- package/dist/bundle/chunks/chunk-FRDGR5VK.js +5 -0
- package/dist/bundle/chunks/chunk-IBFD7QQD.js +5 -0
- package/dist/bundle/chunks/{chunk-UAHZJD43.js → chunk-JI3KJ32H.js} +1 -1
- package/dist/bundle/chunks/{chunk-HXILPMCG.js → chunk-JP44OYZS.js} +1 -1
- package/dist/bundle/chunks/{chunk-CCL4U6Q4.js → chunk-UJXASUXJ.js} +1 -1
- package/dist/bundle/chunks/{chunk-VTHR2H5Q.js → chunk-WACZHM4L.js} +15 -15
- package/dist/bundle/chunks/{chunk-GOBUJIHS.js → chunk-XMDVFEVC.js} +1 -1
- package/dist/bundle/chunks/{expansion-R2VVQUSY.js → expansion-L4NRX44B.js} +1 -1
- package/dist/bundle/chunks/{flag-coverage-KDDXWVDJ.js → flag-coverage-MX32DFGQ.js} +1 -1
- package/dist/bundle/chunks/{jq-HA6MN2H5.js → jq-OJYNICKX.js} +1 -1
- package/dist/bundle/chunks/{sed-MUVA7R2C.js → sed-RXIECPPB.js} +1 -1
- package/dist/bundle/chunks/{xan-6DLWA2BW.js → xan-Z6KVJKEE.js} +1 -1
- package/dist/bundle/chunks/{yq-LO2NVDTD.js → yq-FD5F3WOJ.js} +1 -1
- package/dist/bundle/index.js +4 -4
- package/dist/types.d.ts +5 -0
- package/package.json +1 -1
- package/dist/bin/chunks/chunk-FZNYF2PQ.js +0 -6
- package/dist/bin/chunks/chunk-STU6KQN4.js +0 -6
- package/dist/bin/shell/chunks/chunk-FZNYF2PQ.js +0 -6
- package/dist/bin/shell/chunks/chunk-STU6KQN4.js +0 -6
- package/dist/bundle/chunks/chunk-JSZMK2JZ.js +0 -5
- package/dist/bundle/chunks/chunk-RSXSWZBQ.js +0 -5
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as F,b,c as M,d as qe,e as w,f as v,g as X,h as Y}from"./chunk-F55TLFGB.js";import{a as et}from"./chunk-SYMJJMQ4.js";import{a as $}from"./chunk-
|
|
1
|
+
import{a as F,b,c as M,d as qe,e as w,f as v,g as X,h as Y}from"./chunk-F55TLFGB.js";import{a as et}from"./chunk-SYMJJMQ4.js";import{a as $}from"./chunk-FRDGR5VK.js";import{d as G}from"./chunk-7MKBHGLS.js";import{a as H}from"./chunk-YNYSPYQ5.js";import{a as We}from"./chunk-7L36YK2X.js";import{a as D,b as K}from"./chunk-74CEPOFO.js";import{b as Ue,d as Be,e as Ze,f as Qe}from"./chunk-DXB73IDG.js";var q,_e=Ue(()=>{"use strict";q=class{input;pos=0;tokens=[];constructor(n){this.input=n}tokenize(){for(;this.pos<this.input.length&&(this.skipWhitespace(),!(this.pos>=this.input.length));){let n=this.nextToken();n&&this.tokens.push(n)}return this.tokens.push({type:"eof",value:"",pos:this.pos}),this.tokens}skipWhitespace(){for(;this.pos<this.input.length;){let n=this.input[this.pos];if(n===" "||n===" "||n===`
|
|
2
2
|
`||n==="\r")this.pos++;else if(n==="#")for(;this.pos<this.input.length&&this.input[this.pos]!==`
|
|
3
3
|
`;)this.pos++;else break}}nextToken(){let n=this.pos,t=this.input[this.pos];if(t>="0"&&t<="9")return this.readNumber();if(t==='"'||t==="'"||t==="`")return this.readString(t);if(t==="b"&&this.pos+1<this.input.length){let o=this.input[this.pos+1];if(o==='"'||o==="'"||o==="`")return this.pos++,this.readString(o)}if(t==="/"){let o=this.tokens[this.tokens.length-1];return o&&(o.type==="int"||o.type==="float"||o.type==="string"||o.type==="ident"||o.type===")"||o.type==="]")?this.input[this.pos+1]==="/"?(this.pos+=2,{type:"//",value:"//",pos:n}):(this.pos++,{type:"/",value:"/",pos:n}):this.readRegex()}if(this.match("not in"))return{type:"not in",value:"not in",pos:n};if(this.match("=>"))return{type:"=>",value:"=>",pos:n};if(this.match("**"))return{type:"**",value:"**",pos:n};if(this.match("++"))return{type:"++",value:"++",pos:n};if(this.match("//"))return{type:"//",value:"//",pos:n};if(this.match("=="))return{type:"==",value:"==",pos:n};if(this.match("!="))return{type:"!=",value:"!=",pos:n};if(this.match("<="))return{type:"<=",value:"<=",pos:n};if(this.match(">="))return{type:">=",value:">=",pos:n};if(this.match("&&"))return{type:"&&",value:"&&",pos:n};if(this.match("||"))return{type:"||",value:"||",pos:n};let r=new Map([["(","("],[")",")"],["[","["],["]","]"],["{","{"],["}","}"],[",",","],[":",":"],[";",";"],["+","+"],["-","-"],["*","*"],["%","%"],["<","<"],[">",">"],["!","!"],[".","."],["|","|"],["=","="]]).get(t);if(r!==void 0)return this.pos++,{type:r,value:t,pos:n};if(this.isIdentStart(t))return this.readIdentifier();throw new Error(`Unexpected character '${t}' at position ${this.pos}`)}match(n){if(this.input.slice(this.pos,this.pos+n.length)===n){if(/^[a-zA-Z]/.test(n)){let t=this.input[this.pos+n.length];if(t&&this.isIdentChar(t))return!1}return this.pos+=n.length,!0}return!1}isIdentStart(n){return n>="a"&&n<="z"||n>="A"&&n<="Z"||n==="_"}isIdentChar(n){return this.isIdentStart(n)||n>="0"&&n<="9"}readNumber(){let n=this.pos,t=!1,s=!1;for(;this.pos<this.input.length;){let o=this.input[this.pos];if(o>="0"&&o<="9")this.pos++;else if(o==="_")this.pos++;else if(o==="."&&!t&&!s)t=!0,this.pos++;else if((o==="e"||o==="E")&&!s)s=!0,t=!0,this.pos++,this.pos<this.input.length&&(this.input[this.pos]==="+"||this.input[this.pos]==="-")&&this.pos++;else break}let r=this.input.slice(n,this.pos).replace(/_/g,"");return{type:t?"float":"int",value:r,pos:n}}readString(n){let t=this.pos;this.pos++;let s="";for(;this.pos<this.input.length;){let r=this.input[this.pos];if(r===n)return this.pos++,{type:"string",value:s,pos:t};if(r==="\\"){if(this.pos++,this.pos<this.input.length){let o=this.input[this.pos];switch(o){case"n":s+=`
|
|
4
4
|
`;break;case"r":s+="\r";break;case"t":s+=" ";break;case"\\":s+="\\";break;case'"':s+='"';break;case"'":s+="'";break;case"`":s+="`";break;case"0":s+="\0";break;default:s+=o}this.pos++}}else s+=r,this.pos++}throw new Error(`Unterminated string starting at position ${t}`)}readRegex(){let n=this.pos;this.pos++;let t="",s="";for(;this.pos<this.input.length;){let r=this.input[this.pos];if(r==="/"){for(this.pos++;this.pos<this.input.length&&this.input[this.pos]==="i";)s+=this.input[this.pos],this.pos++;return{type:"regex",value:t+(s?`/${s}`:""),pos:n}}r==="\\"?(t+=r,this.pos++,this.pos<this.input.length&&(t+=this.input[this.pos],this.pos++)):(t+=r,this.pos++)}throw new Error(`Unterminated regex starting at position ${n}`)}readIdentifier(){let n=this.pos;for(;this.pos<this.input.length&&this.isIdentChar(this.input[this.pos]);)this.pos++;let t=!1;this.pos<this.input.length&&this.input[this.pos]==="?"&&(t=!0,this.pos++);let s=this.input.slice(n,t?this.pos-1:this.pos);t&&(s+="?");let r=new Map([["true","true"],["false","false"],["null","null"],["and","and"],["or","or"],["eq","eq"],["ne","ne"],["lt","lt"],["le","le"],["gt","gt"],["ge","ge"],["in","in"],["as","as"],["_","_"]]),o=s.replace(/\?$/,""),i=r.get(o);return i!==void 0&&!t?{type:i,value:o,pos:n}:{type:"ident",value:s,pos:n}}}});var He={};Be(He,{parseMoonblade:()=>_,parseNamedExpressions:()=>V});function V(e){let n=[],s=new q(e).tokenize(),r=0,o=()=>s[r]||{type:"eof",value:"",pos:0},i=()=>s[r++];for(;o().type!=="eof";){if(o().type===","&&n.length>0){i();continue}let h=[],u=0,p=r;for(;o().type!=="eof";){let a=o();if((a.type===","||a.type==="as")&&u===0)break;(a.type==="("||a.type==="["||a.type==="{")&&u++,(a.type===")"||a.type==="]"||a.type==="}")&&u--,h.push(i())}h.push({type:"eof",value:"",pos:0});let f=new J(h).parse(),c;if(o().type==="as")if(i(),o().type==="("){i();let a=[];for(;o().type!==")"&&o().type!=="eof";)(o().type==="ident"||o().type==="string")&&(a.push(o().value),i()),o().type===","&&i();o().type===")"&&i(),c=a}else if(o().type==="ident"||o().type==="string")c=o().value,i();else throw new Error(`Expected name after 'as', got ${o().type}`);else c=e.slice(s[p].pos,s[r-1]?.pos||e.length).trim(),f.type==="identifier"&&(c=f.name);n.push({expr:f,name:c})}return n}function _(e){let t=new q(e).tokenize();return new J(t).parse()}var R,J,U=Ue(()=>{"use strict";_e();R={PIPE:1,OR:2,AND:3,EQUALITY:4,COMPARISON:5,ADDITIVE:6,MULTIPLICATIVE:7,POWER:8,UNARY:9,POSTFIX:10},J=class{pos=0;tokens;constructor(n){this.tokens=n}parse(){let n=this.parseExpr(0);if(this.peek().type!=="eof")throw new Error(`Unexpected token: ${this.peek().value}`);return n}parseExpr(n){let t=this.parsePrefix();for(;;){let s=this.peek(),r=this.getInfixPrec(s.type);if(r<n)break;t=this.parseInfix(t,r)}return t}parsePrefix(){let n=this.peek();switch(n.type){case"int":return this.advance(),{type:"int",value:Number.parseInt(n.value,10)};case"float":return this.advance(),{type:"float",value:Number.parseFloat(n.value)};case"string":return this.advance(),{type:"string",value:n.value};case"regex":{this.advance();let t=n.value.split("/"),s=t.length>1?t[t.length-1]:"";return{type:"regex",pattern:t.slice(0,-1).join("/")||n.value,caseInsensitive:s.includes("i")}}case"true":return this.advance(),{type:"bool",value:!0};case"false":return this.advance(),{type:"bool",value:!1};case"null":return this.advance(),{type:"null"};case"_":return this.advance(),{type:"underscore"};case"ident":{let t=n.value,s=t.endsWith("?"),r=s?t.slice(0,-1):t;if(this.advance(),this.peek().type==="(")return this.parseFunctionCall(r);if(this.peek().type==="=>"){this.advance();let o=this.parseExpr(0);return this.bindLambdaArgs({type:"lambda",params:[r],body:o},[r])}return{type:"identifier",name:r,unsure:s}}case"(":{this.advance();let t=[];if(this.peek().type===")"){if(this.advance(),this.peek().type==="=>"){this.advance();let r=this.parseExpr(0);return{type:"lambda",params:[],body:r}}throw new Error("Empty parentheses not allowed")}if(this.peek().type==="ident"){let r=this.peek().value;if(this.advance(),this.peek().type===","||this.peek().type===")"){for(t.push(r);this.peek().type===","&&(this.advance(),this.peek().type==="ident");)t.push(this.peek().value),this.advance();if(this.peek().type===")"&&(this.advance(),this.peek().type==="=>")){this.advance();let o=this.parseExpr(0);return this.bindLambdaArgs({type:"lambda",params:t,body:o},t)}this.pos-=t.length*2,t.length>1&&(this.pos=this.pos)}this.pos--}let s=this.parseExpr(0);return this.expect(")"),this.peek().type,s}case"[":return this.parseList();case"{":return this.parseMap();case"-":{this.advance();let t=this.parseExpr(R.UNARY);return t.type==="int"?{type:"int",value:-t.value}:t.type==="float"?{type:"float",value:-t.value}:{type:"func",name:"neg",args:[{expr:t}]}}case"!":return this.advance(),{type:"func",name:"not",args:[{expr:this.parseExpr(R.UNARY)}]};default:throw new Error(`Unexpected token: ${n.type} (${n.value})`)}}parseFunctionCall(n){this.expect("(");let t=[];if(this.peek().type!==")")do{t.length>0&&this.peek().type===","&&this.advance();let s;if(this.peek().type==="ident"){let o=this.peek().value,i=this.pos+1;i<this.tokens.length&&this.tokens[i].type==="="&&(s=o,this.advance(),this.advance())}let r=this.parseExpr(0);t.push({name:s,expr:r})}while(this.peek().type===",");return this.expect(")"),{type:"func",name:n.toLowerCase(),args:t}}parseList(){this.expect("[");let n=[];if(this.peek().type!=="]")do n.length>0&&this.peek().type===","&&this.advance(),n.push(this.parseExpr(0));while(this.peek().type===",");return this.expect("]"),{type:"list",elements:n}}parseMap(){this.expect("{");let n=[];if(this.peek().type!=="}")do{n.length>0&&this.peek().type===","&&this.advance();let t;if(this.peek().type==="ident")t=this.peek().value,this.advance();else if(this.peek().type==="string")t=this.peek().value,this.advance();else throw new Error(`Expected map key, got ${this.peek().type}`);this.expect(":");let s=this.parseExpr(0);n.push({key:t,value:s})}while(this.peek().type===",");return this.expect("}"),{type:"map",entries:n}}parseInfix(n,t){let s=this.peek(),o=new Map([["+","add"],["-","sub"],["*","mul"],["/","div"],["//","idiv"],["%","mod"],["**","pow"],["++","concat"],["==","=="],["!=","!="],["<","<"],["<=","<="],[">",">"],[">=",">="],["eq","eq"],["ne","ne"],["lt","lt"],["le","le"],["gt","gt"],["ge","ge"],["&&","and"],["and","and"],["||","or"],["or","or"]]).get(s.type);if(o!==void 0){this.advance();let i=this.parseExpr(t+(this.isRightAssoc(s.type)?0:1));return{type:"func",name:o,args:[{expr:n},{expr:i}]}}if(s.type==="|"){this.advance();let i=this.parseExpr(t);return this.handlePipe(n,i)}if(s.type===".")return this.advance(),this.handleDot(n);if(s.type==="[")return this.advance(),this.handleIndexing(n);if(s.type==="in")return this.advance(),{type:"func",name:"contains",args:[{expr:this.parseExpr(t+1)},{expr:n}]};if(s.type==="not in")return this.advance(),{type:"func",name:"not",args:[{expr:{type:"func",name:"contains",args:[{expr:this.parseExpr(t+1)},{expr:n}]}}]};throw new Error(`Unexpected infix token: ${s.type}`)}handlePipe(n,t){if(t.type==="identifier")return{type:"func",name:t.name,args:[{expr:n}]};if(t.type==="func"){let s=this.countUnderscores(t);return s===0?t:s===1?this.fillUnderscore(t,n):{type:"pipeline",exprs:[n,t]}}return this.countUnderscores(t)===1?this.fillUnderscore(t,n):t}handleDot(n){let t=this.peek();if(t.type==="ident"){let s=t.value;if(this.advance(),this.peek().type==="("){let r=this.parseFunctionCall(s);return r.type==="func"&&r.args.unshift({expr:n}),r}return{type:"func",name:"get",args:[{expr:n},{expr:{type:"string",value:s}}]}}if(t.type==="int"){let s=Number.parseInt(t.value,10);return this.advance(),{type:"func",name:"get",args:[{expr:n},{expr:{type:"int",value:s}}]}}if(t.type==="string"){let s=t.value;return this.advance(),{type:"func",name:"get",args:[{expr:n},{expr:{type:"string",value:s}}]}}throw new Error(`Expected identifier, number, or string after dot, got ${t.type}`)}handleIndexing(n){if(this.peek().type===":"){if(this.advance(),this.peek().type==="]")return this.advance(),{type:"func",name:"slice",args:[{expr:n}]};let s=this.parseExpr(0);return this.expect("]"),{type:"func",name:"slice",args:[{expr:n},{expr:{type:"int",value:0}},{expr:s}]}}let t=this.parseExpr(0);if(this.peek().type===":"){if(this.advance(),this.peek().type==="]")return this.advance(),{type:"func",name:"slice",args:[{expr:n},{expr:t}]};let s=this.parseExpr(0);return this.expect("]"),{type:"func",name:"slice",args:[{expr:n},{expr:t},{expr:s}]}}return this.expect("]"),{type:"func",name:"get",args:[{expr:n},{expr:t}]}}countUnderscores(n){return n.type==="underscore"?1:n.type==="func"?n.args.reduce((t,s)=>t+this.countUnderscores(s.expr),0):n.type==="list"?n.elements.reduce((t,s)=>t+this.countUnderscores(s),0):n.type==="map"?n.entries.reduce((t,s)=>t+this.countUnderscores(s.value),0):0}fillUnderscore(n,t){return n.type==="underscore"?t:n.type==="func"?{...n,args:n.args.map(s=>({...s,expr:this.fillUnderscore(s.expr,t)}))}:n.type==="list"?{...n,elements:n.elements.map(s=>this.fillUnderscore(s,t))}:n.type==="map"?{...n,entries:n.entries.map(s=>({...s,value:this.fillUnderscore(s.value,t)}))}:n}bindLambdaArgs(n,t){return{...n,body:this.bindLambdaArgsInExpr(n.body,t)}}bindLambdaArgsInExpr(n,t){return n.type==="identifier"&&t.includes(n.name)?{type:"lambdaBinding",name:n.name}:n.type==="func"?{...n,args:n.args.map(s=>({...s,expr:this.bindLambdaArgsInExpr(s.expr,t)}))}:n.type==="list"?{...n,elements:n.elements.map(s=>this.bindLambdaArgsInExpr(s,t))}:n.type==="map"?{...n,entries:n.entries.map(s=>({...s,value:this.bindLambdaArgsInExpr(s.value,t)}))}:n}getInfixPrec(n){switch(n){case"|":return R.PIPE;case"||":case"or":return R.OR;case"&&":case"and":return R.AND;case"==":case"!=":case"eq":case"ne":return R.EQUALITY;case"<":case"<=":case">":case">=":case"lt":case"le":case"gt":case"ge":case"in":case"not in":return R.COMPARISON;case"+":case"-":case"++":return R.ADDITIVE;case"*":case"/":case"//":case"%":return R.MULTIPLICATIVE;case"**":return R.POWER;case".":case"[":return R.POSTFIX;default:return-1}}isRightAssoc(n){return n==="**"}peek(){return this.tokens[this.pos]||{type:"eof",value:"",pos:0}}advance(){return this.tokens[this.pos++]}expect(n){let t=this.peek();if(t.type!==n)throw new Error(`Expected ${n}, got ${t.type}`);return this.advance()}}});U();function E(e,n){return n.length===0?k(e,[]):n.length===1?{type:"Pipe",left:n[0],right:k(e,[])}:{type:"Pipe",left:n[0],right:k(e,n.slice(1))}}var B={add:e=>S("+",e[0],e[1]),sub:e=>S("-",e[0],e[1]),mul:e=>S("*",e[0],e[1]),div:e=>S("/",e[0],e[1]),mod:e=>S("%",e[0],e[1]),idiv:e=>k("floor",[S("/",e[0],e[1])]),pow:e=>E("pow",e),neg:e=>({type:"UnaryOp",op:"-",operand:e[0]}),"==":e=>S("==",e[0],e[1]),"!=":e=>S("!=",e[0],e[1]),"<":e=>S("<",e[0],e[1]),"<=":e=>S("<=",e[0],e[1]),">":e=>S(">",e[0],e[1]),">=":e=>S(">=",e[0],e[1]),eq:e=>S("==",P(e[0]),P(e[1])),ne:e=>S("!=",P(e[0]),P(e[1])),lt:e=>S("<",P(e[0]),P(e[1])),le:e=>S("<=",P(e[0]),P(e[1])),gt:e=>S(">",P(e[0]),P(e[1])),ge:e=>S(">=",P(e[0]),P(e[1])),and:e=>S("and",e[0],e[1]),or:e=>S("or",e[0],e[1]),not:e=>({type:"UnaryOp",op:"not",operand:e[0]}),len:e=>E("length",e),length:e=>E("length",e),upper:e=>E("ascii_upcase",e),lower:e=>E("ascii_downcase",e),trim:e=>E("trim",e),ltrim:e=>e.length===0?k("ltrimstr",[{type:"Literal",value:" "}]):{type:"Pipe",left:e[0],right:k("ltrimstr",[{type:"Literal",value:" "}])},rtrim:e=>e.length===0?k("rtrimstr",[{type:"Literal",value:" "}]):{type:"Pipe",left:e[0],right:k("rtrimstr",[{type:"Literal",value:" "}])},split:e=>E("split",e),join:e=>e.length===1?k("join",[{type:"Literal",value:""}]):E("join",e),concat:e=>S("+",e[0],e[1]),startswith:e=>E("startswith",e),endswith:e=>E("endswith",e),contains:e=>E("contains",e),replace:e=>E("gsub",e),substr:e=>e.length===2?{type:"Slice",base:e[0],start:e[1]}:{type:"Slice",base:e[0],start:e[1],end:S("+",e[1],e[2])},abs:e=>E("fabs",e),floor:e=>E("floor",e),ceil:e=>E("ceil",e),round:e=>E("round",e),sqrt:e=>E("sqrt",e),log:e=>E("log",e),log10:e=>E("log10",e),log2:e=>E("log2",e),exp:e=>E("exp",e),sin:e=>E("sin",e),cos:e=>E("cos",e),tan:e=>E("tan",e),asin:e=>E("asin",e),acos:e=>E("acos",e),atan:e=>E("atan",e),min:e=>E("min",e),max:e=>E("max",e),first:e=>e.length===0?{type:"Index",index:{type:"Literal",value:0}}:{type:"Index",index:{type:"Literal",value:0},base:e[0]},last:e=>e.length===0?{type:"Index",index:{type:"Literal",value:-1}}:{type:"Index",index:{type:"Literal",value:-1},base:e[0]},get:e=>e.length===1?{type:"Index",index:e[0]}:{type:"Index",index:e[1],base:e[0]},slice:e=>e.length===1?{type:"Slice",base:e[0]}:e.length===2?{type:"Slice",base:e[0],start:e[1]}:{type:"Slice",base:e[0],start:e[1],end:e[2]},keys:"keys",values:"values",entries:e=>k("to_entries",e),from_entries:"from_entries",reverse:"reverse",sort:"sort",sort_by:"sort_by",group_by:"group_by",unique:"unique",unique_by:"unique_by",flatten:"flatten",map:e=>({type:"Pipe",left:e[0],right:{type:"Array",elements:e[1]}}),select:e=>k("select",e),empty:()=>k("empty",[]),count:()=>k("length",[]),sum:e=>e.length===0?k("add",[]):{type:"Pipe",left:{type:"Array",elements:e[0]},right:k("add",[])},mean:e=>e.length===0?{type:"Pipe",left:{type:"Identity"},right:S("/",k("add",[]),k("length",[]))}:{type:"Pipe",left:{type:"Array",elements:e[0]},right:S("/",k("add",[]),k("length",[]))},avg:e=>e.length===0?{type:"Pipe",left:{type:"Identity"},right:S("/",k("add",[]),k("length",[]))}:{type:"Pipe",left:{type:"Array",elements:e[0]},right:S("/",k("add",[]),k("length",[]))},type:"type",isnull:e=>e.length===0?S("==",{type:"Identity"},{type:"Literal",value:null}):S("==",e[0],{type:"Literal",value:null}),isempty:e=>e.length===0?S("==",{type:"Identity"},{type:"Literal",value:""}):S("==",e[0],{type:"Literal",value:""}),tonumber:e=>e.length===0?k("tonumber",[]):k("tonumber",e),tostring:e=>e.length===0?k("tostring",[]):k("tostring",e),if:e=>Je(e[0],e[1],e[2]),coalesce:e=>{if(e.length===0)return{type:"Literal",value:null};if(e.length===1)return e[0];let[n,...t]=e,s=S("and",S("!=",n,{type:"Literal",value:null}),S("!=",n,{type:"Literal",value:""}));return Je(s,n,t.length===1?t[0]:B.coalesce(t))},index:()=>({type:"Field",name:"_row_index"}),now:()=>k("now",[]),fmt:e=>k("tostring",e),format:e=>k("tostring",e)};function S(e,n,t){return{type:"BinaryOp",op:e,left:n,right:t}}function k(e,n){return{type:"Call",name:e,args:n}}var tt="then";function Je(e,n,t){let s={type:"Cond",cond:e,elifs:[],else:t||{type:"Literal",value:null}};return s[tt]=n,s}function P(e){return{type:"Pipe",left:e,right:{type:"Call",name:"tostring",args:[]}}}function O(e,n=!0){switch(e.type){case"int":case"float":return{type:"Literal",value:e.value};case"string":return{type:"Literal",value:e.value};case"bool":return{type:"Literal",value:e.value};case"null":return{type:"Literal",value:null};case"underscore":return{type:"Index",base:{type:"Identity"},index:{type:"Literal",value:"_"}};case"identifier":return n?{type:"Field",name:e.name}:{type:"VarRef",name:e.name};case"lambdaBinding":return{type:"VarRef",name:e.name};case"func":{let t=e.args.map(r=>O(r.expr,n)),s=Object.hasOwn(B,e.name)?B[e.name]:void 0;return typeof s=="function"?s(t):k(typeof s=="string"?s:e.name,t)}case"list":return e.elements.length===0?{type:"Array"}:{type:"Array",elements:e.elements.reduce((t,s,r)=>{let o=O(s,n);return r===0?o:{type:"Comma",left:t,right:o}},null)};case"map":return{type:"Object",entries:e.entries.map(t=>({key:t.key,value:O(t.value,n)}))};case"regex":return{type:"Literal",value:e.pattern};case"slice":return{type:"Slice",start:e.start?O(e.start,n):void 0,end:e.end?O(e.end,n):void 0};case"lambda":return O(e.body,n);case"pipeline":return{type:"Identity"};default:throw new Error(`Unknown moonblade expression type: ${e.type}`)}}function Q(e){let n=[],t=0;for(;t<e.length;){for(;t<e.length&&(e[t]===" "||e[t]===",");)t++;if(t>=e.length)break;let s=t;for(;t<e.length&&/\w/.test(e[t]);)t++;let r=e.slice(s,t);for(;t<e.length&&e[t]===" ";)t++;if(e[t]!=="(")break;t++;let o=1,i=t;for(;t<e.length&&o>0;)e[t]==="("?o++:e[t]===")"&&o--,o>0&&t++;let h=e.slice(i,t).trim();for(t++;t<e.length&&e[t]===" ";)t++;let u="";if(e.slice(t,t+3).toLowerCase()==="as "){for(t+=3;t<e.length&&e[t]===" ";)t++;let p=t;for(;t<e.length&&/\w/.test(e[t]);)t++;u=e.slice(p,t)}u||(u=h?`${r}(${h})`:`${r}()`),n.push({func:r,expr:h,alias:u})}return n}function ze(e){return/^\w+$/.test(e)}function Z(e,n,t){let s=O(_(n)),r=$(e,s,t);return r.length>0?r[0]:null}function ee(e,n,t={}){let{func:s,expr:r}=n;if(s==="count"&&!r)return e.length;let o;switch(ze(r)?o=e.map(i=>i[r]).filter(i=>i!=null):o=e.map(i=>Z(i,r,t)).filter(i=>i!=null),s){case"count":return ze(r)?o.length:o.filter(i=>!!i).length;case"sum":return o.map(h=>typeof h=="number"?h:Number.parseFloat(String(h))).reduce((h,u)=>h+u,0);case"mean":case"avg":{let i=o.map(h=>typeof h=="number"?h:Number.parseFloat(String(h)));return i.length>0?i.reduce((h,u)=>h+u,0)/i.length:0}case"min":{let i=o.map(h=>typeof h=="number"?h:Number.parseFloat(String(h)));return i.length>0?Math.min(...i):null}case"max":{let i=o.map(h=>typeof h=="number"?h:Number.parseFloat(String(h)));return i.length>0?Math.max(...i):null}case"first":return o.length>0?o[0]:null;case"last":return o.length>0?o[o.length-1]:null;case"median":{let i=o.map(u=>typeof u=="number"?u:Number.parseFloat(String(u))).filter(u=>!Number.isNaN(u)).sort((u,p)=>u-p);if(i.length===0)return null;let h=Math.floor(i.length/2);return i.length%2===0?(i[h-1]+i[h])/2:i[h]}case"mode":{let i=new Map;for(let p of o){let l=String(p);i.set(l,(i.get(l)||0)+1)}let h=0,u=null;for(let[p,l]of i)l>h&&(h=l,u=p);return u}case"cardinality":return new Set(o.map(h=>String(h))).size;case"values":return o.map(i=>String(i)).join("|");case"distinct_values":return[...new Set(o.map(h=>String(h)))].sort().join("|");case"all":{if(e.length===0)return!0;for(let i of e)if(!Z(i,r,t))return!1;return!0}case"any":{for(let i of e)if(Z(i,r,t))return!0;return!1}default:return null}}function Ke(e,n,t={}){let s=F();for(let r of n)b(s,r.alias,ee(e,r,t));return s}async function te(e,n){let t="",s=[];for(let l of e)l.startsWith("-")||(t?s.push(l):t=l);if(!t)return{stdout:"",stderr:`xan agg: no aggregation expression
|
|
@@ -2,4 +2,4 @@ import{c as u}from"./chunk-OJDRYQWQ.js";import{a as l,b as h}from"./chunk-74CEPO
|
|
|
2
2
|
`,exitCode:127}}}},C={name:"sh",async execute(t,e){if(h(t))return l({...d,name:"sh",summary:"execute shell commands or scripts (POSIX shell)"});if(t[0]==="-c"&&t.length>=2){let r=t[1],s=t[2]||"sh",c=t.slice(3);return i(r,s,c,e)}if(t.length===0)return e.stdin?.trim()?i(e.stdin,"sh",[],e):{stdout:"",stderr:"",exitCode:0};let n=t[0],o=t.slice(1);try{let r=e.fs.resolvePath(e.cwd,n),s=await e.fs.readFile(r);return i(s,n,o,e)}catch{return{stdout:"",stderr:`sh: ${n}: No such file or directory
|
|
3
3
|
`,exitCode:127}}}};async function i(t,e,n,o){if(!o.exec)return{stdout:"",stderr:`bash: internal error: exec function not available
|
|
4
4
|
`,exitCode:1};let r=u(o.exportedEnv||{},{0:e,"#":String(n.length),"@":n.join(" "),"*":n.join(" ")});n.forEach((a,m)=>{r[String(m+1)]=a});let s=t;if(s.startsWith("#!")){let a=s.indexOf(`
|
|
5
|
-
`);a!==-1&&(s=s.slice(a+1))}return await o.exec(s,{env:r,cwd:o.cwd})}var b={name:"bash",flags:[{flag:"-c",type:"value",valueHint:"string"}],stdinType:"text"},P={name:"sh",flags:[{flag:"-c",type:"value",valueHint:"string"}],stdinType:"text"};export{y as a,C as b,b as c,P as d};
|
|
5
|
+
`);a!==-1&&(s=s.slice(a+1))}return await o.exec(s,{env:r,cwd:o.cwd,stdin:o.stdin})}var b={name:"bash",flags:[{flag:"-c",type:"value",valueHint:"string"}],stdinType:"text"},P={name:"sh",flags:[{flag:"-c",type:"value",valueHint:"string"}],stdinType:"text"};export{y as a,C as b,b as c,P as d};
|
|
@@ -65,7 +65,7 @@ Gid: ${s} ${s} ${s} ${s}
|
|
|
65
65
|
`)}return s.effectiveValue}async function Pn(e,t,r,s){return e.coverage?.hit("bash:expansion:use_alternative"),!(r.isUnset||t.checkEmpty&&r.isEmpty)&&t.word?s(e,t.word.parts,r.inDoubleQuotes):""}async function Rn(e,t,r,s,n){e.coverage?.hit("bash:expansion:pattern_removal");let a="",i=e.state.shoptOptions.extglob;if(r.pattern)for(let o of r.pattern.parts)if(o.type==="Glob")a+=k(o.pattern,r.greedy,i);else if(o.type==="Literal")a+=k(o.value,r.greedy,i);else if(o.type==="SingleQuoted"||o.type==="Escaped")a+=I(o.value);else if(o.type==="DoubleQuoted"){let u=await s(e,o.parts);a+=I(u)}else if(o.type==="ParameterExpansion"){let u=await n(e,o);a+=k(u,r.greedy,i)}else{let u=await n(e,o);a+=I(u)}if(r.side==="prefix")return O(`^${a}`,"s").replace(t,"");let l=O(`${a}$`,"s");if(r.greedy)return l.replace(t,"");for(let o=t.length;o>=0;o--){let u=t.slice(o);if(l.test(u))return t.slice(0,o)}return t}async function In(e,t,r,s,n){e.coverage?.hit("bash:expansion:pattern_replacement");let a="",i=e.state.shoptOptions.extglob;if(r.pattern)for(let u of r.pattern.parts)if(u.type==="Glob")a+=k(u.pattern,!0,i);else if(u.type==="Literal")a+=k(u.value,!0,i);else if(u.type==="SingleQuoted"||u.type==="Escaped")a+=I(u.value);else if(u.type==="DoubleQuoted"){let c=await s(e,u.parts);a+=I(c)}else if(u.type==="ParameterExpansion"){let c=await n(e,u);a+=k(c,!0,i)}else{let c=await n(e,u);a+=I(c)}let l=r.replacement?await s(e,r.replacement.parts):"";if(r.anchor==="start"?a=`^${a}`:r.anchor==="end"&&(a=`${a}$`),a==="")return t;let o=r.all?"gs":"s";try{let u=O(a,o);if(r.all){let c="",f=0,h=u.exec(t);for(;h!==null&&!(h[0].length===0&&h.index===t.length);)c+=t.slice(f,h.index)+l,f=h.index+h[0].length,h[0].length===0&&f++,h=u.exec(t);return c+=t.slice(f),c}return u.replace(t,l)}catch{return t}}function vn(e,t,r){e.coverage?.hit("bash:expansion:length");let s=t.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[[@*]\]$/);if(s){let n=s[1],a=P(e,n);return a.length>0?String(a.length):e.state.env.get(n)!==void 0?"1":"0"}if(/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(t)&&Se(e,t)){if(t==="FUNCNAME"){let a=e.state.funcNameStack?.[0]||"";return String([...a].length)}if(t==="BASH_LINENO"){let a=e.state.callLineStack?.[0];return String(a!==void 0?[...String(a)].length:0)}let n=e.state.env.get(`${t}_0`)||"";return String([...n].length)}return String([...r].length)}async function Dn(e,t,r,s){e.coverage?.hit("bash:expansion:substring");let n=await R(e,s.offset.expression),a=s.length?await R(e,s.length.expression):void 0;if(t==="@"||t==="*"){let u=Number.parseInt(e.state.env.get("#")||"0",10),c=[];for(let g=1;g<=u;g++)c.push(e.state.env.get(String(g))||"");let f=e.state.env.get("0")||"bash",h,d;if(n<=0)if(h=[f,...c],n<0){if(d=h.length+n,d<0)return""}else d=0;else h=c,d=n-1;if(d<0||d>=h.length)return"";if(a!==void 0){let g=a<0?h.length+a:d+a;return h.slice(d,Math.max(d,g)).join(" ")}return h.slice(d).join(" ")}let i=t.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[[@*]\]$/);if(i){let u=i[1];if(e.state.associativeArrays?.has(u))throw new j(1,"",`bash: \${${u}[@]: 0: 3}: bad substitution
|
|
66
66
|
`);let c=P(e,u),f=0;if(n<0){if(c.length>0){let h=c[c.length-1][0],g=(typeof h=="number"?h:0)+1+n;if(g<0||(f=c.findIndex(([m])=>typeof m=="number"&&m>=g),f<0))return""}}else if(f=c.findIndex(([h])=>typeof h=="number"&&h>=n),f<0)return"";if(a!==void 0){if(a<0)throw new C(`${i[1]}[@]: substring expression < 0`);return c.slice(f,f+a).map(([,h])=>h).join(" ")}return c.slice(f).map(([,h])=>h).join(" ")}let l=[...r],o=n;if(o<0&&(o=Math.max(0,l.length+o)),a!==void 0){if(a<0){let u=l.length+a;return l.slice(o,Math.max(o,u)).join("")}return l.slice(o,o+a).join("")}return l.slice(o).join("")}async function xn(e,t,r,s,n){if(e.coverage?.hit("bash:expansion:case_modification"),r.pattern){let a=e.state.shoptOptions.extglob,i="";for(let f of r.pattern.parts)if(f.type==="Glob")i+=k(f.pattern,!0,a);else if(f.type==="Literal")i+=k(f.value,!0,a);else if(f.type==="SingleQuoted"||f.type==="Escaped")i+=I(f.value);else if(f.type==="DoubleQuoted"){let h=await s(e,f.parts);i+=I(h)}else if(f.type==="ParameterExpansion"){let h=await n(e,f);i+=k(h,!0,a)}let l=O(`^(?:${i})$`),o=r.direction==="upper"?f=>f.toUpperCase():f=>f.toLowerCase(),u="",c=!1;for(let f of t)!r.all&&c?u+=f:l.test(f)?(u+=o(f),c=!0):u+=f;return u}return r.direction==="upper"?r.all?t.toUpperCase():t.charAt(0).toUpperCase()+t.slice(1):r.all?t.toLowerCase():t.charAt(0).toLowerCase()+t.slice(1)}function $n(e,t,r,s,n){e.coverage?.hit("bash:expansion:transform");let a=t.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[[@*]\]$/);if(a&&n.operator==="Q")return P(e,a[1]).map(([,u])=>le(u)).join(" ");if(a&&n.operator==="a")return ce(e,a[1]);let i=t.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[.+\]$/);if(i&&n.operator==="a")return ce(e,i[1]);switch(n.operator){case"Q":return s?"":le(r);case"P":return be(e,r);case"a":return ce(e,t);case"A":return s?"":`${t}=${le(r)}`;case"E":return r.replace(/\\([\\abefnrtv'"?])/g,(l,o)=>{switch(o){case"\\":return"\\";case"a":return"\x07";case"b":return"\b";case"e":return"\x1B";case"f":return"\f";case"n":return`
|
|
67
67
|
`;case"r":return"\r";case"t":return" ";case"v":return"\v";case"'":return"'";case'"':return'"';case"?":return"?";default:return o}});case"K":case"k":return s?"":le(r);case"u":return r.charAt(0).toUpperCase()+r.slice(1);case"U":return r.toUpperCase();case"L":return r.toLowerCase();default:return r}}async function _n(e,t,r,s,n,a,i=!1){if(e.coverage?.hit("bash:expansion:indirection"),L(e,t))return Ae(e,t)||"";let l=/^[a-zA-Z_][a-zA-Z0-9_]*\[([@*])\]$/.test(t);if(s){if(n.innerOp?.type==="UseAlternative")return"";throw new re(`\${!${t}}`)}let o=r;if(l&&(o===""||o.includes(" ")))throw new re(`\${!${t}}`);let u=o.match(/^[a-zA-Z_][a-zA-Z0-9_]*\[(.+)\]$/);if(u&&u[1].includes("~"))throw new re(`\${!${t}}`);if(n.innerOp){let c={type:"ParameterExpansion",parameter:o,operation:n.innerOp};return a(e,c,i)}return await v(e,o)}function Cn(e,t){e.coverage?.hit("bash:expansion:array_keys");let s=P(e,t.array).map(([n])=>String(n));return t.star?s.join(N(e.state.env)):s.join(" ")}function On(e,t){e.coverage?.hit("bash:expansion:var_name_prefix");let r=de(e,t.prefix);return t.star?r.join(N(e.state.env)):r.join(" ")}function Ln(e,t,r,s){let n=Number.parseInt(e.state.env.get("#")||"0",10),a=t.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[([@*])\]$/);if(t==="*")return{isEmpty:n===0,effectiveValue:r};if(t==="@")return{isEmpty:n===0||n===1&&e.state.env.get("1")==="",effectiveValue:r};if(a){let[,i,l]=a,o=P(e,i);if(o.length===0)return{isEmpty:!0,effectiveValue:""};if(l==="*"){let u=N(e.state.env),c=o.map(([,f])=>f).join(u);return{isEmpty:s?c==="":!1,effectiveValue:c}}return{isEmpty:o.length===1&&o.every(([,u])=>u===""),effectiveValue:o.map(([,u])=>u).join(" ")}}return{isEmpty:r==="",effectiveValue:r}}function Wn(e){let t=0;for(;t<e.length;){let r=e[t];if(r==="\\"&&t+1<e.length){t+=2;continue}if(r==="'"){let s=e.indexOf("'",t+1);if(s!==-1){t=s+1;continue}}if(r==="$"&&t+1<e.length&&e[t+1]==="("||r==="`")return!0;t++}return!1}function Tn(e,t){let r=1,s=t,n=!1,a=!1;for(;s<e.length&&r>0;){let i=e[s];if(i==="\\"&&!n&&s+1<e.length){s+=2;continue}if(i==="'"&&!a){n=!n,s++;continue}if(i==='"'&&!n){a=!a,s++;continue}if(!n&&!a){if(i==="(")r++;else if(i===")"&&(r--,r===0))return s}s++}return-1}async function We(e,t){let r=new M,s;try{s=r.parse(t)}catch{return""}let n=e.state.bashPid;e.state.bashPid=e.state.nextVirtualPid++;let a=new Map(e.state.env),i=e.state.cwd,l=e.state.suppressVerbose;e.state.suppressVerbose=!0;try{let o=await e.executeScript(s),u=o.exitCode;return e.state.env=a,e.state.cwd=i,e.state.suppressVerbose=l,e.state.lastExitCode=u,e.state.env.set("?",String(u)),o.stderr&&(e.state.expansionStderr=(e.state.expansionStderr||"")+o.stderr),e.state.bashPid=n,o.stdout.replace(/\n+$/,"")}catch(o){if(e.state.env=a,e.state.cwd=i,e.state.bashPid=n,e.state.suppressVerbose=l,o instanceof B)throw o;return o instanceof j?(e.state.lastExitCode=o.exitCode,e.state.env.set("?",String(o.exitCode)),o.stdout?.replace(/\n+$/,"")??""):""}}function Nt(e,t){let r="",s=0;for(;s<t.length;){let n=t[s];if(n==="'"){let a=t.indexOf("'",s+1);if(a!==-1){let i=t.slice(s+1,a);r+=K(i),s=a+1;continue}}if(n==='"'){let a=-1,i=s+1;for(;i<t.length;){if(t[i]==="\\"){i+=2;continue}if(t[i]==='"'){a=i;break}i++}if(a!==-1){let l=t.slice(s+1,a),o=As(e,l);r+=K(o),s=a+1;continue}}if(n==="$"&&s+1<t.length){let a=t[s+1];if(a==="{"){let i=t.indexOf("}",s+2);if(i!==-1){let l=t.slice(s+2,i);r+=e.state.env.get(l)??"",s=i+1;continue}}else if(/[a-zA-Z_]/.test(a)){let i=s+1;for(;i<t.length&&/[a-zA-Z0-9_]/.test(t[i]);)i++;let l=t.slice(s+1,i);r+=e.state.env.get(l)??"",s=i;continue}}if(n==="\\"&&s+1<t.length){r+=n+t[s+1],s+=2;continue}r+=n,s++}return r}function As(e,t){let r="",s=0;for(;s<t.length;){let n=t[s];if(n==="\\"&&s+1<t.length){let a=t[s+1];if(a==="$"||a==="`"||a==="\\"||a==='"'){r+=a,s+=2;continue}r+=n,s++;continue}if(n==="$"&&s+1<t.length){let a=t[s+1];if(a==="{"){let i=t.indexOf("}",s+2);if(i!==-1){let l=t.slice(s+2,i);r+=e.state.env.get(l)??"",s=i+1;continue}}else if(/[a-zA-Z_]/.test(a)){let i=s+1;for(;i<t.length&&/[a-zA-Z0-9_]/.test(t[i]);)i++;let l=t.slice(s+1,i);r+=e.state.env.get(l)??"",s=i;continue}}r+=n,s++}return r}async function Mn(e,t){let r="",s=0;for(;s<t.length;){let n=t[s];if(n==="'"){let a=t.indexOf("'",s+1);if(a!==-1){let i=t.slice(s+1,a);r+=K(i),s=a+1;continue}}if(n==='"'){let a=-1,i=s+1;for(;i<t.length;){if(t[i]==="\\"){i+=2;continue}if(t[i]==='"'){a=i;break}i++}if(a!==-1){let l=t.slice(s+1,a),o=await Ss(e,l);r+=K(o),s=a+1;continue}}if(n==="$"&&s+1<t.length&&t[s+1]==="("){let a=Tn(t,s+2);if(a!==-1){let i=t.slice(s+2,a),l=await We(e,i);r+=l,s=a+1;continue}}if(n==="`"){let a=t.indexOf("`",s+1);if(a!==-1){let i=t.slice(s+1,a),l=await We(e,i);r+=l,s=a+1;continue}}if(n==="$"&&s+1<t.length){let a=t[s+1];if(a==="{"){let i=t.indexOf("}",s+2);if(i!==-1){let l=t.slice(s+2,i);r+=e.state.env.get(l)??"",s=i+1;continue}}else if(/[a-zA-Z_]/.test(a)){let i=s+1;for(;i<t.length&&/[a-zA-Z0-9_]/.test(t[i]);)i++;let l=t.slice(s+1,i);r+=e.state.env.get(l)??"",s=i;continue}}if(n==="\\"&&s+1<t.length){r+=n+t[s+1],s+=2;continue}r+=n,s++}return r}async function Ss(e,t){let r="",s=0;for(;s<t.length;){let n=t[s];if(n==="\\"&&s+1<t.length){let a=t[s+1];if(a==="$"||a==="`"||a==="\\"||a==='"'){r+=a,s+=2;continue}r+=n,s++;continue}if(n==="$"&&s+1<t.length&&t[s+1]==="("){let a=Tn(t,s+2);if(a!==-1){let i=t.slice(s+2,a),l=await We(e,i);r+=l,s=a+1;continue}}if(n==="`"){let a=t.indexOf("`",s+1);if(a!==-1){let i=t.slice(s+1,a),l=await We(e,i);r+=l,s=a+1;continue}}if(n==="$"&&s+1<t.length){let a=t[s+1];if(a==="{"){let i=t.indexOf("}",s+2);if(i!==-1){let l=t.slice(s+2,i);r+=e.state.env.get(l)??"",s=i+1;continue}}else if(/[a-zA-Z_]/.test(a)){let i=s+1;for(;i<t.length&&/[a-zA-Z0-9_]/.test(t[i]);)i++;let l=t.slice(s+1,i);r+=e.state.env.get(l)??"",s=i;continue}}r+=n,s++}return r}function Vn(e,t){if(!t.startsWith("~"))return t;e.coverage?.hit("bash:expansion:tilde");let r=e.state.env.get("HOME")!==void 0?e.state.env.get("HOME"):"/home/user";if(t==="~"||t.startsWith("~/"))return r+t.slice(1);let s=1;for(;s<t.length&&/[a-zA-Z0-9_-]/.test(t[s]);)s++;let n=t.slice(1,s),a=t.slice(s);return a!==""&&!a.startsWith("/")?t:n==="root"?`/root${a}`:t}async function bs(e,t,r,s){let n="";for(let a of t.parts)if(a.type==="Glob")n+=k(a.pattern,!0,e.state.shoptOptions.extglob);else if(a.type==="Literal")n+=k(a.value,!0,e.state.shoptOptions.extglob);else if(a.type==="SingleQuoted"||a.type==="Escaped")n+=I(a.value);else if(a.type==="DoubleQuoted"){let i=await r(e,a.parts);n+=I(i)}else if(a.type==="ParameterExpansion"){let i=await s(e,a);n+=k(i,!0,e.state.shoptOptions.extglob)}else{let i=await s(e,a);n+=I(i)}return n}async function qn(e,t,r,s){if(t.length!==1||t[0].type!=="DoubleQuoted")return null;let n=t[0];if(n.parts.length!==1||n.parts[0].type!=="ParameterExpansion"||n.parts[0].operation?.type!=="PatternReplacement")return null;let a=n.parts[0],i=a.parameter.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[([@*])\]$/);if(!i)return null;let l=i[1],o=i[2]==="*",u=a.operation,c=P(e,l),f=c.map(([,E])=>E);if(c.length===0){let E=e.state.env.get(l);E!==void 0&&f.push(E)}if(f.length===0)return{values:[],quoted:!0};let h="";u.pattern&&(h=await bs(e,u.pattern,r,s));let d=u.replacement?await r(e,u.replacement.parts):"",g=h;u.anchor==="start"?g=`^${h}`:u.anchor==="end"&&(g=`${h}$`);let m=[];try{let E=O(g,u.all?"g":"");for(let A of f)m.push(E.replace(A,d))}catch{m.push(...f)}if(o){let E=N(e.state.env);return{values:[m.join(E)],quoted:!0}}return{values:m,quoted:!0}}async function Bn(e,t,r,s){if(t.length!==1||t[0].type!=="DoubleQuoted")return null;let n=t[0];if(n.parts.length!==1||n.parts[0].type!=="ParameterExpansion"||n.parts[0].operation?.type!=="PatternRemoval")return null;let a=n.parts[0],i=a.parameter.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[([@*])\]$/);if(!i)return null;let l=i[1],o=i[2]==="*",u=a.operation,c=P(e,l),f=c.map(([,m])=>m);if(c.length===0){let m=e.state.env.get(l);m!==void 0&&f.push(m)}if(f.length===0)return{values:[],quoted:!0};let h="",d=e.state.shoptOptions.extglob;if(u.pattern)for(let m of u.pattern.parts)if(m.type==="Glob")h+=k(m.pattern,u.greedy,d);else if(m.type==="Literal")h+=k(m.value,u.greedy,d);else if(m.type==="SingleQuoted"||m.type==="Escaped")h+=I(m.value);else if(m.type==="DoubleQuoted"){let E=await r(e,m.parts);h+=I(E)}else if(m.type==="ParameterExpansion"){let E=await s(e,m);h+=k(E,u.greedy,d)}else{let E=await s(e,m);h+=I(E)}let g=[];for(let m of f)g.push(se(m,h,u.side,u.greedy));if(o){let m=N(e.state.env);return{values:[g.join(m)],quoted:!0}}return{values:g,quoted:!0}}async function Fn(e,t){if(t.length!==1||t[0].type!=="DoubleQuoted")return null;let r=t[0];if(r.parts.length!==1||r.parts[0].type!=="ParameterExpansion"||r.parts[0].operation?.type!=="DefaultValue"&&r.parts[0].operation?.type!=="UseAlternative"&&r.parts[0].operation?.type!=="AssignDefault")return null;let s=r.parts[0],n=s.operation,a=s.parameter.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[([@*])\]$/),i,l=!1;if(a){let o=a[1];l=a[2]==="*";let u=P(e,o),c=u.length>0||e.state.env.has(o),f=u.length===0||u.length===1&&u.every(([,d])=>d===""),h=n.checkEmpty??!1;if(n.type==="UseAlternative"?i=c&&!(h&&f):i=!c||h&&f,!i){if(u.length>0){let g=u.map(([,m])=>m);if(l){let m=N(e.state.env);return{values:[g.join(m)],quoted:!0}}return{values:g,quoted:!0}}let d=e.state.env.get(o);return d!==void 0?{values:[d],quoted:!0}:{values:[],quoted:!0}}}else{let o=s.parameter,u=await te(e,o),c=await v(e,o),f=c==="",h=n.checkEmpty??!1;if(n.type==="UseAlternative"?i=u&&!(h&&f):i=!u||h&&f,!i)return{values:[c],quoted:!0}}if(i&&n.word){let o=n.word.parts,u=null,c=!1;for(let f of o)if(f.type==="ParameterExpansion"&&!f.operation){let h=f.parameter.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[([@*])\]$/);if(h){u=h[1],c=h[2]==="*";break}}if(u){let f=P(e,u);if(f.length>0){let d=f.map(([,g])=>g);if(c||l){let g=N(e.state.env);return{values:[d.join(g)],quoted:!0}}return{values:d,quoted:!0}}let h=e.state.env.get(u);return h!==void 0?{values:[h],quoted:!0}:{values:[],quoted:!0}}}return null}async function Qn(e,t,r,s,n){if(!r||t.length!==1||t[0].type!=="DoubleQuoted")return null;let a=t[0],i=-1,l="",o=!1,u=null;for(let m=0;m<a.parts.length;m++){let E=a.parts[m];if(E.type==="ParameterExpansion"&&(E.operation?.type==="PatternRemoval"||E.operation?.type==="PatternReplacement")){let A=E.parameter.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[([@*])\]$/);if(A){i=m,l=A[1],o=A[2]==="*",u=E.operation;break}}}if(i===-1||i===0&&i===a.parts.length-1)return null;let c="";for(let m=0;m<i;m++)c+=await s(e,a.parts[m]);let f="";for(let m=i+1;m<a.parts.length;m++)f+=await s(e,a.parts[m]);let h=P(e,l),d=h.map(([,m])=>m);if(h.length===0){let m=e.state.env.get(l);if(m!==void 0)d=[m];else{if(o)return{values:[c+f],quoted:!0};let E=c+f;return{values:E?[E]:[],quoted:!0}}}if(u?.type==="PatternRemoval"){let m=u,E="",A=e.state.shoptOptions.extglob;if(m.pattern)for(let S of m.pattern.parts)if(S.type==="Glob")E+=k(S.pattern,m.greedy,A);else if(S.type==="Literal")E+=k(S.value,m.greedy,A);else if(S.type==="SingleQuoted"||S.type==="Escaped")E+=I(S.value);else if(S.type==="DoubleQuoted"){let y=await n(e,S.parts);E+=I(y)}else if(S.type==="ParameterExpansion"){let y=await s(e,S);E+=k(y,m.greedy,A)}else{let y=await s(e,S);E+=I(y)}d=d.map(S=>se(S,E,m.side,m.greedy))}else if(u?.type==="PatternReplacement"){let m=u,E="";if(m.pattern)for(let y of m.pattern.parts)if(y.type==="Glob")E+=k(y.pattern,!0,e.state.shoptOptions.extglob);else if(y.type==="Literal")E+=k(y.value,!0,e.state.shoptOptions.extglob);else if(y.type==="SingleQuoted"||y.type==="Escaped")E+=I(y.value);else if(y.type==="DoubleQuoted"){let b=await n(e,y.parts);E+=I(b)}else if(y.type==="ParameterExpansion"){let b=await s(e,y);E+=k(b,!0,e.state.shoptOptions.extglob)}else{let b=await s(e,y);E+=I(b)}let A=m.replacement?await n(e,m.replacement.parts):"",S=E;m.anchor==="start"?S=`^${E}`:m.anchor==="end"&&(S=`${E}$`);try{let y=O(S,m.all?"g":"");d=d.map(b=>y.replace(b,A))}catch{}}if(o){let m=N(e.state.env);return{values:[c+d.join(m)+f],quoted:!0}}return d.length===1?{values:[c+d[0]+f],quoted:!0}:{values:[c+d[0],...d.slice(1,-1),d[d.length-1]+f],quoted:!0}}async function zn(e,t,r,s){if(!r||t.length!==1||t[0].type!=="DoubleQuoted")return null;let n=t[0],a=-1,i="",l=!1;for(let d=0;d<n.parts.length;d++){let g=n.parts[d];if(g.type==="ParameterExpansion"&&!g.operation){let m=g.parameter.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[([@*])\]$/);if(m){a=d,i=m[1],l=m[2]==="*";break}}}if(a===-1)return null;let o="";for(let d=0;d<a;d++)o+=await s(e,n.parts[d]);let u="";for(let d=a+1;d<n.parts.length;d++)u+=await s(e,n.parts[d]);let c=P(e,i),f=c.map(([,d])=>d);if(c.length===0){let d=e.state.env.get(i);if(d!==void 0)return{values:[o+d+u],quoted:!0};if(l)return{values:[o+u],quoted:!0};let g=o+u;return{values:g?[g]:[],quoted:!0}}if(l){let d=N(e.state.env);return{values:[o+f.join(d)+u],quoted:!0}}return f.length===1?{values:[o+f[0]+u],quoted:!0}:{values:[o+f[0],...f.slice(1,-1),f[f.length-1]+u],quoted:!0}}async function Zn(e,t,r){if(t.length!==1||t[0].type!=="DoubleQuoted")return null;let s=t[0];if(s.parts.length!==1||s.parts[0].type!=="ParameterExpansion"||s.parts[0].operation?.type!=="Substring")return null;let n=s.parts[0],a=n.parameter.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[([@*])\]$/);if(!a)return null;let i=a[1],l=a[2]==="*",o=n.operation;if(e.state.associativeArrays?.has(i))throw new j(1,"",`bash: \${${i}[@]: 0: 3}: bad substitution
|
|
68
|
-
`);let u=o.offset?await r(e,o.offset.expression):0,c=o.length?await r(e,o.length.expression):void 0,f=P(e,i),h=0;if(u<0){if(f.length>0){let g=f[f.length-1][0],E=(typeof g=="number"?g:0)+1+u;if(E<0)return{values:[],quoted:!0};h=f.findIndex(([A])=>typeof A=="number"&&A>=E),h<0&&(h=f.length)}}else h=f.findIndex(([g])=>typeof g=="number"&&g>=u),h<0&&(h=f.length);let d;if(c!==void 0){if(c<0)throw new C(`${i}[@]: substring expression < 0`);d=f.slice(h,h+c).map(([,g])=>g)}else d=f.slice(h).map(([,g])=>g);if(d.length===0)return{values:[],quoted:!0};if(l){let g=N(e.state.env);return{values:[d.join(g)],quoted:!0}}return{values:d,quoted:!0}}function Gn(e,t){if(t.length!==1||t[0].type!=="DoubleQuoted")return null;let r=t[0];if(r.parts.length!==1||r.parts[0].type!=="ParameterExpansion"||r.parts[0].operation?.type!=="Transform")return null;let s=r.parts[0],n=s.parameter.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[([@*])\]$/);if(!n)return null;let a=n[1],i=n[2]==="*",l=s.operation,o=P(e,a);if(o.length===0){let f=e.state.env.get(a);if(f!==void 0){let h;switch(l.operator){case"a":h="";break;case"P":h=be(e,f);break;case"Q":h=le(f);break;default:h=f}return{values:[h],quoted:!0}}return i?{values:[""],quoted:!0}:{values:[],quoted:!0}}let u=ce(e,a),c;switch(l.operator){case"a":c=o.map(()=>u);break;case"P":c=o.map(([,f])=>be(e,f));break;case"Q":c=o.map(([,f])=>le(f));break;case"u":c=o.map(([,f])=>f.charAt(0).toUpperCase()+f.slice(1));break;case"U":c=o.map(([,f])=>f.toUpperCase());break;case"L":c=o.map(([,f])=>f.toLowerCase());break;default:c=o.map(([,f])=>f)}if(i){let f=N(e.state.env);return{values:[c.join(f)],quoted:!0}}return{values:c,quoted:!0}}function Un(e,t){if(t.length!==1||t[0].type!=="DoubleQuoted")return null;let r=t[0];if(r.parts.length!==1||r.parts[0].type!=="ParameterExpansion")return null;let s=r.parts[0];if(s.operation)return null;let n=s.parameter.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[(@)\]$/);if(!n)return null;let a=n[1];if(L(e,a)){let o=Ae(e,a);if(o?.endsWith("[@]")||o?.endsWith("[*]"))return{values:[],quoted:!0}}let i=P(e,a);if(i.length>0)return{values:i.map(([,o])=>o),quoted:!0};let l=e.state.env.get(a);return l!==void 0?{values:[l],quoted:!0}:{values:[],quoted:!0}}function Hn(e,t){if(t.length!==1||t[0].type!=="DoubleQuoted")return null;let r=t[0];if(r.parts.length!==1||r.parts[0].type!=="ParameterExpansion"||r.parts[0].operation)return null;let n=r.parts[0].parameter;if(!/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(n)||!L(e,n))return null;let a=Ae(e,n);if(!a)return null;let i=a.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[(@)\]$/);if(!i)return null;let l=i[1],o=P(e,l);if(o.length>0)return{values:o.map(([,c])=>c),quoted:!0};let u=e.state.env.get(l);return u!==void 0?{values:[u],quoted:!0}:{values:[],quoted:!0}}async function jn(e,t,r,s,n){if(!r||t.length!==1||t[0].type!=="DoubleQuoted")return null;let a=t[0];if(a.parts.length!==1||a.parts[0].type!=="ParameterExpansion"||a.parts[0].operation?.type!=="Indirection")return null;let i=a.parts[0],l=i.operation,o=await v(e,i.parameter),u=o.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[([@*])\]$/);if(!u){if(!l.innerOp&&(o==="@"||o==="*")){let g=Number.parseInt(e.state.env.get("#")||"0",10),m=[];for(let E=1;E<=g;E++)m.push(e.state.env.get(String(E))||"");return o==="*"?{values:[m.join(N(e.state.env))],quoted:!0}:{values:m,quoted:!0}}return null}let c=u[1],f=u[2]==="*",h=P(e,c);if(l.innerOp){if(l.innerOp.type==="Substring")return ws(e,h,c,f,l.innerOp);if(l.innerOp.type==="DefaultValue"||l.innerOp.type==="UseAlternative"||l.innerOp.type==="AssignDefault"||l.innerOp.type==="ErrorIfUnset")return Ns(e,h,c,f,l.innerOp,n);if(l.innerOp.type==="Transform"&&l.innerOp.operator==="a"){let m=ce(e,c),E=h.map(()=>m);return f?{values:[E.join(N(e.state.env))],quoted:!0}:{values:E,quoted:!0}}let g=[];for(let[,m]of h){let E={type:"ParameterExpansion",parameter:"_indirect_elem_",operation:l.innerOp},A=e.state.env.get("_indirect_elem_");e.state.env.set("_indirect_elem_",m);try{let S=await s(e,E,!0);g.push(S)}finally{A!==void 0?e.state.env.set("_indirect_elem_",A):e.state.env.delete("_indirect_elem_")}}return f?{values:[g.join(N(e.state.env))],quoted:!0}:{values:g,quoted:!0}}if(h.length>0){let g=h.map(([,m])=>m);return f?{values:[g.join(N(e.state.env))],quoted:!0}:{values:g,quoted:!0}}let d=e.state.env.get(c);return d!==void 0?{values:[d],quoted:!0}:{values:[],quoted:!0}}async function ws(e,t,r,s,n){let a=n.offset?await R(e,n.offset.expression):0,i=n.length?await R(e,n.length.expression):void 0,l=0;if(a<0){if(t.length>0){let c=t[t.length-1][0],h=(typeof c=="number"?c:0)+1+a;if(h<0)return{values:[],quoted:!0};if(l=t.findIndex(([d])=>typeof d=="number"&&d>=h),l<0)return{values:[],quoted:!0}}}else if(l=t.findIndex(([c])=>typeof c=="number"&&c>=a),l<0)return{values:[],quoted:!0};let o;if(i!==void 0){if(i<0)throw new C(`${r}[@]: substring expression < 0`);o=t.slice(l,l+i)}else o=t.slice(l);let u=o.map(([,c])=>c);return s?{values:[u.join(N(e.state.env))],quoted:!0}:{values:u,quoted:!0}}async function Ns(e,t,r,s,n,a){let i=n.checkEmpty??!1,l=t.map(([,c])=>c),o=t.length===0,u=t.length===0;if(n.type==="UseAlternative")return!u&&!(i&&o)&&n.word?{values:[await a(e,n.word.parts,!0)],quoted:!0}:{values:[],quoted:!0};if(n.type==="DefaultValue")return(u||i&&o)&&n.word?{values:[await a(e,n.word.parts,!0)],quoted:!0}:s?{values:[l.join(N(e.state.env))],quoted:!0}:{values:l,quoted:!0};if(n.type==="AssignDefault"){if((u||i&&o)&&n.word){let f=await a(e,n.word.parts,!0);return e.state.env.set(`${r}_0`,f),e.state.env.set(`${r}__length`,"1"),{values:[f],quoted:!0}}return s?{values:[l.join(N(e.state.env))],quoted:!0}:{values:l,quoted:!0}}return s?{values:[l.join(N(e.state.env))],quoted:!0}:{values:l,quoted:!0}}async function Kn(e,t){if(t.length!==1||t[0].type!=="ParameterExpansion"||t[0].operation?.type!=="UseAlternative"&&t[0].operation?.type!=="DefaultValue")return null;let r=t[0],s=r.operation,n=s?.word;if(!n||n.parts.length!==1||n.parts[0].type!=="DoubleQuoted")return null;let a=n.parts[0];if(a.parts.length!==1||a.parts[0].type!=="ParameterExpansion"||a.parts[0].operation?.type!=="Indirection")return null;let i=a.parts[0],o=(await v(e,i.parameter)).match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[([@*])\]$/);if(!o)return null;let u=await te(e,r.parameter),c=await v(e,r.parameter)==="",f=s.checkEmpty??!1,h;if(s.type==="UseAlternative"?h=u&&!(f&&c):h=!u||f&&c,h){let d=o[1],g=o[2]==="*",m=P(e,d);if(m.length>0){let A=m.map(([,S])=>S);return g?{values:[A.join(N(e.state.env))],quoted:!0}:{values:A,quoted:!0}}let E=e.state.env.get(d);return E!==void 0?{values:[E],quoted:!0}:{values:[],quoted:!0}}return{values:[],quoted:!1}}async function Xn(e,t){if(t.length!==1||t[0].type!=="ParameterExpansion"||t[0].operation?.type!=="Indirection")return null;let r=t[0],n=r.operation.innerOp;if(!n||n.type!=="UseAlternative"&&n.type!=="DefaultValue")return null;let a=n.word;if(!a||a.parts.length!==1||a.parts[0].type!=="DoubleQuoted")return null;let i=a.parts[0];if(i.parts.length!==1||i.parts[0].type!=="ParameterExpansion"||i.parts[0].operation?.type!=="Indirection")return null;let l=i.parts[0],u=(await v(e,l.parameter)).match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[([@*])\]$/);if(!u)return null;let c=await v(e,r.parameter),f=await te(e,r.parameter),h=c==="",d=n.checkEmpty??!1,g;if(n.type==="UseAlternative"?g=f&&!(d&&h):g=!f||d&&h,g){let m=u[1],E=u[2]==="*",A=P(e,m);if(A.length>0){let y=A.map(([,b])=>b);return E?{values:[y.join(N(e.state.env))],quoted:!0}:{values:y,quoted:!0}}let S=e.state.env.get(m);return S!==void 0?{values:[S],quoted:!0}:{values:[],quoted:!0}}return{values:[],quoted:!1}}function Jn(e){let t=Number.parseInt(e.state.env.get("#")||"0",10),r=[];for(let s=1;s<=t;s++)r.push(e.state.env.get(String(s))||"");return r}async function Yn(e,t,r,s){if(t.length!==1||t[0].type!=="DoubleQuoted")return null;let n=t[0],a=-1,i=!1;for(let S=0;S<n.parts.length;S++){let y=n.parts[S];if(y.type==="ParameterExpansion"&&(y.parameter==="@"||y.parameter==="*")&&y.operation?.type==="Substring"){a=S,i=y.parameter==="*";break}}if(a===-1)return null;let o=n.parts[a].operation,u=o.offset?await r(e,o.offset.expression):0,c=o.length?await r(e,o.length.expression):void 0,f=Number.parseInt(e.state.env.get("#")||"0",10),h=[];for(let S=1;S<=f;S++)h.push(e.state.env.get(String(S))||"");let d=e.state.env.get("0")||"bash",g;if(u<=0){let S=[d,...h],y=S.length+u;if(y<0)g=[];else{let b=u<0?y:0;if(c!==void 0){let D=c<0?S.length+c:b+c;g=S.slice(b,Math.max(b,D))}else g=S.slice(b)}}else{let S=u-1;if(S>=h.length)g=[];else if(c!==void 0){let y=c<0?h.length+c:S+c;g=h.slice(S,Math.max(S,y))}else g=h.slice(S)}let m="";for(let S=0;S<a;S++)m+=await s(e,n.parts[S]);let E="";for(let S=a+1;S<n.parts.length;S++)E+=await s(e,n.parts[S]);if(g.length===0){let S=m+E;return{values:S?[S]:[],quoted:!0}}if(i){let S=N(e.state.env);return{values:[m+g.join(S)+E],quoted:!0}}return g.length===1?{values:[m+g[0]+E],quoted:!0}:{values:[m+g[0],...g.slice(1,-1),g[g.length-1]+E],quoted:!0}}async function er(e,t,r,s){if(t.length!==1||t[0].type!=="DoubleQuoted")return null;let n=t[0],a=-1,i=!1;for(let A=0;A<n.parts.length;A++){let S=n.parts[A];if(S.type==="ParameterExpansion"&&(S.parameter==="@"||S.parameter==="*")&&S.operation?.type==="PatternReplacement"){a=A,i=S.parameter==="*";break}}if(a===-1)return null;let o=n.parts[a].operation,u=Jn(e),c="";for(let A=0;A<a;A++)c+=await r(e,n.parts[A]);let f="";for(let A=a+1;A<n.parts.length;A++)f+=await r(e,n.parts[A]);if(u.length===0){let A=c+f;return{values:A?[A]:[],quoted:!0}}let h="";if(o.pattern)for(let A of o.pattern.parts)if(A.type==="Glob")h+=k(A.pattern,!0,e.state.shoptOptions.extglob);else if(A.type==="Literal")h+=k(A.value,!0,e.state.shoptOptions.extglob);else if(A.type==="SingleQuoted"||A.type==="Escaped")h+=I(A.value);else if(A.type==="DoubleQuoted"){let S=await s(e,A.parts);h+=I(S)}else if(A.type==="ParameterExpansion"){let S=await r(e,A);h+=k(S,!0,e.state.shoptOptions.extglob)}else{let S=await r(e,A);h+=I(S)}let d=o.replacement?await s(e,o.replacement.parts):"",g=h;o.anchor==="start"?g=`^${h}`:o.anchor==="end"&&(g=`${h}$`);let m=[];try{let A=O(g,o.all?"g":"");for(let S of u)m.push(A.replace(S,d))}catch{m.push(...u)}if(i){let A=N(e.state.env);return{values:[c+m.join(A)+f],quoted:!0}}return m.length===1?{values:[c+m[0]+f],quoted:!0}:{values:[c+m[0],...m.slice(1,-1),m[m.length-1]+f],quoted:!0}}async function tr(e,t,r,s){if(t.length!==1||t[0].type!=="DoubleQuoted")return null;let n=t[0],a=-1,i=!1;for(let E=0;E<n.parts.length;E++){let A=n.parts[E];if(A.type==="ParameterExpansion"&&(A.parameter==="@"||A.parameter==="*")&&A.operation?.type==="PatternRemoval"){a=E,i=A.parameter==="*";break}}if(a===-1)return null;let o=n.parts[a].operation,u=Jn(e),c="";for(let E=0;E<a;E++)c+=await r(e,n.parts[E]);let f="";for(let E=a+1;E<n.parts.length;E++)f+=await r(e,n.parts[E]);if(u.length===0){let E=c+f;return{values:E?[E]:[],quoted:!0}}let h="",d=e.state.shoptOptions.extglob;if(o.pattern)for(let E of o.pattern.parts)if(E.type==="Glob")h+=k(E.pattern,o.greedy,d);else if(E.type==="Literal")h+=k(E.value,o.greedy,d);else if(E.type==="SingleQuoted"||E.type==="Escaped")h+=I(E.value);else if(E.type==="DoubleQuoted"){let A=await s(e,E.parts);h+=I(A)}else if(E.type==="ParameterExpansion"){let A=await r(e,E);h+=k(A,o.greedy,d)}else{let A=await r(e,E);h+=I(A)}let g=[];for(let E of u)g.push(se(E,h,o.side,o.greedy));if(i){let E=N(e.state.env);return{values:[c+g.join(E)+f],quoted:!0}}return g.length===1?{values:[c+g[0]+f],quoted:!0}:{values:[c+g[0],...g.slice(1,-1),g[g.length-1]+f],quoted:!0}}async function nr(e,t,r){if(t.length!==1||t[0].type!=="DoubleQuoted")return null;let s=t[0],n=-1,a=!1;for(let h=0;h<s.parts.length;h++){let d=s.parts[h];if(d.type==="ParameterExpansion"&&(d.parameter==="@"||d.parameter==="*")){n=h,a=d.parameter==="*";break}}if(n===-1)return null;let i=s.parts[n];if(i.type==="ParameterExpansion"&&i.operation)return null;let l=Number.parseInt(e.state.env.get("#")||"0",10),o="";for(let h=0;h<n;h++)o+=await r(e,s.parts[h]);let u="";for(let h=n+1;h<s.parts.length;h++)u+=await r(e,s.parts[h]);if(l===0){if(a)return{values:[o+u],quoted:!0};let h=o+u;return{values:h?[h]:[],quoted:!0}}let c=[];for(let h=1;h<=l;h++)c.push(e.state.env.get(String(h))||"");if(a){let h=N(e.state.env);return{values:[o+c.join(h)+u],quoted:!0}}return c.length===1?{values:[o+c[0]+u],quoted:!0}:{values:[o+c[0],...c.slice(1,-1),c[c.length-1]+u],quoted:!0}}function ks(e){return new oe(e.fs,e.state.cwd,e.state.env,{globstar:e.state.shoptOptions.globstar,nullglob:e.state.shoptOptions.nullglob,failglob:e.state.shoptOptions.failglob,dotglob:e.state.shoptOptions.dotglob,extglob:e.state.shoptOptions.extglob,globskipdots:e.state.shoptOptions.globskipdots,maxGlobOperations:e.limits.maxGlobOperations})}async function Te(e,t){if(e.state.options.noglob)return t;let r=ks(e),s=[];for(let n of t)if(ne(n,e.state.shoptOptions.extglob)){let a=await r.expand(n);if(a.length>0)s.push(...a);else{if(r.hasFailglob())throw new Pe(n);r.hasNullglob()||s.push(n)}}else s.push(n);return s}async function rr(e,t,r,s){let n=-1,a="",i=!1;for(let S=0;S<t.length;S++){let y=t[S];if(y.type==="ParameterExpansion"&&y.operation?.type==="PatternReplacement"){let b=y.parameter.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[([@*])\]$/);if(b){n=S,a=b[1],i=b[2]==="*";break}}}if(n===-1)return null;let o=t[n].operation,u=P(e,a),c=u.map(([,S])=>S);if(u.length===0){let S=e.state.env.get(a);S!==void 0&&(c=[S])}if(c.length===0)return{values:[],quoted:!1};let f="";if(o.pattern)for(let S of o.pattern.parts)if(S.type==="Glob")f+=k(S.pattern,!0,e.state.shoptOptions.extglob);else if(S.type==="Literal")f+=k(S.value,!0,e.state.shoptOptions.extglob);else if(S.type==="SingleQuoted"||S.type==="Escaped")f+=I(S.value);else if(S.type==="DoubleQuoted"){let y=await r(e,S.parts);f+=I(y)}else if(S.type==="ParameterExpansion"){let y=await s(e,S);f+=k(y,!0,e.state.shoptOptions.extglob)}else{let y=await s(e,S);f+=I(y)}let h=o.replacement?await r(e,o.replacement.parts):"",d=f;o.anchor==="start"?d=`^${f}`:o.anchor==="end"&&(d=`${f}$`);let g=[];try{let S=O(d,o.all?"g":"");for(let y of c)g.push(S.replace(y,h))}catch{g.push(...c)}let m=W(e.state.env),E=V(e.state.env);if(i){let S=N(e.state.env),y=g.join(S);return E?{values:y?[y]:[],quoted:!1}:{values:x(y,m),quoted:!1}}if(E)return{values:g,quoted:!1};let A=[];for(let S of g)S===""?A.push(""):A.push(...x(S,m));return{values:A,quoted:!1}}async function sr(e,t,r,s){let n=-1,a="",i=!1;for(let A=0;A<t.length;A++){let S=t[A];if(S.type==="ParameterExpansion"&&S.operation?.type==="PatternRemoval"){let y=S.parameter.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[([@*])\]$/);if(y){n=A,a=y[1],i=y[2]==="*";break}}}if(n===-1)return null;let o=t[n].operation,u=P(e,a),c=u.map(([,A])=>A);if(u.length===0){let A=e.state.env.get(a);A!==void 0&&(c=[A])}if(c.length===0)return{values:[],quoted:!1};let f="",h=e.state.shoptOptions.extglob;if(o.pattern)for(let A of o.pattern.parts)if(A.type==="Glob")f+=k(A.pattern,o.greedy,h);else if(A.type==="Literal")f+=k(A.value,o.greedy,h);else if(A.type==="SingleQuoted"||A.type==="Escaped")f+=I(A.value);else if(A.type==="DoubleQuoted"){let S=await r(e,A.parts);f+=I(S)}else if(A.type==="ParameterExpansion"){let S=await s(e,A);f+=k(S,o.greedy,h)}else{let S=await s(e,A);f+=I(S)}let d=[];for(let A of c)d.push(se(A,f,o.side,o.greedy));let g=W(e.state.env),m=V(e.state.env);if(i){let A=N(e.state.env),S=d.join(A);return m?{values:S?[S]:[],quoted:!1}:{values:x(S,g),quoted:!1}}if(m)return{values:d,quoted:!1};let E=[];for(let A of d)A===""?E.push(""):E.push(...x(A,g));return{values:E,quoted:!1}}async function ir(e,t,r,s){let n=-1,a=!1;for(let E=0;E<t.length;E++){let A=t[E];if(A.type==="ParameterExpansion"&&(A.parameter==="@"||A.parameter==="*")&&A.operation?.type==="PatternRemoval"){n=E,a=A.parameter==="*";break}}if(n===-1)return null;let l=t[n].operation,o=Number.parseInt(e.state.env.get("#")||"0",10),u=[];for(let E=1;E<=o;E++)u.push(e.state.env.get(String(E))||"");if(u.length===0)return{values:[],quoted:!1};let c="",f=e.state.shoptOptions.extglob;if(l.pattern)for(let E of l.pattern.parts)if(E.type==="Glob")c+=k(E.pattern,l.greedy,f);else if(E.type==="Literal")c+=k(E.value,l.greedy,f);else if(E.type==="SingleQuoted"||E.type==="Escaped")c+=I(E.value);else if(E.type==="DoubleQuoted"){let A=await r(e,E.parts);c+=I(A)}else if(E.type==="ParameterExpansion"){let A=await s(e,E);c+=k(A,l.greedy,f)}else{let A=await s(e,E);c+=I(A)}let h=[];for(let E of u)h.push(se(E,c,l.side,l.greedy));let d=W(e.state.env),g=V(e.state.env);if(a){let E=N(e.state.env),A=h.join(E);return g?{values:A?[A]:[],quoted:!1}:{values:x(A,d),quoted:!1}}if(g)return{values:h,quoted:!1};let m=[];for(let E of h)E===""?m.push(""):m.push(...x(E,d));return{values:m,quoted:!1}}async function ar(e,t,r,s){let n=-1,a=!1;for(let y=0;y<t.length;y++){let b=t[y];if(b.type==="ParameterExpansion"&&(b.parameter==="@"||b.parameter==="*")&&b.operation?.type==="Substring"){n=y,a=b.parameter==="*";break}}if(n===-1)return null;let l=t[n].operation,o=l.offset?await r(e,l.offset.expression):0,u=l.length?await r(e,l.length.expression):void 0,c=Number.parseInt(e.state.env.get("#")||"0",10),f=[];for(let y=1;y<=c;y++)f.push(e.state.env.get(String(y))||"");let h=e.state.env.get("0")||"bash",d;if(o<=0){let y=[h,...f],b=y.length+o;if(b<0)d=[];else{let D=o<0?b:0;if(u!==void 0){let Z=u<0?y.length+u:D+u;d=y.slice(D,Math.max(D,Z))}else d=y.slice(D)}}else{let y=o-1;if(y>=f.length)d=[];else if(u!==void 0){let b=u<0?f.length+u:y+u;d=f.slice(y,Math.max(y,b))}else d=f.slice(y)}let g="";for(let y=0;y<n;y++)g+=await s(e,t[y]);let m="";for(let y=n+1;y<t.length;y++)m+=await s(e,t[y]);let E=W(e.state.env),A=V(e.state.env);if(d.length===0){let y=g+m;return y?A?{values:[y],quoted:!1}:{values:x(y,E),quoted:!1}:{values:[],quoted:!1}}let S;if(a){let y=N(e.state.env),b=g+d.join(y)+m;A?S=b?[b]:[]:S=x(b,E)}else if(A)d.length===1?S=[g+d[0]+m]:S=[g+d[0],...d.slice(1,-1),d[d.length-1]+m];else{S=[];for(let y=0;y<d.length;y++){let b=d[y];if(y===0&&(b=g+b),y===d.length-1&&(b=b+m),b==="")S.push("");else{let D=x(b,E);S.push(...D)}}}return{values:await Te(e,S),quoted:!1}}async function or(e,t){if(t.length!==1||t[0].type!=="ParameterExpansion"||t[0].parameter!=="@"&&t[0].parameter!=="*"||t[0].operation)return null;let r=t[0].parameter==="*",s=Number.parseInt(e.state.env.get("#")||"0",10);if(s===0)return{values:[],quoted:!1};let n=[];for(let u=1;u<=s;u++)n.push(e.state.env.get(String(u))||"");let a=W(e.state.env),i=V(e.state.env),l=Ce(e.state.env),o;if(r)if(i)o=n.filter(u=>u!=="");else{let u=N(e.state.env),c=n.join(u);o=x(c,a)}else if(i)o=n.filter(u=>u!=="");else if(l){o=[];for(let u of n){if(u==="")continue;let c=x(u,a);o.push(...c)}}else{o=[];for(let u of n)if(u==="")o.push("");else{let c=x(u,a);o.push(...c)}for(;o.length>0&&o[o.length-1]==="";)o.pop()}return{values:await Te(e,o),quoted:!1}}async function lr(e,t){if(t.length!==1||t[0].type!=="ParameterExpansion"||t[0].operation)return null;let r=t[0].parameter.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[([@*])\]$/);if(!r)return null;let s=r[1],n=r[2]==="*",a=P(e,s),i;if(a.length===0){let f=e.state.env.get(s);if(f!==void 0)i=[f];else return{values:[],quoted:!1}}else i=a.map(([,f])=>f);let l=W(e.state.env),o=V(e.state.env),u=Ce(e.state.env),c;if(n)if(o)c=i.filter(f=>f!=="");else{let f=N(e.state.env),h=i.join(f);c=x(h,l)}else if(o)c=i.filter(f=>f!=="");else if(u){c=[];for(let f of i){if(f==="")continue;let h=x(f,l);c.push(...h)}}else{c=[];for(let f of i)if(f==="")c.push("");else{let h=x(f,l);c.push(...h)}for(;c.length>0&&c[c.length-1]==="";)c.pop()}return{values:await Te(e,c),quoted:!1}}function cr(e,t){if(t.length!==1||t[0].type!=="ParameterExpansion"||t[0].operation?.type!=="VarNamePrefix")return null;let r=t[0].operation,s=de(e,r.prefix);if(s.length===0)return{values:[],quoted:!1};let n=W(e.state.env),a=V(e.state.env),i;if(r.star)if(a)i=s;else{let l=N(e.state.env),o=s.join(l);i=x(o,n)}else if(a)i=s;else{i=[];for(let l of s){let o=x(l,n);i.push(...o)}}return{values:i,quoted:!1}}function ur(e,t){if(t.length!==1||t[0].type!=="ParameterExpansion"||t[0].operation?.type!=="ArrayKeys")return null;let r=t[0].operation,n=P(e,r.array).map(([o])=>String(o));if(n.length===0)return{values:[],quoted:!1};let a=W(e.state.env),i=V(e.state.env),l;if(r.star)if(i)l=n;else{let o=N(e.state.env),u=n.join(o);l=x(u,a)}else if(i)l=n;else{l=[];for(let o of n){let u=x(o,a);l.push(...u)}}return{values:l,quoted:!1}}async function fr(e,t,r){let s=-1;for(let h=0;h<t.length;h++){let d=t[h];if(d.type==="ParameterExpansion"&&(d.parameter==="@"||d.parameter==="*")&&!d.operation){s=h;break}}if(s===-1||t.length<=1)return null;let n=Number.parseInt(e.state.env.get("#")||"0",10),a=[];for(let h=1;h<=n;h++)a.push(e.state.env.get(String(h))||"");let i="";for(let h=0;h<s;h++)i+=await r(e,t[h]);let l="";for(let h=s+1;h<t.length;h++)l+=await r(e,t[h]);let o=W(e.state.env),u=V(e.state.env),c=Ce(e.state.env);if(n===0){let h=i+l;return{values:h?[h]:[],quoted:!1}}let f;{let h=[];for(let d=0;d<a.length;d++){let g=a[d];d===0&&(g=i+g),d===a.length-1&&(g=g+l),h.push(g)}if(u)f=h.filter(d=>d!=="");else if(c){f=[];for(let d of h){if(d==="")continue;let g=x(d,o);f.push(...g)}}else{f=[];for(let d of h)if(d==="")f.push("");else{let g=x(d,o);f.push(...g)}for(;f.length>0&&f[f.length-1]==="";)f.pop()}}return f.length===0?{values:[],quoted:!1}:{values:await Te(e,f),quoted:!1}}async function dr(e,t,r){e.coverage?.hit("bash:expansion:word_glob");let s=t.parts,{hasQuoted:n,hasCommandSub:a,hasArrayVar:i,hasArrayAtExpansion:l,hasParamExpansion:o,hasVarNamePrefixExpansion:u,hasIndirection:c}=ye(s),h=r.hasBraceExpansion(s)?await r.expandWordWithBracesAsync(e,t):null;if(h&&h.length>1)return Ps(e,h,n);let d=await Rs(e,s,l,u,c,r);if(d!==null)return d;let g=await vs(e,s,r);if(g!==null)return g;let m=await Ds(e,s,r);if(m!==null)return m;let E=await $s(e,s,r.expandPart);if(E!==null)return pr(e,E);if((a||i||o)&&!V(e.state.env)){let S=W(e.state.env),y=r.buildIfsCharClassPattern(S),b=await r.smartWordSplit(e,s,S,y,r.expandPart);return pr(e,b)}let A=await r.expandWordAsync(e,t);return _s(e,t,s,A,n,r.expandWordForGlobbing)}async function Ps(e,t,r){let s=[];for(let n of t)if(!(!r&&n===""))if(!r&&!e.state.options.noglob&&ne(n,e.state.shoptOptions.extglob)){let a=await Me(e,n);s.push(...a)}else s.push(n);return{values:s,quoted:!1}}async function Rs(e,t,r,s,n,a){if(r){let i=Un(e,t);if(i!==null)return i}{let i=Hn(e,t);if(i!==null)return i}{let i=await Fn(e,t);if(i!==null)return i}{let i=await Qn(e,t,r,a.expandPart,a.expandWordPartsAsync);if(i!==null)return i}{let i=await zn(e,t,r,a.expandPart);if(i!==null)return i}{let i=await Zn(e,t,a.evaluateArithmetic);if(i!==null)return i}{let i=Gn(e,t);if(i!==null)return i}{let i=await qn(e,t,a.expandWordPartsAsync,a.expandPart);if(i!==null)return i}{let i=await Bn(e,t,a.expandWordPartsAsync,a.expandPart);if(i!==null)return i}if(s&&t.length===1&&t[0].type==="DoubleQuoted"){let i=Is(e,t);if(i!==null)return i}{let i=await jn(e,t,n,a.expandParameterAsync,a.expandWordPartsAsync);if(i!==null)return i}{let i=await Kn(e,t);if(i!==null)return i}{let i=await Xn(e,t);if(i!==null)return i}return null}function Is(e,t){let r=t[0];if(r.type!=="DoubleQuoted")return null;if(r.parts.length===1&&r.parts[0].type==="ParameterExpansion"&&r.parts[0].operation?.type==="VarNamePrefix"){let s=r.parts[0].operation,n=de(e,s.prefix);return s.star?{values:[n.join(N(e.state.env))],quoted:!0}:{values:n,quoted:!0}}if(r.parts.length===1&&r.parts[0].type==="ParameterExpansion"&&r.parts[0].operation?.type==="ArrayKeys"){let s=r.parts[0].operation,a=P(e,s.array).map(([i])=>String(i));return s.star?{values:[a.join(N(e.state.env))],quoted:!0}:{values:a,quoted:!0}}return null}async function vs(e,t,r){{let s=await Yn(e,t,r.evaluateArithmetic,r.expandPart);if(s!==null)return s}{let s=await er(e,t,r.expandPart,r.expandWordPartsAsync);if(s!==null)return s}{let s=await tr(e,t,r.expandPart,r.expandWordPartsAsync);if(s!==null)return s}{let s=await nr(e,t,r.expandPart);if(s!==null)return s}return null}async function Ds(e,t,r){{let s=await rr(e,t,r.expandWordPartsAsync,r.expandPart);if(s!==null)return s}{let s=await sr(e,t,r.expandWordPartsAsync,r.expandPart);if(s!==null)return s}{let s=await ir(e,t,r.expandWordPartsAsync,r.expandPart);if(s!==null)return s}{let s=await ar(e,t,r.evaluateArithmetic,r.expandPart);if(s!==null)return s}{let s=await or(e,t);if(s!==null)return s}{let s=await lr(e,t);if(s!==null)return s}{let s=cr(e,t);if(s!==null)return s}{let s=ur(e,t);if(s!==null)return s}{let s=await fr(e,t,r.expandPart);if(s!==null)return s}return null}function hr(e){if(e.type!=="DoubleQuoted")return null;for(let t=0;t<e.parts.length;t++){let r=e.parts[t];if(r.type!=="ParameterExpansion"||r.operation)continue;let s=r.parameter.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[([@*])\]$/);if(s)return{type:"array",name:s[1],atIndex:t,isStar:s[2]==="*"};if(r.parameter==="@"||r.parameter==="*")return{type:"positional",atIndex:t,isStar:r.parameter==="*"}}return null}async function xs(e,t,r,s){let n="";for(let l=0;l<r.atIndex;l++)n+=await s(e,t.parts[l]);let a="";for(let l=r.atIndex+1;l<t.parts.length;l++)a+=await s(e,t.parts[l]);let i;if(r.type==="array"){if(i=P(e,r.name).map(([,o])=>o),i.length===0){let o=e.state.env.get(r.name);o!==void 0&&(i=[o])}}else{let l=Number.parseInt(e.state.env.get("#")||"0",10);i=[];for(let o=1;o<=l;o++)i.push(e.state.env.get(String(o))||"")}if(r.isStar){let l=N(e.state.env),o=i.join(l);return[n+o+a]}if(i.length===0){let l=n+a;return l?[l]:[]}return i.length===1?[n+i[0]+a]:[n+i[0],...i.slice(1,-1),i[i.length-1]+a]}async function $s(e,t,r){if(t.length<2)return null;let s=!1;for(let o of t)if(hr(o)){s=!0;break}if(!s)return null;let n=W(e.state.env),a=V(e.state.env),i=[];for(let o of t){let u=hr(o);if(u&&o.type==="DoubleQuoted"){let c=await xs(e,o,u,r);i.push(c)}else if(o.type==="DoubleQuoted"||o.type==="SingleQuoted"){let c=await r(e,o);i.push([c])}else if(o.type==="Literal")i.push([o.value]);else if(o.type==="ParameterExpansion"){let c=await r(e,o);if(a)i.push(c?[c]:[]);else{let f=x(c,n);i.push(f)}}else{let c=await r(e,o);if(a)i.push(c?[c]:[]);else{let f=x(c,n);i.push(f)}}}let l=[];for(let o of i)if(o.length!==0)if(l.length===0)l.push(...o);else{let u=l.length-1;l[u]=l[u]+o[0];for(let c=1;c<o.length;c++)l.push(o[c])}return l}async function pr(e,t){if(e.state.options.noglob)return{values:t,quoted:!1};let r=[];for(let s of t)if(ne(s,e.state.shoptOptions.extglob)){let n=await Me(e,s);r.push(...n)}else r.push(s);return{values:r,quoted:!1}}async function Me(e,t){let r=new oe(e.fs,e.state.cwd,e.state.env,{globstar:e.state.shoptOptions.globstar,nullglob:e.state.shoptOptions.nullglob,failglob:e.state.shoptOptions.failglob,dotglob:e.state.shoptOptions.dotglob,extglob:e.state.shoptOptions.extglob,globskipdots:e.state.shoptOptions.globskipdots,maxGlobOperations:e.limits.maxGlobOperations}),s=await r.expand(t);if(s.length>0)return s;if(r.hasFailglob())throw new Pe(t);return r.hasNullglob()?[]:[t]}async function _s(e,t,r,s,n,a){let i=r.some(l=>l.type==="Glob");if(!e.state.options.noglob&&i){let l=await a(e,t);if(ne(l,e.state.shoptOptions.extglob)){let u=await Me(e,l);if(u.length>0&&u[0]!==l)return{values:u,quoted:!1};if(u.length===0)return{values:[],quoted:!1}}let o=St(s);if(!V(e.state.env)){let u=W(e.state.env);return{values:x(o,u),quoted:!1}}return{values:[o],quoted:!1}}if(!n&&!e.state.options.noglob&&ne(s,e.state.shoptOptions.extglob)){let l=await a(e,t);if(ne(l,e.state.shoptOptions.extglob)){let o=await Me(e,l);if(o.length>0&&o[0]!==l)return{values:o,quoted:!1}}}if(s===""&&!n)return{values:[],quoted:!1};if(i&&!n){let l=St(s);if(!V(e.state.env)){let o=W(e.state.env);return{values:x(l,o),quoted:!1}}return{values:[l],quoted:!1}}return{values:[s],quoted:n}}async function gr(e,t){let r=t.operation;if(!r||r.type!=="DefaultValue"&&r.type!=="AssignDefault"&&r.type!=="UseAlternative")return null;let s=r.word;if(!s||s.parts.length===0)return null;let n=await te(e,t.parameter),i=await v(e,t.parameter,!1)==="",l=r.checkEmpty??!1,o;return r.type==="UseAlternative"?o=n&&!(l&&i):o=!n||l&&i,o?s.parts:null}function Cs(e){return e.type==="SingleQuoted"?!0:e.type==="DoubleQuoted"?e.parts.every(r=>r.type==="Literal"):!1}async function Os(e,t){if(t.type!=="ParameterExpansion")return null;let r=await gr(e,t);if(!r||r.length<=1)return null;let s=r.some(a=>Cs(a)),n=r.some(a=>a.type==="Literal"||a.type==="ParameterExpansion"||a.type==="CommandSubstitution"||a.type==="ArithmeticExpansion");return s&&n?r:null}function Ls(e){return e.type==="DoubleQuoted"||e.type==="SingleQuoted"||e.type==="Literal"?!1:e.type==="Glob"?dt(e.pattern):!(!(e.type==="ParameterExpansion"||e.type==="CommandSubstitution"||e.type==="ArithmeticExpansion")||e.type==="ParameterExpansion"&&mn(e))}async function yr(e,t,r,s,n){if(e.coverage?.hit("bash:expansion:word_split"),t.length===1&&t[0].type==="ParameterExpansion"){let h=t[0],d=await gr(e,h);if(d&&d.length>0&&d.length>1&&d.some(m=>m.type==="DoubleQuoted"||m.type==="SingleQuoted")&&d.some(m=>m.type==="Literal"||m.type==="ParameterExpansion"||m.type==="CommandSubstitution"||m.type==="ArithmeticExpansion"))return mr(e,d,r,s,n)}let a=[],i=!1;for(let h of t){let d=Ls(h),g=h.type==="DoubleQuoted"||h.type==="SingleQuoted",m=d?await Os(e,h):null,E=await n(e,h);a.push({value:E,isSplittable:d,isQuoted:g,mixedDefaultParts:m??void 0}),d&&(i=!0)}if(!i){let h=a.map(d=>d.value).join("");return h?[h]:[]}let l=[],o="",u=!1,c=!1,f=!1;for(let h of a)if(!h.isSplittable)c?h.isQuoted&&h.value===""?(o!==""&&l.push(o),l.push(""),u=!0,o="",c=!1,f=!0):h.value!==""?(o!==""&&l.push(o),o=h.value,c=!1,f=!1):(o+=h.value,f=!1):(o+=h.value,f=h.isQuoted&&h.value==="");else if(h.mixedDefaultParts){let d=await mr(e,h.mixedDefaultParts,r,s,n);if(d.length!==0)if(d.length===1)o+=d[0],u=!0;else{o+=d[0],l.push(o),u=!0;for(let g=1;g<d.length-1;g++)l.push(d[g]);o=d[d.length-1]}c=!1,f=!1}else{let{words:d,hadLeadingDelimiter:g,hadTrailingDelimiter:m}=Oe(h.value,r);if(f&&g&&o===""&&(l.push(""),u=!0),d.length===0)m&&(c=!0);else if(d.length===1)o+=d[0],u=!0,c=m;else{o+=d[0],l.push(o),u=!0;for(let E=1;E<d.length-1;E++)l.push(d[E]);o=d[d.length-1],c=m}f=!1}return o!==""?l.push(o):l.length===0&&u&&l.push(""),l}function Ws(e,t){return e.length>0&&t.includes(e[0])}async function mr(e,t,r,s,n){let a=[];for(let c of t){let h=!(c.type==="DoubleQuoted"||c.type==="SingleQuoted"),d=await n(e,c);a.push({value:d,isSplittable:h})}let i=[],l="",o=!1,u=!1;for(let c of a)if(!c.isSplittable)u&&c.value!==""?(l!==""&&i.push(l),l=c.value,u=!1):l+=c.value;else{Ws(c.value,r)&&l!==""&&(i.push(l),l="",o=!0);let{words:h,hadTrailingDelimiter:d}=Oe(c.value,r);if(h.length===0)d&&(u=!0);else if(h.length===1)l+=h[0],o=!0,u=d;else{l+=h[0],i.push(l),o=!0;for(let g=1;g<h.length-1;g++)i.push(h[g]);l=h[h.length-1],u=d}}return l!==""?i.push(l):i.length===0&&o&&i.push(""),i}function Er(e){switch(e.type){case"Literal":return e.value;case"SingleQuoted":return e.value;case"Escaped":return e.value;default:return null}}function Ar(e){switch(e.type){case"SingleQuoted":case"Escaped":case"DoubleQuoted":return!0;case"Literal":return e.value==="";default:return!1}}function we(e,t,r){if(e.length>t)throw new B(`${r}: string length limit exceeded (${t} bytes)`,"string_length")}async function X(e,t,r=!1){let s=[];for(let n of t)s.push(await U(e,n,r));return s.join("")}function Ts(e){return Ar(e)}function Al(e){if(e.parts.length===0)return!0;for(let t of e.parts)if(!Ts(t))return!1;return!0}function Ms(e,t,r=!1){let s=Er(t);if(s!==null)return s;switch(t.type){case"TildeExpansion":return r?t.user===null?"~":`~${t.user}`:t.user===null?e.state.env.get("HOME")??"/home/user":t.user==="root"?"/root":`~${t.user}`;case"Glob":return Nt(e,t.pattern);default:return null}}async function Pt(e,t){return Rt(e,t)}async function Sl(e,t){let r=[];for(let s of t.parts)if(s.type==="Escaped")r.push(`\\${s.value}`);else if(s.type==="SingleQuoted")r.push(s.value);else if(s.type==="DoubleQuoted"){let n=await X(e,s.parts);r.push(n)}else if(s.type==="TildeExpansion"){let n=await U(e,s);r.push(bt(n))}else r.push(await U(e,s));return r.join("")}async function bl(e,t){let r=[];for(let s of t.parts)if(s.type==="Escaped"){let n=s.value;"()|*?[]".includes(n)?r.push(`\\${n}`):r.push(n)}else if(s.type==="SingleQuoted")r.push(K(s.value));else if(s.type==="DoubleQuoted"){let n=await X(e,s.parts);r.push(K(n))}else r.push(await U(e,s));return r.join("")}async function Sr(e,t){let r=[];for(let s of t.parts)if(s.type==="SingleQuoted")r.push(K(s.value));else if(s.type==="Escaped"){let n=s.value;"*?[]\\()|".includes(n)?r.push(`\\${n}`):r.push(n)}else if(s.type==="DoubleQuoted"){let n=await X(e,s.parts);r.push(K(n))}else s.type==="Glob"?Wn(s.pattern)?r.push(await Mn(e,s.pattern)):r.push(Nt(e,s.pattern)):s.type==="Literal"?r.push(s.value):r.push(await U(e,s));return r.join("")}function qe(e){for(let t of e)if(t.type==="BraceExpansion"||t.type==="DoubleQuoted"&&qe(t.parts))return!0;return!1}var Vs=1e4,kt=1e5;async function br(e,t,r={count:0}){if(r.count>kt)return[[]];let s=[[]];for(let n of t)if(n.type==="BraceExpansion"){let a=[],i=!1,l="";for(let c of n.items)if(c.type==="Range"){let f=At(c.start,c.end,c.step,c.startStr,c.endStr);if(f.expanded)for(let h of f.expanded)r.count++,a.push(h);else{i=!0,l=f.literal;break}}else{let f=await br(e,c.word.parts,r);for(let h of f){r.count++;let d=[];for(let g of h)typeof g=="string"?d.push(g):d.push(await U(e,g));a.push(d.join(""))}}if(i){for(let c of s)r.count++,c.push(l);continue}if(s.length*a.length>Vs||r.count>kt)return s;let u=[];for(let c of s)for(let f of a){if(r.count++,r.count>kt)return u.length>0?u:s;u.push([...c,f])}s=u}else for(let a of s)r.count++,a.push(n);return s}async function wr(e,t){let r=t.parts;if(!qe(r))return[await Pt(e,t)];let s=await br(e,r),n=[];for(let a of s){let i=[];for(let l of a)typeof l=="string"?i.push(l):i.push(await U(e,l));n.push(Vn(e,i.join("")))}return n}function qs(){return{expandWordAsync:Rt,expandWordForGlobbing:Sr,expandWordWithBracesAsync:wr,expandWordPartsAsync:X,expandPart:U,expandParameterAsync:Ve,hasBraceExpansion:qe,evaluateArithmetic:R,buildIfsCharClassPattern:En,smartWordSplit:yr}}async function wl(e,t){return dr(e,t,qs())}function Bs(e){for(let t of e){if(t.type==="ParameterExpansion")return t.parameter;if(t.type==="Literal")return t.value}return""}function Fs(e,t){if(Number.parseInt(e.state.env.get("#")||"0",10)<2)return!1;function s(n){for(let a of n)if(a.type==="DoubleQuoted"){for(let i of a.parts)if(i.type==="ParameterExpansion"&&i.parameter==="@"&&!i.operation)return!0}return!1}return s(t.parts)}async function Nl(e,t){if(Fs(e,t))return{error:`bash: $@: ambiguous redirect
|
|
68
|
+
`);let u=o.offset?await r(e,o.offset.expression):0,c=o.length?await r(e,o.length.expression):void 0,f=P(e,i),h=0;if(u<0){if(f.length>0){let g=f[f.length-1][0],E=(typeof g=="number"?g:0)+1+u;if(E<0)return{values:[],quoted:!0};h=f.findIndex(([A])=>typeof A=="number"&&A>=E),h<0&&(h=f.length)}}else h=f.findIndex(([g])=>typeof g=="number"&&g>=u),h<0&&(h=f.length);let d;if(c!==void 0){if(c<0)throw new C(`${i}[@]: substring expression < 0`);d=f.slice(h,h+c).map(([,g])=>g)}else d=f.slice(h).map(([,g])=>g);if(d.length===0)return{values:[],quoted:!0};if(l){let g=N(e.state.env);return{values:[d.join(g)],quoted:!0}}return{values:d,quoted:!0}}function Gn(e,t){if(t.length!==1||t[0].type!=="DoubleQuoted")return null;let r=t[0];if(r.parts.length!==1||r.parts[0].type!=="ParameterExpansion"||r.parts[0].operation?.type!=="Transform")return null;let s=r.parts[0],n=s.parameter.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[([@*])\]$/);if(!n)return null;let a=n[1],i=n[2]==="*",l=s.operation,o=P(e,a);if(o.length===0){let f=e.state.env.get(a);if(f!==void 0){let h;switch(l.operator){case"a":h="";break;case"P":h=be(e,f);break;case"Q":h=le(f);break;default:h=f}return{values:[h],quoted:!0}}return i?{values:[""],quoted:!0}:{values:[],quoted:!0}}let u=ce(e,a),c;switch(l.operator){case"a":c=o.map(()=>u);break;case"P":c=o.map(([,f])=>be(e,f));break;case"Q":c=o.map(([,f])=>le(f));break;case"u":c=o.map(([,f])=>f.charAt(0).toUpperCase()+f.slice(1));break;case"U":c=o.map(([,f])=>f.toUpperCase());break;case"L":c=o.map(([,f])=>f.toLowerCase());break;default:c=o.map(([,f])=>f)}if(i){let f=N(e.state.env);return{values:[c.join(f)],quoted:!0}}return{values:c,quoted:!0}}function Un(e,t){if(t.length!==1||t[0].type!=="DoubleQuoted")return null;let r=t[0];if(r.parts.length!==1||r.parts[0].type!=="ParameterExpansion")return null;let s=r.parts[0];if(s.operation)return null;let n=s.parameter.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[(@)\]$/);if(!n)return null;let a=n[1];if(L(e,a)){let o=Ae(e,a);if(o?.endsWith("[@]")||o?.endsWith("[*]"))return{values:[],quoted:!0}}let i=P(e,a);if(i.length>0)return{values:i.map(([,o])=>o),quoted:!0};let l=e.state.env.get(a);return l!==void 0?{values:[l],quoted:!0}:{values:[],quoted:!0}}function Hn(e,t){if(t.length!==1||t[0].type!=="DoubleQuoted")return null;let r=t[0];if(r.parts.length!==1||r.parts[0].type!=="ParameterExpansion"||r.parts[0].operation)return null;let n=r.parts[0].parameter;if(!/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(n)||!L(e,n))return null;let a=Ae(e,n);if(!a)return null;let i=a.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[(@)\]$/);if(!i)return null;let l=i[1],o=P(e,l);if(o.length>0)return{values:o.map(([,c])=>c),quoted:!0};let u=e.state.env.get(l);return u!==void 0?{values:[u],quoted:!0}:{values:[],quoted:!0}}async function jn(e,t,r,s,n){if(!r||t.length!==1||t[0].type!=="DoubleQuoted")return null;let a=t[0];if(a.parts.length!==1||a.parts[0].type!=="ParameterExpansion"||a.parts[0].operation?.type!=="Indirection")return null;let i=a.parts[0],l=i.operation,o=await v(e,i.parameter),u=o.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[([@*])\]$/);if(!u){if(!l.innerOp&&(o==="@"||o==="*")){let g=Number.parseInt(e.state.env.get("#")||"0",10),m=[];for(let E=1;E<=g;E++)m.push(e.state.env.get(String(E))||"");return o==="*"?{values:[m.join(N(e.state.env))],quoted:!0}:{values:m,quoted:!0}}return null}let c=u[1],f=u[2]==="*",h=P(e,c);if(l.innerOp){if(l.innerOp.type==="Substring")return ws(e,h,c,f,l.innerOp);if(l.innerOp.type==="DefaultValue"||l.innerOp.type==="UseAlternative"||l.innerOp.type==="AssignDefault"||l.innerOp.type==="ErrorIfUnset")return Ns(e,h,c,f,l.innerOp,n);if(l.innerOp.type==="Transform"&&l.innerOp.operator==="a"){let m=ce(e,c),E=h.map(()=>m);return f?{values:[E.join(N(e.state.env))],quoted:!0}:{values:E,quoted:!0}}let g=[];for(let[,m]of h){let E={type:"ParameterExpansion",parameter:"_indirect_elem_",operation:l.innerOp},A=e.state.env.get("_indirect_elem_");e.state.env.set("_indirect_elem_",m);try{let S=await s(e,E,!0);g.push(S)}finally{A!==void 0?e.state.env.set("_indirect_elem_",A):e.state.env.delete("_indirect_elem_")}}return f?{values:[g.join(N(e.state.env))],quoted:!0}:{values:g,quoted:!0}}if(h.length>0){let g=h.map(([,m])=>m);return f?{values:[g.join(N(e.state.env))],quoted:!0}:{values:g,quoted:!0}}let d=e.state.env.get(c);return d!==void 0?{values:[d],quoted:!0}:{values:[],quoted:!0}}async function ws(e,t,r,s,n){let a=n.offset?await R(e,n.offset.expression):0,i=n.length?await R(e,n.length.expression):void 0,l=0;if(a<0){if(t.length>0){let c=t[t.length-1][0],h=(typeof c=="number"?c:0)+1+a;if(h<0)return{values:[],quoted:!0};if(l=t.findIndex(([d])=>typeof d=="number"&&d>=h),l<0)return{values:[],quoted:!0}}}else if(l=t.findIndex(([c])=>typeof c=="number"&&c>=a),l<0)return{values:[],quoted:!0};let o;if(i!==void 0){if(i<0)throw new C(`${r}[@]: substring expression < 0`);o=t.slice(l,l+i)}else o=t.slice(l);let u=o.map(([,c])=>c);return s?{values:[u.join(N(e.state.env))],quoted:!0}:{values:u,quoted:!0}}async function Ns(e,t,r,s,n,a){let i=n.checkEmpty??!1,l=t.map(([,c])=>c),o=t.length===0,u=t.length===0;if(n.type==="UseAlternative")return!u&&!(i&&o)&&n.word?{values:[await a(e,n.word.parts,!0)],quoted:!0}:{values:[],quoted:!0};if(n.type==="DefaultValue")return(u||i&&o)&&n.word?{values:[await a(e,n.word.parts,!0)],quoted:!0}:s?{values:[l.join(N(e.state.env))],quoted:!0}:{values:l,quoted:!0};if(n.type==="AssignDefault"){if((u||i&&o)&&n.word){let f=await a(e,n.word.parts,!0);return e.state.env.set(`${r}_0`,f),e.state.env.set(`${r}__length`,"1"),{values:[f],quoted:!0}}return s?{values:[l.join(N(e.state.env))],quoted:!0}:{values:l,quoted:!0}}return s?{values:[l.join(N(e.state.env))],quoted:!0}:{values:l,quoted:!0}}async function Kn(e,t){if(t.length!==1||t[0].type!=="ParameterExpansion"||t[0].operation?.type!=="UseAlternative"&&t[0].operation?.type!=="DefaultValue")return null;let r=t[0],s=r.operation,n=s?.word;if(!n||n.parts.length!==1||n.parts[0].type!=="DoubleQuoted")return null;let a=n.parts[0];if(a.parts.length!==1||a.parts[0].type!=="ParameterExpansion"||a.parts[0].operation?.type!=="Indirection")return null;let i=a.parts[0],o=(await v(e,i.parameter)).match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[([@*])\]$/);if(!o)return null;let u=await te(e,r.parameter),c=await v(e,r.parameter)==="",f=s.checkEmpty??!1,h;if(s.type==="UseAlternative"?h=u&&!(f&&c):h=!u||f&&c,h){let d=o[1],g=o[2]==="*",m=P(e,d);if(m.length>0){let A=m.map(([,S])=>S);return g?{values:[A.join(N(e.state.env))],quoted:!0}:{values:A,quoted:!0}}let E=e.state.env.get(d);return E!==void 0?{values:[E],quoted:!0}:{values:[],quoted:!0}}return{values:[],quoted:!1}}async function Xn(e,t){if(t.length!==1||t[0].type!=="ParameterExpansion"||t[0].operation?.type!=="Indirection")return null;let r=t[0],n=r.operation.innerOp;if(!n||n.type!=="UseAlternative"&&n.type!=="DefaultValue")return null;let a=n.word;if(!a||a.parts.length!==1||a.parts[0].type!=="DoubleQuoted")return null;let i=a.parts[0];if(i.parts.length!==1||i.parts[0].type!=="ParameterExpansion"||i.parts[0].operation?.type!=="Indirection")return null;let l=i.parts[0],u=(await v(e,l.parameter)).match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[([@*])\]$/);if(!u)return null;let c=await v(e,r.parameter),f=await te(e,r.parameter),h=c==="",d=n.checkEmpty??!1,g;if(n.type==="UseAlternative"?g=f&&!(d&&h):g=!f||d&&h,g){let m=u[1],E=u[2]==="*",A=P(e,m);if(A.length>0){let y=A.map(([,b])=>b);return E?{values:[y.join(N(e.state.env))],quoted:!0}:{values:y,quoted:!0}}let S=e.state.env.get(m);return S!==void 0?{values:[S],quoted:!0}:{values:[],quoted:!0}}return{values:[],quoted:!1}}function Jn(e){let t=Number.parseInt(e.state.env.get("#")||"0",10),r=[];for(let s=1;s<=t;s++)r.push(e.state.env.get(String(s))||"");return r}async function Yn(e,t,r,s){if(t.length!==1||t[0].type!=="DoubleQuoted")return null;let n=t[0],a=-1,i=!1;for(let S=0;S<n.parts.length;S++){let y=n.parts[S];if(y.type==="ParameterExpansion"&&(y.parameter==="@"||y.parameter==="*")&&y.operation?.type==="Substring"){a=S,i=y.parameter==="*";break}}if(a===-1)return null;let o=n.parts[a].operation,u=o.offset?await r(e,o.offset.expression):0,c=o.length?await r(e,o.length.expression):void 0,f=Number.parseInt(e.state.env.get("#")||"0",10),h=[];for(let S=1;S<=f;S++)h.push(e.state.env.get(String(S))||"");let d=e.state.env.get("0")||"bash",g;if(u<=0){let S=[d,...h],y=S.length+u;if(y<0)g=[];else{let b=u<0?y:0;if(c!==void 0){let D=c<0?S.length+c:b+c;g=S.slice(b,Math.max(b,D))}else g=S.slice(b)}}else{let S=u-1;if(S>=h.length)g=[];else if(c!==void 0){let y=c<0?h.length+c:S+c;g=h.slice(S,Math.max(S,y))}else g=h.slice(S)}let m="";for(let S=0;S<a;S++)m+=await s(e,n.parts[S]);let E="";for(let S=a+1;S<n.parts.length;S++)E+=await s(e,n.parts[S]);if(g.length===0){let S=m+E;return{values:S?[S]:[],quoted:!0}}if(i){let S=N(e.state.env);return{values:[m+g.join(S)+E],quoted:!0}}return g.length===1?{values:[m+g[0]+E],quoted:!0}:{values:[m+g[0],...g.slice(1,-1),g[g.length-1]+E],quoted:!0}}async function er(e,t,r,s){if(t.length!==1||t[0].type!=="DoubleQuoted")return null;let n=t[0],a=-1,i=!1;for(let A=0;A<n.parts.length;A++){let S=n.parts[A];if(S.type==="ParameterExpansion"&&(S.parameter==="@"||S.parameter==="*")&&S.operation?.type==="PatternReplacement"){a=A,i=S.parameter==="*";break}}if(a===-1)return null;let o=n.parts[a].operation,u=Jn(e),c="";for(let A=0;A<a;A++)c+=await r(e,n.parts[A]);let f="";for(let A=a+1;A<n.parts.length;A++)f+=await r(e,n.parts[A]);if(u.length===0){let A=c+f;return{values:A?[A]:[],quoted:!0}}let h="";if(o.pattern)for(let A of o.pattern.parts)if(A.type==="Glob")h+=k(A.pattern,!0,e.state.shoptOptions.extglob);else if(A.type==="Literal")h+=k(A.value,!0,e.state.shoptOptions.extglob);else if(A.type==="SingleQuoted"||A.type==="Escaped")h+=I(A.value);else if(A.type==="DoubleQuoted"){let S=await s(e,A.parts);h+=I(S)}else if(A.type==="ParameterExpansion"){let S=await r(e,A);h+=k(S,!0,e.state.shoptOptions.extglob)}else{let S=await r(e,A);h+=I(S)}let d=o.replacement?await s(e,o.replacement.parts):"",g=h;o.anchor==="start"?g=`^${h}`:o.anchor==="end"&&(g=`${h}$`);let m=[];try{let A=O(g,o.all?"g":"");for(let S of u)m.push(A.replace(S,d))}catch{m.push(...u)}if(i){let A=N(e.state.env);return{values:[c+m.join(A)+f],quoted:!0}}return m.length===1?{values:[c+m[0]+f],quoted:!0}:{values:[c+m[0],...m.slice(1,-1),m[m.length-1]+f],quoted:!0}}async function tr(e,t,r,s){if(t.length!==1||t[0].type!=="DoubleQuoted")return null;let n=t[0],a=-1,i=!1;for(let E=0;E<n.parts.length;E++){let A=n.parts[E];if(A.type==="ParameterExpansion"&&(A.parameter==="@"||A.parameter==="*")&&A.operation?.type==="PatternRemoval"){a=E,i=A.parameter==="*";break}}if(a===-1)return null;let o=n.parts[a].operation,u=Jn(e),c="";for(let E=0;E<a;E++)c+=await r(e,n.parts[E]);let f="";for(let E=a+1;E<n.parts.length;E++)f+=await r(e,n.parts[E]);if(u.length===0){let E=c+f;return{values:E?[E]:[],quoted:!0}}let h="",d=e.state.shoptOptions.extglob;if(o.pattern)for(let E of o.pattern.parts)if(E.type==="Glob")h+=k(E.pattern,o.greedy,d);else if(E.type==="Literal")h+=k(E.value,o.greedy,d);else if(E.type==="SingleQuoted"||E.type==="Escaped")h+=I(E.value);else if(E.type==="DoubleQuoted"){let A=await s(e,E.parts);h+=I(A)}else if(E.type==="ParameterExpansion"){let A=await r(e,E);h+=k(A,o.greedy,d)}else{let A=await r(e,E);h+=I(A)}let g=[];for(let E of u)g.push(se(E,h,o.side,o.greedy));if(i){let E=N(e.state.env);return{values:[c+g.join(E)+f],quoted:!0}}return g.length===1?{values:[c+g[0]+f],quoted:!0}:{values:[c+g[0],...g.slice(1,-1),g[g.length-1]+f],quoted:!0}}async function nr(e,t,r){if(t.length!==1||t[0].type!=="DoubleQuoted")return null;let s=t[0],n=-1,a=!1;for(let h=0;h<s.parts.length;h++){let d=s.parts[h];if(d.type==="ParameterExpansion"&&(d.parameter==="@"||d.parameter==="*")){n=h,a=d.parameter==="*";break}}if(n===-1)return null;let i=s.parts[n];if(i.type==="ParameterExpansion"&&i.operation)return null;let l=Number.parseInt(e.state.env.get("#")||"0",10),o="";for(let h=0;h<n;h++)o+=await r(e,s.parts[h]);let u="";for(let h=n+1;h<s.parts.length;h++)u+=await r(e,s.parts[h]);if(l===0){if(a)return{values:[o+u],quoted:!0};let h=o+u;return{values:h?[h]:[],quoted:!0}}let c=[];for(let h=1;h<=l;h++)c.push(e.state.env.get(String(h))||"");if(a){let h=N(e.state.env);return{values:[o+c.join(h)+u],quoted:!0}}return c.length===1?{values:[o+c[0]+u],quoted:!0}:{values:[o+c[0],...c.slice(1,-1),c[c.length-1]+u],quoted:!0}}function ks(e){return new oe(e.fs,e.state.cwd,e.state.env,{globstar:e.state.shoptOptions.globstar,nullglob:e.state.shoptOptions.nullglob,failglob:e.state.shoptOptions.failglob,dotglob:e.state.shoptOptions.dotglob,extglob:e.state.shoptOptions.extglob,globskipdots:e.state.shoptOptions.globskipdots,maxGlobOperations:e.limits.maxGlobOperations})}async function Te(e,t){if(e.state.options.noglob)return t;let r=ks(e),s=[];for(let n of t)if(ne(n,e.state.shoptOptions.extglob)){let a=await r.expand(n);if(a.length>0)s.push(...a);else{if(r.hasFailglob())throw new Pe(n);r.hasNullglob()||s.push(n)}}else s.push(n);return s}async function rr(e,t,r,s){let n=-1,a="",i=!1;for(let S=0;S<t.length;S++){let y=t[S];if(y.type==="ParameterExpansion"&&y.operation?.type==="PatternReplacement"){let b=y.parameter.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[([@*])\]$/);if(b){n=S,a=b[1],i=b[2]==="*";break}}}if(n===-1)return null;let o=t[n].operation,u=P(e,a),c=u.map(([,S])=>S);if(u.length===0){let S=e.state.env.get(a);S!==void 0&&(c=[S])}if(c.length===0)return{values:[],quoted:!1};let f="";if(o.pattern)for(let S of o.pattern.parts)if(S.type==="Glob")f+=k(S.pattern,!0,e.state.shoptOptions.extglob);else if(S.type==="Literal")f+=k(S.value,!0,e.state.shoptOptions.extglob);else if(S.type==="SingleQuoted"||S.type==="Escaped")f+=I(S.value);else if(S.type==="DoubleQuoted"){let y=await r(e,S.parts);f+=I(y)}else if(S.type==="ParameterExpansion"){let y=await s(e,S);f+=k(y,!0,e.state.shoptOptions.extglob)}else{let y=await s(e,S);f+=I(y)}let h=o.replacement?await r(e,o.replacement.parts):"",d=f;o.anchor==="start"?d=`^${f}`:o.anchor==="end"&&(d=`${f}$`);let g=[];try{let S=O(d,o.all?"g":"");for(let y of c)g.push(S.replace(y,h))}catch{g.push(...c)}let m=W(e.state.env),E=V(e.state.env);if(i){let S=N(e.state.env),y=g.join(S);return E?{values:y?[y]:[],quoted:!1}:{values:x(y,m),quoted:!1}}if(E)return{values:g,quoted:!1};let A=[];for(let S of g)S===""?A.push(""):A.push(...x(S,m));return{values:A,quoted:!1}}async function sr(e,t,r,s){let n=-1,a="",i=!1;for(let A=0;A<t.length;A++){let S=t[A];if(S.type==="ParameterExpansion"&&S.operation?.type==="PatternRemoval"){let y=S.parameter.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[([@*])\]$/);if(y){n=A,a=y[1],i=y[2]==="*";break}}}if(n===-1)return null;let o=t[n].operation,u=P(e,a),c=u.map(([,A])=>A);if(u.length===0){let A=e.state.env.get(a);A!==void 0&&(c=[A])}if(c.length===0)return{values:[],quoted:!1};let f="",h=e.state.shoptOptions.extglob;if(o.pattern)for(let A of o.pattern.parts)if(A.type==="Glob")f+=k(A.pattern,o.greedy,h);else if(A.type==="Literal")f+=k(A.value,o.greedy,h);else if(A.type==="SingleQuoted"||A.type==="Escaped")f+=I(A.value);else if(A.type==="DoubleQuoted"){let S=await r(e,A.parts);f+=I(S)}else if(A.type==="ParameterExpansion"){let S=await s(e,A);f+=k(S,o.greedy,h)}else{let S=await s(e,A);f+=I(S)}let d=[];for(let A of c)d.push(se(A,f,o.side,o.greedy));let g=W(e.state.env),m=V(e.state.env);if(i){let A=N(e.state.env),S=d.join(A);return m?{values:S?[S]:[],quoted:!1}:{values:x(S,g),quoted:!1}}if(m)return{values:d,quoted:!1};let E=[];for(let A of d)A===""?E.push(""):E.push(...x(A,g));return{values:E,quoted:!1}}async function ir(e,t,r,s){let n=-1,a=!1;for(let E=0;E<t.length;E++){let A=t[E];if(A.type==="ParameterExpansion"&&(A.parameter==="@"||A.parameter==="*")&&A.operation?.type==="PatternRemoval"){n=E,a=A.parameter==="*";break}}if(n===-1)return null;let l=t[n].operation,o=Number.parseInt(e.state.env.get("#")||"0",10),u=[];for(let E=1;E<=o;E++)u.push(e.state.env.get(String(E))||"");if(u.length===0)return{values:[],quoted:!1};let c="",f=e.state.shoptOptions.extglob;if(l.pattern)for(let E of l.pattern.parts)if(E.type==="Glob")c+=k(E.pattern,l.greedy,f);else if(E.type==="Literal")c+=k(E.value,l.greedy,f);else if(E.type==="SingleQuoted"||E.type==="Escaped")c+=I(E.value);else if(E.type==="DoubleQuoted"){let A=await r(e,E.parts);c+=I(A)}else if(E.type==="ParameterExpansion"){let A=await s(e,E);c+=k(A,l.greedy,f)}else{let A=await s(e,E);c+=I(A)}let h=[];for(let E of u)h.push(se(E,c,l.side,l.greedy));let d=W(e.state.env),g=V(e.state.env);if(a){let E=N(e.state.env),A=h.join(E);return g?{values:A?[A]:[],quoted:!1}:{values:x(A,d),quoted:!1}}if(g)return{values:h,quoted:!1};let m=[];for(let E of h)E===""?m.push(""):m.push(...x(E,d));return{values:m,quoted:!1}}async function ar(e,t,r,s){let n=-1,a=!1;for(let y=0;y<t.length;y++){let b=t[y];if(b.type==="ParameterExpansion"&&(b.parameter==="@"||b.parameter==="*")&&b.operation?.type==="Substring"){n=y,a=b.parameter==="*";break}}if(n===-1)return null;let l=t[n].operation,o=l.offset?await r(e,l.offset.expression):0,u=l.length?await r(e,l.length.expression):void 0,c=Number.parseInt(e.state.env.get("#")||"0",10),f=[];for(let y=1;y<=c;y++)f.push(e.state.env.get(String(y))||"");let h=e.state.env.get("0")||"bash",d;if(o<=0){let y=[h,...f],b=y.length+o;if(b<0)d=[];else{let D=o<0?b:0;if(u!==void 0){let Z=u<0?y.length+u:D+u;d=y.slice(D,Math.max(D,Z))}else d=y.slice(D)}}else{let y=o-1;if(y>=f.length)d=[];else if(u!==void 0){let b=u<0?f.length+u:y+u;d=f.slice(y,Math.max(y,b))}else d=f.slice(y)}let g="";for(let y=0;y<n;y++)g+=await s(e,t[y]);let m="";for(let y=n+1;y<t.length;y++)m+=await s(e,t[y]);let E=W(e.state.env),A=V(e.state.env);if(d.length===0){let y=g+m;return y?A?{values:[y],quoted:!1}:{values:x(y,E),quoted:!1}:{values:[],quoted:!1}}let S;if(a){let y=N(e.state.env),b=g+d.join(y)+m;A?S=b?[b]:[]:S=x(b,E)}else if(A)d.length===1?S=[g+d[0]+m]:S=[g+d[0],...d.slice(1,-1),d[d.length-1]+m];else{S=[];for(let y=0;y<d.length;y++){let b=d[y];if(y===0&&(b=g+b),y===d.length-1&&(b=b+m),b==="")S.push("");else{let D=x(b,E);S.push(...D)}}}return{values:await Te(e,S),quoted:!1}}async function or(e,t){if(t.length!==1||t[0].type!=="ParameterExpansion"||t[0].parameter!=="@"&&t[0].parameter!=="*"||t[0].operation)return null;let r=t[0].parameter==="*",s=Number.parseInt(e.state.env.get("#")||"0",10);if(s===0)return{values:[],quoted:!1};let n=[];for(let u=1;u<=s;u++)n.push(e.state.env.get(String(u))||"");let a=W(e.state.env),i=V(e.state.env),l=Ce(e.state.env),o;if(r)if(i)o=n.filter(u=>u!=="");else{let u=N(e.state.env),c=n.join(u);o=x(c,a)}else if(i)o=n.filter(u=>u!=="");else if(l){o=[];for(let u of n){if(u==="")continue;let c=x(u,a);o.push(...c)}}else{o=[];for(let u of n)if(u==="")o.push("");else{let c=x(u,a);o.push(...c)}for(;o.length>0&&o[o.length-1]==="";)o.pop()}return{values:await Te(e,o),quoted:!1}}async function lr(e,t){if(t.length!==1||t[0].type!=="ParameterExpansion"||t[0].operation)return null;let r=t[0].parameter.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[([@*])\]$/);if(!r)return null;let s=r[1],n=r[2]==="*",a=P(e,s),i;if(a.length===0){let f=e.state.env.get(s);if(f!==void 0)i=[f];else return{values:[],quoted:!1}}else i=a.map(([,f])=>f);let l=W(e.state.env),o=V(e.state.env),u=Ce(e.state.env),c;if(n)if(o)c=i.filter(f=>f!=="");else{let f=N(e.state.env),h=i.join(f);c=x(h,l)}else if(o)c=i.filter(f=>f!=="");else if(u){c=[];for(let f of i){if(f==="")continue;let h=x(f,l);c.push(...h)}}else{c=[];for(let f of i)if(f==="")c.push("");else{let h=x(f,l);c.push(...h)}for(;c.length>0&&c[c.length-1]==="";)c.pop()}return{values:await Te(e,c),quoted:!1}}function cr(e,t){if(t.length!==1||t[0].type!=="ParameterExpansion"||t[0].operation?.type!=="VarNamePrefix")return null;let r=t[0].operation,s=de(e,r.prefix);if(s.length===0)return{values:[],quoted:!1};let n=W(e.state.env),a=V(e.state.env),i;if(r.star)if(a)i=s;else{let l=N(e.state.env),o=s.join(l);i=x(o,n)}else if(a)i=s;else{i=[];for(let l of s){let o=x(l,n);i.push(...o)}}return{values:i,quoted:!1}}function ur(e,t){if(t.length!==1||t[0].type!=="ParameterExpansion"||t[0].operation?.type!=="ArrayKeys")return null;let r=t[0].operation,n=P(e,r.array).map(([o])=>String(o));if(n.length===0)return{values:[],quoted:!1};let a=W(e.state.env),i=V(e.state.env),l;if(r.star)if(i)l=n;else{let o=N(e.state.env),u=n.join(o);l=x(u,a)}else if(i)l=n;else{l=[];for(let o of n){let u=x(o,a);l.push(...u)}}return{values:l,quoted:!1}}async function fr(e,t,r){let s=-1;for(let h=0;h<t.length;h++){let d=t[h];if(d.type==="ParameterExpansion"&&(d.parameter==="@"||d.parameter==="*")&&!d.operation){s=h;break}}if(s===-1||t.length<=1)return null;let n=Number.parseInt(e.state.env.get("#")||"0",10),a=[];for(let h=1;h<=n;h++)a.push(e.state.env.get(String(h))||"");let i="";for(let h=0;h<s;h++)i+=await r(e,t[h]);let l="";for(let h=s+1;h<t.length;h++)l+=await r(e,t[h]);let o=W(e.state.env),u=V(e.state.env),c=Ce(e.state.env);if(n===0){let h=i+l;return{values:h?[h]:[],quoted:!1}}let f;{let h=[];for(let d=0;d<a.length;d++){let g=a[d];d===0&&(g=i+g),d===a.length-1&&(g=g+l),h.push(g)}if(u)f=h.filter(d=>d!=="");else if(c){f=[];for(let d of h){if(d==="")continue;let g=x(d,o);f.push(...g)}}else{f=[];for(let d of h)if(d==="")f.push("");else{let g=x(d,o);f.push(...g)}for(;f.length>0&&f[f.length-1]==="";)f.pop()}}return f.length===0?{values:[],quoted:!1}:{values:await Te(e,f),quoted:!1}}async function dr(e,t,r){e.coverage?.hit("bash:expansion:word_glob");let s=t.parts,{hasQuoted:n,hasCommandSub:a,hasArrayVar:i,hasArrayAtExpansion:l,hasParamExpansion:o,hasVarNamePrefixExpansion:u,hasIndirection:c}=ye(s),h=r.hasBraceExpansion(s)?await r.expandWordWithBracesAsync(e,t):null;if(h&&h.length>1)return Ps(e,h,n);let d=await Rs(e,s,l,u,c,r);if(d!==null)return d;let g=await vs(e,s,r);if(g!==null)return g;let m=await Ds(e,s,r);if(m!==null)return m;let E=await $s(e,s,r.expandPart);if(E!==null)return pr(e,E);if((a||i||o)&&!V(e.state.env)){let S=W(e.state.env),y=r.buildIfsCharClassPattern(S),b=await r.smartWordSplit(e,s,S,y,r.expandPart);return pr(e,b)}let A=await r.expandWordAsync(e,t);return _s(e,t,s,A,n,r.expandWordForGlobbing)}async function Ps(e,t,r){let s=[];for(let n of t)if(!(!r&&n===""))if(!r&&!e.state.options.noglob&&ne(n,e.state.shoptOptions.extglob)){let a=await Me(e,n);s.push(...a)}else s.push(n);return{values:s,quoted:!1}}async function Rs(e,t,r,s,n,a){if(r){let i=Un(e,t);if(i!==null)return i}{let i=Hn(e,t);if(i!==null)return i}{let i=await Fn(e,t);if(i!==null)return i}{let i=await Qn(e,t,r,a.expandPart,a.expandWordPartsAsync);if(i!==null)return i}{let i=await zn(e,t,r,a.expandPart);if(i!==null)return i}{let i=await Zn(e,t,a.evaluateArithmetic);if(i!==null)return i}{let i=Gn(e,t);if(i!==null)return i}{let i=await qn(e,t,a.expandWordPartsAsync,a.expandPart);if(i!==null)return i}{let i=await Bn(e,t,a.expandWordPartsAsync,a.expandPart);if(i!==null)return i}if(s&&t.length===1&&t[0].type==="DoubleQuoted"){let i=Is(e,t);if(i!==null)return i}{let i=await jn(e,t,n,a.expandParameterAsync,a.expandWordPartsAsync);if(i!==null)return i}{let i=await Kn(e,t);if(i!==null)return i}{let i=await Xn(e,t);if(i!==null)return i}return null}function Is(e,t){let r=t[0];if(r.type!=="DoubleQuoted")return null;if(r.parts.length===1&&r.parts[0].type==="ParameterExpansion"&&r.parts[0].operation?.type==="VarNamePrefix"){let s=r.parts[0].operation,n=de(e,s.prefix);return s.star?{values:[n.join(N(e.state.env))],quoted:!0}:{values:n,quoted:!0}}if(r.parts.length===1&&r.parts[0].type==="ParameterExpansion"&&r.parts[0].operation?.type==="ArrayKeys"){let s=r.parts[0].operation,a=P(e,s.array).map(([i])=>String(i));return s.star?{values:[a.join(N(e.state.env))],quoted:!0}:{values:a,quoted:!0}}return null}async function vs(e,t,r){{let s=await Yn(e,t,r.evaluateArithmetic,r.expandPart);if(s!==null)return s}{let s=await er(e,t,r.expandPart,r.expandWordPartsAsync);if(s!==null)return s}{let s=await tr(e,t,r.expandPart,r.expandWordPartsAsync);if(s!==null)return s}{let s=await nr(e,t,r.expandPart);if(s!==null)return s}return null}async function Ds(e,t,r){{let s=await rr(e,t,r.expandWordPartsAsync,r.expandPart);if(s!==null)return s}{let s=await sr(e,t,r.expandWordPartsAsync,r.expandPart);if(s!==null)return s}{let s=await ir(e,t,r.expandWordPartsAsync,r.expandPart);if(s!==null)return s}{let s=await ar(e,t,r.evaluateArithmetic,r.expandPart);if(s!==null)return s}{let s=await or(e,t);if(s!==null)return s}{let s=await lr(e,t);if(s!==null)return s}{let s=cr(e,t);if(s!==null)return s}{let s=ur(e,t);if(s!==null)return s}{let s=await fr(e,t,r.expandPart);if(s!==null)return s}return null}function hr(e){if(e.type!=="DoubleQuoted")return null;for(let t=0;t<e.parts.length;t++){let r=e.parts[t];if(r.type!=="ParameterExpansion"||r.operation)continue;let s=r.parameter.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[([@*])\]$/);if(s)return{type:"array",name:s[1],atIndex:t,isStar:s[2]==="*"};if(r.parameter==="@"||r.parameter==="*")return{type:"positional",atIndex:t,isStar:r.parameter==="*"}}return null}async function xs(e,t,r,s){let n="";for(let l=0;l<r.atIndex;l++)n+=await s(e,t.parts[l]);let a="";for(let l=r.atIndex+1;l<t.parts.length;l++)a+=await s(e,t.parts[l]);let i;if(r.type==="array"){if(i=P(e,r.name).map(([,o])=>o),i.length===0){let o=e.state.env.get(r.name);o!==void 0&&(i=[o])}}else{let l=Number.parseInt(e.state.env.get("#")||"0",10);i=[];for(let o=1;o<=l;o++)i.push(e.state.env.get(String(o))||"")}if(r.isStar){let l=N(e.state.env),o=i.join(l);return[n+o+a]}if(i.length===0){let l=n+a;return l?[l]:[]}return i.length===1?[n+i[0]+a]:[n+i[0],...i.slice(1,-1),i[i.length-1]+a]}async function $s(e,t,r){if(t.length<2)return null;let s=!1;for(let o of t)if(hr(o)){s=!0;break}if(!s)return null;let n=W(e.state.env),a=V(e.state.env),i=[];for(let o of t){let u=hr(o);if(u&&o.type==="DoubleQuoted"){let c=await xs(e,o,u,r);i.push(c)}else if(o.type==="DoubleQuoted"||o.type==="SingleQuoted"){let c=await r(e,o);i.push([c])}else if(o.type==="Literal")i.push([o.value]);else if(o.type==="ParameterExpansion"){let c=await r(e,o);if(a)i.push(c?[c]:[]);else{let f=x(c,n);i.push(f)}}else{let c=await r(e,o);if(a)i.push(c?[c]:[]);else{let f=x(c,n);i.push(f)}}}let l=[];for(let o of i)if(o.length!==0)if(l.length===0)l.push(...o);else{let u=l.length-1;l[u]=l[u]+o[0];for(let c=1;c<o.length;c++)l.push(o[c])}return l}async function pr(e,t){if(e.state.options.noglob)return{values:t,quoted:!1};let r=[];for(let s of t)if(ne(s,e.state.shoptOptions.extglob)){let n=await Me(e,s);r.push(...n)}else r.push(s);return{values:r,quoted:!1}}async function Me(e,t){let r=new oe(e.fs,e.state.cwd,e.state.env,{globstar:e.state.shoptOptions.globstar,nullglob:e.state.shoptOptions.nullglob,failglob:e.state.shoptOptions.failglob,dotglob:e.state.shoptOptions.dotglob,extglob:e.state.shoptOptions.extglob,globskipdots:e.state.shoptOptions.globskipdots,maxGlobOperations:e.limits.maxGlobOperations}),s=await r.expand(t);if(s.length>0)return s;if(r.hasFailglob())throw new Pe(t);return r.hasNullglob()?[]:[t]}async function _s(e,t,r,s,n,a){let i=r.some(l=>l.type==="Glob");if(!e.state.options.noglob&&i){let l=await a(e,t);if(ne(l,e.state.shoptOptions.extglob)){let u=await Me(e,l);if(u.length>0&&u[0]!==l)return{values:u,quoted:!1};if(u.length===0)return{values:[],quoted:!1}}let o=St(s);if(!V(e.state.env)){let u=W(e.state.env);return{values:x(o,u),quoted:!1}}return{values:[o],quoted:!1}}if(!n&&!e.state.options.noglob&&ne(s,e.state.shoptOptions.extglob)){let l=await a(e,t);if(ne(l,e.state.shoptOptions.extglob)){let o=await Me(e,l);if(o.length>0&&o[0]!==l)return{values:o,quoted:!1}}}if(s===""&&!n)return{values:[],quoted:!1};if(i&&!n){let l=St(s);if(!V(e.state.env)){let o=W(e.state.env);return{values:x(l,o),quoted:!1}}return{values:[l],quoted:!1}}return{values:[s],quoted:n}}async function gr(e,t){let r=t.operation;if(!r||r.type!=="DefaultValue"&&r.type!=="AssignDefault"&&r.type!=="UseAlternative")return null;let s=r.word;if(!s||s.parts.length===0)return null;let n=await te(e,t.parameter),i=await v(e,t.parameter,!1)==="",l=r.checkEmpty??!1,o;return r.type==="UseAlternative"?o=n&&!(l&&i):o=!n||l&&i,o?s.parts:null}function Cs(e){return e.type==="SingleQuoted"?!0:e.type==="DoubleQuoted"?e.parts.every(r=>r.type==="Literal"):!1}async function Os(e,t){if(t.type!=="ParameterExpansion")return null;let r=await gr(e,t);if(!r||r.length<=1)return null;let s=r.some(a=>Cs(a)),n=r.some(a=>a.type==="Literal"||a.type==="ParameterExpansion"||a.type==="CommandSubstitution"||a.type==="ArithmeticExpansion");return s&&n?r:null}function Ls(e){return e.type==="DoubleQuoted"||e.type==="SingleQuoted"||e.type==="Literal"?!1:e.type==="Glob"?dt(e.pattern):!(!(e.type==="ParameterExpansion"||e.type==="CommandSubstitution"||e.type==="ArithmeticExpansion")||e.type==="ParameterExpansion"&&mn(e))}async function yr(e,t,r,s,n){if(e.coverage?.hit("bash:expansion:word_split"),t.length===1&&t[0].type==="ParameterExpansion"){let h=t[0],d=await gr(e,h);if(d&&d.length>0&&d.length>1&&d.some(m=>m.type==="DoubleQuoted"||m.type==="SingleQuoted")&&d.some(m=>m.type==="Literal"||m.type==="ParameterExpansion"||m.type==="CommandSubstitution"||m.type==="ArithmeticExpansion"))return mr(e,d,r,s,n)}let a=[],i=!1;for(let h of t){let d=Ls(h),g=h.type==="DoubleQuoted"||h.type==="SingleQuoted",m=d?await Os(e,h):null,E=await n(e,h);a.push({value:E,isSplittable:d,isQuoted:g,mixedDefaultParts:m??void 0}),d&&(i=!0)}if(!i){let h=a.map(d=>d.value).join("");return h?[h]:[]}let l=[],o="",u=!1,c=!1,f=!1;for(let h of a)if(!h.isSplittable)c?h.isQuoted&&h.value===""?(o!==""&&l.push(o),l.push(""),u=!0,o="",c=!1,f=!0):h.value!==""?(o!==""&&l.push(o),o=h.value,c=!1,f=!1):(o+=h.value,f=!1):(o+=h.value,f=h.isQuoted&&h.value==="");else if(h.mixedDefaultParts){let d=await mr(e,h.mixedDefaultParts,r,s,n);if(d.length!==0)if(d.length===1)o+=d[0],u=!0;else{o+=d[0],l.push(o),u=!0;for(let g=1;g<d.length-1;g++)l.push(d[g]);o=d[d.length-1]}c=!1,f=!1}else{let{words:d,hadLeadingDelimiter:g,hadTrailingDelimiter:m}=Oe(h.value,r);if(f&&g&&o===""&&(l.push(""),u=!0),d.length===0)m&&(c=!0);else if(d.length===1)o+=d[0],u=!0,c=m;else{o+=d[0],l.push(o),u=!0;for(let E=1;E<d.length-1;E++)l.push(d[E]);o=d[d.length-1],c=m}f=!1}return o!==""?l.push(o):l.length===0&&u&&l.push(""),l}function Ws(e,t){return e.length>0&&t.includes(e[0])}async function mr(e,t,r,s,n){let a=[];for(let c of t){let h=!(c.type==="DoubleQuoted"||c.type==="SingleQuoted"),d=await n(e,c);a.push({value:d,isSplittable:h})}let i=[],l="",o=!1,u=!1;for(let c of a)if(!c.isSplittable)u&&c.value!==""?(l!==""&&i.push(l),l=c.value,u=!1):l+=c.value;else{Ws(c.value,r)&&l!==""&&(i.push(l),l="",o=!0);let{words:h,hadTrailingDelimiter:d}=Oe(c.value,r);if(h.length===0)d&&(u=!0);else if(h.length===1)l+=h[0],o=!0,u=d;else{l+=h[0],i.push(l),o=!0;for(let g=1;g<h.length-1;g++)i.push(h[g]);l=h[h.length-1],u=d}}return l!==""?i.push(l):i.length===0&&o&&i.push(""),i}function Er(e){switch(e.type){case"Literal":return e.value;case"SingleQuoted":return e.value;case"Escaped":return e.value;default:return null}}function Ar(e){switch(e.type){case"SingleQuoted":case"Escaped":case"DoubleQuoted":return!0;case"Literal":return e.value==="";default:return!1}}function we(e,t,r){if(e.length>t)throw new B(`${r}: string length limit exceeded (${t} bytes)`,"string_length")}async function X(e,t,r=!1){let s=[];for(let n of t)s.push(await U(e,n,r));return s.join("")}function Ts(e){return Ar(e)}function Al(e){if(e.parts.length===0)return!0;for(let t of e.parts)if(!Ts(t))return!1;return!0}function Ms(e,t,r=!1){let s=Er(t);if(s!==null)return s;switch(t.type){case"TildeExpansion":return r?t.user===null?"~":`~${t.user}`:(e.coverage?.hit("bash:expansion:tilde"),t.user===null?e.state.env.get("HOME")??"/home/user":t.user==="root"?"/root":`~${t.user}`);case"Glob":return Nt(e,t.pattern);default:return null}}async function Pt(e,t){return Rt(e,t)}async function Sl(e,t){let r=[];for(let s of t.parts)if(s.type==="Escaped")r.push(`\\${s.value}`);else if(s.type==="SingleQuoted")r.push(s.value);else if(s.type==="DoubleQuoted"){let n=await X(e,s.parts);r.push(n)}else if(s.type==="TildeExpansion"){let n=await U(e,s);r.push(bt(n))}else r.push(await U(e,s));return r.join("")}async function bl(e,t){let r=[];for(let s of t.parts)if(s.type==="Escaped"){let n=s.value;"()|*?[]".includes(n)?r.push(`\\${n}`):r.push(n)}else if(s.type==="SingleQuoted")r.push(K(s.value));else if(s.type==="DoubleQuoted"){let n=await X(e,s.parts);r.push(K(n))}else r.push(await U(e,s));return r.join("")}async function Sr(e,t){let r=[];for(let s of t.parts)if(s.type==="SingleQuoted")r.push(K(s.value));else if(s.type==="Escaped"){let n=s.value;"*?[]\\()|".includes(n)?r.push(`\\${n}`):r.push(n)}else if(s.type==="DoubleQuoted"){let n=await X(e,s.parts);r.push(K(n))}else s.type==="Glob"?Wn(s.pattern)?r.push(await Mn(e,s.pattern)):r.push(Nt(e,s.pattern)):s.type==="Literal"?r.push(s.value):r.push(await U(e,s));return r.join("")}function qe(e){for(let t of e)if(t.type==="BraceExpansion"||t.type==="DoubleQuoted"&&qe(t.parts))return!0;return!1}var Vs=1e4,kt=1e5;async function br(e,t,r={count:0}){if(r.count>kt)return[[]];let s=[[]];for(let n of t)if(n.type==="BraceExpansion"){let a=[],i=!1,l="";for(let c of n.items)if(c.type==="Range"){let f=At(c.start,c.end,c.step,c.startStr,c.endStr);if(f.expanded)for(let h of f.expanded)r.count++,a.push(h);else{i=!0,l=f.literal;break}}else{let f=await br(e,c.word.parts,r);for(let h of f){r.count++;let d=[];for(let g of h)typeof g=="string"?d.push(g):d.push(await U(e,g));a.push(d.join(""))}}if(i){for(let c of s)r.count++,c.push(l);continue}if(s.length*a.length>Vs||r.count>kt)return s;let u=[];for(let c of s)for(let f of a){if(r.count++,r.count>kt)return u.length>0?u:s;u.push([...c,f])}s=u}else for(let a of s)r.count++,a.push(n);return s}async function wr(e,t){let r=t.parts;if(!qe(r))return[await Pt(e,t)];let s=await br(e,r),n=[];for(let a of s){let i=[];for(let l of a)typeof l=="string"?i.push(l):i.push(await U(e,l));n.push(Vn(e,i.join("")))}return n}function qs(){return{expandWordAsync:Rt,expandWordForGlobbing:Sr,expandWordWithBracesAsync:wr,expandWordPartsAsync:X,expandPart:U,expandParameterAsync:Ve,hasBraceExpansion:qe,evaluateArithmetic:R,buildIfsCharClassPattern:En,smartWordSplit:yr}}async function wl(e,t){return dr(e,t,qs())}function Bs(e){for(let t of e){if(t.type==="ParameterExpansion")return t.parameter;if(t.type==="Literal")return t.value}return""}function Fs(e,t){if(Number.parseInt(e.state.env.get("#")||"0",10)<2)return!1;function s(n){for(let a of n)if(a.type==="DoubleQuoted"){for(let i of a.parts)if(i.type==="ParameterExpansion"&&i.parameter==="@"&&!i.operation)return!0}return!1}return s(t.parts)}async function Nl(e,t){if(Fs(e,t))return{error:`bash: $@: ambiguous redirect
|
|
69
69
|
`};let r=t.parts,{hasQuoted:s}=ye(r);if(qe(r)&&(await wr(e,t)).length>1)return{error:`bash: ${r.map(d=>d.type==="Literal"?d.value:d.type==="BraceExpansion"?`{${d.items.map(m=>{if(m.type==="Range"){let E=m.step?`..${m.step}`:"";return`${m.startStr??m.start}..${m.endStr??m.end}${E}`}return m.word.parts.map(E=>E.type==="Literal"?E.value:"").join("")}).join(",")}}`:"").join("")}: ambiguous redirect
|
|
70
70
|
`};let n=await Rt(e,t),{hasParamExpansion:a,hasCommandSub:i}=ye(r);if((a||i)&&!s&&!V(e.state.env)){let f=W(e.state.env);if(x(n,f).length>1)return{error:`bash: $${Bs(r)}: ambiguous redirect
|
|
71
71
|
`}}if(s||e.state.options.noglob)return{target:n};let o=await Sr(e,t);if(!ne(o,e.state.shoptOptions.extglob))return{target:n};let u=new oe(e.fs,e.state.cwd,e.state.env,{globstar:e.state.shoptOptions.globstar,nullglob:e.state.shoptOptions.nullglob,failglob:e.state.shoptOptions.failglob,dotglob:e.state.shoptOptions.dotglob,extglob:e.state.shoptOptions.extglob,globskipdots:e.state.shoptOptions.globskipdots,maxGlobOperations:e.limits.maxGlobOperations}),c=await u.expand(o);return c.length===0?u.hasFailglob()?{error:`bash: no match: ${n}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import{a as N}from"./chunk-YNYSPYQ5.js";import{k as x}from"./chunk-PSW6BMXW.js";import{a as G,b as j,c as T}from"./chunk-74CEPOFO.js";var B=new Map([["alnum","a-zA-Z0-9"],["alpha","a-zA-Z"],["ascii","\\x00-\\x7F"],["blank"," \\t"],["cntrl","\\x00-\\x1F\\x7F"],["digit","0-9"],["graph","!-~"],["lower","a-z"],["print"," -~"],["punct","!-/:-@\\[-`{-~"],["space"," \\t\\n\\r\\f\\v"],["upper","A-Z"],["word","a-zA-Z0-9_"],["xdigit","0-9A-Fa-f"]]);function P(i){let e="",t=0,n=!1;for(;t<i.length;){if(i[t]==="["&&!n){if(i[t+1]==="["&&i[t+2]===":"){let s=i.indexOf(":]]",t+3);if(s!==-1){let r=i.slice(t+3,s),a=B.get(r);if(a){e+=`[${a}]`,t=s+3;continue}}}if(i[t+1]==="^"&&i[t+2]==="["&&i[t+3]===":"){let s=i.indexOf(":]]",t+4);if(s!==-1){let r=i.slice(t+4,s),a=B.get(r);if(a){e+=`[^${a}]`,t=s+3;continue}}}e+="[",t++,n=!0,t<i.length&&i[t]==="^"&&(e+="^",t++),t<i.length&&i[t]==="]"&&(e+="\\]",t++);continue}if(n){if(i[t]==="]"){e+="]",t++,n=!1;continue}if(i[t]==="["&&i[t+1]===":"){let s=i.indexOf(":]",t+2);if(s!==-1){let r=i.slice(t+2,s),a=B.get(r);if(a){e+=a,t=s+2;continue}}}if(i[t]==="\\"&&t+1<i.length){e+=i[t]+i[t+1],t+=2;continue}e+=i[t],t++;continue}if(i[t]==="\\"&&t+1<i.length){let s=i[t+1];if(s==="+"||s==="?"||s==="|"){e+=s,t+=2;continue}if(s==="("||s===")"){e+=s,t+=2;continue}if(s==="{"||s==="}"){e+=s,t+=2;continue}if(s==="t"){e+=" ",t+=2;continue}if(s==="n"){e+=`
|
|
2
2
|
`,t+=2;continue}if(s==="r"){e+="\r",t+=2;continue}e+=i[t]+s,t+=2;continue}if(i[t]==="+"||i[t]==="?"||i[t]==="|"||i[t]==="("||i[t]===")"){e+=`\\${i[t]}`,t++;continue}if(i[t]==="^"&&!(e===""||e.endsWith("("))){e+="\\^",t++;continue}if(i[t]==="$"){let s=t===i.length-1,r=t+2<i.length&&i[t+1]==="\\"&&i[t+2]===")";if(!s&&!r){e+="\\$",t++;continue}}e+=i[t],t++}return e}function D(i){let e="",t=!1;for(let n=0;n<i.length;n++)i[n]==="["&&!t?(t=!0,e+="[",n++,n<i.length&&i[n]==="^"&&(e+="^",n++),n<i.length&&i[n]==="]"&&(e+="]",n++),n--):i[n]==="]"&&t?(t=!1,e+="]"):!t&&i[n]==="{"&&i[n+1]===","?(e+="{0,",n++):e+=i[n];return e}function Z(i){let e="";for(let t=0;t<i.length;t++){let n=i[t],s=n.charCodeAt(0);n==="\\"?e+="\\\\":n===" "?e+="\\t":n===`
|
|
3
3
|
`?e+=`$
|
|
4
|
-
`:n==="\r"?e+="\\r":n==="\x07"?e+="\\a":n==="\b"?e+="\\b":n==="\f"?e+="\\f":n==="\v"?e+="\\v":s<32||s>=127?e+=`\\${s.toString(8).padStart(3,"0")}`:e+=n}return`${e}$`}var ae=1e4;function K(i,e,t){return{patternSpace:"",holdSpace:"",lineNumber:0,totalLines:i,deleted:!1,printed:!1,quit:!1,quitSilent:!1,exitCode:void 0,errorMessage:void 0,appendBuffer:[],substitutionMade:!1,lineNumberOutput:[],nCommandOutput:[],restartCycle:!1,inDRestartedCycle:!1,currentFilename:e,pendingFileReads:[],pendingFileWrites:[],pendingExecute:void 0,rangeStates:t||new Map,linesConsumedInCycle:0}}function ce(i){return typeof i=="object"&&"first"in i&&"step"in i}function le(i){return typeof i=="object"&&"offset"in i}function O(i,e,t,n,s){if(i==="$")return e===t;if(typeof i=="number")return e===i;if(ce(i)){let{first:r,step:a}=i;return a===0?e===r:(e-r)%a===0&&e>=r}if(typeof i=="object"&&"pattern"in i)try{let r=i.pattern;r===""&&s?.lastPattern?r=s.lastPattern:r!==""&&s&&(s.lastPattern=r);let a=D(P(r));return N(a).test(n)}catch{return!1}return!1}function W(i){let e=t=>t===void 0?"undefined":t==="$"?"$":typeof t=="number"?String(t):"pattern"in t?`/${t.pattern}/`:"first"in t?`${t.first}~${t.step}`:"unknown";return`${e(i.start)},${e(i.end)}`}function oe(i,e,t,n,s,r){if(!i||!i.start&&!i.end)return!0;let a=i.start,c=i.end;if(a!==void 0&&c===void 0)return O(a,e,t,n,r);if(a!==void 0&&c!==void 0){let o=typeof a=="object"&&"pattern"in a,
|
|
5
|
-
`,s+=2;continue}if(r==="t"){n+=" ",s+=2;continue}if(r==="r"){n+="\r",s+=2;continue}let a=parseInt(r,10);if(a===0){n+=e,s+=2;continue}if(a>=1&&a<=9){n+=t[a-1]||"",s+=2;continue}n+=r,s+=2;continue}if(i[s]==="&"){n+=e,s++;continue}n+=i[s],s++}return n}function he(i,e){let{lineNumber:t,totalLines:n,patternSpace:s}=e;if(i.type
|
|
4
|
+
`:n==="\r"?e+="\\r":n==="\x07"?e+="\\a":n==="\b"?e+="\\b":n==="\f"?e+="\\f":n==="\v"?e+="\\v":s<32||s>=127?e+=`\\${s.toString(8).padStart(3,"0")}`:e+=n}return`${e}$`}var ae=1e4;function K(i,e,t){return{patternSpace:"",holdSpace:"",lineNumber:0,totalLines:i,deleted:!1,printed:!1,quit:!1,quitSilent:!1,exitCode:void 0,errorMessage:void 0,appendBuffer:[],substitutionMade:!1,lineNumberOutput:[],nCommandOutput:[],restartCycle:!1,inDRestartedCycle:!1,currentFilename:e,pendingFileReads:[],pendingFileWrites:[],pendingExecute:void 0,rangeStates:t||new Map,linesConsumedInCycle:0}}function ce(i){return typeof i=="object"&&"first"in i&&"step"in i}function le(i){return typeof i=="object"&&"offset"in i}function O(i,e,t,n,s){if(i==="$")return e===t;if(typeof i=="number")return e===i;if(ce(i)){let{first:r,step:a}=i;return a===0?e===r:(e-r)%a===0&&e>=r}if(typeof i=="object"&&"pattern"in i)try{let r=i.pattern;r===""&&s?.lastPattern?r=s.lastPattern:r!==""&&s&&(s.lastPattern=r);let a=D(P(r));return N(a).test(n)}catch{return!1}return!1}function W(i){let e=t=>t===void 0?"undefined":t==="$"?"$":typeof t=="number"?String(t):"pattern"in t?`/${t.pattern}/`:"first"in t?`${t.first}~${t.step}`:"unknown";return`${e(i.start)},${e(i.end)}`}function oe(i,e,t,n,s,r){if(!i||!i.start&&!i.end)return!0;let a=i.start,c=i.end;if(a!==void 0&&c===void 0)return O(a,e,t,n,r);if(a!==void 0&&c!==void 0){let o=typeof a=="object"&&"pattern"in a,d=typeof c=="object"&&"pattern"in c,p=le(c);if(p&&s){let m=W(i),f=s.get(m);if(f||(f={active:!1},s.set(m,f)),f.active){let u=f.startLine||e;return e>=u+c.offset&&(f.active=!1,s.set(m,f)),!0}else return O(a,e,t,n,r)?(f.active=!0,f.startLine=e,s.set(m,f),c.offset===0&&(f.active=!1,s.set(m,f)),!0):!1}if(!o&&!d&&!p){let m=typeof a=="number"?a:a==="$"?t:1,f=typeof c=="number"?c:t;if(m<=f)return e>=m&&e<=f;if(s){let u=W(i),h=s.get(u);return h||(h={active:!1},s.set(u,h)),!h.completed&&e>=m?(h.completed=!0,s.set(u,h),!0):!1}return!1}if(s){let m=W(i),f=s.get(m);if(f||(f={active:!1},s.set(m,f)),f.active)return O(c,e,t,n,r)&&(f.active=!1,typeof a=="number"&&(f.completed=!0),s.set(m,f)),!0;{if(f.completed)return!1;let u=!1;return typeof a=="number"?u=e>=a:u=O(a,e,t,n,r),u?(f.active=!0,f.startLine=e,s.set(m,f),O(c,e,t,n,r)&&(f.active=!1,typeof a=="number"&&(f.completed=!0),s.set(m,f)),!0):!1}}return O(a,e,t,n,r)}return!0}function I(i,e,t,n,s,r){let a=oe(i,e,t,n,s,r);return i?.negated?!a:a}function ue(i,e,t,n){let s="",r=0,a=!1;for(;r<=i.length;){e.lastIndex=r;let c=e.exec(i);if(!c){s+=i.slice(r);break}if(c.index!==r){s+=i.slice(r,c.index),r=c.index,a=!1;continue}let o=c[0],d=c.slice(1);if(a&&o.length===0){if(r<i.length)s+=i[r],r++;else break;a=!1;continue}if(s+=n(o,d),a=!1,o.length===0)if(r<i.length)s+=i[r],r++;else break;else r+=o.length,a=!0}return s}function q(i,e,t){let n="",s=0;for(;s<i.length;){if(i[s]==="\\"&&s+1<i.length){let r=i[s+1];if(r==="&"){n+="&",s+=2;continue}if(r==="n"){n+=`
|
|
5
|
+
`,s+=2;continue}if(r==="t"){n+=" ",s+=2;continue}if(r==="r"){n+="\r",s+=2;continue}let a=parseInt(r,10);if(a===0){n+=e,s+=2;continue}if(a>=1&&a<=9){n+=t[a-1]||"",s+=2;continue}n+=r,s+=2;continue}if(i[s]==="&"){n+=e,s++;continue}n+=i[s],s++}return n}function he(i,e){let{lineNumber:t,totalLines:n,patternSpace:s}=e;if(i.type==="label"){e.coverage?.hit(`sed:cmd:${i.type}`);return}if(I(i.address,t,n,s,e.rangeStates,e))switch(e.coverage?.hit(`sed:cmd:${i.type}`),i.type){case"substitute":{let r=i,a="";r.global&&(a+="g"),r.ignoreCase&&(a+="i");let c=r.pattern;c===""&&e.lastPattern?c=e.lastPattern:c!==""&&(e.lastPattern=c);let o=D(r.extendedRegex?c:P(c));try{let d=N(o,a),p=d.test(e.patternSpace);if(d.lastIndex=0,p){if(e.substitutionMade=!0,r.nthOccurrence&&r.nthOccurrence>0&&!r.global){let E=0,m=r.nthOccurrence,f=N(o,`g${r.ignoreCase?"i":""}`);e.patternSpace=f.replace(e.patternSpace,(u,...h)=>{if(E++,E===m){let b=h.slice(0,-2);return q(r.replacement,u,b)}return u})}else if(r.global){let E=N(o,`g${r.ignoreCase?"i":""}`);e.patternSpace=ue(e.patternSpace,E,r.replacement,(m,f)=>q(r.replacement,m,f))}else e.patternSpace=d.replace(e.patternSpace,(E,...m)=>{let f=m.slice(0,-2);return q(r.replacement,E,f)});r.printOnMatch&&e.lineNumberOutput.push(e.patternSpace)}}catch{}break}case"print":e.lineNumberOutput.push(e.patternSpace);break;case"printFirstLine":{let r=e.patternSpace.indexOf(`
|
|
6
6
|
`);r!==-1?e.lineNumberOutput.push(e.patternSpace.slice(0,r)):e.lineNumberOutput.push(e.patternSpace);break}case"delete":e.deleted=!0;break;case"deleteFirstLine":{let r=e.patternSpace.indexOf(`
|
|
7
7
|
`);r!==-1?(e.patternSpace=e.patternSpace.slice(r+1),e.restartCycle=!0,e.inDRestartedCycle=!0):e.deleted=!0;break}case"zap":e.patternSpace="";break;case"append":e.appendBuffer.push(i.text);break;case"insert":e.appendBuffer.unshift(`__INSERT__${i.text}`);break;case"change":e.deleted=!0,e.changedText=i.text;break;case"hold":e.holdSpace=e.patternSpace;break;case"holdAppend":e.holdSpace?e.holdSpace+=`
|
|
8
8
|
${e.patternSpace}`:e.holdSpace=e.patternSpace;break;case"get":e.patternSpace=e.holdSpace;break;case"getAppend":e.patternSpace+=`
|
|
9
|
-
${e.holdSpace}`;break;case"exchange":{let r=e.patternSpace;e.patternSpace=e.holdSpace,e.holdSpace=r;break}case"next":e.printed=!0;break;case"quit":e.quit=!0,i.exitCode!==void 0&&(e.exitCode=i.exitCode);break;case"quitSilent":e.quit=!0,e.quitSilent=!0,i.exitCode!==void 0&&(e.exitCode=i.exitCode);break;case"list":{let r=Z(e.patternSpace);e.lineNumberOutput.push(r);break}case"printFilename":e.currentFilename&&e.lineNumberOutput.push(e.currentFilename);break;case"version":{let r=[4,8,0];if(i.minVersion){let a=i.minVersion.split("."),c=[],o=!1;for(let
|
|
9
|
+
${e.holdSpace}`;break;case"exchange":{let r=e.patternSpace;e.patternSpace=e.holdSpace,e.holdSpace=r;break}case"next":e.printed=!0;break;case"quit":e.quit=!0,i.exitCode!==void 0&&(e.exitCode=i.exitCode);break;case"quitSilent":e.quit=!0,e.quitSilent=!0,i.exitCode!==void 0&&(e.exitCode=i.exitCode);break;case"list":{let r=Z(e.patternSpace);e.lineNumberOutput.push(r);break}case"printFilename":e.currentFilename&&e.lineNumberOutput.push(e.currentFilename);break;case"version":{let r=[4,8,0];if(i.minVersion){let a=i.minVersion.split("."),c=[],o=!1;for(let d of a){let p=parseInt(d,10);if(Number.isNaN(p)||p<0){e.quit=!0,e.exitCode=1,e.errorMessage=`sed: invalid version string: ${i.minVersion}`,o=!0;break}c.push(p)}if(!o){for(;c.length<3;)c.push(0);for(let d=0;d<3;d++){if(c[d]>r[d]){e.quit=!0,e.exitCode=1,e.errorMessage=`sed: this is not GNU sed version ${i.minVersion}`;break}if(c[d]<r[d])break}}}break}case"readFile":e.pendingFileReads.push({filename:i.filename,wholeFile:!0});break;case"readFileLine":e.pendingFileReads.push({filename:i.filename,wholeFile:!1});break;case"writeFile":e.pendingFileWrites.push({filename:i.filename,content:`${e.patternSpace}
|
|
10
10
|
`});break;case"writeFirstLine":{let r=e.patternSpace.indexOf(`
|
|
11
11
|
`),a=r!==-1?e.patternSpace.slice(0,r):e.patternSpace;e.pendingFileWrites.push({filename:i.filename,content:`${a}
|
|
12
|
-
`});break}case"execute":i.command?e.pendingExecute={command:i.command,replacePattern:!1}:e.pendingExecute={command:e.patternSpace,replacePattern:!0};break;case"transliterate":e.patternSpace=
|
|
13
|
-
${
|
|
12
|
+
`});break}case"execute":i.command?e.pendingExecute={command:i.command,replacePattern:!1}:e.pendingExecute={command:e.patternSpace,replacePattern:!0};break;case"transliterate":e.patternSpace=de(e.patternSpace,i);break;case"lineNumber":e.lineNumberOutput.push(String(e.lineNumber));break;case"branch":break;case"branchOnSubst":break;case"branchOnNoSubst":break;case"group":break}}function de(i,e){let t="";for(let n of i){let s=e.source.indexOf(n);s!==-1?t+=e.dest[s]:t+=n}return t}function U(i,e,t,n){let s=new Map;for(let o=0;o<i.length;o++){let d=i[o];d.type==="label"&&s.set(d.name,o)}let r=n?.maxIterations??ae,a=0,c=0;for(;c<i.length;){if(a++,a>r)throw new x(`sed: command execution exceeded maximum iterations (${r})`,"iterations");if(e.deleted||e.quit||e.quitSilent||e.restartCycle)break;let o=i[c];if(o.type==="next"){if(I(o.address,e.lineNumber,e.totalLines,e.patternSpace,e.rangeStates,e))if(e.coverage?.hit("sed:cmd:next"),e.nCommandOutput.push(e.patternSpace),t&&t.currentLineIndex+e.linesConsumedInCycle+1<t.lines.length){e.linesConsumedInCycle++;let d=t.lines[t.currentLineIndex+e.linesConsumedInCycle];e.patternSpace=d,e.lineNumber=t.currentLineIndex+e.linesConsumedInCycle+1,e.substitutionMade=!1}else{e.quit=!0,e.deleted=!0;break}c++;continue}if(o.type==="nextAppend"){if(I(o.address,e.lineNumber,e.totalLines,e.patternSpace,e.rangeStates,e))if(e.coverage?.hit("sed:cmd:nextAppend"),t&&t.currentLineIndex+e.linesConsumedInCycle+1<t.lines.length){e.linesConsumedInCycle++;let d=t.lines[t.currentLineIndex+e.linesConsumedInCycle];e.patternSpace+=`
|
|
13
|
+
${d}`,e.lineNumber=t.currentLineIndex+e.linesConsumedInCycle+1}else{e.quit=!0;break}c++;continue}if(o.type==="branch"){let d=o;if(I(d.address,e.lineNumber,e.totalLines,e.patternSpace,e.rangeStates,e)){if(e.coverage?.hit("sed:cmd:branch"),d.label){let p=s.get(d.label);if(p!==void 0){c=p;continue}e.branchRequest=d.label;break}break}c++;continue}if(o.type==="branchOnSubst"){let d=o;if(I(d.address,e.lineNumber,e.totalLines,e.patternSpace,e.rangeStates,e)&&(e.coverage?.hit("sed:cmd:branchOnSubst"),e.substitutionMade)){if(e.substitutionMade=!1,d.label){let p=s.get(d.label);if(p!==void 0){c=p;continue}e.branchRequest=d.label;break}break}c++;continue}if(o.type==="branchOnNoSubst"){let d=o;if(I(d.address,e.lineNumber,e.totalLines,e.patternSpace,e.rangeStates,e)&&(e.coverage?.hit("sed:cmd:branchOnNoSubst"),!e.substitutionMade)){if(d.label){let p=s.get(d.label);if(p!==void 0){c=p;continue}e.branchRequest=d.label;break}break}c++;continue}if(o.type==="group"){let d=o;if(I(d.address,e.lineNumber,e.totalLines,e.patternSpace,e.rangeStates,e)&&(e.coverage?.hit("sed:cmd:group"),U(d.commands,e,t,n),e.branchRequest)){let p=s.get(e.branchRequest);if(p!==void 0){e.branchRequest=void 0,c=p;continue}break}c++;continue}he(o,e),c++}return e.linesConsumedInCycle}var l;(function(i){i.NUMBER="NUMBER",i.DOLLAR="DOLLAR",i.PATTERN="PATTERN",i.STEP="STEP",i.RELATIVE_OFFSET="RELATIVE_OFFSET",i.LBRACE="LBRACE",i.RBRACE="RBRACE",i.SEMICOLON="SEMICOLON",i.NEWLINE="NEWLINE",i.COMMA="COMMA",i.NEGATION="NEGATION",i.COMMAND="COMMAND",i.SUBSTITUTE="SUBSTITUTE",i.TRANSLITERATE="TRANSLITERATE",i.LABEL_DEF="LABEL_DEF",i.BRANCH="BRANCH",i.BRANCH_ON_SUBST="BRANCH_ON_SUBST",i.BRANCH_ON_NO_SUBST="BRANCH_ON_NO_SUBST",i.TEXT_CMD="TEXT_CMD",i.FILE_READ="FILE_READ",i.FILE_READ_LINE="FILE_READ_LINE",i.FILE_WRITE="FILE_WRITE",i.FILE_WRITE_LINE="FILE_WRITE_LINE",i.EXECUTE="EXECUTE",i.VERSION="VERSION",i.EOF="EOF",i.ERROR="ERROR"})(l||(l={}));var w=class{input;pos=0;line=1;column=1;constructor(e){this.input=e}tokenize(){let e=[];for(;this.pos<this.input.length;){let t=this.nextToken();t&&e.push(t)}return e.push(this.makeToken(l.EOF,"")),e}makeToken(e,t,n){return{type:e,value:t,line:this.line,column:this.column,...n}}peek(e=0){return this.input[this.pos+e]||""}advance(){let e=this.input[this.pos++]||"";return e===`
|
|
14
14
|
`?(this.line++,this.column=1):this.column++,e}readEscapedString(e){let t="";for(;this.pos<this.input.length&&this.peek()!==e;)if(this.peek()==="\\"){this.advance();let n=this.advance();n==="n"?t+=`
|
|
15
15
|
`:n==="t"?t+=" ":t+=n}else{if(this.peek()===`
|
|
16
16
|
`)return null;t+=this.advance()}return t}skipWhitespace(){for(;this.pos<this.input.length;){let e=this.peek();if(e===" "||e===" "||e==="\r")this.advance();else if(e==="#")for(;this.pos<this.input.length&&this.peek()!==`
|
|
@@ -38,9 +38,9 @@ ${f}`,e.lineNumber=t.currentLineIndex+e.linesConsumedInCycle+1}else{e.quit=!0;br
|
|
|
38
38
|
`||a===";"||a==="}"||a==="{")break;r+=this.advance()}return{type:e,value:t,label:r||void 0,line:n,column:s}}readVersion(e,t){for(;this.peek()===" "||this.peek()===" ";)this.advance();let n="";for(;this.pos<this.input.length;){let s=this.peek();if(s===" "||s===" "||s===`
|
|
39
39
|
`||s===";"||s==="}"||s==="{")break;n+=this.advance()}return{type:l.VERSION,value:"v",label:n||void 0,line:e,column:t}}readFileCommand(e,t,n,s){for(;this.peek()===" "||this.peek()===" ";)this.advance();let r="";for(;this.pos<this.input.length;){let a=this.peek();if(a===`
|
|
40
40
|
`||a===";")break;r+=this.advance()}return{type:e,value:t,filename:r.trim(),line:n,column:s}}readExecute(e,t){for(;this.peek()===" "||this.peek()===" ";)this.advance();let n="";for(;this.pos<this.input.length;){let s=this.peek();if(s===`
|
|
41
|
-
`||s===";")break;n+=this.advance()}return{type:l.EXECUTE,value:"e",command:n.trim()||void 0,line:e,column:t}}isDigit(e){return e>="0"&&e<="9"}};var H=class{scripts;tokens=[];pos=0;extendedRegex=!1;constructor(e,t=!1){this.scripts=e,this.extendedRegex=t}parse(){let e=[];for(let t of this.scripts){let n=new
|
|
42
|
-
${
|
|
43
|
-
`),c=new H([r],e||n).parse();if(!c.error&&c.commands.length>0){let o=
|
|
41
|
+
`||s===";")break;n+=this.advance()}return{type:l.EXECUTE,value:"e",command:n.trim()||void 0,line:e,column:t}}isDigit(e){return e>="0"&&e<="9"}};var H=class{scripts;tokens=[];pos=0;extendedRegex=!1;constructor(e,t=!1){this.scripts=e,this.extendedRegex=t}parse(){let e=[];for(let t of this.scripts){let n=new w(t);for(this.tokens=n.tokenize(),this.pos=0;!this.isAtEnd();){if(this.check(l.NEWLINE)||this.check(l.SEMICOLON)){this.advance();continue}let s=this.parseCommand();if(s.error)return{commands:[],error:s.error};s.command&&e.push(s.command)}}return{commands:e}}parseCommand(){let e=this.parseAddressRange();if(e?.error)return{command:null,error:e.error};let t=e?.address;for(this.check(l.NEGATION)&&(this.advance(),t&&(t.negated=!0));this.check(l.NEWLINE)||this.check(l.SEMICOLON);)this.advance();if(this.isAtEnd())return t&&(t.start!==void 0||t.end!==void 0)?{command:null,error:"command expected"}:{command:null};let n=this.peek();switch(n.type){case l.COMMAND:return this.parseSimpleCommand(n,t);case l.SUBSTITUTE:return this.parseSubstituteFromToken(n,t);case l.TRANSLITERATE:return this.parseTransliterateFromToken(n,t);case l.LABEL_DEF:return this.advance(),{command:{type:"label",name:n.label||""}};case l.BRANCH:return this.advance(),{command:{type:"branch",address:t,label:n.label}};case l.BRANCH_ON_SUBST:return this.advance(),{command:{type:"branchOnSubst",address:t,label:n.label}};case l.BRANCH_ON_NO_SUBST:return this.advance(),{command:{type:"branchOnNoSubst",address:t,label:n.label}};case l.TEXT_CMD:return this.advance(),this.parseTextCommand(n,t);case l.FILE_READ:return this.advance(),{command:{type:"readFile",address:t,filename:n.filename||""}};case l.FILE_READ_LINE:return this.advance(),{command:{type:"readFileLine",address:t,filename:n.filename||""}};case l.FILE_WRITE:return this.advance(),{command:{type:"writeFile",address:t,filename:n.filename||""}};case l.FILE_WRITE_LINE:return this.advance(),{command:{type:"writeFirstLine",address:t,filename:n.filename||""}};case l.EXECUTE:return this.advance(),{command:{type:"execute",address:t,command:n.command}};case l.VERSION:return this.advance(),{command:{type:"version",address:t,minVersion:n.label}};case l.LBRACE:return this.parseGroup(t);case l.RBRACE:return{command:null};case l.ERROR:return{command:null,error:`invalid command: ${n.value}`};default:return t&&(t.start!==void 0||t.end!==void 0)?{command:null,error:"command expected"}:{command:null}}}parseSimpleCommand(e,t){this.advance();let n=e.value;switch(n){case"p":return{command:{type:"print",address:t}};case"P":return{command:{type:"printFirstLine",address:t}};case"d":return{command:{type:"delete",address:t}};case"D":return{command:{type:"deleteFirstLine",address:t}};case"h":return{command:{type:"hold",address:t}};case"H":return{command:{type:"holdAppend",address:t}};case"g":return{command:{type:"get",address:t}};case"G":return{command:{type:"getAppend",address:t}};case"x":return{command:{type:"exchange",address:t}};case"n":return{command:{type:"next",address:t}};case"N":return{command:{type:"nextAppend",address:t}};case"q":return{command:{type:"quit",address:t}};case"Q":return{command:{type:"quitSilent",address:t}};case"z":return{command:{type:"zap",address:t}};case"=":return{command:{type:"lineNumber",address:t}};case"l":return{command:{type:"list",address:t}};case"F":return{command:{type:"printFilename",address:t}};default:return{command:null,error:`unknown command: ${n}`}}}parseSubstituteFromToken(e,t){this.advance();let n=e.flags||"",s,r=n.match(/(\d+)/);return r&&(s=parseInt(r[1],10)),{command:{type:"substitute",address:t,pattern:e.pattern||"",replacement:e.replacement||"",global:n.includes("g"),ignoreCase:n.includes("i")||n.includes("I"),printOnMatch:n.includes("p"),nthOccurrence:s,extendedRegex:this.extendedRegex}}}parseTransliterateFromToken(e,t){this.advance();let n=e.source||"",s=e.dest||"";return n.length!==s.length?{command:null,error:"transliteration sets must have same length"}:{command:{type:"transliterate",address:t,source:n,dest:s}}}parseTextCommand(e,t){let n=e.value,s=e.text||"";switch(n){case"a":return{command:{type:"append",address:t,text:s}};case"i":return{command:{type:"insert",address:t,text:s}};case"c":return{command:{type:"change",address:t,text:s}};default:return{command:null,error:`unknown text command: ${n}`}}}parseGroup(e){this.advance();let t=[];for(;!this.isAtEnd()&&!this.check(l.RBRACE);){if(this.check(l.NEWLINE)||this.check(l.SEMICOLON)){this.advance();continue}let n=this.parseCommand();if(n.error)return{command:null,error:n.error};n.command&&t.push(n.command)}return this.check(l.RBRACE)?(this.advance(),{command:{type:"group",address:e,commands:t}}):{command:null,error:"unmatched brace in grouped commands"}}parseAddressRange(){let e=this.parseAddress();if(e===void 0)return;let t;if(this.check(l.RELATIVE_OFFSET))t={offset:this.advance().offset||0};else if(this.check(l.COMMA)&&(this.advance(),t=this.parseAddress(),t===void 0))return{error:"expected context address"};return{address:{start:e,end:t}}}parseAddress(){let e=this.peek();switch(e.type){case l.NUMBER:return this.advance(),e.value;case l.DOLLAR:return this.advance(),"$";case l.PATTERN:return this.advance(),{pattern:e.pattern||e.value};case l.STEP:return this.advance(),{first:e.first||0,step:e.step||0};case l.RELATIVE_OFFSET:return this.advance(),{offset:e.offset||0};default:return}}peek(){return this.tokens[this.pos]||{type:l.EOF,value:"",line:0,column:0}}advance(){return this.isAtEnd()||this.pos++,this.tokens[this.pos-1]}check(e){return this.peek().type===e}isAtEnd(){return this.peek().type===l.EOF}};function Q(i,e=!1){let t=!1,n=!1,s=[];for(let o=0;o<i.length;o++){let d=i[o];if(s.length===0&&o===0){let p=d.match(/^#([nr]+)\s*(?:\n|$)/i);if(p){let E=p[1].toLowerCase();E.includes("n")&&(t=!0),E.includes("r")&&(n=!0),d=d.slice(p[0].length)}}if(s.length>0&&s[s.length-1].endsWith("\\")){let p=s[s.length-1];s[s.length-1]=`${p}
|
|
42
|
+
${d}`}else s.push(d)}let r=s.join(`
|
|
43
|
+
`),c=new H([r],e||n).parse();if(!c.error&&c.commands.length>0){let o=fe(c.commands);if(o)return{commands:[],error:o,silentMode:t,extendedRegexMode:n}}return{...c,silentMode:t,extendedRegexMode:n}}function fe(i){let e=new Set;J(i,e);let t=Y(i,e);if(t)return`undefined label '${t}'`}function J(i,e){for(let t of i)t.type==="label"?e.add(t.name):t.type==="group"&&J(t.commands,e)}function Y(i,e){for(let t of i){if((t.type==="branch"||t.type==="branchOnSubst"||t.type==="branchOnNoSubst")&&t.label&&!e.has(t.label))return t.label;if(t.type==="group"){let n=Y(t.commands,e);if(n)return n}}}var pe={name:"sed",summary:"stream editor for filtering and transforming text",usage:"sed [OPTION]... {script} [input-file]...",options:["-n, --quiet, --silent suppress automatic printing of pattern space","-e script add the script to commands to be executed","-f script-file read script from file","-i, --in-place edit files in place","-E, -r, --regexp-extended use extended regular expressions"," --help display this help and exit"],description:`Commands:
|
|
44
44
|
s/regexp/replacement/[flags] substitute
|
|
45
45
|
d delete pattern space
|
|
46
46
|
p print pattern space
|
|
@@ -69,28 +69,28 @@ Addresses:
|
|
|
69
69
|
$ last line
|
|
70
70
|
/regexp/ lines matching regexp
|
|
71
71
|
N,M range from line N to M
|
|
72
|
-
first~step every step-th line starting at first`};async function z(i,e,t,n={}){let{limits:s,filename:r,fs:a,cwd:c,coverage:o}=n,
|
|
72
|
+
first~step every step-th line starting at first`};async function z(i,e,t,n={}){let{limits:s,filename:r,fs:a,cwd:c,coverage:o}=n,d=i.endsWith(`
|
|
73
73
|
`),p=i.split(`
|
|
74
|
-
`);p.length>0&&p[p.length-1]===""&&p.pop();let E=p.length,m="",
|
|
75
|
-
`)),$.set(R,0)}let S=F.get(R),
|
|
74
|
+
`);p.length>0&&p[p.length-1]===""&&p.pop();let E=p.length,m="",f,u=!1,h=s?.maxStringLength??0,b=k=>{if(m+=k,h>0&&m.length>h)throw new x(`sed: output size limit exceeded (${h} bytes)`,"string_length")},C="",y,ee=new Map,F=new Map,$=new Map,_=new Map,te=s?{maxIterations:s.maxSedIterations}:void 0;for(let k=0;k<p.length;k++){let g={...K(E,r,ee),patternSpace:p[k],holdSpace:C,lastPattern:y,lineNumber:k+1,totalLines:E,substitutionMade:!1,coverage:o},ne={lines:p,currentLineIndex:k},V=0,ie=1e4;g.linesConsumedInCycle=0;do{if(V++,V>ie)break;if(g.restartCycle=!1,g.pendingFileReads=[],g.pendingFileWrites=[],U(e,g,ne,te),a&&c){for(let v of g.pendingFileReads){let R=a.resolvePath(c,v.filename);try{if(v.wholeFile){let S=await a.readFile(R);g.appendBuffer.push(S.replace(/\n$/,""))}else{if(!F.has(R)){let re=await a.readFile(R);F.set(R,re.split(`
|
|
75
|
+
`)),$.set(R,0)}let S=F.get(R),A=$.get(R);S&&A!==void 0&&A<S.length&&(g.appendBuffer.push(S[A]),$.set(R,A+1))}}catch{}}for(let v of g.pendingFileWrites){let R=a.resolvePath(c,v.filename),S=_.get(R)||"";_.set(R,S+v.content)}}}while(g.restartCycle&&!g.deleted&&!g.quit&&!g.quitSilent);if(k+=g.linesConsumedInCycle,C=g.holdSpace,y=g.lastPattern,!t)for(let v of g.nCommandOutput)b(`${v}
|
|
76
76
|
`);let se=g.lineNumberOutput.length>0;for(let v of g.lineNumberOutput)b(`${v}
|
|
77
77
|
`);let X=[],M=[];for(let v of g.appendBuffer)v.startsWith("__INSERT__")?X.push(v.slice(10)):M.push(v);for(let v of X)b(`${v}
|
|
78
78
|
`);let L=!1;!g.deleted&&!g.quitSilent?t?g.printed&&(b(`${g.patternSpace}
|
|
79
79
|
`),L=!0):(b(`${g.patternSpace}
|
|
80
80
|
`),L=!0):g.changedText!==void 0&&(b(`${g.changedText}
|
|
81
81
|
`),L=!0);for(let v of M)b(`${v}
|
|
82
|
-
`);if(u=(se||L)&&M.length===0,g.quit||g.quitSilent){if(g.exitCode!==void 0&&(
|
|
83
|
-
`)&&(m=m.slice(0,-1)),{output:m,exitCode:
|
|
82
|
+
`);if(u=(se||L)&&M.length===0,g.quit||g.quitSilent){if(g.exitCode!==void 0&&(f=g.exitCode),g.errorMessage)return{output:"",exitCode:f||1,errorMessage:g.errorMessage};break}}if(a&&c)for(let[k,g]of _)try{await a.writeFile(k,g)}catch{}return!d&&u&&m.endsWith(`
|
|
83
|
+
`)&&(m=m.slice(0,-1)),{output:m,exitCode:f}}var Ne={name:"sed",async execute(i,e){if(j(i))return G(pe);let t=[],n=[],s=!1,r=!1,a=!1,c=[];for(let u=0;u<i.length;u++){let h=i[u];if(h==="-n"||h==="--quiet"||h==="--silent")s=!0;else if(h==="-i"||h==="--in-place")r=!0;else if(h.startsWith("-i"))r=!0;else if(h==="-E"||h==="-r"||h==="--regexp-extended")a=!0;else if(h==="-e")u+1<i.length&&t.push(i[++u]);else if(h==="-f")u+1<i.length&&n.push(i[++u]);else{if(h.startsWith("--"))return T("sed",h);if(h==="-")c.push(h);else if(h.startsWith("-")&&h.length>1){for(let b of h.slice(1))if(b!=="n"&&b!=="e"&&b!=="f"&&b!=="i"&&b!=="E"&&b!=="r")return T("sed",`-${b}`);h.includes("n")&&(s=!0),h.includes("i")&&(r=!0),(h.includes("E")||h.includes("r"))&&(a=!0),h.includes("e")&&!h.includes("n")&&!h.includes("i")&&u+1<i.length&&t.push(i[++u]),h.includes("f")&&!h.includes("e")&&u+1<i.length&&n.push(i[++u])}else!h.startsWith("-")&&t.length===0&&n.length===0?t.push(h):h.startsWith("-")||c.push(h)}}for(let u of n){let h=e.fs.resolvePath(e.cwd,u);try{let b=await e.fs.readFile(h);for(let C of b.split(`
|
|
84
84
|
`)){let y=C.trim();y&&!y.startsWith("#")&&t.push(y)}}catch{return{stdout:"",stderr:`sed: couldn't open file ${u}: No such file or directory
|
|
85
85
|
`,exitCode:1}}}if(t.length===0)return{stdout:"",stderr:`sed: no script specified
|
|
86
|
-
`,exitCode:1};let{commands:o,error:
|
|
86
|
+
`,exitCode:1};let{commands:o,error:d,silentMode:p}=Q(t,a);if(d)return{stdout:"",stderr:`sed: ${d}
|
|
87
87
|
`,exitCode:1};let E=!!(s||p);if(r){if(c.length===0)return{stdout:"",stderr:`sed: -i requires at least one file argument
|
|
88
88
|
`,exitCode:1};for(let u of c){if(u==="-")continue;let h=e.fs.resolvePath(e.cwd,u);try{let b=await e.fs.readFile(h),C=await z(b,o,E,{limits:e.limits,filename:u,fs:e.fs,cwd:e.cwd,coverage:e.coverage});if(C.errorMessage)return{stdout:"",stderr:`${C.errorMessage}
|
|
89
89
|
`,exitCode:C.exitCode??1};await e.fs.writeFile(h,C.output)}catch(b){return b instanceof x?{stdout:"",stderr:`sed: ${b.message}
|
|
90
90
|
`,exitCode:x.EXIT_CODE}:{stdout:"",stderr:`sed: ${u}: No such file or directory
|
|
91
91
|
`,exitCode:1}}}return{stdout:"",stderr:"",exitCode:0}}let m="";if(c.length===0){m=e.stdin;try{let u=await z(m,o,E,{limits:e.limits,fs:e.fs,cwd:e.cwd,coverage:e.coverage});return{stdout:u.output,stderr:u.errorMessage?`${u.errorMessage}
|
|
92
92
|
`:"",exitCode:u.exitCode??0}}catch(u){if(u instanceof x)return{stdout:"",stderr:`sed: ${u.message}
|
|
93
|
-
`,exitCode:x.EXIT_CODE};throw u}}let
|
|
93
|
+
`,exitCode:x.EXIT_CODE};throw u}}let f=!1;for(let u of c){let h;if(u==="-")f?h="":(h=e.stdin,f=!0);else{let b=e.fs.resolvePath(e.cwd,u);try{h=await e.fs.readFile(b)}catch(C){return C instanceof x?{stdout:"",stderr:`sed: ${C.message}
|
|
94
94
|
`,exitCode:x.EXIT_CODE}:{stdout:"",stderr:`sed: ${u}: No such file or directory
|
|
95
95
|
`,exitCode:1}}}m.length>0&&h.length>0&&!m.endsWith(`
|
|
96
96
|
`)&&(m+=`
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as Ja}from"./chunk-SYMJJMQ4.js";import{a as Le,b as Oi}from"./chunk-
|
|
1
|
+
import{a as Ja}from"./chunk-SYMJJMQ4.js";import{a as Le,b as Oi}from"./chunk-FRDGR5VK.js";import{k as Ts}from"./chunk-PSW6BMXW.js";import{a as Ai,b as Ti,c as ae}from"./chunk-74CEPOFO.js";import{a as bt,c as b,e as As}from"./chunk-DXB73IDG.js";var Yi=b((rp,Ri)=>{var{hasOwnProperty:Ps}=Object.prototype,Ms=(s,e={})=>{typeof e=="string"&&(e={section:e}),e.align=e.align===!0,e.newline=e.newline===!0,e.sort=e.sort===!0,e.whitespace=e.whitespace===!0||e.align===!0,e.platform=e.platform||typeof process<"u"&&process.platform,e.bracketedArray=e.bracketedArray!==!1;let t=e.platform==="win32"?`\r
|
|
2
2
|
`:`
|
|
3
3
|
`,n=e.whitespace?" = ":"=",i=[],r=e.sort?Object.keys(s).sort():Object.keys(s),o=0;e.align&&(o=G(r.filter(c=>s[c]===null||Array.isArray(s[c])||typeof s[c]!="object").map(c=>Array.isArray(s[c])?`${c}[]`:c).concat([""]).reduce((c,u)=>G(c).length>=G(u).length?c:u)).length);let a="",l=e.bracketedArray?"[]":"";for(let c of r){let u=s[c];if(u&&Array.isArray(u))for(let f of u)a+=G(`${c}${l}`).padEnd(o," ")+n+G(f)+t;else u&&typeof u=="object"?i.push(c):a+=G(c).padEnd(o," ")+n+G(u)+t}e.section&&a.length&&(a="["+G(e.section)+"]"+(e.newline?t+t:t)+a);for(let c of i){let u=Vi(c,".").join("\\."),f=(e.section?e.section+".":"")+u,d=Ms(s[c],{...e,section:f});a.length&&d.length&&(a+=t),a+=d}return a};function Vi(s,e){var t=0,n=0,i=0,r=[];do if(i=s.indexOf(e,t),i!==-1){if(t=i+e.length,i>0&&s[i-1]==="\\")continue;r.push(s.slice(n,i)),n=i+e.length}while(i!==-1);return r.push(s.slice(n)),r}var ji=(s,e={})=>{e.bracketedArray=e.bracketedArray!==!1;let t=Object.create(null),n=t,i=null,r=/^\[([^\]]*)\]\s*$|^([^=]+)(=(.*))?$/i,o=s.split(/[\r\n]+/g),a={};for(let c of o){if(!c||c.match(/^\s*[;#]/)||c.match(/^\s*$/))continue;let u=c.match(r);if(!u)continue;if(u[1]!==void 0){if(i=Nt(u[1]),i==="__proto__"){n=Object.create(null);continue}n=t[i]=t[i]||Object.create(null);continue}let f=Nt(u[2]),d;e.bracketedArray?d=f.length>2&&f.slice(-2)==="[]":(a[f]=(a?.[f]||0)+1,d=a[f]>1);let p=d&&f.endsWith("[]")?f.slice(0,-2):f;if(p==="__proto__")continue;let g=u[3]?Nt(u[4]):!0,h=g==="true"||g==="false"||g==="null"?JSON.parse(g):g;d&&(Ps.call(n,p)?Array.isArray(n[p])||(n[p]=[n[p]]):n[p]=[]),Array.isArray(n[p])?n[p].push(h):n[p]=h}let l=[];for(let c of Object.keys(t)){if(!Ps.call(t,c)||typeof t[c]!="object"||Array.isArray(t[c]))continue;let u=Vi(c,".");n=t;let f=u.pop(),d=f.replace(/\\\./g,".");for(let p of u)p!=="__proto__"&&((!Ps.call(n,p)||typeof n[p]!="object")&&(n[p]=Object.create(null)),n=n[p]);n===t&&d===f||(n[d]=t[c],l.push(c))}for(let c of l)delete t[c];return t},Ki=s=>s.startsWith('"')&&s.endsWith('"')||s.startsWith("'")&&s.endsWith("'"),G=s=>typeof s!="string"||s.match(/[=\r\n]/)||s.match(/^\[/)||s.length>1&&Ki(s)||s!==s.trim()?JSON.stringify(s):s.split(";").join("\\;").split("#").join("\\#"),Nt=s=>{if(s=(s||"").trim(),Ki(s)){s.charAt(0)==="'"&&(s=s.slice(1,-1));try{s=JSON.parse(s)}catch{}}else{let e=!1,t="";for(let n=0,i=s.length;n<i;n++){let r=s.charAt(n);if(e)"\\;#".indexOf(r)!==-1?t+=r:t+="\\"+r,e=!1;else{if(";#".indexOf(r)!==-1)break;r==="\\"?e=!0:t+=r}}return e&&(t+="\\"),t.trim()}return s};Ri.exports={parse:ji,decode:ji,stringify:Ms,encode:Ms,safe:G,unsafe:Nt}});var O=b($=>{"use strict";var Fs=Symbol.for("yaml.alias"),Di=Symbol.for("yaml.document"),kt=Symbol.for("yaml.map"),zi=Symbol.for("yaml.pair"),js=Symbol.for("yaml.scalar"),It=Symbol.for("yaml.seq"),X=Symbol.for("yaml.node.type"),Xl=s=>!!s&&typeof s=="object"&&s[X]===Fs,Ql=s=>!!s&&typeof s=="object"&&s[X]===Di,Hl=s=>!!s&&typeof s=="object"&&s[X]===kt,Dl=s=>!!s&&typeof s=="object"&&s[X]===zi,Zi=s=>!!s&&typeof s=="object"&&s[X]===js,zl=s=>!!s&&typeof s=="object"&&s[X]===It;function er(s){if(s&&typeof s=="object")switch(s[X]){case kt:case It:return!0}return!1}function Zl(s){if(s&&typeof s=="object")switch(s[X]){case Fs:case kt:case js:case It:return!0}return!1}var ec=s=>(Zi(s)||er(s))&&!!s.anchor;$.ALIAS=Fs;$.DOC=Di;$.MAP=kt;$.NODE_TYPE=X;$.PAIR=zi;$.SCALAR=js;$.SEQ=It;$.hasAnchor=ec;$.isAlias=Xl;$.isCollection=er;$.isDocument=Ql;$.isMap=Hl;$.isNode=Zl;$.isPair=Dl;$.isScalar=Zi;$.isSeq=zl});var Ve=b(Vs=>{"use strict";var M=O(),F=Symbol("break visit"),tr=Symbol("skip children"),J=Symbol("remove node");function qt(s,e){let t=sr(e);M.isDocument(s)?Se(null,s.contents,t,Object.freeze([s]))===J&&(s.contents=null):Se(null,s,t,Object.freeze([]))}qt.BREAK=F;qt.SKIP=tr;qt.REMOVE=J;function Se(s,e,t,n){let i=nr(s,e,t,n);if(M.isNode(i)||M.isPair(i))return ir(s,n,i),Se(s,i,t,n);if(typeof i!="symbol"){if(M.isCollection(e)){n=Object.freeze(n.concat(e));for(let r=0;r<e.items.length;++r){let o=Se(r,e.items[r],t,n);if(typeof o=="number")r=o-1;else{if(o===F)return F;o===J&&(e.items.splice(r,1),r-=1)}}}else if(M.isPair(e)){n=Object.freeze(n.concat(e));let r=Se("key",e.key,t,n);if(r===F)return F;r===J&&(e.key=null);let o=Se("value",e.value,t,n);if(o===F)return F;o===J&&(e.value=null)}}return i}async function Ct(s,e){let t=sr(e);M.isDocument(s)?await Ne(null,s.contents,t,Object.freeze([s]))===J&&(s.contents=null):await Ne(null,s,t,Object.freeze([]))}Ct.BREAK=F;Ct.SKIP=tr;Ct.REMOVE=J;async function Ne(s,e,t,n){let i=await nr(s,e,t,n);if(M.isNode(i)||M.isPair(i))return ir(s,n,i),Ne(s,i,t,n);if(typeof i!="symbol"){if(M.isCollection(e)){n=Object.freeze(n.concat(e));for(let r=0;r<e.items.length;++r){let o=await Ne(r,e.items[r],t,n);if(typeof o=="number")r=o-1;else{if(o===F)return F;o===J&&(e.items.splice(r,1),r-=1)}}}else if(M.isPair(e)){n=Object.freeze(n.concat(e));let r=await Ne("key",e.key,t,n);if(r===F)return F;r===J&&(e.key=null);let o=await Ne("value",e.value,t,n);if(o===F)return F;o===J&&(e.value=null)}}return i}function sr(s){return typeof s=="object"&&(s.Collection||s.Node||s.Value)?Object.assign({Alias:s.Node,Map:s.Node,Scalar:s.Node,Seq:s.Node},s.Value&&{Map:s.Value,Scalar:s.Value,Seq:s.Value},s.Collection&&{Map:s.Collection,Seq:s.Collection},s):s}function nr(s,e,t,n){if(typeof t=="function")return t(s,e,n);if(M.isMap(e))return t.Map?.(s,e,n);if(M.isSeq(e))return t.Seq?.(s,e,n);if(M.isPair(e))return t.Pair?.(s,e,n);if(M.isScalar(e))return t.Scalar?.(s,e,n);if(M.isAlias(e))return t.Alias?.(s,e,n)}function ir(s,e,t){let n=e[e.length-1];if(M.isCollection(n))n.items[s]=t;else if(M.isPair(n))s==="key"?n.key=t:n.value=t;else if(M.isDocument(n))n.contents=t;else{let i=M.isAlias(n)?"alias":"scalar";throw new Error(`Cannot replace node with ${i} parent`)}}Vs.visit=qt;Vs.visitAsync=Ct});var Ks=b(or=>{"use strict";var rr=O(),tc=Ve(),sc={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},nc=s=>s.replace(/[!,[\]{}]/g,e=>sc[e]),Ke=class s{constructor(e,t){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},s.defaultYaml,e),this.tags=Object.assign({},s.defaultTags,t)}clone(){let e=new s(this.yaml,this.tags);return e.docStart=this.docStart,e}atDocument(){let e=new s(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:s.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},s.defaultTags);break}return e}add(e,t){this.atNextDocument&&(this.yaml={explicit:s.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},s.defaultTags),this.atNextDocument=!1);let n=e.trim().split(/[ \t]+/),i=n.shift();switch(i){case"%TAG":{if(n.length!==2&&(t(0,"%TAG directive should contain exactly two parts"),n.length<2))return!1;let[r,o]=n;return this.tags[r]=o,!0}case"%YAML":{if(this.yaml.explicit=!0,n.length!==1)return t(0,"%YAML directive should contain exactly one part"),!1;let[r]=n;if(r==="1.1"||r==="1.2")return this.yaml.version=r,!0;{let o=/^\d+\.\d+$/.test(r);return t(6,`Unsupported YAML version ${r}`,o),!1}}default:return t(0,`Unknown directive ${i}`,!0),!1}}tagName(e,t){if(e==="!")return"!";if(e[0]!=="!")return t(`Not a valid tag: ${e}`),null;if(e[1]==="<"){let o=e.slice(2,-1);return o==="!"||o==="!!"?(t(`Verbatim tags aren't resolved, so ${e} is invalid.`),null):(e[e.length-1]!==">"&&t("Verbatim tags must end with a >"),o)}let[,n,i]=e.match(/^(.*!)([^!]*)$/s);i||t(`The ${e} tag has no suffix`);let r=this.tags[n];if(r)try{return r+decodeURIComponent(i)}catch(o){return t(String(o)),null}return n==="!"?e:(t(`Could not resolve tag: ${e}`),null)}tagString(e){for(let[t,n]of Object.entries(this.tags))if(e.startsWith(n))return t+nc(e.substring(n.length));return e[0]==="!"?e:`!<${e}>`}toString(e){let t=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],n=Object.entries(this.tags),i;if(e&&n.length>0&&rr.isNode(e.contents)){let r={};tc.visit(e.contents,(o,a)=>{rr.isNode(a)&&a.tag&&(r[a.tag]=!0)}),i=Object.keys(r)}else i=[];for(let[r,o]of n)r==="!!"&&o==="tag:yaml.org,2002:"||(!e||i.some(a=>a.startsWith(o)))&&t.push(`%TAG ${r} ${o}`);return t.join(`
|
|
4
4
|
`)}};Ke.defaultYaml={explicit:!1,version:"1.2"};Ke.defaultTags={"!!":"tag:yaml.org,2002:"};or.Directives=Ke});var Lt=b(Re=>{"use strict";var ar=O(),ic=Ve();function rc(s){if(/[\x00-\x19\s,[\]{}]/.test(s)){let t=`Anchor must not contain whitespace or control characters: ${JSON.stringify(s)}`;throw new Error(t)}return!0}function lr(s){let e=new Set;return ic.visit(s,{Value(t,n){n.anchor&&e.add(n.anchor)}}),e}function cr(s,e){for(let t=1;;++t){let n=`${s}${t}`;if(!e.has(n))return n}}function oc(s,e){let t=[],n=new Map,i=null;return{onAnchor:r=>{t.push(r),i??(i=lr(s));let o=cr(e,i);return i.add(o),o},setAnchors:()=>{for(let r of t){let o=n.get(r);if(typeof o=="object"&&o.anchor&&(ar.isScalar(o.node)||ar.isCollection(o.node)))o.node.anchor=o.anchor;else{let a=new Error("Failed to resolve repeated object (this should not happen)");throw a.source=r,a}}},sourceObjects:n}}Re.anchorIsValid=rc;Re.anchorNames=lr;Re.createNodeAnchors=oc;Re.findNewAnchor=cr});var Rs=b(fr=>{"use strict";function Ye(s,e,t,n){if(n&&typeof n=="object")if(Array.isArray(n))for(let i=0,r=n.length;i<r;++i){let o=n[i],a=Ye(s,n,String(i),o);a===void 0?delete n[i]:a!==o&&(n[i]=a)}else if(n instanceof Map)for(let i of Array.from(n.keys())){let r=n.get(i),o=Ye(s,n,i,r);o===void 0?n.delete(i):o!==r&&n.set(i,o)}else if(n instanceof Set)for(let i of Array.from(n)){let r=Ye(s,n,i,i);r===void 0?n.delete(i):r!==i&&(n.delete(i),n.add(r))}else for(let[i,r]of Object.entries(n)){let o=Ye(s,n,i,r);o===void 0?delete n[i]:o!==r&&(n[i]=o)}return s.call(e,t,n)}fr.applyReviver=Ye});var D=b(dr=>{"use strict";var ac=O();function ur(s,e,t){if(Array.isArray(s))return s.map((n,i)=>ur(n,String(i),t));if(s&&typeof s.toJSON=="function"){if(!t||!ac.hasAnchor(s))return s.toJSON(e,t);let n={aliasCount:0,count:1,res:void 0};t.anchors.set(s,n),t.onCreate=r=>{n.res=r,delete t.onCreate};let i=s.toJSON(e,t);return t.onCreate&&t.onCreate(i),i}return typeof s=="bigint"&&!t?.keep?Number(s):s}dr.toJS=ur});var Pt=b(pr=>{"use strict";var lc=Rs(),hr=O(),cc=D(),Ys=class{constructor(e){Object.defineProperty(this,hr.NODE_TYPE,{value:e})}clone(){let e=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return this.range&&(e.range=this.range.slice()),e}toJS(e,{mapAsMap:t,maxAliasCount:n,onAnchor:i,reviver:r}={}){if(!hr.isDocument(e))throw new TypeError("A document argument is required");let o={anchors:new Map,doc:e,keep:!0,mapAsMap:t===!0,mapKeyWarned:!1,maxAliasCount:typeof n=="number"?n:100},a=cc.toJS(this,"",o);if(typeof i=="function")for(let{count:l,res:c}of o.anchors.values())i(c,l);return typeof r=="function"?lc.applyReviver(r,{"":a},"",a):a}};pr.NodeBase=Ys});var Ue=b(mr=>{"use strict";var fc=Lt(),uc=Ve(),Ee=O(),dc=Pt(),hc=D(),Us=class extends dc.NodeBase{constructor(e){super(Ee.ALIAS),this.source=e,Object.defineProperty(this,"tag",{set(){throw new Error("Alias nodes cannot have tags")}})}resolve(e,t){let n;t?.aliasResolveCache?n=t.aliasResolveCache:(n=[],uc.visit(e,{Node:(r,o)=>{(Ee.isAlias(o)||Ee.hasAnchor(o))&&n.push(o)}}),t&&(t.aliasResolveCache=n));let i;for(let r of n){if(r===this)break;r.anchor===this.source&&(i=r)}return i}toJSON(e,t){if(!t)return{source:this.source};let{anchors:n,doc:i,maxAliasCount:r}=t,o=this.resolve(i,t);if(!o){let l=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new ReferenceError(l)}let a=n.get(o);if(a||(hc.toJS(o,null,t),a=n.get(o)),a?.res===void 0){let l="This should not happen: Alias anchor was not resolved?";throw new ReferenceError(l)}if(r>=0&&(a.count+=1,a.aliasCount===0&&(a.aliasCount=Mt(i,o,n)),a.count*a.aliasCount>r)){let l="Excessive alias count indicates a resource exhaustion attack";throw new ReferenceError(l)}return a.res}toString(e,t,n){let i=`*${this.source}`;if(e){if(fc.anchorIsValid(this.source),e.options.verifyAliasOrder&&!e.anchors.has(this.source)){let r=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new Error(r)}if(e.implicitKey)return`${i} `}return i}};function Mt(s,e,t){if(Ee.isAlias(e)){let n=e.resolve(s),i=t&&n&&t.get(n);return i?i.count*i.aliasCount:0}else if(Ee.isCollection(e)){let n=0;for(let i of e.items){let r=Mt(s,i,t);r>n&&(n=r)}return n}else if(Ee.isPair(e)){let n=Mt(s,e.key,t),i=Mt(s,e.value,t);return Math.max(n,i)}return 1}mr.Alias=Us});var C=b(Js=>{"use strict";var pc=O(),mc=Pt(),gc=D(),yc=s=>!s||typeof s!="function"&&typeof s!="object",z=class extends mc.NodeBase{constructor(e){super(pc.SCALAR),this.value=e}toJSON(e,t){return t?.keep?this.value:gc.toJS(this.value,e,t)}toString(){return String(this.value)}};z.BLOCK_FOLDED="BLOCK_FOLDED";z.BLOCK_LITERAL="BLOCK_LITERAL";z.PLAIN="PLAIN";z.QUOTE_DOUBLE="QUOTE_DOUBLE";z.QUOTE_SINGLE="QUOTE_SINGLE";Js.Scalar=z;Js.isScalarValue=yc});var Je=b(yr=>{"use strict";var bc=Ue(),fe=O(),gr=C(),wc="tag:yaml.org,2002:";function Sc(s,e,t){if(e){let n=t.filter(r=>r.tag===e),i=n.find(r=>!r.format)??n[0];if(!i)throw new Error(`Tag ${e} not found`);return i}return t.find(n=>n.identify?.(s)&&!n.format)}function Nc(s,e,t){if(fe.isDocument(s)&&(s=s.contents),fe.isNode(s))return s;if(fe.isPair(s)){let f=t.schema[fe.MAP].createNode?.(t.schema,null,t);return f.items.push(s),f}(s instanceof String||s instanceof Number||s instanceof Boolean||typeof BigInt<"u"&&s instanceof BigInt)&&(s=s.valueOf());let{aliasDuplicateObjects:n,onAnchor:i,onTagObj:r,schema:o,sourceObjects:a}=t,l;if(n&&s&&typeof s=="object"){if(l=a.get(s),l)return l.anchor??(l.anchor=i(s)),new bc.Alias(l.anchor);l={anchor:null,node:null},a.set(s,l)}e?.startsWith("!!")&&(e=wc+e.slice(2));let c=Sc(s,e,o.tags);if(!c){if(s&&typeof s.toJSON=="function"&&(s=s.toJSON()),!s||typeof s!="object"){let f=new gr.Scalar(s);return l&&(l.node=f),f}c=s instanceof Map?o[fe.MAP]:Symbol.iterator in Object(s)?o[fe.SEQ]:o[fe.MAP]}r&&(r(c),delete t.onTagObj);let u=c?.createNode?c.createNode(t.schema,s,t):typeof c?.nodeClass?.from=="function"?c.nodeClass.from(t.schema,s,t):new gr.Scalar(s);return e?u.tag=e:c.default||(u.tag=c.tag),l&&(l.node=u),u}yr.createNode=Nc});var _t=b($t=>{"use strict";var Ec=Je(),W=O(),vc=Pt();function Ws(s,e,t){let n=t;for(let i=e.length-1;i>=0;--i){let r=e[i];if(typeof r=="number"&&Number.isInteger(r)&&r>=0){let o=[];o[r]=n,n=o}else n=new Map([[r,n]])}return Ec.createNode(n,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw new Error("This should not happen, please report a bug.")},schema:s,sourceObjects:new Map})}var br=s=>s==null||typeof s=="object"&&!!s[Symbol.iterator]().next().done,Gs=class extends vc.NodeBase{constructor(e,t){super(e),Object.defineProperty(this,"schema",{value:t,configurable:!0,enumerable:!1,writable:!0})}clone(e){let t=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return e&&(t.schema=e),t.items=t.items.map(n=>W.isNode(n)||W.isPair(n)?n.clone(e):n),this.range&&(t.range=this.range.slice()),t}addIn(e,t){if(br(e))this.add(t);else{let[n,...i]=e,r=this.get(n,!0);if(W.isCollection(r))r.addIn(i,t);else if(r===void 0&&this.schema)this.set(n,Ws(this.schema,i,t));else throw new Error(`Expected YAML collection at ${n}. Remaining path: ${i}`)}}deleteIn(e){let[t,...n]=e;if(n.length===0)return this.delete(t);let i=this.get(t,!0);if(W.isCollection(i))return i.deleteIn(n);throw new Error(`Expected YAML collection at ${t}. Remaining path: ${n}`)}getIn(e,t){let[n,...i]=e,r=this.get(n,!0);return i.length===0?!t&&W.isScalar(r)?r.value:r:W.isCollection(r)?r.getIn(i,t):void 0}hasAllNullValues(e){return this.items.every(t=>{if(!W.isPair(t))return!1;let n=t.value;return n==null||e&&W.isScalar(n)&&n.value==null&&!n.commentBefore&&!n.comment&&!n.tag})}hasIn(e){let[t,...n]=e;if(n.length===0)return this.has(t);let i=this.get(t,!0);return W.isCollection(i)?i.hasIn(n):!1}setIn(e,t){let[n,...i]=e;if(i.length===0)this.set(n,t);else{let r=this.get(n,!0);if(W.isCollection(r))r.setIn(i,t);else if(r===void 0&&this.schema)this.set(n,Ws(this.schema,i,t));else throw new Error(`Expected YAML collection at ${n}. Remaining path: ${i}`)}}};$t.Collection=Gs;$t.collectionFromPath=Ws;$t.isEmptyPath=br});var We=b(xt=>{"use strict";var Ac=s=>s.replace(/^(?!$)(?: $)?/gm,"#");function Xs(s,e){return/^\n+$/.test(s)?s.substring(1):e?s.replace(/^(?! *$)/gm,e):s}var Tc=(s,e,t)=>s.endsWith(`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{A as c,B as d,C as e,I as f,J as g,K as h,L as i,M as j,N as k,O as l,y as a,z as b}from"./chunk-
|
|
1
|
+
import{A as c,B as d,C as e,I as f,J as g,K as h,L as i,M as j,N as k,O as l,y as a,z as b}from"./chunk-UJXASUXJ.js";import"./chunk-YNYSPYQ5.js";import"./chunk-PSW6BMXW.js";import"./chunk-NUFRM6SI.js";import"./chunk-DXB73IDG.js";export{d as escapeGlobChars,e as escapeRegexChars,l as expandRedirectTarget,g as expandWord,i as expandWordForPattern,h as expandWordForRegex,j as expandWordWithGlob,a as getArrayElements,c as getVariable,k as hasQuotedMultiValueAt,b as isArray,f as isWordFullyQuoted};
|