fjall 3.10.0 → 3.11.0

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.
@@ -1,29 +1,29 @@
1
1
  import { createRequire as __fjcreateRequire } from "module";
2
2
  const require = __fjcreateRequire(import.meta.url);
3
3
 
4
- var Gw=Object.create;var Jl=Object.defineProperty;var Ww=Object.getOwnPropertyDescriptor;var Hw=Object.getOwnPropertyNames;var qw=Object.getPrototypeOf,Kw=Object.prototype.hasOwnProperty;var rs=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,n)=>(typeof require<"u"?require:t)[n]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var I=(e,t)=>()=>{try{return t||e((t={exports:{}}).exports,t),t.exports}catch(n){throw t=0,n}},$t=(e,t)=>{for(var n in t)Jl(e,n,{get:t[n],enumerable:!0})},Yw=(e,t,n,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of Hw(t))!Kw.call(e,r)&&r!==n&&Jl(e,r,{get:()=>t[r],enumerable:!(i=Ww(t,r))||i.enumerable});return e};var Xw=(e,t,n)=>(n=e!=null?Gw(qw(e)):{},Yw(t||!e||!e.__esModule?Jl(n,"default",{value:e,enumerable:!0}):n,e));var oe=I((PX,dP)=>{"use strict";var{FORCE_COLOR:L4,NODE_DISABLE_COLORS:U4,TERM:F4}=process.env,H={enabled:!U4&&F4!=="dumb"&&L4!=="0",reset:ee(0,0),bold:ee(1,22),dim:ee(2,22),italic:ee(3,23),underline:ee(4,24),inverse:ee(7,27),hidden:ee(8,28),strikethrough:ee(9,29),black:ee(30,39),red:ee(31,39),green:ee(32,39),yellow:ee(33,39),blue:ee(34,39),magenta:ee(35,39),cyan:ee(36,39),white:ee(37,39),gray:ee(90,39),grey:ee(90,39),bgBlack:ee(40,49),bgRed:ee(41,49),bgGreen:ee(42,49),bgYellow:ee(43,49),bgBlue:ee(44,49),bgMagenta:ee(45,49),bgCyan:ee(46,49),bgWhite:ee(47,49)};function lP(e,t){let n=0,i,r="",o="";for(;n<e.length;n++)i=e[n],r+=i.open,o+=i.close,t.includes(i.close)&&(t=t.replace(i.rgx,i.close+i.open));return r+t+o}function B4(e,t){let n={has:e,keys:t};return n.reset=H.reset.bind(n),n.bold=H.bold.bind(n),n.dim=H.dim.bind(n),n.italic=H.italic.bind(n),n.underline=H.underline.bind(n),n.inverse=H.inverse.bind(n),n.hidden=H.hidden.bind(n),n.strikethrough=H.strikethrough.bind(n),n.black=H.black.bind(n),n.red=H.red.bind(n),n.green=H.green.bind(n),n.yellow=H.yellow.bind(n),n.blue=H.blue.bind(n),n.magenta=H.magenta.bind(n),n.cyan=H.cyan.bind(n),n.white=H.white.bind(n),n.gray=H.gray.bind(n),n.grey=H.grey.bind(n),n.bgBlack=H.bgBlack.bind(n),n.bgRed=H.bgRed.bind(n),n.bgGreen=H.bgGreen.bind(n),n.bgYellow=H.bgYellow.bind(n),n.bgBlue=H.bgBlue.bind(n),n.bgMagenta=H.bgMagenta.bind(n),n.bgCyan=H.bgCyan.bind(n),n.bgWhite=H.bgWhite.bind(n),n}function ee(e,t){let n={open:`\x1B[${e}m`,close:`\x1B[${t}m`,rgx:new RegExp(`\\x1b\\[${t}m`,"g")};return function(i){return this!==void 0&&this.has!==void 0?(this.has.includes(e)||(this.has.push(e),this.keys.push(n)),i===void 0?this:H.enabled?lP(this.keys,i+""):i+""):i===void 0?B4([e],[n]):H.enabled?lP([n],i+""):i+""}}dP.exports=H});var pP=I((CX,mP)=>{"use strict";mP.exports=(e,t)=>{if(!(e.meta&&e.name!=="escape")){if(e.ctrl){if(e.name==="a")return"first";if(e.name==="c"||e.name==="d")return"abort";if(e.name==="e")return"last";if(e.name==="g")return"reset"}if(t){if(e.name==="j")return"down";if(e.name==="k")return"up"}return e.name==="return"||e.name==="enter"?"submit":e.name==="backspace"?"delete":e.name==="delete"?"deleteForward":e.name==="abort"?"abort":e.name==="escape"?"exit":e.name==="tab"?"next":e.name==="pagedown"?"nextPage":e.name==="pageup"?"prevPage":e.name==="home"?"home":e.name==="end"?"end":e.name==="up"?"up":e.name==="down"?"down":e.name==="right"?"right":e.name==="left"?"left":!1}}});var Ml=I((NX,fP)=>{"use strict";fP.exports=e=>{let t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PRZcf-ntqry=><~]))"].join("|"),n=new RegExp(t,"g");return typeof e=="string"?e.replace(n,""):e}});var ae=I((wX,gP)=>{"use strict";var ay={to(e,t){return t?`\x1B[${t+1};${e+1}H`:`\x1B[${e+1}G`},move(e,t){let n="";return e<0?n+=`\x1B[${-e}D`:e>0&&(n+=`\x1B[${e}C`),t<0?n+=`\x1B[${-t}A`:t>0&&(n+=`\x1B[${t}B`),n},up:(e=1)=>`\x1B[${e}A`,down:(e=1)=>`\x1B[${e}B`,forward:(e=1)=>`\x1B[${e}C`,backward:(e=1)=>`\x1B[${e}D`,nextLine:(e=1)=>"\x1B[E".repeat(e),prevLine:(e=1)=>"\x1B[F".repeat(e),left:"\x1B[G",hide:"\x1B[?25l",show:"\x1B[?25h",save:"\x1B7",restore:"\x1B8"},V4={up:(e=1)=>"\x1B[S".repeat(e),down:(e=1)=>"\x1B[T".repeat(e)},Z4={screen:"\x1B[2J",up:(e=1)=>"\x1B[1J".repeat(e),down:(e=1)=>"\x1B[J".repeat(e),line:"\x1B[2K",lineEnd:"\x1B[K",lineStart:"\x1B[1K",lines(e){let t="";for(let n=0;n<e;n++)t+=this.line+(n<e-1?ay.up():"");return e&&(t+=ay.left),t}};gP.exports={cursor:ay,scroll:V4,erase:Z4,beep:"\x07"}});var SP=I((kX,yP)=>{"use strict";function G4(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=W4(e))||t&&e&&typeof e.length=="number"){n&&(e=n);var i=0,r=function(){};return{s:r,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(l){throw l},f:r}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
5
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,c;return{s:function(){n=n.call(e)},n:function(){var l=n.next();return o=l.done,l},e:function(l){a=!0,c=l},f:function(){try{!o&&n.return!=null&&n.return()}finally{if(a)throw c}}}}function W4(e,t){if(e){if(typeof e=="string")return hP(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return hP(e,t)}}function hP(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}var H4=Ml(),bP=ae(),vP=bP.erase,q4=bP.cursor,K4=e=>[...H4(e)].length;yP.exports=function(e,t){if(!t)return vP.line+q4.to(0);let n=0,i=e.split(/\r?\n/);var r=G4(i),o;try{for(r.s();!(o=r.n()).done;){let a=o.value;n+=1+Math.floor(Math.max(K4(a)-1,0)/t)}}catch(a){r.e(a)}finally{r.f()}return vP.lines(n)}});var sy=I((OX,_P)=>{"use strict";var Ga={arrowUp:"\u2191",arrowDown:"\u2193",arrowLeft:"\u2190",arrowRight:"\u2192",radioOn:"\u25C9",radioOff:"\u25EF",tick:"\u2714",cross:"\u2716",ellipsis:"\u2026",pointerSmall:"\u203A",line:"\u2500",pointer:"\u276F"},Y4={arrowUp:Ga.arrowUp,arrowDown:Ga.arrowDown,arrowLeft:Ga.arrowLeft,arrowRight:Ga.arrowRight,radioOn:"(*)",radioOff:"( )",tick:"\u221A",cross:"\xD7",ellipsis:"...",pointerSmall:"\xBB",line:"\u2500",pointer:">"},X4=process.platform==="win32"?Y4:Ga;_P.exports=X4});var xP=I((DX,EP)=>{"use strict";var Ji=oe(),In=sy(),cy=Object.freeze({password:{scale:1,render:e=>"*".repeat(e.length)},emoji:{scale:2,render:e=>"\u{1F603}".repeat(e.length)},invisible:{scale:0,render:e=>""},default:{scale:1,render:e=>`${e}`}}),J4=e=>cy[e]||cy.default,Wa=Object.freeze({aborted:Ji.red(In.cross),done:Ji.green(In.tick),exited:Ji.yellow(In.cross),default:Ji.cyan("?")}),Q4=(e,t,n)=>t?Wa.aborted:n?Wa.exited:e?Wa.done:Wa.default,e2=e=>Ji.gray(e?In.ellipsis:In.pointerSmall),t2=(e,t)=>Ji.gray(e?t?In.pointerSmall:"+":In.line);EP.exports={styles:cy,render:J4,symbols:Wa,symbol:Q4,delimiter:e2,item:t2}});var IP=I((MX,AP)=>{"use strict";var r2=Ml();AP.exports=function(e,t){let n=String(r2(e)||"").split(/\r?\n/);return t?n.map(i=>Math.ceil(i.length/t)).reduce((i,r)=>i+r):n.length}});var TP=I((jX,$P)=>{"use strict";$P.exports=(e,t={})=>{let n=Number.isSafeInteger(parseInt(t.margin))?new Array(parseInt(t.margin)).fill(" ").join(""):t.margin||"",i=t.width;return(e||"").split(/\r?\n/g).map(r=>r.split(/\s+/g).reduce((o,a)=>(a.length+n.length>=i||o[o.length-1].length+a.length+1<i?o[o.length-1]+=` ${a}`:o.push(`${n}${a}`),o),[n]).join(`
4
+ var Gw=Object.create;var Jl=Object.defineProperty;var Ww=Object.getOwnPropertyDescriptor;var Hw=Object.getOwnPropertyNames;var qw=Object.getPrototypeOf,Kw=Object.prototype.hasOwnProperty;var rs=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,n)=>(typeof require<"u"?require:t)[n]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var I=(e,t)=>()=>{try{return t||e((t={exports:{}}).exports,t),t.exports}catch(n){throw t=0,n}},$t=(e,t)=>{for(var n in t)Jl(e,n,{get:t[n],enumerable:!0})},Yw=(e,t,n,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of Hw(t))!Kw.call(e,r)&&r!==n&&Jl(e,r,{get:()=>t[r],enumerable:!(i=Ww(t,r))||i.enumerable});return e};var Xw=(e,t,n)=>(n=e!=null?Gw(qw(e)):{},Yw(t||!e||!e.__esModule?Jl(n,"default",{value:e,enumerable:!0}):n,e));var oe=I((CX,dP)=>{"use strict";var{FORCE_COLOR:U4,NODE_DISABLE_COLORS:F4,TERM:B4}=process.env,H={enabled:!F4&&B4!=="dumb"&&U4!=="0",reset:ee(0,0),bold:ee(1,22),dim:ee(2,22),italic:ee(3,23),underline:ee(4,24),inverse:ee(7,27),hidden:ee(8,28),strikethrough:ee(9,29),black:ee(30,39),red:ee(31,39),green:ee(32,39),yellow:ee(33,39),blue:ee(34,39),magenta:ee(35,39),cyan:ee(36,39),white:ee(37,39),gray:ee(90,39),grey:ee(90,39),bgBlack:ee(40,49),bgRed:ee(41,49),bgGreen:ee(42,49),bgYellow:ee(43,49),bgBlue:ee(44,49),bgMagenta:ee(45,49),bgCyan:ee(46,49),bgWhite:ee(47,49)};function lP(e,t){let n=0,i,r="",o="";for(;n<e.length;n++)i=e[n],r+=i.open,o+=i.close,t.includes(i.close)&&(t=t.replace(i.rgx,i.close+i.open));return r+t+o}function V4(e,t){let n={has:e,keys:t};return n.reset=H.reset.bind(n),n.bold=H.bold.bind(n),n.dim=H.dim.bind(n),n.italic=H.italic.bind(n),n.underline=H.underline.bind(n),n.inverse=H.inverse.bind(n),n.hidden=H.hidden.bind(n),n.strikethrough=H.strikethrough.bind(n),n.black=H.black.bind(n),n.red=H.red.bind(n),n.green=H.green.bind(n),n.yellow=H.yellow.bind(n),n.blue=H.blue.bind(n),n.magenta=H.magenta.bind(n),n.cyan=H.cyan.bind(n),n.white=H.white.bind(n),n.gray=H.gray.bind(n),n.grey=H.grey.bind(n),n.bgBlack=H.bgBlack.bind(n),n.bgRed=H.bgRed.bind(n),n.bgGreen=H.bgGreen.bind(n),n.bgYellow=H.bgYellow.bind(n),n.bgBlue=H.bgBlue.bind(n),n.bgMagenta=H.bgMagenta.bind(n),n.bgCyan=H.bgCyan.bind(n),n.bgWhite=H.bgWhite.bind(n),n}function ee(e,t){let n={open:`\x1B[${e}m`,close:`\x1B[${t}m`,rgx:new RegExp(`\\x1b\\[${t}m`,"g")};return function(i){return this!==void 0&&this.has!==void 0?(this.has.includes(e)||(this.has.push(e),this.keys.push(n)),i===void 0?this:H.enabled?lP(this.keys,i+""):i+""):i===void 0?V4([e],[n]):H.enabled?lP([n],i+""):i+""}}dP.exports=H});var pP=I((NX,mP)=>{"use strict";mP.exports=(e,t)=>{if(!(e.meta&&e.name!=="escape")){if(e.ctrl){if(e.name==="a")return"first";if(e.name==="c"||e.name==="d")return"abort";if(e.name==="e")return"last";if(e.name==="g")return"reset"}if(t){if(e.name==="j")return"down";if(e.name==="k")return"up"}return e.name==="return"||e.name==="enter"?"submit":e.name==="backspace"?"delete":e.name==="delete"?"deleteForward":e.name==="abort"?"abort":e.name==="escape"?"exit":e.name==="tab"?"next":e.name==="pagedown"?"nextPage":e.name==="pageup"?"prevPage":e.name==="home"?"home":e.name==="end"?"end":e.name==="up"?"up":e.name==="down"?"down":e.name==="right"?"right":e.name==="left"?"left":!1}}});var Ml=I((wX,fP)=>{"use strict";fP.exports=e=>{let t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PRZcf-ntqry=><~]))"].join("|"),n=new RegExp(t,"g");return typeof e=="string"?e.replace(n,""):e}});var ae=I((kX,gP)=>{"use strict";var ay={to(e,t){return t?`\x1B[${t+1};${e+1}H`:`\x1B[${e+1}G`},move(e,t){let n="";return e<0?n+=`\x1B[${-e}D`:e>0&&(n+=`\x1B[${e}C`),t<0?n+=`\x1B[${-t}A`:t>0&&(n+=`\x1B[${t}B`),n},up:(e=1)=>`\x1B[${e}A`,down:(e=1)=>`\x1B[${e}B`,forward:(e=1)=>`\x1B[${e}C`,backward:(e=1)=>`\x1B[${e}D`,nextLine:(e=1)=>"\x1B[E".repeat(e),prevLine:(e=1)=>"\x1B[F".repeat(e),left:"\x1B[G",hide:"\x1B[?25l",show:"\x1B[?25h",save:"\x1B7",restore:"\x1B8"},Z4={up:(e=1)=>"\x1B[S".repeat(e),down:(e=1)=>"\x1B[T".repeat(e)},G4={screen:"\x1B[2J",up:(e=1)=>"\x1B[1J".repeat(e),down:(e=1)=>"\x1B[J".repeat(e),line:"\x1B[2K",lineEnd:"\x1B[K",lineStart:"\x1B[1K",lines(e){let t="";for(let n=0;n<e;n++)t+=this.line+(n<e-1?ay.up():"");return e&&(t+=ay.left),t}};gP.exports={cursor:ay,scroll:Z4,erase:G4,beep:"\x07"}});var SP=I((OX,yP)=>{"use strict";function W4(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=H4(e))||t&&e&&typeof e.length=="number"){n&&(e=n);var i=0,r=function(){};return{s:r,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(l){throw l},f:r}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
5
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,c;return{s:function(){n=n.call(e)},n:function(){var l=n.next();return o=l.done,l},e:function(l){a=!0,c=l},f:function(){try{!o&&n.return!=null&&n.return()}finally{if(a)throw c}}}}function H4(e,t){if(e){if(typeof e=="string")return hP(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return hP(e,t)}}function hP(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}var q4=Ml(),bP=ae(),vP=bP.erase,K4=bP.cursor,Y4=e=>[...q4(e)].length;yP.exports=function(e,t){if(!t)return vP.line+K4.to(0);let n=0,i=e.split(/\r?\n/);var r=W4(i),o;try{for(r.s();!(o=r.n()).done;){let a=o.value;n+=1+Math.floor(Math.max(Y4(a)-1,0)/t)}}catch(a){r.e(a)}finally{r.f()}return vP.lines(n)}});var sy=I((DX,_P)=>{"use strict";var Ga={arrowUp:"\u2191",arrowDown:"\u2193",arrowLeft:"\u2190",arrowRight:"\u2192",radioOn:"\u25C9",radioOff:"\u25EF",tick:"\u2714",cross:"\u2716",ellipsis:"\u2026",pointerSmall:"\u203A",line:"\u2500",pointer:"\u276F"},X4={arrowUp:Ga.arrowUp,arrowDown:Ga.arrowDown,arrowLeft:Ga.arrowLeft,arrowRight:Ga.arrowRight,radioOn:"(*)",radioOff:"( )",tick:"\u221A",cross:"\xD7",ellipsis:"...",pointerSmall:"\xBB",line:"\u2500",pointer:">"},J4=process.platform==="win32"?X4:Ga;_P.exports=J4});var xP=I((MX,EP)=>{"use strict";var Ji=oe(),In=sy(),cy=Object.freeze({password:{scale:1,render:e=>"*".repeat(e.length)},emoji:{scale:2,render:e=>"\u{1F603}".repeat(e.length)},invisible:{scale:0,render:e=>""},default:{scale:1,render:e=>`${e}`}}),Q4=e=>cy[e]||cy.default,Wa=Object.freeze({aborted:Ji.red(In.cross),done:Ji.green(In.tick),exited:Ji.yellow(In.cross),default:Ji.cyan("?")}),e2=(e,t,n)=>t?Wa.aborted:n?Wa.exited:e?Wa.done:Wa.default,t2=e=>Ji.gray(e?In.ellipsis:In.pointerSmall),r2=(e,t)=>Ji.gray(e?t?In.pointerSmall:"+":In.line);EP.exports={styles:cy,render:Q4,symbols:Wa,symbol:e2,delimiter:t2,item:r2}});var IP=I((jX,AP)=>{"use strict";var n2=Ml();AP.exports=function(e,t){let n=String(n2(e)||"").split(/\r?\n/);return t?n.map(i=>Math.ceil(i.length/t)).reduce((i,r)=>i+r):n.length}});var TP=I((zX,$P)=>{"use strict";$P.exports=(e,t={})=>{let n=Number.isSafeInteger(parseInt(t.margin))?new Array(parseInt(t.margin)).fill(" ").join(""):t.margin||"",i=t.width;return(e||"").split(/\r?\n/g).map(r=>r.split(/\s+/g).reduce((o,a)=>(a.length+n.length>=i||o[o.length-1].length+a.length+1<i?o[o.length-1]+=` ${a}`:o.push(`${n}${a}`),o),[n]).join(`
6
6
  `)).join(`
7
- `)}});var PP=I((zX,RP)=>{"use strict";RP.exports=(e,t,n)=>{n=n||t;let i=Math.min(t-n,e-Math.floor(n/2));i<0&&(i=0);let r=Math.min(i+n,t);return{startIndex:i,endIndex:r}}});var At=I((LX,CP)=>{"use strict";CP.exports={action:pP(),clear:SP(),style:xP(),strip:Ml(),figures:sy(),lines:IP(),wrap:TP(),entriesToDisplay:PP()}});var sr=I((UX,kP)=>{"use strict";var NP=rs("readline"),n2=At(),i2=n2.action,o2=rs("events"),wP=ae(),a2=wP.beep,s2=wP.cursor,c2=oe(),uy=class extends o2{constructor(t={}){super(),this.firstRender=!0,this.in=t.stdin||process.stdin,this.out=t.stdout||process.stdout,this.onRender=(t.onRender||(()=>{})).bind(this);let n=NP.createInterface({input:this.in,escapeCodeTimeout:50});NP.emitKeypressEvents(this.in,n),this.in.isTTY&&this.in.setRawMode(!0);let i=["SelectPrompt","MultiselectPrompt"].indexOf(this.constructor.name)>-1,r=(o,a)=>{let c=i2(a,i);c===!1?this._&&this._(o,a):typeof this[c]=="function"?this[c](a):this.bell()};this.close=()=>{this.out.write(s2.show),this.in.removeListener("keypress",r),this.in.isTTY&&this.in.setRawMode(!1),n.close(),this.emit(this.aborted?"abort":this.exited?"exit":"submit",this.value),this.closed=!0},this.in.on("keypress",r)}fire(){this.emit("state",{value:this.value,aborted:!!this.aborted,exited:!!this.exited})}bell(){this.out.write(a2)}render(){this.onRender(c2),this.firstRender&&(this.firstRender=!1)}};kP.exports=uy});var zP=I((FX,jP)=>{"use strict";function OP(e,t,n,i,r,o,a){try{var c=e[o](a),u=c.value}catch(l){n(l);return}c.done?t(u):Promise.resolve(u).then(i,r)}function DP(e){return function(){var t=this,n=arguments;return new Promise(function(i,r){var o=e.apply(t,n);function a(u){OP(o,i,r,a,c,"next",u)}function c(u){OP(o,i,r,a,c,"throw",u)}a(void 0)})}}var jl=oe(),u2=sr(),MP=ae(),l2=MP.erase,Ha=MP.cursor,zl=At(),ly=zl.style,dy=zl.clear,d2=zl.lines,m2=zl.figures,my=class extends u2{constructor(t={}){super(t),this.transform=ly.render(t.style),this.scale=this.transform.scale,this.msg=t.message,this.initial=t.initial||"",this.validator=t.validate||(()=>!0),this.value="",this.errorMsg=t.error||"Please Enter A Valid Value",this.cursor=+!!this.initial,this.cursorOffset=0,this.clear=dy("",this.out.columns),this.render()}set value(t){!t&&this.initial?(this.placeholder=!0,this.rendered=jl.gray(this.transform.render(this.initial))):(this.placeholder=!1,this.rendered=this.transform.render(t)),this._value=t,this.fire()}get value(){return this._value}reset(){this.value="",this.cursor=+!!this.initial,this.cursorOffset=0,this.fire(),this.render()}exit(){this.abort()}abort(){this.value=this.value||this.initial,this.done=this.aborted=!0,this.error=!1,this.red=!1,this.fire(),this.render(),this.out.write(`
7
+ `)}});var PP=I((LX,RP)=>{"use strict";RP.exports=(e,t,n)=>{n=n||t;let i=Math.min(t-n,e-Math.floor(n/2));i<0&&(i=0);let r=Math.min(i+n,t);return{startIndex:i,endIndex:r}}});var At=I((UX,CP)=>{"use strict";CP.exports={action:pP(),clear:SP(),style:xP(),strip:Ml(),figures:sy(),lines:IP(),wrap:TP(),entriesToDisplay:PP()}});var sr=I((FX,kP)=>{"use strict";var NP=rs("readline"),i2=At(),o2=i2.action,a2=rs("events"),wP=ae(),s2=wP.beep,c2=wP.cursor,u2=oe(),uy=class extends a2{constructor(t={}){super(),this.firstRender=!0,this.in=t.stdin||process.stdin,this.out=t.stdout||process.stdout,this.onRender=(t.onRender||(()=>{})).bind(this);let n=NP.createInterface({input:this.in,escapeCodeTimeout:50});NP.emitKeypressEvents(this.in,n),this.in.isTTY&&this.in.setRawMode(!0);let i=["SelectPrompt","MultiselectPrompt"].indexOf(this.constructor.name)>-1,r=(o,a)=>{let c=o2(a,i);c===!1?this._&&this._(o,a):typeof this[c]=="function"?this[c](a):this.bell()};this.close=()=>{this.out.write(c2.show),this.in.removeListener("keypress",r),this.in.isTTY&&this.in.setRawMode(!1),n.close(),this.emit(this.aborted?"abort":this.exited?"exit":"submit",this.value),this.closed=!0},this.in.on("keypress",r)}fire(){this.emit("state",{value:this.value,aborted:!!this.aborted,exited:!!this.exited})}bell(){this.out.write(s2)}render(){this.onRender(u2),this.firstRender&&(this.firstRender=!1)}};kP.exports=uy});var zP=I((BX,jP)=>{"use strict";function OP(e,t,n,i,r,o,a){try{var c=e[o](a),u=c.value}catch(l){n(l);return}c.done?t(u):Promise.resolve(u).then(i,r)}function DP(e){return function(){var t=this,n=arguments;return new Promise(function(i,r){var o=e.apply(t,n);function a(u){OP(o,i,r,a,c,"next",u)}function c(u){OP(o,i,r,a,c,"throw",u)}a(void 0)})}}var jl=oe(),l2=sr(),MP=ae(),d2=MP.erase,Ha=MP.cursor,zl=At(),ly=zl.style,dy=zl.clear,m2=zl.lines,p2=zl.figures,my=class extends l2{constructor(t={}){super(t),this.transform=ly.render(t.style),this.scale=this.transform.scale,this.msg=t.message,this.initial=t.initial||"",this.validator=t.validate||(()=>!0),this.value="",this.errorMsg=t.error||"Please Enter A Valid Value",this.cursor=+!!this.initial,this.cursorOffset=0,this.clear=dy("",this.out.columns),this.render()}set value(t){!t&&this.initial?(this.placeholder=!0,this.rendered=jl.gray(this.transform.render(this.initial))):(this.placeholder=!1,this.rendered=this.transform.render(t)),this._value=t,this.fire()}get value(){return this._value}reset(){this.value="",this.cursor=+!!this.initial,this.cursorOffset=0,this.fire(),this.render()}exit(){this.abort()}abort(){this.value=this.value||this.initial,this.done=this.aborted=!0,this.error=!1,this.red=!1,this.fire(),this.render(),this.out.write(`
8
8
  `),this.close()}validate(){var t=this;return DP(function*(){let n=yield t.validator(t.value);typeof n=="string"&&(t.errorMsg=n,n=!1),t.error=!n})()}submit(){var t=this;return DP(function*(){if(t.value=t.value||t.initial,t.cursorOffset=0,t.cursor=t.rendered.length,yield t.validate(),t.error){t.red=!0,t.fire(),t.render();return}t.done=!0,t.aborted=!1,t.fire(),t.render(),t.out.write(`
9
- `),t.close()})()}next(){if(!this.placeholder)return this.bell();this.value=this.initial,this.cursor=this.rendered.length,this.fire(),this.render()}moveCursor(t){this.placeholder||(this.cursor=this.cursor+t,this.cursorOffset+=t)}_(t,n){let i=this.value.slice(0,this.cursor),r=this.value.slice(this.cursor);this.value=`${i}${t}${r}`,this.red=!1,this.cursor=this.placeholder?0:i.length+1,this.render()}delete(){if(this.isCursorAtStart())return this.bell();let t=this.value.slice(0,this.cursor-1),n=this.value.slice(this.cursor);this.value=`${t}${n}`,this.red=!1,this.isCursorAtStart()?this.cursorOffset=0:(this.cursorOffset++,this.moveCursor(-1)),this.render()}deleteForward(){if(this.cursor*this.scale>=this.rendered.length||this.placeholder)return this.bell();let t=this.value.slice(0,this.cursor),n=this.value.slice(this.cursor+1);this.value=`${t}${n}`,this.red=!1,this.isCursorAtEnd()?this.cursorOffset=0:this.cursorOffset++,this.render()}first(){this.cursor=0,this.render()}last(){this.cursor=this.value.length,this.render()}left(){if(this.cursor<=0||this.placeholder)return this.bell();this.moveCursor(-1),this.render()}right(){if(this.cursor*this.scale>=this.rendered.length||this.placeholder)return this.bell();this.moveCursor(1),this.render()}isCursorAtStart(){return this.cursor===0||this.placeholder&&this.cursor===1}isCursorAtEnd(){return this.cursor===this.rendered.length||this.placeholder&&this.cursor===this.rendered.length+1}render(){this.closed||(this.firstRender||(this.outputError&&this.out.write(Ha.down(d2(this.outputError,this.out.columns)-1)+dy(this.outputError,this.out.columns)),this.out.write(dy(this.outputText,this.out.columns))),super.render(),this.outputError="",this.outputText=[ly.symbol(this.done,this.aborted),jl.bold(this.msg),ly.delimiter(this.done),this.red?jl.red(this.rendered):this.rendered].join(" "),this.error&&(this.outputError+=this.errorMsg.split(`
9
+ `),t.close()})()}next(){if(!this.placeholder)return this.bell();this.value=this.initial,this.cursor=this.rendered.length,this.fire(),this.render()}moveCursor(t){this.placeholder||(this.cursor=this.cursor+t,this.cursorOffset+=t)}_(t,n){let i=this.value.slice(0,this.cursor),r=this.value.slice(this.cursor);this.value=`${i}${t}${r}`,this.red=!1,this.cursor=this.placeholder?0:i.length+1,this.render()}delete(){if(this.isCursorAtStart())return this.bell();let t=this.value.slice(0,this.cursor-1),n=this.value.slice(this.cursor);this.value=`${t}${n}`,this.red=!1,this.isCursorAtStart()?this.cursorOffset=0:(this.cursorOffset++,this.moveCursor(-1)),this.render()}deleteForward(){if(this.cursor*this.scale>=this.rendered.length||this.placeholder)return this.bell();let t=this.value.slice(0,this.cursor),n=this.value.slice(this.cursor+1);this.value=`${t}${n}`,this.red=!1,this.isCursorAtEnd()?this.cursorOffset=0:this.cursorOffset++,this.render()}first(){this.cursor=0,this.render()}last(){this.cursor=this.value.length,this.render()}left(){if(this.cursor<=0||this.placeholder)return this.bell();this.moveCursor(-1),this.render()}right(){if(this.cursor*this.scale>=this.rendered.length||this.placeholder)return this.bell();this.moveCursor(1),this.render()}isCursorAtStart(){return this.cursor===0||this.placeholder&&this.cursor===1}isCursorAtEnd(){return this.cursor===this.rendered.length||this.placeholder&&this.cursor===this.rendered.length+1}render(){this.closed||(this.firstRender||(this.outputError&&this.out.write(Ha.down(m2(this.outputError,this.out.columns)-1)+dy(this.outputError,this.out.columns)),this.out.write(dy(this.outputText,this.out.columns))),super.render(),this.outputError="",this.outputText=[ly.symbol(this.done,this.aborted),jl.bold(this.msg),ly.delimiter(this.done),this.red?jl.red(this.rendered):this.rendered].join(" "),this.error&&(this.outputError+=this.errorMsg.split(`
10
10
  `).reduce((t,n,i)=>t+`
11
- ${i?" ":m2.pointerSmall} ${jl.red().italic(n)}`,"")),this.out.write(l2.line+Ha.to(0)+this.outputText+Ha.save+this.outputError+Ha.restore+Ha.move(this.cursorOffset,0)))}};jP.exports=my});var BP=I((BX,FP)=>{"use strict";var cr=oe(),p2=sr(),qa=At(),LP=qa.style,UP=qa.clear,Ll=qa.figures,f2=qa.wrap,g2=qa.entriesToDisplay,h2=ae(),v2=h2.cursor,py=class extends p2{constructor(t={}){super(t),this.msg=t.message,this.hint=t.hint||"- Use arrow-keys. Return to submit.",this.warn=t.warn||"- This option is disabled",this.cursor=t.initial||0,this.choices=t.choices.map((n,i)=>(typeof n=="string"&&(n={title:n,value:i}),{title:n&&(n.title||n.value||n),value:n&&(n.value===void 0?i:n.value),description:n&&n.description,selected:n&&n.selected,disabled:n&&n.disabled})),this.optionsPerPage=t.optionsPerPage||10,this.value=(this.choices[this.cursor]||{}).value,this.clear=UP("",this.out.columns),this.render()}moveCursor(t){this.cursor=t,this.value=this.choices[t].value,this.fire()}reset(){this.moveCursor(0),this.fire(),this.render()}exit(){this.abort()}abort(){this.done=this.aborted=!0,this.fire(),this.render(),this.out.write(`
11
+ ${i?" ":p2.pointerSmall} ${jl.red().italic(n)}`,"")),this.out.write(d2.line+Ha.to(0)+this.outputText+Ha.save+this.outputError+Ha.restore+Ha.move(this.cursorOffset,0)))}};jP.exports=my});var BP=I((VX,FP)=>{"use strict";var cr=oe(),f2=sr(),qa=At(),LP=qa.style,UP=qa.clear,Ll=qa.figures,g2=qa.wrap,h2=qa.entriesToDisplay,v2=ae(),b2=v2.cursor,py=class extends f2{constructor(t={}){super(t),this.msg=t.message,this.hint=t.hint||"- Use arrow-keys. Return to submit.",this.warn=t.warn||"- This option is disabled",this.cursor=t.initial||0,this.choices=t.choices.map((n,i)=>(typeof n=="string"&&(n={title:n,value:i}),{title:n&&(n.title||n.value||n),value:n&&(n.value===void 0?i:n.value),description:n&&n.description,selected:n&&n.selected,disabled:n&&n.disabled})),this.optionsPerPage=t.optionsPerPage||10,this.value=(this.choices[this.cursor]||{}).value,this.clear=UP("",this.out.columns),this.render()}moveCursor(t){this.cursor=t,this.value=this.choices[t].value,this.fire()}reset(){this.moveCursor(0),this.fire(),this.render()}exit(){this.abort()}abort(){this.done=this.aborted=!0,this.fire(),this.render(),this.out.write(`
12
12
  `),this.close()}submit(){this.selection.disabled?this.bell():(this.done=!0,this.aborted=!1,this.fire(),this.render(),this.out.write(`
13
- `),this.close())}first(){this.moveCursor(0),this.render()}last(){this.moveCursor(this.choices.length-1),this.render()}up(){this.cursor===0?this.moveCursor(this.choices.length-1):this.moveCursor(this.cursor-1),this.render()}down(){this.cursor===this.choices.length-1?this.moveCursor(0):this.moveCursor(this.cursor+1),this.render()}next(){this.moveCursor((this.cursor+1)%this.choices.length),this.render()}_(t,n){if(t===" ")return this.submit()}get selection(){return this.choices[this.cursor]}render(){if(this.closed)return;this.firstRender?this.out.write(v2.hide):this.out.write(UP(this.outputText,this.out.columns)),super.render();let t=g2(this.cursor,this.choices.length,this.optionsPerPage),n=t.startIndex,i=t.endIndex;if(this.outputText=[LP.symbol(this.done,this.aborted),cr.bold(this.msg),LP.delimiter(!1),this.done?this.selection.title:this.selection.disabled?cr.yellow(this.warn):cr.gray(this.hint)].join(" "),!this.done){this.outputText+=`
13
+ `),this.close())}first(){this.moveCursor(0),this.render()}last(){this.moveCursor(this.choices.length-1),this.render()}up(){this.cursor===0?this.moveCursor(this.choices.length-1):this.moveCursor(this.cursor-1),this.render()}down(){this.cursor===this.choices.length-1?this.moveCursor(0):this.moveCursor(this.cursor+1),this.render()}next(){this.moveCursor((this.cursor+1)%this.choices.length),this.render()}_(t,n){if(t===" ")return this.submit()}get selection(){return this.choices[this.cursor]}render(){if(this.closed)return;this.firstRender?this.out.write(b2.hide):this.out.write(UP(this.outputText,this.out.columns)),super.render();let t=h2(this.cursor,this.choices.length,this.optionsPerPage),n=t.startIndex,i=t.endIndex;if(this.outputText=[LP.symbol(this.done,this.aborted),cr.bold(this.msg),LP.delimiter(!1),this.done?this.selection.title:this.selection.disabled?cr.yellow(this.warn):cr.gray(this.hint)].join(" "),!this.done){this.outputText+=`
14
14
  `;for(let r=n;r<i;r++){let o,a,c="",u=this.choices[r];r===n&&n>0?a=Ll.arrowUp:r===i-1&&i<this.choices.length?a=Ll.arrowDown:a=" ",u.disabled?(o=this.cursor===r?cr.gray().underline(u.title):cr.strikethrough().gray(u.title),a=(this.cursor===r?cr.bold().gray(Ll.pointer)+" ":" ")+a):(o=this.cursor===r?cr.cyan().underline(u.title):u.title,a=(this.cursor===r?cr.cyan(Ll.pointer)+" ":" ")+a,u.description&&this.cursor===r&&(c=` - ${u.description}`,(a.length+o.length+c.length>=this.out.columns||u.description.split(/\r?\n/).length>1)&&(c=`
15
- `+f2(u.description,{margin:3,width:this.out.columns})))),this.outputText+=`${a} ${o}${cr.gray(c)}
16
- `}}this.out.write(this.outputText)}};FP.exports=py});var qP=I((VX,HP)=>{"use strict";var Ul=oe(),b2=sr(),GP=At(),VP=GP.style,y2=GP.clear,WP=ae(),ZP=WP.cursor,S2=WP.erase,fy=class extends b2{constructor(t={}){super(t),this.msg=t.message,this.value=!!t.initial,this.active=t.active||"on",this.inactive=t.inactive||"off",this.initialValue=this.value,this.render()}reset(){this.value=this.initialValue,this.fire(),this.render()}exit(){this.abort()}abort(){this.done=this.aborted=!0,this.fire(),this.render(),this.out.write(`
15
+ `+g2(u.description,{margin:3,width:this.out.columns})))),this.outputText+=`${a} ${o}${cr.gray(c)}
16
+ `}}this.out.write(this.outputText)}};FP.exports=py});var qP=I((ZX,HP)=>{"use strict";var Ul=oe(),y2=sr(),GP=At(),VP=GP.style,S2=GP.clear,WP=ae(),ZP=WP.cursor,_2=WP.erase,fy=class extends y2{constructor(t={}){super(t),this.msg=t.message,this.value=!!t.initial,this.active=t.active||"on",this.inactive=t.inactive||"off",this.initialValue=this.value,this.render()}reset(){this.value=this.initialValue,this.fire(),this.render()}exit(){this.abort()}abort(){this.done=this.aborted=!0,this.fire(),this.render(),this.out.write(`
17
17
  `),this.close()}submit(){this.done=!0,this.aborted=!1,this.fire(),this.render(),this.out.write(`
18
- `),this.close()}deactivate(){if(this.value===!1)return this.bell();this.value=!1,this.render()}activate(){if(this.value===!0)return this.bell();this.value=!0,this.render()}delete(){this.deactivate()}left(){this.deactivate()}right(){this.activate()}down(){this.deactivate()}up(){this.activate()}next(){this.value=!this.value,this.fire(),this.render()}_(t,n){if(t===" ")this.value=!this.value;else if(t==="1")this.value=!0;else if(t==="0")this.value=!1;else return this.bell();this.render()}render(){this.closed||(this.firstRender?this.out.write(ZP.hide):this.out.write(y2(this.outputText,this.out.columns)),super.render(),this.outputText=[VP.symbol(this.done,this.aborted),Ul.bold(this.msg),VP.delimiter(this.done),this.value?this.inactive:Ul.cyan().underline(this.inactive),Ul.gray("/"),this.value?Ul.cyan().underline(this.active):this.active].join(" "),this.out.write(S2.line+ZP.to(0)+this.outputText))}};HP.exports=fy});var Bt=I((ZX,KP)=>{"use strict";var gy=class e{constructor({token:t,date:n,parts:i,locales:r}){this.token=t,this.date=n||new Date,this.parts=i||[this],this.locales=r||{}}up(){}down(){}next(){let t=this.parts.indexOf(this);return this.parts.find((n,i)=>i>t&&n instanceof e)}setTo(t){}prev(){let t=[].concat(this.parts).reverse(),n=t.indexOf(this);return t.find((i,r)=>r>n&&i instanceof e)}toString(){return String(this.date)}};KP.exports=gy});var XP=I((GX,YP)=>{"use strict";var _2=Bt(),hy=class extends _2{constructor(t={}){super(t)}up(){this.date.setHours((this.date.getHours()+12)%24)}down(){this.up()}toString(){let t=this.date.getHours()>12?"pm":"am";return/\A/.test(this.token)?t.toUpperCase():t}};YP.exports=hy});var QP=I((WX,JP)=>{"use strict";var E2=Bt(),x2=e=>(e=e%10,e===1?"st":e===2?"nd":e===3?"rd":"th"),vy=class extends E2{constructor(t={}){super(t)}up(){this.date.setDate(this.date.getDate()+1)}down(){this.date.setDate(this.date.getDate()-1)}setTo(t){this.date.setDate(parseInt(t.substr(-2)))}toString(){let t=this.date.getDate(),n=this.date.getDay();return this.token==="DD"?String(t).padStart(2,"0"):this.token==="Do"?t+x2(t):this.token==="d"?n+1:this.token==="ddd"?this.locales.weekdaysShort[n]:this.token==="dddd"?this.locales.weekdays[n]:t}};JP.exports=vy});var tC=I((HX,eC)=>{"use strict";var A2=Bt(),by=class extends A2{constructor(t={}){super(t)}up(){this.date.setHours(this.date.getHours()+1)}down(){this.date.setHours(this.date.getHours()-1)}setTo(t){this.date.setHours(parseInt(t.substr(-2)))}toString(){let t=this.date.getHours();return/h/.test(this.token)&&(t=t%12||12),this.token.length>1?String(t).padStart(2,"0"):t}};eC.exports=by});var nC=I((qX,rC)=>{"use strict";var I2=Bt(),yy=class extends I2{constructor(t={}){super(t)}up(){this.date.setMilliseconds(this.date.getMilliseconds()+1)}down(){this.date.setMilliseconds(this.date.getMilliseconds()-1)}setTo(t){this.date.setMilliseconds(parseInt(t.substr(-this.token.length)))}toString(){return String(this.date.getMilliseconds()).padStart(4,"0").substr(0,this.token.length)}};rC.exports=yy});var oC=I((KX,iC)=>{"use strict";var $2=Bt(),Sy=class extends $2{constructor(t={}){super(t)}up(){this.date.setMinutes(this.date.getMinutes()+1)}down(){this.date.setMinutes(this.date.getMinutes()-1)}setTo(t){this.date.setMinutes(parseInt(t.substr(-2)))}toString(){let t=this.date.getMinutes();return this.token.length>1?String(t).padStart(2,"0"):t}};iC.exports=Sy});var sC=I((YX,aC)=>{"use strict";var T2=Bt(),_y=class extends T2{constructor(t={}){super(t)}up(){this.date.setMonth(this.date.getMonth()+1)}down(){this.date.setMonth(this.date.getMonth()-1)}setTo(t){t=parseInt(t.substr(-2))-1,this.date.setMonth(t<0?0:t)}toString(){let t=this.date.getMonth(),n=this.token.length;return n===2?String(t+1).padStart(2,"0"):n===3?this.locales.monthsShort[t]:n===4?this.locales.months[t]:String(t+1)}};aC.exports=_y});var uC=I((XX,cC)=>{"use strict";var R2=Bt(),Ey=class extends R2{constructor(t={}){super(t)}up(){this.date.setSeconds(this.date.getSeconds()+1)}down(){this.date.setSeconds(this.date.getSeconds()-1)}setTo(t){this.date.setSeconds(parseInt(t.substr(-2)))}toString(){let t=this.date.getSeconds();return this.token.length>1?String(t).padStart(2,"0"):t}};cC.exports=Ey});var dC=I((JX,lC)=>{"use strict";var P2=Bt(),xy=class extends P2{constructor(t={}){super(t)}up(){this.date.setFullYear(this.date.getFullYear()+1)}down(){this.date.setFullYear(this.date.getFullYear()-1)}setTo(t){this.date.setFullYear(t.substr(-4))}toString(){let t=String(this.date.getFullYear()).padStart(4,"0");return this.token.length===2?t.substr(-2):t}};lC.exports=xy});var pC=I((QX,mC)=>{"use strict";mC.exports={DatePart:Bt(),Meridiem:XP(),Day:QP(),Hours:tC(),Milliseconds:nC(),Minutes:oC(),Month:sC(),Seconds:uC(),Year:dC()}});var xC=I((eJ,EC)=>{"use strict";function fC(e,t,n,i,r,o,a){try{var c=e[o](a),u=c.value}catch(l){n(l);return}c.done?t(u):Promise.resolve(u).then(i,r)}function gC(e){return function(){var t=this,n=arguments;return new Promise(function(i,r){var o=e.apply(t,n);function a(u){fC(o,i,r,a,c,"next",u)}function c(u){fC(o,i,r,a,c,"throw",u)}a(void 0)})}}var Ay=oe(),C2=sr(),$y=At(),hC=$y.style,vC=$y.clear,N2=$y.figures,_C=ae(),w2=_C.erase,bC=_C.cursor,ur=pC(),yC=ur.DatePart,k2=ur.Meridiem,O2=ur.Day,D2=ur.Hours,M2=ur.Milliseconds,j2=ur.Minutes,z2=ur.Month,L2=ur.Seconds,U2=ur.Year,F2=/\\(.)|"((?:\\["\\]|[^"])+)"|(D[Do]?|d{3,4}|d)|(M{1,4})|(YY(?:YY)?)|([aA])|([Hh]{1,2})|(m{1,2})|(s{1,2})|(S{1,4})|./g,SC={1:({token:e})=>e.replace(/\\(.)/g,"$1"),2:e=>new O2(e),3:e=>new z2(e),4:e=>new U2(e),5:e=>new k2(e),6:e=>new D2(e),7:e=>new j2(e),8:e=>new L2(e),9:e=>new M2(e)},B2={months:"January,February,March,April,May,June,July,August,September,October,November,December".split(","),monthsShort:"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec".split(","),weekdays:"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday".split(","),weekdaysShort:"Sun,Mon,Tue,Wed,Thu,Fri,Sat".split(",")},Iy=class extends C2{constructor(t={}){super(t),this.msg=t.message,this.cursor=0,this.typed="",this.locales=Object.assign(B2,t.locales),this._date=t.initial||new Date,this.errorMsg=t.error||"Please Enter A Valid Value",this.validator=t.validate||(()=>!0),this.mask=t.mask||"YYYY-MM-DD HH:mm:ss",this.clear=vC("",this.out.columns),this.render()}get value(){return this.date}get date(){return this._date}set date(t){t&&this._date.setTime(t.getTime())}set mask(t){let n;for(this.parts=[];n=F2.exec(t);){let r=n.shift(),o=n.findIndex(a=>a!=null);this.parts.push(o in SC?SC[o]({token:n[o]||r,date:this.date,parts:this.parts,locales:this.locales}):n[o]||r)}let i=this.parts.reduce((r,o)=>(typeof o=="string"&&typeof r[r.length-1]=="string"?r[r.length-1]+=o:r.push(o),r),[]);this.parts.splice(0),this.parts.push(...i),this.reset()}moveCursor(t){this.typed="",this.cursor=t,this.fire()}reset(){this.moveCursor(this.parts.findIndex(t=>t instanceof yC)),this.fire(),this.render()}exit(){this.abort()}abort(){this.done=this.aborted=!0,this.error=!1,this.fire(),this.render(),this.out.write(`
18
+ `),this.close()}deactivate(){if(this.value===!1)return this.bell();this.value=!1,this.render()}activate(){if(this.value===!0)return this.bell();this.value=!0,this.render()}delete(){this.deactivate()}left(){this.deactivate()}right(){this.activate()}down(){this.deactivate()}up(){this.activate()}next(){this.value=!this.value,this.fire(),this.render()}_(t,n){if(t===" ")this.value=!this.value;else if(t==="1")this.value=!0;else if(t==="0")this.value=!1;else return this.bell();this.render()}render(){this.closed||(this.firstRender?this.out.write(ZP.hide):this.out.write(S2(this.outputText,this.out.columns)),super.render(),this.outputText=[VP.symbol(this.done,this.aborted),Ul.bold(this.msg),VP.delimiter(this.done),this.value?this.inactive:Ul.cyan().underline(this.inactive),Ul.gray("/"),this.value?Ul.cyan().underline(this.active):this.active].join(" "),this.out.write(_2.line+ZP.to(0)+this.outputText))}};HP.exports=fy});var Bt=I((GX,KP)=>{"use strict";var gy=class e{constructor({token:t,date:n,parts:i,locales:r}){this.token=t,this.date=n||new Date,this.parts=i||[this],this.locales=r||{}}up(){}down(){}next(){let t=this.parts.indexOf(this);return this.parts.find((n,i)=>i>t&&n instanceof e)}setTo(t){}prev(){let t=[].concat(this.parts).reverse(),n=t.indexOf(this);return t.find((i,r)=>r>n&&i instanceof e)}toString(){return String(this.date)}};KP.exports=gy});var XP=I((WX,YP)=>{"use strict";var E2=Bt(),hy=class extends E2{constructor(t={}){super(t)}up(){this.date.setHours((this.date.getHours()+12)%24)}down(){this.up()}toString(){let t=this.date.getHours()>12?"pm":"am";return/\A/.test(this.token)?t.toUpperCase():t}};YP.exports=hy});var QP=I((HX,JP)=>{"use strict";var x2=Bt(),A2=e=>(e=e%10,e===1?"st":e===2?"nd":e===3?"rd":"th"),vy=class extends x2{constructor(t={}){super(t)}up(){this.date.setDate(this.date.getDate()+1)}down(){this.date.setDate(this.date.getDate()-1)}setTo(t){this.date.setDate(parseInt(t.substr(-2)))}toString(){let t=this.date.getDate(),n=this.date.getDay();return this.token==="DD"?String(t).padStart(2,"0"):this.token==="Do"?t+A2(t):this.token==="d"?n+1:this.token==="ddd"?this.locales.weekdaysShort[n]:this.token==="dddd"?this.locales.weekdays[n]:t}};JP.exports=vy});var tC=I((qX,eC)=>{"use strict";var I2=Bt(),by=class extends I2{constructor(t={}){super(t)}up(){this.date.setHours(this.date.getHours()+1)}down(){this.date.setHours(this.date.getHours()-1)}setTo(t){this.date.setHours(parseInt(t.substr(-2)))}toString(){let t=this.date.getHours();return/h/.test(this.token)&&(t=t%12||12),this.token.length>1?String(t).padStart(2,"0"):t}};eC.exports=by});var nC=I((KX,rC)=>{"use strict";var $2=Bt(),yy=class extends $2{constructor(t={}){super(t)}up(){this.date.setMilliseconds(this.date.getMilliseconds()+1)}down(){this.date.setMilliseconds(this.date.getMilliseconds()-1)}setTo(t){this.date.setMilliseconds(parseInt(t.substr(-this.token.length)))}toString(){return String(this.date.getMilliseconds()).padStart(4,"0").substr(0,this.token.length)}};rC.exports=yy});var oC=I((YX,iC)=>{"use strict";var T2=Bt(),Sy=class extends T2{constructor(t={}){super(t)}up(){this.date.setMinutes(this.date.getMinutes()+1)}down(){this.date.setMinutes(this.date.getMinutes()-1)}setTo(t){this.date.setMinutes(parseInt(t.substr(-2)))}toString(){let t=this.date.getMinutes();return this.token.length>1?String(t).padStart(2,"0"):t}};iC.exports=Sy});var sC=I((XX,aC)=>{"use strict";var R2=Bt(),_y=class extends R2{constructor(t={}){super(t)}up(){this.date.setMonth(this.date.getMonth()+1)}down(){this.date.setMonth(this.date.getMonth()-1)}setTo(t){t=parseInt(t.substr(-2))-1,this.date.setMonth(t<0?0:t)}toString(){let t=this.date.getMonth(),n=this.token.length;return n===2?String(t+1).padStart(2,"0"):n===3?this.locales.monthsShort[t]:n===4?this.locales.months[t]:String(t+1)}};aC.exports=_y});var uC=I((JX,cC)=>{"use strict";var P2=Bt(),Ey=class extends P2{constructor(t={}){super(t)}up(){this.date.setSeconds(this.date.getSeconds()+1)}down(){this.date.setSeconds(this.date.getSeconds()-1)}setTo(t){this.date.setSeconds(parseInt(t.substr(-2)))}toString(){let t=this.date.getSeconds();return this.token.length>1?String(t).padStart(2,"0"):t}};cC.exports=Ey});var dC=I((QX,lC)=>{"use strict";var C2=Bt(),xy=class extends C2{constructor(t={}){super(t)}up(){this.date.setFullYear(this.date.getFullYear()+1)}down(){this.date.setFullYear(this.date.getFullYear()-1)}setTo(t){this.date.setFullYear(t.substr(-4))}toString(){let t=String(this.date.getFullYear()).padStart(4,"0");return this.token.length===2?t.substr(-2):t}};lC.exports=xy});var pC=I((eJ,mC)=>{"use strict";mC.exports={DatePart:Bt(),Meridiem:XP(),Day:QP(),Hours:tC(),Milliseconds:nC(),Minutes:oC(),Month:sC(),Seconds:uC(),Year:dC()}});var xC=I((tJ,EC)=>{"use strict";function fC(e,t,n,i,r,o,a){try{var c=e[o](a),u=c.value}catch(l){n(l);return}c.done?t(u):Promise.resolve(u).then(i,r)}function gC(e){return function(){var t=this,n=arguments;return new Promise(function(i,r){var o=e.apply(t,n);function a(u){fC(o,i,r,a,c,"next",u)}function c(u){fC(o,i,r,a,c,"throw",u)}a(void 0)})}}var Ay=oe(),N2=sr(),$y=At(),hC=$y.style,vC=$y.clear,w2=$y.figures,_C=ae(),k2=_C.erase,bC=_C.cursor,ur=pC(),yC=ur.DatePart,O2=ur.Meridiem,D2=ur.Day,M2=ur.Hours,j2=ur.Milliseconds,z2=ur.Minutes,L2=ur.Month,U2=ur.Seconds,F2=ur.Year,B2=/\\(.)|"((?:\\["\\]|[^"])+)"|(D[Do]?|d{3,4}|d)|(M{1,4})|(YY(?:YY)?)|([aA])|([Hh]{1,2})|(m{1,2})|(s{1,2})|(S{1,4})|./g,SC={1:({token:e})=>e.replace(/\\(.)/g,"$1"),2:e=>new D2(e),3:e=>new L2(e),4:e=>new F2(e),5:e=>new O2(e),6:e=>new M2(e),7:e=>new z2(e),8:e=>new U2(e),9:e=>new j2(e)},V2={months:"January,February,March,April,May,June,July,August,September,October,November,December".split(","),monthsShort:"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec".split(","),weekdays:"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday".split(","),weekdaysShort:"Sun,Mon,Tue,Wed,Thu,Fri,Sat".split(",")},Iy=class extends N2{constructor(t={}){super(t),this.msg=t.message,this.cursor=0,this.typed="",this.locales=Object.assign(V2,t.locales),this._date=t.initial||new Date,this.errorMsg=t.error||"Please Enter A Valid Value",this.validator=t.validate||(()=>!0),this.mask=t.mask||"YYYY-MM-DD HH:mm:ss",this.clear=vC("",this.out.columns),this.render()}get value(){return this.date}get date(){return this._date}set date(t){t&&this._date.setTime(t.getTime())}set mask(t){let n;for(this.parts=[];n=B2.exec(t);){let r=n.shift(),o=n.findIndex(a=>a!=null);this.parts.push(o in SC?SC[o]({token:n[o]||r,date:this.date,parts:this.parts,locales:this.locales}):n[o]||r)}let i=this.parts.reduce((r,o)=>(typeof o=="string"&&typeof r[r.length-1]=="string"?r[r.length-1]+=o:r.push(o),r),[]);this.parts.splice(0),this.parts.push(...i),this.reset()}moveCursor(t){this.typed="",this.cursor=t,this.fire()}reset(){this.moveCursor(this.parts.findIndex(t=>t instanceof yC)),this.fire(),this.render()}exit(){this.abort()}abort(){this.done=this.aborted=!0,this.error=!1,this.fire(),this.render(),this.out.write(`
19
19
  `),this.close()}validate(){var t=this;return gC(function*(){let n=yield t.validator(t.value);typeof n=="string"&&(t.errorMsg=n,n=!1),t.error=!n})()}submit(){var t=this;return gC(function*(){if(yield t.validate(),t.error){t.color="red",t.fire(),t.render();return}t.done=!0,t.aborted=!1,t.fire(),t.render(),t.out.write(`
20
20
  `),t.close()})()}up(){this.typed="",this.parts[this.cursor].up(),this.render()}down(){this.typed="",this.parts[this.cursor].down(),this.render()}left(){let t=this.parts[this.cursor].prev();if(t==null)return this.bell();this.moveCursor(this.parts.indexOf(t)),this.render()}right(){let t=this.parts[this.cursor].next();if(t==null)return this.bell();this.moveCursor(this.parts.indexOf(t)),this.render()}next(){let t=this.parts[this.cursor].next();this.moveCursor(t?this.parts.indexOf(t):this.parts.findIndex(n=>n instanceof yC)),this.render()}_(t){/\d/.test(t)&&(this.typed+=t,this.parts[this.cursor].setTo(this.typed),this.render())}render(){this.closed||(this.firstRender?this.out.write(bC.hide):this.out.write(vC(this.outputText,this.out.columns)),super.render(),this.outputText=[hC.symbol(this.done,this.aborted),Ay.bold(this.msg),hC.delimiter(!1),this.parts.reduce((t,n,i)=>t.concat(i===this.cursor&&!this.done?Ay.cyan().underline(n.toString()):n),[]).join("")].join(" "),this.error&&(this.outputText+=this.errorMsg.split(`
21
21
  `).reduce((t,n,i)=>t+`
22
- ${i?" ":N2.pointerSmall} ${Ay.red().italic(n)}`,"")),this.out.write(w2.line+bC.to(0)+this.outputText))}};EC.exports=Iy});var CC=I((tJ,PC)=>{"use strict";function AC(e,t,n,i,r,o,a){try{var c=e[o](a),u=c.value}catch(l){n(l);return}c.done?t(u):Promise.resolve(u).then(i,r)}function IC(e){return function(){var t=this,n=arguments;return new Promise(function(i,r){var o=e.apply(t,n);function a(u){AC(o,i,r,a,c,"next",u)}function c(u){AC(o,i,r,a,c,"throw",u)}a(void 0)})}}var Fl=oe(),V2=sr(),RC=ae(),Bl=RC.cursor,Z2=RC.erase,Vl=At(),Ty=Vl.style,G2=Vl.figures,$C=Vl.clear,W2=Vl.lines,H2=/[0-9]/,Ry=e=>e!==void 0,TC=(e,t)=>{let n=Math.pow(10,t);return Math.round(e*n)/n},Py=class extends V2{constructor(t={}){super(t),this.transform=Ty.render(t.style),this.msg=t.message,this.initial=Ry(t.initial)?t.initial:"",this.float=!!t.float,this.round=t.round||2,this.inc=t.increment||1,this.min=Ry(t.min)?t.min:-1/0,this.max=Ry(t.max)?t.max:1/0,this.errorMsg=t.error||"Please Enter A Valid Value",this.validator=t.validate||(()=>!0),this.color="cyan",this.value="",this.typed="",this.lastHit=0,this.render()}set value(t){!t&&t!==0?(this.placeholder=!0,this.rendered=Fl.gray(this.transform.render(`${this.initial}`)),this._value=""):(this.placeholder=!1,this.rendered=this.transform.render(`${TC(t,this.round)}`),this._value=TC(t,this.round)),this.fire()}get value(){return this._value}parse(t){return this.float?parseFloat(t):parseInt(t)}valid(t){return t==="-"||t==="."&&this.float||H2.test(t)}reset(){this.typed="",this.value="",this.fire(),this.render()}exit(){this.abort()}abort(){let t=this.value;this.value=t!==""?t:this.initial,this.done=this.aborted=!0,this.error=!1,this.fire(),this.render(),this.out.write(`
22
+ ${i?" ":w2.pointerSmall} ${Ay.red().italic(n)}`,"")),this.out.write(k2.line+bC.to(0)+this.outputText))}};EC.exports=Iy});var CC=I((rJ,PC)=>{"use strict";function AC(e,t,n,i,r,o,a){try{var c=e[o](a),u=c.value}catch(l){n(l);return}c.done?t(u):Promise.resolve(u).then(i,r)}function IC(e){return function(){var t=this,n=arguments;return new Promise(function(i,r){var o=e.apply(t,n);function a(u){AC(o,i,r,a,c,"next",u)}function c(u){AC(o,i,r,a,c,"throw",u)}a(void 0)})}}var Fl=oe(),Z2=sr(),RC=ae(),Bl=RC.cursor,G2=RC.erase,Vl=At(),Ty=Vl.style,W2=Vl.figures,$C=Vl.clear,H2=Vl.lines,q2=/[0-9]/,Ry=e=>e!==void 0,TC=(e,t)=>{let n=Math.pow(10,t);return Math.round(e*n)/n},Py=class extends Z2{constructor(t={}){super(t),this.transform=Ty.render(t.style),this.msg=t.message,this.initial=Ry(t.initial)?t.initial:"",this.float=!!t.float,this.round=t.round||2,this.inc=t.increment||1,this.min=Ry(t.min)?t.min:-1/0,this.max=Ry(t.max)?t.max:1/0,this.errorMsg=t.error||"Please Enter A Valid Value",this.validator=t.validate||(()=>!0),this.color="cyan",this.value="",this.typed="",this.lastHit=0,this.render()}set value(t){!t&&t!==0?(this.placeholder=!0,this.rendered=Fl.gray(this.transform.render(`${this.initial}`)),this._value=""):(this.placeholder=!1,this.rendered=this.transform.render(`${TC(t,this.round)}`),this._value=TC(t,this.round)),this.fire()}get value(){return this._value}parse(t){return this.float?parseFloat(t):parseInt(t)}valid(t){return t==="-"||t==="."&&this.float||q2.test(t)}reset(){this.typed="",this.value="",this.fire(),this.render()}exit(){this.abort()}abort(){let t=this.value;this.value=t!==""?t:this.initial,this.done=this.aborted=!0,this.error=!1,this.fire(),this.render(),this.out.write(`
23
23
  `),this.close()}validate(){var t=this;return IC(function*(){let n=yield t.validator(t.value);typeof n=="string"&&(t.errorMsg=n,n=!1),t.error=!n})()}submit(){var t=this;return IC(function*(){if(yield t.validate(),t.error){t.color="red",t.fire(),t.render();return}let n=t.value;t.value=n!==""?n:t.initial,t.done=!0,t.aborted=!1,t.error=!1,t.fire(),t.render(),t.out.write(`
24
- `),t.close()})()}up(){if(this.typed="",this.value===""&&(this.value=this.min-this.inc),this.value>=this.max)return this.bell();this.value+=this.inc,this.color="cyan",this.fire(),this.render()}down(){if(this.typed="",this.value===""&&(this.value=this.min+this.inc),this.value<=this.min)return this.bell();this.value-=this.inc,this.color="cyan",this.fire(),this.render()}delete(){let t=this.value.toString();if(t.length===0)return this.bell();this.value=this.parse(t=t.slice(0,-1))||"",this.value!==""&&this.value<this.min&&(this.value=this.min),this.color="cyan",this.fire(),this.render()}next(){this.value=this.initial,this.fire(),this.render()}_(t,n){if(!this.valid(t))return this.bell();let i=Date.now();if(i-this.lastHit>1e3&&(this.typed=""),this.typed+=t,this.lastHit=i,this.color="cyan",t===".")return this.fire();this.value=Math.min(this.parse(this.typed),this.max),this.value>this.max&&(this.value=this.max),this.value<this.min&&(this.value=this.min),this.fire(),this.render()}render(){this.closed||(this.firstRender||(this.outputError&&this.out.write(Bl.down(W2(this.outputError,this.out.columns)-1)+$C(this.outputError,this.out.columns)),this.out.write($C(this.outputText,this.out.columns))),super.render(),this.outputError="",this.outputText=[Ty.symbol(this.done,this.aborted),Fl.bold(this.msg),Ty.delimiter(this.done),!this.done||!this.done&&!this.placeholder?Fl[this.color]().underline(this.rendered):this.rendered].join(" "),this.error&&(this.outputError+=this.errorMsg.split(`
24
+ `),t.close()})()}up(){if(this.typed="",this.value===""&&(this.value=this.min-this.inc),this.value>=this.max)return this.bell();this.value+=this.inc,this.color="cyan",this.fire(),this.render()}down(){if(this.typed="",this.value===""&&(this.value=this.min+this.inc),this.value<=this.min)return this.bell();this.value-=this.inc,this.color="cyan",this.fire(),this.render()}delete(){let t=this.value.toString();if(t.length===0)return this.bell();this.value=this.parse(t=t.slice(0,-1))||"",this.value!==""&&this.value<this.min&&(this.value=this.min),this.color="cyan",this.fire(),this.render()}next(){this.value=this.initial,this.fire(),this.render()}_(t,n){if(!this.valid(t))return this.bell();let i=Date.now();if(i-this.lastHit>1e3&&(this.typed=""),this.typed+=t,this.lastHit=i,this.color="cyan",t===".")return this.fire();this.value=Math.min(this.parse(this.typed),this.max),this.value>this.max&&(this.value=this.max),this.value<this.min&&(this.value=this.min),this.fire(),this.render()}render(){this.closed||(this.firstRender||(this.outputError&&this.out.write(Bl.down(H2(this.outputError,this.out.columns)-1)+$C(this.outputError,this.out.columns)),this.out.write($C(this.outputText,this.out.columns))),super.render(),this.outputError="",this.outputText=[Ty.symbol(this.done,this.aborted),Fl.bold(this.msg),Ty.delimiter(this.done),!this.done||!this.done&&!this.placeholder?Fl[this.color]().underline(this.rendered):this.rendered].join(" "),this.error&&(this.outputError+=this.errorMsg.split(`
25
25
  `).reduce((t,n,i)=>t+`
26
- ${i?" ":G2.pointerSmall} ${Fl.red().italic(n)}`,"")),this.out.write(Z2.line+Bl.to(0)+this.outputText+Bl.save+this.outputError+Bl.restore))}};PC.exports=Py});var Ny=I((rJ,kC)=>{"use strict";var Vt=oe(),q2=ae(),K2=q2.cursor,Y2=sr(),Ka=At(),NC=Ka.clear,zr=Ka.figures,wC=Ka.style,X2=Ka.wrap,J2=Ka.entriesToDisplay,Cy=class extends Y2{constructor(t={}){super(t),this.msg=t.message,this.cursor=t.cursor||0,this.scrollIndex=t.cursor||0,this.hint=t.hint||"",this.warn=t.warn||"- This option is disabled -",this.minSelected=t.min,this.showMinError=!1,this.maxChoices=t.max,this.instructions=t.instructions,this.optionsPerPage=t.optionsPerPage||10,this.value=t.choices.map((n,i)=>(typeof n=="string"&&(n={title:n,value:i}),{title:n&&(n.title||n.value||n),description:n&&n.description,value:n&&(n.value===void 0?i:n.value),selected:n&&n.selected,disabled:n&&n.disabled})),this.clear=NC("",this.out.columns),t.overrideRender||this.render()}reset(){this.value.map(t=>!t.selected),this.cursor=0,this.fire(),this.render()}selected(){return this.value.filter(t=>t.selected)}exit(){this.abort()}abort(){this.done=this.aborted=!0,this.fire(),this.render(),this.out.write(`
26
+ ${i?" ":W2.pointerSmall} ${Fl.red().italic(n)}`,"")),this.out.write(G2.line+Bl.to(0)+this.outputText+Bl.save+this.outputError+Bl.restore))}};PC.exports=Py});var Ny=I((nJ,kC)=>{"use strict";var Vt=oe(),K2=ae(),Y2=K2.cursor,X2=sr(),Ka=At(),NC=Ka.clear,zr=Ka.figures,wC=Ka.style,J2=Ka.wrap,Q2=Ka.entriesToDisplay,Cy=class extends X2{constructor(t={}){super(t),this.msg=t.message,this.cursor=t.cursor||0,this.scrollIndex=t.cursor||0,this.hint=t.hint||"",this.warn=t.warn||"- This option is disabled -",this.minSelected=t.min,this.showMinError=!1,this.maxChoices=t.max,this.instructions=t.instructions,this.optionsPerPage=t.optionsPerPage||10,this.value=t.choices.map((n,i)=>(typeof n=="string"&&(n={title:n,value:i}),{title:n&&(n.title||n.value||n),description:n&&n.description,value:n&&(n.value===void 0?i:n.value),selected:n&&n.selected,disabled:n&&n.disabled})),this.clear=NC("",this.out.columns),t.overrideRender||this.render()}reset(){this.value.map(t=>!t.selected),this.cursor=0,this.fire(),this.render()}selected(){return this.value.filter(t=>t.selected)}exit(){this.abort()}abort(){this.done=this.aborted=!0,this.fire(),this.render(),this.out.write(`
27
27
  `),this.close()}submit(){let t=this.value.filter(n=>n.selected);this.minSelected&&t.length<this.minSelected?(this.showMinError=!0,this.render()):(this.done=!0,this.aborted=!1,this.fire(),this.render(),this.out.write(`
28
28
  `),this.close())}first(){this.cursor=0,this.render()}last(){this.cursor=this.value.length-1,this.render()}next(){this.cursor=(this.cursor+1)%this.value.length,this.render()}up(){this.cursor===0?this.cursor=this.value.length-1:this.cursor--,this.render()}down(){this.cursor===this.value.length-1?this.cursor=0:this.cursor++,this.render()}left(){this.value[this.cursor].selected=!1,this.render()}right(){if(this.value.filter(t=>t.selected).length>=this.maxChoices)return this.bell();this.value[this.cursor].selected=!0,this.render()}handleSpaceToggle(){let t=this.value[this.cursor];if(t.selected)t.selected=!1,this.render();else{if(t.disabled||this.value.filter(n=>n.selected).length>=this.maxChoices)return this.bell();t.selected=!0,this.render()}}toggleAll(){if(this.maxChoices!==void 0||this.value[this.cursor].disabled)return this.bell();let t=!this.value[this.cursor].selected;this.value.filter(n=>!n.disabled).forEach(n=>n.selected=t),this.render()}_(t,n){if(t===" ")this.handleSpaceToggle();else if(t==="a")this.toggleAll();else return this.bell()}renderInstructions(){return this.instructions===void 0||this.instructions?typeof this.instructions=="string"?this.instructions:`
29
29
  Instructions:
@@ -31,15 +31,15 @@ Instructions:
31
31
  ${zr.arrowLeft}/${zr.arrowRight}/[space]: Toggle selection
32
32
  `+(this.maxChoices===void 0?` a: Toggle all
33
33
  `:"")+" enter/return: Complete answer":""}renderOption(t,n,i,r){let o=(n.selected?Vt.green(zr.radioOn):zr.radioOff)+" "+r+" ",a,c;return n.disabled?a=t===i?Vt.gray().underline(n.title):Vt.strikethrough().gray(n.title):(a=t===i?Vt.cyan().underline(n.title):n.title,t===i&&n.description&&(c=` - ${n.description}`,(o.length+a.length+c.length>=this.out.columns||n.description.split(/\r?\n/).length>1)&&(c=`
34
- `+X2(n.description,{margin:o.length,width:this.out.columns})))),o+a+Vt.gray(c||"")}paginateOptions(t){if(t.length===0)return Vt.red("No matches for this query.");let n=J2(this.cursor,t.length,this.optionsPerPage),i=n.startIndex,r=n.endIndex,o,a=[];for(let c=i;c<r;c++)c===i&&i>0?o=zr.arrowUp:c===r-1&&r<t.length?o=zr.arrowDown:o=" ",a.push(this.renderOption(this.cursor,t[c],c,o));return`
34
+ `+J2(n.description,{margin:o.length,width:this.out.columns})))),o+a+Vt.gray(c||"")}paginateOptions(t){if(t.length===0)return Vt.red("No matches for this query.");let n=Q2(this.cursor,t.length,this.optionsPerPage),i=n.startIndex,r=n.endIndex,o,a=[];for(let c=i;c<r;c++)c===i&&i>0?o=zr.arrowUp:c===r-1&&r<t.length?o=zr.arrowDown:o=" ",a.push(this.renderOption(this.cursor,t[c],c,o));return`
35
35
  `+a.join(`
36
- `)}renderOptions(t){return this.done?"":this.paginateOptions(t)}renderDoneOrInstructions(){if(this.done)return this.value.filter(n=>n.selected).map(n=>n.title).join(", ");let t=[Vt.gray(this.hint),this.renderInstructions()];return this.value[this.cursor].disabled&&t.push(Vt.yellow(this.warn)),t.join(" ")}render(){if(this.closed)return;this.firstRender&&this.out.write(K2.hide),super.render();let t=[wC.symbol(this.done,this.aborted),Vt.bold(this.msg),wC.delimiter(!1),this.renderDoneOrInstructions()].join(" ");this.showMinError&&(t+=Vt.red(`You must select a minimum of ${this.minSelected} choices.`),this.showMinError=!1),t+=this.renderOptions(this.value),this.out.write(this.clear+t),this.clear=NC(t,this.out.columns)}};kC.exports=Cy});var UC=I((nJ,LC)=>{"use strict";function OC(e,t,n,i,r,o,a){try{var c=e[o](a),u=c.value}catch(l){n(l);return}c.done?t(u):Promise.resolve(u).then(i,r)}function Q2(e){return function(){var t=this,n=arguments;return new Promise(function(i,r){var o=e.apply(t,n);function a(u){OC(o,i,r,a,c,"next",u)}function c(u){OC(o,i,r,a,c,"throw",u)}a(void 0)})}}var Ya=oe(),e6=sr(),zC=ae(),t6=zC.erase,DC=zC.cursor,Xa=At(),wy=Xa.style,MC=Xa.clear,ky=Xa.figures,r6=Xa.wrap,n6=Xa.entriesToDisplay,jC=(e,t)=>e[t]&&(e[t].value||e[t].title||e[t]),i6=(e,t)=>e[t]&&(e[t].title||e[t].value||e[t]),o6=(e,t)=>{let n=e.findIndex(i=>i.value===t||i.title===t);return n>-1?n:void 0},Oy=class extends e6{constructor(t={}){super(t),this.msg=t.message,this.suggest=t.suggest,this.choices=t.choices,this.initial=typeof t.initial=="number"?t.initial:o6(t.choices,t.initial),this.select=this.initial||t.cursor||0,this.i18n={noMatches:t.noMatches||"no matches found"},this.fallback=t.fallback||this.initial,this.clearFirst=t.clearFirst||!1,this.suggestions=[],this.input="",this.limit=t.limit||10,this.cursor=0,this.transform=wy.render(t.style),this.scale=this.transform.scale,this.render=this.render.bind(this),this.complete=this.complete.bind(this),this.clear=MC("",this.out.columns),this.complete(this.render),this.render()}set fallback(t){this._fb=Number.isSafeInteger(parseInt(t))?parseInt(t):t}get fallback(){let t;return typeof this._fb=="number"?t=this.choices[this._fb]:typeof this._fb=="string"&&(t={title:this._fb}),t||this._fb||{title:this.i18n.noMatches}}moveSelect(t){this.select=t,this.suggestions.length>0?this.value=jC(this.suggestions,t):this.value=this.fallback.value,this.fire()}complete(t){var n=this;return Q2(function*(){let i=n.completing=n.suggest(n.input,n.choices),r=yield i;if(n.completing!==i)return;n.suggestions=r.map((a,c,u)=>({title:i6(u,c),value:jC(u,c),description:a.description})),n.completing=!1;let o=Math.max(r.length-1,0);n.moveSelect(Math.min(o,n.select)),t&&t()})()}reset(){this.input="",this.complete(()=>{this.moveSelect(this.initial!==void 0?this.initial:0),this.render()}),this.render()}exit(){this.clearFirst&&this.input.length>0?this.reset():(this.done=this.exited=!0,this.aborted=!1,this.fire(),this.render(),this.out.write(`
36
+ `)}renderOptions(t){return this.done?"":this.paginateOptions(t)}renderDoneOrInstructions(){if(this.done)return this.value.filter(n=>n.selected).map(n=>n.title).join(", ");let t=[Vt.gray(this.hint),this.renderInstructions()];return this.value[this.cursor].disabled&&t.push(Vt.yellow(this.warn)),t.join(" ")}render(){if(this.closed)return;this.firstRender&&this.out.write(Y2.hide),super.render();let t=[wC.symbol(this.done,this.aborted),Vt.bold(this.msg),wC.delimiter(!1),this.renderDoneOrInstructions()].join(" ");this.showMinError&&(t+=Vt.red(`You must select a minimum of ${this.minSelected} choices.`),this.showMinError=!1),t+=this.renderOptions(this.value),this.out.write(this.clear+t),this.clear=NC(t,this.out.columns)}};kC.exports=Cy});var UC=I((iJ,LC)=>{"use strict";function OC(e,t,n,i,r,o,a){try{var c=e[o](a),u=c.value}catch(l){n(l);return}c.done?t(u):Promise.resolve(u).then(i,r)}function e6(e){return function(){var t=this,n=arguments;return new Promise(function(i,r){var o=e.apply(t,n);function a(u){OC(o,i,r,a,c,"next",u)}function c(u){OC(o,i,r,a,c,"throw",u)}a(void 0)})}}var Ya=oe(),t6=sr(),zC=ae(),r6=zC.erase,DC=zC.cursor,Xa=At(),wy=Xa.style,MC=Xa.clear,ky=Xa.figures,n6=Xa.wrap,i6=Xa.entriesToDisplay,jC=(e,t)=>e[t]&&(e[t].value||e[t].title||e[t]),o6=(e,t)=>e[t]&&(e[t].title||e[t].value||e[t]),a6=(e,t)=>{let n=e.findIndex(i=>i.value===t||i.title===t);return n>-1?n:void 0},Oy=class extends t6{constructor(t={}){super(t),this.msg=t.message,this.suggest=t.suggest,this.choices=t.choices,this.initial=typeof t.initial=="number"?t.initial:a6(t.choices,t.initial),this.select=this.initial||t.cursor||0,this.i18n={noMatches:t.noMatches||"no matches found"},this.fallback=t.fallback||this.initial,this.clearFirst=t.clearFirst||!1,this.suggestions=[],this.input="",this.limit=t.limit||10,this.cursor=0,this.transform=wy.render(t.style),this.scale=this.transform.scale,this.render=this.render.bind(this),this.complete=this.complete.bind(this),this.clear=MC("",this.out.columns),this.complete(this.render),this.render()}set fallback(t){this._fb=Number.isSafeInteger(parseInt(t))?parseInt(t):t}get fallback(){let t;return typeof this._fb=="number"?t=this.choices[this._fb]:typeof this._fb=="string"&&(t={title:this._fb}),t||this._fb||{title:this.i18n.noMatches}}moveSelect(t){this.select=t,this.suggestions.length>0?this.value=jC(this.suggestions,t):this.value=this.fallback.value,this.fire()}complete(t){var n=this;return e6(function*(){let i=n.completing=n.suggest(n.input,n.choices),r=yield i;if(n.completing!==i)return;n.suggestions=r.map((a,c,u)=>({title:o6(u,c),value:jC(u,c),description:a.description})),n.completing=!1;let o=Math.max(r.length-1,0);n.moveSelect(Math.min(o,n.select)),t&&t()})()}reset(){this.input="",this.complete(()=>{this.moveSelect(this.initial!==void 0?this.initial:0),this.render()}),this.render()}exit(){this.clearFirst&&this.input.length>0?this.reset():(this.done=this.exited=!0,this.aborted=!1,this.fire(),this.render(),this.out.write(`
37
37
  `),this.close())}abort(){this.done=this.aborted=!0,this.exited=!1,this.fire(),this.render(),this.out.write(`
38
38
  `),this.close()}submit(){this.done=!0,this.aborted=this.exited=!1,this.fire(),this.render(),this.out.write(`
39
39
  `),this.close()}_(t,n){let i=this.input.slice(0,this.cursor),r=this.input.slice(this.cursor);this.input=`${i}${t}${r}`,this.cursor=i.length+1,this.complete(this.render),this.render()}delete(){if(this.cursor===0)return this.bell();let t=this.input.slice(0,this.cursor-1),n=this.input.slice(this.cursor);this.input=`${t}${n}`,this.complete(this.render),this.cursor=this.cursor-1,this.render()}deleteForward(){if(this.cursor*this.scale>=this.rendered.length)return this.bell();let t=this.input.slice(0,this.cursor),n=this.input.slice(this.cursor+1);this.input=`${t}${n}`,this.complete(this.render),this.render()}first(){this.moveSelect(0),this.render()}last(){this.moveSelect(this.suggestions.length-1),this.render()}up(){this.select===0?this.moveSelect(this.suggestions.length-1):this.moveSelect(this.select-1),this.render()}down(){this.select===this.suggestions.length-1?this.moveSelect(0):this.moveSelect(this.select+1),this.render()}next(){this.select===this.suggestions.length-1?this.moveSelect(0):this.moveSelect(this.select+1),this.render()}nextPage(){this.moveSelect(Math.min(this.select+this.limit,this.suggestions.length-1)),this.render()}prevPage(){this.moveSelect(Math.max(this.select-this.limit,0)),this.render()}left(){if(this.cursor<=0)return this.bell();this.cursor=this.cursor-1,this.render()}right(){if(this.cursor*this.scale>=this.rendered.length)return this.bell();this.cursor=this.cursor+1,this.render()}renderOption(t,n,i,r){let o,a=i?ky.arrowUp:r?ky.arrowDown:" ",c=n?Ya.cyan().underline(t.title):t.title;return a=(n?Ya.cyan(ky.pointer)+" ":" ")+a,t.description&&(o=` - ${t.description}`,(a.length+c.length+o.length>=this.out.columns||t.description.split(/\r?\n/).length>1)&&(o=`
40
- `+r6(t.description,{margin:3,width:this.out.columns}))),a+" "+c+Ya.gray(o||"")}render(){if(this.closed)return;this.firstRender?this.out.write(DC.hide):this.out.write(MC(this.outputText,this.out.columns)),super.render();let t=n6(this.select,this.choices.length,this.limit),n=t.startIndex,i=t.endIndex;if(this.outputText=[wy.symbol(this.done,this.aborted,this.exited),Ya.bold(this.msg),wy.delimiter(this.completing),this.done&&this.suggestions[this.select]?this.suggestions[this.select].title:this.rendered=this.transform.render(this.input)].join(" "),!this.done){let r=this.suggestions.slice(n,i).map((o,a)=>this.renderOption(o,this.select===a+n,a===0&&n>0,a+n===i-1&&i<this.choices.length)).join(`
40
+ `+n6(t.description,{margin:3,width:this.out.columns}))),a+" "+c+Ya.gray(o||"")}render(){if(this.closed)return;this.firstRender?this.out.write(DC.hide):this.out.write(MC(this.outputText,this.out.columns)),super.render();let t=i6(this.select,this.choices.length,this.limit),n=t.startIndex,i=t.endIndex;if(this.outputText=[wy.symbol(this.done,this.aborted,this.exited),Ya.bold(this.msg),wy.delimiter(this.completing),this.done&&this.suggestions[this.select]?this.suggestions[this.select].title:this.rendered=this.transform.render(this.input)].join(" "),!this.done){let r=this.suggestions.slice(n,i).map((o,a)=>this.renderOption(o,this.select===a+n,a===0&&n>0,a+n===i-1&&i<this.choices.length)).join(`
41
41
  `);this.outputText+=`
42
- `+(r||Ya.gray(this.fallback.title))}this.out.write(t6.line+DC.to(0)+this.outputText)}};LC.exports=Oy});var ZC=I((iJ,VC)=>{"use strict";var lr=oe(),a6=ae(),s6=a6.cursor,c6=Ny(),My=At(),FC=My.clear,BC=My.style,Qi=My.figures,Dy=class extends c6{constructor(t={}){t.overrideRender=!0,super(t),this.inputValue="",this.clear=FC("",this.out.columns),this.filteredOptions=this.value,this.render()}last(){this.cursor=this.filteredOptions.length-1,this.render()}next(){this.cursor=(this.cursor+1)%this.filteredOptions.length,this.render()}up(){this.cursor===0?this.cursor=this.filteredOptions.length-1:this.cursor--,this.render()}down(){this.cursor===this.filteredOptions.length-1?this.cursor=0:this.cursor++,this.render()}left(){this.filteredOptions[this.cursor].selected=!1,this.render()}right(){if(this.value.filter(t=>t.selected).length>=this.maxChoices)return this.bell();this.filteredOptions[this.cursor].selected=!0,this.render()}delete(){this.inputValue.length&&(this.inputValue=this.inputValue.substr(0,this.inputValue.length-1),this.updateFilteredOptions())}updateFilteredOptions(){let t=this.filteredOptions[this.cursor];this.filteredOptions=this.value.filter(i=>this.inputValue?!!(typeof i.title=="string"&&i.title.toLowerCase().includes(this.inputValue.toLowerCase())||typeof i.value=="string"&&i.value.toLowerCase().includes(this.inputValue.toLowerCase())):!0);let n=this.filteredOptions.findIndex(i=>i===t);this.cursor=n<0?0:n,this.render()}handleSpaceToggle(){let t=this.filteredOptions[this.cursor];if(t.selected)t.selected=!1,this.render();else{if(t.disabled||this.value.filter(n=>n.selected).length>=this.maxChoices)return this.bell();t.selected=!0,this.render()}}handleInputChange(t){this.inputValue=this.inputValue+t,this.updateFilteredOptions()}_(t,n){t===" "?this.handleSpaceToggle():this.handleInputChange(t)}renderInstructions(){return this.instructions===void 0||this.instructions?typeof this.instructions=="string"?this.instructions:`
42
+ `+(r||Ya.gray(this.fallback.title))}this.out.write(r6.line+DC.to(0)+this.outputText)}};LC.exports=Oy});var ZC=I((oJ,VC)=>{"use strict";var lr=oe(),s6=ae(),c6=s6.cursor,u6=Ny(),My=At(),FC=My.clear,BC=My.style,Qi=My.figures,Dy=class extends u6{constructor(t={}){t.overrideRender=!0,super(t),this.inputValue="",this.clear=FC("",this.out.columns),this.filteredOptions=this.value,this.render()}last(){this.cursor=this.filteredOptions.length-1,this.render()}next(){this.cursor=(this.cursor+1)%this.filteredOptions.length,this.render()}up(){this.cursor===0?this.cursor=this.filteredOptions.length-1:this.cursor--,this.render()}down(){this.cursor===this.filteredOptions.length-1?this.cursor=0:this.cursor++,this.render()}left(){this.filteredOptions[this.cursor].selected=!1,this.render()}right(){if(this.value.filter(t=>t.selected).length>=this.maxChoices)return this.bell();this.filteredOptions[this.cursor].selected=!0,this.render()}delete(){this.inputValue.length&&(this.inputValue=this.inputValue.substr(0,this.inputValue.length-1),this.updateFilteredOptions())}updateFilteredOptions(){let t=this.filteredOptions[this.cursor];this.filteredOptions=this.value.filter(i=>this.inputValue?!!(typeof i.title=="string"&&i.title.toLowerCase().includes(this.inputValue.toLowerCase())||typeof i.value=="string"&&i.value.toLowerCase().includes(this.inputValue.toLowerCase())):!0);let n=this.filteredOptions.findIndex(i=>i===t);this.cursor=n<0?0:n,this.render()}handleSpaceToggle(){let t=this.filteredOptions[this.cursor];if(t.selected)t.selected=!1,this.render();else{if(t.disabled||this.value.filter(n=>n.selected).length>=this.maxChoices)return this.bell();t.selected=!0,this.render()}}handleInputChange(t){this.inputValue=this.inputValue+t,this.updateFilteredOptions()}_(t,n){t===" "?this.handleSpaceToggle():this.handleInputChange(t)}renderInstructions(){return this.instructions===void 0||this.instructions?typeof this.instructions=="string"?this.instructions:`
43
43
  Instructions:
44
44
  ${Qi.arrowUp}/${Qi.arrowDown}: Highlight option
45
45
  ${Qi.arrowLeft}/${Qi.arrowRight}/[space]: Toggle selection
@@ -47,31 +47,31 @@ Instructions:
47
47
  enter/return: Complete answer
48
48
  `:""}renderCurrentInput(){return`
49
49
  Filtered results for: ${this.inputValue?this.inputValue:lr.gray("Enter something to filter")}
50
- `}renderOption(t,n,i){let r;return n.disabled?r=t===i?lr.gray().underline(n.title):lr.strikethrough().gray(n.title):r=t===i?lr.cyan().underline(n.title):n.title,(n.selected?lr.green(Qi.radioOn):Qi.radioOff)+" "+r}renderDoneOrInstructions(){if(this.done)return this.value.filter(n=>n.selected).map(n=>n.title).join(", ");let t=[lr.gray(this.hint),this.renderInstructions(),this.renderCurrentInput()];return this.filteredOptions.length&&this.filteredOptions[this.cursor].disabled&&t.push(lr.yellow(this.warn)),t.join(" ")}render(){if(this.closed)return;this.firstRender&&this.out.write(s6.hide),super.render();let t=[BC.symbol(this.done,this.aborted),lr.bold(this.msg),BC.delimiter(!1),this.renderDoneOrInstructions()].join(" ");this.showMinError&&(t+=lr.red(`You must select a minimum of ${this.minSelected} choices.`),this.showMinError=!1),t+=this.renderOptions(this.filteredOptions),this.out.write(this.clear+t),this.clear=FC(t,this.out.columns)}};VC.exports=Dy});var XC=I((oJ,YC)=>{"use strict";var GC=oe(),u6=sr(),qC=At(),WC=qC.style,l6=qC.clear,KC=ae(),d6=KC.erase,HC=KC.cursor,jy=class extends u6{constructor(t={}){super(t),this.msg=t.message,this.value=t.initial,this.initialValue=!!t.initial,this.yesMsg=t.yes||"yes",this.yesOption=t.yesOption||"(Y/n)",this.noMsg=t.no||"no",this.noOption=t.noOption||"(y/N)",this.render()}reset(){this.value=this.initialValue,this.fire(),this.render()}exit(){this.abort()}abort(){this.done=this.aborted=!0,this.fire(),this.render(),this.out.write(`
50
+ `}renderOption(t,n,i){let r;return n.disabled?r=t===i?lr.gray().underline(n.title):lr.strikethrough().gray(n.title):r=t===i?lr.cyan().underline(n.title):n.title,(n.selected?lr.green(Qi.radioOn):Qi.radioOff)+" "+r}renderDoneOrInstructions(){if(this.done)return this.value.filter(n=>n.selected).map(n=>n.title).join(", ");let t=[lr.gray(this.hint),this.renderInstructions(),this.renderCurrentInput()];return this.filteredOptions.length&&this.filteredOptions[this.cursor].disabled&&t.push(lr.yellow(this.warn)),t.join(" ")}render(){if(this.closed)return;this.firstRender&&this.out.write(c6.hide),super.render();let t=[BC.symbol(this.done,this.aborted),lr.bold(this.msg),BC.delimiter(!1),this.renderDoneOrInstructions()].join(" ");this.showMinError&&(t+=lr.red(`You must select a minimum of ${this.minSelected} choices.`),this.showMinError=!1),t+=this.renderOptions(this.filteredOptions),this.out.write(this.clear+t),this.clear=FC(t,this.out.columns)}};VC.exports=Dy});var XC=I((aJ,YC)=>{"use strict";var GC=oe(),l6=sr(),qC=At(),WC=qC.style,d6=qC.clear,KC=ae(),m6=KC.erase,HC=KC.cursor,jy=class extends l6{constructor(t={}){super(t),this.msg=t.message,this.value=t.initial,this.initialValue=!!t.initial,this.yesMsg=t.yes||"yes",this.yesOption=t.yesOption||"(Y/n)",this.noMsg=t.no||"no",this.noOption=t.noOption||"(y/N)",this.render()}reset(){this.value=this.initialValue,this.fire(),this.render()}exit(){this.abort()}abort(){this.done=this.aborted=!0,this.fire(),this.render(),this.out.write(`
51
51
  `),this.close()}submit(){this.value=this.value||!1,this.done=!0,this.aborted=!1,this.fire(),this.render(),this.out.write(`
52
- `),this.close()}_(t,n){return t.toLowerCase()==="y"?(this.value=!0,this.submit()):t.toLowerCase()==="n"?(this.value=!1,this.submit()):this.bell()}render(){this.closed||(this.firstRender?this.out.write(HC.hide):this.out.write(l6(this.outputText,this.out.columns)),super.render(),this.outputText=[WC.symbol(this.done,this.aborted),GC.bold(this.msg),WC.delimiter(this.done),this.done?this.value?this.yesMsg:this.noMsg:GC.gray(this.initialValue?this.yesOption:this.noOption)].join(" "),this.out.write(d6.line+HC.to(0)+this.outputText))}};YC.exports=jy});var QC=I((aJ,JC)=>{"use strict";JC.exports={TextPrompt:zP(),SelectPrompt:BP(),TogglePrompt:qP(),DatePrompt:xC(),NumberPrompt:CC(),MultiselectPrompt:Ny(),AutocompletePrompt:UC(),AutocompleteMultiselectPrompt:ZC(),ConfirmPrompt:XC()}});var tN=I(eN=>{"use strict";var Ye=eN,m6=QC(),Zl=e=>e;function Zt(e,t,n={}){return new Promise((i,r)=>{let o=new m6[e](t),a=n.onAbort||Zl,c=n.onSubmit||Zl,u=n.onExit||Zl;o.on("state",t.onState||Zl),o.on("submit",l=>i(c(l))),o.on("exit",l=>i(u(l))),o.on("abort",l=>r(a(l)))})}Ye.text=e=>Zt("TextPrompt",e);Ye.password=e=>(e.style="password",Ye.text(e));Ye.invisible=e=>(e.style="invisible",Ye.text(e));Ye.number=e=>Zt("NumberPrompt",e);Ye.date=e=>Zt("DatePrompt",e);Ye.confirm=e=>Zt("ConfirmPrompt",e);Ye.list=e=>{let t=e.separator||",";return Zt("TextPrompt",e,{onSubmit:n=>n.split(t).map(i=>i.trim())})};Ye.toggle=e=>Zt("TogglePrompt",e);Ye.select=e=>Zt("SelectPrompt",e);Ye.multiselect=e=>{e.choices=[].concat(e.choices||[]);let t=n=>n.filter(i=>i.selected).map(i=>i.value);return Zt("MultiselectPrompt",e,{onAbort:t,onSubmit:t})};Ye.autocompleteMultiselect=e=>{e.choices=[].concat(e.choices||[]);let t=n=>n.filter(i=>i.selected).map(i=>i.value);return Zt("AutocompleteMultiselectPrompt",e,{onAbort:t,onSubmit:t})};var p6=(e,t)=>Promise.resolve(t.filter(n=>n.title.slice(0,e.length).toLowerCase()===e.toLowerCase()));Ye.autocomplete=e=>(e.suggest=e.suggest||p6,e.choices=[].concat(e.choices||[]),Zt("AutocompletePrompt",e))});var uN=I((cJ,cN)=>{"use strict";function rN(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),n.push.apply(n,i)}return n}function nN(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?rN(Object(n),!0).forEach(function(i){f6(e,i,n[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):rN(Object(n)).forEach(function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(n,i))})}return e}function f6(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function g6(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=h6(e))||t&&e&&typeof e.length=="number"){n&&(e=n);var i=0,r=function(){};return{s:r,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(l){throw l},f:r}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
53
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,c;return{s:function(){n=n.call(e)},n:function(){var l=n.next();return o=l.done,l},e:function(l){a=!0,c=l},f:function(){try{!o&&n.return!=null&&n.return()}finally{if(a)throw c}}}}function h6(e,t){if(e){if(typeof e=="string")return iN(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return iN(e,t)}}function iN(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function oN(e,t,n,i,r,o,a){try{var c=e[o](a),u=c.value}catch(l){n(l);return}c.done?t(u):Promise.resolve(u).then(i,r)}function aN(e){return function(){var t=this,n=arguments;return new Promise(function(i,r){var o=e.apply(t,n);function a(u){oN(o,i,r,a,c,"next",u)}function c(u){oN(o,i,r,a,c,"throw",u)}a(void 0)})}}var zy=tN(),v6=["suggest","format","onState","validate","onRender","type"],sN=()=>{};function Lr(){return Ly.apply(this,arguments)}function Ly(){return Ly=aN(function*(e=[],{onSubmit:t=sN,onCancel:n=sN}={}){let i={},r=Lr._override||{};e=[].concat(e);let o,a,c,u,l,m,p=(function(){var z=aN(function*(Se,fr,Ne=!1){if(!(!Ne&&Se.validate&&Se.validate(fr)!==!0))return Se.format?yield Se.format(fr,i):fr});return function(fr,Ne){return z.apply(this,arguments)}})();var g=g6(e),v;try{for(g.s();!(v=g.n()).done;){a=v.value;var A=a;if(u=A.name,l=A.type,typeof l=="function"&&(l=yield l(o,nN({},i),a),a.type=l),!!l){for(let z in a){if(v6.includes(z))continue;let Se=a[z];a[z]=typeof Se=="function"?yield Se(o,nN({},i),m):Se}if(m=a,typeof a.message!="string")throw new Error("prompt message is required");var Y=a;if(u=Y.name,l=Y.type,zy[l]===void 0)throw new Error(`prompt type (${l}) is not defined`);if(r[a.name]!==void 0&&(o=yield p(a,r[a.name]),o!==void 0)){i[u]=o;continue}try{o=Lr._injected?b6(Lr._injected,a.initial):yield zy[l](a),i[u]=o=yield p(a,o,!0),c=yield t(a,o,i)}catch{c=!(yield n(a,i))}if(c)return i}}}catch(z){g.e(z)}finally{g.f()}return i}),Ly.apply(this,arguments)}function b6(e,t){let n=e.shift();if(n instanceof Error)throw n;return n===void 0?t:n}function y6(e){Lr._injected=(Lr._injected||[]).concat(e)}function S6(e){Lr._override=Object.assign({},e)}cN.exports=Object.assign(Lr,{prompt:Lr,prompts:zy,inject:y6,override:S6})});var dN=I((uJ,lN)=>{"use strict";lN.exports=(e,t)=>{if(!(e.meta&&e.name!=="escape")){if(e.ctrl){if(e.name==="a")return"first";if(e.name==="c"||e.name==="d")return"abort";if(e.name==="e")return"last";if(e.name==="g")return"reset"}if(t){if(e.name==="j")return"down";if(e.name==="k")return"up"}return e.name==="return"||e.name==="enter"?"submit":e.name==="backspace"?"delete":e.name==="delete"?"deleteForward":e.name==="abort"?"abort":e.name==="escape"?"exit":e.name==="tab"?"next":e.name==="pagedown"?"nextPage":e.name==="pageup"?"prevPage":e.name==="home"?"home":e.name==="end"?"end":e.name==="up"?"up":e.name==="down"?"down":e.name==="right"?"right":e.name==="left"?"left":!1}}});var Gl=I((lJ,mN)=>{"use strict";mN.exports=e=>{let t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PRZcf-ntqry=><~]))"].join("|"),n=new RegExp(t,"g");return typeof e=="string"?e.replace(n,""):e}});var gN=I((dJ,fN)=>{"use strict";var _6=Gl(),{erase:pN,cursor:E6}=ae(),x6=e=>[..._6(e)].length;fN.exports=function(e,t){if(!t)return pN.line+E6.to(0);let n=0,i=e.split(/\r?\n/);for(let r of i)n+=1+Math.floor(Math.max(x6(r)-1,0)/t);return pN.lines(n)}});var Uy=I((mJ,hN)=>{"use strict";var Ja={arrowUp:"\u2191",arrowDown:"\u2193",arrowLeft:"\u2190",arrowRight:"\u2192",radioOn:"\u25C9",radioOff:"\u25EF",tick:"\u2714",cross:"\u2716",ellipsis:"\u2026",pointerSmall:"\u203A",line:"\u2500",pointer:"\u276F"},A6={arrowUp:Ja.arrowUp,arrowDown:Ja.arrowDown,arrowLeft:Ja.arrowLeft,arrowRight:Ja.arrowRight,radioOn:"(*)",radioOff:"( )",tick:"\u221A",cross:"\xD7",ellipsis:"...",pointerSmall:"\xBB",line:"\u2500",pointer:">"},I6=process.platform==="win32"?A6:Ja;hN.exports=I6});var bN=I((pJ,vN)=>{"use strict";var eo=oe(),$n=Uy(),Fy=Object.freeze({password:{scale:1,render:e=>"*".repeat(e.length)},emoji:{scale:2,render:e=>"\u{1F603}".repeat(e.length)},invisible:{scale:0,render:e=>""},default:{scale:1,render:e=>`${e}`}}),$6=e=>Fy[e]||Fy.default,Qa=Object.freeze({aborted:eo.red($n.cross),done:eo.green($n.tick),exited:eo.yellow($n.cross),default:eo.cyan("?")}),T6=(e,t,n)=>t?Qa.aborted:n?Qa.exited:e?Qa.done:Qa.default,R6=e=>eo.gray(e?$n.ellipsis:$n.pointerSmall),P6=(e,t)=>eo.gray(e?t?$n.pointerSmall:"+":$n.line);vN.exports={styles:Fy,render:$6,symbols:Qa,symbol:T6,delimiter:R6,item:P6}});var SN=I((fJ,yN)=>{"use strict";var C6=Gl();yN.exports=function(e,t){let n=String(C6(e)||"").split(/\r?\n/);return t?n.map(i=>Math.ceil(i.length/t)).reduce((i,r)=>i+r):n.length}});var EN=I((gJ,_N)=>{"use strict";_N.exports=(e,t={})=>{let n=Number.isSafeInteger(parseInt(t.margin))?new Array(parseInt(t.margin)).fill(" ").join(""):t.margin||"",i=t.width;return(e||"").split(/\r?\n/g).map(r=>r.split(/\s+/g).reduce((o,a)=>(a.length+n.length>=i||o[o.length-1].length+a.length+1<i?o[o.length-1]+=` ${a}`:o.push(`${n}${a}`),o),[n]).join(`
52
+ `),this.close()}_(t,n){return t.toLowerCase()==="y"?(this.value=!0,this.submit()):t.toLowerCase()==="n"?(this.value=!1,this.submit()):this.bell()}render(){this.closed||(this.firstRender?this.out.write(HC.hide):this.out.write(d6(this.outputText,this.out.columns)),super.render(),this.outputText=[WC.symbol(this.done,this.aborted),GC.bold(this.msg),WC.delimiter(this.done),this.done?this.value?this.yesMsg:this.noMsg:GC.gray(this.initialValue?this.yesOption:this.noOption)].join(" "),this.out.write(m6.line+HC.to(0)+this.outputText))}};YC.exports=jy});var QC=I((sJ,JC)=>{"use strict";JC.exports={TextPrompt:zP(),SelectPrompt:BP(),TogglePrompt:qP(),DatePrompt:xC(),NumberPrompt:CC(),MultiselectPrompt:Ny(),AutocompletePrompt:UC(),AutocompleteMultiselectPrompt:ZC(),ConfirmPrompt:XC()}});var tN=I(eN=>{"use strict";var Ye=eN,p6=QC(),Zl=e=>e;function Zt(e,t,n={}){return new Promise((i,r)=>{let o=new p6[e](t),a=n.onAbort||Zl,c=n.onSubmit||Zl,u=n.onExit||Zl;o.on("state",t.onState||Zl),o.on("submit",l=>i(c(l))),o.on("exit",l=>i(u(l))),o.on("abort",l=>r(a(l)))})}Ye.text=e=>Zt("TextPrompt",e);Ye.password=e=>(e.style="password",Ye.text(e));Ye.invisible=e=>(e.style="invisible",Ye.text(e));Ye.number=e=>Zt("NumberPrompt",e);Ye.date=e=>Zt("DatePrompt",e);Ye.confirm=e=>Zt("ConfirmPrompt",e);Ye.list=e=>{let t=e.separator||",";return Zt("TextPrompt",e,{onSubmit:n=>n.split(t).map(i=>i.trim())})};Ye.toggle=e=>Zt("TogglePrompt",e);Ye.select=e=>Zt("SelectPrompt",e);Ye.multiselect=e=>{e.choices=[].concat(e.choices||[]);let t=n=>n.filter(i=>i.selected).map(i=>i.value);return Zt("MultiselectPrompt",e,{onAbort:t,onSubmit:t})};Ye.autocompleteMultiselect=e=>{e.choices=[].concat(e.choices||[]);let t=n=>n.filter(i=>i.selected).map(i=>i.value);return Zt("AutocompleteMultiselectPrompt",e,{onAbort:t,onSubmit:t})};var f6=(e,t)=>Promise.resolve(t.filter(n=>n.title.slice(0,e.length).toLowerCase()===e.toLowerCase()));Ye.autocomplete=e=>(e.suggest=e.suggest||f6,e.choices=[].concat(e.choices||[]),Zt("AutocompletePrompt",e))});var uN=I((uJ,cN)=>{"use strict";function rN(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),n.push.apply(n,i)}return n}function nN(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?rN(Object(n),!0).forEach(function(i){g6(e,i,n[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):rN(Object(n)).forEach(function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(n,i))})}return e}function g6(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function h6(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=v6(e))||t&&e&&typeof e.length=="number"){n&&(e=n);var i=0,r=function(){};return{s:r,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(l){throw l},f:r}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
53
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,c;return{s:function(){n=n.call(e)},n:function(){var l=n.next();return o=l.done,l},e:function(l){a=!0,c=l},f:function(){try{!o&&n.return!=null&&n.return()}finally{if(a)throw c}}}}function v6(e,t){if(e){if(typeof e=="string")return iN(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return iN(e,t)}}function iN(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function oN(e,t,n,i,r,o,a){try{var c=e[o](a),u=c.value}catch(l){n(l);return}c.done?t(u):Promise.resolve(u).then(i,r)}function aN(e){return function(){var t=this,n=arguments;return new Promise(function(i,r){var o=e.apply(t,n);function a(u){oN(o,i,r,a,c,"next",u)}function c(u){oN(o,i,r,a,c,"throw",u)}a(void 0)})}}var zy=tN(),b6=["suggest","format","onState","validate","onRender","type"],sN=()=>{};function Lr(){return Ly.apply(this,arguments)}function Ly(){return Ly=aN(function*(e=[],{onSubmit:t=sN,onCancel:n=sN}={}){let i={},r=Lr._override||{};e=[].concat(e);let o,a,c,u,l,m,p=(function(){var z=aN(function*(Se,fr,Ne=!1){if(!(!Ne&&Se.validate&&Se.validate(fr)!==!0))return Se.format?yield Se.format(fr,i):fr});return function(fr,Ne){return z.apply(this,arguments)}})();var g=h6(e),v;try{for(g.s();!(v=g.n()).done;){a=v.value;var A=a;if(u=A.name,l=A.type,typeof l=="function"&&(l=yield l(o,nN({},i),a),a.type=l),!!l){for(let z in a){if(b6.includes(z))continue;let Se=a[z];a[z]=typeof Se=="function"?yield Se(o,nN({},i),m):Se}if(m=a,typeof a.message!="string")throw new Error("prompt message is required");var Y=a;if(u=Y.name,l=Y.type,zy[l]===void 0)throw new Error(`prompt type (${l}) is not defined`);if(r[a.name]!==void 0&&(o=yield p(a,r[a.name]),o!==void 0)){i[u]=o;continue}try{o=Lr._injected?y6(Lr._injected,a.initial):yield zy[l](a),i[u]=o=yield p(a,o,!0),c=yield t(a,o,i)}catch{c=!(yield n(a,i))}if(c)return i}}}catch(z){g.e(z)}finally{g.f()}return i}),Ly.apply(this,arguments)}function y6(e,t){let n=e.shift();if(n instanceof Error)throw n;return n===void 0?t:n}function S6(e){Lr._injected=(Lr._injected||[]).concat(e)}function _6(e){Lr._override=Object.assign({},e)}cN.exports=Object.assign(Lr,{prompt:Lr,prompts:zy,inject:S6,override:_6})});var dN=I((lJ,lN)=>{"use strict";lN.exports=(e,t)=>{if(!(e.meta&&e.name!=="escape")){if(e.ctrl){if(e.name==="a")return"first";if(e.name==="c"||e.name==="d")return"abort";if(e.name==="e")return"last";if(e.name==="g")return"reset"}if(t){if(e.name==="j")return"down";if(e.name==="k")return"up"}return e.name==="return"||e.name==="enter"?"submit":e.name==="backspace"?"delete":e.name==="delete"?"deleteForward":e.name==="abort"?"abort":e.name==="escape"?"exit":e.name==="tab"?"next":e.name==="pagedown"?"nextPage":e.name==="pageup"?"prevPage":e.name==="home"?"home":e.name==="end"?"end":e.name==="up"?"up":e.name==="down"?"down":e.name==="right"?"right":e.name==="left"?"left":!1}}});var Gl=I((dJ,mN)=>{"use strict";mN.exports=e=>{let t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PRZcf-ntqry=><~]))"].join("|"),n=new RegExp(t,"g");return typeof e=="string"?e.replace(n,""):e}});var gN=I((mJ,fN)=>{"use strict";var E6=Gl(),{erase:pN,cursor:x6}=ae(),A6=e=>[...E6(e)].length;fN.exports=function(e,t){if(!t)return pN.line+x6.to(0);let n=0,i=e.split(/\r?\n/);for(let r of i)n+=1+Math.floor(Math.max(A6(r)-1,0)/t);return pN.lines(n)}});var Uy=I((pJ,hN)=>{"use strict";var Ja={arrowUp:"\u2191",arrowDown:"\u2193",arrowLeft:"\u2190",arrowRight:"\u2192",radioOn:"\u25C9",radioOff:"\u25EF",tick:"\u2714",cross:"\u2716",ellipsis:"\u2026",pointerSmall:"\u203A",line:"\u2500",pointer:"\u276F"},I6={arrowUp:Ja.arrowUp,arrowDown:Ja.arrowDown,arrowLeft:Ja.arrowLeft,arrowRight:Ja.arrowRight,radioOn:"(*)",radioOff:"( )",tick:"\u221A",cross:"\xD7",ellipsis:"...",pointerSmall:"\xBB",line:"\u2500",pointer:">"},$6=process.platform==="win32"?I6:Ja;hN.exports=$6});var bN=I((fJ,vN)=>{"use strict";var eo=oe(),$n=Uy(),Fy=Object.freeze({password:{scale:1,render:e=>"*".repeat(e.length)},emoji:{scale:2,render:e=>"\u{1F603}".repeat(e.length)},invisible:{scale:0,render:e=>""},default:{scale:1,render:e=>`${e}`}}),T6=e=>Fy[e]||Fy.default,Qa=Object.freeze({aborted:eo.red($n.cross),done:eo.green($n.tick),exited:eo.yellow($n.cross),default:eo.cyan("?")}),R6=(e,t,n)=>t?Qa.aborted:n?Qa.exited:e?Qa.done:Qa.default,P6=e=>eo.gray(e?$n.ellipsis:$n.pointerSmall),C6=(e,t)=>eo.gray(e?t?$n.pointerSmall:"+":$n.line);vN.exports={styles:Fy,render:T6,symbols:Qa,symbol:R6,delimiter:P6,item:C6}});var SN=I((gJ,yN)=>{"use strict";var N6=Gl();yN.exports=function(e,t){let n=String(N6(e)||"").split(/\r?\n/);return t?n.map(i=>Math.ceil(i.length/t)).reduce((i,r)=>i+r):n.length}});var EN=I((hJ,_N)=>{"use strict";_N.exports=(e,t={})=>{let n=Number.isSafeInteger(parseInt(t.margin))?new Array(parseInt(t.margin)).fill(" ").join(""):t.margin||"",i=t.width;return(e||"").split(/\r?\n/g).map(r=>r.split(/\s+/g).reduce((o,a)=>(a.length+n.length>=i||o[o.length-1].length+a.length+1<i?o[o.length-1]+=` ${a}`:o.push(`${n}${a}`),o),[n]).join(`
54
54
  `)).join(`
55
- `)}});var AN=I((hJ,xN)=>{"use strict";xN.exports=(e,t,n)=>{n=n||t;let i=Math.min(t-n,e-Math.floor(n/2));i<0&&(i=0);let r=Math.min(i+n,t);return{startIndex:i,endIndex:r}}});var It=I((vJ,IN)=>{"use strict";IN.exports={action:dN(),clear:gN(),style:bN(),strip:Gl(),figures:Uy(),lines:SN(),wrap:EN(),entriesToDisplay:AN()}});var dr=I((bJ,TN)=>{"use strict";var $N=rs("readline"),{action:N6}=It(),w6=rs("events"),{beep:k6,cursor:O6}=ae(),D6=oe(),By=class extends w6{constructor(t={}){super(),this.firstRender=!0,this.in=t.stdin||process.stdin,this.out=t.stdout||process.stdout,this.onRender=(t.onRender||(()=>{})).bind(this);let n=$N.createInterface({input:this.in,escapeCodeTimeout:50});$N.emitKeypressEvents(this.in,n),this.in.isTTY&&this.in.setRawMode(!0);let i=["SelectPrompt","MultiselectPrompt"].indexOf(this.constructor.name)>-1,r=(o,a)=>{let c=N6(a,i);c===!1?this._&&this._(o,a):typeof this[c]=="function"?this[c](a):this.bell()};this.close=()=>{this.out.write(O6.show),this.in.removeListener("keypress",r),this.in.isTTY&&this.in.setRawMode(!1),n.close(),this.emit(this.aborted?"abort":this.exited?"exit":"submit",this.value),this.closed=!0},this.in.on("keypress",r)}fire(){this.emit("state",{value:this.value,aborted:!!this.aborted,exited:!!this.exited})}bell(){this.out.write(k6)}render(){this.onRender(D6),this.firstRender&&(this.firstRender=!1)}};TN.exports=By});var PN=I((yJ,RN)=>{var Wl=oe(),M6=dr(),{erase:j6,cursor:es}=ae(),{style:Vy,clear:Zy,lines:z6,figures:L6}=It(),Gy=class extends M6{constructor(t={}){super(t),this.transform=Vy.render(t.style),this.scale=this.transform.scale,this.msg=t.message,this.initial=t.initial||"",this.validator=t.validate||(()=>!0),this.value="",this.errorMsg=t.error||"Please Enter A Valid Value",this.cursor=+!!this.initial,this.cursorOffset=0,this.clear=Zy("",this.out.columns),this.render()}set value(t){!t&&this.initial?(this.placeholder=!0,this.rendered=Wl.gray(this.transform.render(this.initial))):(this.placeholder=!1,this.rendered=this.transform.render(t)),this._value=t,this.fire()}get value(){return this._value}reset(){this.value="",this.cursor=+!!this.initial,this.cursorOffset=0,this.fire(),this.render()}exit(){this.abort()}abort(){this.value=this.value||this.initial,this.done=this.aborted=!0,this.error=!1,this.red=!1,this.fire(),this.render(),this.out.write(`
55
+ `)}});var AN=I((vJ,xN)=>{"use strict";xN.exports=(e,t,n)=>{n=n||t;let i=Math.min(t-n,e-Math.floor(n/2));i<0&&(i=0);let r=Math.min(i+n,t);return{startIndex:i,endIndex:r}}});var It=I((bJ,IN)=>{"use strict";IN.exports={action:dN(),clear:gN(),style:bN(),strip:Gl(),figures:Uy(),lines:SN(),wrap:EN(),entriesToDisplay:AN()}});var dr=I((yJ,TN)=>{"use strict";var $N=rs("readline"),{action:w6}=It(),k6=rs("events"),{beep:O6,cursor:D6}=ae(),M6=oe(),By=class extends k6{constructor(t={}){super(),this.firstRender=!0,this.in=t.stdin||process.stdin,this.out=t.stdout||process.stdout,this.onRender=(t.onRender||(()=>{})).bind(this);let n=$N.createInterface({input:this.in,escapeCodeTimeout:50});$N.emitKeypressEvents(this.in,n),this.in.isTTY&&this.in.setRawMode(!0);let i=["SelectPrompt","MultiselectPrompt"].indexOf(this.constructor.name)>-1,r=(o,a)=>{let c=w6(a,i);c===!1?this._&&this._(o,a):typeof this[c]=="function"?this[c](a):this.bell()};this.close=()=>{this.out.write(D6.show),this.in.removeListener("keypress",r),this.in.isTTY&&this.in.setRawMode(!1),n.close(),this.emit(this.aborted?"abort":this.exited?"exit":"submit",this.value),this.closed=!0},this.in.on("keypress",r)}fire(){this.emit("state",{value:this.value,aborted:!!this.aborted,exited:!!this.exited})}bell(){this.out.write(O6)}render(){this.onRender(M6),this.firstRender&&(this.firstRender=!1)}};TN.exports=By});var PN=I((SJ,RN)=>{var Wl=oe(),j6=dr(),{erase:z6,cursor:es}=ae(),{style:Vy,clear:Zy,lines:L6,figures:U6}=It(),Gy=class extends j6{constructor(t={}){super(t),this.transform=Vy.render(t.style),this.scale=this.transform.scale,this.msg=t.message,this.initial=t.initial||"",this.validator=t.validate||(()=>!0),this.value="",this.errorMsg=t.error||"Please Enter A Valid Value",this.cursor=+!!this.initial,this.cursorOffset=0,this.clear=Zy("",this.out.columns),this.render()}set value(t){!t&&this.initial?(this.placeholder=!0,this.rendered=Wl.gray(this.transform.render(this.initial))):(this.placeholder=!1,this.rendered=this.transform.render(t)),this._value=t,this.fire()}get value(){return this._value}reset(){this.value="",this.cursor=+!!this.initial,this.cursorOffset=0,this.fire(),this.render()}exit(){this.abort()}abort(){this.value=this.value||this.initial,this.done=this.aborted=!0,this.error=!1,this.red=!1,this.fire(),this.render(),this.out.write(`
56
56
  `),this.close()}async validate(){let t=await this.validator(this.value);typeof t=="string"&&(this.errorMsg=t,t=!1),this.error=!t}async submit(){if(this.value=this.value||this.initial,this.cursorOffset=0,this.cursor=this.rendered.length,await this.validate(),this.error){this.red=!0,this.fire(),this.render();return}this.done=!0,this.aborted=!1,this.fire(),this.render(),this.out.write(`
57
- `),this.close()}next(){if(!this.placeholder)return this.bell();this.value=this.initial,this.cursor=this.rendered.length,this.fire(),this.render()}moveCursor(t){this.placeholder||(this.cursor=this.cursor+t,this.cursorOffset+=t)}_(t,n){let i=this.value.slice(0,this.cursor),r=this.value.slice(this.cursor);this.value=`${i}${t}${r}`,this.red=!1,this.cursor=this.placeholder?0:i.length+1,this.render()}delete(){if(this.isCursorAtStart())return this.bell();let t=this.value.slice(0,this.cursor-1),n=this.value.slice(this.cursor);this.value=`${t}${n}`,this.red=!1,this.isCursorAtStart()?this.cursorOffset=0:(this.cursorOffset++,this.moveCursor(-1)),this.render()}deleteForward(){if(this.cursor*this.scale>=this.rendered.length||this.placeholder)return this.bell();let t=this.value.slice(0,this.cursor),n=this.value.slice(this.cursor+1);this.value=`${t}${n}`,this.red=!1,this.isCursorAtEnd()?this.cursorOffset=0:this.cursorOffset++,this.render()}first(){this.cursor=0,this.render()}last(){this.cursor=this.value.length,this.render()}left(){if(this.cursor<=0||this.placeholder)return this.bell();this.moveCursor(-1),this.render()}right(){if(this.cursor*this.scale>=this.rendered.length||this.placeholder)return this.bell();this.moveCursor(1),this.render()}isCursorAtStart(){return this.cursor===0||this.placeholder&&this.cursor===1}isCursorAtEnd(){return this.cursor===this.rendered.length||this.placeholder&&this.cursor===this.rendered.length+1}render(){this.closed||(this.firstRender||(this.outputError&&this.out.write(es.down(z6(this.outputError,this.out.columns)-1)+Zy(this.outputError,this.out.columns)),this.out.write(Zy(this.outputText,this.out.columns))),super.render(),this.outputError="",this.outputText=[Vy.symbol(this.done,this.aborted),Wl.bold(this.msg),Vy.delimiter(this.done),this.red?Wl.red(this.rendered):this.rendered].join(" "),this.error&&(this.outputError+=this.errorMsg.split(`
57
+ `),this.close()}next(){if(!this.placeholder)return this.bell();this.value=this.initial,this.cursor=this.rendered.length,this.fire(),this.render()}moveCursor(t){this.placeholder||(this.cursor=this.cursor+t,this.cursorOffset+=t)}_(t,n){let i=this.value.slice(0,this.cursor),r=this.value.slice(this.cursor);this.value=`${i}${t}${r}`,this.red=!1,this.cursor=this.placeholder?0:i.length+1,this.render()}delete(){if(this.isCursorAtStart())return this.bell();let t=this.value.slice(0,this.cursor-1),n=this.value.slice(this.cursor);this.value=`${t}${n}`,this.red=!1,this.isCursorAtStart()?this.cursorOffset=0:(this.cursorOffset++,this.moveCursor(-1)),this.render()}deleteForward(){if(this.cursor*this.scale>=this.rendered.length||this.placeholder)return this.bell();let t=this.value.slice(0,this.cursor),n=this.value.slice(this.cursor+1);this.value=`${t}${n}`,this.red=!1,this.isCursorAtEnd()?this.cursorOffset=0:this.cursorOffset++,this.render()}first(){this.cursor=0,this.render()}last(){this.cursor=this.value.length,this.render()}left(){if(this.cursor<=0||this.placeholder)return this.bell();this.moveCursor(-1),this.render()}right(){if(this.cursor*this.scale>=this.rendered.length||this.placeholder)return this.bell();this.moveCursor(1),this.render()}isCursorAtStart(){return this.cursor===0||this.placeholder&&this.cursor===1}isCursorAtEnd(){return this.cursor===this.rendered.length||this.placeholder&&this.cursor===this.rendered.length+1}render(){this.closed||(this.firstRender||(this.outputError&&this.out.write(es.down(L6(this.outputError,this.out.columns)-1)+Zy(this.outputError,this.out.columns)),this.out.write(Zy(this.outputText,this.out.columns))),super.render(),this.outputError="",this.outputText=[Vy.symbol(this.done,this.aborted),Wl.bold(this.msg),Vy.delimiter(this.done),this.red?Wl.red(this.rendered):this.rendered].join(" "),this.error&&(this.outputError+=this.errorMsg.split(`
58
58
  `).reduce((t,n,i)=>t+`
59
- ${i?" ":L6.pointerSmall} ${Wl.red().italic(n)}`,"")),this.out.write(j6.line+es.to(0)+this.outputText+es.save+this.outputError+es.restore+es.move(this.cursorOffset,0)))}};RN.exports=Gy});var kN=I((SJ,wN)=>{"use strict";var mr=oe(),U6=dr(),{style:CN,clear:NN,figures:Hl,wrap:F6,entriesToDisplay:B6}=It(),{cursor:V6}=ae(),Wy=class extends U6{constructor(t={}){super(t),this.msg=t.message,this.hint=t.hint||"- Use arrow-keys. Return to submit.",this.warn=t.warn||"- This option is disabled",this.cursor=t.initial||0,this.choices=t.choices.map((n,i)=>(typeof n=="string"&&(n={title:n,value:i}),{title:n&&(n.title||n.value||n),value:n&&(n.value===void 0?i:n.value),description:n&&n.description,selected:n&&n.selected,disabled:n&&n.disabled})),this.optionsPerPage=t.optionsPerPage||10,this.value=(this.choices[this.cursor]||{}).value,this.clear=NN("",this.out.columns),this.render()}moveCursor(t){this.cursor=t,this.value=this.choices[t].value,this.fire()}reset(){this.moveCursor(0),this.fire(),this.render()}exit(){this.abort()}abort(){this.done=this.aborted=!0,this.fire(),this.render(),this.out.write(`
59
+ ${i?" ":U6.pointerSmall} ${Wl.red().italic(n)}`,"")),this.out.write(z6.line+es.to(0)+this.outputText+es.save+this.outputError+es.restore+es.move(this.cursorOffset,0)))}};RN.exports=Gy});var kN=I((_J,wN)=>{"use strict";var mr=oe(),F6=dr(),{style:CN,clear:NN,figures:Hl,wrap:B6,entriesToDisplay:V6}=It(),{cursor:Z6}=ae(),Wy=class extends F6{constructor(t={}){super(t),this.msg=t.message,this.hint=t.hint||"- Use arrow-keys. Return to submit.",this.warn=t.warn||"- This option is disabled",this.cursor=t.initial||0,this.choices=t.choices.map((n,i)=>(typeof n=="string"&&(n={title:n,value:i}),{title:n&&(n.title||n.value||n),value:n&&(n.value===void 0?i:n.value),description:n&&n.description,selected:n&&n.selected,disabled:n&&n.disabled})),this.optionsPerPage=t.optionsPerPage||10,this.value=(this.choices[this.cursor]||{}).value,this.clear=NN("",this.out.columns),this.render()}moveCursor(t){this.cursor=t,this.value=this.choices[t].value,this.fire()}reset(){this.moveCursor(0),this.fire(),this.render()}exit(){this.abort()}abort(){this.done=this.aborted=!0,this.fire(),this.render(),this.out.write(`
60
60
  `),this.close()}submit(){this.selection.disabled?this.bell():(this.done=!0,this.aborted=!1,this.fire(),this.render(),this.out.write(`
61
- `),this.close())}first(){this.moveCursor(0),this.render()}last(){this.moveCursor(this.choices.length-1),this.render()}up(){this.cursor===0?this.moveCursor(this.choices.length-1):this.moveCursor(this.cursor-1),this.render()}down(){this.cursor===this.choices.length-1?this.moveCursor(0):this.moveCursor(this.cursor+1),this.render()}next(){this.moveCursor((this.cursor+1)%this.choices.length),this.render()}_(t,n){if(t===" ")return this.submit()}get selection(){return this.choices[this.cursor]}render(){if(this.closed)return;this.firstRender?this.out.write(V6.hide):this.out.write(NN(this.outputText,this.out.columns)),super.render();let{startIndex:t,endIndex:n}=B6(this.cursor,this.choices.length,this.optionsPerPage);if(this.outputText=[CN.symbol(this.done,this.aborted),mr.bold(this.msg),CN.delimiter(!1),this.done?this.selection.title:this.selection.disabled?mr.yellow(this.warn):mr.gray(this.hint)].join(" "),!this.done){this.outputText+=`
61
+ `),this.close())}first(){this.moveCursor(0),this.render()}last(){this.moveCursor(this.choices.length-1),this.render()}up(){this.cursor===0?this.moveCursor(this.choices.length-1):this.moveCursor(this.cursor-1),this.render()}down(){this.cursor===this.choices.length-1?this.moveCursor(0):this.moveCursor(this.cursor+1),this.render()}next(){this.moveCursor((this.cursor+1)%this.choices.length),this.render()}_(t,n){if(t===" ")return this.submit()}get selection(){return this.choices[this.cursor]}render(){if(this.closed)return;this.firstRender?this.out.write(Z6.hide):this.out.write(NN(this.outputText,this.out.columns)),super.render();let{startIndex:t,endIndex:n}=V6(this.cursor,this.choices.length,this.optionsPerPage);if(this.outputText=[CN.symbol(this.done,this.aborted),mr.bold(this.msg),CN.delimiter(!1),this.done?this.selection.title:this.selection.disabled?mr.yellow(this.warn):mr.gray(this.hint)].join(" "),!this.done){this.outputText+=`
62
62
  `;for(let i=t;i<n;i++){let r,o,a="",c=this.choices[i];i===t&&t>0?o=Hl.arrowUp:i===n-1&&n<this.choices.length?o=Hl.arrowDown:o=" ",c.disabled?(r=this.cursor===i?mr.gray().underline(c.title):mr.strikethrough().gray(c.title),o=(this.cursor===i?mr.bold().gray(Hl.pointer)+" ":" ")+o):(r=this.cursor===i?mr.cyan().underline(c.title):c.title,o=(this.cursor===i?mr.cyan(Hl.pointer)+" ":" ")+o,c.description&&this.cursor===i&&(a=` - ${c.description}`,(o.length+r.length+a.length>=this.out.columns||c.description.split(/\r?\n/).length>1)&&(a=`
63
- `+F6(c.description,{margin:3,width:this.out.columns})))),this.outputText+=`${o} ${r}${mr.gray(a)}
64
- `}}this.out.write(this.outputText)}};wN.exports=Wy});var jN=I((_J,MN)=>{var ql=oe(),Z6=dr(),{style:ON,clear:G6}=It(),{cursor:DN,erase:W6}=ae(),Hy=class extends Z6{constructor(t={}){super(t),this.msg=t.message,this.value=!!t.initial,this.active=t.active||"on",this.inactive=t.inactive||"off",this.initialValue=this.value,this.render()}reset(){this.value=this.initialValue,this.fire(),this.render()}exit(){this.abort()}abort(){this.done=this.aborted=!0,this.fire(),this.render(),this.out.write(`
63
+ `+B6(c.description,{margin:3,width:this.out.columns})))),this.outputText+=`${o} ${r}${mr.gray(a)}
64
+ `}}this.out.write(this.outputText)}};wN.exports=Wy});var jN=I((EJ,MN)=>{var ql=oe(),G6=dr(),{style:ON,clear:W6}=It(),{cursor:DN,erase:H6}=ae(),Hy=class extends G6{constructor(t={}){super(t),this.msg=t.message,this.value=!!t.initial,this.active=t.active||"on",this.inactive=t.inactive||"off",this.initialValue=this.value,this.render()}reset(){this.value=this.initialValue,this.fire(),this.render()}exit(){this.abort()}abort(){this.done=this.aborted=!0,this.fire(),this.render(),this.out.write(`
65
65
  `),this.close()}submit(){this.done=!0,this.aborted=!1,this.fire(),this.render(),this.out.write(`
66
- `),this.close()}deactivate(){if(this.value===!1)return this.bell();this.value=!1,this.render()}activate(){if(this.value===!0)return this.bell();this.value=!0,this.render()}delete(){this.deactivate()}left(){this.deactivate()}right(){this.activate()}down(){this.deactivate()}up(){this.activate()}next(){this.value=!this.value,this.fire(),this.render()}_(t,n){if(t===" ")this.value=!this.value;else if(t==="1")this.value=!0;else if(t==="0")this.value=!1;else return this.bell();this.render()}render(){this.closed||(this.firstRender?this.out.write(DN.hide):this.out.write(G6(this.outputText,this.out.columns)),super.render(),this.outputText=[ON.symbol(this.done,this.aborted),ql.bold(this.msg),ON.delimiter(this.done),this.value?this.inactive:ql.cyan().underline(this.inactive),ql.gray("/"),this.value?ql.cyan().underline(this.active):this.active].join(" "),this.out.write(W6.line+DN.to(0)+this.outputText))}};MN.exports=Hy});var Gt=I((EJ,zN)=>{"use strict";var qy=class e{constructor({token:t,date:n,parts:i,locales:r}){this.token=t,this.date=n||new Date,this.parts=i||[this],this.locales=r||{}}up(){}down(){}next(){let t=this.parts.indexOf(this);return this.parts.find((n,i)=>i>t&&n instanceof e)}setTo(t){}prev(){let t=[].concat(this.parts).reverse(),n=t.indexOf(this);return t.find((i,r)=>r>n&&i instanceof e)}toString(){return String(this.date)}};zN.exports=qy});var UN=I((xJ,LN)=>{"use strict";var H6=Gt(),Ky=class extends H6{constructor(t={}){super(t)}up(){this.date.setHours((this.date.getHours()+12)%24)}down(){this.up()}toString(){let t=this.date.getHours()>12?"pm":"am";return/\A/.test(this.token)?t.toUpperCase():t}};LN.exports=Ky});var BN=I((AJ,FN)=>{"use strict";var q6=Gt(),K6=e=>(e=e%10,e===1?"st":e===2?"nd":e===3?"rd":"th"),Yy=class extends q6{constructor(t={}){super(t)}up(){this.date.setDate(this.date.getDate()+1)}down(){this.date.setDate(this.date.getDate()-1)}setTo(t){this.date.setDate(parseInt(t.substr(-2)))}toString(){let t=this.date.getDate(),n=this.date.getDay();return this.token==="DD"?String(t).padStart(2,"0"):this.token==="Do"?t+K6(t):this.token==="d"?n+1:this.token==="ddd"?this.locales.weekdaysShort[n]:this.token==="dddd"?this.locales.weekdays[n]:t}};FN.exports=Yy});var ZN=I((IJ,VN)=>{"use strict";var Y6=Gt(),Xy=class extends Y6{constructor(t={}){super(t)}up(){this.date.setHours(this.date.getHours()+1)}down(){this.date.setHours(this.date.getHours()-1)}setTo(t){this.date.setHours(parseInt(t.substr(-2)))}toString(){let t=this.date.getHours();return/h/.test(this.token)&&(t=t%12||12),this.token.length>1?String(t).padStart(2,"0"):t}};VN.exports=Xy});var WN=I(($J,GN)=>{"use strict";var X6=Gt(),Jy=class extends X6{constructor(t={}){super(t)}up(){this.date.setMilliseconds(this.date.getMilliseconds()+1)}down(){this.date.setMilliseconds(this.date.getMilliseconds()-1)}setTo(t){this.date.setMilliseconds(parseInt(t.substr(-this.token.length)))}toString(){return String(this.date.getMilliseconds()).padStart(4,"0").substr(0,this.token.length)}};GN.exports=Jy});var qN=I((TJ,HN)=>{"use strict";var J6=Gt(),Qy=class extends J6{constructor(t={}){super(t)}up(){this.date.setMinutes(this.date.getMinutes()+1)}down(){this.date.setMinutes(this.date.getMinutes()-1)}setTo(t){this.date.setMinutes(parseInt(t.substr(-2)))}toString(){let t=this.date.getMinutes();return this.token.length>1?String(t).padStart(2,"0"):t}};HN.exports=Qy});var YN=I((RJ,KN)=>{"use strict";var Q6=Gt(),eS=class extends Q6{constructor(t={}){super(t)}up(){this.date.setMonth(this.date.getMonth()+1)}down(){this.date.setMonth(this.date.getMonth()-1)}setTo(t){t=parseInt(t.substr(-2))-1,this.date.setMonth(t<0?0:t)}toString(){let t=this.date.getMonth(),n=this.token.length;return n===2?String(t+1).padStart(2,"0"):n===3?this.locales.monthsShort[t]:n===4?this.locales.months[t]:String(t+1)}};KN.exports=eS});var JN=I((PJ,XN)=>{"use strict";var eF=Gt(),tS=class extends eF{constructor(t={}){super(t)}up(){this.date.setSeconds(this.date.getSeconds()+1)}down(){this.date.setSeconds(this.date.getSeconds()-1)}setTo(t){this.date.setSeconds(parseInt(t.substr(-2)))}toString(){let t=this.date.getSeconds();return this.token.length>1?String(t).padStart(2,"0"):t}};XN.exports=tS});var ew=I((CJ,QN)=>{"use strict";var tF=Gt(),rS=class extends tF{constructor(t={}){super(t)}up(){this.date.setFullYear(this.date.getFullYear()+1)}down(){this.date.setFullYear(this.date.getFullYear()-1)}setTo(t){this.date.setFullYear(t.substr(-4))}toString(){let t=String(this.date.getFullYear()).padStart(4,"0");return this.token.length===2?t.substr(-2):t}};QN.exports=rS});var rw=I((NJ,tw)=>{"use strict";tw.exports={DatePart:Gt(),Meridiem:UN(),Day:BN(),Hours:ZN(),Milliseconds:WN(),Minutes:qN(),Month:YN(),Seconds:JN(),Year:ew()}});var uw=I((wJ,cw)=>{"use strict";var nS=oe(),rF=dr(),{style:nw,clear:iw,figures:nF}=It(),{erase:iF,cursor:ow}=ae(),{DatePart:aw,Meridiem:oF,Day:aF,Hours:sF,Milliseconds:cF,Minutes:uF,Month:lF,Seconds:dF,Year:mF}=rw(),pF=/\\(.)|"((?:\\["\\]|[^"])+)"|(D[Do]?|d{3,4}|d)|(M{1,4})|(YY(?:YY)?)|([aA])|([Hh]{1,2})|(m{1,2})|(s{1,2})|(S{1,4})|./g,sw={1:({token:e})=>e.replace(/\\(.)/g,"$1"),2:e=>new aF(e),3:e=>new lF(e),4:e=>new mF(e),5:e=>new oF(e),6:e=>new sF(e),7:e=>new uF(e),8:e=>new dF(e),9:e=>new cF(e)},fF={months:"January,February,March,April,May,June,July,August,September,October,November,December".split(","),monthsShort:"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec".split(","),weekdays:"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday".split(","),weekdaysShort:"Sun,Mon,Tue,Wed,Thu,Fri,Sat".split(",")},iS=class extends rF{constructor(t={}){super(t),this.msg=t.message,this.cursor=0,this.typed="",this.locales=Object.assign(fF,t.locales),this._date=t.initial||new Date,this.errorMsg=t.error||"Please Enter A Valid Value",this.validator=t.validate||(()=>!0),this.mask=t.mask||"YYYY-MM-DD HH:mm:ss",this.clear=iw("",this.out.columns),this.render()}get value(){return this.date}get date(){return this._date}set date(t){t&&this._date.setTime(t.getTime())}set mask(t){let n;for(this.parts=[];n=pF.exec(t);){let r=n.shift(),o=n.findIndex(a=>a!=null);this.parts.push(o in sw?sw[o]({token:n[o]||r,date:this.date,parts:this.parts,locales:this.locales}):n[o]||r)}let i=this.parts.reduce((r,o)=>(typeof o=="string"&&typeof r[r.length-1]=="string"?r[r.length-1]+=o:r.push(o),r),[]);this.parts.splice(0),this.parts.push(...i),this.reset()}moveCursor(t){this.typed="",this.cursor=t,this.fire()}reset(){this.moveCursor(this.parts.findIndex(t=>t instanceof aw)),this.fire(),this.render()}exit(){this.abort()}abort(){this.done=this.aborted=!0,this.error=!1,this.fire(),this.render(),this.out.write(`
66
+ `),this.close()}deactivate(){if(this.value===!1)return this.bell();this.value=!1,this.render()}activate(){if(this.value===!0)return this.bell();this.value=!0,this.render()}delete(){this.deactivate()}left(){this.deactivate()}right(){this.activate()}down(){this.deactivate()}up(){this.activate()}next(){this.value=!this.value,this.fire(),this.render()}_(t,n){if(t===" ")this.value=!this.value;else if(t==="1")this.value=!0;else if(t==="0")this.value=!1;else return this.bell();this.render()}render(){this.closed||(this.firstRender?this.out.write(DN.hide):this.out.write(W6(this.outputText,this.out.columns)),super.render(),this.outputText=[ON.symbol(this.done,this.aborted),ql.bold(this.msg),ON.delimiter(this.done),this.value?this.inactive:ql.cyan().underline(this.inactive),ql.gray("/"),this.value?ql.cyan().underline(this.active):this.active].join(" "),this.out.write(H6.line+DN.to(0)+this.outputText))}};MN.exports=Hy});var Gt=I((xJ,zN)=>{"use strict";var qy=class e{constructor({token:t,date:n,parts:i,locales:r}){this.token=t,this.date=n||new Date,this.parts=i||[this],this.locales=r||{}}up(){}down(){}next(){let t=this.parts.indexOf(this);return this.parts.find((n,i)=>i>t&&n instanceof e)}setTo(t){}prev(){let t=[].concat(this.parts).reverse(),n=t.indexOf(this);return t.find((i,r)=>r>n&&i instanceof e)}toString(){return String(this.date)}};zN.exports=qy});var UN=I((AJ,LN)=>{"use strict";var q6=Gt(),Ky=class extends q6{constructor(t={}){super(t)}up(){this.date.setHours((this.date.getHours()+12)%24)}down(){this.up()}toString(){let t=this.date.getHours()>12?"pm":"am";return/\A/.test(this.token)?t.toUpperCase():t}};LN.exports=Ky});var BN=I((IJ,FN)=>{"use strict";var K6=Gt(),Y6=e=>(e=e%10,e===1?"st":e===2?"nd":e===3?"rd":"th"),Yy=class extends K6{constructor(t={}){super(t)}up(){this.date.setDate(this.date.getDate()+1)}down(){this.date.setDate(this.date.getDate()-1)}setTo(t){this.date.setDate(parseInt(t.substr(-2)))}toString(){let t=this.date.getDate(),n=this.date.getDay();return this.token==="DD"?String(t).padStart(2,"0"):this.token==="Do"?t+Y6(t):this.token==="d"?n+1:this.token==="ddd"?this.locales.weekdaysShort[n]:this.token==="dddd"?this.locales.weekdays[n]:t}};FN.exports=Yy});var ZN=I(($J,VN)=>{"use strict";var X6=Gt(),Xy=class extends X6{constructor(t={}){super(t)}up(){this.date.setHours(this.date.getHours()+1)}down(){this.date.setHours(this.date.getHours()-1)}setTo(t){this.date.setHours(parseInt(t.substr(-2)))}toString(){let t=this.date.getHours();return/h/.test(this.token)&&(t=t%12||12),this.token.length>1?String(t).padStart(2,"0"):t}};VN.exports=Xy});var WN=I((TJ,GN)=>{"use strict";var J6=Gt(),Jy=class extends J6{constructor(t={}){super(t)}up(){this.date.setMilliseconds(this.date.getMilliseconds()+1)}down(){this.date.setMilliseconds(this.date.getMilliseconds()-1)}setTo(t){this.date.setMilliseconds(parseInt(t.substr(-this.token.length)))}toString(){return String(this.date.getMilliseconds()).padStart(4,"0").substr(0,this.token.length)}};GN.exports=Jy});var qN=I((RJ,HN)=>{"use strict";var Q6=Gt(),Qy=class extends Q6{constructor(t={}){super(t)}up(){this.date.setMinutes(this.date.getMinutes()+1)}down(){this.date.setMinutes(this.date.getMinutes()-1)}setTo(t){this.date.setMinutes(parseInt(t.substr(-2)))}toString(){let t=this.date.getMinutes();return this.token.length>1?String(t).padStart(2,"0"):t}};HN.exports=Qy});var YN=I((PJ,KN)=>{"use strict";var eF=Gt(),eS=class extends eF{constructor(t={}){super(t)}up(){this.date.setMonth(this.date.getMonth()+1)}down(){this.date.setMonth(this.date.getMonth()-1)}setTo(t){t=parseInt(t.substr(-2))-1,this.date.setMonth(t<0?0:t)}toString(){let t=this.date.getMonth(),n=this.token.length;return n===2?String(t+1).padStart(2,"0"):n===3?this.locales.monthsShort[t]:n===4?this.locales.months[t]:String(t+1)}};KN.exports=eS});var JN=I((CJ,XN)=>{"use strict";var tF=Gt(),tS=class extends tF{constructor(t={}){super(t)}up(){this.date.setSeconds(this.date.getSeconds()+1)}down(){this.date.setSeconds(this.date.getSeconds()-1)}setTo(t){this.date.setSeconds(parseInt(t.substr(-2)))}toString(){let t=this.date.getSeconds();return this.token.length>1?String(t).padStart(2,"0"):t}};XN.exports=tS});var ew=I((NJ,QN)=>{"use strict";var rF=Gt(),rS=class extends rF{constructor(t={}){super(t)}up(){this.date.setFullYear(this.date.getFullYear()+1)}down(){this.date.setFullYear(this.date.getFullYear()-1)}setTo(t){this.date.setFullYear(t.substr(-4))}toString(){let t=String(this.date.getFullYear()).padStart(4,"0");return this.token.length===2?t.substr(-2):t}};QN.exports=rS});var rw=I((wJ,tw)=>{"use strict";tw.exports={DatePart:Gt(),Meridiem:UN(),Day:BN(),Hours:ZN(),Milliseconds:WN(),Minutes:qN(),Month:YN(),Seconds:JN(),Year:ew()}});var uw=I((kJ,cw)=>{"use strict";var nS=oe(),nF=dr(),{style:nw,clear:iw,figures:iF}=It(),{erase:oF,cursor:ow}=ae(),{DatePart:aw,Meridiem:aF,Day:sF,Hours:cF,Milliseconds:uF,Minutes:lF,Month:dF,Seconds:mF,Year:pF}=rw(),fF=/\\(.)|"((?:\\["\\]|[^"])+)"|(D[Do]?|d{3,4}|d)|(M{1,4})|(YY(?:YY)?)|([aA])|([Hh]{1,2})|(m{1,2})|(s{1,2})|(S{1,4})|./g,sw={1:({token:e})=>e.replace(/\\(.)/g,"$1"),2:e=>new sF(e),3:e=>new dF(e),4:e=>new pF(e),5:e=>new aF(e),6:e=>new cF(e),7:e=>new lF(e),8:e=>new mF(e),9:e=>new uF(e)},gF={months:"January,February,March,April,May,June,July,August,September,October,November,December".split(","),monthsShort:"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec".split(","),weekdays:"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday".split(","),weekdaysShort:"Sun,Mon,Tue,Wed,Thu,Fri,Sat".split(",")},iS=class extends nF{constructor(t={}){super(t),this.msg=t.message,this.cursor=0,this.typed="",this.locales=Object.assign(gF,t.locales),this._date=t.initial||new Date,this.errorMsg=t.error||"Please Enter A Valid Value",this.validator=t.validate||(()=>!0),this.mask=t.mask||"YYYY-MM-DD HH:mm:ss",this.clear=iw("",this.out.columns),this.render()}get value(){return this.date}get date(){return this._date}set date(t){t&&this._date.setTime(t.getTime())}set mask(t){let n;for(this.parts=[];n=fF.exec(t);){let r=n.shift(),o=n.findIndex(a=>a!=null);this.parts.push(o in sw?sw[o]({token:n[o]||r,date:this.date,parts:this.parts,locales:this.locales}):n[o]||r)}let i=this.parts.reduce((r,o)=>(typeof o=="string"&&typeof r[r.length-1]=="string"?r[r.length-1]+=o:r.push(o),r),[]);this.parts.splice(0),this.parts.push(...i),this.reset()}moveCursor(t){this.typed="",this.cursor=t,this.fire()}reset(){this.moveCursor(this.parts.findIndex(t=>t instanceof aw)),this.fire(),this.render()}exit(){this.abort()}abort(){this.done=this.aborted=!0,this.error=!1,this.fire(),this.render(),this.out.write(`
67
67
  `),this.close()}async validate(){let t=await this.validator(this.value);typeof t=="string"&&(this.errorMsg=t,t=!1),this.error=!t}async submit(){if(await this.validate(),this.error){this.color="red",this.fire(),this.render();return}this.done=!0,this.aborted=!1,this.fire(),this.render(),this.out.write(`
68
68
  `),this.close()}up(){this.typed="",this.parts[this.cursor].up(),this.render()}down(){this.typed="",this.parts[this.cursor].down(),this.render()}left(){let t=this.parts[this.cursor].prev();if(t==null)return this.bell();this.moveCursor(this.parts.indexOf(t)),this.render()}right(){let t=this.parts[this.cursor].next();if(t==null)return this.bell();this.moveCursor(this.parts.indexOf(t)),this.render()}next(){let t=this.parts[this.cursor].next();this.moveCursor(t?this.parts.indexOf(t):this.parts.findIndex(n=>n instanceof aw)),this.render()}_(t){/\d/.test(t)&&(this.typed+=t,this.parts[this.cursor].setTo(this.typed),this.render())}render(){this.closed||(this.firstRender?this.out.write(ow.hide):this.out.write(iw(this.outputText,this.out.columns)),super.render(),this.outputText=[nw.symbol(this.done,this.aborted),nS.bold(this.msg),nw.delimiter(!1),this.parts.reduce((t,n,i)=>t.concat(i===this.cursor&&!this.done?nS.cyan().underline(n.toString()):n),[]).join("")].join(" "),this.error&&(this.outputText+=this.errorMsg.split(`
69
69
  `).reduce((t,n,i)=>t+`
70
- ${i?" ":nF.pointerSmall} ${nS.red().italic(n)}`,"")),this.out.write(iF.line+ow.to(0)+this.outputText))}};cw.exports=iS});var pw=I((kJ,mw)=>{var Kl=oe(),gF=dr(),{cursor:Yl,erase:hF}=ae(),{style:oS,figures:vF,clear:lw,lines:bF}=It(),yF=/[0-9]/,aS=e=>e!==void 0,dw=(e,t)=>{let n=Math.pow(10,t);return Math.round(e*n)/n},sS=class extends gF{constructor(t={}){super(t),this.transform=oS.render(t.style),this.msg=t.message,this.initial=aS(t.initial)?t.initial:"",this.float=!!t.float,this.round=t.round||2,this.inc=t.increment||1,this.min=aS(t.min)?t.min:-1/0,this.max=aS(t.max)?t.max:1/0,this.errorMsg=t.error||"Please Enter A Valid Value",this.validator=t.validate||(()=>!0),this.color="cyan",this.value="",this.typed="",this.lastHit=0,this.render()}set value(t){!t&&t!==0?(this.placeholder=!0,this.rendered=Kl.gray(this.transform.render(`${this.initial}`)),this._value=""):(this.placeholder=!1,this.rendered=this.transform.render(`${dw(t,this.round)}`),this._value=dw(t,this.round)),this.fire()}get value(){return this._value}parse(t){return this.float?parseFloat(t):parseInt(t)}valid(t){return t==="-"||t==="."&&this.float||yF.test(t)}reset(){this.typed="",this.value="",this.fire(),this.render()}exit(){this.abort()}abort(){let t=this.value;this.value=t!==""?t:this.initial,this.done=this.aborted=!0,this.error=!1,this.fire(),this.render(),this.out.write(`
70
+ ${i?" ":iF.pointerSmall} ${nS.red().italic(n)}`,"")),this.out.write(oF.line+ow.to(0)+this.outputText))}};cw.exports=iS});var pw=I((OJ,mw)=>{var Kl=oe(),hF=dr(),{cursor:Yl,erase:vF}=ae(),{style:oS,figures:bF,clear:lw,lines:yF}=It(),SF=/[0-9]/,aS=e=>e!==void 0,dw=(e,t)=>{let n=Math.pow(10,t);return Math.round(e*n)/n},sS=class extends hF{constructor(t={}){super(t),this.transform=oS.render(t.style),this.msg=t.message,this.initial=aS(t.initial)?t.initial:"",this.float=!!t.float,this.round=t.round||2,this.inc=t.increment||1,this.min=aS(t.min)?t.min:-1/0,this.max=aS(t.max)?t.max:1/0,this.errorMsg=t.error||"Please Enter A Valid Value",this.validator=t.validate||(()=>!0),this.color="cyan",this.value="",this.typed="",this.lastHit=0,this.render()}set value(t){!t&&t!==0?(this.placeholder=!0,this.rendered=Kl.gray(this.transform.render(`${this.initial}`)),this._value=""):(this.placeholder=!1,this.rendered=this.transform.render(`${dw(t,this.round)}`),this._value=dw(t,this.round)),this.fire()}get value(){return this._value}parse(t){return this.float?parseFloat(t):parseInt(t)}valid(t){return t==="-"||t==="."&&this.float||SF.test(t)}reset(){this.typed="",this.value="",this.fire(),this.render()}exit(){this.abort()}abort(){let t=this.value;this.value=t!==""?t:this.initial,this.done=this.aborted=!0,this.error=!1,this.fire(),this.render(),this.out.write(`
71
71
  `),this.close()}async validate(){let t=await this.validator(this.value);typeof t=="string"&&(this.errorMsg=t,t=!1),this.error=!t}async submit(){if(await this.validate(),this.error){this.color="red",this.fire(),this.render();return}let t=this.value;this.value=t!==""?t:this.initial,this.done=!0,this.aborted=!1,this.error=!1,this.fire(),this.render(),this.out.write(`
72
- `),this.close()}up(){if(this.typed="",this.value===""&&(this.value=this.min-this.inc),this.value>=this.max)return this.bell();this.value+=this.inc,this.color="cyan",this.fire(),this.render()}down(){if(this.typed="",this.value===""&&(this.value=this.min+this.inc),this.value<=this.min)return this.bell();this.value-=this.inc,this.color="cyan",this.fire(),this.render()}delete(){let t=this.value.toString();if(t.length===0)return this.bell();this.value=this.parse(t=t.slice(0,-1))||"",this.value!==""&&this.value<this.min&&(this.value=this.min),this.color="cyan",this.fire(),this.render()}next(){this.value=this.initial,this.fire(),this.render()}_(t,n){if(!this.valid(t))return this.bell();let i=Date.now();if(i-this.lastHit>1e3&&(this.typed=""),this.typed+=t,this.lastHit=i,this.color="cyan",t===".")return this.fire();this.value=Math.min(this.parse(this.typed),this.max),this.value>this.max&&(this.value=this.max),this.value<this.min&&(this.value=this.min),this.fire(),this.render()}render(){this.closed||(this.firstRender||(this.outputError&&this.out.write(Yl.down(bF(this.outputError,this.out.columns)-1)+lw(this.outputError,this.out.columns)),this.out.write(lw(this.outputText,this.out.columns))),super.render(),this.outputError="",this.outputText=[oS.symbol(this.done,this.aborted),Kl.bold(this.msg),oS.delimiter(this.done),!this.done||!this.done&&!this.placeholder?Kl[this.color]().underline(this.rendered):this.rendered].join(" "),this.error&&(this.outputError+=this.errorMsg.split(`
72
+ `),this.close()}up(){if(this.typed="",this.value===""&&(this.value=this.min-this.inc),this.value>=this.max)return this.bell();this.value+=this.inc,this.color="cyan",this.fire(),this.render()}down(){if(this.typed="",this.value===""&&(this.value=this.min+this.inc),this.value<=this.min)return this.bell();this.value-=this.inc,this.color="cyan",this.fire(),this.render()}delete(){let t=this.value.toString();if(t.length===0)return this.bell();this.value=this.parse(t=t.slice(0,-1))||"",this.value!==""&&this.value<this.min&&(this.value=this.min),this.color="cyan",this.fire(),this.render()}next(){this.value=this.initial,this.fire(),this.render()}_(t,n){if(!this.valid(t))return this.bell();let i=Date.now();if(i-this.lastHit>1e3&&(this.typed=""),this.typed+=t,this.lastHit=i,this.color="cyan",t===".")return this.fire();this.value=Math.min(this.parse(this.typed),this.max),this.value>this.max&&(this.value=this.max),this.value<this.min&&(this.value=this.min),this.fire(),this.render()}render(){this.closed||(this.firstRender||(this.outputError&&this.out.write(Yl.down(yF(this.outputError,this.out.columns)-1)+lw(this.outputError,this.out.columns)),this.out.write(lw(this.outputText,this.out.columns))),super.render(),this.outputError="",this.outputText=[oS.symbol(this.done,this.aborted),Kl.bold(this.msg),oS.delimiter(this.done),!this.done||!this.done&&!this.placeholder?Kl[this.color]().underline(this.rendered):this.rendered].join(" "),this.error&&(this.outputError+=this.errorMsg.split(`
73
73
  `).reduce((t,n,i)=>t+`
74
- ${i?" ":vF.pointerSmall} ${Kl.red().italic(n)}`,"")),this.out.write(hF.line+Yl.to(0)+this.outputText+Yl.save+this.outputError+Yl.restore))}};mw.exports=sS});var uS=I((OJ,hw)=>{"use strict";var Wt=oe(),{cursor:SF}=ae(),_F=dr(),{clear:fw,figures:Ur,style:gw,wrap:EF,entriesToDisplay:xF}=It(),cS=class extends _F{constructor(t={}){super(t),this.msg=t.message,this.cursor=t.cursor||0,this.scrollIndex=t.cursor||0,this.hint=t.hint||"",this.warn=t.warn||"- This option is disabled -",this.minSelected=t.min,this.showMinError=!1,this.maxChoices=t.max,this.instructions=t.instructions,this.optionsPerPage=t.optionsPerPage||10,this.value=t.choices.map((n,i)=>(typeof n=="string"&&(n={title:n,value:i}),{title:n&&(n.title||n.value||n),description:n&&n.description,value:n&&(n.value===void 0?i:n.value),selected:n&&n.selected,disabled:n&&n.disabled})),this.clear=fw("",this.out.columns),t.overrideRender||this.render()}reset(){this.value.map(t=>!t.selected),this.cursor=0,this.fire(),this.render()}selected(){return this.value.filter(t=>t.selected)}exit(){this.abort()}abort(){this.done=this.aborted=!0,this.fire(),this.render(),this.out.write(`
74
+ ${i?" ":bF.pointerSmall} ${Kl.red().italic(n)}`,"")),this.out.write(vF.line+Yl.to(0)+this.outputText+Yl.save+this.outputError+Yl.restore))}};mw.exports=sS});var uS=I((DJ,hw)=>{"use strict";var Wt=oe(),{cursor:_F}=ae(),EF=dr(),{clear:fw,figures:Ur,style:gw,wrap:xF,entriesToDisplay:AF}=It(),cS=class extends EF{constructor(t={}){super(t),this.msg=t.message,this.cursor=t.cursor||0,this.scrollIndex=t.cursor||0,this.hint=t.hint||"",this.warn=t.warn||"- This option is disabled -",this.minSelected=t.min,this.showMinError=!1,this.maxChoices=t.max,this.instructions=t.instructions,this.optionsPerPage=t.optionsPerPage||10,this.value=t.choices.map((n,i)=>(typeof n=="string"&&(n={title:n,value:i}),{title:n&&(n.title||n.value||n),description:n&&n.description,value:n&&(n.value===void 0?i:n.value),selected:n&&n.selected,disabled:n&&n.disabled})),this.clear=fw("",this.out.columns),t.overrideRender||this.render()}reset(){this.value.map(t=>!t.selected),this.cursor=0,this.fire(),this.render()}selected(){return this.value.filter(t=>t.selected)}exit(){this.abort()}abort(){this.done=this.aborted=!0,this.fire(),this.render(),this.out.write(`
75
75
  `),this.close()}submit(){let t=this.value.filter(n=>n.selected);this.minSelected&&t.length<this.minSelected?(this.showMinError=!0,this.render()):(this.done=!0,this.aborted=!1,this.fire(),this.render(),this.out.write(`
76
76
  `),this.close())}first(){this.cursor=0,this.render()}last(){this.cursor=this.value.length-1,this.render()}next(){this.cursor=(this.cursor+1)%this.value.length,this.render()}up(){this.cursor===0?this.cursor=this.value.length-1:this.cursor--,this.render()}down(){this.cursor===this.value.length-1?this.cursor=0:this.cursor++,this.render()}left(){this.value[this.cursor].selected=!1,this.render()}right(){if(this.value.filter(t=>t.selected).length>=this.maxChoices)return this.bell();this.value[this.cursor].selected=!0,this.render()}handleSpaceToggle(){let t=this.value[this.cursor];if(t.selected)t.selected=!1,this.render();else{if(t.disabled||this.value.filter(n=>n.selected).length>=this.maxChoices)return this.bell();t.selected=!0,this.render()}}toggleAll(){if(this.maxChoices!==void 0||this.value[this.cursor].disabled)return this.bell();let t=!this.value[this.cursor].selected;this.value.filter(n=>!n.disabled).forEach(n=>n.selected=t),this.render()}_(t,n){if(t===" ")this.handleSpaceToggle();else if(t==="a")this.toggleAll();else return this.bell()}renderInstructions(){return this.instructions===void 0||this.instructions?typeof this.instructions=="string"?this.instructions:`
77
77
  Instructions:
@@ -79,15 +79,15 @@ Instructions:
79
79
  ${Ur.arrowLeft}/${Ur.arrowRight}/[space]: Toggle selection
80
80
  `+(this.maxChoices===void 0?` a: Toggle all
81
81
  `:"")+" enter/return: Complete answer":""}renderOption(t,n,i,r){let o=(n.selected?Wt.green(Ur.radioOn):Ur.radioOff)+" "+r+" ",a,c;return n.disabled?a=t===i?Wt.gray().underline(n.title):Wt.strikethrough().gray(n.title):(a=t===i?Wt.cyan().underline(n.title):n.title,t===i&&n.description&&(c=` - ${n.description}`,(o.length+a.length+c.length>=this.out.columns||n.description.split(/\r?\n/).length>1)&&(c=`
82
- `+EF(n.description,{margin:o.length,width:this.out.columns})))),o+a+Wt.gray(c||"")}paginateOptions(t){if(t.length===0)return Wt.red("No matches for this query.");let{startIndex:n,endIndex:i}=xF(this.cursor,t.length,this.optionsPerPage),r,o=[];for(let a=n;a<i;a++)a===n&&n>0?r=Ur.arrowUp:a===i-1&&i<t.length?r=Ur.arrowDown:r=" ",o.push(this.renderOption(this.cursor,t[a],a,r));return`
82
+ `+xF(n.description,{margin:o.length,width:this.out.columns})))),o+a+Wt.gray(c||"")}paginateOptions(t){if(t.length===0)return Wt.red("No matches for this query.");let{startIndex:n,endIndex:i}=AF(this.cursor,t.length,this.optionsPerPage),r,o=[];for(let a=n;a<i;a++)a===n&&n>0?r=Ur.arrowUp:a===i-1&&i<t.length?r=Ur.arrowDown:r=" ",o.push(this.renderOption(this.cursor,t[a],a,r));return`
83
83
  `+o.join(`
84
- `)}renderOptions(t){return this.done?"":this.paginateOptions(t)}renderDoneOrInstructions(){if(this.done)return this.value.filter(n=>n.selected).map(n=>n.title).join(", ");let t=[Wt.gray(this.hint),this.renderInstructions()];return this.value[this.cursor].disabled&&t.push(Wt.yellow(this.warn)),t.join(" ")}render(){if(this.closed)return;this.firstRender&&this.out.write(SF.hide),super.render();let t=[gw.symbol(this.done,this.aborted),Wt.bold(this.msg),gw.delimiter(!1),this.renderDoneOrInstructions()].join(" ");this.showMinError&&(t+=Wt.red(`You must select a minimum of ${this.minSelected} choices.`),this.showMinError=!1),t+=this.renderOptions(this.value),this.out.write(this.clear+t),this.clear=fw(t,this.out.columns)}};hw.exports=cS});var _w=I((DJ,Sw)=>{"use strict";var ts=oe(),AF=dr(),{erase:IF,cursor:vw}=ae(),{style:lS,clear:bw,figures:dS,wrap:$F,entriesToDisplay:TF}=It(),yw=(e,t)=>e[t]&&(e[t].value||e[t].title||e[t]),RF=(e,t)=>e[t]&&(e[t].title||e[t].value||e[t]),PF=(e,t)=>{let n=e.findIndex(i=>i.value===t||i.title===t);return n>-1?n:void 0},mS=class extends AF{constructor(t={}){super(t),this.msg=t.message,this.suggest=t.suggest,this.choices=t.choices,this.initial=typeof t.initial=="number"?t.initial:PF(t.choices,t.initial),this.select=this.initial||t.cursor||0,this.i18n={noMatches:t.noMatches||"no matches found"},this.fallback=t.fallback||this.initial,this.clearFirst=t.clearFirst||!1,this.suggestions=[],this.input="",this.limit=t.limit||10,this.cursor=0,this.transform=lS.render(t.style),this.scale=this.transform.scale,this.render=this.render.bind(this),this.complete=this.complete.bind(this),this.clear=bw("",this.out.columns),this.complete(this.render),this.render()}set fallback(t){this._fb=Number.isSafeInteger(parseInt(t))?parseInt(t):t}get fallback(){let t;return typeof this._fb=="number"?t=this.choices[this._fb]:typeof this._fb=="string"&&(t={title:this._fb}),t||this._fb||{title:this.i18n.noMatches}}moveSelect(t){this.select=t,this.suggestions.length>0?this.value=yw(this.suggestions,t):this.value=this.fallback.value,this.fire()}async complete(t){let n=this.completing=this.suggest(this.input,this.choices),i=await n;if(this.completing!==n)return;this.suggestions=i.map((o,a,c)=>({title:RF(c,a),value:yw(c,a),description:o.description})),this.completing=!1;let r=Math.max(i.length-1,0);this.moveSelect(Math.min(r,this.select)),t&&t()}reset(){this.input="",this.complete(()=>{this.moveSelect(this.initial!==void 0?this.initial:0),this.render()}),this.render()}exit(){this.clearFirst&&this.input.length>0?this.reset():(this.done=this.exited=!0,this.aborted=!1,this.fire(),this.render(),this.out.write(`
84
+ `)}renderOptions(t){return this.done?"":this.paginateOptions(t)}renderDoneOrInstructions(){if(this.done)return this.value.filter(n=>n.selected).map(n=>n.title).join(", ");let t=[Wt.gray(this.hint),this.renderInstructions()];return this.value[this.cursor].disabled&&t.push(Wt.yellow(this.warn)),t.join(" ")}render(){if(this.closed)return;this.firstRender&&this.out.write(_F.hide),super.render();let t=[gw.symbol(this.done,this.aborted),Wt.bold(this.msg),gw.delimiter(!1),this.renderDoneOrInstructions()].join(" ");this.showMinError&&(t+=Wt.red(`You must select a minimum of ${this.minSelected} choices.`),this.showMinError=!1),t+=this.renderOptions(this.value),this.out.write(this.clear+t),this.clear=fw(t,this.out.columns)}};hw.exports=cS});var _w=I((MJ,Sw)=>{"use strict";var ts=oe(),IF=dr(),{erase:$F,cursor:vw}=ae(),{style:lS,clear:bw,figures:dS,wrap:TF,entriesToDisplay:RF}=It(),yw=(e,t)=>e[t]&&(e[t].value||e[t].title||e[t]),PF=(e,t)=>e[t]&&(e[t].title||e[t].value||e[t]),CF=(e,t)=>{let n=e.findIndex(i=>i.value===t||i.title===t);return n>-1?n:void 0},mS=class extends IF{constructor(t={}){super(t),this.msg=t.message,this.suggest=t.suggest,this.choices=t.choices,this.initial=typeof t.initial=="number"?t.initial:CF(t.choices,t.initial),this.select=this.initial||t.cursor||0,this.i18n={noMatches:t.noMatches||"no matches found"},this.fallback=t.fallback||this.initial,this.clearFirst=t.clearFirst||!1,this.suggestions=[],this.input="",this.limit=t.limit||10,this.cursor=0,this.transform=lS.render(t.style),this.scale=this.transform.scale,this.render=this.render.bind(this),this.complete=this.complete.bind(this),this.clear=bw("",this.out.columns),this.complete(this.render),this.render()}set fallback(t){this._fb=Number.isSafeInteger(parseInt(t))?parseInt(t):t}get fallback(){let t;return typeof this._fb=="number"?t=this.choices[this._fb]:typeof this._fb=="string"&&(t={title:this._fb}),t||this._fb||{title:this.i18n.noMatches}}moveSelect(t){this.select=t,this.suggestions.length>0?this.value=yw(this.suggestions,t):this.value=this.fallback.value,this.fire()}async complete(t){let n=this.completing=this.suggest(this.input,this.choices),i=await n;if(this.completing!==n)return;this.suggestions=i.map((o,a,c)=>({title:PF(c,a),value:yw(c,a),description:o.description})),this.completing=!1;let r=Math.max(i.length-1,0);this.moveSelect(Math.min(r,this.select)),t&&t()}reset(){this.input="",this.complete(()=>{this.moveSelect(this.initial!==void 0?this.initial:0),this.render()}),this.render()}exit(){this.clearFirst&&this.input.length>0?this.reset():(this.done=this.exited=!0,this.aborted=!1,this.fire(),this.render(),this.out.write(`
85
85
  `),this.close())}abort(){this.done=this.aborted=!0,this.exited=!1,this.fire(),this.render(),this.out.write(`
86
86
  `),this.close()}submit(){this.done=!0,this.aborted=this.exited=!1,this.fire(),this.render(),this.out.write(`
87
87
  `),this.close()}_(t,n){let i=this.input.slice(0,this.cursor),r=this.input.slice(this.cursor);this.input=`${i}${t}${r}`,this.cursor=i.length+1,this.complete(this.render),this.render()}delete(){if(this.cursor===0)return this.bell();let t=this.input.slice(0,this.cursor-1),n=this.input.slice(this.cursor);this.input=`${t}${n}`,this.complete(this.render),this.cursor=this.cursor-1,this.render()}deleteForward(){if(this.cursor*this.scale>=this.rendered.length)return this.bell();let t=this.input.slice(0,this.cursor),n=this.input.slice(this.cursor+1);this.input=`${t}${n}`,this.complete(this.render),this.render()}first(){this.moveSelect(0),this.render()}last(){this.moveSelect(this.suggestions.length-1),this.render()}up(){this.select===0?this.moveSelect(this.suggestions.length-1):this.moveSelect(this.select-1),this.render()}down(){this.select===this.suggestions.length-1?this.moveSelect(0):this.moveSelect(this.select+1),this.render()}next(){this.select===this.suggestions.length-1?this.moveSelect(0):this.moveSelect(this.select+1),this.render()}nextPage(){this.moveSelect(Math.min(this.select+this.limit,this.suggestions.length-1)),this.render()}prevPage(){this.moveSelect(Math.max(this.select-this.limit,0)),this.render()}left(){if(this.cursor<=0)return this.bell();this.cursor=this.cursor-1,this.render()}right(){if(this.cursor*this.scale>=this.rendered.length)return this.bell();this.cursor=this.cursor+1,this.render()}renderOption(t,n,i,r){let o,a=i?dS.arrowUp:r?dS.arrowDown:" ",c=n?ts.cyan().underline(t.title):t.title;return a=(n?ts.cyan(dS.pointer)+" ":" ")+a,t.description&&(o=` - ${t.description}`,(a.length+c.length+o.length>=this.out.columns||t.description.split(/\r?\n/).length>1)&&(o=`
88
- `+$F(t.description,{margin:3,width:this.out.columns}))),a+" "+c+ts.gray(o||"")}render(){if(this.closed)return;this.firstRender?this.out.write(vw.hide):this.out.write(bw(this.outputText,this.out.columns)),super.render();let{startIndex:t,endIndex:n}=TF(this.select,this.choices.length,this.limit);if(this.outputText=[lS.symbol(this.done,this.aborted,this.exited),ts.bold(this.msg),lS.delimiter(this.completing),this.done&&this.suggestions[this.select]?this.suggestions[this.select].title:this.rendered=this.transform.render(this.input)].join(" "),!this.done){let i=this.suggestions.slice(t,n).map((r,o)=>this.renderOption(r,this.select===o+t,o===0&&t>0,o+t===n-1&&n<this.choices.length)).join(`
88
+ `+TF(t.description,{margin:3,width:this.out.columns}))),a+" "+c+ts.gray(o||"")}render(){if(this.closed)return;this.firstRender?this.out.write(vw.hide):this.out.write(bw(this.outputText,this.out.columns)),super.render();let{startIndex:t,endIndex:n}=RF(this.select,this.choices.length,this.limit);if(this.outputText=[lS.symbol(this.done,this.aborted,this.exited),ts.bold(this.msg),lS.delimiter(this.completing),this.done&&this.suggestions[this.select]?this.suggestions[this.select].title:this.rendered=this.transform.render(this.input)].join(" "),!this.done){let i=this.suggestions.slice(t,n).map((r,o)=>this.renderOption(r,this.select===o+t,o===0&&t>0,o+t===n-1&&n<this.choices.length)).join(`
89
89
  `);this.outputText+=`
90
- `+(i||ts.gray(this.fallback.title))}this.out.write(IF.line+vw.to(0)+this.outputText)}};Sw.exports=mS});var Iw=I((MJ,Aw)=>{"use strict";var pr=oe(),{cursor:CF}=ae(),NF=uS(),{clear:Ew,style:xw,figures:to}=It(),pS=class extends NF{constructor(t={}){t.overrideRender=!0,super(t),this.inputValue="",this.clear=Ew("",this.out.columns),this.filteredOptions=this.value,this.render()}last(){this.cursor=this.filteredOptions.length-1,this.render()}next(){this.cursor=(this.cursor+1)%this.filteredOptions.length,this.render()}up(){this.cursor===0?this.cursor=this.filteredOptions.length-1:this.cursor--,this.render()}down(){this.cursor===this.filteredOptions.length-1?this.cursor=0:this.cursor++,this.render()}left(){this.filteredOptions[this.cursor].selected=!1,this.render()}right(){if(this.value.filter(t=>t.selected).length>=this.maxChoices)return this.bell();this.filteredOptions[this.cursor].selected=!0,this.render()}delete(){this.inputValue.length&&(this.inputValue=this.inputValue.substr(0,this.inputValue.length-1),this.updateFilteredOptions())}updateFilteredOptions(){let t=this.filteredOptions[this.cursor];this.filteredOptions=this.value.filter(i=>this.inputValue?!!(typeof i.title=="string"&&i.title.toLowerCase().includes(this.inputValue.toLowerCase())||typeof i.value=="string"&&i.value.toLowerCase().includes(this.inputValue.toLowerCase())):!0);let n=this.filteredOptions.findIndex(i=>i===t);this.cursor=n<0?0:n,this.render()}handleSpaceToggle(){let t=this.filteredOptions[this.cursor];if(t.selected)t.selected=!1,this.render();else{if(t.disabled||this.value.filter(n=>n.selected).length>=this.maxChoices)return this.bell();t.selected=!0,this.render()}}handleInputChange(t){this.inputValue=this.inputValue+t,this.updateFilteredOptions()}_(t,n){t===" "?this.handleSpaceToggle():this.handleInputChange(t)}renderInstructions(){return this.instructions===void 0||this.instructions?typeof this.instructions=="string"?this.instructions:`
90
+ `+(i||ts.gray(this.fallback.title))}this.out.write($F.line+vw.to(0)+this.outputText)}};Sw.exports=mS});var Iw=I((jJ,Aw)=>{"use strict";var pr=oe(),{cursor:NF}=ae(),wF=uS(),{clear:Ew,style:xw,figures:to}=It(),pS=class extends wF{constructor(t={}){t.overrideRender=!0,super(t),this.inputValue="",this.clear=Ew("",this.out.columns),this.filteredOptions=this.value,this.render()}last(){this.cursor=this.filteredOptions.length-1,this.render()}next(){this.cursor=(this.cursor+1)%this.filteredOptions.length,this.render()}up(){this.cursor===0?this.cursor=this.filteredOptions.length-1:this.cursor--,this.render()}down(){this.cursor===this.filteredOptions.length-1?this.cursor=0:this.cursor++,this.render()}left(){this.filteredOptions[this.cursor].selected=!1,this.render()}right(){if(this.value.filter(t=>t.selected).length>=this.maxChoices)return this.bell();this.filteredOptions[this.cursor].selected=!0,this.render()}delete(){this.inputValue.length&&(this.inputValue=this.inputValue.substr(0,this.inputValue.length-1),this.updateFilteredOptions())}updateFilteredOptions(){let t=this.filteredOptions[this.cursor];this.filteredOptions=this.value.filter(i=>this.inputValue?!!(typeof i.title=="string"&&i.title.toLowerCase().includes(this.inputValue.toLowerCase())||typeof i.value=="string"&&i.value.toLowerCase().includes(this.inputValue.toLowerCase())):!0);let n=this.filteredOptions.findIndex(i=>i===t);this.cursor=n<0?0:n,this.render()}handleSpaceToggle(){let t=this.filteredOptions[this.cursor];if(t.selected)t.selected=!1,this.render();else{if(t.disabled||this.value.filter(n=>n.selected).length>=this.maxChoices)return this.bell();t.selected=!0,this.render()}}handleInputChange(t){this.inputValue=this.inputValue+t,this.updateFilteredOptions()}_(t,n){t===" "?this.handleSpaceToggle():this.handleInputChange(t)}renderInstructions(){return this.instructions===void 0||this.instructions?typeof this.instructions=="string"?this.instructions:`
91
91
  Instructions:
92
92
  ${to.arrowUp}/${to.arrowDown}: Highlight option
93
93
  ${to.arrowLeft}/${to.arrowRight}/[space]: Toggle selection
@@ -95,9 +95,9 @@ Instructions:
95
95
  enter/return: Complete answer
96
96
  `:""}renderCurrentInput(){return`
97
97
  Filtered results for: ${this.inputValue?this.inputValue:pr.gray("Enter something to filter")}
98
- `}renderOption(t,n,i){let r;return n.disabled?r=t===i?pr.gray().underline(n.title):pr.strikethrough().gray(n.title):r=t===i?pr.cyan().underline(n.title):n.title,(n.selected?pr.green(to.radioOn):to.radioOff)+" "+r}renderDoneOrInstructions(){if(this.done)return this.value.filter(n=>n.selected).map(n=>n.title).join(", ");let t=[pr.gray(this.hint),this.renderInstructions(),this.renderCurrentInput()];return this.filteredOptions.length&&this.filteredOptions[this.cursor].disabled&&t.push(pr.yellow(this.warn)),t.join(" ")}render(){if(this.closed)return;this.firstRender&&this.out.write(CF.hide),super.render();let t=[xw.symbol(this.done,this.aborted),pr.bold(this.msg),xw.delimiter(!1),this.renderDoneOrInstructions()].join(" ");this.showMinError&&(t+=pr.red(`You must select a minimum of ${this.minSelected} choices.`),this.showMinError=!1),t+=this.renderOptions(this.filteredOptions),this.out.write(this.clear+t),this.clear=Ew(t,this.out.columns)}};Aw.exports=pS});var Cw=I((jJ,Pw)=>{var $w=oe(),wF=dr(),{style:Tw,clear:kF}=It(),{erase:OF,cursor:Rw}=ae(),fS=class extends wF{constructor(t={}){super(t),this.msg=t.message,this.value=t.initial,this.initialValue=!!t.initial,this.yesMsg=t.yes||"yes",this.yesOption=t.yesOption||"(Y/n)",this.noMsg=t.no||"no",this.noOption=t.noOption||"(y/N)",this.render()}reset(){this.value=this.initialValue,this.fire(),this.render()}exit(){this.abort()}abort(){this.done=this.aborted=!0,this.fire(),this.render(),this.out.write(`
98
+ `}renderOption(t,n,i){let r;return n.disabled?r=t===i?pr.gray().underline(n.title):pr.strikethrough().gray(n.title):r=t===i?pr.cyan().underline(n.title):n.title,(n.selected?pr.green(to.radioOn):to.radioOff)+" "+r}renderDoneOrInstructions(){if(this.done)return this.value.filter(n=>n.selected).map(n=>n.title).join(", ");let t=[pr.gray(this.hint),this.renderInstructions(),this.renderCurrentInput()];return this.filteredOptions.length&&this.filteredOptions[this.cursor].disabled&&t.push(pr.yellow(this.warn)),t.join(" ")}render(){if(this.closed)return;this.firstRender&&this.out.write(NF.hide),super.render();let t=[xw.symbol(this.done,this.aborted),pr.bold(this.msg),xw.delimiter(!1),this.renderDoneOrInstructions()].join(" ");this.showMinError&&(t+=pr.red(`You must select a minimum of ${this.minSelected} choices.`),this.showMinError=!1),t+=this.renderOptions(this.filteredOptions),this.out.write(this.clear+t),this.clear=Ew(t,this.out.columns)}};Aw.exports=pS});var Cw=I((zJ,Pw)=>{var $w=oe(),kF=dr(),{style:Tw,clear:OF}=It(),{erase:DF,cursor:Rw}=ae(),fS=class extends kF{constructor(t={}){super(t),this.msg=t.message,this.value=t.initial,this.initialValue=!!t.initial,this.yesMsg=t.yes||"yes",this.yesOption=t.yesOption||"(Y/n)",this.noMsg=t.no||"no",this.noOption=t.noOption||"(y/N)",this.render()}reset(){this.value=this.initialValue,this.fire(),this.render()}exit(){this.abort()}abort(){this.done=this.aborted=!0,this.fire(),this.render(),this.out.write(`
99
99
  `),this.close()}submit(){this.value=this.value||!1,this.done=!0,this.aborted=!1,this.fire(),this.render(),this.out.write(`
100
- `),this.close()}_(t,n){return t.toLowerCase()==="y"?(this.value=!0,this.submit()):t.toLowerCase()==="n"?(this.value=!1,this.submit()):this.bell()}render(){this.closed||(this.firstRender?this.out.write(Rw.hide):this.out.write(kF(this.outputText,this.out.columns)),super.render(),this.outputText=[Tw.symbol(this.done,this.aborted),$w.bold(this.msg),Tw.delimiter(this.done),this.done?this.value?this.yesMsg:this.noMsg:$w.gray(this.initialValue?this.yesOption:this.noOption)].join(" "),this.out.write(OF.line+Rw.to(0)+this.outputText))}};Pw.exports=fS});var ww=I((zJ,Nw)=>{"use strict";Nw.exports={TextPrompt:PN(),SelectPrompt:kN(),TogglePrompt:jN(),DatePrompt:uw(),NumberPrompt:pw(),MultiselectPrompt:uS(),AutocompletePrompt:_w(),AutocompleteMultiselectPrompt:Iw(),ConfirmPrompt:Cw()}});var Ow=I(kw=>{"use strict";var Xe=kw,DF=ww(),Xl=e=>e;function Ht(e,t,n={}){return new Promise((i,r)=>{let o=new DF[e](t),a=n.onAbort||Xl,c=n.onSubmit||Xl,u=n.onExit||Xl;o.on("state",t.onState||Xl),o.on("submit",l=>i(c(l))),o.on("exit",l=>i(u(l))),o.on("abort",l=>r(a(l)))})}Xe.text=e=>Ht("TextPrompt",e);Xe.password=e=>(e.style="password",Xe.text(e));Xe.invisible=e=>(e.style="invisible",Xe.text(e));Xe.number=e=>Ht("NumberPrompt",e);Xe.date=e=>Ht("DatePrompt",e);Xe.confirm=e=>Ht("ConfirmPrompt",e);Xe.list=e=>{let t=e.separator||",";return Ht("TextPrompt",e,{onSubmit:n=>n.split(t).map(i=>i.trim())})};Xe.toggle=e=>Ht("TogglePrompt",e);Xe.select=e=>Ht("SelectPrompt",e);Xe.multiselect=e=>{e.choices=[].concat(e.choices||[]);let t=n=>n.filter(i=>i.selected).map(i=>i.value);return Ht("MultiselectPrompt",e,{onAbort:t,onSubmit:t})};Xe.autocompleteMultiselect=e=>{e.choices=[].concat(e.choices||[]);let t=n=>n.filter(i=>i.selected).map(i=>i.value);return Ht("AutocompleteMultiselectPrompt",e,{onAbort:t,onSubmit:t})};var MF=(e,t)=>Promise.resolve(t.filter(n=>n.title.slice(0,e.length).toLowerCase()===e.toLowerCase()));Xe.autocomplete=e=>(e.suggest=e.suggest||MF,e.choices=[].concat(e.choices||[]),Ht("AutocompletePrompt",e))});var jw=I((UJ,Mw)=>{"use strict";var gS=Ow(),jF=["suggest","format","onState","validate","onRender","type"],Dw=()=>{};async function Fr(e=[],{onSubmit:t=Dw,onCancel:n=Dw}={}){let i={},r=Fr._override||{};e=[].concat(e);let o,a,c,u,l,m,p=async(g,v,A=!1)=>{if(!(!A&&g.validate&&g.validate(v)!==!0))return g.format?await g.format(v,i):v};for(a of e)if({name:u,type:l}=a,typeof l=="function"&&(l=await l(o,{...i},a),a.type=l),!!l){for(let g in a){if(jF.includes(g))continue;let v=a[g];a[g]=typeof v=="function"?await v(o,{...i},m):v}if(m=a,typeof a.message!="string")throw new Error("prompt message is required");if({name:u,type:l}=a,gS[l]===void 0)throw new Error(`prompt type (${l}) is not defined`);if(r[a.name]!==void 0&&(o=await p(a,r[a.name]),o!==void 0)){i[u]=o;continue}try{o=Fr._injected?zF(Fr._injected,a.initial):await gS[l](a),i[u]=o=await p(a,o,!0),c=await t(a,o,i)}catch{c=!await n(a,i)}if(c)return i}return i}function zF(e,t){let n=e.shift();if(n instanceof Error)throw n;return n===void 0?t:n}function LF(e){Fr._injected=(Fr._injected||[]).concat(e)}function UF(e){Fr._override=Object.assign({},e)}Mw.exports=Object.assign(Fr,{prompt:Fr,prompts:gS,inject:LF,override:UF})});var Lw=I((FJ,zw)=>{function FF(e){e=(Array.isArray(e)?e:e.split(".")).map(Number);let t=0,n=process.versions.node.split(".").map(Number);for(;t<e.length;t++){if(n[t]>e[t])return!1;if(e[t]>n[t])return!0}return!1}zw.exports=FF("8.6.0")?uN():jw()});import{join as ht,dirname as ES,normalize as Qw}from"node:path";import{readFileSync as ek,existsSync as tk}from"node:fs";var Jw=Object.defineProperty,we=(e,t)=>Jw(e,"name",{value:t,configurable:!0}),Br="fjall";function Vr(e,t){let n=Qw(e);if(n.includes("..")||n.startsWith("/"))throw new Error(`Invalid ${t}: path traversal is not allowed`)}we(Vr,"assertNoTraversal");function rk(){return Br}we(rk,"getFjallPath");function nk(e){let t=ES(e);return ES(t)||"."}we(nk,"getProjectRoot");function xS(e){if(!tk(e))throw new Error(`Infrastructure file not found: ${e}`);let t=ek(e,"utf-8").match(/const\s+appName\s*=\s*["']([^"']+)["']/);if(!t||!t[1])throw new Error(`Could not find appName in infrastructure file: ${e}. Expected format: const appName = "yourAppName";`);return t[1]}we(xS,"getAppNameFromInfrastructure");function ik(e){let t=ht(e,ed);return xS(t)}we(ik,"getAppName");function qt(e){return Vr(e,"app name"),ht(Br,e,ed)}we(qt,"getInfrastructurePath");function ok(e){return Vr(e,"app name"),ht(Br,e)}we(ok,"getAppPath");function ak(e){return Vr(e,"component name"),ht(Br,e)}we(ak,"getOrganisationComponentPath");function sk(e){return Vr(e,"deployment type"),ht(Br,e,"logs")}we(sk,"getDeploymentLogsPath");function ck(e){return Vr(e,"deployment type"),ht(Br,e,"logs","cloudformation")}we(ck,"getCloudFormationLogsPath");function AS(){return ht(Br,"domains")}we(AS,"getDomainsDir");function Ql(e){return Vr(e,"domain name"),ht(AS(),e)}we(Ql,"getDomainComponentPath");function uk(e){return ht(Ql(e),ed)}we(uk,"getDomainInfrastructurePath");function lk(e){return ht(Ql(e),dk)}we(lk,"getDomainZoneFilePath");var ed="infrastructure.ts",dk="zone.bind",mk="cdk.out";function pk(e){return ht(e,mk)}we(pk,"getCdkOutPath");var fk=Object.defineProperty,Rn=(e,t)=>fk(e,"name",{value:t,configurable:!0});function td(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}Rn(td,"escapeRegExp");function IS(e,t,n){let i=qt(t),r=e.read(i)?.toString();return r?new RegExp(`["']${td(n)}["']`).test(r):!1}Rn(IS,"resourceExists");function rd(e,t,n){let i=qt(t);if(!e.read(i)?.toString())throw new Error(`Infrastructure file not found for ${t}`);if(IS(e,t,n))throw new Error(`Resource name '${n}' already exists in ${t}. Please choose a different name or remove the existing resource first.`)}Rn(rd,"assertResourceNameUnique");function gk(e,t,n){let i=qt(t),r=e.read(i)?.toString();if(!r)return 0;let o={database:/DatabaseFactory\.build\(/g,compute:/ComputeFactory\.build\(/g,lambda:/type:\s*["']lambda["']/g,ecs:/type:\s*["']ecs["']/g,ec2:/type:\s*["']ec2["']/g}[n];if(!o)return 0;let a=r.match(o);return a?a.length:0}Rn(gk,"countResourcesOfType");function hk(e,t){let n=qt(t),i=e.read(n)?.toString();if(!i)return[];let r=[],o=i.matchAll(/ComputeFactory\.build\(["']([^"']+)["'],\s*\{([^}]*?)\}/gs);for(let a of o){let c=a[1],u=a[2],l="ecs";u.includes('type: "lambda"')?l="lambda":u.includes('type: "ec2"')&&(l="ec2");let m=u.includes("connections:"),p=[];if(m){let g=u.match(/connections:\s*\[([^\]]+)\]/);if(g){let v=g[1].match(/\w+/g)??[];p.push(...v)}}r.push({name:c,type:l,hasConnections:m,connectedResources:p})}return r}Rn(hk,"detectComputeResources");function nd(e,t,n){let i=qt(t),r=e.read(i)?.toString();return r?new RegExp(`databaseName:\\s*["']${td(n)}["']`).test(r):!1}Rn(nd,"databaseExists");import*as Xi from"fs";import*as nP from"path";var vk=Object.defineProperty,gr=(e,t)=>vk(e,"name",{value:t,configurable:!0});function Fe(e){return e.replace(/[-_](.)/g,(t,n)=>n.toUpperCase()).replace(/^./,t=>t.toUpperCase())}gr(Fe,"toPascalCase");function Tt(e){return e.replace(/([A-Z]+)([A-Z][a-z])/g,"$1-$2").replace(/([a-z\d])([A-Z])/g,"$1-$2").replace(/[\s_]+/g,"-").toLowerCase()}gr(Tt,"toKebab");function Pn(e){return Tt(e).replace(/-/g,"_")}gr(Pn,"toValidDatabaseName");function $S(e){return Tt(e).replace(/-/g,"_").toUpperCase()}gr($S,"toScreamingSnake");function TS(e){return e.length===0?e:e.charAt(0).toUpperCase()+e.slice(1)}gr(TS,"capitalise");function RS(e){return e.split(".").join("")}gr(RS,"getSafeZoneName");function Zr(e){return e.toLowerCase().replace(/[^a-z0-9]/g,"")}gr(Zr,"accountConstructKey");function PS(e){let t=e.replace(new RegExp("\\P{ASCII}","gu"),"");return Zr(t)===Zr(e)&&Zr(e)!==""}gr(PS,"hasAsciiStableConstructKey");var bk=Object.defineProperty,ns=(e,t)=>bk(e,"name",{value:t,configurable:!0});function is(e){return`${Fe(e.split(".").join(""))}Domain`}ns(is,"getDomainStackName");function CS(e){return`${e}UsEast1Certificates`}ns(CS,"getDomainUsEast1CertificatesStackName");function id(e){let t=e.replace(/\./g,"-");return{hostedZoneId:`${t}-hosted-zone-id`,certificateArn:`${t}-certificate-arn`,usEast1CertificateArn:`${t}-us-east-1-certificate-arn`,delegationRoleArn:`${t}-delegation-role-arn`,nameservers:`${t}-nameservers`}}ns(id,"getDomainExportNames");function NS(e){return typeof e.hostedZoneId=="string"}ns(NS,"isManagedDomainBinding");var yk=Object.defineProperty,Sk=(e,t)=>yk(e,"name",{value:t,configurable:!0});function wS(e){return`${Fe(e)}ImageTag`}Sk(wS,"imageTagParameterName");var _k=Object.defineProperty,Ek=(e,t)=>_k(e,"name",{value:t,configurable:!0});function kS(e){let t=new Map;for(let n of e){let i=Zr(n);if(i==="")return{kind:"empty-construct-key",name:n};let r=t.get(i);if(r!==void 0)return{kind:"duplicate-construct-key",name:n,existingName:r,constructKey:i};t.set(i,n)}return null}Ek(kS,"findAccountNameCollision");var xk=Object.defineProperty,ro=(e,t)=>xk(e,"name",{value:t,configurable:!0}),Cn="us-east-2";var it=Object.freeze([{code:"us-east-2",name:"US East",city:"Ohio",country:"USA",optIn:!1},{code:"us-west-2",name:"US West",city:"Oregon",country:"USA",optIn:!1},{code:"us-east-1",name:"US East",city:"N. Virginia",country:"USA",optIn:!1},{code:"eu-west-1",name:"EU West",city:"Ireland",country:"Ireland",optIn:!1},{code:"eu-central-1",name:"EU Central",city:"Frankfurt",country:"Germany",optIn:!1},{code:"ap-southeast-1",name:"Asia Pacific",city:"Singapore",country:"Singapore",optIn:!1},{code:"ap-northeast-1",name:"Asia Pacific",city:"Tokyo",country:"Japan",optIn:!1},{code:"ap-southeast-2",name:"Asia Pacific",city:"Sydney",country:"Australia",optIn:!1},{code:"us-west-1",name:"US West",city:"N. California",country:"USA",optIn:!1},{code:"ca-central-1",name:"Canada",city:"Central",country:"Canada",optIn:!1},{code:"af-south-1",name:"Africa",city:"Cape Town",country:"South Africa",optIn:!0},{code:"ap-east-1",name:"Asia Pacific",city:"Hong Kong",country:"Hong Kong",optIn:!0},{code:"ap-northeast-2",name:"Asia Pacific",city:"Seoul",country:"South Korea",optIn:!1},{code:"ap-northeast-3",name:"Asia Pacific",city:"Osaka",country:"Japan",optIn:!1},{code:"ap-south-1",name:"Asia Pacific",city:"Mumbai",country:"India",optIn:!1},{code:"ap-south-2",name:"Asia Pacific",city:"Hyderabad",country:"India",optIn:!0},{code:"ap-southeast-3",name:"Asia Pacific",city:"Jakarta",country:"Indonesia",optIn:!0},{code:"ap-southeast-4",name:"Asia Pacific",city:"Melbourne",country:"Australia",optIn:!0},{code:"eu-central-2",name:"EU Central",city:"Zurich",country:"Switzerland",optIn:!0},{code:"eu-north-1",name:"EU North",city:"Stockholm",country:"Sweden",optIn:!1},{code:"eu-south-1",name:"EU South",city:"Milan",country:"Italy",optIn:!0},{code:"eu-south-2",name:"EU South",city:"Spain",country:"Spain",optIn:!0},{code:"eu-west-2",name:"EU West",city:"London",country:"UK",optIn:!1},{code:"eu-west-3",name:"EU West",city:"Paris",country:"France",optIn:!1},{code:"me-central-1",name:"Middle East",city:"UAE",country:"UAE",optIn:!0},{code:"me-south-1",name:"Middle East",city:"Bahrain",country:"Bahrain",optIn:!0},{code:"sa-east-1",name:"South America",city:"S\xE3o Paulo",country:"Brazil",optIn:!1},{code:"ap-southeast-5",name:"Asia Pacific",city:"Kuala Lumpur",country:"Malaysia",optIn:!0},{code:"ap-southeast-6",name:"Asia Pacific",city:"Auckland",country:"New Zealand",optIn:!0},{code:"ap-southeast-7",name:"Asia Pacific",city:"Bangkok",country:"Thailand",optIn:!0},{code:"ap-east-2",name:"Asia Pacific",city:"Taipei",country:"Taiwan",optIn:!0},{code:"ca-west-1",name:"Canada West",city:"Calgary",country:"Canada",optIn:!0},{code:"il-central-1",name:"Israel",city:"Tel Aviv",country:"Israel",optIn:!0},{code:"mx-central-1",name:"Mexico",city:"Central",country:"Mexico",optIn:!0}]),Kt=Object.freeze(it.map(e=>e.code)),os=new Set(it.filter(e=>e.optIn).map(e=>e.code));function as(e){return`${e} is an opt-in region: it must be enabled in the AWS account (Account settings \u2192 Regions) before deployment will succeed.`}ro(as,"optInRegionWarning");function Nn(e){return it.find(t=>t.code===e)}ro(Nn,"getRegionInfo");function wn(e){let t=e.split("-");return t.length===3&&t[0]&&t[1]&&t[2]?`${t[0]}${t[1][0]}${t[2]}`:e}ro(wn,"abbreviateRegion");var Ak=Object.freeze({"Europe/London":"eu-west-2","Europe/Jersey":"eu-west-2","Europe/Guernsey":"eu-west-2","Europe/Isle_of_Man":"eu-west-2","Europe/Dublin":"eu-west-1","Europe/Paris":"eu-west-3","Europe/Berlin":"eu-central-1","Europe/Amsterdam":"eu-central-1","Europe/Brussels":"eu-central-1","Europe/Luxembourg":"eu-central-1","Europe/Vienna":"eu-central-1","Europe/Prague":"eu-central-1","Europe/Warsaw":"eu-central-1","Europe/Budapest":"eu-central-1","Europe/Zurich":"eu-central-2","Europe/Stockholm":"eu-north-1","Europe/Oslo":"eu-north-1","Europe/Copenhagen":"eu-north-1","Europe/Helsinki":"eu-north-1","Europe/Tallinn":"eu-north-1","Europe/Riga":"eu-north-1","Europe/Vilnius":"eu-north-1","Europe/Rome":"eu-south-1","Europe/Malta":"eu-south-1","Europe/Athens":"eu-south-1","Europe/Madrid":"eu-south-2","Europe/Lisbon":"eu-south-2","America/New_York":"us-east-1","America/Detroit":"us-east-1","America/Toronto":"ca-central-1","America/Montreal":"ca-central-1","America/Halifax":"ca-central-1","America/Winnipeg":"ca-central-1","America/Chicago":"us-east-2","America/Indiana/Indianapolis":"us-east-2","America/Mexico_City":"us-east-2","America/Denver":"us-west-2","America/Phoenix":"us-west-2","America/Edmonton":"us-west-2","America/Vancouver":"us-west-2","America/Los_Angeles":"us-west-1","America/Tijuana":"us-west-1","America/Sao_Paulo":"sa-east-1","America/Argentina/Buenos_Aires":"sa-east-1","America/Santiago":"sa-east-1","America/Montevideo":"sa-east-1","America/Lima":"sa-east-1","America/Bogota":"us-east-1","Asia/Tokyo":"ap-northeast-1","Asia/Seoul":"ap-northeast-2","Asia/Hong_Kong":"ap-east-1","Asia/Shanghai":"ap-east-1","Asia/Taipei":"ap-east-1","Asia/Macau":"ap-east-1","Asia/Singapore":"ap-southeast-1","Asia/Kuala_Lumpur":"ap-southeast-1","Asia/Bangkok":"ap-southeast-1","Asia/Ho_Chi_Minh":"ap-southeast-1","Asia/Manila":"ap-southeast-1","Asia/Jakarta":"ap-southeast-3","Asia/Kolkata":"ap-south-1","Asia/Calcutta":"ap-south-1","Asia/Karachi":"ap-south-1","Asia/Dhaka":"ap-south-1","Asia/Colombo":"ap-south-1","Asia/Dubai":"me-central-1","Asia/Muscat":"me-central-1","Asia/Qatar":"me-south-1","Asia/Bahrain":"me-south-1","Asia/Riyadh":"me-south-1","Asia/Kuwait":"me-south-1","Asia/Jerusalem":"me-south-1","Australia/Sydney":"ap-southeast-2","Australia/Brisbane":"ap-southeast-2","Australia/Canberra":"ap-southeast-2","Australia/Melbourne":"ap-southeast-4","Australia/Hobart":"ap-southeast-4","Australia/Adelaide":"ap-southeast-4","Pacific/Auckland":"ap-southeast-2","Pacific/Honolulu":"us-west-1","Africa/Johannesburg":"af-south-1","Africa/Casablanca":"eu-south-2","Africa/Cairo":"me-south-1","Indian/Maldives":"ap-south-1"}),Ik=Object.freeze({Europe:"eu-central-1",America:"us-east-1",Asia:"ap-southeast-1",Australia:"ap-southeast-2",Pacific:"ap-southeast-2",Africa:"af-south-1",Atlantic:"eu-west-1",Indian:"ap-south-1"}),$k=Object.freeze({"af-south-1":"eu-west-1","ap-east-1":"ap-southeast-1","ap-southeast-3":"ap-southeast-1","ap-southeast-4":"ap-southeast-2","eu-central-2":"eu-central-1","eu-south-1":"eu-central-1","eu-south-2":"eu-west-3","me-central-1":"ap-south-1","me-south-1":"ap-south-1"});function od(e){return os.has(e)?$k[e]??Cn:e}ro(od,"toDeployableRegion");function ss(e){if(!e)return;let t=Ak[e];if(t!==void 0)return od(t);let n=e.split("/")[0];if(n===void 0)return;let i=Ik[n];return i===void 0?void 0:od(i)}ro(ss,"suggestRegionForTimezone");var Tk=Object.defineProperty,no=(e,t)=>Tk(e,"name",{value:t,configurable:!0});function cs(e){return Tt(e).replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}no(cs,"slugifyAccountName");function OS(e,t){let n=cs(e),i=cs(t);return n===""?i:i===""?n:`${n}-${i}`}no(OS,"defaultConnectedAccountName");function DS(e,t){let n=cs(t);return n===""?e:`${e}-${n}`}no(DS,"suffixedAccountName");var MS=new Set(it.map(e=>wn(e.code)));function jS(e){let t=e.toLowerCase().split(/[-\s_]+/).filter(i=>i.length>0),n=t[t.length-1];if(n!==void 0&&MS.has(n))return n}no(jS,"findTrailingRegionShortCode");function zS(e){return`Account name must not end with a region code ("-${e}") \u2014 the region is added automatically when deploying. Remove the "-${e}" suffix.`}no(zS,"regionSuffixRejectionMessage");var Rk=Object.defineProperty,kn=(e,t)=>Rk(e,"name",{value:t,configurable:!0});function vt(e){return e instanceof Error?e:new Error(String(e))}kn(vt,"normaliseError");function Rt(e){return e instanceof Error?e.message:typeof e=="string"?e:e&&typeof e=="object"&&"message"in e?String(e.message):"An unknown error occurred"}kn(Rt,"getErrorMessage");function us(e,t){return!e||typeof e!="object"?!1:"code"in e&&e.code===t}kn(us,"hasErrorCode");function io(e){if(!(!e||typeof e!="object")&&"code"in e&&typeof e.code=="string")return e.code}kn(io,"getErrorCode");function ls(e){return e instanceof Error?e.stack:void 0}kn(ls,"getErrorStack");function ds(e){let t=Rt(e),n=io(e);return n&&n!=="UNKNOWN_ERROR"?`[${n}] ${t}`:t}kn(ds,"formatErrorString");var Pk=Object.defineProperty,Ck=(e,t)=>Pk(e,"name",{value:t,configurable:!0});function LS(e){let t,n=!1;return()=>(n||(t=e(),n=!0),t)}Ck(LS,"singleton");var Nk=Object.defineProperty,ad=(e,t)=>Nk(e,"name",{value:t,configurable:!0}),US=new Set(["NODE_OPTIONS","NODE_PATH","NODE_EXTRA_CA_CERTS","NODE_DEBUG","NODE_PRESERVE_SYMLINKS","LD_PRELOAD","LD_LIBRARY_PATH","LD_AUDIT","LD_BIND_NOW","DYLD_INSERT_LIBRARIES","DYLD_LIBRARY_PATH","DYLD_FRAMEWORK_PATH","PYTHONPATH","PYTHONSTARTUP","PERL5LIB","PERL5OPT","RUBYLIB","RUBYOPT","HOME","XDG_CONFIG_HOME","AWS_SHARED_CREDENTIALS_FILE","AWS_CONFIG_FILE","SHELL","BASH_ENV","ENV","ZDOTDIR"]);function FS(e){return Object.fromEntries(Object.entries(e).filter(([t])=>!US.has(t.toUpperCase())))}ad(FS,"filterDangerousEnvVars");var wk=/(fjall_(?:ak|dk)_)[A-Z2-7]{16}\.[A-Z2-7]{40}/g;function On(e){return e.replace(/-----BEGIN [A-Z ]*PRIVATE KEY-----(?:[^"\\]|\\[\\nrt"])*?-----END [A-Z ]*PRIVATE KEY-----/g,"-----BEGIN [REDACTED] PRIVATE KEY-----...-----END [REDACTED] PRIVATE KEY-----").replace(/-----BEGIN [A-Z ]*PRIVATE KEY-----[\s\S]*?-----END [A-Z ]*PRIVATE KEY-----/g,"-----BEGIN [REDACTED] PRIVATE KEY-----...-----END [REDACTED] PRIVATE KEY-----").replace(/(\w+:\/\/[^:]+:)[^@]+(@)/gi,"$1***$2").replace(/(?<![a-zA-Z])(password|passwd|secret|api[_-]?key|token|auth|credential)([=:])["']?[^\s"']+/gi,"$1$2***").replace(/\b(ghu_|ghs_|ghp_|gho_|github_pat_)[A-Za-z0-9_]+/g,"$1***").replace(/\b(sk|rk)_(live|test)_[A-Za-z0-9]{8,}/g,"$1_$2_***").replace(/\bwhsec_[A-Za-z0-9]{8,}/g,"whsec_***").replace(/(?<=Authorization:\s*Bearer\s+)[A-Za-z0-9._~+/=-]+/gi,"***").replace(/\b(AKIA|ASIA)[A-Z0-9]{12,}\b/g,"$1***").replace(/(?<=aws_secret_access_key\s*=\s*["']?|SecretAccessKey[=:]\s*|"(aws)?secretAccessKey":\s*"|"aws_secret_access_key":\s*")[A-Za-z0-9/+=]{40,}/gi,"***").replace(/(?<="(aws)?sessionToken":\s*"|"aws_session_token":\s*")[^"]+/gi,"***").replace(/(?<=aws_session_token\s*[=:]\s*["']?|SessionToken[=:]\s*["']?)[^\s"']+/gi,"***").replace(/(?<="(internal[Aa]piKey|fjallCallbackToken)":\s*")[^"]+/g,"***").replace(wk,"$1***")}ad(On,"maskSensitiveOutput");function BS(e){let t=[],n="",i=!1,r=!1,o=!1,a=!1;for(let c of e){if(o){n+=c,o=!1;continue}if(c==="\\"&&!i){o=!0;continue}if(c==="'"&&!r){i=!i,a=!0;continue}if(c==='"'&&!i){r=!r,a=!0;continue}if(c===" "&&!i&&!r){(n||a)&&(t.push(n),n="",a=!1);continue}n+=c}if(i||r)throw new Error(`Unbalanced ${i?"single":"double"} quote in command: ${e.slice(0,80)}`);if(o)throw new Error(`Trailing backslash in command: ${e.slice(0,80)}`);return(n||a)&&t.push(n),t}ad(BS,"parseShellArgs");var kk=Object.defineProperty,Ok=(e,t)=>kk(e,"name",{value:t,configurable:!0}),Dk=Ok(e=>new Promise(t=>setTimeout(t,e)),"sleep");var Mk=Object.defineProperty,VS=(e,t)=>Mk(e,"name",{value:t,configurable:!0});async function ZS(e,t,n){let i=new Array(e.length);if(e.length===0)return i;let r=Math.max(1,Math.min(t,e.length)),o=0,a=VS(async()=>{for(;o<e.length;){let c=o++;try{let u=await n(e[c],c);i[c]={status:"fulfilled",value:u}}catch(u){i[c]={status:"rejected",reason:u}}}},"worker");return await Promise.all(Array.from({length:r},()=>a())),i}VS(ZS,"mapSettledWithConcurrency");var s={};$t(s,{$brand:()=>cd,$input:()=>Pp,$output:()=>Rp,NEVER:()=>sd,TimePrecision:()=>kp,ZodAny:()=>xg,ZodArray:()=>Tg,ZodBase64:()=>zc,ZodBase64URL:()=>Lc,ZodBigInt:()=>di,ZodBigIntFormat:()=>Bc,ZodBoolean:()=>li,ZodCIDRv4:()=>Mc,ZodCIDRv6:()=>jc,ZodCUID:()=>Pc,ZodCUID2:()=>Cc,ZodCatch:()=>Kg,ZodCodec:()=>jo,ZodCustom:()=>zo,ZodCustomStringFormat:()=>ci,ZodDate:()=>wo,ZodDefault:()=>Vg,ZodDiscriminatedUnion:()=>Pg,ZodE164:()=>Uc,ZodEmail:()=>$c,ZodEmoji:()=>Tc,ZodEnum:()=>ai,ZodError:()=>p1,ZodExactOptional:()=>Ug,ZodFile:()=>zg,ZodFirstPartyTypeKind:()=>ch,ZodFunction:()=>oh,ZodGUID:()=>To,ZodIPv4:()=>Oc,ZodIPv6:()=>Dc,ZodISODate:()=>Sc,ZodISODateTime:()=>yc,ZodISODuration:()=>Ec,ZodISOTime:()=>_c,ZodIntersection:()=>Cg,ZodIssueCode:()=>g1,ZodJWT:()=>Fc,ZodKSUID:()=>kc,ZodLazy:()=>rh,ZodLiteral:()=>jg,ZodMAC:()=>hg,ZodMap:()=>Dg,ZodNaN:()=>Xg,ZodNanoID:()=>Rc,ZodNever:()=>Ig,ZodNonOptional:()=>qc,ZodNull:()=>_g,ZodNullable:()=>Bg,ZodNumber:()=>ui,ZodNumberFormat:()=>Qr,ZodObject:()=>Oo,ZodOptional:()=>Hc,ZodPipe:()=>Mo,ZodPrefault:()=>Gg,ZodPreprocess:()=>Jg,ZodPromise:()=>ih,ZodReadonly:()=>Qg,ZodRealError:()=>Ze,ZodRecord:()=>oi,ZodSet:()=>Mg,ZodString:()=>si,ZodStringFormat:()=>K,ZodSuccess:()=>qg,ZodSymbol:()=>yg,ZodTemplateLiteral:()=>th,ZodTransform:()=>Lg,ZodTuple:()=>wg,ZodType:()=>w,ZodULID:()=>Nc,ZodURL:()=>No,ZodUUID:()=>wt,ZodUndefined:()=>Sg,ZodUnion:()=>Do,ZodUnknown:()=>Ag,ZodVoid:()=>$g,ZodXID:()=>wc,ZodXor:()=>Rg,_ZodString:()=>Ic,_default:()=>Zg,_function:()=>wx,any:()=>ux,array:()=>ko,base64:()=>WE,base64url:()=>HE,bigint:()=>ix,boolean:()=>bg,catch:()=>Yg,check:()=>kx,cidrv4:()=>ZE,cidrv6:()=>GE,clone:()=>ke,codec:()=>Rx,coerce:()=>uh,config:()=>se,core:()=>Jt,cuid:()=>ME,cuid2:()=>jE,custom:()=>Ox,date:()=>dx,decode:()=>ug,decodeAsync:()=>dg,describe:()=>Dx,discriminatedUnion:()=>vx,e164:()=>qE,email:()=>$E,emoji:()=>OE,encode:()=>cg,encodeAsync:()=>lg,endsWith:()=>Kn,enum:()=>Gc,exactOptional:()=>Fg,file:()=>Ax,flattenError:()=>po,float32:()=>ex,float64:()=>tx,formatError:()=>fo,fromJSONSchema:()=>Bx,function:()=>wx,getErrorMap:()=>v1,globalRegistry:()=>_e,gt:()=>Ct,gte:()=>De,guid:()=>TE,hash:()=>QE,hex:()=>JE,hostname:()=>XE,httpUrl:()=>kE,includes:()=>Hn,instanceof:()=>jx,int:()=>xc,int32:()=>rx,int64:()=>ox,intersection:()=>Ng,invertCodec:()=>Px,ipv4:()=>FE,ipv6:()=>VE,iso:()=>ii,json:()=>Lx,jwt:()=>KE,keyof:()=>mx,ksuid:()=>UE,lazy:()=>nh,length:()=>Xr,literal:()=>xx,locales:()=>Eo,looseObject:()=>gx,looseRecord:()=>yx,lowercase:()=>Gn,lt:()=>Pt,lte:()=>Qe,mac:()=>BE,map:()=>Sx,maxLength:()=>Yr,maxSize:()=>Er,meta:()=>Mx,mime:()=>Yn,minLength:()=>Xt,minSize:()=>Nt,multipleOf:()=>_r,nan:()=>Tx,nanoid:()=>DE,nativeEnum:()=>Ex,negative:()=>uc,never:()=>Vc,nonnegative:()=>dc,nonoptional:()=>Hg,nonpositive:()=>lc,normalize:()=>Xn,null:()=>Eg,nullable:()=>Po,nullish:()=>Ix,number:()=>vg,object:()=>px,optional:()=>Ro,overwrite:()=>yt,parse:()=>ig,parseAsync:()=>og,partialRecord:()=>bx,pipe:()=>Ac,positive:()=>cc,prefault:()=>Wg,preprocess:()=>Ux,prettifyError:()=>_d,promise:()=>Nx,property:()=>mc,readonly:()=>eh,record:()=>Og,refine:()=>ah,regex:()=>Zn,regexes:()=>Je,registry:()=>Fs,safeDecode:()=>pg,safeDecodeAsync:()=>gg,safeEncode:()=>mg,safeEncodeAsync:()=>fg,safeParse:()=>ag,safeParseAsync:()=>sg,set:()=>_x,setErrorMap:()=>h1,size:()=>Kr,slugify:()=>ti,startsWith:()=>qn,strictObject:()=>fx,string:()=>$o,stringFormat:()=>YE,stringbool:()=>zx,success:()=>$x,superRefine:()=>sh,symbol:()=>sx,templateLiteral:()=>Cx,toJSONSchema:()=>hc,toLowerCase:()=>Qn,toUpperCase:()=>ei,transform:()=>Wc,treeifyError:()=>Sd,trim:()=>Jn,tuple:()=>kg,uint32:()=>nx,uint64:()=>ax,ulid:()=>zE,undefined:()=>cx,union:()=>Zc,unknown:()=>Jr,uppercase:()=>Wn,url:()=>wE,util:()=>_,uuid:()=>RE,uuidv4:()=>PE,uuidv6:()=>CE,uuidv7:()=>NE,void:()=>lx,xid:()=>LE,xor:()=>hx});var Jt={};$t(Jt,{$ZodAny:()=>Ym,$ZodArray:()=>tp,$ZodAsyncError:()=>bt,$ZodBase64:()=>Um,$ZodBase64URL:()=>Fm,$ZodBigInt:()=>ks,$ZodBigIntFormat:()=>Wm,$ZodBoolean:()=>bo,$ZodCIDRv4:()=>jm,$ZodCIDRv6:()=>zm,$ZodCUID:()=>Im,$ZodCUID2:()=>$m,$ZodCatch:()=>yp,$ZodCheck:()=>X,$ZodCheckBigIntFormat:()=>tm,$ZodCheckEndsWith:()=>pm,$ZodCheckGreaterThan:()=>Ts,$ZodCheckIncludes:()=>dm,$ZodCheckLengthEquals:()=>sm,$ZodCheckLessThan:()=>$s,$ZodCheckLowerCase:()=>um,$ZodCheckMaxLength:()=>om,$ZodCheckMaxSize:()=>rm,$ZodCheckMimeType:()=>gm,$ZodCheckMinLength:()=>am,$ZodCheckMinSize:()=>nm,$ZodCheckMultipleOf:()=>Qd,$ZodCheckNumberFormat:()=>em,$ZodCheckOverwrite:()=>hm,$ZodCheckProperty:()=>fm,$ZodCheckRegex:()=>cm,$ZodCheckSizeEquals:()=>im,$ZodCheckStartsWith:()=>mm,$ZodCheckStringFormat:()=>Bn,$ZodCheckUpperCase:()=>lm,$ZodCodec:()=>So,$ZodCustom:()=>Tp,$ZodCustomStringFormat:()=>Zm,$ZodDate:()=>ep,$ZodDefault:()=>gp,$ZodDiscriminatedUnion:()=>ip,$ZodE164:()=>Bm,$ZodEmail:()=>_m,$ZodEmoji:()=>xm,$ZodEncodeError:()=>hr,$ZodEnum:()=>up,$ZodError:()=>mo,$ZodExactOptional:()=>pp,$ZodFile:()=>dp,$ZodFunction:()=>Ap,$ZodGUID:()=>ym,$ZodIPv4:()=>Om,$ZodIPv6:()=>Dm,$ZodISODate:()=>Nm,$ZodISODateTime:()=>Cm,$ZodISODuration:()=>km,$ZodISOTime:()=>wm,$ZodIntersection:()=>op,$ZodJWT:()=>Vm,$ZodKSUID:()=>Pm,$ZodLazy:()=>$p,$ZodLiteral:()=>lp,$ZodMAC:()=>Mm,$ZodMap:()=>sp,$ZodNaN:()=>Sp,$ZodNanoID:()=>Am,$ZodNever:()=>Jm,$ZodNonOptional:()=>vp,$ZodNull:()=>Km,$ZodNullable:()=>fp,$ZodNumber:()=>ws,$ZodNumberFormat:()=>Gm,$ZodObject:()=>__,$ZodObjectJIT:()=>rp,$ZodOptional:()=>Ds,$ZodPipe:()=>Ms,$ZodPrefault:()=>hp,$ZodPreprocess:()=>_p,$ZodPromise:()=>Ip,$ZodReadonly:()=>Ep,$ZodRealError:()=>Ve,$ZodRecord:()=>ap,$ZodRegistry:()=>Us,$ZodSet:()=>cp,$ZodString:()=>qr,$ZodStringFormat:()=>q,$ZodSuccess:()=>bp,$ZodSymbol:()=>Hm,$ZodTemplateLiteral:()=>xp,$ZodTransform:()=>mp,$ZodTuple:()=>Os,$ZodType:()=>N,$ZodULID:()=>Tm,$ZodURL:()=>Em,$ZodUUID:()=>Sm,$ZodUndefined:()=>qm,$ZodUnion:()=>yo,$ZodUnknown:()=>Xm,$ZodVoid:()=>Qm,$ZodXID:()=>Rm,$ZodXor:()=>np,$brand:()=>cd,$constructor:()=>f,$input:()=>Pp,$output:()=>Rp,Doc:()=>vo,JSONSchema:()=>xE,JSONSchemaGenerator:()=>vc,NEVER:()=>sd,TimePrecision:()=>kp,_any:()=>ef,_array:()=>cf,_base64:()=>ic,_base64url:()=>oc,_bigint:()=>Hp,_boolean:()=>Gp,_catch:()=>o1,_check:()=>EE,_cidrv4:()=>rc,_cidrv6:()=>nc,_coercedBigint:()=>qp,_coercedBoolean:()=>Wp,_coercedDate:()=>af,_coercedNumber:()=>Lp,_coercedString:()=>Np,_cuid:()=>Ks,_cuid2:()=>Ys,_custom:()=>lf,_date:()=>of,_decode:()=>vs,_decodeAsync:()=>ys,_default:()=>r1,_discriminatedUnion:()=>ZD,_e164:()=>ac,_email:()=>Bs,_emoji:()=>Hs,_encode:()=>hs,_encodeAsync:()=>bs,_endsWith:()=>Kn,_enum:()=>YD,_file:()=>uf,_float32:()=>Fp,_float64:()=>Bp,_gt:()=>Ct,_gte:()=>De,_guid:()=>xo,_includes:()=>Hn,_int:()=>Up,_int32:()=>Vp,_int64:()=>Kp,_intersection:()=>GD,_ipv4:()=>ec,_ipv6:()=>tc,_isoDate:()=>Dp,_isoDateTime:()=>Op,_isoDuration:()=>jp,_isoTime:()=>Mp,_jwt:()=>sc,_ksuid:()=>Qs,_lazy:()=>u1,_length:()=>Xr,_literal:()=>JD,_lowercase:()=>Gn,_lt:()=>Pt,_lte:()=>Qe,_mac:()=>wp,_map:()=>qD,_max:()=>Qe,_maxLength:()=>Yr,_maxSize:()=>Er,_mime:()=>Yn,_min:()=>De,_minLength:()=>Xt,_minSize:()=>Nt,_multipleOf:()=>_r,_nan:()=>sf,_nanoid:()=>qs,_nativeEnum:()=>XD,_negative:()=>uc,_never:()=>rf,_nonnegative:()=>dc,_nonoptional:()=>n1,_nonpositive:()=>lc,_normalize:()=>Xn,_null:()=>Qp,_nullable:()=>t1,_number:()=>zp,_optional:()=>e1,_overwrite:()=>yt,_parse:()=>zn,_parseAsync:()=>Ln,_pipe:()=>a1,_positive:()=>cc,_promise:()=>l1,_property:()=>mc,_readonly:()=>s1,_record:()=>HD,_refine:()=>df,_regex:()=>Zn,_safeDecode:()=>_s,_safeDecodeAsync:()=>xs,_safeEncode:()=>Ss,_safeEncodeAsync:()=>Es,_safeParse:()=>Un,_safeParseAsync:()=>Fn,_set:()=>KD,_size:()=>Kr,_slugify:()=>ti,_startsWith:()=>qn,_string:()=>Cp,_stringFormat:()=>ri,_stringbool:()=>gf,_success:()=>i1,_superRefine:()=>mf,_symbol:()=>Xp,_templateLiteral:()=>c1,_toLowerCase:()=>Qn,_toUpperCase:()=>ei,_transform:()=>QD,_trim:()=>Jn,_tuple:()=>WD,_uint32:()=>Zp,_uint64:()=>Yp,_ulid:()=>Xs,_undefined:()=>Jp,_union:()=>BD,_unknown:()=>tf,_uppercase:()=>Wn,_url:()=>Ao,_uuid:()=>Vs,_uuidv4:()=>Zs,_uuidv6:()=>Gs,_uuidv7:()=>Ws,_void:()=>nf,_xid:()=>Js,_xor:()=>VD,clone:()=>ke,config:()=>se,createStandardJSONSchemaMethod:()=>ni,createToJSONSchemaMethod:()=>hf,decode:()=>lO,decodeAsync:()=>mO,describe:()=>pf,encode:()=>uO,encodeAsync:()=>dO,extractDefs:()=>Ar,finalize:()=>Ir,flattenError:()=>po,formatError:()=>fo,globalConfig:()=>Gr,globalRegistry:()=>_e,initializeContext:()=>xr,isValidBase64:()=>Lm,isValidBase64URL:()=>v_,isValidJWT:()=>b_,locales:()=>Eo,meta:()=>ff,parse:()=>fs,parseAsync:()=>gs,prettifyError:()=>_d,process:()=>Z,regexes:()=>Je,registry:()=>Fs,safeDecode:()=>fO,safeDecodeAsync:()=>hO,safeEncode:()=>pO,safeEncodeAsync:()=>gO,safeParse:()=>Ed,safeParseAsync:()=>xd,toDotPath:()=>YS,toJSONSchema:()=>hc,treeifyError:()=>Sd,util:()=>_,version:()=>vm});var GS,sd=Object.freeze({status:"aborted"});function f(e,t,n){function i(c,u){if(c._zod||Object.defineProperty(c,"_zod",{value:{def:u,constr:a,traits:new Set},enumerable:!1}),c._zod.traits.has(e))return;c._zod.traits.add(e),t(c,u);let l=a.prototype,m=Object.keys(l);for(let p=0;p<m.length;p++){let g=m[p];g in c||(c[g]=l[g].bind(c))}}let r=n?.Parent??Object;class o extends r{}Object.defineProperty(o,"name",{value:e});function a(c){var u;let l=n?.Parent?new o:this;i(l,c),(u=l._zod).deferred??(u.deferred=[]);for(let m of l._zod.deferred)m();return l}return Object.defineProperty(a,"init",{value:i}),Object.defineProperty(a,Symbol.hasInstance,{value:c=>n?.Parent&&c instanceof n.Parent?!0:c?._zod?.traits?.has(e)}),Object.defineProperty(a,"name",{value:e}),a}var cd=Symbol("zod_brand"),bt=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},hr=class extends Error{constructor(t){super(`Encountered unidirectional transform during encode: ${t}`),this.name="ZodEncodeError"}};(GS=globalThis).__zod_globalConfig??(GS.__zod_globalConfig={});var Gr=globalThis.__zod_globalConfig;function se(e){return e&&Object.assign(Gr,e),Gr}var _={};$t(_,{BIGINT_FORMAT_RANGES:()=>bd,Class:()=>ld,NUMBER_FORMAT_RANGES:()=>vd,aborted:()=>Sr,allowsEval:()=>pd,assert:()=>Fk,assertEqual:()=>jk,assertIs:()=>Lk,assertNever:()=>Uk,assertNotEqual:()=>zk,assignProp:()=>br,base64ToUint8Array:()=>HS,base64urlToUint8Array:()=>iO,cached:()=>Mn,captureStackTrace:()=>ps,cleanEnum:()=>nO,cleanRegex:()=>so,clone:()=>ke,cloneDef:()=>Vk,createTransparentProxy:()=>Kk,defineLazy:()=>M,esc:()=>ms,escapeRegex:()=>ot,explicitlyAborted:()=>yd,extend:()=>Jk,finalizeIssue:()=>Oe,floatSafeRemainder:()=>dd,getElementAtPath:()=>Zk,getEnumValues:()=>ao,getLengthableOrigin:()=>lo,getParsedType:()=>qk,getSizableOrigin:()=>uo,hexToUint8Array:()=>aO,isObject:()=>Wr,isPlainObject:()=>yr,issue:()=>jn,joinValues:()=>h,jsonStringifyReplacer:()=>Dn,merge:()=>eO,mergeDefs:()=>Yt,normalizeParams:()=>E,nullish:()=>vr,numKeys:()=>Hk,objectClone:()=>Bk,omit:()=>Xk,optionalKeys:()=>hd,parsedType:()=>S,partial:()=>tO,pick:()=>Yk,prefixIssues:()=>Be,primitiveTypes:()=>gd,promiseAllObject:()=>Gk,propertyKeyTypes:()=>co,randomString:()=>Wk,required:()=>rO,safeExtend:()=>Qk,shallowClone:()=>fd,slugify:()=>md,stringifyPrimitive:()=>y,uint8ArrayToBase64:()=>qS,uint8ArrayToBase64url:()=>oO,uint8ArrayToHex:()=>sO,unwrapMessage:()=>oo});function jk(e){return e}function zk(e){return e}function Lk(e){}function Uk(e){throw new Error("Unexpected value in exhaustive check")}function Fk(e){}function ao(e){let t=Object.values(e).filter(i=>typeof i=="number");return Object.entries(e).filter(([i,r])=>t.indexOf(+i)===-1).map(([i,r])=>r)}function h(e,t="|"){return e.map(n=>y(n)).join(t)}function Dn(e,t){return typeof t=="bigint"?t.toString():t}function Mn(e){return{get value(){{let n=e();return Object.defineProperty(this,"value",{value:n}),n}throw new Error("cached value already set")}}}function vr(e){return e==null}function so(e){let t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}function dd(e,t){let n=e/t,i=Math.round(n),r=Number.EPSILON*Math.max(Math.abs(n),1);return Math.abs(n-i)<r?0:n-i}var WS=Symbol("evaluating");function M(e,t,n){let i;Object.defineProperty(e,t,{get(){if(i!==WS)return i===void 0&&(i=WS,i=n()),i},set(r){Object.defineProperty(e,t,{value:r})},configurable:!0})}function Bk(e){return Object.create(Object.getPrototypeOf(e),Object.getOwnPropertyDescriptors(e))}function br(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function Yt(...e){let t={};for(let n of e){let i=Object.getOwnPropertyDescriptors(n);Object.assign(t,i)}return Object.defineProperties({},t)}function Vk(e){return Yt(e._zod.def)}function Zk(e,t){return t?t.reduce((n,i)=>n?.[i],e):e}function Gk(e){let t=Object.keys(e),n=t.map(i=>e[i]);return Promise.all(n).then(i=>{let r={};for(let o=0;o<t.length;o++)r[t[o]]=i[o];return r})}function Wk(e=10){let t="abcdefghijklmnopqrstuvwxyz",n="";for(let i=0;i<e;i++)n+=t[Math.floor(Math.random()*t.length)];return n}function ms(e){return JSON.stringify(e)}function md(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}var ps="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function Wr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var pd=Mn(()=>{if(Gr.jitless||typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let e=Function;return new e(""),!0}catch{return!1}});function yr(e){if(Wr(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!="function")return!0;let n=t.prototype;return!(Wr(n)===!1||Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")===!1)}function fd(e){return yr(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}function Hk(e){let t=0;for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&t++;return t}var qk=e=>{let t=typeof e;switch(t){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(e)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":return Array.isArray(e)?"array":e===null?"null":e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?"promise":typeof Map<"u"&&e instanceof Map?"map":typeof Set<"u"&&e instanceof Set?"set":typeof Date<"u"&&e instanceof Date?"date":typeof File<"u"&&e instanceof File?"file":"object";default:throw new Error(`Unknown data type: ${t}`)}},co=new Set(["string","number","symbol"]),gd=new Set(["string","number","bigint","boolean","symbol","undefined"]);function ot(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function ke(e,t,n){let i=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(i._zod.parent=e),i}function E(e){let t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function Kk(e){let t;return new Proxy({},{get(n,i,r){return t??(t=e()),Reflect.get(t,i,r)},set(n,i,r,o){return t??(t=e()),Reflect.set(t,i,r,o)},has(n,i){return t??(t=e()),Reflect.has(t,i)},deleteProperty(n,i){return t??(t=e()),Reflect.deleteProperty(t,i)},ownKeys(n){return t??(t=e()),Reflect.ownKeys(t)},getOwnPropertyDescriptor(n,i){return t??(t=e()),Reflect.getOwnPropertyDescriptor(t,i)},defineProperty(n,i,r){return t??(t=e()),Reflect.defineProperty(t,i,r)}})}function y(e){return typeof e=="bigint"?e.toString()+"n":typeof e=="string"?`"${e}"`:`${e}`}function hd(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}var vd={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},bd={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function Yk(e,t){let n=e._zod.def,i=n.checks;if(i&&i.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");let o=Yt(e._zod.def,{get shape(){let a={};for(let c in t){if(!(c in n.shape))throw new Error(`Unrecognized key: "${c}"`);t[c]&&(a[c]=n.shape[c])}return br(this,"shape",a),a},checks:[]});return ke(e,o)}function Xk(e,t){let n=e._zod.def,i=n.checks;if(i&&i.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");let o=Yt(e._zod.def,{get shape(){let a={...e._zod.def.shape};for(let c in t){if(!(c in n.shape))throw new Error(`Unrecognized key: "${c}"`);t[c]&&delete a[c]}return br(this,"shape",a),a},checks:[]});return ke(e,o)}function Jk(e,t){if(!yr(t))throw new Error("Invalid input to extend: expected a plain object");let n=e._zod.def.checks;if(n&&n.length>0){let o=e._zod.def.shape;for(let a in t)if(Object.getOwnPropertyDescriptor(o,a)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let r=Yt(e._zod.def,{get shape(){let o={...e._zod.def.shape,...t};return br(this,"shape",o),o}});return ke(e,r)}function Qk(e,t){if(!yr(t))throw new Error("Invalid input to safeExtend: expected a plain object");let n=Yt(e._zod.def,{get shape(){let i={...e._zod.def.shape,...t};return br(this,"shape",i),i}});return ke(e,n)}function eO(e,t){if(e._zod.def.checks?.length)throw new Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");let n=Yt(e._zod.def,{get shape(){let i={...e._zod.def.shape,...t._zod.def.shape};return br(this,"shape",i),i},get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]});return ke(e,n)}function tO(e,t,n){let r=t._zod.def.checks;if(r&&r.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");let a=Yt(t._zod.def,{get shape(){let c=t._zod.def.shape,u={...c};if(n)for(let l in n){if(!(l in c))throw new Error(`Unrecognized key: "${l}"`);n[l]&&(u[l]=e?new e({type:"optional",innerType:c[l]}):c[l])}else for(let l in c)u[l]=e?new e({type:"optional",innerType:c[l]}):c[l];return br(this,"shape",u),u},checks:[]});return ke(t,a)}function rO(e,t,n){let i=Yt(t._zod.def,{get shape(){let r=t._zod.def.shape,o={...r};if(n)for(let a in n){if(!(a in o))throw new Error(`Unrecognized key: "${a}"`);n[a]&&(o[a]=new e({type:"nonoptional",innerType:r[a]}))}else for(let a in r)o[a]=new e({type:"nonoptional",innerType:r[a]});return br(this,"shape",o),o}});return ke(t,i)}function Sr(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function yd(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue===!1)return!0;return!1}function Be(e,t){return t.map(n=>{var i;return(i=n).path??(i.path=[]),n.path.unshift(e),n})}function oo(e){return typeof e=="string"?e:e?.message}function Oe(e,t,n){let i=e.message?e.message:oo(e.inst?._zod.def?.error?.(e))??oo(t?.error?.(e))??oo(n.customError?.(e))??oo(n.localeError?.(e))??"Invalid input",{inst:r,continue:o,input:a,...c}=e;return c.path??(c.path=[]),c.message=i,t?.reportInput&&(c.input=a),c}function uo(e){return e instanceof Set?"set":e instanceof Map?"map":e instanceof File?"file":"unknown"}function lo(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function S(e){let t=typeof e;switch(t){case"number":return Number.isNaN(e)?"nan":"number";case"object":{if(e===null)return"null";if(Array.isArray(e))return"array";let n=e;if(n&&Object.getPrototypeOf(n)!==Object.prototype&&"constructor"in n&&n.constructor)return n.constructor.name}}return t}function jn(...e){let[t,n,i]=e;return typeof t=="string"?{message:t,code:"custom",input:n,inst:i}:{...t}}function nO(e){return Object.entries(e).filter(([t,n])=>Number.isNaN(Number.parseInt(t,10))).map(t=>t[1])}function HS(e){let t=atob(e),n=new Uint8Array(t.length);for(let i=0;i<t.length;i++)n[i]=t.charCodeAt(i);return n}function qS(e){let t="";for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return btoa(t)}function iO(e){let t=e.replace(/-/g,"+").replace(/_/g,"/"),n="=".repeat((4-t.length%4)%4);return HS(t+n)}function oO(e){return qS(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function aO(e){let t=e.replace(/^0x/,"");if(t.length%2!==0)throw new Error("Invalid hex string length");let n=new Uint8Array(t.length/2);for(let i=0;i<t.length;i+=2)n[i/2]=Number.parseInt(t.slice(i,i+2),16);return n}function sO(e){return Array.from(e).map(t=>t.toString(16).padStart(2,"0")).join("")}var ld=class{constructor(...t){}};var KS=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,Dn,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},mo=f("$ZodError",KS),Ve=f("$ZodError",KS,{Parent:Error});function po(e,t=n=>n.message){let n={},i=[];for(let r of e.issues)r.path.length>0?(n[r.path[0]]=n[r.path[0]]||[],n[r.path[0]].push(t(r))):i.push(t(r));return{formErrors:i,fieldErrors:n}}function fo(e,t=n=>n.message){let n={_errors:[]},i=(r,o=[])=>{for(let a of r.issues)if(a.code==="invalid_union"&&a.errors.length)a.errors.map(c=>i({issues:c},[...o,...a.path]));else if(a.code==="invalid_key")i({issues:a.issues},[...o,...a.path]);else if(a.code==="invalid_element")i({issues:a.issues},[...o,...a.path]);else{let c=[...o,...a.path];if(c.length===0)n._errors.push(t(a));else{let u=n,l=0;for(;l<c.length;){let m=c[l];l===c.length-1?(u[m]=u[m]||{_errors:[]},u[m]._errors.push(t(a))):u[m]=u[m]||{_errors:[]},u=u[m],l++}}}};return i(e),n}function Sd(e,t=n=>n.message){let n={errors:[]},i=(r,o=[])=>{var a,c;for(let u of r.issues)if(u.code==="invalid_union"&&u.errors.length)u.errors.map(l=>i({issues:l},[...o,...u.path]));else if(u.code==="invalid_key")i({issues:u.issues},[...o,...u.path]);else if(u.code==="invalid_element")i({issues:u.issues},[...o,...u.path]);else{let l=[...o,...u.path];if(l.length===0){n.errors.push(t(u));continue}let m=n,p=0;for(;p<l.length;){let g=l[p],v=p===l.length-1;typeof g=="string"?(m.properties??(m.properties={}),(a=m.properties)[g]??(a[g]={errors:[]}),m=m.properties[g]):(m.items??(m.items=[]),(c=m.items)[g]??(c[g]={errors:[]}),m=m.items[g]),v&&m.errors.push(t(u)),p++}}};return i(e),n}function YS(e){let t=[],n=e.map(i=>typeof i=="object"?i.key:i);for(let i of n)typeof i=="number"?t.push(`[${i}]`):typeof i=="symbol"?t.push(`[${JSON.stringify(String(i))}]`):/[^\w$]/.test(i)?t.push(`[${JSON.stringify(i)}]`):(t.length&&t.push("."),t.push(i));return t.join("")}function _d(e){let t=[],n=[...e.issues].sort((i,r)=>(i.path??[]).length-(r.path??[]).length);for(let i of n)t.push(`\u2716 ${i.message}`),i.path?.length&&t.push(` \u2192 at ${YS(i.path)}`);return t.join(`
100
+ `),this.close()}_(t,n){return t.toLowerCase()==="y"?(this.value=!0,this.submit()):t.toLowerCase()==="n"?(this.value=!1,this.submit()):this.bell()}render(){this.closed||(this.firstRender?this.out.write(Rw.hide):this.out.write(OF(this.outputText,this.out.columns)),super.render(),this.outputText=[Tw.symbol(this.done,this.aborted),$w.bold(this.msg),Tw.delimiter(this.done),this.done?this.value?this.yesMsg:this.noMsg:$w.gray(this.initialValue?this.yesOption:this.noOption)].join(" "),this.out.write(DF.line+Rw.to(0)+this.outputText))}};Pw.exports=fS});var ww=I((LJ,Nw)=>{"use strict";Nw.exports={TextPrompt:PN(),SelectPrompt:kN(),TogglePrompt:jN(),DatePrompt:uw(),NumberPrompt:pw(),MultiselectPrompt:uS(),AutocompletePrompt:_w(),AutocompleteMultiselectPrompt:Iw(),ConfirmPrompt:Cw()}});var Ow=I(kw=>{"use strict";var Xe=kw,MF=ww(),Xl=e=>e;function Ht(e,t,n={}){return new Promise((i,r)=>{let o=new MF[e](t),a=n.onAbort||Xl,c=n.onSubmit||Xl,u=n.onExit||Xl;o.on("state",t.onState||Xl),o.on("submit",l=>i(c(l))),o.on("exit",l=>i(u(l))),o.on("abort",l=>r(a(l)))})}Xe.text=e=>Ht("TextPrompt",e);Xe.password=e=>(e.style="password",Xe.text(e));Xe.invisible=e=>(e.style="invisible",Xe.text(e));Xe.number=e=>Ht("NumberPrompt",e);Xe.date=e=>Ht("DatePrompt",e);Xe.confirm=e=>Ht("ConfirmPrompt",e);Xe.list=e=>{let t=e.separator||",";return Ht("TextPrompt",e,{onSubmit:n=>n.split(t).map(i=>i.trim())})};Xe.toggle=e=>Ht("TogglePrompt",e);Xe.select=e=>Ht("SelectPrompt",e);Xe.multiselect=e=>{e.choices=[].concat(e.choices||[]);let t=n=>n.filter(i=>i.selected).map(i=>i.value);return Ht("MultiselectPrompt",e,{onAbort:t,onSubmit:t})};Xe.autocompleteMultiselect=e=>{e.choices=[].concat(e.choices||[]);let t=n=>n.filter(i=>i.selected).map(i=>i.value);return Ht("AutocompleteMultiselectPrompt",e,{onAbort:t,onSubmit:t})};var jF=(e,t)=>Promise.resolve(t.filter(n=>n.title.slice(0,e.length).toLowerCase()===e.toLowerCase()));Xe.autocomplete=e=>(e.suggest=e.suggest||jF,e.choices=[].concat(e.choices||[]),Ht("AutocompletePrompt",e))});var jw=I((FJ,Mw)=>{"use strict";var gS=Ow(),zF=["suggest","format","onState","validate","onRender","type"],Dw=()=>{};async function Fr(e=[],{onSubmit:t=Dw,onCancel:n=Dw}={}){let i={},r=Fr._override||{};e=[].concat(e);let o,a,c,u,l,m,p=async(g,v,A=!1)=>{if(!(!A&&g.validate&&g.validate(v)!==!0))return g.format?await g.format(v,i):v};for(a of e)if({name:u,type:l}=a,typeof l=="function"&&(l=await l(o,{...i},a),a.type=l),!!l){for(let g in a){if(zF.includes(g))continue;let v=a[g];a[g]=typeof v=="function"?await v(o,{...i},m):v}if(m=a,typeof a.message!="string")throw new Error("prompt message is required");if({name:u,type:l}=a,gS[l]===void 0)throw new Error(`prompt type (${l}) is not defined`);if(r[a.name]!==void 0&&(o=await p(a,r[a.name]),o!==void 0)){i[u]=o;continue}try{o=Fr._injected?LF(Fr._injected,a.initial):await gS[l](a),i[u]=o=await p(a,o,!0),c=await t(a,o,i)}catch{c=!await n(a,i)}if(c)return i}return i}function LF(e,t){let n=e.shift();if(n instanceof Error)throw n;return n===void 0?t:n}function UF(e){Fr._injected=(Fr._injected||[]).concat(e)}function FF(e){Fr._override=Object.assign({},e)}Mw.exports=Object.assign(Fr,{prompt:Fr,prompts:gS,inject:UF,override:FF})});var Lw=I((BJ,zw)=>{function BF(e){e=(Array.isArray(e)?e:e.split(".")).map(Number);let t=0,n=process.versions.node.split(".").map(Number);for(;t<e.length;t++){if(n[t]>e[t])return!1;if(e[t]>n[t])return!0}return!1}zw.exports=BF("8.6.0")?uN():jw()});import{join as ht,dirname as ES,normalize as Qw}from"node:path";import{readFileSync as ek,existsSync as tk}from"node:fs";var Jw=Object.defineProperty,we=(e,t)=>Jw(e,"name",{value:t,configurable:!0}),Br="fjall";function Vr(e,t){let n=Qw(e);if(n.includes("..")||n.startsWith("/"))throw new Error(`Invalid ${t}: path traversal is not allowed`)}we(Vr,"assertNoTraversal");function rk(){return Br}we(rk,"getFjallPath");function nk(e){let t=ES(e);return ES(t)||"."}we(nk,"getProjectRoot");function xS(e){if(!tk(e))throw new Error(`Infrastructure file not found: ${e}`);let t=ek(e,"utf-8").match(/const\s+appName\s*=\s*["']([^"']+)["']/);if(!t||!t[1])throw new Error(`Could not find appName in infrastructure file: ${e}. Expected format: const appName = "yourAppName";`);return t[1]}we(xS,"getAppNameFromInfrastructure");function ik(e){let t=ht(e,ed);return xS(t)}we(ik,"getAppName");function qt(e){return Vr(e,"app name"),ht(Br,e,ed)}we(qt,"getInfrastructurePath");function ok(e){return Vr(e,"app name"),ht(Br,e)}we(ok,"getAppPath");function ak(e){return Vr(e,"component name"),ht(Br,e)}we(ak,"getOrganisationComponentPath");function sk(e){return Vr(e,"deployment type"),ht(Br,e,"logs")}we(sk,"getDeploymentLogsPath");function ck(e){return Vr(e,"deployment type"),ht(Br,e,"logs","cloudformation")}we(ck,"getCloudFormationLogsPath");function AS(){return ht(Br,"domains")}we(AS,"getDomainsDir");function Ql(e){return Vr(e,"domain name"),ht(AS(),e)}we(Ql,"getDomainComponentPath");function uk(e){return ht(Ql(e),ed)}we(uk,"getDomainInfrastructurePath");function lk(e){return ht(Ql(e),dk)}we(lk,"getDomainZoneFilePath");var ed="infrastructure.ts",dk="zone.bind",mk="cdk.out";function pk(e){return ht(e,mk)}we(pk,"getCdkOutPath");var fk=Object.defineProperty,Rn=(e,t)=>fk(e,"name",{value:t,configurable:!0});function td(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}Rn(td,"escapeRegExp");function IS(e,t,n){let i=qt(t),r=e.read(i)?.toString();return r?new RegExp(`["']${td(n)}["']`).test(r):!1}Rn(IS,"resourceExists");function rd(e,t,n){let i=qt(t);if(!e.read(i)?.toString())throw new Error(`Infrastructure file not found for ${t}`);if(IS(e,t,n))throw new Error(`Resource name '${n}' already exists in ${t}. Please choose a different name or remove the existing resource first.`)}Rn(rd,"assertResourceNameUnique");function gk(e,t,n){let i=qt(t),r=e.read(i)?.toString();if(!r)return 0;let o={database:/DatabaseFactory\.build\(/g,compute:/ComputeFactory\.build\(/g,lambda:/type:\s*["']lambda["']/g,ecs:/type:\s*["']ecs["']/g,ec2:/type:\s*["']ec2["']/g}[n];if(!o)return 0;let a=r.match(o);return a?a.length:0}Rn(gk,"countResourcesOfType");function hk(e,t){let n=qt(t),i=e.read(n)?.toString();if(!i)return[];let r=[],o=i.matchAll(/ComputeFactory\.build\(["']([^"']+)["'],\s*\{([^}]*?)\}/gs);for(let a of o){let c=a[1],u=a[2],l="ecs";u.includes('type: "lambda"')?l="lambda":u.includes('type: "ec2"')&&(l="ec2");let m=u.includes("connections:"),p=[];if(m){let g=u.match(/connections:\s*\[([^\]]+)\]/);if(g){let v=g[1].match(/\w+/g)??[];p.push(...v)}}r.push({name:c,type:l,hasConnections:m,connectedResources:p})}return r}Rn(hk,"detectComputeResources");function nd(e,t,n){let i=qt(t),r=e.read(i)?.toString();return r?new RegExp(`databaseName:\\s*["']${td(n)}["']`).test(r):!1}Rn(nd,"databaseExists");import*as Xi from"fs";import*as nP from"path";var vk=Object.defineProperty,gr=(e,t)=>vk(e,"name",{value:t,configurable:!0});function Fe(e){return e.replace(/[-_](.)/g,(t,n)=>n.toUpperCase()).replace(/^./,t=>t.toUpperCase())}gr(Fe,"toPascalCase");function Tt(e){return e.replace(/([A-Z]+)([A-Z][a-z])/g,"$1-$2").replace(/([a-z\d])([A-Z])/g,"$1-$2").replace(/[\s_]+/g,"-").toLowerCase()}gr(Tt,"toKebab");function Pn(e){return Tt(e).replace(/-/g,"_")}gr(Pn,"toValidDatabaseName");function $S(e){return Tt(e).replace(/-/g,"_").toUpperCase()}gr($S,"toScreamingSnake");function TS(e){return e.length===0?e:e.charAt(0).toUpperCase()+e.slice(1)}gr(TS,"capitalise");function RS(e){return e.split(".").join("")}gr(RS,"getSafeZoneName");function Zr(e){return e.toLowerCase().replace(/[^a-z0-9]/g,"")}gr(Zr,"accountConstructKey");function PS(e){let t=e.replace(new RegExp("\\P{ASCII}","gu"),"");return Zr(t)===Zr(e)&&Zr(e)!==""}gr(PS,"hasAsciiStableConstructKey");var bk=Object.defineProperty,ns=(e,t)=>bk(e,"name",{value:t,configurable:!0});function is(e){return`${Fe(e.split(".").join(""))}Domain`}ns(is,"getDomainStackName");function CS(e){return`${e}UsEast1Certificates`}ns(CS,"getDomainUsEast1CertificatesStackName");function id(e){let t=e.replace(/\./g,"-");return{hostedZoneId:`${t}-hosted-zone-id`,certificateArn:`${t}-certificate-arn`,usEast1CertificateArn:`${t}-us-east-1-certificate-arn`,delegationRoleArn:`${t}-delegation-role-arn`,nameservers:`${t}-nameservers`}}ns(id,"getDomainExportNames");function NS(e){return typeof e.hostedZoneId=="string"}ns(NS,"isManagedDomainBinding");var yk=Object.defineProperty,Sk=(e,t)=>yk(e,"name",{value:t,configurable:!0});function wS(e){return`${Fe(e)}ImageTag`}Sk(wS,"imageTagParameterName");var _k=Object.defineProperty,Ek=(e,t)=>_k(e,"name",{value:t,configurable:!0});function kS(e){let t=new Map;for(let n of e){let i=Zr(n);if(i==="")return{kind:"empty-construct-key",name:n};let r=t.get(i);if(r!==void 0)return{kind:"duplicate-construct-key",name:n,existingName:r,constructKey:i};t.set(i,n)}return null}Ek(kS,"findAccountNameCollision");var xk=Object.defineProperty,ro=(e,t)=>xk(e,"name",{value:t,configurable:!0}),Cn="us-east-2";var it=Object.freeze([{code:"us-east-2",name:"US East",city:"Ohio",country:"USA",optIn:!1},{code:"us-west-2",name:"US West",city:"Oregon",country:"USA",optIn:!1},{code:"us-east-1",name:"US East",city:"N. Virginia",country:"USA",optIn:!1},{code:"eu-west-1",name:"EU West",city:"Ireland",country:"Ireland",optIn:!1},{code:"eu-central-1",name:"EU Central",city:"Frankfurt",country:"Germany",optIn:!1},{code:"ap-southeast-1",name:"Asia Pacific",city:"Singapore",country:"Singapore",optIn:!1},{code:"ap-northeast-1",name:"Asia Pacific",city:"Tokyo",country:"Japan",optIn:!1},{code:"ap-southeast-2",name:"Asia Pacific",city:"Sydney",country:"Australia",optIn:!1},{code:"us-west-1",name:"US West",city:"N. California",country:"USA",optIn:!1},{code:"ca-central-1",name:"Canada",city:"Central",country:"Canada",optIn:!1},{code:"af-south-1",name:"Africa",city:"Cape Town",country:"South Africa",optIn:!0},{code:"ap-east-1",name:"Asia Pacific",city:"Hong Kong",country:"Hong Kong",optIn:!0},{code:"ap-northeast-2",name:"Asia Pacific",city:"Seoul",country:"South Korea",optIn:!1},{code:"ap-northeast-3",name:"Asia Pacific",city:"Osaka",country:"Japan",optIn:!1},{code:"ap-south-1",name:"Asia Pacific",city:"Mumbai",country:"India",optIn:!1},{code:"ap-south-2",name:"Asia Pacific",city:"Hyderabad",country:"India",optIn:!0},{code:"ap-southeast-3",name:"Asia Pacific",city:"Jakarta",country:"Indonesia",optIn:!0},{code:"ap-southeast-4",name:"Asia Pacific",city:"Melbourne",country:"Australia",optIn:!0},{code:"eu-central-2",name:"EU Central",city:"Zurich",country:"Switzerland",optIn:!0},{code:"eu-north-1",name:"EU North",city:"Stockholm",country:"Sweden",optIn:!1},{code:"eu-south-1",name:"EU South",city:"Milan",country:"Italy",optIn:!0},{code:"eu-south-2",name:"EU South",city:"Spain",country:"Spain",optIn:!0},{code:"eu-west-2",name:"EU West",city:"London",country:"UK",optIn:!1},{code:"eu-west-3",name:"EU West",city:"Paris",country:"France",optIn:!1},{code:"me-central-1",name:"Middle East",city:"UAE",country:"UAE",optIn:!0},{code:"me-south-1",name:"Middle East",city:"Bahrain",country:"Bahrain",optIn:!0},{code:"sa-east-1",name:"South America",city:"S\xE3o Paulo",country:"Brazil",optIn:!1},{code:"ap-southeast-5",name:"Asia Pacific",city:"Kuala Lumpur",country:"Malaysia",optIn:!0},{code:"ap-southeast-6",name:"Asia Pacific",city:"Auckland",country:"New Zealand",optIn:!0},{code:"ap-southeast-7",name:"Asia Pacific",city:"Bangkok",country:"Thailand",optIn:!0},{code:"ap-east-2",name:"Asia Pacific",city:"Taipei",country:"Taiwan",optIn:!0},{code:"ca-west-1",name:"Canada West",city:"Calgary",country:"Canada",optIn:!0},{code:"il-central-1",name:"Israel",city:"Tel Aviv",country:"Israel",optIn:!0},{code:"mx-central-1",name:"Mexico",city:"Central",country:"Mexico",optIn:!0}]),Kt=Object.freeze(it.map(e=>e.code)),os=new Set(it.filter(e=>e.optIn).map(e=>e.code));function as(e){return`${e} is an opt-in region: it must be enabled in the AWS account (Account settings \u2192 Regions) before deployment will succeed.`}ro(as,"optInRegionWarning");function Nn(e){return it.find(t=>t.code===e)}ro(Nn,"getRegionInfo");function wn(e){let t=e.split("-");return t.length===3&&t[0]&&t[1]&&t[2]?`${t[0]}${t[1][0]}${t[2]}`:e}ro(wn,"abbreviateRegion");var Ak=Object.freeze({"Europe/London":"eu-west-2","Europe/Jersey":"eu-west-2","Europe/Guernsey":"eu-west-2","Europe/Isle_of_Man":"eu-west-2","Europe/Dublin":"eu-west-1","Europe/Paris":"eu-west-3","Europe/Berlin":"eu-central-1","Europe/Amsterdam":"eu-central-1","Europe/Brussels":"eu-central-1","Europe/Luxembourg":"eu-central-1","Europe/Vienna":"eu-central-1","Europe/Prague":"eu-central-1","Europe/Warsaw":"eu-central-1","Europe/Budapest":"eu-central-1","Europe/Zurich":"eu-central-2","Europe/Stockholm":"eu-north-1","Europe/Oslo":"eu-north-1","Europe/Copenhagen":"eu-north-1","Europe/Helsinki":"eu-north-1","Europe/Tallinn":"eu-north-1","Europe/Riga":"eu-north-1","Europe/Vilnius":"eu-north-1","Europe/Rome":"eu-south-1","Europe/Malta":"eu-south-1","Europe/Athens":"eu-south-1","Europe/Madrid":"eu-south-2","Europe/Lisbon":"eu-south-2","America/New_York":"us-east-1","America/Detroit":"us-east-1","America/Toronto":"ca-central-1","America/Montreal":"ca-central-1","America/Halifax":"ca-central-1","America/Winnipeg":"ca-central-1","America/Chicago":"us-east-2","America/Indiana/Indianapolis":"us-east-2","America/Mexico_City":"us-east-2","America/Denver":"us-west-2","America/Phoenix":"us-west-2","America/Edmonton":"us-west-2","America/Vancouver":"us-west-2","America/Los_Angeles":"us-west-1","America/Tijuana":"us-west-1","America/Sao_Paulo":"sa-east-1","America/Argentina/Buenos_Aires":"sa-east-1","America/Santiago":"sa-east-1","America/Montevideo":"sa-east-1","America/Lima":"sa-east-1","America/Bogota":"us-east-1","Asia/Tokyo":"ap-northeast-1","Asia/Seoul":"ap-northeast-2","Asia/Hong_Kong":"ap-east-1","Asia/Shanghai":"ap-east-1","Asia/Taipei":"ap-east-1","Asia/Macau":"ap-east-1","Asia/Singapore":"ap-southeast-1","Asia/Kuala_Lumpur":"ap-southeast-1","Asia/Bangkok":"ap-southeast-1","Asia/Ho_Chi_Minh":"ap-southeast-1","Asia/Manila":"ap-southeast-1","Asia/Jakarta":"ap-southeast-3","Asia/Kolkata":"ap-south-1","Asia/Calcutta":"ap-south-1","Asia/Karachi":"ap-south-1","Asia/Dhaka":"ap-south-1","Asia/Colombo":"ap-south-1","Asia/Dubai":"me-central-1","Asia/Muscat":"me-central-1","Asia/Qatar":"me-south-1","Asia/Bahrain":"me-south-1","Asia/Riyadh":"me-south-1","Asia/Kuwait":"me-south-1","Asia/Jerusalem":"me-south-1","Australia/Sydney":"ap-southeast-2","Australia/Brisbane":"ap-southeast-2","Australia/Canberra":"ap-southeast-2","Australia/Melbourne":"ap-southeast-4","Australia/Hobart":"ap-southeast-4","Australia/Adelaide":"ap-southeast-4","Pacific/Auckland":"ap-southeast-2","Pacific/Honolulu":"us-west-1","Africa/Johannesburg":"af-south-1","Africa/Casablanca":"eu-south-2","Africa/Cairo":"me-south-1","Indian/Maldives":"ap-south-1"}),Ik=Object.freeze({Europe:"eu-central-1",America:"us-east-1",Asia:"ap-southeast-1",Australia:"ap-southeast-2",Pacific:"ap-southeast-2",Africa:"af-south-1",Atlantic:"eu-west-1",Indian:"ap-south-1"}),$k=Object.freeze({"af-south-1":"eu-west-1","ap-east-1":"ap-southeast-1","ap-southeast-3":"ap-southeast-1","ap-southeast-4":"ap-southeast-2","eu-central-2":"eu-central-1","eu-south-1":"eu-central-1","eu-south-2":"eu-west-3","me-central-1":"ap-south-1","me-south-1":"ap-south-1"});function od(e){return os.has(e)?$k[e]??Cn:e}ro(od,"toDeployableRegion");function ss(e){if(!e)return;let t=Ak[e];if(t!==void 0)return od(t);let n=e.split("/")[0];if(n===void 0)return;let i=Ik[n];return i===void 0?void 0:od(i)}ro(ss,"suggestRegionForTimezone");var Tk=Object.defineProperty,no=(e,t)=>Tk(e,"name",{value:t,configurable:!0});function cs(e){return Tt(e).replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}no(cs,"slugifyAccountName");function OS(e,t){let n=cs(e),i=cs(t);return n===""?i:i===""?n:`${n}-${i}`}no(OS,"defaultConnectedAccountName");function DS(e,t){let n=cs(t);return n===""?e:`${e}-${n}`}no(DS,"suffixedAccountName");var MS=new Set(it.map(e=>wn(e.code)));function jS(e){let t=e.toLowerCase().split(/[-\s_]+/).filter(i=>i.length>0),n=t[t.length-1];if(n!==void 0&&MS.has(n))return n}no(jS,"findTrailingRegionShortCode");function zS(e){return`Account name must not end with a region code ("-${e}") \u2014 the region is added automatically when deploying. Remove the "-${e}" suffix.`}no(zS,"regionSuffixRejectionMessage");var Rk=Object.defineProperty,kn=(e,t)=>Rk(e,"name",{value:t,configurable:!0});function vt(e){return e instanceof Error?e:new Error(String(e))}kn(vt,"normaliseError");function Rt(e){return e instanceof Error?e.message:typeof e=="string"?e:e&&typeof e=="object"&&"message"in e?String(e.message):"An unknown error occurred"}kn(Rt,"getErrorMessage");function us(e,t){return!e||typeof e!="object"?!1:"code"in e&&e.code===t}kn(us,"hasErrorCode");function io(e){if(!(!e||typeof e!="object")&&"code"in e&&typeof e.code=="string")return e.code}kn(io,"getErrorCode");function ls(e){return e instanceof Error?e.stack:void 0}kn(ls,"getErrorStack");function ds(e){let t=Rt(e),n=io(e);return n&&n!=="UNKNOWN_ERROR"?`[${n}] ${t}`:t}kn(ds,"formatErrorString");var Pk=Object.defineProperty,Ck=(e,t)=>Pk(e,"name",{value:t,configurable:!0});function LS(e){let t,n=!1;return()=>(n||(t=e(),n=!0),t)}Ck(LS,"singleton");var Nk=Object.defineProperty,ad=(e,t)=>Nk(e,"name",{value:t,configurable:!0}),US=new Set(["NODE_OPTIONS","NODE_PATH","NODE_EXTRA_CA_CERTS","NODE_DEBUG","NODE_PRESERVE_SYMLINKS","LD_PRELOAD","LD_LIBRARY_PATH","LD_AUDIT","LD_BIND_NOW","DYLD_INSERT_LIBRARIES","DYLD_LIBRARY_PATH","DYLD_FRAMEWORK_PATH","PYTHONPATH","PYTHONSTARTUP","PERL5LIB","PERL5OPT","RUBYLIB","RUBYOPT","HOME","XDG_CONFIG_HOME","AWS_SHARED_CREDENTIALS_FILE","AWS_CONFIG_FILE","SHELL","BASH_ENV","ENV","ZDOTDIR"]);function FS(e){return Object.fromEntries(Object.entries(e).filter(([t])=>!US.has(t.toUpperCase())))}ad(FS,"filterDangerousEnvVars");var wk=/(fjall_(?:ak|dk)_)[A-Z2-7]{16}\.[A-Z2-7]{40}/g;function On(e){return e.replace(/-----BEGIN [A-Z ]*PRIVATE KEY-----(?:[^"\\]|\\[\\nrt"])*?-----END [A-Z ]*PRIVATE KEY-----/g,"-----BEGIN [REDACTED] PRIVATE KEY-----...-----END [REDACTED] PRIVATE KEY-----").replace(/-----BEGIN [A-Z ]*PRIVATE KEY-----[\s\S]*?-----END [A-Z ]*PRIVATE KEY-----/g,"-----BEGIN [REDACTED] PRIVATE KEY-----...-----END [REDACTED] PRIVATE KEY-----").replace(/(\w+:\/\/[^:]+:)[^@]+(@)/gi,"$1***$2").replace(/(?<![a-zA-Z])(password|passwd|secret|api[_-]?key|token|auth|credential)([=:])["']?[^\s"']+/gi,"$1$2***").replace(/\b(ghu_|ghs_|ghp_|gho_|github_pat_)[A-Za-z0-9_]+/g,"$1***").replace(/\b(sk|rk)_(live|test)_[A-Za-z0-9]{8,}/g,"$1_$2_***").replace(/\bwhsec_[A-Za-z0-9]{8,}/g,"whsec_***").replace(/(?<=Authorization:\s*Bearer\s+)[A-Za-z0-9._~+/=-]+/gi,"***").replace(/\b(AKIA|ASIA)[A-Z0-9]{12,}\b/g,"$1***").replace(/(?<=aws_secret_access_key\s*=\s*["']?|SecretAccessKey[=:]\s*|"(aws)?secretAccessKey":\s*"|"aws_secret_access_key":\s*")[A-Za-z0-9/+=]{40,}/gi,"***").replace(/(?<="(aws)?sessionToken":\s*"|"aws_session_token":\s*")[^"]+/gi,"***").replace(/(?<=aws_session_token\s*[=:]\s*["']?|SessionToken[=:]\s*["']?)[^\s"']+/gi,"***").replace(/(?<="(internal[Aa]piKey|fjallCallbackToken)":\s*")[^"]+/g,"***").replace(wk,"$1***")}ad(On,"maskSensitiveOutput");function BS(e){let t=[],n="",i=!1,r=!1,o=!1,a=!1;for(let c of e){if(o){n+=c,o=!1;continue}if(c==="\\"&&!i){o=!0;continue}if(c==="'"&&!r){i=!i,a=!0;continue}if(c==='"'&&!i){r=!r,a=!0;continue}if(c===" "&&!i&&!r){(n||a)&&(t.push(n),n="",a=!1);continue}n+=c}if(i||r)throw new Error(`Unbalanced ${i?"single":"double"} quote in command: ${e.slice(0,80)}`);if(o)throw new Error(`Trailing backslash in command: ${e.slice(0,80)}`);return(n||a)&&t.push(n),t}ad(BS,"parseShellArgs");var kk=Object.defineProperty,Ok=(e,t)=>kk(e,"name",{value:t,configurable:!0}),Dk=Ok(e=>new Promise(t=>setTimeout(t,e)),"sleep");var Mk=Object.defineProperty,VS=(e,t)=>Mk(e,"name",{value:t,configurable:!0});async function ZS(e,t,n){let i=new Array(e.length);if(e.length===0)return i;let r=Math.max(1,Math.min(t,e.length)),o=0,a=VS(async()=>{for(;o<e.length;){let c=o++;try{let u=await n(e[c],c);i[c]={status:"fulfilled",value:u}}catch(u){i[c]={status:"rejected",reason:u}}}},"worker");return await Promise.all(Array.from({length:r},()=>a())),i}VS(ZS,"mapSettledWithConcurrency");var s={};$t(s,{$brand:()=>cd,$input:()=>Pp,$output:()=>Rp,NEVER:()=>sd,TimePrecision:()=>kp,ZodAny:()=>xg,ZodArray:()=>Tg,ZodBase64:()=>zc,ZodBase64URL:()=>Lc,ZodBigInt:()=>di,ZodBigIntFormat:()=>Bc,ZodBoolean:()=>li,ZodCIDRv4:()=>Mc,ZodCIDRv6:()=>jc,ZodCUID:()=>Pc,ZodCUID2:()=>Cc,ZodCatch:()=>Kg,ZodCodec:()=>jo,ZodCustom:()=>zo,ZodCustomStringFormat:()=>ci,ZodDate:()=>wo,ZodDefault:()=>Vg,ZodDiscriminatedUnion:()=>Pg,ZodE164:()=>Uc,ZodEmail:()=>$c,ZodEmoji:()=>Tc,ZodEnum:()=>ai,ZodError:()=>p1,ZodExactOptional:()=>Ug,ZodFile:()=>zg,ZodFirstPartyTypeKind:()=>ch,ZodFunction:()=>oh,ZodGUID:()=>To,ZodIPv4:()=>Oc,ZodIPv6:()=>Dc,ZodISODate:()=>Sc,ZodISODateTime:()=>yc,ZodISODuration:()=>Ec,ZodISOTime:()=>_c,ZodIntersection:()=>Cg,ZodIssueCode:()=>g1,ZodJWT:()=>Fc,ZodKSUID:()=>kc,ZodLazy:()=>rh,ZodLiteral:()=>jg,ZodMAC:()=>hg,ZodMap:()=>Dg,ZodNaN:()=>Xg,ZodNanoID:()=>Rc,ZodNever:()=>Ig,ZodNonOptional:()=>qc,ZodNull:()=>_g,ZodNullable:()=>Bg,ZodNumber:()=>ui,ZodNumberFormat:()=>Qr,ZodObject:()=>Oo,ZodOptional:()=>Hc,ZodPipe:()=>Mo,ZodPrefault:()=>Gg,ZodPreprocess:()=>Jg,ZodPromise:()=>ih,ZodReadonly:()=>Qg,ZodRealError:()=>Ze,ZodRecord:()=>oi,ZodSet:()=>Mg,ZodString:()=>si,ZodStringFormat:()=>K,ZodSuccess:()=>qg,ZodSymbol:()=>yg,ZodTemplateLiteral:()=>th,ZodTransform:()=>Lg,ZodTuple:()=>wg,ZodType:()=>w,ZodULID:()=>Nc,ZodURL:()=>No,ZodUUID:()=>wt,ZodUndefined:()=>Sg,ZodUnion:()=>Do,ZodUnknown:()=>Ag,ZodVoid:()=>$g,ZodXID:()=>wc,ZodXor:()=>Rg,_ZodString:()=>Ic,_default:()=>Zg,_function:()=>wx,any:()=>ux,array:()=>ko,base64:()=>WE,base64url:()=>HE,bigint:()=>ix,boolean:()=>bg,catch:()=>Yg,check:()=>kx,cidrv4:()=>ZE,cidrv6:()=>GE,clone:()=>ke,codec:()=>Rx,coerce:()=>uh,config:()=>se,core:()=>Jt,cuid:()=>ME,cuid2:()=>jE,custom:()=>Ox,date:()=>dx,decode:()=>ug,decodeAsync:()=>dg,describe:()=>Dx,discriminatedUnion:()=>vx,e164:()=>qE,email:()=>$E,emoji:()=>OE,encode:()=>cg,encodeAsync:()=>lg,endsWith:()=>Kn,enum:()=>Gc,exactOptional:()=>Fg,file:()=>Ax,flattenError:()=>po,float32:()=>ex,float64:()=>tx,formatError:()=>fo,fromJSONSchema:()=>Bx,function:()=>wx,getErrorMap:()=>v1,globalRegistry:()=>_e,gt:()=>Ct,gte:()=>De,guid:()=>TE,hash:()=>QE,hex:()=>JE,hostname:()=>XE,httpUrl:()=>kE,includes:()=>Hn,instanceof:()=>jx,int:()=>xc,int32:()=>rx,int64:()=>ox,intersection:()=>Ng,invertCodec:()=>Px,ipv4:()=>FE,ipv6:()=>VE,iso:()=>ii,json:()=>Lx,jwt:()=>KE,keyof:()=>mx,ksuid:()=>UE,lazy:()=>nh,length:()=>Xr,literal:()=>xx,locales:()=>Eo,looseObject:()=>gx,looseRecord:()=>yx,lowercase:()=>Gn,lt:()=>Pt,lte:()=>Qe,mac:()=>BE,map:()=>Sx,maxLength:()=>Yr,maxSize:()=>Er,meta:()=>Mx,mime:()=>Yn,minLength:()=>Xt,minSize:()=>Nt,multipleOf:()=>_r,nan:()=>Tx,nanoid:()=>DE,nativeEnum:()=>Ex,negative:()=>uc,never:()=>Vc,nonnegative:()=>dc,nonoptional:()=>Hg,nonpositive:()=>lc,normalize:()=>Xn,null:()=>Eg,nullable:()=>Po,nullish:()=>Ix,number:()=>vg,object:()=>px,optional:()=>Ro,overwrite:()=>yt,parse:()=>ig,parseAsync:()=>og,partialRecord:()=>bx,pipe:()=>Ac,positive:()=>cc,prefault:()=>Wg,preprocess:()=>Ux,prettifyError:()=>_d,promise:()=>Nx,property:()=>mc,readonly:()=>eh,record:()=>Og,refine:()=>ah,regex:()=>Zn,regexes:()=>Je,registry:()=>Fs,safeDecode:()=>pg,safeDecodeAsync:()=>gg,safeEncode:()=>mg,safeEncodeAsync:()=>fg,safeParse:()=>ag,safeParseAsync:()=>sg,set:()=>_x,setErrorMap:()=>h1,size:()=>Kr,slugify:()=>ti,startsWith:()=>qn,strictObject:()=>fx,string:()=>$o,stringFormat:()=>YE,stringbool:()=>zx,success:()=>$x,superRefine:()=>sh,symbol:()=>sx,templateLiteral:()=>Cx,toJSONSchema:()=>hc,toLowerCase:()=>Qn,toUpperCase:()=>ei,transform:()=>Wc,treeifyError:()=>Sd,trim:()=>Jn,tuple:()=>kg,uint32:()=>nx,uint64:()=>ax,ulid:()=>zE,undefined:()=>cx,union:()=>Zc,unknown:()=>Jr,uppercase:()=>Wn,url:()=>wE,util:()=>_,uuid:()=>RE,uuidv4:()=>PE,uuidv6:()=>CE,uuidv7:()=>NE,void:()=>lx,xid:()=>LE,xor:()=>hx});var Jt={};$t(Jt,{$ZodAny:()=>Ym,$ZodArray:()=>tp,$ZodAsyncError:()=>bt,$ZodBase64:()=>Um,$ZodBase64URL:()=>Fm,$ZodBigInt:()=>ks,$ZodBigIntFormat:()=>Wm,$ZodBoolean:()=>bo,$ZodCIDRv4:()=>jm,$ZodCIDRv6:()=>zm,$ZodCUID:()=>Im,$ZodCUID2:()=>$m,$ZodCatch:()=>yp,$ZodCheck:()=>X,$ZodCheckBigIntFormat:()=>tm,$ZodCheckEndsWith:()=>pm,$ZodCheckGreaterThan:()=>Ts,$ZodCheckIncludes:()=>dm,$ZodCheckLengthEquals:()=>sm,$ZodCheckLessThan:()=>$s,$ZodCheckLowerCase:()=>um,$ZodCheckMaxLength:()=>om,$ZodCheckMaxSize:()=>rm,$ZodCheckMimeType:()=>gm,$ZodCheckMinLength:()=>am,$ZodCheckMinSize:()=>nm,$ZodCheckMultipleOf:()=>Qd,$ZodCheckNumberFormat:()=>em,$ZodCheckOverwrite:()=>hm,$ZodCheckProperty:()=>fm,$ZodCheckRegex:()=>cm,$ZodCheckSizeEquals:()=>im,$ZodCheckStartsWith:()=>mm,$ZodCheckStringFormat:()=>Bn,$ZodCheckUpperCase:()=>lm,$ZodCodec:()=>So,$ZodCustom:()=>Tp,$ZodCustomStringFormat:()=>Zm,$ZodDate:()=>ep,$ZodDefault:()=>gp,$ZodDiscriminatedUnion:()=>ip,$ZodE164:()=>Bm,$ZodEmail:()=>_m,$ZodEmoji:()=>xm,$ZodEncodeError:()=>hr,$ZodEnum:()=>up,$ZodError:()=>mo,$ZodExactOptional:()=>pp,$ZodFile:()=>dp,$ZodFunction:()=>Ap,$ZodGUID:()=>ym,$ZodIPv4:()=>Om,$ZodIPv6:()=>Dm,$ZodISODate:()=>Nm,$ZodISODateTime:()=>Cm,$ZodISODuration:()=>km,$ZodISOTime:()=>wm,$ZodIntersection:()=>op,$ZodJWT:()=>Vm,$ZodKSUID:()=>Pm,$ZodLazy:()=>$p,$ZodLiteral:()=>lp,$ZodMAC:()=>Mm,$ZodMap:()=>sp,$ZodNaN:()=>Sp,$ZodNanoID:()=>Am,$ZodNever:()=>Jm,$ZodNonOptional:()=>vp,$ZodNull:()=>Km,$ZodNullable:()=>fp,$ZodNumber:()=>ws,$ZodNumberFormat:()=>Gm,$ZodObject:()=>__,$ZodObjectJIT:()=>rp,$ZodOptional:()=>Ds,$ZodPipe:()=>Ms,$ZodPrefault:()=>hp,$ZodPreprocess:()=>_p,$ZodPromise:()=>Ip,$ZodReadonly:()=>Ep,$ZodRealError:()=>Ve,$ZodRecord:()=>ap,$ZodRegistry:()=>Us,$ZodSet:()=>cp,$ZodString:()=>qr,$ZodStringFormat:()=>q,$ZodSuccess:()=>bp,$ZodSymbol:()=>Hm,$ZodTemplateLiteral:()=>xp,$ZodTransform:()=>mp,$ZodTuple:()=>Os,$ZodType:()=>N,$ZodULID:()=>Tm,$ZodURL:()=>Em,$ZodUUID:()=>Sm,$ZodUndefined:()=>qm,$ZodUnion:()=>yo,$ZodUnknown:()=>Xm,$ZodVoid:()=>Qm,$ZodXID:()=>Rm,$ZodXor:()=>np,$brand:()=>cd,$constructor:()=>f,$input:()=>Pp,$output:()=>Rp,Doc:()=>vo,JSONSchema:()=>xE,JSONSchemaGenerator:()=>vc,NEVER:()=>sd,TimePrecision:()=>kp,_any:()=>ef,_array:()=>cf,_base64:()=>ic,_base64url:()=>oc,_bigint:()=>Hp,_boolean:()=>Gp,_catch:()=>o1,_check:()=>EE,_cidrv4:()=>rc,_cidrv6:()=>nc,_coercedBigint:()=>qp,_coercedBoolean:()=>Wp,_coercedDate:()=>af,_coercedNumber:()=>Lp,_coercedString:()=>Np,_cuid:()=>Ks,_cuid2:()=>Ys,_custom:()=>lf,_date:()=>of,_decode:()=>vs,_decodeAsync:()=>ys,_default:()=>r1,_discriminatedUnion:()=>ZD,_e164:()=>ac,_email:()=>Bs,_emoji:()=>Hs,_encode:()=>hs,_encodeAsync:()=>bs,_endsWith:()=>Kn,_enum:()=>YD,_file:()=>uf,_float32:()=>Fp,_float64:()=>Bp,_gt:()=>Ct,_gte:()=>De,_guid:()=>xo,_includes:()=>Hn,_int:()=>Up,_int32:()=>Vp,_int64:()=>Kp,_intersection:()=>GD,_ipv4:()=>ec,_ipv6:()=>tc,_isoDate:()=>Dp,_isoDateTime:()=>Op,_isoDuration:()=>jp,_isoTime:()=>Mp,_jwt:()=>sc,_ksuid:()=>Qs,_lazy:()=>u1,_length:()=>Xr,_literal:()=>JD,_lowercase:()=>Gn,_lt:()=>Pt,_lte:()=>Qe,_mac:()=>wp,_map:()=>qD,_max:()=>Qe,_maxLength:()=>Yr,_maxSize:()=>Er,_mime:()=>Yn,_min:()=>De,_minLength:()=>Xt,_minSize:()=>Nt,_multipleOf:()=>_r,_nan:()=>sf,_nanoid:()=>qs,_nativeEnum:()=>XD,_negative:()=>uc,_never:()=>rf,_nonnegative:()=>dc,_nonoptional:()=>n1,_nonpositive:()=>lc,_normalize:()=>Xn,_null:()=>Qp,_nullable:()=>t1,_number:()=>zp,_optional:()=>e1,_overwrite:()=>yt,_parse:()=>zn,_parseAsync:()=>Ln,_pipe:()=>a1,_positive:()=>cc,_promise:()=>l1,_property:()=>mc,_readonly:()=>s1,_record:()=>HD,_refine:()=>df,_regex:()=>Zn,_safeDecode:()=>_s,_safeDecodeAsync:()=>xs,_safeEncode:()=>Ss,_safeEncodeAsync:()=>Es,_safeParse:()=>Un,_safeParseAsync:()=>Fn,_set:()=>KD,_size:()=>Kr,_slugify:()=>ti,_startsWith:()=>qn,_string:()=>Cp,_stringFormat:()=>ri,_stringbool:()=>gf,_success:()=>i1,_superRefine:()=>mf,_symbol:()=>Xp,_templateLiteral:()=>c1,_toLowerCase:()=>Qn,_toUpperCase:()=>ei,_transform:()=>QD,_trim:()=>Jn,_tuple:()=>WD,_uint32:()=>Zp,_uint64:()=>Yp,_ulid:()=>Xs,_undefined:()=>Jp,_union:()=>BD,_unknown:()=>tf,_uppercase:()=>Wn,_url:()=>Ao,_uuid:()=>Vs,_uuidv4:()=>Zs,_uuidv6:()=>Gs,_uuidv7:()=>Ws,_void:()=>nf,_xid:()=>Js,_xor:()=>VD,clone:()=>ke,config:()=>se,createStandardJSONSchemaMethod:()=>ni,createToJSONSchemaMethod:()=>hf,decode:()=>lO,decodeAsync:()=>mO,describe:()=>pf,encode:()=>uO,encodeAsync:()=>dO,extractDefs:()=>Ar,finalize:()=>Ir,flattenError:()=>po,formatError:()=>fo,globalConfig:()=>Gr,globalRegistry:()=>_e,initializeContext:()=>xr,isValidBase64:()=>Lm,isValidBase64URL:()=>v_,isValidJWT:()=>b_,locales:()=>Eo,meta:()=>ff,parse:()=>fs,parseAsync:()=>gs,prettifyError:()=>_d,process:()=>Z,regexes:()=>Je,registry:()=>Fs,safeDecode:()=>fO,safeDecodeAsync:()=>hO,safeEncode:()=>pO,safeEncodeAsync:()=>gO,safeParse:()=>Ed,safeParseAsync:()=>xd,toDotPath:()=>YS,toJSONSchema:()=>hc,treeifyError:()=>Sd,util:()=>_,version:()=>vm});var GS,sd=Object.freeze({status:"aborted"});function f(e,t,n){function i(c,u){if(c._zod||Object.defineProperty(c,"_zod",{value:{def:u,constr:a,traits:new Set},enumerable:!1}),c._zod.traits.has(e))return;c._zod.traits.add(e),t(c,u);let l=a.prototype,m=Object.keys(l);for(let p=0;p<m.length;p++){let g=m[p];g in c||(c[g]=l[g].bind(c))}}let r=n?.Parent??Object;class o extends r{}Object.defineProperty(o,"name",{value:e});function a(c){var u;let l=n?.Parent?new o:this;i(l,c),(u=l._zod).deferred??(u.deferred=[]);for(let m of l._zod.deferred)m();return l}return Object.defineProperty(a,"init",{value:i}),Object.defineProperty(a,Symbol.hasInstance,{value:c=>n?.Parent&&c instanceof n.Parent?!0:c?._zod?.traits?.has(e)}),Object.defineProperty(a,"name",{value:e}),a}var cd=Symbol("zod_brand"),bt=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},hr=class extends Error{constructor(t){super(`Encountered unidirectional transform during encode: ${t}`),this.name="ZodEncodeError"}};(GS=globalThis).__zod_globalConfig??(GS.__zod_globalConfig={});var Gr=globalThis.__zod_globalConfig;function se(e){return e&&Object.assign(Gr,e),Gr}var _={};$t(_,{BIGINT_FORMAT_RANGES:()=>bd,Class:()=>ld,NUMBER_FORMAT_RANGES:()=>vd,aborted:()=>Sr,allowsEval:()=>pd,assert:()=>Fk,assertEqual:()=>jk,assertIs:()=>Lk,assertNever:()=>Uk,assertNotEqual:()=>zk,assignProp:()=>br,base64ToUint8Array:()=>HS,base64urlToUint8Array:()=>iO,cached:()=>Mn,captureStackTrace:()=>ps,cleanEnum:()=>nO,cleanRegex:()=>so,clone:()=>ke,cloneDef:()=>Vk,createTransparentProxy:()=>Kk,defineLazy:()=>M,esc:()=>ms,escapeRegex:()=>ot,explicitlyAborted:()=>yd,extend:()=>Jk,finalizeIssue:()=>Oe,floatSafeRemainder:()=>dd,getElementAtPath:()=>Zk,getEnumValues:()=>ao,getLengthableOrigin:()=>lo,getParsedType:()=>qk,getSizableOrigin:()=>uo,hexToUint8Array:()=>aO,isObject:()=>Wr,isPlainObject:()=>yr,issue:()=>jn,joinValues:()=>h,jsonStringifyReplacer:()=>Dn,merge:()=>eO,mergeDefs:()=>Yt,normalizeParams:()=>E,nullish:()=>vr,numKeys:()=>Hk,objectClone:()=>Bk,omit:()=>Xk,optionalKeys:()=>hd,parsedType:()=>S,partial:()=>tO,pick:()=>Yk,prefixIssues:()=>Be,primitiveTypes:()=>gd,promiseAllObject:()=>Gk,propertyKeyTypes:()=>co,randomString:()=>Wk,required:()=>rO,safeExtend:()=>Qk,shallowClone:()=>fd,slugify:()=>md,stringifyPrimitive:()=>y,uint8ArrayToBase64:()=>qS,uint8ArrayToBase64url:()=>oO,uint8ArrayToHex:()=>sO,unwrapMessage:()=>oo});function jk(e){return e}function zk(e){return e}function Lk(e){}function Uk(e){throw new Error("Unexpected value in exhaustive check")}function Fk(e){}function ao(e){let t=Object.values(e).filter(i=>typeof i=="number");return Object.entries(e).filter(([i,r])=>t.indexOf(+i)===-1).map(([i,r])=>r)}function h(e,t="|"){return e.map(n=>y(n)).join(t)}function Dn(e,t){return typeof t=="bigint"?t.toString():t}function Mn(e){return{get value(){{let n=e();return Object.defineProperty(this,"value",{value:n}),n}throw new Error("cached value already set")}}}function vr(e){return e==null}function so(e){let t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}function dd(e,t){let n=e/t,i=Math.round(n),r=Number.EPSILON*Math.max(Math.abs(n),1);return Math.abs(n-i)<r?0:n-i}var WS=Symbol("evaluating");function M(e,t,n){let i;Object.defineProperty(e,t,{get(){if(i!==WS)return i===void 0&&(i=WS,i=n()),i},set(r){Object.defineProperty(e,t,{value:r})},configurable:!0})}function Bk(e){return Object.create(Object.getPrototypeOf(e),Object.getOwnPropertyDescriptors(e))}function br(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function Yt(...e){let t={};for(let n of e){let i=Object.getOwnPropertyDescriptors(n);Object.assign(t,i)}return Object.defineProperties({},t)}function Vk(e){return Yt(e._zod.def)}function Zk(e,t){return t?t.reduce((n,i)=>n?.[i],e):e}function Gk(e){let t=Object.keys(e),n=t.map(i=>e[i]);return Promise.all(n).then(i=>{let r={};for(let o=0;o<t.length;o++)r[t[o]]=i[o];return r})}function Wk(e=10){let t="abcdefghijklmnopqrstuvwxyz",n="";for(let i=0;i<e;i++)n+=t[Math.floor(Math.random()*t.length)];return n}function ms(e){return JSON.stringify(e)}function md(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}var ps="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function Wr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var pd=Mn(()=>{if(Gr.jitless||typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let e=Function;return new e(""),!0}catch{return!1}});function yr(e){if(Wr(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!="function")return!0;let n=t.prototype;return!(Wr(n)===!1||Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")===!1)}function fd(e){return yr(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}function Hk(e){let t=0;for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&t++;return t}var qk=e=>{let t=typeof e;switch(t){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(e)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":return Array.isArray(e)?"array":e===null?"null":e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?"promise":typeof Map<"u"&&e instanceof Map?"map":typeof Set<"u"&&e instanceof Set?"set":typeof Date<"u"&&e instanceof Date?"date":typeof File<"u"&&e instanceof File?"file":"object";default:throw new Error(`Unknown data type: ${t}`)}},co=new Set(["string","number","symbol"]),gd=new Set(["string","number","bigint","boolean","symbol","undefined"]);function ot(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function ke(e,t,n){let i=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(i._zod.parent=e),i}function E(e){let t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function Kk(e){let t;return new Proxy({},{get(n,i,r){return t??(t=e()),Reflect.get(t,i,r)},set(n,i,r,o){return t??(t=e()),Reflect.set(t,i,r,o)},has(n,i){return t??(t=e()),Reflect.has(t,i)},deleteProperty(n,i){return t??(t=e()),Reflect.deleteProperty(t,i)},ownKeys(n){return t??(t=e()),Reflect.ownKeys(t)},getOwnPropertyDescriptor(n,i){return t??(t=e()),Reflect.getOwnPropertyDescriptor(t,i)},defineProperty(n,i,r){return t??(t=e()),Reflect.defineProperty(t,i,r)}})}function y(e){return typeof e=="bigint"?e.toString()+"n":typeof e=="string"?`"${e}"`:`${e}`}function hd(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}var vd={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},bd={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function Yk(e,t){let n=e._zod.def,i=n.checks;if(i&&i.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");let o=Yt(e._zod.def,{get shape(){let a={};for(let c in t){if(!(c in n.shape))throw new Error(`Unrecognized key: "${c}"`);t[c]&&(a[c]=n.shape[c])}return br(this,"shape",a),a},checks:[]});return ke(e,o)}function Xk(e,t){let n=e._zod.def,i=n.checks;if(i&&i.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");let o=Yt(e._zod.def,{get shape(){let a={...e._zod.def.shape};for(let c in t){if(!(c in n.shape))throw new Error(`Unrecognized key: "${c}"`);t[c]&&delete a[c]}return br(this,"shape",a),a},checks:[]});return ke(e,o)}function Jk(e,t){if(!yr(t))throw new Error("Invalid input to extend: expected a plain object");let n=e._zod.def.checks;if(n&&n.length>0){let o=e._zod.def.shape;for(let a in t)if(Object.getOwnPropertyDescriptor(o,a)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let r=Yt(e._zod.def,{get shape(){let o={...e._zod.def.shape,...t};return br(this,"shape",o),o}});return ke(e,r)}function Qk(e,t){if(!yr(t))throw new Error("Invalid input to safeExtend: expected a plain object");let n=Yt(e._zod.def,{get shape(){let i={...e._zod.def.shape,...t};return br(this,"shape",i),i}});return ke(e,n)}function eO(e,t){if(e._zod.def.checks?.length)throw new Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");let n=Yt(e._zod.def,{get shape(){let i={...e._zod.def.shape,...t._zod.def.shape};return br(this,"shape",i),i},get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]});return ke(e,n)}function tO(e,t,n){let r=t._zod.def.checks;if(r&&r.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");let a=Yt(t._zod.def,{get shape(){let c=t._zod.def.shape,u={...c};if(n)for(let l in n){if(!(l in c))throw new Error(`Unrecognized key: "${l}"`);n[l]&&(u[l]=e?new e({type:"optional",innerType:c[l]}):c[l])}else for(let l in c)u[l]=e?new e({type:"optional",innerType:c[l]}):c[l];return br(this,"shape",u),u},checks:[]});return ke(t,a)}function rO(e,t,n){let i=Yt(t._zod.def,{get shape(){let r=t._zod.def.shape,o={...r};if(n)for(let a in n){if(!(a in o))throw new Error(`Unrecognized key: "${a}"`);n[a]&&(o[a]=new e({type:"nonoptional",innerType:r[a]}))}else for(let a in r)o[a]=new e({type:"nonoptional",innerType:r[a]});return br(this,"shape",o),o}});return ke(t,i)}function Sr(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function yd(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue===!1)return!0;return!1}function Be(e,t){return t.map(n=>{var i;return(i=n).path??(i.path=[]),n.path.unshift(e),n})}function oo(e){return typeof e=="string"?e:e?.message}function Oe(e,t,n){let i=e.message?e.message:oo(e.inst?._zod.def?.error?.(e))??oo(t?.error?.(e))??oo(n.customError?.(e))??oo(n.localeError?.(e))??"Invalid input",{inst:r,continue:o,input:a,...c}=e;return c.path??(c.path=[]),c.message=i,t?.reportInput&&(c.input=a),c}function uo(e){return e instanceof Set?"set":e instanceof Map?"map":e instanceof File?"file":"unknown"}function lo(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function S(e){let t=typeof e;switch(t){case"number":return Number.isNaN(e)?"nan":"number";case"object":{if(e===null)return"null";if(Array.isArray(e))return"array";let n=e;if(n&&Object.getPrototypeOf(n)!==Object.prototype&&"constructor"in n&&n.constructor)return n.constructor.name}}return t}function jn(...e){let[t,n,i]=e;return typeof t=="string"?{message:t,code:"custom",input:n,inst:i}:{...t}}function nO(e){return Object.entries(e).filter(([t,n])=>Number.isNaN(Number.parseInt(t,10))).map(t=>t[1])}function HS(e){let t=atob(e),n=new Uint8Array(t.length);for(let i=0;i<t.length;i++)n[i]=t.charCodeAt(i);return n}function qS(e){let t="";for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return btoa(t)}function iO(e){let t=e.replace(/-/g,"+").replace(/_/g,"/"),n="=".repeat((4-t.length%4)%4);return HS(t+n)}function oO(e){return qS(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function aO(e){let t=e.replace(/^0x/,"");if(t.length%2!==0)throw new Error("Invalid hex string length");let n=new Uint8Array(t.length/2);for(let i=0;i<t.length;i+=2)n[i/2]=Number.parseInt(t.slice(i,i+2),16);return n}function sO(e){return Array.from(e).map(t=>t.toString(16).padStart(2,"0")).join("")}var ld=class{constructor(...t){}};var KS=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,Dn,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},mo=f("$ZodError",KS),Ve=f("$ZodError",KS,{Parent:Error});function po(e,t=n=>n.message){let n={},i=[];for(let r of e.issues)r.path.length>0?(n[r.path[0]]=n[r.path[0]]||[],n[r.path[0]].push(t(r))):i.push(t(r));return{formErrors:i,fieldErrors:n}}function fo(e,t=n=>n.message){let n={_errors:[]},i=(r,o=[])=>{for(let a of r.issues)if(a.code==="invalid_union"&&a.errors.length)a.errors.map(c=>i({issues:c},[...o,...a.path]));else if(a.code==="invalid_key")i({issues:a.issues},[...o,...a.path]);else if(a.code==="invalid_element")i({issues:a.issues},[...o,...a.path]);else{let c=[...o,...a.path];if(c.length===0)n._errors.push(t(a));else{let u=n,l=0;for(;l<c.length;){let m=c[l];l===c.length-1?(u[m]=u[m]||{_errors:[]},u[m]._errors.push(t(a))):u[m]=u[m]||{_errors:[]},u=u[m],l++}}}};return i(e),n}function Sd(e,t=n=>n.message){let n={errors:[]},i=(r,o=[])=>{var a,c;for(let u of r.issues)if(u.code==="invalid_union"&&u.errors.length)u.errors.map(l=>i({issues:l},[...o,...u.path]));else if(u.code==="invalid_key")i({issues:u.issues},[...o,...u.path]);else if(u.code==="invalid_element")i({issues:u.issues},[...o,...u.path]);else{let l=[...o,...u.path];if(l.length===0){n.errors.push(t(u));continue}let m=n,p=0;for(;p<l.length;){let g=l[p],v=p===l.length-1;typeof g=="string"?(m.properties??(m.properties={}),(a=m.properties)[g]??(a[g]={errors:[]}),m=m.properties[g]):(m.items??(m.items=[]),(c=m.items)[g]??(c[g]={errors:[]}),m=m.items[g]),v&&m.errors.push(t(u)),p++}}};return i(e),n}function YS(e){let t=[],n=e.map(i=>typeof i=="object"?i.key:i);for(let i of n)typeof i=="number"?t.push(`[${i}]`):typeof i=="symbol"?t.push(`[${JSON.stringify(String(i))}]`):/[^\w$]/.test(i)?t.push(`[${JSON.stringify(i)}]`):(t.length&&t.push("."),t.push(i));return t.join("")}function _d(e){let t=[],n=[...e.issues].sort((i,r)=>(i.path??[]).length-(r.path??[]).length);for(let i of n)t.push(`\u2716 ${i.message}`),i.path?.length&&t.push(` \u2192 at ${YS(i.path)}`);return t.join(`
101
101
  `)}var zn=e=>(t,n,i,r)=>{let o=i?{...i,async:!1}:{async:!1},a=t._zod.run({value:n,issues:[]},o);if(a instanceof Promise)throw new bt;if(a.issues.length){let c=new(r?.Err??e)(a.issues.map(u=>Oe(u,o,se())));throw ps(c,r?.callee),c}return a.value},fs=zn(Ve),Ln=e=>async(t,n,i,r)=>{let o=i?{...i,async:!0}:{async:!0},a=t._zod.run({value:n,issues:[]},o);if(a instanceof Promise&&(a=await a),a.issues.length){let c=new(r?.Err??e)(a.issues.map(u=>Oe(u,o,se())));throw ps(c,r?.callee),c}return a.value},gs=Ln(Ve),Un=e=>(t,n,i)=>{let r=i?{...i,async:!1}:{async:!1},o=t._zod.run({value:n,issues:[]},r);if(o instanceof Promise)throw new bt;return o.issues.length?{success:!1,error:new(e??mo)(o.issues.map(a=>Oe(a,r,se())))}:{success:!0,data:o.value}},Ed=Un(Ve),Fn=e=>async(t,n,i)=>{let r=i?{...i,async:!0}:{async:!0},o=t._zod.run({value:n,issues:[]},r);return o instanceof Promise&&(o=await o),o.issues.length?{success:!1,error:new e(o.issues.map(a=>Oe(a,r,se())))}:{success:!0,data:o.value}},xd=Fn(Ve),hs=e=>(t,n,i)=>{let r=i?{...i,direction:"backward"}:{direction:"backward"};return zn(e)(t,n,r)},uO=hs(Ve),vs=e=>(t,n,i)=>zn(e)(t,n,i),lO=vs(Ve),bs=e=>async(t,n,i)=>{let r=i?{...i,direction:"backward"}:{direction:"backward"};return Ln(e)(t,n,r)},dO=bs(Ve),ys=e=>async(t,n,i)=>Ln(e)(t,n,i),mO=ys(Ve),Ss=e=>(t,n,i)=>{let r=i?{...i,direction:"backward"}:{direction:"backward"};return Un(e)(t,n,r)},pO=Ss(Ve),_s=e=>(t,n,i)=>Un(e)(t,n,i),fO=_s(Ve),Es=e=>async(t,n,i)=>{let r=i?{...i,direction:"backward"}:{direction:"backward"};return Fn(e)(t,n,r)},gO=Es(Ve),xs=e=>async(t,n,i)=>Fn(e)(t,n,i),hO=xs(Ve);var Je={};$t(Je,{base64:()=>Ld,base64url:()=>As,bigint:()=>Wd,boolean:()=>qd,browserEmail:()=>AO,cidrv4:()=>jd,cidrv6:()=>zd,cuid:()=>Ad,cuid2:()=>Id,date:()=>Bd,datetime:()=>Zd,domain:()=>TO,duration:()=>Cd,e164:()=>Fd,email:()=>wd,emoji:()=>kd,extendedDuration:()=>vO,guid:()=>Nd,hex:()=>RO,hostname:()=>$O,html5Email:()=>_O,httpProtocol:()=>Ud,idnEmail:()=>xO,integer:()=>Hd,ipv4:()=>Od,ipv6:()=>Dd,ksuid:()=>Rd,lowercase:()=>Xd,mac:()=>Md,md5_base64:()=>CO,md5_base64url:()=>NO,md5_hex:()=>PO,nanoid:()=>Pd,null:()=>Kd,number:()=>Is,rfc5322Email:()=>EO,sha1_base64:()=>kO,sha1_base64url:()=>OO,sha1_hex:()=>wO,sha256_base64:()=>MO,sha256_base64url:()=>jO,sha256_hex:()=>DO,sha384_base64:()=>LO,sha384_base64url:()=>UO,sha384_hex:()=>zO,sha512_base64:()=>BO,sha512_base64url:()=>VO,sha512_hex:()=>FO,string:()=>Gd,time:()=>Vd,ulid:()=>$d,undefined:()=>Yd,unicodeEmail:()=>XS,uppercase:()=>Jd,uuid:()=>Hr,uuid4:()=>bO,uuid6:()=>yO,uuid7:()=>SO,xid:()=>Td});var Ad=/^[cC][0-9a-z]{6,}$/,Id=/^[0-9a-z]+$/,$d=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,Td=/^[0-9a-vA-V]{20}$/,Rd=/^[A-Za-z0-9]{27}$/,Pd=/^[a-zA-Z0-9_-]{21}$/,Cd=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,vO=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Nd=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,Hr=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,bO=Hr(4),yO=Hr(6),SO=Hr(7),wd=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,_O=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,EO=/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,XS=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,xO=XS,AO=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,IO="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function kd(){return new RegExp(IO,"u")}var Od=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Dd=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,Md=e=>{let t=ot(e??":");return new RegExp(`^(?:[0-9A-F]{2}${t}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${t}){5}[0-9a-f]{2}$`)},jd=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,zd=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Ld=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,As=/^[A-Za-z0-9_-]*$/,$O=/^(?=.{1,253}\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\.?$/,TO=/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,Ud=/^https?$/,Fd=/^\+[1-9]\d{6,14}$/,JS="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",Bd=new RegExp(`^${JS}$`);function QS(e){let t="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function Vd(e){return new RegExp(`^${QS(e)}$`)}function Zd(e){let t=QS({precision:e.precision}),n=["Z"];e.local&&n.push(""),e.offset&&n.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let i=`${t}(?:${n.join("|")})`;return new RegExp(`^${JS}T(?:${i})$`)}var Gd=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},Wd=/^-?\d+n?$/,Hd=/^-?\d+$/,Is=/^-?\d+(?:\.\d+)?$/,qd=/^(?:true|false)$/i,Kd=/^null$/i;var Yd=/^undefined$/i;var Xd=/^[^A-Z]*$/,Jd=/^[^a-z]*$/,RO=/^[0-9a-fA-F]*$/;function go(e,t){return new RegExp(`^[A-Za-z0-9+/]{${e}}${t}$`)}function ho(e){return new RegExp(`^[A-Za-z0-9_-]{${e}}$`)}var PO=/^[0-9a-fA-F]{32}$/,CO=go(22,"=="),NO=ho(22),wO=/^[0-9a-fA-F]{40}$/,kO=go(27,"="),OO=ho(27),DO=/^[0-9a-fA-F]{64}$/,MO=go(43,"="),jO=ho(43),zO=/^[0-9a-fA-F]{96}$/,LO=go(64,""),UO=ho(64),FO=/^[0-9a-fA-F]{128}$/,BO=go(86,"=="),VO=ho(86);var X=f("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),t_={number:"number",bigint:"bigint",object:"date"},$s=f("$ZodCheckLessThan",(e,t)=>{X.init(e,t);let n=t_[typeof t.value];e._zod.onattach.push(i=>{let r=i._zod.bag,o=(t.inclusive?r.maximum:r.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value<o&&(t.inclusive?r.maximum=t.value:r.exclusiveMaximum=t.value)}),e._zod.check=i=>{(t.inclusive?i.value<=t.value:i.value<t.value)||i.issues.push({origin:n,code:"too_big",maximum:typeof t.value=="object"?t.value.getTime():t.value,input:i.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Ts=f("$ZodCheckGreaterThan",(e,t)=>{X.init(e,t);let n=t_[typeof t.value];e._zod.onattach.push(i=>{let r=i._zod.bag,o=(t.inclusive?r.minimum:r.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>o&&(t.inclusive?r.minimum=t.value:r.exclusiveMinimum=t.value)}),e._zod.check=i=>{(t.inclusive?i.value>=t.value:i.value>t.value)||i.issues.push({origin:n,code:"too_small",minimum:typeof t.value=="object"?t.value.getTime():t.value,input:i.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Qd=f("$ZodCheckMultipleOf",(e,t)=>{X.init(e,t),e._zod.onattach.push(n=>{var i;(i=n._zod.bag).multipleOf??(i.multipleOf=t.value)}),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof n.value=="bigint"?n.value%t.value===BigInt(0):dd(n.value,t.value)===0)||n.issues.push({origin:typeof n.value,code:"not_multiple_of",divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),em=f("$ZodCheckNumberFormat",(e,t)=>{X.init(e,t),t.format=t.format||"float64";let n=t.format?.includes("int"),i=n?"int":"number",[r,o]=vd[t.format];e._zod.onattach.push(a=>{let c=a._zod.bag;c.format=t.format,c.minimum=r,c.maximum=o,n&&(c.pattern=Hd)}),e._zod.check=a=>{let c=a.value;if(n){if(!Number.isInteger(c)){a.issues.push({expected:i,format:t.format,code:"invalid_type",continue:!1,input:c,inst:e});return}if(!Number.isSafeInteger(c)){c>0?a.issues.push({input:c,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:i,inclusive:!0,continue:!t.abort}):a.issues.push({input:c,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:i,inclusive:!0,continue:!t.abort});return}}c<r&&a.issues.push({origin:"number",input:c,code:"too_small",minimum:r,inclusive:!0,inst:e,continue:!t.abort}),c>o&&a.issues.push({origin:"number",input:c,code:"too_big",maximum:o,inclusive:!0,inst:e,continue:!t.abort})}}),tm=f("$ZodCheckBigIntFormat",(e,t)=>{X.init(e,t);let[n,i]=bd[t.format];e._zod.onattach.push(r=>{let o=r._zod.bag;o.format=t.format,o.minimum=n,o.maximum=i}),e._zod.check=r=>{let o=r.value;o<n&&r.issues.push({origin:"bigint",input:o,code:"too_small",minimum:n,inclusive:!0,inst:e,continue:!t.abort}),o>i&&r.issues.push({origin:"bigint",input:o,code:"too_big",maximum:i,inclusive:!0,inst:e,continue:!t.abort})}}),rm=f("$ZodCheckMaxSize",(e,t)=>{var n;X.init(e,t),(n=e._zod.def).when??(n.when=i=>{let r=i.value;return!vr(r)&&r.size!==void 0}),e._zod.onattach.push(i=>{let r=i._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<r&&(i._zod.bag.maximum=t.maximum)}),e._zod.check=i=>{let r=i.value;r.size<=t.maximum||i.issues.push({origin:uo(r),code:"too_big",maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),nm=f("$ZodCheckMinSize",(e,t)=>{var n;X.init(e,t),(n=e._zod.def).when??(n.when=i=>{let r=i.value;return!vr(r)&&r.size!==void 0}),e._zod.onattach.push(i=>{let r=i._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>r&&(i._zod.bag.minimum=t.minimum)}),e._zod.check=i=>{let r=i.value;r.size>=t.minimum||i.issues.push({origin:uo(r),code:"too_small",minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),im=f("$ZodCheckSizeEquals",(e,t)=>{var n;X.init(e,t),(n=e._zod.def).when??(n.when=i=>{let r=i.value;return!vr(r)&&r.size!==void 0}),e._zod.onattach.push(i=>{let r=i._zod.bag;r.minimum=t.size,r.maximum=t.size,r.size=t.size}),e._zod.check=i=>{let r=i.value,o=r.size;if(o===t.size)return;let a=o>t.size;i.issues.push({origin:uo(r),...a?{code:"too_big",maximum:t.size}:{code:"too_small",minimum:t.size},inclusive:!0,exact:!0,input:i.value,inst:e,continue:!t.abort})}}),om=f("$ZodCheckMaxLength",(e,t)=>{var n;X.init(e,t),(n=e._zod.def).when??(n.when=i=>{let r=i.value;return!vr(r)&&r.length!==void 0}),e._zod.onattach.push(i=>{let r=i._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<r&&(i._zod.bag.maximum=t.maximum)}),e._zod.check=i=>{let r=i.value;if(r.length<=t.maximum)return;let a=lo(r);i.issues.push({origin:a,code:"too_big",maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),am=f("$ZodCheckMinLength",(e,t)=>{var n;X.init(e,t),(n=e._zod.def).when??(n.when=i=>{let r=i.value;return!vr(r)&&r.length!==void 0}),e._zod.onattach.push(i=>{let r=i._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>r&&(i._zod.bag.minimum=t.minimum)}),e._zod.check=i=>{let r=i.value;if(r.length>=t.minimum)return;let a=lo(r);i.issues.push({origin:a,code:"too_small",minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),sm=f("$ZodCheckLengthEquals",(e,t)=>{var n;X.init(e,t),(n=e._zod.def).when??(n.when=i=>{let r=i.value;return!vr(r)&&r.length!==void 0}),e._zod.onattach.push(i=>{let r=i._zod.bag;r.minimum=t.length,r.maximum=t.length,r.length=t.length}),e._zod.check=i=>{let r=i.value,o=r.length;if(o===t.length)return;let a=lo(r),c=o>t.length;i.issues.push({origin:a,...c?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:i.value,inst:e,continue:!t.abort})}}),Bn=f("$ZodCheckStringFormat",(e,t)=>{var n,i;X.init(e,t),e._zod.onattach.push(r=>{let o=r._zod.bag;o.format=t.format,t.pattern&&(o.patterns??(o.patterns=new Set),o.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=r=>{t.pattern.lastIndex=0,!t.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:t.format,input:r.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(i=e._zod).check??(i.check=()=>{})}),cm=f("$ZodCheckRegex",(e,t)=>{Bn.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:"string",code:"invalid_format",format:"regex",input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),um=f("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=Xd),Bn.init(e,t)}),lm=f("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=Jd),Bn.init(e,t)}),dm=f("$ZodCheckIncludes",(e,t)=>{X.init(e,t);let n=ot(t.includes),i=new RegExp(typeof t.position=="number"?`^.{${t.position}}${n}`:n);t.pattern=i,e._zod.onattach.push(r=>{let o=r._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(i)}),e._zod.check=r=>{r.value.includes(t.includes,t.position)||r.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:r.value,inst:e,continue:!t.abort})}}),mm=f("$ZodCheckStartsWith",(e,t)=>{X.init(e,t);let n=new RegExp(`^${ot(t.prefix)}.*`);t.pattern??(t.pattern=n),e._zod.onattach.push(i=>{let r=i._zod.bag;r.patterns??(r.patterns=new Set),r.patterns.add(n)}),e._zod.check=i=>{i.value.startsWith(t.prefix)||i.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:i.value,inst:e,continue:!t.abort})}}),pm=f("$ZodCheckEndsWith",(e,t)=>{X.init(e,t);let n=new RegExp(`.*${ot(t.suffix)}$`);t.pattern??(t.pattern=n),e._zod.onattach.push(i=>{let r=i._zod.bag;r.patterns??(r.patterns=new Set),r.patterns.add(n)}),e._zod.check=i=>{i.value.endsWith(t.suffix)||i.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:i.value,inst:e,continue:!t.abort})}});function e_(e,t,n){e.issues.length&&t.issues.push(...Be(n,e.issues))}var fm=f("$ZodCheckProperty",(e,t)=>{X.init(e,t),e._zod.check=n=>{let i=t.schema._zod.run({value:n.value[t.property],issues:[]},{});if(i instanceof Promise)return i.then(r=>e_(r,n,t.property));e_(i,n,t.property)}}),gm=f("$ZodCheckMimeType",(e,t)=>{X.init(e,t);let n=new Set(t.mime);e._zod.onattach.push(i=>{i._zod.bag.mime=t.mime}),e._zod.check=i=>{n.has(i.value.type)||i.issues.push({code:"invalid_value",values:t.mime,input:i.value.type,inst:e,continue:!t.abort})}}),hm=f("$ZodCheckOverwrite",(e,t)=>{X.init(e,t),e._zod.check=n=>{n.value=t.tx(n.value)}});var vo=class{constructor(t=[]){this.content=[],this.indent=0,this&&(this.args=t)}indented(t){this.indent+=1,t(this),this.indent-=1}write(t){if(typeof t=="function"){t(this,{execution:"sync"}),t(this,{execution:"async"});return}let i=t.split(`
102
102
  `).filter(a=>a),r=Math.min(...i.map(a=>a.length-a.trimStart().length)),o=i.map(a=>a.slice(r)).map(a=>" ".repeat(this.indent*2)+a);for(let a of o)this.content.push(a)}compile(){let t=Function,n=this?.args,r=[...(this?.content??[""]).map(o=>` ${o}`)];return new t(...n,r.join(`
103
103
  `))}};var vm={major:4,minor:4,patch:3};var N=f("$ZodType",(e,t)=>{var n;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=vm;let i=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&i.unshift(e);for(let r of i)for(let o of r._zod.onattach)o(e);if(i.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let r=(a,c,u)=>{let l=Sr(a),m;for(let p of c){if(p._zod.def.when){if(yd(a)||!p._zod.def.when(a))continue}else if(l)continue;let g=a.issues.length,v=p._zod.check(a);if(v instanceof Promise&&u?.async===!1)throw new bt;if(m||v instanceof Promise)m=(m??Promise.resolve()).then(async()=>{await v,a.issues.length!==g&&(l||(l=Sr(a,g)))});else{if(a.issues.length===g)continue;l||(l=Sr(a,g))}}return m?m.then(()=>a):a},o=(a,c,u)=>{if(Sr(a))return a.aborted=!0,a;let l=r(c,i,u);if(l instanceof Promise){if(u.async===!1)throw new bt;return l.then(m=>e._zod.parse(m,u))}return e._zod.parse(l,u)};e._zod.run=(a,c)=>{if(c.skipChecks)return e._zod.parse(a,c);if(c.direction==="backward"){let l=e._zod.parse({value:a.value,issues:[]},{...c,skipChecks:!0});return l instanceof Promise?l.then(m=>o(m,a,c)):o(l,a,c)}let u=e._zod.parse(a,c);if(u instanceof Promise){if(c.async===!1)throw new bt;return u.then(l=>r(l,i,c))}return r(u,i,c)}}M(e,"~standard",()=>({validate:r=>{try{let o=Ed(e,r);return o.success?{value:o.data}:{issues:o.error?.issues}}catch{return xd(e,r).then(a=>a.success?{value:a.data}:{issues:a.error?.issues})}},vendor:"zod",version:1}))}),qr=f("$ZodString",(e,t)=>{N.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??Gd(e._zod.bag),e._zod.parse=(n,i)=>{if(t.coerce)try{n.value=String(n.value)}catch{}return typeof n.value=="string"||n.issues.push({expected:"string",code:"invalid_type",input:n.value,inst:e}),n}}),q=f("$ZodStringFormat",(e,t)=>{Bn.init(e,t),qr.init(e,t)}),ym=f("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=Nd),q.init(e,t)}),Sm=f("$ZodUUID",(e,t)=>{if(t.version){let i={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(i===void 0)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=Hr(i))}else t.pattern??(t.pattern=Hr());q.init(e,t)}),_m=f("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=wd),q.init(e,t)}),Em=f("$ZodURL",(e,t)=>{q.init(e,t),e._zod.check=n=>{try{let i=n.value.trim();if(!t.normalize&&t.protocol?.source===Ud.source&&!/^https?:\/\//i.test(i)){n.issues.push({code:"invalid_format",format:"url",note:"Invalid URL format",input:n.value,inst:e,continue:!t.abort});return}let r=new URL(i);t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(r.hostname)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:t.hostname.source,input:n.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(r.protocol.endsWith(":")?r.protocol.slice(0,-1):r.protocol)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort})),t.normalize?n.value=r.href:n.value=i;return}catch{n.issues.push({code:"invalid_format",format:"url",input:n.value,inst:e,continue:!t.abort})}}}),xm=f("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=kd()),q.init(e,t)}),Am=f("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=Pd),q.init(e,t)}),Im=f("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=Ad),q.init(e,t)}),$m=f("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=Id),q.init(e,t)}),Tm=f("$ZodULID",(e,t)=>{t.pattern??(t.pattern=$d),q.init(e,t)}),Rm=f("$ZodXID",(e,t)=>{t.pattern??(t.pattern=Td),q.init(e,t)}),Pm=f("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=Rd),q.init(e,t)}),Cm=f("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=Zd(t)),q.init(e,t)}),Nm=f("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=Bd),q.init(e,t)}),wm=f("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=Vd(t)),q.init(e,t)}),km=f("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=Cd),q.init(e,t)}),Om=f("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=Od),q.init(e,t),e._zod.bag.format="ipv4"}),Dm=f("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=Dd),q.init(e,t),e._zod.bag.format="ipv6",e._zod.check=n=>{try{new URL(`http://[${n.value}]`)}catch{n.issues.push({code:"invalid_format",format:"ipv6",input:n.value,inst:e,continue:!t.abort})}}}),Mm=f("$ZodMAC",(e,t)=>{t.pattern??(t.pattern=Md(t.delimiter)),q.init(e,t),e._zod.bag.format="mac"}),jm=f("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=jd),q.init(e,t)}),zm=f("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=zd),q.init(e,t),e._zod.check=n=>{let i=n.value.split("/");try{if(i.length!==2)throw new Error;let[r,o]=i;if(!o)throw new Error;let a=Number(o);if(`${a}`!==o)throw new Error;if(a<0||a>128)throw new Error;new URL(`http://[${r}]`)}catch{n.issues.push({code:"invalid_format",format:"cidrv6",input:n.value,inst:e,continue:!t.abort})}}});function Lm(e){if(e==="")return!0;if(/\s/.test(e)||e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}var Um=f("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=Ld),q.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=n=>{Lm(n.value)||n.issues.push({code:"invalid_format",format:"base64",input:n.value,inst:e,continue:!t.abort})}});function v_(e){if(!As.test(e))return!1;let t=e.replace(/[-_]/g,i=>i==="-"?"+":"/"),n=t.padEnd(Math.ceil(t.length/4)*4,"=");return Lm(n)}var Fm=f("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=As),q.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=n=>{v_(n.value)||n.issues.push({code:"invalid_format",format:"base64url",input:n.value,inst:e,continue:!t.abort})}}),Bm=f("$ZodE164",(e,t)=>{t.pattern??(t.pattern=Fd),q.init(e,t)});function b_(e,t=null){try{let n=e.split(".");if(n.length!==3)return!1;let[i]=n;if(!i)return!1;let r=JSON.parse(atob(i));return!("typ"in r&&r?.typ!=="JWT"||!r.alg||t&&(!("alg"in r)||r.alg!==t))}catch{return!1}}var Vm=f("$ZodJWT",(e,t)=>{q.init(e,t),e._zod.check=n=>{b_(n.value,t.alg)||n.issues.push({code:"invalid_format",format:"jwt",input:n.value,inst:e,continue:!t.abort})}}),Zm=f("$ZodCustomStringFormat",(e,t)=>{q.init(e,t),e._zod.check=n=>{t.fn(n.value)||n.issues.push({code:"invalid_format",format:t.format,input:n.value,inst:e,continue:!t.abort})}}),ws=f("$ZodNumber",(e,t)=>{N.init(e,t),e._zod.pattern=e._zod.bag.pattern??Is,e._zod.parse=(n,i)=>{if(t.coerce)try{n.value=Number(n.value)}catch{}let r=n.value;if(typeof r=="number"&&!Number.isNaN(r)&&Number.isFinite(r))return n;let o=typeof r=="number"?Number.isNaN(r)?"NaN":Number.isFinite(r)?void 0:"Infinity":void 0;return n.issues.push({expected:"number",code:"invalid_type",input:r,inst:e,...o?{received:o}:{}}),n}}),Gm=f("$ZodNumberFormat",(e,t)=>{em.init(e,t),ws.init(e,t)}),bo=f("$ZodBoolean",(e,t)=>{N.init(e,t),e._zod.pattern=qd,e._zod.parse=(n,i)=>{if(t.coerce)try{n.value=!!n.value}catch{}let r=n.value;return typeof r=="boolean"||n.issues.push({expected:"boolean",code:"invalid_type",input:r,inst:e}),n}}),ks=f("$ZodBigInt",(e,t)=>{N.init(e,t),e._zod.pattern=Wd,e._zod.parse=(n,i)=>{if(t.coerce)try{n.value=BigInt(n.value)}catch{}return typeof n.value=="bigint"||n.issues.push({expected:"bigint",code:"invalid_type",input:n.value,inst:e}),n}}),Wm=f("$ZodBigIntFormat",(e,t)=>{tm.init(e,t),ks.init(e,t)}),Hm=f("$ZodSymbol",(e,t)=>{N.init(e,t),e._zod.parse=(n,i)=>{let r=n.value;return typeof r=="symbol"||n.issues.push({expected:"symbol",code:"invalid_type",input:r,inst:e}),n}}),qm=f("$ZodUndefined",(e,t)=>{N.init(e,t),e._zod.pattern=Yd,e._zod.values=new Set([void 0]),e._zod.parse=(n,i)=>{let r=n.value;return typeof r>"u"||n.issues.push({expected:"undefined",code:"invalid_type",input:r,inst:e}),n}}),Km=f("$ZodNull",(e,t)=>{N.init(e,t),e._zod.pattern=Kd,e._zod.values=new Set([null]),e._zod.parse=(n,i)=>{let r=n.value;return r===null||n.issues.push({expected:"null",code:"invalid_type",input:r,inst:e}),n}}),Ym=f("$ZodAny",(e,t)=>{N.init(e,t),e._zod.parse=n=>n}),Xm=f("$ZodUnknown",(e,t)=>{N.init(e,t),e._zod.parse=n=>n}),Jm=f("$ZodNever",(e,t)=>{N.init(e,t),e._zod.parse=(n,i)=>(n.issues.push({expected:"never",code:"invalid_type",input:n.value,inst:e}),n)}),Qm=f("$ZodVoid",(e,t)=>{N.init(e,t),e._zod.parse=(n,i)=>{let r=n.value;return typeof r>"u"||n.issues.push({expected:"void",code:"invalid_type",input:r,inst:e}),n}}),ep=f("$ZodDate",(e,t)=>{N.init(e,t),e._zod.parse=(n,i)=>{if(t.coerce)try{n.value=new Date(n.value)}catch{}let r=n.value,o=r instanceof Date;return o&&!Number.isNaN(r.getTime())||n.issues.push({expected:"date",code:"invalid_type",input:r,...o?{received:"Invalid Date"}:{},inst:e}),n}});function n_(e,t,n){e.issues.length&&t.issues.push(...Be(n,e.issues)),t.value[n]=e.value}var tp=f("$ZodArray",(e,t)=>{N.init(e,t),e._zod.parse=(n,i)=>{let r=n.value;if(!Array.isArray(r))return n.issues.push({expected:"array",code:"invalid_type",input:r,inst:e}),n;n.value=Array(r.length);let o=[];for(let a=0;a<r.length;a++){let c=r[a],u=t.element._zod.run({value:c,issues:[]},i);u instanceof Promise?o.push(u.then(l=>n_(l,n,a))):n_(u,n,a)}return o.length?Promise.all(o).then(()=>n):n}});function Ns(e,t,n,i,r,o){let a=n in i;if(e.issues.length){if(r&&o&&!a)return;t.issues.push(...Be(n,e.issues))}if(!a&&!r){e.issues.length||t.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[n]});return}e.value===void 0?a&&(t.value[n]=void 0):t.value[n]=e.value}function y_(e){let t=Object.keys(e.shape);for(let i of t)if(!e.shape?.[i]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${i}": expected a Zod schema`);let n=hd(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function S_(e,t,n,i,r,o){let a=[],c=r.keySet,u=r.catchall._zod,l=u.def.type,m=u.optin==="optional",p=u.optout==="optional";for(let g in t){if(g==="__proto__"||c.has(g))continue;if(l==="never"){a.push(g);continue}let v=u.run({value:t[g],issues:[]},i);v instanceof Promise?e.push(v.then(A=>Ns(A,n,g,t,m,p))):Ns(v,n,g,t,m,p)}return a.length&&n.issues.push({code:"unrecognized_keys",keys:a,input:t,inst:o}),e.length?Promise.all(e).then(()=>n):n}var __=f("$ZodObject",(e,t)=>{if(N.init(e,t),!Object.getOwnPropertyDescriptor(t,"shape")?.get){let c=t.shape;Object.defineProperty(t,"shape",{get:()=>{let u={...c};return Object.defineProperty(t,"shape",{value:u}),u}})}let i=Mn(()=>y_(t));M(e._zod,"propValues",()=>{let c=t.shape,u={};for(let l in c){let m=c[l]._zod;if(m.values){u[l]??(u[l]=new Set);for(let p of m.values)u[l].add(p)}}return u});let r=Wr,o=t.catchall,a;e._zod.parse=(c,u)=>{a??(a=i.value);let l=c.value;if(!r(l))return c.issues.push({expected:"object",code:"invalid_type",input:l,inst:e}),c;c.value={};let m=[],p=a.shape;for(let g of a.keys){let v=p[g],A=v._zod.optin==="optional",Y=v._zod.optout==="optional",z=v._zod.run({value:l[g],issues:[]},u);z instanceof Promise?m.push(z.then(Se=>Ns(Se,c,g,l,A,Y))):Ns(z,c,g,l,A,Y)}return o?S_(m,l,c,u,i.value,e):m.length?Promise.all(m).then(()=>c):c}}),rp=f("$ZodObjectJIT",(e,t)=>{__.init(e,t);let n=e._zod.parse,i=Mn(()=>y_(t)),r=g=>{let v=new vo(["shape","payload","ctx"]),A=i.value,Y=Ne=>{let te=ms(Ne);return`shape[${te}]._zod.run({ value: input[${te}], issues: [] }, ctx)`};v.write("const input = payload.value;");let z=Object.create(null),Se=0;for(let Ne of A.keys)z[Ne]=`key_${Se++}`;v.write("const newResult = {};");for(let Ne of A.keys){let te=z[Ne],pe=ms(Ne),Tn=g[Ne],_S=Tn?._zod?.optin==="optional",Zw=Tn?._zod?.optout==="optional";v.write(`const ${te} = ${Y(Ne)};`),_S&&Zw?v.write(`
@@ -163,12 +163,12 @@ Filtered results for: ${this.inputValue?this.inputValue:pr.gray("Enter something
163
163
 
164
164
  Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let a of e.seen.entries()){let c=a[1];if(t===a[0]){o(a);continue}if(e.external){let l=e.external.registry.get(a[0])?.id;if(t!==a[0]&&l){o(a);continue}}if(e.metadataRegistry.get(a[0])?.id){o(a);continue}if(c.cycle){o(a);continue}if(c.count>1&&e.reused==="ref"){o(a);continue}}}function Ir(e,t){let n=e.seen.get(t);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");let i=c=>{let u=e.seen.get(c);if(u.ref===null)return;let l=u.def??u.schema,m={...l},p=u.ref;if(u.ref=null,p){i(p);let v=e.seen.get(p),A=v.schema;if(A.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0")?(l.allOf=l.allOf??[],l.allOf.push(A)):Object.assign(l,A),Object.assign(l,m),c._zod.parent===p)for(let z in l)z==="$ref"||z==="allOf"||z in m||delete l[z];if(A.$ref&&v.def)for(let z in l)z==="$ref"||z==="allOf"||z in v.def&&JSON.stringify(l[z])===JSON.stringify(v.def[z])&&delete l[z]}let g=c._zod.parent;if(g&&g!==p){i(g);let v=e.seen.get(g);if(v?.schema.$ref&&(l.$ref=v.schema.$ref,v.def))for(let A in l)A==="$ref"||A==="allOf"||A in v.def&&JSON.stringify(l[A])===JSON.stringify(v.def[A])&&delete l[A]}e.override({zodSchema:c,jsonSchema:l,path:u.path??[]})};for(let c of[...e.seen.entries()].reverse())i(c[0]);let r={};if(e.target==="draft-2020-12"?r.$schema="https://json-schema.org/draft/2020-12/schema":e.target==="draft-07"?r.$schema="http://json-schema.org/draft-07/schema#":e.target==="draft-04"?r.$schema="http://json-schema.org/draft-04/schema#":e.target,e.external?.uri){let c=e.external.registry.get(t)?.id;if(!c)throw new Error("Schema is missing an `id` property");r.$id=e.external.uri(c)}Object.assign(r,n.def??n.schema);let o=e.metadataRegistry.get(t)?.id;o!==void 0&&r.id===o&&delete r.id;let a=e.external?.defs??{};for(let c of e.seen.entries()){let u=c[1];u.def&&u.defId&&(u.def.id===u.defId&&delete u.def.id,a[u.defId]=u.def)}e.external||Object.keys(a).length>0&&(e.target==="draft-2020-12"?r.$defs=a:r.definitions=a);try{let c=JSON.parse(JSON.stringify(r));return Object.defineProperty(c,"~standard",{value:{...t["~standard"],jsonSchema:{input:ni(t,"input",e.processors),output:ni(t,"output",e.processors)}},enumerable:!1,writable:!1}),c}catch{throw new Error("Error converting schema to JSON.")}}function Me(e,t){let n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);let i=e._zod.def;if(i.type==="transform")return!0;if(i.type==="array")return Me(i.element,n);if(i.type==="set")return Me(i.valueType,n);if(i.type==="lazy")return Me(i.getter(),n);if(i.type==="promise"||i.type==="optional"||i.type==="nonoptional"||i.type==="nullable"||i.type==="readonly"||i.type==="default"||i.type==="prefault")return Me(i.innerType,n);if(i.type==="intersection")return Me(i.left,n)||Me(i.right,n);if(i.type==="record"||i.type==="map")return Me(i.keyType,n)||Me(i.valueType,n);if(i.type==="pipe")return e._zod.traits.has("$ZodCodec")?!0:Me(i.in,n)||Me(i.out,n);if(i.type==="object"){for(let r in i.shape)if(Me(i.shape[r],n))return!0;return!1}if(i.type==="union"){for(let r of i.options)if(Me(r,n))return!0;return!1}if(i.type==="tuple"){for(let r of i.items)if(Me(r,n))return!0;return!!(i.rest&&Me(i.rest,n))}return!1}var hf=(e,t={})=>n=>{let i=xr({...n,processors:t});return Z(e,i),Ar(i,e),Ir(i,e)},ni=(e,t,n={})=>i=>{let{libraryOptions:r,target:o}=i??{},a=xr({...r??{},target:o,io:t,processors:n});return Z(e,a),Ar(a,e),Ir(a,e)};var d1={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},vf=(e,t,n,i)=>{let r=n;r.type="string";let{minimum:o,maximum:a,format:c,patterns:u,contentEncoding:l}=e._zod.bag;if(typeof o=="number"&&(r.minLength=o),typeof a=="number"&&(r.maxLength=a),c&&(r.format=d1[c]??c,r.format===""&&delete r.format,c==="time"&&delete r.format),l&&(r.contentEncoding=l),u&&u.size>0){let m=[...u];m.length===1?r.pattern=m[0].source:m.length>1&&(r.allOf=[...m.map(p=>({...t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0"?{type:"string"}:{},pattern:p.source}))])}},bf=(e,t,n,i)=>{let r=n,{minimum:o,maximum:a,format:c,multipleOf:u,exclusiveMaximum:l,exclusiveMinimum:m}=e._zod.bag;typeof c=="string"&&c.includes("int")?r.type="integer":r.type="number";let p=typeof m=="number"&&m>=(o??Number.NEGATIVE_INFINITY),g=typeof l=="number"&&l<=(a??Number.POSITIVE_INFINITY),v=t.target==="draft-04"||t.target==="openapi-3.0";p?v?(r.minimum=m,r.exclusiveMinimum=!0):r.exclusiveMinimum=m:typeof o=="number"&&(r.minimum=o),g?v?(r.maximum=l,r.exclusiveMaximum=!0):r.exclusiveMaximum=l:typeof a=="number"&&(r.maximum=a),typeof u=="number"&&(r.multipleOf=u)},yf=(e,t,n,i)=>{n.type="boolean"},Sf=(e,t,n,i)=>{if(t.unrepresentable==="throw")throw new Error("BigInt cannot be represented in JSON Schema")},_f=(e,t,n,i)=>{if(t.unrepresentable==="throw")throw new Error("Symbols cannot be represented in JSON Schema")},Ef=(e,t,n,i)=>{t.target==="openapi-3.0"?(n.type="string",n.nullable=!0,n.enum=[null]):n.type="null"},xf=(e,t,n,i)=>{if(t.unrepresentable==="throw")throw new Error("Undefined cannot be represented in JSON Schema")},Af=(e,t,n,i)=>{if(t.unrepresentable==="throw")throw new Error("Void cannot be represented in JSON Schema")},If=(e,t,n,i)=>{n.not={}},$f=(e,t,n,i)=>{},Tf=(e,t,n,i)=>{},Rf=(e,t,n,i)=>{if(t.unrepresentable==="throw")throw new Error("Date cannot be represented in JSON Schema")},Pf=(e,t,n,i)=>{let r=e._zod.def,o=ao(r.entries);o.every(a=>typeof a=="number")&&(n.type="number"),o.every(a=>typeof a=="string")&&(n.type="string"),n.enum=o},Cf=(e,t,n,i)=>{let r=e._zod.def,o=[];for(let a of r.values)if(a===void 0){if(t.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof a=="bigint"){if(t.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");o.push(Number(a))}else o.push(a);if(o.length!==0)if(o.length===1){let a=o[0];n.type=a===null?"null":typeof a,t.target==="draft-04"||t.target==="openapi-3.0"?n.enum=[a]:n.const=a}else o.every(a=>typeof a=="number")&&(n.type="number"),o.every(a=>typeof a=="string")&&(n.type="string"),o.every(a=>typeof a=="boolean")&&(n.type="boolean"),o.every(a=>a===null)&&(n.type="null"),n.enum=o},Nf=(e,t,n,i)=>{if(t.unrepresentable==="throw")throw new Error("NaN cannot be represented in JSON Schema")},wf=(e,t,n,i)=>{let r=n,o=e._zod.pattern;if(!o)throw new Error("Pattern not found in template literal");r.type="string",r.pattern=o.source},kf=(e,t,n,i)=>{let r=n,o={type:"string",format:"binary",contentEncoding:"binary"},{minimum:a,maximum:c,mime:u}=e._zod.bag;a!==void 0&&(o.minLength=a),c!==void 0&&(o.maxLength=c),u?u.length===1?(o.contentMediaType=u[0],Object.assign(r,o)):(Object.assign(r,o),r.anyOf=u.map(l=>({contentMediaType:l}))):Object.assign(r,o)},Of=(e,t,n,i)=>{n.type="boolean"},Df=(e,t,n,i)=>{if(t.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},Mf=(e,t,n,i)=>{if(t.unrepresentable==="throw")throw new Error("Function types cannot be represented in JSON Schema")},jf=(e,t,n,i)=>{if(t.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},zf=(e,t,n,i)=>{if(t.unrepresentable==="throw")throw new Error("Map cannot be represented in JSON Schema")},Lf=(e,t,n,i)=>{if(t.unrepresentable==="throw")throw new Error("Set cannot be represented in JSON Schema")},Uf=(e,t,n,i)=>{let r=n,o=e._zod.def,{minimum:a,maximum:c}=e._zod.bag;typeof a=="number"&&(r.minItems=a),typeof c=="number"&&(r.maxItems=c),r.type="array",r.items=Z(o.element,t,{...i,path:[...i.path,"items"]})},Ff=(e,t,n,i)=>{let r=n,o=e._zod.def;r.type="object",r.properties={};let a=o.shape;for(let l in a)r.properties[l]=Z(a[l],t,{...i,path:[...i.path,"properties",l]});let c=new Set(Object.keys(a)),u=new Set([...c].filter(l=>{let m=o.shape[l]._zod;return t.io==="input"?m.optin===void 0:m.optout===void 0}));u.size>0&&(r.required=Array.from(u)),o.catchall?._zod.def.type==="never"?r.additionalProperties=!1:o.catchall?o.catchall&&(r.additionalProperties=Z(o.catchall,t,{...i,path:[...i.path,"additionalProperties"]})):t.io==="output"&&(r.additionalProperties=!1)},fc=(e,t,n,i)=>{let r=e._zod.def,o=r.inclusive===!1,a=r.options.map((c,u)=>Z(c,t,{...i,path:[...i.path,o?"oneOf":"anyOf",u]}));o?n.oneOf=a:n.anyOf=a},Bf=(e,t,n,i)=>{let r=e._zod.def,o=Z(r.left,t,{...i,path:[...i.path,"allOf",0]}),a=Z(r.right,t,{...i,path:[...i.path,"allOf",1]}),c=l=>"allOf"in l&&Object.keys(l).length===1,u=[...c(o)?o.allOf:[o],...c(a)?a.allOf:[a]];n.allOf=u},Vf=(e,t,n,i)=>{let r=n,o=e._zod.def;r.type="array";let a=t.target==="draft-2020-12"?"prefixItems":"items",c=t.target==="draft-2020-12"||t.target==="openapi-3.0"?"items":"additionalItems",u=o.items.map((g,v)=>Z(g,t,{...i,path:[...i.path,a,v]})),l=o.rest?Z(o.rest,t,{...i,path:[...i.path,c,...t.target==="openapi-3.0"?[o.items.length]:[]]}):null;t.target==="draft-2020-12"?(r.prefixItems=u,l&&(r.items=l)):t.target==="openapi-3.0"?(r.items={anyOf:u},l&&r.items.anyOf.push(l),r.minItems=u.length,l||(r.maxItems=u.length)):(r.items=u,l&&(r.additionalItems=l));let{minimum:m,maximum:p}=e._zod.bag;typeof m=="number"&&(r.minItems=m),typeof p=="number"&&(r.maxItems=p)},Zf=(e,t,n,i)=>{let r=n,o=e._zod.def;r.type="object";let a=o.keyType,u=a._zod.bag?.patterns;if(o.mode==="loose"&&u&&u.size>0){let m=Z(o.valueType,t,{...i,path:[...i.path,"patternProperties","*"]});r.patternProperties={};for(let p of u)r.patternProperties[p.source]=m}else(t.target==="draft-07"||t.target==="draft-2020-12")&&(r.propertyNames=Z(o.keyType,t,{...i,path:[...i.path,"propertyNames"]})),r.additionalProperties=Z(o.valueType,t,{...i,path:[...i.path,"additionalProperties"]});let l=a._zod.values;if(l){let m=[...l].filter(p=>typeof p=="string"||typeof p=="number");m.length>0&&(r.required=m)}},Gf=(e,t,n,i)=>{let r=e._zod.def,o=Z(r.innerType,t,i),a=t.seen.get(e);t.target==="openapi-3.0"?(a.ref=r.innerType,n.nullable=!0):n.anyOf=[o,{type:"null"}]},Wf=(e,t,n,i)=>{let r=e._zod.def;Z(r.innerType,t,i);let o=t.seen.get(e);o.ref=r.innerType},Hf=(e,t,n,i)=>{let r=e._zod.def;Z(r.innerType,t,i);let o=t.seen.get(e);o.ref=r.innerType,n.default=JSON.parse(JSON.stringify(r.defaultValue))},qf=(e,t,n,i)=>{let r=e._zod.def;Z(r.innerType,t,i);let o=t.seen.get(e);o.ref=r.innerType,t.io==="input"&&(n._prefault=JSON.parse(JSON.stringify(r.defaultValue)))},Kf=(e,t,n,i)=>{let r=e._zod.def;Z(r.innerType,t,i);let o=t.seen.get(e);o.ref=r.innerType;let a;try{a=r.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}n.default=a},Yf=(e,t,n,i)=>{let r=e._zod.def,o=r.in._zod.traits.has("$ZodTransform"),a=t.io==="input"?o?r.out:r.in:r.out;Z(a,t,i);let c=t.seen.get(e);c.ref=a},Xf=(e,t,n,i)=>{let r=e._zod.def;Z(r.innerType,t,i);let o=t.seen.get(e);o.ref=r.innerType,n.readOnly=!0},Jf=(e,t,n,i)=>{let r=e._zod.def;Z(r.innerType,t,i);let o=t.seen.get(e);o.ref=r.innerType},gc=(e,t,n,i)=>{let r=e._zod.def;Z(r.innerType,t,i);let o=t.seen.get(e);o.ref=r.innerType},Qf=(e,t,n,i)=>{let r=e._zod.innerType;Z(r,t,i);let o=t.seen.get(e);o.ref=r},pc={string:vf,number:bf,boolean:yf,bigint:Sf,symbol:_f,null:Ef,undefined:xf,void:Af,never:If,any:$f,unknown:Tf,date:Rf,enum:Pf,literal:Cf,nan:Nf,template_literal:wf,file:kf,success:Of,custom:Df,function:Mf,transform:jf,map:zf,set:Lf,array:Uf,object:Ff,union:fc,intersection:Bf,tuple:Vf,record:Zf,nullable:Gf,nonoptional:Wf,default:Hf,prefault:qf,catch:Kf,pipe:Yf,readonly:Xf,promise:Jf,optional:gc,lazy:Qf};function hc(e,t){if("_idmap"in e){let i=e,r=xr({...t,processors:pc}),o={};for(let u of i._idmap.entries()){let[l,m]=u;Z(m,r)}let a={},c={registry:i,uri:t?.uri,defs:o};r.external=c;for(let u of i._idmap.entries()){let[l,m]=u;Ar(r,m),a[l]=Ir(r,m)}if(Object.keys(o).length>0){let u=r.target==="draft-2020-12"?"$defs":"definitions";a.__shared={[u]:o}}return{schemas:a}}let n=xr({...t,processors:pc});return Z(e,n),Ar(n,e),Ir(n,e)}var vc=class{get metadataRegistry(){return this.ctx.metadataRegistry}get target(){return this.ctx.target}get unrepresentable(){return this.ctx.unrepresentable}get override(){return this.ctx.override}get io(){return this.ctx.io}get counter(){return this.ctx.counter}set counter(t){this.ctx.counter=t}get seen(){return this.ctx.seen}constructor(t){let n=t?.target??"draft-2020-12";n==="draft-4"&&(n="draft-04"),n==="draft-7"&&(n="draft-07"),this.ctx=xr({processors:pc,target:n,...t?.metadata&&{metadata:t.metadata},...t?.unrepresentable&&{unrepresentable:t.unrepresentable},...t?.override&&{override:t.override},...t?.io&&{io:t.io}})}process(t,n={path:[],schemaPath:[]}){return Z(t,this.ctx,n)}emit(t,n){n&&(n.cycles&&(this.ctx.cycles=n.cycles),n.reused&&(this.ctx.reused=n.reused),n.external&&(this.ctx.external=n.external)),Ar(this.ctx,t);let i=Ir(this.ctx,t),{"~standard":r,...o}=i;return o}};var xE={};var Io={};$t(Io,{ZodAny:()=>xg,ZodArray:()=>Tg,ZodBase64:()=>zc,ZodBase64URL:()=>Lc,ZodBigInt:()=>di,ZodBigIntFormat:()=>Bc,ZodBoolean:()=>li,ZodCIDRv4:()=>Mc,ZodCIDRv6:()=>jc,ZodCUID:()=>Pc,ZodCUID2:()=>Cc,ZodCatch:()=>Kg,ZodCodec:()=>jo,ZodCustom:()=>zo,ZodCustomStringFormat:()=>ci,ZodDate:()=>wo,ZodDefault:()=>Vg,ZodDiscriminatedUnion:()=>Pg,ZodE164:()=>Uc,ZodEmail:()=>$c,ZodEmoji:()=>Tc,ZodEnum:()=>ai,ZodExactOptional:()=>Ug,ZodFile:()=>zg,ZodFunction:()=>oh,ZodGUID:()=>To,ZodIPv4:()=>Oc,ZodIPv6:()=>Dc,ZodIntersection:()=>Cg,ZodJWT:()=>Fc,ZodKSUID:()=>kc,ZodLazy:()=>rh,ZodLiteral:()=>jg,ZodMAC:()=>hg,ZodMap:()=>Dg,ZodNaN:()=>Xg,ZodNanoID:()=>Rc,ZodNever:()=>Ig,ZodNonOptional:()=>qc,ZodNull:()=>_g,ZodNullable:()=>Bg,ZodNumber:()=>ui,ZodNumberFormat:()=>Qr,ZodObject:()=>Oo,ZodOptional:()=>Hc,ZodPipe:()=>Mo,ZodPrefault:()=>Gg,ZodPreprocess:()=>Jg,ZodPromise:()=>ih,ZodReadonly:()=>Qg,ZodRecord:()=>oi,ZodSet:()=>Mg,ZodString:()=>si,ZodStringFormat:()=>K,ZodSuccess:()=>qg,ZodSymbol:()=>yg,ZodTemplateLiteral:()=>th,ZodTransform:()=>Lg,ZodTuple:()=>wg,ZodType:()=>w,ZodULID:()=>Nc,ZodURL:()=>No,ZodUUID:()=>wt,ZodUndefined:()=>Sg,ZodUnion:()=>Do,ZodUnknown:()=>Ag,ZodVoid:()=>$g,ZodXID:()=>wc,ZodXor:()=>Rg,_ZodString:()=>Ic,_default:()=>Zg,_function:()=>wx,any:()=>ux,array:()=>ko,base64:()=>WE,base64url:()=>HE,bigint:()=>ix,boolean:()=>bg,catch:()=>Yg,check:()=>kx,cidrv4:()=>ZE,cidrv6:()=>GE,codec:()=>Rx,cuid:()=>ME,cuid2:()=>jE,custom:()=>Ox,date:()=>dx,describe:()=>Dx,discriminatedUnion:()=>vx,e164:()=>qE,email:()=>$E,emoji:()=>OE,enum:()=>Gc,exactOptional:()=>Fg,file:()=>Ax,float32:()=>ex,float64:()=>tx,function:()=>wx,guid:()=>TE,hash:()=>QE,hex:()=>JE,hostname:()=>XE,httpUrl:()=>kE,instanceof:()=>jx,int:()=>xc,int32:()=>rx,int64:()=>ox,intersection:()=>Ng,invertCodec:()=>Px,ipv4:()=>FE,ipv6:()=>VE,json:()=>Lx,jwt:()=>KE,keyof:()=>mx,ksuid:()=>UE,lazy:()=>nh,literal:()=>xx,looseObject:()=>gx,looseRecord:()=>yx,mac:()=>BE,map:()=>Sx,meta:()=>Mx,nan:()=>Tx,nanoid:()=>DE,nativeEnum:()=>Ex,never:()=>Vc,nonoptional:()=>Hg,null:()=>Eg,nullable:()=>Po,nullish:()=>Ix,number:()=>vg,object:()=>px,optional:()=>Ro,partialRecord:()=>bx,pipe:()=>Ac,prefault:()=>Wg,preprocess:()=>Ux,promise:()=>Nx,readonly:()=>eh,record:()=>Og,refine:()=>ah,set:()=>_x,strictObject:()=>fx,string:()=>$o,stringFormat:()=>YE,stringbool:()=>zx,success:()=>$x,superRefine:()=>sh,symbol:()=>sx,templateLiteral:()=>Cx,transform:()=>Wc,tuple:()=>kg,uint32:()=>nx,uint64:()=>ax,ulid:()=>zE,undefined:()=>cx,union:()=>Zc,unknown:()=>Jr,url:()=>wE,uuid:()=>RE,uuidv4:()=>PE,uuidv6:()=>CE,uuidv7:()=>NE,void:()=>lx,xid:()=>LE,xor:()=>hx});var bc={};$t(bc,{endsWith:()=>Kn,gt:()=>Ct,gte:()=>De,includes:()=>Hn,length:()=>Xr,lowercase:()=>Gn,lt:()=>Pt,lte:()=>Qe,maxLength:()=>Yr,maxSize:()=>Er,mime:()=>Yn,minLength:()=>Xt,minSize:()=>Nt,multipleOf:()=>_r,negative:()=>uc,nonnegative:()=>dc,nonpositive:()=>lc,normalize:()=>Xn,overwrite:()=>yt,positive:()=>cc,property:()=>mc,regex:()=>Zn,size:()=>Kr,slugify:()=>ti,startsWith:()=>qn,toLowerCase:()=>Qn,toUpperCase:()=>ei,trim:()=>Jn,uppercase:()=>Wn});var ii={};$t(ii,{ZodISODate:()=>Sc,ZodISODateTime:()=>yc,ZodISODuration:()=>Ec,ZodISOTime:()=>_c,date:()=>tg,datetime:()=>eg,duration:()=>ng,time:()=>rg});var yc=f("ZodISODateTime",(e,t)=>{Cm.init(e,t),K.init(e,t)});function eg(e){return Op(yc,e)}var Sc=f("ZodISODate",(e,t)=>{Nm.init(e,t),K.init(e,t)});function tg(e){return Dp(Sc,e)}var _c=f("ZodISOTime",(e,t)=>{wm.init(e,t),K.init(e,t)});function rg(e){return Mp(_c,e)}var Ec=f("ZodISODuration",(e,t)=>{km.init(e,t),K.init(e,t)});function ng(e){return jp(Ec,e)}var AE=(e,t)=>{mo.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:n=>fo(e,n)},flatten:{value:n=>po(e,n)},addIssue:{value:n=>{e.issues.push(n),e.message=JSON.stringify(e.issues,Dn,2)}},addIssues:{value:n=>{e.issues.push(...n),e.message=JSON.stringify(e.issues,Dn,2)}},isEmpty:{get(){return e.issues.length===0}}})},p1=f("ZodError",AE),Ze=f("ZodError",AE,{Parent:Error});var ig=zn(Ze),og=Ln(Ze),ag=Un(Ze),sg=Fn(Ze),cg=hs(Ze),ug=vs(Ze),lg=bs(Ze),dg=ys(Ze),mg=Ss(Ze),pg=_s(Ze),fg=Es(Ze),gg=xs(Ze);var IE=new WeakMap;function Co(e,t,n){let i=Object.getPrototypeOf(e),r=IE.get(i);if(r||(r=new Set,IE.set(i,r)),!r.has(t)){r.add(t);for(let o in n){let a=n[o];Object.defineProperty(i,o,{configurable:!0,enumerable:!1,get(){let c=a.bind(this);return Object.defineProperty(this,o,{configurable:!0,writable:!0,enumerable:!0,value:c}),c},set(c){Object.defineProperty(this,o,{configurable:!0,writable:!0,enumerable:!0,value:c})}})}}}var w=f("ZodType",(e,t)=>(N.init(e,t),Object.assign(e["~standard"],{jsonSchema:{input:ni(e,"input"),output:ni(e,"output")}}),e.toJSONSchema=hf(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.parse=(n,i)=>ig(e,n,i,{callee:e.parse}),e.safeParse=(n,i)=>ag(e,n,i),e.parseAsync=async(n,i)=>og(e,n,i,{callee:e.parseAsync}),e.safeParseAsync=async(n,i)=>sg(e,n,i),e.spa=e.safeParseAsync,e.encode=(n,i)=>cg(e,n,i),e.decode=(n,i)=>ug(e,n,i),e.encodeAsync=async(n,i)=>lg(e,n,i),e.decodeAsync=async(n,i)=>dg(e,n,i),e.safeEncode=(n,i)=>mg(e,n,i),e.safeDecode=(n,i)=>pg(e,n,i),e.safeEncodeAsync=async(n,i)=>fg(e,n,i),e.safeDecodeAsync=async(n,i)=>gg(e,n,i),Co(e,"ZodType",{check(...n){let i=this.def;return this.clone(_.mergeDefs(i,{checks:[...i.checks??[],...n.map(r=>typeof r=="function"?{_zod:{check:r,def:{check:"custom"},onattach:[]}}:r)]}),{parent:!0})},with(...n){return this.check(...n)},clone(n,i){return ke(this,n,i)},brand(){return this},register(n,i){return n.add(this,i),this},refine(n,i){return this.check(ah(n,i))},superRefine(n,i){return this.check(sh(n,i))},overwrite(n){return this.check(yt(n))},optional(){return Ro(this)},exactOptional(){return Fg(this)},nullable(){return Po(this)},nullish(){return Ro(Po(this))},nonoptional(n){return Hg(this,n)},array(){return ko(this)},or(n){return Zc([this,n])},and(n){return Ng(this,n)},transform(n){return Ac(this,Wc(n))},default(n){return Zg(this,n)},prefault(n){return Wg(this,n)},catch(n){return Yg(this,n)},pipe(n){return Ac(this,n)},readonly(){return eh(this)},describe(n){let i=this.clone();return _e.add(i,{description:n}),i},meta(...n){if(n.length===0)return _e.get(this);let i=this.clone();return _e.add(i,n[0]),i},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(n){return n(this)}}),Object.defineProperty(e,"description",{get(){return _e.get(e)?.description},configurable:!0}),e)),Ic=f("_ZodString",(e,t)=>{qr.init(e,t),w.init(e,t),e._zod.processJSONSchema=(i,r,o)=>vf(e,i,r,o);let n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,Co(e,"_ZodString",{regex(...i){return this.check(Zn(...i))},includes(...i){return this.check(Hn(...i))},startsWith(...i){return this.check(qn(...i))},endsWith(...i){return this.check(Kn(...i))},min(...i){return this.check(Xt(...i))},max(...i){return this.check(Yr(...i))},length(...i){return this.check(Xr(...i))},nonempty(...i){return this.check(Xt(1,...i))},lowercase(i){return this.check(Gn(i))},uppercase(i){return this.check(Wn(i))},trim(){return this.check(Jn())},normalize(...i){return this.check(Xn(...i))},toLowerCase(){return this.check(Qn())},toUpperCase(){return this.check(ei())},slugify(){return this.check(ti())}})}),si=f("ZodString",(e,t)=>{qr.init(e,t),Ic.init(e,t),e.email=n=>e.check(Bs($c,n)),e.url=n=>e.check(Ao(No,n)),e.jwt=n=>e.check(sc(Fc,n)),e.emoji=n=>e.check(Hs(Tc,n)),e.guid=n=>e.check(xo(To,n)),e.uuid=n=>e.check(Vs(wt,n)),e.uuidv4=n=>e.check(Zs(wt,n)),e.uuidv6=n=>e.check(Gs(wt,n)),e.uuidv7=n=>e.check(Ws(wt,n)),e.nanoid=n=>e.check(qs(Rc,n)),e.guid=n=>e.check(xo(To,n)),e.cuid=n=>e.check(Ks(Pc,n)),e.cuid2=n=>e.check(Ys(Cc,n)),e.ulid=n=>e.check(Xs(Nc,n)),e.base64=n=>e.check(ic(zc,n)),e.base64url=n=>e.check(oc(Lc,n)),e.xid=n=>e.check(Js(wc,n)),e.ksuid=n=>e.check(Qs(kc,n)),e.ipv4=n=>e.check(ec(Oc,n)),e.ipv6=n=>e.check(tc(Dc,n)),e.cidrv4=n=>e.check(rc(Mc,n)),e.cidrv6=n=>e.check(nc(jc,n)),e.e164=n=>e.check(ac(Uc,n)),e.datetime=n=>e.check(eg(n)),e.date=n=>e.check(tg(n)),e.time=n=>e.check(rg(n)),e.duration=n=>e.check(ng(n))});function $o(e){return Cp(si,e)}var K=f("ZodStringFormat",(e,t)=>{q.init(e,t),Ic.init(e,t)}),$c=f("ZodEmail",(e,t)=>{_m.init(e,t),K.init(e,t)});function $E(e){return Bs($c,e)}var To=f("ZodGUID",(e,t)=>{ym.init(e,t),K.init(e,t)});function TE(e){return xo(To,e)}var wt=f("ZodUUID",(e,t)=>{Sm.init(e,t),K.init(e,t)});function RE(e){return Vs(wt,e)}function PE(e){return Zs(wt,e)}function CE(e){return Gs(wt,e)}function NE(e){return Ws(wt,e)}var No=f("ZodURL",(e,t)=>{Em.init(e,t),K.init(e,t)});function wE(e){return Ao(No,e)}function kE(e){return Ao(No,{protocol:Je.httpProtocol,hostname:Je.domain,..._.normalizeParams(e)})}var Tc=f("ZodEmoji",(e,t)=>{xm.init(e,t),K.init(e,t)});function OE(e){return Hs(Tc,e)}var Rc=f("ZodNanoID",(e,t)=>{Am.init(e,t),K.init(e,t)});function DE(e){return qs(Rc,e)}var Pc=f("ZodCUID",(e,t)=>{Im.init(e,t),K.init(e,t)});function ME(e){return Ks(Pc,e)}var Cc=f("ZodCUID2",(e,t)=>{$m.init(e,t),K.init(e,t)});function jE(e){return Ys(Cc,e)}var Nc=f("ZodULID",(e,t)=>{Tm.init(e,t),K.init(e,t)});function zE(e){return Xs(Nc,e)}var wc=f("ZodXID",(e,t)=>{Rm.init(e,t),K.init(e,t)});function LE(e){return Js(wc,e)}var kc=f("ZodKSUID",(e,t)=>{Pm.init(e,t),K.init(e,t)});function UE(e){return Qs(kc,e)}var Oc=f("ZodIPv4",(e,t)=>{Om.init(e,t),K.init(e,t)});function FE(e){return ec(Oc,e)}var hg=f("ZodMAC",(e,t)=>{Mm.init(e,t),K.init(e,t)});function BE(e){return wp(hg,e)}var Dc=f("ZodIPv6",(e,t)=>{Dm.init(e,t),K.init(e,t)});function VE(e){return tc(Dc,e)}var Mc=f("ZodCIDRv4",(e,t)=>{jm.init(e,t),K.init(e,t)});function ZE(e){return rc(Mc,e)}var jc=f("ZodCIDRv6",(e,t)=>{zm.init(e,t),K.init(e,t)});function GE(e){return nc(jc,e)}var zc=f("ZodBase64",(e,t)=>{Um.init(e,t),K.init(e,t)});function WE(e){return ic(zc,e)}var Lc=f("ZodBase64URL",(e,t)=>{Fm.init(e,t),K.init(e,t)});function HE(e){return oc(Lc,e)}var Uc=f("ZodE164",(e,t)=>{Bm.init(e,t),K.init(e,t)});function qE(e){return ac(Uc,e)}var Fc=f("ZodJWT",(e,t)=>{Vm.init(e,t),K.init(e,t)});function KE(e){return sc(Fc,e)}var ci=f("ZodCustomStringFormat",(e,t)=>{Zm.init(e,t),K.init(e,t)});function YE(e,t,n={}){return ri(ci,e,t,n)}function XE(e){return ri(ci,"hostname",Je.hostname,e)}function JE(e){return ri(ci,"hex",Je.hex,e)}function QE(e,t){let n=t?.enc??"hex",i=`${e}_${n}`,r=Je[i];if(!r)throw new Error(`Unrecognized hash format: ${i}`);return ri(ci,i,r,t)}var ui=f("ZodNumber",(e,t)=>{ws.init(e,t),w.init(e,t),e._zod.processJSONSchema=(i,r,o)=>bf(e,i,r,o),Co(e,"ZodNumber",{gt(i,r){return this.check(Ct(i,r))},gte(i,r){return this.check(De(i,r))},min(i,r){return this.check(De(i,r))},lt(i,r){return this.check(Pt(i,r))},lte(i,r){return this.check(Qe(i,r))},max(i,r){return this.check(Qe(i,r))},int(i){return this.check(xc(i))},safe(i){return this.check(xc(i))},positive(i){return this.check(Ct(0,i))},nonnegative(i){return this.check(De(0,i))},negative(i){return this.check(Pt(0,i))},nonpositive(i){return this.check(Qe(0,i))},multipleOf(i,r){return this.check(_r(i,r))},step(i,r){return this.check(_r(i,r))},finite(){return this}});let n=e._zod.bag;e.minValue=Math.max(n.minimum??Number.NEGATIVE_INFINITY,n.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(n.maximum??Number.POSITIVE_INFINITY,n.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(n.format??"").includes("int")||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null});function vg(e){return zp(ui,e)}var Qr=f("ZodNumberFormat",(e,t)=>{Gm.init(e,t),ui.init(e,t)});function xc(e){return Up(Qr,e)}function ex(e){return Fp(Qr,e)}function tx(e){return Bp(Qr,e)}function rx(e){return Vp(Qr,e)}function nx(e){return Zp(Qr,e)}var li=f("ZodBoolean",(e,t)=>{bo.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>yf(e,n,i,r)});function bg(e){return Gp(li,e)}var di=f("ZodBigInt",(e,t)=>{ks.init(e,t),w.init(e,t),e._zod.processJSONSchema=(i,r,o)=>Sf(e,i,r,o),e.gte=(i,r)=>e.check(De(i,r)),e.min=(i,r)=>e.check(De(i,r)),e.gt=(i,r)=>e.check(Ct(i,r)),e.gte=(i,r)=>e.check(De(i,r)),e.min=(i,r)=>e.check(De(i,r)),e.lt=(i,r)=>e.check(Pt(i,r)),e.lte=(i,r)=>e.check(Qe(i,r)),e.max=(i,r)=>e.check(Qe(i,r)),e.positive=i=>e.check(Ct(BigInt(0),i)),e.negative=i=>e.check(Pt(BigInt(0),i)),e.nonpositive=i=>e.check(Qe(BigInt(0),i)),e.nonnegative=i=>e.check(De(BigInt(0),i)),e.multipleOf=(i,r)=>e.check(_r(i,r));let n=e._zod.bag;e.minValue=n.minimum??null,e.maxValue=n.maximum??null,e.format=n.format??null});function ix(e){return Hp(di,e)}var Bc=f("ZodBigIntFormat",(e,t)=>{Wm.init(e,t),di.init(e,t)});function ox(e){return Kp(Bc,e)}function ax(e){return Yp(Bc,e)}var yg=f("ZodSymbol",(e,t)=>{Hm.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>_f(e,n,i,r)});function sx(e){return Xp(yg,e)}var Sg=f("ZodUndefined",(e,t)=>{qm.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>xf(e,n,i,r)});function cx(e){return Jp(Sg,e)}var _g=f("ZodNull",(e,t)=>{Km.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>Ef(e,n,i,r)});function Eg(e){return Qp(_g,e)}var xg=f("ZodAny",(e,t)=>{Ym.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>$f(e,n,i,r)});function ux(){return ef(xg)}var Ag=f("ZodUnknown",(e,t)=>{Xm.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>Tf(e,n,i,r)});function Jr(){return tf(Ag)}var Ig=f("ZodNever",(e,t)=>{Jm.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>If(e,n,i,r)});function Vc(e){return rf(Ig,e)}var $g=f("ZodVoid",(e,t)=>{Qm.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>Af(e,n,i,r)});function lx(e){return nf($g,e)}var wo=f("ZodDate",(e,t)=>{ep.init(e,t),w.init(e,t),e._zod.processJSONSchema=(i,r,o)=>Rf(e,i,r,o),e.min=(i,r)=>e.check(De(i,r)),e.max=(i,r)=>e.check(Qe(i,r));let n=e._zod.bag;e.minDate=n.minimum?new Date(n.minimum):null,e.maxDate=n.maximum?new Date(n.maximum):null});function dx(e){return of(wo,e)}var Tg=f("ZodArray",(e,t)=>{tp.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>Uf(e,n,i,r),e.element=t.element,Co(e,"ZodArray",{min(n,i){return this.check(Xt(n,i))},nonempty(n){return this.check(Xt(1,n))},max(n,i){return this.check(Yr(n,i))},length(n,i){return this.check(Xr(n,i))},unwrap(){return this.element}})});function ko(e,t){return cf(Tg,e,t)}function mx(e){let t=e._zod.def.shape;return Gc(Object.keys(t))}var Oo=f("ZodObject",(e,t)=>{rp.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>Ff(e,n,i,r),_.defineLazy(e,"shape",()=>t.shape),Co(e,"ZodObject",{keyof(){return Gc(Object.keys(this._zod.def.shape))},catchall(n){return this.clone({...this._zod.def,catchall:n})},passthrough(){return this.clone({...this._zod.def,catchall:Jr()})},loose(){return this.clone({...this._zod.def,catchall:Jr()})},strict(){return this.clone({...this._zod.def,catchall:Vc()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(n){return _.extend(this,n)},safeExtend(n){return _.safeExtend(this,n)},merge(n){return _.merge(this,n)},pick(n){return _.pick(this,n)},omit(n){return _.omit(this,n)},partial(...n){return _.partial(Hc,this,n[0])},required(...n){return _.required(qc,this,n[0])}})});function px(e,t){let n={type:"object",shape:e??{},..._.normalizeParams(t)};return new Oo(n)}function fx(e,t){return new Oo({type:"object",shape:e,catchall:Vc(),..._.normalizeParams(t)})}function gx(e,t){return new Oo({type:"object",shape:e,catchall:Jr(),..._.normalizeParams(t)})}var Do=f("ZodUnion",(e,t)=>{yo.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>fc(e,n,i,r),e.options=t.options});function Zc(e,t){return new Do({type:"union",options:e,..._.normalizeParams(t)})}var Rg=f("ZodXor",(e,t)=>{Do.init(e,t),np.init(e,t),e._zod.processJSONSchema=(n,i,r)=>fc(e,n,i,r),e.options=t.options});function hx(e,t){return new Rg({type:"union",options:e,inclusive:!1,..._.normalizeParams(t)})}var Pg=f("ZodDiscriminatedUnion",(e,t)=>{Do.init(e,t),ip.init(e,t)});function vx(e,t,n){return new Pg({type:"union",options:t,discriminator:e,..._.normalizeParams(n)})}var Cg=f("ZodIntersection",(e,t)=>{op.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>Bf(e,n,i,r)});function Ng(e,t){return new Cg({type:"intersection",left:e,right:t})}var wg=f("ZodTuple",(e,t)=>{Os.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>Vf(e,n,i,r),e.rest=n=>e.clone({...e._zod.def,rest:n})});function kg(e,t,n){let i=t instanceof N,r=i?n:t,o=i?t:null;return new wg({type:"tuple",items:e,rest:o,..._.normalizeParams(r)})}var oi=f("ZodRecord",(e,t)=>{ap.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>Zf(e,n,i,r),e.keyType=t.keyType,e.valueType=t.valueType});function Og(e,t,n){return!t||!t._zod?new oi({type:"record",keyType:$o(),valueType:e,..._.normalizeParams(t)}):new oi({type:"record",keyType:e,valueType:t,..._.normalizeParams(n)})}function bx(e,t,n){let i=ke(e);return i._zod.values=void 0,new oi({type:"record",keyType:i,valueType:t,..._.normalizeParams(n)})}function yx(e,t,n){return new oi({type:"record",keyType:e,valueType:t,mode:"loose",..._.normalizeParams(n)})}var Dg=f("ZodMap",(e,t)=>{sp.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>zf(e,n,i,r),e.keyType=t.keyType,e.valueType=t.valueType,e.min=(...n)=>e.check(Nt(...n)),e.nonempty=n=>e.check(Nt(1,n)),e.max=(...n)=>e.check(Er(...n)),e.size=(...n)=>e.check(Kr(...n))});function Sx(e,t,n){return new Dg({type:"map",keyType:e,valueType:t,..._.normalizeParams(n)})}var Mg=f("ZodSet",(e,t)=>{cp.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>Lf(e,n,i,r),e.min=(...n)=>e.check(Nt(...n)),e.nonempty=n=>e.check(Nt(1,n)),e.max=(...n)=>e.check(Er(...n)),e.size=(...n)=>e.check(Kr(...n))});function _x(e,t){return new Mg({type:"set",valueType:e,..._.normalizeParams(t)})}var ai=f("ZodEnum",(e,t)=>{up.init(e,t),w.init(e,t),e._zod.processJSONSchema=(i,r,o)=>Pf(e,i,r,o),e.enum=t.entries,e.options=Object.values(t.entries);let n=new Set(Object.keys(t.entries));e.extract=(i,r)=>{let o={};for(let a of i)if(n.has(a))o[a]=t.entries[a];else throw new Error(`Key ${a} not found in enum`);return new ai({...t,checks:[],..._.normalizeParams(r),entries:o})},e.exclude=(i,r)=>{let o={...t.entries};for(let a of i)if(n.has(a))delete o[a];else throw new Error(`Key ${a} not found in enum`);return new ai({...t,checks:[],..._.normalizeParams(r),entries:o})}});function Gc(e,t){let n=Array.isArray(e)?Object.fromEntries(e.map(i=>[i,i])):e;return new ai({type:"enum",entries:n,..._.normalizeParams(t)})}function Ex(e,t){return new ai({type:"enum",entries:e,..._.normalizeParams(t)})}var jg=f("ZodLiteral",(e,t)=>{lp.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>Cf(e,n,i,r),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function xx(e,t){return new jg({type:"literal",values:Array.isArray(e)?e:[e],..._.normalizeParams(t)})}var zg=f("ZodFile",(e,t)=>{dp.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>kf(e,n,i,r),e.min=(n,i)=>e.check(Nt(n,i)),e.max=(n,i)=>e.check(Er(n,i)),e.mime=(n,i)=>e.check(Yn(Array.isArray(n)?n:[n],i))});function Ax(e){return uf(zg,e)}var Lg=f("ZodTransform",(e,t)=>{mp.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>jf(e,n,i,r),e._zod.parse=(n,i)=>{if(i.direction==="backward")throw new hr(e.constructor.name);n.addIssue=o=>{if(typeof o=="string")n.issues.push(_.issue(o,n.value,t));else{let a=o;a.fatal&&(a.continue=!1),a.code??(a.code="custom"),a.input??(a.input=n.value),a.inst??(a.inst=e),n.issues.push(_.issue(a))}};let r=t.transform(n.value,n);return r instanceof Promise?r.then(o=>(n.value=o,n.fallback=!0,n)):(n.value=r,n.fallback=!0,n)}});function Wc(e){return new Lg({type:"transform",transform:e})}var Hc=f("ZodOptional",(e,t)=>{Ds.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>gc(e,n,i,r),e.unwrap=()=>e._zod.def.innerType});function Ro(e){return new Hc({type:"optional",innerType:e})}var Ug=f("ZodExactOptional",(e,t)=>{pp.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>gc(e,n,i,r),e.unwrap=()=>e._zod.def.innerType});function Fg(e){return new Ug({type:"optional",innerType:e})}var Bg=f("ZodNullable",(e,t)=>{fp.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>Gf(e,n,i,r),e.unwrap=()=>e._zod.def.innerType});function Po(e){return new Bg({type:"nullable",innerType:e})}function Ix(e){return Ro(Po(e))}var Vg=f("ZodDefault",(e,t)=>{gp.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>Hf(e,n,i,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function Zg(e,t){return new Vg({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():_.shallowClone(t)}})}var Gg=f("ZodPrefault",(e,t)=>{hp.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>qf(e,n,i,r),e.unwrap=()=>e._zod.def.innerType});function Wg(e,t){return new Gg({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():_.shallowClone(t)}})}var qc=f("ZodNonOptional",(e,t)=>{vp.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>Wf(e,n,i,r),e.unwrap=()=>e._zod.def.innerType});function Hg(e,t){return new qc({type:"nonoptional",innerType:e,..._.normalizeParams(t)})}var qg=f("ZodSuccess",(e,t)=>{bp.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>Of(e,n,i,r),e.unwrap=()=>e._zod.def.innerType});function $x(e){return new qg({type:"success",innerType:e})}var Kg=f("ZodCatch",(e,t)=>{yp.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>Kf(e,n,i,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function Yg(e,t){return new Kg({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}var Xg=f("ZodNaN",(e,t)=>{Sp.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>Nf(e,n,i,r)});function Tx(e){return sf(Xg,e)}var Mo=f("ZodPipe",(e,t)=>{Ms.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>Yf(e,n,i,r),e.in=t.in,e.out=t.out});function Ac(e,t){return new Mo({type:"pipe",in:e,out:t})}var jo=f("ZodCodec",(e,t)=>{Mo.init(e,t),So.init(e,t)});function Rx(e,t,n){return new jo({type:"pipe",in:e,out:t,transform:n.decode,reverseTransform:n.encode})}function Px(e){let t=e._zod.def;return new jo({type:"pipe",in:t.out,out:t.in,transform:t.reverseTransform,reverseTransform:t.transform})}var Jg=f("ZodPreprocess",(e,t)=>{Mo.init(e,t),_p.init(e,t)}),Qg=f("ZodReadonly",(e,t)=>{Ep.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>Xf(e,n,i,r),e.unwrap=()=>e._zod.def.innerType});function eh(e){return new Qg({type:"readonly",innerType:e})}var th=f("ZodTemplateLiteral",(e,t)=>{xp.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>wf(e,n,i,r)});function Cx(e,t){return new th({type:"template_literal",parts:e,..._.normalizeParams(t)})}var rh=f("ZodLazy",(e,t)=>{$p.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>Qf(e,n,i,r),e.unwrap=()=>e._zod.def.getter()});function nh(e){return new rh({type:"lazy",getter:e})}var ih=f("ZodPromise",(e,t)=>{Ip.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>Jf(e,n,i,r),e.unwrap=()=>e._zod.def.innerType});function Nx(e){return new ih({type:"promise",innerType:e})}var oh=f("ZodFunction",(e,t)=>{Ap.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>Mf(e,n,i,r)});function wx(e){return new oh({type:"function",input:Array.isArray(e?.input)?kg(e?.input):e?.input??ko(Jr()),output:e?.output??Jr()})}var zo=f("ZodCustom",(e,t)=>{Tp.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>Df(e,n,i,r)});function kx(e){let t=new X({check:"custom"});return t._zod.check=e,t}function Ox(e,t){return lf(zo,e??(()=>!0),t)}function ah(e,t={}){return df(zo,e,t)}function sh(e,t){return mf(e,t)}var Dx=pf,Mx=ff;function jx(e,t={}){let n=new zo({type:"custom",check:"custom",fn:i=>i instanceof e,abort:!0,..._.normalizeParams(t)});return n._zod.bag.Class=e,n._zod.check=i=>{i.value instanceof e||i.issues.push({code:"invalid_type",expected:e.name,input:i.value,inst:n,path:[...n._zod.def.path??[]]})},n}var zx=(...e)=>gf({Codec:jo,Boolean:li,String:si},...e);function Lx(e){let t=nh(()=>Zc([$o(e),vg(),bg(),Eg(),ko(t),Og($o(),t)]));return t}function Ux(e,t){return new Jg({type:"pipe",in:Wc(e),out:t})}var g1={invalid_type:"invalid_type",too_big:"too_big",too_small:"too_small",invalid_format:"invalid_format",not_multiple_of:"not_multiple_of",unrecognized_keys:"unrecognized_keys",invalid_union:"invalid_union",invalid_key:"invalid_key",invalid_element:"invalid_element",invalid_value:"invalid_value",custom:"custom"};function h1(e){se({customError:e})}function v1(){return se().customError}var ch;ch||(ch={});var x={...Io,...bc,iso:ii},b1=new Set(["$schema","$ref","$defs","definitions","$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor","type","enum","const","anyOf","oneOf","allOf","not","properties","required","additionalProperties","patternProperties","propertyNames","minProperties","maxProperties","items","prefixItems","additionalItems","minItems","maxItems","uniqueItems","contains","minContains","maxContains","minLength","maxLength","pattern","format","minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf","description","default","contentEncoding","contentMediaType","contentSchema","unevaluatedItems","unevaluatedProperties","if","then","else","dependentSchemas","dependentRequired","nullable","readOnly"]);function y1(e,t){let n=e.$schema;return n==="https://json-schema.org/draft/2020-12/schema"?"draft-2020-12":n==="http://json-schema.org/draft-07/schema#"?"draft-7":n==="http://json-schema.org/draft-04/schema#"?"draft-4":t??"draft-2020-12"}function S1(e,t){if(!e.startsWith("#"))throw new Error("External $ref is not supported, only local refs (#/...) are allowed");let n=e.slice(1).split("/").filter(Boolean);if(n.length===0)return t.rootSchema;let i=t.version==="draft-2020-12"?"$defs":"definitions";if(n[0]===i){let r=n[1];if(!r||!t.defs[r])throw new Error(`Reference not found: ${e}`);return t.defs[r]}throw new Error(`Reference not found: ${e}`)}function Fx(e,t){if(e.not!==void 0){if(typeof e.not=="object"&&Object.keys(e.not).length===0)return x.never();throw new Error("not is not supported in Zod (except { not: {} } for never)")}if(e.unevaluatedItems!==void 0)throw new Error("unevaluatedItems is not supported");if(e.unevaluatedProperties!==void 0)throw new Error("unevaluatedProperties is not supported");if(e.if!==void 0||e.then!==void 0||e.else!==void 0)throw new Error("Conditional schemas (if/then/else) are not supported");if(e.dependentSchemas!==void 0||e.dependentRequired!==void 0)throw new Error("dependentSchemas and dependentRequired are not supported");if(e.$ref){let r=e.$ref;if(t.refs.has(r))return t.refs.get(r);if(t.processing.has(r))return x.lazy(()=>{if(!t.refs.has(r))throw new Error(`Circular reference not resolved: ${r}`);return t.refs.get(r)});t.processing.add(r);let o=S1(r,t),a=$e(o,t);return t.refs.set(r,a),t.processing.delete(r),a}if(e.enum!==void 0){let r=e.enum;if(t.version==="openapi-3.0"&&e.nullable===!0&&r.length===1&&r[0]===null)return x.null();if(r.length===0)return x.never();if(r.length===1)return x.literal(r[0]);if(r.every(a=>typeof a=="string"))return x.enum(r);let o=r.map(a=>x.literal(a));return o.length<2?o[0]:x.union([o[0],o[1],...o.slice(2)])}if(e.const!==void 0)return x.literal(e.const);let n=e.type;if(Array.isArray(n)){let r=n.map(o=>{let a={...e,type:o};return Fx(a,t)});return r.length===0?x.never():r.length===1?r[0]:x.union(r)}if(!n)return x.any();let i;switch(n){case"string":{let r=x.string();if(e.format){let o=e.format;o==="email"?r=r.check(x.email()):o==="uri"||o==="uri-reference"?r=r.check(x.url()):o==="uuid"||o==="guid"?r=r.check(x.uuid()):o==="date-time"?r=r.check(x.iso.datetime()):o==="date"?r=r.check(x.iso.date()):o==="time"?r=r.check(x.iso.time()):o==="duration"?r=r.check(x.iso.duration()):o==="ipv4"?r=r.check(x.ipv4()):o==="ipv6"?r=r.check(x.ipv6()):o==="mac"?r=r.check(x.mac()):o==="cidr"?r=r.check(x.cidrv4()):o==="cidr-v6"?r=r.check(x.cidrv6()):o==="base64"?r=r.check(x.base64()):o==="base64url"?r=r.check(x.base64url()):o==="e164"?r=r.check(x.e164()):o==="jwt"?r=r.check(x.jwt()):o==="emoji"?r=r.check(x.emoji()):o==="nanoid"?r=r.check(x.nanoid()):o==="cuid"?r=r.check(x.cuid()):o==="cuid2"?r=r.check(x.cuid2()):o==="ulid"?r=r.check(x.ulid()):o==="xid"?r=r.check(x.xid()):o==="ksuid"&&(r=r.check(x.ksuid()))}typeof e.minLength=="number"&&(r=r.min(e.minLength)),typeof e.maxLength=="number"&&(r=r.max(e.maxLength)),e.pattern&&(r=r.regex(new RegExp(e.pattern))),i=r;break}case"number":case"integer":{let r=n==="integer"?x.number().int():x.number();typeof e.minimum=="number"&&(r=r.min(e.minimum)),typeof e.maximum=="number"&&(r=r.max(e.maximum)),typeof e.exclusiveMinimum=="number"?r=r.gt(e.exclusiveMinimum):e.exclusiveMinimum===!0&&typeof e.minimum=="number"&&(r=r.gt(e.minimum)),typeof e.exclusiveMaximum=="number"?r=r.lt(e.exclusiveMaximum):e.exclusiveMaximum===!0&&typeof e.maximum=="number"&&(r=r.lt(e.maximum)),typeof e.multipleOf=="number"&&(r=r.multipleOf(e.multipleOf)),i=r;break}case"boolean":{i=x.boolean();break}case"null":{i=x.null();break}case"object":{let r={},o=e.properties||{},a=new Set(e.required||[]);for(let[u,l]of Object.entries(o)){let m=$e(l,t);r[u]=a.has(u)?m:m.optional()}if(e.propertyNames){let u=$e(e.propertyNames,t),l=e.additionalProperties&&typeof e.additionalProperties=="object"?$e(e.additionalProperties,t):x.any();if(Object.keys(r).length===0){i=x.record(u,l);break}let m=x.object(r).passthrough(),p=x.looseRecord(u,l);i=x.intersection(m,p);break}if(e.patternProperties){let u=e.patternProperties,l=Object.keys(u),m=[];for(let g of l){let v=$e(u[g],t),A=x.string().regex(new RegExp(g));m.push(x.looseRecord(A,v))}let p=[];if(Object.keys(r).length>0&&p.push(x.object(r).passthrough()),p.push(...m),p.length===0)i=x.object({}).passthrough();else if(p.length===1)i=p[0];else{let g=x.intersection(p[0],p[1]);for(let v=2;v<p.length;v++)g=x.intersection(g,p[v]);i=g}break}let c=x.object(r);e.additionalProperties===!1?i=c.strict():typeof e.additionalProperties=="object"?i=c.catchall($e(e.additionalProperties,t)):i=c.passthrough();break}case"array":{let r=e.prefixItems,o=e.items;if(r&&Array.isArray(r)){let a=r.map(u=>$e(u,t)),c=o&&typeof o=="object"&&!Array.isArray(o)?$e(o,t):void 0;c?i=x.tuple(a).rest(c):i=x.tuple(a),typeof e.minItems=="number"&&(i=i.check(x.minLength(e.minItems))),typeof e.maxItems=="number"&&(i=i.check(x.maxLength(e.maxItems)))}else if(Array.isArray(o)){let a=o.map(u=>$e(u,t)),c=e.additionalItems&&typeof e.additionalItems=="object"?$e(e.additionalItems,t):void 0;c?i=x.tuple(a).rest(c):i=x.tuple(a),typeof e.minItems=="number"&&(i=i.check(x.minLength(e.minItems))),typeof e.maxItems=="number"&&(i=i.check(x.maxLength(e.maxItems)))}else if(o!==void 0){let a=$e(o,t),c=x.array(a);typeof e.minItems=="number"&&(c=c.min(e.minItems)),typeof e.maxItems=="number"&&(c=c.max(e.maxItems)),i=c}else i=x.array(x.any());break}default:throw new Error(`Unsupported type: ${n}`)}return i}function $e(e,t){if(typeof e=="boolean")return e?x.any():x.never();let n=Fx(e,t),i=e.type||e.enum!==void 0||e.const!==void 0;if(e.anyOf&&Array.isArray(e.anyOf)){let c=e.anyOf.map(l=>$e(l,t)),u=x.union(c);n=i?x.intersection(n,u):u}if(e.oneOf&&Array.isArray(e.oneOf)){let c=e.oneOf.map(l=>$e(l,t)),u=x.xor(c);n=i?x.intersection(n,u):u}if(e.allOf&&Array.isArray(e.allOf))if(e.allOf.length===0)n=i?n:x.any();else{let c=i?n:$e(e.allOf[0],t),u=i?0:1;for(let l=u;l<e.allOf.length;l++)c=x.intersection(c,$e(e.allOf[l],t));n=c}e.nullable===!0&&t.version==="openapi-3.0"&&(n=x.nullable(n)),e.readOnly===!0&&(n=x.readonly(n)),e.default!==void 0&&(n=n.default(e.default));let r={},o=["$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor"];for(let c of o)c in e&&(r[c]=e[c]);let a=["contentEncoding","contentMediaType","contentSchema"];for(let c of a)c in e&&(r[c]=e[c]);for(let c of Object.keys(e))b1.has(c)||(r[c]=e[c]);return Object.keys(r).length>0&&t.registry.add(n,r),e.description&&(n=n.describe(e.description)),n}function Bx(e,t){if(typeof e=="boolean")return e?x.any():x.never();let n;try{n=JSON.parse(JSON.stringify(e))}catch{throw new Error("fromJSONSchema input is not valid JSON (possibly cyclic); use $defs/$ref for recursive schemas")}let i=y1(n,t?.defaultTarget),r=n.$defs||n.definitions||{},o={version:i,defs:r,refs:new Map,processing:new Set,rootSchema:n,registry:t?.registry??_e};return $e(n,o)}var uh={};$t(uh,{bigint:()=>A1,boolean:()=>x1,date:()=>I1,number:()=>E1,string:()=>_1});function _1(e){return Np(si,e)}function E1(e){return Lp(ui,e)}function x1(e){return Wp(li,e)}function A1(e){return qp(di,e)}function I1(e){return af(wo,e)}se(js());var $1=Object.defineProperty,mi=(e,t)=>$1(e,"name",{value:t,configurable:!0}),lh=["production","staging","development","platform","compliance"],Vx={production:"Production",staging:"Staging",development:"Development",platform:"Platform",compliance:"Compliance"},T1=new Set(lh);function Yc(e){return T1.has(e)}mi(Yc,"isAccountStage");var Lo={ROOT:"root",PLATFORM:"platform"},R1=[...lh,Lo.ROOT];function Zx(e){return Yc(e)?Vx[e]:e.charAt(0).toUpperCase()+e.slice(1)}mi(Zx,"getEnvironmentLabel");var Gx=["organisation","platform","account"],P1=s.enum(Gx),Kc={ORGANISATION:"organisation",PLATFORM:"platform",ACCOUNT:"account"},C1={[Kc.ORGANISATION]:!0,[Kc.PLATFORM]:!0,[Kc.ACCOUNT]:!0},N1=new Set(Object.keys(C1));function Wx(e){return N1.has(e)}mi(Wx,"isAccountTier");function dh(e){return e===Lo.ROOT?"organisation":e===Lo.PLATFORM?"platform":"account"}mi(dh,"environmentToTier");function Hx(e){return e==null||e===""||e===Lo.ROOT?null:Yc(e)?e:null}mi(Hx,"stageFromWireEnvironment");function Uo(e){return e.tier??dh(e.environment)}mi(Uo,"accountTier");var w1=Object.defineProperty,Fo=(e,t)=>w1(e,"name",{value:t,configurable:!0});var qx=Object.freeze({"AWS::IAM::Role":"security","AWS::IAM::Policy":"security","AWS::IAM::OIDCProvider":"security","AWS::EC2::SecurityGroup":"security","AWS::KMS::Key":"security","AWS::KMS::Alias":"security","AWS::EC2::VPC":"network","AWS::EC2::Subnet":"network","AWS::EC2::InternetGateway":"network","AWS::EC2::NatGateway":"network","AWS::EC2::RouteTable":"network","AWS::EC2::Route":"network","AWS::EC2::VPCGatewayAttachment":"network","AWS::EC2::SubnetRouteTableAssociation":"network","AWS::EC2::EIP":"network","AWS::ECS::Cluster":"compute","AWS::ECS::Service":"compute","AWS::ECS::TaskDefinition":"compute","AWS::Lambda::Function":"compute","AWS::ElasticLoadBalancingV2::LoadBalancer":"compute","AWS::ElasticLoadBalancingV2::TargetGroup":"compute","AWS::ElasticLoadBalancingV2::Listener":"compute","AWS::ElasticLoadBalancingV2::ListenerRule":"compute","AWS::RDS::DBInstance":"database","AWS::RDS::DBCluster":"database","AWS::SecretsManager::Secret":"database","AWS::S3::Bucket":"storage","AWS::S3::BucketPolicy":"storage","AWS::CloudTrail::Trail":"monitoring","AWS::CloudWatch::Alarm":"monitoring","AWS::Logs::LogGroup":"monitoring","AWS::Events::EventBus":"events","AWS::Events::Rule":"events","AWS::ECR::Repository":"registry","AWS::CodeBuild::Project":"registry","AWS::Route53::RecordSet":"dns","AWS::CertificateManager::Certificate":"dns","AWS::CloudFront::Distribution":"dns","AWS::Backup::BackupVault":"backup","AWS::Backup::BackupPlan":"backup","AWS::Backup::BackupSelection":"backup","AWS::SSO::PermissionSet":"identity","AWS::SSO::Assignment":"identity","AWS::Organizations::Account":"identity","AWS::CDK::Metadata":"compute","AWS::CloudFormation::CustomResource":"compute","AWS::CloudFormation::WaitCondition":"compute","AWS::CloudFormation::WaitConditionHandle":"compute"}),mh=new Set;function Kx(e){if(!e)return"compute";if(e.startsWith("Custom::"))return qx[e]??"compute";let t=qx[e];return t||mh.add(e),t??"compute"}Fo(Kx,"categoriseResource");function k1(){return new Set(mh)}Fo(k1,"getUnmappedResourceTypes");function O1(){mh.clear()}Fo(O1,"clearUnmappedResourceTypes");var D1=Object.freeze({"AWS::EC2::NatGateway":120,"AWS::RDS::DBInstance":300,"AWS::RDS::DBCluster":300,"AWS::CloudFront::Distribution":300,"AWS::ECS::Service":180,"AWS::ElasticLoadBalancingV2::LoadBalancer":60,"AWS::EC2::SecurityGroup":10,"AWS::IAM::Role":15,"AWS::IAM::Policy":15,"AWS::IAM::OIDCProvider":10,"AWS::S3::Bucket":10,"AWS::S3::BucketPolicy":5,"AWS::Lambda::Function":30,"AWS::EC2::VPC":15,"AWS::EC2::Subnet":15,"AWS::EC2::InternetGateway":10,"AWS::EC2::RouteTable":5,"AWS::EC2::Route":5,"AWS::EC2::VPCGatewayAttachment":10,"AWS::EC2::SubnetRouteTableAssociation":5,"AWS::EC2::EIP":10,"AWS::ECS::Cluster":15,"AWS::ECS::TaskDefinition":10,"AWS::ElasticLoadBalancingV2::TargetGroup":10,"AWS::ElasticLoadBalancingV2::Listener":10,"AWS::ElasticLoadBalancingV2::ListenerRule":5,"AWS::SecretsManager::Secret":10,"AWS::Logs::LogGroup":5,"AWS::CloudWatch::Alarm":10,"AWS::CloudTrail::Trail":15,"AWS::Events::EventBus":5,"AWS::Events::Rule":5,"AWS::ECR::Repository":10,"AWS::Route53::RecordSet":30,"AWS::CertificateManager::Certificate":60,"AWS::KMS::Key":15,"AWS::KMS::Alias":5,"AWS::Backup::BackupVault":10,"AWS::Backup::BackupPlan":10,"AWS::Backup::BackupSelection":10,"AWS::SSO::PermissionSet":15,"AWS::SSO::Assignment":10,"AWS::Organizations::Account":60}),M1=30;function Yx(e){return D1[e]??M1}Fo(Yx,"getExpectedDuration");var j1=Object.freeze({"AWS::Lambda::Function":"Lambda Function","AWS::IAM::Role":"IAM Role","AWS::IAM::Policy":"IAM Policy","AWS::S3::Bucket":"S3 Bucket","AWS::DynamoDB::Table":"DynamoDB Table","AWS::EC2::Instance":"EC2 Instance","AWS::EC2::SecurityGroup":"Security Group","AWS::EC2::VPC":"VPC","AWS::EC2::Subnet":"Subnet","AWS::EC2::InternetGateway":"Internet Gateway","AWS::EC2::RouteTable":"Route Table","AWS::EC2::Route":"Route","AWS::ECS::Cluster":"ECS Cluster","AWS::ECS::Service":"ECS Service","AWS::ECS::TaskDefinition":"Task Definition","AWS::ElasticLoadBalancingV2::LoadBalancer":"Load Balancer","AWS::ElasticLoadBalancingV2::TargetGroup":"Target Group","AWS::ElasticLoadBalancingV2::Listener":"Listener","AWS::CloudFormation::Stack":"CloudFormation Stack","AWS::CDK::Metadata":"CDK Metadata","Custom::CDKBucketDeployment":"Bucket Deployment","AWS::SSM::Parameter":"SSM Parameter","AWS::CloudWatch::Alarm":"CloudWatch Alarm","AWS::Logs::LogGroup":"Log Group","AWS::ApiGateway::RestApi":"API Gateway","AWS::ApiGateway::Deployment":"API Deployment","AWS::ApiGateway::Stage":"API Stage","AWS::ApiGateway::Method":"API Method","AWS::ApiGateway::Resource":"API Resource","AWS::CloudFront::Distribution":"CloudFront Distribution","AWS::Route53::RecordSet":"Route53 Record","AWS::RDS::DBInstance":"RDS Instance","AWS::RDS::DBCluster":"RDS Cluster","AWS::SQS::Queue":"SQS Queue","AWS::SNS::Topic":"SNS Topic","AWS::Events::Rule":"EventBridge Rule","AWS::StepFunctions::StateMachine":"Step Function","AWS::EC2::NatGateway":"NAT Gateway","AWS::EC2::EIP":"Elastic IP","AWS::EC2::VPCGatewayAttachment":"Gateway Attachment","AWS::EC2::SubnetRouteTableAssociation":"Route Association","AWS::CloudTrail::Trail":"CloudTrail","AWS::IAM::OIDCProvider":"OIDC Provider","AWS::Events::EventBus":"Event Bus","AWS::Backup::BackupVault":"Backup Vault","AWS::Backup::BackupPlan":"Backup Plan","AWS::Backup::BackupSelection":"Backup Selection","AWS::SecretsManager::Secret":"Secret","AWS::KMS::Key":"KMS Key","AWS::KMS::Alias":"KMS Alias","AWS::ECR::Repository":"ECR Repository","AWS::CertificateManager::Certificate":"Certificate","AWS::ElasticLoadBalancingV2::ListenerRule":"Listener Rule","AWS::EC2::IPAM":"IPAM","AWS::EC2::IPAMPool":"IPAM Pool","AWS::EC2::IPAMPoolCidr":"IPAM Pool CIDR","Custom::ram":"RAM","Custom::ipamDelegateAdmin":"IPAM Delegate Admin","Custom::CostAllocationTags":"Cost Allocation Tags","Custom::ActivateOrganisationsAccess":"Activate Organisations Access","Custom::Organizations_TagResource":"Organisations Tag Resource","AWS::CloudFormation::CustomResource":"Custom Resource","AWS::CloudFormation::WaitCondition":"Wait Condition","AWS::CloudFormation::WaitConditionHandle":"Wait Condition Handle","AWS::SSO::PermissionSet":"SSO Permission Set","AWS::SSO::Assignment":"SSO Assignment","AWS::Organizations::Account":"Organisations Account","AWS::S3::BucketPolicy":"S3 Bucket Policy","AWS::CodeBuild::Project":"CodeBuild Project"});function Xx(e){return j1[e]||e.split("::").pop()||e}Fo(Xx,"getFriendlyResourceType");var z1=Object.defineProperty,L1=(e,t)=>z1(e,"name",{value:t,configurable:!0}),U1={"github.com":"github","gitlab.com":"gitlab","bitbucket.org":"bitbucket"},F1=/^https?:\/\/([^/]+)\/(.+?)\/([^/.]+?)(?:\.git)?$/,B1=/^git@([^:]+):(.+?)\/([^/.]+?)(?:\.git)?$/,V1=/^ssh:\/\/[^@]+@([^:/]+)(?::\d+)?\/(.+?)\/([^/.]+?)(?:\.git)?$/;function Jx(e){if(!e)return null;let t=e.replace(/^(https?:\/\/)[^@]+@/,"$1"),n=t.match(F1)??t.match(B1)??e.match(V1);if(!n)return null;let[,i,r,o]=n;return!i||!r||!o?null:{provider:U1[i]??"other",owner:r,repo:o,host:i}}L1(Jx,"parseGitRemoteUrl");var ph=["read","write","deploy","secrets:read","secrets:write","destroy","admin","applications:read","applications:deploy","deploy:oidc:mint"],Qx={read:"user",write:"user",deploy:"user","secrets:read":"user","secrets:write":"user",destroy:"user",admin:"admin","applications:read":"user","applications:deploy":"user","deploy:oidc:mint":"machine"},Z1=ph.filter(e=>Qx[e]==="machine"),G1=ph.filter(e=>Qx[e]==="user");var W1=Object.defineProperty,pi=(e,t)=>W1(e,"name",{value:t,configurable:!0}),Jc=/^[a-zA-Z_][a-zA-Z0-9._-]*$/,fh="Secret name must start with a letter or underscore and contain only letters, numbers, underscores, hyphens, or periods",Bo=/^[a-zA-Z][a-zA-Z0-9._-]*$/,Qc="Must start with a letter and contain only letters, numbers, periods, hyphens, or underscores";var Xc=s.string().regex(Bo,Qc),eA=s.object({app:Xc.describe("Application name"),cluster:Xc.optional().describe("Cluster name"),service:Xc.optional().describe("Service name"),lambda:Xc.optional().describe("Lambda function name")}).strict().refine(e=>!(e.service&&!e.cluster),{message:"Cluster is required when service is specified"}).refine(e=>!(e.lambda&&(e.cluster||e.service)),{message:"Lambda is mutually exclusive with cluster and service"}).refine(e=>e.cluster!=="lambda",{message:'The cluster name "lambda" is reserved for lambda-scoped parameter paths'});function gh(e){let t=[e.app];return e.lambda?t.push("lambda",e.lambda):(e.cluster&&t.push(e.cluster),e.service&&e.cluster&&t.push(e.service)),t}pi(gh,"buildNamespaceParts");function hh(e,t){let n=gh(e);return t&&n.push(t),"/"+n.join("/")}pi(hh,"buildParameterPath");function vh(e){let t=e.split("/").filter(Boolean);if(t.length<2)return null;let n=t[t.length-1]??"",i={app:t[0]??""};return t.length>=4&&t[1]==="lambda"?i.lambda=t[2]:t.length>=3&&(i.cluster=t[1],t.length>=4&&(i.service=t[2])),{namespace:i,name:n}}pi(vh,"parseParameterPath");function tA(e){let t=vh(e);return t?eA.safeParse(t.namespace).success&&hh(t.namespace,t.name)===e:!1}pi(tA,"isManageablePath");function rA(e){let t={};for(let n of e.split(`
165
165
  `)){let i=n.trim();if(!i||i.startsWith("#"))continue;let r=i.replace(/^export\s+/,""),o=r.indexOf("=");if(o===-1)continue;let a=r.slice(0,o).trim();if(!Jc.test(a))continue;let c=r.slice(o+1);c.length>=2&&c.startsWith('"')&&c.endsWith('"')?t[a]=c.slice(1,-1).replace(/\\([\\"$`nr])/g,(u,l)=>l==="n"?`
166
- `:l==="r"?"\r":l):c.length>=2&&c.startsWith("'")&&c.endsWith("'")?t[a]=c.slice(1,-1):t[a]=c}return t}pi(rA,"parseDotEnv");function nA(e){return e.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\$/g,"\\$").replace(/`/g,"\\`").replace(/\n/g,"\\n").replace(/\r/g,"\\r")}pi(nA,"escapeDotEnvValue");var iA=s.object({awsAccountId:s.string(),accountName:s.string().nullable(),status:s.string(),role:s.string(),roleArn:s.string(),environment:s.string().optional(),connectedAt:s.string()}),H1=s.object({accounts:s.array(iA)});var q1=Object.defineProperty,en=(e,t)=>q1(e,"name",{value:t,configurable:!0});function bh(e){let t=[e.primaryRegion,...e.secondaryRegions??[],e.disasterRecoveryRegion].filter(n=>n!==void 0);return[...new Set(t)]}en(bh,"deriveRegionsFromOrgConfig");function yh(e){return e.environment??Uo(e)}en(yh,"environmentOrTier");function Sh(e,t){return`${e.toLowerCase()}-${wn(t)}`}en(Sh,"generateTargetName");function _h(e,t){let n=[];for(let i of e){if(Uo(i)==="organisation")continue;let r=yh(i);for(let o of t)n.push({name:Sh(i.name,o),accountName:i.name,accountId:i.id,environment:r,region:o})}return n.sort((i,r)=>{let o=i.environment.localeCompare(r.environment);if(o!==0)return o;let a=i.accountName.localeCompare(r.accountName);return a!==0?a:i.region.localeCompare(r.region)})}en(_h,"deriveTargets");function oA(e){return _h(e.providerAccounts,bh(e))}en(oA,"deriveAllTargets");function K1(e,t){if(t.length===0)return e;let n=new Set([e.primaryRegion,e.disasterRecoveryRegion].filter(Boolean)),i=t.filter(r=>!n.has(r));return{...e,secondaryRegions:i.length>0?i:void 0}}en(K1,"mergeSecondaryRegions");function aA(e,t){return e.find(n=>n.name===t)}en(aA,"findTarget");var Y1=Object.defineProperty,X1=(e,t)=>Y1(e,"name",{value:t,configurable:!0});function sA(e,t){if(t!==void 0){if(t.trim()==="")throw new Error("buildAppConfigPath: container must be a non-empty string");return`${t}/fjall/${e}`}return`fjall/${e}`}X1(sA,"buildAppConfigPath");var J1=Object.defineProperty,fi=(e,t)=>J1(e,"name",{value:t,configurable:!0}),Eh="infrastructure.ts",xh="fjall";function cA(e,t){let n=t?.excludedPathPrefixes,i=t?.excludedPathSegments,r=[];for(let o of e){if(!Ah(o.path)||n&&lA(o.path,n)||i&&dA(o.path,i))continue;let a=Ih(o.path);a!==null&&r.push({configPath:uA(o.path),boundaryPath:a})}return r}fi(cA,"findInfrastructurePaths");function Ah(e){return e===Eh||e.endsWith(`/${Eh}`)}fi(Ah,"isInfrastructureFile");function Ih(e){let t=e.split("/");for(let n=0;n<t.length-1;n++)if(t[n]===xh)return t.slice(0,n+1).join("/");return null}fi(Ih,"findBoundaryPath");function uA(e){return e.slice(0,-`/${Eh}`.length)}fi(uA,"toConfigDir");function lA(e,t){for(let n of t)if(e.startsWith(n))return!0;return!1}fi(lA,"hasExcludedPrefix");function dA(e,t){let n=e.split("/");for(let i=0;i<n.length-1;i++)if(t.has(n[i]))return!0;return!1}fi(dA,"hasExcludedSegment");var Q1=Object.defineProperty,$h=(e,t)=>Q1(e,"name",{value:t,configurable:!0});function mA(e){if(e.length===0)return null;let t=[];for(let i of e){let r=pA(i.boundaryPath);if(r===null)return null;t.push(r)}let n=fA(t);return n.length===0?null:n.join("/")}$h(mA,"inferContainerFromCandidates");function pA(e){let t=e.split("/").filter(i=>i.length>0);if(t.length===0||t[t.length-1]!==xh)return null;let n=t.slice(0,t.length-1);return n.length===0?null:n}$h(pA,"extractContainer");function fA(e){if(e.length===0)return[];let[t,...n]=e,i=[];for(let r=0;r<t.length;r+=1){let o=t[r];for(let a of n)if(a[r]!==o)return i;i.push(o)}return i}$h(fA,"longestCommonPrefix");var eM=Object.defineProperty,gA=(e,t)=>eM(e,"name",{value:t,configurable:!0}),hA=["fjall","organisation","platform","account"];function vA(e){return hA.includes(e.toLowerCase())}gA(vA,"isReservedAppName");var bA="-cache";function yA(e){return Tt(e).endsWith(bA)}gA(yA,"hasReservedAppNameSuffix");var tM=Object.defineProperty,Th=(e,t)=>tM(e,"name",{value:t,configurable:!0});function _A(e){return{success:!0,data:e}}Th(_A,"success");function Vo(e){return{success:!1,error:e}}Th(Vo,"failure");var SA="sha256:",eu=12,rM=new RegExp(`-sha-[0-9a-f]{${eu}}$`);function EA(e,t,n){if(!e.startsWith(SA))return Vo(new Error(`expected sha256:... digest, got ${e.slice(0,32)}`));let i=e.slice(SA.length);if(i.length<eu)return Vo(new Error(`digest hex payload too short (need >=${eu} chars, got ${i.length})`));let r=t.trim();if(r==="")return Vo(new Error("serviceName must be a non-empty string"));let o;if(n!==void 0){let u=n.trim();if(u==="")return Vo(new Error("target, when supplied, must be a non-empty string; omit the argument instead"));o=u.toLowerCase()}let a=i.slice(0,eu).toLowerCase(),c=o!==void 0?`${r.toLowerCase()}-${o}`:r.toLowerCase();return _A(`${c}-sha-${a}`)}Th(EA,"deriveContentHashTag");var nM=Object.defineProperty,iM=(e,t)=>nM(e,"name",{value:t,configurable:!0}),xA=["full","code-only","rollback","restart"],oM=s.enum(xA),AA=/^[a-zA-Z0-9._-]+$/,IA=s.string().min(1).max(128).regex(AA),$A=s.object({serviceName:s.string().min(1),imageTag:IA,imageDigest:s.string().min(1).optional(),imageUri:s.string().min(1),ecrRepositoryArn:s.string().min(1).optional(),taskDefinitionArn:s.string().min(1).optional(),previousTaskDefinitionArn:s.string().min(1).optional(),functionArn:s.string().min(1).optional(),publishedVersion:s.string().min(1).optional()}).strict(),aM=s.array($A);function TA(e,t){return`${e}${t}`}iM(TA,"artefactOutputKey");var sM=Object.defineProperty,RA=(e,t)=>sM(e,"name",{value:t,configurable:!0}),kt=["payload","nextjs","staticsite"],Rh=new Set(kt);function Ph(e){return typeof e=="string"&&Rh.has(e)}RA(Ph,"isPatternType");var gi={payload:{label:"Payload CMS",constructIdSuffix:"Payload",artefact:"opennext-lambda",stackPlacement:"compute",deployable:!0},nextjs:{label:"Next.js",constructIdSuffix:"Nextjs",artefact:"opennext-lambda",stackPlacement:"compute",deployable:!1},staticsite:{label:"Static site",constructIdSuffix:"StaticSite",artefact:"static-assets",stackPlacement:"cdn",deployable:!0}},PA=kt.filter(e=>gi[e].deployable),Ch=kt.filter(e=>gi[e].artefact==="opennext-lambda"),cM=new Set(Ch);function Nh(e){return e!=null&&cM.has(e)}RA(Nh,"isOpenNextPatternType");var Zo=["multipage","spa"];var uM=Object.defineProperty,wh=(e,t)=>uM(e,"name",{value:t,configurable:!0}),CA="noreply";function NA(e){return`${CA}@${e}`}wh(NA,"defaultFormsFromAddress");function wA(e){return`https://${e}`}wh(wA,"defaultFormsCorsOrigin");function tu(e,t){let n=e.split("@");if(n.length!==2)return!1;let[i,r]=n;return i===void 0||i===""||r===void 0?!1:r.toLowerCase()===t.toLowerCase()}wh(tu,"isAddressAtDomain");var kA=2;var lM=s.object({devDomain:s.string().min(1),hostedZoneId:s.string().min(1).optional(),parentDomain:s.string().min(1).optional(),parentDelegationRoleArn:s.string().min(1).optional()}).strict().superRefine((e,t)=>{if(e.hostedZoneId!==void 0){e.parentDomain!==void 0&&t.addIssue({code:"custom",path:["parentDomain"],message:"hostedZoneId (adopt mode) is mutually exclusive with parentDomain \u2014 the adopted zone was already delegated; omit parentDomain"}),e.parentDelegationRoleArn!==void 0&&t.addIssue({code:"custom",path:["parentDelegationRoleArn"],message:"hostedZoneId (adopt mode) is mutually exclusive with parentDelegationRoleArn \u2014 the adopted zone was already delegated; omit parentDelegationRoleArn"});return}e.parentDelegationRoleArn!==void 0&&e.parentDomain===void 0&&t.addIssue({code:"custom",path:["parentDomain"],message:"parentDelegationRoleArn requires parentDomain \u2014 set parentDomain to the parent zone the DelegationRole belongs to"}),e.parentDomain!==void 0&&!e.devDomain.endsWith(`.${e.parentDomain}`)&&t.addIssue({code:"custom",path:["parentDomain"],message:"parentDomain must be a proper DNS suffix of devDomain \u2014 devDomain must end with `.<parentDomain>`"})}),OA={appId:s.string().min(1),appKebab:s.string().min(1),engineVersion:s.string().min(1).optional(),adoptSlotEcr:s.boolean().optional(),phase:s.enum(["zone","full"]).optional(),domain:lM.optional()},dM=s.object(OA).strict(),mM=s.object({...OA,version:s.literal(kA),appName:s.string().min(1)}).strict().refine(e=>e.appName===`fjall-dev-${e.appKebab}`,{message:"appName must equal `fjall-dev-${appKebab}` (single-source identity)",path:["appName"]});import{existsSync as $I,mkdirSync as Qj,statSync as ez,appendFileSync as tz}from"fs";import{join as TI}from"path";import{join as uv}from"path";var fM=Object.defineProperty,DA=(e,t)=>fM(e,"name",{value:t,configurable:!0});function MA(e){return e.mode==="cli"}DA(MA,"isCLIMode");function jA(e){return e.mode==="ink"}DA(jA,"isInkMode");var zA=(e=0)=>t=>`\x1B[${t+e}m`,LA=(e=0)=>t=>`\x1B[${38+e};5;${t}m`,UA=(e=0)=>(t,n,i)=>`\x1B[${38+e};2;${t};${n};${i}m`,re={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},F3=Object.keys(re.modifier),gM=Object.keys(re.color),hM=Object.keys(re.bgColor),B3=[...gM,...hM];function vM(){let e=new Map;for(let[t,n]of Object.entries(re)){for(let[i,r]of Object.entries(n))re[i]={open:`\x1B[${r[0]}m`,close:`\x1B[${r[1]}m`},n[i]=re[i],e.set(r[0],r[1]);Object.defineProperty(re,t,{value:n,enumerable:!1})}return Object.defineProperty(re,"codes",{value:e,enumerable:!1}),re.color.close="\x1B[39m",re.bgColor.close="\x1B[49m",re.color.ansi=zA(),re.color.ansi256=LA(),re.color.ansi16m=UA(),re.bgColor.ansi=zA(10),re.bgColor.ansi256=LA(10),re.bgColor.ansi16m=UA(10),Object.defineProperties(re,{rgbToAnsi256:{value(t,n,i){return t===n&&n===i?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(n/255*5)+Math.round(i/255*5)},enumerable:!1},hexToRgb:{value(t){let n=/[a-f\d]{6}|[a-f\d]{3}/i.exec(t.toString(16));if(!n)return[0,0,0];let[i]=n;i.length===3&&(i=[...i].map(o=>o+o).join(""));let r=Number.parseInt(i,16);return[r>>16&255,r>>8&255,r&255]},enumerable:!1},hexToAnsi256:{value:t=>re.rgbToAnsi256(...re.hexToRgb(t)),enumerable:!1},ansi256ToAnsi:{value(t){if(t<8)return 30+t;if(t<16)return 90+(t-8);let n,i,r;if(t>=232)n=((t-232)*10+8)/255,i=n,r=n;else{t-=16;let c=t%36;n=Math.floor(t/36)/5,i=Math.floor(c/6)/5,r=c%6/5}let o=Math.max(n,i,r)*2;if(o===0)return 30;let a=30+(Math.round(r)<<2|Math.round(i)<<1|Math.round(n));return o===2&&(a+=60),a},enumerable:!1},rgbToAnsi:{value:(t,n,i)=>re.ansi256ToAnsi(re.rgbToAnsi256(t,n,i)),enumerable:!1},hexToAnsi:{value:t=>re.ansi256ToAnsi(re.hexToAnsi256(t)),enumerable:!1}}),re}var bM=vM(),St=bM;import kh from"node:process";import yM from"node:os";import FA from"node:tty";function at(e,t=globalThis.Deno?globalThis.Deno.args:kh.argv){let n=e.startsWith("-")?"":e.length===1?"-":"--",i=t.indexOf(n+e),r=t.indexOf("--");return i!==-1&&(r===-1||i<r)}var{env:ne}=kh,ru;at("no-color")||at("no-colors")||at("color=false")||at("color=never")?ru=0:(at("color")||at("colors")||at("color=true")||at("color=always"))&&(ru=1);function SM(){if("FORCE_COLOR"in ne)return ne.FORCE_COLOR==="true"?1:ne.FORCE_COLOR==="false"?0:ne.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(ne.FORCE_COLOR,10),3)}function _M(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function EM(e,{streamIsTTY:t,sniffFlags:n=!0}={}){let i=SM();i!==void 0&&(ru=i);let r=n?ru:i;if(r===0)return 0;if(n){if(at("color=16m")||at("color=full")||at("color=truecolor"))return 3;if(at("color=256"))return 2}if("TF_BUILD"in ne&&"AGENT_NAME"in ne)return 1;if(e&&!t&&r===void 0)return 0;let o=r||0;if(ne.TERM==="dumb")return o;if(kh.platform==="win32"){let a=yM.release().split(".");return Number(a[0])>=10&&Number(a[2])>=10586?Number(a[2])>=14931?3:2:1}if("CI"in ne)return["GITHUB_ACTIONS","GITEA_ACTIONS","CIRCLECI"].some(a=>a in ne)?3:["TRAVIS","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(a=>a in ne)||ne.CI_NAME==="codeship"?1:o;if("TEAMCITY_VERSION"in ne)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(ne.TEAMCITY_VERSION)?1:0;if(ne.COLORTERM==="truecolor"||ne.TERM==="xterm-kitty"||ne.TERM==="xterm-ghostty"||ne.TERM==="wezterm")return 3;if("TERM_PROGRAM"in ne){let a=Number.parseInt((ne.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(ne.TERM_PROGRAM){case"iTerm.app":return a>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(ne.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(ne.TERM)||"COLORTERM"in ne?1:o}function BA(e,t={}){let n=EM(e,{streamIsTTY:e&&e.isTTY,...t});return _M(n)}var xM={stdout:BA({isTTY:FA.isatty(1)}),stderr:BA({isTTY:FA.isatty(2)})},VA=xM;function ZA(e,t,n){let i=e.indexOf(t);if(i===-1)return e;let r=t.length,o=0,a="";do a+=e.slice(o,i)+t+n,o=i+r,i=e.indexOf(t,o);while(i!==-1);return a+=e.slice(o),a}function GA(e,t,n,i){let r=0,o="";do{let a=e[i-1]==="\r";o+=e.slice(r,a?i-1:i)+t+(a?`\r
166
+ `:l==="r"?"\r":l):c.length>=2&&c.startsWith("'")&&c.endsWith("'")?t[a]=c.slice(1,-1):t[a]=c}return t}pi(rA,"parseDotEnv");function nA(e){return e.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\$/g,"\\$").replace(/`/g,"\\`").replace(/\n/g,"\\n").replace(/\r/g,"\\r")}pi(nA,"escapeDotEnvValue");var iA=s.object({awsAccountId:s.string(),accountName:s.string().nullable(),status:s.string(),role:s.string(),roleArn:s.string(),environment:s.string().optional(),connectedAt:s.string()}),H1=s.object({accounts:s.array(iA)});var q1=Object.defineProperty,en=(e,t)=>q1(e,"name",{value:t,configurable:!0});function bh(e){let t=[e.primaryRegion,...e.secondaryRegions??[],e.disasterRecoveryRegion].filter(n=>n!==void 0);return[...new Set(t)]}en(bh,"deriveRegionsFromOrgConfig");function yh(e){return e.environment??Uo(e)}en(yh,"environmentOrTier");function Sh(e,t){return`${e.toLowerCase()}-${wn(t)}`}en(Sh,"generateTargetName");function _h(e,t){let n=[];for(let i of e){if(Uo(i)==="organisation")continue;let r=yh(i);for(let o of t)n.push({name:Sh(i.name,o),accountName:i.name,accountId:i.id,environment:r,region:o})}return n.sort((i,r)=>{let o=i.environment.localeCompare(r.environment);if(o!==0)return o;let a=i.accountName.localeCompare(r.accountName);return a!==0?a:i.region.localeCompare(r.region)})}en(_h,"deriveTargets");function oA(e){return _h(e.providerAccounts,bh(e))}en(oA,"deriveAllTargets");function K1(e,t){if(t.length===0)return e;let n=new Set([e.primaryRegion,e.disasterRecoveryRegion].filter(Boolean)),i=t.filter(r=>!n.has(r));return{...e,secondaryRegions:i.length>0?i:void 0}}en(K1,"mergeSecondaryRegions");function aA(e,t){return e.find(n=>n.name===t)}en(aA,"findTarget");var Y1=Object.defineProperty,X1=(e,t)=>Y1(e,"name",{value:t,configurable:!0});function sA(e,t){if(t!==void 0){if(t.trim()==="")throw new Error("buildAppConfigPath: container must be a non-empty string");return`${t}/fjall/${e}`}return`fjall/${e}`}X1(sA,"buildAppConfigPath");var J1=Object.defineProperty,fi=(e,t)=>J1(e,"name",{value:t,configurable:!0}),Eh="infrastructure.ts",xh="fjall";function cA(e,t){let n=t?.excludedPathPrefixes,i=t?.excludedPathSegments,r=[];for(let o of e){if(!Ah(o.path)||n&&lA(o.path,n)||i&&dA(o.path,i))continue;let a=Ih(o.path);a!==null&&r.push({configPath:uA(o.path),boundaryPath:a})}return r}fi(cA,"findInfrastructurePaths");function Ah(e){return e===Eh||e.endsWith(`/${Eh}`)}fi(Ah,"isInfrastructureFile");function Ih(e){let t=e.split("/");for(let n=0;n<t.length-1;n++)if(t[n]===xh)return t.slice(0,n+1).join("/");return null}fi(Ih,"findBoundaryPath");function uA(e){return e.slice(0,-`/${Eh}`.length)}fi(uA,"toConfigDir");function lA(e,t){for(let n of t)if(e.startsWith(n))return!0;return!1}fi(lA,"hasExcludedPrefix");function dA(e,t){let n=e.split("/");for(let i=0;i<n.length-1;i++)if(t.has(n[i]))return!0;return!1}fi(dA,"hasExcludedSegment");var Q1=Object.defineProperty,$h=(e,t)=>Q1(e,"name",{value:t,configurable:!0});function mA(e){if(e.length===0)return null;let t=[];for(let i of e){let r=pA(i.boundaryPath);if(r===null)return null;t.push(r)}let n=fA(t);return n.length===0?null:n.join("/")}$h(mA,"inferContainerFromCandidates");function pA(e){let t=e.split("/").filter(i=>i.length>0);if(t.length===0||t[t.length-1]!==xh)return null;let n=t.slice(0,t.length-1);return n.length===0?null:n}$h(pA,"extractContainer");function fA(e){if(e.length===0)return[];let[t,...n]=e,i=[];for(let r=0;r<t.length;r+=1){let o=t[r];for(let a of n)if(a[r]!==o)return i;i.push(o)}return i}$h(fA,"longestCommonPrefix");var eM=Object.defineProperty,gA=(e,t)=>eM(e,"name",{value:t,configurable:!0}),hA=["fjall","organisation","platform","account"];function vA(e){return hA.includes(e.toLowerCase())}gA(vA,"isReservedAppName");var bA="-cache";function yA(e){return Tt(e).endsWith(bA)}gA(yA,"hasReservedAppNameSuffix");var tM=Object.defineProperty,Th=(e,t)=>tM(e,"name",{value:t,configurable:!0});function _A(e){return{success:!0,data:e}}Th(_A,"success");function Vo(e){return{success:!1,error:e}}Th(Vo,"failure");var SA="sha256:",eu=12,rM=new RegExp(`-sha-[0-9a-f]{${eu}}$`);function EA(e,t,n){if(!e.startsWith(SA))return Vo(new Error(`expected sha256:... digest, got ${e.slice(0,32)}`));let i=e.slice(SA.length);if(i.length<eu)return Vo(new Error(`digest hex payload too short (need >=${eu} chars, got ${i.length})`));let r=t.trim();if(r==="")return Vo(new Error("serviceName must be a non-empty string"));let o;if(n!==void 0){let u=n.trim();if(u==="")return Vo(new Error("target, when supplied, must be a non-empty string; omit the argument instead"));o=u.toLowerCase()}let a=i.slice(0,eu).toLowerCase(),c=o!==void 0?`${r.toLowerCase()}-${o}`:r.toLowerCase();return _A(`${c}-sha-${a}`)}Th(EA,"deriveContentHashTag");var nM=Object.defineProperty,iM=(e,t)=>nM(e,"name",{value:t,configurable:!0}),xA=["full","code-only","rollback","restart"],oM=s.enum(xA),AA=/^[a-zA-Z0-9._-]+$/,IA=s.string().min(1).max(128).regex(AA),$A=s.object({serviceName:s.string().min(1),imageTag:IA,imageDigest:s.string().min(1).optional(),imageUri:s.string().min(1),ecrRepositoryArn:s.string().min(1).optional(),taskDefinitionArn:s.string().min(1).optional(),previousTaskDefinitionArn:s.string().min(1).optional(),functionArn:s.string().min(1).optional(),publishedVersion:s.string().min(1).optional()}).strict(),aM=s.array($A);function TA(e,t){return`${e}${t}`}iM(TA,"artefactOutputKey");var sM=Object.defineProperty,RA=(e,t)=>sM(e,"name",{value:t,configurable:!0}),kt=["payload","nextjs","staticsite"],Rh=new Set(kt);function Ph(e){return typeof e=="string"&&Rh.has(e)}RA(Ph,"isPatternType");var gi={payload:{label:"Payload CMS",constructIdSuffix:"Payload",artefact:"opennext-lambda",stackPlacement:"compute",deployable:!0},nextjs:{label:"Next.js",constructIdSuffix:"Nextjs",artefact:"opennext-lambda",stackPlacement:"compute",deployable:!1},staticsite:{label:"Static site",constructIdSuffix:"StaticSite",artefact:"static-assets",stackPlacement:"cdn",deployable:!0}},PA=kt.filter(e=>gi[e].deployable),Ch=kt.filter(e=>gi[e].artefact==="opennext-lambda"),cM=new Set(Ch);function Nh(e){return e!=null&&cM.has(e)}RA(Nh,"isOpenNextPatternType");var Zo=["multipage","spa"];var uM=Object.defineProperty,wh=(e,t)=>uM(e,"name",{value:t,configurable:!0}),CA="noreply";function NA(e){return`${CA}@${e}`}wh(NA,"defaultFormsFromAddress");function wA(e){return`https://${e}`}wh(wA,"defaultFormsCorsOrigin");function tu(e,t){let n=e.split("@");if(n.length!==2)return!1;let[i,r]=n;return i===void 0||i===""||r===void 0?!1:r.toLowerCase()===t.toLowerCase()}wh(tu,"isAddressAtDomain");var kA=2;var lM=s.object({devDomain:s.string().min(1),hostedZoneId:s.string().min(1).optional(),parentDomain:s.string().min(1).optional(),parentDelegationRoleArn:s.string().min(1).optional()}).strict().superRefine((e,t)=>{if(e.hostedZoneId!==void 0){e.parentDomain!==void 0&&t.addIssue({code:"custom",path:["parentDomain"],message:"hostedZoneId (adopt mode) is mutually exclusive with parentDomain \u2014 the adopted zone was already delegated; omit parentDomain"}),e.parentDelegationRoleArn!==void 0&&t.addIssue({code:"custom",path:["parentDelegationRoleArn"],message:"hostedZoneId (adopt mode) is mutually exclusive with parentDelegationRoleArn \u2014 the adopted zone was already delegated; omit parentDelegationRoleArn"});return}e.parentDelegationRoleArn!==void 0&&e.parentDomain===void 0&&t.addIssue({code:"custom",path:["parentDomain"],message:"parentDelegationRoleArn requires parentDomain \u2014 set parentDomain to the parent zone the DelegationRole belongs to"}),e.parentDomain!==void 0&&!e.devDomain.endsWith(`.${e.parentDomain}`)&&t.addIssue({code:"custom",path:["parentDomain"],message:"parentDomain must be a proper DNS suffix of devDomain \u2014 devDomain must end with `.<parentDomain>`"})}),OA={appId:s.string().min(1),appKebab:s.string().min(1),engineVersion:s.string().min(1).optional(),adoptSlotEcr:s.boolean().optional(),phase:s.enum(["zone","full"]).optional(),domain:lM.optional()},dM=s.object(OA).strict(),mM=s.object({...OA,version:s.literal(kA),appName:s.string().min(1)}).strict().refine(e=>e.appName===`fjall-dev-${e.appKebab}`,{message:"appName must equal `fjall-dev-${appKebab}` (single-source identity)",path:["appName"]});import{existsSync as $I,mkdirSync as Qj,statSync as ez,appendFileSync as tz}from"fs";import{join as TI}from"path";import{join as uv}from"path";var fM=Object.defineProperty,DA=(e,t)=>fM(e,"name",{value:t,configurable:!0});function MA(e){return e.mode==="cli"}DA(MA,"isCLIMode");function jA(e){return e.mode==="ink"}DA(jA,"isInkMode");var zA=(e=0)=>t=>`\x1B[${t+e}m`,LA=(e=0)=>t=>`\x1B[${38+e};5;${t}m`,UA=(e=0)=>(t,n,i)=>`\x1B[${38+e};2;${t};${n};${i}m`,re={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},B3=Object.keys(re.modifier),gM=Object.keys(re.color),hM=Object.keys(re.bgColor),V3=[...gM,...hM];function vM(){let e=new Map;for(let[t,n]of Object.entries(re)){for(let[i,r]of Object.entries(n))re[i]={open:`\x1B[${r[0]}m`,close:`\x1B[${r[1]}m`},n[i]=re[i],e.set(r[0],r[1]);Object.defineProperty(re,t,{value:n,enumerable:!1})}return Object.defineProperty(re,"codes",{value:e,enumerable:!1}),re.color.close="\x1B[39m",re.bgColor.close="\x1B[49m",re.color.ansi=zA(),re.color.ansi256=LA(),re.color.ansi16m=UA(),re.bgColor.ansi=zA(10),re.bgColor.ansi256=LA(10),re.bgColor.ansi16m=UA(10),Object.defineProperties(re,{rgbToAnsi256:{value(t,n,i){return t===n&&n===i?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(n/255*5)+Math.round(i/255*5)},enumerable:!1},hexToRgb:{value(t){let n=/[a-f\d]{6}|[a-f\d]{3}/i.exec(t.toString(16));if(!n)return[0,0,0];let[i]=n;i.length===3&&(i=[...i].map(o=>o+o).join(""));let r=Number.parseInt(i,16);return[r>>16&255,r>>8&255,r&255]},enumerable:!1},hexToAnsi256:{value:t=>re.rgbToAnsi256(...re.hexToRgb(t)),enumerable:!1},ansi256ToAnsi:{value(t){if(t<8)return 30+t;if(t<16)return 90+(t-8);let n,i,r;if(t>=232)n=((t-232)*10+8)/255,i=n,r=n;else{t-=16;let c=t%36;n=Math.floor(t/36)/5,i=Math.floor(c/6)/5,r=c%6/5}let o=Math.max(n,i,r)*2;if(o===0)return 30;let a=30+(Math.round(r)<<2|Math.round(i)<<1|Math.round(n));return o===2&&(a+=60),a},enumerable:!1},rgbToAnsi:{value:(t,n,i)=>re.ansi256ToAnsi(re.rgbToAnsi256(t,n,i)),enumerable:!1},hexToAnsi:{value:t=>re.ansi256ToAnsi(re.hexToAnsi256(t)),enumerable:!1}}),re}var bM=vM(),St=bM;import kh from"node:process";import yM from"node:os";import FA from"node:tty";function at(e,t=globalThis.Deno?globalThis.Deno.args:kh.argv){let n=e.startsWith("-")?"":e.length===1?"-":"--",i=t.indexOf(n+e),r=t.indexOf("--");return i!==-1&&(r===-1||i<r)}var{env:ne}=kh,ru;at("no-color")||at("no-colors")||at("color=false")||at("color=never")?ru=0:(at("color")||at("colors")||at("color=true")||at("color=always"))&&(ru=1);function SM(){if("FORCE_COLOR"in ne)return ne.FORCE_COLOR==="true"?1:ne.FORCE_COLOR==="false"?0:ne.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(ne.FORCE_COLOR,10),3)}function _M(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function EM(e,{streamIsTTY:t,sniffFlags:n=!0}={}){let i=SM();i!==void 0&&(ru=i);let r=n?ru:i;if(r===0)return 0;if(n){if(at("color=16m")||at("color=full")||at("color=truecolor"))return 3;if(at("color=256"))return 2}if("TF_BUILD"in ne&&"AGENT_NAME"in ne)return 1;if(e&&!t&&r===void 0)return 0;let o=r||0;if(ne.TERM==="dumb")return o;if(kh.platform==="win32"){let a=yM.release().split(".");return Number(a[0])>=10&&Number(a[2])>=10586?Number(a[2])>=14931?3:2:1}if("CI"in ne)return["GITHUB_ACTIONS","GITEA_ACTIONS","CIRCLECI"].some(a=>a in ne)?3:["TRAVIS","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(a=>a in ne)||ne.CI_NAME==="codeship"?1:o;if("TEAMCITY_VERSION"in ne)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(ne.TEAMCITY_VERSION)?1:0;if(ne.COLORTERM==="truecolor"||ne.TERM==="xterm-kitty"||ne.TERM==="xterm-ghostty"||ne.TERM==="wezterm")return 3;if("TERM_PROGRAM"in ne){let a=Number.parseInt((ne.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(ne.TERM_PROGRAM){case"iTerm.app":return a>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(ne.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(ne.TERM)||"COLORTERM"in ne?1:o}function BA(e,t={}){let n=EM(e,{streamIsTTY:e&&e.isTTY,...t});return _M(n)}var xM={stdout:BA({isTTY:FA.isatty(1)}),stderr:BA({isTTY:FA.isatty(2)})},VA=xM;function ZA(e,t,n){let i=e.indexOf(t);if(i===-1)return e;let r=t.length,o=0,a="";do a+=e.slice(o,i)+t+n,o=i+r,i=e.indexOf(t,o);while(i!==-1);return a+=e.slice(o),a}function GA(e,t,n,i){let r=0,o="";do{let a=e[i-1]==="\r";o+=e.slice(r,a?i-1:i)+t+(a?`\r
167
167
  `:`
168
168
  `)+n,r=i+1,i=e.indexOf(`
169
169
  `,r)}while(i!==-1);return o+=e.slice(r),o}var{stdout:WA,stderr:HA}=VA,Oh=Symbol("GENERATOR"),hi=Symbol("STYLER"),Go=Symbol("IS_EMPTY"),qA=["ansi","ansi","ansi256","ansi16m"],vi=Object.create(null),AM=(e,t={})=>{if(t.level&&!(Number.isInteger(t.level)&&t.level>=0&&t.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let n=WA?WA.level:0;e.level=t.level===void 0?n:t.level};var IM=e=>{let t=(...n)=>n.join(" ");return AM(t,e),Object.setPrototypeOf(t,Wo.prototype),t};function Wo(e){return IM(e)}Object.setPrototypeOf(Wo.prototype,Function.prototype);for(let[e,t]of Object.entries(St))vi[e]={get(){let n=nu(this,Mh(t.open,t.close,this[hi]),this[Go]);return Object.defineProperty(this,e,{value:n}),n}};vi.visible={get(){let e=nu(this,this[hi],!0);return Object.defineProperty(this,"visible",{value:e}),e}};var Dh=(e,t,n,...i)=>e==="rgb"?t==="ansi16m"?St[n].ansi16m(...i):t==="ansi256"?St[n].ansi256(St.rgbToAnsi256(...i)):St[n].ansi(St.rgbToAnsi(...i)):e==="hex"?Dh("rgb",t,n,...St.hexToRgb(...i)):St[n][e](...i),$M=["rgb","hex","ansi256"];for(let e of $M){vi[e]={get(){let{level:n}=this;return function(...i){let r=Mh(Dh(e,qA[n],"color",...i),St.color.close,this[hi]);return nu(this,r,this[Go])}}};let t="bg"+e[0].toUpperCase()+e.slice(1);vi[t]={get(){let{level:n}=this;return function(...i){let r=Mh(Dh(e,qA[n],"bgColor",...i),St.bgColor.close,this[hi]);return nu(this,r,this[Go])}}}}var TM=Object.defineProperties(()=>{},{...vi,level:{enumerable:!0,get(){return this[Oh].level},set(e){this[Oh].level=e}}}),Mh=(e,t,n)=>{let i,r;return n===void 0?(i=e,r=t):(i=n.openAll+e,r=t+n.closeAll),{open:e,close:t,openAll:i,closeAll:r,parent:n}},nu=(e,t,n)=>{let i=(...r)=>RM(i,r.length===1?""+r[0]:r.join(" "));return Object.setPrototypeOf(i,TM),i[Oh]=e,i[hi]=t,i[Go]=n,i},RM=(e,t)=>{if(e.level<=0||!t)return e[Go]?"":t;let n=e[hi];if(n===void 0)return t;let{openAll:i,closeAll:r}=n;if(t.includes("\x1B"))for(;n!==void 0;)t=ZA(t,n.close,n.open),n=n.parent;let o=t.indexOf(`
170
- `);return o!==-1&&(t=GA(t,r,i,o)),i+t+r};Object.defineProperties(Wo.prototype,vi);var PM=Wo(),J3=Wo({level:HA?HA.level:0});var Ee=PM;import Xo from"node:process";import{stripVTControlCharacters as vj}from"node:util";import eI from"node:process";import su from"node:process";var CM=(e,t,n,i)=>{if(n==="length"||n==="prototype"||n==="arguments"||n==="caller")return;let r=Object.getOwnPropertyDescriptor(e,n),o=Object.getOwnPropertyDescriptor(t,n);!NM(r,o)&&i||Object.defineProperty(e,n,o)},NM=function(e,t){return e===void 0||e.configurable||e.writable===t.writable&&e.enumerable===t.enumerable&&e.configurable===t.configurable&&(e.writable||e.value===t.value)},wM=(e,t)=>{let n=Object.getPrototypeOf(t);n!==Object.getPrototypeOf(e)&&Object.setPrototypeOf(e,n)},kM=(e,t)=>`/* Wrapped ${e}*/
171
- ${t}`,OM=Object.getOwnPropertyDescriptor(Function.prototype,"toString"),DM=Object.getOwnPropertyDescriptor(Function.prototype.toString,"name"),MM=(e,t,n)=>{let i=n===""?"":`with ${n.trim()}() `,r=kM.bind(null,i,t.toString());Object.defineProperty(r,"name",DM);let{writable:o,enumerable:a,configurable:c}=OM;Object.defineProperty(e,"toString",{value:r,writable:o,enumerable:a,configurable:c})};function jh(e,t,{ignoreNonConfigurable:n=!1}={}){let{name:i}=e;for(let r of Reflect.ownKeys(t))CM(e,t,r,n);return wM(e,t),MM(e,t,i),e}var iu=new WeakMap,KA=(e,t={})=>{if(typeof e!="function")throw new TypeError("Expected a function");let n,i=0,r=e.displayName||e.name||"<anonymous>",o=function(...a){if(iu.set(o,++i),i===1)n=e.apply(this,a),e=void 0;else if(t.throw===!0)throw new Error(`Function \`${r}\` can only be called once`);return n};return jh(o,e),iu.set(o,i),o};KA.callCount=e=>{if(!iu.has(e))throw new Error(`The given function \`${e.name}\` is not wrapped by the \`onetime\` package`);return iu.get(e)};var YA=KA;var tn=[];tn.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&tn.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&tn.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var ou=e=>!!e&&typeof e=="object"&&typeof e.removeListener=="function"&&typeof e.emit=="function"&&typeof e.reallyExit=="function"&&typeof e.listeners=="function"&&typeof e.kill=="function"&&typeof e.pid=="number"&&typeof e.on=="function",zh=Symbol.for("signal-exit emitter"),Lh=globalThis,jM=Object.defineProperty.bind(Object),Uh=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(Lh[zh])return Lh[zh];jM(Lh,zh,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(t,n){this.listeners[t].push(n)}removeListener(t,n){let i=this.listeners[t],r=i.indexOf(n);r!==-1&&(r===0&&i.length===1?i.length=0:i.splice(r,1))}emit(t,n,i){if(this.emitted[t])return!1;this.emitted[t]=!0;let r=!1;for(let o of this.listeners[t])r=o(n,i)===!0||r;return t==="exit"&&(r=this.emit("afterExit",n,i)||r),r}},au=class{},zM=e=>({onExit(t,n){return e.onExit(t,n)},load(){return e.load()},unload(){return e.unload()}}),Fh=class extends au{onExit(){return()=>{}}load(){}unload(){}},Bh=class extends au{#o=Vh.platform==="win32"?"SIGINT":"SIGHUP";#n=new Uh;#r;#e;#i;#t={};#a=!1;constructor(t){super(),this.#r=t,this.#t={};for(let n of tn)this.#t[n]=()=>{let i=this.#r.listeners(n),{count:r}=this.#n,o=t;if(typeof o.__signal_exit_emitter__=="object"&&typeof o.__signal_exit_emitter__.count=="number"&&(r+=o.__signal_exit_emitter__.count),i.length===r){this.unload();let a=this.#n.emit("exit",null,n),c=n==="SIGHUP"?this.#o:n;a||t.kill(t.pid,c)}};this.#i=t.reallyExit,this.#e=t.emit}onExit(t,n){if(!ou(this.#r))return()=>{};this.#a===!1&&this.load();let i=n?.alwaysLast?"afterExit":"exit";return this.#n.on(i,t),()=>{this.#n.removeListener(i,t),this.#n.listeners.exit.length===0&&this.#n.listeners.afterExit.length===0&&this.unload()}}load(){if(!this.#a){this.#a=!0,this.#n.count+=1;for(let t of tn)try{let n=this.#t[t];n&&this.#r.on(t,n)}catch{}this.#r.emit=(t,...n)=>this.#d(t,...n),this.#r.reallyExit=t=>this.#c(t)}}unload(){this.#a&&(this.#a=!1,tn.forEach(t=>{let n=this.#t[t];if(!n)throw new Error("Listener not defined for signal: "+t);try{this.#r.removeListener(t,n)}catch{}}),this.#r.emit=this.#e,this.#r.reallyExit=this.#i,this.#n.count-=1)}#c(t){return ou(this.#r)?(this.#r.exitCode=t||0,this.#n.emit("exit",this.#r.exitCode,null),this.#i.call(this.#r,this.#r.exitCode)):0}#d(t,...n){let i=this.#e;if(t==="exit"&&ou(this.#r)){typeof n[0]=="number"&&(this.#r.exitCode=n[0]);let r=i.call(this.#r,t,...n);return this.#n.emit("exit",this.#r.exitCode,null),r}else return i.call(this.#r,t,...n)}},Vh=globalThis.process,{onExit:XA,load:o9,unload:a9}=zM(ou(Vh)?new Bh(Vh):new Fh);var JA=su.stderr.isTTY?su.stderr:su.stdout.isTTY?su.stdout:void 0,LM=JA?YA(()=>{XA(()=>{JA.write("\x1B[?25h")},{alwaysLast:!0})}):()=>{},QA=LM;var cu=!1,bi={};bi.show=(e=eI.stderr)=>{e.isTTY&&(cu=!1,e.write("\x1B[?25h"))};bi.hide=(e=eI.stderr)=>{e.isTTY&&(QA(),cu=!0,e.write("\x1B[?25l"))};bi.toggle=(e,t)=>{e!==void 0&&(cu=e),cu?bi.show(t):bi.hide(t)};var Zh=bi;var Gh={dots:{interval:80,frames:["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"]},dots2:{interval:80,frames:["\u28FE","\u28FD","\u28FB","\u28BF","\u287F","\u28DF","\u28EF","\u28F7"]},dots3:{interval:80,frames:["\u280B","\u2819","\u281A","\u281E","\u2816","\u2826","\u2834","\u2832","\u2833","\u2813"]},dots4:{interval:80,frames:["\u2804","\u2806","\u2807","\u280B","\u2819","\u2838","\u2830","\u2820","\u2830","\u2838","\u2819","\u280B","\u2807","\u2806"]},dots5:{interval:80,frames:["\u280B","\u2819","\u281A","\u2812","\u2802","\u2802","\u2812","\u2832","\u2834","\u2826","\u2816","\u2812","\u2810","\u2810","\u2812","\u2813","\u280B"]},dots6:{interval:80,frames:["\u2801","\u2809","\u2819","\u281A","\u2812","\u2802","\u2802","\u2812","\u2832","\u2834","\u2824","\u2804","\u2804","\u2824","\u2834","\u2832","\u2812","\u2802","\u2802","\u2812","\u281A","\u2819","\u2809","\u2801"]},dots7:{interval:80,frames:["\u2808","\u2809","\u280B","\u2813","\u2812","\u2810","\u2810","\u2812","\u2816","\u2826","\u2824","\u2820","\u2820","\u2824","\u2826","\u2816","\u2812","\u2810","\u2810","\u2812","\u2813","\u280B","\u2809","\u2808"]},dots8:{interval:80,frames:["\u2801","\u2801","\u2809","\u2819","\u281A","\u2812","\u2802","\u2802","\u2812","\u2832","\u2834","\u2824","\u2804","\u2804","\u2824","\u2820","\u2820","\u2824","\u2826","\u2816","\u2812","\u2810","\u2810","\u2812","\u2813","\u280B","\u2809","\u2808","\u2808"]},dots9:{interval:80,frames:["\u28B9","\u28BA","\u28BC","\u28F8","\u28C7","\u2867","\u2857","\u284F"]},dots10:{interval:80,frames:["\u2884","\u2882","\u2881","\u2841","\u2848","\u2850","\u2860"]},dots11:{interval:100,frames:["\u2801","\u2802","\u2804","\u2840","\u2880","\u2820","\u2810","\u2808"]},dots12:{interval:80,frames:["\u2880\u2800","\u2840\u2800","\u2804\u2800","\u2882\u2800","\u2842\u2800","\u2805\u2800","\u2883\u2800","\u2843\u2800","\u280D\u2800","\u288B\u2800","\u284B\u2800","\u280D\u2801","\u288B\u2801","\u284B\u2801","\u280D\u2809","\u280B\u2809","\u280B\u2809","\u2809\u2819","\u2809\u2819","\u2809\u2829","\u2808\u2899","\u2808\u2859","\u2888\u2829","\u2840\u2899","\u2804\u2859","\u2882\u2829","\u2842\u2898","\u2805\u2858","\u2883\u2828","\u2843\u2890","\u280D\u2850","\u288B\u2820","\u284B\u2880","\u280D\u2841","\u288B\u2801","\u284B\u2801","\u280D\u2809","\u280B\u2809","\u280B\u2809","\u2809\u2819","\u2809\u2819","\u2809\u2829","\u2808\u2899","\u2808\u2859","\u2808\u2829","\u2800\u2899","\u2800\u2859","\u2800\u2829","\u2800\u2898","\u2800\u2858","\u2800\u2828","\u2800\u2890","\u2800\u2850","\u2800\u2820","\u2800\u2880","\u2800\u2840"]},dots13:{interval:80,frames:["\u28FC","\u28F9","\u28BB","\u283F","\u285F","\u28CF","\u28E7","\u28F6"]},dots14:{interval:80,frames:["\u2809\u2809","\u2808\u2819","\u2800\u2839","\u2800\u28B8","\u2800\u28F0","\u2880\u28E0","\u28C0\u28C0","\u28C4\u2840","\u28C6\u2800","\u2847\u2800","\u280F\u2800","\u280B\u2801"]},dots8Bit:{interval:80,frames:["\u2800","\u2801","\u2802","\u2803","\u2804","\u2805","\u2806","\u2807","\u2840","\u2841","\u2842","\u2843","\u2844","\u2845","\u2846","\u2847","\u2808","\u2809","\u280A","\u280B","\u280C","\u280D","\u280E","\u280F","\u2848","\u2849","\u284A","\u284B","\u284C","\u284D","\u284E","\u284F","\u2810","\u2811","\u2812","\u2813","\u2814","\u2815","\u2816","\u2817","\u2850","\u2851","\u2852","\u2853","\u2854","\u2855","\u2856","\u2857","\u2818","\u2819","\u281A","\u281B","\u281C","\u281D","\u281E","\u281F","\u2858","\u2859","\u285A","\u285B","\u285C","\u285D","\u285E","\u285F","\u2820","\u2821","\u2822","\u2823","\u2824","\u2825","\u2826","\u2827","\u2860","\u2861","\u2862","\u2863","\u2864","\u2865","\u2866","\u2867","\u2828","\u2829","\u282A","\u282B","\u282C","\u282D","\u282E","\u282F","\u2868","\u2869","\u286A","\u286B","\u286C","\u286D","\u286E","\u286F","\u2830","\u2831","\u2832","\u2833","\u2834","\u2835","\u2836","\u2837","\u2870","\u2871","\u2872","\u2873","\u2874","\u2875","\u2876","\u2877","\u2838","\u2839","\u283A","\u283B","\u283C","\u283D","\u283E","\u283F","\u2878","\u2879","\u287A","\u287B","\u287C","\u287D","\u287E","\u287F","\u2880","\u2881","\u2882","\u2883","\u2884","\u2885","\u2886","\u2887","\u28C0","\u28C1","\u28C2","\u28C3","\u28C4","\u28C5","\u28C6","\u28C7","\u2888","\u2889","\u288A","\u288B","\u288C","\u288D","\u288E","\u288F","\u28C8","\u28C9","\u28CA","\u28CB","\u28CC","\u28CD","\u28CE","\u28CF","\u2890","\u2891","\u2892","\u2893","\u2894","\u2895","\u2896","\u2897","\u28D0","\u28D1","\u28D2","\u28D3","\u28D4","\u28D5","\u28D6","\u28D7","\u2898","\u2899","\u289A","\u289B","\u289C","\u289D","\u289E","\u289F","\u28D8","\u28D9","\u28DA","\u28DB","\u28DC","\u28DD","\u28DE","\u28DF","\u28A0","\u28A1","\u28A2","\u28A3","\u28A4","\u28A5","\u28A6","\u28A7","\u28E0","\u28E1","\u28E2","\u28E3","\u28E4","\u28E5","\u28E6","\u28E7","\u28A8","\u28A9","\u28AA","\u28AB","\u28AC","\u28AD","\u28AE","\u28AF","\u28E8","\u28E9","\u28EA","\u28EB","\u28EC","\u28ED","\u28EE","\u28EF","\u28B0","\u28B1","\u28B2","\u28B3","\u28B4","\u28B5","\u28B6","\u28B7","\u28F0","\u28F1","\u28F2","\u28F3","\u28F4","\u28F5","\u28F6","\u28F7","\u28B8","\u28B9","\u28BA","\u28BB","\u28BC","\u28BD","\u28BE","\u28BF","\u28F8","\u28F9","\u28FA","\u28FB","\u28FC","\u28FD","\u28FE","\u28FF"]},dotsCircle:{interval:80,frames:["\u288E ","\u280E\u2801","\u280A\u2811","\u2808\u2831"," \u2871","\u2880\u2870","\u2884\u2860","\u2886\u2840"]},sand:{interval:80,frames:["\u2801","\u2802","\u2804","\u2840","\u2848","\u2850","\u2860","\u28C0","\u28C1","\u28C2","\u28C4","\u28CC","\u28D4","\u28E4","\u28E5","\u28E6","\u28EE","\u28F6","\u28F7","\u28FF","\u287F","\u283F","\u289F","\u281F","\u285B","\u281B","\u282B","\u288B","\u280B","\u280D","\u2849","\u2809","\u2811","\u2821","\u2881"]},line:{interval:130,frames:["-","\\","|","/"]},line2:{interval:100,frames:["\u2802","-","\u2013","\u2014","\u2013","-"]},rollingLine:{interval:80,frames:["/ "," - "," \\ "," |"," |"," \\ "," - ","/ "]},pipe:{interval:100,frames:["\u2524","\u2518","\u2534","\u2514","\u251C","\u250C","\u252C","\u2510"]},simpleDots:{interval:400,frames:[". ",".. ","..."," "]},simpleDotsScrolling:{interval:200,frames:[". ",".. ","..."," .."," ."," "]},star:{interval:70,frames:["\u2736","\u2738","\u2739","\u273A","\u2739","\u2737"]},star2:{interval:80,frames:["+","x","*"]},flip:{interval:70,frames:["_","_","_","-","`","`","'","\xB4","-","_","_","_"]},hamburger:{interval:100,frames:["\u2631","\u2632","\u2634"]},growVertical:{interval:120,frames:["\u2581","\u2583","\u2584","\u2585","\u2586","\u2587","\u2586","\u2585","\u2584","\u2583"]},growHorizontal:{interval:120,frames:["\u258F","\u258E","\u258D","\u258C","\u258B","\u258A","\u2589","\u258A","\u258B","\u258C","\u258D","\u258E"]},balloon:{interval:140,frames:[" ",".","o","O","@","*"," "]},balloon2:{interval:120,frames:[".","o","O","\xB0","O","o","."]},noise:{interval:100,frames:["\u2593","\u2592","\u2591"]},bounce:{interval:120,frames:["\u2801","\u2802","\u2804","\u2802"]},boxBounce:{interval:120,frames:["\u2596","\u2598","\u259D","\u2597"]},boxBounce2:{interval:100,frames:["\u258C","\u2580","\u2590","\u2584"]},triangle:{interval:50,frames:["\u25E2","\u25E3","\u25E4","\u25E5"]},binary:{interval:80,frames:["010010","001100","100101","111010","111101","010111","101011","111000","110011","110101"]},arc:{interval:100,frames:["\u25DC","\u25E0","\u25DD","\u25DE","\u25E1","\u25DF"]},circle:{interval:120,frames:["\u25E1","\u2299","\u25E0"]},squareCorners:{interval:180,frames:["\u25F0","\u25F3","\u25F2","\u25F1"]},circleQuarters:{interval:120,frames:["\u25F4","\u25F7","\u25F6","\u25F5"]},circleHalves:{interval:50,frames:["\u25D0","\u25D3","\u25D1","\u25D2"]},squish:{interval:100,frames:["\u256B","\u256A"]},toggle:{interval:250,frames:["\u22B6","\u22B7"]},toggle2:{interval:80,frames:["\u25AB","\u25AA"]},toggle3:{interval:120,frames:["\u25A1","\u25A0"]},toggle4:{interval:100,frames:["\u25A0","\u25A1","\u25AA","\u25AB"]},toggle5:{interval:100,frames:["\u25AE","\u25AF"]},toggle6:{interval:300,frames:["\u101D","\u1040"]},toggle7:{interval:80,frames:["\u29BE","\u29BF"]},toggle8:{interval:100,frames:["\u25CD","\u25CC"]},toggle9:{interval:100,frames:["\u25C9","\u25CE"]},toggle10:{interval:100,frames:["\u3282","\u3280","\u3281"]},toggle11:{interval:50,frames:["\u29C7","\u29C6"]},toggle12:{interval:120,frames:["\u2617","\u2616"]},toggle13:{interval:80,frames:["=","*","-"]},arrow:{interval:100,frames:["\u2190","\u2196","\u2191","\u2197","\u2192","\u2198","\u2193","\u2199"]},arrow2:{interval:80,frames:["\u2B06\uFE0F ","\u2197\uFE0F ","\u27A1\uFE0F ","\u2198\uFE0F ","\u2B07\uFE0F ","\u2199\uFE0F ","\u2B05\uFE0F ","\u2196\uFE0F "]},arrow3:{interval:120,frames:["\u25B9\u25B9\u25B9\u25B9\u25B9","\u25B8\u25B9\u25B9\u25B9\u25B9","\u25B9\u25B8\u25B9\u25B9\u25B9","\u25B9\u25B9\u25B8\u25B9\u25B9","\u25B9\u25B9\u25B9\u25B8\u25B9","\u25B9\u25B9\u25B9\u25B9\u25B8"]},bouncingBar:{interval:80,frames:["[ ]","[= ]","[== ]","[=== ]","[====]","[ ===]","[ ==]","[ =]","[ ]","[ =]","[ ==]","[ ===]","[====]","[=== ]","[== ]","[= ]"]},bouncingBall:{interval:80,frames:["( \u25CF )","( \u25CF )","( \u25CF )","( \u25CF )","( \u25CF)","( \u25CF )","( \u25CF )","( \u25CF )","( \u25CF )","(\u25CF )"]},smiley:{interval:200,frames:["\u{1F604} ","\u{1F61D} "]},monkey:{interval:300,frames:["\u{1F648} ","\u{1F648} ","\u{1F649} ","\u{1F64A} "]},hearts:{interval:100,frames:["\u{1F49B} ","\u{1F499} ","\u{1F49C} ","\u{1F49A} ","\u{1F497} "]},clock:{interval:100,frames:["\u{1F55B} ","\u{1F550} ","\u{1F551} ","\u{1F552} ","\u{1F553} ","\u{1F554} ","\u{1F555} ","\u{1F556} ","\u{1F557} ","\u{1F558} ","\u{1F559} ","\u{1F55A} "]},earth:{interval:180,frames:["\u{1F30D} ","\u{1F30E} ","\u{1F30F} "]},material:{interval:17,frames:["\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588","\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581"]},moon:{interval:80,frames:["\u{1F311} ","\u{1F312} ","\u{1F313} ","\u{1F314} ","\u{1F315} ","\u{1F316} ","\u{1F317} ","\u{1F318} "]},runner:{interval:140,frames:["\u{1F6B6} ","\u{1F3C3} "]},pong:{interval:80,frames:["\u2590\u2802 \u258C","\u2590\u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802\u258C","\u2590 \u2820\u258C","\u2590 \u2840\u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590\u2820 \u258C"]},shark:{interval:120,frames:["\u2590|\\____________\u258C","\u2590_|\\___________\u258C","\u2590__|\\__________\u258C","\u2590___|\\_________\u258C","\u2590____|\\________\u258C","\u2590_____|\\_______\u258C","\u2590______|\\______\u258C","\u2590_______|\\_____\u258C","\u2590________|\\____\u258C","\u2590_________|\\___\u258C","\u2590__________|\\__\u258C","\u2590___________|\\_\u258C","\u2590____________|\\\u258C","\u2590____________/|\u258C","\u2590___________/|_\u258C","\u2590__________/|__\u258C","\u2590_________/|___\u258C","\u2590________/|____\u258C","\u2590_______/|_____\u258C","\u2590______/|______\u258C","\u2590_____/|_______\u258C","\u2590____/|________\u258C","\u2590___/|_________\u258C","\u2590__/|__________\u258C","\u2590_/|___________\u258C","\u2590/|____________\u258C"]},dqpb:{interval:100,frames:["d","q","p","b"]},weather:{interval:100,frames:["\u2600\uFE0F ","\u2600\uFE0F ","\u2600\uFE0F ","\u{1F324} ","\u26C5\uFE0F ","\u{1F325} ","\u2601\uFE0F ","\u{1F327} ","\u{1F328} ","\u{1F327} ","\u{1F328} ","\u{1F327} ","\u{1F328} ","\u26C8 ","\u{1F328} ","\u{1F327} ","\u{1F328} ","\u2601\uFE0F ","\u{1F325} ","\u26C5\uFE0F ","\u{1F324} ","\u2600\uFE0F ","\u2600\uFE0F "]},christmas:{interval:400,frames:["\u{1F332}","\u{1F384}"]},grenade:{interval:80,frames:["\u060C ","\u2032 "," \xB4 "," \u203E "," \u2E0C"," \u2E0A"," |"," \u204E"," \u2055"," \u0DF4 "," \u2053"," "," "," "]},point:{interval:125,frames:["\u2219\u2219\u2219","\u25CF\u2219\u2219","\u2219\u25CF\u2219","\u2219\u2219\u25CF","\u2219\u2219\u2219"]},layer:{interval:150,frames:["-","=","\u2261"]},betaWave:{interval:80,frames:["\u03C1\u03B2\u03B2\u03B2\u03B2\u03B2\u03B2","\u03B2\u03C1\u03B2\u03B2\u03B2\u03B2\u03B2","\u03B2\u03B2\u03C1\u03B2\u03B2\u03B2\u03B2","\u03B2\u03B2\u03B2\u03C1\u03B2\u03B2\u03B2","\u03B2\u03B2\u03B2\u03B2\u03C1\u03B2\u03B2","\u03B2\u03B2\u03B2\u03B2\u03B2\u03C1\u03B2","\u03B2\u03B2\u03B2\u03B2\u03B2\u03B2\u03C1"]},fingerDance:{interval:160,frames:["\u{1F918} ","\u{1F91F} ","\u{1F596} ","\u270B ","\u{1F91A} ","\u{1F446} "]},fistBump:{interval:80,frames:["\u{1F91C}\u3000\u3000\u3000\u3000\u{1F91B} ","\u{1F91C}\u3000\u3000\u3000\u3000\u{1F91B} ","\u{1F91C}\u3000\u3000\u3000\u3000\u{1F91B} ","\u3000\u{1F91C}\u3000\u3000\u{1F91B}\u3000 ","\u3000\u3000\u{1F91C}\u{1F91B}\u3000\u3000 ","\u3000\u{1F91C}\u2728\u{1F91B}\u3000\u3000 ","\u{1F91C}\u3000\u2728\u3000\u{1F91B}\u3000 "]},soccerHeader:{interval:80,frames:[" \u{1F9D1}\u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F\u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} "]},mindblown:{interval:160,frames:["\u{1F610} ","\u{1F610} ","\u{1F62E} ","\u{1F62E} ","\u{1F626} ","\u{1F626} ","\u{1F627} ","\u{1F627} ","\u{1F92F} ","\u{1F4A5} ","\u2728 ","\u3000 ","\u3000 ","\u3000 "]},speaker:{interval:160,frames:["\u{1F508} ","\u{1F509} ","\u{1F50A} ","\u{1F509} "]},orangePulse:{interval:100,frames:["\u{1F538} ","\u{1F536} ","\u{1F7E0} ","\u{1F7E0} ","\u{1F536} "]},bluePulse:{interval:100,frames:["\u{1F539} ","\u{1F537} ","\u{1F535} ","\u{1F535} ","\u{1F537} "]},orangeBluePulse:{interval:100,frames:["\u{1F538} ","\u{1F536} ","\u{1F7E0} ","\u{1F7E0} ","\u{1F536} ","\u{1F539} ","\u{1F537} ","\u{1F535} ","\u{1F535} ","\u{1F537} "]},timeTravel:{interval:100,frames:["\u{1F55B} ","\u{1F55A} ","\u{1F559} ","\u{1F558} ","\u{1F557} ","\u{1F556} ","\u{1F555} ","\u{1F554} ","\u{1F553} ","\u{1F552} ","\u{1F551} ","\u{1F550} "]},aesthetic:{interval:80,frames:["\u25B0\u25B1\u25B1\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B1\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B0\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B0\u25B0\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B0\u25B0\u25B0","\u25B0\u25B1\u25B1\u25B1\u25B1\u25B1\u25B1"]},dwarfFortress:{interval:80,frames:[" \u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2593\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2593\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2592\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2592\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2591\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2591\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A \u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A \u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A \u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\xA3\xA3\xA3 "," \u263A \u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\xA3\xA3\xA3 "," \u263A \u2588\xA3\xA3\xA3 "," \u263A\u2588\xA3\xA3\xA3 "," \u263A\u2588\xA3\xA3\xA3 "," \u263A\u2593\xA3\xA3\xA3 "," \u263A\u2593\xA3\xA3\xA3 "," \u263A\u2592\xA3\xA3\xA3 "," \u263A\u2592\xA3\xA3\xA3 "," \u263A\u2591\xA3\xA3\xA3 "," \u263A\u2591\xA3\xA3\xA3 "," \u263A \xA3\xA3\xA3 "," \u263A\xA3\xA3\xA3 "," \u263A\xA3\xA3\xA3 "," \u263A\u2593\xA3\xA3 "," \u263A\u2593\xA3\xA3 "," \u263A\u2592\xA3\xA3 "," \u263A\u2592\xA3\xA3 "," \u263A\u2591\xA3\xA3 "," \u263A\u2591\xA3\xA3 "," \u263A \xA3\xA3 "," \u263A\xA3\xA3 "," \u263A\xA3\xA3 "," \u263A\u2593\xA3 "," \u263A\u2593\xA3 "," \u263A\u2592\xA3 "," \u263A\u2592\xA3 "," \u263A\u2591\xA3 "," \u263A\u2591\xA3 "," \u263A \xA3 "," \u263A\xA3 "," \u263A\xA3 "," \u263A\u2593 "," \u263A\u2593 "," \u263A\u2592 "," \u263A\u2592 "," \u263A\u2591 "," \u263A\u2591 "," \u263A "," \u263A &"," \u263A \u263C&"," \u263A \u263C &"," \u263A\u263C &"," \u263A\u263C & "," \u203C & "," \u263A & "," \u203C & "," \u263A & "," \u203C & "," \u263A & ","\u203C & "," & "," & "," & \u2591 "," & \u2592 "," & \u2593 "," & \xA3 "," & \u2591\xA3 "," & \u2592\xA3 "," & \u2593\xA3 "," & \xA3\xA3 "," & \u2591\xA3\xA3 "," & \u2592\xA3\xA3 ","& \u2593\xA3\xA3 ","& \xA3\xA3\xA3 "," \u2591\xA3\xA3\xA3 "," \u2592\xA3\xA3\xA3 "," \u2593\xA3\xA3\xA3 "," \u2588\xA3\xA3\xA3 "," \u2591\u2588\xA3\xA3\xA3 "," \u2592\u2588\xA3\xA3\xA3 "," \u2593\u2588\xA3\xA3\xA3 "," \u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "]},fish:{interval:80,frames:["~~~~~~~~~~~~~~~~~~~~","> ~~~~~~~~~~~~~~~~~~","\xBA> ~~~~~~~~~~~~~~~~~","(\xBA> ~~~~~~~~~~~~~~~~","((\xBA> ~~~~~~~~~~~~~~~","<((\xBA> ~~~~~~~~~~~~~~","><((\xBA> ~~~~~~~~~~~~~"," ><((\xBA> ~~~~~~~~~~~~","~ ><((\xBA> ~~~~~~~~~~~","~~ <>((\xBA> ~~~~~~~~~~","~~~ ><((\xBA> ~~~~~~~~~","~~~~ <>((\xBA> ~~~~~~~~","~~~~~ ><((\xBA> ~~~~~~~","~~~~~~ <>((\xBA> ~~~~~~","~~~~~~~ ><((\xBA> ~~~~~","~~~~~~~~ <>((\xBA> ~~~~","~~~~~~~~~ ><((\xBA> ~~~","~~~~~~~~~~ <>((\xBA> ~~","~~~~~~~~~~~ ><((\xBA> ~","~~~~~~~~~~~~ <>((\xBA> ","~~~~~~~~~~~~~ ><((\xBA>","~~~~~~~~~~~~~~ <>((\xBA","~~~~~~~~~~~~~~~ ><((","~~~~~~~~~~~~~~~~ <>(","~~~~~~~~~~~~~~~~~ ><","~~~~~~~~~~~~~~~~~~ <","~~~~~~~~~~~~~~~~~~~~"]}};var Ho=Gh,v9=Object.keys(Gh);var rn={};$t(rn,{error:()=>WM,info:()=>VM,success:()=>ZM,warning:()=>GM});import FM from"node:tty";var BM=FM?.WriteStream?.prototype?.hasColors?.()??!1,k=(e,t)=>{if(!BM)return r=>r;let n=`\x1B[${e}m`,i=`\x1B[${t}m`;return r=>{let o=r+"",a=o.indexOf(i);if(a===-1)return n+o+i;let c=n,u=0,m=(t===22?i:"")+n;for(;a!==-1;)c+=o.slice(u,a)+m,u=a+i.length,a=o.indexOf(i,u);return c+=o.slice(u)+i,c}},S9=k(0,0),_9=k(1,22),E9=k(2,22),x9=k(3,23),A9=k(4,24),I9=k(53,55),$9=k(7,27),T9=k(8,28),R9=k(9,29),P9=k(30,39),tI=k(31,39),rI=k(32,39),nI=k(33,39),iI=k(34,39),C9=k(35,39),N9=k(36,39),w9=k(37,39),k9=k(90,39),O9=k(40,49),D9=k(41,49),M9=k(42,49),j9=k(43,49),z9=k(44,49),L9=k(45,49),U9=k(46,49),F9=k(47,49),B9=k(100,49),V9=k(91,39),Z9=k(92,39),G9=k(93,39),W9=k(94,39),H9=k(95,39),q9=k(96,39),K9=k(97,39),Y9=k(101,49),X9=k(102,49),J9=k(103,49),Q9=k(104,49),eW=k(105,49),tW=k(106,49),rW=k(107,49);import oI from"node:process";function qo(){let{env:e}=oI,{TERM:t,TERM_PROGRAM:n}=e;return oI.platform!=="win32"?t!=="linux":!!e.WT_SESSION||!!e.TERMINUS_SUBLIME||e.ConEmuTask==="{cmd::Cmder}"||n==="Terminus-Sublime"||n==="vscode"||t==="xterm-256color"||t==="alacritty"||t==="rxvt-unicode"||t==="rxvt-unicode-256color"||e.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var uu=qo(),VM=iI(uu?"\u2139":"i"),ZM=rI(uu?"\u2714":"\u221A"),GM=nI(uu?"\u26A0":"\u203C"),WM=tI(uu?"\u2716":"\xD7");function Wh({onlyFirst:e=!1}={}){let r="(?:\\u001B\\][\\s\\S]*?(?:\\u0007|\\u001B\\u005C|\\u009C))|[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]";return new RegExp(r,e?void 0:"g")}var HM=Wh();function Hh(e){if(typeof e!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof e}\``);return!e.includes("\x1B")&&!e.includes("\x9B")?e:e.replace(HM,"")}var lu=[161,161,164,164,167,168,170,170,173,174,176,180,182,186,188,191,198,198,208,208,215,216,222,225,230,230,232,234,236,237,240,240,242,243,247,250,252,252,254,254,257,257,273,273,275,275,283,283,294,295,299,299,305,307,312,312,319,322,324,324,328,331,333,333,338,339,358,359,363,363,462,462,464,464,466,466,468,468,470,470,472,472,474,474,476,476,593,593,609,609,708,708,711,711,713,715,717,717,720,720,728,731,733,733,735,735,768,879,913,929,931,937,945,961,963,969,1025,1025,1040,1103,1105,1105,8208,8208,8211,8214,8216,8217,8220,8221,8224,8226,8228,8231,8240,8240,8242,8243,8245,8245,8251,8251,8254,8254,8308,8308,8319,8319,8321,8324,8364,8364,8451,8451,8453,8453,8457,8457,8467,8467,8470,8470,8481,8482,8486,8486,8491,8491,8531,8532,8539,8542,8544,8555,8560,8569,8585,8585,8592,8601,8632,8633,8658,8658,8660,8660,8679,8679,8704,8704,8706,8707,8711,8712,8715,8715,8719,8719,8721,8721,8725,8725,8730,8730,8733,8736,8739,8739,8741,8741,8743,8748,8750,8750,8756,8759,8764,8765,8776,8776,8780,8780,8786,8786,8800,8801,8804,8807,8810,8811,8814,8815,8834,8835,8838,8839,8853,8853,8857,8857,8869,8869,8895,8895,8978,8978,9312,9449,9451,9547,9552,9587,9600,9615,9618,9621,9632,9633,9635,9641,9650,9651,9654,9655,9660,9661,9664,9665,9670,9672,9675,9675,9678,9681,9698,9701,9711,9711,9733,9734,9737,9737,9742,9743,9756,9756,9758,9758,9792,9792,9794,9794,9824,9825,9827,9829,9831,9834,9836,9837,9839,9839,9886,9887,9919,9919,9926,9933,9935,9939,9941,9953,9955,9955,9960,9961,9963,9969,9972,9972,9974,9977,9979,9980,9982,9983,10045,10045,10102,10111,11094,11097,12872,12879,57344,63743,65024,65039,65533,65533,127232,127242,127248,127277,127280,127337,127344,127373,127375,127376,127387,127404,917760,917999,983040,1048573,1048576,1114109],du=[12288,12288,65281,65376,65504,65510],qh=[8361,8361,65377,65470,65474,65479,65482,65487,65490,65495,65498,65500,65512,65518],Kh=[32,126,162,163,165,166,172,172,175,175,10214,10221,10629,10630],Ko=[4352,4447,8986,8987,9001,9002,9193,9196,9200,9200,9203,9203,9725,9726,9748,9749,9776,9783,9800,9811,9855,9855,9866,9871,9875,9875,9889,9889,9898,9899,9917,9918,9924,9925,9934,9934,9940,9940,9962,9962,9970,9971,9973,9973,9978,9978,9981,9981,9989,9989,9994,9995,10024,10024,10060,10060,10062,10062,10067,10069,10071,10071,10133,10135,10160,10160,10175,10175,11035,11036,11088,11088,11093,11093,11904,11929,11931,12019,12032,12245,12272,12287,12289,12350,12353,12438,12441,12543,12549,12591,12593,12686,12688,12773,12783,12830,12832,12871,12880,42124,42128,42182,43360,43388,44032,55203,63744,64255,65040,65049,65072,65106,65108,65126,65128,65131,94176,94180,94192,94198,94208,101589,101631,101662,101760,101874,110576,110579,110581,110587,110589,110590,110592,110882,110898,110898,110928,110930,110933,110933,110948,110951,110960,111355,119552,119638,119648,119670,126980,126980,127183,127183,127374,127374,127377,127386,127488,127490,127504,127547,127552,127560,127568,127569,127584,127589,127744,127776,127789,127797,127799,127868,127870,127891,127904,127946,127951,127955,127968,127984,127988,127988,127992,128062,128064,128064,128066,128252,128255,128317,128331,128334,128336,128359,128378,128378,128405,128406,128420,128420,128507,128591,128640,128709,128716,128716,128720,128722,128725,128728,128732,128735,128747,128748,128756,128764,128992,129003,129008,129008,129292,129338,129340,129349,129351,129535,129648,129660,129664,129674,129678,129734,129736,129736,129741,129756,129759,129770,129775,129784,131072,196605,196608,262141];var mu=(e,t)=>{let n=0,i=Math.floor(e.length/2)-1;for(;n<=i;){let r=Math.floor((n+i)/2),o=r*2;if(t<e[o])i=r-1;else if(t>e[o+1])n=r+1;else return!0}return!1};var qM=lu[0],KM=lu.at(-1),YM=du[0],XM=du.at(-1),hW=qh[0],vW=qh.at(-1),bW=Kh[0],yW=Kh.at(-1),JM=Ko[0],QM=Ko.at(-1),aI=19968,[ej,tj]=rj(Ko);function rj(e){let t=e[0],n=e[1];for(let i=0;i<e.length;i+=2){let r=e[i],o=e[i+1];if(aI>=r&&aI<=o)return[r,o];o-r>n-t&&(t=r,n=o)}return[t,n]}var sI=e=>e<qM||e>KM?!1:mu(lu,e),cI=e=>e<YM||e>XM?!1:mu(du,e);var uI=e=>e>=ej&&e<=tj?!0:e<JM||e>QM?!1:mu(Ko,e);function nj(e){if(!Number.isSafeInteger(e))throw new TypeError(`Expected a code point, got \`${typeof e}\`.`)}function Yo(e,{ambiguousAsWide:t=!1}={}){return nj(e),cI(e)||uI(e)||t&&sI(e)?2:1}var ij=new Intl.Segmenter,lI=new RegExp("^(?:\\p{Default_Ignorable_Code_Point}|\\p{Control}|\\p{Format}|\\p{Mark}|\\p{Surrogate})+$","v"),oj=new RegExp("^[\\p{Default_Ignorable_Code_Point}\\p{Control}\\p{Format}\\p{Mark}\\p{Surrogate}]+","v"),aj=new RegExp("^\\p{RGI_Emoji}$","v"),sj=/^[\d#*]\u20E3$/,cj=new RegExp("\\p{Extended_Pictographic}","gu");function uj(e){if(e.length>50)return!1;if(sj.test(e))return!0;if(e.includes("\u200D")){let t=e.match(cj);return t!==null&&t.length>=2}return!1}function lj(e){return e.replace(oj,"")}function dj(e){return lI.test(e)}function dI(e){return e>=4352&&e<=4447||e>=43360&&e<=43388}function mI(e){return e>=4448&&e<=4519||e>=55216&&e<=55238}function pI(e){return e>=4520&&e<=4607||e>=55243&&e<=55291}function mj(e){return dI(e)||mI(e)||pI(e)}function pj(e,t){let n=[];for(let r of e)lI.test(r)||n.push(r.codePointAt(0));if(n.length===0)return;let i=0;for(let r=0;r<n.length;r++){let o=n[r];if(!mj(o)){if(i===0)return;for(let a=r;a<n.length;a++)i+=Yo(n[a],t);return i}if(dI(o)&&mI(n[r+1])){i+=2,r+=pI(n[r+2])?2:1;continue}i+=Yo(o,t)}return i}function fj(e,t){let n=0,i=!0;for(let r of e){if(i){i=!1;continue}r>="\uFF00"&&r<="\uFFEF"&&(n+=Yo(r.codePointAt(0),t))}return n}function Yh(e,t={}){if(typeof e!="string"||e.length===0)return 0;let{ambiguousIsNarrow:n=!0,countAnsiEscapeCodes:i=!1}=t,r=e;if(!i&&(r.includes("\x1B")||r.includes("\x9B"))&&(r=Hh(r)),r.length===0)return 0;if(/^[\u0020-\u007E]*$/.test(r))return r.length;let o=0,a={ambiguousAsWide:!n};for(let{segment:c}of ij.segment(r)){if(dj(c))continue;if(aj.test(c)||uj(c)){o+=2;continue}let u=lj(c),l=pj(u,a);if(l!==void 0){o+=l;continue}let m=u.codePointAt(0);o+=Yo(m,a),o+=fj(u,a)}return o}function Xh({stream:e=process.stdout}={}){return!!(e&&e.isTTY&&process.env.TERM!=="dumb"&&!("CI"in process.env))}import pu from"node:process";var gj=3,Jh=class{#o=0;#n;#r=!1;#e=!1;#i=t=>{if(!t?.length)return;(typeof t=="string"?t.codePointAt(0):t[0])===gj&&pu.kill(pu.pid,"SIGINT")};start(){this.#o++,this.#o===1&&this.#t()}stop(){this.#o!==0&&--this.#o===0&&this.#a()}#t(){let{stdin:t}=pu;if(pu.platform==="win32"||!t?.isTTY||typeof t.setRawMode!="function"){this.#n=void 0;return}this.#n=t,this.#r=t.isPaused(),this.#e=!!t.isRaw,t.setRawMode(!0),t.prependListener("data",this.#i),this.#r&&t.resume()}#a(){if(!this.#n)return;let t=this.#n;t.off("data",this.#i),t.isTTY&&t.setRawMode?.(this.#e),this.#r&&t.pause(),this.#n=void 0,this.#r=!1,this.#e=!1}},hj=new Jh,Qh=Object.freeze(hj);var bj=200,yj="\x1B[?2026h",Sj="\x1B[?2026l",fu=new Map,_j=new Set(["black","red","green","yellow","blue","magenta","cyan","white","gray"]),ev=class{#o=0;#n=-1;#r=0;#e;#i;#t;#a;#c=new Map;#d=!1;#u;#s;#p=!1;#m;#l(t){this.#d=!0;try{return t()}finally{this.#d=!1}}#g(){this.isSpinning&&this.render()}#_(t,n){if(t==null)return"";if(typeof t=="string")return t;if(Buffer.isBuffer(t)||ArrayBuffer.isView(t)){let i=typeof n=="string"&&n&&n!=="buffer"?n:"utf8";return Buffer.from(t).toString(i)}return String(t)}#E(t){if(!t)return!1;let n=t.at(-1);return n===`
170
+ `);return o!==-1&&(t=GA(t,r,i,o)),i+t+r};Object.defineProperties(Wo.prototype,vi);var PM=Wo(),Q3=Wo({level:HA?HA.level:0});var Ee=PM;import Xo from"node:process";import{stripVTControlCharacters as vj}from"node:util";import eI from"node:process";import su from"node:process";var CM=(e,t,n,i)=>{if(n==="length"||n==="prototype"||n==="arguments"||n==="caller")return;let r=Object.getOwnPropertyDescriptor(e,n),o=Object.getOwnPropertyDescriptor(t,n);!NM(r,o)&&i||Object.defineProperty(e,n,o)},NM=function(e,t){return e===void 0||e.configurable||e.writable===t.writable&&e.enumerable===t.enumerable&&e.configurable===t.configurable&&(e.writable||e.value===t.value)},wM=(e,t)=>{let n=Object.getPrototypeOf(t);n!==Object.getPrototypeOf(e)&&Object.setPrototypeOf(e,n)},kM=(e,t)=>`/* Wrapped ${e}*/
171
+ ${t}`,OM=Object.getOwnPropertyDescriptor(Function.prototype,"toString"),DM=Object.getOwnPropertyDescriptor(Function.prototype.toString,"name"),MM=(e,t,n)=>{let i=n===""?"":`with ${n.trim()}() `,r=kM.bind(null,i,t.toString());Object.defineProperty(r,"name",DM);let{writable:o,enumerable:a,configurable:c}=OM;Object.defineProperty(e,"toString",{value:r,writable:o,enumerable:a,configurable:c})};function jh(e,t,{ignoreNonConfigurable:n=!1}={}){let{name:i}=e;for(let r of Reflect.ownKeys(t))CM(e,t,r,n);return wM(e,t),MM(e,t,i),e}var iu=new WeakMap,KA=(e,t={})=>{if(typeof e!="function")throw new TypeError("Expected a function");let n,i=0,r=e.displayName||e.name||"<anonymous>",o=function(...a){if(iu.set(o,++i),i===1)n=e.apply(this,a),e=void 0;else if(t.throw===!0)throw new Error(`Function \`${r}\` can only be called once`);return n};return jh(o,e),iu.set(o,i),o};KA.callCount=e=>{if(!iu.has(e))throw new Error(`The given function \`${e.name}\` is not wrapped by the \`onetime\` package`);return iu.get(e)};var YA=KA;var tn=[];tn.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&tn.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&tn.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var ou=e=>!!e&&typeof e=="object"&&typeof e.removeListener=="function"&&typeof e.emit=="function"&&typeof e.reallyExit=="function"&&typeof e.listeners=="function"&&typeof e.kill=="function"&&typeof e.pid=="number"&&typeof e.on=="function",zh=Symbol.for("signal-exit emitter"),Lh=globalThis,jM=Object.defineProperty.bind(Object),Uh=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(Lh[zh])return Lh[zh];jM(Lh,zh,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(t,n){this.listeners[t].push(n)}removeListener(t,n){let i=this.listeners[t],r=i.indexOf(n);r!==-1&&(r===0&&i.length===1?i.length=0:i.splice(r,1))}emit(t,n,i){if(this.emitted[t])return!1;this.emitted[t]=!0;let r=!1;for(let o of this.listeners[t])r=o(n,i)===!0||r;return t==="exit"&&(r=this.emit("afterExit",n,i)||r),r}},au=class{},zM=e=>({onExit(t,n){return e.onExit(t,n)},load(){return e.load()},unload(){return e.unload()}}),Fh=class extends au{onExit(){return()=>{}}load(){}unload(){}},Bh=class extends au{#o=Vh.platform==="win32"?"SIGINT":"SIGHUP";#n=new Uh;#r;#e;#i;#t={};#a=!1;constructor(t){super(),this.#r=t,this.#t={};for(let n of tn)this.#t[n]=()=>{let i=this.#r.listeners(n),{count:r}=this.#n,o=t;if(typeof o.__signal_exit_emitter__=="object"&&typeof o.__signal_exit_emitter__.count=="number"&&(r+=o.__signal_exit_emitter__.count),i.length===r){this.unload();let a=this.#n.emit("exit",null,n),c=n==="SIGHUP"?this.#o:n;a||t.kill(t.pid,c)}};this.#i=t.reallyExit,this.#e=t.emit}onExit(t,n){if(!ou(this.#r))return()=>{};this.#a===!1&&this.load();let i=n?.alwaysLast?"afterExit":"exit";return this.#n.on(i,t),()=>{this.#n.removeListener(i,t),this.#n.listeners.exit.length===0&&this.#n.listeners.afterExit.length===0&&this.unload()}}load(){if(!this.#a){this.#a=!0,this.#n.count+=1;for(let t of tn)try{let n=this.#t[t];n&&this.#r.on(t,n)}catch{}this.#r.emit=(t,...n)=>this.#d(t,...n),this.#r.reallyExit=t=>this.#c(t)}}unload(){this.#a&&(this.#a=!1,tn.forEach(t=>{let n=this.#t[t];if(!n)throw new Error("Listener not defined for signal: "+t);try{this.#r.removeListener(t,n)}catch{}}),this.#r.emit=this.#e,this.#r.reallyExit=this.#i,this.#n.count-=1)}#c(t){return ou(this.#r)?(this.#r.exitCode=t||0,this.#n.emit("exit",this.#r.exitCode,null),this.#i.call(this.#r,this.#r.exitCode)):0}#d(t,...n){let i=this.#e;if(t==="exit"&&ou(this.#r)){typeof n[0]=="number"&&(this.#r.exitCode=n[0]);let r=i.call(this.#r,t,...n);return this.#n.emit("exit",this.#r.exitCode,null),r}else return i.call(this.#r,t,...n)}},Vh=globalThis.process,{onExit:XA,load:a9,unload:s9}=zM(ou(Vh)?new Bh(Vh):new Fh);var JA=su.stderr.isTTY?su.stderr:su.stdout.isTTY?su.stdout:void 0,LM=JA?YA(()=>{XA(()=>{JA.write("\x1B[?25h")},{alwaysLast:!0})}):()=>{},QA=LM;var cu=!1,bi={};bi.show=(e=eI.stderr)=>{e.isTTY&&(cu=!1,e.write("\x1B[?25h"))};bi.hide=(e=eI.stderr)=>{e.isTTY&&(QA(),cu=!0,e.write("\x1B[?25l"))};bi.toggle=(e,t)=>{e!==void 0&&(cu=e),cu?bi.show(t):bi.hide(t)};var Zh=bi;var Gh={dots:{interval:80,frames:["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"]},dots2:{interval:80,frames:["\u28FE","\u28FD","\u28FB","\u28BF","\u287F","\u28DF","\u28EF","\u28F7"]},dots3:{interval:80,frames:["\u280B","\u2819","\u281A","\u281E","\u2816","\u2826","\u2834","\u2832","\u2833","\u2813"]},dots4:{interval:80,frames:["\u2804","\u2806","\u2807","\u280B","\u2819","\u2838","\u2830","\u2820","\u2830","\u2838","\u2819","\u280B","\u2807","\u2806"]},dots5:{interval:80,frames:["\u280B","\u2819","\u281A","\u2812","\u2802","\u2802","\u2812","\u2832","\u2834","\u2826","\u2816","\u2812","\u2810","\u2810","\u2812","\u2813","\u280B"]},dots6:{interval:80,frames:["\u2801","\u2809","\u2819","\u281A","\u2812","\u2802","\u2802","\u2812","\u2832","\u2834","\u2824","\u2804","\u2804","\u2824","\u2834","\u2832","\u2812","\u2802","\u2802","\u2812","\u281A","\u2819","\u2809","\u2801"]},dots7:{interval:80,frames:["\u2808","\u2809","\u280B","\u2813","\u2812","\u2810","\u2810","\u2812","\u2816","\u2826","\u2824","\u2820","\u2820","\u2824","\u2826","\u2816","\u2812","\u2810","\u2810","\u2812","\u2813","\u280B","\u2809","\u2808"]},dots8:{interval:80,frames:["\u2801","\u2801","\u2809","\u2819","\u281A","\u2812","\u2802","\u2802","\u2812","\u2832","\u2834","\u2824","\u2804","\u2804","\u2824","\u2820","\u2820","\u2824","\u2826","\u2816","\u2812","\u2810","\u2810","\u2812","\u2813","\u280B","\u2809","\u2808","\u2808"]},dots9:{interval:80,frames:["\u28B9","\u28BA","\u28BC","\u28F8","\u28C7","\u2867","\u2857","\u284F"]},dots10:{interval:80,frames:["\u2884","\u2882","\u2881","\u2841","\u2848","\u2850","\u2860"]},dots11:{interval:100,frames:["\u2801","\u2802","\u2804","\u2840","\u2880","\u2820","\u2810","\u2808"]},dots12:{interval:80,frames:["\u2880\u2800","\u2840\u2800","\u2804\u2800","\u2882\u2800","\u2842\u2800","\u2805\u2800","\u2883\u2800","\u2843\u2800","\u280D\u2800","\u288B\u2800","\u284B\u2800","\u280D\u2801","\u288B\u2801","\u284B\u2801","\u280D\u2809","\u280B\u2809","\u280B\u2809","\u2809\u2819","\u2809\u2819","\u2809\u2829","\u2808\u2899","\u2808\u2859","\u2888\u2829","\u2840\u2899","\u2804\u2859","\u2882\u2829","\u2842\u2898","\u2805\u2858","\u2883\u2828","\u2843\u2890","\u280D\u2850","\u288B\u2820","\u284B\u2880","\u280D\u2841","\u288B\u2801","\u284B\u2801","\u280D\u2809","\u280B\u2809","\u280B\u2809","\u2809\u2819","\u2809\u2819","\u2809\u2829","\u2808\u2899","\u2808\u2859","\u2808\u2829","\u2800\u2899","\u2800\u2859","\u2800\u2829","\u2800\u2898","\u2800\u2858","\u2800\u2828","\u2800\u2890","\u2800\u2850","\u2800\u2820","\u2800\u2880","\u2800\u2840"]},dots13:{interval:80,frames:["\u28FC","\u28F9","\u28BB","\u283F","\u285F","\u28CF","\u28E7","\u28F6"]},dots14:{interval:80,frames:["\u2809\u2809","\u2808\u2819","\u2800\u2839","\u2800\u28B8","\u2800\u28F0","\u2880\u28E0","\u28C0\u28C0","\u28C4\u2840","\u28C6\u2800","\u2847\u2800","\u280F\u2800","\u280B\u2801"]},dots8Bit:{interval:80,frames:["\u2800","\u2801","\u2802","\u2803","\u2804","\u2805","\u2806","\u2807","\u2840","\u2841","\u2842","\u2843","\u2844","\u2845","\u2846","\u2847","\u2808","\u2809","\u280A","\u280B","\u280C","\u280D","\u280E","\u280F","\u2848","\u2849","\u284A","\u284B","\u284C","\u284D","\u284E","\u284F","\u2810","\u2811","\u2812","\u2813","\u2814","\u2815","\u2816","\u2817","\u2850","\u2851","\u2852","\u2853","\u2854","\u2855","\u2856","\u2857","\u2818","\u2819","\u281A","\u281B","\u281C","\u281D","\u281E","\u281F","\u2858","\u2859","\u285A","\u285B","\u285C","\u285D","\u285E","\u285F","\u2820","\u2821","\u2822","\u2823","\u2824","\u2825","\u2826","\u2827","\u2860","\u2861","\u2862","\u2863","\u2864","\u2865","\u2866","\u2867","\u2828","\u2829","\u282A","\u282B","\u282C","\u282D","\u282E","\u282F","\u2868","\u2869","\u286A","\u286B","\u286C","\u286D","\u286E","\u286F","\u2830","\u2831","\u2832","\u2833","\u2834","\u2835","\u2836","\u2837","\u2870","\u2871","\u2872","\u2873","\u2874","\u2875","\u2876","\u2877","\u2838","\u2839","\u283A","\u283B","\u283C","\u283D","\u283E","\u283F","\u2878","\u2879","\u287A","\u287B","\u287C","\u287D","\u287E","\u287F","\u2880","\u2881","\u2882","\u2883","\u2884","\u2885","\u2886","\u2887","\u28C0","\u28C1","\u28C2","\u28C3","\u28C4","\u28C5","\u28C6","\u28C7","\u2888","\u2889","\u288A","\u288B","\u288C","\u288D","\u288E","\u288F","\u28C8","\u28C9","\u28CA","\u28CB","\u28CC","\u28CD","\u28CE","\u28CF","\u2890","\u2891","\u2892","\u2893","\u2894","\u2895","\u2896","\u2897","\u28D0","\u28D1","\u28D2","\u28D3","\u28D4","\u28D5","\u28D6","\u28D7","\u2898","\u2899","\u289A","\u289B","\u289C","\u289D","\u289E","\u289F","\u28D8","\u28D9","\u28DA","\u28DB","\u28DC","\u28DD","\u28DE","\u28DF","\u28A0","\u28A1","\u28A2","\u28A3","\u28A4","\u28A5","\u28A6","\u28A7","\u28E0","\u28E1","\u28E2","\u28E3","\u28E4","\u28E5","\u28E6","\u28E7","\u28A8","\u28A9","\u28AA","\u28AB","\u28AC","\u28AD","\u28AE","\u28AF","\u28E8","\u28E9","\u28EA","\u28EB","\u28EC","\u28ED","\u28EE","\u28EF","\u28B0","\u28B1","\u28B2","\u28B3","\u28B4","\u28B5","\u28B6","\u28B7","\u28F0","\u28F1","\u28F2","\u28F3","\u28F4","\u28F5","\u28F6","\u28F7","\u28B8","\u28B9","\u28BA","\u28BB","\u28BC","\u28BD","\u28BE","\u28BF","\u28F8","\u28F9","\u28FA","\u28FB","\u28FC","\u28FD","\u28FE","\u28FF"]},dotsCircle:{interval:80,frames:["\u288E ","\u280E\u2801","\u280A\u2811","\u2808\u2831"," \u2871","\u2880\u2870","\u2884\u2860","\u2886\u2840"]},sand:{interval:80,frames:["\u2801","\u2802","\u2804","\u2840","\u2848","\u2850","\u2860","\u28C0","\u28C1","\u28C2","\u28C4","\u28CC","\u28D4","\u28E4","\u28E5","\u28E6","\u28EE","\u28F6","\u28F7","\u28FF","\u287F","\u283F","\u289F","\u281F","\u285B","\u281B","\u282B","\u288B","\u280B","\u280D","\u2849","\u2809","\u2811","\u2821","\u2881"]},line:{interval:130,frames:["-","\\","|","/"]},line2:{interval:100,frames:["\u2802","-","\u2013","\u2014","\u2013","-"]},rollingLine:{interval:80,frames:["/ "," - "," \\ "," |"," |"," \\ "," - ","/ "]},pipe:{interval:100,frames:["\u2524","\u2518","\u2534","\u2514","\u251C","\u250C","\u252C","\u2510"]},simpleDots:{interval:400,frames:[". ",".. ","..."," "]},simpleDotsScrolling:{interval:200,frames:[". ",".. ","..."," .."," ."," "]},star:{interval:70,frames:["\u2736","\u2738","\u2739","\u273A","\u2739","\u2737"]},star2:{interval:80,frames:["+","x","*"]},flip:{interval:70,frames:["_","_","_","-","`","`","'","\xB4","-","_","_","_"]},hamburger:{interval:100,frames:["\u2631","\u2632","\u2634"]},growVertical:{interval:120,frames:["\u2581","\u2583","\u2584","\u2585","\u2586","\u2587","\u2586","\u2585","\u2584","\u2583"]},growHorizontal:{interval:120,frames:["\u258F","\u258E","\u258D","\u258C","\u258B","\u258A","\u2589","\u258A","\u258B","\u258C","\u258D","\u258E"]},balloon:{interval:140,frames:[" ",".","o","O","@","*"," "]},balloon2:{interval:120,frames:[".","o","O","\xB0","O","o","."]},noise:{interval:100,frames:["\u2593","\u2592","\u2591"]},bounce:{interval:120,frames:["\u2801","\u2802","\u2804","\u2802"]},boxBounce:{interval:120,frames:["\u2596","\u2598","\u259D","\u2597"]},boxBounce2:{interval:100,frames:["\u258C","\u2580","\u2590","\u2584"]},triangle:{interval:50,frames:["\u25E2","\u25E3","\u25E4","\u25E5"]},binary:{interval:80,frames:["010010","001100","100101","111010","111101","010111","101011","111000","110011","110101"]},arc:{interval:100,frames:["\u25DC","\u25E0","\u25DD","\u25DE","\u25E1","\u25DF"]},circle:{interval:120,frames:["\u25E1","\u2299","\u25E0"]},squareCorners:{interval:180,frames:["\u25F0","\u25F3","\u25F2","\u25F1"]},circleQuarters:{interval:120,frames:["\u25F4","\u25F7","\u25F6","\u25F5"]},circleHalves:{interval:50,frames:["\u25D0","\u25D3","\u25D1","\u25D2"]},squish:{interval:100,frames:["\u256B","\u256A"]},toggle:{interval:250,frames:["\u22B6","\u22B7"]},toggle2:{interval:80,frames:["\u25AB","\u25AA"]},toggle3:{interval:120,frames:["\u25A1","\u25A0"]},toggle4:{interval:100,frames:["\u25A0","\u25A1","\u25AA","\u25AB"]},toggle5:{interval:100,frames:["\u25AE","\u25AF"]},toggle6:{interval:300,frames:["\u101D","\u1040"]},toggle7:{interval:80,frames:["\u29BE","\u29BF"]},toggle8:{interval:100,frames:["\u25CD","\u25CC"]},toggle9:{interval:100,frames:["\u25C9","\u25CE"]},toggle10:{interval:100,frames:["\u3282","\u3280","\u3281"]},toggle11:{interval:50,frames:["\u29C7","\u29C6"]},toggle12:{interval:120,frames:["\u2617","\u2616"]},toggle13:{interval:80,frames:["=","*","-"]},arrow:{interval:100,frames:["\u2190","\u2196","\u2191","\u2197","\u2192","\u2198","\u2193","\u2199"]},arrow2:{interval:80,frames:["\u2B06\uFE0F ","\u2197\uFE0F ","\u27A1\uFE0F ","\u2198\uFE0F ","\u2B07\uFE0F ","\u2199\uFE0F ","\u2B05\uFE0F ","\u2196\uFE0F "]},arrow3:{interval:120,frames:["\u25B9\u25B9\u25B9\u25B9\u25B9","\u25B8\u25B9\u25B9\u25B9\u25B9","\u25B9\u25B8\u25B9\u25B9\u25B9","\u25B9\u25B9\u25B8\u25B9\u25B9","\u25B9\u25B9\u25B9\u25B8\u25B9","\u25B9\u25B9\u25B9\u25B9\u25B8"]},bouncingBar:{interval:80,frames:["[ ]","[= ]","[== ]","[=== ]","[====]","[ ===]","[ ==]","[ =]","[ ]","[ =]","[ ==]","[ ===]","[====]","[=== ]","[== ]","[= ]"]},bouncingBall:{interval:80,frames:["( \u25CF )","( \u25CF )","( \u25CF )","( \u25CF )","( \u25CF)","( \u25CF )","( \u25CF )","( \u25CF )","( \u25CF )","(\u25CF )"]},smiley:{interval:200,frames:["\u{1F604} ","\u{1F61D} "]},monkey:{interval:300,frames:["\u{1F648} ","\u{1F648} ","\u{1F649} ","\u{1F64A} "]},hearts:{interval:100,frames:["\u{1F49B} ","\u{1F499} ","\u{1F49C} ","\u{1F49A} ","\u{1F497} "]},clock:{interval:100,frames:["\u{1F55B} ","\u{1F550} ","\u{1F551} ","\u{1F552} ","\u{1F553} ","\u{1F554} ","\u{1F555} ","\u{1F556} ","\u{1F557} ","\u{1F558} ","\u{1F559} ","\u{1F55A} "]},earth:{interval:180,frames:["\u{1F30D} ","\u{1F30E} ","\u{1F30F} "]},material:{interval:17,frames:["\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588","\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581"]},moon:{interval:80,frames:["\u{1F311} ","\u{1F312} ","\u{1F313} ","\u{1F314} ","\u{1F315} ","\u{1F316} ","\u{1F317} ","\u{1F318} "]},runner:{interval:140,frames:["\u{1F6B6} ","\u{1F3C3} "]},pong:{interval:80,frames:["\u2590\u2802 \u258C","\u2590\u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802\u258C","\u2590 \u2820\u258C","\u2590 \u2840\u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590\u2820 \u258C"]},shark:{interval:120,frames:["\u2590|\\____________\u258C","\u2590_|\\___________\u258C","\u2590__|\\__________\u258C","\u2590___|\\_________\u258C","\u2590____|\\________\u258C","\u2590_____|\\_______\u258C","\u2590______|\\______\u258C","\u2590_______|\\_____\u258C","\u2590________|\\____\u258C","\u2590_________|\\___\u258C","\u2590__________|\\__\u258C","\u2590___________|\\_\u258C","\u2590____________|\\\u258C","\u2590____________/|\u258C","\u2590___________/|_\u258C","\u2590__________/|__\u258C","\u2590_________/|___\u258C","\u2590________/|____\u258C","\u2590_______/|_____\u258C","\u2590______/|______\u258C","\u2590_____/|_______\u258C","\u2590____/|________\u258C","\u2590___/|_________\u258C","\u2590__/|__________\u258C","\u2590_/|___________\u258C","\u2590/|____________\u258C"]},dqpb:{interval:100,frames:["d","q","p","b"]},weather:{interval:100,frames:["\u2600\uFE0F ","\u2600\uFE0F ","\u2600\uFE0F ","\u{1F324} ","\u26C5\uFE0F ","\u{1F325} ","\u2601\uFE0F ","\u{1F327} ","\u{1F328} ","\u{1F327} ","\u{1F328} ","\u{1F327} ","\u{1F328} ","\u26C8 ","\u{1F328} ","\u{1F327} ","\u{1F328} ","\u2601\uFE0F ","\u{1F325} ","\u26C5\uFE0F ","\u{1F324} ","\u2600\uFE0F ","\u2600\uFE0F "]},christmas:{interval:400,frames:["\u{1F332}","\u{1F384}"]},grenade:{interval:80,frames:["\u060C ","\u2032 "," \xB4 "," \u203E "," \u2E0C"," \u2E0A"," |"," \u204E"," \u2055"," \u0DF4 "," \u2053"," "," "," "]},point:{interval:125,frames:["\u2219\u2219\u2219","\u25CF\u2219\u2219","\u2219\u25CF\u2219","\u2219\u2219\u25CF","\u2219\u2219\u2219"]},layer:{interval:150,frames:["-","=","\u2261"]},betaWave:{interval:80,frames:["\u03C1\u03B2\u03B2\u03B2\u03B2\u03B2\u03B2","\u03B2\u03C1\u03B2\u03B2\u03B2\u03B2\u03B2","\u03B2\u03B2\u03C1\u03B2\u03B2\u03B2\u03B2","\u03B2\u03B2\u03B2\u03C1\u03B2\u03B2\u03B2","\u03B2\u03B2\u03B2\u03B2\u03C1\u03B2\u03B2","\u03B2\u03B2\u03B2\u03B2\u03B2\u03C1\u03B2","\u03B2\u03B2\u03B2\u03B2\u03B2\u03B2\u03C1"]},fingerDance:{interval:160,frames:["\u{1F918} ","\u{1F91F} ","\u{1F596} ","\u270B ","\u{1F91A} ","\u{1F446} "]},fistBump:{interval:80,frames:["\u{1F91C}\u3000\u3000\u3000\u3000\u{1F91B} ","\u{1F91C}\u3000\u3000\u3000\u3000\u{1F91B} ","\u{1F91C}\u3000\u3000\u3000\u3000\u{1F91B} ","\u3000\u{1F91C}\u3000\u3000\u{1F91B}\u3000 ","\u3000\u3000\u{1F91C}\u{1F91B}\u3000\u3000 ","\u3000\u{1F91C}\u2728\u{1F91B}\u3000\u3000 ","\u{1F91C}\u3000\u2728\u3000\u{1F91B}\u3000 "]},soccerHeader:{interval:80,frames:[" \u{1F9D1}\u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F\u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} "]},mindblown:{interval:160,frames:["\u{1F610} ","\u{1F610} ","\u{1F62E} ","\u{1F62E} ","\u{1F626} ","\u{1F626} ","\u{1F627} ","\u{1F627} ","\u{1F92F} ","\u{1F4A5} ","\u2728 ","\u3000 ","\u3000 ","\u3000 "]},speaker:{interval:160,frames:["\u{1F508} ","\u{1F509} ","\u{1F50A} ","\u{1F509} "]},orangePulse:{interval:100,frames:["\u{1F538} ","\u{1F536} ","\u{1F7E0} ","\u{1F7E0} ","\u{1F536} "]},bluePulse:{interval:100,frames:["\u{1F539} ","\u{1F537} ","\u{1F535} ","\u{1F535} ","\u{1F537} "]},orangeBluePulse:{interval:100,frames:["\u{1F538} ","\u{1F536} ","\u{1F7E0} ","\u{1F7E0} ","\u{1F536} ","\u{1F539} ","\u{1F537} ","\u{1F535} ","\u{1F535} ","\u{1F537} "]},timeTravel:{interval:100,frames:["\u{1F55B} ","\u{1F55A} ","\u{1F559} ","\u{1F558} ","\u{1F557} ","\u{1F556} ","\u{1F555} ","\u{1F554} ","\u{1F553} ","\u{1F552} ","\u{1F551} ","\u{1F550} "]},aesthetic:{interval:80,frames:["\u25B0\u25B1\u25B1\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B1\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B0\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B0\u25B0\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B0\u25B0\u25B0","\u25B0\u25B1\u25B1\u25B1\u25B1\u25B1\u25B1"]},dwarfFortress:{interval:80,frames:[" \u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2593\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2593\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2592\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2592\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2591\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2591\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A \u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A \u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A \u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\xA3\xA3\xA3 "," \u263A \u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\xA3\xA3\xA3 "," \u263A \u2588\xA3\xA3\xA3 "," \u263A\u2588\xA3\xA3\xA3 "," \u263A\u2588\xA3\xA3\xA3 "," \u263A\u2593\xA3\xA3\xA3 "," \u263A\u2593\xA3\xA3\xA3 "," \u263A\u2592\xA3\xA3\xA3 "," \u263A\u2592\xA3\xA3\xA3 "," \u263A\u2591\xA3\xA3\xA3 "," \u263A\u2591\xA3\xA3\xA3 "," \u263A \xA3\xA3\xA3 "," \u263A\xA3\xA3\xA3 "," \u263A\xA3\xA3\xA3 "," \u263A\u2593\xA3\xA3 "," \u263A\u2593\xA3\xA3 "," \u263A\u2592\xA3\xA3 "," \u263A\u2592\xA3\xA3 "," \u263A\u2591\xA3\xA3 "," \u263A\u2591\xA3\xA3 "," \u263A \xA3\xA3 "," \u263A\xA3\xA3 "," \u263A\xA3\xA3 "," \u263A\u2593\xA3 "," \u263A\u2593\xA3 "," \u263A\u2592\xA3 "," \u263A\u2592\xA3 "," \u263A\u2591\xA3 "," \u263A\u2591\xA3 "," \u263A \xA3 "," \u263A\xA3 "," \u263A\xA3 "," \u263A\u2593 "," \u263A\u2593 "," \u263A\u2592 "," \u263A\u2592 "," \u263A\u2591 "," \u263A\u2591 "," \u263A "," \u263A &"," \u263A \u263C&"," \u263A \u263C &"," \u263A\u263C &"," \u263A\u263C & "," \u203C & "," \u263A & "," \u203C & "," \u263A & "," \u203C & "," \u263A & ","\u203C & "," & "," & "," & \u2591 "," & \u2592 "," & \u2593 "," & \xA3 "," & \u2591\xA3 "," & \u2592\xA3 "," & \u2593\xA3 "," & \xA3\xA3 "," & \u2591\xA3\xA3 "," & \u2592\xA3\xA3 ","& \u2593\xA3\xA3 ","& \xA3\xA3\xA3 "," \u2591\xA3\xA3\xA3 "," \u2592\xA3\xA3\xA3 "," \u2593\xA3\xA3\xA3 "," \u2588\xA3\xA3\xA3 "," \u2591\u2588\xA3\xA3\xA3 "," \u2592\u2588\xA3\xA3\xA3 "," \u2593\u2588\xA3\xA3\xA3 "," \u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "]},fish:{interval:80,frames:["~~~~~~~~~~~~~~~~~~~~","> ~~~~~~~~~~~~~~~~~~","\xBA> ~~~~~~~~~~~~~~~~~","(\xBA> ~~~~~~~~~~~~~~~~","((\xBA> ~~~~~~~~~~~~~~~","<((\xBA> ~~~~~~~~~~~~~~","><((\xBA> ~~~~~~~~~~~~~"," ><((\xBA> ~~~~~~~~~~~~","~ ><((\xBA> ~~~~~~~~~~~","~~ <>((\xBA> ~~~~~~~~~~","~~~ ><((\xBA> ~~~~~~~~~","~~~~ <>((\xBA> ~~~~~~~~","~~~~~ ><((\xBA> ~~~~~~~","~~~~~~ <>((\xBA> ~~~~~~","~~~~~~~ ><((\xBA> ~~~~~","~~~~~~~~ <>((\xBA> ~~~~","~~~~~~~~~ ><((\xBA> ~~~","~~~~~~~~~~ <>((\xBA> ~~","~~~~~~~~~~~ ><((\xBA> ~","~~~~~~~~~~~~ <>((\xBA> ","~~~~~~~~~~~~~ ><((\xBA>","~~~~~~~~~~~~~~ <>((\xBA","~~~~~~~~~~~~~~~ ><((","~~~~~~~~~~~~~~~~ <>(","~~~~~~~~~~~~~~~~~ ><","~~~~~~~~~~~~~~~~~~ <","~~~~~~~~~~~~~~~~~~~~"]}};var Ho=Gh,b9=Object.keys(Gh);var rn={};$t(rn,{error:()=>WM,info:()=>VM,success:()=>ZM,warning:()=>GM});import FM from"node:tty";var BM=FM?.WriteStream?.prototype?.hasColors?.()??!1,k=(e,t)=>{if(!BM)return r=>r;let n=`\x1B[${e}m`,i=`\x1B[${t}m`;return r=>{let o=r+"",a=o.indexOf(i);if(a===-1)return n+o+i;let c=n,u=0,m=(t===22?i:"")+n;for(;a!==-1;)c+=o.slice(u,a)+m,u=a+i.length,a=o.indexOf(i,u);return c+=o.slice(u)+i,c}},_9=k(0,0),E9=k(1,22),x9=k(2,22),A9=k(3,23),I9=k(4,24),$9=k(53,55),T9=k(7,27),R9=k(8,28),P9=k(9,29),C9=k(30,39),tI=k(31,39),rI=k(32,39),nI=k(33,39),iI=k(34,39),N9=k(35,39),w9=k(36,39),k9=k(37,39),O9=k(90,39),D9=k(40,49),M9=k(41,49),j9=k(42,49),z9=k(43,49),L9=k(44,49),U9=k(45,49),F9=k(46,49),B9=k(47,49),V9=k(100,49),Z9=k(91,39),G9=k(92,39),W9=k(93,39),H9=k(94,39),q9=k(95,39),K9=k(96,39),Y9=k(97,39),X9=k(101,49),J9=k(102,49),Q9=k(103,49),eW=k(104,49),tW=k(105,49),rW=k(106,49),nW=k(107,49);import oI from"node:process";function qo(){let{env:e}=oI,{TERM:t,TERM_PROGRAM:n}=e;return oI.platform!=="win32"?t!=="linux":!!e.WT_SESSION||!!e.TERMINUS_SUBLIME||e.ConEmuTask==="{cmd::Cmder}"||n==="Terminus-Sublime"||n==="vscode"||t==="xterm-256color"||t==="alacritty"||t==="rxvt-unicode"||t==="rxvt-unicode-256color"||e.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var uu=qo(),VM=iI(uu?"\u2139":"i"),ZM=rI(uu?"\u2714":"\u221A"),GM=nI(uu?"\u26A0":"\u203C"),WM=tI(uu?"\u2716":"\xD7");function Wh({onlyFirst:e=!1}={}){let r="(?:\\u001B\\][\\s\\S]*?(?:\\u0007|\\u001B\\u005C|\\u009C))|[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]";return new RegExp(r,e?void 0:"g")}var HM=Wh();function Hh(e){if(typeof e!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof e}\``);return!e.includes("\x1B")&&!e.includes("\x9B")?e:e.replace(HM,"")}var lu=[161,161,164,164,167,168,170,170,173,174,176,180,182,186,188,191,198,198,208,208,215,216,222,225,230,230,232,234,236,237,240,240,242,243,247,250,252,252,254,254,257,257,273,273,275,275,283,283,294,295,299,299,305,307,312,312,319,322,324,324,328,331,333,333,338,339,358,359,363,363,462,462,464,464,466,466,468,468,470,470,472,472,474,474,476,476,593,593,609,609,708,708,711,711,713,715,717,717,720,720,728,731,733,733,735,735,768,879,913,929,931,937,945,961,963,969,1025,1025,1040,1103,1105,1105,8208,8208,8211,8214,8216,8217,8220,8221,8224,8226,8228,8231,8240,8240,8242,8243,8245,8245,8251,8251,8254,8254,8308,8308,8319,8319,8321,8324,8364,8364,8451,8451,8453,8453,8457,8457,8467,8467,8470,8470,8481,8482,8486,8486,8491,8491,8531,8532,8539,8542,8544,8555,8560,8569,8585,8585,8592,8601,8632,8633,8658,8658,8660,8660,8679,8679,8704,8704,8706,8707,8711,8712,8715,8715,8719,8719,8721,8721,8725,8725,8730,8730,8733,8736,8739,8739,8741,8741,8743,8748,8750,8750,8756,8759,8764,8765,8776,8776,8780,8780,8786,8786,8800,8801,8804,8807,8810,8811,8814,8815,8834,8835,8838,8839,8853,8853,8857,8857,8869,8869,8895,8895,8978,8978,9312,9449,9451,9547,9552,9587,9600,9615,9618,9621,9632,9633,9635,9641,9650,9651,9654,9655,9660,9661,9664,9665,9670,9672,9675,9675,9678,9681,9698,9701,9711,9711,9733,9734,9737,9737,9742,9743,9756,9756,9758,9758,9792,9792,9794,9794,9824,9825,9827,9829,9831,9834,9836,9837,9839,9839,9886,9887,9919,9919,9926,9933,9935,9939,9941,9953,9955,9955,9960,9961,9963,9969,9972,9972,9974,9977,9979,9980,9982,9983,10045,10045,10102,10111,11094,11097,12872,12879,57344,63743,65024,65039,65533,65533,127232,127242,127248,127277,127280,127337,127344,127373,127375,127376,127387,127404,917760,917999,983040,1048573,1048576,1114109],du=[12288,12288,65281,65376,65504,65510],qh=[8361,8361,65377,65470,65474,65479,65482,65487,65490,65495,65498,65500,65512,65518],Kh=[32,126,162,163,165,166,172,172,175,175,10214,10221,10629,10630],Ko=[4352,4447,8986,8987,9001,9002,9193,9196,9200,9200,9203,9203,9725,9726,9748,9749,9776,9783,9800,9811,9855,9855,9866,9871,9875,9875,9889,9889,9898,9899,9917,9918,9924,9925,9934,9934,9940,9940,9962,9962,9970,9971,9973,9973,9978,9978,9981,9981,9989,9989,9994,9995,10024,10024,10060,10060,10062,10062,10067,10069,10071,10071,10133,10135,10160,10160,10175,10175,11035,11036,11088,11088,11093,11093,11904,11929,11931,12019,12032,12245,12272,12287,12289,12350,12353,12438,12441,12543,12549,12591,12593,12686,12688,12773,12783,12830,12832,12871,12880,42124,42128,42182,43360,43388,44032,55203,63744,64255,65040,65049,65072,65106,65108,65126,65128,65131,94176,94180,94192,94198,94208,101589,101631,101662,101760,101874,110576,110579,110581,110587,110589,110590,110592,110882,110898,110898,110928,110930,110933,110933,110948,110951,110960,111355,119552,119638,119648,119670,126980,126980,127183,127183,127374,127374,127377,127386,127488,127490,127504,127547,127552,127560,127568,127569,127584,127589,127744,127776,127789,127797,127799,127868,127870,127891,127904,127946,127951,127955,127968,127984,127988,127988,127992,128062,128064,128064,128066,128252,128255,128317,128331,128334,128336,128359,128378,128378,128405,128406,128420,128420,128507,128591,128640,128709,128716,128716,128720,128722,128725,128728,128732,128735,128747,128748,128756,128764,128992,129003,129008,129008,129292,129338,129340,129349,129351,129535,129648,129660,129664,129674,129678,129734,129736,129736,129741,129756,129759,129770,129775,129784,131072,196605,196608,262141];var mu=(e,t)=>{let n=0,i=Math.floor(e.length/2)-1;for(;n<=i;){let r=Math.floor((n+i)/2),o=r*2;if(t<e[o])i=r-1;else if(t>e[o+1])n=r+1;else return!0}return!1};var qM=lu[0],KM=lu.at(-1),YM=du[0],XM=du.at(-1),vW=qh[0],bW=qh.at(-1),yW=Kh[0],SW=Kh.at(-1),JM=Ko[0],QM=Ko.at(-1),aI=19968,[ej,tj]=rj(Ko);function rj(e){let t=e[0],n=e[1];for(let i=0;i<e.length;i+=2){let r=e[i],o=e[i+1];if(aI>=r&&aI<=o)return[r,o];o-r>n-t&&(t=r,n=o)}return[t,n]}var sI=e=>e<qM||e>KM?!1:mu(lu,e),cI=e=>e<YM||e>XM?!1:mu(du,e);var uI=e=>e>=ej&&e<=tj?!0:e<JM||e>QM?!1:mu(Ko,e);function nj(e){if(!Number.isSafeInteger(e))throw new TypeError(`Expected a code point, got \`${typeof e}\`.`)}function Yo(e,{ambiguousAsWide:t=!1}={}){return nj(e),cI(e)||uI(e)||t&&sI(e)?2:1}var ij=new Intl.Segmenter,lI=new RegExp("^(?:\\p{Default_Ignorable_Code_Point}|\\p{Control}|\\p{Format}|\\p{Mark}|\\p{Surrogate})+$","v"),oj=new RegExp("^[\\p{Default_Ignorable_Code_Point}\\p{Control}\\p{Format}\\p{Mark}\\p{Surrogate}]+","v"),aj=new RegExp("^\\p{RGI_Emoji}$","v"),sj=/^[\d#*]\u20E3$/,cj=new RegExp("\\p{Extended_Pictographic}","gu");function uj(e){if(e.length>50)return!1;if(sj.test(e))return!0;if(e.includes("\u200D")){let t=e.match(cj);return t!==null&&t.length>=2}return!1}function lj(e){return e.replace(oj,"")}function dj(e){return lI.test(e)}function dI(e){return e>=4352&&e<=4447||e>=43360&&e<=43388}function mI(e){return e>=4448&&e<=4519||e>=55216&&e<=55238}function pI(e){return e>=4520&&e<=4607||e>=55243&&e<=55291}function mj(e){return dI(e)||mI(e)||pI(e)}function pj(e,t){let n=[];for(let r of e)lI.test(r)||n.push(r.codePointAt(0));if(n.length===0)return;let i=0;for(let r=0;r<n.length;r++){let o=n[r];if(!mj(o)){if(i===0)return;for(let a=r;a<n.length;a++)i+=Yo(n[a],t);return i}if(dI(o)&&mI(n[r+1])){i+=2,r+=pI(n[r+2])?2:1;continue}i+=Yo(o,t)}return i}function fj(e,t){let n=0,i=!0;for(let r of e){if(i){i=!1;continue}r>="\uFF00"&&r<="\uFFEF"&&(n+=Yo(r.codePointAt(0),t))}return n}function Yh(e,t={}){if(typeof e!="string"||e.length===0)return 0;let{ambiguousIsNarrow:n=!0,countAnsiEscapeCodes:i=!1}=t,r=e;if(!i&&(r.includes("\x1B")||r.includes("\x9B"))&&(r=Hh(r)),r.length===0)return 0;if(/^[\u0020-\u007E]*$/.test(r))return r.length;let o=0,a={ambiguousAsWide:!n};for(let{segment:c}of ij.segment(r)){if(dj(c))continue;if(aj.test(c)||uj(c)){o+=2;continue}let u=lj(c),l=pj(u,a);if(l!==void 0){o+=l;continue}let m=u.codePointAt(0);o+=Yo(m,a),o+=fj(u,a)}return o}function Xh({stream:e=process.stdout}={}){return!!(e&&e.isTTY&&process.env.TERM!=="dumb"&&!("CI"in process.env))}import pu from"node:process";var gj=3,Jh=class{#o=0;#n;#r=!1;#e=!1;#i=t=>{if(!t?.length)return;(typeof t=="string"?t.codePointAt(0):t[0])===gj&&pu.kill(pu.pid,"SIGINT")};start(){this.#o++,this.#o===1&&this.#t()}stop(){this.#o!==0&&--this.#o===0&&this.#a()}#t(){let{stdin:t}=pu;if(pu.platform==="win32"||!t?.isTTY||typeof t.setRawMode!="function"){this.#n=void 0;return}this.#n=t,this.#r=t.isPaused(),this.#e=!!t.isRaw,t.setRawMode(!0),t.prependListener("data",this.#i),this.#r&&t.resume()}#a(){if(!this.#n)return;let t=this.#n;t.off("data",this.#i),t.isTTY&&t.setRawMode?.(this.#e),this.#r&&t.pause(),this.#n=void 0,this.#r=!1,this.#e=!1}},hj=new Jh,Qh=Object.freeze(hj);var bj=200,yj="\x1B[?2026h",Sj="\x1B[?2026l",fu=new Map,_j=new Set(["black","red","green","yellow","blue","magenta","cyan","white","gray"]),ev=class{#o=0;#n=-1;#r=0;#e;#i;#t;#a;#c=new Map;#d=!1;#u;#s;#p=!1;#m;#l(t){this.#d=!0;try{return t()}finally{this.#d=!1}}#g(){this.isSpinning&&this.render()}#_(t,n){if(t==null)return"";if(typeof t=="string")return t;if(Buffer.isBuffer(t)||ArrayBuffer.isView(t)){let i=typeof n=="string"&&n&&n!=="buffer"?n:"utf8";return Buffer.from(t).toString(i)}return String(t)}#E(t){if(!t)return!1;let n=t.at(-1);return n===`
172
172
  `||n==="\r"}#x(){this.#s||(this.#s=setTimeout(()=>{this.#s=void 0,this.isSpinning&&this.#g()},bj),typeof this.#s?.unref=="function"&&this.#s.unref())}#h(){this.#s&&(clearTimeout(this.#s),this.#s=void 0)}#v(t,n,i,r){let o=this.#y(i," "),c=typeof n=="string"?(t?" ":"")+n:"",u=this.#S(r," ");return o+t+c+u}constructor(t){if(typeof t=="string"&&(t={text:t}),this.#e={color:"cyan",stream:Xo.stderr,discardStdin:!0,hideCursor:!0,...t},this.color=this.#e.color,this.#t=this.#e.stream,typeof this.#e.isEnabled!="boolean"&&(this.#e.isEnabled=Xh({stream:this.#t})),typeof this.#e.isSilent!="boolean"&&(this.#e.isSilent=!1),this.#e.interval!==void 0&&!(Number.isInteger(this.#e.interval)&&this.#e.interval>0))throw new Error("The `interval` option must be a positive integer");let n=this.#e.interval;this.spinner=this.#e.spinner,this.#e.interval=n,this.text=this.#e.text,this.prefixText=this.#e.prefixText,this.suffixText=this.#e.suffixText,this.indent=this.#e.indent,Xo.env.NODE_ENV==="test"&&(this._stream=this.#t,this._isEnabled=this.#e.isEnabled,Object.defineProperty(this,"_linesToClear",{get(){return this.#o},set(i){this.#o=i}}),Object.defineProperty(this,"_frameIndex",{get(){return this.#n}}),Object.defineProperty(this,"_lineCount",{get(){let i=this.#t.columns??80,r=typeof this.#e.prefixText=="function"?"":this.#e.prefixText,o=typeof this.#e.suffixText=="function"?"":this.#e.suffixText,a=typeof r=="string"&&r!==""?r+" ":"",c=typeof o=="string"&&o!==""?" "+o:"",l=" ".repeat(this.#e.indent)+a+"-"+(typeof this.#e.text=="string"?" "+this.#e.text:"")+c;return this.#f(l,i)}}))}get indent(){return this.#e.indent}set indent(t=0){if(!(t>=0&&Number.isInteger(t)))throw new Error("The `indent` option must be an integer from 0 and up");this.#e.indent=t}get interval(){return this.#e.interval??this.#i.interval??100}get spinner(){return this.#i}set spinner(t){if(this.#n=-1,this.#e.interval=void 0,typeof t=="object"){if(!Array.isArray(t.frames)||t.frames.length===0||t.frames.some(n=>typeof n!="string"))throw new Error("The given spinner must have a non-empty `frames` array of strings");if(t.interval!==void 0&&!(Number.isInteger(t.interval)&&t.interval>0))throw new Error("`spinner.interval` must be a positive integer if provided");this.#i=t}else if(!qo())this.#i=Ho.line;else if(t===void 0)this.#i=Ho.dots;else if(t!=="default"&&Ho[t])this.#i=Ho[t];else throw new Error(`There is no built-in spinner named '${t}'. See https://github.com/sindresorhus/cli-spinners/blob/main/spinners.json for a full list.`)}get text(){return this.#e.text}set text(t=""){this.#e.text=t}get prefixText(){return this.#e.prefixText}set prefixText(t=""){this.#e.prefixText=t}get suffixText(){return this.#e.suffixText}set suffixText(t=""){this.#e.suffixText=t}get isSpinning(){return this.#a!==void 0}#b(t,n,i=!1){let r=typeof t=="function"?t():t;return typeof r=="string"&&r!==""?i?n+r:r+n:""}#y(t=this.#e.prefixText,n=" "){return this.#b(t,n,!1)}#S(t=this.#e.suffixText,n=" "){return this.#b(t,n,!0)}#f(t,n){let i=0;for(let r of vj(t).split(`
173
173
  `))i+=Math.max(1,Math.ceil(Yh(r)/n));return i}get color(){return this.#m}set color(t){if(t!==void 0&&t!==!1&&!_j.has(t))throw new Error("The `color` option must be a valid color or `false` to disable");this.#m=t}get isEnabled(){return this.#e.isEnabled&&!this.#e.isSilent}set isEnabled(t){if(typeof t!="boolean")throw new TypeError("The `isEnabled` option must be a boolean");this.#e.isEnabled=t}get isSilent(){return this.#e.isSilent}set isSilent(t){if(typeof t!="boolean")throw new TypeError("The `isSilent` option must be a boolean");this.#e.isSilent=t}frame(){let t=Date.now();(this.#n===-1||t-this.#r>=this.interval)&&(this.#n=(this.#n+1)%this.#i.frames.length,this.#r=t);let{frames:n}=this.#i,i=n[this.#n];this.#m&&(i=Ee[this.#m](i));let r=this.#y(this.#e.prefixText," "),o=typeof this.text=="string"?" "+this.text:"",a=this.#S(this.#e.suffixText," ");return r+i+o+a}clear(){return!this.isEnabled||!this.#t.isTTY?this:(this.#l(()=>{this.#t.cursorTo(0);for(let t=0;t<this.#o;t++)t>0&&this.#t.moveCursor(0,-1),this.#t.clearLine(1);this.#e.indent&&this.#t.cursorTo(this.#e.indent)}),this.#o=0,this)}#A(t){if(!t||this.#c.has(t)||!t.isTTY||typeof t.write!="function")return;fu.has(t)&&console.warn("[ora] Multiple concurrent spinners detected. This may cause visual corruption. Use one spinner at a time.");let n=t.write;this.#c.set(t,n),fu.set(t,this),t.write=(i,r,o)=>this.#T(t,n,i,r,o)}#I(){if(!this.isEnabled||this.#c.size>0)return;let t=new Set([this.#t,Xo.stdout,Xo.stderr]);for(let n of t)this.#A(n)}#$(){for(let[t,n]of this.#c)t.write=n,fu.get(t)===this&&fu.delete(t);this.#c.clear()}#T(t,n,i,r,o){if(typeof r=="function"&&(o=r,r=void 0),this.#d)return n.call(t,i,r,o);this.clear();let a=this.#_(i,r),c=this.#E(a),u=n.call(t,i,r,o);return c?this.#h():a.length>0&&this.#x(),this.isSpinning&&!this.#s&&this.render(),u}render(){if(!this.isEnabled||this.#u||this.#s)return this;let t=this.#t.isTTY,n=!1;try{t&&(this.#l(()=>this.#t.write(yj)),n=!0),this.clear();let i=this.frame(),r=this.#t.columns??80,o=this.#f(i,r),a=this.#t.rows;if(a&&a>1&&o>a){let u=i.split(`
174
174
  `),l=a-1;i=[...u.slice(0,l),"... (content truncated to fit terminal)"].join(`
@@ -184,16 +184,16 @@ ${Ee.hex("#D9622E").bold(`--- ${e} ---`)}`),F&&F.start())}Ge($j,"step");function
184
184
  `);return{buffer:[],stream:r}}flush(){let t=this.flushBuffer(this.buffer,this.mainLogStream,this.mainLogPath);this.buffer=t.buffer,this.mainLogStream=t.stream;let n=this.flushBuffer(this.debugBuffer,this.debugLogStream,this.debugLogPath);this.debugBuffer=n.buffer,this.debugLogStream=n.stream}close(){this.isClosing=!0,this.flush(),this.flushInterval&&(clearInterval(this.flushInterval),this.flushInterval=null),this.mainLogStream&&(this.mainLogStream.end(),this.mainLogStream=null),this.debugLogStream&&(this.debugLogStream.end(),this.debugLogStream=null),this.buffer=[],this.debugBuffer=[],this.initialised=!1,this.isClosing=!1}async closeAndFlush(){this.isClosing=!0,this.flush(),this.flushInterval&&(clearInterval(this.flushInterval),this.flushInterval=null);let t=[];this.mainLogStream&&(t.push(this.mainLogStream),this.mainLogStream=null),this.debugLogStream&&(t.push(this.debugLogStream),this.debugLogStream=null),this.buffer=[],this.debugBuffer=[],this.initialised=!1,await Promise.all(t.map(n=>new Promise(i=>{n.end(()=>i())}))),this.isClosing=!1}};import{createWriteStream as Wj,existsSync as Hj,mkdirSync as qj}from"fs";import{join as II}from"path";var on={trace:0,debug:1,info:2,warn:3,error:4},We={MAX_FILE_SIZE:10*1024*1024,MAX_FILES:5,MAX_BUFFER_SIZE:100,FLUSH_INTERVAL_MS:500,LOG_FILENAME:"fjall.jsonl",DEBUG_LOG_FILENAME:"fjall-debug.jsonl"};import{join as Bj}from"path";import{homedir as Vj}from"os";var Uj=Object.defineProperty,Fj=(e,t)=>Uj(e,"name",{value:t,configurable:!0});function $r(){let e=process.env.FJALL_LOG_DIR;return e!==void 0&&e!==""?e:Bj(Vj(),".fjall","logs")}Fj($r,"getDefaultLogDir");var Zj=Object.defineProperty,Gj=(e,t)=>Zj(e,"name",{value:t,configurable:!0}),ta=class{static{Gj(this,"DeploymentLoggerImpl")}mainLogger;appName;operationType;logStream=null;logPath;deploymentId;buffer=[];flushInterval=null;isClosing=!1;maxBufferSize=We.MAX_BUFFER_SIZE;constructor(t,n,i){this.mainLogger=t,this.appName=n,this.operationType=i,this.deploymentId=`${i}-${Date.now()}`;let r=$r(),o=II(r,"deployments",n);Hj(o)||qj(o,{recursive:!0});let a=new Date().toISOString().replace(/[:.]/g,"-"),c=`${i}-${a}.jsonl`;this.logPath=II(o,c);try{this.logStream=Wj(this.logPath,{flags:"a"}),this.flushInterval=setInterval(()=>this.flush(),We.FLUSH_INTERVAL_MS),this.info("DeploymentLogger","Deployment logging initialised",{appName:n,operationType:i,deploymentId:this.deploymentId,logPath:this.logPath})}catch{}}log(t,n,i,r,o,a){if(this.isClosing)return;let c={timestamp:new Date().toISOString(),level:t,component:n,message:i,correlationId:this.deploymentId,...r&&Object.keys(r).length>0&&{data:r},...o&&{stackName:o},...a&&{phase:a}};this.buffer.push(c),this.mainLogger.logWithCorrelation(t,n,i,this.deploymentId,r,o,a),this.buffer.length>=this.maxBufferSize&&this.flush()}flush(){if(!(this.buffer.length===0||!this.logStream)){for(let t of this.buffer)this.logStream.write(JSON.stringify(t)+`
185
185
  `);this.buffer=[]}}info(t,n,i){this.log("info",t,n,i)}warn(t,n,i){this.log("warn",t,n,i)}error(t,n,i){this.log("error",t,n,i)}debug(t,n,i){this.log("debug",t,n,i)}stackEvent(t,n,i,r){this.log("info","StackDeployment",i,r,t,n)}dockerEvent(t,n){this.log("info","DockerOperation",t,{percentage:n})}ecsEvent(t,n,i){this.log("info","ECSDeployment",t,{percentage:n,taskCount:i})}close(){this.isClosing=!0,this.flush(),this.flushInterval&&(clearInterval(this.flushInterval),this.flushInterval=null),this.logStream&&(this.logStream.end(),this.logStream=null),this.buffer=[],this.isClosing=!1}getLogPath(){return this.logPath}getDeploymentId(){return this.deploymentId}};var Kj=Object.defineProperty,Yj=(e,t)=>Kj(e,"name",{value:t,configurable:!0}),_u=class e{static{Yj(this,"Logger")}static instance=null;config;debugEnabled;traceEnabled;minLevel;fileWriter;mainLogPath;debugLogPath;constructor(){let t=$r(),n=uv(t,"debug"),i=this.parseEnvInt("FJALL_LOG_MAX_SIZE",We.MAX_FILE_SIZE),r=this.parseEnvInt("FJALL_LOG_MAX_FILES",We.MAX_FILES);this.config={logDir:t,debugLogDir:n,maxFileSize:i,maxFiles:r,maxBufferSize:We.MAX_BUFFER_SIZE,flushIntervalMs:We.FLUSH_INTERVAL_MS},this.mainLogPath=uv(t,We.LOG_FILENAME),this.debugLogPath=uv(n,We.DEBUG_LOG_FILENAME),this.debugEnabled=process.env.FJALL_DEBUG==="true"||process.env.FJALL_TRACE==="true"||process.argv.includes("--verbose")||process.argv.includes("-v"),this.traceEnabled=process.env.FJALL_TRACE==="true";let o=process.env.FJALL_LOG_LEVEL?.toLowerCase();o&&o in on?this.minLevel=o:this.traceEnabled?this.minLevel="trace":this.debugEnabled?this.minLevel="debug":this.minLevel="info",this.fileWriter=new Su(this.config,this.mainLogPath,this.debugLogPath,this.debugEnabled)}parseEnvInt(t,n){let i=process.env[t];if(i){let r=parseInt(i,10);if(!isNaN(r)&&r>0)return r}return n}static getInstance(){return e.instance||(e.instance=new e),e.instance}shouldLog(t){return on[t]>=on[this.minLevel]}createEntry(t,n,i,r,o,a,c){return{timestamp:new Date().toISOString(),level:t,component:n,message:i,...o&&{correlationId:o},...r&&Object.keys(r).length>0&&{data:r},...a&&{stackName:a},...c&&{phase:c}}}log(t,n,i,r,o,a,c){if(!this.shouldLog(t))return;let u=this.createEntry(t,n,i,r,o,a,c),l=t==="debug"||t==="trace";this.fileWriter.write(u,l),this.writeConsole(u)}writeConsole(t){if(he.shouldSuppressOutput||he.isNonInteractive){this.debugEnabled&&this.writeDebugMirror(t);return}let n=this.getConsolePrefix(t.level),i=`[${t.component}]`,r=`${n} ${i} ${t.message}`;t.level==="error"?console.error(r):t.level==="warn"?console.warn(r):console.log(r)}writeDebugMirror(t){let n=this.getConsolePrefix(t.level),i=`[${t.component}]`,r="";if(t.data&&Object.keys(t.data).length>0)try{r=` ${JSON.stringify(t.data)}`}catch{r=" [unserialisable data]"}let o=`${n} ${i} ${t.message}${r}`;process.stderr.write(`${On(o)}
186
186
  `)}getConsolePrefix(t){switch(t){case"error":return"[ERROR]";case"warn":return"[WARN]";case"info":return"[INFO]";case"debug":return"[DEBUG]";case"trace":return"[TRACE]"}}error(t,n,i){this.log("error",t,n,i)}warn(t,n,i){this.log("warn",t,n,i)}info(t,n,i){this.log("info",t,n,i)}debug(t,n,i){this.log("debug",t,n,i)}trace(t,n,i){this.log("trace",t,n,i)}isDebugEnabled(){return this.debugEnabled}isTraceEnabled(){return this.traceEnabled}enableDebug(){this.debugEnabled=!0,on[this.minLevel]>on.debug&&(this.minLevel="debug"),this.fileWriter.setDebugEnabled(!0),this.fileWriter.isInitialised&&this.fileWriter.initialiseDebugStream()}withCorrelation(t){return new yi(this,t)}forDeployment(t,n="deploy"){return new ta(this,t,n)}close(){this.fileWriter.close()}async flushAndClose(){await this.fileWriter.closeAndFlush()}getLogPath(){return this.mainLogPath}getDebugLogPath(){return this.debugLogPath}getLogDir(){return this.config.logDir}logWithCorrelation(t,n,i,r,o,a,c){this.log(t,n,i,o,r,a,c)}static reset(){e.instance&&(e.instance.close(),e.instance=null)}};var Xj=Object.defineProperty,Jj=(e,t)=>Xj(e,"name",{value:t,configurable:!0}),yu=_u.getInstance();function rz(e){let t=$r(),n=TI(t,"debug"),i=TI(n,We.DEBUG_LOG_FILENAME);try{$I(n)||Qj(n,{recursive:!0}),$I(i)&&ez(i).size>We.MAX_FILE_SIZE&&new Si({maxFiles:We.MAX_FILES}).rotate(i);let r={timestamp:new Date().toISOString(),level:"debug",component:"Emergency",message:e};tz(i,JSON.stringify(r)+`
187
- `)}catch{}}Jj(rz,"writeDebugSync");var nz=Object.defineProperty,_i=(e,t)=>nz(e,"name",{value:t,configurable:!0});function lv(e){return e.success===!0}_i(lv,"isSuccess");function dv(e){return e.success===!1}_i(dv,"isFailure");function C(e){return{success:!0,data:e}}_i(C,"success");function $(e){return{success:!1,error:e}}_i($,"failure");async function mv(e){try{let t=await e();return C(t)}catch(t){return $(vt(t))}}_i(mv,"tryAsync");function pv(e){try{let t=e();return C(t)}catch(t){return $(vt(t))}}_i(pv,"trySync");var iz=Object.defineProperty,oz=(e,t)=>iz(e,"name",{value:t,configurable:!0}),RI=/^[a-zA-Z][a-zA-Z0-9-]*$/,az=Bo.source.replace(/^\^|\$$/g,""),L=Object.freeze({IDENTIFIER:RI,NEW_APP_NAME:/^[a-z][a-z0-9-]*$/,RESOURCE_NAME:/^[a-zA-Z][a-zA-Z0-9]*$/,ECS_SERVICE_NAME:RI,BUCKET_NAME:/^[a-z][a-z0-9-]*[a-z0-9]$|^[a-z][a-z0-9]*$/,DATABASE_NAME:/^[a-zA-Z][a-zA-Z0-9_]*$/,RESOURCE_TYPE:/^[a-z]+(:[a-z]+)?$/,SSM_PATH:new RegExp(`^(?:/${az})+$`),SECRET_NAME:Jc,SSM_COMPONENT:Bo,EMAIL:/^[^\s@]+@[^\s@]+\.[^\s@]+$/,DOCKER_IMAGE:/^[a-z0-9][a-z0-9._-]*[a-z0-9](:[a-z0-9._-]+)?$/,DOMAIN:/^[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)+$/i,HTTP_ORIGIN:/^https?:\/\/[a-z0-9.-]+(:\d+)?$/i,PASCAL_CASE:/^[A-Z][A-Za-z0-9]*$/,AWS_ACCOUNT_ID:/^\d{12}$/,VPC_ID:/^vpc-[a-z0-9]+$/,ROLE_ARN:/^arn:aws[a-zA-Z-]*:iam::\d{12}:role\/.+$/,CIDR:/^((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\/(3[0-2]|[12]?\d)$/,SCHEDULE_EXPRESSION:/^(rate\(1 (?:minute|hour|day)\)|rate\((?:[2-9]|[1-9]\d+) (?:minutes|hours|days)\)|cron\([^\s()]+ [^\s()]+ [^\s()]+ [^\s()]+ [^\s()]+ [^\s()]+\))$/,LAMBDA_RUNTIME_IDENTIFIER:/^[A-Za-z0-9._-]+$/,ENV_VAR_NAME:/^[A-Za-z_][A-Za-z0-9_]*$/});function fv(e){let t=/^rate\((\d+) (minute|minutes|hour|hours|day|days)\)$/.exec(e);if(!t)return;let n=t[1],i=t[2];if(n===void 0||i===void 0)return;let r=parseInt(n,10);if(!Number.isFinite(r)||r<1)return;let o=i==="minute"||i==="hour"||i==="day";if(!(o&&r!==1)&&!(!o&&r===1))return i==="minute"||i==="minutes"?{everyMs:r*6e4}:i==="hour"||i==="hours"?{everyMs:r*60*6e4}:{everyMs:r*24*60*6e4}}oz(fv,"parseRateExpression");var d=Object.freeze({IDENTIFIER:"Must start with a letter, contain only letters, numbers, and hyphens",NEW_APP_NAME:"Must start with a lowercase letter and contain only lowercase letters, numbers, and hyphens",IDENTIFIER_MIN_LENGTH:"Must be at least 2 characters",IDENTIFIER_NO_TRAILING_HYPHEN:"Must not end with a hyphen",IDENTIFIER_NO_CONSECUTIVE_HYPHENS:"Must not contain consecutive hyphens",RESOURCE_NAME:"Must start with a letter and contain only letters and numbers (PascalCase recommended)",ECS_SERVICE_NAME:"Service name must start with a letter and contain only letters, numbers, and hyphens",BUCKET_NAME:"Bucket name must start with a lowercase letter and contain only lowercase letters, numbers, and hyphens",DATABASE_NAME:"Database name must start with a letter and contain only letters, numbers, and underscores",RESOURCE_TYPE:"Resource type must be in format 'category' or 'category:type'",SSM_PATH:"SSM path must start with / and contain valid namespace segments (e.g., /myapp/ApiCluster/service)",SECRET_NAME:fh,SSM_COMPONENT:Qc,EMAIL:"Please enter a valid email address",DOMAIN:"Please enter a valid domain (e.g., cms.example.com)",DOCKER_IMAGE:"Invalid Docker image name format",REQUIRED:{APP_NAME:"Application name is required",RESOURCE_NAME:"Resource name is required",BUCKET_NAME:"Bucket name is required",SERVICE_NAME:"Service name is required",NETWORK_NAME:"Network name is required",DATABASE_NAME:"Database name is required",ORGANISATION_NAME:"Organisation name is required",EMAIL:"Email is required",NAME:"Name is required",USERNAME:"Username is required",CONTAINER_NAME:"Container name is required",GROUP:"Group is required",PATTERN_NAME:"Pattern name is required",SOURCE:"Source directory is required",BUILD_COMMAND:"Build command is required",OUTPUT_DIR:"Output directory is required",FORMS_TO:"Forms recipient address is required",ROUTING_PATH:"Routing path is required",RESOURCE_REFERENCE:"Resource reference is required",RESOURCE_TYPE:"Resource type is required",VARIANT:"Variant is required",SUBTYPE:"Subtype is required",DEPLOY_TARGET:"Deploy target is required",DESTROY_TARGET:"Destroy target is required"},MAX_LENGTH:{APP_NAME:"Application name must be 50 characters or less",RESOURCE_NAME:"Resource name must be 63 characters or less",BUCKET_NAME:"Bucket name must be 63 characters or less",SERVICE_NAME:"Service name must be 255 characters or less",NETWORK_NAME:"Network name must be 50 characters or less",DATABASE_NAME:"Database name must be 63 characters or less",ORGANISATION_NAME:"Organisation name must be 50 characters or less"},PORT:{INTEGER:"Port must be an integer",MIN:"Port must be at least 1",MAX:"Port cannot exceed 65535"},USERNAME:{MAX_LENGTH:"Username cannot exceed 63 characters"},LAMBDA:{MEMORY:{INTEGER:"Lambda memory must be an integer",MIN:"Memory must be at least 128 MB",MAX:"Memory cannot exceed 10240 MB",MULTIPLE:"Memory must be 128 MB or a multiple of 64 MB"},TIMEOUT:{INTEGER:"Timeout must be an integer",MIN:"Timeout must be at least 1 second",MAX:"Timeout cannot exceed 900 seconds"},RUNTIME:"Lambda runtime must contain only letters, digits, dots, underscores, or dashes (e.g. 'NODEJS_20_X' or 'nodejs20.x')"},ENV_VAR_NAME:"Environment variable names must start with a letter or underscore and contain only letters, digits, and underscores",PRIORITY:{INTEGER:"Priority must be an integer",MIN:"Priority must be at least 1",MAX:"Priority cannot exceed 50000"},CAPACITY:{MIN:{INTEGER:"Minimum capacity must be an integer",MIN_0:"Minimum capacity must be at least 0",MIN_1:"Minimum capacity must be at least 1",MAX:"Minimum capacity cannot exceed 100"},MAX:{INTEGER:"Maximum capacity must be an integer",MIN_0:"Maximum capacity must be at least 0",MIN_1:"Maximum capacity must be at least 1",MAX:"Maximum capacity cannot exceed 100"},DESIRED:{INTEGER:"Desired count must be an integer",MIN:"Desired count must be at least 0",MAX:"Desired count cannot exceed 100"},WARM_POOL_REQUIRED:"minCapacity 0 requires a warmPool \u2014 without it, new tasks wait 60-90s for a cold instance launch",WARM_POOL:{MIN_SIZE:{INTEGER:"Warm pool minSize must be an integer",MIN:"Warm pool minSize must be at least 0",MAX:"Warm pool minSize cannot exceed 100"},MIN_SIZE_EXCEEDS_MAX_CAPACITY:"warmPool.minSize cannot exceed maxCapacity \u2014 the warm pool cannot hold more instances than the ASG allows"}},MEMORY_LIMIT:{INTEGER:"Memory limit must be an integer",MIN_512:"Memory limit must be at least 512 MiB",MIN_128:"Memory limit must be at least 128 MiB",MAX:"Memory limit cannot exceed 30720 MiB"},DATABASE:{PORT:{INTEGER:"Database port must be an integer",MIN:"Database port must be at least 1024",MAX:"Database port cannot exceed 65535"},NAME:{REQUIRED:"Database name is required",MAX_LENGTH:"Database name must be 63 characters or less"}},BACKUP_RETENTION:{INTEGER:"Backup retention must be an integer",MIN:"Backup retention must be at least 1 day",MAX:"Backup retention cannot exceed 35 days"},SQS:{VISIBILITY_TIMEOUT:{INTEGER:"Visibility timeout must be an integer",MIN:"Visibility timeout must be at least 0 seconds",MAX:"Visibility timeout cannot exceed 43200 seconds (12 hours)"},RETENTION_PERIOD:{INTEGER:"Retention period must be an integer",MIN:"Retention period must be at least 60 seconds",MAX:"Retention period cannot exceed 1209600 seconds (14 days)"}},READER:{COUNT:{INTEGER:"Reader count must be an integer",MIN:"Reader count must be at least 0",MAX:"Reader count cannot exceed 15"}},IDENTIFIER_SUFFIX:{REQUIRED:"Identifier suffix is required when specified",MAX_LENGTH:"Identifier suffix cannot exceed 50 characters"},ROTATION:{INTEGER:"Rotation days must be an integer",MIN:"Rotation interval must be at least 1 day",MAX:"Rotation interval cannot exceed 365 days"},MAX_CONNECTIONS:{INTEGER:"Max connections must be an integer",MIN:"Max connections must be at least 1",MAX:"Max connections cannot exceed 100"},MONITORING_INTERVAL:{INTEGER:"Monitoring interval must be an integer",MIN:"Monitoring interval must be at least 0",MAX:"Monitoring interval cannot exceed 60 seconds",VALUES:"Monitoring interval must be 0, 1, 5, 10, 15, 30, or 60 seconds"},RETENTION_DAYS:{INTEGER:"Retention days must be an integer",MIN:"Retention days must be at least 1",MAX:"Retention days cannot exceed 365"},BATCH_SIZE:{INTEGER:"Batch size must be an integer",MIN:"Batch size must be at least 1",MAX:"Batch size cannot exceed 10000"},SERVICE:{UNIQUE_WITHIN_CLUSTER:"Service names must be unique within a cluster",MIN_REQUIRED:"At least one service is required",ROUTING_REQUIRED:"Multiple services with ports require routing config (path or host)"},PROXY_CONFIG:{MAX_IDLE_CONNECTIONS:{INTEGER:"Max idle connections must be an integer",MIN:"Max idle connections must be at least 0",MAX:"Max idle connections cannot exceed 100"},BORROW_TIMEOUT:{INTEGER:"Connection borrow timeout must be an integer",MIN:"Connection borrow timeout must be at least 1 second",MAX:"Connection borrow timeout cannot exceed 3600 seconds"}},MAX_AZS:{INTEGER:"Max AZs must be an integer",MIN:"Max AZs must be at least 1",MAX:"Max AZs cannot exceed 3"},BATCHING_WINDOW:{INTEGER:"Max batching window must be an integer",MIN:"Max batching window must be at least 0",MAX:"Max batching window cannot exceed 300 seconds"},HEALTH_CHECK:{INTERVAL:{INTEGER:"Health check interval must be an integer",MIN:"Health check interval must be at least 5 seconds",MAX:"Health check interval cannot exceed 300 seconds"},TIMEOUT:{INTEGER:"Health check timeout must be an integer",MIN:"Health check timeout must be at least 2 seconds",MAX:"Health check timeout cannot exceed 60 seconds"},RETRIES:{INTEGER:"Health check retries must be an integer",MIN:"Health check retries must be at least 1",MAX:"Health check retries cannot exceed 10"},START_PERIOD:{INTEGER:"Health check start period must be an integer",MIN:"Health check start period must be at least 0 seconds",MAX:"Health check start period cannot exceed 300 seconds"}},EPHEMERAL_STORAGE:{INTEGER:"Ephemeral storage size must be an integer",MIN:"Ephemeral storage size must be at least 512 MB",MAX:"Ephemeral storage size cannot exceed 10240 MB"},MAX_MESSAGE_SIZE:{INTEGER:"Max message size must be an integer",MIN:"Max message size must be at least 1024 bytes",MAX:"Max message size cannot exceed 262144 bytes (256 KB)"},CAPACITY_CONSTRAINT:{MIN_LTE_MAX:"minCapacity must be less than or equal to maxCapacity"},DIRECT_ACCESS:{NO_DOMAIN:"directAccess cannot be used with domain (no ALB for HTTPS)",NO_LOAD_BALANCER:"directAccess cannot be used with loadBalancer (mutually exclusive)"},GLOBAL_AURORA:{PRIMARY_REGION_REQUIRED:"primaryRegion is required for GlobalAurora databases"},NAT_GATEWAY:{INTEGER:"NAT gateway count must be an integer",MIN:"NAT gateway count must be at least 0",MAX:"NAT gateway count cannot exceed 3"},CIDR_MASK:{INTEGER:"CIDR mask must be an integer",MIN:"CIDR mask must be at least 16",MAX:"CIDR mask cannot exceed 28"},CPU:{INTEGER:"CPU must be an integer",MIN:"CPU must be at least 256 units",MAX:"CPU cannot exceed 4096 units"},KMS:{KEY_REQUIRED:"KMS key ARN is required when using KMS encryption"},READER_INSTANCES:{MAX:"Cannot have more than 15 reader instances",COUNT_OR_INSTANCES:"Cannot specify both 'count' and 'instances' - use one or the other"},GENERATOR_CAPACITY:{MIN:{MIN:"Minimum capacity must be at least 1",MAX:"Minimum capacity cannot exceed 1000"},MAX:{MIN:"Maximum capacity must be at least 1",MAX:"Maximum capacity cannot exceed 1000"}},INSTANCE_TYPE:"Unknown instance type. Common types include: t4g.micro, t4g.small, m5.large",ARCHITECTURE_MISMATCH:"Architecture mismatch between instance type and AMI",ALLOCATED_STORAGE:{INTEGER:"Allocated storage must be an integer",MIN:"Allocated storage must be at least 20 GB",MAX:"Allocated storage cannot exceed 65536 GB"},DLQ:{MAX_RECEIVE_COUNT:{INTEGER:"Max receive count must be an integer",MIN:"Max receive count must be at least 1",MAX:"Max receive count cannot exceed 1000"}},ALARM:{PERCENTAGE:{MIN:"Threshold must be at least 1%",MAX:"Threshold must be at most 100%"},FREE_STORAGE_GIB:{MIN:"Free storage threshold must be at least 1 GiB"}},REGION:"Invalid AWS region",PASCAL_CASE:"Resource name must start with an uppercase letter and contain only alphanumerics (PascalCase).",IMAGE_DOCKER_MUTEX:"image and docker are mutually exclusive",AWS_ACCOUNT_ID:"AWS account id must be exactly 12 digits (no hyphens)",VPC_ID:"VPC id must look like vpc-abc12345",ROLE_ARN:"Role ARN must have the form arn:aws:iam::<account-id>:role/<name>",CIDR:"CIDR must be in dotted-quad/prefix-length form (e.g. 10.0.0.0/16)",VPC_PEER:{MIN_REQUESTER_ACCOUNTS:"At least one requester account id is required",REGION_REQUIRED:"Peer region is required when specified",ROUTE_TABLE_ID_REQUIRED:"Route table id must not be empty"},SCHEDULE_EXPRESSION:"Schedule expression must be 'rate(N minute|minutes|hour|hours|day|days)' with N>=1, or 'cron(<6-field AWS expression>)'"});var sz=Object.defineProperty,st=(e,t)=>sz(e,"name",{value:t,configurable:!0}),cz=["us-east-2","us-west-2","us-east-1","eu-west-1","eu-central-1","ap-southeast-1"],uz=Object.freeze(cz.flatMap(e=>{let t=Nn(e);return t?[t]:[]})),gv=Object.freeze(["us-east-2","us-west-2","us-east-1","eu-west-1","ap-southeast-1"]);function Eu(e){return e?e.split(",").map(t=>t.trim()).filter(Boolean):[]}st(Eu,"parseRegionList");function hv(e){return Kt.includes(e)}st(hv,"isValidRegion");function vv(e){return/^[a-z]{2}-[a-z]+-[1-9]$/.test(e)}st(vv,"isValidRegionFormat");function bv(e){if(!e)return gv.slice(0,3);let t=e.toLowerCase().split("-"),n=t[0],i=t.length>1?t[1]:"",r=[];return n&&i&&(r=Kt.filter(o=>o.startsWith(`${n}-${i}`))),r.length===0&&n&&(r=Kt.filter(o=>o.startsWith(`${n}-`))),r.length>0?r.slice(0,3):gv.slice(0,3)}st(bv,"getSuggestions");function yv(e){if(hv(e))return!0;let t=bv(e);return vv(e)?`Unknown region. Try: ${t.join(", ")}`:`Invalid format. Try: ${t.join(", ")}`}st(yv,"validateRegion");function PI(e){if(!e||e.trim()==="")return!0;let t=Eu(e);for(let n of t){let i=yv(n);if(i!==!0)return i}return!0}st(PI,"validateRegionList");function Sv(e,t){return e.filter(n=>n!==t)}st(Sv,"filterDuplicateRegions");function _v(e){return{label:e.city,value:e.code,description:e.optIn?`${e.code} \u2014 opt-in required`:e.code}}st(_v,"toRegionOption");function CI(){return it.map(_v)}st(CI,"getRegionOptions");function NI(e){return it.filter(t=>t.code!==e).map(_v)}st(NI,"getRegionOptionsExcluding");function wI(e){let t=it.find(n=>n.code===e);return t?t.city:e}st(wI,"getRegionName");function kI(e){return t=>{let n=Eu(t);return Sv(n,e)}}st(kI,"createRegionFormatter");var xu="3.10.0";var Au=["Aurora","Instance","GlobalAurora","ClickHouse"],Ei=["FARGATE","FARGATE_SPOT","EC2"],_t=["standard","resilient","enterprise"],Iu=["tinkerer","lightweight","standard","resilient","enterprise"],Ev="custom",ra=[...Iu,Ev];var lz=Object.defineProperty,dz=(e,t)=>lz(e,"name",{value:t,configurable:!0}),n5=Object.freeze({RESOURCE_SUFFIXES:Object.freeze({storage:"Storage",database:"Database",cluster:"Cluster",function:"Function",instance:"Instance",compute:"Compute"})}),na=["ecs","lambda","ec2"],xi=Object.freeze({ECS:"ecs",LAMBDA:"lambda",EC2:"ec2"}),$u=["code","container"],ia=Object.freeze({CODE:"code",CONTAINER:"container"}),Tu=["ARM_64","X86_64"],OI="ARM_64",oa=["NONE","AWS_IAM"],Ru=["public","internal"],Pu=["CPU","MEMORY"],Cu=["ARM","STANDARD"],xv=["Instance","Aurora"],Ai=["postgresql","mysql"],DI=["foundation","compliance","hardened"];var Nu=["t3.nano","t3.micro","t3.small","t3.medium","t3.large","t3.xlarge","t3.2xlarge","t3a.nano","t3a.micro","t3a.small","t3a.medium","t3a.large","t3a.xlarge","t3a.2xlarge","t4g.nano","t4g.micro","t4g.small","t4g.medium","t4g.large","t4g.xlarge","t4g.2xlarge","c5.large","c5.xlarge","c5.2xlarge","c5.4xlarge","c5.9xlarge","c5.12xlarge","c5.18xlarge","c5.24xlarge","c5a.large","c5a.xlarge","c5a.2xlarge","c5a.4xlarge","c5a.8xlarge","c5a.12xlarge","c5a.16xlarge","c5a.24xlarge","c6g.medium","c6g.large","c6g.xlarge","c6g.2xlarge","c6g.4xlarge","c6g.8xlarge","c6g.12xlarge","c6g.16xlarge","r5.large","r5.xlarge","r5.2xlarge","r5.4xlarge","r5.8xlarge","r5.12xlarge","r5.16xlarge","r5.24xlarge","r5a.large","r5a.xlarge","r5a.2xlarge","r5a.4xlarge","r5a.8xlarge","r5a.12xlarge","r5a.16xlarge","r5a.24xlarge","r6g.medium","r6g.large","r6g.xlarge","r6g.2xlarge","r6g.4xlarge","r6g.8xlarge","r6g.12xlarge","r6g.16xlarge","i3.large","i3.xlarge","i3.2xlarge","i3.4xlarge","i3.8xlarge","i3.16xlarge","p3.2xlarge","p3.8xlarge","p3.16xlarge","g4dn.xlarge","g4dn.2xlarge","g4dn.4xlarge","g4dn.8xlarge","g4dn.12xlarge","g4dn.16xlarge","m5.large","m5.xlarge","m5.2xlarge","m5.4xlarge","m5.8xlarge","m5.12xlarge","m5.16xlarge","m5.24xlarge","m5a.large","m5a.xlarge","m5a.2xlarge","m5a.4xlarge","m5a.8xlarge","m5a.12xlarge","m5a.16xlarge","m5a.24xlarge"],MI=[0,1,5,10,15,30,60];function ct(e,t){return e.includes(t)}dz(ct,"constIncludes");var jI=1,zI=65535,c5=Object.freeze({postgresql:5432,mysql:3306}),LI=128,UI=10240,wu=1,ku=900,Av=1,Iv=1e3,Ii=100,FI=100;var BI=3e3;var VI=["GET","POST","PUT","DELETE","HEAD","OPTIONS","PATCH"],ZI=["standard","assets","upload","website"],$i=["AES256","KMS"];var mz=Object.defineProperty,aa=(e,t)=>mz(e,"name",{value:t,configurable:!0}),He=aa(e=>s.union([s.literal(!1),e]),"optionalOrDisabled"),an={check:aa(e=>e.minCapacity!==void 0&&e.maxCapacity!==void 0?e.minCapacity<=e.maxCapacity:!0,"check"),params:{message:d.CAPACITY_CONSTRAINT.MIN_LTE_MAX,path:["maxCapacity"]}},sa=aa(e=>s.number().int(d.MEMORY_LIMIT.INTEGER).min(e,e===128?d.MEMORY_LIMIT.MIN_128:d.MEMORY_LIMIT.MIN_512).max(30720,d.MEMORY_LIMIT.MAX),"memoryLimitMiBSchema"),V=s.string().min(1,d.REQUIRED.RESOURCE_NAME).max(63,d.MAX_LENGTH.RESOURCE_NAME).regex(L.RESOURCE_NAME,d.RESOURCE_NAME),WI=s.string().min(1,d.REQUIRED.BUCKET_NAME).max(63,d.MAX_LENGTH.BUCKET_NAME).regex(L.BUCKET_NAME,d.BUCKET_NAME),HI=s.string().min(1,d.REQUIRED.DATABASE_NAME).max(63,d.MAX_LENGTH.DATABASE_NAME).regex(L.DATABASE_NAME,d.DATABASE_NAME);function Ou(e,t=L.IDENTIFIER,n=d.IDENTIFIER){return s.string().min(2,d.IDENTIFIER_MIN_LENGTH).max(50,e).regex(t,n).refine(i=>!i.endsWith("-"),{message:d.IDENTIFIER_NO_TRAILING_HYPHEN}).refine(i=>!i.includes("--"),{message:d.IDENTIFIER_NO_CONSECUTIVE_HYPHENS})}aa(Ou,"identifierSchema");var ve=Ou(d.MAX_LENGTH.APP_NAME),g5=Ou(d.MAX_LENGTH.APP_NAME,L.NEW_APP_NAME,d.NEW_APP_NAME),sn=s.number().int(d.PORT.INTEGER).min(jI,d.PORT.MIN).max(zI,d.PORT.MAX),Te=s.object({key:s.string(),sourceText:s.string()}).strict(),pz=s.object({__identifier:s.string()}).strict(),fz=s.object({__expression:s.string()}).strict(),gz=s.object({__call:s.string()}).strict(),hz=s.union([pz,fz,gz]),vz=s.union([s.string(),s.number(),s.boolean(),hz]),Ti=s.record(s.string().regex(L.ENV_VAR_NAME,d.ENV_VAR_NAME),vz),bz=s.object({id:s.string(),name:s.string().optional(),arn:s.string().optional(),field:s.string().optional()}).strict().refine(e=>e.name!==void 0!=(e.arn!==void 0),{message:"secretsImport requires exactly one of `name` or `arn`."}),qI=s.record(s.string(),bz),h5=s.record(s.string(),s.unknown()),$v=s.enum(ra).describe(`Application type must be one of: ${ra.join(", ")}`),Tv=s.enum(kt).describe(`OpenNext deployment pattern: ${kt.join(", ")}`),yz=s.enum(["before-imports","after-imports","after-app-init","after-tags","after-resource","end-of-file"]),Sz=s.enum(["import","app-init","tags","database","compute","storage","network","messaging","cdn","pattern","vpc-peer","vpc-peer-accepter","cross-plan-connection","custom"]),KI=s.object({sourceText:s.string(),position:yz,afterManagedResource:s.object({type:Sz,name:s.string().optional()}).strict().optional(),originalLine:s.number().int().optional(),leadingComments:s.array(s.string()).optional(),orphaned:s.boolean().optional(),orphanedComment:s.string().optional()}).strict(),YI=s.union([s.object({tier:s.enum(_t)}).strict(),s.literal(!1)]),XI=s.union([s.object({instanceType:s.string().optional()}).strict(),s.literal(!1)]),_z=Ou(d.MAX_LENGTH.ORGANISATION_NAME),Ez=s.string().regex(L.EMAIL,d.EMAIL),GI=s.string().refine(e=>Kt.includes(e),{message:d.REGION}),v5=s.object({name:_z,email:Ez,accountName:s.string().optional(),primaryRegion:GI.optional().default(Cn),secondaryRegions:s.array(GI).optional(),security:s.enum(DI).optional(),force:s.boolean().optional()}).strict();function ca(e){return e.issues.map(t=>`${t.path.length>0?`${t.path.join(".")}: `:""}${t.message}`).join(`
188
- `)}aa(ca,"getZodErrorMessage");var Ri=s.number().min(1,d.ALARM.PERCENTAGE.MIN).max(100,d.ALARM.PERCENTAGE.MAX),xz=s.number().min(1,d.ALARM.FREE_STORAGE_GIB.MIN),JI=s.union([s.literal(!1),s.object({cpuThreshold:Ri.optional(),memoryThreshold:Ri.optional(),runningTasksMinimum:s.number().int().min(0).optional(),http5xxThreshold:Ri.optional()}).strict()]),QI=s.union([s.literal(!1),s.object({cpuThreshold:Ri.optional(),freeStorageThresholdGiB:xz.optional(),connectionsThreshold:s.number().int().min(1).optional()}).strict()]),e$=s.union([s.literal(!1),s.object({errorRateThreshold:Ri.optional(),durationThresholdPercent:Ri.optional()}).strict()]);var Qt=s.number().int(d.BACKUP_RETENTION.INTEGER).min(1,d.BACKUP_RETENTION.MIN).max(35,d.BACKUP_RETENTION.MAX),ua=s.number().int(d.MONITORING_INTERVAL.INTEGER).refine(e=>ct(MI,e),{message:d.MONITORING_INTERVAL.VALUES}),Mu=s.number().int(d.DATABASE.PORT.INTEGER).min(1024,d.DATABASE.PORT.MIN).max(65535,d.DATABASE.PORT.MAX),Az=s.enum(Au).describe(`Database type must be one of: ${Au.join(", ")}`),Iz=s.object({maxConnections:s.number().int(d.MAX_CONNECTIONS.INTEGER).min(1,d.MAX_CONNECTIONS.MIN).max(100,d.MAX_CONNECTIONS.MAX).optional(),maxIdleConnections:s.number().int(d.PROXY_CONFIG.MAX_IDLE_CONNECTIONS.INTEGER).min(0,d.PROXY_CONFIG.MAX_IDLE_CONNECTIONS.MIN).max(100,d.PROXY_CONFIG.MAX_IDLE_CONNECTIONS.MAX).optional(),connectionBorrowTimeout:s.number().int(d.PROXY_CONFIG.BORROW_TIMEOUT.INTEGER).min(1,d.PROXY_CONFIG.BORROW_TIMEOUT.MIN).max(3600,d.PROXY_CONFIG.BORROW_TIMEOUT.MAX).optional(),requireTLS:s.boolean().optional()}).strict().describe("RDS Proxy configuration"),$z=s.object({instanceType:s.string().optional(),availabilityZone:s.string().optional()}).strict().describe("Read replica configuration"),Tz=s.object({automaticallyAfterDays:s.number().int(d.ROTATION.INTEGER).min(1,d.ROTATION.MIN).max(365,d.ROTATION.MAX).optional()}).strict().describe("Secret rotation configuration"),ju=s.object({username:s.string().min(1,d.REQUIRED.USERNAME).max(63,d.USERNAME.MAX_LENGTH).optional(),secretRotation:Tz.optional()}).strict().describe("Database credentials configuration"),zu=He(Iz),Lu=He($z),Rz=s.object({scaleWithWriter:s.boolean().optional(),enableDatabaseInsights:s.boolean().optional(),identifierSuffix:s.string().min(1,d.IDENTIFIER_SUFFIX.REQUIRED).max(50,d.IDENTIFIER_SUFFIX.MAX_LENGTH).optional(),availabilityZone:s.string().optional()}).strict().describe("Configuration for a single Aurora reader instance"),la=s.object({enableDatabaseInsights:s.boolean().optional(),identifierSuffix:s.string().min(1,d.IDENTIFIER_SUFFIX.REQUIRED).max(50,d.IDENTIFIER_SUFFIX.MAX_LENGTH).optional(),availabilityZone:s.string().optional()}).strict().describe("Configuration for Aurora writer instance"),Pz=s.object({count:s.number().int(d.READER.COUNT.INTEGER).min(0,d.READER.COUNT.MIN).max(15,d.READER.COUNT.MAX).optional(),instances:s.array(Rz).max(15,d.READER_INSTANCES.MAX).optional(),defaultEnableDatabaseInsights:s.boolean().optional()}).strict().refine(e=>!(e.count!==void 0&&e.instances!==void 0),{message:d.READER_INSTANCES.COUNT_OR_INSTANCES,path:["count"]}).describe("Aurora readers configuration"),da=He(Pz),Cz=s.object({awsManaged:s.literal(!0)}).strict(),Nz=s.object({useCMK:s.literal(!0)}).strict(),t$=s.union([Cz,Nz]),wz=s.object({mode:s.enum(["standard","advanced"]).optional(),encryptionKey:t$.optional()}).strict().describe("Database Insights configuration"),Uu=He(wz),Fu=s.object({storageKey:t$.optional()}).strict().describe("Encryption configuration (DESTRUCTIVE to change storageKey)"),r$=s.object({name:V,type:Az,databaseName:s.string().min(1,d.REQUIRED.DATABASE_NAME),instanceType:s.string().optional(),allocatedStorage:s.number().optional(),multiAz:s.boolean().optional(),publiclyAccessible:s.boolean().optional(),databaseInsights:Uu.optional(),port:Mu.optional(),deletionProtection:s.boolean().optional(),proxy:zu.optional(),credentials:ju.optional(),readReplica:Lu.optional(),encryption:Fu.optional(),writer:la.optional(),readers:da.optional(),backupRetention:Qt.optional(),preferredMaintenanceWindow:s.string().optional(),monitoringInterval:ua.optional(),primaryRegion:s.string().optional(),secondaryRegions:s.array(s.string()).optional(),globalClusterIdentifier:s.string().optional(),enableGlobalWriteForwarding:s.boolean().optional(),snapshotIdentifier:s.string().optional(),snapshotUsername:s.string().optional(),databaseEngine:s.enum(Ai).optional(),engineExpression:s.string().optional(),variableName:s.string().optional(),extraProperties:s.array(Te).optional(),alarms:QI.optional()}).strict(),Bu=s.object({appName:ve,nameProvidedByFlag:s.boolean().optional(),databaseName:s.string().min(1,d.REQUIRED.DATABASE_NAME).max(63,d.MAX_LENGTH.DATABASE_NAME).regex(L.DATABASE_NAME,d.DATABASE_NAME),resourceName:V.optional(),connectionConfig:s.object({connectToCompute:s.array(s.string()).optional(),connectToServices:s.array(s.string()).optional()}).strict().optional(),databaseInsights:Uu.optional(),port:Mu.optional(),proxy:zu.optional(),credentials:ju.optional(),encryption:Fu.optional(),deletionProtection:s.boolean().optional()}).strict(),n$={databaseType:s.literal("Instance"),instanceType:s.string().optional(),multiAz:s.boolean().optional(),readReplica:Lu.optional(),publiclyAccessible:s.boolean().optional(),backupRetention:Qt.optional(),allocatedStorage:s.number().optional(),snapshotIdentifier:s.string().optional(),snapshotUsername:s.string().optional()},i$={databaseType:s.literal("Aurora"),writer:la.optional(),readers:da.optional(),backupRetention:Qt.optional(),preferredMaintenanceWindow:s.string().optional(),monitoringInterval:ua.optional(),snapshotIdentifier:s.string().optional(),snapshotUsername:s.string().optional()},o$={databaseType:s.literal("GlobalAurora"),primaryRegion:s.string().min(1,d.GLOBAL_AURORA.PRIMARY_REGION_REQUIRED),secondaryRegions:s.array(s.string()).optional(),globalClusterIdentifier:s.string().optional(),enableGlobalWriteForwarding:s.boolean().optional(),writer:la.optional(),readers:da.optional(),backupRetention:Qt.optional(),preferredMaintenanceWindow:s.string().optional(),monitoringInterval:ua.optional(),snapshotIdentifier:s.string().optional(),snapshotUsername:s.string().optional()},a$=s.object({appName:ve,nameProvidedByFlag:s.boolean().optional(),databaseName:s.string().min(1,d.REQUIRED.DATABASE_NAME).max(63,d.MAX_LENGTH.DATABASE_NAME).regex(L.DATABASE_NAME,d.DATABASE_NAME),resourceName:V.optional(),connectionConfig:s.object({connectToCompute:s.array(s.string()).optional(),connectToServices:s.array(s.string()).optional()}).strict().optional()}).strict(),s$={databaseType:s.literal("ClickHouse"),instanceType:s.string().optional(),coldTier:s.union([s.object({mode:s.literal("s3")}).strict(),s.literal(!1)]).optional(),optimiseSchedule:s.union([s.string(),s.literal(!1)]).optional(),backupSchedule:s.union([s.string(),s.literal(!1)]).optional(),backupRetentionDays:Qt.optional()},kz=Bu.extend(n$).strict(),Oz=Bu.extend(i$).strict(),Dz=Bu.extend(o$).strict(),Mz=a$.extend(s$).strict(),c$=s.discriminatedUnion("databaseType",[kz,Oz,Dz,Mz]),Rv=Bu.extend({resourceName:V}).strict(),jz=Rv.extend(n$).strict(),zz=Rv.extend(i$).strict(),Lz=Rv.extend(o$).strict(),Uz=a$.extend({resourceName:V}).strict(),Fz=Uz.extend(s$).strict(),T5=s.discriminatedUnion("databaseType",[jz,zz,Lz,Fz]),R5=s.object({appName:ve,databaseName:s.string().min(1,d.REQUIRED.DATABASE_NAME),maxConnections:s.number().int(d.MAX_CONNECTIONS.INTEGER).min(1,d.MAX_CONNECTIONS.MIN).max(100,d.MAX_CONNECTIONS.MAX).optional(),maxIdleConnections:s.number().int(d.PROXY_CONFIG.MAX_IDLE_CONNECTIONS.INTEGER).min(0,d.PROXY_CONFIG.MAX_IDLE_CONNECTIONS.MIN).max(100,d.PROXY_CONFIG.MAX_IDLE_CONNECTIONS.MAX).optional(),connectionBorrowTimeout:s.number().int(d.PROXY_CONFIG.BORROW_TIMEOUT.INTEGER).min(1,d.PROXY_CONFIG.BORROW_TIMEOUT.MIN).max(3600,d.PROXY_CONFIG.BORROW_TIMEOUT.MAX).optional(),requireTLS:s.boolean().optional(),nameProvidedByFlag:s.boolean().optional()}).strict(),Bz=["S","N","B"],Du=s.object({name:s.string(),type:s.enum(Bz)}).strict(),u$=s.object({name:V,partitionKey:Du,sortKey:Du.optional(),globalSecondaryIndexes:s.array(s.object({indexName:s.string(),partitionKey:Du,sortKey:Du.optional()}).strict()).optional(),ttlAttribute:s.string().optional(),stream:s.boolean().optional(),variableName:s.string().optional(),extraProperties:s.array(Te).optional()}).strict(),Vz=s.object({mode:s.literal("s3")}).strict(),l$=s.object({name:V,type:s.literal("ClickHouse"),databaseName:HI,instanceType:s.string().optional(),coldTier:s.union([Vz,s.literal(!1)]).optional(),optimiseSchedule:s.union([s.string(),s.literal(!1)]).optional(),backupSchedule:s.union([s.string(),s.literal(!1)]).optional(),backupRetentionDays:Qt.optional(),variableName:s.string().optional(),extraProperties:s.array(Te).optional()}).strict();var Zz=s.object({count:s.number().int(d.NAT_GATEWAY.INTEGER).min(0,d.NAT_GATEWAY.MIN).max(3,d.NAT_GATEWAY.MAX).optional()}).strict().describe("NAT gateway configuration"),d$=He(Zz),Pv=s.enum(["cloudwatch","s3"]),Gz=s.object({destination:Pv.optional(),retentionDays:s.number().int(d.RETENTION_DAYS.INTEGER).min(1,d.RETENTION_DAYS.MIN).max(365,d.RETENTION_DAYS.MAX).optional(),trafficType:s.enum(["ALL","ACCEPT","REJECT"]).optional()}).strict().describe("VPC flow log configuration"),m$=He(Gz),Wz=s.object({s3:s.boolean().optional(),dynamodb:s.boolean().optional()}).strict().describe("Gateway VPC endpoints (FREE)"),Hz=He(Wz),qz=s.object({ecr:s.boolean().optional(),secretsManager:s.boolean().optional(),kms:s.boolean().optional(),cloudwatchLogs:s.boolean().optional(),ssm:s.boolean().optional(),sts:s.boolean().optional()}).strict().describe("Interface VPC endpoints (cost per hour)"),Kz=He(qz),Yz=s.object({gateway:Hz.optional(),interface:Kz.optional()}).strict().describe("VPC endpoints configuration"),p$=He(Yz),Vu=s.object({maxAzs:s.number().int(d.MAX_AZS.INTEGER).min(1,d.MAX_AZS.MIN).max(3,d.MAX_AZS.MAX).optional(),natGateways:d$.optional(),flowLogs:m$.optional(),vpcEndpoints:p$.optional(),cidrMask:s.number().int(d.CIDR_MASK.INTEGER).min(16,d.CIDR_MASK.MIN).max(28,d.CIDR_MASK.MAX).optional()}).strict(),f$=s.string().min(1,d.REQUIRED.NETWORK_NAME).max(50,d.MAX_LENGTH.NETWORK_NAME).regex(L.RESOURCE_NAME,d.RESOURCE_NAME),g$=Vu.extend({name:f$}).strict(),h$=He(Vu),k5=s.object({appName:ve,networkName:f$.optional(),maxAzs:s.number().int(d.MAX_AZS.INTEGER).min(1,d.MAX_AZS.MIN).max(3,d.MAX_AZS.MAX).optional(),natGateways:d$.optional(),flowLogs:m$.optional(),vpcEndpoints:p$.optional()}).strict(),Xz=L.CIDR,Cv=s.string().regex(Xz,d.CIDR),Jz=s.object({kind:s.literal("database"),resource:s.string().min(1,d.REQUIRED.RESOURCE_REFERENCE),name:V,allowedFromCidrs:s.array(Cv),access:s.enum(["read","write","readWrite"]).optional()}).strict(),Qz=s.object({kind:s.literal("ecsService"),resource:s.string().min(1,d.REQUIRED.RESOURCE_REFERENCE),serviceName:s.string().min(1,d.REQUIRED.SERVICE_NAME),name:V,allowedFromCidrs:s.array(Cv),port:sn.optional()}).strict(),eL=s.discriminatedUnion("kind",[Jz,Qz]),O5=s.object({name:V,peerAppName:s.string().min(1,d.REQUIRED.APP_NAME),peerAccountId:s.string().regex(L.AWS_ACCOUNT_ID,d.AWS_ACCOUNT_ID),peerRegion:s.string().min(1,d.VPC_PEER.REGION_REQUIRED).optional(),peerVpcId:s.string().regex(L.VPC_ID,d.VPC_ID).optional(),peerVpcCidr:Cv.optional(),peerRoleArn:s.string().regex(L.ROLE_ARN,d.ROLE_ARN).optional(),peerRouteTableIds:s.array(s.string().min(1,d.VPC_PEER.ROUTE_TABLE_ID_REQUIRED)).optional(),localVpcName:s.string().min(1,d.REQUIRED.NETWORK_NAME).optional(),enableDnsResolution:s.boolean().optional()}).strict(),D5=s.object({name:V,requesterAccountIds:s.array(s.string().regex(L.AWS_ACCOUNT_ID,d.AWS_ACCOUNT_ID)).min(1,d.VPC_PEER.MIN_REQUESTER_ACCOUNTS),localVpcName:s.string().min(1,d.REQUIRED.NETWORK_NAME).optional(),publishToSsm:s.boolean().optional(),exposedResources:s.array(eL).optional()}).strict();var Zu=["storage","cdn","compute"],tL=s.object({sid:s.string().optional(),effect:s.enum(["Allow","Deny"]),principals:s.array(s.string()),actions:s.array(s.string()),resources:s.array(s.string()).optional(),conditions:s.record(s.string(),s.record(s.string(),s.union([s.string(),s.array(s.string())]))).optional()}).strict(),v$=s.object({name:V,bucketName:s.string().optional(),publicReadAccess:s.boolean().optional(),websiteHosting:s.object({indexDocument:s.string(),errorDocument:s.string().optional()}).strict().optional(),backupVaultTier:s.enum(_t).optional(),versioned:s.boolean().optional(),encryption:s.enum($i).optional(),kmsKeyArn:s.string().optional(),cors:s.array(s.object({allowedOrigins:s.array(s.string()),allowedMethods:s.array(s.string()),allowedHeaders:s.array(s.string()).optional(),exposedHeaders:s.array(s.string()).optional(),maxAge:s.number().optional()}).strict()).optional(),deployment:s.object({source:s.string(),prune:s.boolean().optional(),cacheControl:s.object({maxAge:s.number().optional(),immutable:s.boolean().optional()}).strict().optional()}).strict().optional(),retain:s.boolean().optional(),resourcePolicyStatements:s.array(tL).optional(),stackPlacement:s.enum(Zu).optional(),variableName:s.string().optional(),extraProperties:s.array(Te).optional()}).strict().refine(e=>e.encryption!=="KMS"||!!e.kmsKeyArn,{message:d.KMS.KEY_REQUIRED}),F5=s.object({appName:ve,bucketName:WI,nameProvidedByFlag:s.boolean().optional(),storagePreset:s.enum(ZI).optional(),publicReadAccess:s.boolean().optional(),websiteHosting:s.object({indexDocument:s.string(),errorDocument:s.string().optional()}).strict().optional(),backupVaultTier:s.enum(_t).optional(),versioned:s.boolean().optional(),encryption:s.enum($i).optional(),kmsKeyArn:s.string().optional(),cors:s.array(s.object({allowedOrigins:s.array(s.string()),allowedMethods:s.array(s.string()),allowedHeaders:s.array(s.string()).optional(),exposedHeaders:s.array(s.string()).optional(),maxAge:s.number().optional()}).strict()).optional(),connectionConfig:s.object({connectToCompute:s.array(s.string()).optional(),connectToServices:s.array(s.string()).optional()}).strict().optional()}).strict().refine(e=>e.encryption!=="KMS"||!!e.kmsKeyArn,{message:d.KMS.KEY_REQUIRED,path:["kmsKeyArn"]});var Nv=s.enum(["DESTROY","RETAIN"]),b$=s.object({name:V,queueType:s.enum(["standard","fifo"]).default("standard"),visibilityTimeout:s.number().int(d.SQS.VISIBILITY_TIMEOUT.INTEGER).min(0,d.SQS.VISIBILITY_TIMEOUT.MIN).max(43200,d.SQS.VISIBILITY_TIMEOUT.MAX).optional(),retentionPeriod:s.number().int(d.SQS.RETENTION_PERIOD.INTEGER).min(60,d.SQS.RETENTION_PERIOD.MIN).max(1209600,d.SQS.RETENTION_PERIOD.MAX).optional(),contentBasedDeduplication:s.boolean().optional(),removalPolicy:Nv.optional(),variableName:s.string().optional(),extraProperties:s.array(Te).optional()}).strict();var y$=s.object({type:s.literal("basic-auth"),username:s.string().min(1),password:s.string().min(1)}).strict(),S$=s.object({name:V,defaultOriginRef:s.string(),behaviours:s.array(s.object({pathPattern:s.string(),originRef:s.string(),cachePolicy:s.enum(["CACHING_OPTIMIZED","CACHING_DISABLED"]).optional()}).strict()).optional(),customDomain:s.string().optional(),certificateArn:s.string().optional(),accessGate:s.union([s.literal(!1),y$]).optional(),extraProperties:s.array(Te).optional()}).strict(),K5=s.object({appName:s.string(),name:V.optional(),defaultOriginRef:s.string(),behaviours:s.array(s.object({pathPattern:s.string(),originRef:s.string(),cachePolicy:s.enum(["CACHING_OPTIMIZED","CACHING_DISABLED"]).optional()}).strict()).optional(),customDomain:s.string().optional(),certificateArn:s.string().optional(),accessGate:s.union([s.literal(!1),y$]).optional(),nameProvidedByFlag:s.boolean().optional()}).strict();var rL=Object.defineProperty,wv=(e,t)=>rL(e,"name",{value:t,configurable:!0}),nL=new Set(["t4g","c6g","c6gd","c6gn","c7g","c7gd","c7gn","r6g","r6gd","r7g","r7gd","m6g","m6gd","m7g","m7gd","a1","x2gd","im4gn","is4gen","i4g","hpc7g"]);function Pi(e){let t=e.split(".")[0]??"";return nL.has(t)?"ARM":"STANDARD"}wv(Pi,"getArchitectureForInstanceType");function Gu(e,t){let n=Pi(e);return n!==t?{valid:!1,message:`Instance type '${e}' requires ${n} architecture, but '${t}' AMI was specified. Use a ${n==="ARM"?"Graviton instance (t4g, c6g, r6g, m6g, etc.)":"Intel/AMD instance (t3, c5, r5, m5, etc.)"} instead.`}:{valid:!0}}wv(Gu,"validateArchitectureMatch");function _$(e,t){return Pi(e)===t}wv(_$,"isArchitectureCompatible");var iL=Object.defineProperty,Wu=(e,t)=>iL(e,"name",{value:t,configurable:!0});var oL=1,aL=/^[A-Za-z0-9_.-]+$/,sL=s.object({id:s.string().min(1,"buildSecret id cannot be empty").regex(aL,"buildSecret id may contain only letters, digits, '_', '.', and '-' (no comma, '=', or whitespace, which would break the buildx --secret argv)"),ssm:s.string().min(1,"ssm parameter name cannot be empty").optional(),secretsManager:s.object({name:s.string().min(1,"secret name cannot be empty").optional(),arn:s.string().min(1,"secret arn cannot be empty").optional(),field:s.string().min(1,"secret field cannot be empty").optional()}).strict().refine(e=>e.name===void 0!=(e.arn===void 0),"secretsManager requires exactly one of name or arn").optional(),env:s.string().min(1,"env variable name cannot be empty").optional()}).strict().superRefine((e,t)=>{[e.ssm,e.secretsManager,e.env].filter(n=>n!==void 0).length!==1&&t.addIssue({code:s.ZodIssueCode.custom,message:"buildSecret requires exactly one source (ssm, secretsManager, or env)"})}),cL=s.union([s.string(),s.object({ssm:s.string().min(1,"ssm parameter name cannot be empty").optional(),secretsManager:s.object({name:s.string().min(1,"secret name cannot be empty").optional(),arn:s.string().min(1,"secret arn cannot be empty").optional(),field:s.string().min(1,"secret field cannot be empty").optional()}).strict().refine(e=>e.name===void 0!=(e.arn===void 0),"secretsManager requires exactly one of name or arn").optional(),env:s.string().min(1,"env variable name cannot be empty").optional(),acknowledgePublic:s.boolean().optional()}).strict().superRefine((e,t)=>{[e.ssm,e.secretsManager,e.env].filter(n=>n!==void 0).length!==1&&t.addIssue({code:s.ZodIssueCode.custom,message:"buildArg value requires exactly one source (ssm, secretsManager, or env)"})})]),Ot=s.object({path:s.string(),context:s.string().min(1,"context cannot be empty").optional(),target:s.string().min(1,"target cannot be empty").optional(),buildArgs:s.record(s.string(),cL).optional(),buildSecrets:s.array(sL).optional()}).strict(),eH=Ot.partial();function uL(e,t){if(t===void 0)return e;let n=t.context??e.context,i=t.target??e.target,r=t.buildArgs??e.buildArgs,o=t.buildSecrets??e.buildSecrets;return{path:t.path??e.path,...n!==void 0&&{context:n},...i!==void 0&&{target:i},...r!==void 0&&{buildArgs:r},...o!==void 0&&{buildSecrets:o}}}Wu(uL,"mergeDockerBuild");function kv(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}Wu(kv,"isRecord");function E$(e){if(!kv(e)||typeof e.path!="string"||e.path.length===0)return;let t=typeof e.context=="string"&&e.context.length>0?e.context:void 0,n=typeof e.target=="string"&&e.target.length>0?e.target:void 0,i=kv(e.buildArgs)&&Object.keys(e.buildArgs).length>0?e.buildArgs:void 0,r=Array.isArray(e.buildSecrets)&&e.buildSecrets.length>0?e.buildSecrets:void 0,o={path:e.path,...t!==void 0&&{context:t},...n!==void 0&&{target:n},...i!==void 0&&{buildArgs:i},...r!==void 0&&{buildSecrets:r}},a=Ot.safeParse(o);return a.success?a.data:void 0}Wu(E$,"normaliseDockerBuild");function lL(e){if(e===void 0)return;let t=E$(e);return t===void 0?void 0:JSON.stringify(t)}Wu(lL,"dockerBuildFingerprint");var dL=s.object({name:s.string(),clusterName:s.string().optional(),docker:Ot.optional(),containerPort:s.number().optional(),secrets:s.array(s.string()).optional(),ssmSecretsPath:s.string().optional(),importedSecretNames:s.array(s.string()).optional()}).strict(),mL=s.object({type:s.enum(kt),name:s.string(),source:s.string()}).strict(),pL=s.object({repositoryName:s.string()}).strict(),fL=s.object({name:s.string(),secrets:s.array(s.string()).optional(),ssmSecretsPath:s.string().optional(),importedSecretNames:s.array(s.string()).optional(),docker:Ot.optional(),imageKey:s.string().optional()}).strict(),gL=s.object({templateHash:s.string(),synthTimestamp:s.string()}).strict(),hL=s.object({constructPath:s.string().max(512),group:s.string().max(128),resourceType:s.string().max(256)}).strict(),tH=s.object({version:s.literal(oL),generatedAt:s.string(),appName:s.string(),services:s.array(dL),lambdas:s.array(fL),pattern:mL.optional(),ecr:pL.optional(),stacks:s.record(s.string(),gL),resourceMap:s.record(s.string(),hL).optional()}).strict();var vL=Object.defineProperty,bL=(e,t)=>vL(e,"name",{value:t,configurable:!0});function A$(e){return!(e.image!==void 0&&e.docker!==void 0)}bL(A$,"imageDockerMutexCheck");var I$=s.number().int(d.CAPACITY.MIN.INTEGER).min(Av,d.GENERATOR_CAPACITY.MIN.MIN).max(Iv,d.GENERATOR_CAPACITY.MIN.MAX),$$=s.number().int(d.CAPACITY.MAX.INTEGER).min(Av,d.GENERATOR_CAPACITY.MAX.MIN).max(Iv,d.GENERATOR_CAPACITY.MAX.MAX),Ci=s.number().int(d.LAMBDA.MEMORY.INTEGER).min(LI,d.LAMBDA.MEMORY.MIN).max(UI,d.LAMBDA.MEMORY.MAX).refine(e=>e===128||e%64===0,d.LAMBDA.MEMORY.MULTIPLE),T$=s.string().regex(L.LAMBDA_RUNTIME_IDENTIFIER,d.LAMBDA.RUNTIME),Ov=s.number().int(d.CPU.INTEGER).min(256,d.CPU.MIN).max(4096,d.CPU.MAX),qu=s.number().int(d.CAPACITY.DESIRED.INTEGER).min(0,d.CAPACITY.DESIRED.MIN).max(Ii,d.CAPACITY.DESIRED.MAX),ma=s.object({connectToDatabase:s.array(s.string()).optional()}).strict(),yL=s.object({minSize:s.number().int(d.CAPACITY.WARM_POOL.MIN_SIZE.INTEGER).min(0,d.CAPACITY.WARM_POOL.MIN_SIZE.MIN).max(FI,d.CAPACITY.WARM_POOL.MIN_SIZE.MAX).optional(),reuseOnScaleIn:s.boolean().optional()}).strict(),Dv=s.object({instanceType:s.string().optional(),amiHardwareType:s.enum(Cu).optional(),minCapacity:s.number().int(d.CAPACITY.MIN.INTEGER).min(0,d.CAPACITY.MIN.MIN_0).max(Ii,d.CAPACITY.MIN.MAX).optional(),maxCapacity:s.number().int(d.CAPACITY.MAX.INTEGER).min(1,d.CAPACITY.MAX.MIN_1).max(Ii,d.CAPACITY.MAX.MAX).optional(),memoryLimitMiB:sa(128).optional(),warmPool:yL.optional(),extraProperties:s.array(Te).optional()}).strict().superRefine((e,t)=>{if(!e.instanceType||!e.amiHardwareType)return;let n=Gu(e.instanceType,e.amiHardwareType);n.valid||t.addIssue({code:"custom",message:n.message??d.ARCHITECTURE_MISMATCH,path:["instanceType"]})}).superRefine((e,t)=>{e.minCapacity===0&&!e.warmPool&&t.addIssue({code:"custom",message:d.CAPACITY.WARM_POOL_REQUIRED,path:["minCapacity"]}),e.warmPool?.minSize!==void 0&&e.maxCapacity!==void 0&&e.warmPool.minSize>e.maxCapacity&&t.addIssue({code:"custom",message:d.CAPACITY.WARM_POOL.MIN_SIZE_EXCEEDS_MAX_CAPACITY,path:["warmPool","minSize"]})}),SL=s.enum(na).describe(`Compute type must be one of: ${na.join(", ")}`),Mv=s.enum(Ei).describe(`ECS capacity provider must be one of: ${Ei.join(", ")}`),jv=s.string().refine(e=>ct(Nu,e),{message:d.INSTANCE_TYPE}),R$=s.object({sourceType:s.enum(["sqs","dynamodb","eventbridge"]),sourceRef:s.string().describe("Name of the source resource"),batchSize:s.number().int(d.BATCH_SIZE.INTEGER).min(1,d.BATCH_SIZE.MIN).max(1e4,d.BATCH_SIZE.MAX).optional(),startingPosition:s.enum(["TRIM_HORIZON","LATEST"]).optional(),maxBatchingWindow:s.number().int(d.BATCHING_WINDOW.INTEGER).min(0,d.BATCHING_WINDOW.MIN).max(300,d.BATCHING_WINDOW.MAX).optional(),reportBatchItemFailures:s.boolean().optional()}).strict(),_L=s.object({name:s.string().min(1,d.REQUIRED.CONTAINER_NAME).optional(),image:s.string().optional(),port:sn.optional(),environment:Ti.optional(),secretsImport:qI.optional(),command:s.array(s.string()).optional(),entryPoint:s.array(s.string()).optional(),essential:s.boolean().optional(),healthCheck:s.object({command:s.array(s.string()),interval:s.number().int(d.HEALTH_CHECK.INTERVAL.INTEGER).min(5,d.HEALTH_CHECK.INTERVAL.MIN).max(300,d.HEALTH_CHECK.INTERVAL.MAX).optional(),timeout:s.number().int(d.HEALTH_CHECK.TIMEOUT.INTEGER).min(2,d.HEALTH_CHECK.TIMEOUT.MIN).max(60,d.HEALTH_CHECK.TIMEOUT.MAX).optional(),retries:s.number().int(d.HEALTH_CHECK.RETRIES.INTEGER).min(1,d.HEALTH_CHECK.RETRIES.MIN).max(10,d.HEALTH_CHECK.RETRIES.MAX).optional(),startPeriod:s.number().int(d.HEALTH_CHECK.START_PERIOD.INTEGER).min(0,d.HEALTH_CHECK.START_PERIOD.MIN).max(300,d.HEALTH_CHECK.START_PERIOD.MAX).optional()}).strict().optional(),ssmSecrets:s.array(s.string().regex(L.SECRET_NAME,d.SECRET_NAME)).optional(),extraProperties:s.array(Te).optional()}).strict(),P$=s.string().min(1,d.REQUIRED.SERVICE_NAME).max(255,d.MAX_LENGTH.SERVICE_NAME).regex(L.ECS_SERVICE_NAME,d.ECS_SERVICE_NAME),C$=s.object({domain:s.string().optional(),loadBalancer:s.union([s.literal(!1),s.enum(Ru)]).optional(),directAccess:s.boolean().optional(),extraProperties:s.array(Te).optional()}).strict().refine(e=>!(e.directAccess&&e.domain),{message:d.DIRECT_ACCESS.NO_DOMAIN,path:["directAccess"]}).refine(e=>!(e.directAccess&&typeof e.loadBalancer=="string"),{message:d.DIRECT_ACCESS.NO_LOAD_BALANCER}).describe("Cluster-level configuration"),Hu=s.object({path:s.string().optional(),host:s.string().optional(),priority:s.number().int(d.PRIORITY.INTEGER).min(1,d.PRIORITY.MIN).max(5e4,d.PRIORITY.MAX).optional(),healthCheckPath:s.string().optional()}).strict().describe("Path/host-based routing configuration"),EL=s.object({desiredCount:qu.optional(),minCapacity:s.number().int(d.CAPACITY.MIN.INTEGER).min(0,d.CAPACITY.MIN.MIN_0).max(Ii,d.CAPACITY.MIN.MAX).optional(),maxCapacity:s.number().int(d.CAPACITY.MAX.INTEGER).min(1,d.CAPACITY.MAX.MIN_1).max(Ii,d.CAPACITY.MAX.MAX).optional(),scalingType:s.enum(Pu).optional()}).strict().refine(an.check,an.params).describe("ECS service scaling configuration"),N$=s.object({name:P$,docker:Ot.optional(),needsDatabaseConnection:s.boolean().optional(),needsStorageConnection:s.boolean().optional(),needsMessagingConnection:s.boolean().optional(),image:s.string().optional(),containers:s.array(_L).optional(),routing:s.union([Hu,s.array(Hu).min(1)]).optional(),cpu:Ov.optional(),memoryLimitMiB:sa(512).optional(),desiredCount:qu.optional(),scaling:He(EL).optional(),capacityProvider:Mv,ec2Config:Dv.optional(),ssmSecretsPath:s.string().regex(L.SSM_PATH,d.SSM_PATH).optional(),extraProperties:s.array(Te).optional(),alarms:JI.optional()}).strict().superRefine((e,t)=>{A$(e)||t.addIssue({code:"custom",path:["docker"],message:d.IMAGE_DOCKER_MUTEX})}).describe("Configuration for a service in an ECS cluster"),w$=s.object({name:V,type:SL,needsConnection:s.boolean(),connectedDatabase:s.array(s.string()).optional(),connectedStorage:s.array(s.string()).optional(),connectedMessaging:s.array(s.string()).optional(),cluster:C$.optional(),services:s.array(N$).optional(),docker:Ot.partial().optional(),deployment:s.enum($u).optional(),codePath:s.string().optional(),timeout:s.number().int(d.LAMBDA.TIMEOUT.INTEGER).min(wu,d.LAMBDA.TIMEOUT.MIN).max(ku,d.LAMBDA.TIMEOUT.MAX).optional(),memory:Ci.optional(),handler:s.string().optional(),runtime:T$.optional(),environment:Ti.optional(),secrets:Ti.optional(),eventSources:s.array(R$).optional(),functionUrl:s.object({authType:s.enum(oa)}).strict().optional(),description:s.string().optional(),scheduleExpression:s.string().optional(),architecture:s.enum(Tu).optional(),ephemeralStorageSize:s.number().int(d.EPHEMERAL_STORAGE.INTEGER).min(512,d.EPHEMERAL_STORAGE.MIN).max(10240,d.EPHEMERAL_STORAGE.MAX).optional(),functionName:s.string().optional(),ssmSecrets:s.array(s.string()).optional(),ssmSecretsPath:s.string().optional(),alarms:e$.optional(),instanceType:jv.optional(),enableSSH:s.boolean().optional(),keyName:s.string().optional(),userData:s.string().optional(),securityGroups:s.array(s.string()).optional(),variableName:s.string().optional(),extraProperties:s.array(Te).optional()}).strict().superRefine((e,t)=>{if(e.type==="ecs"&&e.services)for(let n=0;n<e.services.length;n++){let i=e.services[n];i?.ec2Config?.instanceType&&!i.ec2Config.amiHardwareType&&Pi(i.ec2Config.instanceType)!=="ARM"&&t.addIssue({code:"custom",message:`Service '${i.name??n}' uses instance type '${i.ec2Config.instanceType}' (x86), which requires Docker images built for linux/amd64. The default build targets linux/arm64 (Graviton). Use a Graviton instance type (t4g, c6g, r6g, m6g, etc.) or set amiHardwareType: "STANDARD" to acknowledge x86.`,path:["services",n,"ec2Config","instanceType"]})}e.type==="lambda"&&e.deployment==="container"&&e.architecture==="X86_64"&&t.addIssue({code:"custom",message:"Lambda architecture 'X86_64' requires Docker images built for linux/amd64, but the default build targets linux/arm64. Use 'ARM_64' for Graviton Lambdas (recommended) or ensure your build pipeline targets linux/amd64.",path:["architecture"]})}),lH=s.object({appName:ve,clusterName:V,containerPort:sn,nameProvidedByFlag:s.boolean().optional(),ecrRepository:s.string().optional(),capacityProvider:Mv.optional(),useAppEcr:s.boolean().optional(),desiredCount:qu.optional(),cpu:Ov.optional(),memoryLimitMiB:sa(512).optional(),minCapacity:I$.optional(),maxCapacity:$$.optional(),ec2Config:Dv.optional(),connectionConfig:ma.optional()}).strict().refine(an.check,an.params),dH=s.object({appName:ve,functionName:V,nameProvidedByFlag:s.boolean().optional(),lambdaType:s.enum(["basic","web","custom"]).optional(),ecrRepository:s.string().optional(),timeout:s.number().int(d.LAMBDA.TIMEOUT.INTEGER).min(wu,d.LAMBDA.TIMEOUT.MIN).max(ku,d.LAMBDA.TIMEOUT.MAX).optional(),memory:Ci.optional(),enableFunctionUrl:s.boolean().optional(),description:s.string().optional(),enableCors:s.boolean().optional(),corsOrigins:s.string().optional(),corsHeaders:s.string().optional(),corsMethods:s.array(s.enum(VI)).optional(),corsCredentials:s.boolean().optional(),connectionConfig:ma.optional()}).strict(),mH=s.object({appName:ve,instanceName:V,nameProvidedByFlag:s.boolean().optional(),instanceType:jv.optional(),enableSSH:s.boolean().optional(),minCapacity:I$.optional(),maxCapacity:$$.optional(),connectionConfig:ma.optional()}).strict().refine(an.check,an.params),pH=s.object({appName:ve,clusterName:V,serviceName:P$,capacityProvider:Mv,containerPort:sn.optional(),cpu:Ov.optional(),memoryLimitMiB:sa(512).optional(),desiredCount:qu.optional(),ec2Config:Dv.optional(),routing:s.union([Hu,s.array(Hu).min(1)]).optional(),docker:Ot.partial().optional(),nameProvidedByFlag:s.boolean().optional(),connectionConfig:ma.optional()}).strict(),zv=s.object({appName:ve,computeName:V,nameProvidedByFlag:s.boolean().optional(),connectionConfig:ma.optional()}).strict(),xL=zv.extend({type:s.literal("ecs"),cluster:C$.optional(),services:s.array(N$).min(1,d.SERVICE.MIN_REQUIRED),docker:Ot.partial().optional()}).strict().refine(e=>{let t=e.services.filter(n=>n.containers?.some(i=>i.port));return t.length>1?t.every(n=>(Array.isArray(n.routing)?n.routing:n.routing?[n.routing]:[]).some(i=>i.path||i.host)):!0},{message:d.SERVICE.ROUTING_REQUIRED}).refine(e=>{let t=e.services.map(n=>n.name);return new Set(t).size===t.length},{message:d.SERVICE.UNIQUE_WITHIN_CLUSTER}),AL=zv.extend({type:s.literal("lambda"),timeout:s.number().int(d.LAMBDA.TIMEOUT.INTEGER).min(wu,d.LAMBDA.TIMEOUT.MIN).max(ku,d.LAMBDA.TIMEOUT.MAX).optional(),memory:Ci.optional(),handler:s.string().optional(),runtime:T$.optional(),environment:Ti.optional(),secrets:Ti.optional(),description:s.string().optional(),functionUrl:s.union([s.object({authType:s.enum(oa).optional()}).strict(),s.literal(!1)]).optional(),eventSources:s.array(R$).optional()}).strict(),IL=zv.extend({type:s.literal("ec2"),instanceType:jv.optional(),enableSSH:s.boolean().optional(),keyName:s.string().optional(),userData:s.string().optional(),securityGroups:s.array(s.string()).optional()}).strict(),fH=s.discriminatedUnion("type",[xL,AL,IL]),x$=s.object({path:s.string().min(1,d.REQUIRED.ROUTING_PATH),priority:s.number().int(d.PRIORITY.INTEGER).min(1,d.PRIORITY.MIN).max(5e4,d.PRIORITY.MAX).optional()}).strict(),k$=s.object({name:s.string().min(1,d.REQUIRED.SERVICE_NAME).max(255,d.MAX_LENGTH.SERVICE_NAME).regex(L.RESOURCE_NAME,d.RESOURCE_NAME),serviceType:s.enum(["web","worker"]).optional(),docker:Ot.partial().optional(),containerPort:sn.optional(),needsDatabaseConnection:s.boolean().optional(),routing:s.union([x$,s.array(x$).min(1)]).optional()}).strict().superRefine((e,t)=>{e.serviceType==="worker"&&(e.containerPort!==void 0&&t.addIssue({code:"custom",path:["containerPort"],message:"Worker services are not reachable inbound; remove containerPort."}),e.routing!==void 0&&t.addIssue({code:"custom",path:["routing"],message:"Worker services have no ALB route; remove routing."}))}),gH=s.object({appName:ve,instanceType:s.string().optional()}).strict();var Lv=s.object({memorySize:Ci.optional(),timeout:s.number().int(d.LAMBDA.TIMEOUT.INTEGER).min(1,d.LAMBDA.TIMEOUT.MIN).max(900,d.LAMBDA.TIMEOUT.MAX).optional(),ephemeralStorageSize:s.number().int(d.EPHEMERAL_STORAGE.INTEGER).min(512,d.EPHEMERAL_STORAGE.MIN).max(10240,d.EPHEMERAL_STORAGE.MAX).optional()}).strict(),O$=s.object({type:s.enum(xv).optional(),databaseName:s.string().optional(),databaseEngine:s.enum(Ai).optional(),deletionProtection:s.boolean().optional(),backupRetention:Qt.optional(),port:Mu.optional(),publiclyAccessible:s.boolean().optional(),allowedIpCidr:s.string().optional(),instanceType:s.string().optional(),allocatedStorage:s.number().int(d.ALLOCATED_STORAGE.INTEGER).min(20,d.ALLOCATED_STORAGE.MIN).max(65536,d.ALLOCATED_STORAGE.MAX).optional(),multiAz:s.boolean().optional(),readReplica:Lu.optional(),writer:la.optional(),readers:da.optional(),allowVpcAccess:s.boolean().optional(),monitoringInterval:ua.optional(),preferredMaintenanceWindow:s.string().optional(),databaseInsights:Uu.optional(),proxy:zu.optional(),credentials:ju.optional(),encryption:Fu.optional(),snapshotIdentifier:s.string().optional(),snapshotUsername:s.string().optional()}).strict(),D$=s.object({server:Lv.optional(),imageOptimisation:Lv.optional(),revalidation:Lv.optional()}).strict(),Uv=s.object({versioned:s.boolean().optional()}).strict(),M$=s.object({assets:Uv.optional(),cache:Uv.optional(),media:Uv.optional()}).strict(),$L=s.object({visibilityTimeout:s.number().int(d.SQS.VISIBILITY_TIMEOUT.INTEGER).min(0,d.SQS.VISIBILITY_TIMEOUT.MIN).max(43200,d.SQS.VISIBILITY_TIMEOUT.MAX).optional(),messageRetentionPeriod:s.number().int(d.SQS.RETENTION_PERIOD.INTEGER).min(60,d.SQS.RETENTION_PERIOD.MIN).max(1209600,d.SQS.RETENTION_PERIOD.MAX).optional(),maxMessageSize:s.number().int(d.MAX_MESSAGE_SIZE.INTEGER).min(1024,d.MAX_MESSAGE_SIZE.MIN).max(262144,d.MAX_MESSAGE_SIZE.MAX).optional(),deadLetterQueue:s.union([s.literal(!1),s.object({enabled:s.boolean().optional(),maxReceiveCount:s.number().int(d.DLQ.MAX_RECEIVE_COUNT.INTEGER).min(1,d.DLQ.MAX_RECEIVE_COUNT.MIN).max(1e3,d.DLQ.MAX_RECEIVE_COUNT.MAX).optional()}).strict()]).optional()}).strict(),j$=s.object({revalidationQueue:$L.optional()}).strict(),z$=s.object({domainNames:s.array(s.string()).optional(),certificateArn:s.string().optional()}).strict(),L$=s.record(s.string().regex(L.ENV_VAR_NAME,d.ENV_VAR_NAME),s.string()).optional(),TL=s.object({type:s.literal("payload"),name:s.string().min(1,d.REQUIRED.PATTERN_NAME),domain:s.string().optional(),database:O$.optional(),compute:D$.optional(),storage:M$.optional(),messaging:j$.optional(),cdn:z$.optional(),environment:L$}).strict(),RL=s.object({type:s.literal("nextjs"),name:s.string().min(1,d.REQUIRED.PATTERN_NAME),domain:s.string().optional(),database:O$.optional(),compute:D$.optional(),storage:M$.optional(),messaging:j$.optional(),cdn:z$.optional(),environment:L$}).strict(),Fv=s.enum(Zo),PL=s.object({command:s.string().min(1,d.REQUIRED.BUILD_COMMAND),outputDir:s.string().min(1,d.REQUIRED.OUTPUT_DIR)}).strict(),CL=s.object({headers:s.boolean().optional(),contentSecurityPolicy:s.string().optional()}).strict(),NL=s.object({to:s.string().min(1,d.REQUIRED.FORMS_TO).regex(L.EMAIL,d.EMAIL),from:s.string().regex(L.EMAIL,d.EMAIL).optional(),corsOrigin:s.string().regex(L.HTTP_ORIGIN,"corsOrigin must be an exact origin such as https://example.com (no path, no trailing slash)").optional(),maxConcurrency:s.number().int().min(1).max(100).optional()}).strict(),wL=s.object({behaviours:s.array(s.unknown()).optional()}).strict(),Bv=s.object({type:s.literal("staticsite"),name:s.string().min(1,d.REQUIRED.PATTERN_NAME),source:s.string().min(1,d.REQUIRED.SOURCE),build:PL,routing:Fv.optional(),security:CL.optional(),domain:s.string().optional(),forms:NL.optional(),cdn:wL.optional()}).strict().superRefine((e,t)=>{if(e.forms===void 0)return;let n=e.domain;if(n===void 0||n===""){t.addIssue({code:"custom",path:["domain"],message:"A domain is required when forms are enabled: SES sends only from a verified identity, and the site's domain is the identity the pattern verifies"});return}let i=e.forms.from;i!==void 0&&!tu(i,n)&&t.addIssue({code:"custom",path:["forms","from"],message:`forms.from must be an address at ${n} (the verified SES identity) \u2014 for example noreply@${n}. Use forms.to for the recipient.`})}),pa=s.discriminatedUnion("type",[TL,RL,Bv]),U$=s.enum(["lightweight","standard","resilient","custom"]),F$=s.object({type:s.enum(xv),instanceType:s.string().optional(),backupRetention:Qt.optional(),deletionProtection:s.boolean().optional(),encryption:s.union([s.object({useCMK:s.literal(!0)}).strict(),s.literal(!1)]).optional()}).strict(),B$=s.object({memorySize:Ci.optional(),timeout:s.number().int(d.LAMBDA.TIMEOUT.INTEGER).min(1,d.LAMBDA.TIMEOUT.MIN).max(900,d.LAMBDA.TIMEOUT.MAX).optional()}).strict();var V$=s.object({appName:ve,type:$v,pattern:Tv.optional(),patternConfig:pa.optional(),owner:s.string().optional(),tags:s.record(s.string(),s.string()).optional(),vpcId:s.string().optional(),network:Vu.optional(),backup:YI.optional(),tunnel:XI.optional(),additionalNetworks:s.array(g$).optional(),database:s.array(r$),s3:s.array(v$),compute:s.array(w$),dynamodb:s.array(u$).optional(),clickhouse:s.array(l$).optional(),sqs:s.array(b$).optional(),cdn:S$.optional(),customCodeBlocks:s.array(KI).optional(),additionalManagedImports:s.array(s.object({moduleSpecifier:s.string(),namedImports:s.array(s.string()),defaultImport:s.string().optional()}).strict()).optional()}).strict(),DH=s.object({name:ve,type:$v,pattern:Tv.optional(),patternTier:U$.optional(),patternDomain:s.string().optional(),source:s.string().min(1,d.REQUIRED.SOURCE).optional(),buildCommand:s.string().min(1,d.REQUIRED.BUILD_COMMAND).optional(),outputDir:s.string().min(1,d.REQUIRED.OUTPUT_DIR).optional(),routing:Fv.optional(),formsTo:s.string().min(1,d.REQUIRED.FORMS_TO).regex(L.EMAIL,d.EMAIL).optional(),corsOrigin:s.string().regex(L.HTTP_ORIGIN,"corsOrigin must be an exact origin such as https://example.com (no path, no trailing slash)").optional(),customDatabase:F$.optional(),customCompute:B$.optional(),region:s.string().optional(),owner:s.string().optional(),includeDatabase:s.boolean().optional(),databaseName:s.string().min(1,d.DATABASE.NAME.REQUIRED).max(63,d.DATABASE.NAME.MAX_LENGTH).optional(),vpcId:s.string().optional(),network:h$.optional(),services:s.array(k$).optional(),snapshotIdentifier:s.string().optional(),snapshotUsername:s.string().optional()}).strict().superRefine((e,t)=>{e.formsTo!==void 0&&(e.patternDomain!==void 0&&e.patternDomain!==""||t.addIssue({code:"custom",path:["patternDomain"],message:"A domain is required when forms are enabled: SES sends only from a verified identity, and the site's domain is the identity the pattern verifies"}))}),MH=s.object({name:V,localResource:s.string().min(1),remoteApp:s.string().min(1),remoteResource:s.string().min(1),permission:s.enum(["read","write","read-write"]),remoteArn:s.string().optional()}).strict();var kL=["fjall-managed","external","external-manual"],FH=s.enum(kL);var Z$=s.object({givenName:s.string().min(1),familyName:s.string().min(1),displayName:s.string().min(1).optional(),expires:s.string().min(1).optional()}).strict(),G$=s.object({name:s.string().min(1),path:s.string().min(1).optional()}).strict(),OL=s.union([s.object({managedPolicyArn:s.string().min(1)}).strict(),s.object({customerManagedPolicy:G$}).strict()]),DL=s.object({managedPolicies:s.array(s.string().min(1)).optional(),inlinePolicy:s.record(s.string(),s.unknown()).optional(),customerManagedPolicies:s.array(G$).optional(),permissionsBoundary:OL.optional(),sessionDuration:s.string().min(1).optional(),description:s.string().optional(),accounts:s.union([s.array(s.string().min(1)),s.literal("all")]).optional(),includeManagementAccount:s.boolean().optional(),groups:s.array(s.string().min(1)).optional()}).strict(),ML=s.object({description:s.string().optional()}).strict(),Ku=s.string().regex(L.EMAIL,d.EMAIL),Vv={groups:s.record(s.string(),ML).optional(),permissionSets:s.record(s.string(),DL).optional(),memberships:s.record(s.string(),s.array(Ku)).optional(),resolutionVersion:s.number().int().min(1).optional(),defaultPermissionSets:s.boolean().optional()},jL=s.discriminatedUnion("source",[s.object({...Vv,source:s.literal("fjall-managed"),users:s.record(Ku,Z$)}).strict(),s.object({...Vv,source:s.literal("external")}).strict(),s.object({...Vv,source:s.literal("external-manual"),users:s.record(Ku,Z$).optional()}).strict()]),BH=s.object({name:V,type:s.literal("organisation").optional(),organisationName:s.string().min(1).optional(),orgEmail:Ku.optional(),accounts:s.unknown().optional(),accountIds:s.record(s.string(),s.string()).optional(),identityCentre:s.union([jL,s.literal(!1)]).optional(),allowedRegions:s.array(s.string().min(1)).optional()}).strict();var zL=Object.defineProperty,LL=(e,t)=>zL(e,"name",{value:t,configurable:!0}),UL=[1,3,5,7,14,30,60,90,120,150,180,365,400,545,731,1827,3653],FL=s.object({buildkiteQueue:s.string().min(1,"buildkiteQueue cannot be empty").max(100).regex(/^[a-zA-Z0-9-_]+$/,"buildkiteQueue must be alphanumeric with hyphens/underscores"),buildkiteOrgSlug:s.string().min(1,"buildkiteOrgSlug cannot be empty").max(100).regex(/^[a-z0-9-]+$/,"buildkiteOrgSlug must be a lowercase Buildkite organisation slug"),agentTokenSsmParameterName:s.string().min(2).regex(/^\//,"agentTokenSsmParameterName must be a full path (leading /)").optional(),agentTokenKmsKeyArn:s.string().min(1).optional(),fjallApiKeySsmParameterName:s.string().min(2).regex(/^\//,"fjallApiKeySsmParameterName must be a full path (leading /)").optional(),instanceType:s.string().min(1).default("c8g.xlarge"),agentVolumeSizeGib:s.number().int().min(20).max(1e3).default(250),agentMinInstances:s.number().int().min(0).default(0),agentMaxInstances:s.number().int().min(1).default(2),agentsPerInstance:s.number().int().min(1).default(1),spotCapacityPercentage:s.number().int().min(0).max(100).default(0),scaleInIdlePeriodSeconds:s.number().int().min(60).default(600),disconnectAfterUptimeSeconds:s.number().int().min(3600).default(86400),maxInstanceLifetimeDays:s.number().int().min(1).max(365).default(7),terminateInstanceAfterJob:s.boolean().default(!1),purgeBuildsOnDiskFull:s.boolean().default(!0),terminateInstanceOnDiskFull:s.boolean().default(!1),logRetentionDays:s.number().int().min(1).default(30),agentLogRetentionDays:s.literal(UL).default(7),buildkiteAgentRelease:s.enum(["stable","beta","edge"]).default("stable"),buildkiteAgentTags:s.string().default(""),buildkiteAgentTimestampLines:s.boolean().default(!1),buildkiteAgentExperiments:s.string().default(""),buildkiteAgentTracingBackend:s.enum(["","datadog","opentelemetry"]).default(""),buildkiteAgentCancelGracePeriodSeconds:s.number().int().min(10).default(60),enableSecretsPlugin:s.boolean().default(!0),enableEcrPlugin:s.boolean().default(!1),enableDockerLoginPlugin:s.boolean().default(!1),enableDockerUserNamespaceRemap:s.boolean().default(!0),enableDockerExperimental:s.boolean().default(!1),dockerNetworkingProtocol:s.enum(["ipv4","dualstack"]).default("ipv4"),enableInstanceStorage:s.boolean().default(!1),mountTmpfsAtTmp:s.boolean().default(!0),buildkiteAgentEnableGitMirrors:s.boolean().default(!1),bootstrapScriptUrl:s.string().default(""),agentEnvFileUrl:s.string().default(""),scalerEventSchedulePeriod:s.string().min(1).default("1 minute"),scalerMinPollInterval:s.string().min(1).default("10s"),scaleOutFactor:s.string().min(1).default("1.0"),scaleOutWaitingForJobs:s.boolean().default(!1),rolePermissionsBoundaryArn:s.string().min(1).optional(),alarmSnsTopicArn:s.string().min(1).optional(),applicationId:s.string().min(1).optional(),costAllocationEnvironment:s.string().min(1).optional(),costAllocationOwner:s.string().min(1).optional()}).strict(),BL=FL.refine(e=>e.agentMinInstances<=e.agentMaxInstances,{message:"agentMinInstances must be <= agentMaxInstances"});function VL(e){let t=BL.safeParse(e);if(!t.success){let n=t.error.issues.map(i=>` - ${i.path.join(".")||"(root)"}: ${i.message}`).join(`
187
+ `)}catch{}}Jj(rz,"writeDebugSync");var nz=Object.defineProperty,_i=(e,t)=>nz(e,"name",{value:t,configurable:!0});function lv(e){return e.success===!0}_i(lv,"isSuccess");function dv(e){return e.success===!1}_i(dv,"isFailure");function C(e){return{success:!0,data:e}}_i(C,"success");function $(e){return{success:!1,error:e}}_i($,"failure");async function mv(e){try{let t=await e();return C(t)}catch(t){return $(vt(t))}}_i(mv,"tryAsync");function pv(e){try{let t=e();return C(t)}catch(t){return $(vt(t))}}_i(pv,"trySync");var iz=Object.defineProperty,oz=(e,t)=>iz(e,"name",{value:t,configurable:!0}),RI=/^[a-zA-Z][a-zA-Z0-9-]*$/,az=Bo.source.replace(/^\^|\$$/g,""),L=Object.freeze({IDENTIFIER:RI,NEW_APP_NAME:/^[a-z][a-z0-9-]*$/,RESOURCE_NAME:/^[a-zA-Z][a-zA-Z0-9]*$/,ECS_SERVICE_NAME:RI,BUCKET_NAME:/^[a-z][a-z0-9-]*[a-z0-9]$|^[a-z][a-z0-9]*$/,DATABASE_NAME:/^[a-zA-Z][a-zA-Z0-9_]*$/,RESOURCE_TYPE:/^[a-z]+(:[a-z]+)?$/,SSM_PATH:new RegExp(`^(?:/${az})+$`),SECRET_NAME:Jc,SSM_COMPONENT:Bo,EMAIL:/^[^\s@]+@[^\s@]+\.[^\s@]+$/,DOCKER_IMAGE:/^[a-z0-9][a-z0-9._-]*[a-z0-9](:[a-z0-9._-]+)?$/,DOMAIN:/^[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)+$/i,HTTP_ORIGIN:/^https?:\/\/[a-z0-9.-]+(:\d+)?$/i,PASCAL_CASE:/^[A-Z][A-Za-z0-9]*$/,AWS_ACCOUNT_ID:/^\d{12}$/,VPC_ID:/^vpc-[a-z0-9]+$/,ROLE_ARN:/^arn:aws[a-zA-Z-]*:iam::\d{12}:role\/.+$/,CIDR:/^((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\/(3[0-2]|[12]?\d)$/,SCHEDULE_EXPRESSION:/^(rate\(1 (?:minute|hour|day)\)|rate\((?:[2-9]|[1-9]\d+) (?:minutes|hours|days)\)|cron\([^\s()]+ [^\s()]+ [^\s()]+ [^\s()]+ [^\s()]+ [^\s()]+\))$/,LAMBDA_RUNTIME_IDENTIFIER:/^[A-Za-z0-9._-]+$/,ENV_VAR_NAME:/^[A-Za-z_][A-Za-z0-9_]*$/});function fv(e){let t=/^rate\((\d+) (minute|minutes|hour|hours|day|days)\)$/.exec(e);if(!t)return;let n=t[1],i=t[2];if(n===void 0||i===void 0)return;let r=parseInt(n,10);if(!Number.isFinite(r)||r<1)return;let o=i==="minute"||i==="hour"||i==="day";if(!(o&&r!==1)&&!(!o&&r===1))return i==="minute"||i==="minutes"?{everyMs:r*6e4}:i==="hour"||i==="hours"?{everyMs:r*60*6e4}:{everyMs:r*24*60*6e4}}oz(fv,"parseRateExpression");var d=Object.freeze({IDENTIFIER:"Must start with a letter, contain only letters, numbers, and hyphens",NEW_APP_NAME:"Must start with a lowercase letter and contain only lowercase letters, numbers, and hyphens",IDENTIFIER_MIN_LENGTH:"Must be at least 2 characters",IDENTIFIER_NO_TRAILING_HYPHEN:"Must not end with a hyphen",IDENTIFIER_NO_CONSECUTIVE_HYPHENS:"Must not contain consecutive hyphens",RESOURCE_NAME:"Must start with a letter and contain only letters and numbers (PascalCase recommended)",ECS_SERVICE_NAME:"Service name must start with a letter and contain only letters, numbers, and hyphens",BUCKET_NAME:"Bucket name must start with a lowercase letter and contain only lowercase letters, numbers, and hyphens",DATABASE_NAME:"Database name must start with a letter and contain only letters, numbers, and underscores",RESOURCE_TYPE:"Resource type must be in format 'category' or 'category:type'",SSM_PATH:"SSM path must start with / and contain valid namespace segments (e.g., /myapp/ApiCluster/service)",SECRET_NAME:fh,SSM_COMPONENT:Qc,EMAIL:"Please enter a valid email address",DOMAIN:"Please enter a valid domain (e.g., cms.example.com)",DOCKER_IMAGE:"Invalid Docker image name format",REQUIRED:{APP_NAME:"Application name is required",RESOURCE_NAME:"Resource name is required",BUCKET_NAME:"Bucket name is required",SERVICE_NAME:"Service name is required",NETWORK_NAME:"Network name is required",DATABASE_NAME:"Database name is required",ORGANISATION_NAME:"Organisation name is required",EMAIL:"Email is required",NAME:"Name is required",USERNAME:"Username is required",CONTAINER_NAME:"Container name is required",GROUP:"Group is required",PATTERN_NAME:"Pattern name is required",SOURCE:"Source directory is required",BUILD_COMMAND:"Build command is required",OUTPUT_DIR:"Output directory is required",FORMS_TO:"Forms recipient address is required",ROUTING_PATH:"Routing path is required",RESOURCE_REFERENCE:"Resource reference is required",RESOURCE_TYPE:"Resource type is required",VARIANT:"Variant is required",SUBTYPE:"Subtype is required",DEPLOY_TARGET:"Deploy target is required",DESTROY_TARGET:"Destroy target is required"},MAX_LENGTH:{APP_NAME:"Application name must be 50 characters or less",RESOURCE_NAME:"Resource name must be 63 characters or less",BUCKET_NAME:"Bucket name must be 63 characters or less",SERVICE_NAME:"Service name must be 255 characters or less",NETWORK_NAME:"Network name must be 50 characters or less",DATABASE_NAME:"Database name must be 63 characters or less",ORGANISATION_NAME:"Organisation name must be 50 characters or less"},PORT:{INTEGER:"Port must be an integer",MIN:"Port must be at least 1",MAX:"Port cannot exceed 65535"},USERNAME:{MAX_LENGTH:"Username cannot exceed 63 characters"},LAMBDA:{MEMORY:{INTEGER:"Lambda memory must be an integer",MIN:"Memory must be at least 128 MB",MAX:"Memory cannot exceed 10240 MB",MULTIPLE:"Memory must be 128 MB or a multiple of 64 MB"},TIMEOUT:{INTEGER:"Timeout must be an integer",MIN:"Timeout must be at least 1 second",MAX:"Timeout cannot exceed 900 seconds"},RUNTIME:"Lambda runtime must contain only letters, digits, dots, underscores, or dashes (e.g. 'NODEJS_20_X' or 'nodejs20.x')"},ENV_VAR_NAME:"Environment variable names must start with a letter or underscore and contain only letters, digits, and underscores",PRIORITY:{INTEGER:"Priority must be an integer",MIN:"Priority must be at least 1",MAX:"Priority cannot exceed 50000"},CAPACITY:{MIN:{INTEGER:"Minimum capacity must be an integer",MIN_0:"Minimum capacity must be at least 0",MIN_1:"Minimum capacity must be at least 1",MAX:"Minimum capacity cannot exceed 100"},MAX:{INTEGER:"Maximum capacity must be an integer",MIN_0:"Maximum capacity must be at least 0",MIN_1:"Maximum capacity must be at least 1",MAX:"Maximum capacity cannot exceed 100"},DESIRED:{INTEGER:"Desired count must be an integer",MIN:"Desired count must be at least 0",MAX:"Desired count cannot exceed 100"},WARM_POOL_REQUIRED:"minCapacity 0 requires a warmPool \u2014 without it, new tasks wait 60-90s for a cold instance launch",WARM_POOL:{MIN_SIZE:{INTEGER:"Warm pool minSize must be an integer",MIN:"Warm pool minSize must be at least 0",MAX:"Warm pool minSize cannot exceed 100"},MIN_SIZE_EXCEEDS_MAX_CAPACITY:"warmPool.minSize cannot exceed maxCapacity \u2014 the warm pool cannot hold more instances than the ASG allows"}},MEMORY_LIMIT:{INTEGER:"Memory limit must be an integer",MIN_512:"Memory limit must be at least 512 MiB",MIN_128:"Memory limit must be at least 128 MiB",MAX:"Memory limit cannot exceed 30720 MiB"},DATABASE:{PORT:{INTEGER:"Database port must be an integer",MIN:"Database port must be at least 1024",MAX:"Database port cannot exceed 65535"},NAME:{REQUIRED:"Database name is required",MAX_LENGTH:"Database name must be 63 characters or less"}},BACKUP_RETENTION:{INTEGER:"Backup retention must be an integer",MIN:"Backup retention must be at least 1 day",MAX:"Backup retention cannot exceed 35 days"},SQS:{VISIBILITY_TIMEOUT:{INTEGER:"Visibility timeout must be an integer",MIN:"Visibility timeout must be at least 0 seconds",MAX:"Visibility timeout cannot exceed 43200 seconds (12 hours)"},RETENTION_PERIOD:{INTEGER:"Retention period must be an integer",MIN:"Retention period must be at least 60 seconds",MAX:"Retention period cannot exceed 1209600 seconds (14 days)"}},READER:{COUNT:{INTEGER:"Reader count must be an integer",MIN:"Reader count must be at least 0",MAX:"Reader count cannot exceed 15"}},IDENTIFIER_SUFFIX:{REQUIRED:"Identifier suffix is required when specified",MAX_LENGTH:"Identifier suffix cannot exceed 50 characters"},ROTATION:{INTEGER:"Rotation days must be an integer",MIN:"Rotation interval must be at least 1 day",MAX:"Rotation interval cannot exceed 365 days"},MAX_CONNECTIONS:{INTEGER:"Max connections must be an integer",MIN:"Max connections must be at least 1",MAX:"Max connections cannot exceed 100"},MONITORING_INTERVAL:{INTEGER:"Monitoring interval must be an integer",MIN:"Monitoring interval must be at least 0",MAX:"Monitoring interval cannot exceed 60 seconds",VALUES:"Monitoring interval must be 0, 1, 5, 10, 15, 30, or 60 seconds"},RETENTION_DAYS:{INTEGER:"Retention days must be an integer",MIN:"Retention days must be at least 1",MAX:"Retention days cannot exceed 365"},BATCH_SIZE:{INTEGER:"Batch size must be an integer",MIN:"Batch size must be at least 1",MAX:"Batch size cannot exceed 10000"},SERVICE:{UNIQUE_WITHIN_CLUSTER:"Service names must be unique within a cluster",MIN_REQUIRED:"At least one service is required",ROUTING_REQUIRED:"Multiple services with ports require routing config (path or host)"},PROXY_CONFIG:{MAX_IDLE_CONNECTIONS:{INTEGER:"Max idle connections must be an integer",MIN:"Max idle connections must be at least 0",MAX:"Max idle connections cannot exceed 100"},BORROW_TIMEOUT:{INTEGER:"Connection borrow timeout must be an integer",MIN:"Connection borrow timeout must be at least 1 second",MAX:"Connection borrow timeout cannot exceed 3600 seconds"}},MAX_AZS:{INTEGER:"Max AZs must be an integer",MIN:"Max AZs must be at least 1",MAX:"Max AZs cannot exceed 3"},BATCHING_WINDOW:{INTEGER:"Max batching window must be an integer",MIN:"Max batching window must be at least 0",MAX:"Max batching window cannot exceed 300 seconds"},HEALTH_CHECK:{INTERVAL:{INTEGER:"Health check interval must be an integer",MIN:"Health check interval must be at least 5 seconds",MAX:"Health check interval cannot exceed 300 seconds"},TIMEOUT:{INTEGER:"Health check timeout must be an integer",MIN:"Health check timeout must be at least 2 seconds",MAX:"Health check timeout cannot exceed 60 seconds"},RETRIES:{INTEGER:"Health check retries must be an integer",MIN:"Health check retries must be at least 1",MAX:"Health check retries cannot exceed 10"},START_PERIOD:{INTEGER:"Health check start period must be an integer",MIN:"Health check start period must be at least 0 seconds",MAX:"Health check start period cannot exceed 300 seconds"}},EPHEMERAL_STORAGE:{INTEGER:"Ephemeral storage size must be an integer",MIN:"Ephemeral storage size must be at least 512 MB",MAX:"Ephemeral storage size cannot exceed 10240 MB"},MAX_MESSAGE_SIZE:{INTEGER:"Max message size must be an integer",MIN:"Max message size must be at least 1024 bytes",MAX:"Max message size cannot exceed 262144 bytes (256 KB)"},CAPACITY_CONSTRAINT:{MIN_LTE_MAX:"minCapacity must be less than or equal to maxCapacity"},DIRECT_ACCESS:{NO_DOMAIN:"directAccess cannot be used with domain (no ALB for HTTPS)",NO_LOAD_BALANCER:"directAccess cannot be used with loadBalancer (mutually exclusive)"},GLOBAL_AURORA:{PRIMARY_REGION_REQUIRED:"primaryRegion is required for GlobalAurora databases"},NAT_GATEWAY:{INTEGER:"NAT gateway count must be an integer",MIN:"NAT gateway count must be at least 0",MAX:"NAT gateway count cannot exceed 3"},CIDR_MASK:{INTEGER:"CIDR mask must be an integer",MIN:"CIDR mask must be at least 16",MAX:"CIDR mask cannot exceed 28"},CPU:{INTEGER:"CPU must be an integer",MIN:"CPU must be at least 256 units",MAX:"CPU cannot exceed 4096 units"},KMS:{KEY_REQUIRED:"KMS key ARN is required when using KMS encryption"},READER_INSTANCES:{MAX:"Cannot have more than 15 reader instances",COUNT_OR_INSTANCES:"Cannot specify both 'count' and 'instances' - use one or the other"},GENERATOR_CAPACITY:{MIN:{MIN:"Minimum capacity must be at least 1",MAX:"Minimum capacity cannot exceed 1000"},MAX:{MIN:"Maximum capacity must be at least 1",MAX:"Maximum capacity cannot exceed 1000"}},INSTANCE_TYPE:"Unknown instance type. Common types include: t4g.micro, t4g.small, m5.large",ARCHITECTURE_MISMATCH:"Architecture mismatch between instance type and AMI",ALLOCATED_STORAGE:{INTEGER:"Allocated storage must be an integer",MIN:"Allocated storage must be at least 20 GB",MAX:"Allocated storage cannot exceed 65536 GB"},DLQ:{MAX_RECEIVE_COUNT:{INTEGER:"Max receive count must be an integer",MIN:"Max receive count must be at least 1",MAX:"Max receive count cannot exceed 1000"}},ALARM:{PERCENTAGE:{MIN:"Threshold must be at least 1%",MAX:"Threshold must be at most 100%"},FREE_STORAGE_GIB:{MIN:"Free storage threshold must be at least 1 GiB"}},REGION:"Invalid AWS region",PASCAL_CASE:"Resource name must start with an uppercase letter and contain only alphanumerics (PascalCase).",IMAGE_DOCKER_MUTEX:"image and docker are mutually exclusive",AWS_ACCOUNT_ID:"AWS account id must be exactly 12 digits (no hyphens)",VPC_ID:"VPC id must look like vpc-abc12345",ROLE_ARN:"Role ARN must have the form arn:aws:iam::<account-id>:role/<name>",CIDR:"CIDR must be in dotted-quad/prefix-length form (e.g. 10.0.0.0/16)",VPC_PEER:{MIN_REQUESTER_ACCOUNTS:"At least one requester account id is required",REGION_REQUIRED:"Peer region is required when specified",ROUTE_TABLE_ID_REQUIRED:"Route table id must not be empty"},SCHEDULE_EXPRESSION:"Schedule expression must be 'rate(N minute|minutes|hour|hours|day|days)' with N>=1, or 'cron(<6-field AWS expression>)'"});var sz=Object.defineProperty,st=(e,t)=>sz(e,"name",{value:t,configurable:!0}),cz=["us-east-2","us-west-2","us-east-1","eu-west-1","eu-central-1","ap-southeast-1"],uz=Object.freeze(cz.flatMap(e=>{let t=Nn(e);return t?[t]:[]})),gv=Object.freeze(["us-east-2","us-west-2","us-east-1","eu-west-1","ap-southeast-1"]);function Eu(e){return e?e.split(",").map(t=>t.trim()).filter(Boolean):[]}st(Eu,"parseRegionList");function hv(e){return Kt.includes(e)}st(hv,"isValidRegion");function vv(e){return/^[a-z]{2}-[a-z]+-[1-9]$/.test(e)}st(vv,"isValidRegionFormat");function bv(e){if(!e)return gv.slice(0,3);let t=e.toLowerCase().split("-"),n=t[0],i=t.length>1?t[1]:"",r=[];return n&&i&&(r=Kt.filter(o=>o.startsWith(`${n}-${i}`))),r.length===0&&n&&(r=Kt.filter(o=>o.startsWith(`${n}-`))),r.length>0?r.slice(0,3):gv.slice(0,3)}st(bv,"getSuggestions");function yv(e){if(hv(e))return!0;let t=bv(e);return vv(e)?`Unknown region. Try: ${t.join(", ")}`:`Invalid format. Try: ${t.join(", ")}`}st(yv,"validateRegion");function PI(e){if(!e||e.trim()==="")return!0;let t=Eu(e);for(let n of t){let i=yv(n);if(i!==!0)return i}return!0}st(PI,"validateRegionList");function Sv(e,t){return e.filter(n=>n!==t)}st(Sv,"filterDuplicateRegions");function _v(e){return{label:e.city,value:e.code,description:e.optIn?`${e.code} \u2014 opt-in required`:e.code}}st(_v,"toRegionOption");function CI(){return it.map(_v)}st(CI,"getRegionOptions");function NI(e){return it.filter(t=>t.code!==e).map(_v)}st(NI,"getRegionOptionsExcluding");function wI(e){let t=it.find(n=>n.code===e);return t?t.city:e}st(wI,"getRegionName");function kI(e){return t=>{let n=Eu(t);return Sv(n,e)}}st(kI,"createRegionFormatter");var xu="3.11.0";var Au=["Aurora","Instance","GlobalAurora","ClickHouse"],Ei=["FARGATE","FARGATE_SPOT","EC2"],_t=["standard","resilient","enterprise"],Iu=["tinkerer","lightweight","standard","resilient","enterprise"],Ev="custom",ra=[...Iu,Ev];var lz=Object.defineProperty,dz=(e,t)=>lz(e,"name",{value:t,configurable:!0}),i5=Object.freeze({RESOURCE_SUFFIXES:Object.freeze({storage:"Storage",database:"Database",cluster:"Cluster",function:"Function",instance:"Instance",compute:"Compute"})}),na=["ecs","lambda","ec2"],xi=Object.freeze({ECS:"ecs",LAMBDA:"lambda",EC2:"ec2"}),$u=["code","container"],ia=Object.freeze({CODE:"code",CONTAINER:"container"}),Tu=["ARM_64","X86_64"],OI="ARM_64",oa=["NONE","AWS_IAM"],Ru=["public","internal"],Pu=["CPU","MEMORY"],Cu=["ARM","STANDARD"],xv=["Instance","Aurora"],Ai=["postgresql","mysql"],DI=["foundation","compliance","hardened"];var Nu=["t3.nano","t3.micro","t3.small","t3.medium","t3.large","t3.xlarge","t3.2xlarge","t3a.nano","t3a.micro","t3a.small","t3a.medium","t3a.large","t3a.xlarge","t3a.2xlarge","t4g.nano","t4g.micro","t4g.small","t4g.medium","t4g.large","t4g.xlarge","t4g.2xlarge","c5.large","c5.xlarge","c5.2xlarge","c5.4xlarge","c5.9xlarge","c5.12xlarge","c5.18xlarge","c5.24xlarge","c5a.large","c5a.xlarge","c5a.2xlarge","c5a.4xlarge","c5a.8xlarge","c5a.12xlarge","c5a.16xlarge","c5a.24xlarge","c6g.medium","c6g.large","c6g.xlarge","c6g.2xlarge","c6g.4xlarge","c6g.8xlarge","c6g.12xlarge","c6g.16xlarge","r5.large","r5.xlarge","r5.2xlarge","r5.4xlarge","r5.8xlarge","r5.12xlarge","r5.16xlarge","r5.24xlarge","r5a.large","r5a.xlarge","r5a.2xlarge","r5a.4xlarge","r5a.8xlarge","r5a.12xlarge","r5a.16xlarge","r5a.24xlarge","r6g.medium","r6g.large","r6g.xlarge","r6g.2xlarge","r6g.4xlarge","r6g.8xlarge","r6g.12xlarge","r6g.16xlarge","i3.large","i3.xlarge","i3.2xlarge","i3.4xlarge","i3.8xlarge","i3.16xlarge","p3.2xlarge","p3.8xlarge","p3.16xlarge","g4dn.xlarge","g4dn.2xlarge","g4dn.4xlarge","g4dn.8xlarge","g4dn.12xlarge","g4dn.16xlarge","m5.large","m5.xlarge","m5.2xlarge","m5.4xlarge","m5.8xlarge","m5.12xlarge","m5.16xlarge","m5.24xlarge","m5a.large","m5a.xlarge","m5a.2xlarge","m5a.4xlarge","m5a.8xlarge","m5a.12xlarge","m5a.16xlarge","m5a.24xlarge"],MI=[0,1,5,10,15,30,60];function ct(e,t){return e.includes(t)}dz(ct,"constIncludes");var jI=1,zI=65535,u5=Object.freeze({postgresql:5432,mysql:3306}),LI=128,UI=10240,wu=1,ku=900,Av=1,Iv=1e3,Ii=100,FI=100;var BI=3e3;var VI=["GET","POST","PUT","DELETE","HEAD","OPTIONS","PATCH"],ZI=["standard","assets","upload","website"],$i=["AES256","KMS"];var mz=Object.defineProperty,aa=(e,t)=>mz(e,"name",{value:t,configurable:!0}),He=aa(e=>s.union([s.literal(!1),e]),"optionalOrDisabled"),an={check:aa(e=>e.minCapacity!==void 0&&e.maxCapacity!==void 0?e.minCapacity<=e.maxCapacity:!0,"check"),params:{message:d.CAPACITY_CONSTRAINT.MIN_LTE_MAX,path:["maxCapacity"]}},sa=aa(e=>s.number().int(d.MEMORY_LIMIT.INTEGER).min(e,e===128?d.MEMORY_LIMIT.MIN_128:d.MEMORY_LIMIT.MIN_512).max(30720,d.MEMORY_LIMIT.MAX),"memoryLimitMiBSchema"),V=s.string().min(1,d.REQUIRED.RESOURCE_NAME).max(63,d.MAX_LENGTH.RESOURCE_NAME).regex(L.RESOURCE_NAME,d.RESOURCE_NAME),WI=s.string().min(1,d.REQUIRED.BUCKET_NAME).max(63,d.MAX_LENGTH.BUCKET_NAME).regex(L.BUCKET_NAME,d.BUCKET_NAME),HI=s.string().min(1,d.REQUIRED.DATABASE_NAME).max(63,d.MAX_LENGTH.DATABASE_NAME).regex(L.DATABASE_NAME,d.DATABASE_NAME);function Ou(e,t=L.IDENTIFIER,n=d.IDENTIFIER){return s.string().min(2,d.IDENTIFIER_MIN_LENGTH).max(50,e).regex(t,n).refine(i=>!i.endsWith("-"),{message:d.IDENTIFIER_NO_TRAILING_HYPHEN}).refine(i=>!i.includes("--"),{message:d.IDENTIFIER_NO_CONSECUTIVE_HYPHENS})}aa(Ou,"identifierSchema");var ve=Ou(d.MAX_LENGTH.APP_NAME),h5=Ou(d.MAX_LENGTH.APP_NAME,L.NEW_APP_NAME,d.NEW_APP_NAME),sn=s.number().int(d.PORT.INTEGER).min(jI,d.PORT.MIN).max(zI,d.PORT.MAX),Te=s.object({key:s.string(),sourceText:s.string()}).strict(),pz=s.object({__identifier:s.string()}).strict(),fz=s.object({__expression:s.string()}).strict(),gz=s.object({__call:s.string()}).strict(),hz=s.union([pz,fz,gz]),vz=s.union([s.string(),s.number(),s.boolean(),hz]),Ti=s.record(s.string().regex(L.ENV_VAR_NAME,d.ENV_VAR_NAME),vz),bz=s.object({id:s.string(),name:s.string().optional(),arn:s.string().optional(),field:s.string().optional()}).strict().refine(e=>e.name!==void 0!=(e.arn!==void 0),{message:"secretsImport requires exactly one of `name` or `arn`."}),qI=s.record(s.string(),bz),v5=s.record(s.string(),s.unknown()),$v=s.enum(ra).describe(`Application type must be one of: ${ra.join(", ")}`),Tv=s.enum(kt).describe(`OpenNext deployment pattern: ${kt.join(", ")}`),yz=s.enum(["before-imports","after-imports","after-app-init","after-tags","after-resource","end-of-file"]),Sz=s.enum(["import","app-init","tags","database","compute","storage","network","messaging","cdn","pattern","vpc-peer","vpc-peer-accepter","cross-plan-connection","custom"]),KI=s.object({sourceText:s.string(),position:yz,afterManagedResource:s.object({type:Sz,name:s.string().optional()}).strict().optional(),originalLine:s.number().int().optional(),leadingComments:s.array(s.string()).optional(),orphaned:s.boolean().optional(),orphanedComment:s.string().optional()}).strict(),YI=s.union([s.object({tier:s.enum(_t)}).strict(),s.literal(!1)]),XI=s.union([s.object({instanceType:s.string().optional()}).strict(),s.literal(!1)]),_z=Ou(d.MAX_LENGTH.ORGANISATION_NAME),Ez=s.string().regex(L.EMAIL,d.EMAIL),GI=s.string().refine(e=>Kt.includes(e),{message:d.REGION}),b5=s.object({name:_z,email:Ez,accountName:s.string().optional(),primaryRegion:GI.optional().default(Cn),secondaryRegions:s.array(GI).optional(),security:s.enum(DI).optional(),force:s.boolean().optional()}).strict();function ca(e){return e.issues.map(t=>`${t.path.length>0?`${t.path.join(".")}: `:""}${t.message}`).join(`
188
+ `)}aa(ca,"getZodErrorMessage");var Ri=s.number().min(1,d.ALARM.PERCENTAGE.MIN).max(100,d.ALARM.PERCENTAGE.MAX),xz=s.number().min(1,d.ALARM.FREE_STORAGE_GIB.MIN),JI=s.union([s.literal(!1),s.object({cpuThreshold:Ri.optional(),memoryThreshold:Ri.optional(),runningTasksMinimum:s.number().int().min(0).optional(),http5xxThreshold:Ri.optional()}).strict()]),QI=s.union([s.literal(!1),s.object({cpuThreshold:Ri.optional(),freeStorageThresholdGiB:xz.optional(),connectionsThreshold:s.number().int().min(1).optional()}).strict()]),e$=s.union([s.literal(!1),s.object({errorRateThreshold:Ri.optional(),durationThresholdPercent:Ri.optional()}).strict()]);var Qt=s.number().int(d.BACKUP_RETENTION.INTEGER).min(1,d.BACKUP_RETENTION.MIN).max(35,d.BACKUP_RETENTION.MAX),ua=s.number().int(d.MONITORING_INTERVAL.INTEGER).refine(e=>ct(MI,e),{message:d.MONITORING_INTERVAL.VALUES}),Mu=s.number().int(d.DATABASE.PORT.INTEGER).min(1024,d.DATABASE.PORT.MIN).max(65535,d.DATABASE.PORT.MAX),Az=s.enum(Au).describe(`Database type must be one of: ${Au.join(", ")}`),Iz=s.object({maxConnections:s.number().int(d.MAX_CONNECTIONS.INTEGER).min(1,d.MAX_CONNECTIONS.MIN).max(100,d.MAX_CONNECTIONS.MAX).optional(),maxIdleConnections:s.number().int(d.PROXY_CONFIG.MAX_IDLE_CONNECTIONS.INTEGER).min(0,d.PROXY_CONFIG.MAX_IDLE_CONNECTIONS.MIN).max(100,d.PROXY_CONFIG.MAX_IDLE_CONNECTIONS.MAX).optional(),connectionBorrowTimeout:s.number().int(d.PROXY_CONFIG.BORROW_TIMEOUT.INTEGER).min(1,d.PROXY_CONFIG.BORROW_TIMEOUT.MIN).max(3600,d.PROXY_CONFIG.BORROW_TIMEOUT.MAX).optional(),requireTLS:s.boolean().optional()}).strict().describe("RDS Proxy configuration"),$z=s.object({instanceType:s.string().optional(),availabilityZone:s.string().optional()}).strict().describe("Read replica configuration"),Tz=s.object({automaticallyAfterDays:s.number().int(d.ROTATION.INTEGER).min(1,d.ROTATION.MIN).max(365,d.ROTATION.MAX).optional()}).strict().describe("Secret rotation configuration"),ju=s.object({username:s.string().min(1,d.REQUIRED.USERNAME).max(63,d.USERNAME.MAX_LENGTH).optional(),secretRotation:Tz.optional()}).strict().describe("Database credentials configuration"),zu=He(Iz),Lu=He($z),Rz=s.object({scaleWithWriter:s.boolean().optional(),enableDatabaseInsights:s.boolean().optional(),identifierSuffix:s.string().min(1,d.IDENTIFIER_SUFFIX.REQUIRED).max(50,d.IDENTIFIER_SUFFIX.MAX_LENGTH).optional(),availabilityZone:s.string().optional()}).strict().describe("Configuration for a single Aurora reader instance"),la=s.object({enableDatabaseInsights:s.boolean().optional(),identifierSuffix:s.string().min(1,d.IDENTIFIER_SUFFIX.REQUIRED).max(50,d.IDENTIFIER_SUFFIX.MAX_LENGTH).optional(),availabilityZone:s.string().optional()}).strict().describe("Configuration for Aurora writer instance"),Pz=s.object({count:s.number().int(d.READER.COUNT.INTEGER).min(0,d.READER.COUNT.MIN).max(15,d.READER.COUNT.MAX).optional(),instances:s.array(Rz).max(15,d.READER_INSTANCES.MAX).optional(),defaultEnableDatabaseInsights:s.boolean().optional()}).strict().refine(e=>!(e.count!==void 0&&e.instances!==void 0),{message:d.READER_INSTANCES.COUNT_OR_INSTANCES,path:["count"]}).describe("Aurora readers configuration"),da=He(Pz),Cz=s.object({awsManaged:s.literal(!0)}).strict(),Nz=s.object({useCMK:s.literal(!0)}).strict(),t$=s.union([Cz,Nz]),wz=s.object({mode:s.enum(["standard","advanced"]).optional(),encryptionKey:t$.optional()}).strict().describe("Database Insights configuration"),Uu=He(wz),Fu=s.object({storageKey:t$.optional()}).strict().describe("Encryption configuration (DESTRUCTIVE to change storageKey)"),r$=s.object({name:V,type:Az,databaseName:s.string().min(1,d.REQUIRED.DATABASE_NAME),instanceType:s.string().optional(),allocatedStorage:s.number().optional(),multiAz:s.boolean().optional(),publiclyAccessible:s.boolean().optional(),databaseInsights:Uu.optional(),port:Mu.optional(),deletionProtection:s.boolean().optional(),proxy:zu.optional(),credentials:ju.optional(),readReplica:Lu.optional(),encryption:Fu.optional(),writer:la.optional(),readers:da.optional(),backupRetention:Qt.optional(),preferredMaintenanceWindow:s.string().optional(),monitoringInterval:ua.optional(),primaryRegion:s.string().optional(),secondaryRegions:s.array(s.string()).optional(),globalClusterIdentifier:s.string().optional(),enableGlobalWriteForwarding:s.boolean().optional(),snapshotIdentifier:s.string().optional(),snapshotUsername:s.string().optional(),databaseEngine:s.enum(Ai).optional(),engineExpression:s.string().optional(),variableName:s.string().optional(),extraProperties:s.array(Te).optional(),alarms:QI.optional()}).strict(),Bu=s.object({appName:ve,nameProvidedByFlag:s.boolean().optional(),databaseName:s.string().min(1,d.REQUIRED.DATABASE_NAME).max(63,d.MAX_LENGTH.DATABASE_NAME).regex(L.DATABASE_NAME,d.DATABASE_NAME),resourceName:V.optional(),connectionConfig:s.object({connectToCompute:s.array(s.string()).optional(),connectToServices:s.array(s.string()).optional()}).strict().optional(),databaseInsights:Uu.optional(),port:Mu.optional(),proxy:zu.optional(),credentials:ju.optional(),encryption:Fu.optional(),deletionProtection:s.boolean().optional()}).strict(),n$={databaseType:s.literal("Instance"),instanceType:s.string().optional(),multiAz:s.boolean().optional(),readReplica:Lu.optional(),publiclyAccessible:s.boolean().optional(),backupRetention:Qt.optional(),allocatedStorage:s.number().optional(),snapshotIdentifier:s.string().optional(),snapshotUsername:s.string().optional()},i$={databaseType:s.literal("Aurora"),writer:la.optional(),readers:da.optional(),backupRetention:Qt.optional(),preferredMaintenanceWindow:s.string().optional(),monitoringInterval:ua.optional(),snapshotIdentifier:s.string().optional(),snapshotUsername:s.string().optional()},o$={databaseType:s.literal("GlobalAurora"),primaryRegion:s.string().min(1,d.GLOBAL_AURORA.PRIMARY_REGION_REQUIRED),secondaryRegions:s.array(s.string()).optional(),globalClusterIdentifier:s.string().optional(),enableGlobalWriteForwarding:s.boolean().optional(),writer:la.optional(),readers:da.optional(),backupRetention:Qt.optional(),preferredMaintenanceWindow:s.string().optional(),monitoringInterval:ua.optional(),snapshotIdentifier:s.string().optional(),snapshotUsername:s.string().optional()},a$=s.object({appName:ve,nameProvidedByFlag:s.boolean().optional(),databaseName:s.string().min(1,d.REQUIRED.DATABASE_NAME).max(63,d.MAX_LENGTH.DATABASE_NAME).regex(L.DATABASE_NAME,d.DATABASE_NAME),resourceName:V.optional(),connectionConfig:s.object({connectToCompute:s.array(s.string()).optional(),connectToServices:s.array(s.string()).optional()}).strict().optional()}).strict(),s$={databaseType:s.literal("ClickHouse"),instanceType:s.string().optional(),coldTier:s.union([s.object({mode:s.literal("s3")}).strict(),s.literal(!1)]).optional(),optimiseSchedule:s.union([s.string(),s.literal(!1)]).optional(),backupSchedule:s.union([s.string(),s.literal(!1)]).optional(),backupRetentionDays:Qt.optional()},kz=Bu.extend(n$).strict(),Oz=Bu.extend(i$).strict(),Dz=Bu.extend(o$).strict(),Mz=a$.extend(s$).strict(),c$=s.discriminatedUnion("databaseType",[kz,Oz,Dz,Mz]),Rv=Bu.extend({resourceName:V}).strict(),jz=Rv.extend(n$).strict(),zz=Rv.extend(i$).strict(),Lz=Rv.extend(o$).strict(),Uz=a$.extend({resourceName:V}).strict(),Fz=Uz.extend(s$).strict(),R5=s.discriminatedUnion("databaseType",[jz,zz,Lz,Fz]),P5=s.object({appName:ve,databaseName:s.string().min(1,d.REQUIRED.DATABASE_NAME),maxConnections:s.number().int(d.MAX_CONNECTIONS.INTEGER).min(1,d.MAX_CONNECTIONS.MIN).max(100,d.MAX_CONNECTIONS.MAX).optional(),maxIdleConnections:s.number().int(d.PROXY_CONFIG.MAX_IDLE_CONNECTIONS.INTEGER).min(0,d.PROXY_CONFIG.MAX_IDLE_CONNECTIONS.MIN).max(100,d.PROXY_CONFIG.MAX_IDLE_CONNECTIONS.MAX).optional(),connectionBorrowTimeout:s.number().int(d.PROXY_CONFIG.BORROW_TIMEOUT.INTEGER).min(1,d.PROXY_CONFIG.BORROW_TIMEOUT.MIN).max(3600,d.PROXY_CONFIG.BORROW_TIMEOUT.MAX).optional(),requireTLS:s.boolean().optional(),nameProvidedByFlag:s.boolean().optional()}).strict(),Bz=["S","N","B"],Du=s.object({name:s.string(),type:s.enum(Bz)}).strict(),u$=s.object({name:V,partitionKey:Du,sortKey:Du.optional(),globalSecondaryIndexes:s.array(s.object({indexName:s.string(),partitionKey:Du,sortKey:Du.optional()}).strict()).optional(),ttlAttribute:s.string().optional(),stream:s.boolean().optional(),variableName:s.string().optional(),extraProperties:s.array(Te).optional()}).strict(),Vz=s.object({mode:s.literal("s3")}).strict(),l$=s.object({name:V,type:s.literal("ClickHouse"),databaseName:HI,instanceType:s.string().optional(),coldTier:s.union([Vz,s.literal(!1)]).optional(),optimiseSchedule:s.union([s.string(),s.literal(!1)]).optional(),backupSchedule:s.union([s.string(),s.literal(!1)]).optional(),backupRetentionDays:Qt.optional(),variableName:s.string().optional(),extraProperties:s.array(Te).optional()}).strict();var Zz=s.object({count:s.number().int(d.NAT_GATEWAY.INTEGER).min(0,d.NAT_GATEWAY.MIN).max(3,d.NAT_GATEWAY.MAX).optional()}).strict().describe("NAT gateway configuration"),d$=He(Zz),Pv=s.enum(["cloudwatch","s3"]),Gz=s.object({destination:Pv.optional(),retentionDays:s.number().int(d.RETENTION_DAYS.INTEGER).min(1,d.RETENTION_DAYS.MIN).max(365,d.RETENTION_DAYS.MAX).optional(),trafficType:s.enum(["ALL","ACCEPT","REJECT"]).optional()}).strict().describe("VPC flow log configuration"),m$=He(Gz),Wz=s.object({s3:s.boolean().optional(),dynamodb:s.boolean().optional()}).strict().describe("Gateway VPC endpoints (FREE)"),Hz=He(Wz),qz=s.object({ecr:s.boolean().optional(),secretsManager:s.boolean().optional(),kms:s.boolean().optional(),cloudwatchLogs:s.boolean().optional(),ssm:s.boolean().optional(),sts:s.boolean().optional()}).strict().describe("Interface VPC endpoints (cost per hour)"),Kz=He(qz),Yz=s.object({gateway:Hz.optional(),interface:Kz.optional()}).strict().describe("VPC endpoints configuration"),p$=He(Yz),Vu=s.object({maxAzs:s.number().int(d.MAX_AZS.INTEGER).min(1,d.MAX_AZS.MIN).max(3,d.MAX_AZS.MAX).optional(),natGateways:d$.optional(),flowLogs:m$.optional(),vpcEndpoints:p$.optional(),cidrMask:s.number().int(d.CIDR_MASK.INTEGER).min(16,d.CIDR_MASK.MIN).max(28,d.CIDR_MASK.MAX).optional()}).strict(),f$=s.string().min(1,d.REQUIRED.NETWORK_NAME).max(50,d.MAX_LENGTH.NETWORK_NAME).regex(L.RESOURCE_NAME,d.RESOURCE_NAME),g$=Vu.extend({name:f$}).strict(),h$=He(Vu),O5=s.object({appName:ve,networkName:f$.optional(),maxAzs:s.number().int(d.MAX_AZS.INTEGER).min(1,d.MAX_AZS.MIN).max(3,d.MAX_AZS.MAX).optional(),natGateways:d$.optional(),flowLogs:m$.optional(),vpcEndpoints:p$.optional()}).strict(),Xz=L.CIDR,Cv=s.string().regex(Xz,d.CIDR),Jz=s.object({kind:s.literal("database"),resource:s.string().min(1,d.REQUIRED.RESOURCE_REFERENCE),name:V,allowedFromCidrs:s.array(Cv),access:s.enum(["read","write","readWrite"]).optional()}).strict(),Qz=s.object({kind:s.literal("ecsService"),resource:s.string().min(1,d.REQUIRED.RESOURCE_REFERENCE),serviceName:s.string().min(1,d.REQUIRED.SERVICE_NAME),name:V,allowedFromCidrs:s.array(Cv),port:sn.optional()}).strict(),eL=s.discriminatedUnion("kind",[Jz,Qz]),D5=s.object({name:V,peerAppName:s.string().min(1,d.REQUIRED.APP_NAME),peerAccountId:s.string().regex(L.AWS_ACCOUNT_ID,d.AWS_ACCOUNT_ID),peerRegion:s.string().min(1,d.VPC_PEER.REGION_REQUIRED).optional(),peerVpcId:s.string().regex(L.VPC_ID,d.VPC_ID).optional(),peerVpcCidr:Cv.optional(),peerRoleArn:s.string().regex(L.ROLE_ARN,d.ROLE_ARN).optional(),peerRouteTableIds:s.array(s.string().min(1,d.VPC_PEER.ROUTE_TABLE_ID_REQUIRED)).optional(),localVpcName:s.string().min(1,d.REQUIRED.NETWORK_NAME).optional(),enableDnsResolution:s.boolean().optional()}).strict(),M5=s.object({name:V,requesterAccountIds:s.array(s.string().regex(L.AWS_ACCOUNT_ID,d.AWS_ACCOUNT_ID)).min(1,d.VPC_PEER.MIN_REQUESTER_ACCOUNTS),localVpcName:s.string().min(1,d.REQUIRED.NETWORK_NAME).optional(),publishToSsm:s.boolean().optional(),exposedResources:s.array(eL).optional()}).strict();var Zu=["storage","cdn","compute"],tL=s.object({sid:s.string().optional(),effect:s.enum(["Allow","Deny"]),principals:s.array(s.string()),actions:s.array(s.string()),resources:s.array(s.string()).optional(),conditions:s.record(s.string(),s.record(s.string(),s.union([s.string(),s.array(s.string())]))).optional()}).strict(),v$=s.object({name:V,bucketName:s.string().optional(),publicReadAccess:s.boolean().optional(),websiteHosting:s.object({indexDocument:s.string(),errorDocument:s.string().optional()}).strict().optional(),backupVaultTier:s.enum(_t).optional(),versioned:s.boolean().optional(),encryption:s.enum($i).optional(),kmsKeyArn:s.string().optional(),cors:s.array(s.object({allowedOrigins:s.array(s.string()),allowedMethods:s.array(s.string()),allowedHeaders:s.array(s.string()).optional(),exposedHeaders:s.array(s.string()).optional(),maxAge:s.number().optional()}).strict()).optional(),deployment:s.object({source:s.string(),prune:s.boolean().optional(),cacheControl:s.object({maxAge:s.number().optional(),immutable:s.boolean().optional()}).strict().optional()}).strict().optional(),retain:s.boolean().optional(),resourcePolicyStatements:s.array(tL).optional(),stackPlacement:s.enum(Zu).optional(),variableName:s.string().optional(),extraProperties:s.array(Te).optional()}).strict().refine(e=>e.encryption!=="KMS"||!!e.kmsKeyArn,{message:d.KMS.KEY_REQUIRED}),B5=s.object({appName:ve,bucketName:WI,nameProvidedByFlag:s.boolean().optional(),storagePreset:s.enum(ZI).optional(),publicReadAccess:s.boolean().optional(),websiteHosting:s.object({indexDocument:s.string(),errorDocument:s.string().optional()}).strict().optional(),backupVaultTier:s.enum(_t).optional(),versioned:s.boolean().optional(),encryption:s.enum($i).optional(),kmsKeyArn:s.string().optional(),cors:s.array(s.object({allowedOrigins:s.array(s.string()),allowedMethods:s.array(s.string()),allowedHeaders:s.array(s.string()).optional(),exposedHeaders:s.array(s.string()).optional(),maxAge:s.number().optional()}).strict()).optional(),connectionConfig:s.object({connectToCompute:s.array(s.string()).optional(),connectToServices:s.array(s.string()).optional()}).strict().optional()}).strict().refine(e=>e.encryption!=="KMS"||!!e.kmsKeyArn,{message:d.KMS.KEY_REQUIRED,path:["kmsKeyArn"]});var Nv=s.enum(["DESTROY","RETAIN"]),b$=s.object({name:V,queueType:s.enum(["standard","fifo"]).default("standard"),visibilityTimeout:s.number().int(d.SQS.VISIBILITY_TIMEOUT.INTEGER).min(0,d.SQS.VISIBILITY_TIMEOUT.MIN).max(43200,d.SQS.VISIBILITY_TIMEOUT.MAX).optional(),retentionPeriod:s.number().int(d.SQS.RETENTION_PERIOD.INTEGER).min(60,d.SQS.RETENTION_PERIOD.MIN).max(1209600,d.SQS.RETENTION_PERIOD.MAX).optional(),contentBasedDeduplication:s.boolean().optional(),removalPolicy:Nv.optional(),variableName:s.string().optional(),extraProperties:s.array(Te).optional()}).strict();var y$=s.object({type:s.literal("basic-auth"),username:s.string().min(1),password:s.string().min(1)}).strict(),S$=s.object({name:V,defaultOriginRef:s.string(),behaviours:s.array(s.object({pathPattern:s.string(),originRef:s.string(),cachePolicy:s.enum(["CACHING_OPTIMIZED","CACHING_DISABLED"]).optional()}).strict()).optional(),customDomain:s.string().optional(),certificateArn:s.string().optional(),accessGate:s.union([s.literal(!1),y$]).optional(),extraProperties:s.array(Te).optional()}).strict(),Y5=s.object({appName:s.string(),name:V.optional(),defaultOriginRef:s.string(),behaviours:s.array(s.object({pathPattern:s.string(),originRef:s.string(),cachePolicy:s.enum(["CACHING_OPTIMIZED","CACHING_DISABLED"]).optional()}).strict()).optional(),customDomain:s.string().optional(),certificateArn:s.string().optional(),accessGate:s.union([s.literal(!1),y$]).optional(),nameProvidedByFlag:s.boolean().optional()}).strict();var rL=Object.defineProperty,wv=(e,t)=>rL(e,"name",{value:t,configurable:!0}),nL=new Set(["t4g","c6g","c6gd","c6gn","c7g","c7gd","c7gn","r6g","r6gd","r7g","r7gd","m6g","m6gd","m7g","m7gd","a1","x2gd","im4gn","is4gen","i4g","hpc7g"]);function Pi(e){let t=e.split(".")[0]??"";return nL.has(t)?"ARM":"STANDARD"}wv(Pi,"getArchitectureForInstanceType");function Gu(e,t){let n=Pi(e);return n!==t?{valid:!1,message:`Instance type '${e}' requires ${n} architecture, but '${t}' AMI was specified. Use a ${n==="ARM"?"Graviton instance (t4g, c6g, r6g, m6g, etc.)":"Intel/AMD instance (t3, c5, r5, m5, etc.)"} instead.`}:{valid:!0}}wv(Gu,"validateArchitectureMatch");function _$(e,t){return Pi(e)===t}wv(_$,"isArchitectureCompatible");var iL=Object.defineProperty,Wu=(e,t)=>iL(e,"name",{value:t,configurable:!0});var oL=1,aL=/^[A-Za-z0-9_.-]+$/,sL=s.object({id:s.string().min(1,"buildSecret id cannot be empty").regex(aL,"buildSecret id may contain only letters, digits, '_', '.', and '-' (no comma, '=', or whitespace, which would break the buildx --secret argv)"),ssm:s.string().min(1,"ssm parameter name cannot be empty").optional(),secretsManager:s.object({name:s.string().min(1,"secret name cannot be empty").optional(),arn:s.string().min(1,"secret arn cannot be empty").optional(),field:s.string().min(1,"secret field cannot be empty").optional()}).strict().refine(e=>e.name===void 0!=(e.arn===void 0),"secretsManager requires exactly one of name or arn").optional(),env:s.string().min(1,"env variable name cannot be empty").optional()}).strict().superRefine((e,t)=>{[e.ssm,e.secretsManager,e.env].filter(n=>n!==void 0).length!==1&&t.addIssue({code:s.ZodIssueCode.custom,message:"buildSecret requires exactly one source (ssm, secretsManager, or env)"})}),cL=s.union([s.string(),s.object({ssm:s.string().min(1,"ssm parameter name cannot be empty").optional(),secretsManager:s.object({name:s.string().min(1,"secret name cannot be empty").optional(),arn:s.string().min(1,"secret arn cannot be empty").optional(),field:s.string().min(1,"secret field cannot be empty").optional()}).strict().refine(e=>e.name===void 0!=(e.arn===void 0),"secretsManager requires exactly one of name or arn").optional(),env:s.string().min(1,"env variable name cannot be empty").optional(),acknowledgePublic:s.boolean().optional()}).strict().superRefine((e,t)=>{[e.ssm,e.secretsManager,e.env].filter(n=>n!==void 0).length!==1&&t.addIssue({code:s.ZodIssueCode.custom,message:"buildArg value requires exactly one source (ssm, secretsManager, or env)"})})]),Ot=s.object({path:s.string(),context:s.string().min(1,"context cannot be empty").optional(),target:s.string().min(1,"target cannot be empty").optional(),buildArgs:s.record(s.string(),cL).optional(),buildSecrets:s.array(sL).optional()}).strict(),tH=Ot.partial();function uL(e,t){if(t===void 0)return e;let n=t.context??e.context,i=t.target??e.target,r=t.buildArgs??e.buildArgs,o=t.buildSecrets??e.buildSecrets;return{path:t.path??e.path,...n!==void 0&&{context:n},...i!==void 0&&{target:i},...r!==void 0&&{buildArgs:r},...o!==void 0&&{buildSecrets:o}}}Wu(uL,"mergeDockerBuild");function kv(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}Wu(kv,"isRecord");function E$(e){if(!kv(e)||typeof e.path!="string"||e.path.length===0)return;let t=typeof e.context=="string"&&e.context.length>0?e.context:void 0,n=typeof e.target=="string"&&e.target.length>0?e.target:void 0,i=kv(e.buildArgs)&&Object.keys(e.buildArgs).length>0?e.buildArgs:void 0,r=Array.isArray(e.buildSecrets)&&e.buildSecrets.length>0?e.buildSecrets:void 0,o={path:e.path,...t!==void 0&&{context:t},...n!==void 0&&{target:n},...i!==void 0&&{buildArgs:i},...r!==void 0&&{buildSecrets:r}},a=Ot.safeParse(o);return a.success?a.data:void 0}Wu(E$,"normaliseDockerBuild");function lL(e){if(e===void 0)return;let t=E$(e);return t===void 0?void 0:JSON.stringify(t)}Wu(lL,"dockerBuildFingerprint");var dL=s.object({name:s.string(),clusterName:s.string().optional(),docker:Ot.optional(),containerPort:s.number().optional(),secrets:s.array(s.string()).optional(),ssmSecretsPath:s.string().optional(),importedSecretNames:s.array(s.string()).optional()}).strict(),mL=s.object({type:s.enum(kt),name:s.string(),source:s.string()}).strict(),pL=s.object({repositoryName:s.string()}).strict(),fL=["x86_64","arm64"],gL=s.object({name:s.string(),secrets:s.array(s.string()).optional(),ssmSecretsPath:s.string().optional(),importedSecretNames:s.array(s.string()).optional(),docker:Ot.optional(),imageKey:s.string().optional(),architecture:s.enum(fL).optional()}).strict(),hL=s.object({templateHash:s.string(),synthTimestamp:s.string()}).strict(),vL=s.object({constructPath:s.string().max(512),group:s.string().max(128),resourceType:s.string().max(256)}).strict(),rH=s.object({version:s.literal(oL),generatedAt:s.string(),appName:s.string(),services:s.array(dL),lambdas:s.array(gL),pattern:mL.optional(),ecr:pL.optional(),stacks:s.record(s.string(),hL),resourceMap:s.record(s.string(),vL).optional()}).strict();var bL=Object.defineProperty,yL=(e,t)=>bL(e,"name",{value:t,configurable:!0});function A$(e){return!(e.image!==void 0&&e.docker!==void 0)}yL(A$,"imageDockerMutexCheck");var I$=s.number().int(d.CAPACITY.MIN.INTEGER).min(Av,d.GENERATOR_CAPACITY.MIN.MIN).max(Iv,d.GENERATOR_CAPACITY.MIN.MAX),$$=s.number().int(d.CAPACITY.MAX.INTEGER).min(Av,d.GENERATOR_CAPACITY.MAX.MIN).max(Iv,d.GENERATOR_CAPACITY.MAX.MAX),Ci=s.number().int(d.LAMBDA.MEMORY.INTEGER).min(LI,d.LAMBDA.MEMORY.MIN).max(UI,d.LAMBDA.MEMORY.MAX).refine(e=>e===128||e%64===0,d.LAMBDA.MEMORY.MULTIPLE),T$=s.string().regex(L.LAMBDA_RUNTIME_IDENTIFIER,d.LAMBDA.RUNTIME),Ov=s.number().int(d.CPU.INTEGER).min(256,d.CPU.MIN).max(4096,d.CPU.MAX),qu=s.number().int(d.CAPACITY.DESIRED.INTEGER).min(0,d.CAPACITY.DESIRED.MIN).max(Ii,d.CAPACITY.DESIRED.MAX),ma=s.object({connectToDatabase:s.array(s.string()).optional()}).strict(),SL=s.object({minSize:s.number().int(d.CAPACITY.WARM_POOL.MIN_SIZE.INTEGER).min(0,d.CAPACITY.WARM_POOL.MIN_SIZE.MIN).max(FI,d.CAPACITY.WARM_POOL.MIN_SIZE.MAX).optional(),reuseOnScaleIn:s.boolean().optional()}).strict(),Dv=s.object({instanceType:s.string().optional(),amiHardwareType:s.enum(Cu).optional(),minCapacity:s.number().int(d.CAPACITY.MIN.INTEGER).min(0,d.CAPACITY.MIN.MIN_0).max(Ii,d.CAPACITY.MIN.MAX).optional(),maxCapacity:s.number().int(d.CAPACITY.MAX.INTEGER).min(1,d.CAPACITY.MAX.MIN_1).max(Ii,d.CAPACITY.MAX.MAX).optional(),memoryLimitMiB:sa(128).optional(),warmPool:SL.optional(),extraProperties:s.array(Te).optional()}).strict().superRefine((e,t)=>{if(!e.instanceType||!e.amiHardwareType)return;let n=Gu(e.instanceType,e.amiHardwareType);n.valid||t.addIssue({code:"custom",message:n.message??d.ARCHITECTURE_MISMATCH,path:["instanceType"]})}).superRefine((e,t)=>{e.minCapacity===0&&!e.warmPool&&t.addIssue({code:"custom",message:d.CAPACITY.WARM_POOL_REQUIRED,path:["minCapacity"]}),e.warmPool?.minSize!==void 0&&e.maxCapacity!==void 0&&e.warmPool.minSize>e.maxCapacity&&t.addIssue({code:"custom",message:d.CAPACITY.WARM_POOL.MIN_SIZE_EXCEEDS_MAX_CAPACITY,path:["warmPool","minSize"]})}),_L=s.enum(na).describe(`Compute type must be one of: ${na.join(", ")}`),Mv=s.enum(Ei).describe(`ECS capacity provider must be one of: ${Ei.join(", ")}`),jv=s.string().refine(e=>ct(Nu,e),{message:d.INSTANCE_TYPE}),R$=s.object({sourceType:s.enum(["sqs","dynamodb","eventbridge"]),sourceRef:s.string().describe("Name of the source resource"),batchSize:s.number().int(d.BATCH_SIZE.INTEGER).min(1,d.BATCH_SIZE.MIN).max(1e4,d.BATCH_SIZE.MAX).optional(),startingPosition:s.enum(["TRIM_HORIZON","LATEST"]).optional(),maxBatchingWindow:s.number().int(d.BATCHING_WINDOW.INTEGER).min(0,d.BATCHING_WINDOW.MIN).max(300,d.BATCHING_WINDOW.MAX).optional(),reportBatchItemFailures:s.boolean().optional()}).strict(),EL=s.object({name:s.string().min(1,d.REQUIRED.CONTAINER_NAME).optional(),image:s.string().optional(),port:sn.optional(),environment:Ti.optional(),secretsImport:qI.optional(),command:s.array(s.string()).optional(),entryPoint:s.array(s.string()).optional(),essential:s.boolean().optional(),healthCheck:s.object({command:s.array(s.string()),interval:s.number().int(d.HEALTH_CHECK.INTERVAL.INTEGER).min(5,d.HEALTH_CHECK.INTERVAL.MIN).max(300,d.HEALTH_CHECK.INTERVAL.MAX).optional(),timeout:s.number().int(d.HEALTH_CHECK.TIMEOUT.INTEGER).min(2,d.HEALTH_CHECK.TIMEOUT.MIN).max(60,d.HEALTH_CHECK.TIMEOUT.MAX).optional(),retries:s.number().int(d.HEALTH_CHECK.RETRIES.INTEGER).min(1,d.HEALTH_CHECK.RETRIES.MIN).max(10,d.HEALTH_CHECK.RETRIES.MAX).optional(),startPeriod:s.number().int(d.HEALTH_CHECK.START_PERIOD.INTEGER).min(0,d.HEALTH_CHECK.START_PERIOD.MIN).max(300,d.HEALTH_CHECK.START_PERIOD.MAX).optional()}).strict().optional(),ssmSecrets:s.array(s.string().regex(L.SECRET_NAME,d.SECRET_NAME)).optional(),extraProperties:s.array(Te).optional()}).strict(),P$=s.string().min(1,d.REQUIRED.SERVICE_NAME).max(255,d.MAX_LENGTH.SERVICE_NAME).regex(L.ECS_SERVICE_NAME,d.ECS_SERVICE_NAME),C$=s.object({domain:s.string().optional(),loadBalancer:s.union([s.literal(!1),s.enum(Ru)]).optional(),directAccess:s.boolean().optional(),extraProperties:s.array(Te).optional()}).strict().refine(e=>!(e.directAccess&&e.domain),{message:d.DIRECT_ACCESS.NO_DOMAIN,path:["directAccess"]}).refine(e=>!(e.directAccess&&typeof e.loadBalancer=="string"),{message:d.DIRECT_ACCESS.NO_LOAD_BALANCER}).describe("Cluster-level configuration"),Hu=s.object({path:s.string().optional(),host:s.string().optional(),priority:s.number().int(d.PRIORITY.INTEGER).min(1,d.PRIORITY.MIN).max(5e4,d.PRIORITY.MAX).optional(),healthCheckPath:s.string().optional()}).strict().describe("Path/host-based routing configuration"),xL=s.object({desiredCount:qu.optional(),minCapacity:s.number().int(d.CAPACITY.MIN.INTEGER).min(0,d.CAPACITY.MIN.MIN_0).max(Ii,d.CAPACITY.MIN.MAX).optional(),maxCapacity:s.number().int(d.CAPACITY.MAX.INTEGER).min(1,d.CAPACITY.MAX.MIN_1).max(Ii,d.CAPACITY.MAX.MAX).optional(),scalingType:s.enum(Pu).optional()}).strict().refine(an.check,an.params).describe("ECS service scaling configuration"),N$=s.object({name:P$,docker:Ot.optional(),needsDatabaseConnection:s.boolean().optional(),needsStorageConnection:s.boolean().optional(),needsMessagingConnection:s.boolean().optional(),image:s.string().optional(),containers:s.array(EL).optional(),routing:s.union([Hu,s.array(Hu).min(1)]).optional(),cpu:Ov.optional(),memoryLimitMiB:sa(512).optional(),desiredCount:qu.optional(),scaling:He(xL).optional(),capacityProvider:Mv,ec2Config:Dv.optional(),ssmSecretsPath:s.string().regex(L.SSM_PATH,d.SSM_PATH).optional(),extraProperties:s.array(Te).optional(),alarms:JI.optional()}).strict().superRefine((e,t)=>{A$(e)||t.addIssue({code:"custom",path:["docker"],message:d.IMAGE_DOCKER_MUTEX})}).describe("Configuration for a service in an ECS cluster"),w$=s.object({name:V,type:_L,needsConnection:s.boolean(),connectedDatabase:s.array(s.string()).optional(),connectedStorage:s.array(s.string()).optional(),connectedMessaging:s.array(s.string()).optional(),cluster:C$.optional(),services:s.array(N$).optional(),docker:Ot.partial().optional(),deployment:s.enum($u).optional(),codePath:s.string().optional(),timeout:s.number().int(d.LAMBDA.TIMEOUT.INTEGER).min(wu,d.LAMBDA.TIMEOUT.MIN).max(ku,d.LAMBDA.TIMEOUT.MAX).optional(),memory:Ci.optional(),handler:s.string().optional(),runtime:T$.optional(),environment:Ti.optional(),secrets:Ti.optional(),eventSources:s.array(R$).optional(),functionUrl:s.object({authType:s.enum(oa)}).strict().optional(),description:s.string().optional(),scheduleExpression:s.string().optional(),architecture:s.enum(Tu).optional(),ephemeralStorageSize:s.number().int(d.EPHEMERAL_STORAGE.INTEGER).min(512,d.EPHEMERAL_STORAGE.MIN).max(10240,d.EPHEMERAL_STORAGE.MAX).optional(),functionName:s.string().optional(),ssmSecrets:s.array(s.string()).optional(),ssmSecretsPath:s.string().optional(),alarms:e$.optional(),instanceType:jv.optional(),enableSSH:s.boolean().optional(),keyName:s.string().optional(),userData:s.string().optional(),securityGroups:s.array(s.string()).optional(),variableName:s.string().optional(),extraProperties:s.array(Te).optional()}).strict().superRefine((e,t)=>{if(e.type==="ecs"&&e.services)for(let n=0;n<e.services.length;n++){let i=e.services[n];i?.ec2Config?.instanceType&&!i.ec2Config.amiHardwareType&&Pi(i.ec2Config.instanceType)!=="ARM"&&t.addIssue({code:"custom",message:`Service '${i.name??n}' uses instance type '${i.ec2Config.instanceType}' (x86), which requires Docker images built for linux/amd64. The default build targets linux/arm64 (Graviton). Use a Graviton instance type (t4g, c6g, r6g, m6g, etc.) or set amiHardwareType: "STANDARD" to acknowledge x86.`,path:["services",n,"ec2Config","instanceType"]})}e.type==="lambda"&&e.deployment==="container"&&e.architecture==="X86_64"&&t.addIssue({code:"custom",message:"Lambda architecture 'X86_64' requires Docker images built for linux/amd64, but the default build targets linux/arm64. Use 'ARM_64' for Graviton Lambdas (recommended) or ensure your build pipeline targets linux/amd64.",path:["architecture"]})}),dH=s.object({appName:ve,clusterName:V,containerPort:sn,nameProvidedByFlag:s.boolean().optional(),ecrRepository:s.string().optional(),capacityProvider:Mv.optional(),useAppEcr:s.boolean().optional(),desiredCount:qu.optional(),cpu:Ov.optional(),memoryLimitMiB:sa(512).optional(),minCapacity:I$.optional(),maxCapacity:$$.optional(),ec2Config:Dv.optional(),connectionConfig:ma.optional()}).strict().refine(an.check,an.params),mH=s.object({appName:ve,functionName:V,nameProvidedByFlag:s.boolean().optional(),lambdaType:s.enum(["basic","web","custom"]).optional(),ecrRepository:s.string().optional(),timeout:s.number().int(d.LAMBDA.TIMEOUT.INTEGER).min(wu,d.LAMBDA.TIMEOUT.MIN).max(ku,d.LAMBDA.TIMEOUT.MAX).optional(),memory:Ci.optional(),enableFunctionUrl:s.boolean().optional(),description:s.string().optional(),enableCors:s.boolean().optional(),corsOrigins:s.string().optional(),corsHeaders:s.string().optional(),corsMethods:s.array(s.enum(VI)).optional(),corsCredentials:s.boolean().optional(),connectionConfig:ma.optional()}).strict(),pH=s.object({appName:ve,instanceName:V,nameProvidedByFlag:s.boolean().optional(),instanceType:jv.optional(),enableSSH:s.boolean().optional(),minCapacity:I$.optional(),maxCapacity:$$.optional(),connectionConfig:ma.optional()}).strict().refine(an.check,an.params),fH=s.object({appName:ve,clusterName:V,serviceName:P$,capacityProvider:Mv,containerPort:sn.optional(),cpu:Ov.optional(),memoryLimitMiB:sa(512).optional(),desiredCount:qu.optional(),ec2Config:Dv.optional(),routing:s.union([Hu,s.array(Hu).min(1)]).optional(),docker:Ot.partial().optional(),nameProvidedByFlag:s.boolean().optional(),connectionConfig:ma.optional()}).strict(),zv=s.object({appName:ve,computeName:V,nameProvidedByFlag:s.boolean().optional(),connectionConfig:ma.optional()}).strict(),AL=zv.extend({type:s.literal("ecs"),cluster:C$.optional(),services:s.array(N$).min(1,d.SERVICE.MIN_REQUIRED),docker:Ot.partial().optional()}).strict().refine(e=>{let t=e.services.filter(n=>n.containers?.some(i=>i.port));return t.length>1?t.every(n=>(Array.isArray(n.routing)?n.routing:n.routing?[n.routing]:[]).some(i=>i.path||i.host)):!0},{message:d.SERVICE.ROUTING_REQUIRED}).refine(e=>{let t=e.services.map(n=>n.name);return new Set(t).size===t.length},{message:d.SERVICE.UNIQUE_WITHIN_CLUSTER}),IL=zv.extend({type:s.literal("lambda"),timeout:s.number().int(d.LAMBDA.TIMEOUT.INTEGER).min(wu,d.LAMBDA.TIMEOUT.MIN).max(ku,d.LAMBDA.TIMEOUT.MAX).optional(),memory:Ci.optional(),handler:s.string().optional(),runtime:T$.optional(),environment:Ti.optional(),secrets:Ti.optional(),description:s.string().optional(),functionUrl:s.union([s.object({authType:s.enum(oa).optional()}).strict(),s.literal(!1)]).optional(),eventSources:s.array(R$).optional()}).strict(),$L=zv.extend({type:s.literal("ec2"),instanceType:jv.optional(),enableSSH:s.boolean().optional(),keyName:s.string().optional(),userData:s.string().optional(),securityGroups:s.array(s.string()).optional()}).strict(),gH=s.discriminatedUnion("type",[AL,IL,$L]),x$=s.object({path:s.string().min(1,d.REQUIRED.ROUTING_PATH),priority:s.number().int(d.PRIORITY.INTEGER).min(1,d.PRIORITY.MIN).max(5e4,d.PRIORITY.MAX).optional()}).strict(),k$=s.object({name:s.string().min(1,d.REQUIRED.SERVICE_NAME).max(255,d.MAX_LENGTH.SERVICE_NAME).regex(L.RESOURCE_NAME,d.RESOURCE_NAME),serviceType:s.enum(["web","worker"]).optional(),docker:Ot.partial().optional(),containerPort:sn.optional(),needsDatabaseConnection:s.boolean().optional(),routing:s.union([x$,s.array(x$).min(1)]).optional()}).strict().superRefine((e,t)=>{e.serviceType==="worker"&&(e.containerPort!==void 0&&t.addIssue({code:"custom",path:["containerPort"],message:"Worker services are not reachable inbound; remove containerPort."}),e.routing!==void 0&&t.addIssue({code:"custom",path:["routing"],message:"Worker services have no ALB route; remove routing."}))}),hH=s.object({appName:ve,instanceType:s.string().optional()}).strict();var Lv=s.object({memorySize:Ci.optional(),timeout:s.number().int(d.LAMBDA.TIMEOUT.INTEGER).min(1,d.LAMBDA.TIMEOUT.MIN).max(900,d.LAMBDA.TIMEOUT.MAX).optional(),ephemeralStorageSize:s.number().int(d.EPHEMERAL_STORAGE.INTEGER).min(512,d.EPHEMERAL_STORAGE.MIN).max(10240,d.EPHEMERAL_STORAGE.MAX).optional()}).strict(),O$=s.object({type:s.enum(xv).optional(),databaseName:s.string().optional(),databaseEngine:s.enum(Ai).optional(),deletionProtection:s.boolean().optional(),backupRetention:Qt.optional(),port:Mu.optional(),publiclyAccessible:s.boolean().optional(),allowedIpCidr:s.string().optional(),instanceType:s.string().optional(),allocatedStorage:s.number().int(d.ALLOCATED_STORAGE.INTEGER).min(20,d.ALLOCATED_STORAGE.MIN).max(65536,d.ALLOCATED_STORAGE.MAX).optional(),multiAz:s.boolean().optional(),readReplica:Lu.optional(),writer:la.optional(),readers:da.optional(),allowVpcAccess:s.boolean().optional(),monitoringInterval:ua.optional(),preferredMaintenanceWindow:s.string().optional(),databaseInsights:Uu.optional(),proxy:zu.optional(),credentials:ju.optional(),encryption:Fu.optional(),snapshotIdentifier:s.string().optional(),snapshotUsername:s.string().optional()}).strict(),D$=s.object({server:Lv.optional(),imageOptimisation:Lv.optional(),revalidation:Lv.optional()}).strict(),Uv=s.object({versioned:s.boolean().optional()}).strict(),M$=s.object({assets:Uv.optional(),cache:Uv.optional(),media:Uv.optional()}).strict(),TL=s.object({visibilityTimeout:s.number().int(d.SQS.VISIBILITY_TIMEOUT.INTEGER).min(0,d.SQS.VISIBILITY_TIMEOUT.MIN).max(43200,d.SQS.VISIBILITY_TIMEOUT.MAX).optional(),messageRetentionPeriod:s.number().int(d.SQS.RETENTION_PERIOD.INTEGER).min(60,d.SQS.RETENTION_PERIOD.MIN).max(1209600,d.SQS.RETENTION_PERIOD.MAX).optional(),maxMessageSize:s.number().int(d.MAX_MESSAGE_SIZE.INTEGER).min(1024,d.MAX_MESSAGE_SIZE.MIN).max(262144,d.MAX_MESSAGE_SIZE.MAX).optional(),deadLetterQueue:s.union([s.literal(!1),s.object({enabled:s.boolean().optional(),maxReceiveCount:s.number().int(d.DLQ.MAX_RECEIVE_COUNT.INTEGER).min(1,d.DLQ.MAX_RECEIVE_COUNT.MIN).max(1e3,d.DLQ.MAX_RECEIVE_COUNT.MAX).optional()}).strict()]).optional()}).strict(),j$=s.object({revalidationQueue:TL.optional()}).strict(),z$=s.object({domainNames:s.array(s.string()).optional(),certificateArn:s.string().optional()}).strict(),L$=s.record(s.string().regex(L.ENV_VAR_NAME,d.ENV_VAR_NAME),s.string()).optional(),RL=s.object({type:s.literal("payload"),name:s.string().min(1,d.REQUIRED.PATTERN_NAME),domain:s.string().optional(),database:O$.optional(),compute:D$.optional(),storage:M$.optional(),messaging:j$.optional(),cdn:z$.optional(),environment:L$}).strict(),PL=s.object({type:s.literal("nextjs"),name:s.string().min(1,d.REQUIRED.PATTERN_NAME),domain:s.string().optional(),database:O$.optional(),compute:D$.optional(),storage:M$.optional(),messaging:j$.optional(),cdn:z$.optional(),environment:L$}).strict(),Fv=s.enum(Zo),CL=s.object({command:s.string().min(1,d.REQUIRED.BUILD_COMMAND),outputDir:s.string().min(1,d.REQUIRED.OUTPUT_DIR)}).strict(),NL=s.object({headers:s.boolean().optional(),contentSecurityPolicy:s.string().optional()}).strict(),wL=s.object({to:s.string().min(1,d.REQUIRED.FORMS_TO).regex(L.EMAIL,d.EMAIL),from:s.string().regex(L.EMAIL,d.EMAIL).optional(),corsOrigin:s.string().regex(L.HTTP_ORIGIN,"corsOrigin must be an exact origin such as https://example.com (no path, no trailing slash)").optional(),maxConcurrency:s.number().int().min(1).max(100).optional()}).strict(),kL=s.object({behaviours:s.array(s.unknown()).optional()}).strict(),Bv=s.object({type:s.literal("staticsite"),name:s.string().min(1,d.REQUIRED.PATTERN_NAME),source:s.string().min(1,d.REQUIRED.SOURCE),build:CL,routing:Fv.optional(),security:NL.optional(),domain:s.string().optional(),forms:wL.optional(),cdn:kL.optional()}).strict().superRefine((e,t)=>{if(e.forms===void 0)return;let n=e.domain;if(n===void 0||n===""){t.addIssue({code:"custom",path:["domain"],message:"A domain is required when forms are enabled: SES sends only from a verified identity, and the site's domain is the identity the pattern verifies"});return}let i=e.forms.from;i!==void 0&&!tu(i,n)&&t.addIssue({code:"custom",path:["forms","from"],message:`forms.from must be an address at ${n} (the verified SES identity) \u2014 for example noreply@${n}. Use forms.to for the recipient.`})}),pa=s.discriminatedUnion("type",[RL,PL,Bv]),U$=s.enum(["lightweight","standard","resilient","custom"]),F$=s.object({type:s.enum(xv),instanceType:s.string().optional(),backupRetention:Qt.optional(),deletionProtection:s.boolean().optional(),encryption:s.union([s.object({useCMK:s.literal(!0)}).strict(),s.literal(!1)]).optional()}).strict(),B$=s.object({memorySize:Ci.optional(),timeout:s.number().int(d.LAMBDA.TIMEOUT.INTEGER).min(1,d.LAMBDA.TIMEOUT.MIN).max(900,d.LAMBDA.TIMEOUT.MAX).optional()}).strict();var V$=s.object({appName:ve,type:$v,pattern:Tv.optional(),patternConfig:pa.optional(),owner:s.string().optional(),tags:s.record(s.string(),s.string()).optional(),vpcId:s.string().optional(),network:Vu.optional(),backup:YI.optional(),tunnel:XI.optional(),additionalNetworks:s.array(g$).optional(),database:s.array(r$),s3:s.array(v$),compute:s.array(w$),dynamodb:s.array(u$).optional(),clickhouse:s.array(l$).optional(),sqs:s.array(b$).optional(),cdn:S$.optional(),customCodeBlocks:s.array(KI).optional(),additionalManagedImports:s.array(s.object({moduleSpecifier:s.string(),namedImports:s.array(s.string()),defaultImport:s.string().optional()}).strict()).optional()}).strict(),MH=s.object({name:ve,type:$v,pattern:Tv.optional(),patternTier:U$.optional(),patternDomain:s.string().optional(),source:s.string().min(1,d.REQUIRED.SOURCE).optional(),buildCommand:s.string().min(1,d.REQUIRED.BUILD_COMMAND).optional(),outputDir:s.string().min(1,d.REQUIRED.OUTPUT_DIR).optional(),routing:Fv.optional(),formsTo:s.string().min(1,d.REQUIRED.FORMS_TO).regex(L.EMAIL,d.EMAIL).optional(),corsOrigin:s.string().regex(L.HTTP_ORIGIN,"corsOrigin must be an exact origin such as https://example.com (no path, no trailing slash)").optional(),customDatabase:F$.optional(),customCompute:B$.optional(),region:s.string().optional(),owner:s.string().optional(),includeDatabase:s.boolean().optional(),databaseName:s.string().min(1,d.DATABASE.NAME.REQUIRED).max(63,d.DATABASE.NAME.MAX_LENGTH).optional(),vpcId:s.string().optional(),network:h$.optional(),services:s.array(k$).optional(),snapshotIdentifier:s.string().optional(),snapshotUsername:s.string().optional()}).strict().superRefine((e,t)=>{e.formsTo!==void 0&&(e.patternDomain!==void 0&&e.patternDomain!==""||t.addIssue({code:"custom",path:["patternDomain"],message:"A domain is required when forms are enabled: SES sends only from a verified identity, and the site's domain is the identity the pattern verifies"}))}),jH=s.object({name:V,localResource:s.string().min(1),remoteApp:s.string().min(1),remoteResource:s.string().min(1),permission:s.enum(["read","write","read-write"]),remoteArn:s.string().optional()}).strict();var OL=["fjall-managed","external","external-manual"],BH=s.enum(OL);var Z$=s.object({givenName:s.string().min(1),familyName:s.string().min(1),displayName:s.string().min(1).optional(),expires:s.string().min(1).optional()}).strict(),G$=s.object({name:s.string().min(1),path:s.string().min(1).optional()}).strict(),DL=s.union([s.object({managedPolicyArn:s.string().min(1)}).strict(),s.object({customerManagedPolicy:G$}).strict()]),ML=s.object({managedPolicies:s.array(s.string().min(1)).optional(),inlinePolicy:s.record(s.string(),s.unknown()).optional(),customerManagedPolicies:s.array(G$).optional(),permissionsBoundary:DL.optional(),sessionDuration:s.string().min(1).optional(),description:s.string().optional(),accounts:s.union([s.array(s.string().min(1)),s.literal("all")]).optional(),includeManagementAccount:s.boolean().optional(),groups:s.array(s.string().min(1)).optional()}).strict(),jL=s.object({description:s.string().optional()}).strict(),Ku=s.string().regex(L.EMAIL,d.EMAIL),Vv={groups:s.record(s.string(),jL).optional(),permissionSets:s.record(s.string(),ML).optional(),memberships:s.record(s.string(),s.array(Ku)).optional(),resolutionVersion:s.number().int().min(1).optional(),defaultPermissionSets:s.boolean().optional()},zL=s.discriminatedUnion("source",[s.object({...Vv,source:s.literal("fjall-managed"),users:s.record(Ku,Z$)}).strict(),s.object({...Vv,source:s.literal("external")}).strict(),s.object({...Vv,source:s.literal("external-manual"),users:s.record(Ku,Z$).optional()}).strict()]),VH=s.object({name:V,type:s.literal("organisation").optional(),organisationName:s.string().min(1).optional(),orgEmail:Ku.optional(),accounts:s.unknown().optional(),accountIds:s.record(s.string(),s.string()).optional(),identityCentre:s.union([zL,s.literal(!1)]).optional(),allowedRegions:s.array(s.string().min(1)).optional()}).strict();var LL=Object.defineProperty,UL=(e,t)=>LL(e,"name",{value:t,configurable:!0}),FL=[1,3,5,7,14,30,60,90,120,150,180,365,400,545,731,1827,3653],BL=s.object({buildkiteQueue:s.string().min(1,"buildkiteQueue cannot be empty").max(100).regex(/^[a-zA-Z0-9-_]+$/,"buildkiteQueue must be alphanumeric with hyphens/underscores"),buildkiteOrgSlug:s.string().min(1,"buildkiteOrgSlug cannot be empty").max(100).regex(/^[a-z0-9-]+$/,"buildkiteOrgSlug must be a lowercase Buildkite organisation slug"),agentTokenSsmParameterName:s.string().min(2).regex(/^\//,"agentTokenSsmParameterName must be a full path (leading /)").optional(),agentTokenKmsKeyArn:s.string().min(1).optional(),fjallApiKeySsmParameterName:s.string().min(2).regex(/^\//,"fjallApiKeySsmParameterName must be a full path (leading /)").optional(),instanceType:s.string().min(1).default("c8g.xlarge"),agentVolumeSizeGib:s.number().int().min(20).max(1e3).default(250),agentMinInstances:s.number().int().min(0).default(0),agentMaxInstances:s.number().int().min(1).default(2),agentsPerInstance:s.number().int().min(1).default(1),spotCapacityPercentage:s.number().int().min(0).max(100).default(0),scaleInIdlePeriodSeconds:s.number().int().min(60).default(600),disconnectAfterUptimeSeconds:s.number().int().min(3600).default(86400),maxInstanceLifetimeDays:s.number().int().min(1).max(365).default(7),terminateInstanceAfterJob:s.boolean().default(!1),purgeBuildsOnDiskFull:s.boolean().default(!0),terminateInstanceOnDiskFull:s.boolean().default(!1),logRetentionDays:s.number().int().min(1).default(30),agentLogRetentionDays:s.literal(FL).default(7),buildkiteAgentRelease:s.enum(["stable","beta","edge"]).default("stable"),buildkiteAgentTags:s.string().default(""),buildkiteAgentTimestampLines:s.boolean().default(!1),buildkiteAgentExperiments:s.string().default(""),buildkiteAgentTracingBackend:s.enum(["","datadog","opentelemetry"]).default(""),buildkiteAgentCancelGracePeriodSeconds:s.number().int().min(10).default(60),enableSecretsPlugin:s.boolean().default(!0),enableEcrPlugin:s.boolean().default(!1),enableDockerLoginPlugin:s.boolean().default(!1),enableDockerUserNamespaceRemap:s.boolean().default(!0),enableDockerExperimental:s.boolean().default(!1),dockerNetworkingProtocol:s.enum(["ipv4","dualstack"]).default("ipv4"),enableInstanceStorage:s.boolean().default(!1),mountTmpfsAtTmp:s.boolean().default(!0),buildkiteAgentEnableGitMirrors:s.boolean().default(!1),bootstrapScriptUrl:s.string().default(""),agentEnvFileUrl:s.string().default(""),scalerEventSchedulePeriod:s.string().min(1).default("1 minute"),scalerMinPollInterval:s.string().min(1).default("10s"),scaleOutFactor:s.string().min(1).default("1.0"),scaleOutWaitingForJobs:s.boolean().default(!1),rolePermissionsBoundaryArn:s.string().min(1).optional(),alarmSnsTopicArn:s.string().min(1).optional(),applicationId:s.string().min(1).optional(),costAllocationEnvironment:s.string().min(1).optional(),costAllocationOwner:s.string().min(1).optional()}).strict(),VL=BL.refine(e=>e.agentMinInstances<=e.agentMaxInstances,{message:"agentMinInstances must be <= agentMaxInstances"});function ZL(e){let t=VL.safeParse(e);if(!t.success){let n=t.error.issues.map(i=>` - ${i.path.join(".")||"(root)"}: ${i.message}`).join(`
189
189
  `);throw new Error(`Buildkite: invalid props:
190
- ${n}`)}return t.data}LL(VL,"validateBuildkiteProps");var ZL=Object.defineProperty,GL=(e,t)=>ZL(e,"name",{value:t,configurable:!0});function WL(e){return`FjallDeployBoundary${e}`}GL(WL,"deployBoundaryName");var Zv={Sid:"FjallInheritAdministratorAccess",Effect:"Allow",Action:"*",Resource:"*"},W$=[{Sid:"FjallDenyOrgAndAccountEscape",Effect:"Deny",Action:["organizations:LeaveOrganization","account:CloseAccount"],Resource:"*"},{Sid:"FjallDenyDisableAuditLogging",Effect:"Deny",Action:["cloudtrail:StopLogging"],Resource:"*"},{Sid:"FjallDenyBoundarySelfEscape",Effect:"Deny",Action:["iam:DeleteRolePermissionsBoundary"],Resource:"*"},{Sid:"FjallDenyDisableKmsKey",Effect:"Deny",Action:["kms:DisableKey"],Resource:"*"}],H$=[...W$,{Sid:"FjallDenyStandingHumanCredentials",Effect:"Deny",Action:["iam:CreateUser","iam:CreateLoginProfile","iam:CreateAccessKey","iam:CreateAccountAlias"],Resource:"*"},{Sid:"FjallDenyDisableConfigRecorder",Effect:"Deny",Action:["config:StopConfigurationRecorder"],Resource:"*"}],HL=[...H$,{Sid:"FjallDenyAccountPasswordPolicyTamper",Effect:"Deny",Action:["iam:UpdateAccountPasswordPolicy","iam:DeleteAccountPasswordPolicy"],Resource:"*"},{Sid:"FjallDenyDisableDefaultEbsEncryption",Effect:"Deny",Action:["ec2:DisableEbsEncryptionByDefault"],Resource:"*"}],iq={foundation:[Zv,...W$],compliance:[Zv,...H$],hardened:[Zv,...HL]};var qL=Object.defineProperty,je=(e,t)=>qL(e,"name",{value:t,configurable:!0});var Gv="sts.amazonaws.com";function KL(e){return`FjallDevDeploy${e}`}je(KL,"devDeployRoleName");function YL(e){return`FjallDevProvisioner${e}`}je(YL,"devProvisionerRoleName");function XL(e){return`FjallDevSyncWriter${e}`}je(XL,"devSyncWriterRoleName");var JL="FjallDevBoundary";function q$(e){return`arn:aws:iam::${e}:policy/${JL}`}je(q$,"devBoundaryPolicyArn");function K$(e){return`org:${e}:dev-provisioner`}je(K$,"devProvisionerSubject");function Y$(e){return`org:${e}:dev-sync`}je(Y$,"devSyncSubject");function QL(e){let{fjallOrgId:t,providerArn:n,issuerDomain:i}=e,r={[`${i}:aud`]:Gv};return[{Sid:"FjallMachineSubject",Effect:"Allow",Principal:{Federated:n},Action:"sts:AssumeRoleWithWebIdentity",Condition:{StringEquals:{...r,[`${i}:sub`]:`org:${t}:*`}}},{Sid:"FjallUserSubjects",Effect:"Allow",Principal:{Federated:n},Action:"sts:AssumeRoleWithWebIdentity",Condition:{StringEquals:r,StringLike:{[`${i}:sub`]:`org:${t}:user:*`}}},{Sid:"FjallServiceSubjects",Effect:"Allow",Principal:{Federated:n},Action:"sts:AssumeRoleWithWebIdentity",Condition:{StringEquals:{...r,[`${i}:sub`]:[`org:${t}:discovery`,`org:${t}:connection`,`org:${t}:org-setup`,`org:${t}:dev-substrate-setup`]}}}]}je(QL,"buildNarrowedDeployTrustStatements");function eU(e){let{fjallOrgId:t,providerArn:n,issuerDomain:i,accountId:r}=e;return[{Sid:"FjallDevSubjectsThisAccount",Effect:"Allow",Principal:{Federated:n},Action:"sts:AssumeRoleWithWebIdentity",Condition:{StringEquals:{[`${i}:aud`]:Gv},StringLike:{[`${i}:sub`]:`org:${t}:dev:${r}:*`}}}]}je(eU,"buildDevDeployTrustStatements");function Wv(e){let{providerArn:t,issuerDomain:n,sid:i,subject:r}=e;return[{Sid:i,Effect:"Allow",Principal:{Federated:t},Action:"sts:AssumeRoleWithWebIdentity",Condition:{StringEquals:{[`${n}:aud`]:Gv,[`${n}:sub`]:r}}}]}je(Wv,"buildServiceSubjectTrustStatements");function tU(e){return Wv({...e,sid:"FjallDevProvisionerSubject",subject:K$(e.fjallOrgId)})}je(tU,"buildDevProvisionerTrustStatements");function rU(e){return Wv({...e,sid:"FjallDevSyncSubject",subject:Y$(e.fjallOrgId)})}je(rU,"buildDevSyncWriterTrustStatements");function nU({accountId:e}){return[{Sid:"FjallDevEcsTaggedMutations",Effect:"Allow",Action:["ecs:UpdateService","ecs:DeleteService","ecs:RunTask","ecs:StopTask"],Resource:`arn:aws:ecs:*:${e}:*`,Condition:{StringEquals:{"aws:ResourceTag/fjall:dev":"true"}}},{Sid:"FjallDevEcsTaggedCreates",Effect:"Allow",Action:["ecs:RegisterTaskDefinition","ecs:CreateService"],Resource:"*",Condition:{StringEquals:{"aws:RequestTag/fjall:dev":"true"}}},{Sid:"FjallDevEcsTagOnCreate",Effect:"Allow",Action:["ecs:TagResource"],Resource:`arn:aws:ecs:*:${e}:*`,Condition:{StringEquals:{"ecs:CreateAction":["RegisterTaskDefinition","CreateService","RunTask"]}}},{Sid:"FjallDevEcsReads",Effect:"Allow",Action:["ecs:Describe*","ecs:List*"],Resource:"*"},{Sid:"FjallDevEcsDeregisterTaskDefinition",Effect:"Allow",Action:["ecs:DeregisterTaskDefinition"],Resource:`arn:aws:ecs:*:${e}:task-definition/fjall-dev-*`},{Sid:"FjallDevElbTaggedMutations",Effect:"Allow",Action:["elasticloadbalancing:ModifyRule","elasticloadbalancing:DeleteRule","elasticloadbalancing:ModifyTargetGroup","elasticloadbalancing:ModifyTargetGroupAttributes","elasticloadbalancing:DeleteTargetGroup","elasticloadbalancing:RegisterTargets","elasticloadbalancing:DeregisterTargets"],Resource:`arn:aws:elasticloadbalancing:*:${e}:*`,Condition:{StringEquals:{"aws:ResourceTag/fjall:dev":"true"}}},{Sid:"FjallDevElbTaggedCreates",Effect:"Allow",Action:["elasticloadbalancing:CreateTargetGroup","elasticloadbalancing:CreateRule"],Resource:`arn:aws:elasticloadbalancing:*:${e}:*`,Condition:{StringEquals:{"aws:RequestTag/fjall:dev":"true"}}},{Sid:"FjallDevElbTagOnCreate",Effect:"Allow",Action:["elasticloadbalancing:AddTags"],Resource:`arn:aws:elasticloadbalancing:*:${e}:*`,Condition:{StringEquals:{"elasticloadbalancing:CreateAction":["CreateTargetGroup","CreateRule"]}}},{Sid:"FjallDevElbReads",Effect:"Allow",Action:["elasticloadbalancing:Describe*"],Resource:"*"},{Sid:"FjallDevSsmDevTree",Effect:"Allow",Action:["ssm:GetParameter*","ssm:PutParameter","ssm:AddTagsToResource"],Resource:`arn:aws:ssm:*:${e}:parameter/fjall/dev/*`},{Sid:"FjallDevLogsMutations",Effect:"Allow",Action:["logs:PutRetentionPolicy","logs:DeleteLogGroup"],Resource:`arn:aws:logs:*:${e}:log-group:/fjall/dev/*`},{Sid:"FjallDevLogsTaggedCreate",Effect:"Allow",Action:["logs:CreateLogGroup","logs:TagResource"],Resource:`arn:aws:logs:*:${e}:log-group:/fjall/dev/*`,Condition:{StringEquals:{"aws:RequestTag/fjall:dev":"true"}}},{Sid:"FjallDevLogsRead",Effect:"Allow",Action:["logs:GetLogEvents","logs:DescribeLogStreams","logs:FilterLogEvents"],Resource:`arn:aws:logs:*:${e}:log-group:/fjall/dev/*`},{Sid:"FjallDevLogsDescribeGroups",Effect:"Allow",Action:["logs:DescribeLogGroups"],Resource:"*"},{Sid:"FjallDevKmsViaDevAlias",Effect:"Allow",Action:["kms:Encrypt","kms:Decrypt","kms:GenerateDataKey"],Resource:`arn:aws:kms:*:${e}:key/*`,Condition:{"ForAnyValue:StringLike":{"kms:ResourceAliases":"alias/fjall-dev-*"}}},{Sid:"FjallDevKmsSsmSecureString",Effect:"Allow",Action:["kms:Encrypt","kms:Decrypt","kms:GenerateDataKey"],Resource:`arn:aws:kms:*:${e}:key/*`,Condition:{StringLike:{"kms:ViaService":"ssm.*.amazonaws.com"}}},{Sid:"FjallDevEcrAuthToken",Effect:"Allow",Action:["ecr:GetAuthorizationToken"],Resource:"*"},{Sid:"FjallDevEcrPushPull",Effect:"Allow",Action:["ecr:PutImage","ecr:InitiateLayerUpload","ecr:UploadLayerPart","ecr:CompleteLayerUpload","ecr:BatchCheckLayerAvailability","ecr:BatchGetImage","ecr:GetDownloadUrlForLayer","ecr:DescribeImages"],Resource:`arn:aws:ecr:*:${e}:repository/*`},{Sid:"FjallDevPassDevPathRoles",Effect:"Allow",Action:["iam:PassRole"],Resource:`arn:aws:iam::${e}:role/fjall/dev/*`}]}je(nU,"buildDevDeployPolicyStatements");function iU({accountId:e}){return[{Sid:"FjallDevProvisionerBoundedRoleWrites",Effect:"Allow",Action:["iam:CreateRole","iam:PutRolePolicy","iam:AttachRolePolicy"],Resource:`arn:aws:iam::${e}:role/fjall/dev/*`,Condition:{StringEquals:{"iam:PermissionsBoundary":q$(e)}}},{Sid:"FjallDevProvisionerPathRoleOps",Effect:"Allow",Action:["iam:DeleteRole","iam:DeleteRolePolicy","iam:DetachRolePolicy","iam:ListRolePolicies","iam:TagRole"],Resource:`arn:aws:iam::${e}:role/fjall/dev/*`},{Sid:"FjallDevProvisionerListRoles",Effect:"Allow",Action:["iam:ListRoles"],Resource:"*"},{Sid:"FjallDevProvisionerDevMasterSecrets",Effect:"Allow",Action:["secretsmanager:GetSecretValue"],Resource:`arn:aws:secretsmanager:*:${e}:secret:fjall-dev-*`},{Sid:"FjallDevProvisionerKmsDecryptViaSecretsManager",Effect:"Allow",Action:["kms:Decrypt"],Resource:`arn:aws:kms:*:${e}:key/*`,Condition:{StringLike:{"kms:ViaService":"secretsmanager.*.amazonaws.com"}}},{Sid:"FjallDevProvisionerDataApi",Effect:"Allow",Action:["rds-data:ExecuteStatement","rds-data:BatchExecuteStatement","rds-data:BeginTransaction","rds-data:CommitTransaction","rds-data:RollbackTransaction"],Resource:`arn:aws:rds:*:${e}:cluster:fjall-dev-*`},{Sid:"FjallDevProvisionerMetrics",Effect:"Allow",Action:["cloudwatch:GetMetricData"],Resource:"*"},{Sid:"FjallDevProvisionerOrphanDiscovery",Effect:"Allow",Action:["tag:GetResources"],Resource:"*"},{Sid:"FjallDevProvisionerSsmTeardown",Effect:"Allow",Action:["ssm:DeleteParameter*"],Resource:`arn:aws:ssm:*:${e}:parameter/fjall/dev/*`},{Sid:"FjallDevProvisionerLogsTeardown",Effect:"Allow",Action:["logs:DeleteLogGroup"],Resource:`arn:aws:logs:*:${e}:log-group:/fjall/dev/*`},{Sid:"FjallDevProvisionerTaggedTeardown",Effect:"Allow",Action:["ecs:UpdateService","ecs:StopTask","ecs:DeleteService","elasticloadbalancing:DeleteRule","elasticloadbalancing:DeleteTargetGroup","elasticloadbalancing:DeregisterTargets"],Resource:[`arn:aws:ecs:*:${e}:*`,`arn:aws:elasticloadbalancing:*:${e}:*`],Condition:{StringEquals:{"aws:ResourceTag/fjall:dev":"true"}}},{Sid:"FjallDevProvisionerTeardownReads",Effect:"Allow",Action:["ecs:Describe*","elasticloadbalancing:Describe*"],Resource:"*"},{Sid:"FjallDevProvisionerImageJanitor",Effect:"Allow",Action:["ecr:ListImages","ecr:DescribeImages","ecr:BatchDeleteImage"],Resource:`arn:aws:ecr:*:${e}:repository/*`},{Sid:"FjallDevProvisionerSsmReadAll",Effect:"Allow",Action:["ssm:GetParameter*"],Resource:`arn:aws:ssm:*:${e}:parameter/*`},{Sid:"FjallDevProvisionerKmsDecryptViaSsm",Effect:"Allow",Action:["kms:Decrypt"],Resource:`arn:aws:kms:*:${e}:key/*`,Condition:{StringLike:{"kms:ViaService":"ssm.*.amazonaws.com"}}}]}je(iU,"buildDevProvisionerPolicyStatements");function oU({accountId:e}){return[{Sid:"FjallDevSyncPrefixReadWrite",Effect:"Allow",Action:["s3:GetObject","s3:PutObject"],Resource:`arn:aws:s3:::fjall-dev-sync-${e}-*/*`,Condition:{StringEquals:{"aws:ResourceAccount":e}}}]}je(oU,"buildDevSyncWriterPolicyStatements");function aU({accountId:e}){return[{Sid:"FjallDevBoundarySsmDevRead",Effect:"Allow",Action:["ssm:GetParameter*"],Resource:`arn:aws:ssm:*:${e}:parameter/fjall/dev/*`},{Sid:"FjallDevBoundaryKmsDecryptDevAlias",Effect:"Allow",Action:["kms:Decrypt"],Resource:`arn:aws:kms:*:${e}:key/*`,Condition:{"ForAnyValue:StringLike":{"kms:ResourceAliases":"alias/fjall-dev-*"}}},{Sid:"FjallDevBoundarySyncPrefixReadWrite",Effect:"Allow",Action:["s3:GetObject","s3:PutObject"],Resource:`arn:aws:s3:::fjall-dev-sync-${e}-*/*`,Condition:{StringEquals:{"aws:ResourceAccount":e}}},{Sid:"FjallDevBoundarySlotLogs",Effect:"Allow",Action:["logs:CreateLogStream","logs:PutLogEvents"],Resource:`arn:aws:logs:*:${e}:log-group:/fjall/dev/*`},{Sid:"FjallDevBoundarySyncQueue",Effect:"Allow",Action:["sqs:ReceiveMessage","sqs:DeleteMessage","sqs:GetQueueUrl"],Resource:`arn:aws:sqs:*:${e}:fjall-dev-sync-${e}-*`}]}je(aU,"buildDevBoundaryStatements");var sU=Object.defineProperty,Et=(e,t)=>sU(e,"name",{value:t,configurable:!0});function T(e){return JSON.stringify(e)}Et(T,"escapeStringLiteral");function cn(e){return e.map(T).join(", ")}Et(cn,"formatStringArray");var cU="import:SharedAlarmTopicArn";function un(e=" "){return`
191
- ${e}...(getConfig().environment === "production" ? { alertsTopic: ${T(cU)} } : {}),`}Et(un,"emitProductionAlertsTopicSpread");function Hv(e){if(typeof e!="object"||e===null)return!1;let t=e;return typeof t.__identifier=="string"||typeof t.__expression=="string"||typeof t.__call=="string"}Et(Hv,"isSpecialValue");function er(e){return e.replace(/[^a-zA-Z0-9]/g," ").split(" ").map((t,n)=>n===0?t.charAt(0).toLowerCase()+t.slice(1):t.charAt(0).toUpperCase()+t.slice(1)).join("")}Et(er,"toVariableName");function ie(e){return e.variableName??er(e.name)}Et(ie,"getVariableName");function fa(e,t){for(let n of e.database)if(n.name===t&&n.variableName)return n.variableName;for(let n of e.s3)if(n.name===t&&n.variableName)return n.variableName;for(let n of e.compute)if(n.name===t&&n.variableName)return n.variableName;for(let n of e.dynamodb??[])if(n.name===t&&n.variableName)return n.variableName;for(let n of e.sqs??[])if(n.name===t&&n.variableName)return n.variableName;return er(t)}Et(fa,"resolveResourceVariable");function X$(e){let t=Object.entries(e);return t.length===0?!0:t.length>1?!1:t.every(([,n])=>typeof n=="string"||typeof n=="number"||typeof n=="boolean"||n===null)}Et(X$,"isSimpleObject");function G(e,t=" "){if(e==null)return"undefined";if(typeof e=="string")return JSON.stringify(e);if(typeof e=="number"||typeof e=="boolean")return String(e);if(Hv(e)){if("__identifier"in e)return e.__identifier;if("__expression"in e)return e.__expression;if("__call"in e)return e.__call}if(Array.isArray(e))return`[${e.map(n=>G(n,t)).join(", ")}]`;if(typeof e=="object"){let n=Object.entries(e).filter(([,o])=>o!==void 0);if(X$(e)){let o=n.map(([a,c])=>`${a}: ${G(c,t)}`).join(", ");return o?`{ ${o} }`:"{}"}let i=t+" ",r=n.map(([o,a])=>`${i}${o}: ${G(a,i)}`).join(`,
190
+ ${n}`)}return t.data}UL(ZL,"validateBuildkiteProps");var GL=Object.defineProperty,WL=(e,t)=>GL(e,"name",{value:t,configurable:!0});function HL(e){return`FjallDeployBoundary${e}`}WL(HL,"deployBoundaryName");var Zv={Sid:"FjallInheritAdministratorAccess",Effect:"Allow",Action:"*",Resource:"*"},W$=[{Sid:"FjallDenyOrgAndAccountEscape",Effect:"Deny",Action:["organizations:LeaveOrganization","account:CloseAccount"],Resource:"*"},{Sid:"FjallDenyDisableAuditLogging",Effect:"Deny",Action:["cloudtrail:StopLogging"],Resource:"*"},{Sid:"FjallDenyBoundarySelfEscape",Effect:"Deny",Action:["iam:DeleteRolePermissionsBoundary"],Resource:"*"},{Sid:"FjallDenyDisableKmsKey",Effect:"Deny",Action:["kms:DisableKey"],Resource:"*"}],H$=[...W$,{Sid:"FjallDenyStandingHumanCredentials",Effect:"Deny",Action:["iam:CreateUser","iam:CreateLoginProfile","iam:CreateAccessKey","iam:CreateAccountAlias"],Resource:"*"},{Sid:"FjallDenyDisableConfigRecorder",Effect:"Deny",Action:["config:StopConfigurationRecorder"],Resource:"*"}],qL=[...H$,{Sid:"FjallDenyAccountPasswordPolicyTamper",Effect:"Deny",Action:["iam:UpdateAccountPasswordPolicy","iam:DeleteAccountPasswordPolicy"],Resource:"*"},{Sid:"FjallDenyDisableDefaultEbsEncryption",Effect:"Deny",Action:["ec2:DisableEbsEncryptionByDefault"],Resource:"*"}],oq={foundation:[Zv,...W$],compliance:[Zv,...H$],hardened:[Zv,...qL]};var KL=Object.defineProperty,je=(e,t)=>KL(e,"name",{value:t,configurable:!0});var Gv="sts.amazonaws.com";function YL(e){return`FjallDevDeploy${e}`}je(YL,"devDeployRoleName");function XL(e){return`FjallDevProvisioner${e}`}je(XL,"devProvisionerRoleName");function JL(e){return`FjallDevSyncWriter${e}`}je(JL,"devSyncWriterRoleName");var QL="FjallDevBoundary";function q$(e){return`arn:aws:iam::${e}:policy/${QL}`}je(q$,"devBoundaryPolicyArn");function K$(e){return`org:${e}:dev-provisioner`}je(K$,"devProvisionerSubject");function Y$(e){return`org:${e}:dev-sync`}je(Y$,"devSyncSubject");function eU(e){let{fjallOrgId:t,providerArn:n,issuerDomain:i}=e,r={[`${i}:aud`]:Gv};return[{Sid:"FjallMachineSubject",Effect:"Allow",Principal:{Federated:n},Action:"sts:AssumeRoleWithWebIdentity",Condition:{StringEquals:{...r,[`${i}:sub`]:`org:${t}:*`}}},{Sid:"FjallUserSubjects",Effect:"Allow",Principal:{Federated:n},Action:"sts:AssumeRoleWithWebIdentity",Condition:{StringEquals:r,StringLike:{[`${i}:sub`]:`org:${t}:user:*`}}},{Sid:"FjallServiceSubjects",Effect:"Allow",Principal:{Federated:n},Action:"sts:AssumeRoleWithWebIdentity",Condition:{StringEquals:{...r,[`${i}:sub`]:[`org:${t}:discovery`,`org:${t}:connection`,`org:${t}:org-setup`,`org:${t}:dev-substrate-setup`]}}}]}je(eU,"buildNarrowedDeployTrustStatements");function tU(e){let{fjallOrgId:t,providerArn:n,issuerDomain:i,accountId:r}=e;return[{Sid:"FjallDevSubjectsThisAccount",Effect:"Allow",Principal:{Federated:n},Action:"sts:AssumeRoleWithWebIdentity",Condition:{StringEquals:{[`${i}:aud`]:Gv},StringLike:{[`${i}:sub`]:`org:${t}:dev:${r}:*`}}}]}je(tU,"buildDevDeployTrustStatements");function Wv(e){let{providerArn:t,issuerDomain:n,sid:i,subject:r}=e;return[{Sid:i,Effect:"Allow",Principal:{Federated:t},Action:"sts:AssumeRoleWithWebIdentity",Condition:{StringEquals:{[`${n}:aud`]:Gv,[`${n}:sub`]:r}}}]}je(Wv,"buildServiceSubjectTrustStatements");function rU(e){return Wv({...e,sid:"FjallDevProvisionerSubject",subject:K$(e.fjallOrgId)})}je(rU,"buildDevProvisionerTrustStatements");function nU(e){return Wv({...e,sid:"FjallDevSyncSubject",subject:Y$(e.fjallOrgId)})}je(nU,"buildDevSyncWriterTrustStatements");function iU({accountId:e}){return[{Sid:"FjallDevEcsTaggedMutations",Effect:"Allow",Action:["ecs:UpdateService","ecs:DeleteService","ecs:RunTask","ecs:StopTask"],Resource:`arn:aws:ecs:*:${e}:*`,Condition:{StringEquals:{"aws:ResourceTag/fjall:dev":"true"}}},{Sid:"FjallDevEcsTaggedCreates",Effect:"Allow",Action:["ecs:RegisterTaskDefinition","ecs:CreateService"],Resource:"*",Condition:{StringEquals:{"aws:RequestTag/fjall:dev":"true"}}},{Sid:"FjallDevEcsTagOnCreate",Effect:"Allow",Action:["ecs:TagResource"],Resource:`arn:aws:ecs:*:${e}:*`,Condition:{StringEquals:{"ecs:CreateAction":["RegisterTaskDefinition","CreateService","RunTask"]}}},{Sid:"FjallDevEcsReads",Effect:"Allow",Action:["ecs:Describe*","ecs:List*"],Resource:"*"},{Sid:"FjallDevEcsDeregisterTaskDefinition",Effect:"Allow",Action:["ecs:DeregisterTaskDefinition"],Resource:`arn:aws:ecs:*:${e}:task-definition/fjall-dev-*`},{Sid:"FjallDevElbTaggedMutations",Effect:"Allow",Action:["elasticloadbalancing:ModifyRule","elasticloadbalancing:DeleteRule","elasticloadbalancing:ModifyTargetGroup","elasticloadbalancing:ModifyTargetGroupAttributes","elasticloadbalancing:DeleteTargetGroup","elasticloadbalancing:RegisterTargets","elasticloadbalancing:DeregisterTargets"],Resource:`arn:aws:elasticloadbalancing:*:${e}:*`,Condition:{StringEquals:{"aws:ResourceTag/fjall:dev":"true"}}},{Sid:"FjallDevElbTaggedCreates",Effect:"Allow",Action:["elasticloadbalancing:CreateTargetGroup","elasticloadbalancing:CreateRule"],Resource:`arn:aws:elasticloadbalancing:*:${e}:*`,Condition:{StringEquals:{"aws:RequestTag/fjall:dev":"true"}}},{Sid:"FjallDevElbTagOnCreate",Effect:"Allow",Action:["elasticloadbalancing:AddTags"],Resource:`arn:aws:elasticloadbalancing:*:${e}:*`,Condition:{StringEquals:{"elasticloadbalancing:CreateAction":["CreateTargetGroup","CreateRule"]}}},{Sid:"FjallDevElbReads",Effect:"Allow",Action:["elasticloadbalancing:Describe*"],Resource:"*"},{Sid:"FjallDevSsmDevTree",Effect:"Allow",Action:["ssm:GetParameter*","ssm:PutParameter","ssm:AddTagsToResource"],Resource:`arn:aws:ssm:*:${e}:parameter/fjall/dev/*`},{Sid:"FjallDevLogsMutations",Effect:"Allow",Action:["logs:PutRetentionPolicy","logs:DeleteLogGroup"],Resource:`arn:aws:logs:*:${e}:log-group:/fjall/dev/*`},{Sid:"FjallDevLogsTaggedCreate",Effect:"Allow",Action:["logs:CreateLogGroup","logs:TagResource"],Resource:`arn:aws:logs:*:${e}:log-group:/fjall/dev/*`,Condition:{StringEquals:{"aws:RequestTag/fjall:dev":"true"}}},{Sid:"FjallDevLogsRead",Effect:"Allow",Action:["logs:GetLogEvents","logs:DescribeLogStreams","logs:FilterLogEvents"],Resource:`arn:aws:logs:*:${e}:log-group:/fjall/dev/*`},{Sid:"FjallDevLogsDescribeGroups",Effect:"Allow",Action:["logs:DescribeLogGroups"],Resource:"*"},{Sid:"FjallDevKmsViaDevAlias",Effect:"Allow",Action:["kms:Encrypt","kms:Decrypt","kms:GenerateDataKey"],Resource:`arn:aws:kms:*:${e}:key/*`,Condition:{"ForAnyValue:StringLike":{"kms:ResourceAliases":"alias/fjall-dev-*"}}},{Sid:"FjallDevKmsSsmSecureString",Effect:"Allow",Action:["kms:Encrypt","kms:Decrypt","kms:GenerateDataKey"],Resource:`arn:aws:kms:*:${e}:key/*`,Condition:{StringLike:{"kms:ViaService":"ssm.*.amazonaws.com"}}},{Sid:"FjallDevEcrAuthToken",Effect:"Allow",Action:["ecr:GetAuthorizationToken"],Resource:"*"},{Sid:"FjallDevEcrPushPull",Effect:"Allow",Action:["ecr:PutImage","ecr:InitiateLayerUpload","ecr:UploadLayerPart","ecr:CompleteLayerUpload","ecr:BatchCheckLayerAvailability","ecr:BatchGetImage","ecr:GetDownloadUrlForLayer","ecr:DescribeImages"],Resource:`arn:aws:ecr:*:${e}:repository/*`},{Sid:"FjallDevPassDevPathRoles",Effect:"Allow",Action:["iam:PassRole"],Resource:`arn:aws:iam::${e}:role/fjall/dev/*`}]}je(iU,"buildDevDeployPolicyStatements");function oU({accountId:e}){return[{Sid:"FjallDevProvisionerBoundedRoleWrites",Effect:"Allow",Action:["iam:CreateRole","iam:PutRolePolicy","iam:AttachRolePolicy"],Resource:`arn:aws:iam::${e}:role/fjall/dev/*`,Condition:{StringEquals:{"iam:PermissionsBoundary":q$(e)}}},{Sid:"FjallDevProvisionerPathRoleOps",Effect:"Allow",Action:["iam:DeleteRole","iam:DeleteRolePolicy","iam:DetachRolePolicy","iam:ListRolePolicies","iam:TagRole"],Resource:`arn:aws:iam::${e}:role/fjall/dev/*`},{Sid:"FjallDevProvisionerListRoles",Effect:"Allow",Action:["iam:ListRoles"],Resource:"*"},{Sid:"FjallDevProvisionerDevMasterSecrets",Effect:"Allow",Action:["secretsmanager:GetSecretValue"],Resource:`arn:aws:secretsmanager:*:${e}:secret:fjall-dev-*`},{Sid:"FjallDevProvisionerKmsDecryptViaSecretsManager",Effect:"Allow",Action:["kms:Decrypt"],Resource:`arn:aws:kms:*:${e}:key/*`,Condition:{StringLike:{"kms:ViaService":"secretsmanager.*.amazonaws.com"}}},{Sid:"FjallDevProvisionerDataApi",Effect:"Allow",Action:["rds-data:ExecuteStatement","rds-data:BatchExecuteStatement","rds-data:BeginTransaction","rds-data:CommitTransaction","rds-data:RollbackTransaction"],Resource:`arn:aws:rds:*:${e}:cluster:fjall-dev-*`},{Sid:"FjallDevProvisionerMetrics",Effect:"Allow",Action:["cloudwatch:GetMetricData"],Resource:"*"},{Sid:"FjallDevProvisionerOrphanDiscovery",Effect:"Allow",Action:["tag:GetResources"],Resource:"*"},{Sid:"FjallDevProvisionerSsmTeardown",Effect:"Allow",Action:["ssm:DeleteParameter*"],Resource:`arn:aws:ssm:*:${e}:parameter/fjall/dev/*`},{Sid:"FjallDevProvisionerLogsTeardown",Effect:"Allow",Action:["logs:DeleteLogGroup"],Resource:`arn:aws:logs:*:${e}:log-group:/fjall/dev/*`},{Sid:"FjallDevProvisionerTaggedTeardown",Effect:"Allow",Action:["ecs:UpdateService","ecs:StopTask","ecs:DeleteService","elasticloadbalancing:DeleteRule","elasticloadbalancing:DeleteTargetGroup","elasticloadbalancing:DeregisterTargets"],Resource:[`arn:aws:ecs:*:${e}:*`,`arn:aws:elasticloadbalancing:*:${e}:*`],Condition:{StringEquals:{"aws:ResourceTag/fjall:dev":"true"}}},{Sid:"FjallDevProvisionerTeardownReads",Effect:"Allow",Action:["ecs:Describe*","elasticloadbalancing:Describe*"],Resource:"*"},{Sid:"FjallDevProvisionerImageJanitor",Effect:"Allow",Action:["ecr:ListImages","ecr:DescribeImages","ecr:BatchDeleteImage"],Resource:`arn:aws:ecr:*:${e}:repository/*`},{Sid:"FjallDevProvisionerSsmReadAll",Effect:"Allow",Action:["ssm:GetParameter*"],Resource:`arn:aws:ssm:*:${e}:parameter/*`},{Sid:"FjallDevProvisionerKmsDecryptViaSsm",Effect:"Allow",Action:["kms:Decrypt"],Resource:`arn:aws:kms:*:${e}:key/*`,Condition:{StringLike:{"kms:ViaService":"ssm.*.amazonaws.com"}}}]}je(oU,"buildDevProvisionerPolicyStatements");function aU({accountId:e}){return[{Sid:"FjallDevSyncPrefixReadWrite",Effect:"Allow",Action:["s3:GetObject","s3:PutObject"],Resource:`arn:aws:s3:::fjall-dev-sync-${e}-*/*`,Condition:{StringEquals:{"aws:ResourceAccount":e}}}]}je(aU,"buildDevSyncWriterPolicyStatements");function sU({accountId:e}){return[{Sid:"FjallDevBoundarySsmDevRead",Effect:"Allow",Action:["ssm:GetParameter*"],Resource:`arn:aws:ssm:*:${e}:parameter/fjall/dev/*`},{Sid:"FjallDevBoundaryKmsDecryptDevAlias",Effect:"Allow",Action:["kms:Decrypt"],Resource:`arn:aws:kms:*:${e}:key/*`,Condition:{"ForAnyValue:StringLike":{"kms:ResourceAliases":"alias/fjall-dev-*"}}},{Sid:"FjallDevBoundarySyncPrefixReadWrite",Effect:"Allow",Action:["s3:GetObject","s3:PutObject"],Resource:`arn:aws:s3:::fjall-dev-sync-${e}-*/*`,Condition:{StringEquals:{"aws:ResourceAccount":e}}},{Sid:"FjallDevBoundarySlotLogs",Effect:"Allow",Action:["logs:CreateLogStream","logs:PutLogEvents"],Resource:`arn:aws:logs:*:${e}:log-group:/fjall/dev/*`},{Sid:"FjallDevBoundarySyncQueue",Effect:"Allow",Action:["sqs:ReceiveMessage","sqs:DeleteMessage","sqs:GetQueueUrl"],Resource:`arn:aws:sqs:*:${e}:fjall-dev-sync-${e}-*`}]}je(sU,"buildDevBoundaryStatements");var cU=Object.defineProperty,Et=(e,t)=>cU(e,"name",{value:t,configurable:!0});function T(e){return JSON.stringify(e)}Et(T,"escapeStringLiteral");function cn(e){return e.map(T).join(", ")}Et(cn,"formatStringArray");var uU="import:SharedAlarmTopicArn";function un(e=" "){return`
191
+ ${e}...(getConfig().environment === "production" ? { alertsTopic: ${T(uU)} } : {}),`}Et(un,"emitProductionAlertsTopicSpread");function Hv(e){if(typeof e!="object"||e===null)return!1;let t=e;return typeof t.__identifier=="string"||typeof t.__expression=="string"||typeof t.__call=="string"}Et(Hv,"isSpecialValue");function er(e){return e.replace(/[^a-zA-Z0-9]/g," ").split(" ").map((t,n)=>n===0?t.charAt(0).toLowerCase()+t.slice(1):t.charAt(0).toUpperCase()+t.slice(1)).join("")}Et(er,"toVariableName");function ie(e){return e.variableName??er(e.name)}Et(ie,"getVariableName");function fa(e,t){for(let n of e.database)if(n.name===t&&n.variableName)return n.variableName;for(let n of e.s3)if(n.name===t&&n.variableName)return n.variableName;for(let n of e.compute)if(n.name===t&&n.variableName)return n.variableName;for(let n of e.dynamodb??[])if(n.name===t&&n.variableName)return n.variableName;for(let n of e.sqs??[])if(n.name===t&&n.variableName)return n.variableName;return er(t)}Et(fa,"resolveResourceVariable");function X$(e){let t=Object.entries(e);return t.length===0?!0:t.length>1?!1:t.every(([,n])=>typeof n=="string"||typeof n=="number"||typeof n=="boolean"||n===null)}Et(X$,"isSimpleObject");function G(e,t=" "){if(e==null)return"undefined";if(typeof e=="string")return JSON.stringify(e);if(typeof e=="number"||typeof e=="boolean")return String(e);if(Hv(e)){if("__identifier"in e)return e.__identifier;if("__expression"in e)return e.__expression;if("__call"in e)return e.__call}if(Array.isArray(e))return`[${e.map(n=>G(n,t)).join(", ")}]`;if(typeof e=="object"){let n=Object.entries(e).filter(([,o])=>o!==void 0);if(X$(e)){let o=n.map(([a,c])=>`${a}: ${G(c,t)}`).join(", ");return o?`{ ${o} }`:"{}"}let i=t+" ",r=n.map(([o,a])=>`${i}${o}: ${G(a,i)}`).join(`,
192
192
  `);return r?`{
193
193
  ${r}
194
194
  ${t}}`:"{}"}return JSON.stringify(e)}Et(G,"formatValue");function O(e,t,n,i="raw"){if(!e)return"";let r;switch(i){case"string":r=T(String(n));break;case"object":r=G(n);break;case"boolean-or-object":r=n===!1?"false":G(n);break;default:r=String(n)}return`
195
195
  ${t}: ${r},`}Et(O,"buildProperty");function fe(e,t=" "){return e?.length?e.map(n=>`
196
- ${t}${n.key}: ${n.sourceText},`).join(""):""}Et(fe,"emitExtraProperties");var uU=Object.defineProperty,ze=(e,t)=>uU(e,"name",{value:t,configurable:!0}),le=Object.freeze({HOST:"DATABASE_HOST",PORT:"DATABASE_PORT",NAME:"DATABASE_NAME",SSL:"DATABASE_SSL",USERNAME:"DATABASE_USERNAME",PASSWORD:"DATABASE_PASSWORD"}),ga=Object.freeze({USERNAME:"username",PASSWORD:"password"});function ln(e,t){let n=t.connectedDatabase;return n?.length?e.database.filter(i=>n.includes(i.name)):[]}ze(ln,"getConnectedDatabases");function ha(e,t){return`${e}.getCredentials().getImport(${T(t)})`}ze(ha,"getCredentialExpression");function va(e){let t=[],n=ze((i,r,o)=>{t.push({key:i,expression:r,isSecret:o})},"addEntry");if(e.length===1){let i=ie(e[0]);n(le.HOST,`${i}.getHostEndpoint()`,!1),n(le.PORT,`${i}.getHostPort()`,!1),n(le.NAME,`${i}.getDatabaseName()`,!1),n(le.SSL,'"true"',!1),n(le.USERNAME,ha(i,ga.USERNAME),!0),n(le.PASSWORD,ha(i,ga.PASSWORD),!0)}else for(let[i,r]of e.entries()){let o=ie(r),a=i===0?"":`_${i+1}`;n(`${le.HOST}${a}`,`${o}.getHostEndpoint()`,!1),n(`${le.PORT}${a}`,`${o}.getHostPort()`,!1),n(`${le.NAME}${a}`,`${o}.getDatabaseName()`,!1),n(`${le.SSL}${a}`,'"true"',!1),n(`${le.USERNAME}${a}`,ha(o,ga.USERNAME),!0),n(`${le.PASSWORD}${a}`,ha(o,ga.PASSWORD),!0)}return t}ze(va,"generateDatabaseEnvVarEntries");function J$(e){return`connections: [${e.map(t=>ie(t)).join(", ")}],`}ze(J$,"formatConnectionsCode");function Yu(e){return e.expression==='"true"'?"true":{__expression:e.expression}}ze(Yu,"toDatabaseEnvVarValue");function Xu(e,t){let n={},i={};if(!t.needsConnection||!t.connectedDatabase?.length)return{env:n,secrets:i};let r=ln(e,t),o=va(r);for(let a of o){let c=Yu(a);a.isSecret?i[a.key]={__expression:a.expression}:n[a.key]=c}return{env:n,secrets:i}}ze(Xu,"buildDatabaseEnvVars");function Q$(e){let t="";return t+=O(e.port!==void 0,"port",e.port),t+=O(e.deletionProtection!==void 0,"deletionProtection",e.deletionProtection),t+=O(e.snapshotIdentifier!==void 0,"snapshotIdentifier",e.snapshotIdentifier,"string"),t+=O(e.snapshotUsername!==void 0,"snapshotUsername",e.snapshotUsername,"string"),t+=O(e.monitoringInterval!==void 0,"monitoringInterval",e.monitoringInterval),t}ze(Q$,"generateDatabaseSharedProps");function eT(e){if(e.type!=="Instance")return"";let t="";return t+=O(e.instanceType!==void 0,"instanceType",e.instanceType,"string"),t+=O(e.allocatedStorage!==void 0,"allocatedStorage",e.allocatedStorage),t+=O(e.multiAz!==void 0,"multiAz",e.multiAz),t+=O(e.publiclyAccessible!==void 0,"publiclyAccessible",e.publiclyAccessible),t+=O(e.encryption!==void 0,"encryption",e.encryption,"object"),t+=O(e.databaseInsights!==void 0,"databaseInsights",e.databaseInsights,"boolean-or-object"),t+=O(e.proxy!==void 0,"proxy",e.proxy,"boolean-or-object"),t+=O(e.readReplica!==void 0,"readReplica",e.readReplica,"boolean-or-object"),t+=O(e.credentials!==void 0,"credentials",e.credentials,"object"),t+=O(e.backupRetention!==void 0,"backupRetention",e.backupRetention),t}ze(eT,"generateDatabaseInstanceProps");function tT(e){if(e.type!=="Aurora"&&e.type!=="GlobalAurora")return"";let t="";return t+=O(e.encryption!==void 0,"encryption",e.encryption,"object"),t+=O(e.databaseInsights!==void 0,"databaseInsights",e.databaseInsights,"boolean-or-object"),t+=O(e.proxy!==void 0,"proxy",e.proxy,"boolean-or-object"),t+=O(e.credentials!==void 0,"credentials",e.credentials,"object"),t+=O(e.writer!==void 0,"writer",e.writer,"object"),t+=O(e.readers!==void 0,"readers",e.readers,"boolean-or-object"),t+=O(e.backupRetention!==void 0,"backupRetention",e.backupRetention),t+=O(e.preferredMaintenanceWindow!==void 0,"preferredMaintenanceWindow",e.preferredMaintenanceWindow,"string"),t}ze(tT,"generateDatabaseAuroraProps");function rT(e){if(e.type!=="GlobalAurora")return"";let t="";return t+=O(e.primaryRegion!==void 0,"primaryRegion",e.primaryRegion,"string"),e.secondaryRegions!==void 0&&e.secondaryRegions.length>0&&(t+=`
196
+ ${t}${n.key}: ${n.sourceText},`).join(""):""}Et(fe,"emitExtraProperties");var lU=Object.defineProperty,ze=(e,t)=>lU(e,"name",{value:t,configurable:!0}),le=Object.freeze({HOST:"DATABASE_HOST",PORT:"DATABASE_PORT",NAME:"DATABASE_NAME",SSL:"DATABASE_SSL",USERNAME:"DATABASE_USERNAME",PASSWORD:"DATABASE_PASSWORD"}),ga=Object.freeze({USERNAME:"username",PASSWORD:"password"});function ln(e,t){let n=t.connectedDatabase;return n?.length?e.database.filter(i=>n.includes(i.name)):[]}ze(ln,"getConnectedDatabases");function ha(e,t){return`${e}.getCredentials().getImport(${T(t)})`}ze(ha,"getCredentialExpression");function va(e){let t=[],n=ze((i,r,o)=>{t.push({key:i,expression:r,isSecret:o})},"addEntry");if(e.length===1){let i=ie(e[0]);n(le.HOST,`${i}.getHostEndpoint()`,!1),n(le.PORT,`${i}.getHostPort()`,!1),n(le.NAME,`${i}.getDatabaseName()`,!1),n(le.SSL,'"true"',!1),n(le.USERNAME,ha(i,ga.USERNAME),!0),n(le.PASSWORD,ha(i,ga.PASSWORD),!0)}else for(let[i,r]of e.entries()){let o=ie(r),a=i===0?"":`_${i+1}`;n(`${le.HOST}${a}`,`${o}.getHostEndpoint()`,!1),n(`${le.PORT}${a}`,`${o}.getHostPort()`,!1),n(`${le.NAME}${a}`,`${o}.getDatabaseName()`,!1),n(`${le.SSL}${a}`,'"true"',!1),n(`${le.USERNAME}${a}`,ha(o,ga.USERNAME),!0),n(`${le.PASSWORD}${a}`,ha(o,ga.PASSWORD),!0)}return t}ze(va,"generateDatabaseEnvVarEntries");function J$(e){return`connections: [${e.map(t=>ie(t)).join(", ")}],`}ze(J$,"formatConnectionsCode");function Yu(e){return e.expression==='"true"'?"true":{__expression:e.expression}}ze(Yu,"toDatabaseEnvVarValue");function Xu(e,t){let n={},i={};if(!t.needsConnection||!t.connectedDatabase?.length)return{env:n,secrets:i};let r=ln(e,t),o=va(r);for(let a of o){let c=Yu(a);a.isSecret?i[a.key]={__expression:a.expression}:n[a.key]=c}return{env:n,secrets:i}}ze(Xu,"buildDatabaseEnvVars");function Q$(e){let t="";return t+=O(e.port!==void 0,"port",e.port),t+=O(e.deletionProtection!==void 0,"deletionProtection",e.deletionProtection),t+=O(e.snapshotIdentifier!==void 0,"snapshotIdentifier",e.snapshotIdentifier,"string"),t+=O(e.snapshotUsername!==void 0,"snapshotUsername",e.snapshotUsername,"string"),t+=O(e.monitoringInterval!==void 0,"monitoringInterval",e.monitoringInterval),t}ze(Q$,"generateDatabaseSharedProps");function eT(e){if(e.type!=="Instance")return"";let t="";return t+=O(e.instanceType!==void 0,"instanceType",e.instanceType,"string"),t+=O(e.allocatedStorage!==void 0,"allocatedStorage",e.allocatedStorage),t+=O(e.multiAz!==void 0,"multiAz",e.multiAz),t+=O(e.publiclyAccessible!==void 0,"publiclyAccessible",e.publiclyAccessible),t+=O(e.encryption!==void 0,"encryption",e.encryption,"object"),t+=O(e.databaseInsights!==void 0,"databaseInsights",e.databaseInsights,"boolean-or-object"),t+=O(e.proxy!==void 0,"proxy",e.proxy,"boolean-or-object"),t+=O(e.readReplica!==void 0,"readReplica",e.readReplica,"boolean-or-object"),t+=O(e.credentials!==void 0,"credentials",e.credentials,"object"),t+=O(e.backupRetention!==void 0,"backupRetention",e.backupRetention),t}ze(eT,"generateDatabaseInstanceProps");function tT(e){if(e.type!=="Aurora"&&e.type!=="GlobalAurora")return"";let t="";return t+=O(e.encryption!==void 0,"encryption",e.encryption,"object"),t+=O(e.databaseInsights!==void 0,"databaseInsights",e.databaseInsights,"boolean-or-object"),t+=O(e.proxy!==void 0,"proxy",e.proxy,"boolean-or-object"),t+=O(e.credentials!==void 0,"credentials",e.credentials,"object"),t+=O(e.writer!==void 0,"writer",e.writer,"object"),t+=O(e.readers!==void 0,"readers",e.readers,"boolean-or-object"),t+=O(e.backupRetention!==void 0,"backupRetention",e.backupRetention),t+=O(e.preferredMaintenanceWindow!==void 0,"preferredMaintenanceWindow",e.preferredMaintenanceWindow,"string"),t}ze(tT,"generateDatabaseAuroraProps");function rT(e){if(e.type!=="GlobalAurora")return"";let t="";return t+=O(e.primaryRegion!==void 0,"primaryRegion",e.primaryRegion,"string"),e.secondaryRegions!==void 0&&e.secondaryRegions.length>0&&(t+=`
197
197
  secondaryRegions: [${cn(e.secondaryRegions)}],`),t+=O(e.globalClusterIdentifier!==void 0,"globalClusterIdentifier",e.globalClusterIdentifier,"string"),t+=O(e.enableGlobalWriteForwarding!==void 0,"enableGlobalWriteForwarding",e.enableGlobalWriteForwarding),t}ze(rT,"generateDatabaseGlobalAuroraProps");function qv(e,t){return t.compute.some(n=>n.needsConnection&&n.connectedDatabase?.includes(e.name))}ze(qv,"databaseNeedsVariable");function Ju(e){if(e.database.length===0)return"";let t="";for(let n=0;n<e.database.length;n++){let i=e.database[n],r=ie(i),o=qv(i,e),a=n>0,c=o?`const ${r} = `:"";t+=`${a?`
198
198
  `:""}${c}app.addDatabase(
199
199
  DatabaseFactory.build(${T(i.name)}, {
@@ -218,10 +218,10 @@ ${t}${n.key}: ${n.sourceText},`).join(""):""}Et(fe,"emitExtraProperties");var uU
218
218
  backupRetentionDays: ${i.backupRetentionDays},`),t+=fe(i.extraProperties),t+=`
219
219
  })
220
220
  );
221
- `}return t}ze(Qu,"generateClickHouseCode");function nT(e,t){return t.compute.some(n=>n.connectedDatabase?.includes(e.name))}ze(nT,"clickhouseNeedsVariable");var lU=Object.defineProperty,el=(e,t)=>lU(e,"name",{value:t,configurable:!0}),ba=Object.freeze({NAME:"BUCKET_NAME"});function dn(e,t){let{connectedStorage:n}=t;return n?.length?e.s3.filter(i=>n.includes(i.name)):[]}el(dn,"getConnectedStorage");function ya(e){let t=[];if(e.length===1){let n=e[0];if(!n)return t;let i=ie(n);t.push({key:ba.NAME,expression:`${i}.getBucketName()`})}else for(let[n,i]of e.entries()){let r=ie(i),o=n===0?"":`_${n+1}`;t.push({key:`${ba.NAME}${o}`,expression:`${r}.getBucketName()`})}return t}el(ya,"generateStorageEnvVarEntries");function tl(e,t){let n={},i={};if(!t.connectedStorage?.length)return{env:n,secrets:i};let r=dn(e,t),o=ya(r);for(let a of o)n[a.key]={__expression:a.expression};return{env:n,secrets:i}}el(tl,"buildStorageEnvVars");function Ni(e,t,n=[]){let i=e.map(a=>ie(a)),r=t.map(a=>ie(a)),o=n.map(a=>ie(a));return`connections: [${[...i,...r,...o].join(", ")}],`}el(Ni,"formatAllConnectionsCode");var dU=Object.defineProperty,Kv=(e,t)=>dU(e,"name",{value:t,configurable:!0}),Tr=Object.freeze({URL:"QUEUE_URL",ARN:"QUEUE_ARN"});function mn(e,t){let{connectedMessaging:n}=t;return n?.length?(e.sqs??[]).filter(i=>n.includes(i.name)):[]}Kv(mn,"getConnectedMessaging");function Sa(e){let t=[];if(e.length===1){let n=e[0];if(!n)return t;let i=ie(n);t.push({key:Tr.URL,expression:`${i}.getQueueUrl()`}),t.push({key:Tr.ARN,expression:`${i}.getQueueArn()`})}else for(let[n,i]of e.entries()){let r=ie(i),o=n===0?"":`_${n+1}`;t.push({key:`${Tr.URL}${o}`,expression:`${r}.getQueueUrl()`}),t.push({key:`${Tr.ARN}${o}`,expression:`${r}.getQueueArn()`})}return t}Kv(Sa,"generateMessagingEnvVarEntries");function rl(e,t){let n={},i={};if(!t.connectedMessaging?.length)return{env:n,secrets:i};let r=mn(e,t),o=Sa(r);for(let a of o)n[a.key]={__expression:a.expression};return{env:n,secrets:i}}Kv(rl,"buildMessagingEnvVars");var mU=Object.defineProperty,wi=(e,t)=>mU(e,"name",{value:t,configurable:!0});function pn(e){return!!(e.needsConnection&&e.connectedDatabase?.length)}wi(pn,"computeHasDatabaseConnections");function fn(e){return!!e.connectedStorage?.length}wi(fn,"computeHasStorageConnections");function gn(e){return!!e.connectedMessaging?.length}wi(gn,"computeHasMessagingConnections");function _a(e){return pn(e)||fn(e)||gn(e)}wi(_a,"computeHasConnections");var Ea={ENVIRONMENT:{__expression:"getConfig().environment"}};function ki(e,t){return Object.entries(e).map(([n,i])=>`${t}${n}: ${G(i)},`).join(`
221
+ `}return t}ze(Qu,"generateClickHouseCode");function nT(e,t){return t.compute.some(n=>n.connectedDatabase?.includes(e.name))}ze(nT,"clickhouseNeedsVariable");var dU=Object.defineProperty,el=(e,t)=>dU(e,"name",{value:t,configurable:!0}),ba=Object.freeze({NAME:"BUCKET_NAME"});function dn(e,t){let{connectedStorage:n}=t;return n?.length?e.s3.filter(i=>n.includes(i.name)):[]}el(dn,"getConnectedStorage");function ya(e){let t=[];if(e.length===1){let n=e[0];if(!n)return t;let i=ie(n);t.push({key:ba.NAME,expression:`${i}.getBucketName()`})}else for(let[n,i]of e.entries()){let r=ie(i),o=n===0?"":`_${n+1}`;t.push({key:`${ba.NAME}${o}`,expression:`${r}.getBucketName()`})}return t}el(ya,"generateStorageEnvVarEntries");function tl(e,t){let n={},i={};if(!t.connectedStorage?.length)return{env:n,secrets:i};let r=dn(e,t),o=ya(r);for(let a of o)n[a.key]={__expression:a.expression};return{env:n,secrets:i}}el(tl,"buildStorageEnvVars");function Ni(e,t,n=[]){let i=e.map(a=>ie(a)),r=t.map(a=>ie(a)),o=n.map(a=>ie(a));return`connections: [${[...i,...r,...o].join(", ")}],`}el(Ni,"formatAllConnectionsCode");var mU=Object.defineProperty,Kv=(e,t)=>mU(e,"name",{value:t,configurable:!0}),Tr=Object.freeze({URL:"QUEUE_URL",ARN:"QUEUE_ARN"});function mn(e,t){let{connectedMessaging:n}=t;return n?.length?(e.sqs??[]).filter(i=>n.includes(i.name)):[]}Kv(mn,"getConnectedMessaging");function Sa(e){let t=[];if(e.length===1){let n=e[0];if(!n)return t;let i=ie(n);t.push({key:Tr.URL,expression:`${i}.getQueueUrl()`}),t.push({key:Tr.ARN,expression:`${i}.getQueueArn()`})}else for(let[n,i]of e.entries()){let r=ie(i),o=n===0?"":`_${n+1}`;t.push({key:`${Tr.URL}${o}`,expression:`${r}.getQueueUrl()`}),t.push({key:`${Tr.ARN}${o}`,expression:`${r}.getQueueArn()`})}return t}Kv(Sa,"generateMessagingEnvVarEntries");function rl(e,t){let n={},i={};if(!t.connectedMessaging?.length)return{env:n,secrets:i};let r=mn(e,t),o=Sa(r);for(let a of o)n[a.key]={__expression:a.expression};return{env:n,secrets:i}}Kv(rl,"buildMessagingEnvVars");var pU=Object.defineProperty,wi=(e,t)=>pU(e,"name",{value:t,configurable:!0});function pn(e){return!!(e.needsConnection&&e.connectedDatabase?.length)}wi(pn,"computeHasDatabaseConnections");function fn(e){return!!e.connectedStorage?.length}wi(fn,"computeHasStorageConnections");function gn(e){return!!e.connectedMessaging?.length}wi(gn,"computeHasMessagingConnections");function _a(e){return pn(e)||fn(e)||gn(e)}wi(_a,"computeHasConnections");var Ea={ENVIRONMENT:{__expression:"getConfig().environment"}};function ki(e,t){return Object.entries(e).map(([n,i])=>`${t}${n}: ${G(i)},`).join(`
222
222
  `)}wi(ki,"formatEnvBlock");function Oi(e,t,n){return e.length<=1?`{ ${e[0]??""} }`:`{${e.map(i=>`
223
223
  ${n}${i},`).join("")}
224
- ${t}}`}wi(Oi,"formatCompactOrExpandedObject");var pU=Object.defineProperty,iT=(e,t)=>pU(e,"name",{value:t,configurable:!0});function xa(e){let t="";if(e.deployment===ia.CODE&&e.codePath?(t+=`
224
+ ${t}}`}wi(Oi,"formatCompactOrExpandedObject");var fU=Object.defineProperty,iT=(e,t)=>fU(e,"name",{value:t,configurable:!0});function xa(e){let t="";if(e.deployment===ia.CODE&&e.codePath?(t+=`
225
225
  deployment: "${ia.CODE}",
226
226
  code: Code.fromAsset(${T(e.codePath)}),`,e.handler&&(t+=`
227
227
  handler: ${T(e.handler)},`),e.runtime&&(t+=`
@@ -246,10 +246,10 @@ ${ki(n," ")}
246
246
  environment: {`;for(let[p,g]of Object.entries(u))m+=`
247
247
  ${p}: ${G(g)},`;m+=`
248
248
  },`}return m+=`
249
- ${Ni(o,a,c)}`,m}iT(Aa,"generateLambdaConnectionsCode");var fU=Object.defineProperty,gU=(e,t)=>fU(e,"name",{value:t,configurable:!0});function Ia(e){let t="";return e.instanceType&&(t+=`
249
+ ${Ni(o,a,c)}`,m}iT(Aa,"generateLambdaConnectionsCode");var gU=Object.defineProperty,hU=(e,t)=>gU(e,"name",{value:t,configurable:!0});function Ia(e){let t="";return e.instanceType&&(t+=`
250
250
  instanceType: ${T(e.instanceType)},`),e.enableSSH!==void 0&&(t+=e.enableSSH?`
251
251
  ssh: {},`:`
252
- ssh: false,`),t+=fe(e.extraProperties),t}gU(Ia,"generateEc2Code");var hU=Object.defineProperty,Dt=(e,t)=>hU(e,"name",{value:t,configurable:!0});function oT(e){let t=[];if(e.instanceType!==void 0&&t.push(`instanceType: ${T(e.instanceType)}`),e.amiHardwareType!==void 0&&t.push(`amiHardwareType: ${T(e.amiHardwareType)}`),e.minCapacity!==void 0&&t.push(`minCapacity: ${e.minCapacity}`),e.maxCapacity!==void 0&&t.push(`maxCapacity: ${e.maxCapacity}`),e.memoryLimitMiB!==void 0&&t.push(`memoryLimitMiB: ${e.memoryLimitMiB}`),e.warmPool!==void 0&&t.push(`warmPool: ${G(e.warmPool," ")}`),e.extraProperties?.length)for(let n of e.extraProperties)t.push(`${n.key}: ${n.sourceText}`);return`
252
+ ssh: false,`),t+=fe(e.extraProperties),t}hU(Ia,"generateEc2Code");var vU=Object.defineProperty,Dt=(e,t)=>vU(e,"name",{value:t,configurable:!0});function oT(e){let t=[];if(e.instanceType!==void 0&&t.push(`instanceType: ${T(e.instanceType)}`),e.amiHardwareType!==void 0&&t.push(`amiHardwareType: ${T(e.amiHardwareType)}`),e.minCapacity!==void 0&&t.push(`minCapacity: ${e.minCapacity}`),e.maxCapacity!==void 0&&t.push(`maxCapacity: ${e.maxCapacity}`),e.memoryLimitMiB!==void 0&&t.push(`memoryLimitMiB: ${e.memoryLimitMiB}`),e.warmPool!==void 0&&t.push(`warmPool: ${G(e.warmPool," ")}`),e.extraProperties?.length)for(let n of e.extraProperties)t.push(`${n.key}: ${n.sourceText}`);return`
253
253
  ec2Config: ${Oi(t," "," ")},`}Dt(oT,"generateEcsServiceEc2ConfigCode");function aT(e){if(!e.cluster)return"";let t=[];if(e.cluster.directAccess&&t.push("directAccess: true"),e.cluster.domain&&t.push(`domain: ${T(e.cluster.domain)}`),e.cluster.loadBalancer!==void 0&&t.push(e.cluster.loadBalancer===!1?"loadBalancer: false":`loadBalancer: ${T(e.cluster.loadBalancer)}`),e.cluster.extraProperties?.length)for(let n of e.cluster.extraProperties)t.push(`${n.key}: ${n.sourceText}`);return`
254
254
  cluster: ${Oi(t," "," ")},`}Dt(aT,"generateEcsClusterCode");function sT(e,t,n,i,r,o){let a="";e.name&&(a+=`
255
255
  name: ${T(e.name)},`),e.image&&(a+=`
@@ -290,14 +290,14 @@ ${ki(m," ")}
290
290
  ecrRepository: app.getDefaultContainerRegistry(),`;if(c+=aT(e),e.services?.length){c+=`
291
291
  services: [{`;for(let u=0;u<e.services.length;u++){let l=e.services[u];l&&(u>0&&(c+=`
292
292
  }, {`),c+=dT({service:l,isFirstService:u===0,hasConnections:n,dbEnvVars:r,storageEnvVars:o,messagingEnvVars:a,baseEnvVars:i,plan:t,compute:e}))}c+=`
293
- }],`}return c+=fe(e.extraProperties),c+=un(),c}Dt($a,"generateEcsCode");var vU=Object.defineProperty,bU=(e,t)=>vU(e,"name",{value:t,configurable:!0});function nl(e,t){if(e.compute.length===0)return"";let n="";for(let i=0;i<e.compute.length;i++){let r=e.compute[i],o=t.has(r.name)||r.scheduleExpression!==void 0,a=ie(r),c=e.database.length>0||e.s3.length>0||i>0,u=o?`const ${a} = `:"";switch(n+=`${c?`
293
+ }],`}return c+=fe(e.extraProperties),c+=un(),c}Dt($a,"generateEcsCode");var bU=Object.defineProperty,yU=(e,t)=>bU(e,"name",{value:t,configurable:!0});function nl(e,t){if(e.compute.length===0)return"";let n="";for(let i=0;i<e.compute.length;i++){let r=e.compute[i],o=t.has(r.name)||r.scheduleExpression!==void 0,a=ie(r),c=e.database.length>0||e.s3.length>0||i>0,u=o?`const ${a} = `:"";switch(n+=`${c?`
294
294
  `:""}${u}app.addCompute(
295
295
  ComputeFactory.build(${T(r.name)}, {
296
296
  type: ${T(r.type)},`,r.type){case"lambda":n+=xa(r),n+=Aa(r,e);break;case"ec2":n+=Ia(r);break;case"ecs":n+=$a(r,e);break;default:{let l=r.type;throw new Error(`Unhandled compute type: ${String(l)}`)}}n+=`
297
297
  })
298
298
  );
299
299
  `,r.scheduleExpression!==void 0&&(n+=`app.addSchedule(${T(`${r.name}Schedule`)}, { schedule: ${T(r.scheduleExpression)}, target: ${a} });
300
- `)}return n}bU(nl,"generateComputeCode");var yU=Object.defineProperty,Di=(e,t)=>yU(e,"name",{value:t,configurable:!0});function mT(e){let t="";return t+=O(e.bucketName!==void 0,"bucketName",e.bucketName,"string"),t+=O(e.stackPlacement!==void 0&&e.stackPlacement!=="storage","stackPlacement",e.stackPlacement,"string"),t+=O(e.publicReadAccess===!0,"publicReadAccess",!0),t+=O(e.websiteHosting!==void 0,"websiteHosting",e.websiteHosting,"object"),t+=O(e.backupVaultTier!==void 0,"backupVaultTier",e.backupVaultTier,"string"),t+=O(e.versioned!==void 0,"versioned",e.versioned),t+=O(e.encryption!==void 0,"encryption",e.encryption,"string"),t+=O(e.kmsKeyArn!==void 0,"kmsKeyArn",e.kmsKeyArn,"string"),t+=O(e.cors!==void 0&&e.cors.length>0,"cors",e.cors,"object"),t+=O(e.deployment!==void 0,"deployment",e.deployment,"object"),t+=O(e.retain===!0,"retain",!0),t}Di(mT,"generateS3BucketProps");function Xv(e,t){return!!(t.compute.some(n=>n.connectedStorage?.includes(e.name))||t.cdn&&(t.cdn.defaultOriginRef===e.name||t.cdn.behaviours?.some(n=>n.originRef===e.name)))}Di(Xv,"s3NeedsVariable");function il(e){if(e.s3.length===0)return"";let t="";for(let n=0;n<e.s3.length;n++){let i=e.s3[n],r=ie(i),o=Xv(i,e),a=e.database.length>0||n>0?`
300
+ `)}return n}yU(nl,"generateComputeCode");var SU=Object.defineProperty,Di=(e,t)=>SU(e,"name",{value:t,configurable:!0});function mT(e){let t="";return t+=O(e.bucketName!==void 0,"bucketName",e.bucketName,"string"),t+=O(e.stackPlacement!==void 0&&e.stackPlacement!=="storage","stackPlacement",e.stackPlacement,"string"),t+=O(e.publicReadAccess===!0,"publicReadAccess",!0),t+=O(e.websiteHosting!==void 0,"websiteHosting",e.websiteHosting,"object"),t+=O(e.backupVaultTier!==void 0,"backupVaultTier",e.backupVaultTier,"string"),t+=O(e.versioned!==void 0,"versioned",e.versioned),t+=O(e.encryption!==void 0,"encryption",e.encryption,"string"),t+=O(e.kmsKeyArn!==void 0,"kmsKeyArn",e.kmsKeyArn,"string"),t+=O(e.cors!==void 0&&e.cors.length>0,"cors",e.cors,"object"),t+=O(e.deployment!==void 0,"deployment",e.deployment,"object"),t+=O(e.retain===!0,"retain",!0),t}Di(mT,"generateS3BucketProps");function Xv(e,t){return!!(t.compute.some(n=>n.connectedStorage?.includes(e.name))||t.cdn&&(t.cdn.defaultOriginRef===e.name||t.cdn.behaviours?.some(n=>n.originRef===e.name)))}Di(Xv,"s3NeedsVariable");function il(e){if(e.s3.length===0)return"";let t="";for(let n=0;n<e.s3.length;n++){let i=e.s3[n],r=ie(i),o=Xv(i,e),a=e.database.length>0||n>0?`
301
301
  `:"",c=mT(i),u=o?`const ${r} = `:"",l=fe(i.extraProperties);c||l?t+=`${a}${u}app.addStorage(
302
302
  StorageFactory.build(${T(i.name)}, {${c}${l}
303
303
  })
@@ -346,7 +346,7 @@ ${r}app.addMessaging(
346
346
  removalPolicy: ${T(n.removalPolicy)}`),t+=",",t+=fe(n.extraProperties),t+=un(),t+=`
347
347
  })
348
348
  );
349
- `}return t}Di(al,"generateSQSCode");var SU=Object.defineProperty,lt=(e,t)=>SU(e,"name",{value:t,configurable:!0}),jt=Object.freeze({database:{type:"Instance",backupRetention:7,deletionProtection:!0},compute:{server:{memorySize:1536,timeout:30},imageOptimisation:{memorySize:1536,timeout:30},revalidation:{memorySize:768,timeout:300}}});function hn(e,t,n){return t===void 0?"":`
349
+ `}return t}Di(al,"generateSQSCode");var _U=Object.defineProperty,lt=(e,t)=>_U(e,"name",{value:t,configurable:!0}),jt=Object.freeze({database:{type:"Instance",backupRetention:7,deletionProtection:!0},compute:{server:{memorySize:1536,timeout:30},imageOptimisation:{memorySize:1536,timeout:30},revalidation:{memorySize:768,timeout:300}}});function hn(e,t,n){return t===void 0?"":`
350
350
  ${n}${e}: ${t},`}lt(hn,"emitScalar");function Mt(e,t,n){return t===void 0?"":`
351
351
  ${n}${e}: ${JSON.stringify(t)},`}lt(Mt,"emitStringField");function Ta(e,t,n){return t===void 0?"":t===!1?`
352
352
  ${n}${e}: false,`:`
@@ -379,11 +379,11 @@ ${t}domain: ${JSON.stringify(e.domain)},`),n+=ut("forms",e.forms,t),n+=ut("cdn",
379
379
  })
380
380
  );
381
381
 
382
- `,n}lt(Ra,"generatePatternCodeWithComments");var _U=Object.defineProperty,tr=(e,t)=>_U(e,"name",{value:t,configurable:!0}),Pa="fjall:costAllocation:owner",EU="engineering";function ST(e){return typeof e=="object"&&e!==null&&Object.keys(e).length===0}tr(ST,"isEmptyObject");function Qv(e){let t={...e};return ST(t.flowLogs)&&delete t.flowLogs,t}tr(Qv,"cleanNetworkConfig");function Ca(e){if(!e.additionalNetworks||e.additionalNetworks.length===0)return"";let t="";for(let n of e.additionalNetworks){let i=er(n.name),r={};n.maxAzs!==void 0&&(r.maxAzs=n.maxAzs),n.natGateways!==void 0&&(r.natGateways=n.natGateways),n.flowLogs!==void 0&&(r.flowLogs=n.flowLogs),n.vpcEndpoints!==void 0&&(r.vpcEndpoints=n.vpcEndpoints);let o=Qv(r);t+=`const ${i} = app.addNetwork(
382
+ `,n}lt(Ra,"generatePatternCodeWithComments");var EU=Object.defineProperty,tr=(e,t)=>EU(e,"name",{value:t,configurable:!0}),Pa="fjall:costAllocation:owner",xU="engineering";function ST(e){return typeof e=="object"&&e!==null&&Object.keys(e).length===0}tr(ST,"isEmptyObject");function Qv(e){let t={...e};return ST(t.flowLogs)&&delete t.flowLogs,t}tr(Qv,"cleanNetworkConfig");function Ca(e){if(!e.additionalNetworks||e.additionalNetworks.length===0)return"";let t="";for(let n of e.additionalNetworks){let i=er(n.name),r={};n.maxAzs!==void 0&&(r.maxAzs=n.maxAzs),n.natGateways!==void 0&&(r.natGateways=n.natGateways),n.flowLogs!==void 0&&(r.flowLogs=n.flowLogs),n.vpcEndpoints!==void 0&&(r.vpcEndpoints=n.vpcEndpoints);let o=Qv(r);t+=`const ${i} = app.addNetwork(
383
383
  NetworkFactory.build("${n.name}", ${G(o," ")})
384
384
  );
385
385
 
386
- `}return t}tr(Ca,"generateNetworkCode");function sl(e){let t={};return e.tags&&Object.keys(e.tags).length>0&&Object.assign(t,e.tags),t[Pa]||(t[Pa]=e.owner||EU),`app.addTags({
386
+ `}return t}tr(Ca,"generateNetworkCode");function sl(e){let t={};return e.tags&&Object.keys(e.tags).length>0&&Object.assign(t,e.tags),t[Pa]||(t[Pa]=e.owner||xU),`app.addTags({
387
387
  ${Object.entries(t).map(([n,i])=>` "${n}": "${i}"`).join(`,
388
388
  `)}
389
389
  });
@@ -425,10 +425,10 @@ app.addCdn(
425
425
  accessGate: ${G(e.cdn.accessGate," ")}`),n+=fe(e.cdn.extraProperties),n+=`
426
426
  })
427
427
  );
428
- `,n}tr(ll,"generateCDNCode");function dl(e){let t=new Set;if(e.cdn&&(e.cdn.defaultOriginRef&&t.add(e.cdn.defaultOriginRef),e.cdn.behaviours))for(let n of e.cdn.behaviours)t.add(n.originRef);return t}tr(dl,"collectCdnReferencedResources");function ml(e){return e.patternConfig!==void 0}tr(ml,"usesPatternApproach");var xU=Object.defineProperty,vn=(e,t)=>xU(e,"name",{value:t,configurable:!0}),Na="service",eb="0 4 * * ? *",tb="0 5 * * ? *",rr=Object.freeze({tinkerer:{displayName:"Tinkerer",description:"Free tier eligible, minimal cost for experimentation",database:{Instance:{instanceType:"t4g.micro",multiAz:!1,proxy:!1,readReplica:!1,publiclyAccessible:!0},Aurora:null,GlobalAurora:null,ClickHouse:null},compute:{ecs:{services:[{name:Na,capacityProvider:"EC2",desiredCount:1,minCapacity:1,maxCapacity:1,ec2Config:{instanceType:"t4g.micro",amiHardwareType:"ARM",minCapacity:1,maxCapacity:1,memoryLimitMiB:400}}],cluster:{directAccess:!0}},lambda:{timeout:30,memory:128}},network:{maxAzs:2,natGateways:!1,flowLogs:!1},backup:!1},lightweight:{displayName:"Lightweight",description:"Streamlined single-AZ deployment for cost efficiency",database:{Instance:{instanceType:"t4g.small",multiAz:!1},Aurora:{readers:!1},GlobalAurora:null,ClickHouse:null},compute:{ecs:{services:[{name:Na,capacityProvider:"FARGATE_SPOT",cpu:256,memoryLimitMiB:512,desiredCount:1,minCapacity:1,maxCapacity:3}]},lambda:{timeout:30,memory:256}},network:{maxAzs:2,natGateways:{count:1},flowLogs:!1},backup:!1},standard:{displayName:"Standard",description:"Production-ready with sensible defaults",database:{Instance:{instanceType:"t4g.large"},Aurora:{readers:{count:1}},GlobalAurora:{readers:{count:1}},ClickHouse:{instanceType:"t4g.medium",coldTier:{mode:"s3"},optimiseSchedule:eb,backupSchedule:tb,backupRetentionDays:14}},compute:{ecs:{services:[{name:Na,capacityProvider:"FARGATE",cpu:512,memoryLimitMiB:1024,desiredCount:2,minCapacity:2,maxCapacity:5}]},lambda:{timeout:60,memory:256}},network:{maxAzs:3,natGateways:{count:1},flowLogs:{},vpcEndpoints:{interface:{ecr:!0}}},backup:!1},resilient:{displayName:"Resilient",description:"High availability with enhanced monitoring and scaling",database:{Instance:{instanceType:"r7g.large",encryption:{storageKey:{useCMK:!0}},databaseInsights:{mode:"advanced",encryptionKey:{useCMK:!0}},proxy:{requireTLS:!0}},Aurora:{readers:{count:2},encryption:{storageKey:{useCMK:!0}},databaseInsights:{mode:"advanced",encryptionKey:{useCMK:!0}},proxy:{requireTLS:!0},backupRetention:30},GlobalAurora:{readers:{count:2},encryption:{storageKey:{useCMK:!0}},databaseInsights:{mode:"advanced",encryptionKey:{useCMK:!0}},proxy:{requireTLS:!0},backupRetention:30,enableGlobalWriteForwarding:!0},ClickHouse:{instanceType:"m6g.large",coldTier:{mode:"s3"},optimiseSchedule:eb,backupSchedule:tb,backupRetentionDays:14}},compute:{ecs:{services:[{name:Na,capacityProvider:"FARGATE",cpu:1024,memoryLimitMiB:2048,desiredCount:4,minCapacity:4,maxCapacity:20}]},lambda:{timeout:120,memory:512}},network:{maxAzs:3,natGateways:{count:3},flowLogs:{retentionDays:90},vpcEndpoints:{interface:{ecr:!0,secretsManager:!0}}},backup:{tier:"resilient"}},enterprise:{displayName:"Enterprise",description:"Maximum capability with all features enabled",database:{Instance:{instanceType:"r7g.xlarge",encryption:{storageKey:{useCMK:!0}},databaseInsights:{mode:"advanced",encryptionKey:{useCMK:!0}},proxy:{requireTLS:!0},readReplica:{}},Aurora:{readers:{count:2},encryption:{storageKey:{useCMK:!0}},databaseInsights:{mode:"advanced",encryptionKey:{useCMK:!0}},proxy:{requireTLS:!0},backupRetention:35},GlobalAurora:{readers:{count:2},encryption:{storageKey:{useCMK:!0}},databaseInsights:{mode:"advanced",encryptionKey:{useCMK:!0}},proxy:{requireTLS:!0},backupRetention:35,enableGlobalWriteForwarding:!0},ClickHouse:{instanceType:"m6g.xlarge",coldTier:{mode:"s3"},optimiseSchedule:eb,backupSchedule:tb,backupRetentionDays:30}},compute:{ecs:{services:[{name:Na,capacityProvider:"FARGATE",cpu:2048,memoryLimitMiB:4096,desiredCount:6,minCapacity:6,maxCapacity:100}]},lambda:{timeout:300,memory:1024}},network:{maxAzs:3,natGateways:{count:3},flowLogs:{destination:"s3",retentionDays:365},vpcEndpoints:{interface:{ecr:!0,secretsManager:!0,kms:!0,cloudwatchLogs:!0}}},backup:{tier:"enterprise"}}});function AU(e,t){return rr[e].database[t]}vn(AU,"getDatabasePreset");function IU(e){return rr[e].compute.ecs}vn(IU,"getEcsPreset");function rb(e){return rr[e].network}vn(rb,"getNetworkPreset");function _T(e){return Iu.filter(t=>rr[t].database[e]!==null)}vn(_T,"getAvailableTiersForDatabase");function $U(e){return _T(e).map(t=>({label:rr[t].displayName,value:t,description:rr[t].description}))}vn($U,"getTierOptionsForDatabase");function nb(e){switch(e){case"tinkerer":case"lightweight":case"standard":return"Instance";case"resilient":case"enterprise":return"Aurora"}}vn(nb,"getDefaultDatabaseTypeForTier");function ib(e,t){let n=rr[e].compute.ecs,i=n.services[0],r=!n.cluster?.directAccess&&n.cluster?.loadBalancer!==!1,o=t.filter(c=>c.serviceType!=="worker").length,a=t.findIndex(c=>c.serviceType!=="worker");return t.map((c,u)=>{let l=u===a,m=c.serviceType==="worker",p;return r&&!m&&(c.routing?p=c.routing:o>1&&(p={path:l?"/*":`/${c.name.toLowerCase()}/*`,...l?{}:{priority:100+u}})),{name:c.name,capacityProvider:i.capacityProvider,ec2Config:i.ec2Config,cpu:i.cpu,memoryLimitMiB:i.memoryLimitMiB,desiredCount:i.desiredCount,minCapacity:i.minCapacity,maxCapacity:i.maxCapacity,routing:p}})}vn(ib,"applyTierDefaultsToServices");var TU=Object.defineProperty,ob=(e,t)=>TU(e,"name",{value:t,configurable:!0}),wa=["lightweight","standard","resilient"],RU=[...wa,"custom"],Rr=Object.freeze({lightweight:{displayName:"Lightweight",description:"Cost-effective \xB7 Instance DB, minimal Lambda",database:{type:"Instance",instanceType:"t4g.small",backupRetention:7,deletionProtection:!1},compute:{memorySize:512,timeout:30},network:{maxAzs:2,natGateways:{count:1},flowLogs:!1},backup:!1},standard:{displayName:"Standard",description:"Production-ready \xB7 Instance DB, balanced Lambda",database:{type:"Instance",instanceType:"t4g.large",backupRetention:14,deletionProtection:!0},compute:{memorySize:1536,timeout:60},network:{maxAzs:3,natGateways:{count:1},flowLogs:{}},backup:{tier:"standard"}},resilient:{displayName:"Resilient",description:"High-availability \xB7 Aurora V2, KMS encryption",database:{type:"Aurora",backupRetention:30,deletionProtection:!0,encryption:{useCMK:!0}},compute:{memorySize:2048,timeout:120},network:{maxAzs:3,natGateways:{count:3},flowLogs:{retentionDays:90}},backup:{tier:"resilient"}}});function pl(e){return Rr[e]}ob(pl,"getPatternTierPreset");function ET(){return[{label:Rr.standard.displayName,value:"standard",description:Rr.standard.description},{label:Rr.lightweight.displayName,value:"lightweight",description:Rr.lightweight.description},{label:Rr.resilient.displayName,value:"resilient",description:Rr.resilient.description},{label:"Custom",value:"custom",description:"Full control \xB7 Configure everything"}]}ob(ET,"getPatternTierOptions");var PU=new Set(wa);function fl(e){return PU.has(e)}ob(fl,"isPatternTierName");var CU=Object.defineProperty,xT=(e,t)=>CU(e,"name",{value:t,configurable:!0}),AT=Object.freeze({standard:{},assets:{versioned:!0,deployment:{source:"./assets"}},upload:{versioned:!0,cors:[{allowedOrigins:["*"],allowedMethods:["GET","PUT","POST"]}]},website:{publicReadAccess:!0,websiteHosting:{indexDocument:"index.html",errorDocument:"error.html"}}});function IT(e){return{...AT[e]}}xT(IT,"getStoragePreset");function $T(){return[{label:"Standard",value:"standard"},{label:"Assets",value:"assets"},{label:"Upload",value:"upload"},{label:"Website Hosting",value:"website"}]}xT($T,"getStoragePresetOptions");import*as ge from"typescript";import*as D from"typescript";var NU=Object.defineProperty,Mi=(e,t)=>NU(e,"name",{value:t,configurable:!0});function B(e){let t={};for(let n of e.properties){if(!D.isPropertyAssignment(n))continue;let i=D.isIdentifier(n.name)||D.isStringLiteral(n.name)?n.name.text:void 0;i!==void 0&&(t[i]=Pr(n.initializer))}return t}Mi(B,"parseObjectLiteral");function Pr(e){if(D.isStringLiteral(e))return e.text;if(D.isNumericLiteral(e))return Number(e.text);if(e.kind===D.SyntaxKind.TrueKeyword)return!0;if(e.kind===D.SyntaxKind.FalseKeyword)return!1;if(D.isArrayLiteralExpression(e))return e.elements.map(t=>Pr(t));if(D.isObjectLiteralExpression(e))return B(e);if(D.isIdentifier(e))return{__identifier:e.text};if(D.isPropertyAccessExpression(e))return{__expression:e.getText()};if(D.isCallExpression(e))return{__call:e.getText()};if(D.isBinaryExpression(e)&&e.operatorToken.kind===D.SyntaxKind.BarBarToken){let t=Pr(e.left),n=Pr(e.right);return typeof n=="string"?n:t}else if(D.isConditionalExpression(e)){let t=Pr(e.whenTrue),n=Pr(e.whenFalse);return typeof n=="string"||typeof n=="number"?n:t}else if(D.isTemplateExpression(e)||D.isNoSubstitutionTemplateLiteral(e))return{__expression:e.getText()};return{__unknown:e.getText()}}Mi(Pr,"evaluateExpression");function ka(e,t){return et(e,n=>{if(D.isVariableStatement(n)){for(let i of n.declarationList.declarations)if(D.isIdentifier(i.name)&&i.name.text===t&&i.initializer){if(D.isStringLiteral(i.initializer))return i.initializer.text;if(D.isObjectLiteralExpression(i.initializer)){let r=B(i.initializer);return JSON.stringify(r)}}}})}Mi(ka,"findVariableValue");function ab(e,t){return et(e,n=>{if(D.isVariableStatement(n)){for(let i of n.declarationList.declarations)if(D.isIdentifier(i.name)&&i.name.text===t&&i.initializer&&D.isObjectLiteralExpression(i.initializer))return B(i.initializer)}})}Mi(ab,"findObjectDeclaration");function Oa(e,t){if(!D.isIdentifier(t.expression))return;let n=ab(e,t.expression.text),i=t.name.text;if(n&&n[i]!==void 0)return String(n[i])}Mi(Oa,"evaluatePropertyAccess");function gl(e,t){let n=t.head.text;for(let i of t.templateSpans){if(D.isIdentifier(i.expression)){let r=ka(e,i.expression.text);if(r)n+=r;else return t.getText(e).replace(/^`|`$/g,"")}else if(D.isPropertyAccessExpression(i.expression)){let r=Oa(e,i.expression);if(r)n+=r;else return t.getText(e).replace(/^`|`$/g,"")}else return t.getText(e).replace(/^`|`$/g,"");n+=i.literal.text}return n}Mi(gl,"resolveTemplateLiteral");var wU=Object.defineProperty,J=(e,t)=>wU(e,"name",{value:t,configurable:!0});function dt(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}J(dt,"isPlainObject");function nr(e){return dt(e)&&"__identifier"in e}J(nr,"isIdentifierRef");function Cr(e){return dt(e)&&"__expression"in e}J(Cr,"isExpressionRef");function xt(e){return dt(e)&&"__call"in e}J(xt,"isCallRef");function P(e){return dt(e)&&!("__identifier"in e)&&!("__expression"in e)&&!("__call"in e)&&!("__unknown"in e)}J(P,"isParsedObject");function b(e){return typeof e=="string"?e:void 0}J(b,"asString");function R(e){return typeof e=="number"?e:void 0}J(R,"asNumber");function j(e){return typeof e=="boolean"?e:void 0}J(j,"asBoolean");function ue(e){if(!Array.isArray(e))return;let t=[];for(let n of e)typeof n=="string"&&t.push(n);return t.length>0?t:void 0}J(ue,"asStringArray");function U(e,t){let n=b(e);if(n!==void 0)return ct(t,n)?n:void 0}J(U,"asStringUnion");function qe(e){let t={};for(let[n,i]of Object.entries(e))i!==void 0&&(t[n]=i);return t}J(qe,"omitUndefined");function hl(e){if(e===null)return"null";if(e===void 0)return"undefined";if(typeof e=="string")return JSON.stringify(e);if(typeof e=="number"||typeof e=="boolean")return String(e);if(Array.isArray(e))return`[${e.map(hl).join(", ")}]`;if(!dt(e))return String(e);if(nr(e))return e.__identifier;if(Cr(e))return e.__expression;if(xt(e))return e.__call;if("__unknown"in e&&typeof e.__unknown=="string")return e.__unknown;let t=Object.entries(e);return t.length===0?"{}":`{ ${t.map(([n,i])=>`${n}: ${hl(i)}`).join(", ")} }`}J(hl,"parsedValueToSourceText");function ce(e,t){let n=[];for(let[i,r]of Object.entries(e))t.has(i)||r===void 0||n.push({key:i,sourceText:hl(r)});return n}J(ce,"captureExtraProperties");function Nr(e,t){return ge.isPropertyAssignment(e)&&ge.isIdentifier(e.name)&&e.name.text===t}J(Nr,"isNamedProperty");function zt(e){return ge.isCallExpression(e)&&ge.isPropertyAccessExpression(e.expression)&&e.expression.name.text==="getApp"&&ge.isIdentifier(e.expression.expression)&&e.expression.expression.text==="App"}J(zt,"isAppGetAppCall");function xe(e,t){let{expression:n}=e;return ge.isPropertyAccessExpression(n)&&n.name.text===t&&e.arguments.length>0}J(xe,"isFactoryMethodCall");function et(e,t){let n,i=J(r=>{n===void 0&&(n=t(r),n===void 0&&ge.forEachChild(r,i))},"visit");return i(e),n}J(et,"findFirstInAst");function Re(e,t){let n=[],i=J(r=>{let o=t(r);o!==null&&n.push(o),ge.forEachChild(r,i)},"visit");return i(e),n}J(Re,"collectFromAst");function Le(e,t){return ge.isCallExpression(e)&&ge.isPropertyAccessExpression(e.expression)&&e.expression.name.text==="build"&&ge.isIdentifier(e.expression.expression)&&e.expression.expression.text===t}J(Le,"isFactoryBuildCall");function tt(e){let t=e.parent;if(ge.isVariableDeclaration(t)&&ge.isIdentifier(t.name))return t.name.text}J(tt,"extractVariableName");var mt=J(()=>e=>e,"typed");function ji(e){if(e!=null){if(e===!1)return!1;if(typeof e=="object"&&!Array.isArray(e))return e}}J(ji,"asObjectOrFalse");function ir(e,t){return e===!1?!1:P(e)?t(e):void 0}J(ir,"parseBooleanOrConfig");function Pe(e,t){return P(e)?t(e):void 0}J(Pe,"parseOptionalConfig");function pt(e,t,n){let i=e[t];return P(i)?n(i):void 0}J(pt,"extractSubConfig");import*as W from"typescript";import*as zi from"typescript";var kU=Object.defineProperty,rt=(e,t)=>kU(e,"name",{value:t,configurable:!0});function Da(e){return e!==void 0&&dt(e)}rt(Da,"isEnvironmentRecord");function TT(e){if(!P(e))return;let t={};for(let[n,i]of Object.entries(e))if(P(i)){let r=b(i.id),o=b(i.name);r&&o&&(t[n]={id:r,name:o,field:b(i.field)})}return Object.keys(t).length>0?t:void 0}rt(TT,"parseContainerSecretsImport");function RT(e){if(!P(e))return;let t=ue(e.command);if(!(!t||t.length===0))return{command:t,interval:R(e.interval),timeout:R(e.timeout),retries:R(e.retries),startPeriod:R(e.startPeriod)}}rt(RT,"parseContainerHealthCheck");function PT(e){let t=ce(e,new Set(["name","image","port","environment","essential","command","entryPoint","secretsImport","secrets","healthCheck"]));return{name:b(e.name),image:b(e.image),port:R(e.port),environment:Da(e.environment)?e.environment:void 0,essential:j(e.essential),command:ue(e.command),entryPoint:ue(e.entryPoint),secretsImport:TT(e.secretsImport),ssmSecrets:ue(e.secrets),healthCheck:RT(e.healthCheck),extraProperties:t.length>0?t:void 0}}rt(PT,"parseServiceContainer");function CT(e){if(Array.isArray(e))return e.filter(P).map(t=>({path:b(t.path),host:b(t.host),priority:R(t.priority),healthCheckPath:b(t.healthCheckPath)}));if(P(e))return{path:b(e.path),host:b(e.host),priority:R(e.priority),healthCheckPath:b(e.healthCheckPath)}}rt(CT,"parseServiceRouting");function NT(e){if(e===!1)return!1;if(P(e))return{minCapacity:R(e.minCapacity),maxCapacity:R(e.maxCapacity),desiredCount:R(e.desiredCount),scalingType:U(e.scalingType,Pu)}}rt(NT,"parseServiceScaling");var OU=new Set(["instanceType","amiHardwareType","minCapacity","maxCapacity","memoryLimitMiB","warmPool"]);function wT(e){if(!P(e))return;let t=e.warmPool,n=P(t)?{minSize:R(t.minSize),reuseOnScaleIn:j(t.reuseOnScaleIn)}:void 0,i=ce(e,OU);return{instanceType:b(e.instanceType),amiHardwareType:U(e.amiHardwareType,Cu),minCapacity:R(e.minCapacity),maxCapacity:R(e.maxCapacity),memoryLimitMiB:R(e.memoryLimitMiB),warmPool:n,extraProperties:i.length>0?i:void 0}}rt(wT,"parseServiceEc2Config");var DU=new Set(["domain","loadBalancer","directAccess"]);function sb(e){if(!P(e))return;let t=e.loadBalancer,n=ce(e,DU);return{domain:b(e.domain),loadBalancer:t===!1?!1:U(t,Ru),directAccess:j(e.directAccess),...n.length>0&&{extraProperties:n}}}rt(sb,"extractClusterConfig");function cb(e){let t=e.containers,n=Array.isArray(t)?t.filter(P).map(PT):void 0,i=ce(e,new Set(["name","image","docker","ssmSecretsPath","containers","routing","connections","cpu","memoryLimitMiB","desiredCount","scaling","capacityProvider","ec2Config"]));return{name:b(e.name)??"",image:b(e.image),docker:kT(e.docker),ssmSecretsPath:b(e.ssmSecretsPath),containers:n,routing:CT(e.routing),cpu:R(e.cpu),memoryLimitMiB:R(e.memoryLimitMiB),desiredCount:R(e.desiredCount),scaling:NT(e.scaling),capacityProvider:U(e.capacityProvider,Ei)??"FARGATE",ec2Config:wT(e.ec2Config),...i.length>0&&{extraProperties:i}}}rt(cb,"parseEcsService");function kT(e){if(!P(e))return;let t=b(e.path);if(t===void 0)return;let n=b(e.context),i=b(e.target);return{path:t,...n!==void 0&&{context:n},...i!==void 0&&{target:i}}}rt(kT,"parseServiceDocker");function Ma(e,t){let n=b(e);if(n)return n;if(Cr(e)&&e.__expression.startsWith(t+"."))return e.__expression.slice(t.length+1)}rt(Ma,"extractEnumString");function ub(e){return xt(e)?e.__call.match(/\(\s*"([^"]+)"\s*\)/)?.[1]:void 0}rt(ub,"extractCallStringArg");function Ce(e,t,n){n!==void 0&&(e[t]=n)}rt(Ce,"assignIfDefined");var MU=Object.defineProperty,vl=(e,t)=>MU(e,"name",{value:t,configurable:!0}),jU=10;function lb(e,t){return Array.isArray(e)?e.filter(nr).map(n=>t.find(i=>i.variableName===n.__identifier)).filter(n=>n!==void 0).map(n=>n.resourceName):[]}vl(lb,"resolveConnectedDatabaseNames");function db(e,t){return Array.isArray(e)?e.filter(nr).map(n=>t.find(i=>i.variableName===n.__identifier)).filter(n=>n!==void 0).map(n=>n.resourceName):[]}vl(db,"resolveConnectedStorageNames");function mb(e,t,n){if(!Array.isArray(t)||t.length===0)return;let i=t[0];if(!P(i))return;let r=i.containers;if(!Array.isArray(r)||r.length===0)return;let o=r[0];if(!P(o)||!P(o.environment))return;let a=o.environment;(a.DATABASE_HOST||a.DATABASE_PORT||a.DATABASE_NAME)&&(e.needsConnection=!0,n.length>0&&(e.connectedDatabase??[]).length===0&&(e.connectedDatabase=[n[0].name]));for(let c=1;c<=jU;c++)(a[`DATABASE_HOST_${c}`]||a[`DATABASE_PORT_${c}`]||a[`DATABASE_NAME_${c}`])&&(e.needsConnection=!0)}vl(mb,"inferDatabaseConnectionsFromEnv");function pb(e,t,n){if(!Array.isArray(t)||t.length===0)return;let i=t[0];if(!P(i))return;let r=i.containers;if(!Array.isArray(r)||r.length===0)return;let o=r[0];!P(o)||!P(o.environment)||o.environment.BUCKET_NAME&&n.length>0&&(e.connectedStorage??[]).length===0&&(e.connectedStorage=[n[0].name])}vl(pb,"inferStorageConnectionsFromEnv");var zU=Object.defineProperty,or=(e,t)=>zU(e,"name",{value:t,configurable:!0});function OT(e){if(e.arguments.length<2)return null;let t=e.arguments[0],n=e.arguments[1];if(!zi.isStringLiteral(t)||!zi.isObjectLiteralExpression(n))return null;let i=t.text,r=B(n);return{resourceName:i,type:b(r.type)??"ecs",config:r,node:e}}or(OT,"extractComputeResource");function bl(e){return Re(e,t=>{if(!zi.isCallExpression(t)||!xe(t,"addCompute"))return null;let n=t.arguments[0];if(!Le(n,"ComputeFactory"))return null;let i=OT(n);if(i){let r=tt(t);r&&(i.variableName=r)}return i})}or(bl,"findComputeResources");function yl(e,t,n){let i=ce(e.config,n);i.length>0&&(t.extraProperties=i)}or(yl,"applyExtras");function DT(e,t){let n=e.config.docker;if(P(n)){let o=b(n.path),a=b(n.context),c=b(n.target);(o!==void 0||a!==void 0||c!==void 0)&&(t.docker={...o!==void 0&&{path:o},...a!==void 0&&{context:a},...c!==void 0&&{target:c}})}let i=e.config.cluster;i!==void 0&&(t.cluster=sb(i));let r=e.config.services;r!==void 0&&Array.isArray(r)&&(t.services=r.filter(o=>P(o)).map(cb)),yl(e,t,new Set(["type","ecrRepository","docker","cluster","services","connections"]))}or(DT,"convertEcsCompute");function MT(e,t){if(Ce(t,"deployment",U(e.config.deployment,$u)),Ce(t,"timeout",R(e.config.timeout)),Ce(t,"memory",R(e.config.memorySize)??R(e.config.memory)),Ce(t,"handler",b(e.config.handler)),Ce(t,"runtime",Ma(e.config.runtime,"Runtime")),Da(e.config.environment)&&(t.environment=e.config.environment),Da(e.config.secrets))t.secrets=e.config.secrets;else{let r=ue(e.config.secrets);r&&(t.ssmSecrets=r)}let n=e.config.functionUrl;if(P(n)){let r=U(Ma(n.authType,"FunctionUrlAuthType"),oa);r!==void 0&&(t.functionUrl={authType:r})}let i=e.config.code;if(i!==void 0){let r=ub(i);r&&(t.codePath=r)}Ce(t,"description",b(e.config.lambdaDescription)),Ce(t,"architecture",U(Ma(e.config.architecture,"Architecture"),Tu)),Ce(t,"ephemeralStorageSize",R(e.config.ephemeralStorageSize)),Ce(t,"functionName",b(e.config.functionName)),Ce(t,"ssmSecretsPath",b(e.config.ssmSecretsPath)),yl(e,t,new Set(["type","deployment","timeout","memorySize","memory","handler","runtime","environment","secrets","functionUrl","code","connections","ecrRepository","containerSecretsImport","lambdaDescription","architecture","ephemeralStorageSize","functionName","ssmSecretsPath"]))}or(MT,"convertLambdaCompute");function jT(e,t){Ce(t,"instanceType",U(e.config.instanceType,Nu));let n=e.config.ssh;n===!1?t.enableSSH=!1:n!==void 0&&P(n)?t.enableSSH=!0:Ce(t,"enableSSH",j(e.config.enableSSH)),Ce(t,"keyName",b(e.config.keyName)),Ce(t,"userData",b(e.config.userData)),e.config.securityGroups!==void 0&&(t.securityGroups=ue(e.config.securityGroups)),yl(e,t,new Set(["type","instanceType","ssh","enableSSH","keyName","userData","securityGroups","connections"]))}or(jT,"convertEc2Compute");function zT(e,t,n,i){let r=t.config.connections;if(!r&&Array.isArray(t.config.services)){let c=t.config.services[0];P(c)&&(r=c.connections)}if(!r)return;let o=lb(r,n);o.length>0&&(e.needsConnection=!0,e.connectedDatabase=o);let a=db(r,i);a.length>0&&(e.connectedStorage=a)}or(zT,"applyConnectionConfig");function LT(e,t){({ecs:DT,lambda:MT,ec2:jT})[e.type]?.(t,e)}or(LT,"applyTypeSpecificConfig");function fb(e,t,n,i){return e.map(r=>{let o=U(r.config.type,na)??"ecs",a={name:r.resourceName,type:o,needsConnection:!1,connectedDatabase:[],...r.variableName&&{variableName:r.variableName}};return zT(a,r,t,n),LT(a,r),mb(a,r.config.services,i.database),pb(a,r.config.services,i.s3),a})}or(fb,"convertComputeResources");import*as ft from"typescript";var LU=Object.defineProperty,UU=(e,t)=>LU(e,"name",{value:t,configurable:!0});function Sl(e){return Re(e,t=>{if(!ft.isCallExpression(t)||!xe(t,"addSchedule")||t.arguments.length<2)return null;let n=t.arguments[0],i=t.arguments[1];if(!ft.isStringLiteral(n)||!ft.isObjectLiteralExpression(i))return null;let r=B(i),o=b(r.schedule);if(o===void 0)return null;let a=i.properties.find(c=>ft.isPropertyAssignment(c)&&ft.isIdentifier(c.name)&&c.name.text==="target");return!a||!ft.isPropertyAssignment(a)||!ft.isIdentifier(a.initializer)?null:{id:n.text,schedule:o,targetVariableName:a.initializer.text}})}UU(Sl,"findSchedules");import*as Q from"typescript";import*as Ue from"typescript";var FU=Object.defineProperty,ja=(e,t)=>FU(e,"name",{value:t,configurable:!0}),gb=new Set(["S3Bucket"]);function UT(e,t,n){let i=Ue.isIdentifier(e.name)?e.name.text:"";if(t.arguments&&t.arguments.length>=2){let r=t.arguments[1],o=Ue.isStringLiteral(r)?r.text:"",a=t.arguments.length>=3?t.arguments[2]:void 0,c=a&&Ue.isObjectLiteralExpression(a)?B(a):{};return{variableName:i,resourceName:o,bucketClass:n,config:c,node:e}}return null}ja(UT,"extractS3Resource");function FT(e,t){if(t.arguments.length<2)return null;let n=t.arguments[0],i=t.arguments[1];if(!Ue.isStringLiteral(n)||!Ue.isObjectLiteralExpression(i))return null;let r=B(i);return{variableName:tt(e)??"",resourceName:n.text,bucketClass:"StorageFactory",config:r,node:e}}ja(FT,"extractS3FactoryResource");function hb(e){return Re(e,t=>{if(!Ue.isVariableDeclaration(t)||!t.initializer||!Ue.isNewExpression(t.initializer))return null;let n=t.initializer;if(!Ue.isIdentifier(n.expression))return null;let i=n.expression.text;return gb.has(i)?UT(t,n,i):null})}ja(hb,"findS3Resources");function vb(e){return Re(e,t=>{if(!Ue.isCallExpression(t)||!xe(t,"addStorage"))return null;let n=t.arguments[0];return Le(n,"StorageFactory")?FT(t,n):null})}ja(vb,"findS3FactoryResources");function bb(e){return e.map(t=>({name:t.resourceName,...b(t.config.bucketName)&&{bucketName:b(t.config.bucketName)},...j(t.config.publicReadAccess)===!0&&{publicReadAccess:!0},...P(t.config.websiteHosting)&&(()=>{let n=t.config.websiteHosting;return{websiteHosting:{indexDocument:b(n.indexDocument)??"index.html",...b(n.errorDocument)&&{errorDocument:b(n.errorDocument)}}}})(),...U(t.config.backupVaultTier,_t)&&{backupVaultTier:U(t.config.backupVaultTier,_t)},...j(t.config.versioned)!==void 0&&{versioned:j(t.config.versioned)},...U(t.config.encryption,$i)&&{encryption:U(t.config.encryption,$i)},...b(t.config.kmsKeyArn)&&{kmsKeyArn:b(t.config.kmsKeyArn)},...Array.isArray(t.config.cors)&&t.config.cors.length>0&&{cors:t.config.cors.filter(P).map(n=>({allowedOrigins:Array.isArray(n.allowedOrigins)?n.allowedOrigins.filter(i=>typeof i=="string"):[],allowedMethods:Array.isArray(n.allowedMethods)?n.allowedMethods.filter(i=>typeof i=="string"):[]}))},...P(t.config.deployment)&&(()=>{let n=t.config.deployment;return{deployment:{source:b(n.source)??"",...j(n.prune)!==void 0&&{prune:j(n.prune)},...P(n.cacheControl)&&(()=>{let i=n.cacheControl;return{cacheControl:{...R(i.maxAge)!==void 0&&{maxAge:R(i.maxAge)},...j(i.immutable)!==void 0&&{immutable:j(i.immutable)}}}})()}}})(),...U(t.config.stackPlacement,Zu)&&{stackPlacement:U(t.config.stackPlacement,Zu)},...t.variableName&&{variableName:t.variableName},...(()=>{let n=new Set(["bucketName","publicReadAccess","websiteHosting","backupVaultTier","versioned","encryption","kmsKeyArn","cors","deployment","stackPlacement"]),i=ce(t.config,n);return i.length>0?{extraProperties:i}:{}})()}))}ja(bb,"convertS3Resources");var BU=Object.defineProperty,bn=(e,t)=>BU(e,"name",{value:t,configurable:!0}),BT=new Set(["App","Architecture","DatabaseFactory","StorageFactory","ComputeFactory","getConfig","MessagingFactory","CdnFactory","Code","Runtime","FunctionUrlAuthType","NetworkFactory","PatternFactory","VpcPeerFactory","VpcPeerAccepterFactory","CrossPlanConnectionFactory"]);function _l(e){return!!(e.startsWith("@fjall/")||e==="aws-cdk-lib"||e.startsWith("aws-cdk-lib/")||e==="constructs")}bn(_l,"isManagedModuleSpecifier");function Ke(e){let t=[];for(let n of e.statements){let i=n.getFullStart(),r=n.getEnd();if(Q.isImportDeclaration(n)){t.push({type:"import",node:n,startPos:i,endPos:r,isManaged:VT(n)});continue}if(Q.isVariableStatement(n)){t.push(ZT(n,i,r));continue}if(Q.isExpressionStatement(n)){t.push(GT(n,i,r));continue}t.push({type:"custom",node:n,startPos:i,endPos:r,isManaged:!1})}return t}bn(Ke,"classifyStatements");function VT(e){return Q.isStringLiteral(e.moduleSpecifier)?_l(e.moduleSpecifier.text):!1}bn(VT,"isManagedImport");function ZT(e,t,n){for(let i of e.declarationList.declarations)if(i.initializer){if(zt(i.initializer))return{type:"app-init",node:e,resourceName:Q.isIdentifier(i.name)?i.name.text:void 0,startPos:t,endPos:n,isManaged:!0};if(Q.isIdentifier(i.name)&&i.name.text==="appName"&&Q.isStringLiteral(i.initializer))return{type:"app-init",node:e,startPos:t,endPos:n,isManaged:!0};if(Q.isNewExpression(i.initializer)){let r=i.initializer;if(Q.isIdentifier(r.expression)){let o=r.expression.text;if(gb.has(o)){let a=r.arguments&&r.arguments.length>=2&&Q.isStringLiteral(r.arguments[1])?r.arguments[1].text:void 0;return{type:"storage",node:e,resourceName:a,startPos:t,endPos:n,isManaged:!0}}}}if(Q.isCallExpression(i.initializer)){let r=yb(i.initializer,e,t,n);if(r.type!=="custom")return r}}return{type:"custom",node:e,startPos:t,endPos:n,isManaged:!1}}bn(ZT,"classifyVariableStatement");function GT(e,t,n){let i=e.expression;return Q.isCallExpression(i)?yb(i,e,t,n):{type:"custom",node:e,startPos:t,endPos:n,isManaged:!1}}bn(GT,"classifyExpressionStatement");function yb(e,t,n,i){let r=e.expression;if(Q.isPropertyAccessExpression(r)&&Q.isIdentifier(r.expression)){let o=r.name.text;if(o==="addTags")return{type:"tags",node:t,startPos:n,endPos:i,isManaged:!0};let a={addDatabase:{type:"database",factory:"DatabaseFactory"},addCompute:{type:"compute",factory:"ComputeFactory"},addNetwork:{type:"network",factory:"NetworkFactory"},addMessaging:{type:"messaging",factory:"MessagingFactory"},addCdn:{type:"cdn",factory:"CdnFactory"},addPattern:{type:"pattern",factory:"PatternFactory"},addStorage:{type:"storage",factory:"StorageFactory"},addVpcPeer:{type:"vpc-peer",factory:"VpcPeerFactory"},addVpcPeerAccepter:{type:"vpc-peer-accepter",factory:"VpcPeerAccepterFactory"}}[o];if(a){let c=WT(e,a.factory);return{type:a.type,node:t,resourceName:c,startPos:n,endPos:i,isManaged:!0}}}return{type:"custom",node:t,startPos:n,endPos:i,isManaged:!1}}bn(yb,"classifyCallExpression");function WT(e,t){if(e.arguments.length===0)return;let n=e.arguments[0];if(!Q.isCallExpression(n))return;let i=n.expression;if(!Q.isPropertyAccessExpression(i)||i.name.text!=="build"||!Q.isIdentifier(i.expression)||i.expression.text!==t||n.arguments.length===0)return;let r=n.arguments[0];if(Q.isStringLiteral(r))return r.text}bn(WT,"extractResourceNameFromFactoryCall");import*as HT from"typescript";var VU=Object.defineProperty,yn=(e,t)=>VU(e,"name",{value:t,configurable:!0}),ZU={import:"after-imports","app-init":"after-app-init",tags:"after-tags"};function qT(e){if(!e)return{position:"before-imports"};let t=ZU[e.type];return t?{position:t}:{position:"after-resource",afterManagedResource:{type:e.type,name:e.resourceName}}}yn(qT,"determineCustomBlockPosition");function za(e,t){let n=t??Ke(e),i=[],r=e.getFullText(),o=null;for(let a of n)if(a.type==="custom"&&!a.isManaged){let{position:c,afterManagedResource:u}=qT(o),l=KT(r,a.node),m=YT(r,a.node),p=e.getLineAndCharacterOfPosition(a.node.getStart());i.push({sourceText:l,position:c,afterManagedResource:u,originalLine:p.line+1,leadingComments:m.length>0?m:void 0})}else a.isManaged&&(o=a);return i}yn(za,"extractCustomCodeBlocks");function KT(e,t){let n=t.getFullStart(),i=t.getEnd(),r=e.slice(n,i).split(`
428
+ `,n}tr(ll,"generateCDNCode");function dl(e){let t=new Set;if(e.cdn&&(e.cdn.defaultOriginRef&&t.add(e.cdn.defaultOriginRef),e.cdn.behaviours))for(let n of e.cdn.behaviours)t.add(n.originRef);return t}tr(dl,"collectCdnReferencedResources");function ml(e){return e.patternConfig!==void 0}tr(ml,"usesPatternApproach");var AU=Object.defineProperty,vn=(e,t)=>AU(e,"name",{value:t,configurable:!0}),Na="service",eb="0 4 * * ? *",tb="0 5 * * ? *",rr=Object.freeze({tinkerer:{displayName:"Tinkerer",description:"Free tier eligible, minimal cost for experimentation",database:{Instance:{instanceType:"t4g.micro",multiAz:!1,proxy:!1,readReplica:!1,publiclyAccessible:!0},Aurora:null,GlobalAurora:null,ClickHouse:null},compute:{ecs:{services:[{name:Na,capacityProvider:"EC2",desiredCount:1,minCapacity:1,maxCapacity:1,ec2Config:{instanceType:"t4g.micro",amiHardwareType:"ARM",minCapacity:1,maxCapacity:1,memoryLimitMiB:400}}],cluster:{directAccess:!0}},lambda:{timeout:30,memory:128}},network:{maxAzs:2,natGateways:!1,flowLogs:!1},backup:!1},lightweight:{displayName:"Lightweight",description:"Streamlined single-AZ deployment for cost efficiency",database:{Instance:{instanceType:"t4g.small",multiAz:!1},Aurora:{readers:!1},GlobalAurora:null,ClickHouse:null},compute:{ecs:{services:[{name:Na,capacityProvider:"FARGATE_SPOT",cpu:256,memoryLimitMiB:512,desiredCount:1,minCapacity:1,maxCapacity:3}]},lambda:{timeout:30,memory:256}},network:{maxAzs:2,natGateways:{count:1},flowLogs:!1},backup:!1},standard:{displayName:"Standard",description:"Production-ready with sensible defaults",database:{Instance:{instanceType:"t4g.large"},Aurora:{readers:{count:1}},GlobalAurora:{readers:{count:1}},ClickHouse:{instanceType:"t4g.medium",coldTier:{mode:"s3"},optimiseSchedule:eb,backupSchedule:tb,backupRetentionDays:14}},compute:{ecs:{services:[{name:Na,capacityProvider:"FARGATE",cpu:512,memoryLimitMiB:1024,desiredCount:2,minCapacity:2,maxCapacity:5}]},lambda:{timeout:60,memory:256}},network:{maxAzs:3,natGateways:{count:1},flowLogs:{},vpcEndpoints:{interface:{ecr:!0}}},backup:!1},resilient:{displayName:"Resilient",description:"High availability with enhanced monitoring and scaling",database:{Instance:{instanceType:"r7g.large",encryption:{storageKey:{useCMK:!0}},databaseInsights:{mode:"advanced",encryptionKey:{useCMK:!0}},proxy:{requireTLS:!0}},Aurora:{readers:{count:2},encryption:{storageKey:{useCMK:!0}},databaseInsights:{mode:"advanced",encryptionKey:{useCMK:!0}},proxy:{requireTLS:!0},backupRetention:30},GlobalAurora:{readers:{count:2},encryption:{storageKey:{useCMK:!0}},databaseInsights:{mode:"advanced",encryptionKey:{useCMK:!0}},proxy:{requireTLS:!0},backupRetention:30,enableGlobalWriteForwarding:!0},ClickHouse:{instanceType:"m6g.large",coldTier:{mode:"s3"},optimiseSchedule:eb,backupSchedule:tb,backupRetentionDays:14}},compute:{ecs:{services:[{name:Na,capacityProvider:"FARGATE",cpu:1024,memoryLimitMiB:2048,desiredCount:4,minCapacity:4,maxCapacity:20}]},lambda:{timeout:120,memory:512}},network:{maxAzs:3,natGateways:{count:3},flowLogs:{retentionDays:90},vpcEndpoints:{interface:{ecr:!0,secretsManager:!0}}},backup:{tier:"resilient"}},enterprise:{displayName:"Enterprise",description:"Maximum capability with all features enabled",database:{Instance:{instanceType:"r7g.xlarge",encryption:{storageKey:{useCMK:!0}},databaseInsights:{mode:"advanced",encryptionKey:{useCMK:!0}},proxy:{requireTLS:!0},readReplica:{}},Aurora:{readers:{count:2},encryption:{storageKey:{useCMK:!0}},databaseInsights:{mode:"advanced",encryptionKey:{useCMK:!0}},proxy:{requireTLS:!0},backupRetention:35},GlobalAurora:{readers:{count:2},encryption:{storageKey:{useCMK:!0}},databaseInsights:{mode:"advanced",encryptionKey:{useCMK:!0}},proxy:{requireTLS:!0},backupRetention:35,enableGlobalWriteForwarding:!0},ClickHouse:{instanceType:"m6g.xlarge",coldTier:{mode:"s3"},optimiseSchedule:eb,backupSchedule:tb,backupRetentionDays:30}},compute:{ecs:{services:[{name:Na,capacityProvider:"FARGATE",cpu:2048,memoryLimitMiB:4096,desiredCount:6,minCapacity:6,maxCapacity:100}]},lambda:{timeout:300,memory:1024}},network:{maxAzs:3,natGateways:{count:3},flowLogs:{destination:"s3",retentionDays:365},vpcEndpoints:{interface:{ecr:!0,secretsManager:!0,kms:!0,cloudwatchLogs:!0}}},backup:{tier:"enterprise"}}});function IU(e,t){return rr[e].database[t]}vn(IU,"getDatabasePreset");function $U(e){return rr[e].compute.ecs}vn($U,"getEcsPreset");function rb(e){return rr[e].network}vn(rb,"getNetworkPreset");function _T(e){return Iu.filter(t=>rr[t].database[e]!==null)}vn(_T,"getAvailableTiersForDatabase");function TU(e){return _T(e).map(t=>({label:rr[t].displayName,value:t,description:rr[t].description}))}vn(TU,"getTierOptionsForDatabase");function nb(e){switch(e){case"tinkerer":case"lightweight":case"standard":return"Instance";case"resilient":case"enterprise":return"Aurora"}}vn(nb,"getDefaultDatabaseTypeForTier");function ib(e,t){let n=rr[e].compute.ecs,i=n.services[0],r=!n.cluster?.directAccess&&n.cluster?.loadBalancer!==!1,o=t.filter(c=>c.serviceType!=="worker").length,a=t.findIndex(c=>c.serviceType!=="worker");return t.map((c,u)=>{let l=u===a,m=c.serviceType==="worker",p;return r&&!m&&(c.routing?p=c.routing:o>1&&(p={path:l?"/*":`/${c.name.toLowerCase()}/*`,...l?{}:{priority:100+u}})),{name:c.name,capacityProvider:i.capacityProvider,ec2Config:i.ec2Config,cpu:i.cpu,memoryLimitMiB:i.memoryLimitMiB,desiredCount:i.desiredCount,minCapacity:i.minCapacity,maxCapacity:i.maxCapacity,routing:p}})}vn(ib,"applyTierDefaultsToServices");var RU=Object.defineProperty,ob=(e,t)=>RU(e,"name",{value:t,configurable:!0}),wa=["lightweight","standard","resilient"],PU=[...wa,"custom"],Rr=Object.freeze({lightweight:{displayName:"Lightweight",description:"Cost-effective \xB7 Instance DB, minimal Lambda",database:{type:"Instance",instanceType:"t4g.small",backupRetention:7,deletionProtection:!1},compute:{memorySize:512,timeout:30},network:{maxAzs:2,natGateways:{count:1},flowLogs:!1},backup:!1},standard:{displayName:"Standard",description:"Production-ready \xB7 Instance DB, balanced Lambda",database:{type:"Instance",instanceType:"t4g.large",backupRetention:14,deletionProtection:!0},compute:{memorySize:1536,timeout:60},network:{maxAzs:3,natGateways:{count:1},flowLogs:{}},backup:{tier:"standard"}},resilient:{displayName:"Resilient",description:"High-availability \xB7 Aurora V2, KMS encryption",database:{type:"Aurora",backupRetention:30,deletionProtection:!0,encryption:{useCMK:!0}},compute:{memorySize:2048,timeout:120},network:{maxAzs:3,natGateways:{count:3},flowLogs:{retentionDays:90}},backup:{tier:"resilient"}}});function pl(e){return Rr[e]}ob(pl,"getPatternTierPreset");function ET(){return[{label:Rr.standard.displayName,value:"standard",description:Rr.standard.description},{label:Rr.lightweight.displayName,value:"lightweight",description:Rr.lightweight.description},{label:Rr.resilient.displayName,value:"resilient",description:Rr.resilient.description},{label:"Custom",value:"custom",description:"Full control \xB7 Configure everything"}]}ob(ET,"getPatternTierOptions");var CU=new Set(wa);function fl(e){return CU.has(e)}ob(fl,"isPatternTierName");var NU=Object.defineProperty,xT=(e,t)=>NU(e,"name",{value:t,configurable:!0}),AT=Object.freeze({standard:{},assets:{versioned:!0,deployment:{source:"./assets"}},upload:{versioned:!0,cors:[{allowedOrigins:["*"],allowedMethods:["GET","PUT","POST"]}]},website:{publicReadAccess:!0,websiteHosting:{indexDocument:"index.html",errorDocument:"error.html"}}});function IT(e){return{...AT[e]}}xT(IT,"getStoragePreset");function $T(){return[{label:"Standard",value:"standard"},{label:"Assets",value:"assets"},{label:"Upload",value:"upload"},{label:"Website Hosting",value:"website"}]}xT($T,"getStoragePresetOptions");import*as ge from"typescript";import*as D from"typescript";var wU=Object.defineProperty,Mi=(e,t)=>wU(e,"name",{value:t,configurable:!0});function B(e){let t={};for(let n of e.properties){if(!D.isPropertyAssignment(n))continue;let i=D.isIdentifier(n.name)||D.isStringLiteral(n.name)?n.name.text:void 0;i!==void 0&&(t[i]=Pr(n.initializer))}return t}Mi(B,"parseObjectLiteral");function Pr(e){if(D.isStringLiteral(e))return e.text;if(D.isNumericLiteral(e))return Number(e.text);if(e.kind===D.SyntaxKind.TrueKeyword)return!0;if(e.kind===D.SyntaxKind.FalseKeyword)return!1;if(D.isArrayLiteralExpression(e))return e.elements.map(t=>Pr(t));if(D.isObjectLiteralExpression(e))return B(e);if(D.isIdentifier(e))return{__identifier:e.text};if(D.isPropertyAccessExpression(e))return{__expression:e.getText()};if(D.isCallExpression(e))return{__call:e.getText()};if(D.isBinaryExpression(e)&&e.operatorToken.kind===D.SyntaxKind.BarBarToken){let t=Pr(e.left),n=Pr(e.right);return typeof n=="string"?n:t}else if(D.isConditionalExpression(e)){let t=Pr(e.whenTrue),n=Pr(e.whenFalse);return typeof n=="string"||typeof n=="number"?n:t}else if(D.isTemplateExpression(e)||D.isNoSubstitutionTemplateLiteral(e))return{__expression:e.getText()};return{__unknown:e.getText()}}Mi(Pr,"evaluateExpression");function ka(e,t){return et(e,n=>{if(D.isVariableStatement(n)){for(let i of n.declarationList.declarations)if(D.isIdentifier(i.name)&&i.name.text===t&&i.initializer){if(D.isStringLiteral(i.initializer))return i.initializer.text;if(D.isObjectLiteralExpression(i.initializer)){let r=B(i.initializer);return JSON.stringify(r)}}}})}Mi(ka,"findVariableValue");function ab(e,t){return et(e,n=>{if(D.isVariableStatement(n)){for(let i of n.declarationList.declarations)if(D.isIdentifier(i.name)&&i.name.text===t&&i.initializer&&D.isObjectLiteralExpression(i.initializer))return B(i.initializer)}})}Mi(ab,"findObjectDeclaration");function Oa(e,t){if(!D.isIdentifier(t.expression))return;let n=ab(e,t.expression.text),i=t.name.text;if(n&&n[i]!==void 0)return String(n[i])}Mi(Oa,"evaluatePropertyAccess");function gl(e,t){let n=t.head.text;for(let i of t.templateSpans){if(D.isIdentifier(i.expression)){let r=ka(e,i.expression.text);if(r)n+=r;else return t.getText(e).replace(/^`|`$/g,"")}else if(D.isPropertyAccessExpression(i.expression)){let r=Oa(e,i.expression);if(r)n+=r;else return t.getText(e).replace(/^`|`$/g,"")}else return t.getText(e).replace(/^`|`$/g,"");n+=i.literal.text}return n}Mi(gl,"resolveTemplateLiteral");var kU=Object.defineProperty,J=(e,t)=>kU(e,"name",{value:t,configurable:!0});function dt(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}J(dt,"isPlainObject");function nr(e){return dt(e)&&"__identifier"in e}J(nr,"isIdentifierRef");function Cr(e){return dt(e)&&"__expression"in e}J(Cr,"isExpressionRef");function xt(e){return dt(e)&&"__call"in e}J(xt,"isCallRef");function P(e){return dt(e)&&!("__identifier"in e)&&!("__expression"in e)&&!("__call"in e)&&!("__unknown"in e)}J(P,"isParsedObject");function b(e){return typeof e=="string"?e:void 0}J(b,"asString");function R(e){return typeof e=="number"?e:void 0}J(R,"asNumber");function j(e){return typeof e=="boolean"?e:void 0}J(j,"asBoolean");function ue(e){if(!Array.isArray(e))return;let t=[];for(let n of e)typeof n=="string"&&t.push(n);return t.length>0?t:void 0}J(ue,"asStringArray");function U(e,t){let n=b(e);if(n!==void 0)return ct(t,n)?n:void 0}J(U,"asStringUnion");function qe(e){let t={};for(let[n,i]of Object.entries(e))i!==void 0&&(t[n]=i);return t}J(qe,"omitUndefined");function hl(e){if(e===null)return"null";if(e===void 0)return"undefined";if(typeof e=="string")return JSON.stringify(e);if(typeof e=="number"||typeof e=="boolean")return String(e);if(Array.isArray(e))return`[${e.map(hl).join(", ")}]`;if(!dt(e))return String(e);if(nr(e))return e.__identifier;if(Cr(e))return e.__expression;if(xt(e))return e.__call;if("__unknown"in e&&typeof e.__unknown=="string")return e.__unknown;let t=Object.entries(e);return t.length===0?"{}":`{ ${t.map(([n,i])=>`${n}: ${hl(i)}`).join(", ")} }`}J(hl,"parsedValueToSourceText");function ce(e,t){let n=[];for(let[i,r]of Object.entries(e))t.has(i)||r===void 0||n.push({key:i,sourceText:hl(r)});return n}J(ce,"captureExtraProperties");function Nr(e,t){return ge.isPropertyAssignment(e)&&ge.isIdentifier(e.name)&&e.name.text===t}J(Nr,"isNamedProperty");function zt(e){return ge.isCallExpression(e)&&ge.isPropertyAccessExpression(e.expression)&&e.expression.name.text==="getApp"&&ge.isIdentifier(e.expression.expression)&&e.expression.expression.text==="App"}J(zt,"isAppGetAppCall");function xe(e,t){let{expression:n}=e;return ge.isPropertyAccessExpression(n)&&n.name.text===t&&e.arguments.length>0}J(xe,"isFactoryMethodCall");function et(e,t){let n,i=J(r=>{n===void 0&&(n=t(r),n===void 0&&ge.forEachChild(r,i))},"visit");return i(e),n}J(et,"findFirstInAst");function Re(e,t){let n=[],i=J(r=>{let o=t(r);o!==null&&n.push(o),ge.forEachChild(r,i)},"visit");return i(e),n}J(Re,"collectFromAst");function Le(e,t){return ge.isCallExpression(e)&&ge.isPropertyAccessExpression(e.expression)&&e.expression.name.text==="build"&&ge.isIdentifier(e.expression.expression)&&e.expression.expression.text===t}J(Le,"isFactoryBuildCall");function tt(e){let t=e.parent;if(ge.isVariableDeclaration(t)&&ge.isIdentifier(t.name))return t.name.text}J(tt,"extractVariableName");var mt=J(()=>e=>e,"typed");function ji(e){if(e!=null){if(e===!1)return!1;if(typeof e=="object"&&!Array.isArray(e))return e}}J(ji,"asObjectOrFalse");function ir(e,t){return e===!1?!1:P(e)?t(e):void 0}J(ir,"parseBooleanOrConfig");function Pe(e,t){return P(e)?t(e):void 0}J(Pe,"parseOptionalConfig");function pt(e,t,n){let i=e[t];return P(i)?n(i):void 0}J(pt,"extractSubConfig");import*as W from"typescript";import*as zi from"typescript";var OU=Object.defineProperty,rt=(e,t)=>OU(e,"name",{value:t,configurable:!0});function Da(e){return e!==void 0&&dt(e)}rt(Da,"isEnvironmentRecord");function TT(e){if(!P(e))return;let t={};for(let[n,i]of Object.entries(e))if(P(i)){let r=b(i.id),o=b(i.name);r&&o&&(t[n]={id:r,name:o,field:b(i.field)})}return Object.keys(t).length>0?t:void 0}rt(TT,"parseContainerSecretsImport");function RT(e){if(!P(e))return;let t=ue(e.command);if(!(!t||t.length===0))return{command:t,interval:R(e.interval),timeout:R(e.timeout),retries:R(e.retries),startPeriod:R(e.startPeriod)}}rt(RT,"parseContainerHealthCheck");function PT(e){let t=ce(e,new Set(["name","image","port","environment","essential","command","entryPoint","secretsImport","secrets","healthCheck"]));return{name:b(e.name),image:b(e.image),port:R(e.port),environment:Da(e.environment)?e.environment:void 0,essential:j(e.essential),command:ue(e.command),entryPoint:ue(e.entryPoint),secretsImport:TT(e.secretsImport),ssmSecrets:ue(e.secrets),healthCheck:RT(e.healthCheck),extraProperties:t.length>0?t:void 0}}rt(PT,"parseServiceContainer");function CT(e){if(Array.isArray(e))return e.filter(P).map(t=>({path:b(t.path),host:b(t.host),priority:R(t.priority),healthCheckPath:b(t.healthCheckPath)}));if(P(e))return{path:b(e.path),host:b(e.host),priority:R(e.priority),healthCheckPath:b(e.healthCheckPath)}}rt(CT,"parseServiceRouting");function NT(e){if(e===!1)return!1;if(P(e))return{minCapacity:R(e.minCapacity),maxCapacity:R(e.maxCapacity),desiredCount:R(e.desiredCount),scalingType:U(e.scalingType,Pu)}}rt(NT,"parseServiceScaling");var DU=new Set(["instanceType","amiHardwareType","minCapacity","maxCapacity","memoryLimitMiB","warmPool"]);function wT(e){if(!P(e))return;let t=e.warmPool,n=P(t)?{minSize:R(t.minSize),reuseOnScaleIn:j(t.reuseOnScaleIn)}:void 0,i=ce(e,DU);return{instanceType:b(e.instanceType),amiHardwareType:U(e.amiHardwareType,Cu),minCapacity:R(e.minCapacity),maxCapacity:R(e.maxCapacity),memoryLimitMiB:R(e.memoryLimitMiB),warmPool:n,extraProperties:i.length>0?i:void 0}}rt(wT,"parseServiceEc2Config");var MU=new Set(["domain","loadBalancer","directAccess"]);function sb(e){if(!P(e))return;let t=e.loadBalancer,n=ce(e,MU);return{domain:b(e.domain),loadBalancer:t===!1?!1:U(t,Ru),directAccess:j(e.directAccess),...n.length>0&&{extraProperties:n}}}rt(sb,"extractClusterConfig");function cb(e){let t=e.containers,n=Array.isArray(t)?t.filter(P).map(PT):void 0,i=ce(e,new Set(["name","image","docker","ssmSecretsPath","containers","routing","connections","cpu","memoryLimitMiB","desiredCount","scaling","capacityProvider","ec2Config"]));return{name:b(e.name)??"",image:b(e.image),docker:kT(e.docker),ssmSecretsPath:b(e.ssmSecretsPath),containers:n,routing:CT(e.routing),cpu:R(e.cpu),memoryLimitMiB:R(e.memoryLimitMiB),desiredCount:R(e.desiredCount),scaling:NT(e.scaling),capacityProvider:U(e.capacityProvider,Ei)??"FARGATE",ec2Config:wT(e.ec2Config),...i.length>0&&{extraProperties:i}}}rt(cb,"parseEcsService");function kT(e){if(!P(e))return;let t=b(e.path);if(t===void 0)return;let n=b(e.context),i=b(e.target);return{path:t,...n!==void 0&&{context:n},...i!==void 0&&{target:i}}}rt(kT,"parseServiceDocker");function Ma(e,t){let n=b(e);if(n)return n;if(Cr(e)&&e.__expression.startsWith(t+"."))return e.__expression.slice(t.length+1)}rt(Ma,"extractEnumString");function ub(e){return xt(e)?e.__call.match(/\(\s*"([^"]+)"\s*\)/)?.[1]:void 0}rt(ub,"extractCallStringArg");function Ce(e,t,n){n!==void 0&&(e[t]=n)}rt(Ce,"assignIfDefined");var jU=Object.defineProperty,vl=(e,t)=>jU(e,"name",{value:t,configurable:!0}),zU=10;function lb(e,t){return Array.isArray(e)?e.filter(nr).map(n=>t.find(i=>i.variableName===n.__identifier)).filter(n=>n!==void 0).map(n=>n.resourceName):[]}vl(lb,"resolveConnectedDatabaseNames");function db(e,t){return Array.isArray(e)?e.filter(nr).map(n=>t.find(i=>i.variableName===n.__identifier)).filter(n=>n!==void 0).map(n=>n.resourceName):[]}vl(db,"resolveConnectedStorageNames");function mb(e,t,n){if(!Array.isArray(t)||t.length===0)return;let i=t[0];if(!P(i))return;let r=i.containers;if(!Array.isArray(r)||r.length===0)return;let o=r[0];if(!P(o)||!P(o.environment))return;let a=o.environment;(a.DATABASE_HOST||a.DATABASE_PORT||a.DATABASE_NAME)&&(e.needsConnection=!0,n.length>0&&(e.connectedDatabase??[]).length===0&&(e.connectedDatabase=[n[0].name]));for(let c=1;c<=zU;c++)(a[`DATABASE_HOST_${c}`]||a[`DATABASE_PORT_${c}`]||a[`DATABASE_NAME_${c}`])&&(e.needsConnection=!0)}vl(mb,"inferDatabaseConnectionsFromEnv");function pb(e,t,n){if(!Array.isArray(t)||t.length===0)return;let i=t[0];if(!P(i))return;let r=i.containers;if(!Array.isArray(r)||r.length===0)return;let o=r[0];!P(o)||!P(o.environment)||o.environment.BUCKET_NAME&&n.length>0&&(e.connectedStorage??[]).length===0&&(e.connectedStorage=[n[0].name])}vl(pb,"inferStorageConnectionsFromEnv");var LU=Object.defineProperty,or=(e,t)=>LU(e,"name",{value:t,configurable:!0});function OT(e){if(e.arguments.length<2)return null;let t=e.arguments[0],n=e.arguments[1];if(!zi.isStringLiteral(t)||!zi.isObjectLiteralExpression(n))return null;let i=t.text,r=B(n);return{resourceName:i,type:b(r.type)??"ecs",config:r,node:e}}or(OT,"extractComputeResource");function bl(e){return Re(e,t=>{if(!zi.isCallExpression(t)||!xe(t,"addCompute"))return null;let n=t.arguments[0];if(!Le(n,"ComputeFactory"))return null;let i=OT(n);if(i){let r=tt(t);r&&(i.variableName=r)}return i})}or(bl,"findComputeResources");function yl(e,t,n){let i=ce(e.config,n);i.length>0&&(t.extraProperties=i)}or(yl,"applyExtras");function DT(e,t){let n=e.config.docker;if(P(n)){let o=b(n.path),a=b(n.context),c=b(n.target);(o!==void 0||a!==void 0||c!==void 0)&&(t.docker={...o!==void 0&&{path:o},...a!==void 0&&{context:a},...c!==void 0&&{target:c}})}let i=e.config.cluster;i!==void 0&&(t.cluster=sb(i));let r=e.config.services;r!==void 0&&Array.isArray(r)&&(t.services=r.filter(o=>P(o)).map(cb)),yl(e,t,new Set(["type","ecrRepository","docker","cluster","services","connections"]))}or(DT,"convertEcsCompute");function MT(e,t){if(Ce(t,"deployment",U(e.config.deployment,$u)),Ce(t,"timeout",R(e.config.timeout)),Ce(t,"memory",R(e.config.memorySize)??R(e.config.memory)),Ce(t,"handler",b(e.config.handler)),Ce(t,"runtime",Ma(e.config.runtime,"Runtime")),Da(e.config.environment)&&(t.environment=e.config.environment),Da(e.config.secrets))t.secrets=e.config.secrets;else{let r=ue(e.config.secrets);r&&(t.ssmSecrets=r)}let n=e.config.functionUrl;if(P(n)){let r=U(Ma(n.authType,"FunctionUrlAuthType"),oa);r!==void 0&&(t.functionUrl={authType:r})}let i=e.config.code;if(i!==void 0){let r=ub(i);r&&(t.codePath=r)}Ce(t,"description",b(e.config.lambdaDescription)),Ce(t,"architecture",U(Ma(e.config.architecture,"Architecture"),Tu)),Ce(t,"ephemeralStorageSize",R(e.config.ephemeralStorageSize)),Ce(t,"functionName",b(e.config.functionName)),Ce(t,"ssmSecretsPath",b(e.config.ssmSecretsPath)),yl(e,t,new Set(["type","deployment","timeout","memorySize","memory","handler","runtime","environment","secrets","functionUrl","code","connections","ecrRepository","containerSecretsImport","lambdaDescription","architecture","ephemeralStorageSize","functionName","ssmSecretsPath"]))}or(MT,"convertLambdaCompute");function jT(e,t){Ce(t,"instanceType",U(e.config.instanceType,Nu));let n=e.config.ssh;n===!1?t.enableSSH=!1:n!==void 0&&P(n)?t.enableSSH=!0:Ce(t,"enableSSH",j(e.config.enableSSH)),Ce(t,"keyName",b(e.config.keyName)),Ce(t,"userData",b(e.config.userData)),e.config.securityGroups!==void 0&&(t.securityGroups=ue(e.config.securityGroups)),yl(e,t,new Set(["type","instanceType","ssh","enableSSH","keyName","userData","securityGroups","connections"]))}or(jT,"convertEc2Compute");function zT(e,t,n,i){let r=t.config.connections;if(!r&&Array.isArray(t.config.services)){let c=t.config.services[0];P(c)&&(r=c.connections)}if(!r)return;let o=lb(r,n);o.length>0&&(e.needsConnection=!0,e.connectedDatabase=o);let a=db(r,i);a.length>0&&(e.connectedStorage=a)}or(zT,"applyConnectionConfig");function LT(e,t){({ecs:DT,lambda:MT,ec2:jT})[e.type]?.(t,e)}or(LT,"applyTypeSpecificConfig");function fb(e,t,n,i){return e.map(r=>{let o=U(r.config.type,na)??"ecs",a={name:r.resourceName,type:o,needsConnection:!1,connectedDatabase:[],...r.variableName&&{variableName:r.variableName}};return zT(a,r,t,n),LT(a,r),mb(a,r.config.services,i.database),pb(a,r.config.services,i.s3),a})}or(fb,"convertComputeResources");import*as ft from"typescript";var UU=Object.defineProperty,FU=(e,t)=>UU(e,"name",{value:t,configurable:!0});function Sl(e){return Re(e,t=>{if(!ft.isCallExpression(t)||!xe(t,"addSchedule")||t.arguments.length<2)return null;let n=t.arguments[0],i=t.arguments[1];if(!ft.isStringLiteral(n)||!ft.isObjectLiteralExpression(i))return null;let r=B(i),o=b(r.schedule);if(o===void 0)return null;let a=i.properties.find(c=>ft.isPropertyAssignment(c)&&ft.isIdentifier(c.name)&&c.name.text==="target");return!a||!ft.isPropertyAssignment(a)||!ft.isIdentifier(a.initializer)?null:{id:n.text,schedule:o,targetVariableName:a.initializer.text}})}FU(Sl,"findSchedules");import*as Q from"typescript";import*as Ue from"typescript";var BU=Object.defineProperty,ja=(e,t)=>BU(e,"name",{value:t,configurable:!0}),gb=new Set(["S3Bucket"]);function UT(e,t,n){let i=Ue.isIdentifier(e.name)?e.name.text:"";if(t.arguments&&t.arguments.length>=2){let r=t.arguments[1],o=Ue.isStringLiteral(r)?r.text:"",a=t.arguments.length>=3?t.arguments[2]:void 0,c=a&&Ue.isObjectLiteralExpression(a)?B(a):{};return{variableName:i,resourceName:o,bucketClass:n,config:c,node:e}}return null}ja(UT,"extractS3Resource");function FT(e,t){if(t.arguments.length<2)return null;let n=t.arguments[0],i=t.arguments[1];if(!Ue.isStringLiteral(n)||!Ue.isObjectLiteralExpression(i))return null;let r=B(i);return{variableName:tt(e)??"",resourceName:n.text,bucketClass:"StorageFactory",config:r,node:e}}ja(FT,"extractS3FactoryResource");function hb(e){return Re(e,t=>{if(!Ue.isVariableDeclaration(t)||!t.initializer||!Ue.isNewExpression(t.initializer))return null;let n=t.initializer;if(!Ue.isIdentifier(n.expression))return null;let i=n.expression.text;return gb.has(i)?UT(t,n,i):null})}ja(hb,"findS3Resources");function vb(e){return Re(e,t=>{if(!Ue.isCallExpression(t)||!xe(t,"addStorage"))return null;let n=t.arguments[0];return Le(n,"StorageFactory")?FT(t,n):null})}ja(vb,"findS3FactoryResources");function bb(e){return e.map(t=>({name:t.resourceName,...b(t.config.bucketName)&&{bucketName:b(t.config.bucketName)},...j(t.config.publicReadAccess)===!0&&{publicReadAccess:!0},...P(t.config.websiteHosting)&&(()=>{let n=t.config.websiteHosting;return{websiteHosting:{indexDocument:b(n.indexDocument)??"index.html",...b(n.errorDocument)&&{errorDocument:b(n.errorDocument)}}}})(),...U(t.config.backupVaultTier,_t)&&{backupVaultTier:U(t.config.backupVaultTier,_t)},...j(t.config.versioned)!==void 0&&{versioned:j(t.config.versioned)},...U(t.config.encryption,$i)&&{encryption:U(t.config.encryption,$i)},...b(t.config.kmsKeyArn)&&{kmsKeyArn:b(t.config.kmsKeyArn)},...Array.isArray(t.config.cors)&&t.config.cors.length>0&&{cors:t.config.cors.filter(P).map(n=>({allowedOrigins:Array.isArray(n.allowedOrigins)?n.allowedOrigins.filter(i=>typeof i=="string"):[],allowedMethods:Array.isArray(n.allowedMethods)?n.allowedMethods.filter(i=>typeof i=="string"):[]}))},...P(t.config.deployment)&&(()=>{let n=t.config.deployment;return{deployment:{source:b(n.source)??"",...j(n.prune)!==void 0&&{prune:j(n.prune)},...P(n.cacheControl)&&(()=>{let i=n.cacheControl;return{cacheControl:{...R(i.maxAge)!==void 0&&{maxAge:R(i.maxAge)},...j(i.immutable)!==void 0&&{immutable:j(i.immutable)}}}})()}}})(),...U(t.config.stackPlacement,Zu)&&{stackPlacement:U(t.config.stackPlacement,Zu)},...t.variableName&&{variableName:t.variableName},...(()=>{let n=new Set(["bucketName","publicReadAccess","websiteHosting","backupVaultTier","versioned","encryption","kmsKeyArn","cors","deployment","stackPlacement"]),i=ce(t.config,n);return i.length>0?{extraProperties:i}:{}})()}))}ja(bb,"convertS3Resources");var VU=Object.defineProperty,bn=(e,t)=>VU(e,"name",{value:t,configurable:!0}),BT=new Set(["App","Architecture","DatabaseFactory","StorageFactory","ComputeFactory","getConfig","MessagingFactory","CdnFactory","Code","Runtime","FunctionUrlAuthType","NetworkFactory","PatternFactory","VpcPeerFactory","VpcPeerAccepterFactory","CrossPlanConnectionFactory"]);function _l(e){return!!(e.startsWith("@fjall/")||e==="aws-cdk-lib"||e.startsWith("aws-cdk-lib/")||e==="constructs")}bn(_l,"isManagedModuleSpecifier");function Ke(e){let t=[];for(let n of e.statements){let i=n.getFullStart(),r=n.getEnd();if(Q.isImportDeclaration(n)){t.push({type:"import",node:n,startPos:i,endPos:r,isManaged:VT(n)});continue}if(Q.isVariableStatement(n)){t.push(ZT(n,i,r));continue}if(Q.isExpressionStatement(n)){t.push(GT(n,i,r));continue}t.push({type:"custom",node:n,startPos:i,endPos:r,isManaged:!1})}return t}bn(Ke,"classifyStatements");function VT(e){return Q.isStringLiteral(e.moduleSpecifier)?_l(e.moduleSpecifier.text):!1}bn(VT,"isManagedImport");function ZT(e,t,n){for(let i of e.declarationList.declarations)if(i.initializer){if(zt(i.initializer))return{type:"app-init",node:e,resourceName:Q.isIdentifier(i.name)?i.name.text:void 0,startPos:t,endPos:n,isManaged:!0};if(Q.isIdentifier(i.name)&&i.name.text==="appName"&&Q.isStringLiteral(i.initializer))return{type:"app-init",node:e,startPos:t,endPos:n,isManaged:!0};if(Q.isNewExpression(i.initializer)){let r=i.initializer;if(Q.isIdentifier(r.expression)){let o=r.expression.text;if(gb.has(o)){let a=r.arguments&&r.arguments.length>=2&&Q.isStringLiteral(r.arguments[1])?r.arguments[1].text:void 0;return{type:"storage",node:e,resourceName:a,startPos:t,endPos:n,isManaged:!0}}}}if(Q.isCallExpression(i.initializer)){let r=yb(i.initializer,e,t,n);if(r.type!=="custom")return r}}return{type:"custom",node:e,startPos:t,endPos:n,isManaged:!1}}bn(ZT,"classifyVariableStatement");function GT(e,t,n){let i=e.expression;return Q.isCallExpression(i)?yb(i,e,t,n):{type:"custom",node:e,startPos:t,endPos:n,isManaged:!1}}bn(GT,"classifyExpressionStatement");function yb(e,t,n,i){let r=e.expression;if(Q.isPropertyAccessExpression(r)&&Q.isIdentifier(r.expression)){let o=r.name.text;if(o==="addTags")return{type:"tags",node:t,startPos:n,endPos:i,isManaged:!0};let a={addDatabase:{type:"database",factory:"DatabaseFactory"},addCompute:{type:"compute",factory:"ComputeFactory"},addNetwork:{type:"network",factory:"NetworkFactory"},addMessaging:{type:"messaging",factory:"MessagingFactory"},addCdn:{type:"cdn",factory:"CdnFactory"},addPattern:{type:"pattern",factory:"PatternFactory"},addStorage:{type:"storage",factory:"StorageFactory"},addVpcPeer:{type:"vpc-peer",factory:"VpcPeerFactory"},addVpcPeerAccepter:{type:"vpc-peer-accepter",factory:"VpcPeerAccepterFactory"}}[o];if(a){let c=WT(e,a.factory);return{type:a.type,node:t,resourceName:c,startPos:n,endPos:i,isManaged:!0}}}return{type:"custom",node:t,startPos:n,endPos:i,isManaged:!1}}bn(yb,"classifyCallExpression");function WT(e,t){if(e.arguments.length===0)return;let n=e.arguments[0];if(!Q.isCallExpression(n))return;let i=n.expression;if(!Q.isPropertyAccessExpression(i)||i.name.text!=="build"||!Q.isIdentifier(i.expression)||i.expression.text!==t||n.arguments.length===0)return;let r=n.arguments[0];if(Q.isStringLiteral(r))return r.text}bn(WT,"extractResourceNameFromFactoryCall");import*as HT from"typescript";var ZU=Object.defineProperty,yn=(e,t)=>ZU(e,"name",{value:t,configurable:!0}),GU={import:"after-imports","app-init":"after-app-init",tags:"after-tags"};function qT(e){if(!e)return{position:"before-imports"};let t=GU[e.type];return t?{position:t}:{position:"after-resource",afterManagedResource:{type:e.type,name:e.resourceName}}}yn(qT,"determineCustomBlockPosition");function za(e,t){let n=t??Ke(e),i=[],r=e.getFullText(),o=null;for(let a of n)if(a.type==="custom"&&!a.isManaged){let{position:c,afterManagedResource:u}=qT(o),l=KT(r,a.node),m=YT(r,a.node),p=e.getLineAndCharacterOfPosition(a.node.getStart());i.push({sourceText:l,position:c,afterManagedResource:u,originalLine:p.line+1,leadingComments:m.length>0?m:void 0})}else a.isManaged&&(o=a);return i}yn(za,"extractCustomCodeBlocks");function KT(e,t){let n=t.getFullStart(),i=t.getEnd(),r=e.slice(n,i).split(`
429
429
  `),o=r.findIndex(a=>a.trim()!=="");return r.slice(o===-1?0:o).join(`
430
- `)}yn(KT,"getStatementTextWithComments");function YT(e,t){let n=[],i=HT.getLeadingCommentRanges(e,t.getFullStart());if(i)for(let r of i){let o=e.slice(r.pos,r.end);n.push(o)}return n}yn(YT,"extractLeadingComments");function Li(e,t,n,i){let r=i??Ke(e);for(let o of r)if(o.type===t&&o.resourceName===n)return{startPos:o.startPos,endPos:o.endPos,node:o.node};return null}yn(Li,"findManagedResourcePosition");function Sb(e,t,n){let i=n??Ke(e),r=null;for(let o of i)o.type===t&&o.isManaged&&(r=o);return r}yn(Sb,"getLastManagedStatementOfType");function _b(e,t){let n=t??Ke(e),i={import:[],"app-init":[],tags:[],database:[],compute:[],storage:[],network:[],messaging:[],cdn:[],pattern:[],"vpc-peer":[],"vpc-peer-accepter":[],"cross-plan-connection":[],custom:[]};for(let r of n)i[r.type].push(r);return i}yn(_b,"getManagedResourcesByType");import*as ar from"typescript";import*as Ua from"typescript";var GU=Object.defineProperty,Eb=(e,t)=>GU(e,"name",{value:t,configurable:!0}),WU=["S","N","B"];function La(e){if(!P(e))return;let t=b(e.name),n=U(e.type,WU);if(!(!t||!n))return{name:t,type:n}}Eb(La,"parseDynamoDBKey");function xb(e){let t=e.node;if(!Ua.isCallExpression(t))return null;let n=t.arguments[0];if(!Ua.isCallExpression(n)||n.arguments.length<2)return null;let i=n.arguments[1];if(!Ua.isObjectLiteralExpression(i))return null;let r=B(i),o=La(r.partitionKey);if(!o)return null;let a={resourceName:e.resourceName,partitionKey:o,node:e.node};e.variableName&&(a.variableName=e.variableName);let c=La(r.sortKey);if(c&&(a.sortKey=c),Array.isArray(r.globalSecondaryIndexes)){let p=r.globalSecondaryIndexes.filter(P).map(g=>{let v=La(g.partitionKey);if(!v)return null;let A=b(g.indexName);if(!A)return null;let Y={indexName:A,partitionKey:v},z=La(g.sortKey);return z&&(Y.sortKey=z),Y}).filter(g=>g!==null);p.length>0&&(a.globalSecondaryIndexes=p)}let u=b(r.ttlAttribute);u&&(a.ttlAttribute=u);let l=j(r.stream);l!==void 0&&(a.stream=l);let m=ce(r,new Set(["type","databaseName","partitionKey","sortKey","globalSecondaryIndexes","ttlAttribute","stream"]));return m.length>0&&(a.extraProperties=m),a}Eb(xb,"extractDynamoDBFields");function El(e){if(e.length!==0)return e.map(t=>({name:t.resourceName,partitionKey:t.partitionKey,...qe({sortKey:t.sortKey,globalSecondaryIndexes:t.globalSecondaryIndexes,ttlAttribute:t.ttlAttribute,stream:t.stream,variableName:t.variableName,extraProperties:t.extraProperties})}))}Eb(El,"convertDynamoDBResources");import*as Fa from"typescript";var HU=Object.defineProperty,XT=(e,t)=>HU(e,"name",{value:t,configurable:!0}),qU=new Set(["type","databaseName","instanceType","coldTier","optimiseSchedule","backupSchedule","backupRetentionDays"]);function Ab(e){let t=e.node;if(!Fa.isCallExpression(t))return null;let n=t.arguments[0];if(!Fa.isCallExpression(n)||n.arguments.length<2)return null;let i=n.arguments[1];if(!Fa.isObjectLiteralExpression(i))return null;let r=B(i),o={resourceName:e.resourceName,databaseName:e.databaseName,node:e.node};e.variableName&&(o.variableName=e.variableName);let a=b(r.instanceType);a&&(o.instanceType=a);let c=r.coldTier;c===!1?o.coldTier=!1:P(c)&&b(c.mode)==="s3"&&(o.coldTier={mode:"s3"});let u=r.optimiseSchedule;if(u===!1)o.optimiseSchedule=!1;else{let g=b(u);g&&(o.optimiseSchedule=g)}let l=r.backupSchedule;if(l===!1)o.backupSchedule=!1;else{let g=b(l);g&&(o.backupSchedule=g)}let m=R(r.backupRetentionDays);m!==void 0&&(o.backupRetentionDays=m);let p=ce(r,qU);return p.length>0&&(o.extraProperties=p),o}XT(Ab,"extractClickHouseFields");function xl(e){if(e.length!==0)return e.map(t=>({name:t.resourceName,type:"ClickHouse",databaseName:t.databaseName,...qe({instanceType:t.instanceType,coldTier:t.coldTier,optimiseSchedule:t.optimiseSchedule,backupSchedule:t.backupSchedule,backupRetentionDays:t.backupRetentionDays,variableName:t.variableName,extraProperties:t.extraProperties})}))}XT(xl,"convertClickHouseResources");var KU=Object.defineProperty,Ui=(e,t)=>KU(e,"name",{value:t,configurable:!0});function JT(e){let t=b(e.databaseEngine);if(t!==void 0&&ct(Ai,t))return t;let n=e.engine;if(xt(n)){let i=String(n.__call);if(i.includes("postgres")||i.includes("auroraPostgres"))return"postgresql";if(i.includes("mysql")||i.includes("auroraMysql"))return"mysql"}}Ui(JT,"extractDatabaseEngine");function QT(e){let t=e.engine;if(xt(t))return String(t.__call)}Ui(QT,"extractEngineExpression");var YU=new Set(["type","databaseName","databaseEngine","engine","vpc","port","deletionProtection","instanceType","multiAz","publiclyAccessible","enableSecretRotation","encryption","databaseInsights","proxy","readReplica","credentials","writer","readers","backupRetention","preferredMaintenanceWindow","primaryRegion","secondaryRegions","globalClusterIdentifier","enableGlobalWriteForwarding","snapshotIdentifier","allocatedStorage","monitoringInterval","snapshotUsername"]);function e0(e,t,n){if(n.arguments.length<2)return null;let i=n.arguments[0],r=n.arguments[1];if(!ar.isStringLiteral(i)&&!ar.isTemplateExpression(i))return null;let o=ar.isStringLiteral(i)?i.text:gl(e,i);if(!ar.isObjectLiteralExpression(r))return null;let a=B(r),c={resourceName:o,type:b(a.type)??"",databaseName:b(a.databaseName)??"",databaseEngine:JT(a),engineExpression:QT(a),port:R(a.port),deletionProtection:j(a.deletionProtection),instanceType:b(a.instanceType),multiAz:j(a.multiAz),publiclyAccessible:j(a.publiclyAccessible),enableSecretRotation:j(a.enableSecretRotation),encryption:Pe(a.encryption,mt()),databaseInsights:ir(a.databaseInsights,mt()),proxy:ir(a.proxy,mt()),readReplica:ir(a.readReplica,mt()),credentials:Pe(a.credentials,mt()),writer:Pe(a.writer,mt()),readers:ir(a.readers,mt()),backupRetention:R(a.backupRetention),preferredMaintenanceWindow:b(a.preferredMaintenanceWindow),primaryRegion:b(a.primaryRegion),secondaryRegions:ue(a.secondaryRegions),globalClusterIdentifier:b(a.globalClusterIdentifier),enableGlobalWriteForwarding:j(a.enableGlobalWriteForwarding),allocatedStorage:R(a.allocatedStorage),monitoringInterval:R(a.monitoringInterval),snapshotIdentifier:b(a.snapshotIdentifier),snapshotUsername:b(a.snapshotUsername),node:t},u=tt(t);u&&(c.variableName=u);let l=ce(a,YU);return l.length>0&&(c.extraProperties=l),c}Ui(e0,"extractDatabaseResource");function Ib(e){return Re(e,t=>{if(!ar.isCallExpression(t)||!xe(t,"addDatabase"))return null;let n=t.arguments[0];return Le(n,"DatabaseFactory")?e0(e,t,n):null})}Ui(Ib,"findDatabaseResources");function $b(e){let t=[],n=[],i=[];for(let r of e)if(r.type==="DynamoDB"){let o=xb(r);o&&n.push(o)}else if(r.type==="ClickHouse"){let o=Ab(r);o&&i.push(o)}else t.push(r);return{databases:t,dynamodb:n,clickhouse:i}}Ui($b,"splitDatabaseResources");var XU=["Instance","Aurora","GlobalAurora"];function Tb(e){return e.filter(t=>t.type!=="DynamoDB").map(t=>({name:t.resourceName,type:ct(XU,t.type)?t.type:"Instance",databaseName:t.databaseName,...qe({port:t.port,deletionProtection:t.deletionProtection,instanceType:t.instanceType,multiAz:t.multiAz,publiclyAccessible:t.publiclyAccessible,enableSecretRotation:t.enableSecretRotation,encryption:t.encryption,databaseInsights:t.databaseInsights,proxy:t.proxy,readReplica:t.readReplica,credentials:t.credentials,writer:t.writer,readers:t.readers,backupRetention:t.backupRetention,preferredMaintenanceWindow:t.preferredMaintenanceWindow,primaryRegion:t.primaryRegion,secondaryRegions:t.secondaryRegions,globalClusterIdentifier:t.globalClusterIdentifier,enableGlobalWriteForwarding:t.enableGlobalWriteForwarding,allocatedStorage:t.allocatedStorage,monitoringInterval:t.monitoringInterval,variableName:t.variableName,databaseEngine:t.databaseEngine,engineExpression:t.engineExpression,extraProperties:t.extraProperties})}))}Ui(Tb,"convertDatabaseResources");import*as Bi from"typescript";var JU=Object.defineProperty,Fi=(e,t)=>JU(e,"name",{value:t,configurable:!0});function t0(e,t){if(t.arguments.length<2)return null;let n=t.arguments[0],i=t.arguments[1];if(!Bi.isStringLiteral(n)||!Bi.isObjectLiteralExpression(i))return null;let r=B(i),o={resourceName:n.text,queueType:b(r.queueType)??"standard",visibilityTimeout:R(r.visibilityTimeout),retentionPeriod:R(r.messageRetentionPeriod),contentBasedDeduplication:j(r.contentBasedDeduplication),removalPolicy:b(r.removalPolicy),node:e},a=tt(e);a&&(o.variableName=a);let c=ce(r,new Set(["type","queueType","visibilityTimeout","messageRetentionPeriod","contentBasedDeduplication","removalPolicy"]));return c.length>0&&(o.extraProperties=c),o}Fi(t0,"extractSQSResource");function Rb(e){if(e!=null){if(e===!1)return!1;if(P(e))return qe({enabled:j(e.enabled),maxReceiveCount:R(e.maxReceiveCount)})}}Fi(Rb,"parseDeadLetterQueueConfig");function Pb(e){return Re(e,t=>{if(!Bi.isCallExpression(t)||!xe(t,"addMessaging"))return null;let n=t.arguments[0];return Le(n,"MessagingFactory")?t0(t,n):null})}Fi(Pb,"findSQSResources");function Cb(e){if(e.length!==0)return e.map(t=>({name:t.resourceName,queueType:t.queueType==="fifo"?"fifo":"standard",...qe({visibilityTimeout:t.visibilityTimeout,retentionPeriod:t.retentionPeriod,contentBasedDeduplication:t.contentBasedDeduplication,removalPolicy:n0(t.removalPolicy),variableName:t.variableName,extraProperties:t.extraProperties})}))}Fi(Cb,"convertSQSResources");var QU=new Set(Nv.options);function r0(e){return QU.has(e)}Fi(r0,"isSqsRemovalPolicy");function n0(e){return e!==void 0&&r0(e)?e:void 0}Fi(n0,"toSqsRemovalPolicy");import*as Vi from"typescript";var e4=Object.defineProperty,Ba=(e,t)=>e4(e,"name",{value:t,configurable:!0});function o0(e){if(e.arguments.length<2)return null;let t=e.arguments[0],n=e.arguments[1];return!Vi.isStringLiteral(t)||!Vi.isObjectLiteralExpression(n)?null:{resourceName:t.text,config:B(n),node:e}}Ba(o0,"extractCDNResource");function a0(e,t,n){let i=t.find(o=>o.variableName===e);if(i)return i.resourceName;let r=n.find(o=>o.variableName===e||o.resourceName.charAt(0).toLowerCase()+o.resourceName.slice(1)===e);return r?r.resourceName:e}Ba(a0,"resolveOriginIdentifier");var i0=["CACHING_OPTIMIZED","CACHING_DISABLED"];function Nb(e){return et(e,t=>{if(!Vi.isCallExpression(t)||!xe(t,"addCdn"))return;let n=t.arguments[0];if(Le(n,"CdnFactory"))return o0(n)??void 0})}Ba(Nb,"findCDNResource");function wb(e,t,n){if(!e)return;let i=e,r=i.config,o=Ba(p=>nr(p)?a0(p.__identifier,t,n):b(p)??"","resolveOrigin"),a=o(r.origin),c={name:i.resourceName,defaultOriginRef:a};if(Array.isArray(r.behaviours)){let p=r.behaviours.filter(P).map(g=>({pathPattern:b(g.pathPattern)??"",originRef:o(g.origin),...U(g.cachePolicy,i0)!==void 0&&{cachePolicy:U(g.cachePolicy,i0)}}));p.length>0&&(c.behaviours=p)}let u=b(r.customDomain);if(u)c.customDomain=u;else{let p=ue(r.domainNames);p&&p.length>0&&(c.customDomain=p[0])}let l=b(r.certificateArn);if(l&&(c.certificateArn=l),r.accessGate!==void 0){if(r.accessGate===!1)c.accessGate=!1;else if(P(r.accessGate)){let p=r.accessGate,g=b(p.type),v=b(p.username),A=b(p.password);g==="basic-auth"&&v&&A&&(c.accessGate={type:"basic-auth",username:v,password:A})}}let m=ce(r,new Set(["originType","origin","behaviours","customDomain","domainNames","certificateArn","accessGate"]));return m.length>0&&(c.extraProperties=m),c}Ba(wb,"convertCDNResource");import*as de from"typescript";var t4=Object.defineProperty,nt=(e,t)=>t4(e,"name",{value:t,configurable:!0}),r4=new Set(Pv.options);function s0(e){if(e!==void 0)return r4.has(e)?e:void 0}nt(s0,"asFlowLogDestination");function kb(e){return{maxAzs:R(e.maxAzs),natGateways:ir(e.natGateways,t=>({count:R(t.count)})),flowLogs:ir(e.flowLogs,t=>({destination:b(t.destination),retentionDays:R(t.retentionDays)})),vpcEndpoints:P(e.vpcEndpoints)?e.vpcEndpoints:void 0}}nt(kb,"parseNetworkConfigFields");function c0(e,t){if(t.arguments.length<2)return null;let n=t.arguments[0],i=t.arguments[1];if(!de.isStringLiteral(n))return null;let r=n.text,o=de.isObjectLiteralExpression(i)?B(i):{},a=kb(o),c={name:r,config:qe({...a}),node:e},u=tt(e);return u&&(c.variableName=u),c}nt(c0,"extractNetworkResource");function Ob(e){return et(e,t=>{if(!zt(t)||t.arguments.length<=1)return;let n=t.arguments[1];if(de.isObjectLiteralExpression(n)){for(let i of n.properties)if(Nr(i,"network")&&de.isObjectLiteralExpression(i.initializer)){for(let r of i.initializer.properties)if(Nr(r,"useExisting")&&de.isStringLiteral(r.initializer))return r.initializer.text}}})}nt(Ob,"findVpcId");function Db(e){return et(e,t=>{if(!zt(t)||t.arguments.length<=1)return;let n=t.arguments[1];if(de.isObjectLiteralExpression(n)){for(let i of n.properties)if(Nr(i,"network")){if(i.initializer.kind===de.SyntaxKind.FalseKeyword)return;if(de.isObjectLiteralExpression(i.initializer)&&!i.initializer.properties.some(r=>Nr(r,"useExisting"))){let r=B(i.initializer);return kb(r)}}}})}nt(Db,"findNetworkConfig");function Mb(e){return et(e,t=>{if(!zt(t)||t.arguments.length<=1)return;let n=t.arguments[1];if(de.isObjectLiteralExpression(n)){for(let i of n.properties)if(Nr(i,"backup")){if(i.initializer.kind===de.SyntaxKind.FalseKeyword)return!1;if(de.isObjectLiteralExpression(i.initializer)){let r=B(i.initializer),o=b(r.tier);if(o)return{tier:o}}}}})}nt(Mb,"findBackupConfig");function jb(e){return et(e,t=>{if(!zt(t)||t.arguments.length<=1)return;let n=t.arguments[1];if(de.isObjectLiteralExpression(n)){for(let i of n.properties)if(Nr(i,"tunnel")){if(i.initializer.kind===de.SyntaxKind.FalseKeyword)return!1;if(i.initializer.kind===de.SyntaxKind.TrueKeyword)return!0;if(de.isObjectLiteralExpression(i.initializer)){let r=B(i.initializer),o=b(r.instanceType);return o?{instanceType:o}:{}}}}})}nt(jb,"findTunnelConfig");function zb(e){return Re(e,t=>{if(!de.isCallExpression(t)||!xe(t,"addNetwork"))return null;let n=t.arguments[0];return Le(n,"NetworkFactory")?c0(t,n):null})}nt(zb,"findNetworkResources");function Lb(e){let t=e.flowLogs;return{...qe({maxAzs:e.maxAzs,natGateways:e.natGateways,vpcEndpoints:e.vpcEndpoints}),...t!==void 0&&{flowLogs:t===!1?!1:qe({destination:s0(t.destination),retentionDays:t.retentionDays})}}}nt(Lb,"buildNetworkFields");function Ub(e){if(e)return Lb(e)}nt(Ub,"convertNetworkConfig");function Fb(e){if(e===void 0)return;if(e===!1)return!1;let t=e.tier;if(ct(_t,t))return{tier:t}}nt(Fb,"convertBackupConfig");function Bb(e){if(e===void 0)return;if(e===!1)return!1;if(e===!0)return{};let t={};return e.instanceType&&(t.instanceType=e.instanceType),t}nt(Bb,"convertTunnelConfig");function Vb(e){if(!(!e||e.length===0))return e.map(t=>({name:t.name,...Lb(t.config)}))}nt(Vb,"convertAdditionalNetworks");import*as Zi from"typescript";var n4=Object.defineProperty,be=(e,t)=>n4(e,"name",{value:t,configurable:!0}),i4=["Instance","Aurora"],o4=["postgresql","mysql"];function Al(e){if(!P(e))return;let t={...e.memorySize!==void 0&&{memorySize:R(e.memorySize)},...e.timeout!==void 0&&{timeout:R(e.timeout)},...e.ephemeralStorageSize!==void 0&&{ephemeralStorageSize:R(e.ephemeralStorageSize)}};return Object.keys(t).length>0?t:void 0}be(Al,"parseLambdaConfig");function u0(e){return pt(e,"database",t=>({type:U(t.type,i4),databaseName:b(t.databaseName),databaseEngine:U(t.databaseEngine,o4),deletionProtection:j(t.deletionProtection),backupRetention:R(t.backupRetention),port:R(t.port),publiclyAccessible:j(t.publiclyAccessible),allowedIpCidr:b(t.allowedIpCidr),instanceType:b(t.instanceType),allocatedStorage:R(t.allocatedStorage),multiAz:j(t.multiAz),allowVpcAccess:j(t.allowVpcAccess),monitoringInterval:R(t.monitoringInterval),preferredMaintenanceWindow:b(t.preferredMaintenanceWindow),snapshotIdentifier:b(t.snapshotIdentifier),snapshotUsername:b(t.snapshotUsername),readReplica:ji(t.readReplica),writer:Pe(t.writer,mt()),readers:ji(t.readers),databaseInsights:ji(t.databaseInsights),proxy:ji(t.proxy),credentials:Pe(t.credentials,mt()),encryption:Pe(t.encryption,mt())}))}be(u0,"extractPatternDatabaseConfig");function l0(e){return pt(e,"compute",t=>({server:Pe(t.server,Al),imageOptimisation:Pe(t.imageOptimisation,Al),revalidation:Pe(t.revalidation,Al)}))}be(l0,"extractPatternComputeConfig");function d0(e){let t=be(n=>({versioned:j(n.versioned)}),"parseVersionedConfig");return pt(e,"storage",n=>({assets:Pe(n.assets,t),cache:Pe(n.cache,t),media:Pe(n.media,t)}))}be(d0,"extractPatternStorageConfig");function m0(e){return pt(e,"messaging",t=>({revalidationQueue:Pe(t.revalidationQueue,n=>({visibilityTimeout:R(n.visibilityTimeout),messageRetentionPeriod:R(n.messageRetentionPeriod),maxMessageSize:R(n.maxMessageSize),deadLetterQueue:Rb(n.deadLetterQueue)}))}))}be(m0,"extractPatternMessagingConfig");function p0(e){return pt(e,"cdn",t=>({domainNames:ue(t.domainNames),certificateArn:b(t.certificateArn)}))}be(p0,"extractPatternCdnConfig");function f0(e){return pt(e,"environment",t=>{let n=Object.fromEntries(Object.entries(t).filter(i=>typeof i[1]=="string"));return Object.keys(n).length>0?n:void 0})}be(f0,"extractPatternEnvironmentConfig");function g0(e,t){let n=h0(e);return{name:t,source:b(e.source),build:pt(e,"build",i=>({command:b(i.command),outputDir:b(i.outputDir)})),routing:U(e.routing,Zo),security:pt(e,"security",i=>({headers:j(i.headers),contentSecurityPolicy:b(i.contentSecurityPolicy)})),domain:b(e.domain),forms:pt(e,"forms",i=>({to:b(i.to),from:b(i.from),corsOrigin:b(i.corsOrigin),maxConcurrency:R(i.maxConcurrency)})),cdn:pt(e,"cdn",i=>({behaviours:Array.isArray(i.behaviours)?i.behaviours:void 0})),...n.length>0&&{unreadableFields:n}}}be(g0,"extractStaticSiteConfig");function Zb(e){return dt(e)&&("__identifier"in e||"__expression"in e||"__call"in e||"__unknown"in e)}be(Zb,"isUnreadableRef");function h0(e){let t=[],n=be((r,o)=>{Zb(r)&&t.push(o)},"check");n(e.source,"source"),n(e.routing,"routing"),n(e.domain,"domain");let i=[[e.build,"build",["command","outputDir"]],[e.security,"security",["headers","contentSecurityPolicy"]],[e.forms,"forms",["to","from","corsOrigin","maxConcurrency"]],[e.cdn,"cdn",["behaviours"]]];for(let[r,o,a]of i)if(Zb(r))t.push(o);else if(P(r))for(let c of a)n(r[c],`${o}.${c}`);return t}be(h0,"collectUnreadableStaticSiteFields");function wr(e){return e!==void 0&&e!==""}be(wr,"isReadable");function Il(e,t){return new Error(`Static-site pattern '${e}' in infrastructure.ts: Fjall could not read ${t.join(", ")} as inline literal(s). Fjall reads these fields out of the file and writes them back, so they must be written inline (source: "./site"), not as a variable or an expression.`)}be(Il,"unreadableStaticSiteFields");function v0(e,t){let n=t.to;if(!wr(n))throw Il(e,["forms.to"]);return{to:n,...t.from!==void 0&&{from:t.from},...t.corsOrigin!==void 0&&{corsOrigin:t.corsOrigin},...t.maxConcurrency!==void 0&&{maxConcurrency:t.maxConcurrency}}}be(v0,"readStaticSiteForms");function b0(e,t){if(e.arguments.length<2)return null;let n=e.arguments[0],i=e.arguments[1];if(!Zi.isStringLiteral(n)||!Zi.isObjectLiteralExpression(i))return null;let r=n.text,o=B(i),a=o.type,c=tt(t),u=b(o.name);return u?a==="payload"||a==="nextjs"?{variableName:c,constructId:r,type:a,config:{name:u,domain:b(o.domain),database:u0(o),compute:l0(o),storage:d0(o),messaging:m0(o),cdn:p0(o),environment:f0(o)},node:e}:a==="staticsite"?{variableName:c,constructId:r,type:"staticsite",config:g0(o,u),node:e}:null:null}be(b0,"extractPatternResource");function Gb(e){return Re(e,t=>{if(!Zi.isCallExpression(t)||!xe(t,"addPattern"))return null;let n=t.arguments[0];return Le(n,"PatternFactory")?b0(n,t):null})}be(Gb,"findPatternResources");function Wb(e,t){if(!t||t.length===0)return;let n=t[0];if(e.pattern=n.type,n.type==="staticsite"){let{config:r}=n,o=r.source,a=r.build?.command,c=r.build?.outputDir;if(r.unreadableFields!==void 0)throw Il(r.name,r.unreadableFields);if(!wr(o)||!wr(a)||!wr(c)){let u=[];throw wr(o)||u.push("source"),wr(a)||u.push("build.command"),wr(c)||u.push("build.outputDir"),Il(r.name,u)}e.patternConfig={type:"staticsite",name:r.name,source:o,build:{command:a,outputDir:c},routing:r.routing,security:r.security,domain:r.domain,...r.forms!==void 0&&{forms:v0(r.name,r.forms)},cdn:r.cdn};return}let{config:i}=n;e.patternConfig={type:n.type,name:i.name,domain:i.domain,database:i.database,compute:i.compute,storage:i.storage,messaging:i.messaging,cdn:i.cdn,environment:i.environment}}be(Wb,"applyPatternConfig");var a4=Object.defineProperty,$l=(e,t)=>a4(e,"name",{value:t,configurable:!0});function y0(e,t){for(let n of t){let i=e.compute.find(r=>r.variableName===n.targetVariableName);i!==void 0&&i.type==="lambda"&&(i.scheduleExpression=n.schedule)}}$l(y0,"applyScheduleBackfill");function S0(e,t){Object.keys(t).length>0&&(e.tags={...t}),t[Pa]&&(e.owner=t[Pa])}$l(S0,"applyTagsAndOwner");function _0(e){let t=[];for(let n of e)if(_l(n.moduleSpecifier))if(n.moduleSpecifier==="@fjall/components-infrastructure"||n.moduleSpecifier==="@fjall/infrastructure"){let i=n.namedImports.filter(r=>!BT.has(r));i.length>0&&t.push({moduleSpecifier:n.moduleSpecifier,namedImports:i,defaultImport:n.defaultImport})}else(n.namedImports.length>0||n.defaultImport)&&t.push(n);return t.length>0?t:void 0}$l(_0,"computeAdditionalManagedImports");function Sn(e,t,n){let i={appName:t,type:"standard",database:[],s3:[],compute:[]};if(Wb(i,e.patternResources),e.vpcId&&(i.vpcId=e.vpcId),i.network=Ub(e.network),i.backup=Fb(e.backup),i.tunnel=Bb(e.tunnel),i.additionalNetworks=Vb(e.networkResources),S0(i,e.tags),i.database=Tb(e.databaseResources),i.dynamodb=El(e.dynamodbResources),i.clickhouse=xl(e.clickhouseResources),i.sqs=Cb(e.sqsResources),i.cdn=wb(e.cdnResource,e.s3Resources,e.computeResources),i.s3=bb(e.s3Resources),i.compute=fb(e.computeResources,e.databaseResources,e.s3Resources,i),y0(i,e.schedules),i.additionalManagedImports=_0(e.imports),n?.skipValidation)return i;try{return V$.parse(i)}catch(r){if(r instanceof s.ZodError){let o=ca(r);throw new Error(`Invalid infrastructure configuration:
431
- ${o}`)}throw r}}$l(Sn,"convertToResourcePlan");var s4=Object.defineProperty,Gi=(e,t)=>s4(e,"name",{value:t,configurable:!0});function kr(e,t){let n=W.createSourceFile("infrastructure.ts",e,W.ScriptTarget.Latest,!0,W.ScriptKind.TS),i=E0(n),{appVariableName:r,appName:o}=A0(n),a=Ob(n),c=Db(n),u=Mb(n),l=jb(n),m=zb(n),p=Ib(n),{databases:g,dynamodb:v,clickhouse:A}=$b(p),Y=Pb(n),z=Nb(n),Se=[...hb(n),...vb(n)],fr=bl(n),Ne=Sl(n),te=Gb(n),pe=I0(n),Tn={sourceFile:n,imports:i,appVariableName:r,appName:o,vpcId:a,network:c,backup:u,tunnel:l,networkResources:m,databaseResources:g,dynamodbResources:v,clickhouseResources:A,sqsResources:Y,cdnResource:z,s3Resources:Se,computeResources:fr,schedules:Ne,patternResources:te,tags:pe};return t?.extractCustomCode&&(Tn.customCodeBlocks=za(n),Tn.classifiedStatements=Ke(n)),Tn}Gi(kr,"parseInfrastructure");function E0(e){let t=[];return W.forEachChild(e,n=>{if(W.isImportDeclaration(n)){if(!W.isStringLiteral(n.moduleSpecifier))return;let i={moduleSpecifier:n.moduleSpecifier.text,namedImports:[]};n.importClause&&(n.importClause.name&&(i.defaultImport=n.importClause.name.text),n.importClause.namedBindings&&W.isNamedImports(n.importClause.namedBindings)&&(i.namedImports=n.importClause.namedBindings.elements.map(r=>r.name.text))),t.push(i)}}),t}Gi(E0,"extractImports");function x0(e,t){return W.isStringLiteral(t)?t.text:W.isIdentifier(t)?ka(e,t.text)??"":W.isPropertyAccessExpression(t)?Oa(e,t)??"":""}Gi(x0,"resolveAppName");function A0(e){return et(e,t=>{if(W.isVariableStatement(t))for(let n of t.declarationList.declarations){if(!n.initializer||!zt(n.initializer))continue;let i=W.isIdentifier(n.name)?n.name.text:"",r=n.initializer.arguments.length>0?x0(e,n.initializer.arguments[0]):"";return{appVariableName:i,appName:r}}})??{appVariableName:"",appName:""}}Gi(A0,"findAppVariable");function I0(e){let t={};function n(i){if(W.isCallExpression(i)&&W.isPropertyAccessExpression(i.expression)&&i.expression.name.text==="addTags"&&W.isIdentifier(i.expression.expression)&&i.arguments.length>0){let r=i.arguments[0];if(W.isObjectLiteralExpression(r)){let o=B(r);for(let[a,c]of Object.entries(o))typeof c=="string"?t[a]=c:Cr(c)&&(t[a]="default-value")}}W.forEachChild(i,n)}return Gi(n,"visit"),n(e),t}Gi(I0,"extractTags");import*as Wi from"typescript";var c4=Object.defineProperty,Ae=(e,t)=>c4(e,"name",{value:t,configurable:!0});function Hi(e,t,n){return e.slice(0,t)+n+e.slice(t)}Ae(Hi,"insertAtPosition");function Tl(e,t){return e.find(n=>n.type===t)}Ae(Tl,"findClassification");function Hb(e,t){return e.filter(n=>n.type===t).pop()}Ae(Hb,"findLastClassification");function Or(e){return Wi.createSourceFile("infrastructure.ts",e,Wi.ScriptTarget.Latest,!0,Wi.ScriptKind.TS)}Ae(Or,"parseSourceFile");function Rl(e,t){return e.endsWith(`
430
+ `)}yn(KT,"getStatementTextWithComments");function YT(e,t){let n=[],i=HT.getLeadingCommentRanges(e,t.getFullStart());if(i)for(let r of i){let o=e.slice(r.pos,r.end);n.push(o)}return n}yn(YT,"extractLeadingComments");function Li(e,t,n,i){let r=i??Ke(e);for(let o of r)if(o.type===t&&o.resourceName===n)return{startPos:o.startPos,endPos:o.endPos,node:o.node};return null}yn(Li,"findManagedResourcePosition");function Sb(e,t,n){let i=n??Ke(e),r=null;for(let o of i)o.type===t&&o.isManaged&&(r=o);return r}yn(Sb,"getLastManagedStatementOfType");function _b(e,t){let n=t??Ke(e),i={import:[],"app-init":[],tags:[],database:[],compute:[],storage:[],network:[],messaging:[],cdn:[],pattern:[],"vpc-peer":[],"vpc-peer-accepter":[],"cross-plan-connection":[],custom:[]};for(let r of n)i[r.type].push(r);return i}yn(_b,"getManagedResourcesByType");import*as ar from"typescript";import*as Ua from"typescript";var WU=Object.defineProperty,Eb=(e,t)=>WU(e,"name",{value:t,configurable:!0}),HU=["S","N","B"];function La(e){if(!P(e))return;let t=b(e.name),n=U(e.type,HU);if(!(!t||!n))return{name:t,type:n}}Eb(La,"parseDynamoDBKey");function xb(e){let t=e.node;if(!Ua.isCallExpression(t))return null;let n=t.arguments[0];if(!Ua.isCallExpression(n)||n.arguments.length<2)return null;let i=n.arguments[1];if(!Ua.isObjectLiteralExpression(i))return null;let r=B(i),o=La(r.partitionKey);if(!o)return null;let a={resourceName:e.resourceName,partitionKey:o,node:e.node};e.variableName&&(a.variableName=e.variableName);let c=La(r.sortKey);if(c&&(a.sortKey=c),Array.isArray(r.globalSecondaryIndexes)){let p=r.globalSecondaryIndexes.filter(P).map(g=>{let v=La(g.partitionKey);if(!v)return null;let A=b(g.indexName);if(!A)return null;let Y={indexName:A,partitionKey:v},z=La(g.sortKey);return z&&(Y.sortKey=z),Y}).filter(g=>g!==null);p.length>0&&(a.globalSecondaryIndexes=p)}let u=b(r.ttlAttribute);u&&(a.ttlAttribute=u);let l=j(r.stream);l!==void 0&&(a.stream=l);let m=ce(r,new Set(["type","databaseName","partitionKey","sortKey","globalSecondaryIndexes","ttlAttribute","stream"]));return m.length>0&&(a.extraProperties=m),a}Eb(xb,"extractDynamoDBFields");function El(e){if(e.length!==0)return e.map(t=>({name:t.resourceName,partitionKey:t.partitionKey,...qe({sortKey:t.sortKey,globalSecondaryIndexes:t.globalSecondaryIndexes,ttlAttribute:t.ttlAttribute,stream:t.stream,variableName:t.variableName,extraProperties:t.extraProperties})}))}Eb(El,"convertDynamoDBResources");import*as Fa from"typescript";var qU=Object.defineProperty,XT=(e,t)=>qU(e,"name",{value:t,configurable:!0}),KU=new Set(["type","databaseName","instanceType","coldTier","optimiseSchedule","backupSchedule","backupRetentionDays"]);function Ab(e){let t=e.node;if(!Fa.isCallExpression(t))return null;let n=t.arguments[0];if(!Fa.isCallExpression(n)||n.arguments.length<2)return null;let i=n.arguments[1];if(!Fa.isObjectLiteralExpression(i))return null;let r=B(i),o={resourceName:e.resourceName,databaseName:e.databaseName,node:e.node};e.variableName&&(o.variableName=e.variableName);let a=b(r.instanceType);a&&(o.instanceType=a);let c=r.coldTier;c===!1?o.coldTier=!1:P(c)&&b(c.mode)==="s3"&&(o.coldTier={mode:"s3"});let u=r.optimiseSchedule;if(u===!1)o.optimiseSchedule=!1;else{let g=b(u);g&&(o.optimiseSchedule=g)}let l=r.backupSchedule;if(l===!1)o.backupSchedule=!1;else{let g=b(l);g&&(o.backupSchedule=g)}let m=R(r.backupRetentionDays);m!==void 0&&(o.backupRetentionDays=m);let p=ce(r,KU);return p.length>0&&(o.extraProperties=p),o}XT(Ab,"extractClickHouseFields");function xl(e){if(e.length!==0)return e.map(t=>({name:t.resourceName,type:"ClickHouse",databaseName:t.databaseName,...qe({instanceType:t.instanceType,coldTier:t.coldTier,optimiseSchedule:t.optimiseSchedule,backupSchedule:t.backupSchedule,backupRetentionDays:t.backupRetentionDays,variableName:t.variableName,extraProperties:t.extraProperties})}))}XT(xl,"convertClickHouseResources");var YU=Object.defineProperty,Ui=(e,t)=>YU(e,"name",{value:t,configurable:!0});function JT(e){let t=b(e.databaseEngine);if(t!==void 0&&ct(Ai,t))return t;let n=e.engine;if(xt(n)){let i=String(n.__call);if(i.includes("postgres")||i.includes("auroraPostgres"))return"postgresql";if(i.includes("mysql")||i.includes("auroraMysql"))return"mysql"}}Ui(JT,"extractDatabaseEngine");function QT(e){let t=e.engine;if(xt(t))return String(t.__call)}Ui(QT,"extractEngineExpression");var XU=new Set(["type","databaseName","databaseEngine","engine","vpc","port","deletionProtection","instanceType","multiAz","publiclyAccessible","enableSecretRotation","encryption","databaseInsights","proxy","readReplica","credentials","writer","readers","backupRetention","preferredMaintenanceWindow","primaryRegion","secondaryRegions","globalClusterIdentifier","enableGlobalWriteForwarding","snapshotIdentifier","allocatedStorage","monitoringInterval","snapshotUsername"]);function e0(e,t,n){if(n.arguments.length<2)return null;let i=n.arguments[0],r=n.arguments[1];if(!ar.isStringLiteral(i)&&!ar.isTemplateExpression(i))return null;let o=ar.isStringLiteral(i)?i.text:gl(e,i);if(!ar.isObjectLiteralExpression(r))return null;let a=B(r),c={resourceName:o,type:b(a.type)??"",databaseName:b(a.databaseName)??"",databaseEngine:JT(a),engineExpression:QT(a),port:R(a.port),deletionProtection:j(a.deletionProtection),instanceType:b(a.instanceType),multiAz:j(a.multiAz),publiclyAccessible:j(a.publiclyAccessible),enableSecretRotation:j(a.enableSecretRotation),encryption:Pe(a.encryption,mt()),databaseInsights:ir(a.databaseInsights,mt()),proxy:ir(a.proxy,mt()),readReplica:ir(a.readReplica,mt()),credentials:Pe(a.credentials,mt()),writer:Pe(a.writer,mt()),readers:ir(a.readers,mt()),backupRetention:R(a.backupRetention),preferredMaintenanceWindow:b(a.preferredMaintenanceWindow),primaryRegion:b(a.primaryRegion),secondaryRegions:ue(a.secondaryRegions),globalClusterIdentifier:b(a.globalClusterIdentifier),enableGlobalWriteForwarding:j(a.enableGlobalWriteForwarding),allocatedStorage:R(a.allocatedStorage),monitoringInterval:R(a.monitoringInterval),snapshotIdentifier:b(a.snapshotIdentifier),snapshotUsername:b(a.snapshotUsername),node:t},u=tt(t);u&&(c.variableName=u);let l=ce(a,XU);return l.length>0&&(c.extraProperties=l),c}Ui(e0,"extractDatabaseResource");function Ib(e){return Re(e,t=>{if(!ar.isCallExpression(t)||!xe(t,"addDatabase"))return null;let n=t.arguments[0];return Le(n,"DatabaseFactory")?e0(e,t,n):null})}Ui(Ib,"findDatabaseResources");function $b(e){let t=[],n=[],i=[];for(let r of e)if(r.type==="DynamoDB"){let o=xb(r);o&&n.push(o)}else if(r.type==="ClickHouse"){let o=Ab(r);o&&i.push(o)}else t.push(r);return{databases:t,dynamodb:n,clickhouse:i}}Ui($b,"splitDatabaseResources");var JU=["Instance","Aurora","GlobalAurora"];function Tb(e){return e.filter(t=>t.type!=="DynamoDB").map(t=>({name:t.resourceName,type:ct(JU,t.type)?t.type:"Instance",databaseName:t.databaseName,...qe({port:t.port,deletionProtection:t.deletionProtection,instanceType:t.instanceType,multiAz:t.multiAz,publiclyAccessible:t.publiclyAccessible,enableSecretRotation:t.enableSecretRotation,encryption:t.encryption,databaseInsights:t.databaseInsights,proxy:t.proxy,readReplica:t.readReplica,credentials:t.credentials,writer:t.writer,readers:t.readers,backupRetention:t.backupRetention,preferredMaintenanceWindow:t.preferredMaintenanceWindow,primaryRegion:t.primaryRegion,secondaryRegions:t.secondaryRegions,globalClusterIdentifier:t.globalClusterIdentifier,enableGlobalWriteForwarding:t.enableGlobalWriteForwarding,allocatedStorage:t.allocatedStorage,monitoringInterval:t.monitoringInterval,variableName:t.variableName,databaseEngine:t.databaseEngine,engineExpression:t.engineExpression,extraProperties:t.extraProperties})}))}Ui(Tb,"convertDatabaseResources");import*as Bi from"typescript";var QU=Object.defineProperty,Fi=(e,t)=>QU(e,"name",{value:t,configurable:!0});function t0(e,t){if(t.arguments.length<2)return null;let n=t.arguments[0],i=t.arguments[1];if(!Bi.isStringLiteral(n)||!Bi.isObjectLiteralExpression(i))return null;let r=B(i),o={resourceName:n.text,queueType:b(r.queueType)??"standard",visibilityTimeout:R(r.visibilityTimeout),retentionPeriod:R(r.messageRetentionPeriod),contentBasedDeduplication:j(r.contentBasedDeduplication),removalPolicy:b(r.removalPolicy),node:e},a=tt(e);a&&(o.variableName=a);let c=ce(r,new Set(["type","queueType","visibilityTimeout","messageRetentionPeriod","contentBasedDeduplication","removalPolicy"]));return c.length>0&&(o.extraProperties=c),o}Fi(t0,"extractSQSResource");function Rb(e){if(e!=null){if(e===!1)return!1;if(P(e))return qe({enabled:j(e.enabled),maxReceiveCount:R(e.maxReceiveCount)})}}Fi(Rb,"parseDeadLetterQueueConfig");function Pb(e){return Re(e,t=>{if(!Bi.isCallExpression(t)||!xe(t,"addMessaging"))return null;let n=t.arguments[0];return Le(n,"MessagingFactory")?t0(t,n):null})}Fi(Pb,"findSQSResources");function Cb(e){if(e.length!==0)return e.map(t=>({name:t.resourceName,queueType:t.queueType==="fifo"?"fifo":"standard",...qe({visibilityTimeout:t.visibilityTimeout,retentionPeriod:t.retentionPeriod,contentBasedDeduplication:t.contentBasedDeduplication,removalPolicy:n0(t.removalPolicy),variableName:t.variableName,extraProperties:t.extraProperties})}))}Fi(Cb,"convertSQSResources");var e4=new Set(Nv.options);function r0(e){return e4.has(e)}Fi(r0,"isSqsRemovalPolicy");function n0(e){return e!==void 0&&r0(e)?e:void 0}Fi(n0,"toSqsRemovalPolicy");import*as Vi from"typescript";var t4=Object.defineProperty,Ba=(e,t)=>t4(e,"name",{value:t,configurable:!0});function o0(e){if(e.arguments.length<2)return null;let t=e.arguments[0],n=e.arguments[1];return!Vi.isStringLiteral(t)||!Vi.isObjectLiteralExpression(n)?null:{resourceName:t.text,config:B(n),node:e}}Ba(o0,"extractCDNResource");function a0(e,t,n){let i=t.find(o=>o.variableName===e);if(i)return i.resourceName;let r=n.find(o=>o.variableName===e||o.resourceName.charAt(0).toLowerCase()+o.resourceName.slice(1)===e);return r?r.resourceName:e}Ba(a0,"resolveOriginIdentifier");var i0=["CACHING_OPTIMIZED","CACHING_DISABLED"];function Nb(e){return et(e,t=>{if(!Vi.isCallExpression(t)||!xe(t,"addCdn"))return;let n=t.arguments[0];if(Le(n,"CdnFactory"))return o0(n)??void 0})}Ba(Nb,"findCDNResource");function wb(e,t,n){if(!e)return;let i=e,r=i.config,o=Ba(p=>nr(p)?a0(p.__identifier,t,n):b(p)??"","resolveOrigin"),a=o(r.origin),c={name:i.resourceName,defaultOriginRef:a};if(Array.isArray(r.behaviours)){let p=r.behaviours.filter(P).map(g=>({pathPattern:b(g.pathPattern)??"",originRef:o(g.origin),...U(g.cachePolicy,i0)!==void 0&&{cachePolicy:U(g.cachePolicy,i0)}}));p.length>0&&(c.behaviours=p)}let u=b(r.customDomain);if(u)c.customDomain=u;else{let p=ue(r.domainNames);p&&p.length>0&&(c.customDomain=p[0])}let l=b(r.certificateArn);if(l&&(c.certificateArn=l),r.accessGate!==void 0){if(r.accessGate===!1)c.accessGate=!1;else if(P(r.accessGate)){let p=r.accessGate,g=b(p.type),v=b(p.username),A=b(p.password);g==="basic-auth"&&v&&A&&(c.accessGate={type:"basic-auth",username:v,password:A})}}let m=ce(r,new Set(["originType","origin","behaviours","customDomain","domainNames","certificateArn","accessGate"]));return m.length>0&&(c.extraProperties=m),c}Ba(wb,"convertCDNResource");import*as de from"typescript";var r4=Object.defineProperty,nt=(e,t)=>r4(e,"name",{value:t,configurable:!0}),n4=new Set(Pv.options);function s0(e){if(e!==void 0)return n4.has(e)?e:void 0}nt(s0,"asFlowLogDestination");function kb(e){return{maxAzs:R(e.maxAzs),natGateways:ir(e.natGateways,t=>({count:R(t.count)})),flowLogs:ir(e.flowLogs,t=>({destination:b(t.destination),retentionDays:R(t.retentionDays)})),vpcEndpoints:P(e.vpcEndpoints)?e.vpcEndpoints:void 0}}nt(kb,"parseNetworkConfigFields");function c0(e,t){if(t.arguments.length<2)return null;let n=t.arguments[0],i=t.arguments[1];if(!de.isStringLiteral(n))return null;let r=n.text,o=de.isObjectLiteralExpression(i)?B(i):{},a=kb(o),c={name:r,config:qe({...a}),node:e},u=tt(e);return u&&(c.variableName=u),c}nt(c0,"extractNetworkResource");function Ob(e){return et(e,t=>{if(!zt(t)||t.arguments.length<=1)return;let n=t.arguments[1];if(de.isObjectLiteralExpression(n)){for(let i of n.properties)if(Nr(i,"network")&&de.isObjectLiteralExpression(i.initializer)){for(let r of i.initializer.properties)if(Nr(r,"useExisting")&&de.isStringLiteral(r.initializer))return r.initializer.text}}})}nt(Ob,"findVpcId");function Db(e){return et(e,t=>{if(!zt(t)||t.arguments.length<=1)return;let n=t.arguments[1];if(de.isObjectLiteralExpression(n)){for(let i of n.properties)if(Nr(i,"network")){if(i.initializer.kind===de.SyntaxKind.FalseKeyword)return;if(de.isObjectLiteralExpression(i.initializer)&&!i.initializer.properties.some(r=>Nr(r,"useExisting"))){let r=B(i.initializer);return kb(r)}}}})}nt(Db,"findNetworkConfig");function Mb(e){return et(e,t=>{if(!zt(t)||t.arguments.length<=1)return;let n=t.arguments[1];if(de.isObjectLiteralExpression(n)){for(let i of n.properties)if(Nr(i,"backup")){if(i.initializer.kind===de.SyntaxKind.FalseKeyword)return!1;if(de.isObjectLiteralExpression(i.initializer)){let r=B(i.initializer),o=b(r.tier);if(o)return{tier:o}}}}})}nt(Mb,"findBackupConfig");function jb(e){return et(e,t=>{if(!zt(t)||t.arguments.length<=1)return;let n=t.arguments[1];if(de.isObjectLiteralExpression(n)){for(let i of n.properties)if(Nr(i,"tunnel")){if(i.initializer.kind===de.SyntaxKind.FalseKeyword)return!1;if(i.initializer.kind===de.SyntaxKind.TrueKeyword)return!0;if(de.isObjectLiteralExpression(i.initializer)){let r=B(i.initializer),o=b(r.instanceType);return o?{instanceType:o}:{}}}}})}nt(jb,"findTunnelConfig");function zb(e){return Re(e,t=>{if(!de.isCallExpression(t)||!xe(t,"addNetwork"))return null;let n=t.arguments[0];return Le(n,"NetworkFactory")?c0(t,n):null})}nt(zb,"findNetworkResources");function Lb(e){let t=e.flowLogs;return{...qe({maxAzs:e.maxAzs,natGateways:e.natGateways,vpcEndpoints:e.vpcEndpoints}),...t!==void 0&&{flowLogs:t===!1?!1:qe({destination:s0(t.destination),retentionDays:t.retentionDays})}}}nt(Lb,"buildNetworkFields");function Ub(e){if(e)return Lb(e)}nt(Ub,"convertNetworkConfig");function Fb(e){if(e===void 0)return;if(e===!1)return!1;let t=e.tier;if(ct(_t,t))return{tier:t}}nt(Fb,"convertBackupConfig");function Bb(e){if(e===void 0)return;if(e===!1)return!1;if(e===!0)return{};let t={};return e.instanceType&&(t.instanceType=e.instanceType),t}nt(Bb,"convertTunnelConfig");function Vb(e){if(!(!e||e.length===0))return e.map(t=>({name:t.name,...Lb(t.config)}))}nt(Vb,"convertAdditionalNetworks");import*as Zi from"typescript";var i4=Object.defineProperty,be=(e,t)=>i4(e,"name",{value:t,configurable:!0}),o4=["Instance","Aurora"],a4=["postgresql","mysql"];function Al(e){if(!P(e))return;let t={...e.memorySize!==void 0&&{memorySize:R(e.memorySize)},...e.timeout!==void 0&&{timeout:R(e.timeout)},...e.ephemeralStorageSize!==void 0&&{ephemeralStorageSize:R(e.ephemeralStorageSize)}};return Object.keys(t).length>0?t:void 0}be(Al,"parseLambdaConfig");function u0(e){return pt(e,"database",t=>({type:U(t.type,o4),databaseName:b(t.databaseName),databaseEngine:U(t.databaseEngine,a4),deletionProtection:j(t.deletionProtection),backupRetention:R(t.backupRetention),port:R(t.port),publiclyAccessible:j(t.publiclyAccessible),allowedIpCidr:b(t.allowedIpCidr),instanceType:b(t.instanceType),allocatedStorage:R(t.allocatedStorage),multiAz:j(t.multiAz),allowVpcAccess:j(t.allowVpcAccess),monitoringInterval:R(t.monitoringInterval),preferredMaintenanceWindow:b(t.preferredMaintenanceWindow),snapshotIdentifier:b(t.snapshotIdentifier),snapshotUsername:b(t.snapshotUsername),readReplica:ji(t.readReplica),writer:Pe(t.writer,mt()),readers:ji(t.readers),databaseInsights:ji(t.databaseInsights),proxy:ji(t.proxy),credentials:Pe(t.credentials,mt()),encryption:Pe(t.encryption,mt())}))}be(u0,"extractPatternDatabaseConfig");function l0(e){return pt(e,"compute",t=>({server:Pe(t.server,Al),imageOptimisation:Pe(t.imageOptimisation,Al),revalidation:Pe(t.revalidation,Al)}))}be(l0,"extractPatternComputeConfig");function d0(e){let t=be(n=>({versioned:j(n.versioned)}),"parseVersionedConfig");return pt(e,"storage",n=>({assets:Pe(n.assets,t),cache:Pe(n.cache,t),media:Pe(n.media,t)}))}be(d0,"extractPatternStorageConfig");function m0(e){return pt(e,"messaging",t=>({revalidationQueue:Pe(t.revalidationQueue,n=>({visibilityTimeout:R(n.visibilityTimeout),messageRetentionPeriod:R(n.messageRetentionPeriod),maxMessageSize:R(n.maxMessageSize),deadLetterQueue:Rb(n.deadLetterQueue)}))}))}be(m0,"extractPatternMessagingConfig");function p0(e){return pt(e,"cdn",t=>({domainNames:ue(t.domainNames),certificateArn:b(t.certificateArn)}))}be(p0,"extractPatternCdnConfig");function f0(e){return pt(e,"environment",t=>{let n=Object.fromEntries(Object.entries(t).filter(i=>typeof i[1]=="string"));return Object.keys(n).length>0?n:void 0})}be(f0,"extractPatternEnvironmentConfig");function g0(e,t){let n=h0(e);return{name:t,source:b(e.source),build:pt(e,"build",i=>({command:b(i.command),outputDir:b(i.outputDir)})),routing:U(e.routing,Zo),security:pt(e,"security",i=>({headers:j(i.headers),contentSecurityPolicy:b(i.contentSecurityPolicy)})),domain:b(e.domain),forms:pt(e,"forms",i=>({to:b(i.to),from:b(i.from),corsOrigin:b(i.corsOrigin),maxConcurrency:R(i.maxConcurrency)})),cdn:pt(e,"cdn",i=>({behaviours:Array.isArray(i.behaviours)?i.behaviours:void 0})),...n.length>0&&{unreadableFields:n}}}be(g0,"extractStaticSiteConfig");function Zb(e){return dt(e)&&("__identifier"in e||"__expression"in e||"__call"in e||"__unknown"in e)}be(Zb,"isUnreadableRef");function h0(e){let t=[],n=be((r,o)=>{Zb(r)&&t.push(o)},"check");n(e.source,"source"),n(e.routing,"routing"),n(e.domain,"domain");let i=[[e.build,"build",["command","outputDir"]],[e.security,"security",["headers","contentSecurityPolicy"]],[e.forms,"forms",["to","from","corsOrigin","maxConcurrency"]],[e.cdn,"cdn",["behaviours"]]];for(let[r,o,a]of i)if(Zb(r))t.push(o);else if(P(r))for(let c of a)n(r[c],`${o}.${c}`);return t}be(h0,"collectUnreadableStaticSiteFields");function wr(e){return e!==void 0&&e!==""}be(wr,"isReadable");function Il(e,t){return new Error(`Static-site pattern '${e}' in infrastructure.ts: Fjall could not read ${t.join(", ")} as inline literal(s). Fjall reads these fields out of the file and writes them back, so they must be written inline (source: "./site"), not as a variable or an expression.`)}be(Il,"unreadableStaticSiteFields");function v0(e,t){let n=t.to;if(!wr(n))throw Il(e,["forms.to"]);return{to:n,...t.from!==void 0&&{from:t.from},...t.corsOrigin!==void 0&&{corsOrigin:t.corsOrigin},...t.maxConcurrency!==void 0&&{maxConcurrency:t.maxConcurrency}}}be(v0,"readStaticSiteForms");function b0(e,t){if(e.arguments.length<2)return null;let n=e.arguments[0],i=e.arguments[1];if(!Zi.isStringLiteral(n)||!Zi.isObjectLiteralExpression(i))return null;let r=n.text,o=B(i),a=o.type,c=tt(t),u=b(o.name);return u?a==="payload"||a==="nextjs"?{variableName:c,constructId:r,type:a,config:{name:u,domain:b(o.domain),database:u0(o),compute:l0(o),storage:d0(o),messaging:m0(o),cdn:p0(o),environment:f0(o)},node:e}:a==="staticsite"?{variableName:c,constructId:r,type:"staticsite",config:g0(o,u),node:e}:null:null}be(b0,"extractPatternResource");function Gb(e){return Re(e,t=>{if(!Zi.isCallExpression(t)||!xe(t,"addPattern"))return null;let n=t.arguments[0];return Le(n,"PatternFactory")?b0(n,t):null})}be(Gb,"findPatternResources");function Wb(e,t){if(!t||t.length===0)return;let n=t[0];if(e.pattern=n.type,n.type==="staticsite"){let{config:r}=n,o=r.source,a=r.build?.command,c=r.build?.outputDir;if(r.unreadableFields!==void 0)throw Il(r.name,r.unreadableFields);if(!wr(o)||!wr(a)||!wr(c)){let u=[];throw wr(o)||u.push("source"),wr(a)||u.push("build.command"),wr(c)||u.push("build.outputDir"),Il(r.name,u)}e.patternConfig={type:"staticsite",name:r.name,source:o,build:{command:a,outputDir:c},routing:r.routing,security:r.security,domain:r.domain,...r.forms!==void 0&&{forms:v0(r.name,r.forms)},cdn:r.cdn};return}let{config:i}=n;e.patternConfig={type:n.type,name:i.name,domain:i.domain,database:i.database,compute:i.compute,storage:i.storage,messaging:i.messaging,cdn:i.cdn,environment:i.environment}}be(Wb,"applyPatternConfig");var s4=Object.defineProperty,$l=(e,t)=>s4(e,"name",{value:t,configurable:!0});function y0(e,t){for(let n of t){let i=e.compute.find(r=>r.variableName===n.targetVariableName);i!==void 0&&i.type==="lambda"&&(i.scheduleExpression=n.schedule)}}$l(y0,"applyScheduleBackfill");function S0(e,t){Object.keys(t).length>0&&(e.tags={...t}),t[Pa]&&(e.owner=t[Pa])}$l(S0,"applyTagsAndOwner");function _0(e){let t=[];for(let n of e)if(_l(n.moduleSpecifier))if(n.moduleSpecifier==="@fjall/components-infrastructure"||n.moduleSpecifier==="@fjall/infrastructure"){let i=n.namedImports.filter(r=>!BT.has(r));i.length>0&&t.push({moduleSpecifier:n.moduleSpecifier,namedImports:i,defaultImport:n.defaultImport})}else(n.namedImports.length>0||n.defaultImport)&&t.push(n);return t.length>0?t:void 0}$l(_0,"computeAdditionalManagedImports");function Sn(e,t,n){let i={appName:t,type:"standard",database:[],s3:[],compute:[]};if(Wb(i,e.patternResources),e.vpcId&&(i.vpcId=e.vpcId),i.network=Ub(e.network),i.backup=Fb(e.backup),i.tunnel=Bb(e.tunnel),i.additionalNetworks=Vb(e.networkResources),S0(i,e.tags),i.database=Tb(e.databaseResources),i.dynamodb=El(e.dynamodbResources),i.clickhouse=xl(e.clickhouseResources),i.sqs=Cb(e.sqsResources),i.cdn=wb(e.cdnResource,e.s3Resources,e.computeResources),i.s3=bb(e.s3Resources),i.compute=fb(e.computeResources,e.databaseResources,e.s3Resources,i),y0(i,e.schedules),i.additionalManagedImports=_0(e.imports),n?.skipValidation)return i;try{return V$.parse(i)}catch(r){if(r instanceof s.ZodError){let o=ca(r);throw new Error(`Invalid infrastructure configuration:
431
+ ${o}`)}throw r}}$l(Sn,"convertToResourcePlan");var c4=Object.defineProperty,Gi=(e,t)=>c4(e,"name",{value:t,configurable:!0});function kr(e,t){let n=W.createSourceFile("infrastructure.ts",e,W.ScriptTarget.Latest,!0,W.ScriptKind.TS),i=E0(n),{appVariableName:r,appName:o}=A0(n),a=Ob(n),c=Db(n),u=Mb(n),l=jb(n),m=zb(n),p=Ib(n),{databases:g,dynamodb:v,clickhouse:A}=$b(p),Y=Pb(n),z=Nb(n),Se=[...hb(n),...vb(n)],fr=bl(n),Ne=Sl(n),te=Gb(n),pe=I0(n),Tn={sourceFile:n,imports:i,appVariableName:r,appName:o,vpcId:a,network:c,backup:u,tunnel:l,networkResources:m,databaseResources:g,dynamodbResources:v,clickhouseResources:A,sqsResources:Y,cdnResource:z,s3Resources:Se,computeResources:fr,schedules:Ne,patternResources:te,tags:pe};return t?.extractCustomCode&&(Tn.customCodeBlocks=za(n),Tn.classifiedStatements=Ke(n)),Tn}Gi(kr,"parseInfrastructure");function E0(e){let t=[];return W.forEachChild(e,n=>{if(W.isImportDeclaration(n)){if(!W.isStringLiteral(n.moduleSpecifier))return;let i={moduleSpecifier:n.moduleSpecifier.text,namedImports:[]};n.importClause&&(n.importClause.name&&(i.defaultImport=n.importClause.name.text),n.importClause.namedBindings&&W.isNamedImports(n.importClause.namedBindings)&&(i.namedImports=n.importClause.namedBindings.elements.map(r=>r.name.text))),t.push(i)}}),t}Gi(E0,"extractImports");function x0(e,t){return W.isStringLiteral(t)?t.text:W.isIdentifier(t)?ka(e,t.text)??"":W.isPropertyAccessExpression(t)?Oa(e,t)??"":""}Gi(x0,"resolveAppName");function A0(e){return et(e,t=>{if(W.isVariableStatement(t))for(let n of t.declarationList.declarations){if(!n.initializer||!zt(n.initializer))continue;let i=W.isIdentifier(n.name)?n.name.text:"",r=n.initializer.arguments.length>0?x0(e,n.initializer.arguments[0]):"";return{appVariableName:i,appName:r}}})??{appVariableName:"",appName:""}}Gi(A0,"findAppVariable");function I0(e){let t={};function n(i){if(W.isCallExpression(i)&&W.isPropertyAccessExpression(i.expression)&&i.expression.name.text==="addTags"&&W.isIdentifier(i.expression.expression)&&i.arguments.length>0){let r=i.arguments[0];if(W.isObjectLiteralExpression(r)){let o=B(r);for(let[a,c]of Object.entries(o))typeof c=="string"?t[a]=c:Cr(c)&&(t[a]="default-value")}}W.forEachChild(i,n)}return Gi(n,"visit"),n(e),t}Gi(I0,"extractTags");import*as Wi from"typescript";var u4=Object.defineProperty,Ae=(e,t)=>u4(e,"name",{value:t,configurable:!0});function Hi(e,t,n){return e.slice(0,t)+n+e.slice(t)}Ae(Hi,"insertAtPosition");function Tl(e,t){return e.find(n=>n.type===t)}Ae(Tl,"findClassification");function Hb(e,t){return e.filter(n=>n.type===t).pop()}Ae(Hb,"findLastClassification");function Or(e){return Wi.createSourceFile("infrastructure.ts",e,Wi.ScriptTarget.Latest,!0,Wi.ScriptKind.TS)}Ae(Or,"parseSourceFile");function Rl(e,t){return e.endsWith(`
432
432
 
433
433
  `)||t.startsWith(`
434
434
  `)?"":e.endsWith(`
@@ -439,17 +439,17 @@ ${o}`)}throw r}}$l(Sn,"convertToResourcePlan");var s4=Object.defineProperty,Gi=(
439
439
  `)?"":`
440
440
  `;return o+n+a}Ae(R0,"formatCodeForInsertion");function P0(e,t){let{resourceType:n,resourceName:i,newCode:r}=t;try{let o=Or(e),a=qb(o,e,n,i);if(Kb(a))return a;let c=a,u=c.node.getFullStart(),l=c.endPos,m=e.slice(u,c.node.getStart()),p=C0(m);return{content:e.slice(0,u)+p+r+e.slice(l),success:!0}}catch(o){return Lt(o,e)}}Ae(P0,"updateResourceSurgically");function C0(e){let t=e.match(/^[\s]*[\n\r]+[\s]*/);return t?t[0]:""}Ae(C0,"extractLeadingWhitespace");function N0(e,t,n,i){let r=e,o=0;for(let a of t){let c=`// [ORPHANED: was after ${Dr(n,i)}]
441
441
  `,u=a.sourceText.trim(),l=r.indexOf(u,o);l!==-1&&(r=Hi(r,l,c),o=l+c.length+u.length)}return r}Ae(N0,"insertOrphanMarkers");function w0(e,t){let{resourceType:n,resourceName:i,orphanHandling:r}=t,o=[];try{let a=Or(e),c=qb(a,e,n,i);if(Kb(c))return c;let u=c,l=(kr(e,{extractCustomCode:!0}).customCodeBlocks??[]).filter(A=>A.position==="after-resource"&&A.afterManagedResource?.type===n&&A.afterManagedResource?.name===i);if(l.length>0)if(r==="preserve-with-warning")o.push(`Custom code after ${Dr(n,i)} will be orphaned. Added // [ORPHANED] marker comment.`);else return Lt(new Error(`Orphan handling "${r}" is not yet implemented`),e);let m=u.node.getFullStart(),p=u.endPos,g=e[p]===`
442
- `?p+1:p,v=e.slice(0,m)+e.slice(g);return l.length>0&&r==="preserve-with-warning"&&(v=N0(v,l,n,i)),{content:v,success:!0,warnings:o.length>0?o:void 0}}catch(a){return Lt(a,e)}}Ae(w0,"removeResourceSurgically");import*as _n from"typescript";var u4=Object.defineProperty,gt=(e,t)=>u4(e,"name",{value:t,configurable:!0});function M0(e,t){try{let n=Or(e),i=new Set;for(let c of n.statements)_n.isImportDeclaration(c)&&i.add(c.getText(n).trim());let r=[];for(let c of t){let u=c.trim();[...i].some(l=>z0(l,u))||r.push(u)}if(r.length===0)return{content:e,success:!0};let o=n.statements.filter(_n.isImportDeclaration).at(-1)?.getEnd()??0,a=`
442
+ `?p+1:p,v=e.slice(0,m)+e.slice(g);return l.length>0&&r==="preserve-with-warning"&&(v=N0(v,l,n,i)),{content:v,success:!0,warnings:o.length>0?o:void 0}}catch(a){return Lt(a,e)}}Ae(w0,"removeResourceSurgically");import*as _n from"typescript";var l4=Object.defineProperty,gt=(e,t)=>l4(e,"name",{value:t,configurable:!0});function M0(e,t){try{let n=Or(e),i=new Set;for(let c of n.statements)_n.isImportDeclaration(c)&&i.add(c.getText(n).trim());let r=[];for(let c of t){let u=c.trim();[...i].some(l=>z0(l,u))||r.push(u)}if(r.length===0)return{content:e,success:!0};let o=n.statements.filter(_n.isImportDeclaration).at(-1)?.getEnd()??0,a=`
443
443
  `+r.join(`
444
444
  `);return{content:Hi(e,o,a),success:!0}}catch(n){return Lt(n,e)}}gt(M0,"ensureImports");function Yb(e){return new Set(e.split(",").map(t=>t.trim()).filter(Boolean))}gt(Yb,"parseNamedImports");function j0(e,t){let n=Yb(e),i=Yb(t);for(let r of i)if(!n.has(r))return!1;return!0}gt(j0,"existingImportCoversRequired");function z0(e,t){let n=e.match(k0),i=t.match(k0);if(!n||!i||n[1]!==i[1])return!1;let r=e.match(O0),o=t.match(O0);return r&&o?j0(r[1],o[1]):!!r==!!o}gt(z0,"importsAreEquivalent");var k0=/from\s+["']([^"']+)["']/,O0=/\{([^}]+)\}/,D0={"before-imports":0,"after-imports":1,"after-app-init":2,"after-tags":3,"after-resource":4,"end-of-file":5};function L0(e){return[...e].sort((t,n)=>{let i=D0[n.position]-D0[t.position];return i!==0?i:(n.originalLine??0)-(t.originalLine??0)})}gt(L0,"sortCustomBlocksForInsertion");function U0(e,t,n,i){if(n!==null){let o=V0(e,n,t);return Hi(e,n,o)}let r=t.afterManagedResource?`// [ORPHANED: was after ${Dr(t.afterManagedResource.type,t.afterManagedResource.name)}]
445
445
  `:`// [ORPHANED]
446
446
  `;return i.push(`Custom code from line ${t.originalLine} could not be positioned. Added at end of file.`),e+`
447
447
  `+r+t.sourceText}gt(U0,"insertOrOrphanBlock");function Cl(e,t,n){if(!t||t.length===0)return{content:e,success:!0};try{let i=Or(e),r=Ke(i),o=[],a=L0(t),c=e;for(let u of a){let l=B0(i,r,u,n,o);c=U0(c,u,l,o)}return{content:c,success:!0,warnings:o.length>0?o:void 0}}catch(i){return Lt(i,e)}}gt(Cl,"injectCustomCodeBlocks");function F0(e,t,n,i){if(!t.afterManagedResource)return null;let r=t.afterManagedResource,o=(r.name&&n?.get(r.name))??r.name,a=e.find(u=>u.type===r.type&&u.resourceName===o);if(a)return a.endPos;let c=e.filter(u=>u.type===r.type&&u.isManaged);return c.length===1?c[0].endPos:(i&&i.push(`Resource ${Dr(t.afterManagedResource.type,t.afterManagedResource.name)} not found. Custom code may be orphaned.`),null)}gt(F0,"findAfterResourcePosition");function B0(e,t,n,i,r){switch(n.position){case"before-imports":return 0;case"after-imports":return Hb(t,"import")?.endPos??0;case"after-app-init":return Tl(t,"app-init")?.endPos??null;case"after-tags":return Tl(t,"tags")?.endPos??null;case"after-resource":return F0(t,n,i,r);case"end-of-file":return e.getEnd();default:return null}}gt(B0,"findCustomCodeInsertPosition");function V0(e,t,n){let i=Pl(e,t),r=n.sourceText;return r=Rl(i,r)+r,r.endsWith(`
448
448
  `)||(r+=`
449
- `),r}gt(V0,"formatCustomCodeForInsertion");function Z0(e){try{let t=function(r){r.kind===_n.SyntaxKind.Unknown&&i.push("Unknown node found in AST - possible parse error"),_n.forEachChild(r,t)};gt(t,"visit");let n=Or(e),i=[];return t(n),i.length>0?{valid:!1,errors:i}:{valid:!0}}catch(t){return{valid:!1,errors:[Rt(t)]}}}gt(Z0,"validateModifiedFile");import*as Ie from"typescript";var Va=s.enum(["A","AAAA","CNAME","MX","TXT","NS","SRV","CAA"]),l4=s.object({name:s.string(),type:Va,ttl:s.number().optional(),value:s.string(),priority:s.number().optional(),weight:s.number().optional(),port:s.number().optional()}).strict(),d4=s.object({subdomain:s.string(),targetAccount:s.string(),auto:s.boolean()}).strict(),m4=s.object({domainName:s.string(),subjectAlternativeNames:s.array(s.string())}).strict(),eY=s.object({origin:s.string(),ttl:s.number(),records:s.array(l4),delegations:s.array(d4),certificates:s.array(m4)}).strict(),Ut=Object.freeze({ORIGIN:"$ORIGIN",TTL:"$TTL",FJALL_DELEGATE:"$FJALL-DELEGATE",FJALL_CERT:"$FJALL-CERT"}),Nl="ALIAS ";var G0=s.discriminatedUnion("kind",[s.object({kind:s.literal("ecs"),appName:s.string()}).strict(),s.object({kind:s.literal("cdn"),appName:s.string()}).strict(),s.object({kind:s.literal("bucket"),bucketName:s.string()}).strict(),s.object({kind:s.literal("custom"),dnsName:s.string(),hostedZoneId:s.string()}).strict()]),W0=G0.options.map(e=>e.shape.kind.value),Xb=s.enum(["A","AAAA"]),Jb=s.enum(["route53","external-delegated","external-records"]),H0=s.enum(["zone","full"]),p4=s.object({kind:s.literal("standard"),type:s.enum(["A","AAAA","CNAME","MX","TXT","NS","SRV","CAA"]),name:s.string(),value:s.union([s.string(),s.array(s.string())]),ttl:s.number().int().positive().optional()}).strict(),f4=s.object({kind:s.literal("alias"),type:Xb,name:s.string(),target:G0}).strict(),g4=s.discriminatedUnion("kind",[p4,f4]),h4=s.object({domainName:s.string(),subjectAlternativeNames:s.array(s.string()).optional(),transparencyLogging:s.boolean().optional(),cloudFront:s.boolean().optional()}).strict(),v4=s.object({subdomain:s.string(),toAccount:s.string(),auto:s.boolean().optional()}).strict(),nY=s.object({zoneName:s.string(),registrar:Jb,hostedZoneId:s.string().optional(),delegatedSubdomain:s.string().optional(),adoptedNameServers:s.array(s.string().min(1)).min(1).optional(),records:s.array(g4),certificates:s.array(h4),delegations:s.array(v4)}).strict().refine(e=>e.registrar!=="external-delegated"||e.delegatedSubdomain!==void 0,{message:"external-delegated requires delegatedSubdomain"}).refine(e=>e.registrar!=="external-records"||e.delegations.length===0,{message:"external-records forbids delegations"}).refine(e=>e.registrar==="external-delegated"||e.adoptedNameServers===void 0,{message:"adoptedNameServers requires registrar external-delegated"}).refine(e=>e.registrar!=="external-delegated"||e.hostedZoneId===void 0==(e.adoptedNameServers===void 0),{message:"external-delegated adoption requires hostedZoneId and adoptedNameServers together (both-or-neither)"});var b4=Object.defineProperty,me=(e,t)=>b4(e,"name",{value:t,configurable:!0}),K0=Jb.options,q0=H0.options,y4=Va.options,S4=Xb.options;function Y0(e){let t=[],n=me(r=>{if(Ie.isNewExpression(r)&&X0(r.expression)){let o=J0(r);o!==void 0&&t.push(o)}Ie.forEachChild(r,n)},"visit");if(n(e),t.length===0)return C(void 0);if(t.length>1)return $(new Error(`Expected exactly one 'new Domain(...)' call per infrastructure file, found ${t.length}`));let i=t[0];return i?C(i):C(void 0)}me(Y0,"findDomainConstructCall");function X0(e){return Ie.isIdentifier(e)&&e.text==="Domain"}me(X0,"isDomainIdentifier");function J0(e){let t=e.arguments;if(!t||t.length<3)return;let n=t[0],i=t[1],r=t[2];if(!n||!i||!r||!Ie.isObjectLiteralExpression(r))return;let o=Q0(e);if(o===void 0)return;let a=eR(e),c=Ie.isStringLiteral(i)?i.text:void 0;return{callExpression:e,containingStatement:o,propsObjectLiteral:r,domainVarId:a,scopeArgumentText:n.getText(),constructIdLiteral:c}}me(J0,"buildMatch");function Q0(e){let t=e;for(;t!==void 0;){if(Ie.isExpressionStatement(t)||Ie.isVariableStatement(t))return t;t=t.parent}}me(Q0,"findContainingTopLevelStatement");function eR(e){let t=e.parent;for(;t!==void 0;){if(Ie.isVariableDeclaration(t)&&Ie.isIdentifier(t.name)&&t.initializer===e)return t.name.text;t=t.parent}}me(eR,"extractDomainVarId");function tR(e){switch(e.kind){case"registrar_required":return"'registrar' property is required";case"registrar_unsupported":return`'registrar' must be one of ${K0.join(", ")}, got ${JSON.stringify(e.value)}`;case"missing_field":return`'${e.field}' property is required`;case"invalid_literal":return`'${e.field}' ${e.reason}`;case"removed_field":return`'${e.field}' was removed from the Domain API \u2014 ${e.cure}`}}me(tR,"errorMessage");var _4="declare the delegated child as its own Domain with registrar: 'external-delegated' and set 'parentDelegationRoleArn' (the CLI injects it via ManagedDomainBinding.delegationRoleArn); the child UPSERTs its NS records into the parent zone";function rR(e){let t=B(e),n=U(t.registrar,K0);if(n===void 0){let c=t.registrar;if(c===void 0)return $({kind:"registrar_required"});let u=typeof c=="string"?c:kl(c);return $({kind:"registrar_unsupported",value:u})}let i=b(t.zoneName);if(i===void 0)return $({kind:"missing_field",field:"zoneName"});let r=iR(t.records);if(!r.success)return r;let o=uR(t.certificates);if(!o.success)return o;if(t.delegations!==void 0)return $({kind:"removed_field",field:"delegations",cure:_4});let a={zoneName:i,description:b(t.description),costAllocationEnvironment:b(t.costAllocationEnvironment),tags:lR(t.tags),records:r.data,certificates:o.data};switch(n){case"route53":return C({...a,registrar:n,hostedZoneId:b(t.hostedZoneId)});case"external-delegated":{let c=b(t.delegatedSubdomain);if(c===void 0)return $({kind:"missing_field",field:"delegatedSubdomain"});let u=b(t.hostedZoneId);if(t.hostedZoneId!==void 0&&u===void 0)return $({kind:"invalid_literal",field:"hostedZoneId",reason:"must be a literal string zone id on external-delegated \u2014 dynamic expressions cannot be round-tripped"});let l=ue(t.adoptedNameServers);if(t.adoptedNameServers!==void 0&&l===void 0)return $({kind:"invalid_literal",field:"adoptedNameServers",reason:"must be an array of literal NS hostname strings \u2014 the parent NS UPSERT writes them verbatim"});if(u===void 0!=(l===void 0))return $({kind:"invalid_literal",field:u===void 0?"hostedZoneId":"adoptedNameServers",reason:"adopting an existing child zone requires hostedZoneId and adoptedNameServers together (both-or-neither) \u2014 an imported zone exposes no name-server attribute at synth"});let m=b(t.parentDelegationRoleArn);if(t.parentDelegationRoleArn!==void 0&&m===void 0)return $({kind:"invalid_literal",field:"parentDelegationRoleArn",reason:"must be a literal string ARN (VD2-a) \u2014 the CLI injects it via ManagedDomainBinding.delegationRoleArn; dynamic expressions such as Fn.importValue are not supported"});let p=U(t.phase,q0);return t.phase!==void 0&&p===void 0?$({kind:"invalid_literal",field:"phase",reason:`must be one of ${q0.map(g=>`'${g}'`).join(", ")}`}):C({...a,registrar:n,delegatedSubdomain:c,hostedZoneId:u,adoptedNameServers:l,parentDelegationRoleArn:m,phase:p})}case"external-records":return C({...a,registrar:n})}}me(rR,"parseDomainProps");function nR(e){return tR(e)}me(nR,"parseDomainErrorMessage");function iR(e){if(e===void 0)return C([]);if(!Array.isArray(e))return $({kind:"invalid_literal",field:"records",reason:"must be an array"});let t=[];for(let n=0;n<e.length;n++){let i=e[n];if(!P(i))return $({kind:"invalid_literal",field:`records[${n}]`,reason:"must be an object literal"});let r=oR(i,n);if(!r.success)return r;t.push(r.data)}return C(t)}me(iR,"parseRecordsArray");function oR(e,t){let n=b(e.type),i=b(e.name);if(n===void 0)return $({kind:"missing_field",field:`records[${t}].type`});if(i===void 0)return $({kind:"missing_field",field:`records[${t}].name`});if(e.target!==void 0){if(!S4.some(u=>u===n))return $({kind:"invalid_literal",field:`records[${t}]`,reason:`alias records must have type 'A' or 'AAAA', got '${n}'`});let c=sR(e.target);return C({kind:"alias",type:n,name:i,target:c})}if(!y4.some(c=>c===n))return $({kind:"invalid_literal",field:`records[${t}]`,reason:`unsupported record type '${n}'`});let r=aR(e.value);if(r===void 0)return $({kind:"invalid_literal",field:`records[${t}].value`,reason:`must be a string or array of strings (got ${JSON.stringify(e.value)})`});let o=R(e.ttl),a={kind:"standard",type:n,name:i,value:r,...o!==void 0?{ttl:o}:{}};return C(a)}me(oR,"parseRecord");function aR(e){if(e===void 0)return;if(typeof e=="string")return e;let t=ue(e);if(t!==void 0)return t}me(aR,"parseRecordValue");function sR(e){if(xt(e))return cR(e);if(P(e)){let t=U(e.kind,W0);if(t==="ecs"||t==="cdn"){let n=b(e.appName);if(n!==void 0)return{kind:t,appName:n}}if(t==="bucket"){let n=b(e.bucketName);if(n!==void 0)return{kind:t,bucketName:n}}if(t==="custom"){let n=b(e.dnsName),i=b(e.hostedZoneId);if(n!==void 0&&i!==void 0)return{kind:t,dnsName:n,hostedZoneId:i}}}return{kind:"unresolved",sourceText:kl(e)}}me(sR,"parseTarget");function cR(e){let t=e.__call.trim(),n=t.match(/^([A-Za-z_][\w$]*)\s*\(([\s\S]*)\)\s*$/);if(!n)return{kind:"unresolved",sourceText:t};let i=n[1],r=n[2]??"",o=wl(r);switch(i){case"fjallApp":{let a=En(o,0);return a===void 0?{kind:"dynamic",sourceText:t}:{kind:"ecs",appName:a}}case"fjallCdn":{let a=En(o,0);return a===void 0?{kind:"dynamic",sourceText:t}:{kind:"cdn",appName:a}}case"fjallBucket":{let a=En(o,0);return a===void 0?{kind:"dynamic",sourceText:t}:{kind:"bucket",bucketName:a}}case"aliasTo":{if(o.length>=2){let a=En(o,0),c=En(o,1);return a!==void 0&&c!==void 0?{kind:"custom",dnsName:a,hostedZoneId:c}:{kind:"dynamic",sourceText:t}}if(o.length===1){let a=o[0]?.trim()??"",c=Qb(a,"dnsName"),u=Qb(a,"hostedZoneId");return c!==void 0&&u!==void 0?{kind:"custom",dnsName:c,hostedZoneId:u}:{kind:"dynamic",sourceText:t}}return{kind:"unresolved",sourceText:t}}default:return{kind:"unresolved",sourceText:t}}}me(cR,"resolveCallRefTarget");function wl(e){let t=[],n=0,i=null,r="";for(let a=0;a<e.length;a++){let c=e[a];if(i!==null){if(r+=c,c==="\\"&&a+1<e.length){let u=e[a+1];u!==void 0&&(r+=u,a+=1);continue}c===i&&(i=null);continue}if(c==='"'||c==="'"||c==="`"){i=c,r+=c;continue}if(c==="("||c==="{"||c==="["){n+=1,r+=c;continue}if(c===")"||c==="}"||c==="]"){n-=1,r+=c;continue}if(c===","&&n===0){t.push(r.trim()),r="";continue}r+=c}let o=r.trim();return o.length>0&&t.push(o),t}me(wl,"splitTopLevelArgs");function En(e,t){let n=e[t];if(n===void 0)return;let i=n.trim();if(i.length<2)return;let r=i[0],o=i[i.length-1];if(r===o&&!(r!=='"'&&r!=="'"&&r!=="`"))return i.slice(1,-1)}me(En,"extractStringLiteralArg");function Qb(e,t){let n=e.trim().replace(/^\{|\}$/g,""),i=wl(n);for(let r of i){let o=r.indexOf(":");if(o<0||r.slice(0,o).trim().replace(/["'`]/g,"")!==t)continue;let a=r.slice(o+1).trim();return En([a],0)}}me(Qb,"extractObjectFieldString");function uR(e){if(e===void 0)return C([]);if(!Array.isArray(e))return $({kind:"invalid_literal",field:"certificates",reason:"must be an array"});let t=[];for(let n=0;n<e.length;n++){let i=e[n];if(typeof i=="string"){t.push({domainName:i});continue}if(!P(i))return $({kind:"invalid_literal",field:`certificates[${n}]`,reason:"must be a string or object literal"});let r=b(i.domainName);if(r===void 0)return $({kind:"missing_field",field:`certificates[${n}].domainName`});let o=ue(i.subjectAlternativeNames),a=j(i.transparencyLogging),c=j(i.cloudFront);if(i.cloudFront!==void 0&&c===void 0)return $({kind:"invalid_literal",field:`certificates[${n}].cloudFront`,reason:"must be a boolean literal \u2014 the CloudFront designation drives the zone-level us-east-1 export contract and cannot be round-tripped from a dynamic expression"});t.push({domainName:r,...o!==void 0?{subjectAlternativeNames:o}:{},...a!==void 0?{transparencyLogging:a}:{},...c!==void 0?{cloudFront:c}:{}})}return C(t)}me(uR,"parseCertificatesArray");function lR(e){if(e===void 0||!P(e))return;let t={};for(let[n,i]of Object.entries(e)){let r=b(i);r!==void 0&&(t[n]=r)}return Object.keys(t).length===0?void 0:t}me(lR,"parseStringRecord");function kl(e){if(e===void 0)return"undefined";if(e===null)return"null";if(typeof e=="string")return JSON.stringify(e);if(typeof e=="number"||typeof e=="boolean")return String(e);if(Array.isArray(e))return`[${e.map(t=>kl(t)).join(", ")}]`;if(typeof e=="object"){if("__call"in e)return String(e.__call);if("__identifier"in e)return String(e.__identifier);if("__expression"in e)return String(e.__expression);if("__unknown"in e)return String(e.__unknown)}return String(e)}me(kl,"stringifyParsedValue");var E4=Object.defineProperty,Mr=(e,t)=>E4(e,"name",{value:t,configurable:!0});function dR(e){return e?.map(t=>({name:t.name,...t.serviceType!==void 0&&{serviceType:t.serviceType},...t.docker!==void 0&&{docker:t.docker},...t.containerPort!==void 0&&{containerPort:t.containerPort},...t.needsDatabaseConnection!==void 0&&{needsDatabaseConnection:t.needsDatabaseConnection},...t.routing!==void 0&&{routing:t.routing}}))}Mr(dR,"toUserServiceConfigs");function mR(e,t,n=!0,i,r){let o={appName:e,type:t,database:[],s3:[],compute:[]};if(t==="custom")return o;let a=t,c=rr[a];return{...o,database:pR(e,c,a,n,r),compute:vR(e,c,a,n,i),network:c.network,backup:c.backup}}Mr(mR,"planApplicationResources");function pR(e,t,n,i,r){let o=nb(n),a=t.database[o];return!i||a===null?[]:[{name:e,type:o,databaseName:Pn(e),variableName:`${er(e)}Database`,...a,...r?.snapshotIdentifier!==void 0&&{snapshotIdentifier:r.snapshotIdentifier},...r?.snapshotUsername!==void 0&&{snapshotUsername:r.snapshotUsername}}]}Mr(pR,"buildDatabasePlan");function fR(e,t){if(!(e===void 0&&t===void 0))return{scaling:{...e!==void 0&&{minCapacity:e},...t!==void 0&&{maxCapacity:t}}}}Mr(fR,"buildScalingConfig");function gR(e,t){let{minCapacity:n,maxCapacity:i,...r}=e,o=t?.serviceType==="worker",a=t?.containerPort??BI,c=t?.docker;return{...r,...c?.path!==void 0&&{docker:{path:c.path,...c.context!==void 0&&{context:c.context},...c.target!==void 0&&{target:c.target}}},...t?.needsDatabaseConnection!==void 0&&{needsDatabaseConnection:t.needsDatabaseConnection},containers:o?[{}]:[{port:a}],...fR(n,i)}}Mr(gR,"buildServiceEntry");function hR(e,t){return t||e?.directAccess===!0?e:{...e,loadBalancer:!1}}Mr(hR,"resolveClusterConfig");function vR(e,t,n,i,r){let o=t.compute.ecs,a=(r&&r.length>0?ib(n,r):o.services.map((u,l)=>({...u,name:l===0?"api":`service-${l+1}`}))).map((u,l)=>gR(u,r?.[l])),c=a.some(u=>u.containers?.some(l=>l.port!==void 0));return[{name:e,type:xi.ECS,needsConnection:i,connectedDatabase:i?[e]:void 0,variableName:`${er(e)}Compute`,cluster:hR(o.cluster,c),services:a}]}Mr(vR,"buildComputePlan");function qi(e,t){let n=[ul(e),cl(e),sl(e)];if(ml(e))n.push(Ra(e),Ca(e));else{let r=dl(e);n.push(Ca(e),Ju(e),Qu(e),il(e),ol(e),al(e),nl(e,r),ll(e))}let i=n.join("");if(e.customCodeBlocks&&e.customCodeBlocks.length>0){let r=Cl(i,e.customCodeBlocks,t?.resourceMapping);return r.success?C(r.content):$(new Error(`Custom code injection failed: ${r.error??"unknown error"}`))}return C(i)}Mr(qi,"generateInfrastructureFromPlan");var x4=Object.defineProperty,Ki=(e,t)=>x4(e,"name",{value:t,configurable:!0}),A4=rb("standard");function bR(e){return pa.options.some(t=>t.shape?.type?.value===e)}Ki(bR,"isPatternConfigType");function yR(e,t,n){let{tier:i="standard",domain:r,database:o,compute:a,cdn:c,environment:u,tags:l}=n??{},m=fl(i);if(!m&&i!=="custom")return $(new Error(`Invalid pattern tier: "${i}". Valid tiers are: ${[...wa,"custom"].join(", ")}`));if(!bR(t))return $(new Error(`Unsupported pattern type: ${t}`));let p=m?pl(i):null,g=xR(t,e,{domain:r,database:o,compute:a,cdn:c,environment:u,tierPreset:p});if(!g.success)return g;let v=g.data;return C({appName:e,type:"standard",pattern:t,network:p?p.network:A4,backup:p?p.backup:!1,patternConfig:v,database:[],s3:[],compute:[],tags:l??{}})}Ki(yR,"planOpenNextResources");function SR(e,t){return{type:e?.type??t.database.type,instanceType:e?.instanceType??t.database.instanceType,backupRetention:e?.backupRetention??t.database.backupRetention,deletionProtection:e?.deletionProtection??t.database.deletionProtection,...e?.databaseName!==void 0&&{databaseName:e.databaseName},...e?.publiclyAccessible!==void 0&&{publiclyAccessible:e.publiclyAccessible},...e?.allowedIpCidr!==void 0&&{allowedIpCidr:e.allowedIpCidr},...e?.encryption!==void 0&&{encryption:e.encryption}}}Ki(SR,"mergeDatabaseConfig");function _R(e,t){return{memorySize:e?.memorySize??t.compute.memorySize,timeout:e?.timeout??t.compute.timeout}}Ki(_R,"mergeComputeConfig");function ER(e){let{encryption:t,...n}=e;return{...n,...t&&{encryption:{storageKey:t}}}}Ki(ER,"toPatternDatabaseConfig");function xR(e,t,n){let{domain:i,database:r,compute:o,cdn:a,environment:c,tierPreset:u}=n,l=u?SR(r,u):r,m=u?_R(o,u):o,p={type:e,name:t,domain:i,database:l?ER(l):void 0,compute:m?{server:m}:void 0,cdn:a?{domainNames:a.domainNames,certificateArn:a.certificateArn}:void 0,environment:c},g=pa.safeParse(p);return g.success?C(g.data):$(new Error(`Invalid pattern config: ${g.error.message}`))}Ki(xR,"buildPatternConfig");var I4=Object.defineProperty,$4=(e,t)=>I4(e,"name",{value:t,configurable:!0});function AR(e,t){let n={type:"staticsite",name:e,source:t.source,build:t.build,...t.routing!==void 0&&{routing:t.routing},...t.security!==void 0&&{security:t.security},...t.domain!==void 0&&{domain:t.domain},...t.forms!==void 0&&{forms:t.forms},...t.cdn!==void 0&&{cdn:t.cdn}},i=Bv.safeParse(n);return i.success?C({appName:e,type:"standard",pattern:"staticsite",patternConfig:i.data,database:[],s3:[],compute:[],tags:t.tags??{}}):$(new Error(`Invalid static-site pattern config: ${i.error.message}`))}$4(AR,"planStaticSiteResources");var T4=Object.defineProperty,Ol=(e,t)=>T4(e,"name",{value:t,configurable:!0});function IR(e){let t=e.split("/");if(t.length!==2||!t[0]||!t[1])throw new Error(`Invalid service reference format: '${e}'. Expected 'ClusterName/ServiceName'.`);return t[0]}Ol(IR,"parseServiceReference");function ey(e,t,n){n==="database"?(e.needsConnection=!0,e.connectedDatabase=[...new Set([...e.connectedDatabase??[],t])]):e.connectedStorage=[...new Set([...e.connectedStorage??[],t])]}Ol(ey,"addResourceConnection");function Yi(e,t,n,i){let r=new Set(t),o=[...new Set(t.map(IR))];for(let a of o){let c=e.compute.find(u=>u.name===a);if(c?.services){ey(c,n,i);for(let u of c.services){let l=`${a}/${u.name}`;r.has(l)&&(i==="database"?u.needsDatabaseConnection=!0:u.needsStorageConnection=!0)}}}}Ol(Yi,"applyServiceConnections");function xn(e,t,n,i){for(let r of e.compute)if(t.includes(r.name)&&(ey(r,n,i),r.services))for(let o of r.services)i==="database"?o.needsDatabaseConnection=!0:o.needsStorageConnection=!0}Ol(xn,"applyComputeConnections");var R4=Object.defineProperty,ye=(e,t)=>R4(e,"name",{value:t,configurable:!0});function $R(e){let t=e.database.length>0,n=e.cdn!==void 0;return[{type:"database",label:"Database (RDS)",available:!0},{type:"database:proxy",label:"RDS Proxy",available:t,reason:t?void 0:"Requires at least one database"},{type:"storage:s3",label:"S3 Bucket",available:!0},{type:"network",label:"Network (VPC)",available:!0},{type:"compute:ecs",label:"Compute (ECS)",available:!0},{type:"compute:lambda",label:"Compute (Lambda)",available:!0},{type:"cdn",label:"CDN (CloudFront)",available:!n,reason:n?"A CDN is already configured. Remove existing CDN first.":void 0},{type:"tunnel",label:"Database Tunnel",available:t&&!e.tunnel,reason:t?e.tunnel?"Tunnel is already enabled":void 0:"Requires at least one database"}]}ye($R,"listAvailableResources");function Za(e,t){if(LR(e,t.resourceName))return $(new Error(`Resource name '${t.resourceName}' is already used in this application.`));switch(t.type){case"database":return TR(e,t);case"database:proxy":return RR(e,t);case"storage:s3":return C(void 0);case"network":return C(void 0);case"compute:ecs":return!t.services||t.services.length===0?$(new Error("ECS compute requires at least one service.")):C(void 0);case"compute:lambda":return C(void 0);case"cdn":return PR(e,t);case"tunnel":return CR(e);default:{let n=t;return $(new Error(`Unknown resource type: ${String(n)}`))}}}ye(Za,"validateResourceAddition");function TR(e,t){let n=t.databaseName??t.resourceName.toLowerCase();return e.database.some(i=>i.databaseName===n)?$(new Error(`Database name '${n}' already exists. Choose a different database name.`)):t.databaseType==="GlobalAurora"&&!t.primaryRegion?$(new Error("GlobalAurora databases require a primaryRegion.")):C(void 0)}ye(TR,"validateDatabaseAddition");function RR(e,t){let n=e.database.find(i=>i.name===t.targetDatabase||i.databaseName===t.targetDatabase);if(!n){let i=e.database.map(r=>r.name).join(", ")||"none";return $(new Error(`Database '${t.targetDatabase}' not found. Available databases: ${i}`))}return n.proxy!==void 0&&n.proxy!==!1?$(new Error(`Database '${n.name}' already has RDS Proxy enabled.`)):C(void 0)}ye(RR,"validateProxyAddition");function PR(e,t){if(e.cdn)return $(new Error("A CDN is already configured for this application. Remove the existing CDN first."));if(!ty(e,t.defaultOriginRef))return $(new Error(`Origin '${t.defaultOriginRef}' not found in plan. CDN origin must reference an existing resource.`));if(t.behaviours){for(let n of t.behaviours)if(!ty(e,n.originRef))return $(new Error(`Behaviour origin '${n.originRef}' not found in plan.`))}return C(void 0)}ye(PR,"validateCdnAddition");function CR(e){return e.tunnel&&typeof e.tunnel=="object"?$(new Error("Tunnel is already enabled for this application.")):e.database.length===0?$(new Error("No databases found \u2014 tunnel requires at least one relational database.")):C(void 0)}ye(CR,"validateTunnelAddition");function Dl(e,t){let n=Za(e,t);if(!n.success)return n;switch(t.type){case"database":return NR(e,t);case"database:proxy":return wR(e,t);case"storage:s3":return kR(e,t);case"network":return OR(e,t);case"compute:ecs":return DR(e,t);case"compute:lambda":return MR(e,t);case"cdn":return jR(e,t);case"tunnel":return zR(e,t);default:{let i=t;return $(new Error(`Unknown resource type: ${String(i)}`))}}}ye(Dl,"addResourceToPlan");function NR(e,t){let n=t.databaseName??t.resourceName.toLowerCase(),i={name:t.resourceName,type:t.databaseType,databaseName:n},r;switch(t.databaseType){case"Instance":r={...i,...t.instanceType!==void 0?{instanceType:t.instanceType}:{},...t.multiAz!==void 0?{multiAz:t.multiAz}:{},...t.readReplica!==void 0?{readReplica:t.readReplica}:{},...t.publiclyAccessible!==void 0?{publiclyAccessible:t.publiclyAccessible}:{},...t.backupRetention!==void 0?{backupRetention:t.backupRetention}:{}};break;case"Aurora":r={...i,...t.writer!==void 0?{writer:t.writer}:{},...t.readers!==void 0?{readers:t.readers}:{},...t.backupRetention!==void 0?{backupRetention:t.backupRetention}:{},...t.preferredMaintenanceWindow!==void 0?{preferredMaintenanceWindow:t.preferredMaintenanceWindow}:{}};break;case"GlobalAurora":r={...i,primaryRegion:t.primaryRegion,...t.secondaryRegions!==void 0?{secondaryRegions:t.secondaryRegions}:{}};break;default:{let a=t.databaseType;return $(new Error(`Unknown database type: ${String(a)}`))}}let o={...e,database:[...e.database,r]};return ry(o,t.resourceName,"database",t),C(o)}ye(NR,"addDatabase");function wR(e,t){let n=e.database.map(o=>({...o})),i=n.find(o=>o.name===t.targetDatabase||o.databaseName===t.targetDatabase);if(!i)return $(new Error(`Database '${t.targetDatabase}' not found.`));let r={};return t.maxConnections!==void 0&&(r.maxConnections=t.maxConnections),t.maxIdleConnections!==void 0&&(r.maxIdleConnections=t.maxIdleConnections),t.connectionBorrowTimeout!==void 0&&(r.connectionBorrowTimeout=t.connectionBorrowTimeout),t.requireTLS!==void 0&&(r.requireTLS=t.requireTLS),i.proxy=Object.keys(r).length>0?r:{},C({...e,database:n})}ye(wR,"addProxy");function kR(e,t){let n=t.bucketName??t.resourceName.toLowerCase(),i=Fe(n),r=e.s3.length,o=r===0?"":`${r+1}`,a={name:i,bucketName:n,variableName:`bucket${o}`,...t.publicReadAccess!==void 0?{publicReadAccess:t.publicReadAccess}:{},...t.versioned!==void 0?{versioned:t.versioned}:{},...t.encryption!==void 0?{encryption:t.encryption}:{},...t.websiteHosting?{websiteHosting:{indexDocument:"index.html"}}:{}},c={...e,s3:[...e.s3,a]};return ry(c,i,"storage",t),C(c)}ye(kR,"addS3");function OR(e,t){let n={};if(t.maxAzs!==void 0&&(n.maxAzs=t.maxAzs),t.natGateways!==void 0&&(n.natGateways=t.natGateways),t.flowLogs!==void 0&&(n.flowLogs=t.flowLogs),t.vpcEndpoints!==void 0&&(n.vpcEndpoints=t.vpcEndpoints),t.networkName){let i={name:t.networkName,...n};return C({...e,additionalNetworks:[...e.additionalNetworks??[],i]})}return C({...e,network:{...e.network??{},...n}})}ye(OR,"addNetwork");function DR(e,t){let n=t.connectedDatabase??[],i={name:t.resourceName,type:"ecs",needsConnection:n.length>0,connectedDatabase:n,...t.loadBalancer!==void 0?{cluster:{loadBalancer:t.loadBalancer}}:{},services:t.services.map(r=>({name:r.name,capacityProvider:r.capacityProvider??"FARGATE",...r.port!==void 0?{containers:[{port:r.port}]}:{},...r.cpu!==void 0?{cpu:r.cpu}:{},...r.memory!==void 0?{memoryLimitMiB:r.memory}:{}})),...t.docker!==void 0&&{docker:t.docker}};return C({...e,compute:[...e.compute,i]})}ye(DR,"addEcsCompute");function MR(e,t){let n=t.connectedDatabase??[],i={name:t.resourceName,type:"lambda",needsConnection:n.length>0,connectedDatabase:n,...t.timeout!==void 0?{timeout:t.timeout}:{},...t.memory!==void 0?{memory:t.memory}:{},...t.handler!==void 0?{handler:t.handler}:{},...t.runtime!==void 0?{runtime:t.runtime}:{}};return C({...e,compute:[...e.compute,i]})}ye(MR,"addLambdaCompute");function jR(e,t){let n={name:t.resourceName,defaultOriginRef:t.defaultOriginRef,...t.customDomain!==void 0?{customDomain:t.customDomain}:{},...t.certificateArn!==void 0?{certificateArn:t.certificateArn}:{},...t.behaviours&&t.behaviours.length>0?{behaviours:[...t.behaviours].map(i=>({pathPattern:i.pathPattern,originRef:i.originRef,...i.cachePolicy!==void 0?{cachePolicy:i.cachePolicy}:{}}))}:{}};return C({...e,cdn:n})}ye(jR,"addCdn");function zR(e,t){let n=t.instanceType?{instanceType:t.instanceType}:{};return C({...e,tunnel:n})}ye(zR,"addTunnel");function LR(e,t){let n=[...e.database.map(i=>i.name),...e.s3.map(i=>i.name),...e.compute.map(i=>i.name),...(e.dynamodb??[]).map(i=>i.name),...(e.sqs??[]).map(i=>i.name)];return e.cdn&&n.push(e.cdn.name),n.includes(t)}ye(LR,"isResourceNameTaken");function ty(e,t){return e.database.some(n=>n.name===t)||e.s3.some(n=>n.name===t)||e.compute.some(n=>n.name===t)||(e.dynamodb??[]).some(n=>n.name===t)||(e.sqs??[]).some(n=>n.name===t)}ye(ty,"resourceExistsInPlan");function ry(e,t,n,i){i.connectToCompute&&i.connectToCompute.length>0&&xn(e,[...i.connectToCompute],t,n),i.connectToServices&&i.connectToServices.length>0&&Yi(e,[...i.connectToServices],t,n)}ye(ry,"applyConnections");var P4=Object.defineProperty,C4=(e,t)=>P4(e,"name",{value:t,configurable:!0});function UR(e,t,n){let i;try{i=kr(e,{extractCustomCode:!0})}catch(u){return $(new Error(`Failed to parse infrastructure.ts: ${u instanceof Error?u.message:String(u)}`))}let r;try{r=Sn(i,t,{skipValidation:!0})}catch(u){return $(new Error(`Failed to build resource plan: ${u instanceof Error?u.message:String(u)}`))}i.customCodeBlocks&&i.customCodeBlocks.length>0&&(r.customCodeBlocks=i.customCodeBlocks);let o=Za(r,n);if(!o.success)return o;let a=Dl(r,n);if(!a.success)return a;let c=qi(a.data);return c.success?C({originalContent:e,modifiedContent:c.data,addedResource:{type:n.type,name:n.resourceName}}):$(new Error(`Code generation failed: ${c.error.message}`))}C4(UR,"generateResourceChange");var N4=Object.defineProperty,Ft=(e,t)=>N4(e,"name",{value:t,configurable:!0}),w4=new Set(Va.options);function FR(e){return w4.has(e.toUpperCase())}Ft(FR,"isRecordType");function BR(e){return e.endsWith(".")?e.slice(0,-1):e}Ft(BR,"stripTrailingDot");function VR(e){let t=!1;for(let n=0;n<e.length;n++)if(e[n]==='"')t=!t;else if(e[n]===";"&&!t)return e.slice(0,n).trimEnd();return e}Ft(VR,"stripInlineComment");function ZR(e,t){let n=e.slice(t).join(" "),i=[],r="",o=!1;for(let a of n)a==='"'?(o&&(i.push(r),r=""),o=!o):o&&(r+=a);return i.join(" ")}Ft(ZR,"parseTxtValue");function GR(e){let t=/;\s*auto\s*$/.test(e),n=e.replace(/;\s*auto\s*$/,"").trim().match(/^\$FJALL-DELEGATE\s+(\S+)\s+TO\s+(\S+)$/i);if(n)return{subdomain:n[1],targetAccount:n[2],auto:t}}Ft(GR,"parseDelegateDirective");function WR(e){if(e.length<2)return;let t=e[1],n=e.slice(2);return{domainName:t,subjectAlternativeNames:n}}Ft(WR,"parseCertDirective");function HR(e){let t=[],n="",i=!1;for(let r of e)r==='"'?(i=!i,n+=r):/\s/.test(r)&&!i?n.length>0&&(t.push(n),n=""):n+=r;return n.length>0&&t.push(n),t}Ft(HR,"tokenise");function qR(e){if(e.length<2)return;let t=0,n=e[t++],i,r;for(;t<e.length&&r===void 0;){let a=e[t].toUpperCase();if(a==="IN")t++;else if(FR(a))r=a,t++;else if(/^\d+$/.test(e[t]))i=parseInt(e[t],10),t++;else return}if(!r)return;let o=e.slice(t);switch(r){case"MX":{if(o.length<2)return;let a=parseInt(o[0],10),c=o.slice(1).join(" ");return{name:n,type:r,ttl:i,value:c,priority:a}}case"SRV":{if(o.length<4)return;let a=parseInt(o[0],10),c=parseInt(o[1],10),u=parseInt(o[2],10),l=o[3];return{name:n,type:r,ttl:i,value:l,priority:a,weight:c,port:u}}case"TXT":{let a=ZR(e,t);return{name:n,type:r,ttl:i,value:a}}case"CAA":{let a=o.join(" ");return{name:n,type:r,ttl:i,value:a}}case"A":{if(o.length===0)return;if(o[0].toUpperCase()==="ALIAS"){if(o.length<2)return;let a=o.slice(1).join(" ");return{name:n,type:r,ttl:i,value:`${Nl}${a}`}}return{name:n,type:r,ttl:i,value:o[0]}}default:return o.length===0?void 0:{name:n,type:r,ttl:i,value:o[0]}}}Ft(qR,"parseRecord");function KR(e){let t=e.split(`
450
- `),n,i=300,r=[],o=[],a=[];for(let c of t){let u=c.trim();if(u===""||u.startsWith(";"))continue;if(u.toUpperCase().startsWith(Ut.FJALL_DELEGATE)){let v=GR(u);v&&o.push(v);continue}let l=VR(u);if(l==="")continue;let m=HR(l);if(m.length===0)continue;let p=m[0].toUpperCase();if(p===Ut.ORIGIN){if(m.length<2)continue;n=BR(m[1]);continue}if(p===Ut.TTL){if(m.length<2)continue;i=parseInt(m[1],10);continue}if(p===Ut.FJALL_CERT){let v=WR(m);v&&a.push(v);continue}let g=qR(m);g&&r.push(g)}return n?C({origin:n,ttl:i,records:r,delegations:o,certificates:a}):$(new Error("Missing $ORIGIN directive"))}Ft(KR,"parseZoneFile");function YR(e,t){if(!e.startsWith("fjall:"))return;let n=e.split(":");if(n.length<3)return;let i=n[1],r=n[2],o=`${i}:${r}`;return t.get(o)??t.get(e)}Ft(YR,"resolveAlias");var k4=Object.defineProperty,ny=(e,t)=>k4(e,"name",{value:t,configurable:!0});function XR(e,t){return e.length>=t?e:e+" ".repeat(t-e.length)}ny(XR,"padRight");function JR(e,t){let n=XR(e.name,24),i=e.ttl!==void 0&&e.ttl!==t?`${e.ttl} `:"";switch(e.type){case"MX":return`${n} ${i}IN MX ${e.priority??10} ${e.value}`;case"SRV":return`${n} ${i}IN SRV ${e.priority??0} ${e.weight??0} ${e.port??0} ${e.value}`;case"TXT":return`${n} ${i}IN TXT "${e.value}"`;case"CAA":return`${n} ${i}IN CAA ${e.value}`;default:return e.type==="A"&&e.value.startsWith(Nl)?`${n} ${i}IN A ${e.value}`:`${n} ${i}IN ${e.type} ${e.value}`}}ny(JR,"formatRecord");function QR(e){let t=[];if(t.push("; zone.bind \u2014 managed by fjall"),t.push(`${Ut.ORIGIN} ${e.origin}.`),t.push(`${Ut.TTL} ${e.ttl}`),t.push(""),e.certificates.length>0){for(let n of e.certificates){let i=[n.domainName,...n.subjectAlternativeNames];t.push(`${Ut.FJALL_CERT} ${i.join(" ")}`)}t.push("")}if(e.delegations.length>0){for(let n of e.delegations){let i=n.auto?" ; auto":"";t.push(`${Ut.FJALL_DELEGATE} ${n.subdomain} TO ${n.targetAccount}${i}`)}t.push("")}for(let n of e.records)t.push(JR(n,e.ttl));return t.join(`
449
+ `),r}gt(V0,"formatCustomCodeForInsertion");function Z0(e){try{let t=function(r){r.kind===_n.SyntaxKind.Unknown&&i.push("Unknown node found in AST - possible parse error"),_n.forEachChild(r,t)};gt(t,"visit");let n=Or(e),i=[];return t(n),i.length>0?{valid:!1,errors:i}:{valid:!0}}catch(t){return{valid:!1,errors:[Rt(t)]}}}gt(Z0,"validateModifiedFile");import*as Ie from"typescript";var Va=s.enum(["A","AAAA","CNAME","MX","TXT","NS","SRV","CAA"]),d4=s.object({name:s.string(),type:Va,ttl:s.number().optional(),value:s.string(),priority:s.number().optional(),weight:s.number().optional(),port:s.number().optional()}).strict(),m4=s.object({subdomain:s.string(),targetAccount:s.string(),auto:s.boolean()}).strict(),p4=s.object({domainName:s.string(),subjectAlternativeNames:s.array(s.string())}).strict(),tY=s.object({origin:s.string(),ttl:s.number(),records:s.array(d4),delegations:s.array(m4),certificates:s.array(p4)}).strict(),Ut=Object.freeze({ORIGIN:"$ORIGIN",TTL:"$TTL",FJALL_DELEGATE:"$FJALL-DELEGATE",FJALL_CERT:"$FJALL-CERT"}),Nl="ALIAS ";var G0=s.discriminatedUnion("kind",[s.object({kind:s.literal("ecs"),appName:s.string()}).strict(),s.object({kind:s.literal("cdn"),appName:s.string()}).strict(),s.object({kind:s.literal("bucket"),bucketName:s.string()}).strict(),s.object({kind:s.literal("custom"),dnsName:s.string(),hostedZoneId:s.string()}).strict()]),W0=G0.options.map(e=>e.shape.kind.value),Xb=s.enum(["A","AAAA"]),Jb=s.enum(["route53","external-delegated","external-records"]),H0=s.enum(["zone","full"]),f4=s.object({kind:s.literal("standard"),type:s.enum(["A","AAAA","CNAME","MX","TXT","NS","SRV","CAA"]),name:s.string(),value:s.union([s.string(),s.array(s.string())]),ttl:s.number().int().positive().optional()}).strict(),g4=s.object({kind:s.literal("alias"),type:Xb,name:s.string(),target:G0}).strict(),h4=s.discriminatedUnion("kind",[f4,g4]),v4=s.object({domainName:s.string(),subjectAlternativeNames:s.array(s.string()).optional(),transparencyLogging:s.boolean().optional(),cloudFront:s.boolean().optional()}).strict(),b4=s.object({subdomain:s.string(),toAccount:s.string(),auto:s.boolean().optional()}).strict(),iY=s.object({zoneName:s.string(),registrar:Jb,hostedZoneId:s.string().optional(),delegatedSubdomain:s.string().optional(),adoptedNameServers:s.array(s.string().min(1)).min(1).optional(),records:s.array(h4),certificates:s.array(v4),delegations:s.array(b4)}).strict().refine(e=>e.registrar!=="external-delegated"||e.delegatedSubdomain!==void 0,{message:"external-delegated requires delegatedSubdomain"}).refine(e=>e.registrar!=="external-records"||e.delegations.length===0,{message:"external-records forbids delegations"}).refine(e=>e.registrar==="external-delegated"||e.adoptedNameServers===void 0,{message:"adoptedNameServers requires registrar external-delegated"}).refine(e=>e.registrar!=="external-delegated"||e.hostedZoneId===void 0==(e.adoptedNameServers===void 0),{message:"external-delegated adoption requires hostedZoneId and adoptedNameServers together (both-or-neither)"});var y4=Object.defineProperty,me=(e,t)=>y4(e,"name",{value:t,configurable:!0}),K0=Jb.options,q0=H0.options,S4=Va.options,_4=Xb.options;function Y0(e){let t=[],n=me(r=>{if(Ie.isNewExpression(r)&&X0(r.expression)){let o=J0(r);o!==void 0&&t.push(o)}Ie.forEachChild(r,n)},"visit");if(n(e),t.length===0)return C(void 0);if(t.length>1)return $(new Error(`Expected exactly one 'new Domain(...)' call per infrastructure file, found ${t.length}`));let i=t[0];return i?C(i):C(void 0)}me(Y0,"findDomainConstructCall");function X0(e){return Ie.isIdentifier(e)&&e.text==="Domain"}me(X0,"isDomainIdentifier");function J0(e){let t=e.arguments;if(!t||t.length<3)return;let n=t[0],i=t[1],r=t[2];if(!n||!i||!r||!Ie.isObjectLiteralExpression(r))return;let o=Q0(e);if(o===void 0)return;let a=eR(e),c=Ie.isStringLiteral(i)?i.text:void 0;return{callExpression:e,containingStatement:o,propsObjectLiteral:r,domainVarId:a,scopeArgumentText:n.getText(),constructIdLiteral:c}}me(J0,"buildMatch");function Q0(e){let t=e;for(;t!==void 0;){if(Ie.isExpressionStatement(t)||Ie.isVariableStatement(t))return t;t=t.parent}}me(Q0,"findContainingTopLevelStatement");function eR(e){let t=e.parent;for(;t!==void 0;){if(Ie.isVariableDeclaration(t)&&Ie.isIdentifier(t.name)&&t.initializer===e)return t.name.text;t=t.parent}}me(eR,"extractDomainVarId");function tR(e){switch(e.kind){case"registrar_required":return"'registrar' property is required";case"registrar_unsupported":return`'registrar' must be one of ${K0.join(", ")}, got ${JSON.stringify(e.value)}`;case"missing_field":return`'${e.field}' property is required`;case"invalid_literal":return`'${e.field}' ${e.reason}`;case"removed_field":return`'${e.field}' was removed from the Domain API \u2014 ${e.cure}`}}me(tR,"errorMessage");var E4="declare the delegated child as its own Domain with registrar: 'external-delegated' and set 'parentDelegationRoleArn' (the CLI injects it via ManagedDomainBinding.delegationRoleArn); the child UPSERTs its NS records into the parent zone";function rR(e){let t=B(e),n=U(t.registrar,K0);if(n===void 0){let c=t.registrar;if(c===void 0)return $({kind:"registrar_required"});let u=typeof c=="string"?c:kl(c);return $({kind:"registrar_unsupported",value:u})}let i=b(t.zoneName);if(i===void 0)return $({kind:"missing_field",field:"zoneName"});let r=iR(t.records);if(!r.success)return r;let o=uR(t.certificates);if(!o.success)return o;if(t.delegations!==void 0)return $({kind:"removed_field",field:"delegations",cure:E4});let a={zoneName:i,description:b(t.description),costAllocationEnvironment:b(t.costAllocationEnvironment),tags:lR(t.tags),records:r.data,certificates:o.data};switch(n){case"route53":return C({...a,registrar:n,hostedZoneId:b(t.hostedZoneId)});case"external-delegated":{let c=b(t.delegatedSubdomain);if(c===void 0)return $({kind:"missing_field",field:"delegatedSubdomain"});let u=b(t.hostedZoneId);if(t.hostedZoneId!==void 0&&u===void 0)return $({kind:"invalid_literal",field:"hostedZoneId",reason:"must be a literal string zone id on external-delegated \u2014 dynamic expressions cannot be round-tripped"});let l=ue(t.adoptedNameServers);if(t.adoptedNameServers!==void 0&&l===void 0)return $({kind:"invalid_literal",field:"adoptedNameServers",reason:"must be an array of literal NS hostname strings \u2014 the parent NS UPSERT writes them verbatim"});if(u===void 0!=(l===void 0))return $({kind:"invalid_literal",field:u===void 0?"hostedZoneId":"adoptedNameServers",reason:"adopting an existing child zone requires hostedZoneId and adoptedNameServers together (both-or-neither) \u2014 an imported zone exposes no name-server attribute at synth"});let m=b(t.parentDelegationRoleArn);if(t.parentDelegationRoleArn!==void 0&&m===void 0)return $({kind:"invalid_literal",field:"parentDelegationRoleArn",reason:"must be a literal string ARN (VD2-a) \u2014 the CLI injects it via ManagedDomainBinding.delegationRoleArn; dynamic expressions such as Fn.importValue are not supported"});let p=U(t.phase,q0);return t.phase!==void 0&&p===void 0?$({kind:"invalid_literal",field:"phase",reason:`must be one of ${q0.map(g=>`'${g}'`).join(", ")}`}):C({...a,registrar:n,delegatedSubdomain:c,hostedZoneId:u,adoptedNameServers:l,parentDelegationRoleArn:m,phase:p})}case"external-records":return C({...a,registrar:n})}}me(rR,"parseDomainProps");function nR(e){return tR(e)}me(nR,"parseDomainErrorMessage");function iR(e){if(e===void 0)return C([]);if(!Array.isArray(e))return $({kind:"invalid_literal",field:"records",reason:"must be an array"});let t=[];for(let n=0;n<e.length;n++){let i=e[n];if(!P(i))return $({kind:"invalid_literal",field:`records[${n}]`,reason:"must be an object literal"});let r=oR(i,n);if(!r.success)return r;t.push(r.data)}return C(t)}me(iR,"parseRecordsArray");function oR(e,t){let n=b(e.type),i=b(e.name);if(n===void 0)return $({kind:"missing_field",field:`records[${t}].type`});if(i===void 0)return $({kind:"missing_field",field:`records[${t}].name`});if(e.target!==void 0){if(!_4.some(u=>u===n))return $({kind:"invalid_literal",field:`records[${t}]`,reason:`alias records must have type 'A' or 'AAAA', got '${n}'`});let c=sR(e.target);return C({kind:"alias",type:n,name:i,target:c})}if(!S4.some(c=>c===n))return $({kind:"invalid_literal",field:`records[${t}]`,reason:`unsupported record type '${n}'`});let r=aR(e.value);if(r===void 0)return $({kind:"invalid_literal",field:`records[${t}].value`,reason:`must be a string or array of strings (got ${JSON.stringify(e.value)})`});let o=R(e.ttl),a={kind:"standard",type:n,name:i,value:r,...o!==void 0?{ttl:o}:{}};return C(a)}me(oR,"parseRecord");function aR(e){if(e===void 0)return;if(typeof e=="string")return e;let t=ue(e);if(t!==void 0)return t}me(aR,"parseRecordValue");function sR(e){if(xt(e))return cR(e);if(P(e)){let t=U(e.kind,W0);if(t==="ecs"||t==="cdn"){let n=b(e.appName);if(n!==void 0)return{kind:t,appName:n}}if(t==="bucket"){let n=b(e.bucketName);if(n!==void 0)return{kind:t,bucketName:n}}if(t==="custom"){let n=b(e.dnsName),i=b(e.hostedZoneId);if(n!==void 0&&i!==void 0)return{kind:t,dnsName:n,hostedZoneId:i}}}return{kind:"unresolved",sourceText:kl(e)}}me(sR,"parseTarget");function cR(e){let t=e.__call.trim(),n=t.match(/^([A-Za-z_][\w$]*)\s*\(([\s\S]*)\)\s*$/);if(!n)return{kind:"unresolved",sourceText:t};let i=n[1],r=n[2]??"",o=wl(r);switch(i){case"fjallApp":{let a=En(o,0);return a===void 0?{kind:"dynamic",sourceText:t}:{kind:"ecs",appName:a}}case"fjallCdn":{let a=En(o,0);return a===void 0?{kind:"dynamic",sourceText:t}:{kind:"cdn",appName:a}}case"fjallBucket":{let a=En(o,0);return a===void 0?{kind:"dynamic",sourceText:t}:{kind:"bucket",bucketName:a}}case"aliasTo":{if(o.length>=2){let a=En(o,0),c=En(o,1);return a!==void 0&&c!==void 0?{kind:"custom",dnsName:a,hostedZoneId:c}:{kind:"dynamic",sourceText:t}}if(o.length===1){let a=o[0]?.trim()??"",c=Qb(a,"dnsName"),u=Qb(a,"hostedZoneId");return c!==void 0&&u!==void 0?{kind:"custom",dnsName:c,hostedZoneId:u}:{kind:"dynamic",sourceText:t}}return{kind:"unresolved",sourceText:t}}default:return{kind:"unresolved",sourceText:t}}}me(cR,"resolveCallRefTarget");function wl(e){let t=[],n=0,i=null,r="";for(let a=0;a<e.length;a++){let c=e[a];if(i!==null){if(r+=c,c==="\\"&&a+1<e.length){let u=e[a+1];u!==void 0&&(r+=u,a+=1);continue}c===i&&(i=null);continue}if(c==='"'||c==="'"||c==="`"){i=c,r+=c;continue}if(c==="("||c==="{"||c==="["){n+=1,r+=c;continue}if(c===")"||c==="}"||c==="]"){n-=1,r+=c;continue}if(c===","&&n===0){t.push(r.trim()),r="";continue}r+=c}let o=r.trim();return o.length>0&&t.push(o),t}me(wl,"splitTopLevelArgs");function En(e,t){let n=e[t];if(n===void 0)return;let i=n.trim();if(i.length<2)return;let r=i[0],o=i[i.length-1];if(r===o&&!(r!=='"'&&r!=="'"&&r!=="`"))return i.slice(1,-1)}me(En,"extractStringLiteralArg");function Qb(e,t){let n=e.trim().replace(/^\{|\}$/g,""),i=wl(n);for(let r of i){let o=r.indexOf(":");if(o<0||r.slice(0,o).trim().replace(/["'`]/g,"")!==t)continue;let a=r.slice(o+1).trim();return En([a],0)}}me(Qb,"extractObjectFieldString");function uR(e){if(e===void 0)return C([]);if(!Array.isArray(e))return $({kind:"invalid_literal",field:"certificates",reason:"must be an array"});let t=[];for(let n=0;n<e.length;n++){let i=e[n];if(typeof i=="string"){t.push({domainName:i});continue}if(!P(i))return $({kind:"invalid_literal",field:`certificates[${n}]`,reason:"must be a string or object literal"});let r=b(i.domainName);if(r===void 0)return $({kind:"missing_field",field:`certificates[${n}].domainName`});let o=ue(i.subjectAlternativeNames),a=j(i.transparencyLogging),c=j(i.cloudFront);if(i.cloudFront!==void 0&&c===void 0)return $({kind:"invalid_literal",field:`certificates[${n}].cloudFront`,reason:"must be a boolean literal \u2014 the CloudFront designation drives the zone-level us-east-1 export contract and cannot be round-tripped from a dynamic expression"});t.push({domainName:r,...o!==void 0?{subjectAlternativeNames:o}:{},...a!==void 0?{transparencyLogging:a}:{},...c!==void 0?{cloudFront:c}:{}})}return C(t)}me(uR,"parseCertificatesArray");function lR(e){if(e===void 0||!P(e))return;let t={};for(let[n,i]of Object.entries(e)){let r=b(i);r!==void 0&&(t[n]=r)}return Object.keys(t).length===0?void 0:t}me(lR,"parseStringRecord");function kl(e){if(e===void 0)return"undefined";if(e===null)return"null";if(typeof e=="string")return JSON.stringify(e);if(typeof e=="number"||typeof e=="boolean")return String(e);if(Array.isArray(e))return`[${e.map(t=>kl(t)).join(", ")}]`;if(typeof e=="object"){if("__call"in e)return String(e.__call);if("__identifier"in e)return String(e.__identifier);if("__expression"in e)return String(e.__expression);if("__unknown"in e)return String(e.__unknown)}return String(e)}me(kl,"stringifyParsedValue");var x4=Object.defineProperty,Mr=(e,t)=>x4(e,"name",{value:t,configurable:!0});function dR(e){return e?.map(t=>({name:t.name,...t.serviceType!==void 0&&{serviceType:t.serviceType},...t.docker!==void 0&&{docker:t.docker},...t.containerPort!==void 0&&{containerPort:t.containerPort},...t.needsDatabaseConnection!==void 0&&{needsDatabaseConnection:t.needsDatabaseConnection},...t.routing!==void 0&&{routing:t.routing}}))}Mr(dR,"toUserServiceConfigs");function mR(e,t,n=!0,i,r){let o={appName:e,type:t,database:[],s3:[],compute:[]};if(t==="custom")return o;let a=t,c=rr[a];return{...o,database:pR(e,c,a,n,r),compute:vR(e,c,a,n,i),network:c.network,backup:c.backup}}Mr(mR,"planApplicationResources");function pR(e,t,n,i,r){let o=nb(n),a=t.database[o];return!i||a===null?[]:[{name:e,type:o,databaseName:Pn(e),variableName:`${er(e)}Database`,...a,...r?.snapshotIdentifier!==void 0&&{snapshotIdentifier:r.snapshotIdentifier},...r?.snapshotUsername!==void 0&&{snapshotUsername:r.snapshotUsername}}]}Mr(pR,"buildDatabasePlan");function fR(e,t){if(!(e===void 0&&t===void 0))return{scaling:{...e!==void 0&&{minCapacity:e},...t!==void 0&&{maxCapacity:t}}}}Mr(fR,"buildScalingConfig");function gR(e,t){let{minCapacity:n,maxCapacity:i,...r}=e,o=t?.serviceType==="worker",a=t?.containerPort??BI,c=t?.docker;return{...r,...c?.path!==void 0&&{docker:{path:c.path,...c.context!==void 0&&{context:c.context},...c.target!==void 0&&{target:c.target}}},...t?.needsDatabaseConnection!==void 0&&{needsDatabaseConnection:t.needsDatabaseConnection},containers:o?[{}]:[{port:a}],...fR(n,i)}}Mr(gR,"buildServiceEntry");function hR(e,t){return t||e?.directAccess===!0?e:{...e,loadBalancer:!1}}Mr(hR,"resolveClusterConfig");function vR(e,t,n,i,r){let o=t.compute.ecs,a=(r&&r.length>0?ib(n,r):o.services.map((u,l)=>({...u,name:l===0?"api":`service-${l+1}`}))).map((u,l)=>gR(u,r?.[l])),c=a.some(u=>u.containers?.some(l=>l.port!==void 0));return[{name:e,type:xi.ECS,needsConnection:i,connectedDatabase:i?[e]:void 0,variableName:`${er(e)}Compute`,cluster:hR(o.cluster,c),services:a}]}Mr(vR,"buildComputePlan");function qi(e,t){let n=[ul(e),cl(e),sl(e)];if(ml(e))n.push(Ra(e),Ca(e));else{let r=dl(e);n.push(Ca(e),Ju(e),Qu(e),il(e),ol(e),al(e),nl(e,r),ll(e))}let i=n.join("");if(e.customCodeBlocks&&e.customCodeBlocks.length>0){let r=Cl(i,e.customCodeBlocks,t?.resourceMapping);return r.success?C(r.content):$(new Error(`Custom code injection failed: ${r.error??"unknown error"}`))}return C(i)}Mr(qi,"generateInfrastructureFromPlan");var A4=Object.defineProperty,Ki=(e,t)=>A4(e,"name",{value:t,configurable:!0}),I4=rb("standard");function bR(e){return pa.options.some(t=>t.shape?.type?.value===e)}Ki(bR,"isPatternConfigType");function yR(e,t,n){let{tier:i="standard",domain:r,database:o,compute:a,cdn:c,environment:u,tags:l}=n??{},m=fl(i);if(!m&&i!=="custom")return $(new Error(`Invalid pattern tier: "${i}". Valid tiers are: ${[...wa,"custom"].join(", ")}`));if(!bR(t))return $(new Error(`Unsupported pattern type: ${t}`));let p=m?pl(i):null,g=xR(t,e,{domain:r,database:o,compute:a,cdn:c,environment:u,tierPreset:p});if(!g.success)return g;let v=g.data;return C({appName:e,type:"standard",pattern:t,network:p?p.network:I4,backup:p?p.backup:!1,patternConfig:v,database:[],s3:[],compute:[],tags:l??{}})}Ki(yR,"planOpenNextResources");function SR(e,t){return{type:e?.type??t.database.type,instanceType:e?.instanceType??t.database.instanceType,backupRetention:e?.backupRetention??t.database.backupRetention,deletionProtection:e?.deletionProtection??t.database.deletionProtection,...e?.databaseName!==void 0&&{databaseName:e.databaseName},...e?.publiclyAccessible!==void 0&&{publiclyAccessible:e.publiclyAccessible},...e?.allowedIpCidr!==void 0&&{allowedIpCidr:e.allowedIpCidr},...e?.encryption!==void 0&&{encryption:e.encryption}}}Ki(SR,"mergeDatabaseConfig");function _R(e,t){return{memorySize:e?.memorySize??t.compute.memorySize,timeout:e?.timeout??t.compute.timeout}}Ki(_R,"mergeComputeConfig");function ER(e){let{encryption:t,...n}=e;return{...n,...t&&{encryption:{storageKey:t}}}}Ki(ER,"toPatternDatabaseConfig");function xR(e,t,n){let{domain:i,database:r,compute:o,cdn:a,environment:c,tierPreset:u}=n,l=u?SR(r,u):r,m=u?_R(o,u):o,p={type:e,name:t,domain:i,database:l?ER(l):void 0,compute:m?{server:m}:void 0,cdn:a?{domainNames:a.domainNames,certificateArn:a.certificateArn}:void 0,environment:c},g=pa.safeParse(p);return g.success?C(g.data):$(new Error(`Invalid pattern config: ${g.error.message}`))}Ki(xR,"buildPatternConfig");var $4=Object.defineProperty,T4=(e,t)=>$4(e,"name",{value:t,configurable:!0});function AR(e,t){let n={type:"staticsite",name:e,source:t.source,build:t.build,...t.routing!==void 0&&{routing:t.routing},...t.security!==void 0&&{security:t.security},...t.domain!==void 0&&{domain:t.domain},...t.forms!==void 0&&{forms:t.forms},...t.cdn!==void 0&&{cdn:t.cdn}},i=Bv.safeParse(n);return i.success?C({appName:e,type:"standard",pattern:"staticsite",patternConfig:i.data,database:[],s3:[],compute:[],tags:t.tags??{}}):$(new Error(`Invalid static-site pattern config: ${i.error.message}`))}T4(AR,"planStaticSiteResources");var R4=Object.defineProperty,Ol=(e,t)=>R4(e,"name",{value:t,configurable:!0});function IR(e){let t=e.split("/");if(t.length!==2||!t[0]||!t[1])throw new Error(`Invalid service reference format: '${e}'. Expected 'ClusterName/ServiceName'.`);return t[0]}Ol(IR,"parseServiceReference");function ey(e,t,n){n==="database"?(e.needsConnection=!0,e.connectedDatabase=[...new Set([...e.connectedDatabase??[],t])]):e.connectedStorage=[...new Set([...e.connectedStorage??[],t])]}Ol(ey,"addResourceConnection");function Yi(e,t,n,i){let r=new Set(t),o=[...new Set(t.map(IR))];for(let a of o){let c=e.compute.find(u=>u.name===a);if(c?.services){ey(c,n,i);for(let u of c.services){let l=`${a}/${u.name}`;r.has(l)&&(i==="database"?u.needsDatabaseConnection=!0:u.needsStorageConnection=!0)}}}}Ol(Yi,"applyServiceConnections");function xn(e,t,n,i){for(let r of e.compute)if(t.includes(r.name)&&(ey(r,n,i),r.services))for(let o of r.services)i==="database"?o.needsDatabaseConnection=!0:o.needsStorageConnection=!0}Ol(xn,"applyComputeConnections");var P4=Object.defineProperty,ye=(e,t)=>P4(e,"name",{value:t,configurable:!0});function $R(e){let t=e.database.length>0,n=e.cdn!==void 0;return[{type:"database",label:"Database (RDS)",available:!0},{type:"database:proxy",label:"RDS Proxy",available:t,reason:t?void 0:"Requires at least one database"},{type:"storage:s3",label:"S3 Bucket",available:!0},{type:"network",label:"Network (VPC)",available:!0},{type:"compute:ecs",label:"Compute (ECS)",available:!0},{type:"compute:lambda",label:"Compute (Lambda)",available:!0},{type:"cdn",label:"CDN (CloudFront)",available:!n,reason:n?"A CDN is already configured. Remove existing CDN first.":void 0},{type:"tunnel",label:"Database Tunnel",available:t&&!e.tunnel,reason:t?e.tunnel?"Tunnel is already enabled":void 0:"Requires at least one database"}]}ye($R,"listAvailableResources");function Za(e,t){if(LR(e,t.resourceName))return $(new Error(`Resource name '${t.resourceName}' is already used in this application.`));switch(t.type){case"database":return TR(e,t);case"database:proxy":return RR(e,t);case"storage:s3":return C(void 0);case"network":return C(void 0);case"compute:ecs":return!t.services||t.services.length===0?$(new Error("ECS compute requires at least one service.")):C(void 0);case"compute:lambda":return C(void 0);case"cdn":return PR(e,t);case"tunnel":return CR(e);default:{let n=t;return $(new Error(`Unknown resource type: ${String(n)}`))}}}ye(Za,"validateResourceAddition");function TR(e,t){let n=t.databaseName??t.resourceName.toLowerCase();return e.database.some(i=>i.databaseName===n)?$(new Error(`Database name '${n}' already exists. Choose a different database name.`)):t.databaseType==="GlobalAurora"&&!t.primaryRegion?$(new Error("GlobalAurora databases require a primaryRegion.")):C(void 0)}ye(TR,"validateDatabaseAddition");function RR(e,t){let n=e.database.find(i=>i.name===t.targetDatabase||i.databaseName===t.targetDatabase);if(!n){let i=e.database.map(r=>r.name).join(", ")||"none";return $(new Error(`Database '${t.targetDatabase}' not found. Available databases: ${i}`))}return n.proxy!==void 0&&n.proxy!==!1?$(new Error(`Database '${n.name}' already has RDS Proxy enabled.`)):C(void 0)}ye(RR,"validateProxyAddition");function PR(e,t){if(e.cdn)return $(new Error("A CDN is already configured for this application. Remove the existing CDN first."));if(!ty(e,t.defaultOriginRef))return $(new Error(`Origin '${t.defaultOriginRef}' not found in plan. CDN origin must reference an existing resource.`));if(t.behaviours){for(let n of t.behaviours)if(!ty(e,n.originRef))return $(new Error(`Behaviour origin '${n.originRef}' not found in plan.`))}return C(void 0)}ye(PR,"validateCdnAddition");function CR(e){return e.tunnel&&typeof e.tunnel=="object"?$(new Error("Tunnel is already enabled for this application.")):e.database.length===0?$(new Error("No databases found \u2014 tunnel requires at least one relational database.")):C(void 0)}ye(CR,"validateTunnelAddition");function Dl(e,t){let n=Za(e,t);if(!n.success)return n;switch(t.type){case"database":return NR(e,t);case"database:proxy":return wR(e,t);case"storage:s3":return kR(e,t);case"network":return OR(e,t);case"compute:ecs":return DR(e,t);case"compute:lambda":return MR(e,t);case"cdn":return jR(e,t);case"tunnel":return zR(e,t);default:{let i=t;return $(new Error(`Unknown resource type: ${String(i)}`))}}}ye(Dl,"addResourceToPlan");function NR(e,t){let n=t.databaseName??t.resourceName.toLowerCase(),i={name:t.resourceName,type:t.databaseType,databaseName:n},r;switch(t.databaseType){case"Instance":r={...i,...t.instanceType!==void 0?{instanceType:t.instanceType}:{},...t.multiAz!==void 0?{multiAz:t.multiAz}:{},...t.readReplica!==void 0?{readReplica:t.readReplica}:{},...t.publiclyAccessible!==void 0?{publiclyAccessible:t.publiclyAccessible}:{},...t.backupRetention!==void 0?{backupRetention:t.backupRetention}:{}};break;case"Aurora":r={...i,...t.writer!==void 0?{writer:t.writer}:{},...t.readers!==void 0?{readers:t.readers}:{},...t.backupRetention!==void 0?{backupRetention:t.backupRetention}:{},...t.preferredMaintenanceWindow!==void 0?{preferredMaintenanceWindow:t.preferredMaintenanceWindow}:{}};break;case"GlobalAurora":r={...i,primaryRegion:t.primaryRegion,...t.secondaryRegions!==void 0?{secondaryRegions:t.secondaryRegions}:{}};break;default:{let a=t.databaseType;return $(new Error(`Unknown database type: ${String(a)}`))}}let o={...e,database:[...e.database,r]};return ry(o,t.resourceName,"database",t),C(o)}ye(NR,"addDatabase");function wR(e,t){let n=e.database.map(o=>({...o})),i=n.find(o=>o.name===t.targetDatabase||o.databaseName===t.targetDatabase);if(!i)return $(new Error(`Database '${t.targetDatabase}' not found.`));let r={};return t.maxConnections!==void 0&&(r.maxConnections=t.maxConnections),t.maxIdleConnections!==void 0&&(r.maxIdleConnections=t.maxIdleConnections),t.connectionBorrowTimeout!==void 0&&(r.connectionBorrowTimeout=t.connectionBorrowTimeout),t.requireTLS!==void 0&&(r.requireTLS=t.requireTLS),i.proxy=Object.keys(r).length>0?r:{},C({...e,database:n})}ye(wR,"addProxy");function kR(e,t){let n=t.bucketName??t.resourceName.toLowerCase(),i=Fe(n),r=e.s3.length,o=r===0?"":`${r+1}`,a={name:i,bucketName:n,variableName:`bucket${o}`,...t.publicReadAccess!==void 0?{publicReadAccess:t.publicReadAccess}:{},...t.versioned!==void 0?{versioned:t.versioned}:{},...t.encryption!==void 0?{encryption:t.encryption}:{},...t.websiteHosting?{websiteHosting:{indexDocument:"index.html"}}:{}},c={...e,s3:[...e.s3,a]};return ry(c,i,"storage",t),C(c)}ye(kR,"addS3");function OR(e,t){let n={};if(t.maxAzs!==void 0&&(n.maxAzs=t.maxAzs),t.natGateways!==void 0&&(n.natGateways=t.natGateways),t.flowLogs!==void 0&&(n.flowLogs=t.flowLogs),t.vpcEndpoints!==void 0&&(n.vpcEndpoints=t.vpcEndpoints),t.networkName){let i={name:t.networkName,...n};return C({...e,additionalNetworks:[...e.additionalNetworks??[],i]})}return C({...e,network:{...e.network??{},...n}})}ye(OR,"addNetwork");function DR(e,t){let n=t.connectedDatabase??[],i={name:t.resourceName,type:"ecs",needsConnection:n.length>0,connectedDatabase:n,...t.loadBalancer!==void 0?{cluster:{loadBalancer:t.loadBalancer}}:{},services:t.services.map(r=>({name:r.name,capacityProvider:r.capacityProvider??"FARGATE",...r.port!==void 0?{containers:[{port:r.port}]}:{},...r.cpu!==void 0?{cpu:r.cpu}:{},...r.memory!==void 0?{memoryLimitMiB:r.memory}:{}})),...t.docker!==void 0&&{docker:t.docker}};return C({...e,compute:[...e.compute,i]})}ye(DR,"addEcsCompute");function MR(e,t){let n=t.connectedDatabase??[],i={name:t.resourceName,type:"lambda",needsConnection:n.length>0,connectedDatabase:n,...t.timeout!==void 0?{timeout:t.timeout}:{},...t.memory!==void 0?{memory:t.memory}:{},...t.handler!==void 0?{handler:t.handler}:{},...t.runtime!==void 0?{runtime:t.runtime}:{}};return C({...e,compute:[...e.compute,i]})}ye(MR,"addLambdaCompute");function jR(e,t){let n={name:t.resourceName,defaultOriginRef:t.defaultOriginRef,...t.customDomain!==void 0?{customDomain:t.customDomain}:{},...t.certificateArn!==void 0?{certificateArn:t.certificateArn}:{},...t.behaviours&&t.behaviours.length>0?{behaviours:[...t.behaviours].map(i=>({pathPattern:i.pathPattern,originRef:i.originRef,...i.cachePolicy!==void 0?{cachePolicy:i.cachePolicy}:{}}))}:{}};return C({...e,cdn:n})}ye(jR,"addCdn");function zR(e,t){let n=t.instanceType?{instanceType:t.instanceType}:{};return C({...e,tunnel:n})}ye(zR,"addTunnel");function LR(e,t){let n=[...e.database.map(i=>i.name),...e.s3.map(i=>i.name),...e.compute.map(i=>i.name),...(e.dynamodb??[]).map(i=>i.name),...(e.sqs??[]).map(i=>i.name)];return e.cdn&&n.push(e.cdn.name),n.includes(t)}ye(LR,"isResourceNameTaken");function ty(e,t){return e.database.some(n=>n.name===t)||e.s3.some(n=>n.name===t)||e.compute.some(n=>n.name===t)||(e.dynamodb??[]).some(n=>n.name===t)||(e.sqs??[]).some(n=>n.name===t)}ye(ty,"resourceExistsInPlan");function ry(e,t,n,i){i.connectToCompute&&i.connectToCompute.length>0&&xn(e,[...i.connectToCompute],t,n),i.connectToServices&&i.connectToServices.length>0&&Yi(e,[...i.connectToServices],t,n)}ye(ry,"applyConnections");var C4=Object.defineProperty,N4=(e,t)=>C4(e,"name",{value:t,configurable:!0});function UR(e,t,n){let i;try{i=kr(e,{extractCustomCode:!0})}catch(u){return $(new Error(`Failed to parse infrastructure.ts: ${u instanceof Error?u.message:String(u)}`))}let r;try{r=Sn(i,t,{skipValidation:!0})}catch(u){return $(new Error(`Failed to build resource plan: ${u instanceof Error?u.message:String(u)}`))}i.customCodeBlocks&&i.customCodeBlocks.length>0&&(r.customCodeBlocks=i.customCodeBlocks);let o=Za(r,n);if(!o.success)return o;let a=Dl(r,n);if(!a.success)return a;let c=qi(a.data);return c.success?C({originalContent:e,modifiedContent:c.data,addedResource:{type:n.type,name:n.resourceName}}):$(new Error(`Code generation failed: ${c.error.message}`))}N4(UR,"generateResourceChange");var w4=Object.defineProperty,Ft=(e,t)=>w4(e,"name",{value:t,configurable:!0}),k4=new Set(Va.options);function FR(e){return k4.has(e.toUpperCase())}Ft(FR,"isRecordType");function BR(e){return e.endsWith(".")?e.slice(0,-1):e}Ft(BR,"stripTrailingDot");function VR(e){let t=!1;for(let n=0;n<e.length;n++)if(e[n]==='"')t=!t;else if(e[n]===";"&&!t)return e.slice(0,n).trimEnd();return e}Ft(VR,"stripInlineComment");function ZR(e,t){let n=e.slice(t).join(" "),i=[],r="",o=!1;for(let a of n)a==='"'?(o&&(i.push(r),r=""),o=!o):o&&(r+=a);return i.join(" ")}Ft(ZR,"parseTxtValue");function GR(e){let t=/;\s*auto\s*$/.test(e),n=e.replace(/;\s*auto\s*$/,"").trim().match(/^\$FJALL-DELEGATE\s+(\S+)\s+TO\s+(\S+)$/i);if(n)return{subdomain:n[1],targetAccount:n[2],auto:t}}Ft(GR,"parseDelegateDirective");function WR(e){if(e.length<2)return;let t=e[1],n=e.slice(2);return{domainName:t,subjectAlternativeNames:n}}Ft(WR,"parseCertDirective");function HR(e){let t=[],n="",i=!1;for(let r of e)r==='"'?(i=!i,n+=r):/\s/.test(r)&&!i?n.length>0&&(t.push(n),n=""):n+=r;return n.length>0&&t.push(n),t}Ft(HR,"tokenise");function qR(e){if(e.length<2)return;let t=0,n=e[t++],i,r;for(;t<e.length&&r===void 0;){let a=e[t].toUpperCase();if(a==="IN")t++;else if(FR(a))r=a,t++;else if(/^\d+$/.test(e[t]))i=parseInt(e[t],10),t++;else return}if(!r)return;let o=e.slice(t);switch(r){case"MX":{if(o.length<2)return;let a=parseInt(o[0],10),c=o.slice(1).join(" ");return{name:n,type:r,ttl:i,value:c,priority:a}}case"SRV":{if(o.length<4)return;let a=parseInt(o[0],10),c=parseInt(o[1],10),u=parseInt(o[2],10),l=o[3];return{name:n,type:r,ttl:i,value:l,priority:a,weight:c,port:u}}case"TXT":{let a=ZR(e,t);return{name:n,type:r,ttl:i,value:a}}case"CAA":{let a=o.join(" ");return{name:n,type:r,ttl:i,value:a}}case"A":{if(o.length===0)return;if(o[0].toUpperCase()==="ALIAS"){if(o.length<2)return;let a=o.slice(1).join(" ");return{name:n,type:r,ttl:i,value:`${Nl}${a}`}}return{name:n,type:r,ttl:i,value:o[0]}}default:return o.length===0?void 0:{name:n,type:r,ttl:i,value:o[0]}}}Ft(qR,"parseRecord");function KR(e){let t=e.split(`
450
+ `),n,i=300,r=[],o=[],a=[];for(let c of t){let u=c.trim();if(u===""||u.startsWith(";"))continue;if(u.toUpperCase().startsWith(Ut.FJALL_DELEGATE)){let v=GR(u);v&&o.push(v);continue}let l=VR(u);if(l==="")continue;let m=HR(l);if(m.length===0)continue;let p=m[0].toUpperCase();if(p===Ut.ORIGIN){if(m.length<2)continue;n=BR(m[1]);continue}if(p===Ut.TTL){if(m.length<2)continue;i=parseInt(m[1],10);continue}if(p===Ut.FJALL_CERT){let v=WR(m);v&&a.push(v);continue}let g=qR(m);g&&r.push(g)}return n?C({origin:n,ttl:i,records:r,delegations:o,certificates:a}):$(new Error("Missing $ORIGIN directive"))}Ft(KR,"parseZoneFile");function YR(e,t){if(!e.startsWith("fjall:"))return;let n=e.split(":");if(n.length<3)return;let i=n[1],r=n[2],o=`${i}:${r}`;return t.get(o)??t.get(e)}Ft(YR,"resolveAlias");var O4=Object.defineProperty,ny=(e,t)=>O4(e,"name",{value:t,configurable:!0});function XR(e,t){return e.length>=t?e:e+" ".repeat(t-e.length)}ny(XR,"padRight");function JR(e,t){let n=XR(e.name,24),i=e.ttl!==void 0&&e.ttl!==t?`${e.ttl} `:"";switch(e.type){case"MX":return`${n} ${i}IN MX ${e.priority??10} ${e.value}`;case"SRV":return`${n} ${i}IN SRV ${e.priority??0} ${e.weight??0} ${e.port??0} ${e.value}`;case"TXT":return`${n} ${i}IN TXT "${e.value}"`;case"CAA":return`${n} ${i}IN CAA ${e.value}`;default:return e.type==="A"&&e.value.startsWith(Nl)?`${n} ${i}IN A ${e.value}`:`${n} ${i}IN ${e.type} ${e.value}`}}ny(JR,"formatRecord");function QR(e){let t=[];if(t.push("; zone.bind \u2014 managed by fjall"),t.push(`${Ut.ORIGIN} ${e.origin}.`),t.push(`${Ut.TTL} ${e.ttl}`),t.push(""),e.certificates.length>0){for(let n of e.certificates){let i=[n.domainName,...n.subjectAlternativeNames];t.push(`${Ut.FJALL_CERT} ${i.join(" ")}`)}t.push("")}if(e.delegations.length>0){for(let n of e.delegations){let i=n.auto?" ; auto":"";t.push(`${Ut.FJALL_DELEGATE} ${n.subdomain} TO ${n.targetAccount}${i}`)}t.push("")}for(let n of e.records)t.push(JR(n,e.ttl));return t.join(`
451
451
  `)+`
452
- `}ny(QR,"generateZoneFile");var O4=Object.defineProperty,iy=(e,t)=>O4(e,"name",{value:t,configurable:!0});function eP(e){let{domainName:t,hostedZoneId:n,records:i=[]}=e,r=`fjall/domains/${t}`;return[{path:`${r}/infrastructure.ts`,content:tP({domainName:t,records:i,hostedZoneId:n})},{path:`${r}/package.json`,content:rP(t)},{path:`${r}/tsconfig.json`,content:M4},{path:`${r}/cdk.json`,content:j4},{path:`${r}/.gitignore`,content:D4}]}iy(eP,"generateDomainFiles");function tP(e){let{domainName:t,records:n,hostedZoneId:i}=e,r=Fe(t.split(".").join("")),o=is(t),a=n.map(l=>{let m=l.ttl!==void 0?`, ttl: ${l.ttl}`:"";return` { type: ${JSON.stringify(l.type)}, name: ${JSON.stringify(l.name)}, value: ${JSON.stringify(l.value)}${m} },`}),c=a.length>0?`[
452
+ `}ny(QR,"generateZoneFile");var D4=Object.defineProperty,iy=(e,t)=>D4(e,"name",{value:t,configurable:!0});function eP(e){let{domainName:t,hostedZoneId:n,records:i=[]}=e,r=`fjall/domains/${t}`;return[{path:`${r}/infrastructure.ts`,content:tP({domainName:t,records:i,hostedZoneId:n})},{path:`${r}/package.json`,content:rP(t)},{path:`${r}/tsconfig.json`,content:j4},{path:`${r}/cdk.json`,content:z4},{path:`${r}/.gitignore`,content:M4}]}iy(eP,"generateDomainFiles");function tP(e){let{domainName:t,records:n,hostedZoneId:i}=e,r=Fe(t.split(".").join("")),o=is(t),a=n.map(l=>{let m=l.ttl!==void 0?`, ttl: ${l.ttl}`:"";return` { type: ${JSON.stringify(l.type)}, name: ${JSON.stringify(l.name)}, value: ${JSON.stringify(l.value)}${m} },`}),c=a.length>0?`[
453
453
  ${a.join(`
454
454
  `)}
455
455
  ]`:"[]",u=i?` hostedZoneId: ${JSON.stringify(i)},
@@ -476,7 +476,7 @@ ${u} certificates: [
476
476
  records: ${c},
477
477
  });
478
478
  `}iy(tP,"generateDefaultInfrastructureTs");function rP(e){return JSON.stringify({name:`domain-${e}`,version:xu,scripts:{},devDependencies:{"@types/node":"20.4.9","ts-node":"^10.9.1",typescript:"~5.1.6"},dependencies:{"@fjall/components-infrastructure":`^${xu}`,"aws-cdk-lib":"^2.260.0",constructs:"^10.6.0"}},null,2)+`
479
- `}iy(rP,"generateDomainPackageJson");var D4=`node_modules/
479
+ `}iy(rP,"generateDomainPackageJson");var M4=`node_modules/
480
480
  cdk.out/
481
481
  *.d.ts
482
482
  *.js
@@ -484,12 +484,12 @@ cdk.out/
484
484
  .fjall-state*.json.tmp
485
485
  .deploy-state.json
486
486
  .deploy-state.json.tmp
487
- `,M4=JSON.stringify({compilerOptions:{target:"ES2020",module:"commonjs",lib:["es2020","dom"],declaration:!0,strict:!0,noImplicitAny:!0,strictNullChecks:!0,noImplicitThis:!0,alwaysStrict:!0,noUnusedLocals:!1,noUnusedParameters:!1,noImplicitReturns:!0,noFallthroughCasesInSwitch:!1,inlineSourceMap:!0,inlineSources:!0,experimentalDecorators:!0,strictPropertyInitialization:!1,typeRoots:["./node_modules/@types"]},exclude:["node_modules","cdk.out"]},null,2)+`
488
- `,j4=JSON.stringify({app:"npx ts-node --prefer-ts-exts --transpile-only infrastructure.ts",assetMetadata:!1,pathMetadata:!1,versionReporting:!1,watch:{include:["**"],exclude:["README.md","cdk*.json","**/*.d.ts","**/*.js","tsconfig.json","package*.json","yarn.lock","node_modules","test"]},context:{"@aws-cdk/aws-lambda:recognizeLayerVersion":!0,"@aws-cdk/core:checkSecretUsage":!0,"@aws-cdk/core:target-partitions":["aws","aws-cn"],"@aws-cdk-containers/ecs-service-extensions:enableDefaultLogDriver":!0,"@aws-cdk/aws-ec2:uniqueImdsv2TemplateName":!0,"@aws-cdk/aws-ecs:arnFormatIncludesClusterName":!0,"@aws-cdk/aws-iam:minimizePolicies":!0,"@aws-cdk/core:validateSnapshotRemovalPolicy":!0,"@aws-cdk/aws-codepipeline:crossAccountKeyAliasStackSafeResourceName":!0,"@aws-cdk/aws-s3:createDefaultLoggingPolicy":!0,"@aws-cdk/aws-sns-subscriptions:restrictSqsDescryption":!0,"@aws-cdk/aws-apigateway:disableCloudWatchRole":!0,"@aws-cdk/core:enablePartitionLiterals":!0,"@aws-cdk/aws-events:eventsTargetQueueSameAccount":!0,"@aws-cdk/aws-iam:standardizedServicePrincipals":!0,"@aws-cdk/aws-ecs:disableExplicitDeploymentControllerForCircuitBreaker":!0,"@aws-cdk/aws-iam:importedRoleStackSafeDefaultPolicyName":!0,"@aws-cdk/aws-s3:serverAccessLogsUseBucketPolicy":!0,"@aws-cdk/aws-route53-patters:useCertificate":!0,"@aws-cdk/customresources:installLatestAwsSdkDefault":!1,"@aws-cdk/aws-rds:databaseProxyUniqueResourceName":!0,"@aws-cdk/aws-codedeploy:removeAlarmsFromDeploymentGroup":!0,"@aws-cdk/aws-apigateway:authorizerChangeDeploymentLogicalId":!0,"@aws-cdk/aws-ec2:launchTemplateDefaultUserData":!0,"@aws-cdk/aws-secretsmanager:useAttachedSecretResourcePolicyForSecretTargetAttachments":!0,"@aws-cdk/aws-redshift:columnId":!0,"@aws-cdk/aws-stepfunctions-tasks:enableEmrServicePolicyV2":!0,"@aws-cdk/aws-ec2:restrictDefaultSecurityGroup":!0,"@aws-cdk/aws-apigateway:requestValidatorUniqueId":!0,"@aws-cdk/aws-kms:aliasNameRef":!0,"@aws-cdk/aws-autoscaling:generateLaunchTemplateInsteadOfLaunchConfig":!0,"@aws-cdk/core:includePrefixInUniqueNameGeneration":!0,"@aws-cdk/aws-opensearchservice:enableOpensearchMultiAzWithStandby":!0}},null,2)+`
489
- `;var z4=Object.defineProperty,jr=(e,t)=>z4(e,"name",{value:t,configurable:!0});function iP(e,t,n){let i=e.root?nP.join(e.root,t):t;try{if(Xi.existsSync(i)){let r=`${i}.bak`,o=`${r}.tmp`;Xi.writeFileSync(o,n),Xi.renameSync(o,r)}return C(void 0)}catch(r){let o=vt(r);return yu.warn("Generator",`Failed to create backup of ${t}`,{error:On(o.message)}),$(o)}}jr(iP,"createInfrastructureBackup");function An(e,...t){let n={};for(let i of t)e[i]!==void 0&&(n[i]=e[i]);return n}jr(An,"pickDefined");function oP(e,t){try{let n=kr(e,{extractCustomCode:!0}),i=Sn(n,t,{skipValidation:!0});return n.customCodeBlocks?.length&&(i.customCodeBlocks=n.customCodeBlocks),C({parsed:n,plan:i})}catch(n){return $(vt(n))}}jr(oP,"parseAndBuildPlan");function aP(e,t){let n=oP(e,t);if(!n.success)throw new Error(`Failed to parse infrastructure: ${n.error.message}`,{cause:n.error});return n.data}jr(aP,"parseAndBuildPlanOrThrow");function sP(e,t,n){let i=e.safeParse(t);if(!i.success)throw new Error(`Invalid ${n} generator options:
490
- ${ca(i.error)}`);return i.data}jr(sP,"validateGeneratorOptions");function cP(e,t){let n=qt(t),i=e.read(n)?.toString();if(!i)throw new Error(`App '${t}' not found. Expected infrastructure.ts at: ${n}`);return{path:n,content:i}}jr(cP,"readInfrastructureOrThrow");async function oy(e,t,n,i,r){let o=sP(t,n,i),{path:a,content:c}=cP(e,o.appName),{plan:u}=aP(c,o.appName),l=await r({tree:e,validated:o,plan:u,infrastructurePath:a,content:c}),m=uP(e,a,c,l);if(!m.success)throw new Error(m.error.message,{cause:m.error})}jr(oy,"withInfrastructurePlan");function uP(e,t,n,i){let r=qi(i);if(!r.success)return $(r.error);let o=iP(e,t,n);return o.success?(e.write(t,r.data),C(void 0)):$(new Error(`Failed to create backup: ${o.error.message}`))}jr(uP,"generateAndWriteInfrastructure");var hS=Xw(Lw(),1),BF=Object.defineProperty,Uw=(e,t)=>BF(e,"name",{value:t,configurable:!0});async function vS(e,t,n,i){let r=`Connect to existing ${t}?`,o=`Found ${e} ${t}s. Configure connections?`,a=e===1?n??r:i?.replace("{count}",String(e))??o,c=await(0,hS.default)([{type:"confirm",name:"shouldConnect",message:a,initial:!0}]);return c?c.shouldConnect:!1}Uw(vS,"promptForConnection");async function bS(e,t,n){if(e.length===1)return process.stdout.write(`
487
+ `,j4=JSON.stringify({compilerOptions:{target:"ES2020",module:"commonjs",lib:["es2020","dom"],declaration:!0,strict:!0,noImplicitAny:!0,strictNullChecks:!0,noImplicitThis:!0,alwaysStrict:!0,noUnusedLocals:!1,noUnusedParameters:!1,noImplicitReturns:!0,noFallthroughCasesInSwitch:!1,inlineSourceMap:!0,inlineSources:!0,experimentalDecorators:!0,strictPropertyInitialization:!1,typeRoots:["./node_modules/@types"]},exclude:["node_modules","cdk.out"]},null,2)+`
488
+ `,z4=JSON.stringify({app:"npx ts-node --prefer-ts-exts --transpile-only infrastructure.ts",assetMetadata:!1,pathMetadata:!1,versionReporting:!1,watch:{include:["**"],exclude:["README.md","cdk*.json","**/*.d.ts","**/*.js","tsconfig.json","package*.json","yarn.lock","node_modules","test"]},context:{"@aws-cdk/aws-lambda:recognizeLayerVersion":!0,"@aws-cdk/core:checkSecretUsage":!0,"@aws-cdk/core:target-partitions":["aws","aws-cn"],"@aws-cdk-containers/ecs-service-extensions:enableDefaultLogDriver":!0,"@aws-cdk/aws-ec2:uniqueImdsv2TemplateName":!0,"@aws-cdk/aws-ecs:arnFormatIncludesClusterName":!0,"@aws-cdk/aws-iam:minimizePolicies":!0,"@aws-cdk/core:validateSnapshotRemovalPolicy":!0,"@aws-cdk/aws-codepipeline:crossAccountKeyAliasStackSafeResourceName":!0,"@aws-cdk/aws-s3:createDefaultLoggingPolicy":!0,"@aws-cdk/aws-sns-subscriptions:restrictSqsDescryption":!0,"@aws-cdk/aws-apigateway:disableCloudWatchRole":!0,"@aws-cdk/core:enablePartitionLiterals":!0,"@aws-cdk/aws-events:eventsTargetQueueSameAccount":!0,"@aws-cdk/aws-iam:standardizedServicePrincipals":!0,"@aws-cdk/aws-ecs:disableExplicitDeploymentControllerForCircuitBreaker":!0,"@aws-cdk/aws-iam:importedRoleStackSafeDefaultPolicyName":!0,"@aws-cdk/aws-s3:serverAccessLogsUseBucketPolicy":!0,"@aws-cdk/aws-route53-patters:useCertificate":!0,"@aws-cdk/customresources:installLatestAwsSdkDefault":!1,"@aws-cdk/aws-rds:databaseProxyUniqueResourceName":!0,"@aws-cdk/aws-codedeploy:removeAlarmsFromDeploymentGroup":!0,"@aws-cdk/aws-apigateway:authorizerChangeDeploymentLogicalId":!0,"@aws-cdk/aws-ec2:launchTemplateDefaultUserData":!0,"@aws-cdk/aws-secretsmanager:useAttachedSecretResourcePolicyForSecretTargetAttachments":!0,"@aws-cdk/aws-redshift:columnId":!0,"@aws-cdk/aws-stepfunctions-tasks:enableEmrServicePolicyV2":!0,"@aws-cdk/aws-ec2:restrictDefaultSecurityGroup":!0,"@aws-cdk/aws-apigateway:requestValidatorUniqueId":!0,"@aws-cdk/aws-kms:aliasNameRef":!0,"@aws-cdk/aws-autoscaling:generateLaunchTemplateInsteadOfLaunchConfig":!0,"@aws-cdk/core:includePrefixInUniqueNameGeneration":!0,"@aws-cdk/aws-opensearchservice:enableOpensearchMultiAzWithStandby":!0}},null,2)+`
489
+ `;var L4=Object.defineProperty,jr=(e,t)=>L4(e,"name",{value:t,configurable:!0});function iP(e,t,n){let i=e.root?nP.join(e.root,t):t;try{if(Xi.existsSync(i)){let r=`${i}.bak`,o=`${r}.tmp`;Xi.writeFileSync(o,n),Xi.renameSync(o,r)}return C(void 0)}catch(r){let o=vt(r);return yu.warn("Generator",`Failed to create backup of ${t}`,{error:On(o.message)}),$(o)}}jr(iP,"createInfrastructureBackup");function An(e,...t){let n={};for(let i of t)e[i]!==void 0&&(n[i]=e[i]);return n}jr(An,"pickDefined");function oP(e,t){try{let n=kr(e,{extractCustomCode:!0}),i=Sn(n,t,{skipValidation:!0});return n.customCodeBlocks?.length&&(i.customCodeBlocks=n.customCodeBlocks),C({parsed:n,plan:i})}catch(n){return $(vt(n))}}jr(oP,"parseAndBuildPlan");function aP(e,t){let n=oP(e,t);if(!n.success)throw new Error(`Failed to parse infrastructure: ${n.error.message}`,{cause:n.error});return n.data}jr(aP,"parseAndBuildPlanOrThrow");function sP(e,t,n){let i=e.safeParse(t);if(!i.success)throw new Error(`Invalid ${n} generator options:
490
+ ${ca(i.error)}`);return i.data}jr(sP,"validateGeneratorOptions");function cP(e,t){let n=qt(t),i=e.read(n)?.toString();if(!i)throw new Error(`App '${t}' not found. Expected infrastructure.ts at: ${n}`);return{path:n,content:i}}jr(cP,"readInfrastructureOrThrow");async function oy(e,t,n,i,r){let o=sP(t,n,i),{path:a,content:c}=cP(e,o.appName),{plan:u}=aP(c,o.appName),l=await r({tree:e,validated:o,plan:u,infrastructurePath:a,content:c}),m=uP(e,a,c,l);if(!m.success)throw new Error(m.error.message,{cause:m.error})}jr(oy,"withInfrastructurePlan");function uP(e,t,n,i){let r=qi(i);if(!r.success)return $(r.error);let o=iP(e,t,n);return o.success?(e.write(t,r.data),C(void 0)):$(new Error(`Failed to create backup: ${o.error.message}`))}jr(uP,"generateAndWriteInfrastructure");var hS=Xw(Lw(),1),VF=Object.defineProperty,Uw=(e,t)=>VF(e,"name",{value:t,configurable:!0});async function vS(e,t,n,i){let r=`Connect to existing ${t}?`,o=`Found ${e} ${t}s. Configure connections?`,a=e===1?n??r:i?.replace("{count}",String(e))??o,c=await(0,hS.default)([{type:"confirm",name:"shouldConnect",message:a,initial:!0}]);return c?c.shouldConnect:!1}Uw(vS,"promptForConnection");async function bS(e,t,n){if(e.length===1)return process.stdout.write(`
491
491
  Auto-selected: ${e[0].name}
492
492
  `),[e[0].name];let i=[];for(;i.length===0;)i=(await(0,hS.default)([{type:"multiselect",name:"selected",message:t,choices:e.map(r=>({title:r.name,value:r.name,description:n?.(r),selected:!1}))}]))?.selected||[],i.length===0&&process.stdout.write(`
493
493
  Please select at least one resource
494
494
 
495
- `);return i}Uw(bS,"selectResources");var VF=Object.defineProperty,ZF=(e,t)=>VF(e,"name",{value:t,configurable:!0});async function yS(e,t,n,i,r){if(e.compute.length===0)return;if(t.connectionConfig){let{connectToCompute:a=[],connectToServices:c=[]}=t.connectionConfig;c.length>0&&Yi(e,c,n,i),a.length>0&&xn(e,a,n,i);return}if(t.nameProvidedByFlag||!await vS(e.compute.length,"compute resource",r.singularPrompt,r.pluralPrompt))return;let o=await bS(e.compute,"Select compute resources to connect:",a=>a.type.toUpperCase());o.length>0&&xn(e,o,n,i)}ZF(yS,"handleResourceConnections");var GF=Object.defineProperty,SS=(e,t)=>GF(e,"name",{value:t,configurable:!0});function Fw(e,t){let n={name:e,type:t.databaseType,databaseName:t.databaseName,...An(t,"databaseInsights","port","proxy","credentials","encryption","deletionProtection")};switch(t.databaseType){case"Instance":return{...n,...An(t,"instanceType","multiAz","readReplica","publiclyAccessible","backupRetention","snapshotIdentifier","snapshotUsername")};case"Aurora":return{...n,...An(t,"writer","readers","backupRetention","preferredMaintenanceWindow","snapshotIdentifier","snapshotUsername")};case"GlobalAurora":return{...n,primaryRegion:t.primaryRegion,...t.secondaryRegions&&t.secondaryRegions.length>0&&{secondaryRegions:t.secondaryRegions},...An(t,"globalClusterIdentifier","enableGlobalWriteForwarding","writer","readers","backupRetention","preferredMaintenanceWindow","snapshotIdentifier","snapshotUsername")};default:return t}}SS(Fw,"buildRelationalResourcePlan");function Bw(e,t){return{name:e,type:"ClickHouse",databaseName:t.databaseName,...An(t,"instanceType","coldTier","optimiseSchedule","backupSchedule","backupRetentionDays")}}SS(Bw,"buildClickHouseResourcePlan");async function Vw(e,t){await oy(e,c$,t,"database",async({tree:n,validated:i,plan:r})=>{let o=i.databaseType==="ClickHouse",a=o?`${i.appName}Analytics`:`${i.appName}Database`,c=i.resourceName||a;if(rd(n,i.appName,c),nd(n,i.appName,i.databaseName))throw new Error(`Database name '${i.databaseName}' already exists in ${i.appName}. Please choose a different database name.`);let u;if(o){let l=Bw(c,i);u={...r,clickhouse:[...r.clickhouse??[],l]}}else{let l=Fw(c,i);u={...r,database:[...r.database,l]}}return await yS(u,i,c,"database",{singularPrompt:"Found an existing compute resource. Configure database access for it?",pluralPrompt:"Found {count} compute resources. Configure database access for them?"}),u})}SS(Vw,"databaseGenerator");var YJ=Vw;export{Vw as databaseGenerator,YJ as default};
495
+ `);return i}Uw(bS,"selectResources");var ZF=Object.defineProperty,GF=(e,t)=>ZF(e,"name",{value:t,configurable:!0});async function yS(e,t,n,i,r){if(e.compute.length===0)return;if(t.connectionConfig){let{connectToCompute:a=[],connectToServices:c=[]}=t.connectionConfig;c.length>0&&Yi(e,c,n,i),a.length>0&&xn(e,a,n,i);return}if(t.nameProvidedByFlag||!await vS(e.compute.length,"compute resource",r.singularPrompt,r.pluralPrompt))return;let o=await bS(e.compute,"Select compute resources to connect:",a=>a.type.toUpperCase());o.length>0&&xn(e,o,n,i)}GF(yS,"handleResourceConnections");var WF=Object.defineProperty,SS=(e,t)=>WF(e,"name",{value:t,configurable:!0});function Fw(e,t){let n={name:e,type:t.databaseType,databaseName:t.databaseName,...An(t,"databaseInsights","port","proxy","credentials","encryption","deletionProtection")};switch(t.databaseType){case"Instance":return{...n,...An(t,"instanceType","multiAz","readReplica","publiclyAccessible","backupRetention","snapshotIdentifier","snapshotUsername")};case"Aurora":return{...n,...An(t,"writer","readers","backupRetention","preferredMaintenanceWindow","snapshotIdentifier","snapshotUsername")};case"GlobalAurora":return{...n,primaryRegion:t.primaryRegion,...t.secondaryRegions&&t.secondaryRegions.length>0&&{secondaryRegions:t.secondaryRegions},...An(t,"globalClusterIdentifier","enableGlobalWriteForwarding","writer","readers","backupRetention","preferredMaintenanceWindow","snapshotIdentifier","snapshotUsername")};default:return t}}SS(Fw,"buildRelationalResourcePlan");function Bw(e,t){return{name:e,type:"ClickHouse",databaseName:t.databaseName,...An(t,"instanceType","coldTier","optimiseSchedule","backupSchedule","backupRetentionDays")}}SS(Bw,"buildClickHouseResourcePlan");async function Vw(e,t){await oy(e,c$,t,"database",async({tree:n,validated:i,plan:r})=>{let o=i.databaseType==="ClickHouse",a=o?`${i.appName}Analytics`:`${i.appName}Database`,c=i.resourceName||a;if(rd(n,i.appName,c),nd(n,i.appName,i.databaseName))throw new Error(`Database name '${i.databaseName}' already exists in ${i.appName}. Please choose a different database name.`);let u;if(o){let l=Bw(c,i);u={...r,clickhouse:[...r.clickhouse??[],l]}}else{let l=Fw(c,i);u={...r,database:[...r.database,l]}}return await yS(u,i,c,"database",{singularPrompt:"Found an existing compute resource. Configure database access for it?",pluralPrompt:"Found {count} compute resources. Configure database access for them?"}),u})}SS(Vw,"databaseGenerator");var XJ=Vw;export{Vw as databaseGenerator,XJ as default};