@coalescesoftware/coa 7.42.4 → 7.42.5
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/coa.js
CHANGED
|
@@ -7874,7 +7874,7 @@ ${this.customData.serverResponse}`:this.message=this._baseMessage}};(function(r)
|
|
|
7874
7874
|
`,p),p}return i}});var kTl=m((WDS,LTl)=>{"use strict";LTl.exports=DTl;function DTl(r,t,n){r instanceof RegExp&&(r=NTl(r,n)),t instanceof RegExp&&(t=NTl(t,n));var i=BTl(r,t,n);return i&&{start:i[0],end:i[1],pre:n.slice(0,i[0]),body:n.slice(i[0]+r.length,i[1]),post:n.slice(i[1]+t.length)}}function NTl(r,t){var n=t.match(r);return n?n[0]:null}DTl.range=BTl;function BTl(r,t,n){var i,o,s,a,u,p=n.indexOf(r),c=n.indexOf(t,p+1),l=p;if(p>=0&&c>0){if(r===t)return[p,c];for(i=[],s=n.length;l>=0&&!u;)l==p?(i.push(l),p=n.indexOf(r,l+1)):i.length==1?u=[i.pop(),c]:(o=i.pop(),o<s&&(s=o,a=c),c=n.indexOf(t,l+1)),l=p<c&&p>=0?p:c;i.length&&(u=[s,a])}return u}});var HTl=m((KDS,GTl)=>{var qTl=kTl();GTl.exports=zsg;var FTl="\0SLASH"+Math.random()+"\0",UTl="\0OPEN"+Math.random()+"\0",yrs="\0CLOSE"+Math.random()+"\0",zTl="\0COMMA"+Math.random()+"\0",QTl="\0PERIOD"+Math.random()+"\0";function mrs(r){return parseInt(r,10)==r?parseInt(r,10):r.charCodeAt(0)}function Fsg(r){return r.split("\\\\").join(FTl).split("\\{").join(UTl).split("\\}").join(yrs).split("\\,").join(zTl).split("\\.").join(QTl)}function Usg(r){return r.split(FTl).join("\\").split(UTl).join("{").split(yrs).join("}").split(zTl).join(",").split(QTl).join(".")}function jTl(r){if(!r)return[""];var t=[],n=qTl("{","}",r);if(!n)return r.split(",");var i=n.pre,o=n.body,s=n.post,a=i.split(",");a[a.length-1]+="{"+o+"}";var u=jTl(s);return s.length&&(a[a.length-1]+=u.shift(),a.push.apply(a,u)),t.push.apply(t,a),t}function zsg(r){return r?(r.substr(0,2)==="{}"&&(r="\\{\\}"+r.substr(2)),c5t(Fsg(r),!0).map(Usg)):[]}function Qsg(r){return"{"+r+"}"}function jsg(r){return/^-?0\d/.test(r)}function Gsg(r,t){return r<=t}function Hsg(r,t){return r>=t}function c5t(r,t){var n=[],i=qTl("{","}",r);if(!i)return[r];var o=i.pre,s=i.post.length?c5t(i.post,!1):[""];if(/\$$/.test(i.pre))for(var a=0;a<s.length;a++){var u=o+"{"+i.body+"}"+s[a];n.push(u)}else{var p=/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(i.body),c=/^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(i.body),l=p||c,d=i.body.indexOf(",")>=0;if(!l&&!d)return i.post.match(/,.*\}/)?(r=i.pre+"{"+i.body+yrs+i.post,c5t(r)):[r];var f;if(l)f=i.body.split(/\.\./);else if(f=jTl(i.body),f.length===1&&(f=c5t(f[0],!1).map(Qsg),f.length===1))return s.map(function(Y){return i.pre+f[0]+Y});var h;if(l){var A=mrs(f[0]),E=mrs(f[1]),C=Math.max(f[0].length,f[1].length),v=f.length==3?Math.abs(mrs(f[2])):1,O=Gsg,D=E<A;D&&(v*=-1,O=Hsg);var L=f.some(jsg);h=[];for(var k=A;O(k,E);k+=v){var z;if(c)z=String.fromCharCode(k),z==="\\"&&(z="");else if(z=String(k),L){var G=C-z.length;if(G>0){var H=new Array(G+1).join("0");k<0?z="-"+H+z.slice(1):z=H+z}}h.push(z)}}else{h=[];for(var V=0;V<f.length;V++)h.push.apply(h,c5t(f[V],!1))}for(var V=0;V<h.length;V++)for(var a=0;a<s.length;a++){var u=o+h[V]+s[a];(!t||l||u)&&n.push(u)}}return n}});var JTl,IR,Vsg,Wsg,Ksg,Ysg,Jsg,$sg,Xsg,Zsg,eag,tag,rag,nag,iag,oag,sag,aag,uag,cag,KTl,YTl,lag,eMr,Ers,pag,Rz,VTl,Srs,brs,dag,fag,$Tl,WTl,hag,gag,lTe,Aag,XTl,mag,tMr,Zxr,yag,Crs,bag,Eag,Sag,Cag,bnt,l5t=F(()=>{JTl=Ut(HTl(),1),IR=(r,t,n={})=>(tMr(t),!n.nocomment&&t.charAt(0)==="#"?!1:new bnt(t,n).match(r)),Vsg=/^\*+([^+@!?\*\[\(]*)$/,Wsg=r=>t=>!t.startsWith(".")&&t.endsWith(r),Ksg=r=>t=>t.endsWith(r),Ysg=r=>(r=r.toLowerCase(),t=>!t.startsWith(".")&&t.toLowerCase().endsWith(r)),Jsg=r=>(r=r.toLowerCase(),t=>t.toLowerCase().endsWith(r)),$sg=/^\*+\.\*+$/,Xsg=r=>!r.startsWith(".")&&r.includes("."),Zsg=r=>r!=="."&&r!==".."&&r.includes("."),eag=/^\.\*+$/,tag=r=>r!=="."&&r!==".."&&r.startsWith("."),rag=/^\*+$/,nag=r=>r.length!==0&&!r.startsWith("."),iag=r=>r.length!==0&&r!=="."&&r!=="..",oag=/^\?+([^+@!?\*\[\(]*)?$/,sag=([r,t=""])=>{let n=KTl([r]);return t?(t=t.toLowerCase(),i=>n(i)&&i.toLowerCase().endsWith(t)):n},aag=([r,t=""])=>{let n=YTl([r]);return t?(t=t.toLowerCase(),i=>n(i)&&i.toLowerCase().endsWith(t)):n},uag=([r,t=""])=>{let n=YTl([r]);return t?i=>n(i)&&i.endsWith(t):n},cag=([r,t=""])=>{let n=KTl([r]);return t?i=>n(i)&&i.endsWith(t):n},KTl=([r])=>{let t=r.length;return n=>n.length===t&&!n.startsWith(".")},YTl=([r])=>{let t=r.length;return n=>n.length===t&&n!=="."&&n!==".."},lag=typeof process=="object"&&process?typeof process.env=="object"&&process.env&&process.env.__MINIMATCH_TESTING_PLATFORM__||process.platform:"posix",eMr=lag==="win32",Ers=eMr?{sep:"\\"}:{sep:"/"},pag=Ers.sep;IR.sep=pag;Rz=Symbol("globstar **");IR.GLOBSTAR=Rz;VTl={"!":{open:"(?:(?!(?:",close:"))[^/]*?)"},"?":{open:"(?:",close:")?"},"+":{open:"(?:",close:")+"},"*":{open:"(?:",close:")*"},"@":{open:"(?:",close:")"}},Srs="[^/]",brs=Srs+"*?",dag="(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?",fag="(?:(?!(?:\\/|^)\\.).)*?",$Tl=r=>r.split("").reduce((t,n)=>(t[n]=!0,t),{}),WTl=$Tl("().*{}+?[]^$\\!"),hag=$Tl("[.("),gag=(r,t={})=>n=>IR(n,r,t);IR.filter=gag;lTe=(r,t={})=>Object.assign({},r,t),Aag=r=>{if(!r||typeof r!="object"||!Object.keys(r).length)return IR;let t=IR;return Object.assign((i,o,s={})=>t(i,o,lTe(r,s)),{Minimatch:class extends t.Minimatch{constructor(o,s={}){super(o,lTe(r,s))}static defaults(o){return t.defaults(lTe(r,o)).Minimatch}},filter:(i,o={})=>t.filter(i,lTe(r,o)),defaults:i=>t.defaults(lTe(r,i)),makeRe:(i,o={})=>t.makeRe(i,lTe(r,o)),braceExpand:(i,o={})=>t.braceExpand(i,lTe(r,o)),match:(i,o,s={})=>t.match(i,o,lTe(r,s)),sep:t.sep,GLOBSTAR:Rz})};IR.defaults=Aag;XTl=(r,t={})=>(tMr(r),t.nobrace||!/\{(?:(?!\{).)*\}/.test(r)?[r]:(0,JTl.default)(r));IR.braceExpand=XTl;mag=1024*64,tMr=r=>{if(typeof r!="string")throw new TypeError("invalid pattern");if(r.length>mag)throw new TypeError("pattern is too long")},Zxr=Symbol("subparse"),yag=(r,t={})=>new bnt(r,t).makeRe();IR.makeRe=yag;Crs=(r,t,n={})=>{let i=new bnt(t,n);return r=r.filter(o=>i.match(o)),i.options.nonull&&!r.length&&r.push(t),r};IR.match=Crs;bag=r=>r.replace(/\\(.)/g,"$1"),Eag=r=>r.replace(/\\([^-\]])/g,"$1"),Sag=r=>r.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),Cag=r=>r.replace(/[[\]\\]/g,"\\$&"),bnt=class{options;set;pattern;windowsPathsNoEscape;nonegate;negate;comment;empty;preserveMultipleSlashes;partial;globSet;globParts;regexp;constructor(t,n={}){tMr(t),n=n||{},this.options=n,this.pattern=t,this.windowsPathsNoEscape=!!n.windowsPathsNoEscape||n.allowWindowsEscape===!1,this.windowsPathsNoEscape&&(this.pattern=this.pattern.replace(/\\/g,"/")),this.preserveMultipleSlashes=!!n.preserveMultipleSlashes,this.regexp=null,this.negate=!1,this.nonegate=!!n.nonegate,this.comment=!1,this.empty=!1,this.partial=!!n.partial,this.globSet=[],this.globParts=[],this.set=[],this.make()}debug(...t){}make(){let t=this.pattern,n=this.options;if(!n.nocomment&&t.charAt(0)==="#"){this.comment=!0;return}if(!t){this.empty=!0;return}this.parseNegate(),this.globSet=this.braceExpand(),n.debug&&(this.debug=(...s)=>console.error(...s)),this.debug(this.pattern,this.globSet);let i=this.globSet.map(s=>this.slashSplit(s));if(this.options.noglobstar)this.globParts=i;else{for(let s of i){let a;do{a=!1;for(let u=0;u<s.length-1;u++)s[u]==="*"&&s[u-1]==="**"&&(s[u]="**",s[u-1]="*",a=!0)}while(a)}this.globParts=i.map(s=>(s=s.reduce((a,u)=>{let p=a[a.length-1];return u==="**"&&p==="**"?a:u===".."&&p&&p!==".."&&p!=="."&&p!=="**"?(a.pop(),a):(a.push(u),a)},[]),s.length===0?[""]:s))}this.debug(this.pattern,this.globParts);let o=this.globParts.map((s,a,u)=>s.map(p=>this.parse(p)));if(this.debug(this.pattern,o),this.set=o.filter(s=>s.indexOf(!1)===-1),eMr)for(let s=0;s<this.set.length;s++){let a=this.set[s];a[0]===""&&a[1]===""&&this.globParts[s][2]==="?"&&typeof a[3]=="string"&&/^[a-z]:$/i.test(a[3])&&(a[2]="?")}this.debug(this.pattern,this.set)}parseNegate(){if(this.nonegate)return;let t=this.pattern,n=!1,i=0;for(let o=0;o<t.length&&t.charAt(o)==="!";o++)n=!n,i++;i&&(this.pattern=t.slice(i)),this.negate=n}matchOne(t,n,i=!1){let o=this.options;if(eMr){let A=t[0]===""&&t[1]===""&&t[2]==="?"&&typeof t[3]=="string"&&/^[a-z]:$/i.test(t[3]),E=n[0]===""&&n[1]===""&&n[2]==="?"&&typeof n[3]=="string"&&/^[a-z]:$/i.test(n[3]);if(A&&E){let C=t[3],v=n[3];C.toLowerCase()===v.toLowerCase()&&(t[3]=v)}else if(E&&typeof t[0]=="string"){let C=n[3],v=t[0];C.toLowerCase()===v.toLowerCase()&&(n[3]=v,n=n.slice(3))}else if(A&&typeof n[0]=="string"){let C=t[3];C.toLowerCase()===n[0].toLowerCase()&&(n[0]=C,t=t.slice(3))}}this.debug("matchOne",this,{file:t,pattern:n}),this.debug("matchOne",t.length,n.length);for(var s=0,a=0,u=t.length,p=n.length;s<u&&a<p;s++,a++){this.debug("matchOne loop");var c=n[a],l=t[s];if(this.debug(n,c,l),c===!1)return!1;if(c===Rz){this.debug("GLOBSTAR",[n,c,l]);var d=s,f=a+1;if(f===p){for(this.debug("** at the end");s<u;s++)if(t[s]==="."||t[s]===".."||!o.dot&&t[s].charAt(0)===".")return!1;return!0}for(;d<u;){var h=t[d];if(this.debug(`
|
|
7875
7875
|
globstar while`,t,d,n,f,h),this.matchOne(t.slice(d),n.slice(f),i))return this.debug("globstar found match!",d,u,h),!0;if(h==="."||h===".."||!o.dot&&h.charAt(0)==="."){this.debug("dot detected!",t,d,n,f);break}this.debug("globstar swallow a segment, and continue"),d++}return!!(i&&(this.debug(`
|
|
7876
7876
|
>>> no match, partial?`,t,d,n,f),d===u))}let A;if(typeof c=="string"?(A=l===c,this.debug("string match",c,l,A)):(A=c.test(l),this.debug("pattern match",c,l,A)),!A)return!1}if(s===u&&a===p)return!0;if(s===u)return i;if(a===p)return s===u-1&&t[s]==="";throw new Error("wtf?")}braceExpand(){return XTl(this.pattern,this.options)}parse(t,n){tMr(t);let i=this.options;if(t==="**")if(i.noglobstar)t="*";else return Rz;if(t==="")return"";let o,s=null;n!==Zxr&&((o=t.match(rag))?s=i.dot?iag:nag:(o=t.match(Vsg))?s=(i.nocase?i.dot?Jsg:Ysg:i.dot?Ksg:Wsg)(o[1]):(o=t.match(oag))?s=(i.nocase?i.dot?aag:sag:i.dot?uag:cag)(o):(o=t.match($sg))?s=i.dot?Zsg:Xsg:(o=t.match(eag))&&(s=tag));let a="",u=!1,p=!1,c=[],l=[],d=!1,f=!1,h=-1,A=-1,E,C,v,O=t.charAt(0)===".",D=i.dot||O,L=()=>O?"":D?"(?!(?:^|\\/)\\.{1,2}(?:$|\\/))":"(?!\\.)",k=V=>V.charAt(0)==="."?"":i.dot?"(?!(?:^|\\/)\\.{1,2}(?:$|\\/))":"(?!\\.)",z=()=>{if(d){switch(d){case"*":a+=brs,u=!0;break;case"?":a+=Srs,u=!0;break;default:a+="\\"+d;break}this.debug("clearStateChar %j %j",d,a),d=!1}};for(let V=0,Y;V<t.length&&(Y=t.charAt(V));V++){if(this.debug("%s %s %s %j",t,V,a,Y),p){if(Y==="/")return!1;WTl[Y]&&(a+="\\"),a+=Y,p=!1;continue}switch(Y){case"/":return!1;case"\\":if(f&&t.charAt(V+1)==="-"){a+=Y;continue}z(),p=!0;continue;case"?":case"*":case"+":case"@":case"!":if(this.debug("%s %s %s %j <-- stateChar",t,V,a,Y),f){this.debug(" in class"),Y==="!"&&V===A+1&&(Y="^"),a+=Y;continue}this.debug("call clearStateChar %j",d),z(),d=Y,i.noext&&z();continue;case"(":{if(f){a+="(";continue}if(!d){a+="\\(";continue}let U={type:d,start:V-1,reStart:a.length,open:VTl[d].open,close:VTl[d].close};this.debug(this.pattern," ",U),c.push(U),a+=U.open,U.start===0&&U.type!=="!"&&(O=!0,a+=k(t.slice(V+1))),this.debug("plType %j %j",d,a),d=!1;continue}case")":{let U=c[c.length-1];if(f||!U){a+="\\)";continue}c.pop(),z(),u=!0,C=U,a+=C.close,C.type==="!"&&l.push(Object.assign(C,{reEnd:a.length}));continue}case"|":{let U=c[c.length-1];if(f||!U){a+="\\|";continue}z(),a+="|",U.start===0&&U.type!=="!"&&(O=!0,a+=k(t.slice(V+1)));continue}case"[":if(z(),f){a+="\\"+Y;continue}f=!0,A=V,h=a.length,a+=Y;continue;case"]":if(V===A+1||!f){a+="\\"+Y;continue}E=t.substring(A+1,V);try{RegExp("["+Cag(Eag(E))+"]"),a+=Y}catch{a=a.substring(0,h)+"(?:$.)"}u=!0,f=!1;continue;default:z(),WTl[Y]&&!(Y==="^"&&f)&&(a+="\\"),a+=Y;break}}for(f&&(E=t.slice(A+1),v=this.parse(E,Zxr),a=a.substring(0,h)+"\\["+v[0],u=u||v[1]),C=c.pop();C;C=c.pop()){let V;V=a.slice(C.reStart+C.open.length),this.debug(this.pattern,"setting tail",a,C),V=V.replace(/((?:\\{2}){0,64})(\\?)\|/g,(U,K,Z)=>(Z||(Z="\\"),K+K+Z+"|")),this.debug(`tail=%j
|
|
7877
|
-
%s`,V,V,C,a);let Y=C.type==="*"?brs:C.type==="?"?Srs:"\\"+C.type;u=!0,a=a.slice(0,C.reStart)+Y+"\\("+V}z(),p&&(a+="\\\\");let G=hag[a.charAt(0)];for(let V=l.length-1;V>-1;V--){let Y=l[V],U=a.slice(0,Y.reStart),K=a.slice(Y.reStart,Y.reEnd-8),Z=a.slice(Y.reEnd),$=a.slice(Y.reEnd-8,Y.reEnd)+Z,se=U.split(")").length,oe=U.split("(").length-se,ae=Z;for(let re=0;re<oe;re++)ae=ae.replace(/\)[+*?]?/,"");Z=ae;let ue=Z===""&&n!==Zxr?"(?:$|\\/)":"";a=U+K+Z+ue+$}if(a!==""&&u&&(a="(?=.)"+a),G&&(a=L()+a),n===Zxr)return[a,u];if(i.nocase&&!u&&!i.nocaseMagicOnly&&(u=t.toUpperCase()!==t.toLowerCase()),!u)return bag(t);let H=i.nocase?"i":"";try{let V=s?{_glob:t,_src:a,test:s}:{_glob:t,_src:a};return Object.assign(new RegExp("^"+a+"$",H),V)}catch(V){return this.debug("invalid regexp",V),new RegExp("$.")}}makeRe(){if(this.regexp||this.regexp===!1)return this.regexp;let t=this.set;if(!t.length)return this.regexp=!1,this.regexp;let n=this.options,i=n.noglobstar?brs:n.dot?dag:fag,o=n.nocase?"i":"",s=t.map(a=>{let u=a.map(p=>typeof p=="string"?Sag(p):p===Rz?Rz:p._src);return u.forEach((p,c)=>{let l=u[c+1],d=u[c-1];p!==Rz||d===Rz||(d===void 0?l!==void 0&&l!==Rz?u[c+1]="(?:\\/|"+i+"\\/)?"+l:u[c]=i:l===void 0?u[c-1]=d+"(?:\\/|"+i+")?":l!==Rz&&(u[c-1]=d+"(?:\\/|\\/"+i+"\\/)"+l,u[c+1]=Rz))}),u.filter(p=>p!==Rz).join("/")}).join("|");s="^(?:"+s+")$",this.negate&&(s="^(?!"+s+").*$");try{this.regexp=new RegExp(s,o)}catch{this.regexp=!1}return this.regexp}slashSplit(t){return this.preserveMultipleSlashes?t.split("/"):eMr&&/^\/\/[^\/]+/.test(t)?["",...t.split(/\/+/)]:t.split(/\/+/)}match(t,n=this.partial){if(this.debug("match",t,this.pattern),this.comment)return!1;if(this.empty)return t==="";if(t==="/"&&n)return!0;let i=this.options;Ers.sep!=="/"&&(t=t.split(Ers.sep).join("/"));let o=this.slashSplit(t);this.debug(this.pattern,"split",o);let s=this.set;this.debug(this.pattern,"set",s);let a=o[o.length-1];if(!a)for(let u=o.length-2;!a&&u>=0;u--)a=o[u];for(let u=0;u<s.length;u++){let p=s[u],c=o;if(i.matchBase&&p.length===1&&(c=[a]),this.matchOne(c,p,n))return i.flipNegate?!0:!this.negate}return i.flipNegate?!1:this.negate}static defaults(t){return IR.defaults(t).Minimatch}};IR.Minimatch=bnt});var evl,tvl,rvl,nvl,ivl,ovl,svl,avl,uvl,cvl,lvl,ZTl,Ent,pvl=F(()=>{"use strict";l5t();evl=2,tvl=1,rvl=3,nvl=2,ivl=8,ovl=5,svl=6,avl=new RegExp(/([\+]?){([\s\S]+)}([\+](?![\+]))?\s*/g),uvl=new RegExp(/((\w+):\s*((?:["])((([^\"\+\r\n\[/\\]+))(?:["]))|(([^\"\ \+\r\n\[/\\]+))))/g),cvl=new RegExp(/((\w+):\s*(((?:["])(((?:[^"]|"")*))(?:["]))|(([^\"\ \+\r\n\[/\\]+))))/g),lvl=new RegExp(/((?:[^\+\ \r\n\[\\]|\\.|\[(?:[^\r\n\]\\]|\\.)*\])+)\s*/g),ZTl="",Ent=(r,t)=>{if(t==="*")return r.some(o=>o!=null&&String(o).length>0);let n=r.map(o=>o!=null?String(o).replace(/\//g,ZTl):""),i=t.replace(/\//g,ZTl);return!!Crs(n,i).length}});var Snt,e5S,dvl,fvl,hvl,rMr,gvl,nMr=F(()=>{"use strict";rn();Xo();_d();NI();sr();Ars();pvl();Snt=He("SEARCH"),e5S=w.object({include:w.string(),exclude:w.string(),enabled:w.boolean()}),dvl={name:{MatchFunction:Ent,MatchList:r=>[r.operation.name]},location:{MatchFunction:Ent,MatchList:r=>[r.operation.locationName]},nodeType:{MatchFunction:Ent,MatchList:r=>[r.operation.sqlType]},subgraph:{MatchFunction:Ent,MatchList:r=>[r?.id?.toString(),r.name]},nodeID:{MatchFunction:Ent,MatchList:r=>[r]}},fvl=r=>{let t=[];return r.forEach((n,i)=>{if(n==="+{"||n==="{"||n==="}"||n==="}+")return;let o=n,s=n.split(""),a=s[s.length-1],u=s[0];a!=="}"&&a!=="+"&&(o=o+r[i+1]),u!=="{"&&u!=="+"&&(o=r[i-1]+o),t.push(o)}),t},hvl=(r,t,n,i=!1)=>{let{steps:o,graphInformation:s,allSubgraphs:a,allStepTypesYAML:u}=n,p={},c=j3()?Date.now():performance.now(),l=r;l||(l=t);let d=l.split(/(\}\+?)\s*(or|OR|\|\|)\s*(\+?\{)/).filter(A=>!(A==="OR"||A==="or"||A==="||")),f=fvl(d);f.length||(f=[t]),Snt.debug("got unions",f,"searchStringTouse",l,"defaultSearchString",t,"steps",o),f.forEach(A=>{let E=A.split(/(\}\+?)\s*(and|AND|\,)\s*(\+?\{)/).filter(L=>!(L==="AND"||L==="and"||L===",")),C=fvl(E),v=[];C.forEach(L=>{let k={};Snt.debug("Got intersection:",L);let z=[...L.matchAll(avl)];if(Snt.debug("Got matches:",L,z),!z[0])return;let G=z[0][evl],H={prefix:z[0][tvl]||"",postfix:z[0][rvl]||""};if(G.indexOf(":")>-1){let U=i?cvl:uvl,K=[...G.trim().matchAll(U)],Z=i?svl:ovl;K.forEach($=>{let se=$[nvl],oe=$[ivl]||$[Z];H[se]=oe})}else{let K=[...G.trim().matchAll(lvl)][0];K&&(H.name=K[0])}kM(H);let V=H;Snt.debug("Got groups ",L,V);let Y=new Set;if(V.subgraph?Object.values(a).forEach(U=>{let K=dvl.subgraph,Z=K.MatchList(U);if(K.MatchFunction(Z,V.subgraph)){let{steps:se}=U;se.forEach(oe=>{Y.add(oe.toString())})}else return}):Y=new Set(Object.keys(o)),V.nodeType){let{nodeType:U}=V;if(!u[U]){let K=U;Object.entries(u).forEach(([Z,$])=>{$.name===U&&(K=Z)}),V.nodeType=K}}Object.keys(o).forEach(U=>{if(!V){Snt.emerg("got an unexpected undefined value for match",l,V,L);return}let K=Y.has(U);if(Object.entries(V).forEach(([Z,$])=>{let se=o[U];if(Z==="nodeID"&&(se=U),Z==="subgraph"){K=Y.has(U);return}let oe=dvl[Z];if(oe){let ae=oe.MatchList(se).filter(ue=>ue!=null);K=K&&oe.MatchFunction(ae,$)}}),K){if(k[U]=!0,V.prefix&&s){let Z=grs(s,U,"predecessors");Object.values(Z).forEach($=>[...$.keys()].forEach(se=>k[se]=!0))}if(V.postfix&&s){let Z=grs(s,U,"successors");Object.values(Z).forEach($=>[...$.keys()].forEach(se=>k[se]=!0))}}}),v.push(k)}),v.length||v.push({});let O={};Object.keys(o).forEach(L=>{O[L]=!0});let D=v.reduce((L,k)=>Object.fromEntries(ozc(L,k).map(z=>[z,!0])),O);p={...p,...D}});let h=j3()?Date.now():performance.now();return Snt.debug("Time that search took: ",h-c),p},rMr=(r,t,n,i=!1)=>{let o=hvl(`${r}`,"{ * }",n,i),s=hvl(`${t}`,"!*",n,i),a=o;return Object.keys(s).forEach(u=>{delete a[u]}),{stepsResult:a}},gvl=(r,t,n,i)=>{let o=[];return t.forEach(s=>{let a=i[s];if(a){let{name:u}=a,p=`{ subgraph: "${u}" }`;o.push(p)}}),r.forEach(s=>{let a=n[s];if(a){let{locationName:u,name:p}=a.operation,c=`{ location: "${u}" name: "${p}" }`;o.push(c)}}),o}});var vag,Avl,Trs,mvl,iMr=F(()=>{"use strict";uo();sr();nMr();vag=He("JOBS"),Avl=r=>!r?.hasOwnProperty("includeSelector")||!r?.hasOwnProperty("version"),Trs=(r,t,n)=>{let{steps:i,subgraphs:o,...s}=r,a={...s};if(a.hasOwnProperty("version")||(a.version=vee),a.hasOwnProperty("includeSelector"))return a;a.includeSelector="",a.excludeSelector="";let u=new Set(i),p=new Set(o),d=gvl([...u],[...p].map(f=>`${f}`),n,t).map(f=>`+${f}`).join(" OR ");return a.includeSelector=d,vag.info("Upgrading job v1 to v2",r,a),a},mvl=(r,t)=>{let{jobs:n,folders:i,steps:o}=r,s=n[t];return Trs(s,i,o)}});var c5S,yvl,bvl=F(()=>{"use strict";lr();Sc();sr();mfe();c5S=He("PACKAGES_BACKEND"),yvl=(r,t,n)=>{let i=C$o(t)??"",o=r?.config?.entities?.nodeTypes[i];return o||(n.error(`No config found for node type ${t}`),{isDisabled:!1,defaultStorageLocation:null})}});var pTe,Iag,Rag,p5t=F(()=>{"use strict";Ta();sr();Xtt();bvl();pTe=(r,t={})=>Object.values(r).map(n=>Iag(n)).reduce((n,i)=>{for(let[o,s]of Object.entries(i))n[o]=s;return n},t),Iag=r=>Object.fromEntries(Object.entries(r?.contents?.nodeTypes??{}).map(([t,n])=>{let{id:i,nodeType:o}=Rag(r.alias,t,r,n);return[i,o]})),Rag=(r,t,n,i)=>{let o=A_r(r,t),{isDisabled:s,defaultStorageLocation:a}=yvl(n,o,He("PACKAGES")),u={...Yc(i),id:o,isDisabled:s};return u.metadata.defaultStorageLocation=a,{id:o,nodeType:u}}});var es,_ag,Evl,Svl,vrs,E5S,Oag,Cvl,wag,xag,oMr,Irs=F(()=>{"use strict";es=Ut(oW());uo();jU();FSr();Xa();_ag=es.Record({type:es.Unknown,name:es.String}),Evl=es.Record({locationName:es.String,nodeName:es.String}),Svl=es.Record({sql:es.String,success:es.Boolean,rows:es.Array(es.Unknown),fields:es.Array(_ag),error:es.Union(es.Null,PSr).optional(),startTime:es.Unknown,endTime:es.Unknown,status:es.String,name:es.String,isRunning:es.Boolean,exportedRefs:es.Array(Evl),invalidExportedRefs:es.Array(Evl),queryResultSequence:es.Optional(es.Unknown),type:es.Union(es.Literal("sql"),es.Literal("sqlTest")).optional(),warehouse:es.String.nullable().optional(),queryID:es.String.nullable().optional()}),vrs=es.Record({name:es.String,queryResults:es.Array(Svl),isRunning:es.Boolean,renderQueryResults:es.Optional(Svl)}),E5S=es.Record({runExecutionSequenceID:es.Number,runResultVersion:es.Number,name:es.String,queryResultSequence:vrs,runState:es.String}),Oag=es.Record({dataResult:es.Unknown,name:es.String,queryResultSequence:vrs,runExecutionSequenceID:es.Number,runResultVersion:es.Number,runState:es.String,stepRunState:tZe(DFo)}),Cvl=LM("RunResultFirestoreValidator",Oag),wag=es.Record({nodeID:es.String,queryResultSequence:vrs,runState:es.String,hasTestFailures:es.Boolean.optional()}),xag=es.Record({runResults:es.Record({runStartTime:es.Unknown,runEndTime:es.Unknown,runFailureReason:es.Optional(es.String),runType:es.String,runStatus:es.String,runResults:es.Array(wag),runID:es.Number,environmentID:es.String,snowflakeAccount:es.String.optional(),snowflakeWarehouse:es.String.optional(),jobID:es.Number.optional(),hasFailedTest:es.Boolean.optional(),runTimeParameters:es.Unknown.nullable(),includeNodesSelector:es.String.optional(),excludeNodesSelector:es.String.optional()})}),oMr=LM("TRunOutput",xag)});var T5S,Tvl=F(()=>{"use strict";uo();FSr();T5S=tZe(NFo)});var SLe,sMr=F(()=>{"use strict";Ta();NI();sr();SLe=class{constructor(t,n,i,o){this.allNodes=t;this.renderResults=n;this.extraRefs=i;this.logContext=o;this.phasedRefUsage=n.map("phased ref usage",s=>s.map(a=>a.runDetails.ref_usage))}allNodes;renderResults;extraRefs;logContext;phasedRefUsage;buildPhase(t,n){let i="[DependencyBuilder.buildPhase()]",o=n.keys(),s=Object.keys(this.extraRefs),a=[...new Set([...o,...s])];if(He("PIPELINE").appContext(this.logContext,i,"Nodes present in both current-phase data AND extra non-phased (views & advanced deploy) data:",FRo([...o],s)),this.noDependenciesPhases.includes(t))return Object.fromEntries(a.map(u=>[u,[]]));{let u=this.getNodeRefsInPhase(t,a),p=new z8e(dS(this.allNodes,a));return pS(u,(c,l)=>{let{nodeIDsToAdd:d}=urt(c,p);return[...new Set(d)].filter(f=>f!==l)})}}build(){return Object.fromEntries([...this.phasedRefUsage.entries()].map(([t,n])=>[t,this.buildPhase(t,n)]))}}});var P5S,Rrs=F(()=>{"use strict";lr();sr();Sc();P5S=He("DEBUG")});var vvl=F(()=>{"use strict"});var aMr,_rs=F(()=>{"use strict";aMr=r=>{typeof r.stepCounter=="number"&&(r.stepCounter=`${r.stepCounter}`),typeof r.columnCounter=="number"&&(r.columnCounter=`${r.columnCounter}`)}});var dTe,Xs,Ors=F(()=>{"use strict";Ps();QU();dTe=new Date("1980-01-01T00:00:00.000Z"),Xs=(r,t,n)=>{let i=`${r}Entity`;return n||(n=na(t)),{standard:Dr(i,n),strict:Dr(`${i} (strict)`,t)}}});var Ivl,Pag,Rvl,CLe,d5t,wrs,xrs,Xu,Mrs,RR,Prs=F(()=>{"use strict";Xm();Ors();ufe();Ivl=r=>{if(Array.isArray(r))for(let t=r.length-1;t>=0;t--)r[t]===void 0&&r.splice(t,1);if(r&&typeof r=="object")for(let t in r)r.hasOwnProperty(t)&&r[t]===void 0&&delete r[t];return[r,!1]},Pag=(r,t)=>{if(r&&typeof r=="object"){let n=r;if(n.toDate&&(!isNaN(n.seconds)&&!isNaN(n.nanoseconds)||!isNaN(n._seconds)&&!isNaN(n._nanoseconds))){let i=n.toDate();return i.getTime()===ofe.SENTINEL_DATE&&Xl().emerg(`Repository server timestamp sentinel value found in stored data at path ${t}`),[i,!0]}}return[r,!1]},Rvl=(r,t)=>r instanceof b8e?[t.getDeleteSentinel(),!0]:r instanceof Date&&r.getTime()===ofe.SENTINEL_DATE?[t.getServerTimestampSentinel(),!0]:[r,!1],CLe=(r,t,n)=>{let[i,o]=t(n,r);if(!o&&typeof i=="object"){if(Array.isArray(i))return i.map(s=>CLe(r,t,s));for(let s in i)i.hasOwnProperty(s)&&(i[s]=CLe(r,t,i[s]))}return i},d5t=class{fromStorage(t,n,i,o,s){try{return this.transformFromStorage(t,n,i,o,s)}catch(a){if(s?.onDataTransformError&&s.onDataTransformError(n,a),!s?.ignoreDataTransformErrors)throw Xl().debug(`Error transforming repository entity ${n} from storage: ${a}`),a}return i}toStorage(t,n,i,o,s){try{return this.transformToStorage(t,n,i,o,s)}catch(a){if(s?.onDataTransformError&&s.onDataTransformError(n,a),!s?.ignoreDataTransformErrors)throw Xl().debug(`Error transforming repository entity ${n} to storage ${a}`),a}return i}mergeToStorage(t,n,i,o,s){try{return this.mergeTransformToStorage(t,n,i,o,s)}catch(a){if(s?.onDataTransformError&&s.onDataTransformError(n,a),!s?.ignoreDataTransformErrors)throw Xl().debug(`Error merge transforming repository entity ${n} to storage ${a}`),a}return i}},wrs=class extends d5t{constructor(n=!1){super();this.preserveID=n}preserveID;transformFromStorage(n,i,o){return"id"in o?o.id!=n&&(Xl().error(`'id' property does not match doc id on doc at path ${i}; doc id: ${n}, value.id: ${o.id}`),o.id=n):o.id=n,"createdAt"in o||(o.createdAt=dTe),"updatedAt"in o||(o.updatedAt=dTe),CLe(i,Pag,o)}transformToStorage(n,i,o,s){return this.preserveID||delete o.id,CLe(i,a=>{let[u,p]=Rvl(a,s);return p?[u,!0]:Ivl(u)},o)}mergeTransformToStorage(n,i,o,s){return this.preserveID||delete o.id,CLe(i,a=>{let[u,p]=Rvl(a,s);return p?[u,!0]:Ivl(u)},o)}},xrs=class extends d5t{constructor(n){super();this.validators=n}validators;transformFromStorage(n,i,o,s,a){let u=this.getValidatorOptions(n,a?.validatorOptions);return a?.enableStrictValidation?this.validators.strict.assert(o,u):this.validators.standard.assert(o,u)}transformToStorage(n,i,o,s,a){let u=this.getValidatorOptions(n,a?.validatorOptions);return a?.enableStrictValidation?this.validators.strict.assert(o,u):this.validators.standard.assert(o,u)}mergeTransformToStorage(n,i,o,s,a){return o}getValidatorOptions(n,i,o=500){let s={...i,statusCode:o};return s.errorMessage||(s.errorMessage=a=>`Found ${a.failures.length} validation failure(s) for ${this.validators.standard.name} ${n}`),s}},Xu=(r,t,n)=>{let i=[new wrs(n),new xrs(r)];return t&&i.unshift(t),new Mrs(...i)},Mrs=class{transforms;constructor(...t){this.transforms=t}fromStorage(t,n,i,o,s){return this.transforms.reduce((a,u)=>u.fromStorage(t,n,a,o,s),i)}toStorage(t,n,i,o,s){return this.transforms.reduceRight((a,u)=>u.toStorage(t,n,a,o,s),i)}mergeToStorage(t,n,i,o,s){return this.transforms.reduceRight((a,u)=>u.mergeToStorage(t,n,a,o,s),i)}},RR=class extends d5t{transformToStorage(t,n,i){return i}mergeTransformToStorage(t,n,i){return i}}});var Of=F(()=>{"use strict";Prs()});var _vl,Cnt,qW,Nrs,f5t,_z,fTe,Brs,Nag,Dag,Ovl,Drs,uMr,wvl=F(()=>{"use strict";uo();sr();Of();_rs();_vl=r=>!!r&&typeof r=="object"&&!Array.isArray(r),Cnt=r=>_vl(r)&&!(r instanceof Date)&&!(r instanceof RegExp),qW=r=>{if(typeof r=="string")return r;if(_vl(r)&&r.constructor&&typeof r.constructor.name=="string")return`[class ${r.constructor.name}]`;if(r instanceof Date)return`[date ${r.toISOString()}]`;if(r instanceof RegExp)return`[regexp ${r.toString()}]`;if(typeof r=="function")return`[function ${r.name}]`;try{return JSON.stringify(r)}catch{return"Error: could not stringify unknown value"}},Nrs=r=>r==null,f5t=(r,t,n,i)=>{t.filter((o,s)=>Cnt(o)?!0:(n.logError(`Invalid ${r} item detected at index ${s}: ${qW(o)}`),n.logPatch(`Removed invalid ${r} item at index ${s}`),!1)).forEach(i)},_z=(r,t,n)=>{r[t]=n},fTe=(r,t)=>{delete r[t]},Brs=(r,t,n)=>{let i=new Drs(r,He("FIREBASE"),t),{logError:o,logPatch:s,report:a}=i,u=()=>(a(),n);if(!Cnt(n))return u();let p=n;if([["locationName",!p.locationName&&typeof p.locationName!="string"||typeof p.locationName!="string"],["description",typeof p.description!="string"]].forEach(([c,l])=>{l&&(s(`Set non-string property ${c} from ${qW(p[c])} to ""`),_z(p,c,""))}),["dependencies","isDataVault","locationID"].forEach(c=>{c in p&&(s(`Removed deprecated field ${c}`),fTe(p,c))}),p.type==="sql")s("-- data.type is sql --"),Nag(r,p,i);else if(p.type==="sourceInput")s("-- data.type is sourceInput --"),Dag(r,p,i);else return o(`Data type is of invalid type ${qW(p.type)}`),u();return p.version!==Cee&&(s(`Set version ${qW(p.version)} to ${Cee}`),_z(p,"version",Cee)),u()},Nag=(r,t,n)=>{let{logError:i,logPatch:o}=n;if(t.isMultisource===void 0&&(o("Set missing isMultisource to false"),_z(t,"isMultisource",!1)),Cnt(t.metadata)){let s=t.metadata;if(s.appliedNodeTests===null&&(o("Set metadata.appliedNodeTests from null to []"),_z(s,"appliedNodeTests",[])),!Array.isArray(s.sourceMapping)||!s.sourceMapping.length){o("Set non-array or empty metadata.sourceMapping to [ basicMapping ]");let a;typeof t.name=="string"?a=t.name:(o("Data has no name value, setting sourceMapping.name to empty string"),a=""),_z(s,"sourceMapping",[{name:a,join:{joinCondition:""},dependencies:[],noLinkRefs:[],aliases:{}}])}else f5t("sourceMapping",s.sourceMapping,n,(a,u)=>{let p=a;if(typeof p.join=="string"){let c={joinCondition:""};o(`Setting invalid string value metadata.sourceMapping[${u}].join to object: ${qW(c)}`),_z(p,"join",c)}if(p.name===void 0){let c=p.join?.name??"";o(`Set missing metadata.sourceMapping[${u}].name to "${c}"`),_z(p,"name",c),c||i(`metadata.sourceMapping[${u}].name is an empty string`)}Array.isArray(p.dependencies)&&f5t("sourceMapping dependency",p.dependencies,n,(c,l)=>{let d=c;for(let f of["locationName","nodeName"])Nrs(d[f])&&(o(`Set metadata.sourceMapping[${u}].dependencies[${l}].${f} from ${qW(d[f])} to ""`),_z(d,f,""))})});Ovl(r,s.columns,n)}if(t.config&&typeof t.config=="object")for(let[s,a]of Object.entries(t.config))a===null&&(o(`Removing null config property "${s}"`),fTe(t.config,s))},Dag=(r,t,n)=>{let{logPatch:i,logError:o}=n;if(t.dataset!==void 0&&(i("Removed deprecated v0 property dataset"),fTe(t,"dataset")),t.table!==void 0&&(t.table!==t.name&&o(`source data properties 'table' and 'name' are different for source node ${r}, table: ${t.table}, name: ${t.name}`),i("Removed deprecated v0 property table"),fTe(t,"table")),Cnt(t.metadata)){let s=t.metadata;Array.isArray(s.columns)&&(s.columns.length&&Ovl(r,s.columns,n),Object.keys(s).length>1&&(i(`Removed deprecated metadata properties, keeping only columns. Was: ${qW(s)}`),_z(t,"metadata",{columns:s.columns})))}},Ovl=(r,t,n)=>{let{logPatch:i}=n;Array.isArray(t)&&f5t("column",t,n,(o,s)=>{let a=o;if(["ghostRecordValue","descendedFrom","hashColumns","columnsForHash"].forEach(c=>{a.hasOwnProperty(c)&&(i(`Removed deprecated property '${c}' from metadata.columns[${s}]`),fTe(a,c))}),Cnt(a.hashDetails)){let c=a.hashDetails;c.hashType&&(i(`Removed deprecated property 'hashType' from metadata.columns[${s}].hashDetails`),fTe(c,"hashType")),c.hubHashes&&(i(`Removed deprecated property 'hubHashes' from metadata.columns[${s}].hashDetails`),fTe(c,"hubHashes"))}[["appliedColumnTests",a.appliedColumnTests===null],["config",a.config===null],["hashDetails",typeof a.hashDetails=="string"]].forEach(([c,l])=>{l&&(i(`Deleted metadata.columns[${s}].${c} with invalid value ${qW(a[c])}`),fTe(a,c))}),[["dataType",typeof a.dataType!="string"],["transform",a.transform===null]].forEach(([c,l])=>{l&&(i(`Set ${c} from ${qW(a[c])} to "" in metadata.columns[${s}]`),_z(a,c,""))});let u=a.hashedColumns;if(Array.isArray(u))for(let c of u)aMr(c);let p=a.columnReference;if(Cnt(p)){aMr(p);let c=p;Nrs(c.stepCounter)&&(i(`Set metadata.columns[${s}].columnReference.stepCounter from ${qW(c.stepCounter)} to ${r}`),_z(c,"stepCounter",r))}Array.isArray(a.sourceColumnReferences)&&f5t("sourceColumnReference",a.sourceColumnReferences,n,(c,l)=>{let d=c;Array.isArray(d.columnReferences)&&f5t("columnReference",d.columnReferences,n,(f,h)=>{aMr(f);let A=f;Nrs(A.stepCounter)&&(i(`Set invalid metadata.columns[${s}].sourceColumnReferences[${l}].columnReferences[${h}].stepCounter to "" from ${qW(r)}`),_z(A,"stepCounter",""))})})})},Drs=class{constructor(t,n,i){this.id=t;this.logger=n;this.path=i}id;logger;path;patchMessages=[];errorMessages=[];logPatch=t=>{this.patchMessages.push(t)};logError=t=>{this.errorMessages.push(t)};reportErrors=()=>{this.errorMessages.length&&this.logger.error(`Error patching node data with id ${this.id} at path ${this.path}`,this.errorMessages)};reportPatches=()=>{this.patchMessages.length&&this.logger.debug(`Patched node data with id ${this.id} at path ${this.path}`,this.patchMessages)};report=()=>{this.reportErrors(),this.reportPatches()}},uMr=class extends RR{transformFromStorage(t,n,i){return Brs(t,n,i)}}});var h5t=F(()=>{"use strict";vvl();_rs();wvl()});var xvl=F(()=>{"use strict"});var S6S,C6S,T6S,Mvl,Pvl,Nvl,hTe=F(()=>{"use strict";lr();lb();sr();Rrs();Ztt();Xo();sr();fm();ote();h5t();MCe();h$o();xvl();H6();j6();vN();Afe();S6S=He("FIREBASE"),C6S=He("STEPS"),T6S=He("METADATA_OPERATIONS"),Mvl=(r,t)=>t[r].runState==="running",Pvl=r=>(iy("STEPS",!!r,`Error converting API refs: argument apiRefLinks is ${r}.`),r.map(t=>({locationName:t.location_name,nodeName:t.node_name}))),Nvl=r=>r?.deployEnabled??!0});var TLe,Dvl=F(()=>{"use strict";hTe();sMr();TLe=class extends SLe{noDependenciesPhases=["deletedTable"];getNodeRefsInPhase(t,n){return Object.fromEntries(n.map(i=>{let o,s=this.extraRefs[i];s?o=[s]:o=this.phasedRefUsage.get(t,i);let a=o.map(({ref:u,ref_no_link:p})=>Pvl([...u,...p]));return[i,[].concat(...a)]}))}}});var g5t,Bvl=F(()=>{"use strict";Ta();b9();sMr();g5t=class extends SLe{noDependenciesPhases=[];getNodeRefsInPhase(t,n){let i=dS(this.allNodes,...n);return pS(i,o=>{if(BCe(o.operation))return[];let{sourceMapping:s}=o.operation.metadata;if(!s?.length)return[];let a=s.map(({dependencies:u})=>u);return[].concat(...a)})}}});var Lrs=F(()=>{"use strict";sMr();Dvl();Bvl()});var Lvl=F(()=>{"use strict"});var A5t,kvl=F(()=>{"use strict";cZ();Xm();A5t=async(r,t)=>{let{attempts:n,tags:i,waitSeconds:o}=t,s=Xl().child({retryOptions:{maxAttempts:n,waitSeconds:o},tags:["[withRetries]",...i]});A2(n>=2,`Retry attempts value must be at least '2', but was '${n}'`,s);try{let a=await r();return s.debug("Operation succeeded without retrying"),a}catch(a){s.error(`Operation initial attempt failed; retrying. Error: ${a}`);let u,p=n-1;do{p--,await new Promise(c=>setTimeout(c,o*(n-p)*1e3));try{let c=await r();return s.info(`Operation succeeded on retry (attempt ${n-p})`),c}catch(c){s.error(`Operation failed on retry (attempt ${n-p}). Error: ${c}`),u=c}}while(p);throw s.error("Exhausted all retry attempts; exiting"),u}}});var krs=F(()=>{"use strict";Lvl();kvl()});function Tnt(r,t){let n=[];for(let i of r){let o=i.compiledSQL?art(i.compiledSQL):[];if(o.length===0)t&&n.push({name:t,sql:"",type:"sql",continueOnFailure:!1,parsedStage:null});else for(let s of o)n.push({name:s.name,sql:s.code,type:s.type,continueOnFailure:s.continueOnFailure,parsedStage:s})}return n}function cMr(r,t){return r==="deletedTable"&&t?qvl:qag}var qag,qvl,m5t=F(()=>{"use strict";fm();qag="Making metadata updates",qvl="Deleting metadata for source input"});var FW,y5t=F(()=>{"use strict";lr();FW=class extends et{constructor(n,i,o="system"){super(i,`Failed node ${n}: ${i}`);this.nodeID=n;this.fault=o}nodeID;fault}});var b5t=m((V6S,Fvl)=>{var Fag="2.0.0",Uag=Number.MAX_SAFE_INTEGER||9007199254740991,zag=16,Qag=250,jag=["major","premajor","minor","preminor","patch","prepatch","prerelease"];Fvl.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:zag,MAX_SAFE_BUILD_LENGTH:Qag,MAX_SAFE_INTEGER:Uag,RELEASE_TYPES:jag,SEMVER_SPEC_VERSION:Fag,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var E5t=m((W6S,Uvl)=>{var Gag=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...r)=>console.error("SEMVER",...r):()=>{};Uvl.exports=Gag});var vnt=m((Gfe,zvl)=>{var{MAX_SAFE_COMPONENT_LENGTH:qrs,MAX_SAFE_BUILD_LENGTH:Hag,MAX_LENGTH:Vag}=b5t(),Wag=E5t();Gfe=zvl.exports={};var Kag=Gfe.re=[],Yag=Gfe.safeRe=[],Ia=Gfe.src=[],Ra=Gfe.t={},Jag=0,Frs="[a-zA-Z0-9-]",$ag=[["\\s",1],["\\d",Vag],[Frs,Hag]],Xag=r=>{for(let[t,n]of $ag)r=r.split(`${t}*`).join(`${t}{0,${n}}`).split(`${t}+`).join(`${t}{1,${n}}`);return r},pd=(r,t,n)=>{let i=Xag(t),o=Jag++;Wag(r,o,t),Ra[r]=o,Ia[o]=t,Kag[o]=new RegExp(t,n?"g":void 0),Yag[o]=new RegExp(i,n?"g":void 0)};pd("NUMERICIDENTIFIER","0|[1-9]\\d*");pd("NUMERICIDENTIFIERLOOSE","\\d+");pd("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${Frs}*`);pd("MAINVERSION",`(${Ia[Ra.NUMERICIDENTIFIER]})\\.(${Ia[Ra.NUMERICIDENTIFIER]})\\.(${Ia[Ra.NUMERICIDENTIFIER]})`);pd("MAINVERSIONLOOSE",`(${Ia[Ra.NUMERICIDENTIFIERLOOSE]})\\.(${Ia[Ra.NUMERICIDENTIFIERLOOSE]})\\.(${Ia[Ra.NUMERICIDENTIFIERLOOSE]})`);pd("PRERELEASEIDENTIFIER",`(?:${Ia[Ra.NUMERICIDENTIFIER]}|${Ia[Ra.NONNUMERICIDENTIFIER]})`);pd("PRERELEASEIDENTIFIERLOOSE",`(?:${Ia[Ra.NUMERICIDENTIFIERLOOSE]}|${Ia[Ra.NONNUMERICIDENTIFIER]})`);pd("PRERELEASE",`(?:-(${Ia[Ra.PRERELEASEIDENTIFIER]}(?:\\.${Ia[Ra.PRERELEASEIDENTIFIER]})*))`);pd("PRERELEASELOOSE",`(?:-?(${Ia[Ra.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${Ia[Ra.PRERELEASEIDENTIFIERLOOSE]})*))`);pd("BUILDIDENTIFIER",`${Frs}+`);pd("BUILD",`(?:\\+(${Ia[Ra.BUILDIDENTIFIER]}(?:\\.${Ia[Ra.BUILDIDENTIFIER]})*))`);pd("FULLPLAIN",`v?${Ia[Ra.MAINVERSION]}${Ia[Ra.PRERELEASE]}?${Ia[Ra.BUILD]}?`);pd("FULL",`^${Ia[Ra.FULLPLAIN]}$`);pd("LOOSEPLAIN",`[v=\\s]*${Ia[Ra.MAINVERSIONLOOSE]}${Ia[Ra.PRERELEASELOOSE]}?${Ia[Ra.BUILD]}?`);pd("LOOSE",`^${Ia[Ra.LOOSEPLAIN]}$`);pd("GTLT","((?:<|>)?=?)");pd("XRANGEIDENTIFIERLOOSE",`${Ia[Ra.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);pd("XRANGEIDENTIFIER",`${Ia[Ra.NUMERICIDENTIFIER]}|x|X|\\*`);pd("XRANGEPLAIN",`[v=\\s]*(${Ia[Ra.XRANGEIDENTIFIER]})(?:\\.(${Ia[Ra.XRANGEIDENTIFIER]})(?:\\.(${Ia[Ra.XRANGEIDENTIFIER]})(?:${Ia[Ra.PRERELEASE]})?${Ia[Ra.BUILD]}?)?)?`);pd("XRANGEPLAINLOOSE",`[v=\\s]*(${Ia[Ra.XRANGEIDENTIFIERLOOSE]})(?:\\.(${Ia[Ra.XRANGEIDENTIFIERLOOSE]})(?:\\.(${Ia[Ra.XRANGEIDENTIFIERLOOSE]})(?:${Ia[Ra.PRERELEASELOOSE]})?${Ia[Ra.BUILD]}?)?)?`);pd("XRANGE",`^${Ia[Ra.GTLT]}\\s*${Ia[Ra.XRANGEPLAIN]}$`);pd("XRANGELOOSE",`^${Ia[Ra.GTLT]}\\s*${Ia[Ra.XRANGEPLAINLOOSE]}$`);pd("COERCE",`(^|[^\\d])(\\d{1,${qrs}})(?:\\.(\\d{1,${qrs}}))?(?:\\.(\\d{1,${qrs}}))?(?:$|[^\\d])`);pd("COERCERTL",Ia[Ra.COERCE],!0);pd("LONETILDE","(?:~>?)");pd("TILDETRIM",`(\\s*)${Ia[Ra.LONETILDE]}\\s+`,!0);Gfe.tildeTrimReplace="$1~";pd("TILDE",`^${Ia[Ra.LONETILDE]}${Ia[Ra.XRANGEPLAIN]}$`);pd("TILDELOOSE",`^${Ia[Ra.LONETILDE]}${Ia[Ra.XRANGEPLAINLOOSE]}$`);pd("LONECARET","(?:\\^)");pd("CARETTRIM",`(\\s*)${Ia[Ra.LONECARET]}\\s+`,!0);Gfe.caretTrimReplace="$1^";pd("CARET",`^${Ia[Ra.LONECARET]}${Ia[Ra.XRANGEPLAIN]}$`);pd("CARETLOOSE",`^${Ia[Ra.LONECARET]}${Ia[Ra.XRANGEPLAINLOOSE]}$`);pd("COMPARATORLOOSE",`^${Ia[Ra.GTLT]}\\s*(${Ia[Ra.LOOSEPLAIN]})$|^$`);pd("COMPARATOR",`^${Ia[Ra.GTLT]}\\s*(${Ia[Ra.FULLPLAIN]})$|^$`);pd("COMPARATORTRIM",`(\\s*)${Ia[Ra.GTLT]}\\s*(${Ia[Ra.LOOSEPLAIN]}|${Ia[Ra.XRANGEPLAIN]})`,!0);Gfe.comparatorTrimReplace="$1$2$3";pd("HYPHENRANGE",`^\\s*(${Ia[Ra.XRANGEPLAIN]})\\s+-\\s+(${Ia[Ra.XRANGEPLAIN]})\\s*$`);pd("HYPHENRANGELOOSE",`^\\s*(${Ia[Ra.XRANGEPLAINLOOSE]})\\s+-\\s+(${Ia[Ra.XRANGEPLAINLOOSE]})\\s*$`);pd("STAR","(<|>)?=?\\s*\\*");pd("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");pd("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var lMr=m((K6S,Qvl)=>{var Zag=Object.freeze({loose:!0}),eug=Object.freeze({}),tug=r=>r?typeof r!="object"?Zag:r:eug;Qvl.exports=tug});var Urs=m((Y6S,Hvl)=>{var jvl=/^[0-9]+$/,Gvl=(r,t)=>{let n=jvl.test(r),i=jvl.test(t);return n&&i&&(r=+r,t=+t),r===t?0:n&&!i?-1:i&&!n?1:r<t?-1:1},rug=(r,t)=>Gvl(t,r);Hvl.exports={compareIdentifiers:Gvl,rcompareIdentifiers:rug}});var e4=m((J6S,Yvl)=>{var pMr=E5t(),{MAX_LENGTH:Vvl,MAX_SAFE_INTEGER:dMr}=b5t(),{safeRe:Wvl,t:Kvl}=vnt(),nug=lMr(),{compareIdentifiers:Int}=Urs(),zrs=class r{constructor(t,n){if(n=nug(n),t instanceof r){if(t.loose===!!n.loose&&t.includePrerelease===!!n.includePrerelease)return t;t=t.version}else if(typeof t!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof t}".`);if(t.length>Vvl)throw new TypeError(`version is longer than ${Vvl} characters`);pMr("SemVer",t,n),this.options=n,this.loose=!!n.loose,this.includePrerelease=!!n.includePrerelease;let i=t.trim().match(n.loose?Wvl[Kvl.LOOSE]:Wvl[Kvl.FULL]);if(!i)throw new TypeError(`Invalid Version: ${t}`);if(this.raw=t,this.major=+i[1],this.minor=+i[2],this.patch=+i[3],this.major>dMr||this.major<0)throw new TypeError("Invalid major version");if(this.minor>dMr||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>dMr||this.patch<0)throw new TypeError("Invalid patch version");i[4]?this.prerelease=i[4].split(".").map(o=>{if(/^[0-9]+$/.test(o)){let s=+o;if(s>=0&&s<dMr)return s}return o}):this.prerelease=[],this.build=i[5]?i[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(t){if(pMr("SemVer.compare",this.version,this.options,t),!(t instanceof r)){if(typeof t=="string"&&t===this.version)return 0;t=new r(t,this.options)}return t.version===this.version?0:this.compareMain(t)||this.comparePre(t)}compareMain(t){return t instanceof r||(t=new r(t,this.options)),Int(this.major,t.major)||Int(this.minor,t.minor)||Int(this.patch,t.patch)}comparePre(t){if(t instanceof r||(t=new r(t,this.options)),this.prerelease.length&&!t.prerelease.length)return-1;if(!this.prerelease.length&&t.prerelease.length)return 1;if(!this.prerelease.length&&!t.prerelease.length)return 0;let n=0;do{let i=this.prerelease[n],o=t.prerelease[n];if(pMr("prerelease compare",n,i,o),i===void 0&&o===void 0)return 0;if(o===void 0)return 1;if(i===void 0)return-1;if(i===o)continue;return Int(i,o)}while(++n)}compareBuild(t){t instanceof r||(t=new r(t,this.options));let n=0;do{let i=this.build[n],o=t.build[n];if(pMr("prerelease compare",n,i,o),i===void 0&&o===void 0)return 0;if(o===void 0)return 1;if(i===void 0)return-1;if(i===o)continue;return Int(i,o)}while(++n)}inc(t,n,i){switch(t){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",n,i);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",n,i);break;case"prepatch":this.prerelease.length=0,this.inc("patch",n,i),this.inc("pre",n,i);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",n,i),this.inc("pre",n,i);break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{let o=Number(i)?1:0;if(!n&&i===!1)throw new Error("invalid increment argument: identifier is empty");if(this.prerelease.length===0)this.prerelease=[o];else{let s=this.prerelease.length;for(;--s>=0;)typeof this.prerelease[s]=="number"&&(this.prerelease[s]++,s=-2);if(s===-1){if(n===this.prerelease.join(".")&&i===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(o)}}if(n){let s=[n,o];i===!1&&(s=[n]),Int(this.prerelease[0],n)===0?isNaN(this.prerelease[1])&&(this.prerelease=s):this.prerelease=s}break}default:throw new Error(`invalid increment argument: ${t}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};Yvl.exports=zrs});var vLe=m(($6S,$vl)=>{var Jvl=e4(),iug=(r,t,n=!1)=>{if(r instanceof Jvl)return r;try{return new Jvl(r,t)}catch(i){if(!n)return null;throw i}};$vl.exports=iug});var Zvl=m((X6S,Xvl)=>{var oug=vLe(),sug=(r,t)=>{let n=oug(r,t);return n?n.version:null};Xvl.exports=sug});var tIl=m((Z6S,eIl)=>{var aug=vLe(),uug=(r,t)=>{let n=aug(r.trim().replace(/^[=v]+/,""),t);return n?n.version:null};eIl.exports=uug});var iIl=m((eBS,nIl)=>{var rIl=e4(),cug=(r,t,n,i,o)=>{typeof n=="string"&&(o=i,i=n,n=void 0);try{return new rIl(r instanceof rIl?r.version:r,n).inc(t,i,o).version}catch{return null}};nIl.exports=cug});var aIl=m((tBS,sIl)=>{var oIl=vLe(),lug=(r,t)=>{let n=oIl(r,null,!0),i=oIl(t,null,!0),o=n.compare(i);if(o===0)return null;let s=o>0,a=s?n:i,u=s?i:n,p=!!a.prerelease.length;if(!!u.prerelease.length&&!p)return!u.patch&&!u.minor?"major":a.patch?"patch":a.minor?"minor":"major";let l=p?"pre":"";return n.major!==i.major?l+"major":n.minor!==i.minor?l+"minor":n.patch!==i.patch?l+"patch":"prerelease"};sIl.exports=lug});var cIl=m((rBS,uIl)=>{var pug=e4(),dug=(r,t)=>new pug(r,t).major;uIl.exports=dug});var pIl=m((nBS,lIl)=>{var fug=e4(),hug=(r,t)=>new fug(r,t).minor;lIl.exports=hug});var fIl=m((iBS,dIl)=>{var gug=e4(),Aug=(r,t)=>new gug(r,t).patch;dIl.exports=Aug});var gIl=m((oBS,hIl)=>{var mug=vLe(),yug=(r,t)=>{let n=mug(r,t);return n&&n.prerelease.length?n.prerelease:null};hIl.exports=yug});var Oz=m((sBS,mIl)=>{var AIl=e4(),bug=(r,t,n)=>new AIl(r,n).compare(new AIl(t,n));mIl.exports=bug});var bIl=m((aBS,yIl)=>{var Eug=Oz(),Sug=(r,t,n)=>Eug(t,r,n);yIl.exports=Sug});var SIl=m((uBS,EIl)=>{var Cug=Oz(),Tug=(r,t)=>Cug(r,t,!0);EIl.exports=Tug});var fMr=m((cBS,TIl)=>{var CIl=e4(),vug=(r,t,n)=>{let i=new CIl(r,n),o=new CIl(t,n);return i.compare(o)||i.compareBuild(o)};TIl.exports=vug});var IIl=m((lBS,vIl)=>{var Iug=fMr(),Rug=(r,t)=>r.sort((n,i)=>Iug(n,i,t));vIl.exports=Rug});var _Il=m((pBS,RIl)=>{var _ug=fMr(),Oug=(r,t)=>r.sort((n,i)=>_ug(i,n,t));RIl.exports=Oug});var S5t=m((dBS,OIl)=>{var wug=Oz(),xug=(r,t,n)=>wug(r,t,n)>0;OIl.exports=xug});var hMr=m((fBS,wIl)=>{var Mug=Oz(),Pug=(r,t,n)=>Mug(r,t,n)<0;wIl.exports=Pug});var Qrs=m((hBS,xIl)=>{var Nug=Oz(),Dug=(r,t,n)=>Nug(r,t,n)===0;xIl.exports=Dug});var jrs=m((gBS,MIl)=>{var Bug=Oz(),Lug=(r,t,n)=>Bug(r,t,n)!==0;MIl.exports=Lug});var gMr=m((ABS,PIl)=>{var kug=Oz(),qug=(r,t,n)=>kug(r,t,n)>=0;PIl.exports=qug});var AMr=m((mBS,NIl)=>{var Fug=Oz(),Uug=(r,t,n)=>Fug(r,t,n)<=0;NIl.exports=Uug});var Grs=m((yBS,DIl)=>{var zug=Qrs(),Qug=jrs(),jug=S5t(),Gug=gMr(),Hug=hMr(),Vug=AMr(),Wug=(r,t,n,i)=>{switch(t){case"===":return typeof r=="object"&&(r=r.version),typeof n=="object"&&(n=n.version),r===n;case"!==":return typeof r=="object"&&(r=r.version),typeof n=="object"&&(n=n.version),r!==n;case"":case"=":case"==":return zug(r,n,i);case"!=":return Qug(r,n,i);case">":return jug(r,n,i);case">=":return Gug(r,n,i);case"<":return Hug(r,n,i);case"<=":return Vug(r,n,i);default:throw new TypeError(`Invalid operator: ${t}`)}};DIl.exports=Wug});var LIl=m((bBS,BIl)=>{var Kug=e4(),Yug=vLe(),{safeRe:mMr,t:yMr}=vnt(),Jug=(r,t)=>{if(r instanceof Kug)return r;if(typeof r=="number"&&(r=String(r)),typeof r!="string")return null;t=t||{};let n=null;if(!t.rtl)n=r.match(mMr[yMr.COERCE]);else{let i;for(;(i=mMr[yMr.COERCERTL].exec(r))&&(!n||n.index+n[0].length!==r.length);)(!n||i.index+i[0].length!==n.index+n[0].length)&&(n=i),mMr[yMr.COERCERTL].lastIndex=i.index+i[1].length+i[2].length;mMr[yMr.COERCERTL].lastIndex=-1}return n===null?null:Yug(`${n[2]}.${n[3]||"0"}.${n[4]||"0"}`,t)};BIl.exports=Jug});var qIl=m((EBS,kIl)=>{"use strict";kIl.exports=function(r){r.prototype[Symbol.iterator]=function*(){for(let t=this.head;t;t=t.next)yield t.value}}});var Hrs=m((SBS,FIl)=>{"use strict";FIl.exports=m1;m1.Node=ILe;m1.create=m1;function m1(r){var t=this;if(t instanceof m1||(t=new m1),t.tail=null,t.head=null,t.length=0,r&&typeof r.forEach=="function")r.forEach(function(o){t.push(o)});else if(arguments.length>0)for(var n=0,i=arguments.length;n<i;n++)t.push(arguments[n]);return t}m1.prototype.removeNode=function(r){if(r.list!==this)throw new Error("removing node which does not belong to this list");var t=r.next,n=r.prev;return t&&(t.prev=n),n&&(n.next=t),r===this.head&&(this.head=t),r===this.tail&&(this.tail=n),r.list.length--,r.next=null,r.prev=null,r.list=null,t};m1.prototype.unshiftNode=function(r){if(r!==this.head){r.list&&r.list.removeNode(r);var t=this.head;r.list=this,r.next=t,t&&(t.prev=r),this.head=r,this.tail||(this.tail=r),this.length++}};m1.prototype.pushNode=function(r){if(r!==this.tail){r.list&&r.list.removeNode(r);var t=this.tail;r.list=this,r.prev=t,t&&(t.next=r),this.tail=r,this.head||(this.head=r),this.length++}};m1.prototype.push=function(){for(var r=0,t=arguments.length;r<t;r++)Xug(this,arguments[r]);return this.length};m1.prototype.unshift=function(){for(var r=0,t=arguments.length;r<t;r++)Zug(this,arguments[r]);return this.length};m1.prototype.pop=function(){if(this.tail){var r=this.tail.value;return this.tail=this.tail.prev,this.tail?this.tail.next=null:this.head=null,this.length--,r}};m1.prototype.shift=function(){if(this.head){var r=this.head.value;return this.head=this.head.next,this.head?this.head.prev=null:this.tail=null,this.length--,r}};m1.prototype.forEach=function(r,t){t=t||this;for(var n=this.head,i=0;n!==null;i++)r.call(t,n.value,i,this),n=n.next};m1.prototype.forEachReverse=function(r,t){t=t||this;for(var n=this.tail,i=this.length-1;n!==null;i--)r.call(t,n.value,i,this),n=n.prev};m1.prototype.get=function(r){for(var t=0,n=this.head;n!==null&&t<r;t++)n=n.next;if(t===r&&n!==null)return n.value};m1.prototype.getReverse=function(r){for(var t=0,n=this.tail;n!==null&&t<r;t++)n=n.prev;if(t===r&&n!==null)return n.value};m1.prototype.map=function(r,t){t=t||this;for(var n=new m1,i=this.head;i!==null;)n.push(r.call(t,i.value,this)),i=i.next;return n};m1.prototype.mapReverse=function(r,t){t=t||this;for(var n=new m1,i=this.tail;i!==null;)n.push(r.call(t,i.value,this)),i=i.prev;return n};m1.prototype.reduce=function(r,t){var n,i=this.head;if(arguments.length>1)n=t;else if(this.head)i=this.head.next,n=this.head.value;else throw new TypeError("Reduce of empty list with no initial value");for(var o=0;i!==null;o++)n=r(n,i.value,o),i=i.next;return n};m1.prototype.reduceReverse=function(r,t){var n,i=this.tail;if(arguments.length>1)n=t;else if(this.tail)i=this.tail.prev,n=this.tail.value;else throw new TypeError("Reduce of empty list with no initial value");for(var o=this.length-1;i!==null;o--)n=r(n,i.value,o),i=i.prev;return n};m1.prototype.toArray=function(){for(var r=new Array(this.length),t=0,n=this.head;n!==null;t++)r[t]=n.value,n=n.next;return r};m1.prototype.toArrayReverse=function(){for(var r=new Array(this.length),t=0,n=this.tail;n!==null;t++)r[t]=n.value,n=n.prev;return r};m1.prototype.slice=function(r,t){t=t||this.length,t<0&&(t+=this.length),r=r||0,r<0&&(r+=this.length);var n=new m1;if(t<r||t<0)return n;r<0&&(r=0),t>this.length&&(t=this.length);for(var i=0,o=this.head;o!==null&&i<r;i++)o=o.next;for(;o!==null&&i<t;i++,o=o.next)n.push(o.value);return n};m1.prototype.sliceReverse=function(r,t){t=t||this.length,t<0&&(t+=this.length),r=r||0,r<0&&(r+=this.length);var n=new m1;if(t<r||t<0)return n;r<0&&(r=0),t>this.length&&(t=this.length);for(var i=this.length,o=this.tail;o!==null&&i>t;i--)o=o.prev;for(;o!==null&&i>r;i--,o=o.prev)n.push(o.value);return n};m1.prototype.splice=function(r,t,...n){r>this.length&&(r=this.length-1),r<0&&(r=this.length+r);for(var i=0,o=this.head;o!==null&&i<r;i++)o=o.next;for(var s=[],i=0;o&&i<t;i++)s.push(o.value),o=this.removeNode(o);o===null&&(o=this.tail),o!==this.head&&o!==this.tail&&(o=o.prev);for(var i=0;i<n.length;i++)o=$ug(this,o,n[i]);return s};m1.prototype.reverse=function(){for(var r=this.head,t=this.tail,n=r;n!==null;n=n.prev){var i=n.prev;n.prev=n.next,n.next=i}return this.head=t,this.tail=r,this};function $ug(r,t,n){var i=t===r.head?new ILe(n,null,t,r):new ILe(n,t,t.next,r);return i.next===null&&(r.tail=i),i.prev===null&&(r.head=i),r.length++,i}function Xug(r,t){r.tail=new ILe(t,r.tail,null,r),r.head||(r.head=r.tail),r.length++}function Zug(r,t){r.head=new ILe(t,null,r.head,r),r.tail||(r.tail=r.head),r.length++}function ILe(r,t,n,i){if(!(this instanceof ILe))return new ILe(r,t,n,i);this.list=i,this.value=r,t?(t.next=this,this.prev=t):this.prev=null,n?(n.prev=this,this.next=n):this.next=null}try{qIl()(m1)}catch{}});var v5t=m((CBS,jIl)=>{"use strict";var ecg=Hrs(),RLe=Symbol("max"),Vfe=Symbol("length"),Rnt=Symbol("lengthCalculator"),T5t=Symbol("allowStale"),_Le=Symbol("maxAge"),Hfe=Symbol("dispose"),UIl=Symbol("noDisposeOnSet"),_R=Symbol("lruList"),UW=Symbol("cache"),QIl=Symbol("updateAgeOnGet"),Vrs=()=>1,Krs=class{constructor(t){if(typeof t=="number"&&(t={max:t}),t||(t={}),t.max&&(typeof t.max!="number"||t.max<0))throw new TypeError("max must be a non-negative number");let n=this[RLe]=t.max||1/0,i=t.length||Vrs;if(this[Rnt]=typeof i!="function"?Vrs:i,this[T5t]=t.stale||!1,t.maxAge&&typeof t.maxAge!="number")throw new TypeError("maxAge must be a number");this[_Le]=t.maxAge||0,this[Hfe]=t.dispose,this[UIl]=t.noDisposeOnSet||!1,this[QIl]=t.updateAgeOnGet||!1,this.reset()}set max(t){if(typeof t!="number"||t<0)throw new TypeError("max must be a non-negative number");this[RLe]=t||1/0,C5t(this)}get max(){return this[RLe]}set allowStale(t){this[T5t]=!!t}get allowStale(){return this[T5t]}set maxAge(t){if(typeof t!="number")throw new TypeError("maxAge must be a non-negative number");this[_Le]=t,C5t(this)}get maxAge(){return this[_Le]}set lengthCalculator(t){typeof t!="function"&&(t=Vrs),t!==this[Rnt]&&(this[Rnt]=t,this[Vfe]=0,this[_R].forEach(n=>{n.length=this[Rnt](n.value,n.key),this[Vfe]+=n.length})),C5t(this)}get lengthCalculator(){return this[Rnt]}get length(){return this[Vfe]}get itemCount(){return this[_R].length}rforEach(t,n){n=n||this;for(let i=this[_R].tail;i!==null;){let o=i.prev;zIl(this,t,i,n),i=o}}forEach(t,n){n=n||this;for(let i=this[_R].head;i!==null;){let o=i.next;zIl(this,t,i,n),i=o}}keys(){return this[_R].toArray().map(t=>t.key)}values(){return this[_R].toArray().map(t=>t.value)}reset(){this[Hfe]&&this[_R]&&this[_R].length&&this[_R].forEach(t=>this[Hfe](t.key,t.value)),this[UW]=new Map,this[_R]=new ecg,this[Vfe]=0}dump(){return this[_R].map(t=>bMr(this,t)?!1:{k:t.key,v:t.value,e:t.now+(t.maxAge||0)}).toArray().filter(t=>t)}dumpLru(){return this[_R]}set(t,n,i){if(i=i||this[_Le],i&&typeof i!="number")throw new TypeError("maxAge must be a number");let o=i?Date.now():0,s=this[Rnt](n,t);if(this[UW].has(t)){if(s>this[RLe])return _nt(this,this[UW].get(t)),!1;let p=this[UW].get(t).value;return this[Hfe]&&(this[UIl]||this[Hfe](t,p.value)),p.now=o,p.maxAge=i,p.value=n,this[Vfe]+=s-p.length,p.length=s,this.get(t),C5t(this),!0}let a=new Yrs(t,n,s,o,i);return a.length>this[RLe]?(this[Hfe]&&this[Hfe](t,n),!1):(this[Vfe]+=a.length,this[_R].unshift(a),this[UW].set(t,this[_R].head),C5t(this),!0)}has(t){if(!this[UW].has(t))return!1;let n=this[UW].get(t).value;return!bMr(this,n)}get(t){return Wrs(this,t,!0)}peek(t){return Wrs(this,t,!1)}pop(){let t=this[_R].tail;return t?(_nt(this,t),t.value):null}del(t){_nt(this,this[UW].get(t))}load(t){this.reset();let n=Date.now();for(let i=t.length-1;i>=0;i--){let o=t[i],s=o.e||0;if(s===0)this.set(o.k,o.v);else{let a=s-n;a>0&&this.set(o.k,o.v,a)}}}prune(){this[UW].forEach((t,n)=>Wrs(this,n,!1))}},Wrs=(r,t,n)=>{let i=r[UW].get(t);if(i){let o=i.value;if(bMr(r,o)){if(_nt(r,i),!r[T5t])return}else n&&(r[QIl]&&(i.value.now=Date.now()),r[_R].unshiftNode(i));return o.value}},bMr=(r,t)=>{if(!t||!t.maxAge&&!r[_Le])return!1;let n=Date.now()-t.now;return t.maxAge?n>t.maxAge:r[_Le]&&n>r[_Le]},C5t=r=>{if(r[Vfe]>r[RLe])for(let t=r[_R].tail;r[Vfe]>r[RLe]&&t!==null;){let n=t.prev;_nt(r,t),t=n}},_nt=(r,t)=>{if(t){let n=t.value;r[Hfe]&&r[Hfe](n.key,n.value),r[Vfe]-=n.length,r[UW].delete(n.key),r[_R].removeNode(t)}},Yrs=class{constructor(t,n,i,o,s){this.key=t,this.value=n,this.length=i,this.now=o,this.maxAge=s||0}},zIl=(r,t,n,i)=>{let o=n.value;bMr(r,o)&&(_nt(r,n),r[T5t]||(o=void 0)),o&&t.call(i,o.value,o.key,r)};jIl.exports=Krs});var wz=m((TBS,WIl)=>{var Jrs=class r{constructor(t,n){if(n=rcg(n),t instanceof r)return t.loose===!!n.loose&&t.includePrerelease===!!n.includePrerelease?t:new r(t.raw,n);if(t instanceof $rs)return this.raw=t.value,this.set=[[t]],this.format(),this;if(this.options=n,this.loose=!!n.loose,this.includePrerelease=!!n.includePrerelease,this.raw=t.trim().split(/\s+/).join(" "),this.set=this.raw.split("||").map(i=>this.parseRange(i.trim())).filter(i=>i.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let i=this.set[0];if(this.set=this.set.filter(o=>!HIl(o[0])),this.set.length===0)this.set=[i];else if(this.set.length>1){for(let o of this.set)if(o.length===1&&ccg(o[0])){this.set=[o];break}}}this.format()}format(){return this.range=this.set.map(t=>t.join(" ").trim()).join("||").trim(),this.range}toString(){return this.range}parseRange(t){let i=((this.options.includePrerelease&&acg)|(this.options.loose&&ucg))+":"+t,o=GIl.get(i);if(o)return o;let s=this.options.loose,a=s?eB[BN.HYPHENRANGELOOSE]:eB[BN.HYPHENRANGE];t=t.replace(a,bcg(this.options.includePrerelease)),Sb("hyphen replace",t),t=t.replace(eB[BN.COMPARATORTRIM],icg),Sb("comparator trim",t),t=t.replace(eB[BN.TILDETRIM],ocg),Sb("tilde trim",t),t=t.replace(eB[BN.CARETTRIM],scg),Sb("caret trim",t);let u=t.split(" ").map(d=>lcg(d,this.options)).join(" ").split(/\s+/).map(d=>ycg(d,this.options));s&&(u=u.filter(d=>(Sb("loose invalid filter",d,this.options),!!d.match(eB[BN.COMPARATORLOOSE])))),Sb("range list",u);let p=new Map,c=u.map(d=>new $rs(d,this.options));for(let d of c){if(HIl(d))return[d];p.set(d.value,d)}p.size>1&&p.has("")&&p.delete("");let l=[...p.values()];return GIl.set(i,l),l}intersects(t,n){if(!(t instanceof r))throw new TypeError("a Range is required");return this.set.some(i=>VIl(i,n)&&t.set.some(o=>VIl(o,n)&&i.every(s=>o.every(a=>s.intersects(a,n)))))}test(t){if(!t)return!1;if(typeof t=="string")try{t=new ncg(t,this.options)}catch{return!1}for(let n=0;n<this.set.length;n++)if(Ecg(this.set[n],t,this.options))return!0;return!1}};WIl.exports=Jrs;var tcg=v5t(),GIl=new tcg({max:1e3}),rcg=lMr(),$rs=I5t(),Sb=E5t(),ncg=e4(),{safeRe:eB,t:BN,comparatorTrimReplace:icg,tildeTrimReplace:ocg,caretTrimReplace:scg}=vnt(),{FLAG_INCLUDE_PRERELEASE:acg,FLAG_LOOSE:ucg}=b5t(),HIl=r=>r.value==="<0.0.0-0",ccg=r=>r.value==="",VIl=(r,t)=>{let n=!0,i=r.slice(),o=i.pop();for(;n&&i.length;)n=i.every(s=>o.intersects(s,t)),o=i.pop();return n},lcg=(r,t)=>(Sb("comp",r,t),r=fcg(r,t),Sb("caret",r),r=pcg(r,t),Sb("tildes",r),r=gcg(r,t),Sb("xrange",r),r=mcg(r,t),Sb("stars",r),r),LN=r=>!r||r.toLowerCase()==="x"||r==="*",pcg=(r,t)=>r.trim().split(/\s+/).map(n=>dcg(n,t)).join(" "),dcg=(r,t)=>{let n=t.loose?eB[BN.TILDELOOSE]:eB[BN.TILDE];return r.replace(n,(i,o,s,a,u)=>{Sb("tilde",r,i,o,s,a,u);let p;return LN(o)?p="":LN(s)?p=`>=${o}.0.0 <${+o+1}.0.0-0`:LN(a)?p=`>=${o}.${s}.0 <${o}.${+s+1}.0-0`:u?(Sb("replaceTilde pr",u),p=`>=${o}.${s}.${a}-${u} <${o}.${+s+1}.0-0`):p=`>=${o}.${s}.${a} <${o}.${+s+1}.0-0`,Sb("tilde return",p),p})},fcg=(r,t)=>r.trim().split(/\s+/).map(n=>hcg(n,t)).join(" "),hcg=(r,t)=>{Sb("caret",r,t);let n=t.loose?eB[BN.CARETLOOSE]:eB[BN.CARET],i=t.includePrerelease?"-0":"";return r.replace(n,(o,s,a,u,p)=>{Sb("caret",r,o,s,a,u,p);let c;return LN(s)?c="":LN(a)?c=`>=${s}.0.0${i} <${+s+1}.0.0-0`:LN(u)?s==="0"?c=`>=${s}.${a}.0${i} <${s}.${+a+1}.0-0`:c=`>=${s}.${a}.0${i} <${+s+1}.0.0-0`:p?(Sb("replaceCaret pr",p),s==="0"?a==="0"?c=`>=${s}.${a}.${u}-${p} <${s}.${a}.${+u+1}-0`:c=`>=${s}.${a}.${u}-${p} <${s}.${+a+1}.0-0`:c=`>=${s}.${a}.${u}-${p} <${+s+1}.0.0-0`):(Sb("no pr"),s==="0"?a==="0"?c=`>=${s}.${a}.${u}${i} <${s}.${a}.${+u+1}-0`:c=`>=${s}.${a}.${u}${i} <${s}.${+a+1}.0-0`:c=`>=${s}.${a}.${u} <${+s+1}.0.0-0`),Sb("caret return",c),c})},gcg=(r,t)=>(Sb("replaceXRanges",r,t),r.split(/\s+/).map(n=>Acg(n,t)).join(" ")),Acg=(r,t)=>{r=r.trim();let n=t.loose?eB[BN.XRANGELOOSE]:eB[BN.XRANGE];return r.replace(n,(i,o,s,a,u,p)=>{Sb("xRange",r,i,o,s,a,u,p);let c=LN(s),l=c||LN(a),d=l||LN(u),f=d;return o==="="&&f&&(o=""),p=t.includePrerelease?"-0":"",c?o===">"||o==="<"?i="<0.0.0-0":i="*":o&&f?(l&&(a=0),u=0,o===">"?(o=">=",l?(s=+s+1,a=0,u=0):(a=+a+1,u=0)):o==="<="&&(o="<",l?s=+s+1:a=+a+1),o==="<"&&(p="-0"),i=`${o+s}.${a}.${u}${p}`):l?i=`>=${s}.0.0${p} <${+s+1}.0.0-0`:d&&(i=`>=${s}.${a}.0${p} <${s}.${+a+1}.0-0`),Sb("xRange return",i),i})},mcg=(r,t)=>(Sb("replaceStars",r,t),r.trim().replace(eB[BN.STAR],"")),ycg=(r,t)=>(Sb("replaceGTE0",r,t),r.trim().replace(eB[t.includePrerelease?BN.GTE0PRE:BN.GTE0],"")),bcg=r=>(t,n,i,o,s,a,u,p,c,l,d,f,h)=>(LN(i)?n="":LN(o)?n=`>=${i}.0.0${r?"-0":""}`:LN(s)?n=`>=${i}.${o}.0${r?"-0":""}`:a?n=`>=${n}`:n=`>=${n}${r?"-0":""}`,LN(c)?p="":LN(l)?p=`<${+c+1}.0.0-0`:LN(d)?p=`<${c}.${+l+1}.0-0`:f?p=`<=${c}.${l}.${d}-${f}`:r?p=`<${c}.${l}.${+d+1}-0`:p=`<=${p}`,`${n} ${p}`.trim()),Ecg=(r,t,n)=>{for(let i=0;i<r.length;i++)if(!r[i].test(t))return!1;if(t.prerelease.length&&!n.includePrerelease){for(let i=0;i<r.length;i++)if(Sb(r[i].semver),r[i].semver!==$rs.ANY&&r[i].semver.prerelease.length>0){let o=r[i].semver;if(o.major===t.major&&o.minor===t.minor&&o.patch===t.patch)return!0}return!1}return!0}});var I5t=m((vBS,ZIl)=>{var R5t=Symbol("SemVer ANY"),ens=class r{static get ANY(){return R5t}constructor(t,n){if(n=KIl(n),t instanceof r){if(t.loose===!!n.loose)return t;t=t.value}t=t.trim().split(/\s+/).join(" "),Zrs("comparator",t,n),this.options=n,this.loose=!!n.loose,this.parse(t),this.semver===R5t?this.value="":this.value=this.operator+this.semver.version,Zrs("comp",this)}parse(t){let n=this.options.loose?YIl[JIl.COMPARATORLOOSE]:YIl[JIl.COMPARATOR],i=t.match(n);if(!i)throw new TypeError(`Invalid comparator: ${t}`);this.operator=i[1]!==void 0?i[1]:"",this.operator==="="&&(this.operator=""),i[2]?this.semver=new $Il(i[2],this.options.loose):this.semver=R5t}toString(){return this.value}test(t){if(Zrs("Comparator.test",t,this.options.loose),this.semver===R5t||t===R5t)return!0;if(typeof t=="string")try{t=new $Il(t,this.options)}catch{return!1}return Xrs(t,this.operator,this.semver,this.options)}intersects(t,n){if(!(t instanceof r))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new XIl(t.value,n).test(this.value):t.operator===""?t.value===""?!0:new XIl(this.value,n).test(t.semver):(n=KIl(n),n.includePrerelease&&(this.value==="<0.0.0-0"||t.value==="<0.0.0-0")||!n.includePrerelease&&(this.value.startsWith("<0.0.0")||t.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&t.operator.startsWith(">")||this.operator.startsWith("<")&&t.operator.startsWith("<")||this.semver.version===t.semver.version&&this.operator.includes("=")&&t.operator.includes("=")||Xrs(this.semver,"<",t.semver,n)&&this.operator.startsWith(">")&&t.operator.startsWith("<")||Xrs(this.semver,">",t.semver,n)&&this.operator.startsWith("<")&&t.operator.startsWith(">")))}};ZIl.exports=ens;var KIl=lMr(),{safeRe:YIl,t:JIl}=vnt(),Xrs=Grs(),Zrs=E5t(),$Il=e4(),XIl=wz()});var _5t=m((IBS,e3l)=>{var Scg=wz(),Ccg=(r,t,n)=>{try{t=new Scg(t,n)}catch{return!1}return t.test(r)};e3l.exports=Ccg});var r3l=m((RBS,t3l)=>{var Tcg=wz(),vcg=(r,t)=>new Tcg(r,t).set.map(n=>n.map(i=>i.value).join(" ").trim().split(" "));t3l.exports=vcg});var i3l=m((_BS,n3l)=>{var Icg=e4(),Rcg=wz(),_cg=(r,t,n)=>{let i=null,o=null,s=null;try{s=new Rcg(t,n)}catch{return null}return r.forEach(a=>{s.test(a)&&(!i||o.compare(a)===-1)&&(i=a,o=new Icg(i,n))}),i};n3l.exports=_cg});var s3l=m((OBS,o3l)=>{var Ocg=e4(),wcg=wz(),xcg=(r,t,n)=>{let i=null,o=null,s=null;try{s=new wcg(t,n)}catch{return null}return r.forEach(a=>{s.test(a)&&(!i||o.compare(a)===1)&&(i=a,o=new Ocg(i,n))}),i};o3l.exports=xcg});var c3l=m((wBS,u3l)=>{var tns=e4(),Mcg=wz(),a3l=S5t(),Pcg=(r,t)=>{r=new Mcg(r,t);let n=new tns("0.0.0");if(r.test(n)||(n=new tns("0.0.0-0"),r.test(n)))return n;n=null;for(let i=0;i<r.set.length;++i){let o=r.set[i],s=null;o.forEach(a=>{let u=new tns(a.semver.version);switch(a.operator){case">":u.prerelease.length===0?u.patch++:u.prerelease.push(0),u.raw=u.format();case"":case">=":(!s||a3l(u,s))&&(s=u);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${a.operator}`)}}),s&&(!n||a3l(n,s))&&(n=s)}return n&&r.test(n)?n:null};u3l.exports=Pcg});var p3l=m((xBS,l3l)=>{var Ncg=wz(),Dcg=(r,t)=>{try{return new Ncg(r,t).range||"*"}catch{return null}};l3l.exports=Dcg});var EMr=m((MBS,g3l)=>{var Bcg=e4(),h3l=I5t(),{ANY:Lcg}=h3l,kcg=wz(),qcg=_5t(),d3l=S5t(),f3l=hMr(),Fcg=AMr(),Ucg=gMr(),zcg=(r,t,n,i)=>{r=new Bcg(r,i),t=new kcg(t,i);let o,s,a,u,p;switch(n){case">":o=d3l,s=Fcg,a=f3l,u=">",p=">=";break;case"<":o=f3l,s=Ucg,a=d3l,u="<",p="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(qcg(r,t,i))return!1;for(let c=0;c<t.set.length;++c){let l=t.set[c],d=null,f=null;if(l.forEach(h=>{h.semver===Lcg&&(h=new h3l(">=0.0.0")),d=d||h,f=f||h,o(h.semver,d.semver,i)?d=h:a(h.semver,f.semver,i)&&(f=h)}),d.operator===u||d.operator===p||(!f.operator||f.operator===u)&&s(r,f.semver))return!1;if(f.operator===p&&a(r,f.semver))return!1}return!0};g3l.exports=zcg});var m3l=m((PBS,A3l)=>{var Qcg=EMr(),jcg=(r,t,n)=>Qcg(r,t,">",n);A3l.exports=jcg});var b3l=m((NBS,y3l)=>{var Gcg=EMr(),Hcg=(r,t,n)=>Gcg(r,t,"<",n);y3l.exports=Hcg});var C3l=m((DBS,S3l)=>{var E3l=wz(),Vcg=(r,t,n)=>(r=new E3l(r,n),t=new E3l(t,n),r.intersects(t,n));S3l.exports=Vcg});var v3l=m((BBS,T3l)=>{var Wcg=_5t(),Kcg=Oz();T3l.exports=(r,t,n)=>{let i=[],o=null,s=null,a=r.sort((l,d)=>Kcg(l,d,n));for(let l of a)Wcg(l,t,n)?(s=l,o||(o=l)):(s&&i.push([o,s]),s=null,o=null);o&&i.push([o,null]);let u=[];for(let[l,d]of i)l===d?u.push(l):!d&&l===a[0]?u.push("*"):d?l===a[0]?u.push(`<=${d}`):u.push(`${l} - ${d}`):u.push(`>=${l}`);let p=u.join(" || "),c=typeof t.raw=="string"?t.raw:String(t);return p.length<c.length?p:t}});var x3l=m((LBS,w3l)=>{var I3l=wz(),nns=I5t(),{ANY:rns}=nns,O5t=_5t(),ins=Oz(),Ycg=(r,t,n={})=>{if(r===t)return!0;r=new I3l(r,n),t=new I3l(t,n);let i=!1;e:for(let o of r.set){for(let s of t.set){let a=$cg(o,s,n);if(i=i||a!==null,a)continue e}if(i)return!1}return!0},Jcg=[new nns(">=0.0.0-0")],R3l=[new nns(">=0.0.0")],$cg=(r,t,n)=>{if(r===t)return!0;if(r.length===1&&r[0].semver===rns){if(t.length===1&&t[0].semver===rns)return!0;n.includePrerelease?r=Jcg:r=R3l}if(t.length===1&&t[0].semver===rns){if(n.includePrerelease)return!0;t=R3l}let i=new Set,o,s;for(let h of r)h.operator===">"||h.operator===">="?o=_3l(o,h,n):h.operator==="<"||h.operator==="<="?s=O3l(s,h,n):i.add(h.semver);if(i.size>1)return null;let a;if(o&&s){if(a=ins(o.semver,s.semver,n),a>0)return null;if(a===0&&(o.operator!==">="||s.operator!=="<="))return null}for(let h of i){if(o&&!O5t(h,String(o),n)||s&&!O5t(h,String(s),n))return null;for(let A of t)if(!O5t(h,String(A),n))return!1;return!0}let u,p,c,l,d=s&&!n.includePrerelease&&s.semver.prerelease.length?s.semver:!1,f=o&&!n.includePrerelease&&o.semver.prerelease.length?o.semver:!1;d&&d.prerelease.length===1&&s.operator==="<"&&d.prerelease[0]===0&&(d=!1);for(let h of t){if(l=l||h.operator===">"||h.operator===">=",c=c||h.operator==="<"||h.operator==="<=",o){if(f&&h.semver.prerelease&&h.semver.prerelease.length&&h.semver.major===f.major&&h.semver.minor===f.minor&&h.semver.patch===f.patch&&(f=!1),h.operator===">"||h.operator===">="){if(u=_3l(o,h,n),u===h&&u!==o)return!1}else if(o.operator===">="&&!O5t(o.semver,String(h),n))return!1}if(s){if(d&&h.semver.prerelease&&h.semver.prerelease.length&&h.semver.major===d.major&&h.semver.minor===d.minor&&h.semver.patch===d.patch&&(d=!1),h.operator==="<"||h.operator==="<="){if(p=O3l(s,h,n),p===h&&p!==s)return!1}else if(s.operator==="<="&&!O5t(s.semver,String(h),n))return!1}if(!h.operator&&(s||o)&&a!==0)return!1}return!(o&&c&&!s&&a!==0||s&&l&&!o&&a!==0||f||d)},_3l=(r,t,n)=>{if(!r)return t;let i=ins(r.semver,t.semver,n);return i>0?r:i<0||t.operator===">"&&r.operator===">="?t:r},O3l=(r,t,n)=>{if(!r)return t;let i=ins(r.semver,t.semver,n);return i<0?r:i>0||t.operator==="<"&&r.operator==="<="?t:r};w3l.exports=Ycg});var Ont=m((kBS,N3l)=>{var ons=vnt(),M3l=b5t(),Xcg=e4(),P3l=Urs(),Zcg=vLe(),elg=Zvl(),tlg=tIl(),rlg=iIl(),nlg=aIl(),ilg=cIl(),olg=pIl(),slg=fIl(),alg=gIl(),ulg=Oz(),clg=bIl(),llg=SIl(),plg=fMr(),dlg=IIl(),flg=_Il(),hlg=S5t(),glg=hMr(),Alg=Qrs(),mlg=jrs(),ylg=gMr(),blg=AMr(),Elg=Grs(),Slg=LIl(),Clg=I5t(),Tlg=wz(),vlg=_5t(),Ilg=r3l(),Rlg=i3l(),_lg=s3l(),Olg=c3l(),wlg=p3l(),xlg=EMr(),Mlg=m3l(),Plg=b3l(),Nlg=C3l(),Dlg=v3l(),Blg=x3l();N3l.exports={parse:Zcg,valid:elg,clean:tlg,inc:rlg,diff:nlg,major:ilg,minor:olg,patch:slg,prerelease:alg,compare:ulg,rcompare:clg,compareLoose:llg,compareBuild:plg,sort:dlg,rsort:flg,gt:hlg,lt:glg,eq:Alg,neq:mlg,gte:ylg,lte:blg,cmp:Elg,coerce:Slg,Comparator:Clg,Range:Tlg,satisfies:vlg,toComparators:Ilg,maxSatisfying:Rlg,minSatisfying:_lg,minVersion:Olg,validRange:wlg,outside:xlg,gtr:Mlg,ltr:Plg,intersects:Nlg,simplifyRange:Dlg,subset:Blg,SemVer:Xcg,re:ons.re,src:ons.src,tokens:ons.t,SEMVER_SPEC_VERSION:M3l.SEMVER_SPEC_VERSION,RELEASE_TYPES:M3l.RELEASE_TYPES,compareIdentifiers:P3l.compareIdentifiers,rcompareIdentifiers:P3l.rcompareIdentifiers}});var w5t,Llg,qBS,klg,xS,Nte=F(()=>{"use strict";w5t=Ut(oW()),Llg=Ut(Ont()),qBS=(0,w5t.Record)({version:w5t.String,hash:w5t.String}),klg=()=>{let r="7.42.4",t="f15a81cb32ff35c8f9de00f20402e9ab3c0724c9";return r&&t?{version:r,hash:t}:null},xS=klg()});var gTe,wnt,SMr=F(()=>{"use strict";lr();gTe=class extends et{constructor(n){super(`Run ${n} canceled by user`);this.runID=n}runID;fault="client"},wnt=class extends et{constructor(n){super('Test failed with "continue on failure" set to false');this.result=n}result;fault="client"}});var D3l,B3l,OLe,x5t,M5t,CMr,TMr=F(()=>{"use strict";py();SMr();D3l=(r,t,n)=>{switch(r){case"skipped":return"Skipped";case"error":return"Error";case"complete":switch(n){case"create":return t?"Validated":"Created";case"run":return t?"Validated":"DataLoaded";default:return"None"}default:return"None"}},B3l=r=>typeof r=="object"&&r instanceof wnt,OLe=r=>typeof r=="object"&&(r instanceof am||r instanceof gTe),x5t=r=>typeof r=="object"&&r instanceof Iz&&r.isCancel(),M5t=r=>typeof r=="object"&&r instanceof Pte&&r.isCancel(),CMr=r=>OLe(r)||x5t(r)||M5t(r)});var L3l,k3l,ATe,P5t=F(()=>{"use strict";lr();Qfe();Xo();Sc();sr();dm();SR();GNt();Zd();Nte();m5t();SMr();TMr();L3l=5e5,k3l=500,ATe=class r{constructor(t,n,i,o,s){this.state=t;this.repository=n;this.logContext=i;this.operationType=o;this.analyticsCollector=s}state;repository;logContext;operationType;stepsInitialized=null;runResults={};flusher=null;wasCanceled=!1;nodeStageIndexTracker=new Map;analyticsCollector;get teamID(){return this.logContext.orgID}get runID(){return this.logContext.runID}get envID(){return this.logContext.workspaceID}GetLogContext=t=>({...this.logContext,nodeID:t});async runIsCanceled(){if(!this.repository)return!1;if(this.wasCanceled)return!0;try{let t=!!(await this.getRepositoryForRun().fetch({pendingWritesTimeoutMs:100})).runDetails.canceled;return t&&(this.wasCanceled=!0),t}catch(t){if(g2(t)){if(t instanceof ELe)return!1;if(t instanceof Ku)return!1}throw t}}async throwIfRunCanceled(){if(await this.runIsCanceled())throw new gTe(this.runID)}updateNodeLocalRunResult({stepID:t,isPreview:n,runExecutionSequenceID:i},o){let s=this.runResults[t];s?(s.runState=o,s.queryResultSequence.isRunning=o==="running",s.stepRunState=this.getStepRunState(o,n),i!==void 0&&(s.runExecutionSequenceID=i),(o==="canceled"||o==="skipped"||o==="error")&&s.queryResultSequence.queryResults.forEach(a=>{!a.isRunning&&a.status==="Queued"&&(a.status="Canceled")})):this.Logger.errorContext(this.GetLogContext(t),"EventHandler updateNodeLocalRunResult: missing expected local run result for node",t)}getBulkSkipHandler=()=>async t=>{if(!this.repository)return;let n=this.repository.batch(),i=this.getRepositoryForRun().runResults;for(let[o,s]of Object.entries(t))if(this.runResults[o]){let a=i.get(o);this.updateNodeLocalRunResult({stepID:o,isPreview:!1,runExecutionSequenceID:s},"skipped");let u={...r.truncateRunResult(this.runResults[o]),version:2};await n.save(a,u)}await n.commit()};getCancelNodeHandler=()=>async t=>{try{if(!this.repository)return;if(this.runResults[t]){this.updateNodeLocalRunResult({stepID:t,isPreview:!1},"canceled");let i=this.getRepositoryForRun().runResults.get(t),o={...r.truncateRunResult(this.runResults[t]),version:2};await i.save(o)}else this.Logger.errorContext(this.GetLogContext(t),"EventHandler getCancelNodeHandler: missing expected local run result for node",t)}catch(n){this.Logger.errorContext(this.logContext,`Error canceling node ${t}`,n)}};async repositoryUpdateRunStatus({expectedStatus:t,newStatus:n}){if(!this.repository)return;let i=this.getRepositoryForRun();try{let o=await i.fetch();pg("RUNNER_BACKEND",t===o.runStatus,this.logContext,`EventHandler.repositoryUpdateRunStatus found unexpected run status - expected: ${t} / actual: ${o.runStatus}`)}catch(o){this.Logger.alertContext(this.logContext,"Error fetching runInfo",o)}await i.merge({runStatus:n})}async repositoryStampExecutorInfo(t){if(this.repository)try{await this.getRepositoryForRun().merge({platform:t,...xS?{softwareVersion:xS.version}:{}})}catch(n){this.Logger.errorContext(this.logContext,"[EventHandler.repositoryStampExecutorInfo] Error stamping executor info. Cannot update run document version/platform.",n)}}async repositoryUpdateRenderingProgress(t){if(this.repository)try{await this.getRepositoryForRun().merge({renderingProgress:{totalNodes:t.totalNodes,completedNodes:t.completedNodes}})}catch(n){this.Logger.errorContext(this.logContext,"[EventHandler.repositoryUpdateRenderingProgress] Error updating rendering progress. Cannot update run document renderingProgress.",n)}}getRepositoryRunsCollection(){if(!this.repository)throw new et("No repository to get runs collection for!");return this.repository.orgs.get(this.logContext.orgID).runs}getRepositoryForRun(){return this.getRepositoryRunsCollection().get(this.runID)}formatError=(t,n=null,i=null,o=!1)=>{let s=va(t.error).error,a="";return t.error&&typeof t.error=="object"&&!(t.error instanceof Error)&&"runDetails"in t.error&&typeof t.error.runDetails=="object"&&(a=t.error?.runDetails?.compiledSQL??""),t.templateString&&(a=t.templateString),{success:!1,error:{errorString:s.errorString??"",errorDetail:s.errorDetail??""},rows:[],fields:[],name:"",exportedRefs:[],invalidExportedRefs:[],status:o?"Canceled":"Failure",sql:a??"",startTime:t.startTime,endTime:new Date,isRunning:!1,type:"sql",queryID:n,warehouse:i}};populateRunResults(t,n){let i="[EventHandler.populateRunResults()]",o=t.length+1;for(let s of t){let u=q1(s,this.state.nodes,`${i} state.nodes`).operation.name;this.runResults[s]={name:u,runExecutionSequenceID:o,dataResult:null,runState:n,stepRunState:"None",queryResultSequence:{name:u,queryResults:[],isRunning:!1},runResultVersion:2}}}async bulkSetRunResults(t){if(!this.repository)return;let n=this.repository.batch(),i=this.getRepositoryForRun().runResults;for(let o of t){let s=this.runResults[o];if(!s)throw new et(`Run result for node ${o} does not exist for run ${this.runID}`);let a={...s,name:s.queryResultSequence.name,runExecutionSequenceID:s.runExecutionSequenceID,version:2},u=i.get(o);await n.save(u,a)}await n.commit()}async initializeRunResults(t,n="queued"){this.stepsInitialized=[...t],this.populateRunResults(t,n),await this.bulkSetRunResults(t)}setFlusher(t){this.flusher=t,t.startTimer()}async disposeFlusher(){await this.flusher?.stopAndFlush()}async populatePlaceholderStages(t,n){let i=new Set,o=new Set(t.keys());for(let s of n){if(!o.has(s))continue;let a=t.getPhaseItems(s);for(let[u,p]of a.entries()){let c=q1(u,this.runResults,"populateQueuedStages: this.runResults"),l=this.state.nodes[u],d=l?TN(l,void 0):!1,f=Tnt(p,this.getNameForStageWithoutSQL(s,d));for(let h of f)c.queryResultSequence.queryResults.push(this.createQueuedStage(h));f.length>0&&!i.has(u)&&(i.add(u),this.nodeStageIndexTracker.set(u,0))}}await this.bulkSetQueuedStageResults(i)}createQueuedStage({name:t,sql:n,type:i}){return{name:t,status:"Queued",success:!0,sql:n,rows:[],fields:[],startTime:new Date,endTime:new Date,isRunning:!1,exportedRefs:[],invalidExportedRefs:[],type:i}}async bulkSetQueuedStageResults(t){if(!this.repository)return;let n=this.repository.batch(),i=this.getRepositoryForRun().runResults;for(let o of t){let s=this.runResults[o];if(!s)continue;let a=i.get(o);await n.save(a,r.buildRunResultEntitySave(s))}await n.commit()}formatErrorToResult(t,n){let i=null,o=null;return typeof t.error=="object"&&(i=t.error.queryID||null,o=t.error.warehouse||null),{...this.formatError(t,i,o,n),name:t.stageName,stageExecutionStartTime:t.stageExecutionStartTime,stageExecutionEndTime:t.stageExecutionEndTime}}ensureHasQueryResult(t){if(pg("DEPLOY",!!t.queryResult,this.GetLogContext(t.stepID),"query result should always be returned for stage execution"),!t.queryResult)throw new Error("Got an empty query result for stage execution")}updateStageResultAtTrackedIndex=(t,n)=>{let o=q1(t,this.runResults,"[EventHandler.setLastQueryResult()]").queryResultSequence.queryResults,s=this.getCurrentStageIndex(t);if(s<0||s>=o.length)throw this.Logger.errorContext(this.GetLogContext(t),"[EventHandler.setLastQueryResult] stage index out of bounds",{targetIndex:s,queryResultsLength:o.length,resultName:n.name}),new et(`Stage index ${s} out of bounds (length: ${o.length}) for node ${t}`);o[s]=n};async dispatchQueryFailure(t,n){let i=this.formatErrorToResult(t,n),o=n?"client":pR(t.error)??"system";return QC(this.Logger,o,this.GetLogContext(t.stepID),"failed to execute run sql",n?"- canceled":"- errored",t.error,"stack: ",t.error.stack||"<none found>"),this.updateStageResultAtTrackedIndex(t.stepID,i),{error:i.error,fault:o}}getSingleStepData(t,n){let i=this.state.nodes[n];if(i)return i;let o=`(${this.runTypeName}) EventHandler: Could not get step data for step: ${n}`;throw this.Logger.errorContext(this.GetLogContext(n),o,n),new et(o)}getUnrunSteps(){let t={},n=this.state.nodes,i=this.runResults;if(n&&this.stepsInitialized)for(let o of this.stepsInitialized){let s=i[o];if(s){let{runState:a}=s;(a==="waiting"||a==="queued")&&(n[o]?t[o]=0:this.Logger.alertContext(this.logContext,"Node ID from initialization not found in steps data",o))}else this.Logger.alertContext(this.logContext,"Node ID from initialization not found in run results",o)}return t}getStepContext=(t,n,i,o)=>{let s=this.getSingleStepData(t,n),{locationName:a}=s.operation,{database:u}=this.state.mappings[a]?.mappingDefinitions[this.state.currentWorkspace]??{},p=TN(s,void 0),c=s.operation.name;return{startTime:new Date,stepID:n,stepName:c,runExecutionSequenceID:i,phase:t,isPreview:o,isSource:p,database:u??""}};convertIQueryToCompletedQueryResult(t){return{...t,startTime:VVo(t.startTime),endTime:VVo(t.endTime)}}getCurrentStageIndex(t){let n=this.nodeStageIndexTracker.get(t);if(n===void 0)throw new et(`[EventHandler.getCurrentStageIndex] Node ${t} not in stage tracker. Was populateQueuedStages called for this node?`);return n}advanceToNextStage(t){let n=this.getCurrentStageIndex(t);this.nodeStageIndexTracker.set(t,n+1)}getQueryResultForUpdateSuccess(t){return{...this.convertIQueryToCompletedQueryResult(t.queryResult),name:t.stageName,stageExecutionStartTime:t.stageExecutionStartTime,stageExecutionEndTime:t.stageExecutionEndTime}}getStepRunState(t,n){return D3l(t,n,this.operationType)}async updateRunResult(t){if(!this.repository)return;let n=this.runResults[t];if(!n)throw new et(`[EventHandler.updateRunResult()] run result for node ${t} does not exist for run ${this.runID}`);if(this.flusher)this.flusher.markDirty(t);else{let i=r.buildRunResultEntitySave(n);this.Logger.debugContext(this.GetLogContext(t),"updating run result",i),await this.getRepositoryForRun().runResults.get(t).save(i)}}isFinalRunForStep(t){return!0}async beforePhaseExecution(t,n){}async afterPhaseExecution(t){}async beforeStepExecution(t){this.runResults[t.stepID]&&(this.runResults[t.stepID].runExecutionSequenceID=t.runExecutionSequenceID),this.updateNodeLocalRunResult(t,"running"),await this.updateRunResult(t.stepID)}async afterFinalRunSuccessForNode(t){return Promise.resolve()}async afterStepExecutionSuccess(t){this.isFinalRunForStep(t)?(this.updateNodeLocalRunResult(t,"complete"),await this.afterFinalRunSuccessForNode(t)):this.updateNodeLocalRunResult(t,"waiting"),await this.updateRunResult(t.stepID)}async afterStepExecutionFailure(t){let n=await this.isCoalesceInitiatedCancel(t.error);this.markUnexecutedStagesAsCanceled(t.stepID),this.updateNodeLocalRunResult(t,n?"canceled":"error");try{this.flusher?await this.flusher.flushOne(t.stepID):await this.updateRunResult(t.stepID)}catch(i){this.Logger.emergContext(this.GetLogContext(t.stepID),`Error in firebaseUpdateStepResult for stepCounter:${t.stepID}:`,i)}}markUnexecutedStagesAsCanceled(t){let n=this.runResults[t];if(n)for(let i of n.queryResultSequence.queryResults)"status"in i&&i.status==="Queued"&&(i.status="Canceled")}sanityCheckContext(t){if(!t.stageType)throw this.Logger.emergContext(this.logContext,`No stage type on this ${this.runTypeName}!`,t),new Error(`Internal critical error: no stage type on this ${this.runTypeName}!`)}async beforeStageExecution(t){this.sanityCheckContext(t);let n=this.runResults[t.stepID];if(n){let i=n.queryResultSequence.queryResults,o=this.getCurrentStageIndex(t.stepID),s=i[o];if(!s||!("status"in s)||s.status!=="Queued"){let a=s&&"status"in s?s.status:"no-status";throw new et(`[EventHandler.beforeStageExecution] Expected queued placeholder at index ${o} for node ${t.stepID}, but found: ${s?`status=${a}`:"undefined"}`)}s.status="Running",s.startTime=new Date,s.endTime=s.startTime,await this.updateRunResult(t.stepID)}}async updateRunWithHeartbeat(t){await this.getRepositoryForRun().updateHeartbeat(t)}async afterStageExecutionSuccess(t){let n="[EventHandler.afterStageExecutionSuccess()]";if(this.sanityCheckContext(t),!t.queryResult){let i="Got an empty query result for stage execution - query result should always be returned!";throw this.Logger.alertContext(this.GetLogContext(t.stepID),n,i),new et(i)}if(t.stageExecutionStartTime&&t.stageExecutionEndTime){let i=t.stageExecutionEndTime.getTime()-t.stageExecutionStartTime.getTime();this.analyticsCollector.addQueryTiming(t.stepID,t.stageName,i,!0,t.stageExecutionStartTime)}if(jNt(t.queryResult)&&!t.queryResult.success){await this.updateRunWithHeartbeat({hasTestFailures:!0});let i=this.runResults[t.stepID];i&&(i.hasTestFailures=!0)}this.updateStageResultAtTrackedIndex(t.stepID,this.getQueryResultForUpdateSuccess(t)),await this.updateRunResult(t.stepID),this.advanceToNextStage(t.stepID)}async afterStageExecutionFailure(t){if(this.sanityCheckContext(t),t.stageExecutionStartTime&&t.stageExecutionEndTime){let o=t.stageExecutionEndTime.getTime()-t.stageExecutionStartTime.getTime();this.analyticsCollector.addQueryTiming(t.stepID,t.stageName,o,!1,t.stageExecutionStartTime)}let n=await this.isCoalesceInitiatedCancel(t.error),i=await this.dispatchQueryFailure(t,n);throw this.flusher?await this.flusher.flushOne(t.stepID):await this.updateRunResult(t.stepID),this.advanceToNextStage(t.stepID),n?t.error:i}async isCoalesceInitiatedCancel(t){return OLe(t)?!0:x5t(t)?this.runIsCanceled():M5t(t)?this.runIsCanceled():!1}static truncateQueryResult(t,n=L3l,i=k3l){let o=t.sql,s=t.rows,a,u;if(o){let p=new TextEncoder,c=new TextDecoder("utf8"),l=p.encode(o);if(l.length>n){let d=c.decode(l.slice(0,n));d.slice(-1)==="\uFFFD"&&(d=d.slice(0,-1)),a=`${d}...data truncated`}}return s?.length>i&&(u=s.slice(0,i),u.push({values:[`${s.length-i} rows truncated`]})),a||u?{...t,sql:a??o,rows:u??s}:t}static buildRunResultEntitySave(t){return{...r.truncateRunResult(t),name:t.queryResultSequence.name,runExecutionSequenceID:t.runExecutionSequenceID,version:2}}static truncateRunResult(t){let n=(t.dataResult?.sql?1:0)+(t.queryResultSequence?.renderQueryResults?.sql?1:0)+(t.queryResultSequence?.queryResults?.length??0),i=(t.dataResult?.rows?.length?1:0)+(t.queryResultSequence?.renderQueryResults?.rows?.length?1:0)+(t.queryResultSequence?.queryResults?.reduce((p,c)=>p+c?.rows?.length?1:0,0)??0);if(n===0&&i===0)return t;let o=Math.trunc(L3l/n)-100,s=k3l/(i??1),a={...t};t.dataResult?.sql&&(a.dataResult=r.truncateQueryResult(t.dataResult,o,s)??null);let u=t.queryResultSequence;return u&&(a.queryResultSequence={...u,queryResults:u.queryResults?.map(p=>r.truncateQueryResult(p,o,s))},u.renderQueryResults&&(a.queryResultSequence.renderQueryResults=r.truncateQueryResult(u.renderQueryResults,o,s))),a}}});var vMr,q3l=F(()=>{"use strict";Ta();Xo();Sc();H6();m5t();y5t();P5t();vMr=class extends ATe{constructor(n,i,o,s,a){super(n,i,o,"create",a);this.phasedNodeData=s}phasedNodeData;getNameForStageWithoutSQL=(n,i)=>cMr(n,i);getNodeDataForUpdate=n=>{let i=this.getSingleStepData(n.phase,n.stepID),o=i.operation.locationName,s=gz(this.state.mappings,this.envID),a=this.GetLogContext(n.stepID),u;try{let p=s?.[o]?.database??i.operation.database,c=s?.[o]?.schema??i.operation.schema;return u={...i.operation,metadata:{...i.operation.metadata,columns:i.operation.metadata.columns.map(l=>({...l}))},database:p,schema:c,version:1,id:n.stepID,deployEnabled:!0},this.Logger.infoContext(a,"newStepData:",u,"stepCounter:",n.stepID),mzc("(Logging Only) Compare locations from context and workspace",a,()=>{let l=gz(this.state.mappings||{},this.state.currentWorkspace);pg("DEPLOY",mZ(l[o],s[o]),a,`Location data for location ${o} for node ${i.operation.name} with id ${n.stepID} differs between data from context and data from workspace.`,"locationsFromWorkspace:",l,"locationsFromContext:",s)}),u}catch(p){let c=u?u.name:i.operation.name,l=`Error attempting to update the database/schema on deployed nodeID ${n.stepID}: ${c}`;throw this.Logger.emergContext(a,l,"locations:",s,"error:",p),new FW(n.stepID,l)}};async updateEnvironmentNodeMetadata(n){if(!this.repository)return;let i=this.repository.org(this.teamID).workspace(+this.envID).nodes.get(n.stepID);if(n.phase==="deletedTable")n.stepID in this.phasedNodeData.addedTable||await i.delete();else{let o=this.getNodeDataForUpdate(n);await i.save(o)}}isFinalRunForStep(n){let i=[];return n.phase==="deletedTable"&&(i.push(this.phasedNodeData.alteredTable),i.push(this.phasedNodeData.addedTable)),n.phase==="alteredTable"&&i.push(this.phasedNodeData.addedTable),!i.some(o=>n.stepID in o)}async afterFinalRunSuccessForNode(n){try{await this.updateEnvironmentNodeMetadata(n)}catch(i){let o=this.GetLogContext(n.stepID);this.Logger.errorContext(o,"Error updating node metadata -- nodeID:",n.stepID,"error:",i);let s=JXe(i),a="unknown location";try{a=this.getSingleStepData(n.phase,n.stepID).operation.locationName}catch(u){this.Logger.errorContext(o,`Error getting location name for node ${n.stepName} (${n.stepID}):`,u)}throw new FW(n.stepID,`Failed to update node metadata for ${n.stepName} (${a}): ${s}`)}}}});var F3l,IMr,sns=F(()=>{"use strict";lr();F3l=(r,t)=>{let n=new Set(t);return n.delete(r),Array.from(n)},IMr=async(r,t,n)=>{if(!t)throw new et(`Cannot get deploy run info since workspace ${r} has no currently running jobs`);if(t.length)return(await n.selectInBatches("id","in",t,[["runType","==","deploy"],["runStatus","==","running"]]))[0]}});var RMr,U3l=F(()=>{"use strict";RMr="No SQL to execute"});var N5t=F(()=>{"use strict";sns();U3l()});var _Mr,z3l=F(()=>{"use strict";N5t();P5t();_Mr=class extends ATe{constructor(t,n,i,o){super(t,n,i,"run",o)}async initializeRunResults(t){await super.initializeRunResults(t,"waiting")}getNameForStageWithoutSQL=()=>RMr}});var Q3l=F(()=>{"use strict"});var OMr,ans=F(()=>{"use strict";OMr=class{constructor(t,n,i,o,s,a,u){this.repository=t;this.getRunRepository=n;this.buildEntitySave=i;this.runResults=o;this.logger=s;this.logContext=a;this.flushIntervalMs=u?.flushIntervalMs??3e3,this.flushThreshold=u?.flushThreshold??50}repository;getRunRepository;buildEntitySave;runResults;logger;logContext;dirtyNodes=new Set;timer=null;activeFlush=null;flushedDuringBatch=new Set;flushIntervalMs;flushThreshold;totalFlushes=0;totalNodeWrites=0;totalImmediateWrites=0;timerFlushes=0;thresholdFlushes=0;slowCommits=0;tag="[RunResultFlusher]";markDirty(t){this.dirtyNodes.add(t),this.dirtyNodes.size>=this.flushThreshold&&this.flush("threshold").catch(n=>{this.logger.errorContext(this.logContext,`${this.tag} threshold-triggered flush error`,n)})}async flush(t="dispose"){if(this.activeFlush||this.dirtyNodes.size===0){this.logger.debugContext(this.logContext,`${this.tag} flush skipped (activeFlush=${!!this.activeFlush}, dirtySetEmpty=${this.dirtyNodes.size===0}, trigger=${t})`);return}let n=new Set(this.dirtyNodes);this.dirtyNodes.clear(),this.activeFlush=this.doFlush(n,t);try{await this.activeFlush}finally{this.activeFlush=null}}async doFlush(t,n){try{let i=this.repository.batch();for(let a of t){let u=this.runResults[a];if(!u){this.logger.warnContext(this.logContext,`${this.tag} node ${a} no longer has a run result, skipping write`);continue}let p=this.buildEntitySave(u),c=this.getRunRepository().runResults.get(a);await i.save(c,p)}let o=Date.now();await i.commit();let s=Date.now()-o;if(this.flushedDuringBatch.size>0){let a=this.getRunRepository().runResults;for(let u of this.flushedDuringBatch)if(t.has(u)){let p=this.runResults[u];p&&await a.get(u).save(this.buildEntitySave(p))}this.flushedDuringBatch.clear()}this.totalFlushes++,this.totalNodeWrites+=t.size,n==="timer"&&this.timerFlushes++,n==="threshold"&&this.thresholdFlushes++,s>=2e3&&(this.slowCommits++,this.logger.warnContext(this.logContext,`${this.tag} slow commit: ${s}ms for ${t.size} nodes (possible write stream pressure)`)),this.logger.debugContext(this.logContext,`${this.tag} flushed ${t.size} run results in ${s}ms (${n}, threshold=${this.flushThreshold}, interval=${this.flushIntervalMs}ms)`)}catch(i){for(let o of t)this.dirtyNodes.add(o);throw this.logger.errorContext(this.logContext,`${this.tag} flush failed, ${t.size} nodes re-queued`,i),i}}async flushOne(t){this.dirtyNodes.delete(t);let n=this.runResults[t];if(!n){this.logger.warnContext(this.logContext,`${this.tag} node ${t} no longer has a run result, skipping write (flushOne)`);return}this.activeFlush&&this.flushedDuringBatch.add(t);let i=this.buildEntitySave(n);await this.getRunRepository().runResults.get(t).save(i),this.totalImmediateWrites++}startTimer(){this.timer||(this.timer=setInterval(()=>{this.flush("timer").catch(t=>{this.logger.errorContext(this.logContext,`${this.tag} timer-triggered flush error`,t)})},this.flushIntervalMs))}async stopAndFlush(){this.timer&&(clearInterval(this.timer),this.timer=null);try{if(this.activeFlush)try{await this.activeFlush}catch(t){this.logger.errorContext(this.logContext,`${this.tag} error waiting for in-flight flush (stopAndFlush)`,t)}this.logger.infoContext(this.logContext,`${this.tag} draining remaining dirty nodes (stopAndFlush)`),await this.flush("dispose")}catch(t){this.logger.errorContext(this.logContext,`${this.tag} error stopping and flushing (stopAndFlush)`,t)}finally{this.logger.infoContext(this.logContext,`${this.tag} done \u2014 ${this.totalFlushes} flushes (${this.thresholdFlushes} threshold, ${this.timerFlushes} timer, ${this.slowCommits} slow), ${this.totalNodeWrites} batched writes, ${this.totalImmediateWrites} immediate writes (threshold=${this.flushThreshold}, interval=${this.flushIntervalMs}ms)`)}}}});var wMr,xMr,mTe=F(()=>{"use strict";sr();q3l();z3l();TMr();SMr();P5t();Q3l();ans();TMr();wMr=class extends vMr{constructor(t,n,i,o,s){super(t,n,i,o,s)}get Logger(){return He("DEPLOY")}get runTypeName(){return"Deploy"}},xMr=class extends _Mr{get Logger(){return He("RUNNER")}get runTypeName(){return"Refresh"}afterStepExecutionSuccess=async t=>{await super.afterStepExecutionSuccess(t),this.repository&&super.isFinalRunForStep(t)&&!t.isSource&&await this.repository.org(this.logContext.orgID).workspace(this.logContext.workspaceID).nodeLastRefreshed(t.stepID).save({lastRefreshed:new Date().toISOString()})};getQueryResultForUpdateSuccess=t=>({...super.getQueryResultForUpdateSuccess(t),type:t.stageType});async dispatchQueryFailure(t,n){if(B3l(t.error)){let i=t.error,o=this.getCurrentStageIndex(t.stepID);t.stepID in this.runResults&&(this.runResults[t.stepID].queryResultSequence.queryResults[o]=this.convertIQueryToCompletedQueryResult(i.result));let s=this.runResults[t.stepID];return s&&(s.hasTestFailures=!0),await this.updateRunWithHeartbeat({hasTestFailures:!0}),{error:{errorString:t.error.message,errorDetail:t.error.message},fault:"client"}}else return super.dispatchQueryFailure(t,n)}}});var xnt,Mnt,wLe=F(()=>{"use strict";xnt=["deletedTable","alteredTable","addedTable"],Mnt=["refresh"]});var MMr,D5t,PMr,j3l,G3l,Flg,Ulg,zlg,Qlg,H3l,Pnt,NMr,uns,Wfe,Kfe=F(()=>{"use strict";Ta();lb();uo();sr();Q$o();drs();MMr=`{%- macro get_value_by_column_attribute(column_attribute, value="name") -%}
|
|
7877
|
+
%s`,V,V,C,a);let Y=C.type==="*"?brs:C.type==="?"?Srs:"\\"+C.type;u=!0,a=a.slice(0,C.reStart)+Y+"\\("+V}z(),p&&(a+="\\\\");let G=hag[a.charAt(0)];for(let V=l.length-1;V>-1;V--){let Y=l[V],U=a.slice(0,Y.reStart),K=a.slice(Y.reStart,Y.reEnd-8),Z=a.slice(Y.reEnd),$=a.slice(Y.reEnd-8,Y.reEnd)+Z,se=U.split(")").length,oe=U.split("(").length-se,ae=Z;for(let re=0;re<oe;re++)ae=ae.replace(/\)[+*?]?/,"");Z=ae;let ue=Z===""&&n!==Zxr?"(?:$|\\/)":"";a=U+K+Z+ue+$}if(a!==""&&u&&(a="(?=.)"+a),G&&(a=L()+a),n===Zxr)return[a,u];if(i.nocase&&!u&&!i.nocaseMagicOnly&&(u=t.toUpperCase()!==t.toLowerCase()),!u)return bag(t);let H=i.nocase?"i":"";try{let V=s?{_glob:t,_src:a,test:s}:{_glob:t,_src:a};return Object.assign(new RegExp("^"+a+"$",H),V)}catch(V){return this.debug("invalid regexp",V),new RegExp("$.")}}makeRe(){if(this.regexp||this.regexp===!1)return this.regexp;let t=this.set;if(!t.length)return this.regexp=!1,this.regexp;let n=this.options,i=n.noglobstar?brs:n.dot?dag:fag,o=n.nocase?"i":"",s=t.map(a=>{let u=a.map(p=>typeof p=="string"?Sag(p):p===Rz?Rz:p._src);return u.forEach((p,c)=>{let l=u[c+1],d=u[c-1];p!==Rz||d===Rz||(d===void 0?l!==void 0&&l!==Rz?u[c+1]="(?:\\/|"+i+"\\/)?"+l:u[c]=i:l===void 0?u[c-1]=d+"(?:\\/|"+i+")?":l!==Rz&&(u[c-1]=d+"(?:\\/|\\/"+i+"\\/)"+l,u[c+1]=Rz))}),u.filter(p=>p!==Rz).join("/")}).join("|");s="^(?:"+s+")$",this.negate&&(s="^(?!"+s+").*$");try{this.regexp=new RegExp(s,o)}catch{this.regexp=!1}return this.regexp}slashSplit(t){return this.preserveMultipleSlashes?t.split("/"):eMr&&/^\/\/[^\/]+/.test(t)?["",...t.split(/\/+/)]:t.split(/\/+/)}match(t,n=this.partial){if(this.debug("match",t,this.pattern),this.comment)return!1;if(this.empty)return t==="";if(t==="/"&&n)return!0;let i=this.options;Ers.sep!=="/"&&(t=t.split(Ers.sep).join("/"));let o=this.slashSplit(t);this.debug(this.pattern,"split",o);let s=this.set;this.debug(this.pattern,"set",s);let a=o[o.length-1];if(!a)for(let u=o.length-2;!a&&u>=0;u--)a=o[u];for(let u=0;u<s.length;u++){let p=s[u],c=o;if(i.matchBase&&p.length===1&&(c=[a]),this.matchOne(c,p,n))return i.flipNegate?!0:!this.negate}return i.flipNegate?!1:this.negate}static defaults(t){return IR.defaults(t).Minimatch}};IR.Minimatch=bnt});var evl,tvl,rvl,nvl,ivl,ovl,svl,avl,uvl,cvl,lvl,ZTl,Ent,pvl=F(()=>{"use strict";l5t();evl=2,tvl=1,rvl=3,nvl=2,ivl=8,ovl=5,svl=6,avl=new RegExp(/([\+]?){([\s\S]+)}([\+](?![\+]))?\s*/g),uvl=new RegExp(/((\w+):\s*((?:["])((([^\"\+\r\n\[/\\]+))(?:["]))|(([^\"\ \+\r\n\[/\\]+))))/g),cvl=new RegExp(/((\w+):\s*(((?:["])(((?:[^"]|"")*))(?:["]))|(([^\"\ \+\r\n\[/\\]+))))/g),lvl=new RegExp(/((?:[^\+\ \r\n\[\\]|\\.|\[(?:[^\r\n\]\\]|\\.)*\])+)\s*/g),ZTl="",Ent=(r,t)=>{if(t==="*")return r.some(o=>o!=null&&String(o).length>0);let n=r.map(o=>o!=null?String(o).replace(/\//g,ZTl):""),i=t.replace(/\//g,ZTl);return!!Crs(n,i).length}});var Snt,e5S,dvl,fvl,hvl,rMr,gvl,nMr=F(()=>{"use strict";rn();Xo();_d();NI();sr();Ars();pvl();Snt=He("SEARCH"),e5S=w.object({include:w.string(),exclude:w.string(),enabled:w.boolean()}),dvl={name:{MatchFunction:Ent,MatchList:r=>[r.operation.name]},location:{MatchFunction:Ent,MatchList:r=>[r.operation.locationName]},nodeType:{MatchFunction:Ent,MatchList:r=>[r.operation.sqlType]},subgraph:{MatchFunction:Ent,MatchList:r=>[r?.id?.toString(),r.name]},nodeID:{MatchFunction:Ent,MatchList:r=>[r]}},fvl=r=>{let t=[];return r.forEach((n,i)=>{if(n==="+{"||n==="{"||n==="}"||n==="}+")return;let o=n,s=n.split(""),a=s[s.length-1],u=s[0];a!=="}"&&a!=="+"&&(o=o+r[i+1]),u!=="{"&&u!=="+"&&(o=r[i-1]+o),t.push(o)}),t},hvl=(r,t,n,i=!1)=>{let{steps:o,graphInformation:s,allSubgraphs:a,allStepTypesYAML:u}=n,p={},c=j3()?Date.now():performance.now(),l=r;l||(l=t);let d=l.split(/(\}\+?)\s*(or|OR|\|\|)\s*(\+?\{)/).filter(A=>!(A==="OR"||A==="or"||A==="||")),f=fvl(d);f.length||(f=[t]),Snt.debug("got unions",f,"searchStringTouse",l,"defaultSearchString",t,"steps",o),f.forEach(A=>{let E=A.split(/(\}\+?)\s*(and|AND|\,)\s*(\+?\{)/).filter(L=>!(L==="AND"||L==="and"||L===",")),C=fvl(E),v=[];C.forEach(L=>{let k={};Snt.debug("Got intersection:",L);let z=[...L.matchAll(avl)];if(Snt.debug("Got matches:",L,z),!z[0])return;let G=z[0][evl],H={prefix:z[0][tvl]||"",postfix:z[0][rvl]||""};if(G.indexOf(":")>-1){let U=i?cvl:uvl,K=[...G.trim().matchAll(U)],Z=i?svl:ovl;K.forEach($=>{let se=$[nvl],oe=$[ivl]||$[Z];H[se]=oe})}else{let K=[...G.trim().matchAll(lvl)][0];K&&(H.name=K[0])}kM(H);let V=H;Snt.debug("Got groups ",L,V);let Y=new Set;if(V.subgraph?Object.values(a).forEach(U=>{let K=dvl.subgraph,Z=K.MatchList(U);if(K.MatchFunction(Z,V.subgraph)){let{steps:se}=U;se.forEach(oe=>{Y.add(oe.toString())})}else return}):Y=new Set(Object.keys(o)),V.nodeType){let{nodeType:U}=V;if(!u[U]){let K=U;Object.entries(u).forEach(([Z,$])=>{$.name===U&&(K=Z)}),V.nodeType=K}}Object.keys(o).forEach(U=>{if(!V){Snt.emerg("got an unexpected undefined value for match",l,V,L);return}let K=Y.has(U);if(Object.entries(V).forEach(([Z,$])=>{let se=o[U];if(Z==="nodeID"&&(se=U),Z==="subgraph"){K=Y.has(U);return}let oe=dvl[Z];if(oe){let ae=oe.MatchList(se).filter(ue=>ue!=null);K=K&&oe.MatchFunction(ae,$)}}),K){if(k[U]=!0,V.prefix&&s){let Z=grs(s,U,"predecessors");Object.values(Z).forEach($=>[...$.keys()].forEach(se=>k[se]=!0))}if(V.postfix&&s){let Z=grs(s,U,"successors");Object.values(Z).forEach($=>[...$.keys()].forEach(se=>k[se]=!0))}}}),v.push(k)}),v.length||v.push({});let O={};Object.keys(o).forEach(L=>{O[L]=!0});let D=v.reduce((L,k)=>Object.fromEntries(ozc(L,k).map(z=>[z,!0])),O);p={...p,...D}});let h=j3()?Date.now():performance.now();return Snt.debug("Time that search took: ",h-c),p},rMr=(r,t,n,i=!1)=>{let o=hvl(`${r}`,"{ * }",n,i),s=hvl(`${t}`,"!*",n,i),a=o;return Object.keys(s).forEach(u=>{delete a[u]}),{stepsResult:a}},gvl=(r,t,n,i)=>{let o=[];return t.forEach(s=>{let a=i[s];if(a){let{name:u}=a,p=`{ subgraph: "${u}" }`;o.push(p)}}),r.forEach(s=>{let a=n[s];if(a){let{locationName:u,name:p}=a.operation,c=`{ location: "${u}" name: "${p}" }`;o.push(c)}}),o}});var vag,Avl,Trs,mvl,iMr=F(()=>{"use strict";uo();sr();nMr();vag=He("JOBS"),Avl=r=>!r?.hasOwnProperty("includeSelector")||!r?.hasOwnProperty("version"),Trs=(r,t,n)=>{let{steps:i,subgraphs:o,...s}=r,a={...s};if(a.hasOwnProperty("version")||(a.version=vee),a.hasOwnProperty("includeSelector"))return a;a.includeSelector="",a.excludeSelector="";let u=new Set(i),p=new Set(o),d=gvl([...u],[...p].map(f=>`${f}`),n,t).map(f=>`+${f}`).join(" OR ");return a.includeSelector=d,vag.info("Upgrading job v1 to v2",r,a),a},mvl=(r,t)=>{let{jobs:n,folders:i,steps:o}=r,s=n[t];return Trs(s,i,o)}});var c5S,yvl,bvl=F(()=>{"use strict";lr();Sc();sr();mfe();c5S=He("PACKAGES_BACKEND"),yvl=(r,t,n)=>{let i=C$o(t)??"",o=r?.config?.entities?.nodeTypes[i];return o||(n.error(`No config found for node type ${t}`),{isDisabled:!1,defaultStorageLocation:null})}});var pTe,Iag,Rag,p5t=F(()=>{"use strict";Ta();sr();Xtt();bvl();pTe=(r,t={})=>Object.values(r).map(n=>Iag(n)).reduce((n,i)=>{for(let[o,s]of Object.entries(i))n[o]=s;return n},t),Iag=r=>Object.fromEntries(Object.entries(r?.contents?.nodeTypes??{}).map(([t,n])=>{let{id:i,nodeType:o}=Rag(r.alias,t,r,n);return[i,o]})),Rag=(r,t,n,i)=>{let o=A_r(r,t),{isDisabled:s,defaultStorageLocation:a}=yvl(n,o,He("PACKAGES")),u={...Yc(i),id:o,isDisabled:s};return u.metadata.defaultStorageLocation=a,{id:o,nodeType:u}}});var es,_ag,Evl,Svl,vrs,E5S,Oag,Cvl,wag,xag,oMr,Irs=F(()=>{"use strict";es=Ut(oW());uo();jU();FSr();Xa();_ag=es.Record({type:es.Unknown,name:es.String}),Evl=es.Record({locationName:es.String,nodeName:es.String}),Svl=es.Record({sql:es.String,success:es.Boolean,rows:es.Array(es.Unknown),fields:es.Array(_ag),error:es.Union(es.Null,PSr).optional(),startTime:es.Unknown,endTime:es.Unknown,status:es.String,name:es.String,isRunning:es.Boolean,exportedRefs:es.Array(Evl),invalidExportedRefs:es.Array(Evl),queryResultSequence:es.Optional(es.Unknown),type:es.Union(es.Literal("sql"),es.Literal("sqlTest")).optional(),warehouse:es.String.nullable().optional(),queryID:es.String.nullable().optional()}),vrs=es.Record({name:es.String,queryResults:es.Array(Svl),isRunning:es.Boolean,renderQueryResults:es.Optional(Svl)}),E5S=es.Record({runExecutionSequenceID:es.Number,runResultVersion:es.Number,name:es.String,queryResultSequence:vrs,runState:es.String}),Oag=es.Record({dataResult:es.Unknown,name:es.String,queryResultSequence:vrs,runExecutionSequenceID:es.Number,runResultVersion:es.Number,runState:es.String,stepRunState:tZe(DFo)}),Cvl=LM("RunResultFirestoreValidator",Oag),wag=es.Record({nodeID:es.String,queryResultSequence:vrs,runState:es.String,hasTestFailures:es.Boolean.optional()}),xag=es.Record({runResults:es.Record({runStartTime:es.Unknown,runEndTime:es.Unknown,runFailureReason:es.Optional(es.String),runType:es.String,runStatus:es.String,runResults:es.Array(wag),runID:es.Number,environmentID:es.String,snowflakeAccount:es.String.optional(),snowflakeWarehouse:es.String.optional(),jobID:es.Number.optional(),hasFailedTest:es.Boolean.optional(),runTimeParameters:es.Unknown.nullable(),includeNodesSelector:es.String.optional(),excludeNodesSelector:es.String.optional()})}),oMr=LM("TRunOutput",xag)});var T5S,Tvl=F(()=>{"use strict";uo();FSr();T5S=tZe(NFo)});var SLe,sMr=F(()=>{"use strict";Ta();NI();sr();SLe=class{constructor(t,n,i,o){this.allNodes=t;this.renderResults=n;this.extraRefs=i;this.logContext=o;this.phasedRefUsage=n.map("phased ref usage",s=>s.map(a=>a.runDetails.ref_usage))}allNodes;renderResults;extraRefs;logContext;phasedRefUsage;buildPhase(t,n){let i="[DependencyBuilder.buildPhase()]",o=n.keys(),s=Object.keys(this.extraRefs),a=[...new Set([...o,...s])];if(He("PIPELINE").appContext(this.logContext,i,"Nodes present in both current-phase data AND extra non-phased (views & advanced deploy) data:",FRo([...o],s)),this.noDependenciesPhases.includes(t))return Object.fromEntries(a.map(u=>[u,[]]));{let u=this.getNodeRefsInPhase(t,a),p=new z8e(dS(this.allNodes,a));return pS(u,(c,l)=>{let{nodeIDsToAdd:d}=urt(c,p);return[...new Set(d)].filter(f=>f!==l)})}}build(){return Object.fromEntries([...this.phasedRefUsage.entries()].map(([t,n])=>[t,this.buildPhase(t,n)]))}}});var P5S,Rrs=F(()=>{"use strict";lr();sr();Sc();P5S=He("DEBUG")});var vvl=F(()=>{"use strict"});var aMr,_rs=F(()=>{"use strict";aMr=r=>{typeof r.stepCounter=="number"&&(r.stepCounter=`${r.stepCounter}`),typeof r.columnCounter=="number"&&(r.columnCounter=`${r.columnCounter}`)}});var dTe,Xs,Ors=F(()=>{"use strict";Ps();QU();dTe=new Date("1980-01-01T00:00:00.000Z"),Xs=(r,t,n)=>{let i=`${r}Entity`;return n||(n=na(t)),{standard:Dr(i,n),strict:Dr(`${i} (strict)`,t)}}});var Ivl,Pag,Rvl,CLe,d5t,wrs,xrs,Xu,Mrs,RR,Prs=F(()=>{"use strict";Xm();Ors();ufe();Ivl=r=>{if(Array.isArray(r))for(let t=r.length-1;t>=0;t--)r[t]===void 0&&r.splice(t,1);if(r&&typeof r=="object")for(let t in r)r.hasOwnProperty(t)&&r[t]===void 0&&delete r[t];return[r,!1]},Pag=(r,t)=>{if(r&&typeof r=="object"){let n=r;if(n.toDate&&(!isNaN(n.seconds)&&!isNaN(n.nanoseconds)||!isNaN(n._seconds)&&!isNaN(n._nanoseconds))){let i=n.toDate();return i.getTime()===ofe.SENTINEL_DATE&&Xl().emerg(`Repository server timestamp sentinel value found in stored data at path ${t}`),[i,!0]}}return[r,!1]},Rvl=(r,t)=>r instanceof b8e?[t.getDeleteSentinel(),!0]:r instanceof Date&&r.getTime()===ofe.SENTINEL_DATE?[t.getServerTimestampSentinel(),!0]:[r,!1],CLe=(r,t,n)=>{let[i,o]=t(n,r);if(!o&&typeof i=="object"){if(Array.isArray(i))return i.map(s=>CLe(r,t,s));for(let s in i)i.hasOwnProperty(s)&&(i[s]=CLe(r,t,i[s]))}return i},d5t=class{fromStorage(t,n,i,o,s){try{return this.transformFromStorage(t,n,i,o,s)}catch(a){if(s?.onDataTransformError&&s.onDataTransformError(n,a),!s?.ignoreDataTransformErrors)throw Xl().debug(`Error transforming repository entity ${n} from storage: ${a}`),a}return i}toStorage(t,n,i,o,s){try{return this.transformToStorage(t,n,i,o,s)}catch(a){if(s?.onDataTransformError&&s.onDataTransformError(n,a),!s?.ignoreDataTransformErrors)throw Xl().debug(`Error transforming repository entity ${n} to storage ${a}`),a}return i}mergeToStorage(t,n,i,o,s){try{return this.mergeTransformToStorage(t,n,i,o,s)}catch(a){if(s?.onDataTransformError&&s.onDataTransformError(n,a),!s?.ignoreDataTransformErrors)throw Xl().debug(`Error merge transforming repository entity ${n} to storage ${a}`),a}return i}},wrs=class extends d5t{constructor(n=!1){super();this.preserveID=n}preserveID;transformFromStorage(n,i,o){return"id"in o?o.id!=n&&(Xl().error(`'id' property does not match doc id on doc at path ${i}; doc id: ${n}, value.id: ${o.id}`),o.id=n):o.id=n,"createdAt"in o||(o.createdAt=dTe),"updatedAt"in o||(o.updatedAt=dTe),CLe(i,Pag,o)}transformToStorage(n,i,o,s){return this.preserveID||delete o.id,CLe(i,a=>{let[u,p]=Rvl(a,s);return p?[u,!0]:Ivl(u)},o)}mergeTransformToStorage(n,i,o,s){return this.preserveID||delete o.id,CLe(i,a=>{let[u,p]=Rvl(a,s);return p?[u,!0]:Ivl(u)},o)}},xrs=class extends d5t{constructor(n){super();this.validators=n}validators;transformFromStorage(n,i,o,s,a){let u=this.getValidatorOptions(n,a?.validatorOptions);return a?.enableStrictValidation?this.validators.strict.assert(o,u):this.validators.standard.assert(o,u)}transformToStorage(n,i,o,s,a){let u=this.getValidatorOptions(n,a?.validatorOptions);return a?.enableStrictValidation?this.validators.strict.assert(o,u):this.validators.standard.assert(o,u)}mergeTransformToStorage(n,i,o,s,a){return o}getValidatorOptions(n,i,o=500){let s={...i,statusCode:o};return s.errorMessage||(s.errorMessage=a=>`Found ${a.failures.length} validation failure(s) for ${this.validators.standard.name} ${n}`),s}},Xu=(r,t,n)=>{let i=[new wrs(n),new xrs(r)];return t&&i.unshift(t),new Mrs(...i)},Mrs=class{transforms;constructor(...t){this.transforms=t}fromStorage(t,n,i,o,s){return this.transforms.reduce((a,u)=>u.fromStorage(t,n,a,o,s),i)}toStorage(t,n,i,o,s){return this.transforms.reduceRight((a,u)=>u.toStorage(t,n,a,o,s),i)}mergeToStorage(t,n,i,o,s){return this.transforms.reduceRight((a,u)=>u.mergeToStorage(t,n,a,o,s),i)}},RR=class extends d5t{transformToStorage(t,n,i){return i}mergeTransformToStorage(t,n,i){return i}}});var Of=F(()=>{"use strict";Prs()});var _vl,Cnt,qW,Nrs,f5t,_z,fTe,Brs,Nag,Dag,Ovl,Drs,uMr,wvl=F(()=>{"use strict";uo();sr();Of();_rs();_vl=r=>!!r&&typeof r=="object"&&!Array.isArray(r),Cnt=r=>_vl(r)&&!(r instanceof Date)&&!(r instanceof RegExp),qW=r=>{if(typeof r=="string")return r;if(_vl(r)&&r.constructor&&typeof r.constructor.name=="string")return`[class ${r.constructor.name}]`;if(r instanceof Date)return`[date ${r.toISOString()}]`;if(r instanceof RegExp)return`[regexp ${r.toString()}]`;if(typeof r=="function")return`[function ${r.name}]`;try{return JSON.stringify(r)}catch{return"Error: could not stringify unknown value"}},Nrs=r=>r==null,f5t=(r,t,n,i)=>{t.filter((o,s)=>Cnt(o)?!0:(n.logError(`Invalid ${r} item detected at index ${s}: ${qW(o)}`),n.logPatch(`Removed invalid ${r} item at index ${s}`),!1)).forEach(i)},_z=(r,t,n)=>{r[t]=n},fTe=(r,t)=>{delete r[t]},Brs=(r,t,n)=>{let i=new Drs(r,He("FIREBASE"),t),{logError:o,logPatch:s,report:a}=i,u=()=>(a(),n);if(!Cnt(n))return u();let p=n;if([["locationName",!p.locationName&&typeof p.locationName!="string"||typeof p.locationName!="string"],["description",typeof p.description!="string"]].forEach(([c,l])=>{l&&(s(`Set non-string property ${c} from ${qW(p[c])} to ""`),_z(p,c,""))}),["dependencies","isDataVault","locationID"].forEach(c=>{c in p&&(s(`Removed deprecated field ${c}`),fTe(p,c))}),p.type==="sql")s("-- data.type is sql --"),Nag(r,p,i);else if(p.type==="sourceInput")s("-- data.type is sourceInput --"),Dag(r,p,i);else return o(`Data type is of invalid type ${qW(p.type)}`),u();return p.version!==Cee&&(s(`Set version ${qW(p.version)} to ${Cee}`),_z(p,"version",Cee)),u()},Nag=(r,t,n)=>{let{logError:i,logPatch:o}=n;if(t.isMultisource===void 0&&(o("Set missing isMultisource to false"),_z(t,"isMultisource",!1)),Cnt(t.metadata)){let s=t.metadata;if(s.appliedNodeTests===null&&(o("Set metadata.appliedNodeTests from null to []"),_z(s,"appliedNodeTests",[])),!Array.isArray(s.sourceMapping)||!s.sourceMapping.length){o("Set non-array or empty metadata.sourceMapping to [ basicMapping ]");let a;typeof t.name=="string"?a=t.name:(o("Data has no name value, setting sourceMapping.name to empty string"),a=""),_z(s,"sourceMapping",[{name:a,join:{joinCondition:""},dependencies:[],noLinkRefs:[],aliases:{}}])}else f5t("sourceMapping",s.sourceMapping,n,(a,u)=>{let p=a;if(typeof p.join=="string"){let c={joinCondition:""};o(`Setting invalid string value metadata.sourceMapping[${u}].join to object: ${qW(c)}`),_z(p,"join",c)}if(p.name===void 0){let c=p.join?.name??"";o(`Set missing metadata.sourceMapping[${u}].name to "${c}"`),_z(p,"name",c),c||i(`metadata.sourceMapping[${u}].name is an empty string`)}Array.isArray(p.dependencies)&&f5t("sourceMapping dependency",p.dependencies,n,(c,l)=>{let d=c;for(let f of["locationName","nodeName"])Nrs(d[f])&&(o(`Set metadata.sourceMapping[${u}].dependencies[${l}].${f} from ${qW(d[f])} to ""`),_z(d,f,""))})});Ovl(r,s.columns,n)}if(t.config&&typeof t.config=="object")for(let[s,a]of Object.entries(t.config))a===null&&(o(`Removing null config property "${s}"`),fTe(t.config,s))},Dag=(r,t,n)=>{let{logPatch:i,logError:o}=n;if(t.dataset!==void 0&&(i("Removed deprecated v0 property dataset"),fTe(t,"dataset")),t.table!==void 0&&(t.table!==t.name&&o(`source data properties 'table' and 'name' are different for source node ${r}, table: ${t.table}, name: ${t.name}`),i("Removed deprecated v0 property table"),fTe(t,"table")),Cnt(t.metadata)){let s=t.metadata;Array.isArray(s.columns)&&(s.columns.length&&Ovl(r,s.columns,n),Object.keys(s).length>1&&(i(`Removed deprecated metadata properties, keeping only columns. Was: ${qW(s)}`),_z(t,"metadata",{columns:s.columns})))}},Ovl=(r,t,n)=>{let{logPatch:i}=n;Array.isArray(t)&&f5t("column",t,n,(o,s)=>{let a=o;if(["ghostRecordValue","descendedFrom","hashColumns","columnsForHash"].forEach(c=>{a.hasOwnProperty(c)&&(i(`Removed deprecated property '${c}' from metadata.columns[${s}]`),fTe(a,c))}),Cnt(a.hashDetails)){let c=a.hashDetails;c.hashType&&(i(`Removed deprecated property 'hashType' from metadata.columns[${s}].hashDetails`),fTe(c,"hashType")),c.hubHashes&&(i(`Removed deprecated property 'hubHashes' from metadata.columns[${s}].hashDetails`),fTe(c,"hubHashes"))}[["appliedColumnTests",a.appliedColumnTests===null],["config",a.config===null],["hashDetails",typeof a.hashDetails=="string"]].forEach(([c,l])=>{l&&(i(`Deleted metadata.columns[${s}].${c} with invalid value ${qW(a[c])}`),fTe(a,c))}),[["dataType",typeof a.dataType!="string"],["transform",a.transform===null]].forEach(([c,l])=>{l&&(i(`Set ${c} from ${qW(a[c])} to "" in metadata.columns[${s}]`),_z(a,c,""))});let u=a.hashedColumns;if(Array.isArray(u))for(let c of u)aMr(c);let p=a.columnReference;if(Cnt(p)){aMr(p);let c=p;Nrs(c.stepCounter)&&(i(`Set metadata.columns[${s}].columnReference.stepCounter from ${qW(c.stepCounter)} to ${r}`),_z(c,"stepCounter",r))}Array.isArray(a.sourceColumnReferences)&&f5t("sourceColumnReference",a.sourceColumnReferences,n,(c,l)=>{let d=c;Array.isArray(d.columnReferences)&&f5t("columnReference",d.columnReferences,n,(f,h)=>{aMr(f);let A=f;Nrs(A.stepCounter)&&(i(`Set invalid metadata.columns[${s}].sourceColumnReferences[${l}].columnReferences[${h}].stepCounter to "" from ${qW(r)}`),_z(A,"stepCounter",""))})})})},Drs=class{constructor(t,n,i){this.id=t;this.logger=n;this.path=i}id;logger;path;patchMessages=[];errorMessages=[];logPatch=t=>{this.patchMessages.push(t)};logError=t=>{this.errorMessages.push(t)};reportErrors=()=>{this.errorMessages.length&&this.logger.error(`Error patching node data with id ${this.id} at path ${this.path}`,this.errorMessages)};reportPatches=()=>{this.patchMessages.length&&this.logger.debug(`Patched node data with id ${this.id} at path ${this.path}`,this.patchMessages)};report=()=>{this.reportErrors(),this.reportPatches()}},uMr=class extends RR{transformFromStorage(t,n,i){return Brs(t,n,i)}}});var h5t=F(()=>{"use strict";vvl();_rs();wvl()});var xvl=F(()=>{"use strict"});var S6S,C6S,T6S,Mvl,Pvl,Nvl,hTe=F(()=>{"use strict";lr();lb();sr();Rrs();Ztt();Xo();sr();fm();ote();h5t();MCe();h$o();xvl();H6();j6();vN();Afe();S6S=He("FIREBASE"),C6S=He("STEPS"),T6S=He("METADATA_OPERATIONS"),Mvl=(r,t)=>t[r].runState==="running",Pvl=r=>(iy("STEPS",!!r,`Error converting API refs: argument apiRefLinks is ${r}.`),r.map(t=>({locationName:t.location_name,nodeName:t.node_name}))),Nvl=r=>r?.deployEnabled??!0});var TLe,Dvl=F(()=>{"use strict";hTe();sMr();TLe=class extends SLe{noDependenciesPhases=["deletedTable"];getNodeRefsInPhase(t,n){return Object.fromEntries(n.map(i=>{let o,s=this.extraRefs[i];s?o=[s]:o=this.phasedRefUsage.get(t,i);let a=o.map(({ref:u,ref_no_link:p})=>Pvl([...u,...p]));return[i,[].concat(...a)]}))}}});var g5t,Bvl=F(()=>{"use strict";Ta();b9();sMr();g5t=class extends SLe{noDependenciesPhases=[];getNodeRefsInPhase(t,n){let i=dS(this.allNodes,...n);return pS(i,o=>{if(BCe(o.operation))return[];let{sourceMapping:s}=o.operation.metadata;if(!s?.length)return[];let a=s.map(({dependencies:u})=>u);return[].concat(...a)})}}});var Lrs=F(()=>{"use strict";sMr();Dvl();Bvl()});var Lvl=F(()=>{"use strict"});var A5t,kvl=F(()=>{"use strict";cZ();Xm();A5t=async(r,t)=>{let{attempts:n,tags:i,waitSeconds:o}=t,s=Xl().child({retryOptions:{maxAttempts:n,waitSeconds:o},tags:["[withRetries]",...i]});A2(n>=2,`Retry attempts value must be at least '2', but was '${n}'`,s);try{let a=await r();return s.debug("Operation succeeded without retrying"),a}catch(a){s.error(`Operation initial attempt failed; retrying. Error: ${a}`);let u,p=n-1;do{p--,await new Promise(c=>setTimeout(c,o*(n-p)*1e3));try{let c=await r();return s.info(`Operation succeeded on retry (attempt ${n-p})`),c}catch(c){s.error(`Operation failed on retry (attempt ${n-p}). Error: ${c}`),u=c}}while(p);throw s.error("Exhausted all retry attempts; exiting"),u}}});var krs=F(()=>{"use strict";Lvl();kvl()});function Tnt(r,t){let n=[];for(let i of r){let o=i.compiledSQL?art(i.compiledSQL):[];if(o.length===0)t&&n.push({name:t,sql:"",type:"sql",continueOnFailure:!1,parsedStage:null});else for(let s of o)n.push({name:s.name,sql:s.code,type:s.type,continueOnFailure:s.continueOnFailure,parsedStage:s})}return n}function cMr(r,t){return r==="deletedTable"&&t?qvl:qag}var qag,qvl,m5t=F(()=>{"use strict";fm();qag="Making metadata updates",qvl="Deleting metadata for source input"});var FW,y5t=F(()=>{"use strict";lr();FW=class extends et{constructor(n,i,o="system"){super(i,`Failed node ${n}: ${i}`);this.nodeID=n;this.fault=o}nodeID;fault}});var b5t=m((V6S,Fvl)=>{var Fag="2.0.0",Uag=Number.MAX_SAFE_INTEGER||9007199254740991,zag=16,Qag=250,jag=["major","premajor","minor","preminor","patch","prepatch","prerelease"];Fvl.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:zag,MAX_SAFE_BUILD_LENGTH:Qag,MAX_SAFE_INTEGER:Uag,RELEASE_TYPES:jag,SEMVER_SPEC_VERSION:Fag,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var E5t=m((W6S,Uvl)=>{var Gag=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...r)=>console.error("SEMVER",...r):()=>{};Uvl.exports=Gag});var vnt=m((Gfe,zvl)=>{var{MAX_SAFE_COMPONENT_LENGTH:qrs,MAX_SAFE_BUILD_LENGTH:Hag,MAX_LENGTH:Vag}=b5t(),Wag=E5t();Gfe=zvl.exports={};var Kag=Gfe.re=[],Yag=Gfe.safeRe=[],Ia=Gfe.src=[],Ra=Gfe.t={},Jag=0,Frs="[a-zA-Z0-9-]",$ag=[["\\s",1],["\\d",Vag],[Frs,Hag]],Xag=r=>{for(let[t,n]of $ag)r=r.split(`${t}*`).join(`${t}{0,${n}}`).split(`${t}+`).join(`${t}{1,${n}}`);return r},pd=(r,t,n)=>{let i=Xag(t),o=Jag++;Wag(r,o,t),Ra[r]=o,Ia[o]=t,Kag[o]=new RegExp(t,n?"g":void 0),Yag[o]=new RegExp(i,n?"g":void 0)};pd("NUMERICIDENTIFIER","0|[1-9]\\d*");pd("NUMERICIDENTIFIERLOOSE","\\d+");pd("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${Frs}*`);pd("MAINVERSION",`(${Ia[Ra.NUMERICIDENTIFIER]})\\.(${Ia[Ra.NUMERICIDENTIFIER]})\\.(${Ia[Ra.NUMERICIDENTIFIER]})`);pd("MAINVERSIONLOOSE",`(${Ia[Ra.NUMERICIDENTIFIERLOOSE]})\\.(${Ia[Ra.NUMERICIDENTIFIERLOOSE]})\\.(${Ia[Ra.NUMERICIDENTIFIERLOOSE]})`);pd("PRERELEASEIDENTIFIER",`(?:${Ia[Ra.NUMERICIDENTIFIER]}|${Ia[Ra.NONNUMERICIDENTIFIER]})`);pd("PRERELEASEIDENTIFIERLOOSE",`(?:${Ia[Ra.NUMERICIDENTIFIERLOOSE]}|${Ia[Ra.NONNUMERICIDENTIFIER]})`);pd("PRERELEASE",`(?:-(${Ia[Ra.PRERELEASEIDENTIFIER]}(?:\\.${Ia[Ra.PRERELEASEIDENTIFIER]})*))`);pd("PRERELEASELOOSE",`(?:-?(${Ia[Ra.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${Ia[Ra.PRERELEASEIDENTIFIERLOOSE]})*))`);pd("BUILDIDENTIFIER",`${Frs}+`);pd("BUILD",`(?:\\+(${Ia[Ra.BUILDIDENTIFIER]}(?:\\.${Ia[Ra.BUILDIDENTIFIER]})*))`);pd("FULLPLAIN",`v?${Ia[Ra.MAINVERSION]}${Ia[Ra.PRERELEASE]}?${Ia[Ra.BUILD]}?`);pd("FULL",`^${Ia[Ra.FULLPLAIN]}$`);pd("LOOSEPLAIN",`[v=\\s]*${Ia[Ra.MAINVERSIONLOOSE]}${Ia[Ra.PRERELEASELOOSE]}?${Ia[Ra.BUILD]}?`);pd("LOOSE",`^${Ia[Ra.LOOSEPLAIN]}$`);pd("GTLT","((?:<|>)?=?)");pd("XRANGEIDENTIFIERLOOSE",`${Ia[Ra.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);pd("XRANGEIDENTIFIER",`${Ia[Ra.NUMERICIDENTIFIER]}|x|X|\\*`);pd("XRANGEPLAIN",`[v=\\s]*(${Ia[Ra.XRANGEIDENTIFIER]})(?:\\.(${Ia[Ra.XRANGEIDENTIFIER]})(?:\\.(${Ia[Ra.XRANGEIDENTIFIER]})(?:${Ia[Ra.PRERELEASE]})?${Ia[Ra.BUILD]}?)?)?`);pd("XRANGEPLAINLOOSE",`[v=\\s]*(${Ia[Ra.XRANGEIDENTIFIERLOOSE]})(?:\\.(${Ia[Ra.XRANGEIDENTIFIERLOOSE]})(?:\\.(${Ia[Ra.XRANGEIDENTIFIERLOOSE]})(?:${Ia[Ra.PRERELEASELOOSE]})?${Ia[Ra.BUILD]}?)?)?`);pd("XRANGE",`^${Ia[Ra.GTLT]}\\s*${Ia[Ra.XRANGEPLAIN]}$`);pd("XRANGELOOSE",`^${Ia[Ra.GTLT]}\\s*${Ia[Ra.XRANGEPLAINLOOSE]}$`);pd("COERCE",`(^|[^\\d])(\\d{1,${qrs}})(?:\\.(\\d{1,${qrs}}))?(?:\\.(\\d{1,${qrs}}))?(?:$|[^\\d])`);pd("COERCERTL",Ia[Ra.COERCE],!0);pd("LONETILDE","(?:~>?)");pd("TILDETRIM",`(\\s*)${Ia[Ra.LONETILDE]}\\s+`,!0);Gfe.tildeTrimReplace="$1~";pd("TILDE",`^${Ia[Ra.LONETILDE]}${Ia[Ra.XRANGEPLAIN]}$`);pd("TILDELOOSE",`^${Ia[Ra.LONETILDE]}${Ia[Ra.XRANGEPLAINLOOSE]}$`);pd("LONECARET","(?:\\^)");pd("CARETTRIM",`(\\s*)${Ia[Ra.LONECARET]}\\s+`,!0);Gfe.caretTrimReplace="$1^";pd("CARET",`^${Ia[Ra.LONECARET]}${Ia[Ra.XRANGEPLAIN]}$`);pd("CARETLOOSE",`^${Ia[Ra.LONECARET]}${Ia[Ra.XRANGEPLAINLOOSE]}$`);pd("COMPARATORLOOSE",`^${Ia[Ra.GTLT]}\\s*(${Ia[Ra.LOOSEPLAIN]})$|^$`);pd("COMPARATOR",`^${Ia[Ra.GTLT]}\\s*(${Ia[Ra.FULLPLAIN]})$|^$`);pd("COMPARATORTRIM",`(\\s*)${Ia[Ra.GTLT]}\\s*(${Ia[Ra.LOOSEPLAIN]}|${Ia[Ra.XRANGEPLAIN]})`,!0);Gfe.comparatorTrimReplace="$1$2$3";pd("HYPHENRANGE",`^\\s*(${Ia[Ra.XRANGEPLAIN]})\\s+-\\s+(${Ia[Ra.XRANGEPLAIN]})\\s*$`);pd("HYPHENRANGELOOSE",`^\\s*(${Ia[Ra.XRANGEPLAINLOOSE]})\\s+-\\s+(${Ia[Ra.XRANGEPLAINLOOSE]})\\s*$`);pd("STAR","(<|>)?=?\\s*\\*");pd("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");pd("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var lMr=m((K6S,Qvl)=>{var Zag=Object.freeze({loose:!0}),eug=Object.freeze({}),tug=r=>r?typeof r!="object"?Zag:r:eug;Qvl.exports=tug});var Urs=m((Y6S,Hvl)=>{var jvl=/^[0-9]+$/,Gvl=(r,t)=>{let n=jvl.test(r),i=jvl.test(t);return n&&i&&(r=+r,t=+t),r===t?0:n&&!i?-1:i&&!n?1:r<t?-1:1},rug=(r,t)=>Gvl(t,r);Hvl.exports={compareIdentifiers:Gvl,rcompareIdentifiers:rug}});var e4=m((J6S,Yvl)=>{var pMr=E5t(),{MAX_LENGTH:Vvl,MAX_SAFE_INTEGER:dMr}=b5t(),{safeRe:Wvl,t:Kvl}=vnt(),nug=lMr(),{compareIdentifiers:Int}=Urs(),zrs=class r{constructor(t,n){if(n=nug(n),t instanceof r){if(t.loose===!!n.loose&&t.includePrerelease===!!n.includePrerelease)return t;t=t.version}else if(typeof t!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof t}".`);if(t.length>Vvl)throw new TypeError(`version is longer than ${Vvl} characters`);pMr("SemVer",t,n),this.options=n,this.loose=!!n.loose,this.includePrerelease=!!n.includePrerelease;let i=t.trim().match(n.loose?Wvl[Kvl.LOOSE]:Wvl[Kvl.FULL]);if(!i)throw new TypeError(`Invalid Version: ${t}`);if(this.raw=t,this.major=+i[1],this.minor=+i[2],this.patch=+i[3],this.major>dMr||this.major<0)throw new TypeError("Invalid major version");if(this.minor>dMr||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>dMr||this.patch<0)throw new TypeError("Invalid patch version");i[4]?this.prerelease=i[4].split(".").map(o=>{if(/^[0-9]+$/.test(o)){let s=+o;if(s>=0&&s<dMr)return s}return o}):this.prerelease=[],this.build=i[5]?i[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(t){if(pMr("SemVer.compare",this.version,this.options,t),!(t instanceof r)){if(typeof t=="string"&&t===this.version)return 0;t=new r(t,this.options)}return t.version===this.version?0:this.compareMain(t)||this.comparePre(t)}compareMain(t){return t instanceof r||(t=new r(t,this.options)),Int(this.major,t.major)||Int(this.minor,t.minor)||Int(this.patch,t.patch)}comparePre(t){if(t instanceof r||(t=new r(t,this.options)),this.prerelease.length&&!t.prerelease.length)return-1;if(!this.prerelease.length&&t.prerelease.length)return 1;if(!this.prerelease.length&&!t.prerelease.length)return 0;let n=0;do{let i=this.prerelease[n],o=t.prerelease[n];if(pMr("prerelease compare",n,i,o),i===void 0&&o===void 0)return 0;if(o===void 0)return 1;if(i===void 0)return-1;if(i===o)continue;return Int(i,o)}while(++n)}compareBuild(t){t instanceof r||(t=new r(t,this.options));let n=0;do{let i=this.build[n],o=t.build[n];if(pMr("prerelease compare",n,i,o),i===void 0&&o===void 0)return 0;if(o===void 0)return 1;if(i===void 0)return-1;if(i===o)continue;return Int(i,o)}while(++n)}inc(t,n,i){switch(t){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",n,i);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",n,i);break;case"prepatch":this.prerelease.length=0,this.inc("patch",n,i),this.inc("pre",n,i);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",n,i),this.inc("pre",n,i);break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{let o=Number(i)?1:0;if(!n&&i===!1)throw new Error("invalid increment argument: identifier is empty");if(this.prerelease.length===0)this.prerelease=[o];else{let s=this.prerelease.length;for(;--s>=0;)typeof this.prerelease[s]=="number"&&(this.prerelease[s]++,s=-2);if(s===-1){if(n===this.prerelease.join(".")&&i===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(o)}}if(n){let s=[n,o];i===!1&&(s=[n]),Int(this.prerelease[0],n)===0?isNaN(this.prerelease[1])&&(this.prerelease=s):this.prerelease=s}break}default:throw new Error(`invalid increment argument: ${t}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};Yvl.exports=zrs});var vLe=m(($6S,$vl)=>{var Jvl=e4(),iug=(r,t,n=!1)=>{if(r instanceof Jvl)return r;try{return new Jvl(r,t)}catch(i){if(!n)return null;throw i}};$vl.exports=iug});var Zvl=m((X6S,Xvl)=>{var oug=vLe(),sug=(r,t)=>{let n=oug(r,t);return n?n.version:null};Xvl.exports=sug});var tIl=m((Z6S,eIl)=>{var aug=vLe(),uug=(r,t)=>{let n=aug(r.trim().replace(/^[=v]+/,""),t);return n?n.version:null};eIl.exports=uug});var iIl=m((eBS,nIl)=>{var rIl=e4(),cug=(r,t,n,i,o)=>{typeof n=="string"&&(o=i,i=n,n=void 0);try{return new rIl(r instanceof rIl?r.version:r,n).inc(t,i,o).version}catch{return null}};nIl.exports=cug});var aIl=m((tBS,sIl)=>{var oIl=vLe(),lug=(r,t)=>{let n=oIl(r,null,!0),i=oIl(t,null,!0),o=n.compare(i);if(o===0)return null;let s=o>0,a=s?n:i,u=s?i:n,p=!!a.prerelease.length;if(!!u.prerelease.length&&!p)return!u.patch&&!u.minor?"major":a.patch?"patch":a.minor?"minor":"major";let l=p?"pre":"";return n.major!==i.major?l+"major":n.minor!==i.minor?l+"minor":n.patch!==i.patch?l+"patch":"prerelease"};sIl.exports=lug});var cIl=m((rBS,uIl)=>{var pug=e4(),dug=(r,t)=>new pug(r,t).major;uIl.exports=dug});var pIl=m((nBS,lIl)=>{var fug=e4(),hug=(r,t)=>new fug(r,t).minor;lIl.exports=hug});var fIl=m((iBS,dIl)=>{var gug=e4(),Aug=(r,t)=>new gug(r,t).patch;dIl.exports=Aug});var gIl=m((oBS,hIl)=>{var mug=vLe(),yug=(r,t)=>{let n=mug(r,t);return n&&n.prerelease.length?n.prerelease:null};hIl.exports=yug});var Oz=m((sBS,mIl)=>{var AIl=e4(),bug=(r,t,n)=>new AIl(r,n).compare(new AIl(t,n));mIl.exports=bug});var bIl=m((aBS,yIl)=>{var Eug=Oz(),Sug=(r,t,n)=>Eug(t,r,n);yIl.exports=Sug});var SIl=m((uBS,EIl)=>{var Cug=Oz(),Tug=(r,t)=>Cug(r,t,!0);EIl.exports=Tug});var fMr=m((cBS,TIl)=>{var CIl=e4(),vug=(r,t,n)=>{let i=new CIl(r,n),o=new CIl(t,n);return i.compare(o)||i.compareBuild(o)};TIl.exports=vug});var IIl=m((lBS,vIl)=>{var Iug=fMr(),Rug=(r,t)=>r.sort((n,i)=>Iug(n,i,t));vIl.exports=Rug});var _Il=m((pBS,RIl)=>{var _ug=fMr(),Oug=(r,t)=>r.sort((n,i)=>_ug(i,n,t));RIl.exports=Oug});var S5t=m((dBS,OIl)=>{var wug=Oz(),xug=(r,t,n)=>wug(r,t,n)>0;OIl.exports=xug});var hMr=m((fBS,wIl)=>{var Mug=Oz(),Pug=(r,t,n)=>Mug(r,t,n)<0;wIl.exports=Pug});var Qrs=m((hBS,xIl)=>{var Nug=Oz(),Dug=(r,t,n)=>Nug(r,t,n)===0;xIl.exports=Dug});var jrs=m((gBS,MIl)=>{var Bug=Oz(),Lug=(r,t,n)=>Bug(r,t,n)!==0;MIl.exports=Lug});var gMr=m((ABS,PIl)=>{var kug=Oz(),qug=(r,t,n)=>kug(r,t,n)>=0;PIl.exports=qug});var AMr=m((mBS,NIl)=>{var Fug=Oz(),Uug=(r,t,n)=>Fug(r,t,n)<=0;NIl.exports=Uug});var Grs=m((yBS,DIl)=>{var zug=Qrs(),Qug=jrs(),jug=S5t(),Gug=gMr(),Hug=hMr(),Vug=AMr(),Wug=(r,t,n,i)=>{switch(t){case"===":return typeof r=="object"&&(r=r.version),typeof n=="object"&&(n=n.version),r===n;case"!==":return typeof r=="object"&&(r=r.version),typeof n=="object"&&(n=n.version),r!==n;case"":case"=":case"==":return zug(r,n,i);case"!=":return Qug(r,n,i);case">":return jug(r,n,i);case">=":return Gug(r,n,i);case"<":return Hug(r,n,i);case"<=":return Vug(r,n,i);default:throw new TypeError(`Invalid operator: ${t}`)}};DIl.exports=Wug});var LIl=m((bBS,BIl)=>{var Kug=e4(),Yug=vLe(),{safeRe:mMr,t:yMr}=vnt(),Jug=(r,t)=>{if(r instanceof Kug)return r;if(typeof r=="number"&&(r=String(r)),typeof r!="string")return null;t=t||{};let n=null;if(!t.rtl)n=r.match(mMr[yMr.COERCE]);else{let i;for(;(i=mMr[yMr.COERCERTL].exec(r))&&(!n||n.index+n[0].length!==r.length);)(!n||i.index+i[0].length!==n.index+n[0].length)&&(n=i),mMr[yMr.COERCERTL].lastIndex=i.index+i[1].length+i[2].length;mMr[yMr.COERCERTL].lastIndex=-1}return n===null?null:Yug(`${n[2]}.${n[3]||"0"}.${n[4]||"0"}`,t)};BIl.exports=Jug});var qIl=m((EBS,kIl)=>{"use strict";kIl.exports=function(r){r.prototype[Symbol.iterator]=function*(){for(let t=this.head;t;t=t.next)yield t.value}}});var Hrs=m((SBS,FIl)=>{"use strict";FIl.exports=m1;m1.Node=ILe;m1.create=m1;function m1(r){var t=this;if(t instanceof m1||(t=new m1),t.tail=null,t.head=null,t.length=0,r&&typeof r.forEach=="function")r.forEach(function(o){t.push(o)});else if(arguments.length>0)for(var n=0,i=arguments.length;n<i;n++)t.push(arguments[n]);return t}m1.prototype.removeNode=function(r){if(r.list!==this)throw new Error("removing node which does not belong to this list");var t=r.next,n=r.prev;return t&&(t.prev=n),n&&(n.next=t),r===this.head&&(this.head=t),r===this.tail&&(this.tail=n),r.list.length--,r.next=null,r.prev=null,r.list=null,t};m1.prototype.unshiftNode=function(r){if(r!==this.head){r.list&&r.list.removeNode(r);var t=this.head;r.list=this,r.next=t,t&&(t.prev=r),this.head=r,this.tail||(this.tail=r),this.length++}};m1.prototype.pushNode=function(r){if(r!==this.tail){r.list&&r.list.removeNode(r);var t=this.tail;r.list=this,r.prev=t,t&&(t.next=r),this.tail=r,this.head||(this.head=r),this.length++}};m1.prototype.push=function(){for(var r=0,t=arguments.length;r<t;r++)Xug(this,arguments[r]);return this.length};m1.prototype.unshift=function(){for(var r=0,t=arguments.length;r<t;r++)Zug(this,arguments[r]);return this.length};m1.prototype.pop=function(){if(this.tail){var r=this.tail.value;return this.tail=this.tail.prev,this.tail?this.tail.next=null:this.head=null,this.length--,r}};m1.prototype.shift=function(){if(this.head){var r=this.head.value;return this.head=this.head.next,this.head?this.head.prev=null:this.tail=null,this.length--,r}};m1.prototype.forEach=function(r,t){t=t||this;for(var n=this.head,i=0;n!==null;i++)r.call(t,n.value,i,this),n=n.next};m1.prototype.forEachReverse=function(r,t){t=t||this;for(var n=this.tail,i=this.length-1;n!==null;i--)r.call(t,n.value,i,this),n=n.prev};m1.prototype.get=function(r){for(var t=0,n=this.head;n!==null&&t<r;t++)n=n.next;if(t===r&&n!==null)return n.value};m1.prototype.getReverse=function(r){for(var t=0,n=this.tail;n!==null&&t<r;t++)n=n.prev;if(t===r&&n!==null)return n.value};m1.prototype.map=function(r,t){t=t||this;for(var n=new m1,i=this.head;i!==null;)n.push(r.call(t,i.value,this)),i=i.next;return n};m1.prototype.mapReverse=function(r,t){t=t||this;for(var n=new m1,i=this.tail;i!==null;)n.push(r.call(t,i.value,this)),i=i.prev;return n};m1.prototype.reduce=function(r,t){var n,i=this.head;if(arguments.length>1)n=t;else if(this.head)i=this.head.next,n=this.head.value;else throw new TypeError("Reduce of empty list with no initial value");for(var o=0;i!==null;o++)n=r(n,i.value,o),i=i.next;return n};m1.prototype.reduceReverse=function(r,t){var n,i=this.tail;if(arguments.length>1)n=t;else if(this.tail)i=this.tail.prev,n=this.tail.value;else throw new TypeError("Reduce of empty list with no initial value");for(var o=this.length-1;i!==null;o--)n=r(n,i.value,o),i=i.prev;return n};m1.prototype.toArray=function(){for(var r=new Array(this.length),t=0,n=this.head;n!==null;t++)r[t]=n.value,n=n.next;return r};m1.prototype.toArrayReverse=function(){for(var r=new Array(this.length),t=0,n=this.tail;n!==null;t++)r[t]=n.value,n=n.prev;return r};m1.prototype.slice=function(r,t){t=t||this.length,t<0&&(t+=this.length),r=r||0,r<0&&(r+=this.length);var n=new m1;if(t<r||t<0)return n;r<0&&(r=0),t>this.length&&(t=this.length);for(var i=0,o=this.head;o!==null&&i<r;i++)o=o.next;for(;o!==null&&i<t;i++,o=o.next)n.push(o.value);return n};m1.prototype.sliceReverse=function(r,t){t=t||this.length,t<0&&(t+=this.length),r=r||0,r<0&&(r+=this.length);var n=new m1;if(t<r||t<0)return n;r<0&&(r=0),t>this.length&&(t=this.length);for(var i=this.length,o=this.tail;o!==null&&i>t;i--)o=o.prev;for(;o!==null&&i>r;i--,o=o.prev)n.push(o.value);return n};m1.prototype.splice=function(r,t,...n){r>this.length&&(r=this.length-1),r<0&&(r=this.length+r);for(var i=0,o=this.head;o!==null&&i<r;i++)o=o.next;for(var s=[],i=0;o&&i<t;i++)s.push(o.value),o=this.removeNode(o);o===null&&(o=this.tail),o!==this.head&&o!==this.tail&&(o=o.prev);for(var i=0;i<n.length;i++)o=$ug(this,o,n[i]);return s};m1.prototype.reverse=function(){for(var r=this.head,t=this.tail,n=r;n!==null;n=n.prev){var i=n.prev;n.prev=n.next,n.next=i}return this.head=t,this.tail=r,this};function $ug(r,t,n){var i=t===r.head?new ILe(n,null,t,r):new ILe(n,t,t.next,r);return i.next===null&&(r.tail=i),i.prev===null&&(r.head=i),r.length++,i}function Xug(r,t){r.tail=new ILe(t,r.tail,null,r),r.head||(r.head=r.tail),r.length++}function Zug(r,t){r.head=new ILe(t,null,r.head,r),r.tail||(r.tail=r.head),r.length++}function ILe(r,t,n,i){if(!(this instanceof ILe))return new ILe(r,t,n,i);this.list=i,this.value=r,t?(t.next=this,this.prev=t):this.prev=null,n?(n.prev=this,this.next=n):this.next=null}try{qIl()(m1)}catch{}});var v5t=m((CBS,jIl)=>{"use strict";var ecg=Hrs(),RLe=Symbol("max"),Vfe=Symbol("length"),Rnt=Symbol("lengthCalculator"),T5t=Symbol("allowStale"),_Le=Symbol("maxAge"),Hfe=Symbol("dispose"),UIl=Symbol("noDisposeOnSet"),_R=Symbol("lruList"),UW=Symbol("cache"),QIl=Symbol("updateAgeOnGet"),Vrs=()=>1,Krs=class{constructor(t){if(typeof t=="number"&&(t={max:t}),t||(t={}),t.max&&(typeof t.max!="number"||t.max<0))throw new TypeError("max must be a non-negative number");let n=this[RLe]=t.max||1/0,i=t.length||Vrs;if(this[Rnt]=typeof i!="function"?Vrs:i,this[T5t]=t.stale||!1,t.maxAge&&typeof t.maxAge!="number")throw new TypeError("maxAge must be a number");this[_Le]=t.maxAge||0,this[Hfe]=t.dispose,this[UIl]=t.noDisposeOnSet||!1,this[QIl]=t.updateAgeOnGet||!1,this.reset()}set max(t){if(typeof t!="number"||t<0)throw new TypeError("max must be a non-negative number");this[RLe]=t||1/0,C5t(this)}get max(){return this[RLe]}set allowStale(t){this[T5t]=!!t}get allowStale(){return this[T5t]}set maxAge(t){if(typeof t!="number")throw new TypeError("maxAge must be a non-negative number");this[_Le]=t,C5t(this)}get maxAge(){return this[_Le]}set lengthCalculator(t){typeof t!="function"&&(t=Vrs),t!==this[Rnt]&&(this[Rnt]=t,this[Vfe]=0,this[_R].forEach(n=>{n.length=this[Rnt](n.value,n.key),this[Vfe]+=n.length})),C5t(this)}get lengthCalculator(){return this[Rnt]}get length(){return this[Vfe]}get itemCount(){return this[_R].length}rforEach(t,n){n=n||this;for(let i=this[_R].tail;i!==null;){let o=i.prev;zIl(this,t,i,n),i=o}}forEach(t,n){n=n||this;for(let i=this[_R].head;i!==null;){let o=i.next;zIl(this,t,i,n),i=o}}keys(){return this[_R].toArray().map(t=>t.key)}values(){return this[_R].toArray().map(t=>t.value)}reset(){this[Hfe]&&this[_R]&&this[_R].length&&this[_R].forEach(t=>this[Hfe](t.key,t.value)),this[UW]=new Map,this[_R]=new ecg,this[Vfe]=0}dump(){return this[_R].map(t=>bMr(this,t)?!1:{k:t.key,v:t.value,e:t.now+(t.maxAge||0)}).toArray().filter(t=>t)}dumpLru(){return this[_R]}set(t,n,i){if(i=i||this[_Le],i&&typeof i!="number")throw new TypeError("maxAge must be a number");let o=i?Date.now():0,s=this[Rnt](n,t);if(this[UW].has(t)){if(s>this[RLe])return _nt(this,this[UW].get(t)),!1;let p=this[UW].get(t).value;return this[Hfe]&&(this[UIl]||this[Hfe](t,p.value)),p.now=o,p.maxAge=i,p.value=n,this[Vfe]+=s-p.length,p.length=s,this.get(t),C5t(this),!0}let a=new Yrs(t,n,s,o,i);return a.length>this[RLe]?(this[Hfe]&&this[Hfe](t,n),!1):(this[Vfe]+=a.length,this[_R].unshift(a),this[UW].set(t,this[_R].head),C5t(this),!0)}has(t){if(!this[UW].has(t))return!1;let n=this[UW].get(t).value;return!bMr(this,n)}get(t){return Wrs(this,t,!0)}peek(t){return Wrs(this,t,!1)}pop(){let t=this[_R].tail;return t?(_nt(this,t),t.value):null}del(t){_nt(this,this[UW].get(t))}load(t){this.reset();let n=Date.now();for(let i=t.length-1;i>=0;i--){let o=t[i],s=o.e||0;if(s===0)this.set(o.k,o.v);else{let a=s-n;a>0&&this.set(o.k,o.v,a)}}}prune(){this[UW].forEach((t,n)=>Wrs(this,n,!1))}},Wrs=(r,t,n)=>{let i=r[UW].get(t);if(i){let o=i.value;if(bMr(r,o)){if(_nt(r,i),!r[T5t])return}else n&&(r[QIl]&&(i.value.now=Date.now()),r[_R].unshiftNode(i));return o.value}},bMr=(r,t)=>{if(!t||!t.maxAge&&!r[_Le])return!1;let n=Date.now()-t.now;return t.maxAge?n>t.maxAge:r[_Le]&&n>r[_Le]},C5t=r=>{if(r[Vfe]>r[RLe])for(let t=r[_R].tail;r[Vfe]>r[RLe]&&t!==null;){let n=t.prev;_nt(r,t),t=n}},_nt=(r,t)=>{if(t){let n=t.value;r[Hfe]&&r[Hfe](n.key,n.value),r[Vfe]-=n.length,r[UW].delete(n.key),r[_R].removeNode(t)}},Yrs=class{constructor(t,n,i,o,s){this.key=t,this.value=n,this.length=i,this.now=o,this.maxAge=s||0}},zIl=(r,t,n,i)=>{let o=n.value;bMr(r,o)&&(_nt(r,n),r[T5t]||(o=void 0)),o&&t.call(i,o.value,o.key,r)};jIl.exports=Krs});var wz=m((TBS,WIl)=>{var Jrs=class r{constructor(t,n){if(n=rcg(n),t instanceof r)return t.loose===!!n.loose&&t.includePrerelease===!!n.includePrerelease?t:new r(t.raw,n);if(t instanceof $rs)return this.raw=t.value,this.set=[[t]],this.format(),this;if(this.options=n,this.loose=!!n.loose,this.includePrerelease=!!n.includePrerelease,this.raw=t.trim().split(/\s+/).join(" "),this.set=this.raw.split("||").map(i=>this.parseRange(i.trim())).filter(i=>i.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let i=this.set[0];if(this.set=this.set.filter(o=>!HIl(o[0])),this.set.length===0)this.set=[i];else if(this.set.length>1){for(let o of this.set)if(o.length===1&&ccg(o[0])){this.set=[o];break}}}this.format()}format(){return this.range=this.set.map(t=>t.join(" ").trim()).join("||").trim(),this.range}toString(){return this.range}parseRange(t){let i=((this.options.includePrerelease&&acg)|(this.options.loose&&ucg))+":"+t,o=GIl.get(i);if(o)return o;let s=this.options.loose,a=s?eB[BN.HYPHENRANGELOOSE]:eB[BN.HYPHENRANGE];t=t.replace(a,bcg(this.options.includePrerelease)),Sb("hyphen replace",t),t=t.replace(eB[BN.COMPARATORTRIM],icg),Sb("comparator trim",t),t=t.replace(eB[BN.TILDETRIM],ocg),Sb("tilde trim",t),t=t.replace(eB[BN.CARETTRIM],scg),Sb("caret trim",t);let u=t.split(" ").map(d=>lcg(d,this.options)).join(" ").split(/\s+/).map(d=>ycg(d,this.options));s&&(u=u.filter(d=>(Sb("loose invalid filter",d,this.options),!!d.match(eB[BN.COMPARATORLOOSE])))),Sb("range list",u);let p=new Map,c=u.map(d=>new $rs(d,this.options));for(let d of c){if(HIl(d))return[d];p.set(d.value,d)}p.size>1&&p.has("")&&p.delete("");let l=[...p.values()];return GIl.set(i,l),l}intersects(t,n){if(!(t instanceof r))throw new TypeError("a Range is required");return this.set.some(i=>VIl(i,n)&&t.set.some(o=>VIl(o,n)&&i.every(s=>o.every(a=>s.intersects(a,n)))))}test(t){if(!t)return!1;if(typeof t=="string")try{t=new ncg(t,this.options)}catch{return!1}for(let n=0;n<this.set.length;n++)if(Ecg(this.set[n],t,this.options))return!0;return!1}};WIl.exports=Jrs;var tcg=v5t(),GIl=new tcg({max:1e3}),rcg=lMr(),$rs=I5t(),Sb=E5t(),ncg=e4(),{safeRe:eB,t:BN,comparatorTrimReplace:icg,tildeTrimReplace:ocg,caretTrimReplace:scg}=vnt(),{FLAG_INCLUDE_PRERELEASE:acg,FLAG_LOOSE:ucg}=b5t(),HIl=r=>r.value==="<0.0.0-0",ccg=r=>r.value==="",VIl=(r,t)=>{let n=!0,i=r.slice(),o=i.pop();for(;n&&i.length;)n=i.every(s=>o.intersects(s,t)),o=i.pop();return n},lcg=(r,t)=>(Sb("comp",r,t),r=fcg(r,t),Sb("caret",r),r=pcg(r,t),Sb("tildes",r),r=gcg(r,t),Sb("xrange",r),r=mcg(r,t),Sb("stars",r),r),LN=r=>!r||r.toLowerCase()==="x"||r==="*",pcg=(r,t)=>r.trim().split(/\s+/).map(n=>dcg(n,t)).join(" "),dcg=(r,t)=>{let n=t.loose?eB[BN.TILDELOOSE]:eB[BN.TILDE];return r.replace(n,(i,o,s,a,u)=>{Sb("tilde",r,i,o,s,a,u);let p;return LN(o)?p="":LN(s)?p=`>=${o}.0.0 <${+o+1}.0.0-0`:LN(a)?p=`>=${o}.${s}.0 <${o}.${+s+1}.0-0`:u?(Sb("replaceTilde pr",u),p=`>=${o}.${s}.${a}-${u} <${o}.${+s+1}.0-0`):p=`>=${o}.${s}.${a} <${o}.${+s+1}.0-0`,Sb("tilde return",p),p})},fcg=(r,t)=>r.trim().split(/\s+/).map(n=>hcg(n,t)).join(" "),hcg=(r,t)=>{Sb("caret",r,t);let n=t.loose?eB[BN.CARETLOOSE]:eB[BN.CARET],i=t.includePrerelease?"-0":"";return r.replace(n,(o,s,a,u,p)=>{Sb("caret",r,o,s,a,u,p);let c;return LN(s)?c="":LN(a)?c=`>=${s}.0.0${i} <${+s+1}.0.0-0`:LN(u)?s==="0"?c=`>=${s}.${a}.0${i} <${s}.${+a+1}.0-0`:c=`>=${s}.${a}.0${i} <${+s+1}.0.0-0`:p?(Sb("replaceCaret pr",p),s==="0"?a==="0"?c=`>=${s}.${a}.${u}-${p} <${s}.${a}.${+u+1}-0`:c=`>=${s}.${a}.${u}-${p} <${s}.${+a+1}.0-0`:c=`>=${s}.${a}.${u}-${p} <${+s+1}.0.0-0`):(Sb("no pr"),s==="0"?a==="0"?c=`>=${s}.${a}.${u}${i} <${s}.${a}.${+u+1}-0`:c=`>=${s}.${a}.${u}${i} <${s}.${+a+1}.0-0`:c=`>=${s}.${a}.${u} <${+s+1}.0.0-0`),Sb("caret return",c),c})},gcg=(r,t)=>(Sb("replaceXRanges",r,t),r.split(/\s+/).map(n=>Acg(n,t)).join(" ")),Acg=(r,t)=>{r=r.trim();let n=t.loose?eB[BN.XRANGELOOSE]:eB[BN.XRANGE];return r.replace(n,(i,o,s,a,u,p)=>{Sb("xRange",r,i,o,s,a,u,p);let c=LN(s),l=c||LN(a),d=l||LN(u),f=d;return o==="="&&f&&(o=""),p=t.includePrerelease?"-0":"",c?o===">"||o==="<"?i="<0.0.0-0":i="*":o&&f?(l&&(a=0),u=0,o===">"?(o=">=",l?(s=+s+1,a=0,u=0):(a=+a+1,u=0)):o==="<="&&(o="<",l?s=+s+1:a=+a+1),o==="<"&&(p="-0"),i=`${o+s}.${a}.${u}${p}`):l?i=`>=${s}.0.0${p} <${+s+1}.0.0-0`:d&&(i=`>=${s}.${a}.0${p} <${s}.${+a+1}.0-0`),Sb("xRange return",i),i})},mcg=(r,t)=>(Sb("replaceStars",r,t),r.trim().replace(eB[BN.STAR],"")),ycg=(r,t)=>(Sb("replaceGTE0",r,t),r.trim().replace(eB[t.includePrerelease?BN.GTE0PRE:BN.GTE0],"")),bcg=r=>(t,n,i,o,s,a,u,p,c,l,d,f,h)=>(LN(i)?n="":LN(o)?n=`>=${i}.0.0${r?"-0":""}`:LN(s)?n=`>=${i}.${o}.0${r?"-0":""}`:a?n=`>=${n}`:n=`>=${n}${r?"-0":""}`,LN(c)?p="":LN(l)?p=`<${+c+1}.0.0-0`:LN(d)?p=`<${c}.${+l+1}.0-0`:f?p=`<=${c}.${l}.${d}-${f}`:r?p=`<${c}.${l}.${+d+1}-0`:p=`<=${p}`,`${n} ${p}`.trim()),Ecg=(r,t,n)=>{for(let i=0;i<r.length;i++)if(!r[i].test(t))return!1;if(t.prerelease.length&&!n.includePrerelease){for(let i=0;i<r.length;i++)if(Sb(r[i].semver),r[i].semver!==$rs.ANY&&r[i].semver.prerelease.length>0){let o=r[i].semver;if(o.major===t.major&&o.minor===t.minor&&o.patch===t.patch)return!0}return!1}return!0}});var I5t=m((vBS,ZIl)=>{var R5t=Symbol("SemVer ANY"),ens=class r{static get ANY(){return R5t}constructor(t,n){if(n=KIl(n),t instanceof r){if(t.loose===!!n.loose)return t;t=t.value}t=t.trim().split(/\s+/).join(" "),Zrs("comparator",t,n),this.options=n,this.loose=!!n.loose,this.parse(t),this.semver===R5t?this.value="":this.value=this.operator+this.semver.version,Zrs("comp",this)}parse(t){let n=this.options.loose?YIl[JIl.COMPARATORLOOSE]:YIl[JIl.COMPARATOR],i=t.match(n);if(!i)throw new TypeError(`Invalid comparator: ${t}`);this.operator=i[1]!==void 0?i[1]:"",this.operator==="="&&(this.operator=""),i[2]?this.semver=new $Il(i[2],this.options.loose):this.semver=R5t}toString(){return this.value}test(t){if(Zrs("Comparator.test",t,this.options.loose),this.semver===R5t||t===R5t)return!0;if(typeof t=="string")try{t=new $Il(t,this.options)}catch{return!1}return Xrs(t,this.operator,this.semver,this.options)}intersects(t,n){if(!(t instanceof r))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new XIl(t.value,n).test(this.value):t.operator===""?t.value===""?!0:new XIl(this.value,n).test(t.semver):(n=KIl(n),n.includePrerelease&&(this.value==="<0.0.0-0"||t.value==="<0.0.0-0")||!n.includePrerelease&&(this.value.startsWith("<0.0.0")||t.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&t.operator.startsWith(">")||this.operator.startsWith("<")&&t.operator.startsWith("<")||this.semver.version===t.semver.version&&this.operator.includes("=")&&t.operator.includes("=")||Xrs(this.semver,"<",t.semver,n)&&this.operator.startsWith(">")&&t.operator.startsWith("<")||Xrs(this.semver,">",t.semver,n)&&this.operator.startsWith("<")&&t.operator.startsWith(">")))}};ZIl.exports=ens;var KIl=lMr(),{safeRe:YIl,t:JIl}=vnt(),Xrs=Grs(),Zrs=E5t(),$Il=e4(),XIl=wz()});var _5t=m((IBS,e3l)=>{var Scg=wz(),Ccg=(r,t,n)=>{try{t=new Scg(t,n)}catch{return!1}return t.test(r)};e3l.exports=Ccg});var r3l=m((RBS,t3l)=>{var Tcg=wz(),vcg=(r,t)=>new Tcg(r,t).set.map(n=>n.map(i=>i.value).join(" ").trim().split(" "));t3l.exports=vcg});var i3l=m((_BS,n3l)=>{var Icg=e4(),Rcg=wz(),_cg=(r,t,n)=>{let i=null,o=null,s=null;try{s=new Rcg(t,n)}catch{return null}return r.forEach(a=>{s.test(a)&&(!i||o.compare(a)===-1)&&(i=a,o=new Icg(i,n))}),i};n3l.exports=_cg});var s3l=m((OBS,o3l)=>{var Ocg=e4(),wcg=wz(),xcg=(r,t,n)=>{let i=null,o=null,s=null;try{s=new wcg(t,n)}catch{return null}return r.forEach(a=>{s.test(a)&&(!i||o.compare(a)===1)&&(i=a,o=new Ocg(i,n))}),i};o3l.exports=xcg});var c3l=m((wBS,u3l)=>{var tns=e4(),Mcg=wz(),a3l=S5t(),Pcg=(r,t)=>{r=new Mcg(r,t);let n=new tns("0.0.0");if(r.test(n)||(n=new tns("0.0.0-0"),r.test(n)))return n;n=null;for(let i=0;i<r.set.length;++i){let o=r.set[i],s=null;o.forEach(a=>{let u=new tns(a.semver.version);switch(a.operator){case">":u.prerelease.length===0?u.patch++:u.prerelease.push(0),u.raw=u.format();case"":case">=":(!s||a3l(u,s))&&(s=u);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${a.operator}`)}}),s&&(!n||a3l(n,s))&&(n=s)}return n&&r.test(n)?n:null};u3l.exports=Pcg});var p3l=m((xBS,l3l)=>{var Ncg=wz(),Dcg=(r,t)=>{try{return new Ncg(r,t).range||"*"}catch{return null}};l3l.exports=Dcg});var EMr=m((MBS,g3l)=>{var Bcg=e4(),h3l=I5t(),{ANY:Lcg}=h3l,kcg=wz(),qcg=_5t(),d3l=S5t(),f3l=hMr(),Fcg=AMr(),Ucg=gMr(),zcg=(r,t,n,i)=>{r=new Bcg(r,i),t=new kcg(t,i);let o,s,a,u,p;switch(n){case">":o=d3l,s=Fcg,a=f3l,u=">",p=">=";break;case"<":o=f3l,s=Ucg,a=d3l,u="<",p="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(qcg(r,t,i))return!1;for(let c=0;c<t.set.length;++c){let l=t.set[c],d=null,f=null;if(l.forEach(h=>{h.semver===Lcg&&(h=new h3l(">=0.0.0")),d=d||h,f=f||h,o(h.semver,d.semver,i)?d=h:a(h.semver,f.semver,i)&&(f=h)}),d.operator===u||d.operator===p||(!f.operator||f.operator===u)&&s(r,f.semver))return!1;if(f.operator===p&&a(r,f.semver))return!1}return!0};g3l.exports=zcg});var m3l=m((PBS,A3l)=>{var Qcg=EMr(),jcg=(r,t,n)=>Qcg(r,t,">",n);A3l.exports=jcg});var b3l=m((NBS,y3l)=>{var Gcg=EMr(),Hcg=(r,t,n)=>Gcg(r,t,"<",n);y3l.exports=Hcg});var C3l=m((DBS,S3l)=>{var E3l=wz(),Vcg=(r,t,n)=>(r=new E3l(r,n),t=new E3l(t,n),r.intersects(t,n));S3l.exports=Vcg});var v3l=m((BBS,T3l)=>{var Wcg=_5t(),Kcg=Oz();T3l.exports=(r,t,n)=>{let i=[],o=null,s=null,a=r.sort((l,d)=>Kcg(l,d,n));for(let l of a)Wcg(l,t,n)?(s=l,o||(o=l)):(s&&i.push([o,s]),s=null,o=null);o&&i.push([o,null]);let u=[];for(let[l,d]of i)l===d?u.push(l):!d&&l===a[0]?u.push("*"):d?l===a[0]?u.push(`<=${d}`):u.push(`${l} - ${d}`):u.push(`>=${l}`);let p=u.join(" || "),c=typeof t.raw=="string"?t.raw:String(t);return p.length<c.length?p:t}});var x3l=m((LBS,w3l)=>{var I3l=wz(),nns=I5t(),{ANY:rns}=nns,O5t=_5t(),ins=Oz(),Ycg=(r,t,n={})=>{if(r===t)return!0;r=new I3l(r,n),t=new I3l(t,n);let i=!1;e:for(let o of r.set){for(let s of t.set){let a=$cg(o,s,n);if(i=i||a!==null,a)continue e}if(i)return!1}return!0},Jcg=[new nns(">=0.0.0-0")],R3l=[new nns(">=0.0.0")],$cg=(r,t,n)=>{if(r===t)return!0;if(r.length===1&&r[0].semver===rns){if(t.length===1&&t[0].semver===rns)return!0;n.includePrerelease?r=Jcg:r=R3l}if(t.length===1&&t[0].semver===rns){if(n.includePrerelease)return!0;t=R3l}let i=new Set,o,s;for(let h of r)h.operator===">"||h.operator===">="?o=_3l(o,h,n):h.operator==="<"||h.operator==="<="?s=O3l(s,h,n):i.add(h.semver);if(i.size>1)return null;let a;if(o&&s){if(a=ins(o.semver,s.semver,n),a>0)return null;if(a===0&&(o.operator!==">="||s.operator!=="<="))return null}for(let h of i){if(o&&!O5t(h,String(o),n)||s&&!O5t(h,String(s),n))return null;for(let A of t)if(!O5t(h,String(A),n))return!1;return!0}let u,p,c,l,d=s&&!n.includePrerelease&&s.semver.prerelease.length?s.semver:!1,f=o&&!n.includePrerelease&&o.semver.prerelease.length?o.semver:!1;d&&d.prerelease.length===1&&s.operator==="<"&&d.prerelease[0]===0&&(d=!1);for(let h of t){if(l=l||h.operator===">"||h.operator===">=",c=c||h.operator==="<"||h.operator==="<=",o){if(f&&h.semver.prerelease&&h.semver.prerelease.length&&h.semver.major===f.major&&h.semver.minor===f.minor&&h.semver.patch===f.patch&&(f=!1),h.operator===">"||h.operator===">="){if(u=_3l(o,h,n),u===h&&u!==o)return!1}else if(o.operator===">="&&!O5t(o.semver,String(h),n))return!1}if(s){if(d&&h.semver.prerelease&&h.semver.prerelease.length&&h.semver.major===d.major&&h.semver.minor===d.minor&&h.semver.patch===d.patch&&(d=!1),h.operator==="<"||h.operator==="<="){if(p=O3l(s,h,n),p===h&&p!==s)return!1}else if(s.operator==="<="&&!O5t(s.semver,String(h),n))return!1}if(!h.operator&&(s||o)&&a!==0)return!1}return!(o&&c&&!s&&a!==0||s&&l&&!o&&a!==0||f||d)},_3l=(r,t,n)=>{if(!r)return t;let i=ins(r.semver,t.semver,n);return i>0?r:i<0||t.operator===">"&&r.operator===">="?t:r},O3l=(r,t,n)=>{if(!r)return t;let i=ins(r.semver,t.semver,n);return i<0?r:i>0||t.operator==="<"&&r.operator==="<="?t:r};w3l.exports=Ycg});var Ont=m((kBS,N3l)=>{var ons=vnt(),M3l=b5t(),Xcg=e4(),P3l=Urs(),Zcg=vLe(),elg=Zvl(),tlg=tIl(),rlg=iIl(),nlg=aIl(),ilg=cIl(),olg=pIl(),slg=fIl(),alg=gIl(),ulg=Oz(),clg=bIl(),llg=SIl(),plg=fMr(),dlg=IIl(),flg=_Il(),hlg=S5t(),glg=hMr(),Alg=Qrs(),mlg=jrs(),ylg=gMr(),blg=AMr(),Elg=Grs(),Slg=LIl(),Clg=I5t(),Tlg=wz(),vlg=_5t(),Ilg=r3l(),Rlg=i3l(),_lg=s3l(),Olg=c3l(),wlg=p3l(),xlg=EMr(),Mlg=m3l(),Plg=b3l(),Nlg=C3l(),Dlg=v3l(),Blg=x3l();N3l.exports={parse:Zcg,valid:elg,clean:tlg,inc:rlg,diff:nlg,major:ilg,minor:olg,patch:slg,prerelease:alg,compare:ulg,rcompare:clg,compareLoose:llg,compareBuild:plg,sort:dlg,rsort:flg,gt:hlg,lt:glg,eq:Alg,neq:mlg,gte:ylg,lte:blg,cmp:Elg,coerce:Slg,Comparator:Clg,Range:Tlg,satisfies:vlg,toComparators:Ilg,maxSatisfying:Rlg,minSatisfying:_lg,minVersion:Olg,validRange:wlg,outside:xlg,gtr:Mlg,ltr:Plg,intersects:Nlg,simplifyRange:Dlg,subset:Blg,SemVer:Xcg,re:ons.re,src:ons.src,tokens:ons.t,SEMVER_SPEC_VERSION:M3l.SEMVER_SPEC_VERSION,RELEASE_TYPES:M3l.RELEASE_TYPES,compareIdentifiers:P3l.compareIdentifiers,rcompareIdentifiers:P3l.rcompareIdentifiers}});var w5t,Llg,qBS,klg,xS,Nte=F(()=>{"use strict";w5t=Ut(oW()),Llg=Ut(Ont()),qBS=(0,w5t.Record)({version:w5t.String,hash:w5t.String}),klg=()=>{let r="7.42.5",t="1bec07c9e1c3a1f8ee4b9f1a967fa36a9be90f72";return r&&t?{version:r,hash:t}:null},xS=klg()});var gTe,wnt,SMr=F(()=>{"use strict";lr();gTe=class extends et{constructor(n){super(`Run ${n} canceled by user`);this.runID=n}runID;fault="client"},wnt=class extends et{constructor(n){super('Test failed with "continue on failure" set to false');this.result=n}result;fault="client"}});var D3l,B3l,OLe,x5t,M5t,CMr,TMr=F(()=>{"use strict";py();SMr();D3l=(r,t,n)=>{switch(r){case"skipped":return"Skipped";case"error":return"Error";case"complete":switch(n){case"create":return t?"Validated":"Created";case"run":return t?"Validated":"DataLoaded";default:return"None"}default:return"None"}},B3l=r=>typeof r=="object"&&r instanceof wnt,OLe=r=>typeof r=="object"&&(r instanceof am||r instanceof gTe),x5t=r=>typeof r=="object"&&r instanceof Iz&&r.isCancel(),M5t=r=>typeof r=="object"&&r instanceof Pte&&r.isCancel(),CMr=r=>OLe(r)||x5t(r)||M5t(r)});var L3l,k3l,ATe,P5t=F(()=>{"use strict";lr();Qfe();Xo();Sc();sr();dm();SR();GNt();Zd();Nte();m5t();SMr();TMr();L3l=5e5,k3l=500,ATe=class r{constructor(t,n,i,o,s){this.state=t;this.repository=n;this.logContext=i;this.operationType=o;this.analyticsCollector=s}state;repository;logContext;operationType;stepsInitialized=null;runResults={};flusher=null;wasCanceled=!1;nodeStageIndexTracker=new Map;analyticsCollector;get teamID(){return this.logContext.orgID}get runID(){return this.logContext.runID}get envID(){return this.logContext.workspaceID}GetLogContext=t=>({...this.logContext,nodeID:t});async runIsCanceled(){if(!this.repository)return!1;if(this.wasCanceled)return!0;try{let t=!!(await this.getRepositoryForRun().fetch({pendingWritesTimeoutMs:100})).runDetails.canceled;return t&&(this.wasCanceled=!0),t}catch(t){if(g2(t)){if(t instanceof ELe)return!1;if(t instanceof Ku)return!1}throw t}}async throwIfRunCanceled(){if(await this.runIsCanceled())throw new gTe(this.runID)}updateNodeLocalRunResult({stepID:t,isPreview:n,runExecutionSequenceID:i},o){let s=this.runResults[t];s?(s.runState=o,s.queryResultSequence.isRunning=o==="running",s.stepRunState=this.getStepRunState(o,n),i!==void 0&&(s.runExecutionSequenceID=i),(o==="canceled"||o==="skipped"||o==="error")&&s.queryResultSequence.queryResults.forEach(a=>{!a.isRunning&&a.status==="Queued"&&(a.status="Canceled")})):this.Logger.errorContext(this.GetLogContext(t),"EventHandler updateNodeLocalRunResult: missing expected local run result for node",t)}getBulkSkipHandler=()=>async t=>{if(!this.repository)return;let n=this.repository.batch(),i=this.getRepositoryForRun().runResults;for(let[o,s]of Object.entries(t))if(this.runResults[o]){let a=i.get(o);this.updateNodeLocalRunResult({stepID:o,isPreview:!1,runExecutionSequenceID:s},"skipped");let u={...r.truncateRunResult(this.runResults[o]),version:2};await n.save(a,u)}await n.commit()};getCancelNodeHandler=()=>async t=>{try{if(!this.repository)return;if(this.runResults[t]){this.updateNodeLocalRunResult({stepID:t,isPreview:!1},"canceled");let i=this.getRepositoryForRun().runResults.get(t),o={...r.truncateRunResult(this.runResults[t]),version:2};await i.save(o)}else this.Logger.errorContext(this.GetLogContext(t),"EventHandler getCancelNodeHandler: missing expected local run result for node",t)}catch(n){this.Logger.errorContext(this.logContext,`Error canceling node ${t}`,n)}};async repositoryUpdateRunStatus({expectedStatus:t,newStatus:n}){if(!this.repository)return;let i=this.getRepositoryForRun();try{let o=await i.fetch();pg("RUNNER_BACKEND",t===o.runStatus,this.logContext,`EventHandler.repositoryUpdateRunStatus found unexpected run status - expected: ${t} / actual: ${o.runStatus}`)}catch(o){this.Logger.alertContext(this.logContext,"Error fetching runInfo",o)}await i.merge({runStatus:n})}async repositoryStampExecutorInfo(t){if(this.repository)try{await this.getRepositoryForRun().merge({platform:t,...xS?{softwareVersion:xS.version}:{}})}catch(n){this.Logger.errorContext(this.logContext,"[EventHandler.repositoryStampExecutorInfo] Error stamping executor info. Cannot update run document version/platform.",n)}}async repositoryUpdateRenderingProgress(t){if(this.repository)try{await this.getRepositoryForRun().merge({renderingProgress:{totalNodes:t.totalNodes,completedNodes:t.completedNodes}})}catch(n){this.Logger.errorContext(this.logContext,"[EventHandler.repositoryUpdateRenderingProgress] Error updating rendering progress. Cannot update run document renderingProgress.",n)}}getRepositoryRunsCollection(){if(!this.repository)throw new et("No repository to get runs collection for!");return this.repository.orgs.get(this.logContext.orgID).runs}getRepositoryForRun(){return this.getRepositoryRunsCollection().get(this.runID)}formatError=(t,n=null,i=null,o=!1)=>{let s=va(t.error).error,a="";return t.error&&typeof t.error=="object"&&!(t.error instanceof Error)&&"runDetails"in t.error&&typeof t.error.runDetails=="object"&&(a=t.error?.runDetails?.compiledSQL??""),t.templateString&&(a=t.templateString),{success:!1,error:{errorString:s.errorString??"",errorDetail:s.errorDetail??""},rows:[],fields:[],name:"",exportedRefs:[],invalidExportedRefs:[],status:o?"Canceled":"Failure",sql:a??"",startTime:t.startTime,endTime:new Date,isRunning:!1,type:"sql",queryID:n,warehouse:i}};populateRunResults(t,n){let i="[EventHandler.populateRunResults()]",o=t.length+1;for(let s of t){let u=q1(s,this.state.nodes,`${i} state.nodes`).operation.name;this.runResults[s]={name:u,runExecutionSequenceID:o,dataResult:null,runState:n,stepRunState:"None",queryResultSequence:{name:u,queryResults:[],isRunning:!1},runResultVersion:2}}}async bulkSetRunResults(t){if(!this.repository)return;let n=this.repository.batch(),i=this.getRepositoryForRun().runResults;for(let o of t){let s=this.runResults[o];if(!s)throw new et(`Run result for node ${o} does not exist for run ${this.runID}`);let a={...s,name:s.queryResultSequence.name,runExecutionSequenceID:s.runExecutionSequenceID,version:2},u=i.get(o);await n.save(u,a)}await n.commit()}async initializeRunResults(t,n="queued"){this.stepsInitialized=[...t],this.populateRunResults(t,n),await this.bulkSetRunResults(t)}setFlusher(t){this.flusher=t,t.startTimer()}async disposeFlusher(){await this.flusher?.stopAndFlush()}async populatePlaceholderStages(t,n){let i=new Set,o=new Set(t.keys());for(let s of n){if(!o.has(s))continue;let a=t.getPhaseItems(s);for(let[u,p]of a.entries()){let c=q1(u,this.runResults,"populateQueuedStages: this.runResults"),l=this.state.nodes[u],d=l?TN(l,void 0):!1,f=Tnt(p,this.getNameForStageWithoutSQL(s,d));for(let h of f)c.queryResultSequence.queryResults.push(this.createQueuedStage(h));f.length>0&&!i.has(u)&&(i.add(u),this.nodeStageIndexTracker.set(u,0))}}await this.bulkSetQueuedStageResults(i)}createQueuedStage({name:t,sql:n,type:i}){return{name:t,status:"Queued",success:!0,sql:n,rows:[],fields:[],startTime:new Date,endTime:new Date,isRunning:!1,exportedRefs:[],invalidExportedRefs:[],type:i}}async bulkSetQueuedStageResults(t){if(!this.repository)return;let n=this.repository.batch(),i=this.getRepositoryForRun().runResults;for(let o of t){let s=this.runResults[o];if(!s)continue;let a=i.get(o);await n.save(a,r.buildRunResultEntitySave(s))}await n.commit()}formatErrorToResult(t,n){let i=null,o=null;return typeof t.error=="object"&&(i=t.error.queryID||null,o=t.error.warehouse||null),{...this.formatError(t,i,o,n),name:t.stageName,stageExecutionStartTime:t.stageExecutionStartTime,stageExecutionEndTime:t.stageExecutionEndTime}}ensureHasQueryResult(t){if(pg("DEPLOY",!!t.queryResult,this.GetLogContext(t.stepID),"query result should always be returned for stage execution"),!t.queryResult)throw new Error("Got an empty query result for stage execution")}updateStageResultAtTrackedIndex=(t,n)=>{let o=q1(t,this.runResults,"[EventHandler.setLastQueryResult()]").queryResultSequence.queryResults,s=this.getCurrentStageIndex(t);if(s<0||s>=o.length)throw this.Logger.errorContext(this.GetLogContext(t),"[EventHandler.setLastQueryResult] stage index out of bounds",{targetIndex:s,queryResultsLength:o.length,resultName:n.name}),new et(`Stage index ${s} out of bounds (length: ${o.length}) for node ${t}`);o[s]=n};async dispatchQueryFailure(t,n){let i=this.formatErrorToResult(t,n),o=n?"client":pR(t.error)??"system";return QC(this.Logger,o,this.GetLogContext(t.stepID),"failed to execute run sql",n?"- canceled":"- errored",t.error,"stack: ",t.error.stack||"<none found>"),this.updateStageResultAtTrackedIndex(t.stepID,i),{error:i.error,fault:o}}getSingleStepData(t,n){let i=this.state.nodes[n];if(i)return i;let o=`(${this.runTypeName}) EventHandler: Could not get step data for step: ${n}`;throw this.Logger.errorContext(this.GetLogContext(n),o,n),new et(o)}getUnrunSteps(){let t={},n=this.state.nodes,i=this.runResults;if(n&&this.stepsInitialized)for(let o of this.stepsInitialized){let s=i[o];if(s){let{runState:a}=s;(a==="waiting"||a==="queued")&&(n[o]?t[o]=0:this.Logger.alertContext(this.logContext,"Node ID from initialization not found in steps data",o))}else this.Logger.alertContext(this.logContext,"Node ID from initialization not found in run results",o)}return t}getStepContext=(t,n,i,o)=>{let s=this.getSingleStepData(t,n),{locationName:a}=s.operation,{database:u}=this.state.mappings[a]?.mappingDefinitions[this.state.currentWorkspace]??{},p=TN(s,void 0),c=s.operation.name;return{startTime:new Date,stepID:n,stepName:c,runExecutionSequenceID:i,phase:t,isPreview:o,isSource:p,database:u??""}};convertIQueryToCompletedQueryResult(t){return{...t,startTime:VVo(t.startTime),endTime:VVo(t.endTime)}}getCurrentStageIndex(t){let n=this.nodeStageIndexTracker.get(t);if(n===void 0)throw new et(`[EventHandler.getCurrentStageIndex] Node ${t} not in stage tracker. Was populateQueuedStages called for this node?`);return n}advanceToNextStage(t){let n=this.getCurrentStageIndex(t);this.nodeStageIndexTracker.set(t,n+1)}getQueryResultForUpdateSuccess(t){return{...this.convertIQueryToCompletedQueryResult(t.queryResult),name:t.stageName,stageExecutionStartTime:t.stageExecutionStartTime,stageExecutionEndTime:t.stageExecutionEndTime}}getStepRunState(t,n){return D3l(t,n,this.operationType)}async updateRunResult(t){if(!this.repository)return;let n=this.runResults[t];if(!n)throw new et(`[EventHandler.updateRunResult()] run result for node ${t} does not exist for run ${this.runID}`);if(this.flusher)this.flusher.markDirty(t);else{let i=r.buildRunResultEntitySave(n);this.Logger.debugContext(this.GetLogContext(t),"updating run result",i),await this.getRepositoryForRun().runResults.get(t).save(i)}}isFinalRunForStep(t){return!0}async beforePhaseExecution(t,n){}async afterPhaseExecution(t){}async beforeStepExecution(t){this.runResults[t.stepID]&&(this.runResults[t.stepID].runExecutionSequenceID=t.runExecutionSequenceID),this.updateNodeLocalRunResult(t,"running"),await this.updateRunResult(t.stepID)}async afterFinalRunSuccessForNode(t){return Promise.resolve()}async afterStepExecutionSuccess(t){this.isFinalRunForStep(t)?(this.updateNodeLocalRunResult(t,"complete"),await this.afterFinalRunSuccessForNode(t)):this.updateNodeLocalRunResult(t,"waiting"),await this.updateRunResult(t.stepID)}async afterStepExecutionFailure(t){let n=await this.isCoalesceInitiatedCancel(t.error);this.markUnexecutedStagesAsCanceled(t.stepID),this.updateNodeLocalRunResult(t,n?"canceled":"error");try{this.flusher?await this.flusher.flushOne(t.stepID):await this.updateRunResult(t.stepID)}catch(i){this.Logger.emergContext(this.GetLogContext(t.stepID),`Error in firebaseUpdateStepResult for stepCounter:${t.stepID}:`,i)}}markUnexecutedStagesAsCanceled(t){let n=this.runResults[t];if(n)for(let i of n.queryResultSequence.queryResults)"status"in i&&i.status==="Queued"&&(i.status="Canceled")}sanityCheckContext(t){if(!t.stageType)throw this.Logger.emergContext(this.logContext,`No stage type on this ${this.runTypeName}!`,t),new Error(`Internal critical error: no stage type on this ${this.runTypeName}!`)}async beforeStageExecution(t){this.sanityCheckContext(t);let n=this.runResults[t.stepID];if(n){let i=n.queryResultSequence.queryResults,o=this.getCurrentStageIndex(t.stepID),s=i[o];if(!s||!("status"in s)||s.status!=="Queued"){let a=s&&"status"in s?s.status:"no-status";throw new et(`[EventHandler.beforeStageExecution] Expected queued placeholder at index ${o} for node ${t.stepID}, but found: ${s?`status=${a}`:"undefined"}`)}s.status="Running",s.startTime=new Date,s.endTime=s.startTime,await this.updateRunResult(t.stepID)}}async updateRunWithHeartbeat(t){await this.getRepositoryForRun().updateHeartbeat(t)}async afterStageExecutionSuccess(t){let n="[EventHandler.afterStageExecutionSuccess()]";if(this.sanityCheckContext(t),!t.queryResult){let i="Got an empty query result for stage execution - query result should always be returned!";throw this.Logger.alertContext(this.GetLogContext(t.stepID),n,i),new et(i)}if(t.stageExecutionStartTime&&t.stageExecutionEndTime){let i=t.stageExecutionEndTime.getTime()-t.stageExecutionStartTime.getTime();this.analyticsCollector.addQueryTiming(t.stepID,t.stageName,i,!0,t.stageExecutionStartTime)}if(jNt(t.queryResult)&&!t.queryResult.success){await this.updateRunWithHeartbeat({hasTestFailures:!0});let i=this.runResults[t.stepID];i&&(i.hasTestFailures=!0)}this.updateStageResultAtTrackedIndex(t.stepID,this.getQueryResultForUpdateSuccess(t)),await this.updateRunResult(t.stepID),this.advanceToNextStage(t.stepID)}async afterStageExecutionFailure(t){if(this.sanityCheckContext(t),t.stageExecutionStartTime&&t.stageExecutionEndTime){let o=t.stageExecutionEndTime.getTime()-t.stageExecutionStartTime.getTime();this.analyticsCollector.addQueryTiming(t.stepID,t.stageName,o,!1,t.stageExecutionStartTime)}let n=await this.isCoalesceInitiatedCancel(t.error),i=await this.dispatchQueryFailure(t,n);throw this.flusher?await this.flusher.flushOne(t.stepID):await this.updateRunResult(t.stepID),this.advanceToNextStage(t.stepID),n?t.error:i}async isCoalesceInitiatedCancel(t){return OLe(t)?!0:x5t(t)?this.runIsCanceled():M5t(t)?this.runIsCanceled():!1}static truncateQueryResult(t,n=L3l,i=k3l){let o=t.sql,s=t.rows,a,u;if(o){let p=new TextEncoder,c=new TextDecoder("utf8"),l=p.encode(o);if(l.length>n){let d=c.decode(l.slice(0,n));d.slice(-1)==="\uFFFD"&&(d=d.slice(0,-1)),a=`${d}...data truncated`}}return s?.length>i&&(u=s.slice(0,i),u.push({values:[`${s.length-i} rows truncated`]})),a||u?{...t,sql:a??o,rows:u??s}:t}static buildRunResultEntitySave(t){return{...r.truncateRunResult(t),name:t.queryResultSequence.name,runExecutionSequenceID:t.runExecutionSequenceID,version:2}}static truncateRunResult(t){let n=(t.dataResult?.sql?1:0)+(t.queryResultSequence?.renderQueryResults?.sql?1:0)+(t.queryResultSequence?.queryResults?.length??0),i=(t.dataResult?.rows?.length?1:0)+(t.queryResultSequence?.renderQueryResults?.rows?.length?1:0)+(t.queryResultSequence?.queryResults?.reduce((p,c)=>p+c?.rows?.length?1:0,0)??0);if(n===0&&i===0)return t;let o=Math.trunc(L3l/n)-100,s=k3l/(i??1),a={...t};t.dataResult?.sql&&(a.dataResult=r.truncateQueryResult(t.dataResult,o,s)??null);let u=t.queryResultSequence;return u&&(a.queryResultSequence={...u,queryResults:u.queryResults?.map(p=>r.truncateQueryResult(p,o,s))},u.renderQueryResults&&(a.queryResultSequence.renderQueryResults=r.truncateQueryResult(u.renderQueryResults,o,s))),a}}});var vMr,q3l=F(()=>{"use strict";Ta();Xo();Sc();H6();m5t();y5t();P5t();vMr=class extends ATe{constructor(n,i,o,s,a){super(n,i,o,"create",a);this.phasedNodeData=s}phasedNodeData;getNameForStageWithoutSQL=(n,i)=>cMr(n,i);getNodeDataForUpdate=n=>{let i=this.getSingleStepData(n.phase,n.stepID),o=i.operation.locationName,s=gz(this.state.mappings,this.envID),a=this.GetLogContext(n.stepID),u;try{let p=s?.[o]?.database??i.operation.database,c=s?.[o]?.schema??i.operation.schema;return u={...i.operation,metadata:{...i.operation.metadata,columns:i.operation.metadata.columns.map(l=>({...l}))},database:p,schema:c,version:1,id:n.stepID,deployEnabled:!0},this.Logger.infoContext(a,"newStepData:",u,"stepCounter:",n.stepID),mzc("(Logging Only) Compare locations from context and workspace",a,()=>{let l=gz(this.state.mappings||{},this.state.currentWorkspace);pg("DEPLOY",mZ(l[o],s[o]),a,`Location data for location ${o} for node ${i.operation.name} with id ${n.stepID} differs between data from context and data from workspace.`,"locationsFromWorkspace:",l,"locationsFromContext:",s)}),u}catch(p){let c=u?u.name:i.operation.name,l=`Error attempting to update the database/schema on deployed nodeID ${n.stepID}: ${c}`;throw this.Logger.emergContext(a,l,"locations:",s,"error:",p),new FW(n.stepID,l)}};async updateEnvironmentNodeMetadata(n){if(!this.repository)return;let i=this.repository.org(this.teamID).workspace(+this.envID).nodes.get(n.stepID);if(n.phase==="deletedTable")n.stepID in this.phasedNodeData.addedTable||await i.delete();else{let o=this.getNodeDataForUpdate(n);await i.save(o)}}isFinalRunForStep(n){let i=[];return n.phase==="deletedTable"&&(i.push(this.phasedNodeData.alteredTable),i.push(this.phasedNodeData.addedTable)),n.phase==="alteredTable"&&i.push(this.phasedNodeData.addedTable),!i.some(o=>n.stepID in o)}async afterFinalRunSuccessForNode(n){try{await this.updateEnvironmentNodeMetadata(n)}catch(i){let o=this.GetLogContext(n.stepID);this.Logger.errorContext(o,"Error updating node metadata -- nodeID:",n.stepID,"error:",i);let s=JXe(i),a="unknown location";try{a=this.getSingleStepData(n.phase,n.stepID).operation.locationName}catch(u){this.Logger.errorContext(o,`Error getting location name for node ${n.stepName} (${n.stepID}):`,u)}throw new FW(n.stepID,`Failed to update node metadata for ${n.stepName} (${a}): ${s}`)}}}});var F3l,IMr,sns=F(()=>{"use strict";lr();F3l=(r,t)=>{let n=new Set(t);return n.delete(r),Array.from(n)},IMr=async(r,t,n)=>{if(!t)throw new et(`Cannot get deploy run info since workspace ${r} has no currently running jobs`);if(t.length)return(await n.selectInBatches("id","in",t,[["runType","==","deploy"],["runStatus","==","running"]]))[0]}});var RMr,U3l=F(()=>{"use strict";RMr="No SQL to execute"});var N5t=F(()=>{"use strict";sns();U3l()});var _Mr,z3l=F(()=>{"use strict";N5t();P5t();_Mr=class extends ATe{constructor(t,n,i,o){super(t,n,i,"run",o)}async initializeRunResults(t){await super.initializeRunResults(t,"waiting")}getNameForStageWithoutSQL=()=>RMr}});var Q3l=F(()=>{"use strict"});var OMr,ans=F(()=>{"use strict";OMr=class{constructor(t,n,i,o,s,a,u){this.repository=t;this.getRunRepository=n;this.buildEntitySave=i;this.runResults=o;this.logger=s;this.logContext=a;this.flushIntervalMs=u?.flushIntervalMs??3e3,this.flushThreshold=u?.flushThreshold??50}repository;getRunRepository;buildEntitySave;runResults;logger;logContext;dirtyNodes=new Set;timer=null;activeFlush=null;flushedDuringBatch=new Set;flushIntervalMs;flushThreshold;totalFlushes=0;totalNodeWrites=0;totalImmediateWrites=0;timerFlushes=0;thresholdFlushes=0;slowCommits=0;tag="[RunResultFlusher]";markDirty(t){this.dirtyNodes.add(t),this.dirtyNodes.size>=this.flushThreshold&&this.flush("threshold").catch(n=>{this.logger.errorContext(this.logContext,`${this.tag} threshold-triggered flush error`,n)})}async flush(t="dispose"){if(this.activeFlush||this.dirtyNodes.size===0){this.logger.debugContext(this.logContext,`${this.tag} flush skipped (activeFlush=${!!this.activeFlush}, dirtySetEmpty=${this.dirtyNodes.size===0}, trigger=${t})`);return}let n=new Set(this.dirtyNodes);this.dirtyNodes.clear(),this.activeFlush=this.doFlush(n,t);try{await this.activeFlush}finally{this.activeFlush=null}}async doFlush(t,n){try{let i=this.repository.batch();for(let a of t){let u=this.runResults[a];if(!u){this.logger.warnContext(this.logContext,`${this.tag} node ${a} no longer has a run result, skipping write`);continue}let p=this.buildEntitySave(u),c=this.getRunRepository().runResults.get(a);await i.save(c,p)}let o=Date.now();await i.commit();let s=Date.now()-o;if(this.flushedDuringBatch.size>0){let a=this.getRunRepository().runResults;for(let u of this.flushedDuringBatch)if(t.has(u)){let p=this.runResults[u];p&&await a.get(u).save(this.buildEntitySave(p))}this.flushedDuringBatch.clear()}this.totalFlushes++,this.totalNodeWrites+=t.size,n==="timer"&&this.timerFlushes++,n==="threshold"&&this.thresholdFlushes++,s>=2e3&&(this.slowCommits++,this.logger.warnContext(this.logContext,`${this.tag} slow commit: ${s}ms for ${t.size} nodes (possible write stream pressure)`)),this.logger.debugContext(this.logContext,`${this.tag} flushed ${t.size} run results in ${s}ms (${n}, threshold=${this.flushThreshold}, interval=${this.flushIntervalMs}ms)`)}catch(i){for(let o of t)this.dirtyNodes.add(o);throw this.logger.errorContext(this.logContext,`${this.tag} flush failed, ${t.size} nodes re-queued`,i),i}}async flushOne(t){this.dirtyNodes.delete(t);let n=this.runResults[t];if(!n){this.logger.warnContext(this.logContext,`${this.tag} node ${t} no longer has a run result, skipping write (flushOne)`);return}this.activeFlush&&this.flushedDuringBatch.add(t);let i=this.buildEntitySave(n);await this.getRunRepository().runResults.get(t).save(i),this.totalImmediateWrites++}startTimer(){this.timer||(this.timer=setInterval(()=>{this.flush("timer").catch(t=>{this.logger.errorContext(this.logContext,`${this.tag} timer-triggered flush error`,t)})},this.flushIntervalMs))}async stopAndFlush(){this.timer&&(clearInterval(this.timer),this.timer=null);try{if(this.activeFlush)try{await this.activeFlush}catch(t){this.logger.errorContext(this.logContext,`${this.tag} error waiting for in-flight flush (stopAndFlush)`,t)}this.logger.infoContext(this.logContext,`${this.tag} draining remaining dirty nodes (stopAndFlush)`),await this.flush("dispose")}catch(t){this.logger.errorContext(this.logContext,`${this.tag} error stopping and flushing (stopAndFlush)`,t)}finally{this.logger.infoContext(this.logContext,`${this.tag} done \u2014 ${this.totalFlushes} flushes (${this.thresholdFlushes} threshold, ${this.timerFlushes} timer, ${this.slowCommits} slow), ${this.totalNodeWrites} batched writes, ${this.totalImmediateWrites} immediate writes (threshold=${this.flushThreshold}, interval=${this.flushIntervalMs}ms)`)}}}});var wMr,xMr,mTe=F(()=>{"use strict";sr();q3l();z3l();TMr();SMr();P5t();Q3l();ans();TMr();wMr=class extends vMr{constructor(t,n,i,o,s){super(t,n,i,o,s)}get Logger(){return He("DEPLOY")}get runTypeName(){return"Deploy"}},xMr=class extends _Mr{get Logger(){return He("RUNNER")}get runTypeName(){return"Refresh"}afterStepExecutionSuccess=async t=>{await super.afterStepExecutionSuccess(t),this.repository&&super.isFinalRunForStep(t)&&!t.isSource&&await this.repository.org(this.logContext.orgID).workspace(this.logContext.workspaceID).nodeLastRefreshed(t.stepID).save({lastRefreshed:new Date().toISOString()})};getQueryResultForUpdateSuccess=t=>({...super.getQueryResultForUpdateSuccess(t),type:t.stageType});async dispatchQueryFailure(t,n){if(B3l(t.error)){let i=t.error,o=this.getCurrentStageIndex(t.stepID);t.stepID in this.runResults&&(this.runResults[t.stepID].queryResultSequence.queryResults[o]=this.convertIQueryToCompletedQueryResult(i.result));let s=this.runResults[t.stepID];return s&&(s.hasTestFailures=!0),await this.updateRunWithHeartbeat({hasTestFailures:!0}),{error:{errorString:t.error.message,errorDetail:t.error.message},fault:"client"}}else return super.dispatchQueryFailure(t,n)}}});var xnt,Mnt,wLe=F(()=>{"use strict";xnt=["deletedTable","alteredTable","addedTable"],Mnt=["refresh"]});var MMr,D5t,PMr,j3l,G3l,Flg,Ulg,zlg,Qlg,H3l,Pnt,NMr,uns,Wfe,Kfe=F(()=>{"use strict";Ta();lb();uo();sr();Q$o();drs();MMr=`{%- macro get_value_by_column_attribute(column_attribute, value="name") -%}
|
|
7878
7878
|
{%- set filtered_columns_by_attribute = columns | selectattr(column_attribute) | list -%}
|
|
7879
7879
|
{%- if filtered_columns_by_attribute | length > 0 -%}
|
|
7880
7880
|
{{- (filtered_columns_by_attribute | first)[value] -}}
|