trigger_system 1.3.1 → 1.3.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,84 +1,84 @@
1
- var{defineProperty:A8,getOwnPropertyNames:_$,getOwnPropertyDescriptor:z$}=Object,H$=Object.prototype.hasOwnProperty;function F$(Z){return this[Z]}var A7=(Z)=>{var X=(P7??=new WeakMap).get(Z),Q;if(X)return X;if(X=A8({},"__esModule",{value:!0}),Z&&typeof Z==="object"||typeof Z==="function"){for(var U of _$(Z))if(!H$.call(X,U))A8(X,U,{get:F$.bind(Z,U),enumerable:!(Q=z$(Z,U))||Q.enumerable})}return P7.set(Z,X),X},P7;var B$=(Z)=>Z;function M$(Z,X){this[Z]=B$.bind(null,X)}var h6=(Z,X)=>{for(var Q in X)A8(Z,Q,{get:X[Q],enumerable:!0,configurable:!0,set:M$.bind(X,Q)})};var R=(Z,X)=>()=>(Z&&(X=Z(Z=0)),X);var R$=((Z)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(Z,{get:(X,Q)=>(typeof require<"u"?require:X)[Q]}):Z)(function(Z){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+Z+'" is not supported')});var c1=(Z)=>Array.isArray(Z)?Z:[Z],S7=(Z,X)=>{let Q=[[],[]];for(let U of Z)if(X(U))Q[0].push(U);else Q[1].push(U);return Q},m6,d0=(Z,X)=>Z.includes(X),j7=(Z,X=0)=>[...Array(Z)].map((Q,U)=>U+X),u=(Z,X,Q)=>{if(Z===void 0)return X===void 0?[]:Array.isArray(X)?X:[X];if(Q?.prepend)if(Array.isArray(X))Z.unshift(...X);else Z.unshift(X);else if(Array.isArray(X))Z.push(...X);else Z.push(X);return Z},E1=(Z,X)=>{if(X===void 0||X===null)return Z??[];if(Z===void 0||Z===null)return c1(X);return Z.concat(X)},C7=(...Z)=>Z.reduce(E1,[]),F1=(Z,X,Q)=>{if(Z===void 0)return Array.isArray(X)?X:[X];let U=Q?.isEqual??((J,$)=>J===$);for(let J of c1(X))if(!Z.some(($)=>U($,J)))Z.push(J);return Z},N7=(Z,X)=>Z.reduce((Q,U)=>{let J=U[X];return Q[J]=u(Q[J],U),Q},{}),f1=(Z,X,Q)=>Z.length===X.length&&Z.every(Q?.isEqual?(U,J)=>Q.isEqual(U,X[J]):(U,J)=>U===X[J]);var u6=R(()=>{m6=Array});var E0=(Z,X)=>H0(Z)===X,H0=(Z)=>{let X=typeof Z;return X==="object"?Z===null?"null":"object":X==="function"?"object":X},f0,b7;var I2=R(()=>{f0={boolean:"boolean",null:"null",undefined:"undefined",bigint:"a bigint",number:"a number",object:"an object",string:"a string",symbol:"a symbol"},b7={...f0,function:"a function"}});var E7,i=(Z)=>F2(Z,E7),F2=(Z,X=Error)=>{throw new X(Z)},S4,M=(Z)=>F2(Z,S4),U1=(Z)=>` ${Z}`,f7="​";var B1=R(()=>{E7=class E7 extends Error{};S4=class S4 extends Error{name="ParseError"}});var k=(Z,X)=>{let Q={},U=Array.isArray(Z),J=!1;for(let[$,W]of Object.entries(Z).entries()){let Y=U?X($,W[1]):X(...W,$);J||=typeof Y[0]==="number";let G=Array.isArray(Y[0])||Y.length===0?Y:[Y];for(let[L,q]of G)if(typeof L==="object")Q[L.group]=u(Q[L.group],q);else Q[L]=q}return J?Object.values(Q):Q};var S8=R(()=>{u6()});class C8{constructor(Z){Object.assign(this,Z)}}var j8,F0=(Z,X)=>(Z in X),y2=(Z,X)=>(X in Z),I7=class{},j4,O$=(Z,X)=>{let Q={},U={},J;for(J in Z)if(J in X)Q[J]=Z[J];else U[J]=Z[J];return[Q,U]},p6=(Z,X)=>O$(Z,X)[1],M1=(Z)=>Object.keys(Z).length===0,B2=(Z)=>[...Object.entries(Z),...Object.getOwnPropertySymbols(Z).map((X)=>[X,Z[X]])],y7=(Z,X)=>Object.defineProperties(Z,Object.getOwnPropertyDescriptors(X)),k7=(Z)=>{let X=Object.keys(Z).sort(),Q={};for(let U=0;U<X.length;U++)Q[X[U]]=Z[X[U]];return Q},I0,g7=(Z)=>Object.values(Z).filter((X)=>{if(typeof X==="number")return!0;return typeof Z[X]!=="number"});var k2=R(()=>{B1();S8();j8=Object.entries;j4=class j4 extends I7{};I0=U1(`unset${f7}`)});var N8,b8,E8,T$,M2,C4=(Z)=>{let X=Object.getPrototypeOf(Z);while(X?.constructor&&(!F0(X.constructor.name,M2)||!(Z instanceof M2[X.constructor.name])))X=Object.getPrototypeOf(X);let Q=X?.constructor?.name;if(Q===void 0||Q==="Object")return;return Q},N4=(Z)=>typeof Z==="object"&&Z!==null?C4(Z)??"object":H0(Z),Z0,K$,D$,w$,v7,b4=(Z)=>{let X=Object(Z).name??null;return X&&F0(X,M2)&&M2[X]===Z?X:null},f8=(Z,X)=>{let Q=Z.prototype;while(Q!==null){if(Q===X.prototype)return!0;Q=Object.getPrototypeOf(Q)}return!1};var E4=R(()=>{I2();k2();N8={Array,Boolean,Date,Error,Function,Map,Number,Promise,RegExp,Set,String,WeakMap,WeakSet},b8=globalThis.File??Blob,E8={ArrayBuffer,Blob,File:b8,FormData,Headers,Request,Response,URL},T$={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array},M2={...N8,...E8,...T$,String,Number,Boolean},Z0=Array.isArray,K$={Array:"an array",Function:"a function",Date:"a Date",RegExp:"a RegExp",Error:"an Error",Map:"a Map",Set:"a Set",String:"a String object",Number:"a Number object",Boolean:"a Boolean object",Promise:"a Promise",WeakMap:"a WeakMap",WeakSet:"a WeakSet"},D$={ArrayBuffer:"an ArrayBuffer instance",Blob:"a Blob instance",File:"a File instance",FormData:"a FormData instance",Headers:"a Headers instance",Request:"a Request instance",Response:"a Response instance",URL:"a URL instance"},w$={Int8Array:"an Int8Array",Uint8Array:"a Uint8Array",Uint8ClampedArray:"a Uint8ClampedArray",Int16Array:"an Int16Array",Uint16Array:"a Uint16Array",Int32Array:"an Int32Array",Uint32Array:"a Uint32Array",Float32Array:"a Float32Array",Float64Array:"a Float64Array",BigInt64Array:"a BigInt64Array",BigUint64Array:"a BigUint64Array"},v7={...K$,...D$,...w$}});var x7=(Z)=>h7(Z,new Map),h7=(Z,X)=>{if(typeof Z!=="object"||Z===null)return Z;if(X?.has(Z))return X.get(Z);let Q=b4(Z.constructor);if(Q==="Date")return new Date(Z.getTime());if(Q&&Q!=="Array")return Z;let U=Array.isArray(Z)?Z.slice():Object.create(Object.getPrototypeOf(Z)),J=Object.getOwnPropertyDescriptors(Z);if(X){X.set(Z,U);for(let $ in J){let W=J[$];if("get"in W||"set"in W)continue;W.value=h7(W.value,X)}}return Object.defineProperties(U,J),U};var m7=R(()=>{E4()});var u7=()=>{};class y0{constructor(Z,...[X]){return Object.assign(Object.setPrototypeOf(Z.bind(X?.bind??this),this.constructor.prototype),X?.attach)}}var P$=(Z)=>{let X=I0;return()=>X===I0?X=Z():X},i1=(Z)=>typeof Z==="function"&&Z.length===0,p7,l7;var d7=R(()=>{B1();k2();p7=class extends Function{constructor(...Z){let X=Z.slice(0,-1),Q=Z[Z.length-1];try{super(...X,Q)}catch(U){return i(`Encountered an unexpected error while compiling your definition:
1
+ var{defineProperty:A8,getOwnPropertyNames:z$,getOwnPropertyDescriptor:H$}=Object,F$=Object.prototype.hasOwnProperty;function B$(Z){return this[Z]}var A7=(Z)=>{var X=(P7??=new WeakMap).get(Z),Q;if(X)return X;if(X=A8({},"__esModule",{value:!0}),Z&&typeof Z==="object"||typeof Z==="function"){for(var U of z$(Z))if(!F$.call(X,U))A8(X,U,{get:B$.bind(Z,U),enumerable:!(Q=H$(Z,U))||Q.enumerable})}return P7.set(Z,X),X},P7;var M$=(Z)=>Z;function R$(Z,X){this[Z]=M$.bind(null,X)}var h6=(Z,X)=>{for(var Q in X)A8(Z,Q,{get:X[Q],enumerable:!0,configurable:!0,set:R$.bind(X,Q)})};var R=(Z,X)=>()=>(Z&&(X=Z(Z=0)),X);var O$=((Z)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(Z,{get:(X,Q)=>(typeof require<"u"?require:X)[Q]}):Z)(function(Z){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+Z+'" is not supported')});var c1=(Z)=>Array.isArray(Z)?Z:[Z],S7=(Z,X)=>{let Q=[[],[]];for(let U of Z)if(X(U))Q[0].push(U);else Q[1].push(U);return Q},m6,d0=(Z,X)=>Z.includes(X),j7=(Z,X=0)=>[...Array(Z)].map((Q,U)=>U+X),u=(Z,X,Q)=>{if(Z===void 0)return X===void 0?[]:Array.isArray(X)?X:[X];if(Q?.prepend)if(Array.isArray(X))Z.unshift(...X);else Z.unshift(X);else if(Array.isArray(X))Z.push(...X);else Z.push(X);return Z},E1=(Z,X)=>{if(X===void 0||X===null)return Z??[];if(Z===void 0||Z===null)return c1(X);return Z.concat(X)},C7=(...Z)=>Z.reduce(E1,[]),B1=(Z,X,Q)=>{if(Z===void 0)return Array.isArray(X)?X:[X];let U=Q?.isEqual??((J,$)=>J===$);for(let J of c1(X))if(!Z.some(($)=>U($,J)))Z.push(J);return Z},N7=(Z,X)=>Z.reduce((Q,U)=>{let J=U[X];return Q[J]=u(Q[J],U),Q},{}),f1=(Z,X,Q)=>Z.length===X.length&&Z.every(Q?.isEqual?(U,J)=>Q.isEqual(U,X[J]):(U,J)=>U===X[J]);var u6=R(()=>{m6=Array});var E0=(Z,X)=>H0(Z)===X,H0=(Z)=>{let X=typeof Z;return X==="object"?Z===null?"null":"object":X==="function"?"object":X},f0,b7;var I2=R(()=>{f0={boolean:"boolean",null:"null",undefined:"undefined",bigint:"a bigint",number:"a number",object:"an object",string:"a string",symbol:"a symbol"},b7={...f0,function:"a function"}});var E7,i=(Z)=>F2(Z,E7),F2=(Z,X=Error)=>{throw new X(Z)},S4,M=(Z)=>F2(Z,S4),U1=(Z)=>` ${Z}`,f7="​";var M1=R(()=>{E7=class E7 extends Error{};S4=class S4 extends Error{name="ParseError"}});var k=(Z,X)=>{let Q={},U=Array.isArray(Z),J=!1;for(let[$,W]of Object.entries(Z).entries()){let Y=U?X($,W[1]):X(...W,$);J||=typeof Y[0]==="number";let L=Array.isArray(Y[0])||Y.length===0?Y:[Y];for(let[G,V]of L)if(typeof G==="object")Q[G.group]=u(Q[G.group],V);else Q[G]=V}return J?Object.values(Q):Q};var S8=R(()=>{u6()});class C8{constructor(Z){Object.assign(this,Z)}}var j8,F0=(Z,X)=>(Z in X),y2=(Z,X)=>(X in Z),I7=class{},j4,T$=(Z,X)=>{let Q={},U={},J;for(J in Z)if(J in X)Q[J]=Z[J];else U[J]=Z[J];return[Q,U]},p6=(Z,X)=>T$(Z,X)[1],R1=(Z)=>Object.keys(Z).length===0,B2=(Z)=>[...Object.entries(Z),...Object.getOwnPropertySymbols(Z).map((X)=>[X,Z[X]])],y7=(Z,X)=>Object.defineProperties(Z,Object.getOwnPropertyDescriptors(X)),k7=(Z)=>{let X=Object.keys(Z).sort(),Q={};for(let U=0;U<X.length;U++)Q[X[U]]=Z[X[U]];return Q},I0,g7=(Z)=>Object.values(Z).filter((X)=>{if(typeof X==="number")return!0;return typeof Z[X]!=="number"});var k2=R(()=>{M1();S8();j8=Object.entries;j4=class j4 extends I7{};I0=U1(`unset${f7}`)});var N8,b8,E8,K$,M2,C4=(Z)=>{let X=Object.getPrototypeOf(Z);while(X?.constructor&&(!F0(X.constructor.name,M2)||!(Z instanceof M2[X.constructor.name])))X=Object.getPrototypeOf(X);let Q=X?.constructor?.name;if(Q===void 0||Q==="Object")return;return Q},N4=(Z)=>typeof Z==="object"&&Z!==null?C4(Z)??"object":H0(Z),Z0,D$,w$,P$,v7,b4=(Z)=>{let X=Object(Z).name??null;return X&&F0(X,M2)&&M2[X]===Z?X:null},f8=(Z,X)=>{let Q=Z.prototype;while(Q!==null){if(Q===X.prototype)return!0;Q=Object.getPrototypeOf(Q)}return!1};var E4=R(()=>{I2();k2();N8={Array,Boolean,Date,Error,Function,Map,Number,Promise,RegExp,Set,String,WeakMap,WeakSet},b8=globalThis.File??Blob,E8={ArrayBuffer,Blob,File:b8,FormData,Headers,Request,Response,URL},K$={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array},M2={...N8,...E8,...K$,String,Number,Boolean},Z0=Array.isArray,D$={Array:"an array",Function:"a function",Date:"a Date",RegExp:"a RegExp",Error:"an Error",Map:"a Map",Set:"a Set",String:"a String object",Number:"a Number object",Boolean:"a Boolean object",Promise:"a Promise",WeakMap:"a WeakMap",WeakSet:"a WeakSet"},w$={ArrayBuffer:"an ArrayBuffer instance",Blob:"a Blob instance",File:"a File instance",FormData:"a FormData instance",Headers:"a Headers instance",Request:"a Request instance",Response:"a Response instance",URL:"a URL instance"},P$={Int8Array:"an Int8Array",Uint8Array:"a Uint8Array",Uint8ClampedArray:"a Uint8ClampedArray",Int16Array:"an Int16Array",Uint16Array:"a Uint16Array",Int32Array:"an Int32Array",Uint32Array:"a Uint32Array",Float32Array:"a Float32Array",Float64Array:"a Float64Array",BigInt64Array:"a BigInt64Array",BigUint64Array:"a BigUint64Array"},v7={...D$,...w$,...P$}});var x7=(Z)=>h7(Z,new Map),h7=(Z,X)=>{if(typeof Z!=="object"||Z===null)return Z;if(X?.has(Z))return X.get(Z);let Q=b4(Z.constructor);if(Q==="Date")return new Date(Z.getTime());if(Q&&Q!=="Array")return Z;let U=Array.isArray(Z)?Z.slice():Object.create(Object.getPrototypeOf(Z)),J=Object.getOwnPropertyDescriptors(Z);if(X){X.set(Z,U);for(let $ in J){let W=J[$];if("get"in W||"set"in W)continue;W.value=h7(W.value,X)}}return Object.defineProperties(U,J),U};var m7=R(()=>{E4()});var u7=()=>{};class y0{constructor(Z,...[X]){return Object.assign(Object.setPrototypeOf(Z.bind(X?.bind??this),this.constructor.prototype),X?.attach)}}var A$=(Z)=>{let X=I0;return()=>X===I0?X=Z():X},i1=(Z)=>typeof Z==="function"&&Z.length===0,p7,l7;var d7=R(()=>{M1();k2();p7=class extends Function{constructor(...Z){let X=Z.slice(0,-1),Q=Z[Z.length-1];try{super(...X,Q)}catch(U){return i(`Encountered an unexpected error while compiling your definition:
2
2
  Message: ${U}
3
3
  Source: (${Z.slice(0,-1)}) => {
4
4
  ${Z[Z.length-1]}
5
- }`)}}};l7=P$(()=>{try{return Function("return false")()}catch{return!0}})});var JV,c7;var i7=R(()=>{B1();JV=U1("brand"),c7=U1("arkInferred")});class D0{constructor(){}}var YV;var s7=R(()=>{B1();YV=U1("args")});var r7=()=>{};var A$=()=>{try{return((Error().stack?.split(`
6
- `)[2]?.trim()||"").match(/\(?(.+?)(?::\d+:\d+)?\)?$/)?.[1]||"unknown").replace(/^file:\/\//,"")}catch{return"unknown"}},S$,a7;var I8=R(()=>{S$=globalThis.process?.env??{},a7={fileName:A$,env:S$}});var o7=()=>{};var n7=(Z)=>Z[0].toUpperCase()+Z.slice(1),t7=(Z)=>Z[0].toLowerCase()+Z.slice(1),y8=(Z)=>new RegExp(j$(Z),typeof Z==="string"?"":Z.flags),j$=(Z)=>{return`^(?:${typeof Z==="string"?Z:Z.source})$`},I1,O2="\\",s1;var l6=R(()=>{I1={negativeLookahead:(Z)=>`(?!${Z})`,nonCapturingGroup:(Z)=>`(?:${Z})`},s1={" ":1,"\n":1,"\t":1}});var C$,Z3,N$,b$,X3=(Z)=>y8(I1.negativeLookahead(C$)+I1.nonCapturingGroup("-?"+I1.nonCapturingGroup(I1.nonCapturingGroup("0|"+Z3)+I1.nonCapturingGroup(Z.decimalPattern)+"?")+(Z.allowDecimalOnly?"|"+Z.decimalPattern:"")+"?")),e7,E$,d6,HV,f$,I$=(Z)=>Z.length!==0&&f$.test(Z),f4,y$,k8,k$,Q3,U3=(Z,X)=>`'${Z}' was parsed as ${Q3[X]} but could not be narrowed to a literal value. Avoid unnecessary leading or trailing zeros and other abnormal notation`,g$=(Z,X)=>X==="number"?E$(Z):y$(Z),v$=(Z,X)=>X==="number"?Number(Z):Number.parseInt(Z),x$=(Z,X)=>X==="number"?I$(Z):k$(Z),J3=(Z,X)=>g8(Z,"number",X),$3=(Z,X)=>g8(Z,"number",{...X,strict:!0}),W3=(Z,X)=>g8(Z,"integer",X),g8=(Z,X,Q)=>{let U=v$(Z,X);if(!Number.isNaN(U)){if(x$(Z,X)){if(Q?.strict)return g$(Z,X)?U:M(U3(Z,X));return U}}return Q?.errorOnFail?M(Q?.errorOnFail===!0?`Failed to parse ${Q3[X]} from '${Z}'`:Q?.errorOnFail):void 0},Y3=(Z)=>{if(Z[Z.length-1]!=="n")return;let X=Z.slice(0,-1),Q;try{Q=BigInt(X)}catch{return}if(f4.test(X))return Q;if(k8.test(X))return M(U3(Z,"bigint"))};var G3=R(()=>{B1();l6();C$=/^-0\.?0*$/.source,Z3=/[1-9]\d*/.source,N$=/\.\d+/.source,b$=/\.\d*[1-9]/.source,e7=X3({decimalPattern:b$,allowDecimalOnly:!1}),E$=e7.test.bind(e7),d6=X3({decimalPattern:N$,allowDecimalOnly:!0}),HV=d6.test.bind(d6),f$=/^-?\d*\.?\d*$/,f4=y8(I1.negativeLookahead("^-0$")+"-?"+I1.nonCapturingGroup(I1.nonCapturingGroup("0|"+Z3))),y$=f4.test.bind(f4),k8=/^-?\d+$/,k$=k8.test.bind(k8),Q3={number:"a number",bigint:"a bigint",integer:"an integer"}});var h$="0.56.0",m$,T2,L3,v8,I4=(Z)=>{let X=L3.get(Z);if(X)return X;let Q=u$(Z);if(v8[Q])Q=`${Q}${v8[Q]++}`;else v8[Q]=1;return T2[Q]=Z,L3.set(Z,Q),Q},r1=(Z)=>/^[$A-Z_a-z][\w$]*$/.test(Z),u$=(Z)=>{switch(typeof Z){case"object":{if(Z===null)break;let X=C4(Z)??"object";return X[0].toLowerCase()+X.slice(1)}case"function":return r1(Z.name)?Z.name:"fn";case"symbol":return Z.description&&r1(Z.description)?Z.description:"symbol"}return i(`Unexpected attempt to register serializable value of type ${H0(Z)}`)};var c6=R(()=>{I2();B1();I8();E4();m$={version:h$,filename:a7.fileName(),FileConstructor:b8},T2=m$,L3=new Map,v8=Object.create(null)});var y4=(Z)=>typeof Z==="string"?JSON.stringify(Z):typeof Z==="bigint"?`${Z}n`:`${Z}`;var q3=(Z,X={})=>k4(Z,{onUndefined:"$ark.undefined",onBigInt:(Q)=>`$ark.bigint-${Q}`,...X},[]),g=(Z,X)=>{switch(H0(Z)){case"object":let Q=Z,U=Q.constructor?.name??"Object";return U==="Object"||U==="Array"?X?.quoteKeys===!1?i6(Q,X?.indent??0,""):JSON.stringify(k4(Q,g2,[]),null,X?.indent):i6(Q,X?.indent??0,"");case"symbol":return g2.onSymbol(Z);default:return y4(Z)}},i6=(Z,X,Q)=>{if(typeof Z==="function")return g2.onFunction(Z);if(typeof Z!=="object"||Z===null)return y4(Z);let U=Q+" ".repeat(X);if(Array.isArray(Z)){if(Z.length===0)return"[]";let $=Z.map((W)=>i6(W,X,U)).join(`,
5
+ }`)}}};l7=A$(()=>{try{return Function("return false")()}catch{return!0}})});var Jq,c7;var i7=R(()=>{M1();Jq=U1("brand"),c7=U1("arkInferred")});class D0{constructor(){}}var Yq;var s7=R(()=>{M1();Yq=U1("args")});var r7=()=>{};var S$=()=>{try{return((Error().stack?.split(`
6
+ `)[2]?.trim()||"").match(/\(?(.+?)(?::\d+:\d+)?\)?$/)?.[1]||"unknown").replace(/^file:\/\//,"")}catch{return"unknown"}},j$,a7;var I8=R(()=>{j$=globalThis.process?.env??{},a7={fileName:S$,env:j$}});var o7=()=>{};var n7=(Z)=>Z[0].toUpperCase()+Z.slice(1),t7=(Z)=>Z[0].toLowerCase()+Z.slice(1),y8=(Z)=>new RegExp(C$(Z),typeof Z==="string"?"":Z.flags),C$=(Z)=>{return`^(?:${typeof Z==="string"?Z:Z.source})$`},I1,O2="\\",s1;var l6=R(()=>{I1={negativeLookahead:(Z)=>`(?!${Z})`,nonCapturingGroup:(Z)=>`(?:${Z})`},s1={" ":1,"\n":1,"\t":1}});var N$,Z3,b$,E$,X3=(Z)=>y8(I1.negativeLookahead(N$)+I1.nonCapturingGroup("-?"+I1.nonCapturingGroup(I1.nonCapturingGroup("0|"+Z3)+I1.nonCapturingGroup(Z.decimalPattern)+"?")+(Z.allowDecimalOnly?"|"+Z.decimalPattern:"")+"?")),e7,f$,d6,Hq,I$,y$=(Z)=>Z.length!==0&&I$.test(Z),f4,k$,k8,g$,Q3,U3=(Z,X)=>`'${Z}' was parsed as ${Q3[X]} but could not be narrowed to a literal value. Avoid unnecessary leading or trailing zeros and other abnormal notation`,v$=(Z,X)=>X==="number"?f$(Z):k$(Z),x$=(Z,X)=>X==="number"?Number(Z):Number.parseInt(Z),h$=(Z,X)=>X==="number"?y$(Z):g$(Z),J3=(Z,X)=>g8(Z,"number",X),$3=(Z,X)=>g8(Z,"number",{...X,strict:!0}),W3=(Z,X)=>g8(Z,"integer",X),g8=(Z,X,Q)=>{let U=x$(Z,X);if(!Number.isNaN(U)){if(h$(Z,X)){if(Q?.strict)return v$(Z,X)?U:M(U3(Z,X));return U}}return Q?.errorOnFail?M(Q?.errorOnFail===!0?`Failed to parse ${Q3[X]} from '${Z}'`:Q?.errorOnFail):void 0},Y3=(Z)=>{if(Z[Z.length-1]!=="n")return;let X=Z.slice(0,-1),Q;try{Q=BigInt(X)}catch{return}if(f4.test(X))return Q;if(k8.test(X))return M(U3(Z,"bigint"))};var L3=R(()=>{M1();l6();N$=/^-0\.?0*$/.source,Z3=/[1-9]\d*/.source,b$=/\.\d+/.source,E$=/\.\d*[1-9]/.source,e7=X3({decimalPattern:E$,allowDecimalOnly:!1}),f$=e7.test.bind(e7),d6=X3({decimalPattern:b$,allowDecimalOnly:!0}),Hq=d6.test.bind(d6),I$=/^-?\d*\.?\d*$/,f4=y8(I1.negativeLookahead("^-0$")+"-?"+I1.nonCapturingGroup(I1.nonCapturingGroup("0|"+Z3))),k$=f4.test.bind(f4),k8=/^-?\d+$/,g$=k8.test.bind(k8),Q3={number:"a number",bigint:"a bigint",integer:"an integer"}});var m$="0.56.0",u$,T2,G3,v8,I4=(Z)=>{let X=G3.get(Z);if(X)return X;let Q=p$(Z);if(v8[Q])Q=`${Q}${v8[Q]++}`;else v8[Q]=1;return T2[Q]=Z,G3.set(Z,Q),Q},r1=(Z)=>/^[$A-Z_a-z][\w$]*$/.test(Z),p$=(Z)=>{switch(typeof Z){case"object":{if(Z===null)break;let X=C4(Z)??"object";return X[0].toLowerCase()+X.slice(1)}case"function":return r1(Z.name)?Z.name:"fn";case"symbol":return Z.description&&r1(Z.description)?Z.description:"symbol"}return i(`Unexpected attempt to register serializable value of type ${H0(Z)}`)};var c6=R(()=>{I2();M1();I8();E4();u$={version:m$,filename:a7.fileName(),FileConstructor:b8},T2=u$,G3=new Map,v8=Object.create(null)});var y4=(Z)=>typeof Z==="string"?JSON.stringify(Z):typeof Z==="bigint"?`${Z}n`:`${Z}`;var V3=(Z,X={})=>k4(Z,{onUndefined:"$ark.undefined",onBigInt:(Q)=>`$ark.bigint-${Q}`,...X},[]),g=(Z,X)=>{switch(H0(Z)){case"object":let Q=Z,U=Q.constructor?.name??"Object";return U==="Object"||U==="Array"?X?.quoteKeys===!1?i6(Q,X?.indent??0,""):JSON.stringify(k4(Q,g2,[]),null,X?.indent):i6(Q,X?.indent??0,"");case"symbol":return g2.onSymbol(Z);default:return y4(Z)}},i6=(Z,X,Q)=>{if(typeof Z==="function")return g2.onFunction(Z);if(typeof Z!=="object"||Z===null)return y4(Z);let U=Q+" ".repeat(X);if(Array.isArray(Z)){if(Z.length===0)return"[]";let $=Z.map((W)=>i6(W,X,U)).join(`,
7
7
  `+U);return X?`[
8
8
  ${U}${$}
9
- ${Q}]`:`[${$}]`}let J=Z.constructor?.name??"Object";if(J==="Object"){let $=B2(Z).map(([W,Y])=>{let G=typeof W==="symbol"?g2.onSymbol(W):r1(W)?W:JSON.stringify(W),L=i6(Y,X,U);return`${U}${G}: ${L}`});if($.length===0)return"{}";return X?`{
9
+ ${Q}]`:`[${$}]`}let J=Z.constructor?.name??"Object";if(J==="Object"){let $=B2(Z).map(([W,Y])=>{let L=typeof W==="symbol"?g2.onSymbol(W):r1(W)?W:JSON.stringify(W),G=i6(Y,X,U);return`${U}${L}: ${G}`});if($.length===0)return"{}";return X?`{
10
10
  ${$.join(`,
11
11
  `)}
12
- ${Q}}`:`{${$.join(", ")}}`}if(Z instanceof Date)return K2(Z);if("expression"in Z&&typeof Z.expression==="string")return Z.expression;return J},g2,k4=(Z,X,Q)=>{switch(H0(Z)){case"object":{let U=Z;if("toJSON"in U&&typeof U.toJSON==="function")return U.toJSON();if(typeof U==="function")return g2.onFunction(U);if(Q.includes(U))return"(cycle)";let J=[...Q,U];if(Array.isArray(U))return U.map((W)=>k4(W,X,J));if(U instanceof Date)return U.toDateString();let $={};for(let W in U)$[W]=k4(U[W],X,J);for(let W of Object.getOwnPropertySymbols(U))$[X.onSymbol?.(W)??W.toString()]=k4(U[W],X,J);return $}case"symbol":return g2.onSymbol(Z);case"bigint":return X.onBigInt?.(Z)??`${Z}n`;case"undefined":return X.onUndefined??"undefined";case"string":return Z.replace(/\\/g,"\\\\");default:return Z}},K2=(Z)=>{let X=Z.getFullYear(),Q=Z.getMonth(),U=Z.getDate(),J=Z.getHours(),$=Z.getMinutes(),W=Z.getSeconds(),Y=Z.getMilliseconds();if(Q===0&&U===1&&J===0&&$===0&&W===0&&Y===0)return`${X}`;let G=`${p$[Q]} ${U}, ${X}`;if(J===0&&$===0&&W===0&&Y===0)return G;let L=Z.toLocaleTimeString(),q=L.endsWith(" AM")||L.endsWith(" PM")?L.slice(-3):"";if(q)L=L.slice(0,-q.length);if(Y)L+=`.${d$(Y,3)}`;else if(l$.test(L))L=L.slice(0,-3);return`${L+q}, ${G}`},p$,l$,d$=(Z,X)=>String(Z).padStart(X,"0");var x8=R(()=>{I2();k2();c6();g2={onCycle:()=>"(cycle)",onSymbol:(Z)=>`Symbol(${I4(Z)})`,onFunction:(Z)=>`Function(${I4(Z)})`},p$=["January","February","March","April","May","June","July","August","September","October","November","December"],l$=/:\d\d:00$/});var V3=(Z,X,...[Q])=>{let U=Q?.stringifySymbol??g,J=Z;switch(typeof X){case"string":J=r1(X)?Z===""?X:`${Z}.${X}`:`${Z}[${JSON.stringify(X)}]`;break;case"number":J=`${Z}[${X}]`;break;case"symbol":J=`${Z}[${U(X)}]`;break;default:if(Q?.stringifyNonKey)J=`${Z}[${Q.stringifyNonKey(X)}]`;else M(`${g(X)} must be a PropertyKey or stringifyNonKey must be passed to options`)}return J},y1=(Z,...X)=>Z.reduce((Q,U)=>V3(Q,U,...X),""),g4;var _3=R(()=>{u6();B1();c6();x8();g4=class g4 extends m6{cache={};constructor(...Z){super();this.push(...Z)}toJSON(){if(this.cache.json)return this.cache.json;this.cache.json=[];for(let Z=0;Z<this.length;Z++)this.cache.json.push(typeof this[Z]==="symbol"?g(this[Z]):this[Z]);return this.cache.json}stringify(){if(this.cache.stringify)return this.cache.stringify;return this.cache.stringify=y1(this)}stringifyAncestors(){if(this.cache.stringifyAncestors)return this.cache.stringifyAncestors;let Z="",X=[Z];for(let Q of this)Z=V3(Z,Q),X.push(Z);return this.cache.stringifyAncestors=X}}});class v4{chars;i;def;constructor(Z){this.def=Z,this.chars=[...Z],this.i=0}shift(){return this.chars[this.i++]??""}get lookahead(){return this.chars[this.i]??""}get nextLookahead(){return this.chars[this.i+1]??""}get length(){return this.chars.length}shiftUntil(Z){let X="";while(this.lookahead)if(Z(this,X))break;else X+=this.shift();return X}shiftUntilEscapable(Z){let X="";while(this.lookahead)if(this.lookahead===O2)if(this.shift(),Z(this,X))X+=this.shift();else if(this.lookahead===O2)X+=this.shift();else X+=`${O2}${this.shift()}`;else if(Z(this,X))break;else X+=this.shift();return X}shiftUntilLookahead(Z){return typeof Z==="string"?this.shiftUntil((X)=>X.lookahead===Z):this.shiftUntil((X)=>(X.lookahead in Z))}shiftUntilNonWhitespace(){return this.shiftUntil(()=>!(this.lookahead in s1))}jumpToIndex(Z){this.i=Z<0?this.length+Z:Z}jumpForward(Z){this.i+=Z}get location(){return this.i}get unscanned(){return this.chars.slice(this.i,this.length).join("")}get scanned(){return this.chars.slice(0,this.i).join("")}sliceChars(Z,X){return this.chars.slice(Z,X).join("")}lookaheadIs(Z){return this.lookahead===Z}lookaheadIsIn(Z){return this.lookahead in Z}}var z3=(Z,X)=>`Unmatched ${Z}${X===""?"":` before ${X}`}`,s6=(Z)=>`Missing ${Z}`;var H3=R(()=>{l6()});var hV;var F3=R(()=>{I2();B1();E4();k2();hV=U1("implementedTraits")});var B3=()=>{};var b=R(()=>{u6();m7();u7();I2();B1();S8();d7();i7();s7();r7();I8();o7();G3();E4();_3();k2();c6();H3();x8();l6();F3();B3()});var h8="$ark",c$=2,M3,T,i$=(Z)=>`${M3}.${Z}`,W0=(Z)=>i$(I4(Z));var s=R(()=>{b();while(h8 in globalThis)h8=`$ark${c$++}`;M3=h8;globalThis[M3]=T2;T=T2});var r6,J1=(Z)=>E0(Z,"object")||typeof Z==="symbol"?W0(Z):y4(Z),m8=(Z,X=!1)=>{if(typeof Z==="string"&&r1(Z))return`${X?"?":""}.${Z}`;return R3(s$(Z),X)},s$=(Z)=>typeof Z==="symbol"?W0(Z):JSON.stringify(Z),R3=(Z,X=!1)=>`${X?"?.":""}[${Z}]`,x4;var a1=R(()=>{b();s();r6=class r6 extends j4{argNames;body="";constructor(...Z){super();this.argNames=Z;for(let X of Z){if(X in this)throw Error(`Arg name '${X}' would overwrite an existing property on FunctionBody`);this[X]=X}}indentation=0;indent(){return this.indentation+=4,this}dedent(){return this.indentation-=4,this}prop(Z,X=!1){return m8(Z,X)}index(Z,X=!1){return R3(`${Z}`,X)}line(Z){return this.body+=`${" ".repeat(this.indentation)}${Z}
12
+ ${Q}}`:`{${$.join(", ")}}`}if(Z instanceof Date)return K2(Z);if("expression"in Z&&typeof Z.expression==="string")return Z.expression;return J},g2,k4=(Z,X,Q)=>{switch(H0(Z)){case"object":{let U=Z;if("toJSON"in U&&typeof U.toJSON==="function")return U.toJSON();if(typeof U==="function")return g2.onFunction(U);if(Q.includes(U))return"(cycle)";let J=[...Q,U];if(Array.isArray(U))return U.map((W)=>k4(W,X,J));if(U instanceof Date)return U.toDateString();let $={};for(let W in U)$[W]=k4(U[W],X,J);for(let W of Object.getOwnPropertySymbols(U))$[X.onSymbol?.(W)??W.toString()]=k4(U[W],X,J);return $}case"symbol":return g2.onSymbol(Z);case"bigint":return X.onBigInt?.(Z)??`${Z}n`;case"undefined":return X.onUndefined??"undefined";case"string":return Z.replace(/\\/g,"\\\\");default:return Z}},K2=(Z)=>{let X=Z.getFullYear(),Q=Z.getMonth(),U=Z.getDate(),J=Z.getHours(),$=Z.getMinutes(),W=Z.getSeconds(),Y=Z.getMilliseconds();if(Q===0&&U===1&&J===0&&$===0&&W===0&&Y===0)return`${X}`;let L=`${l$[Q]} ${U}, ${X}`;if(J===0&&$===0&&W===0&&Y===0)return L;let G=Z.toLocaleTimeString(),V=G.endsWith(" AM")||G.endsWith(" PM")?G.slice(-3):"";if(V)G=G.slice(0,-V.length);if(Y)G+=`.${c$(Y,3)}`;else if(d$.test(G))G=G.slice(0,-3);return`${G+V}, ${L}`},l$,d$,c$=(Z,X)=>String(Z).padStart(X,"0");var x8=R(()=>{I2();k2();c6();g2={onCycle:()=>"(cycle)",onSymbol:(Z)=>`Symbol(${I4(Z)})`,onFunction:(Z)=>`Function(${I4(Z)})`},l$=["January","February","March","April","May","June","July","August","September","October","November","December"],d$=/:\d\d:00$/});var q3=(Z,X,...[Q])=>{let U=Q?.stringifySymbol??g,J=Z;switch(typeof X){case"string":J=r1(X)?Z===""?X:`${Z}.${X}`:`${Z}[${JSON.stringify(X)}]`;break;case"number":J=`${Z}[${X}]`;break;case"symbol":J=`${Z}[${U(X)}]`;break;default:if(Q?.stringifyNonKey)J=`${Z}[${Q.stringifyNonKey(X)}]`;else M(`${g(X)} must be a PropertyKey or stringifyNonKey must be passed to options`)}return J},y1=(Z,...X)=>Z.reduce((Q,U)=>q3(Q,U,...X),""),g4;var _3=R(()=>{u6();M1();c6();x8();g4=class g4 extends m6{cache={};constructor(...Z){super();this.push(...Z)}toJSON(){if(this.cache.json)return this.cache.json;this.cache.json=[];for(let Z=0;Z<this.length;Z++)this.cache.json.push(typeof this[Z]==="symbol"?g(this[Z]):this[Z]);return this.cache.json}stringify(){if(this.cache.stringify)return this.cache.stringify;return this.cache.stringify=y1(this)}stringifyAncestors(){if(this.cache.stringifyAncestors)return this.cache.stringifyAncestors;let Z="",X=[Z];for(let Q of this)Z=q3(Z,Q),X.push(Z);return this.cache.stringifyAncestors=X}}});class v4{chars;i;def;constructor(Z){this.def=Z,this.chars=[...Z],this.i=0}shift(){return this.chars[this.i++]??""}get lookahead(){return this.chars[this.i]??""}get nextLookahead(){return this.chars[this.i+1]??""}get length(){return this.chars.length}shiftUntil(Z){let X="";while(this.lookahead)if(Z(this,X))break;else X+=this.shift();return X}shiftUntilEscapable(Z){let X="";while(this.lookahead)if(this.lookahead===O2)if(this.shift(),Z(this,X))X+=this.shift();else if(this.lookahead===O2)X+=this.shift();else X+=`${O2}${this.shift()}`;else if(Z(this,X))break;else X+=this.shift();return X}shiftUntilLookahead(Z){return typeof Z==="string"?this.shiftUntil((X)=>X.lookahead===Z):this.shiftUntil((X)=>(X.lookahead in Z))}shiftUntilNonWhitespace(){return this.shiftUntil(()=>!(this.lookahead in s1))}jumpToIndex(Z){this.i=Z<0?this.length+Z:Z}jumpForward(Z){this.i+=Z}get location(){return this.i}get unscanned(){return this.chars.slice(this.i,this.length).join("")}get scanned(){return this.chars.slice(0,this.i).join("")}sliceChars(Z,X){return this.chars.slice(Z,X).join("")}lookaheadIs(Z){return this.lookahead===Z}lookaheadIsIn(Z){return this.lookahead in Z}}var z3=(Z,X)=>`Unmatched ${Z}${X===""?"":` before ${X}`}`,s6=(Z)=>`Missing ${Z}`;var H3=R(()=>{l6()});var hq;var F3=R(()=>{I2();M1();E4();k2();hq=U1("implementedTraits")});var B3=()=>{};var b=R(()=>{u6();m7();u7();I2();M1();S8();d7();i7();s7();r7();I8();o7();L3();E4();_3();k2();c6();H3();x8();l6();F3();B3()});var h8="$ark",i$=2,M3,T,s$=(Z)=>`${M3}.${Z}`,W0=(Z)=>s$(I4(Z));var s=R(()=>{b();while(h8 in globalThis)h8=`$ark${i$++}`;M3=h8;globalThis[M3]=T2;T=T2});var r6,J1=(Z)=>E0(Z,"object")||typeof Z==="symbol"?W0(Z):y4(Z),m8=(Z,X=!1)=>{if(typeof Z==="string"&&r1(Z))return`${X?"?":""}.${Z}`;return R3(r$(Z),X)},r$=(Z)=>typeof Z==="symbol"?W0(Z):JSON.stringify(Z),R3=(Z,X=!1)=>`${X?"?.":""}[${Z}]`,x4;var a1=R(()=>{b();s();r6=class r6 extends j4{argNames;body="";constructor(...Z){super();this.argNames=Z;for(let X of Z){if(X in this)throw Error(`Arg name '${X}' would overwrite an existing property on FunctionBody`);this[X]=X}}indentation=0;indent(){return this.indentation+=4,this}dedent(){return this.indentation-=4,this}prop(Z,X=!1){return m8(Z,X)}index(Z,X=!1){return R3(`${Z}`,X)}line(Z){return this.body+=`${" ".repeat(this.indentation)}${Z}
13
13
  `,this}const(Z,X){return this.line(`const ${Z} = ${X}`),this}let(Z,X){return this.line(`let ${Z} = ${X}`)}set(Z,X){return this.line(`${Z} = ${X}`)}if(Z,X){return this.block(`if (${Z})`,X)}elseIf(Z,X){return this.block(`else if (${Z})`,X)}else(Z){return this.block("else",Z)}for(Z,X,Q=0){return this.block(`for (let i = ${Q}; ${Z}; i++)`,X)}forIn(Z,X){return this.block(`for (const k in ${Z})`,X)}block(Z,X,Q=""){return this.line(`${Z} {`),this.indent(),X(this),this.dedent(),this.line(`}${Q}`)}return(Z=""){return this.line(`return ${Z}`)}write(Z="anonymous",X=0){return`${Z}(${this.argNames.join(", ")}) { ${X?this.body.split(`
14
14
  `).map((Q)=>" ".repeat(X)+`${Q}`).join(`
15
- `):this.body} }`}compile(){return new p7(...this.argNames,this.body)}};x4=class x4 extends r6{traversalKind;optimistic;constructor(Z){super("data","ctx");this.traversalKind=Z.kind,this.optimistic=Z.optimistic===!0}invoke(Z,X){let Q=X?.arg??this.data,U=typeof Z==="string"?!0:this.requiresContextFor(Z),J=typeof Z==="string"?Z:Z.id;if(U)return`${this.referenceToId(J,X)}(${Q}, ${this.ctx})`;return`${this.referenceToId(J,X)}(${Q})`}referenceToId(Z,X){let Q=X?.kind??this.traversalKind,U=`this.${Z}${Q}`;return X?.bind?`${U}.bind(${X?.bind})`:U}requiresContextFor(Z){return this.traversalKind==="Apply"||Z.allowsRequiresContext}initializeErrorCount(){return this.const("errorCount","ctx.currentErrorCount")}returnIfFail(){return this.if("ctx.currentErrorCount > errorCount",()=>this.return())}returnIfFailFast(){return this.if("ctx.failFast && ctx.currentErrorCount > errorCount",()=>this.return())}traverseKey(Z,X,Q){let U=this.requiresContextFor(Q);if(U)this.line(`${this.ctx}.path.push(${Z})`);if(this.check(Q,{arg:X}),U)this.line(`${this.ctx}.path.pop()`);return this}check(Z,X){return this.traversalKind==="Allows"?this.if(`!${this.invoke(Z,X)}`,()=>this.return(!1)):this.line(this.invoke(Z,X))}}});var a6=(Z)=>k(Z,(X,Q)=>[X,Z0(Q)?[...Q]:Q]),S0,E=(Z,X)=>Z?.[S0]===X,Q0=(Z)=>E(Z,"root")||E(Z,"constraint");var V0=R(()=>{b();S0=U1("arkKind")});var O3,v2,u8,p8,o6,x2,r$,n6,T3,K3,h2=(Z)=>typeof Z==="string"&&(Z in K3),m2=(Z)=>K3[Z],t6=(Z)=>x2.slice(m2(Z)+1),D_,w_,c0=(Z)=>{if(typeof Z==="string"||typeof Z==="boolean"||Z===null)return Z;if(typeof Z==="number"){if(Number.isNaN(Z))return"NaN";if(Z===Number.POSITIVE_INFINITY)return"Infinity";if(Z===Number.NEGATIVE_INFINITY)return"-Infinity";return Z}return J1(Z)},o1=(Z)=>{let X="{ ";for(let[Q,U]of Object.entries(Z))X+=`${Q}: ${J1(U)}, `;return X+" }"},v=(Z)=>{let X=Z;if(X.hasAssociatedError)X.defaults.expected??=(Q)=>("description"in Q)?Q.description:X.defaults.description(Q),X.defaults.actual??=(Q)=>g(Q),X.defaults.problem??=(Q)=>`must be ${Q.expected}${Q.actual?` (was ${Q.actual})`:""}`,X.defaults.message??=(Q)=>{if(Q.path.length===0)return Q.problem;let U=`${Q.propString} ${Q.problem}`;if(U[0]==="[")return`value at ${U}`;return U};return X};var a=R(()=>{b();a1();V0();O3=["unit","proto","domain"],v2=["required","optional","index","sequence"],u8=["pattern","divisor","exactLength","max","min","maxLength","minLength","before","after"],p8=[...u8,"structure","predicate"],o6=[...p8,...v2],x2=["alias","union","morph","unit","intersection","proto","domain"],r$=[...x2,...o6],n6=k(o6,(Z,X)=>[X,1]),T3=k([...v2,"undeclared"],(Z,X)=>[X,1]),K3=k(r$,(Z,X)=>[X,Z]),D_=[...t6("union"),"alias"],w_=[...t6("morph"),"alias"]});var D3,a$,J0;var n1=R(()=>{b();D3=class D3 extends Error{name="ToJsonSchemaError";code;context;constructor(Z,X){super(g(X,{quoteKeys:!1,indent:4}));this.code=Z,this.context=X}hasCode(Z){return this.code===Z}};a$={target:"draft-2020-12",dialect:"https://json-schema.org/draft/2020-12/schema",useRefs:!1,fallback:{arrayObject:(Z)=>J0.throw("arrayObject",Z),arrayPostfix:(Z)=>J0.throw("arrayPostfix",Z),defaultValue:(Z)=>J0.throw("defaultValue",Z),domain:(Z)=>J0.throw("domain",Z),morph:(Z)=>J0.throw("morph",Z),patternIntersection:(Z)=>J0.throw("patternIntersection",Z),predicate:(Z)=>J0.throw("predicate",Z),proto:(Z)=>J0.throw("proto",Z),symbolKey:(Z)=>J0.throw("symbolKey",Z),unit:(Z)=>J0.throw("unit",Z),date:(Z)=>J0.throw("date",Z)}},J0={Error:D3,throw:(...Z)=>{throw new J0.Error(...Z)},throwInternalOperandError:(Z,X)=>i(`Unexpected JSON Schema input for ${Z}: ${g(X)}`),defaultConfig:a$}});var h4=(Z,X)=>{if(!X)return Z;let Q={...Z},U;for(U in X){let J={...Z.keywords};if(U==="keywords"){for(let $ in X[U]){let W=X.keywords[$];if(W===void 0)continue;J[$]=typeof W==="string"?{description:W}:W}Q.keywords=J}else if(U==="toJsonSchema")Q[U]=l8(Z.toJsonSchema,X.toJsonSchema);else if(h2(U))Q[U]={...Z[U],...X[U]};else Q[U]=X[U]}return Q},o$,l8=(Z,X)=>{if(!Z)return w3(X??{},void 0);if(!X)return Z;let Q={...Z},U;for(U in X)if(U==="fallback")Q.fallback=n$(Z.fallback,X.fallback);else Q[U]=X[U];return w3(Q,X)},w3=(Z,X)=>{if(X?.dialect!==void 0)return Z;if(X?.target!==void 0)return{...Z,dialect:o$[X.target]};return Z},n$=(Z,X)=>{Z=P3(Z),X=P3(X);let Q={},U;for(U in J0.defaultConfig.fallback)Q[U]=X[U]??X.default??Z[U]??Z.default??J0.defaultConfig.fallback[U];return Q},P3=(Z)=>typeof Z==="function"?{default:Z}:Z??{};var u2=R(()=>{a();s();n1();T.config??={};o$={"draft-2020-12":"https://json-schema.org/draft/2020-12/schema","draft-07":"http://json-schema.org/draft-07/schema#"}});var t1,k0,d8,t$=(Z)=>Z.toString().split(`
15
+ `):this.body} }`}compile(){return new p7(...this.argNames,this.body)}};x4=class x4 extends r6{traversalKind;optimistic;constructor(Z){super("data","ctx");this.traversalKind=Z.kind,this.optimistic=Z.optimistic===!0}invoke(Z,X){let Q=X?.arg??this.data,U=typeof Z==="string"?!0:this.requiresContextFor(Z),J=typeof Z==="string"?Z:Z.id;if(U)return`${this.referenceToId(J,X)}(${Q}, ${this.ctx})`;return`${this.referenceToId(J,X)}(${Q})`}referenceToId(Z,X){let Q=X?.kind??this.traversalKind,U=`this.${Z}${Q}`;return X?.bind?`${U}.bind(${X?.bind})`:U}requiresContextFor(Z){return this.traversalKind==="Apply"||Z.allowsRequiresContext}initializeErrorCount(){return this.const("errorCount","ctx.currentErrorCount")}returnIfFail(){return this.if("ctx.currentErrorCount > errorCount",()=>this.return())}returnIfFailFast(){return this.if("ctx.failFast && ctx.currentErrorCount > errorCount",()=>this.return())}traverseKey(Z,X,Q){let U=this.requiresContextFor(Q);if(U)this.line(`${this.ctx}.path.push(${Z})`);if(this.check(Q,{arg:X}),U)this.line(`${this.ctx}.path.pop()`);return this}check(Z,X){return this.traversalKind==="Allows"?this.if(`!${this.invoke(Z,X)}`,()=>this.return(!1)):this.line(this.invoke(Z,X))}}});var a6=(Z)=>k(Z,(X,Q)=>[X,Z0(Q)?[...Q]:Q]),S0,E=(Z,X)=>Z?.[S0]===X,Q0=(Z)=>E(Z,"root")||E(Z,"constraint");var q0=R(()=>{b();S0=U1("arkKind")});var O3,v2,u8,p8,o6,x2,a$,n6,T3,K3,h2=(Z)=>typeof Z==="string"&&(Z in K3),m2=(Z)=>K3[Z],t6=(Z)=>x2.slice(m2(Z)+1),D_,w_,c0=(Z)=>{if(typeof Z==="string"||typeof Z==="boolean"||Z===null)return Z;if(typeof Z==="number"){if(Number.isNaN(Z))return"NaN";if(Z===Number.POSITIVE_INFINITY)return"Infinity";if(Z===Number.NEGATIVE_INFINITY)return"-Infinity";return Z}return J1(Z)},o1=(Z)=>{let X="{ ";for(let[Q,U]of Object.entries(Z))X+=`${Q}: ${J1(U)}, `;return X+" }"},v=(Z)=>{let X=Z;if(X.hasAssociatedError)X.defaults.expected??=(Q)=>("description"in Q)?Q.description:X.defaults.description(Q),X.defaults.actual??=(Q)=>g(Q),X.defaults.problem??=(Q)=>`must be ${Q.expected}${Q.actual?` (was ${Q.actual})`:""}`,X.defaults.message??=(Q)=>{if(Q.path.length===0)return Q.problem;let U=`${Q.propString} ${Q.problem}`;if(U[0]==="[")return`value at ${U}`;return U};return X};var a=R(()=>{b();a1();q0();O3=["unit","proto","domain"],v2=["required","optional","index","sequence"],u8=["pattern","divisor","exactLength","max","min","maxLength","minLength","before","after"],p8=[...u8,"structure","predicate"],o6=[...p8,...v2],x2=["alias","union","morph","unit","intersection","proto","domain"],a$=[...x2,...o6],n6=k(o6,(Z,X)=>[X,1]),T3=k([...v2,"undeclared"],(Z,X)=>[X,1]),K3=k(a$,(Z,X)=>[X,Z]),D_=[...t6("union"),"alias"],w_=[...t6("morph"),"alias"]});var D3,o$,J0;var n1=R(()=>{b();D3=class D3 extends Error{name="ToJsonSchemaError";code;context;constructor(Z,X){super(g(X,{quoteKeys:!1,indent:4}));this.code=Z,this.context=X}hasCode(Z){return this.code===Z}};o$={target:"draft-2020-12",dialect:"https://json-schema.org/draft/2020-12/schema",useRefs:!1,fallback:{arrayObject:(Z)=>J0.throw("arrayObject",Z),arrayPostfix:(Z)=>J0.throw("arrayPostfix",Z),defaultValue:(Z)=>J0.throw("defaultValue",Z),domain:(Z)=>J0.throw("domain",Z),morph:(Z)=>J0.throw("morph",Z),patternIntersection:(Z)=>J0.throw("patternIntersection",Z),predicate:(Z)=>J0.throw("predicate",Z),proto:(Z)=>J0.throw("proto",Z),symbolKey:(Z)=>J0.throw("symbolKey",Z),unit:(Z)=>J0.throw("unit",Z),date:(Z)=>J0.throw("date",Z)}},J0={Error:D3,throw:(...Z)=>{throw new J0.Error(...Z)},throwInternalOperandError:(Z,X)=>i(`Unexpected JSON Schema input for ${Z}: ${g(X)}`),defaultConfig:o$}});var h4=(Z,X)=>{if(!X)return Z;let Q={...Z},U;for(U in X){let J={...Z.keywords};if(U==="keywords"){for(let $ in X[U]){let W=X.keywords[$];if(W===void 0)continue;J[$]=typeof W==="string"?{description:W}:W}Q.keywords=J}else if(U==="toJsonSchema")Q[U]=l8(Z.toJsonSchema,X.toJsonSchema);else if(h2(U))Q[U]={...Z[U],...X[U]};else Q[U]=X[U]}return Q},n$,l8=(Z,X)=>{if(!Z)return w3(X??{},void 0);if(!X)return Z;let Q={...Z},U;for(U in X)if(U==="fallback")Q.fallback=t$(Z.fallback,X.fallback);else Q[U]=X[U];return w3(Q,X)},w3=(Z,X)=>{if(X?.dialect!==void 0)return Z;if(X?.target!==void 0)return{...Z,dialect:n$[X.target]};return Z},t$=(Z,X)=>{Z=P3(Z),X=P3(X);let Q={},U;for(U in J0.defaultConfig.fallback)Q[U]=X[U]??X.default??Z[U]??Z.default??J0.defaultConfig.fallback[U];return Q},P3=(Z)=>typeof Z==="function"?{default:Z}:Z??{};var u2=R(()=>{a();s();n1();T.config??={};n$={"draft-2020-12":"https://json-schema.org/draft/2020-12/schema","draft-07":"http://json-schema.org/draft-07/schema#"}});var t1,k0,d8,e$=(Z)=>Z.toString().split(`
16
16
  `).join(`
17
- `);var m4=R(()=>{b();V0();t1=class t1 extends j4{[S0]="error";path;data;nodeConfig;input;ctx;constructor({prefixPath:Z,relativePath:X,...Q},U){super();this.input=Q,this.ctx=U,y7(this,Q);let J=U.data;if(Q.code==="union")Q.errors=Q.errors.flatMap((W)=>{let Y=W.hasCode("union")?W.errors:[W];if(!Z&&!X)return Y;return Y.map((G)=>G.transform((L)=>({...L,path:C7(Z,L.path,X)})))});this.nodeConfig=U.config[this.code];let $=[...Q.path??U.path];if(X)$.push(...X);if(Z)$.unshift(...Z);this.path=new g4(...$),this.data="data"in Q?Q.data:J}transform(Z){return new t1(Z({data:this.data,path:this.path,...this.input}),this.ctx)}hasCode(Z){return this.code===Z}get propString(){return y1(this.path)}get expected(){if(this.input.expected)return this.input.expected;let Z=this.meta?.expected??this.nodeConfig.expected;return typeof Z==="function"?Z(this.input):Z}get actual(){if(this.input.actual)return this.input.actual;let Z=this.meta?.actual??this.nodeConfig.actual;return typeof Z==="function"?Z(this.data):Z}get problem(){if(this.input.problem)return this.input.problem;let Z=this.meta?.problem??this.nodeConfig.problem;return typeof Z==="function"?Z(this):Z}get message(){if(this.input.message)return this.input.message;let Z=this.meta?.message??this.nodeConfig.message;return typeof Z==="function"?Z(this):Z}get flat(){return this.hasCode("intersection")?[...this.errors]:[this]}toJSON(){return{data:this.data,path:this.path,...this.input,expected:this.expected,actual:this.actual,problem:this.problem,message:this.message}}toString(){return this.message}throw(){throw this}};k0=class k0 extends m6{[S0]="errors";ctx;constructor(Z){super();this.ctx=Z}byPath=Object.create(null);get flatByPath(){return k(this.byPath,(Z,X)=>[Z,X.flat])}get flatProblemsByPath(){return k(this.byPath,(Z,X)=>[Z,X.flat.map((Q)=>Q.problem)])}byAncestorPath=Object.create(null);count=0;mutable=this;throw(){throw this.toTraversalError()}toTraversalError(){return new d8(this)}add(Z){let X=this.byPath[Z.propString];if(X){if(Z===X)return;if(X.hasCode("union")&&X.errors.length===0)return;let Q=Z.hasCode("union")&&Z.errors.length===0?Z:new t1({code:"intersection",errors:X.hasCode("intersection")?[...X.errors,Z]:[X,Z]},this.ctx),U=this.indexOf(X);this.mutable[U===-1?this.length:U]=Q,this.byPath[Z.propString]=Q,this.addAncestorPaths(Z)}else this.byPath[Z.propString]=Z,this.addAncestorPaths(Z),this.mutable.push(Z);this.count++}transform(Z){let X=new k0(this.ctx);for(let Q of this)X.add(Z(Q));return X}merge(Z){for(let X of Z)this.add(new t1({...X,path:[...this.ctx.path,...X.path]},this.ctx))}affectsPath(Z){if(this.length===0)return!1;return Z.stringifyAncestors().some((X)=>(X in this.byPath))||Z.stringify()in this.byAncestorPath}get summary(){return this.toString()}get issues(){return this}toJSON(){return[...this.map((Z)=>Z.toJSON())]}toString(){return this.join(`
17
+ `);var m4=R(()=>{b();q0();t1=class t1 extends j4{[S0]="error";path;data;nodeConfig;input;ctx;constructor({prefixPath:Z,relativePath:X,...Q},U){super();this.input=Q,this.ctx=U,y7(this,Q);let J=U.data;if(Q.code==="union")Q.errors=Q.errors.flatMap((W)=>{let Y=W.hasCode("union")?W.errors:[W];if(!Z&&!X)return Y;return Y.map((L)=>L.transform((G)=>({...G,path:C7(Z,G.path,X)})))});this.nodeConfig=U.config[this.code];let $=[...Q.path??U.path];if(X)$.push(...X);if(Z)$.unshift(...Z);this.path=new g4(...$),this.data="data"in Q?Q.data:J}transform(Z){return new t1(Z({data:this.data,path:this.path,...this.input}),this.ctx)}hasCode(Z){return this.code===Z}get propString(){return y1(this.path)}get expected(){if(this.input.expected)return this.input.expected;let Z=this.meta?.expected??this.nodeConfig.expected;return typeof Z==="function"?Z(this.input):Z}get actual(){if(this.input.actual)return this.input.actual;let Z=this.meta?.actual??this.nodeConfig.actual;return typeof Z==="function"?Z(this.data):Z}get problem(){if(this.input.problem)return this.input.problem;let Z=this.meta?.problem??this.nodeConfig.problem;return typeof Z==="function"?Z(this):Z}get message(){if(this.input.message)return this.input.message;let Z=this.meta?.message??this.nodeConfig.message;return typeof Z==="function"?Z(this):Z}get flat(){return this.hasCode("intersection")?[...this.errors]:[this]}toJSON(){return{data:this.data,path:this.path,...this.input,expected:this.expected,actual:this.actual,problem:this.problem,message:this.message}}toString(){return this.message}throw(){throw this}};k0=class k0 extends m6{[S0]="errors";ctx;constructor(Z){super();this.ctx=Z}byPath=Object.create(null);get flatByPath(){return k(this.byPath,(Z,X)=>[Z,X.flat])}get flatProblemsByPath(){return k(this.byPath,(Z,X)=>[Z,X.flat.map((Q)=>Q.problem)])}byAncestorPath=Object.create(null);count=0;mutable=this;throw(){throw this.toTraversalError()}toTraversalError(){return new d8(this)}add(Z){let X=this.byPath[Z.propString];if(X){if(Z===X)return;if(X.hasCode("union")&&X.errors.length===0)return;let Q=Z.hasCode("union")&&Z.errors.length===0?Z:new t1({code:"intersection",errors:X.hasCode("intersection")?[...X.errors,Z]:[X,Z]},this.ctx),U=this.indexOf(X);this.mutable[U===-1?this.length:U]=Q,this.byPath[Z.propString]=Q,this.addAncestorPaths(Z)}else this.byPath[Z.propString]=Z,this.addAncestorPaths(Z),this.mutable.push(Z);this.count++}transform(Z){let X=new k0(this.ctx);for(let Q of this)X.add(Z(Q));return X}merge(Z){for(let X of Z)this.add(new t1({...X,path:[...this.ctx.path,...X.path]},this.ctx))}affectsPath(Z){if(this.length===0)return!1;return Z.stringifyAncestors().some((X)=>(X in this.byPath))||Z.stringify()in this.byAncestorPath}get summary(){return this.toString()}get issues(){return this}toJSON(){return[...this.map((Z)=>Z.toJSON())]}toString(){return this.join(`
18
18
  `)}addAncestorPaths(Z){for(let X of Z.path.stringifyAncestors())this.byAncestorPath[X]=u(this.byAncestorPath[X],Z)}};d8=class d8 extends Error{name="TraversalError";constructor(Z){if(Z.length===1)super(Z.summary);else super(`
19
- `+Z.map((X)=>` • ${t$(X)}`).join(`
20
- `));Object.defineProperty(this,"arkErrors",{value:Z,enumerable:!1})}}});class $1{path=[];errors=new k0(this);root;config;queuedMorphs=[];branches=[];seen={};constructor(Z,X){this.root=Z,this.config=X}get data(){let Z=this.root;for(let X of this.path)Z=Z?.[X];return Z}get propString(){return y1(this.path)}reject(Z){return this.error(Z),!1}mustBe(Z){return this.error(Z),!1}error(Z){let X=typeof Z==="object"?Z.code?Z:{...Z,code:"predicate"}:{code:"predicate",expected:Z};return this.errorFromContext(X)}hasError(){return this.currentErrorCount!==0}get currentBranch(){return this.branches[this.branches.length-1]}queueMorphs(Z){let X={path:new g4(...this.path),morphs:Z};if(this.currentBranch)this.currentBranch.queuedMorphs.push(X);else this.queuedMorphs.push(X)}finalize(Z){if(this.queuedMorphs.length){if(typeof this.root==="object"&&this.root!==null&&this.config.clone)this.root=this.config.clone(this.root);this.applyQueuedMorphs()}if(this.hasError())return Z?Z(this.errors):this.errors;return this.root}get currentErrorCount(){return this.currentBranch?this.currentBranch.error?1:0:this.errors.count}get failFast(){return this.branches.length!==0}pushBranch(){this.branches.push({error:void 0,queuedMorphs:[]})}popBranch(){return this.branches.pop()}get external(){return this}errorFromNodeContext(Z){return this.errorFromContext(Z)}errorFromContext(Z){let X=new t1(Z,this);if(this.currentBranch)this.currentBranch.error=X;else this.errors.add(X);return X}applyQueuedMorphs(){while(this.queuedMorphs.length){let Z=this.queuedMorphs;this.queuedMorphs=[];for(let{path:X,morphs:Q}of Z){if(this.errors.affectsPath(X))continue;this.applyMorphsAtPath(X,Q)}}}applyMorphsAtPath(Z,X){let Q=Z[Z.length-1],U;if(Q!==void 0){U=this.root;for(let J=0;J<Z.length-1;J++)U=U[Z[J]]}for(let J of X){this.path=[...Z];let $=Q0(J),W=J(U===void 0?this.root:U[Q],this);if(W instanceof t1){if(!this.errors.includes(W))this.errors.add(W);break}if(W instanceof k0){if(!$)this.errors.merge(W);this.queuedMorphs=[];break}if(U===void 0)this.root=W;else U[Q]=W;this.applyQueuedMorphs()}}}var g0=(Z,X,Q)=>{if(!Q)return X();Q.path.push(Z);let U=X();return Q.path.pop(),U};var R1=R(()=>{b();m4();V0()});var p4,u4,A3=(Z,X)=>`${Z} had no references matching ${g(X)}.`,e$=(Z)=>y1(Z,{stringifyNonKey:(X)=>X.expression}),ZW,XW=(Z)=>JSON.stringify(Z).replace(ZW,"$1"),W1=(Z,X)=>({path:Z,node:X,propString:e$(Z)}),S3=(Z,X)=>Z.propString===X.propString&&Z.node.equals(X.node),c8=(Z,X)=>F1(Z,X,{isEqual:S3}),QW=(Z,X)=>F1(Z,X,{isEqual:(Q,U)=>Q.equals(U)});var D2=R(()=>{b();a();s();R1();V0();p4=class p4 extends y0{attachments;$;onFail;includesTransform;includesContextualPredicate;isCyclic;allowsRequiresContext;rootApplyStrategy;contextFreeMorph;rootApply;referencesById;shallowReferences;flatRefs;flatMorphs;allows;get shallowMorphs(){return[]}constructor(Z,X){super((U,J,$=this.onFail)=>{if(J)return this.traverseApply(U,J),J.hasError()?J.errors:J.data;return this.rootApply(U,$)},{attach:Z});this.attachments=Z,this.$=X,this.onFail=this.meta.onFail??this.$.resolvedConfig.onFail,this.includesTransform=this.hasKind("morph")||this.hasKind("structure")&&this.structuralMorph!==void 0||this.hasKind("sequence")&&this.inner.defaultables!==void 0,this.includesContextualPredicate=this.hasKind("predicate")&&this.inner.predicate.length!==1,this.isCyclic=this.kind==="alias",this.referencesById={[this.id]:this},this.shallowReferences=this.hasKind("structure")?[this,...this.children]:this.children.reduce((U,J)=>QW(U,J.shallowReferences),[this]);let Q=this.isStructural();this.flatRefs=[],this.flatMorphs=[];for(let U=0;U<this.children.length;U++){if(this.includesTransform||=this.children[U].includesTransform,this.includesContextualPredicate||=this.children[U].includesContextualPredicate,this.isCyclic||=this.children[U].isCyclic,!Q){let J=this.children[U].flatRefs;for(let $=0;$<J.length;$++){let W=J[$];if(!this.flatRefs.some((Y)=>S3(Y,W))){this.flatRefs.push(W);for(let Y of W.node.branches)if(Y.hasKind("morph")||Y.hasKind("intersection")&&Y.structure?.structuralMorph!==void 0)this.flatMorphs.push({path:W.path,propString:W.propString,node:Y})}}}Object.assign(this.referencesById,this.children[U].referencesById)}this.flatRefs.sort((U,J)=>U.path.length>J.path.length?1:U.path.length<J.path.length?-1:U.propString>J.propString?1:U.propString<J.propString?-1:U.node.expression<J.node.expression?-1:1),this.allowsRequiresContext=this.includesContextualPredicate||this.isCyclic,this.rootApplyStrategy=!this.allowsRequiresContext&&this.flatMorphs.length===0?this.shallowMorphs.length===0?"allows":this.shallowMorphs.every((U)=>U.length===1||U.name==="$arkStructuralMorph")?this.hasKind("union")?this.branches.some((U)=>U.shallowMorphs.length>1)?"contextual":"branchedOptimistic":this.shallowMorphs.length>1?"contextual":"optimistic":"contextual":"contextual",this.rootApply=this.createRootApply(),this.allows=this.allowsRequiresContext?(U)=>this.traverseAllows(U,new $1(U,this.$.resolvedConfig)):(U)=>this.traverseAllows(U)}createRootApply(){switch(this.rootApplyStrategy){case"allows":return(X,Q)=>{if(this.allows(X))return X;let U=new $1(X,this.$.resolvedConfig);return this.traverseApply(X,U),U.finalize(Q)};case"contextual":return(X,Q)=>{let U=new $1(X,this.$.resolvedConfig);return this.traverseApply(X,U),U.finalize(Q)};case"optimistic":this.contextFreeMorph=this.shallowMorphs[0];let Z=this.$.resolvedConfig.clone;return(X,Q)=>{if(this.allows(X))return this.contextFreeMorph(Z&&(typeof X==="object"&&X!==null||typeof X==="function")?Z(X):X);let U=new $1(X,this.$.resolvedConfig);return this.traverseApply(X,U),U.finalize(Q)};case"branchedOptimistic":return this.createBranchedOptimisticRootApply();default:return this.rootApplyStrategy,i(`Unexpected rootApplyStrategy ${this.rootApplyStrategy}`)}}compiledMeta=XW(this.metaJson);cacheGetter(Z,X){return Object.defineProperty(this,Z,{value:X}),X}get description(){return this.cacheGetter("description",this.meta?.description??this.$.resolvedConfig[this.kind].description(this))}get references(){return Object.values(this.referencesById)}precedence=m2(this.kind);precompilation;assert=(Z,X)=>this(Z,X,(Q)=>Q.throw());traverse(Z,X){return this(Z,X,null)}get in(){return this.cacheGetter("in",this.rawIn.isRoot()?this.$.finalize(this.rawIn):this.rawIn)}get rawIn(){return this.cacheGetter("rawIn",this.getIo("in"))}get out(){return this.cacheGetter("out",this.rawOut.isRoot()?this.$.finalize(this.rawOut):this.rawOut)}get rawOut(){return this.cacheGetter("rawOut",this.getIo("out"))}getIo(Z){if(!this.includesTransform)return this;let X={};for(let[Q,U]of this.innerEntries){let J=this.impl.keys[Q];if(J.reduceIo)J.reduceIo(Z,X,U);else if(J.child){let $=U;X[Q]=Z0($)?$.map((W)=>Z==="in"?W.rawIn:W.rawOut):Z==="in"?$.rawIn:$.rawOut}else X[Q]=U}return this.$.node(this.kind,X)}toJSON(){return this.json}toString(){return`Type<${this.expression}>`}equals(Z){let X=Q0(Z)?Z:this.$.parseDefinition(Z);return this.innerHash===X.innerHash}ifEquals(Z){return this.equals(Z)?this:void 0}hasKind(Z){return this.kind===Z}assertHasKind(Z){if(this.kind!==Z)F2(`${this.kind} node was not of asserted kind ${Z}`);return this}hasKindIn(...Z){return Z.includes(this.kind)}assertHasKindIn(...Z){if(!d0(Z,this.kind))F2(`${this.kind} node was not one of asserted kinds ${Z}`);return this}isBasis(){return d0(O3,this.kind)}isConstraint(){return d0(o6,this.kind)}isStructural(){return d0(v2,this.kind)}isRefinement(){return d0(p8,this.kind)}isRoot(){return d0(x2,this.kind)}isUnknown(){return this.hasKind("intersection")&&this.children.length===0}isNever(){return this.hasKind("union")&&this.children.length===0}hasUnit(Z){return this.hasKind("unit")&&this.allows(Z)}hasOpenIntersection(){return this.impl.intersectionIsOpen}get nestableExpression(){return this.expression}select(Z){let X=u4.normalize(Z);return this._select(X)}_select(Z){let X=u4.applyBoundary[Z.boundary??"references"](this);if(Z.kind)X=X.filter((Q)=>Q.kind===Z.kind);if(Z.where)X=X.filter(Z.where);return u4.applyMethod[Z.method??"filter"](X,this,Z)}transform(Z,X){return this._transform(Z,this._createTransformContext(X))}_createTransformContext(Z){return{root:this,selected:void 0,seen:{},path:[],parseOptions:{prereduced:Z?.prereduced??!1},undeclaredKeyHandling:void 0,...Z}}_transform(Z,X){let Q=X.bindScope??this.$;if(X.seen[this.id])return this.$.lazilyResolve(X.seen[this.id]);if(X.shouldTransform?.(this,X)===!1)return this;let U;if(X.seen[this.id]=()=>U,this.hasKind("structure")&&this.undeclared!==X.undeclaredKeyHandling)X={...X,undeclaredKeyHandling:this.undeclared};let J=k(this.inner,(L,q)=>{if(!this.impl.keys[L].child)return[L,q];let V=q;if(!Z0(V)){let H=V._transform(Z,X);return H?[L,H]:[]}if(V.length===0)return[L,q];let _=V.flatMap((H)=>{return H._transform(Z,X)??[]});return _.length?[L,_]:[]});delete X.seen[this.id];let $=Object.assign(J,{meta:this.meta}),W=X.selected&&!X.selected.includes(this)?$:Z(this.kind,$,X);if(W===null)return null;if(Q0(W))return U=W;let Y=Object.keys(W);if((Y.length===0||Y.length===1&&Y[0]==="meta")&&!M1(this.inner))return null;if((this.kind==="required"||this.kind==="optional"||this.kind==="index")&&!("value"in W))return X.undeclaredKeyHandling?{...W,value:T.intrinsic.unknown}:null;if(this.kind==="morph")W.in??=T.intrinsic.unknown;return U=Q.node(this.kind,W,X.parseOptions)}configureReferences(Z,X="references"){let Q=u4.normalize(X),U=typeof Z==="string"?(Y,G)=>({...G,meta:{...G.meta,description:Z}}):typeof Z==="function"?(Y,G)=>({...G,meta:Z(G.meta)}):(Y,G)=>({...G,meta:{...G.meta,...Z}});if(Q.boundary==="self")return this.$.node(this.kind,U(this.kind,{...this.inner,meta:this.meta}));let J=this._select(Q),$=J&&c1(J),W=Q.boundary==="child"?(Y,G)=>G.root.children.includes(Y):Q.boundary==="shallow"?(Y)=>Y.kind!=="structure":()=>!0;return this.$.finalize(this.transform(U,{shouldTransform:W,selected:$}))}};u4={applyBoundary:{self:(Z)=>[Z],child:(Z)=>[...Z.children],shallow:(Z)=>[...Z.shallowReferences],references:(Z)=>[...Z.references]},applyMethod:{filter:(Z)=>Z,assertFilter:(Z,X,Q)=>{if(Z.length===0)F2(A3(X,Q));return Z},find:(Z)=>Z[0],assertFind:(Z,X,Q)=>{if(Z.length===0)F2(A3(X,Q));return Z[0]}},normalize:(Z)=>typeof Z==="function"?{boundary:"references",method:"filter",where:Z}:typeof Z==="string"?F0(Z,u4.applyBoundary)?{method:"filter",boundary:Z}:{boundary:"references",method:"filter",kind:Z}:{boundary:"references",method:"filter",...Z}},ZW=/"(\$ark\.[^"]+)"/g});var j,j3=(Z,X)=>`${i8(Z)} and ${i8(X)}`,i8=(Z)=>Q0(Z)?Z.expression:Z0(Z)?Z.map(i8).join(" | ")||"never":String(Z),s8=(Z)=>`${Z} results in an unsatisfiable type`;var G0=R(()=>{b();s();V0();j=class j extends Array{static init(Z,X,Q,U){return new j({kind:Z,l:X,r:Q,path:U?.path??[],optional:U?.optional??!1})}add(Z,X,Q,U){return this.push({kind:Z,l:X,r:Q,path:U?.path??[],optional:U?.optional??!1}),this}get summary(){return this.describeReasons()}describeReasons(){if(this.length===1){let{path:Z,l:X,r:Q}=this[0],U=y1(Z);return s8(`Intersection${U&&` at ${U}`} of ${j3(X,Q)}`)}return`The following intersections result in unsatisfiable types:
19
+ `+Z.map((X)=>` • ${e$(X)}`).join(`
20
+ `));Object.defineProperty(this,"arkErrors",{value:Z,enumerable:!1})}}});class $1{path=[];errors=new k0(this);root;config;queuedMorphs=[];branches=[];seen={};constructor(Z,X){this.root=Z,this.config=X}get data(){let Z=this.root;for(let X of this.path)Z=Z?.[X];return Z}get propString(){return y1(this.path)}reject(Z){return this.error(Z),!1}mustBe(Z){return this.error(Z),!1}error(Z){let X=typeof Z==="object"?Z.code?Z:{...Z,code:"predicate"}:{code:"predicate",expected:Z};return this.errorFromContext(X)}hasError(){return this.currentErrorCount!==0}get currentBranch(){return this.branches[this.branches.length-1]}queueMorphs(Z){let X={path:new g4(...this.path),morphs:Z};if(this.currentBranch)this.currentBranch.queuedMorphs.push(X);else this.queuedMorphs.push(X)}finalize(Z){if(this.queuedMorphs.length){if(typeof this.root==="object"&&this.root!==null&&this.config.clone)this.root=this.config.clone(this.root);this.applyQueuedMorphs()}if(this.hasError())return Z?Z(this.errors):this.errors;return this.root}get currentErrorCount(){return this.currentBranch?this.currentBranch.error?1:0:this.errors.count}get failFast(){return this.branches.length!==0}pushBranch(){this.branches.push({error:void 0,queuedMorphs:[]})}popBranch(){return this.branches.pop()}get external(){return this}errorFromNodeContext(Z){return this.errorFromContext(Z)}errorFromContext(Z){let X=new t1(Z,this);if(this.currentBranch)this.currentBranch.error=X;else this.errors.add(X);return X}applyQueuedMorphs(){while(this.queuedMorphs.length){let Z=this.queuedMorphs;this.queuedMorphs=[];for(let{path:X,morphs:Q}of Z){if(this.errors.affectsPath(X))continue;this.applyMorphsAtPath(X,Q)}}}applyMorphsAtPath(Z,X){let Q=Z[Z.length-1],U;if(Q!==void 0){U=this.root;for(let J=0;J<Z.length-1;J++)U=U[Z[J]]}for(let J of X){this.path=[...Z];let $=Q0(J),W=J(U===void 0?this.root:U[Q],this);if(W instanceof t1){if(!this.errors.includes(W))this.errors.add(W);break}if(W instanceof k0){if(!$)this.errors.merge(W);this.queuedMorphs=[];break}if(U===void 0)this.root=W;else U[Q]=W;this.applyQueuedMorphs()}}}var g0=(Z,X,Q)=>{if(!Q)return X();Q.path.push(Z);let U=X();return Q.path.pop(),U};var O1=R(()=>{b();m4();q0()});var p4,u4,A3=(Z,X)=>`${Z} had no references matching ${g(X)}.`,ZW=(Z)=>y1(Z,{stringifyNonKey:(X)=>X.expression}),XW,QW=(Z)=>JSON.stringify(Z).replace(XW,"$1"),W1=(Z,X)=>({path:Z,node:X,propString:ZW(Z)}),S3=(Z,X)=>Z.propString===X.propString&&Z.node.equals(X.node),c8=(Z,X)=>B1(Z,X,{isEqual:S3}),UW=(Z,X)=>B1(Z,X,{isEqual:(Q,U)=>Q.equals(U)});var D2=R(()=>{b();a();s();O1();q0();p4=class p4 extends y0{attachments;$;onFail;includesTransform;includesContextualPredicate;isCyclic;allowsRequiresContext;rootApplyStrategy;contextFreeMorph;rootApply;referencesById;shallowReferences;flatRefs;flatMorphs;allows;get shallowMorphs(){return[]}constructor(Z,X){super((U,J,$=this.onFail)=>{if(J)return this.traverseApply(U,J),J.hasError()?J.errors:J.data;return this.rootApply(U,$)},{attach:Z});this.attachments=Z,this.$=X,this.onFail=this.meta.onFail??this.$.resolvedConfig.onFail,this.includesTransform=this.hasKind("morph")||this.hasKind("structure")&&this.structuralMorph!==void 0||this.hasKind("sequence")&&this.inner.defaultables!==void 0,this.includesContextualPredicate=this.hasKind("predicate")&&this.inner.predicate.length!==1,this.isCyclic=this.kind==="alias",this.referencesById={[this.id]:this},this.shallowReferences=this.hasKind("structure")?[this,...this.children]:this.children.reduce((U,J)=>UW(U,J.shallowReferences),[this]);let Q=this.isStructural();this.flatRefs=[],this.flatMorphs=[];for(let U=0;U<this.children.length;U++){if(this.includesTransform||=this.children[U].includesTransform,this.includesContextualPredicate||=this.children[U].includesContextualPredicate,this.isCyclic||=this.children[U].isCyclic,!Q){let J=this.children[U].flatRefs;for(let $=0;$<J.length;$++){let W=J[$];if(!this.flatRefs.some((Y)=>S3(Y,W))){this.flatRefs.push(W);for(let Y of W.node.branches)if(Y.hasKind("morph")||Y.hasKind("intersection")&&Y.structure?.structuralMorph!==void 0)this.flatMorphs.push({path:W.path,propString:W.propString,node:Y})}}}Object.assign(this.referencesById,this.children[U].referencesById)}this.flatRefs.sort((U,J)=>U.path.length>J.path.length?1:U.path.length<J.path.length?-1:U.propString>J.propString?1:U.propString<J.propString?-1:U.node.expression<J.node.expression?-1:1),this.allowsRequiresContext=this.includesContextualPredicate||this.isCyclic,this.rootApplyStrategy=!this.allowsRequiresContext&&this.flatMorphs.length===0?this.shallowMorphs.length===0?"allows":this.shallowMorphs.every((U)=>U.length===1||U.name==="$arkStructuralMorph")?this.hasKind("union")?this.branches.some((U)=>U.shallowMorphs.length>1)?"contextual":"branchedOptimistic":this.shallowMorphs.length>1?"contextual":"optimistic":"contextual":"contextual",this.rootApply=this.createRootApply(),this.allows=this.allowsRequiresContext?(U)=>this.traverseAllows(U,new $1(U,this.$.resolvedConfig)):(U)=>this.traverseAllows(U)}createRootApply(){switch(this.rootApplyStrategy){case"allows":return(X,Q)=>{if(this.allows(X))return X;let U=new $1(X,this.$.resolvedConfig);return this.traverseApply(X,U),U.finalize(Q)};case"contextual":return(X,Q)=>{let U=new $1(X,this.$.resolvedConfig);return this.traverseApply(X,U),U.finalize(Q)};case"optimistic":this.contextFreeMorph=this.shallowMorphs[0];let Z=this.$.resolvedConfig.clone;return(X,Q)=>{if(this.allows(X))return this.contextFreeMorph(Z&&(typeof X==="object"&&X!==null||typeof X==="function")?Z(X):X);let U=new $1(X,this.$.resolvedConfig);return this.traverseApply(X,U),U.finalize(Q)};case"branchedOptimistic":return this.createBranchedOptimisticRootApply();default:return this.rootApplyStrategy,i(`Unexpected rootApplyStrategy ${this.rootApplyStrategy}`)}}compiledMeta=QW(this.metaJson);cacheGetter(Z,X){return Object.defineProperty(this,Z,{value:X}),X}get description(){return this.cacheGetter("description",this.meta?.description??this.$.resolvedConfig[this.kind].description(this))}get references(){return Object.values(this.referencesById)}precedence=m2(this.kind);precompilation;assert=(Z,X)=>this(Z,X,(Q)=>Q.throw());traverse(Z,X){return this(Z,X,null)}get in(){return this.cacheGetter("in",this.rawIn.isRoot()?this.$.finalize(this.rawIn):this.rawIn)}get rawIn(){return this.cacheGetter("rawIn",this.getIo("in"))}get out(){return this.cacheGetter("out",this.rawOut.isRoot()?this.$.finalize(this.rawOut):this.rawOut)}get rawOut(){return this.cacheGetter("rawOut",this.getIo("out"))}getIo(Z){if(!this.includesTransform)return this;let X={};for(let[Q,U]of this.innerEntries){let J=this.impl.keys[Q];if(J.reduceIo)J.reduceIo(Z,X,U);else if(J.child){let $=U;X[Q]=Z0($)?$.map((W)=>Z==="in"?W.rawIn:W.rawOut):Z==="in"?$.rawIn:$.rawOut}else X[Q]=U}return this.$.node(this.kind,X)}toJSON(){return this.json}toString(){return`Type<${this.expression}>`}equals(Z){let X=Q0(Z)?Z:this.$.parseDefinition(Z);return this.innerHash===X.innerHash}ifEquals(Z){return this.equals(Z)?this:void 0}hasKind(Z){return this.kind===Z}assertHasKind(Z){if(this.kind!==Z)F2(`${this.kind} node was not of asserted kind ${Z}`);return this}hasKindIn(...Z){return Z.includes(this.kind)}assertHasKindIn(...Z){if(!d0(Z,this.kind))F2(`${this.kind} node was not one of asserted kinds ${Z}`);return this}isBasis(){return d0(O3,this.kind)}isConstraint(){return d0(o6,this.kind)}isStructural(){return d0(v2,this.kind)}isRefinement(){return d0(p8,this.kind)}isRoot(){return d0(x2,this.kind)}isUnknown(){return this.hasKind("intersection")&&this.children.length===0}isNever(){return this.hasKind("union")&&this.children.length===0}hasUnit(Z){return this.hasKind("unit")&&this.allows(Z)}hasOpenIntersection(){return this.impl.intersectionIsOpen}get nestableExpression(){return this.expression}select(Z){let X=u4.normalize(Z);return this._select(X)}_select(Z){let X=u4.applyBoundary[Z.boundary??"references"](this);if(Z.kind)X=X.filter((Q)=>Q.kind===Z.kind);if(Z.where)X=X.filter(Z.where);return u4.applyMethod[Z.method??"filter"](X,this,Z)}transform(Z,X){return this._transform(Z,this._createTransformContext(X))}_createTransformContext(Z){return{root:this,selected:void 0,seen:{},path:[],parseOptions:{prereduced:Z?.prereduced??!1},undeclaredKeyHandling:void 0,...Z}}_transform(Z,X){let Q=X.bindScope??this.$;if(X.seen[this.id])return this.$.lazilyResolve(X.seen[this.id]);if(X.shouldTransform?.(this,X)===!1)return this;let U;if(X.seen[this.id]=()=>U,this.hasKind("structure")&&this.undeclared!==X.undeclaredKeyHandling)X={...X,undeclaredKeyHandling:this.undeclared};let J=k(this.inner,(G,V)=>{if(!this.impl.keys[G].child)return[G,V];let q=V;if(!Z0(q)){let H=q._transform(Z,X);return H?[G,H]:[]}if(q.length===0)return[G,V];let _=q.flatMap((H)=>{return H._transform(Z,X)??[]});return _.length?[G,_]:[]});delete X.seen[this.id];let $=Object.assign(J,{meta:this.meta}),W=X.selected&&!X.selected.includes(this)?$:Z(this.kind,$,X);if(W===null)return null;if(Q0(W))return U=W;let Y=Object.keys(W);if((Y.length===0||Y.length===1&&Y[0]==="meta")&&!R1(this.inner))return null;if((this.kind==="required"||this.kind==="optional"||this.kind==="index")&&!("value"in W))return X.undeclaredKeyHandling?{...W,value:T.intrinsic.unknown}:null;if(this.kind==="morph")W.in??=T.intrinsic.unknown;return U=Q.node(this.kind,W,X.parseOptions)}configureReferences(Z,X="references"){let Q=u4.normalize(X),U=typeof Z==="string"?(Y,L)=>({...L,meta:{...L.meta,description:Z}}):typeof Z==="function"?(Y,L)=>({...L,meta:Z(L.meta)}):(Y,L)=>({...L,meta:{...L.meta,...Z}});if(Q.boundary==="self")return this.$.node(this.kind,U(this.kind,{...this.inner,meta:this.meta}));let J=this._select(Q),$=J&&c1(J),W=Q.boundary==="child"?(Y,L)=>L.root.children.includes(Y):Q.boundary==="shallow"?(Y)=>Y.kind!=="structure":()=>!0;return this.$.finalize(this.transform(U,{shouldTransform:W,selected:$}))}};u4={applyBoundary:{self:(Z)=>[Z],child:(Z)=>[...Z.children],shallow:(Z)=>[...Z.shallowReferences],references:(Z)=>[...Z.references]},applyMethod:{filter:(Z)=>Z,assertFilter:(Z,X,Q)=>{if(Z.length===0)F2(A3(X,Q));return Z},find:(Z)=>Z[0],assertFind:(Z,X,Q)=>{if(Z.length===0)F2(A3(X,Q));return Z[0]}},normalize:(Z)=>typeof Z==="function"?{boundary:"references",method:"filter",where:Z}:typeof Z==="string"?F0(Z,u4.applyBoundary)?{method:"filter",boundary:Z}:{boundary:"references",method:"filter",kind:Z}:{boundary:"references",method:"filter",...Z}},XW=/"(\$ark\.[^"]+)"/g});var j,j3=(Z,X)=>`${i8(Z)} and ${i8(X)}`,i8=(Z)=>Q0(Z)?Z.expression:Z0(Z)?Z.map(i8).join(" | ")||"never":String(Z),s8=(Z)=>`${Z} results in an unsatisfiable type`;var L0=R(()=>{b();s();q0();j=class j extends Array{static init(Z,X,Q,U){return new j({kind:Z,l:X,r:Q,path:U?.path??[],optional:U?.optional??!1})}add(Z,X,Q,U){return this.push({kind:Z,l:X,r:Q,path:U?.path??[],optional:U?.optional??!1}),this}get summary(){return this.describeReasons()}describeReasons(){if(this.length===1){let{path:Z,l:X,r:Q}=this[0],U=y1(Z);return s8(`Intersection${U&&` at ${U}`} of ${j3(X,Q)}`)}return`The following intersections result in unsatisfiable types:
21
21
  • ${this.map(({path:Z,l:X,r:Q})=>`${Z}: ${j3(X,Q)}`).join(`
22
- • `)}`}throw(){return M(this.describeReasons())}invert(){let Z=this.map((X)=>({...X,l:X.r,r:X.l}));if(!(Z instanceof j))return new j(...Z);return Z}withPrefixKey(Z,X){return this.map((Q)=>({...Q,path:[Z,...Q.path],optional:Q.optional||X==="optional"}))}toNeverIfDisjoint(){return T.intrinsic.never}}});var p2,v0=(Z,X,Q)=>U0(Z,X,{$:Q,invert:!1,pipe:!1}),l4=(Z,X,Q)=>U0(Z,X,{$:Q,invert:!1,pipe:!0}),U0=(Z,X,Q)=>{let U=Q.pipe?"|>":"&",J=`${Z.hash}${U}${X.hash}`;if(p2[J]!==void 0)return p2[J];if(!Q.pipe){let Y=`${X.hash}${U}${Z.hash}`;if(p2[Y]!==void 0){let G=p2[Y],L=G instanceof j?G.invert():G;return p2[J]=L,L}}let $=!Q.pipe||!Z.includesTransform&&!X.includesTransform;if($&&Z.equals(X))return Z;let W=$?r8(Z,X,Q):Z.hasKindIn(...x2)?UW(Z,X,Q):r8(Z,X,Q);if(Q0(W)){if(Z.equals(W))W=Z;else if(X.equals(W))W=X}return p2[J]=W,W},r8=(Z,X,Q)=>{let U=Z.precedence<X.precedence?Z.kind:X.kind,J=Z.impl.intersections[X.kind]??X.impl.intersections[Z.kind];if(J===void 0)return null;else if(U===Z.kind)return J(Z,X,Q);else{let $=J(X,Z,{...Q,invert:!Q.invert});if($ instanceof j)$=$.invert();return $}},UW=(Z,X,Q)=>Z.includesTransform||X.includesTransform?Q.invert?C3(X,Z,Q):C3(Z,X,Q):r8(Z,X,Q),C3=(Z,X,Q)=>Z.distribute((U)=>JW(U,X,Q),(U)=>{let J=U.filter(Q0);if(J.length===0)return j.init("union",Z.branches,X.branches);if(J.length<Z.branches.length||!Z.branches.every((Y,G)=>Y.rawIn.equals(J[G].rawIn)))return Q.$.parseSchema(J);let $;if(J.length===1){let Y=J[0];if(!$)return Y;return Q.$.node("morph",{...Y.inner,in:Y.rawIn.configure($,"self")})}let W={branches:J};if($)W.meta=$;return Q.$.parseSchema(W)}),JW=(Z,X,Q)=>{if(Z.hasKind("morph")){let J=[...Z.morphs];if(Z.lastMorphIfNode){let $=U0(Z.lastMorphIfNode,X,Q);if($ instanceof j)return $;J[J.length-1]=$}else J.push(X);return Q.$.node("morph",{morphs:J,in:Z.inner.in})}if(X.hasKind("morph")){let J=U0(Z,X.rawIn,Q);if(J instanceof j)return J;return Q.$.node("morph",{morphs:[X],in:J})}return Q.$.node("morph",{morphs:[X],in:Z})};var i0=R(()=>{G0();a();V0();p2={}});var s0,k1,w0=(Z)=>(X,Q)=>{if(Z0(X)){if(X.length===0)return;let J=X.map(($)=>Q.$.node(Z,$));if(Z==="predicate")return J;return J.sort(($,W)=>$.hash<W.hash?-1:1)}let U=Q.$.node(Z,X);return U.hasOpenIntersection()?[U]:U},l2=(Z)=>{let X=Z.r.shift();if(!X){let U=Z.l.length===0&&Z.kind==="structure"?T.intrinsic.unknown.internal:Z.ctx.$.node(Z.kind,Object.assign(Z.baseInner,$W(Z.l)),{prereduced:!0});for(let J of Z.roots){if(U instanceof j)return U;U=U0(J,U,Z.ctx)}return U}let Q=!1;for(let U=0;U<Z.l.length;U++){let J=U0(Z.l[U],X,Z.ctx);if(J===null)continue;if(J instanceof j)return J;if(J.isRoot())return Z.roots.push(J),Z.l.splice(U),l2(Z);if(!Q)Z.l[U]=J,Q=!0;else if(!Z.l.includes(J))return i(`Unexpectedly encountered multiple distinct intersection results for refinement ${X}`)}if(!Q)Z.l.push(X);if(Z.kind==="intersection"){if(X.impliedSiblings)for(let U of X.impliedSiblings)F1(Z.r,U)}return l2(Z)},d2=(Z)=>{return Object.entries(Z).flatMap(([Q,U])=>(Q in n6)?U:[]).sort((Q,U)=>Q.precedence<U.precedence?-1:Q.precedence>U.precedence?1:Q.kind==="predicate"&&U.kind==="predicate"?0:Q.hash<U.hash?-1:1)},$W=(Z)=>{let X={};for(let Q of Z)if(Q.hasOpenIntersection())X[Q.kind]=u(X[Q.kind],Q);else{if(X[Q.kind])return i(`Unexpected intersection of closed refinements of kind ${Q.kind}`);X[Q.kind]=Q}return X},N3=(...Z)=>M(b3(...Z)),b3=(Z,X,Q)=>{let U=Q.hasKind("morph")?"a morph":Q.isUnknown()?"unknown":Q.exclude(X).defaultShortDescription;return`${n7(Z)} operand must be ${X.description} (was ${U})`};var m0=R(()=>{b();D2();G0();a();i0();s();V0();s0=class s0 extends p4{constructor(Z,X){super(Z,X);Object.defineProperty(this,S0,{value:"constraint",enumerable:!1})}impliedSiblings;intersect(Z){return v0(this,Z,this.$)}};k1=class k1 extends s0{traverseApply=(Z,X)=>{if(!this.traverseAllows(Z,X))X.errorFromNodeContext(this.errorContext)};compile(Z){if(Z.traversalKind==="Allows")Z.return(this.compiledCondition);else Z.if(this.compiledNegation,()=>Z.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`))}get errorContext(){return{code:this.kind,description:this.description,meta:this.meta,...this.inner}}get compiledErrorContext(){return o1(this.errorContext)}}});var E3=(Z,X,Q)=>new e1(Z,X,Q,Q,null),e6,e1,WW=(Z,X,Q)=>`${Z} must be assignable to ${X} (was ${Q})`;var a8=R(()=>{b();s();V0();e6=class e6 extends y0{};e1=class e1 extends y0{[S0]="generic";paramDefs;bodyDef;$;arg$;baseInstantiation;hkt;description;constructor(Z,X,Q,U,J){super((...$)=>{let W=k(this.names,(Y,G)=>{let L=this.arg$.parse($[Y]);if(!L.extends(this.constraints[Y]))M(WW(G,this.constraints[Y].expression,L.expression));return[G,L]});if(this.defIsLazy()){let Y=this.bodyDef(W);return this.$.parse(Y)}return this.$.parse(X,{args:W})});this.paramDefs=Z,this.bodyDef=X,this.$=Q,this.arg$=U,this.hkt=J,this.description=J?new J().description??`a generic type for ${J.constructor.name}`:"a generic type",this.baseInstantiation=this(...this.constraints)}defIsLazy(){return this.bodyDef instanceof e6}cacheGetter(Z,X){return Object.defineProperty(this,Z,{value:X}),X}get json(){return this.cacheGetter("json",{params:this.params.map((Z)=>Z[1].isUnknown()?Z[0]:[Z[0],Z[1].json]),body:q3(this.bodyDef)})}get params(){return this.cacheGetter("params",this.paramDefs.map((Z)=>typeof Z==="string"?[Z,T.intrinsic.unknown]:[Z[0],this.$.parse(Z[1])]))}get names(){return this.cacheGetter("names",this.params.map((Z)=>Z[0]))}get constraints(){return this.cacheGetter("constraints",this.params.map((Z)=>Z[1]))}get internal(){return this}get referencesById(){return this.baseInstantiation.internal.referencesById}get references(){return this.baseInstantiation.internal.references}}});var YW,f3,o8;var n8=R(()=>{m0();a();s();YW=v({kind:"predicate",hasAssociatedError:!0,collapsibleKey:"predicate",keys:{predicate:{}},normalize:(Z)=>typeof Z==="function"?{predicate:Z}:Z,defaults:{description:(Z)=>`valid according to ${Z.predicate.name||"an anonymous predicate"}`},intersectionIsOpen:!0,intersections:{predicate:()=>null}});f3=class f3 extends s0{serializedPredicate=W0(this.predicate);compiledCondition=`${this.serializedPredicate}(data, ctx)`;compiledNegation=`!${this.compiledCondition}`;impliedBasis=null;expression=this.serializedPredicate;traverseAllows=this.predicate;errorContext={code:"predicate",description:this.description,meta:this.meta};compiledErrorContext=o1(this.errorContext);traverseApply=(Z,X)=>{let Q=X.currentErrorCount;if(!this.predicate(Z,X.external)&&X.currentErrorCount===Q)X.errorFromNodeContext(this.errorContext)};compile(Z){if(Z.traversalKind==="Allows"){Z.return(this.compiledCondition);return}Z.initializeErrorCount(),Z.if(`${this.compiledNegation} && ctx.currentErrorCount === errorCount`,()=>Z.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`))}reduceJsonSchema(Z,X){return X.fallback.predicate({code:"predicate",base:Z,predicate:this.predicate})}};o8={implementation:YW,Node:f3}});var GW,I3,t8,LW=(Z)=>`divisor must be an integer (was ${Z})`,qW=(Z,X)=>{let Q,U=Z,J=X;while(J!==0)Q=J,J=U%J,U=Q;return U};var e8=R(()=>{b();m0();a();s();GW=v({kind:"divisor",collapsibleKey:"rule",keys:{rule:{parse:(Z)=>Number.isInteger(Z)?Z:M(LW(Z))}},normalize:(Z)=>typeof Z==="number"?{rule:Z}:Z,hasAssociatedError:!0,defaults:{description:(Z)=>Z.rule===1?"an integer":Z.rule===2?"even":`a multiple of ${Z.rule}`},intersections:{divisor:(Z,X,Q)=>Q.$.node("divisor",{rule:Math.abs(Z.rule*X.rule/qW(Z.rule,X.rule))})},obviatesBasisDescription:!0});I3=class I3 extends k1{traverseAllows=(Z)=>Z%this.rule===0;compiledCondition=`data % ${this.rule} === 0`;compiledNegation=`data % ${this.rule} !== 0`;impliedBasis=T.intrinsic.number.internal;expression=`% ${this.rule}`;reduceJsonSchema(Z){if(Z.type="integer",this.rule===1)return Z;return Z.multipleOf=this.rule,Z}};t8={implementation:GW,Node:I3}});var u0,VW,_W,Z9,X9=(Z)=>(X)=>{if(typeof X==="number")return{rule:X};let{exclusive:Q,...U}=X;return Q?{...U,rule:Z==="minLength"?U.rule+1:U.rule-1}:U},Q9=(Z)=>(X)=>{if(typeof X==="number"||typeof X==="string"||X instanceof Date)return{rule:X};let{exclusive:Q,...U}=X;if(!Q)return U;let J=typeof U.rule==="number"?U.rule:typeof U.rule==="string"?new Date(U.rule).valueOf():U.rule.valueOf();return Q?{...U,rule:Z==="after"?J+1:J-1}:U},U9=(Z)=>typeof Z==="string"||typeof Z==="number"?new Date(Z):Z,zW=(Z,X)=>`${Z} bound must be a positive integer (was ${X})`,c2=(Z)=>(X)=>{if(!Number.isInteger(X)||X<0)M(zW(Z,X));return X},HW,FW=(Z,X)=>`${F0(Z,_W)?">":"<"}${X?"":"="}`,BW=(Z)=>typeof Z==="string"?Z:new Date(Z).toLocaleString(),y3=(Z)=>`Bounded expression ${Z} must be exactly one of number, string, Array, or Date`;var g1=R(()=>{b();m0();u0=class u0 extends k1{boundOperandKind=HW[this.kind];compiledActual=this.boundOperandKind==="value"?"data":this.boundOperandKind==="length"?"data.length":"data.valueOf()";comparator=FW(this.kind,this.exclusive);numericLimit=this.rule.valueOf();expression=`${this.comparator} ${this.rule}`;compiledCondition=`${this.compiledActual} ${this.comparator} ${this.numericLimit}`;compiledNegation=`${this.compiledActual} ${VW[this.comparator]} ${this.numericLimit}`;stringLimit=this.boundOperandKind==="date"?BW(this.numericLimit):`${this.numericLimit}`;limitKind=this.comparator["0"]==="<"?"upper":"lower";isStricterThan(Z){return(this.limitKind==="upper"?this.numericLimit<Z.numericLimit:this.numericLimit>Z.numericLimit)||this.numericLimit===Z.numericLimit&&this.exclusive===!0&&!Z.exclusive}overlapsRange(Z){if(this.isStricterThan(Z))return!1;if(this.numericLimit===Z.numericLimit&&(this.exclusive||Z.exclusive))return!1;return!0}overlapIsUnit(Z){return this.numericLimit===Z.numericLimit&&!this.exclusive&&!Z.exclusive}};VW={"<":">=","<=":">",">":"<=",">=":"<"},_W={min:"max",minLength:"maxLength",after:"before"},Z9={parse:(Z)=>Z||void 0},HW={min:"value",max:"value",minLength:"length",maxLength:"length",after:"date",before:"date"}});var MW,k3,ZZ;var XZ=R(()=>{b();a();s();g1();MW=v({kind:"after",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:U9,serialize:(Z)=>Z.toISOString()}},normalize:Q9("after"),defaults:{description:(Z)=>`${Z.collapsibleLimitString} or later`,actual:K2},intersections:{after:(Z,X)=>Z.isStricterThan(X)?Z:X}});k3=class k3 extends u0{impliedBasis=T.intrinsic.Date.internal;collapsibleLimitString=K2(this.rule);traverseAllows=(Z)=>Z>=this.rule;reduceJsonSchema(Z,X){return X.fallback.date({code:"date",base:Z,after:this.rule})}};ZZ={implementation:MW,Node:k3}});var RW,g3,QZ;var UZ=R(()=>{b();G0();a();s();g1();RW=v({kind:"before",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:U9,serialize:(Z)=>Z.toISOString()}},normalize:Q9("before"),defaults:{description:(Z)=>`${Z.collapsibleLimitString} or earlier`,actual:K2},intersections:{before:(Z,X)=>Z.isStricterThan(X)?Z:X,after:(Z,X,Q)=>Z.overlapsRange(X)?Z.overlapIsUnit(X)?Q.$.node("unit",{unit:Z.rule}):null:j.init("range",Z,X)}});g3=class g3 extends u0{collapsibleLimitString=K2(this.rule);traverseAllows=(Z)=>Z<=this.rule;impliedBasis=T.intrinsic.Date.internal;reduceJsonSchema(Z,X){return X.fallback.date({code:"date",base:Z,before:this.rule})}};QZ={implementation:RW,Node:g3}});var OW,v3,JZ;var $Z=R(()=>{m0();G0();a();s();n1();g1();OW=v({kind:"exactLength",collapsibleKey:"rule",keys:{rule:{parse:c2("exactLength")}},normalize:(Z)=>typeof Z==="number"?{rule:Z}:Z,hasAssociatedError:!0,defaults:{description:(Z)=>`exactly length ${Z.rule}`,actual:(Z)=>`${Z.length}`},intersections:{exactLength:(Z,X,Q)=>j.init("unit",Q.$.node("unit",{unit:Z.rule}),Q.$.node("unit",{unit:X.rule}),{path:["length"]}),minLength:(Z,X)=>Z.rule>=X.rule?Z:j.init("range",Z,X),maxLength:(Z,X)=>Z.rule<=X.rule?Z:j.init("range",Z,X)}});v3=class v3 extends k1{traverseAllows=(Z)=>Z.length===this.rule;compiledCondition=`data.length === ${this.rule}`;compiledNegation=`data.length !== ${this.rule}`;impliedBasis=T.intrinsic.lengthBoundable.internal;expression=`== ${this.rule}`;reduceJsonSchema(Z){switch(Z.type){case"string":return Z.minLength=this.rule,Z.maxLength=this.rule,Z;case"array":return Z.minItems=this.rule,Z.maxItems=this.rule,Z;default:return J0.throwInternalOperandError("exactLength",Z)}}};JZ={implementation:OW,Node:v3}});var TW,x3,WZ;var YZ=R(()=>{G0();a();s();g1();TW=v({kind:"max",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{},exclusive:Z9},normalize:(Z)=>typeof Z==="number"?{rule:Z}:Z,defaults:{description:(Z)=>{if(Z.rule===0)return Z.exclusive?"negative":"non-positive";return`${Z.exclusive?"less than":"at most"} ${Z.rule}`}},intersections:{max:(Z,X)=>Z.isStricterThan(X)?Z:X,min:(Z,X,Q)=>Z.overlapsRange(X)?Z.overlapIsUnit(X)?Q.$.node("unit",{unit:Z.rule}):null:j.init("range",Z,X)},obviatesBasisDescription:!0});x3=class x3 extends u0{impliedBasis=T.intrinsic.number.internal;traverseAllows=this.exclusive?(Z)=>Z<this.rule:(Z)=>Z<=this.rule;reduceJsonSchema(Z){if(this.exclusive)Z.exclusiveMaximum=this.rule;else Z.maximum=this.rule;return Z}};WZ={implementation:TW,Node:x3}});var KW,h3,GZ;var LZ=R(()=>{G0();a();s();n1();g1();KW=v({kind:"maxLength",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:c2("maxLength")}},reduce:(Z,X)=>Z.rule===0?X.node("exactLength",Z):void 0,normalize:X9("maxLength"),defaults:{description:(Z)=>`at most length ${Z.rule}`,actual:(Z)=>`${Z.length}`},intersections:{maxLength:(Z,X)=>Z.isStricterThan(X)?Z:X,minLength:(Z,X,Q)=>Z.overlapsRange(X)?Z.overlapIsUnit(X)?Q.$.node("exactLength",{rule:Z.rule}):null:j.init("range",Z,X)}});h3=class h3 extends u0{impliedBasis=T.intrinsic.lengthBoundable.internal;traverseAllows=(Z)=>Z.length<=this.rule;reduceJsonSchema(Z){switch(Z.type){case"string":return Z.maxLength=this.rule,Z;case"array":return Z.maxItems=this.rule,Z;default:return J0.throwInternalOperandError("maxLength",Z)}}};GZ={implementation:KW,Node:h3}});var DW,m3,qZ;var VZ=R(()=>{a();s();g1();DW=v({kind:"min",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{},exclusive:Z9},normalize:(Z)=>typeof Z==="number"?{rule:Z}:Z,defaults:{description:(Z)=>{if(Z.rule===0)return Z.exclusive?"positive":"non-negative";return`${Z.exclusive?"more than":"at least"} ${Z.rule}`}},intersections:{min:(Z,X)=>Z.isStricterThan(X)?Z:X},obviatesBasisDescription:!0});m3=class m3 extends u0{impliedBasis=T.intrinsic.number.internal;traverseAllows=this.exclusive?(Z)=>Z>this.rule:(Z)=>Z>=this.rule;reduceJsonSchema(Z){if(this.exclusive)Z.exclusiveMinimum=this.rule;else Z.minimum=this.rule;return Z}};qZ={implementation:DW,Node:m3}});var wW,u3,_Z;var zZ=R(()=>{a();s();n1();g1();wW=v({kind:"minLength",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:c2("minLength")}},reduce:(Z)=>Z.rule===0?T.intrinsic.unknown:void 0,normalize:X9("minLength"),defaults:{description:(Z)=>Z.rule===1?"non-empty":`at least length ${Z.rule}`,actual:(Z)=>Z.length===0?"":`${Z.length}`},intersections:{minLength:(Z,X)=>Z.isStricterThan(X)?Z:X}});u3=class u3 extends u0{impliedBasis=T.intrinsic.lengthBoundable.internal;traverseAllows=(Z)=>Z.length>=this.rule;reduceJsonSchema(Z){switch(Z.type){case"string":return Z.minLength=this.rule,Z;case"array":return Z.minItems=this.rule,Z;default:return J0.throwInternalOperandError("minLength",Z)}}};_Z={implementation:wW,Node:u3}});var p3,l3;var HZ=R(()=>{XZ();UZ();$Z();YZ();LZ();VZ();zZ();p3={min:qZ.implementation,max:WZ.implementation,minLength:_Z.implementation,maxLength:GZ.implementation,exactLength:JZ.implementation,after:ZZ.implementation,before:QZ.implementation},l3={min:qZ.Node,max:WZ.Node,minLength:_Z.Node,maxLength:GZ.Node,exactLength:JZ.Node,after:ZZ.Node,before:QZ.Node}});var PW,d3,FZ;var BZ=R(()=>{m0();a();s();PW=v({kind:"pattern",collapsibleKey:"rule",keys:{rule:{},flags:{}},normalize:(Z)=>typeof Z==="string"?{rule:Z}:Z instanceof RegExp?Z.flags?{rule:Z.source,flags:Z.flags}:{rule:Z.source}:Z,obviatesBasisDescription:!0,obviatesBasisExpression:!0,hasAssociatedError:!0,intersectionIsOpen:!0,defaults:{description:(Z)=>`matched by ${Z.rule}`},intersections:{pattern:()=>null}});d3=class d3 extends k1{instance=new RegExp(this.rule,this.flags);expression=`${this.instance}`;traverseAllows=this.instance.test.bind(this.instance);compiledCondition=`${this.expression}.test(data)`;compiledNegation=`!${this.compiledCondition}`;impliedBasis=T.intrinsic.string.internal;reduceJsonSchema(Z,X){if(Z.pattern)return X.fallback.patternIntersection({code:"patternIntersection",base:Z,pattern:this.rule});return Z.pattern=this.rule,Z}};FZ={implementation:PW,Node:d3}});var d4=(Z,X)=>{let Q=AW(Z);if(X&&!X.includes(Q))return M(`Root of kind ${Q} should be one of ${X}`);return Q},AW=(Z)=>{if(E(Z,"root"))return Z.kind;if(typeof Z==="string")return Z[0]==="$"?"alias":(Z in f0)?"domain":"proto";if(typeof Z==="function")return"proto";if(typeof Z!=="object"||Z===null)return M(c3(Z));if("morphs"in Z)return"morph";if("branches"in Z||Z0(Z))return"union";if("unit"in Z)return"unit";if("reference"in Z)return"alias";let X=Object.keys(Z);if(X.length===0||X.some((Q)=>(Q in n6)))return"intersection";if("proto"in Z)return"proto";if("domain"in Z)return"domain";return M(c3(Z))},c3=(Z)=>`${g(Z)} is not a valid type schema`,i3,SW=(Z)=>Z0(Z)?Z.map((X)=>X.collapsibleJson):Z.collapsibleJson,j0,MZ=(Z)=>{return i3[Z]??=0,`${Z}${++i3[Z]}`},RZ=(Z)=>{let X=i2[Z.kind],Q=X.applyConfig?.(Z.def,Z.$.resolvedConfig)??Z.def,U={},{meta:J,...$}=Q,W=J===void 0?{}:typeof J==="string"?{description:J}:J,Y=j8($).sort(([L],[q])=>h2(L)?h2(q)?m2(L)-m2(q):1:h2(q)?-1:L<q?-1:1).filter(([L,q])=>{if(L.startsWith("meta.")){let V=L.slice(5);return W[V]=q,!1}return!0});for(let L of Y){let q=L[0],V=X.keys[q];if(!V)return M(`Key ${q} is not valid on ${Z.kind} schema`);let _=V.parse?V.parse(L[1],Z):L[1];if(_!==I0&&(_!==void 0||V.preserveUndefined))U[q]=_}if(X.reduce&&!Z.prereduced){let L=X.reduce(U,Z.$);if(L){if(L instanceof j)return L.throw();return jW(L,W)}}return OZ({id:Z.id,kind:Z.kind,inner:U,meta:W,$:Z.$})},OZ=({id:Z,kind:X,inner:Q,meta:U,$:J,ignoreCache:$})=>{let W=i2[X],Y=j8(Q),G=[],L={};for(let[K,w]of Y){let P=W.keys[K],O=P.serialize??(P.child?SW:c0);if(L[K]=O(w),P.child===!0){let S=w;if(Z0(S))G.push(...S);else G.push(S)}else if(typeof P.child==="function")G.push(...P.child(w))}if(W.finalizeInnerJson)L=W.finalizeInnerJson(L);let q={...L},V={};if(!M1(U))V=k(U,(K,w)=>[K,K==="examples"?w:c0(w)]),q.meta=J9(V,"description",!0);L=J9(L,W.collapsibleKey,!1);let _=JSON.stringify({kind:X,...L});q=J9(q,W.collapsibleKey,!1);let H=J9(q,W.collapsibleKey,!0),F=JSON.stringify({kind:X,...q});if(J.nodesByHash[F]&&!$)return J.nodesByHash[F];let z={id:Z,kind:X,impl:W,inner:Q,innerEntries:Y,innerJson:L,innerHash:_,meta:U,metaJson:V,json:q,hash:F,collapsibleJson:H,children:G};if(X!=="intersection"){for(let K in Q)if(K!=="in"&&K!=="out")z[K]=Q[K]}let B=new r3[X](z,J);return J.nodesByHash[F]=B},s3=(Z,X)=>{if(Z.id===X)return Z;if(Q0(j0[X]))i(`Unexpected attempt to overwrite node id ${X}`);return OZ({id:X,kind:Z.kind,inner:Z.inner,meta:Z.meta,$:Z.$,ignoreCache:!0})},jW=(Z,X,Q)=>{if(Q&&Q0(j0[Q]))i(`Unexpected attempt to overwrite node id ${Q}`);return OZ({id:Q??MZ(X.alias??Z.kind),kind:Z.kind,inner:Z.inner,meta:X,$:Z.$})},J9=(Z,X,Q)=>{let U=Object.keys(Z);if(U.length===1&&U[0]===X){let J=Z[X];if(Q)return J;if(E0(J,"object")&&(Object.keys(J).length===1||Array.isArray(J)))return J}return Z};var $9=R(()=>{b();W9();G0();a();s();V0();i3={},j0={};T.nodesByRegisteredId=j0});var c4=(Z,X,Q)=>{if(Z.key!==X.key)return null;let U=Z.key,J=U0(Z.value,X.value,Q),$=Z.required||X.required?"required":"optional";if(J instanceof j)if($==="optional")J=T.intrinsic.never.internal;else return J.withPrefixKey(Z.key,Z.required&&X.required?"required":"optional");if($==="required")return Q.$.node("required",{key:U,value:J});let W=Z.hasDefault()?X.hasDefault()?Z.default===X.default?Z.default:M(TZ(Z.default,X.default)):Z.default:X.hasDefault()?X.default:I0;return Q.$.node("optional",{key:U,value:J,default:W})},i4,TZ=(Z,X)=>`Invalid intersection of default values ${g(Z)} & ${g(X)}`;var s4=R(()=>{b();m0();D2();a1();G0();i0();s();R1();i4=class i4 extends s0{required=this.kind==="required";optional=this.kind==="optional";impliedBasis=T.intrinsic.object.internal;serializedKey=J1(this.key);compiledKey=typeof this.key==="string"?this.key:this.serializedKey;flatRefs=u(this.value.flatRefs.map((Z)=>W1([this.key,...Z.path],Z.node)),W1([this.key],this.value));_transform(Z,X){X.path.push(this.key);let Q=super._transform(Z,X);return X.path.pop(),Q}hasDefault(){return"default"in this.inner}traverseAllows=(Z,X)=>{if(this.key in Z)return g0(this.key,()=>this.value.traverseAllows(Z[this.key],X),X);return this.optional};traverseApply=(Z,X)=>{if(this.key in Z)g0(this.key,()=>this.value.traverseApply(Z[this.key],X),X);else if(this.hasKind("required"))X.errorFromNodeContext(this.errorContext)};compile(Z){if(Z.if(`${this.serializedKey} in data`,()=>Z.traverseKey(this.serializedKey,`data${Z.prop(this.key)}`,this.value)),this.hasKind("required"))Z.else(()=>Z.traversalKind==="Apply"?Z.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`):Z.return(!1));if(Z.traversalKind==="Allows")Z.return(!0)}}});var CW,a3,r4,NW,bW=(Z)=>{if(!Z.hasDefault())return;let X=`{${Z.compiledKey}: ${Z.value.id} = ${c0(Z.default)}}`;return NW[X]??=KZ(Z.key,Z.value,Z.default)},KZ=(Z,X,Q)=>{if(typeof Q==="function")return X.includesTransform?(J,$)=>{return g0(Z,()=>X(J[Z]=Q(),$),$),J}:(J)=>{return J[Z]=Q(),J};let U=X.includesTransform?X.assert(Q):Q;return E0(U,"object")?(J,$)=>{return g0(Z,()=>X(J[Z]=Q,$),$),J}:(J)=>{return J[Z]=U,J}},a4=(Z,X,Q)=>{let U=i1(X);if(E0(X,"object")&&!U)M(EW(Q));let J=Z.in(U?X():X);if(J instanceof k0){if(Q===null)M(`Default ${J.summary}`);let $=J.transform((W)=>W.transform((Y)=>({...Y,prefixPath:[Q]})));M(`Default for ${$.summary}`)}return X},EW=(Z)=>{return`Non-primitive default ${Z===null?"":typeof Z==="number"?`for value at [${Z}] `:`for ${J1(Z)} `}must be specified as a function like () => ({my: 'object'})`};var s2=R(()=>{b();Y9();a1();m4();a();s();R1();s4();CW=v({kind:"optional",hasAssociatedError:!1,intersectionIsOpen:!0,keys:{key:{},value:{child:!0,parse:(Z,X)=>X.$.parseSchema(Z)},default:{preserveUndefined:!0}},normalize:(Z)=>Z,reduce:(Z,X)=>{if(X.resolvedConfig.exactOptionalPropertyTypes===!1){if(!Z.value.allows(void 0))return X.node("optional",{...Z,value:Z.value.or(I.undefined)},{prereduced:!0})}},defaults:{description:(Z)=>`${Z.compiledKey}?: ${Z.value.description}`},intersections:{optional:c4}});a3=class a3 extends i4{constructor(...Z){super(...Z);if("default"in this.inner)a4(this.value,this.inner.default,this.key)}get rawIn(){let Z=super.rawIn;if(!this.hasDefault())return Z;return this.$.node("optional",p6(Z.inner,{default:!0}),{prereduced:!0})}get outProp(){if(!this.hasDefault())return this;let{default:Z,...X}=this.inner;return this.cacheGetter("outProp",this.$.node("required",X,{prereduced:!0}))}expression=this.hasDefault()?`${this.compiledKey}: ${this.value.expression} = ${g(this.inner.default)}`:`${this.compiledKey}?: ${this.value.expression}`;defaultValueMorph=bW(this);defaultValueMorphRef=this.defaultValueMorph&&W0(this.defaultValueMorph)};r4={implementation:CW,Node:a3},NW={}});var r0,fW="Expected a non-empty brand name after #",e3,IW=(Z)=>`JSONSchema target '${Z}' is not supported (must be ${e3.map((X)=>`"${X}"`).join(" or ")})`,o3=(Z)=>{if(!d0(e3,Z))M(IW(Z));return Z},r2=(Z)=>typeof Z==="object"&&!(Z instanceof Date)?{...Z,exclusive:!0}:{rule:Z,exclusive:!0},o4=(Z,X)=>E(X,"root")?E(Z,"root")?Z.extends(X):X.allows(Z):E(Z,"root")?Z.hasUnit(X):X===Z,n3=(Z)=>{if(Z.hasKind("morph"))return null;if(Z.hasKind("intersection"))return Z.inner.structure??(Z.basis?.domain==="object"?Z.$.bindReference(T.intrinsic.emptyStructure):null);if(Z.isBasis()&&Z.domain==="object")return Z.$.bindReference(T.intrinsic.emptyStructure);return null},yW=(Z)=>`Props cannot be extracted from a union. Use .distribute to extract props from each branch instead. Received:
23
- ${Z}`,t3=(Z,X)=>`${Z} operand must be an object (was ${X})`;var Z2=R(()=>{b();u2();m0();D2();G0();m4();a();i0();s();V0();s2();r0=class r0 extends p4{constructor(Z,X){super(Z,X);Object.defineProperty(this,S0,{value:"root",enumerable:!1})}get rawIn(){return super.rawIn}get rawOut(){return super.rawOut}get internal(){return this}get "~standard"(){return{vendor:"arktype",version:1,validate:(Z)=>{let X=this(Z);if(X instanceof k0)return X;return{value:X}},jsonSchema:{input:(Z)=>this.rawIn.toJsonSchema({target:o3(Z.target),...Z.libraryOptions}),output:(Z)=>this.rawOut.toJsonSchema({target:o3(Z.target),...Z.libraryOptions})}}}as(){return this}brand(Z){if(Z==="")return M(fW);return this}readonly(){return this}branches=this.hasKind("union")?this.inner.branches:[this];distribute(Z,X){let Q=this.branches.map(Z);return X?.(Q)??Q}get shortDescription(){return this.meta.description??this.defaultShortDescription}toJsonSchema(Z={}){let X=l8(this.$.resolvedConfig.toJsonSchema,Z);X.useRefs||=this.isCyclic;let Q=typeof X.dialect==="string"?{$schema:X.dialect}:{};if(Object.assign(Q,this.toJsonSchemaRecurse(X)),X.useRefs){let U=k(this.references,(J,$)=>$.isRoot()&&!$.alwaysExpandJsonSchema?[$.id,$.toResolvedJsonSchema(X)]:[]);if(X.target==="draft-07")Object.assign(Q,{definitions:U});else Q.$defs=U}return Q}toJsonSchemaRecurse(Z){if(Z.useRefs&&!this.alwaysExpandJsonSchema)return{$ref:`#/${Z.target==="draft-07"?"definitions":"$defs"}/${this.id}`};return this.toResolvedJsonSchema(Z)}get alwaysExpandJsonSchema(){return this.isBasis()||this.kind==="alias"||this.hasKind("union")&&this.isBoolean}toResolvedJsonSchema(Z){let X=this.innerToJsonSchema(Z);return Object.assign(X,this.metaJson)}intersect(Z){let X=this.$.parseDefinition(Z),Q=this.rawIntersect(X);if(Q instanceof j)return Q;return this.$.finalize(Q)}rawIntersect(Z){return v0(this,Z,this.$)}toNeverIfDisjoint(){return this}and(Z){let X=this.intersect(Z);return X instanceof j?X.throw():X}rawAnd(Z){let X=this.rawIntersect(Z);return X instanceof j?X.throw():X}or(Z){let X=this.$.parseDefinition(Z);return this.$.finalize(this.rawOr(X))}rawOr(Z){let X=[...this.branches,...Z.branches];return this.$.node("union",X)}map(Z){return this.$.schema(this.applyStructuralOperation("map",[Z]))}pick(...Z){return this.$.schema(this.applyStructuralOperation("pick",Z))}omit(...Z){return this.$.schema(this.applyStructuralOperation("omit",Z))}required(){return this.$.schema(this.applyStructuralOperation("required",[]))}partial(){return this.$.schema(this.applyStructuralOperation("partial",[]))}_keyof;keyof(){if(this._keyof)return this._keyof;let Z=this.applyStructuralOperation("keyof",[]).reduce((X,Q)=>X.intersect(Q).toNeverIfDisjoint(),T.intrinsic.unknown.internal);if(Z.branches.length===0)M(s8(`keyof ${this.expression}`));return this._keyof=this.$.finalize(Z)}get props(){if(this.branches.length!==1)return M(yW(this.expression));return[...this.applyStructuralOperation("props",[])[0]]}merge(Z){let X=this.$.parseDefinition(Z);return this.$.schema(X.distribute((Q)=>this.applyStructuralOperation("merge",[n3(Q)??M(t3("merge",Q.expression))])))}applyStructuralOperation(Z,X){return this.distribute((Q)=>{if(Q.equals(T.intrinsic.object)&&Z!=="merge")return Q;let U=n3(Q);if(!U)M(t3(Z,Q.expression));if(Z==="keyof")return U.keyof();if(Z==="get")return U.get(...X);if(Z==="props")return U.props;let J=Z==="required"?"require":Z==="partial"?"optionalize":Z;return this.$.node("intersection",{domain:"object",structure:U[J](...X)})})}get(...Z){if(Z[0]===void 0)return this;return this.$.schema(this.applyStructuralOperation("get",Z))}extract(Z){let X=this.$.parseDefinition(Z);return this.$.schema(this.branches.filter((Q)=>Q.extends(X)))}exclude(Z){let X=this.$.parseDefinition(Z);return this.$.schema(this.branches.filter((Q)=>!Q.extends(X)))}array(){return this.$.schema(this.isUnknown()?{proto:Array}:{proto:Array,sequence:this},{prereduced:!0})}overlaps(Z){return!(this.intersect(Z)instanceof j)}extends(Z){if(this.isNever())return!0;let X=this.intersect(Z);return!(X instanceof j)&&this.equals(X)}ifExtends(Z){return this.extends(Z)?this:void 0}subsumes(Z){return this.$.parseDefinition(Z).extends(this)}configure(Z,X="shallow"){return this.configureReferences(Z,X)}describe(Z,X="shallow"){return this.configure({description:Z},X)}optional(){return[this,"?"]}default(Z){return a4(this,Z,null),[this,"=",Z]}from(Z){return this.assert(Z)}_pipe(...Z){let X=Z.reduce((Q,U)=>Q.rawPipeOnce(U),this);return this.$.finalize(X)}tryPipe(...Z){let X=Z.reduce((Q,U)=>Q.rawPipeOnce(E(U,"root")?U:(J,$)=>{try{return U(J,$)}catch(W){return $.error({code:"predicate",predicate:U,actual:`aborted due to error:
22
+ • `)}`}throw(){return M(this.describeReasons())}invert(){let Z=this.map((X)=>({...X,l:X.r,r:X.l}));if(!(Z instanceof j))return new j(...Z);return Z}withPrefixKey(Z,X){return this.map((Q)=>({...Q,path:[Z,...Q.path],optional:Q.optional||X==="optional"}))}toNeverIfDisjoint(){return T.intrinsic.never}}});var p2,v0=(Z,X,Q)=>U0(Z,X,{$:Q,invert:!1,pipe:!1}),l4=(Z,X,Q)=>U0(Z,X,{$:Q,invert:!1,pipe:!0}),U0=(Z,X,Q)=>{let U=Q.pipe?"|>":"&",J=`${Z.hash}${U}${X.hash}`;if(p2[J]!==void 0)return p2[J];if(!Q.pipe){let Y=`${X.hash}${U}${Z.hash}`;if(p2[Y]!==void 0){let L=p2[Y],G=L instanceof j?L.invert():L;return p2[J]=G,G}}let $=!Q.pipe||!Z.includesTransform&&!X.includesTransform;if($&&Z.equals(X))return Z;let W=$?r8(Z,X,Q):Z.hasKindIn(...x2)?JW(Z,X,Q):r8(Z,X,Q);if(Q0(W)){if(Z.equals(W))W=Z;else if(X.equals(W))W=X}return p2[J]=W,W},r8=(Z,X,Q)=>{let U=Z.precedence<X.precedence?Z.kind:X.kind,J=Z.impl.intersections[X.kind]??X.impl.intersections[Z.kind];if(J===void 0)return null;else if(U===Z.kind)return J(Z,X,Q);else{let $=J(X,Z,{...Q,invert:!Q.invert});if($ instanceof j)$=$.invert();return $}},JW=(Z,X,Q)=>Z.includesTransform||X.includesTransform?Q.invert?C3(X,Z,Q):C3(Z,X,Q):r8(Z,X,Q),C3=(Z,X,Q)=>Z.distribute((U)=>$W(U,X,Q),(U)=>{let J=U.filter(Q0);if(J.length===0)return j.init("union",Z.branches,X.branches);if(J.length<Z.branches.length||!Z.branches.every((Y,L)=>Y.rawIn.equals(J[L].rawIn)))return Q.$.parseSchema(J);let $;if(J.length===1){let Y=J[0];if(!$)return Y;return Q.$.node("morph",{...Y.inner,in:Y.rawIn.configure($,"self")})}let W={branches:J};if($)W.meta=$;return Q.$.parseSchema(W)}),$W=(Z,X,Q)=>{if(Z.hasKind("morph")){let J=[...Z.morphs];if(Z.lastMorphIfNode){let $=U0(Z.lastMorphIfNode,X,Q);if($ instanceof j)return $;J[J.length-1]=$}else J.push(X);return Q.$.node("morph",{morphs:J,in:Z.inner.in})}if(X.hasKind("morph")){let J=U0(Z,X.rawIn,Q);if(J instanceof j)return J;return Q.$.node("morph",{morphs:[X],in:J})}return Q.$.node("morph",{morphs:[X],in:Z})};var i0=R(()=>{L0();a();q0();p2={}});var s0,k1,w0=(Z)=>(X,Q)=>{if(Z0(X)){if(X.length===0)return;let J=X.map(($)=>Q.$.node(Z,$));if(Z==="predicate")return J;return J.sort(($,W)=>$.hash<W.hash?-1:1)}let U=Q.$.node(Z,X);return U.hasOpenIntersection()?[U]:U},l2=(Z)=>{let X=Z.r.shift();if(!X){let U=Z.l.length===0&&Z.kind==="structure"?T.intrinsic.unknown.internal:Z.ctx.$.node(Z.kind,Object.assign(Z.baseInner,WW(Z.l)),{prereduced:!0});for(let J of Z.roots){if(U instanceof j)return U;U=U0(J,U,Z.ctx)}return U}let Q=!1;for(let U=0;U<Z.l.length;U++){let J=U0(Z.l[U],X,Z.ctx);if(J===null)continue;if(J instanceof j)return J;if(J.isRoot())return Z.roots.push(J),Z.l.splice(U),l2(Z);if(!Q)Z.l[U]=J,Q=!0;else if(!Z.l.includes(J))return i(`Unexpectedly encountered multiple distinct intersection results for refinement ${X}`)}if(!Q)Z.l.push(X);if(Z.kind==="intersection"){if(X.impliedSiblings)for(let U of X.impliedSiblings)B1(Z.r,U)}return l2(Z)},d2=(Z)=>{return Object.entries(Z).flatMap(([Q,U])=>(Q in n6)?U:[]).sort((Q,U)=>Q.precedence<U.precedence?-1:Q.precedence>U.precedence?1:Q.kind==="predicate"&&U.kind==="predicate"?0:Q.hash<U.hash?-1:1)},WW=(Z)=>{let X={};for(let Q of Z)if(Q.hasOpenIntersection())X[Q.kind]=u(X[Q.kind],Q);else{if(X[Q.kind])return i(`Unexpected intersection of closed refinements of kind ${Q.kind}`);X[Q.kind]=Q}return X},N3=(...Z)=>M(b3(...Z)),b3=(Z,X,Q)=>{let U=Q.hasKind("morph")?"a morph":Q.isUnknown()?"unknown":Q.exclude(X).defaultShortDescription;return`${n7(Z)} operand must be ${X.description} (was ${U})`};var m0=R(()=>{b();D2();L0();a();i0();s();q0();s0=class s0 extends p4{constructor(Z,X){super(Z,X);Object.defineProperty(this,S0,{value:"constraint",enumerable:!1})}impliedSiblings;intersect(Z){return v0(this,Z,this.$)}};k1=class k1 extends s0{traverseApply=(Z,X)=>{if(!this.traverseAllows(Z,X))X.errorFromNodeContext(this.errorContext)};compile(Z){if(Z.traversalKind==="Allows")Z.return(this.compiledCondition);else Z.if(this.compiledNegation,()=>Z.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`))}get errorContext(){return{code:this.kind,description:this.description,meta:this.meta,...this.inner}}get compiledErrorContext(){return o1(this.errorContext)}}});var E3=(Z,X,Q)=>new e1(Z,X,Q,Q,null),e6,e1,YW=(Z,X,Q)=>`${Z} must be assignable to ${X} (was ${Q})`;var a8=R(()=>{b();s();q0();e6=class e6 extends y0{};e1=class e1 extends y0{[S0]="generic";paramDefs;bodyDef;$;arg$;baseInstantiation;hkt;description;constructor(Z,X,Q,U,J){super((...$)=>{let W=k(this.names,(Y,L)=>{let G=this.arg$.parse($[Y]);if(!G.extends(this.constraints[Y]))M(YW(L,this.constraints[Y].expression,G.expression));return[L,G]});if(this.defIsLazy()){let Y=this.bodyDef(W);return this.$.parse(Y)}return this.$.parse(X,{args:W})});this.paramDefs=Z,this.bodyDef=X,this.$=Q,this.arg$=U,this.hkt=J,this.description=J?new J().description??`a generic type for ${J.constructor.name}`:"a generic type",this.baseInstantiation=this(...this.constraints)}defIsLazy(){return this.bodyDef instanceof e6}cacheGetter(Z,X){return Object.defineProperty(this,Z,{value:X}),X}get json(){return this.cacheGetter("json",{params:this.params.map((Z)=>Z[1].isUnknown()?Z[0]:[Z[0],Z[1].json]),body:V3(this.bodyDef)})}get params(){return this.cacheGetter("params",this.paramDefs.map((Z)=>typeof Z==="string"?[Z,T.intrinsic.unknown]:[Z[0],this.$.parse(Z[1])]))}get names(){return this.cacheGetter("names",this.params.map((Z)=>Z[0]))}get constraints(){return this.cacheGetter("constraints",this.params.map((Z)=>Z[1]))}get internal(){return this}get referencesById(){return this.baseInstantiation.internal.referencesById}get references(){return this.baseInstantiation.internal.references}}});var LW,f3,o8;var n8=R(()=>{m0();a();s();LW=v({kind:"predicate",hasAssociatedError:!0,collapsibleKey:"predicate",keys:{predicate:{}},normalize:(Z)=>typeof Z==="function"?{predicate:Z}:Z,defaults:{description:(Z)=>`valid according to ${Z.predicate.name||"an anonymous predicate"}`},intersectionIsOpen:!0,intersections:{predicate:()=>null}});f3=class f3 extends s0{serializedPredicate=W0(this.predicate);compiledCondition=`${this.serializedPredicate}(data, ctx)`;compiledNegation=`!${this.compiledCondition}`;impliedBasis=null;expression=this.serializedPredicate;traverseAllows=this.predicate;errorContext={code:"predicate",description:this.description,meta:this.meta};compiledErrorContext=o1(this.errorContext);traverseApply=(Z,X)=>{let Q=X.currentErrorCount;if(!this.predicate(Z,X.external)&&X.currentErrorCount===Q)X.errorFromNodeContext(this.errorContext)};compile(Z){if(Z.traversalKind==="Allows"){Z.return(this.compiledCondition);return}Z.initializeErrorCount(),Z.if(`${this.compiledNegation} && ctx.currentErrorCount === errorCount`,()=>Z.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`))}reduceJsonSchema(Z,X){return X.fallback.predicate({code:"predicate",base:Z,predicate:this.predicate})}};o8={implementation:LW,Node:f3}});var GW,I3,t8,VW=(Z)=>`divisor must be an integer (was ${Z})`,qW=(Z,X)=>{let Q,U=Z,J=X;while(J!==0)Q=J,J=U%J,U=Q;return U};var e8=R(()=>{b();m0();a();s();GW=v({kind:"divisor",collapsibleKey:"rule",keys:{rule:{parse:(Z)=>Number.isInteger(Z)?Z:M(VW(Z))}},normalize:(Z)=>typeof Z==="number"?{rule:Z}:Z,hasAssociatedError:!0,defaults:{description:(Z)=>Z.rule===1?"an integer":Z.rule===2?"even":`a multiple of ${Z.rule}`},intersections:{divisor:(Z,X,Q)=>Q.$.node("divisor",{rule:Math.abs(Z.rule*X.rule/qW(Z.rule,X.rule))})},obviatesBasisDescription:!0});I3=class I3 extends k1{traverseAllows=(Z)=>Z%this.rule===0;compiledCondition=`data % ${this.rule} === 0`;compiledNegation=`data % ${this.rule} !== 0`;impliedBasis=T.intrinsic.number.internal;expression=`% ${this.rule}`;reduceJsonSchema(Z){if(Z.type="integer",this.rule===1)return Z;return Z.multipleOf=this.rule,Z}};t8={implementation:GW,Node:I3}});var u0,_W,zW,Z9,X9=(Z)=>(X)=>{if(typeof X==="number")return{rule:X};let{exclusive:Q,...U}=X;return Q?{...U,rule:Z==="minLength"?U.rule+1:U.rule-1}:U},Q9=(Z)=>(X)=>{if(typeof X==="number"||typeof X==="string"||X instanceof Date)return{rule:X};let{exclusive:Q,...U}=X;if(!Q)return U;let J=typeof U.rule==="number"?U.rule:typeof U.rule==="string"?new Date(U.rule).valueOf():U.rule.valueOf();return Q?{...U,rule:Z==="after"?J+1:J-1}:U},U9=(Z)=>typeof Z==="string"||typeof Z==="number"?new Date(Z):Z,HW=(Z,X)=>`${Z} bound must be a positive integer (was ${X})`,c2=(Z)=>(X)=>{if(!Number.isInteger(X)||X<0)M(HW(Z,X));return X},FW,BW=(Z,X)=>`${F0(Z,zW)?">":"<"}${X?"":"="}`,MW=(Z)=>typeof Z==="string"?Z:new Date(Z).toLocaleString(),y3=(Z)=>`Bounded expression ${Z} must be exactly one of number, string, Array, or Date`;var g1=R(()=>{b();m0();u0=class u0 extends k1{boundOperandKind=FW[this.kind];compiledActual=this.boundOperandKind==="value"?"data":this.boundOperandKind==="length"?"data.length":"data.valueOf()";comparator=BW(this.kind,this.exclusive);numericLimit=this.rule.valueOf();expression=`${this.comparator} ${this.rule}`;compiledCondition=`${this.compiledActual} ${this.comparator} ${this.numericLimit}`;compiledNegation=`${this.compiledActual} ${_W[this.comparator]} ${this.numericLimit}`;stringLimit=this.boundOperandKind==="date"?MW(this.numericLimit):`${this.numericLimit}`;limitKind=this.comparator["0"]==="<"?"upper":"lower";isStricterThan(Z){return(this.limitKind==="upper"?this.numericLimit<Z.numericLimit:this.numericLimit>Z.numericLimit)||this.numericLimit===Z.numericLimit&&this.exclusive===!0&&!Z.exclusive}overlapsRange(Z){if(this.isStricterThan(Z))return!1;if(this.numericLimit===Z.numericLimit&&(this.exclusive||Z.exclusive))return!1;return!0}overlapIsUnit(Z){return this.numericLimit===Z.numericLimit&&!this.exclusive&&!Z.exclusive}};_W={"<":">=","<=":">",">":"<=",">=":"<"},zW={min:"max",minLength:"maxLength",after:"before"},Z9={parse:(Z)=>Z||void 0},FW={min:"value",max:"value",minLength:"length",maxLength:"length",after:"date",before:"date"}});var RW,k3,ZZ;var XZ=R(()=>{b();a();s();g1();RW=v({kind:"after",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:U9,serialize:(Z)=>Z.toISOString()}},normalize:Q9("after"),defaults:{description:(Z)=>`${Z.collapsibleLimitString} or later`,actual:K2},intersections:{after:(Z,X)=>Z.isStricterThan(X)?Z:X}});k3=class k3 extends u0{impliedBasis=T.intrinsic.Date.internal;collapsibleLimitString=K2(this.rule);traverseAllows=(Z)=>Z>=this.rule;reduceJsonSchema(Z,X){return X.fallback.date({code:"date",base:Z,after:this.rule})}};ZZ={implementation:RW,Node:k3}});var OW,g3,QZ;var UZ=R(()=>{b();L0();a();s();g1();OW=v({kind:"before",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:U9,serialize:(Z)=>Z.toISOString()}},normalize:Q9("before"),defaults:{description:(Z)=>`${Z.collapsibleLimitString} or earlier`,actual:K2},intersections:{before:(Z,X)=>Z.isStricterThan(X)?Z:X,after:(Z,X,Q)=>Z.overlapsRange(X)?Z.overlapIsUnit(X)?Q.$.node("unit",{unit:Z.rule}):null:j.init("range",Z,X)}});g3=class g3 extends u0{collapsibleLimitString=K2(this.rule);traverseAllows=(Z)=>Z<=this.rule;impliedBasis=T.intrinsic.Date.internal;reduceJsonSchema(Z,X){return X.fallback.date({code:"date",base:Z,before:this.rule})}};QZ={implementation:OW,Node:g3}});var TW,v3,JZ;var $Z=R(()=>{m0();L0();a();s();n1();g1();TW=v({kind:"exactLength",collapsibleKey:"rule",keys:{rule:{parse:c2("exactLength")}},normalize:(Z)=>typeof Z==="number"?{rule:Z}:Z,hasAssociatedError:!0,defaults:{description:(Z)=>`exactly length ${Z.rule}`,actual:(Z)=>`${Z.length}`},intersections:{exactLength:(Z,X,Q)=>j.init("unit",Q.$.node("unit",{unit:Z.rule}),Q.$.node("unit",{unit:X.rule}),{path:["length"]}),minLength:(Z,X)=>Z.rule>=X.rule?Z:j.init("range",Z,X),maxLength:(Z,X)=>Z.rule<=X.rule?Z:j.init("range",Z,X)}});v3=class v3 extends k1{traverseAllows=(Z)=>Z.length===this.rule;compiledCondition=`data.length === ${this.rule}`;compiledNegation=`data.length !== ${this.rule}`;impliedBasis=T.intrinsic.lengthBoundable.internal;expression=`== ${this.rule}`;reduceJsonSchema(Z){switch(Z.type){case"string":return Z.minLength=this.rule,Z.maxLength=this.rule,Z;case"array":return Z.minItems=this.rule,Z.maxItems=this.rule,Z;default:return J0.throwInternalOperandError("exactLength",Z)}}};JZ={implementation:TW,Node:v3}});var KW,x3,WZ;var YZ=R(()=>{L0();a();s();g1();KW=v({kind:"max",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{},exclusive:Z9},normalize:(Z)=>typeof Z==="number"?{rule:Z}:Z,defaults:{description:(Z)=>{if(Z.rule===0)return Z.exclusive?"negative":"non-positive";return`${Z.exclusive?"less than":"at most"} ${Z.rule}`}},intersections:{max:(Z,X)=>Z.isStricterThan(X)?Z:X,min:(Z,X,Q)=>Z.overlapsRange(X)?Z.overlapIsUnit(X)?Q.$.node("unit",{unit:Z.rule}):null:j.init("range",Z,X)},obviatesBasisDescription:!0});x3=class x3 extends u0{impliedBasis=T.intrinsic.number.internal;traverseAllows=this.exclusive?(Z)=>Z<this.rule:(Z)=>Z<=this.rule;reduceJsonSchema(Z){if(this.exclusive)Z.exclusiveMaximum=this.rule;else Z.maximum=this.rule;return Z}};WZ={implementation:KW,Node:x3}});var DW,h3,LZ;var GZ=R(()=>{L0();a();s();n1();g1();DW=v({kind:"maxLength",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:c2("maxLength")}},reduce:(Z,X)=>Z.rule===0?X.node("exactLength",Z):void 0,normalize:X9("maxLength"),defaults:{description:(Z)=>`at most length ${Z.rule}`,actual:(Z)=>`${Z.length}`},intersections:{maxLength:(Z,X)=>Z.isStricterThan(X)?Z:X,minLength:(Z,X,Q)=>Z.overlapsRange(X)?Z.overlapIsUnit(X)?Q.$.node("exactLength",{rule:Z.rule}):null:j.init("range",Z,X)}});h3=class h3 extends u0{impliedBasis=T.intrinsic.lengthBoundable.internal;traverseAllows=(Z)=>Z.length<=this.rule;reduceJsonSchema(Z){switch(Z.type){case"string":return Z.maxLength=this.rule,Z;case"array":return Z.maxItems=this.rule,Z;default:return J0.throwInternalOperandError("maxLength",Z)}}};LZ={implementation:DW,Node:h3}});var wW,m3,VZ;var qZ=R(()=>{a();s();g1();wW=v({kind:"min",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{},exclusive:Z9},normalize:(Z)=>typeof Z==="number"?{rule:Z}:Z,defaults:{description:(Z)=>{if(Z.rule===0)return Z.exclusive?"positive":"non-negative";return`${Z.exclusive?"more than":"at least"} ${Z.rule}`}},intersections:{min:(Z,X)=>Z.isStricterThan(X)?Z:X},obviatesBasisDescription:!0});m3=class m3 extends u0{impliedBasis=T.intrinsic.number.internal;traverseAllows=this.exclusive?(Z)=>Z>this.rule:(Z)=>Z>=this.rule;reduceJsonSchema(Z){if(this.exclusive)Z.exclusiveMinimum=this.rule;else Z.minimum=this.rule;return Z}};VZ={implementation:wW,Node:m3}});var PW,u3,_Z;var zZ=R(()=>{a();s();n1();g1();PW=v({kind:"minLength",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:c2("minLength")}},reduce:(Z)=>Z.rule===0?T.intrinsic.unknown:void 0,normalize:X9("minLength"),defaults:{description:(Z)=>Z.rule===1?"non-empty":`at least length ${Z.rule}`,actual:(Z)=>Z.length===0?"":`${Z.length}`},intersections:{minLength:(Z,X)=>Z.isStricterThan(X)?Z:X}});u3=class u3 extends u0{impliedBasis=T.intrinsic.lengthBoundable.internal;traverseAllows=(Z)=>Z.length>=this.rule;reduceJsonSchema(Z){switch(Z.type){case"string":return Z.minLength=this.rule,Z;case"array":return Z.minItems=this.rule,Z;default:return J0.throwInternalOperandError("minLength",Z)}}};_Z={implementation:PW,Node:u3}});var p3,l3;var HZ=R(()=>{XZ();UZ();$Z();YZ();GZ();qZ();zZ();p3={min:VZ.implementation,max:WZ.implementation,minLength:_Z.implementation,maxLength:LZ.implementation,exactLength:JZ.implementation,after:ZZ.implementation,before:QZ.implementation},l3={min:VZ.Node,max:WZ.Node,minLength:_Z.Node,maxLength:LZ.Node,exactLength:JZ.Node,after:ZZ.Node,before:QZ.Node}});var AW,d3,FZ;var BZ=R(()=>{m0();a();s();AW=v({kind:"pattern",collapsibleKey:"rule",keys:{rule:{},flags:{}},normalize:(Z)=>typeof Z==="string"?{rule:Z}:Z instanceof RegExp?Z.flags?{rule:Z.source,flags:Z.flags}:{rule:Z.source}:Z,obviatesBasisDescription:!0,obviatesBasisExpression:!0,hasAssociatedError:!0,intersectionIsOpen:!0,defaults:{description:(Z)=>`matched by ${Z.rule}`},intersections:{pattern:()=>null}});d3=class d3 extends k1{instance=new RegExp(this.rule,this.flags);expression=`${this.instance}`;traverseAllows=this.instance.test.bind(this.instance);compiledCondition=`${this.expression}.test(data)`;compiledNegation=`!${this.compiledCondition}`;impliedBasis=T.intrinsic.string.internal;reduceJsonSchema(Z,X){if(Z.pattern)return X.fallback.patternIntersection({code:"patternIntersection",base:Z,pattern:this.rule});return Z.pattern=this.rule,Z}};FZ={implementation:AW,Node:d3}});var d4=(Z,X)=>{let Q=SW(Z);if(X&&!X.includes(Q))return M(`Root of kind ${Q} should be one of ${X}`);return Q},SW=(Z)=>{if(E(Z,"root"))return Z.kind;if(typeof Z==="string")return Z[0]==="$"?"alias":(Z in f0)?"domain":"proto";if(typeof Z==="function")return"proto";if(typeof Z!=="object"||Z===null)return M(c3(Z));if("morphs"in Z)return"morph";if("branches"in Z||Z0(Z))return"union";if("unit"in Z)return"unit";if("reference"in Z)return"alias";let X=Object.keys(Z);if(X.length===0||X.some((Q)=>(Q in n6)))return"intersection";if("proto"in Z)return"proto";if("domain"in Z)return"domain";return M(c3(Z))},c3=(Z)=>`${g(Z)} is not a valid type schema`,i3,jW=(Z)=>Z0(Z)?Z.map((X)=>X.collapsibleJson):Z.collapsibleJson,j0,MZ=(Z)=>{return i3[Z]??=0,`${Z}${++i3[Z]}`},RZ=(Z)=>{let X=i2[Z.kind],Q=X.applyConfig?.(Z.def,Z.$.resolvedConfig)??Z.def,U={},{meta:J,...$}=Q,W=J===void 0?{}:typeof J==="string"?{description:J}:J,Y=j8($).sort(([G],[V])=>h2(G)?h2(V)?m2(G)-m2(V):1:h2(V)?-1:G<V?-1:1).filter(([G,V])=>{if(G.startsWith("meta.")){let q=G.slice(5);return W[q]=V,!1}return!0});for(let G of Y){let V=G[0],q=X.keys[V];if(!q)return M(`Key ${V} is not valid on ${Z.kind} schema`);let _=q.parse?q.parse(G[1],Z):G[1];if(_!==I0&&(_!==void 0||q.preserveUndefined))U[V]=_}if(X.reduce&&!Z.prereduced){let G=X.reduce(U,Z.$);if(G){if(G instanceof j)return G.throw();return CW(G,W)}}return OZ({id:Z.id,kind:Z.kind,inner:U,meta:W,$:Z.$})},OZ=({id:Z,kind:X,inner:Q,meta:U,$:J,ignoreCache:$})=>{let W=i2[X],Y=j8(Q),L=[],G={};for(let[K,w]of Y){let P=W.keys[K],O=P.serialize??(P.child?jW:c0);if(G[K]=O(w),P.child===!0){let S=w;if(Z0(S))L.push(...S);else L.push(S)}else if(typeof P.child==="function")L.push(...P.child(w))}if(W.finalizeInnerJson)G=W.finalizeInnerJson(G);let V={...G},q={};if(!R1(U))q=k(U,(K,w)=>[K,K==="examples"?w:c0(w)]),V.meta=J9(q,"description",!0);G=J9(G,W.collapsibleKey,!1);let _=JSON.stringify({kind:X,...G});V=J9(V,W.collapsibleKey,!1);let H=J9(V,W.collapsibleKey,!0),F=JSON.stringify({kind:X,...V});if(J.nodesByHash[F]&&!$)return J.nodesByHash[F];let z={id:Z,kind:X,impl:W,inner:Q,innerEntries:Y,innerJson:G,innerHash:_,meta:U,metaJson:q,json:V,hash:F,collapsibleJson:H,children:L};if(X!=="intersection"){for(let K in Q)if(K!=="in"&&K!=="out")z[K]=Q[K]}let B=new r3[X](z,J);return J.nodesByHash[F]=B},s3=(Z,X)=>{if(Z.id===X)return Z;if(Q0(j0[X]))i(`Unexpected attempt to overwrite node id ${X}`);return OZ({id:X,kind:Z.kind,inner:Z.inner,meta:Z.meta,$:Z.$,ignoreCache:!0})},CW=(Z,X,Q)=>{if(Q&&Q0(j0[Q]))i(`Unexpected attempt to overwrite node id ${Q}`);return OZ({id:Q??MZ(X.alias??Z.kind),kind:Z.kind,inner:Z.inner,meta:X,$:Z.$})},J9=(Z,X,Q)=>{let U=Object.keys(Z);if(U.length===1&&U[0]===X){let J=Z[X];if(Q)return J;if(E0(J,"object")&&(Object.keys(J).length===1||Array.isArray(J)))return J}return Z};var $9=R(()=>{b();W9();L0();a();s();q0();i3={},j0={};T.nodesByRegisteredId=j0});var c4=(Z,X,Q)=>{if(Z.key!==X.key)return null;let U=Z.key,J=U0(Z.value,X.value,Q),$=Z.required||X.required?"required":"optional";if(J instanceof j)if($==="optional")J=T.intrinsic.never.internal;else return J.withPrefixKey(Z.key,Z.required&&X.required?"required":"optional");if($==="required")return Q.$.node("required",{key:U,value:J});let W=Z.hasDefault()?X.hasDefault()?Z.default===X.default?Z.default:M(TZ(Z.default,X.default)):Z.default:X.hasDefault()?X.default:I0;return Q.$.node("optional",{key:U,value:J,default:W})},i4,TZ=(Z,X)=>`Invalid intersection of default values ${g(Z)} & ${g(X)}`;var s4=R(()=>{b();m0();D2();a1();L0();i0();s();O1();i4=class i4 extends s0{required=this.kind==="required";optional=this.kind==="optional";impliedBasis=T.intrinsic.object.internal;serializedKey=J1(this.key);compiledKey=typeof this.key==="string"?this.key:this.serializedKey;flatRefs=u(this.value.flatRefs.map((Z)=>W1([this.key,...Z.path],Z.node)),W1([this.key],this.value));_transform(Z,X){X.path.push(this.key);let Q=super._transform(Z,X);return X.path.pop(),Q}hasDefault(){return"default"in this.inner}traverseAllows=(Z,X)=>{if(this.key in Z)return g0(this.key,()=>this.value.traverseAllows(Z[this.key],X),X);return this.optional};traverseApply=(Z,X)=>{if(this.key in Z)g0(this.key,()=>this.value.traverseApply(Z[this.key],X),X);else if(this.hasKind("required"))X.errorFromNodeContext(this.errorContext)};compile(Z){if(Z.if(`${this.serializedKey} in data`,()=>Z.traverseKey(this.serializedKey,`data${Z.prop(this.key)}`,this.value)),this.hasKind("required"))Z.else(()=>Z.traversalKind==="Apply"?Z.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`):Z.return(!1));if(Z.traversalKind==="Allows")Z.return(!0)}}});var NW,a3,r4,bW,EW=(Z)=>{if(!Z.hasDefault())return;let X=`{${Z.compiledKey}: ${Z.value.id} = ${c0(Z.default)}}`;return bW[X]??=KZ(Z.key,Z.value,Z.default)},KZ=(Z,X,Q)=>{if(typeof Q==="function")return X.includesTransform?(J,$)=>{return g0(Z,()=>X(J[Z]=Q(),$),$),J}:(J)=>{return J[Z]=Q(),J};let U=X.includesTransform?X.assert(Q):Q;return E0(U,"object")?(J,$)=>{return g0(Z,()=>X(J[Z]=Q,$),$),J}:(J)=>{return J[Z]=U,J}},a4=(Z,X,Q)=>{let U=i1(X);if(E0(X,"object")&&!U)M(fW(Q));let J=Z.in(U?X():X);if(J instanceof k0){if(Q===null)M(`Default ${J.summary}`);let $=J.transform((W)=>W.transform((Y)=>({...Y,prefixPath:[Q]})));M(`Default for ${$.summary}`)}return X},fW=(Z)=>{return`Non-primitive default ${Z===null?"":typeof Z==="number"?`for value at [${Z}] `:`for ${J1(Z)} `}must be specified as a function like () => ({my: 'object'})`};var s2=R(()=>{b();Y9();a1();m4();a();s();O1();s4();NW=v({kind:"optional",hasAssociatedError:!1,intersectionIsOpen:!0,keys:{key:{},value:{child:!0,parse:(Z,X)=>X.$.parseSchema(Z)},default:{preserveUndefined:!0}},normalize:(Z)=>Z,reduce:(Z,X)=>{if(X.resolvedConfig.exactOptionalPropertyTypes===!1){if(!Z.value.allows(void 0))return X.node("optional",{...Z,value:Z.value.or(I.undefined)},{prereduced:!0})}},defaults:{description:(Z)=>`${Z.compiledKey}?: ${Z.value.description}`},intersections:{optional:c4}});a3=class a3 extends i4{constructor(...Z){super(...Z);if("default"in this.inner)a4(this.value,this.inner.default,this.key)}get rawIn(){let Z=super.rawIn;if(!this.hasDefault())return Z;return this.$.node("optional",p6(Z.inner,{default:!0}),{prereduced:!0})}get outProp(){if(!this.hasDefault())return this;let{default:Z,...X}=this.inner;return this.cacheGetter("outProp",this.$.node("required",X,{prereduced:!0}))}expression=this.hasDefault()?`${this.compiledKey}: ${this.value.expression} = ${g(this.inner.default)}`:`${this.compiledKey}?: ${this.value.expression}`;defaultValueMorph=EW(this);defaultValueMorphRef=this.defaultValueMorph&&W0(this.defaultValueMorph)};r4={implementation:NW,Node:a3},bW={}});var r0,IW="Expected a non-empty brand name after #",e3,yW=(Z)=>`JSONSchema target '${Z}' is not supported (must be ${e3.map((X)=>`"${X}"`).join(" or ")})`,o3=(Z)=>{if(!d0(e3,Z))M(yW(Z));return Z},r2=(Z)=>typeof Z==="object"&&!(Z instanceof Date)?{...Z,exclusive:!0}:{rule:Z,exclusive:!0},o4=(Z,X)=>E(X,"root")?E(Z,"root")?Z.extends(X):X.allows(Z):E(Z,"root")?Z.hasUnit(X):X===Z,n3=(Z)=>{if(Z.hasKind("morph"))return null;if(Z.hasKind("intersection"))return Z.inner.structure??(Z.basis?.domain==="object"?Z.$.bindReference(T.intrinsic.emptyStructure):null);if(Z.isBasis()&&Z.domain==="object")return Z.$.bindReference(T.intrinsic.emptyStructure);return null},kW=(Z)=>`Props cannot be extracted from a union. Use .distribute to extract props from each branch instead. Received:
23
+ ${Z}`,t3=(Z,X)=>`${Z} operand must be an object (was ${X})`;var Z2=R(()=>{b();u2();m0();D2();L0();m4();a();i0();s();q0();s2();r0=class r0 extends p4{constructor(Z,X){super(Z,X);Object.defineProperty(this,S0,{value:"root",enumerable:!1})}get rawIn(){return super.rawIn}get rawOut(){return super.rawOut}get internal(){return this}get "~standard"(){return{vendor:"arktype",version:1,validate:(Z)=>{let X=this(Z);if(X instanceof k0)return X;return{value:X}},jsonSchema:{input:(Z)=>this.rawIn.toJsonSchema({target:o3(Z.target),...Z.libraryOptions}),output:(Z)=>this.rawOut.toJsonSchema({target:o3(Z.target),...Z.libraryOptions})}}}as(){return this}brand(Z){if(Z==="")return M(IW);return this}readonly(){return this}branches=this.hasKind("union")?this.inner.branches:[this];distribute(Z,X){let Q=this.branches.map(Z);return X?.(Q)??Q}get shortDescription(){return this.meta.description??this.defaultShortDescription}toJsonSchema(Z={}){let X=l8(this.$.resolvedConfig.toJsonSchema,Z);X.useRefs||=this.isCyclic;let Q=typeof X.dialect==="string"?{$schema:X.dialect}:{};if(Object.assign(Q,this.toJsonSchemaRecurse(X)),X.useRefs){let U=k(this.references,(J,$)=>$.isRoot()&&!$.alwaysExpandJsonSchema?[$.id,$.toResolvedJsonSchema(X)]:[]);if(X.target==="draft-07")Object.assign(Q,{definitions:U});else Q.$defs=U}return Q}toJsonSchemaRecurse(Z){if(Z.useRefs&&!this.alwaysExpandJsonSchema)return{$ref:`#/${Z.target==="draft-07"?"definitions":"$defs"}/${this.id}`};return this.toResolvedJsonSchema(Z)}get alwaysExpandJsonSchema(){return this.isBasis()||this.kind==="alias"||this.hasKind("union")&&this.isBoolean}toResolvedJsonSchema(Z){let X=this.innerToJsonSchema(Z);return Object.assign(X,this.metaJson)}intersect(Z){let X=this.$.parseDefinition(Z),Q=this.rawIntersect(X);if(Q instanceof j)return Q;return this.$.finalize(Q)}rawIntersect(Z){return v0(this,Z,this.$)}toNeverIfDisjoint(){return this}and(Z){let X=this.intersect(Z);return X instanceof j?X.throw():X}rawAnd(Z){let X=this.rawIntersect(Z);return X instanceof j?X.throw():X}or(Z){let X=this.$.parseDefinition(Z);return this.$.finalize(this.rawOr(X))}rawOr(Z){let X=[...this.branches,...Z.branches];return this.$.node("union",X)}map(Z){return this.$.schema(this.applyStructuralOperation("map",[Z]))}pick(...Z){return this.$.schema(this.applyStructuralOperation("pick",Z))}omit(...Z){return this.$.schema(this.applyStructuralOperation("omit",Z))}required(){return this.$.schema(this.applyStructuralOperation("required",[]))}partial(){return this.$.schema(this.applyStructuralOperation("partial",[]))}_keyof;keyof(){if(this._keyof)return this._keyof;let Z=this.applyStructuralOperation("keyof",[]).reduce((X,Q)=>X.intersect(Q).toNeverIfDisjoint(),T.intrinsic.unknown.internal);if(Z.branches.length===0)M(s8(`keyof ${this.expression}`));return this._keyof=this.$.finalize(Z)}get props(){if(this.branches.length!==1)return M(kW(this.expression));return[...this.applyStructuralOperation("props",[])[0]]}merge(Z){let X=this.$.parseDefinition(Z);return this.$.schema(X.distribute((Q)=>this.applyStructuralOperation("merge",[n3(Q)??M(t3("merge",Q.expression))])))}applyStructuralOperation(Z,X){return this.distribute((Q)=>{if(Q.equals(T.intrinsic.object)&&Z!=="merge")return Q;let U=n3(Q);if(!U)M(t3(Z,Q.expression));if(Z==="keyof")return U.keyof();if(Z==="get")return U.get(...X);if(Z==="props")return U.props;let J=Z==="required"?"require":Z==="partial"?"optionalize":Z;return this.$.node("intersection",{domain:"object",structure:U[J](...X)})})}get(...Z){if(Z[0]===void 0)return this;return this.$.schema(this.applyStructuralOperation("get",Z))}extract(Z){let X=this.$.parseDefinition(Z);return this.$.schema(this.branches.filter((Q)=>Q.extends(X)))}exclude(Z){let X=this.$.parseDefinition(Z);return this.$.schema(this.branches.filter((Q)=>!Q.extends(X)))}array(){return this.$.schema(this.isUnknown()?{proto:Array}:{proto:Array,sequence:this},{prereduced:!0})}overlaps(Z){return!(this.intersect(Z)instanceof j)}extends(Z){if(this.isNever())return!0;let X=this.intersect(Z);return!(X instanceof j)&&this.equals(X)}ifExtends(Z){return this.extends(Z)?this:void 0}subsumes(Z){return this.$.parseDefinition(Z).extends(this)}configure(Z,X="shallow"){return this.configureReferences(Z,X)}describe(Z,X="shallow"){return this.configure({description:Z},X)}optional(){return[this,"?"]}default(Z){return a4(this,Z,null),[this,"=",Z]}from(Z){return this.assert(Z)}_pipe(...Z){let X=Z.reduce((Q,U)=>Q.rawPipeOnce(U),this);return this.$.finalize(X)}tryPipe(...Z){let X=Z.reduce((Q,U)=>Q.rawPipeOnce(E(U,"root")?U:(J,$)=>{try{return U(J,$)}catch(W){return $.error({code:"predicate",predicate:U,actual:`aborted due to error:
24
24
  ${W}
25
- `})}}),this);return this.$.finalize(X)}pipe=Object.assign(this._pipe.bind(this),{try:this.tryPipe.bind(this)});to(Z){return this.$.finalize(this.toNode(this.$.parseDefinition(Z)))}toNode(Z){let X=l4(this,Z,this.$);if(X instanceof j)return X.throw();return X}rawPipeOnce(Z){if(E(Z,"root"))return this.toNode(Z);return this.distribute((X)=>X.hasKind("morph")?this.$.node("morph",{in:X.inner.in,morphs:[...X.morphs,Z]}):this.$.node("morph",{in:X,morphs:[Z]}),this.$.parseSchema)}narrow(Z){return this.constrainOut("predicate",Z)}constrain(Z,X){return this._constrain("root",Z,X)}constrainIn(Z,X){return this._constrain("in",Z,X)}constrainOut(Z,X){return this._constrain("out",Z,X)}_constrain(Z,X,Q){let U=this.$.node(X,Q);if(U.isRoot())return U.isUnknown()?this:i(`Unexpected constraint node ${U}`);let J=Z==="root"?this:Z==="in"?this.rawIn:this.rawOut;if(J.hasKind("morph")||U.impliedBasis&&!J.extends(U.impliedBasis))return N3(X,U.impliedBasis,this);let $=this.$.node("intersection",{[U.kind]:U}),W=Z==="out"?l4(this,$,this.$):v0(this,$,this.$);if(W instanceof j)W.throw();return this.$.finalize(W)}onUndeclaredKey(Z){let X=typeof Z==="string"?Z:Z.rule,Q=typeof Z==="string"?!1:Z.deep;return this.$.finalize(this.transform((U,J)=>U==="structure"?X==="ignore"?p6(J,{undeclared:1}):{...J,undeclared:X}:J,Q?void 0:{shouldTransform:(U)=>!d0(v2,U.kind)}))}hasEqualMorphs(Z){if(!this.includesTransform&&!Z.includesTransform)return!0;if(!f1(this.shallowMorphs,Z.shallowMorphs))return!1;if(!f1(this.flatMorphs,Z.flatMorphs,{isEqual:(X,Q)=>X.propString===Q.propString&&(X.node.hasKind("morph")&&Q.node.hasKind("morph")?X.node.hasEqualMorphs(Q.node):X.node.hasKind("intersection")&&Q.node.hasKind("intersection")?X.node.structure?.structuralMorphRef===Q.node.structure?.structuralMorphRef:!1)}))return!1;return!0}onDeepUndeclaredKey(Z){return this.onUndeclaredKey({rule:Z,deep:!0})}filter(Z){return this.constrainIn("predicate",Z)}divisibleBy(Z){return this.constrain("divisor",Z)}matching(Z){return this.constrain("pattern",Z)}atLeast(Z){return this.constrain("min",Z)}atMost(Z){return this.constrain("max",Z)}moreThan(Z){return this.constrain("min",r2(Z))}lessThan(Z){return this.constrain("max",r2(Z))}atLeastLength(Z){return this.constrain("minLength",Z)}atMostLength(Z){return this.constrain("maxLength",Z)}moreThanLength(Z){return this.constrain("minLength",r2(Z))}lessThanLength(Z){return this.constrain("maxLength",r2(Z))}exactlyLength(Z){return this.constrain("exactLength",Z)}atOrAfter(Z){return this.constrain("after",Z)}atOrBefore(Z){return this.constrain("before",Z)}laterThan(Z){return this.constrain("after",r2(Z))}earlierThan(Z){return this.constrain("before",r2(Z))}};e3=["draft-2020-12","draft-07"]});var O1=(Z,X)=>k(t6(Z),(Q,U)=>[U,X]);var a2=R(()=>{b();a()});var kW=(Z)=>typeof Z==="string"?{reference:Z}:Z,ZQ=(Z)=>Z instanceof j?T.intrinsic.never.internal:Z,gW,XQ,vW=(Z,X)=>`Alias '${Z}' has a shallow resolution cycle: ${[...X,Z].join("->")}`,n4;var DZ=R(()=>{b();$9();G0();a();i0();s();V0();Z2();a2();gW=v({kind:"alias",hasAssociatedError:!1,collapsibleKey:"reference",keys:{reference:{serialize:(Z)=>Z.startsWith("$")?Z:`$ark.${Z}`},resolve:{}},normalize:kW,defaults:{description:(Z)=>Z.reference},intersections:{alias:(Z,X,Q)=>Q.$.lazilyResolve(()=>ZQ(U0(Z.resolution,X.resolution,Q)),`${Z.reference}${Q.pipe?"=>":"&"}${X.reference}`),...O1("alias",(Z,X,Q)=>{if(X.isUnknown())return Z;if(X.isNever())return X;if(X.isBasis()&&!X.overlaps(T.intrinsic.object))return j.init("assignability",T.intrinsic.object,X);return Q.$.lazilyResolve(()=>ZQ(U0(Z.resolution,X,Q)),`${Z.reference}${Q.pipe?"=>":"&"}${X.id}`)})}});XQ=class XQ extends r0{expression=this.reference;structure=void 0;get resolution(){let Z=this._resolve();return j0[this.id]=Z}_resolve(){if(this.resolve)return this.resolve();if(this.reference[0]==="$")return this.$.resolveRoot(this.reference.slice(1));let Z=this.reference,X=j0[Z],Q=[];while(E(X,"context")){if(Q.includes(X.id))return M(vW(X.id,Q));Q.push(X.id),X=j0[X.id]}if(!E(X,"root"))return i(`Unexpected resolution for reference ${this.reference}
25
+ `})}}),this);return this.$.finalize(X)}pipe=Object.assign(this._pipe.bind(this),{try:this.tryPipe.bind(this)});to(Z){return this.$.finalize(this.toNode(this.$.parseDefinition(Z)))}toNode(Z){let X=l4(this,Z,this.$);if(X instanceof j)return X.throw();return X}rawPipeOnce(Z){if(E(Z,"root"))return this.toNode(Z);return this.distribute((X)=>X.hasKind("morph")?this.$.node("morph",{in:X.inner.in,morphs:[...X.morphs,Z]}):this.$.node("morph",{in:X,morphs:[Z]}),this.$.parseSchema)}narrow(Z){return this.constrainOut("predicate",Z)}constrain(Z,X){return this._constrain("root",Z,X)}constrainIn(Z,X){return this._constrain("in",Z,X)}constrainOut(Z,X){return this._constrain("out",Z,X)}_constrain(Z,X,Q){let U=this.$.node(X,Q);if(U.isRoot())return U.isUnknown()?this:i(`Unexpected constraint node ${U}`);let J=Z==="root"?this:Z==="in"?this.rawIn:this.rawOut;if(J.hasKind("morph")||U.impliedBasis&&!J.extends(U.impliedBasis))return N3(X,U.impliedBasis,this);let $=this.$.node("intersection",{[U.kind]:U}),W=Z==="out"?l4(this,$,this.$):v0(this,$,this.$);if(W instanceof j)W.throw();return this.$.finalize(W)}onUndeclaredKey(Z){let X=typeof Z==="string"?Z:Z.rule,Q=typeof Z==="string"?!1:Z.deep;return this.$.finalize(this.transform((U,J)=>U==="structure"?X==="ignore"?p6(J,{undeclared:1}):{...J,undeclared:X}:J,Q?void 0:{shouldTransform:(U)=>!d0(v2,U.kind)}))}hasEqualMorphs(Z){if(!this.includesTransform&&!Z.includesTransform)return!0;if(!f1(this.shallowMorphs,Z.shallowMorphs))return!1;if(!f1(this.flatMorphs,Z.flatMorphs,{isEqual:(X,Q)=>X.propString===Q.propString&&(X.node.hasKind("morph")&&Q.node.hasKind("morph")?X.node.hasEqualMorphs(Q.node):X.node.hasKind("intersection")&&Q.node.hasKind("intersection")?X.node.structure?.structuralMorphRef===Q.node.structure?.structuralMorphRef:!1)}))return!1;return!0}onDeepUndeclaredKey(Z){return this.onUndeclaredKey({rule:Z,deep:!0})}filter(Z){return this.constrainIn("predicate",Z)}divisibleBy(Z){return this.constrain("divisor",Z)}matching(Z){return this.constrain("pattern",Z)}atLeast(Z){return this.constrain("min",Z)}atMost(Z){return this.constrain("max",Z)}moreThan(Z){return this.constrain("min",r2(Z))}lessThan(Z){return this.constrain("max",r2(Z))}atLeastLength(Z){return this.constrain("minLength",Z)}atMostLength(Z){return this.constrain("maxLength",Z)}moreThanLength(Z){return this.constrain("minLength",r2(Z))}lessThanLength(Z){return this.constrain("maxLength",r2(Z))}exactlyLength(Z){return this.constrain("exactLength",Z)}atOrAfter(Z){return this.constrain("after",Z)}atOrBefore(Z){return this.constrain("before",Z)}laterThan(Z){return this.constrain("after",r2(Z))}earlierThan(Z){return this.constrain("before",r2(Z))}};e3=["draft-2020-12","draft-07"]});var T1=(Z,X)=>k(t6(Z),(Q,U)=>[U,X]);var a2=R(()=>{b();a()});var gW=(Z)=>typeof Z==="string"?{reference:Z}:Z,ZQ=(Z)=>Z instanceof j?T.intrinsic.never.internal:Z,vW,XQ,xW=(Z,X)=>`Alias '${Z}' has a shallow resolution cycle: ${[...X,Z].join("->")}`,n4;var DZ=R(()=>{b();$9();L0();a();i0();s();q0();Z2();a2();vW=v({kind:"alias",hasAssociatedError:!1,collapsibleKey:"reference",keys:{reference:{serialize:(Z)=>Z.startsWith("$")?Z:`$ark.${Z}`},resolve:{}},normalize:gW,defaults:{description:(Z)=>Z.reference},intersections:{alias:(Z,X,Q)=>Q.$.lazilyResolve(()=>ZQ(U0(Z.resolution,X.resolution,Q)),`${Z.reference}${Q.pipe?"=>":"&"}${X.reference}`),...T1("alias",(Z,X,Q)=>{if(X.isUnknown())return Z;if(X.isNever())return X;if(X.isBasis()&&!X.overlaps(T.intrinsic.object))return j.init("assignability",T.intrinsic.object,X);return Q.$.lazilyResolve(()=>ZQ(U0(Z.resolution,X,Q)),`${Z.reference}${Q.pipe?"=>":"&"}${X.id}`)})}});XQ=class XQ extends r0{expression=this.reference;structure=void 0;get resolution(){let Z=this._resolve();return j0[this.id]=Z}_resolve(){if(this.resolve)return this.resolve();if(this.reference[0]==="$")return this.$.resolveRoot(this.reference.slice(1));let Z=this.reference,X=j0[Z],Q=[];while(E(X,"context")){if(Q.includes(X.id))return M(xW(X.id,Q));Q.push(X.id),X=j0[X.id]}if(!E(X,"root"))return i(`Unexpected resolution for reference ${this.reference}
26
26
  Seen: [${Q.join("->")}]
27
- Resolution: ${g(X)}`);return X}get resolutionId(){if(this.reference.includes("&")||this.reference.includes("=>"))return this.resolution.id;if(this.reference[0]!=="$")return this.reference;let Z=this.reference.slice(1),X=this.$.resolutions[Z];if(typeof X==="string")return X;if(E(X,"root"))return X.id;return i(`Unexpected resolution for reference ${this.reference}: ${g(X)}`)}get defaultShortDescription(){return f0.object}innerToJsonSchema(Z){return this.resolution.toJsonSchemaRecurse(Z)}traverseAllows=(Z,X)=>{let Q=X.seen[this.reference];if(Q?.includes(Z))return!0;return X.seen[this.reference]=u(Q,Z),this.resolution.traverseAllows(Z,X)};traverseApply=(Z,X)=>{let Q=X.seen[this.reference];if(Q?.includes(Z))return;X.seen[this.reference]=u(Q,Z),this.resolution.traverseApply(Z,X)};compile(Z){let X=this.resolutionId;Z.if(`ctx.seen.${X} && ctx.seen.${X}.includes(data)`,()=>Z.return(!0)),Z.if(`!ctx.seen.${X}`,()=>Z.line(`ctx.seen.${X} = []`)),Z.line(`ctx.seen.${X}.push(data)`),Z.return(Z.invoke(X))}};n4={implementation:gW,Node:XQ}});var w2;var G9=R(()=>{a();Z2();w2=class w2 extends r0{traverseApply=(Z,X)=>{if(!this.traverseAllows(Z,X))X.errorFromNodeContext(this.errorContext)};get errorContext(){return{code:this.kind,description:this.description,meta:this.meta,...this.inner}}get compiledErrorContext(){return o1(this.errorContext)}compile(Z){if(Z.traversalKind==="Allows")Z.return(this.compiledCondition);else Z.if(this.compiledNegation,()=>Z.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`))}}});var xW,QQ,L9;var wZ=R(()=>{b();G0();a();G9();xW=v({kind:"domain",hasAssociatedError:!0,collapsibleKey:"domain",keys:{domain:{},numberAllowsNaN:{}},normalize:(Z)=>typeof Z==="string"?{domain:Z}:y2(Z,"numberAllowsNaN")&&Z.domain!=="number"?M(L9.writeBadAllowNanMessage(Z.domain)):Z,applyConfig:(Z,X)=>Z.numberAllowsNaN===void 0&&Z.domain==="number"&&X.numberAllowsNaN?{...Z,numberAllowsNaN:!0}:Z,defaults:{description:(Z)=>f0[Z.domain],actual:(Z)=>Number.isNaN(Z)?"NaN":f0[H0(Z)]},intersections:{domain:(Z,X)=>Z.domain==="number"&&X.domain==="number"?Z.numberAllowsNaN?X:Z:j.init("domain",Z,X)}});QQ=class QQ extends w2{requiresNaNCheck=this.domain==="number"&&!this.numberAllowsNaN;traverseAllows=this.requiresNaNCheck?(Z)=>typeof Z==="number"&&!Number.isNaN(Z):(Z)=>H0(Z)===this.domain;compiledCondition=this.domain==="object"?'((typeof data === "object" && data !== null) || typeof data === "function")':`typeof data === "${this.domain}"${this.requiresNaNCheck?" && !Number.isNaN(data)":""}`;compiledNegation=this.domain==="object"?'((typeof data !== "object" || data === null) && typeof data !== "function")':`typeof data !== "${this.domain}"${this.requiresNaNCheck?" || Number.isNaN(data)":""}`;expression=this.numberAllowsNaN?"number | NaN":this.domain;get nestableExpression(){return this.numberAllowsNaN?`(${this.expression})`:this.expression}get defaultShortDescription(){return f0[this.domain]}innerToJsonSchema(Z){if(this.domain==="bigint"||this.domain==="symbol")return Z.fallback.domain({code:"domain",base:{},domain:this.domain});return{type:this.domain}}};L9={implementation:xW,Node:QQ,writeBadAllowNanMessage:(Z)=>`numberAllowsNaN may only be specified with domain "number" (was ${Z})`}});var hW,JQ,PZ,mW=(Z)=>{if(Z.structure?.expression)return Z.structure.expression;let X=Z.basis&&!Z.prestructurals.some((J)=>J.impl.obviatesBasisExpression)?Z.basis.nestableExpression:"",Q=Z.prestructurals.map((J)=>J.expression).join(" & "),U=`${X}${X?" ":""}${Q}`;if(U==="Array == 0")return"[]";return U||"unknown"},UQ=(Z,X,Q)=>{let U={},J=Z.proto??Z.domain,$=X.proto??X.domain,W=J?$?U0(J,$,Q):J:$;if(W instanceof j)return W;if(W)U[W.kind]=W;return l2({kind:"intersection",baseInner:U,l:d2(Z),r:d2(X),roots:[],ctx:Q})};var AZ=R(()=>{b();m0();G0();a();i0();V0();Z2();a2();hW=v({kind:"intersection",hasAssociatedError:!0,normalize:(Z)=>{if(Q0(Z))return Z;let{structure:X,...Q}=Z,U=!!X,J=X??{},$=k(Q,(W,Y)=>{if(F0(W,T3)){if(U)M(`Flattened structure key ${W} cannot be specified alongside a root 'structure' key.`);return J[W]=Y,[]}return[W,Y]});if(E(J,"constraint")||!M1(J))$.structure=J;return $},finalizeInnerJson:({structure:Z,...X})=>E0(Z,"object")?{...Z,...X}:X,keys:{domain:{child:!0,parse:(Z,X)=>X.$.node("domain",Z)},proto:{child:!0,parse:(Z,X)=>X.$.node("proto",Z)},structure:{child:!0,parse:(Z,X)=>X.$.node("structure",Z),serialize:(Z)=>{if(!Z.sequence?.minLength)return Z.collapsibleJson;let{sequence:X,...Q}=Z.collapsibleJson,{minVariadicLength:U,...J}=X,$=J.variadic&&Object.keys(J).length===1?J.variadic:J;return{...Q,sequence:$}}},divisor:{child:!0,parse:w0("divisor")},max:{child:!0,parse:w0("max")},min:{child:!0,parse:w0("min")},maxLength:{child:!0,parse:w0("maxLength")},minLength:{child:!0,parse:w0("minLength")},exactLength:{child:!0,parse:w0("exactLength")},before:{child:!0,parse:w0("before")},after:{child:!0,parse:w0("after")},pattern:{child:!0,parse:w0("pattern")},predicate:{child:!0,parse:w0("predicate")}},reduce:(Z,X)=>UQ({},Z,{$:X,invert:!1,pipe:!1}),defaults:{description:(Z)=>{if(Z.children.length===0)return"unknown";if(Z.structure)return Z.structure.description;let X=[];if(Z.basis&&!Z.prestructurals.some((Q)=>Q.impl.obviatesBasisDescription))X.push(Z.basis.description);if(Z.prestructurals.length){let Q=Z.prestructurals.slice().sort((U,J)=>U.kind==="min"&&J.kind==="max"?-1:0).map((U)=>U.description);X.push(...Q)}if(Z.inner.predicate)X.push(...Z.inner.predicate.map((Q)=>Q.description));return X.join(" and ")},expected:(Z)=>` ◦ ${Z.errors.map((X)=>X.expected).join(`
27
+ Resolution: ${g(X)}`);return X}get resolutionId(){if(this.reference.includes("&")||this.reference.includes("=>"))return this.resolution.id;if(this.reference[0]!=="$")return this.reference;let Z=this.reference.slice(1),X=this.$.resolutions[Z];if(typeof X==="string")return X;if(E(X,"root"))return X.id;return i(`Unexpected resolution for reference ${this.reference}: ${g(X)}`)}get defaultShortDescription(){return f0.object}innerToJsonSchema(Z){return this.resolution.toJsonSchemaRecurse(Z)}traverseAllows=(Z,X)=>{let Q=X.seen[this.reference];if(Q?.includes(Z))return!0;return X.seen[this.reference]=u(Q,Z),this.resolution.traverseAllows(Z,X)};traverseApply=(Z,X)=>{let Q=X.seen[this.reference];if(Q?.includes(Z))return;X.seen[this.reference]=u(Q,Z),this.resolution.traverseApply(Z,X)};compile(Z){let X=this.resolutionId;Z.if(`ctx.seen.${X} && ctx.seen.${X}.includes(data)`,()=>Z.return(!0)),Z.if(`!ctx.seen.${X}`,()=>Z.line(`ctx.seen.${X} = []`)),Z.line(`ctx.seen.${X}.push(data)`),Z.return(Z.invoke(X))}};n4={implementation:vW,Node:XQ}});var w2;var L9=R(()=>{a();Z2();w2=class w2 extends r0{traverseApply=(Z,X)=>{if(!this.traverseAllows(Z,X))X.errorFromNodeContext(this.errorContext)};get errorContext(){return{code:this.kind,description:this.description,meta:this.meta,...this.inner}}get compiledErrorContext(){return o1(this.errorContext)}compile(Z){if(Z.traversalKind==="Allows")Z.return(this.compiledCondition);else Z.if(this.compiledNegation,()=>Z.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`))}}});var hW,QQ,G9;var wZ=R(()=>{b();L0();a();L9();hW=v({kind:"domain",hasAssociatedError:!0,collapsibleKey:"domain",keys:{domain:{},numberAllowsNaN:{}},normalize:(Z)=>typeof Z==="string"?{domain:Z}:y2(Z,"numberAllowsNaN")&&Z.domain!=="number"?M(G9.writeBadAllowNanMessage(Z.domain)):Z,applyConfig:(Z,X)=>Z.numberAllowsNaN===void 0&&Z.domain==="number"&&X.numberAllowsNaN?{...Z,numberAllowsNaN:!0}:Z,defaults:{description:(Z)=>f0[Z.domain],actual:(Z)=>Number.isNaN(Z)?"NaN":f0[H0(Z)]},intersections:{domain:(Z,X)=>Z.domain==="number"&&X.domain==="number"?Z.numberAllowsNaN?X:Z:j.init("domain",Z,X)}});QQ=class QQ extends w2{requiresNaNCheck=this.domain==="number"&&!this.numberAllowsNaN;traverseAllows=this.requiresNaNCheck?(Z)=>typeof Z==="number"&&!Number.isNaN(Z):(Z)=>H0(Z)===this.domain;compiledCondition=this.domain==="object"?'((typeof data === "object" && data !== null) || typeof data === "function")':`typeof data === "${this.domain}"${this.requiresNaNCheck?" && !Number.isNaN(data)":""}`;compiledNegation=this.domain==="object"?'((typeof data !== "object" || data === null) && typeof data !== "function")':`typeof data !== "${this.domain}"${this.requiresNaNCheck?" || Number.isNaN(data)":""}`;expression=this.numberAllowsNaN?"number | NaN":this.domain;get nestableExpression(){return this.numberAllowsNaN?`(${this.expression})`:this.expression}get defaultShortDescription(){return f0[this.domain]}innerToJsonSchema(Z){if(this.domain==="bigint"||this.domain==="symbol")return Z.fallback.domain({code:"domain",base:{},domain:this.domain});return{type:this.domain}}};G9={implementation:hW,Node:QQ,writeBadAllowNanMessage:(Z)=>`numberAllowsNaN may only be specified with domain "number" (was ${Z})`}});var mW,JQ,PZ,uW=(Z)=>{if(Z.structure?.expression)return Z.structure.expression;let X=Z.basis&&!Z.prestructurals.some((J)=>J.impl.obviatesBasisExpression)?Z.basis.nestableExpression:"",Q=Z.prestructurals.map((J)=>J.expression).join(" & "),U=`${X}${X?" ":""}${Q}`;if(U==="Array == 0")return"[]";return U||"unknown"},UQ=(Z,X,Q)=>{let U={},J=Z.proto??Z.domain,$=X.proto??X.domain,W=J?$?U0(J,$,Q):J:$;if(W instanceof j)return W;if(W)U[W.kind]=W;return l2({kind:"intersection",baseInner:U,l:d2(Z),r:d2(X),roots:[],ctx:Q})};var AZ=R(()=>{b();m0();L0();a();i0();q0();Z2();a2();mW=v({kind:"intersection",hasAssociatedError:!0,normalize:(Z)=>{if(Q0(Z))return Z;let{structure:X,...Q}=Z,U=!!X,J=X??{},$=k(Q,(W,Y)=>{if(F0(W,T3)){if(U)M(`Flattened structure key ${W} cannot be specified alongside a root 'structure' key.`);return J[W]=Y,[]}return[W,Y]});if(E(J,"constraint")||!R1(J))$.structure=J;return $},finalizeInnerJson:({structure:Z,...X})=>E0(Z,"object")?{...Z,...X}:X,keys:{domain:{child:!0,parse:(Z,X)=>X.$.node("domain",Z)},proto:{child:!0,parse:(Z,X)=>X.$.node("proto",Z)},structure:{child:!0,parse:(Z,X)=>X.$.node("structure",Z),serialize:(Z)=>{if(!Z.sequence?.minLength)return Z.collapsibleJson;let{sequence:X,...Q}=Z.collapsibleJson,{minVariadicLength:U,...J}=X,$=J.variadic&&Object.keys(J).length===1?J.variadic:J;return{...Q,sequence:$}}},divisor:{child:!0,parse:w0("divisor")},max:{child:!0,parse:w0("max")},min:{child:!0,parse:w0("min")},maxLength:{child:!0,parse:w0("maxLength")},minLength:{child:!0,parse:w0("minLength")},exactLength:{child:!0,parse:w0("exactLength")},before:{child:!0,parse:w0("before")},after:{child:!0,parse:w0("after")},pattern:{child:!0,parse:w0("pattern")},predicate:{child:!0,parse:w0("predicate")}},reduce:(Z,X)=>UQ({},Z,{$:X,invert:!1,pipe:!1}),defaults:{description:(Z)=>{if(Z.children.length===0)return"unknown";if(Z.structure)return Z.structure.description;let X=[];if(Z.basis&&!Z.prestructurals.some((Q)=>Q.impl.obviatesBasisDescription))X.push(Z.basis.description);if(Z.prestructurals.length){let Q=Z.prestructurals.slice().sort((U,J)=>U.kind==="min"&&J.kind==="max"?-1:0).map((U)=>U.description);X.push(...Q)}if(Z.inner.predicate)X.push(...Z.inner.predicate.map((Q)=>Q.description));return X.join(" and ")},expected:(Z)=>` ◦ ${Z.errors.map((X)=>X.expected).join(`
28
28
  ◦ `)}`,problem:(Z)=>`(${Z.actual}) must be...
29
- ${Z.expected}`},intersections:{intersection:(Z,X,Q)=>UQ(Z.inner,X.inner,Q),...O1("intersection",(Z,X,Q)=>{if(Z.children.length===0)return X;let{domain:U,proto:J,...$}=Z.inner,W=J??U,Y=W?U0(W,X,Q):X;return Y instanceof j?Y:Z?.basis?.equals(Y)?Z:Z.$.node("intersection",{...$,[Y.kind]:Y},{prereduced:!0})})}});JQ=class JQ extends r0{basis=this.inner.domain??this.inner.proto??null;prestructurals=[];refinements=this.children.filter((Z)=>{if(!Z.isRefinement())return!1;if(d0(u8,Z.kind))this.prestructurals.push(Z);return!0});structure=this.inner.structure;expression=mW(this);get shallowMorphs(){return this.inner.structure?.structuralMorph?[this.inner.structure.structuralMorph]:[]}get defaultShortDescription(){return this.basis?.defaultShortDescription??"present"}innerToJsonSchema(Z){return this.children.reduce((X,Q)=>Q.isBasis()?Q.toJsonSchemaRecurse(Z):Q.reduceJsonSchema(X,Z),{})}traverseAllows=(Z,X)=>this.children.every((Q)=>Q.traverseAllows(Z,X));traverseApply=(Z,X)=>{let Q=X.currentErrorCount;if(this.basis){if(this.basis.traverseApply(Z,X),X.currentErrorCount>Q)return}if(this.prestructurals.length){for(let U=0;U<this.prestructurals.length-1;U++)if(this.prestructurals[U].traverseApply(Z,X),X.failFast&&X.currentErrorCount>Q)return;if(this.prestructurals[this.prestructurals.length-1].traverseApply(Z,X),X.currentErrorCount>Q)return}if(this.structure){if(this.structure.traverseApply(Z,X),X.currentErrorCount>Q)return}if(this.inner.predicate){for(let U=0;U<this.inner.predicate.length-1;U++)if(this.inner.predicate[U].traverseApply(Z,X),X.failFast&&X.currentErrorCount>Q)return;this.inner.predicate[this.inner.predicate.length-1].traverseApply(Z,X)}};compile(Z){if(Z.traversalKind==="Allows"){for(let X of this.children)Z.check(X);Z.return(!0);return}if(Z.initializeErrorCount(),this.basis){if(Z.check(this.basis),this.children.length>1)Z.returnIfFail()}if(this.prestructurals.length){for(let X=0;X<this.prestructurals.length-1;X++)Z.check(this.prestructurals[X]),Z.returnIfFailFast();if(Z.check(this.prestructurals[this.prestructurals.length-1]),this.structure||this.inner.predicate)Z.returnIfFail()}if(this.structure){if(Z.check(this.structure),this.inner.predicate)Z.returnIfFail()}if(this.inner.predicate){for(let X=0;X<this.inner.predicate.length-1;X++)Z.check(this.inner.predicate[X]),Z.returnIfFail();Z.check(this.inner.predicate[this.inner.predicate.length-1])}}};PZ={implementation:hW,Node:JQ}});var uW,$Q,SZ,pW=(Z,X)=>`The intersection of distinct morphs at a single path is indeterminate:
29
+ ${Z.expected}`},intersections:{intersection:(Z,X,Q)=>UQ(Z.inner,X.inner,Q),...T1("intersection",(Z,X,Q)=>{if(Z.children.length===0)return X;let{domain:U,proto:J,...$}=Z.inner,W=J??U,Y=W?U0(W,X,Q):X;return Y instanceof j?Y:Z?.basis?.equals(Y)?Z:Z.$.node("intersection",{...$,[Y.kind]:Y},{prereduced:!0})})}});JQ=class JQ extends r0{basis=this.inner.domain??this.inner.proto??null;prestructurals=[];refinements=this.children.filter((Z)=>{if(!Z.isRefinement())return!1;if(d0(u8,Z.kind))this.prestructurals.push(Z);return!0});structure=this.inner.structure;expression=uW(this);get shallowMorphs(){return this.inner.structure?.structuralMorph?[this.inner.structure.structuralMorph]:[]}get defaultShortDescription(){return this.basis?.defaultShortDescription??"present"}innerToJsonSchema(Z){return this.children.reduce((X,Q)=>Q.isBasis()?Q.toJsonSchemaRecurse(Z):Q.reduceJsonSchema(X,Z),{})}traverseAllows=(Z,X)=>this.children.every((Q)=>Q.traverseAllows(Z,X));traverseApply=(Z,X)=>{let Q=X.currentErrorCount;if(this.basis){if(this.basis.traverseApply(Z,X),X.currentErrorCount>Q)return}if(this.prestructurals.length){for(let U=0;U<this.prestructurals.length-1;U++)if(this.prestructurals[U].traverseApply(Z,X),X.failFast&&X.currentErrorCount>Q)return;if(this.prestructurals[this.prestructurals.length-1].traverseApply(Z,X),X.currentErrorCount>Q)return}if(this.structure){if(this.structure.traverseApply(Z,X),X.currentErrorCount>Q)return}if(this.inner.predicate){for(let U=0;U<this.inner.predicate.length-1;U++)if(this.inner.predicate[U].traverseApply(Z,X),X.failFast&&X.currentErrorCount>Q)return;this.inner.predicate[this.inner.predicate.length-1].traverseApply(Z,X)}};compile(Z){if(Z.traversalKind==="Allows"){for(let X of this.children)Z.check(X);Z.return(!0);return}if(Z.initializeErrorCount(),this.basis){if(Z.check(this.basis),this.children.length>1)Z.returnIfFail()}if(this.prestructurals.length){for(let X=0;X<this.prestructurals.length-1;X++)Z.check(this.prestructurals[X]),Z.returnIfFailFast();if(Z.check(this.prestructurals[this.prestructurals.length-1]),this.structure||this.inner.predicate)Z.returnIfFail()}if(this.structure){if(Z.check(this.structure),this.inner.predicate)Z.returnIfFail()}if(this.inner.predicate){for(let X=0;X<this.inner.predicate.length-1;X++)Z.check(this.inner.predicate[X]),Z.returnIfFail();Z.check(this.inner.predicate[this.inner.predicate.length-1])}}};PZ={implementation:mW,Node:JQ}});var pW,$Q,SZ,lW=(Z,X)=>`The intersection of distinct morphs at a single path is indeterminate:
30
30
  Left: ${Z}
31
- Right: ${X}`;var jZ=R(()=>{b();G0();a();i0();s();V0();Z2();a2();uW=v({kind:"morph",hasAssociatedError:!1,keys:{in:{child:!0,parse:(Z,X)=>X.$.parseSchema(Z)},morphs:{parse:c1,serialize:(Z)=>Z.map((X)=>E(X,"root")?X.json:W0(X))},declaredIn:{child:!1,serialize:(Z)=>Z.json},declaredOut:{child:!1,serialize:(Z)=>Z.json}},normalize:(Z)=>Z,defaults:{description:(Z)=>`a morph from ${Z.rawIn.description} to ${Z.rawOut?.description??"unknown"}`},intersections:{morph:(Z,X,Q)=>{if(!Z.hasEqualMorphs(X))return M(pW(Z.expression,X.expression));let U=U0(Z.rawIn,X.rawIn,Q);if(U instanceof j)return U;let J={morphs:Z.morphs};if(Z.declaredIn||X.declaredIn){let $=U0(Z.rawIn,X.rawIn,Q);if($ instanceof j)return $.throw();else J.declaredIn=$}if(Z.declaredOut||X.declaredOut){let $=U0(Z.rawOut,X.rawOut,Q);if($ instanceof j)return $.throw();else J.declaredOut=$}return U.distribute(($)=>Q.$.node("morph",{...J,in:$}),Q.$.parseSchema)},...O1("morph",(Z,X,Q)=>{let U=Z.inner.in?U0(Z.inner.in,X,Q):X;return U instanceof j?U:U.equals(Z.inner.in)?Z:Q.$.node("morph",{...Z.inner,in:U})})}});$Q=class $Q extends r0{serializedMorphs=this.morphs.map(W0);compiledMorphs=`[${this.serializedMorphs}]`;lastMorph=this.inner.morphs[this.inner.morphs.length-1];lastMorphIfNode=E(this.lastMorph,"root")?this.lastMorph:void 0;introspectableIn=this.inner.in;introspectableOut=this.lastMorphIfNode?Object.assign(this.referencesById,this.lastMorphIfNode.referencesById)&&this.lastMorphIfNode.rawOut:void 0;get shallowMorphs(){return Array.isArray(this.inner.in?.shallowMorphs)?[...this.inner.in.shallowMorphs,...this.morphs]:this.morphs}get rawIn(){return this.declaredIn??this.inner.in?.rawIn??T.intrinsic.unknown.internal}get rawOut(){return this.declaredOut??this.introspectableOut??T.intrinsic.unknown.internal}declareIn(Z){return this.$.node("morph",{...this.inner,declaredIn:Z})}declareOut(Z){return this.$.node("morph",{...this.inner,declaredOut:Z})}expression=`(In: ${this.rawIn.expression}) => ${this.lastMorphIfNode?"To":"Out"}<${this.rawOut.expression}>`;get defaultShortDescription(){return this.rawIn.meta.description??this.rawIn.defaultShortDescription}innerToJsonSchema(Z){return Z.fallback.morph({code:"morph",base:this.rawIn.toJsonSchemaRecurse(Z),out:this.introspectableOut?.toJsonSchemaRecurse(Z)??null})}compile(Z){if(Z.traversalKind==="Allows"){if(!this.introspectableIn)return;Z.return(Z.invoke(this.introspectableIn));return}if(this.introspectableIn)Z.line(Z.invoke(this.introspectableIn));Z.line(`ctx.queueMorphs(${this.compiledMorphs})`)}traverseAllows=(Z,X)=>!this.introspectableIn||this.introspectableIn.traverseAllows(Z,X);traverseApply=(Z,X)=>{if(this.introspectableIn)this.introspectableIn.traverseApply(Z,X);X.queueMorphs(this.morphs)};hasEqualMorphs(Z){return f1(this.morphs,Z.morphs,{isEqual:(X,Q)=>X===Q||E(X,"root")&&E(Q,"root")&&X.equals(Q)})}};SZ={implementation:uW,Node:$Q}});var lW,WQ,t4;var CZ=R(()=>{b();G0();a();s();V0();G9();lW=v({kind:"proto",hasAssociatedError:!0,collapsibleKey:"proto",keys:{proto:{serialize:(Z)=>b4(Z)??c0(Z)},dateAllowsInvalid:{}},normalize:(Z)=>{let X=typeof Z==="string"?{proto:M2[Z]}:typeof Z==="function"?Q0(Z)?Z:{proto:Z}:typeof Z.proto==="string"?{...Z,proto:M2[Z.proto]}:Z;if(typeof X.proto!=="function")M(t4.writeInvalidSchemaMessage(X.proto));if(y2(X,"dateAllowsInvalid")&&X.proto!==Date)M(t4.writeBadInvalidDateMessage(X.proto));return X},applyConfig:(Z,X)=>{if(Z.dateAllowsInvalid===void 0&&Z.proto===Date&&X.dateAllowsInvalid)return{...Z,dateAllowsInvalid:!0};return Z},defaults:{description:(Z)=>Z.builtinName?v7[Z.builtinName]:`an instance of ${Z.proto.name}`,actual:(Z)=>Z instanceof Date&&Z.toString()==="Invalid Date"?"an invalid Date":N4(Z)},intersections:{proto:(Z,X)=>Z.proto===Date&&X.proto===Date?Z.dateAllowsInvalid?X:Z:f8(Z.proto,X.proto)?Z:f8(X.proto,Z.proto)?X:j.init("proto",Z,X),domain:(Z,X)=>X.domain==="object"?Z:j.init("domain",T.intrinsic.object.internal,X)}});WQ=class WQ extends w2{builtinName=b4(this.proto);serializedConstructor=this.json.proto;requiresInvalidDateCheck=this.proto===Date&&!this.dateAllowsInvalid;traverseAllows=this.requiresInvalidDateCheck?(Z)=>Z instanceof Date&&Z.toString()!=="Invalid Date":(Z)=>Z instanceof this.proto;compiledCondition=`data instanceof ${this.serializedConstructor}${this.requiresInvalidDateCheck?' && data.toString() !== "Invalid Date"':""}`;compiledNegation=`!(${this.compiledCondition})`;innerToJsonSchema(Z){switch(this.builtinName){case"Array":return{type:"array"};case"Date":return Z.fallback.date?.({code:"date",base:{}})??Z.fallback.proto({code:"proto",base:{},proto:this.proto});default:return Z.fallback.proto({code:"proto",base:{},proto:this.proto})}}expression=this.dateAllowsInvalid?"Date | InvalidDate":this.proto.name;get nestableExpression(){return this.dateAllowsInvalid?`(${this.expression})`:this.expression}domain="object";get defaultShortDescription(){return this.description}};t4={implementation:lW,Node:WQ,writeBadInvalidDateMessage:(Z)=>`dateAllowsInvalid may only be specified with constructor Date (was ${Z.name})`,writeInvalidSchemaMessage:(Z)=>`instanceOf operand must be a function (was ${H0(Z)})`}});var dW,LQ,cW=(Z,X)=>{let U=Z.sort((W,Y)=>W.path.length===Y.path.length?Object.keys(Y.cases).length-Object.keys(W.cases).length:W.path.length-Y.path.length)[0],J={kind:U.kind,path:U.path,optionallyChainedPropString:qQ(U.path)},$=X.branches.map((W,Y)=>({originalIndex:Y,branch:W}));return{best:U,location:J,defaultEntries:$,node:X}},iW=(Z,X)=>{let Q=Z.best.cases[X],U=rW(Q.condition,Z.location.path,Z.node.$),J=[],$=[];for(let W=0;W<Z.defaultEntries.length;W++){let Y=Z.defaultEntries[W];if(Q.branchIndices.includes(Y.originalIndex)){let G=YQ(Z.node.branches[Y.originalIndex],Z.location);if(G===null)J=null;else J?.push({originalIndex:Y.originalIndex,branch:G})}else if(Y.branch.hasKind("alias")&&U.hasKind("domain")&&U.domain==="object")J?.push(Y);else{if(Y.branch.rawIn.overlaps(U)){let G=YQ(Y.branch,Z.location);J?.push({originalIndex:Y.originalIndex,branch:G})}$.push(Y)}}return Z.defaultEntries=$,J},sW=(Z,X)=>{return Z.filter((U)=>{let J=Object.values(U.cases).map(($)=>$.branchIndices);for(let $=0;$<J.length-1;$++){let W=J[$];for(let Y=$+1;Y<J.length;Y++){let G=J[Y];for(let L of W)for(let q of G)if(L>q){if(X[L].overlaps(X[q]))return!1}}}return!0})},rW=(Z,X,Q)=>{let U=Z==="undefined"?Q.node("unit",{unit:void 0}):Z==="null"?Q.node("unit",{unit:null}):Z==="boolean"?Q.units([!0,!1]):Z;for(let J=X.length-1;J>=0;J--){let $=X[J];U=Q.node("intersection",typeof $==="number"?{proto:"Array",sequence:[...j7($).map((W)=>({})),U]}:{domain:"object",required:[{key:$,value:U}]})}return U},qQ=(Z)=>Z.reduce((X,Q)=>X+m8(Q,!0),"data"),aW,oW,bZ,nW=(Z)=>({kind:Z.kind,path:Z.path.map((X)=>typeof X==="string"?X:J1(X)),cases:k(Z.cases,(X,Q)=>[X,Q===!0?Q:Q.hasKind("union")&&Q.discriminantJson?Q.discriminantJson:Q.json])}),tW,eW=(Z)=>o2(Z,tW),o2=(Z,X)=>{let Q=X?.delimiter??", ",U=X?.finalDelimiter??" or ";if(Z.length===0)return"never";if(Z.length===1)return Z[0];if(Z.length===2&&Z[0]==="false"&&Z[1]==="true"||Z[0]==="true"&&Z[1]==="false")return"boolean";let J={},$=Z.filter((Y)=>J[Y]?!1:J[Y]=!0),W=$.pop();return`${$.join(Q)}${$.length?U:""}${W}`},NZ=(Z,X,Q)=>{let U=X.map(()=>[]);for(let $=0;$<Z.length;$++){let W={};for(let Y=0;Y<X.length;Y++){if(U[Y]===null)continue;if(Z[$].equals(X[Y])){U[Y]=null,W={};break}let G=U0(Z[$],X[Y],Q);if(G instanceof j)continue;if(G.equals(Z[$])){U[Y].push(Z[$]),W={};break}if(G.equals(X[Y]))U[Y]=null;else W[Y]=G}for(let Y in W)U[Y][$]=W[Y]}let J=U.flatMap(($,W)=>$?.flatMap((Y)=>Y.branches)??X[W]);return J.length===0?j.init("union",Z,X):J},ZY=({branches:Z,ordered:X})=>{if(Z.length<2)return Z;let Q=Z.map(()=>!0);for(let U=0;U<Z.length;U++)for(let J=U+1;J<Z.length&&Q[U]&&Q[J];J++){if(Z[U].equals(Z[J])){Q[J]=!1;continue}let $=v0(Z[U].rawIn,Z[J].rawIn,Z[0].$);if($ instanceof j)continue;if(!X)XY(Z[U],Z[J]);if($.equals(Z[U].rawIn))Q[U]=!!X;else if($.equals(Z[J].rawIn))Q[J]=!1}return Z.filter((U,J)=>Q[J])},XY=(Z,X)=>{if(!Z.includesTransform&&!X.includesTransform)return;if(!f1(Z.shallowMorphs,X.shallowMorphs))M(GQ(Z.expression,X.expression));if(!f1(Z.flatMorphs,X.flatMorphs,{isEqual:(Q,U)=>Q.propString===U.propString&&(Q.node.hasKind("morph")&&U.node.hasKind("morph")?Q.node.hasEqualMorphs(U.node):Q.node.hasKind("intersection")&&U.node.hasKind("intersection")?Q.node.structure?.structuralMorphRef===U.node.structure?.structuralMorphRef:!1)}))M(GQ(Z.expression,X.expression))},YQ=(Z,X)=>Z.transform((Q,U)=>{if(Q==="domain"||Q==="unit")return null;return U},{shouldTransform:(Q,U)=>{let J=qQ(U.path);if(!X.optionallyChainedPropString.startsWith(J))return!1;if(Q.hasKind("domain")&&Q.domain==="object")return!0;if((Q.hasKind("domain")||X.kind==="unit")&&J===X.optionallyChainedPropString)return!0;return Q.children.length!==0&&Q.kind!=="index"}}),GQ=(Z,X)=>`An unordered union of a type including a morph and a type with overlapping input is indeterminate:
31
+ Right: ${X}`;var jZ=R(()=>{b();L0();a();i0();s();q0();Z2();a2();pW=v({kind:"morph",hasAssociatedError:!1,keys:{in:{child:!0,parse:(Z,X)=>X.$.parseSchema(Z)},morphs:{parse:c1,serialize:(Z)=>Z.map((X)=>E(X,"root")?X.json:W0(X))},declaredIn:{child:!1,serialize:(Z)=>Z.json},declaredOut:{child:!1,serialize:(Z)=>Z.json}},normalize:(Z)=>Z,defaults:{description:(Z)=>`a morph from ${Z.rawIn.description} to ${Z.rawOut?.description??"unknown"}`},intersections:{morph:(Z,X,Q)=>{if(!Z.hasEqualMorphs(X))return M(lW(Z.expression,X.expression));let U=U0(Z.rawIn,X.rawIn,Q);if(U instanceof j)return U;let J={morphs:Z.morphs};if(Z.declaredIn||X.declaredIn){let $=U0(Z.rawIn,X.rawIn,Q);if($ instanceof j)return $.throw();else J.declaredIn=$}if(Z.declaredOut||X.declaredOut){let $=U0(Z.rawOut,X.rawOut,Q);if($ instanceof j)return $.throw();else J.declaredOut=$}return U.distribute(($)=>Q.$.node("morph",{...J,in:$}),Q.$.parseSchema)},...T1("morph",(Z,X,Q)=>{let U=Z.inner.in?U0(Z.inner.in,X,Q):X;return U instanceof j?U:U.equals(Z.inner.in)?Z:Q.$.node("morph",{...Z.inner,in:U})})}});$Q=class $Q extends r0{serializedMorphs=this.morphs.map(W0);compiledMorphs=`[${this.serializedMorphs}]`;lastMorph=this.inner.morphs[this.inner.morphs.length-1];lastMorphIfNode=E(this.lastMorph,"root")?this.lastMorph:void 0;introspectableIn=this.inner.in;introspectableOut=this.lastMorphIfNode?Object.assign(this.referencesById,this.lastMorphIfNode.referencesById)&&this.lastMorphIfNode.rawOut:void 0;get shallowMorphs(){return Array.isArray(this.inner.in?.shallowMorphs)?[...this.inner.in.shallowMorphs,...this.morphs]:this.morphs}get rawIn(){return this.declaredIn??this.inner.in?.rawIn??T.intrinsic.unknown.internal}get rawOut(){return this.declaredOut??this.introspectableOut??T.intrinsic.unknown.internal}declareIn(Z){return this.$.node("morph",{...this.inner,declaredIn:Z})}declareOut(Z){return this.$.node("morph",{...this.inner,declaredOut:Z})}expression=`(In: ${this.rawIn.expression}) => ${this.lastMorphIfNode?"To":"Out"}<${this.rawOut.expression}>`;get defaultShortDescription(){return this.rawIn.meta.description??this.rawIn.defaultShortDescription}innerToJsonSchema(Z){return Z.fallback.morph({code:"morph",base:this.rawIn.toJsonSchemaRecurse(Z),out:this.introspectableOut?.toJsonSchemaRecurse(Z)??null})}compile(Z){if(Z.traversalKind==="Allows"){if(!this.introspectableIn)return;Z.return(Z.invoke(this.introspectableIn));return}if(this.introspectableIn)Z.line(Z.invoke(this.introspectableIn));Z.line(`ctx.queueMorphs(${this.compiledMorphs})`)}traverseAllows=(Z,X)=>!this.introspectableIn||this.introspectableIn.traverseAllows(Z,X);traverseApply=(Z,X)=>{if(this.introspectableIn)this.introspectableIn.traverseApply(Z,X);X.queueMorphs(this.morphs)};hasEqualMorphs(Z){return f1(this.morphs,Z.morphs,{isEqual:(X,Q)=>X===Q||E(X,"root")&&E(Q,"root")&&X.equals(Q)})}};SZ={implementation:pW,Node:$Q}});var dW,WQ,t4;var CZ=R(()=>{b();L0();a();s();q0();L9();dW=v({kind:"proto",hasAssociatedError:!0,collapsibleKey:"proto",keys:{proto:{serialize:(Z)=>b4(Z)??c0(Z)},dateAllowsInvalid:{}},normalize:(Z)=>{let X=typeof Z==="string"?{proto:M2[Z]}:typeof Z==="function"?Q0(Z)?Z:{proto:Z}:typeof Z.proto==="string"?{...Z,proto:M2[Z.proto]}:Z;if(typeof X.proto!=="function")M(t4.writeInvalidSchemaMessage(X.proto));if(y2(X,"dateAllowsInvalid")&&X.proto!==Date)M(t4.writeBadInvalidDateMessage(X.proto));return X},applyConfig:(Z,X)=>{if(Z.dateAllowsInvalid===void 0&&Z.proto===Date&&X.dateAllowsInvalid)return{...Z,dateAllowsInvalid:!0};return Z},defaults:{description:(Z)=>Z.builtinName?v7[Z.builtinName]:`an instance of ${Z.proto.name}`,actual:(Z)=>Z instanceof Date&&Z.toString()==="Invalid Date"?"an invalid Date":N4(Z)},intersections:{proto:(Z,X)=>Z.proto===Date&&X.proto===Date?Z.dateAllowsInvalid?X:Z:f8(Z.proto,X.proto)?Z:f8(X.proto,Z.proto)?X:j.init("proto",Z,X),domain:(Z,X)=>X.domain==="object"?Z:j.init("domain",T.intrinsic.object.internal,X)}});WQ=class WQ extends w2{builtinName=b4(this.proto);serializedConstructor=this.json.proto;requiresInvalidDateCheck=this.proto===Date&&!this.dateAllowsInvalid;traverseAllows=this.requiresInvalidDateCheck?(Z)=>Z instanceof Date&&Z.toString()!=="Invalid Date":(Z)=>Z instanceof this.proto;compiledCondition=`data instanceof ${this.serializedConstructor}${this.requiresInvalidDateCheck?' && data.toString() !== "Invalid Date"':""}`;compiledNegation=`!(${this.compiledCondition})`;innerToJsonSchema(Z){switch(this.builtinName){case"Array":return{type:"array"};case"Date":return Z.fallback.date?.({code:"date",base:{}})??Z.fallback.proto({code:"proto",base:{},proto:this.proto});default:return Z.fallback.proto({code:"proto",base:{},proto:this.proto})}}expression=this.dateAllowsInvalid?"Date | InvalidDate":this.proto.name;get nestableExpression(){return this.dateAllowsInvalid?`(${this.expression})`:this.expression}domain="object";get defaultShortDescription(){return this.description}};t4={implementation:dW,Node:WQ,writeBadInvalidDateMessage:(Z)=>`dateAllowsInvalid may only be specified with constructor Date (was ${Z.name})`,writeInvalidSchemaMessage:(Z)=>`instanceOf operand must be a function (was ${H0(Z)})`}});var cW,GQ,iW=(Z,X)=>{let U=Z.sort((W,Y)=>W.path.length===Y.path.length?Object.keys(Y.cases).length-Object.keys(W.cases).length:W.path.length-Y.path.length)[0],J={kind:U.kind,path:U.path,optionallyChainedPropString:VQ(U.path)},$=X.branches.map((W,Y)=>({originalIndex:Y,branch:W}));return{best:U,location:J,defaultEntries:$,node:X}},sW=(Z,X)=>{let Q=Z.best.cases[X],U=aW(Q.condition,Z.location.path,Z.node.$),J=[],$=[];for(let W=0;W<Z.defaultEntries.length;W++){let Y=Z.defaultEntries[W];if(Q.branchIndices.includes(Y.originalIndex)){let L=YQ(Z.node.branches[Y.originalIndex],Z.location);if(L===null)J=null;else J?.push({originalIndex:Y.originalIndex,branch:L})}else if(Y.branch.hasKind("alias")&&U.hasKind("domain")&&U.domain==="object")J?.push(Y);else{if(Y.branch.rawIn.overlaps(U)){let L=YQ(Y.branch,Z.location);J?.push({originalIndex:Y.originalIndex,branch:L})}$.push(Y)}}return Z.defaultEntries=$,J},rW=(Z,X)=>{return Z.filter((U)=>{let J=Object.values(U.cases).map(($)=>$.branchIndices);for(let $=0;$<J.length-1;$++){let W=J[$];for(let Y=$+1;Y<J.length;Y++){let L=J[Y];for(let G of W)for(let V of L)if(G>V){if(X[G].overlaps(X[V]))return!1}}}return!0})},aW=(Z,X,Q)=>{let U=Z==="undefined"?Q.node("unit",{unit:void 0}):Z==="null"?Q.node("unit",{unit:null}):Z==="boolean"?Q.units([!0,!1]):Z;for(let J=X.length-1;J>=0;J--){let $=X[J];U=Q.node("intersection",typeof $==="number"?{proto:"Array",sequence:[...j7($).map((W)=>({})),U]}:{domain:"object",required:[{key:$,value:U}]})}return U},VQ=(Z)=>Z.reduce((X,Q)=>X+m8(Q,!0),"data"),oW,nW,bZ,tW=(Z)=>({kind:Z.kind,path:Z.path.map((X)=>typeof X==="string"?X:J1(X)),cases:k(Z.cases,(X,Q)=>[X,Q===!0?Q:Q.hasKind("union")&&Q.discriminantJson?Q.discriminantJson:Q.json])}),eW,ZY=(Z)=>o2(Z,eW),o2=(Z,X)=>{let Q=X?.delimiter??", ",U=X?.finalDelimiter??" or ";if(Z.length===0)return"never";if(Z.length===1)return Z[0];if(Z.length===2&&Z[0]==="false"&&Z[1]==="true"||Z[0]==="true"&&Z[1]==="false")return"boolean";let J={},$=Z.filter((Y)=>J[Y]?!1:J[Y]=!0),W=$.pop();return`${$.join(Q)}${$.length?U:""}${W}`},NZ=(Z,X,Q)=>{let U=X.map(()=>[]);for(let $=0;$<Z.length;$++){let W={};for(let Y=0;Y<X.length;Y++){if(U[Y]===null)continue;if(Z[$].equals(X[Y])){U[Y]=null,W={};break}let L=U0(Z[$],X[Y],Q);if(L instanceof j)continue;if(L.equals(Z[$])){U[Y].push(Z[$]),W={};break}if(L.equals(X[Y]))U[Y]=null;else W[Y]=L}for(let Y in W)U[Y][$]=W[Y]}let J=U.flatMap(($,W)=>$?.flatMap((Y)=>Y.branches)??X[W]);return J.length===0?j.init("union",Z,X):J},XY=({branches:Z,ordered:X})=>{if(Z.length<2)return Z;let Q=Z.map(()=>!0);for(let U=0;U<Z.length;U++)for(let J=U+1;J<Z.length&&Q[U]&&Q[J];J++){if(Z[U].equals(Z[J])){Q[J]=!1;continue}let $=v0(Z[U].rawIn,Z[J].rawIn,Z[0].$);if($ instanceof j)continue;if(!X)QY(Z[U],Z[J]);if($.equals(Z[U].rawIn))Q[U]=!!X;else if($.equals(Z[J].rawIn))Q[J]=!1}return Z.filter((U,J)=>Q[J])},QY=(Z,X)=>{if(!Z.includesTransform&&!X.includesTransform)return;if(!f1(Z.shallowMorphs,X.shallowMorphs))M(LQ(Z.expression,X.expression));if(!f1(Z.flatMorphs,X.flatMorphs,{isEqual:(Q,U)=>Q.propString===U.propString&&(Q.node.hasKind("morph")&&U.node.hasKind("morph")?Q.node.hasEqualMorphs(U.node):Q.node.hasKind("intersection")&&U.node.hasKind("intersection")?Q.node.structure?.structuralMorphRef===U.node.structure?.structuralMorphRef:!1)}))M(LQ(Z.expression,X.expression))},YQ=(Z,X)=>Z.transform((Q,U)=>{if(Q==="domain"||Q==="unit")return null;return U},{shouldTransform:(Q,U)=>{let J=VQ(U.path);if(!X.optionallyChainedPropString.startsWith(J))return!1;if(Q.hasKind("domain")&&Q.domain==="object")return!0;if((Q.hasKind("domain")||X.kind==="unit")&&J===X.optionallyChainedPropString)return!0;return Q.children.length!==0&&Q.kind!=="index"}}),LQ=(Z,X)=>`An unordered union of a type including a morph and a type with overlapping input is indeterminate:
32
32
  Left: ${Z}
33
- Right: ${X}`,QY=(Z,X)=>`The intersection of two ordered unions is indeterminate:
33
+ Right: ${X}`,UY=(Z,X)=>`The intersection of two ordered unions is indeterminate:
34
34
  Left: ${Z}
35
- Right: ${X}`;var EZ=R(()=>{b();a1();G0();a();i0();s();R1();V0();Z2();a2();dW=v({kind:"union",hasAssociatedError:!0,collapsibleKey:"branches",keys:{ordered:{},branches:{child:!0,parse:(Z,X)=>{let Q=[];for(let U of Z){let J=E(U,"root")?U.branches:X.$.parseSchema(U).branches;for(let $ of J)if($.hasKind("morph")){let W=Q.findIndex((Y)=>Y.hasKind("morph")&&Y.hasEqualMorphs($));if(W===-1)Q.push($);else{let Y=Q[W];Q[W]=X.$.node("morph",{...Y.inner,in:Y.rawIn.rawOr($.rawIn)})}}else Q.push($)}if(!X.def.ordered)Q.sort((U,J)=>U.hash<J.hash?-1:1);return Q}}},normalize:(Z)=>Z0(Z)?{branches:Z}:Z,reduce:(Z,X)=>{let Q=ZY(Z);if(Q.length===1)return Q[0];if(Q.length===Z.branches.length)return;return X.node("union",{...Z,branches:Q},{prereduced:!0})},defaults:{description:(Z)=>Z.distribute((X)=>X.description,o2),expected:(Z)=>{let X=N7(Z.errors,"propString"),Q=Object.entries(X).map(([U,J])=>{let $=[];for(let G of J)F1($,G.expected);let W=o2($),Y=J.every((G)=>G.actual===J[0].actual)?J[0].actual:g(J[0].data);return`${U&&`${U} `}must be ${W}${Y&&` (was ${Y})`}`});return o2(Q)},problem:(Z)=>Z.expected,message:(Z)=>{if(Z.problem[0]==="[")return`value at ${Z.problem}`;return Z.problem}},intersections:{union:(Z,X,Q)=>{if(Z.isNever!==X.isNever)return j.init("presence",Z,X);let U;if(Z.ordered){if(X.ordered)M(QY(Z.expression,X.expression));if(U=NZ(X.branches,Z.branches,Q),U instanceof j)U.invert()}else U=NZ(Z.branches,X.branches,Q);if(U instanceof j)return U;return Q.$.parseSchema(Z.ordered||X.ordered?{branches:U,ordered:!0}:{branches:U})},...O1("union",(Z,X,Q)=>{let U=NZ(Z.branches,[X],Q);if(U instanceof j)return U;if(U.length===1)return U[0];return Q.$.parseSchema(Z.ordered?{branches:U,ordered:!0}:{branches:U})})}});LQ=class LQ extends r0{isBoolean=this.branches.length===2&&this.branches[0].hasUnit(!1)&&this.branches[1].hasUnit(!0);get branchGroups(){let Z=[],X=-1;for(let Q of this.branches){if(Q.hasKind("unit")&&Q.domain==="boolean"){if(X===-1)X=Z.length,Z.push(Q);else Z[X]=T.intrinsic.boolean;continue}Z.push(Q)}return Z}unitBranches=this.branches.filter((Z)=>Z.rawIn.hasKind("unit"));discriminant=this.discriminate();discriminantJson=this.discriminant?nW(this.discriminant):null;expression=this.distribute((Z)=>Z.nestableExpression,eW);createBranchedOptimisticRootApply(){return(Z,X)=>{let Q=this.traverseOptimistic(Z);if(Q!==I0)return Q;let U=new $1(Z,this.$.resolvedConfig);return this.traverseApply(Z,U),U.finalize(X)}}get shallowMorphs(){return this.branches.reduce((Z,X)=>F1(Z,X.shallowMorphs),[])}get defaultShortDescription(){return this.distribute((Z)=>Z.defaultShortDescription,o2)}innerToJsonSchema(Z){if(this.branchGroups.length===1&&this.branchGroups[0].equals(T.intrinsic.boolean))return{type:"boolean"};let X=this.branchGroups.map((Q)=>Q.toJsonSchemaRecurse(Z));if(X.every((Q)=>Object.keys(Q).length===1&&y2(Q,"const")))return{enum:X.map((Q)=>Q.const)};return{anyOf:X}}traverseAllows=(Z,X)=>this.branches.some((Q)=>Q.traverseAllows(Z,X));traverseApply=(Z,X)=>{let Q=[];for(let U=0;U<this.branches.length;U++){if(X.pushBranch(),this.branches[U].traverseApply(Z,X),!X.hasError()){if(this.branches[U].includesTransform)return X.queuedMorphs.push(...X.popBranch().queuedMorphs);return X.popBranch()}Q.push(X.popBranch().error)}X.errorFromNodeContext({code:"union",errors:Q,meta:this.meta})};traverseOptimistic=(Z)=>{for(let X=0;X<this.branches.length;X++){let Q=this.branches[X];if(Q.traverseAllows(Z)){if(Q.contextFreeMorph)return Q.contextFreeMorph(Z);return Z}}return I0};compile(Z){if(!this.discriminant||this.unitBranches.length===this.branches.length&&this.branches.length===2)return this.compileIndiscriminable(Z);let X=this.discriminant.optionallyChainedPropString;if(this.discriminant.kind==="domain")X=`typeof ${X} === "object" ? ${X} === null ? "null" : "object" : typeof ${X} === "function" ? "object" : typeof ${X}`;let Q=this.discriminant.cases,U=Object.keys(Q),{optimistic:J}=Z;if(Z.optimistic=!1,Z.block(`switch(${X})`,()=>{for(let L in Q){let q=Q[L],V=L==="default"?L:`case ${L}`,_;if(q===!0)_=J?"data":"true";else if(J)if(q.rootApplyStrategy==="branchedOptimistic")_=Z.invoke(q,{kind:"Optimistic"});else if(q.contextFreeMorph)_=`${Z.invoke(q)} ? ${W0(q.contextFreeMorph)}(data) : "${I0}"`;else _=`${Z.invoke(q)} ? data : "${I0}"`;else _=Z.invoke(q);Z.line(`${V}: return ${_}`)}return Z}),Z.traversalKind==="Allows"){Z.return(J?`"${I0}"`:!1);return}let $=o2(this.discriminant.kind==="domain"?U.map((L)=>{let q=L.slice(1,-1);return q==="function"?f0.object:f0[q]}):U),W=this.discriminant.path.map((L)=>typeof L==="symbol"?W0(L):JSON.stringify(L)),Y=JSON.stringify($),G=this.discriminant.kind==="domain"?`${aW}[${X}]`:`${oW}(${X})`;Z.line(`ctx.errorFromNodeContext({
35
+ Right: ${X}`;var EZ=R(()=>{b();a1();L0();a();i0();s();O1();q0();Z2();a2();cW=v({kind:"union",hasAssociatedError:!0,collapsibleKey:"branches",keys:{ordered:{},branches:{child:!0,parse:(Z,X)=>{let Q=[];for(let U of Z){let J=E(U,"root")?U.branches:X.$.parseSchema(U).branches;for(let $ of J)if($.hasKind("morph")){let W=Q.findIndex((Y)=>Y.hasKind("morph")&&Y.hasEqualMorphs($));if(W===-1)Q.push($);else{let Y=Q[W];Q[W]=X.$.node("morph",{...Y.inner,in:Y.rawIn.rawOr($.rawIn)})}}else Q.push($)}if(!X.def.ordered)Q.sort((U,J)=>U.hash<J.hash?-1:1);return Q}}},normalize:(Z)=>Z0(Z)?{branches:Z}:Z,reduce:(Z,X)=>{let Q=XY(Z);if(Q.length===1)return Q[0];if(Q.length===Z.branches.length)return;return X.node("union",{...Z,branches:Q},{prereduced:!0})},defaults:{description:(Z)=>Z.distribute((X)=>X.description,o2),expected:(Z)=>{let X=N7(Z.errors,"propString"),Q=Object.entries(X).map(([U,J])=>{let $=[];for(let L of J)B1($,L.expected);let W=o2($),Y=J.every((L)=>L.actual===J[0].actual)?J[0].actual:g(J[0].data);return`${U&&`${U} `}must be ${W}${Y&&` (was ${Y})`}`});return o2(Q)},problem:(Z)=>Z.expected,message:(Z)=>{if(Z.problem[0]==="[")return`value at ${Z.problem}`;return Z.problem}},intersections:{union:(Z,X,Q)=>{if(Z.isNever!==X.isNever)return j.init("presence",Z,X);let U;if(Z.ordered){if(X.ordered)M(UY(Z.expression,X.expression));if(U=NZ(X.branches,Z.branches,Q),U instanceof j)U.invert()}else U=NZ(Z.branches,X.branches,Q);if(U instanceof j)return U;return Q.$.parseSchema(Z.ordered||X.ordered?{branches:U,ordered:!0}:{branches:U})},...T1("union",(Z,X,Q)=>{let U=NZ(Z.branches,[X],Q);if(U instanceof j)return U;if(U.length===1)return U[0];return Q.$.parseSchema(Z.ordered?{branches:U,ordered:!0}:{branches:U})})}});GQ=class GQ extends r0{isBoolean=this.branches.length===2&&this.branches[0].hasUnit(!1)&&this.branches[1].hasUnit(!0);get branchGroups(){let Z=[],X=-1;for(let Q of this.branches){if(Q.hasKind("unit")&&Q.domain==="boolean"){if(X===-1)X=Z.length,Z.push(Q);else Z[X]=T.intrinsic.boolean;continue}Z.push(Q)}return Z}unitBranches=this.branches.filter((Z)=>Z.rawIn.hasKind("unit"));discriminant=this.discriminate();discriminantJson=this.discriminant?tW(this.discriminant):null;expression=this.distribute((Z)=>Z.nestableExpression,ZY);createBranchedOptimisticRootApply(){return(Z,X)=>{let Q=this.traverseOptimistic(Z);if(Q!==I0)return Q;let U=new $1(Z,this.$.resolvedConfig);return this.traverseApply(Z,U),U.finalize(X)}}get shallowMorphs(){return this.branches.reduce((Z,X)=>B1(Z,X.shallowMorphs),[])}get defaultShortDescription(){return this.distribute((Z)=>Z.defaultShortDescription,o2)}innerToJsonSchema(Z){if(this.branchGroups.length===1&&this.branchGroups[0].equals(T.intrinsic.boolean))return{type:"boolean"};let X=this.branchGroups.map((Q)=>Q.toJsonSchemaRecurse(Z));if(X.every((Q)=>Object.keys(Q).length===1&&y2(Q,"const")))return{enum:X.map((Q)=>Q.const)};return{anyOf:X}}traverseAllows=(Z,X)=>this.branches.some((Q)=>Q.traverseAllows(Z,X));traverseApply=(Z,X)=>{let Q=[];for(let U=0;U<this.branches.length;U++){if(X.pushBranch(),this.branches[U].traverseApply(Z,X),!X.hasError()){if(this.branches[U].includesTransform)return X.queuedMorphs.push(...X.popBranch().queuedMorphs);return X.popBranch()}Q.push(X.popBranch().error)}X.errorFromNodeContext({code:"union",errors:Q,meta:this.meta})};traverseOptimistic=(Z)=>{for(let X=0;X<this.branches.length;X++){let Q=this.branches[X];if(Q.traverseAllows(Z)){if(Q.contextFreeMorph)return Q.contextFreeMorph(Z);return Z}}return I0};compile(Z){if(!this.discriminant||this.unitBranches.length===this.branches.length&&this.branches.length===2)return this.compileIndiscriminable(Z);let X=this.discriminant.optionallyChainedPropString;if(this.discriminant.kind==="domain")X=`typeof ${X} === "object" ? ${X} === null ? "null" : "object" : typeof ${X} === "function" ? "object" : typeof ${X}`;let Q=this.discriminant.cases,U=Object.keys(Q),{optimistic:J}=Z;if(Z.optimistic=!1,Z.block(`switch(${X})`,()=>{for(let G in Q){let V=Q[G],q=G==="default"?G:`case ${G}`,_;if(V===!0)_=J?"data":"true";else if(J)if(V.rootApplyStrategy==="branchedOptimistic")_=Z.invoke(V,{kind:"Optimistic"});else if(V.contextFreeMorph)_=`${Z.invoke(V)} ? ${W0(V.contextFreeMorph)}(data) : "${I0}"`;else _=`${Z.invoke(V)} ? data : "${I0}"`;else _=Z.invoke(V);Z.line(`${q}: return ${_}`)}return Z}),Z.traversalKind==="Allows"){Z.return(J?`"${I0}"`:!1);return}let $=o2(this.discriminant.kind==="domain"?U.map((G)=>{let V=G.slice(1,-1);return V==="function"?f0.object:f0[V]}):U),W=this.discriminant.path.map((G)=>typeof G==="symbol"?W0(G):JSON.stringify(G)),Y=JSON.stringify($),L=this.discriminant.kind==="domain"?`${oW}[${X}]`:`${nW}(${X})`;Z.line(`ctx.errorFromNodeContext({
36
36
  code: "predicate",
37
37
  expected: ${Y},
38
- actual: ${G},
38
+ actual: ${L},
39
39
  relativePath: [${W}],
40
40
  meta: ${this.compiledMeta}
41
- })`)}compileIndiscriminable(Z){if(Z.traversalKind==="Apply"){Z.const("errors","[]");for(let X of this.branches)Z.line("ctx.pushBranch()").line(Z.invoke(X)).if("!ctx.hasError()",()=>Z.return(X.includesTransform?"ctx.queuedMorphs.push(...ctx.popBranch().queuedMorphs)":"ctx.popBranch()")).line("errors.push(ctx.popBranch().error)");Z.line(`ctx.errorFromNodeContext({ code: "union", errors, meta: ${this.compiledMeta} })`)}else{let{optimistic:X}=Z;Z.optimistic=!1;for(let Q of this.branches)Z.if(`${Z.invoke(Q)}`,()=>Z.return(X?Q.contextFreeMorph?`${W0(Q.contextFreeMorph)}(data)`:"data":!0));Z.return(X?`"${I0}"`:!1)}}get nestableExpression(){return this.isBoolean?"boolean":`(${this.expression})`}discriminate(){if(this.branches.length<2||this.isCyclic)return null;if(this.unitBranches.length===this.branches.length){let J=k(this.unitBranches,($,W)=>[`${W.rawIn.serializedValue}`,W.hasKind("morph")?W:!0]);return{kind:"unit",path:[],optionallyChainedPropString:"data",cases:J}}let Z=[];for(let J=0;J<this.branches.length-1;J++){let $=this.branches[J];for(let W=J+1;W<this.branches.length;W++){let Y=this.branches[W],G=v0($.rawIn,Y.rawIn,$.$);if(!(G instanceof j))continue;for(let L of G){if(!L.kind||L.optional)continue;let q,V;if(L.kind==="domain"){let{l:H,r:F}=L;q=`"${typeof H==="string"?H:H.domain}"`,V=`"${typeof F==="string"?F:F.domain}"`}else if(L.kind==="unit")q=L.l.serializedValue,V=L.r.serializedValue;else continue;let _=Z.find((H)=>f1(H.path,L.path)&&H.kind===L.kind);if(!_)Z.push({kind:L.kind,cases:{[q]:{branchIndices:[J],condition:L.l},[V]:{branchIndices:[W],condition:L.r}},path:L.path});else{if(_.cases[q])_.cases[q].branchIndices=F1(_.cases[q].branchIndices,J);else _.cases[q]??={branchIndices:[J],condition:L.l};if(_.cases[V])_.cases[V].branchIndices=F1(_.cases[V].branchIndices,W);else _.cases[V]??={branchIndices:[W],condition:L.r}}}}}let X=this.ordered?sW(Z,this.branches):Z;if(!X.length)return null;let Q=cW(X,this),U={};for(let J in Q.best.cases){let $=iW(Q,J);if($===null){U[J]=!0;continue}if($.length===this.branches.length)return null;if(this.ordered)$.sort((G,L)=>G.originalIndex-L.originalIndex);let W=$.map((G)=>G.branch),Y=W.length===1?W[0]:this.$.node("union",this.ordered?{branches:W,ordered:!0}:W);Object.assign(this.referencesById,Y.referencesById),U[J]=Y}if(Q.defaultEntries.length){let J=Q.defaultEntries.map(($)=>$.branch);U.default=this.$.node("union",this.ordered?{branches:J,ordered:!0}:J,{prereduced:!0}),Object.assign(this.referencesById,U.default.referencesById)}return Object.assign(Q.location,{cases:U})}};aW=W0(b7),oW=W0(g),bZ={implementation:dW,Node:LQ},tW={delimiter:" | ",finalDelimiter:" | "}});var UY,_Q,fZ,VQ=(Z,X,Q)=>{if(Z instanceof Date){let U=`data instanceof Date && data.toISOString() === ${X}`;return Q?`!(${U})`:U}if(Number.isNaN(Z))return`${Q?"!":""}Number.isNaN(data)`;return`data ${Q?"!":"="}== ${X}`};var IZ=R(()=>{b();G0();a();s();G9();a2();UY=v({kind:"unit",hasAssociatedError:!0,keys:{unit:{preserveUndefined:!0,serialize:(Z)=>Z instanceof Date?Z.toISOString():c0(Z)}},normalize:(Z)=>Z,defaults:{description:(Z)=>g(Z.unit),problem:({expected:Z,actual:X})=>`${Z===X?`must be reference equal to ${Z} (serialized to the same value)`:`must be ${Z} (was ${X})`}`},intersections:{unit:(Z,X)=>j.init("unit",Z,X),...O1("unit",(Z,X)=>{if(X.allows(Z.unit))return Z;let Q=X.hasKind("intersection")?X.basis:X;if(Q){let U=Q.hasKind("domain")?Q:T.intrinsic.object;if(Z.domain!==U.domain){let J=Z.domain==="undefined"||Z.domain==="null"||Z.domain==="boolean"?Z.domain:T.intrinsic[Z.domain];return j.init("domain",J,U)}}return j.init("assignability",Z,X.hasKind("intersection")?X.children.find((U)=>!U.allows(Z.unit)):X)})}});_Q=class _Q extends w2{compiledValue=this.json.unit;serializedValue=typeof this.unit==="string"||this.unit instanceof Date?JSON.stringify(this.compiledValue):`${this.compiledValue}`;compiledCondition=VQ(this.unit,this.serializedValue);compiledNegation=VQ(this.unit,this.serializedValue,"negated");expression=g(this.unit);domain=H0(this.unit);get defaultShortDescription(){return this.domain==="object"?f0.object:this.description}innerToJsonSchema(Z){return this.unit===null?{type:"null"}:T.intrinsic.jsonPrimitive.allows(this.unit)?{const:this.unit}:Z.fallback.unit({code:"unit",base:{},unit:this.unit})}traverseAllows=this.unit instanceof Date?(Z)=>Z instanceof Date&&Z.toISOString()===this.compiledValue:Number.isNaN(this.unit)?(Z)=>Number.isNaN(Z):(Z)=>Z===this.unit};fZ={implementation:UY,Node:_Q}});var JY,zQ,yZ,$Y=(Z)=>`Index keys ${Z.join(", ")} should be specified as named props.`,WY=(Z)=>`Indexed key definition '${Z}' must be a string or symbol`;var kZ=R(()=>{b();m0();D2();G0();a();i0();s();R1();JY=v({kind:"index",hasAssociatedError:!1,intersectionIsOpen:!0,keys:{signature:{child:!0,parse:(Z,X)=>{let Q=X.$.parseSchema(Z);if(!Q.extends(T.intrinsic.key))return M(WY(Q.expression));let U=Q.branches.filter((J)=>J.hasKind("unit"));if(U.length)return M($Y(U.map((J)=>g(J.unit))));return Q}},value:{child:!0,parse:(Z,X)=>X.$.parseSchema(Z)}},normalize:(Z)=>Z,defaults:{description:(Z)=>`[${Z.signature.expression}]: ${Z.value.description}`},intersections:{index:(Z,X,Q)=>{if(Z.signature.equals(X.signature)){let U=U0(Z.value,X.value,Q),J=U instanceof j?T.intrinsic.never.internal:U;return Q.$.node("index",{signature:Z.signature,value:J})}if(Z.signature.extends(X.signature)&&Z.value.subsumes(X.value))return X;if(X.signature.extends(Z.signature)&&X.value.subsumes(Z.value))return Z;return null}}});zQ=class zQ extends s0{impliedBasis=T.intrinsic.object.internal;expression=`[${this.signature.expression}]: ${this.value.expression}`;flatRefs=u(this.value.flatRefs.map((Z)=>W1([this.signature,...Z.path],Z.node)),W1([this.signature],this.value));traverseAllows=(Z,X)=>B2(Z).every((Q)=>{if(this.signature.traverseAllows(Q[0],X))return g0(Q[0],()=>this.value.traverseAllows(Q[1],X),X);return!0});traverseApply=(Z,X)=>{for(let Q of B2(Z))if(this.signature.traverseAllows(Q[0],X))g0(Q[0],()=>this.value.traverseApply(Q[1],X),X)};_transform(Z,X){X.path.push(this.signature);let Q=super._transform(Z,X);return X.path.pop(),Q}compile(){}};yZ={implementation:JY,Node:zQ}});var YY,HQ,gZ;var vZ=R(()=>{a();s4();YY=v({kind:"required",hasAssociatedError:!0,intersectionIsOpen:!0,keys:{key:{},value:{child:!0,parse:(Z,X)=>X.$.parseSchema(Z)}},normalize:(Z)=>Z,defaults:{description:(Z)=>`${Z.compiledKey}: ${Z.value.description}`,expected:(Z)=>Z.missingValueDescription,actual:()=>"missing"},intersections:{required:c4,optional:c4}});HQ=class HQ extends i4{expression=`${this.compiledKey}: ${this.value.expression}`;errorContext=Object.freeze({code:"required",missingValueDescription:this.value.defaultShortDescription,relativePath:[this.key],meta:this.meta});compiledErrorContext=o1(this.errorContext)};gZ={implementation:YY,Node:HQ}});var GY,MQ,LY,qY=(Z)=>{if(!Z.defaultables)return[];let X=[],Q="[",U=Z.prefixLength+Z.defaultablesLength-1;for(let J=Z.prefixLength;J<=U;J++){let[$,W]=Z.defaultables[J-Z.prefixLength];X.push(KZ(J,$,W)),Q+=`${J}: ${$.id} = ${c0(W)}, `}return Q+="]",LY[Q]??=X},xZ,VY=(Z)=>{let X=[];if(Z.prefix)for(let Q of Z.prefix)X.push({kind:"prefix",node:Q});if(Z.defaultables)for(let[Q,U]of Z.defaultables)X.push({kind:"defaultables",node:Q,default:U});if(Z.optionals)for(let Q of Z.optionals)X.push({kind:"optionals",node:Q});if(Z.variadic)X.push({kind:"variadic",node:Z.variadic});if(Z.postfix)for(let Q of Z.postfix)X.push({kind:"postfix",node:Q});return X},FQ=(Z)=>Z.reduce((X,Q)=>{if(Q.kind==="variadic")X.variadic=Q.node;else if(Q.kind==="defaultables")X.defaultables=u(X.defaultables,[[Q.node,Q.default]]);else X[Q.kind]=u(X[Q.kind],Q.node);return X},{}),hZ="A postfix required element cannot follow an optional or defaultable element",_Y="A postfix element requires a variadic element",e4=(Z)=>{let[X,...Q]=Z.l,[U,...J]=Z.r;if(!X||!U)return Z;let $=Q[Q.length-1]?.kind==="postfix",W=J[J.length-1]?.kind==="postfix",Y=X.kind==="prefix"||U.kind==="prefix"?"prefix":X.kind==="postfix"||U.kind==="postfix"?"postfix":X.kind==="variadic"&&U.kind==="variadic"?"variadic":$||W?"prefix":X.kind==="defaultables"||U.kind==="defaultables"?"defaultables":"optionals";if(X.kind==="prefix"&&U.kind==="variadic"&&W){let V=e4({...Z,fixedVariants:[],r:J.map((_)=>({..._,kind:"prefix"}))});if(V.disjoint.length===0)Z.fixedVariants.push(V)}else if(U.kind==="prefix"&&X.kind==="variadic"&&$){let V=e4({...Z,fixedVariants:[],l:Q.map((_)=>({..._,kind:"prefix"}))});if(V.disjoint.length===0)Z.fixedVariants.push(V)}let G=U0(X.node,U.node,Z.ctx);if(G instanceof j)if(Y==="prefix"||Y==="postfix")Z.disjoint.push(...G.withPrefixKey(Y==="prefix"?Z.result.length:`-${Q.length+1}`,BQ(X)&&BQ(U)?"required":"optional")),Z.result=[...Z.result,{kind:Y,node:T.intrinsic.never.internal}];else if(Y==="optionals"||Y==="defaultables")return Z;else return e4({...Z,fixedVariants:[],l:Q.map((V)=>({...V,kind:"prefix"})),r:Q.map((V)=>({...V,kind:"prefix"}))});else if(Y==="defaultables"){if(X.kind==="defaultables"&&U.kind==="defaultables"&&X.default!==U.default)M(TZ(X.default,U.default));Z.result=[...Z.result,{kind:Y,node:G,default:X.kind==="defaultables"?X.default:U.kind==="defaultables"?U.default:i(`Unexpected defaultable intersection from ${X.kind} and ${U.kind} elements.`)}]}else Z.result=[...Z.result,{kind:Y,node:G}];let L=Z.l.length,q=Z.r.length;if(X.kind!=="variadic"||L>=q&&(U.kind==="variadic"||q===1))Z.l=Q;if(U.kind!=="variadic"||q>=L&&(X.kind==="variadic"||L===1))Z.r=J;return e4(Z)},BQ=(Z)=>Z.kind==="prefix"||Z.kind==="postfix";var mZ=R(()=>{b();m0();D2();G0();a();i0();s();R1();s2();s4();GY=v({kind:"sequence",hasAssociatedError:!1,collapsibleKey:"variadic",keys:{prefix:{child:!0,parse:(Z,X)=>{if(Z.length===0)return;return Z.map((Q)=>X.$.parseSchema(Q))}},optionals:{child:!0,parse:(Z,X)=>{if(Z.length===0)return;return Z.map((Q)=>X.$.parseSchema(Q))}},defaultables:{child:(Z)=>Z.map((X)=>X[0]),parse:(Z,X)=>{if(Z.length===0)return;return Z.map((Q)=>{let U=X.$.parseSchema(Q[0]);return a4(U,Q[1],null),[U,Q[1]]})},serialize:(Z)=>Z.map((X)=>[X[0].collapsibleJson,c0(X[1])]),reduceIo:(Z,X,Q)=>{if(Z==="in"){X.optionals=Q.map((U)=>U[0].rawIn);return}X.prefix=Q.map((U)=>U[0].rawOut);return}},variadic:{child:!0,parse:(Z,X)=>X.$.parseSchema(Z,X)},minVariadicLength:{parse:(Z)=>Z===0?void 0:Z},postfix:{child:!0,parse:(Z,X)=>{if(Z.length===0)return;return Z.map((Q)=>X.$.parseSchema(Q))}}},normalize:(Z)=>{if(typeof Z==="string")return{variadic:Z};if("variadic"in Z||"prefix"in Z||"defaultables"in Z||"optionals"in Z||"postfix"in Z||"minVariadicLength"in Z){if(Z.postfix?.length){if(!Z.variadic)return M(_Y);if(Z.optionals?.length||Z.defaultables?.length)return M(hZ)}if(Z.minVariadicLength&&!Z.variadic)return M("minVariadicLength may not be specified without a variadic element");return Z}return{variadic:Z}},reduce:(Z,X)=>{let Q=Z.minVariadicLength??0,U=Z.prefix?.slice()??[],J=Z.defaultables?.slice()??[],$=Z.optionals?.slice()??[],W=Z.postfix?.slice()??[];if(Z.variadic){while($[$.length-1]?.equals(Z.variadic))$.pop();if($.length===0&&J.length===0)while(U[U.length-1]?.equals(Z.variadic))U.pop(),Q++;while(W[0]?.equals(Z.variadic))W.shift(),Q++}else if($.length===0&&J.length===0)U.push(...W.splice(0));if(Q!==Z.minVariadicLength||Z.prefix&&Z.prefix.length!==U.length)return X.node("sequence",{...Z,prefix:U,defaultables:J,optionals:$,postfix:W,minVariadicLength:Q},{prereduced:!0})},defaults:{description:(Z)=>{if(Z.isVariadicOnly)return`${Z.variadic.nestableExpression}[]`;return`[${Z.tuple.map((Q)=>Q.kind==="defaultables"?`${Q.node.nestableExpression} = ${g(Q.default)}`:Q.kind==="optionals"?`${Q.node.nestableExpression}?`:Q.kind==="variadic"?`...${Q.node.nestableExpression}[]`:Q.node.expression).join(", ")}]`}},intersections:{sequence:(Z,X,Q)=>{let U=e4({l:Z.tuple,r:X.tuple,disjoint:new j,result:[],fixedVariants:[],ctx:Q}),J=U.disjoint.length===0?[U,...U.fixedVariants]:U.fixedVariants;return J.length===0?U.disjoint:J.length===1?Q.$.node("sequence",FQ(J[0].result)):Q.$.node("union",J.map(($)=>({proto:Array,sequence:FQ($.result)})))}}});MQ=class MQ extends s0{impliedBasis=T.intrinsic.Array.internal;tuple=VY(this.inner);prefixLength=this.prefix?.length??0;defaultablesLength=this.defaultables?.length??0;optionalsLength=this.optionals?.length??0;postfixLength=this.postfix?.length??0;defaultablesAndOptionals=[];prevariadic=this.tuple.filter((Z)=>{if(Z.kind==="defaultables"||Z.kind==="optionals")return this.defaultablesAndOptionals.push(Z.node),!0;return Z.kind==="prefix"});variadicOrPostfix=E1(this.variadic&&[this.variadic],this.postfix);flatRefs=this.addFlatRefs();addFlatRefs(){return c8(this.flatRefs,this.prevariadic.flatMap((Z,X)=>u(Z.node.flatRefs.map((Q)=>W1([`${X}`,...Q.path],Q.node)),W1([`${X}`],Z.node)))),c8(this.flatRefs,this.variadicOrPostfix.flatMap((Z)=>u(Z.flatRefs.map((X)=>W1([T.intrinsic.nonNegativeIntegerString.internal,...X.path],X.node)),W1([T.intrinsic.nonNegativeIntegerString.internal],Z)))),this.flatRefs}isVariadicOnly=this.prevariadic.length+this.postfixLength===0;minVariadicLength=this.inner.minVariadicLength??0;minLength=this.prefixLength+this.minVariadicLength+this.postfixLength;minLengthNode=this.minLength===0?null:this.$.node("minLength",this.minLength);maxLength=this.variadic?null:this.tuple.length;maxLengthNode=this.maxLength===null?null:this.$.node("maxLength",this.maxLength);impliedSiblings=this.minLengthNode?this.maxLengthNode?[this.minLengthNode,this.maxLengthNode]:[this.minLengthNode]:this.maxLengthNode?[this.maxLengthNode]:[];defaultValueMorphs=qY(this);defaultValueMorphsReference=this.defaultValueMorphs.length?W0(this.defaultValueMorphs):void 0;elementAtIndex(Z,X){if(X<this.prevariadic.length)return this.tuple[X];let Q=Z.length-this.postfixLength;if(X>=Q)return{kind:"postfix",node:this.postfix[X-Q]};return{kind:"variadic",node:this.variadic??i(`Unexpected attempt to access index ${X} on ${this}`)}}traverseAllows=(Z,X)=>{for(let Q=0;Q<Z.length;Q++)if(!this.elementAtIndex(Z,Q).node.traverseAllows(Z[Q],X))return!1;return!0};traverseApply=(Z,X)=>{let Q=0;for(;Q<Z.length;Q++)g0(Q,()=>this.elementAtIndex(Z,Q).node.traverseApply(Z[Q],X),X)};get element(){return this.cacheGetter("element",this.$.node("union",this.children))}compile(Z){if(this.prefix)for(let[X,Q]of this.prefix.entries())Z.traverseKey(`${X}`,`data[${X}]`,Q);for(let[X,Q]of this.defaultablesAndOptionals.entries()){let U=`${X+this.prefixLength}`;Z.if(`${U} >= data.length`,()=>Z.traversalKind==="Allows"?Z.return(!0):Z.return()),Z.traverseKey(U,`data[${U}]`,Q)}if(this.variadic){if(this.postfix)Z.const("firstPostfixIndex",`data.length${this.postfix?`- ${this.postfix.length}`:""}`);if(Z.for(`i < ${this.postfix?"firstPostfixIndex":"data.length"}`,()=>Z.traverseKey("i","data[i]",this.variadic),this.prevariadic.length),this.postfix)for(let[X,Q]of this.postfix.entries()){let U=`firstPostfixIndex + ${X}`;Z.traverseKey(U,`data[${U}]`,Q)}}if(Z.traversalKind==="Allows")Z.return(!0)}_transform(Z,X){X.path.push(T.intrinsic.nonNegativeIntegerString.internal);let Q=super._transform(Z,X);return X.path.pop(),Q}expression=this.description;reduceJsonSchema(Z,X){let Q=X.target==="draft-07";if(this.prevariadic.length){let U=this.prevariadic.map((J)=>{let $=J.node.toJsonSchemaRecurse(X);if(J.kind==="defaultables"){let W=typeof J.default==="function"?J.default():J.default;$.default=T.intrinsic.jsonData.allows(W)?W:X.fallback.defaultValue({code:"defaultValue",base:$,value:W})}return $});if(Q)Z.items=U;else Z.prefixItems=U}if(this.minLength)Z.minItems=this.minLength;if(this.variadic){let U=this.variadic.toJsonSchemaRecurse(X);if(Q&&this.prevariadic.length)Z.additionalItems=U;else Z.items=U;if(this.maxLength)Z.maxItems=this.maxLength;if(this.postfix){let J=this.postfix.map(($)=>$.toJsonSchemaRecurse(X));Z=X.fallback.arrayPostfix({code:"arrayPostfix",base:Z,elements:J})}}else{if(Q)Z.additionalItems=!1;else Z.items=!1;delete Z.maxItems}return Z}};LY={},xZ={implementation:GY,Node:MQ}});var KQ=(Z)=>(X)=>{if(X.props.length||X.index){let Q=X.index?.map((J)=>J[Z])??[];for(let J of X.props)Q.push(J[Z]);if(X.undeclared)Q.push(`+ (undeclared): ${X.undeclared}`);let U=`{ ${Q.join(", ")} }`;return X.sequence?`${U} & ${X.sequence.description}`:U}return X.sequence?.description??"{}"},zY,HY,RQ=(Z,X,Q)=>{let U=Z.required?"required":"optional";if(!X.signature.allows(Z.key))return null;let J=v0(Z.value,X.value,Q);if(J instanceof j)return U==="optional"?Q.node("optional",{key:Z.key,value:T.intrinsic.never.internal}):J.withPrefixKey(Z.key,Z.kind);return null},FY,DQ,uZ,BY=(Z)=>{let X="";for(let Q=0;Q<Z.defaultable.length;Q++)X+=Z.defaultable[Q].defaultValueMorphRef;if(Z.sequence?.defaultValueMorphsReference)X+=Z.sequence?.defaultValueMorphsReference;if(Z.undeclared==="delete"){if(X+="delete !(",Z.required)for(let Q of Z.required)X+=Q.compiledKey+" | ";if(Z.optional)for(let Q of Z.optional)X+=Q.compiledKey+" | ";if(Z.index)for(let Q of Z.index)X+=Q.signature.id+" | ";if(Z.sequence)if(Z.sequence.maxLength===null)X+=I.nonNegativeIntegerString.id;else for(let Q=0;Q<Z.sequence.tuple.length;Q++)X+=Q+" | ";X+=")"}return X},MY=(Z)=>{let X=BY(Z);if(!X)return;if(uZ[X])return uZ[X];let Q=(U,J)=>{for(let $=0;$<Z.defaultable.length;$++)if(!(Z.defaultable[$].key in U))Z.defaultable[$].defaultValueMorph(U,J);if(Z.sequence?.defaultables)for(let $=U.length-Z.sequence.prefixLength;$<Z.sequence.defaultables.length;$++)Z.sequence.defaultValueMorphs[$](U,J);if(Z.undeclared==="delete"){for(let $ in U)if(!Z.declaresKey($))delete U[$]}return U};return uZ[X]=Q},RY=(Z,X)=>{let U=`(data${X.defaultable.some((J)=>J.defaultValueMorph.length===2)||X.sequence?.defaultValueMorphs.some((J)=>J.length===2)?", ctx":""})`;return Z.block(`${U} => `,(J)=>{for(let $=0;$<X.defaultable.length;$++){let{serializedKey:W,defaultValueMorphRef:Y}=X.defaultable[$];J.if(`!(${W} in data)`,(G)=>G.line(`${Y}${U}`))}if(X.sequence?.defaultables)J.for(`i < ${X.sequence.defaultables.length}`,($)=>$.set("data[i]",5),`data.length - ${X.sequence.prefixLength}`);if(X.undeclared==="delete")J.forIn("data",($)=>$.if(`!(${X._compileDeclaresKey($)})`,(W)=>W.line("delete data[k]")));return J.return("data")})},pZ,OY=(Z)=>{if(E(Z,"root")&&Z.hasKind("unit"))Z=Z.unit;if(typeof Z==="number")Z=`${Z}`;return Z},TY=(Z,X)=>`${Z} is not allowed as an array index on ${X}. Use the 'nonNegativeIntegerString' keyword instead.`,q9=(Z,X,Q)=>{let[U,J]=S7(Z.branches,(W)=>W.hasKind("unit"));if(!U.length)return{index:Q.node("index",{signature:Z,value:X})};let $={};for(let W of U){let Y=Q.node("required",{key:W.unit,value:X});$[Y.kind]=u($[Y.kind],Y)}if(J.length)$.index=Q.node("index",{signature:J,value:X});return $},KY=(Z)=>E(Z,"root")?Z.expression:g(Z),OQ=(Z,X)=>`Key${X.length===1?"":"s"} ${X.map(KY).join(", ")} ${X.length===1?"does":"do"} not exist on ${Z}`,TQ=(Z)=>`Duplicate key ${J1(Z)}`;var lZ=R(()=>{b();m0();Y9();Z2();a1();G0();a();i0();s();n1();R1();V0();s2();zY=KQ("description"),HY=KQ("expression"),FY=v({kind:"structure",hasAssociatedError:!1,normalize:(Z)=>Z,applyConfig:(Z,X)=>{if(!Z.undeclared&&X.onUndeclaredKey!=="ignore")return{...Z,undeclared:X.onUndeclaredKey};return Z},keys:{required:{child:!0,parse:w0("required"),reduceIo:(Z,X,Q)=>{X.required=u(X.required,Q.map((U)=>Z==="in"?U.rawIn:U.rawOut));return}},optional:{child:!0,parse:w0("optional"),reduceIo:(Z,X,Q)=>{if(Z==="in"){X.optional=Q.map((U)=>U.rawIn);return}for(let U of Q)X[U.outProp.kind]=u(X[U.outProp.kind],U.outProp.rawOut)}},index:{child:!0,parse:w0("index")},sequence:{child:!0,parse:w0("sequence")},undeclared:{parse:(Z)=>Z==="ignore"?void 0:Z,reduceIo:(Z,X,Q)=>{if(Q==="reject"){X.undeclared="reject";return}if(Z==="in")delete X.undeclared;else X.undeclared="reject"}}},defaults:{description:zY},intersections:{structure:(Z,X,Q)=>{let U={...Z.inner},J={...X.inner},$=new j;if(Z.undeclared){let G=Z.keyof();for(let L of X.requiredKeys)if(!G.allows(L))$.add("presence",T.intrinsic.never.internal,X.propsByKey[L].value,{path:[L]});if(J.optional)J.optional=J.optional.filter((L)=>G.allows(L.key));if(J.index)J.index=J.index.flatMap((L)=>{if(L.signature.extends(G))return L;let q=v0(G,L.signature,Q.$);if(q instanceof j)return[];let V=q9(q,L.value,Q.$);if(V.required)J.required=E1(J.required,V.required);if(V.optional)J.optional=E1(J.optional,V.optional);return V.index??[]})}if(X.undeclared){let G=X.keyof();for(let L of Z.requiredKeys)if(!G.allows(L))$.add("presence",Z.propsByKey[L].value,T.intrinsic.never.internal,{path:[L]});if(U.optional)U.optional=U.optional.filter((L)=>G.allows(L.key));if(U.index)U.index=U.index.flatMap((L)=>{if(L.signature.extends(G))return L;let q=v0(G,L.signature,Q.$);if(q instanceof j)return[];let V=q9(q,L.value,Q.$);if(V.required)U.required=E1(U.required,V.required);if(V.optional)U.optional=E1(U.optional,V.optional);return V.index??[]})}let W={};if(Z.undeclared||X.undeclared)W.undeclared=Z.undeclared==="reject"||X.undeclared==="reject"?"reject":"delete";let Y=l2({kind:"structure",baseInner:W,l:d2(U),r:d2(J),roots:[],ctx:Q});if(Y instanceof j)$.push(...Y);if($.length)return $;return Y}},reduce:(Z,X)=>{if(!Z.required&&!Z.optional)return;let Q={},U=!1,J=Z.optional?[...Z.optional]:[];if(Z.required)for(let $=0;$<Z.required.length;$++){let W=Z.required[$];if(W.key in Q)M(TQ(W.key));if(Q[W.key]=!0,Z.index)for(let Y of Z.index){let G=RQ(W,Y,X);if(G instanceof j)return G}}if(Z.optional)for(let $=0;$<Z.optional.length;$++){let W=Z.optional[$];if(W.key in Q)M(TQ(W.key));if(Q[W.key]=!0,Z.index)for(let Y of Z.index){let G=RQ(W,Y,X);if(G instanceof j)return G;if(G!==null)J[$]=G,U=!0}}if(U)return X.node("structure",{...Z,optional:J},{prereduced:!0})}});DQ=class DQ extends s0{impliedBasis=T.intrinsic.object.internal;impliedSiblings=this.children.flatMap((Z)=>Z.impliedSiblings??[]);props=E1(this.required,this.optional);propsByKey=k(this.props,(Z,X)=>[X.key,X]);propsByKeyReference=W0(this.propsByKey);expression=HY(this);requiredKeys=this.required?.map((Z)=>Z.key)??[];optionalKeys=this.optional?.map((Z)=>Z.key)??[];literalKeys=[...this.requiredKeys,...this.optionalKeys];_keyof;keyof(){if(this._keyof)return this._keyof;let Z=this.$.units(this.literalKeys).branches;if(this.index)for(let{signature:X}of this.index)Z=Z.concat(X.branches);return this._keyof=this.$.node("union",Z)}map(Z){return this.$.node("structure",this.props.flatMap(Z).reduce((X,Q)=>{let U=this.propsByKey[Q.key];if(Q0(Q)){if(Q.kind!=="required"&&Q.kind!=="optional")return M(`Map result must have kind "required" or "optional" (was ${Q.kind})`);return X[Q.kind]=u(X[Q.kind],Q),X}let J=Q.kind??U?.kind??"required",$=k(Q,(W,Y)=>(W in r4.implementation.keys)?[W,Y]:[]);return X[J]=u(X[J],this.$.node(J,$)),X},{}))}assertHasKeys(Z){let X=Z.filter((Q)=>!o4(Q,this.keyof()));if(X.length)return M(OQ(this.expression,X))}get(Z,...X){let Q,U=!1,J=OY(Z);if((typeof J==="string"||typeof J==="symbol")&&this.propsByKey[J])Q=this.propsByKey[J].value,U=this.propsByKey[J].required;if(this.index){for(let W of this.index)if(o4(J,W.signature))Q=Q?.and(W.value)??W.value}if(this.sequence&&o4(J,T.intrinsic.nonNegativeIntegerString))if(E(J,"root")){if(this.sequence.variadic)Q=Q?.and(this.sequence.element)??this.sequence.element}else{let W=Number.parseInt(J);if(W<this.sequence.prevariadic.length){let Y=this.sequence.prevariadic[W].node;Q=Q?.and(Y)??Y,U||=W<this.sequence.prefixLength}else if(this.sequence.variadic){let Y=this.$.node("union",this.sequence.variadicOrPostfix);Q=Q?.and(Y)??Y}}if(!Q){if(this.sequence?.variadic&&E(J,"root")&&J.extends(T.intrinsic.number))return M(TY(J.expression,this.sequence.expression));return M(OQ(this.expression,[J]))}let $=Q.get(...X);return U?$:$.or(T.intrinsic.undefined)}pick(...Z){return this.assertHasKeys(Z),this.$.node("structure",this.filterKeys("pick",Z))}omit(...Z){return this.assertHasKeys(Z),this.$.node("structure",this.filterKeys("omit",Z))}optionalize(){let{required:Z,...X}=this.inner;return this.$.node("structure",{...X,optional:this.props.map((Q)=>Q.hasKind("required")?this.$.node("optional",Q.inner):Q)})}require(){let{optional:Z,...X}=this.inner;return this.$.node("structure",{...X,required:this.props.map((Q)=>Q.hasKind("optional")?{key:Q.key,value:Q.value}:Q)})}merge(Z){let X=this.filterKeys("omit",[Z.keyof()]);if(Z.required)X.required=u(X.required,Z.required);if(Z.optional)X.optional=u(X.optional,Z.optional);if(Z.index)X.index=u(X.index,Z.index);if(Z.sequence)X.sequence=Z.sequence;if(Z.undeclared)X.undeclared=Z.undeclared;else delete X.undeclared;return this.$.node("structure",X)}filterKeys(Z,X){let Q=a6(this.inner),U=(J)=>{let $=X.some((W)=>o4(J,W));return Z==="pick"?$:!$};if(Q.required)Q.required=Q.required.filter((J)=>U(J.key));if(Q.optional)Q.optional=Q.optional.filter((J)=>U(J.key));if(Q.index)Q.index=Q.index.filter((J)=>U(J.signature));return Q}traverseAllows=(Z,X)=>this._traverse("Allows",Z,X);traverseApply=(Z,X)=>this._traverse("Apply",Z,X);_traverse=(Z,X,Q)=>{let U=Q?.currentErrorCount??0;for(let J=0;J<this.props.length;J++)if(Z==="Allows"){if(!this.props[J].traverseAllows(X,Q))return!1}else if(this.props[J].traverseApply(X,Q),Q.failFast&&Q.currentErrorCount>U)return!1;if(this.sequence){if(Z==="Allows"){if(!this.sequence.traverseAllows(X,Q))return!1}else if(this.sequence.traverseApply(X,Q),Q.failFast&&Q.currentErrorCount>U)return!1}if(this.index||this.undeclared==="reject"){let J=Object.keys(X);J.push(...Object.getOwnPropertySymbols(X));for(let $=0;$<J.length;$++){let W=J[$];if(this.index){for(let Y of this.index)if(Y.signature.traverseAllows(W,Q)){if(Z==="Allows"){if(!g0(W,()=>Y.value.traverseAllows(X[W],Q),Q))return!1}else if(g0(W,()=>Y.value.traverseApply(X[W],Q),Q),Q.failFast&&Q.currentErrorCount>U)return!1}}if(this.undeclared==="reject"&&!this.declaresKey(W)){if(Z==="Allows")return!1;if(Q.errorFromNodeContext({code:"predicate",expected:"removed",actual:"",relativePath:[W],meta:this.meta}),Q.failFast)return!1}}}if(this.structuralMorph&&Q&&!Q.hasError())Q.queueMorphs([this.structuralMorph]);return!0};get defaultable(){return this.cacheGetter("defaultable",this.optional?.filter((Z)=>Z.hasDefault())??[])}declaresKey=(Z)=>(Z in this.propsByKey)||this.index?.some((X)=>X.signature.allows(Z))||this.sequence!==void 0&&T.intrinsic.nonNegativeIntegerString.allows(Z);_compileDeclaresKey(Z){let X=[];if(this.props.length)X.push(`k in ${this.propsByKeyReference}`);if(this.index)for(let Q of this.index)X.push(Z.invoke(Q.signature,{kind:"Allows",arg:"k"}));if(this.sequence)X.push("$ark.intrinsic.nonNegativeIntegerString.allows(k)");return X.join(" || ")||"false"}get structuralMorph(){return this.cacheGetter("structuralMorph",MY(this))}structuralMorphRef=this.structuralMorph&&W0(this.structuralMorph);compile(Z){if(Z.traversalKind==="Apply")Z.initializeErrorCount();for(let X of this.props)if(Z.check(X),Z.traversalKind==="Apply")Z.returnIfFailFast();if(this.sequence){if(Z.check(this.sequence),Z.traversalKind==="Apply")Z.returnIfFailFast()}if(this.index||this.undeclared==="reject")Z.const("keys","Object.keys(data)"),Z.line("keys.push(...Object.getOwnPropertySymbols(data))"),Z.for("i < keys.length",()=>this.compileExhaustiveEntry(Z));if(Z.traversalKind==="Allows")return Z.return(!0);if(this.structuralMorphRef)Z.if("ctx && !ctx.hasError()",()=>{return Z.line("ctx.queueMorphs(["),RY(Z,this),Z.line("])")})}compileExhaustiveEntry(Z){if(Z.const("k","keys[i]"),this.index)for(let X of this.index)Z.if(`${Z.invoke(X.signature,{arg:"k",kind:"Allows"})}`,()=>Z.traverseKey("k","data[k]",X.value));if(this.undeclared==="reject")Z.if(`!(${this._compileDeclaresKey(Z)})`,()=>{if(Z.traversalKind==="Allows")return Z.return(!1);return Z.line(`ctx.errorFromNodeContext({ code: "predicate", expected: "removed", actual: "", relativePath: [k], meta: ${this.compiledMeta} })`).if("ctx.failFast",()=>Z.return())});return Z}reduceJsonSchema(Z,X){switch(Z.type){case"object":return this.reduceObjectJsonSchema(Z,X);case"array":let Q=this.sequence?.reduceJsonSchema(Z,X)??Z;if(this.props.length||this.index)return X.fallback.arrayObject({code:"arrayObject",base:Q,object:this.reduceObjectJsonSchema({type:"object"},X)});return Q;default:return J0.throwInternalOperandError("structure",Z)}}reduceObjectJsonSchema(Z,X){if(this.props.length){Z.properties={};for(let Q of this.props){let U=Q.value.toJsonSchemaRecurse(X);if(typeof Q.key==="symbol"){X.fallback.symbolKey({code:"symbolKey",base:Z,key:Q.key,value:U,optional:Q.optional});continue}if(Q.hasDefault()){let J=typeof Q.default==="function"?Q.default():Q.default;U.default=T.intrinsic.jsonData.allows(J)?J:X.fallback.defaultValue({code:"defaultValue",base:U,value:J})}Z.properties[Q.key]=U}if(this.requiredKeys.length&&Z.properties)Z.required=this.requiredKeys.filter((Q)=>typeof Q==="string"&&(Q in Z.properties))}if(this.index)for(let Q of this.index){let U=Q.value.toJsonSchemaRecurse(X);if(Q.signature.equals(T.intrinsic.string)){Z.additionalProperties=U;continue}for(let J of Q.signature.branches){if(!J.extends(T.intrinsic.string)){Z=X.fallback.symbolKey({code:"symbolKey",base:Z,key:null,value:U,optional:!1});continue}let $={type:"string"};if(J.hasKind("morph"))$=X.fallback.morph({code:"morph",base:J.rawIn.toJsonSchemaRecurse(X),out:J.rawOut.toJsonSchemaRecurse(X)});if(!J.hasKind("intersection"))return i(`Unexpected index branch kind ${J.kind}.`);let{pattern:W}=J.inner;if(W){let Y=Object.assign($,{pattern:W[0].rule});for(let G=1;G<W.length;G++)$=X.fallback.patternIntersection({code:"patternIntersection",base:Y,pattern:W[G].rule});Z.patternProperties??={},Z.patternProperties[Y.pattern]=U}}}if(this.undeclared&&!Z.additionalProperties)Z.additionalProperties=!1;return Z}};uZ={},pZ={implementation:FY,Node:DQ}});var i2,r3;var W9=R(()=>{b();u2();n8();e8();HZ();BZ();DZ();wZ();AZ();jZ();CZ();EZ();IZ();s();n1();kZ();s2();vZ();mZ();lZ();i2={...p3,alias:n4.implementation,domain:L9.implementation,unit:fZ.implementation,proto:t4.implementation,union:bZ.implementation,morph:SZ.implementation,intersection:PZ.implementation,divisor:t8.implementation,pattern:FZ.implementation,predicate:o8.implementation,required:gZ.implementation,optional:r4.implementation,index:yZ.implementation,sequence:xZ.implementation,structure:pZ.implementation};T.defaultConfig=k7(Object.assign(k(i2,(Z,X)=>[Z,X.defaults]),{jitless:l7(),clone:x7,onUndeclaredKey:"ignore",exactOptionalPropertyTypes:!0,numberAllowsNaN:!1,dateAllowsInvalid:!1,onFail:null,keywords:{},toJsonSchema:J0.defaultConfig}));T.resolvedConfig=h4(T.defaultConfig,T.config);r3={...l3,alias:n4.Node,domain:L9.Node,unit:fZ.Node,proto:t4.Node,union:bZ.Node,morph:SZ.Node,intersection:PZ.Node,divisor:t8.Node,pattern:FZ.Node,predicate:o8.Node,required:gZ.Node,optional:r4.Node,index:yZ.Node,sequence:xZ.Node,structure:pZ.Node}});var n2,dZ=(Z,X)=>new n2(k(Z,(Q,U)=>[Q,E(U,"module")?dZ(U,X):X.bindReference(U)]));var cZ=R(()=>{b();V0();n2=class n2 extends C8{get[S0](){return"module"}}});var DY=(Z)=>Z0(Z)?Z:("branches"in Z)&&Z0(Z.branches)?Z.branches:void 0,wY=(Z,X)=>M(`Node of kind ${X} is not valid as a ${Z} definition`),wQ=(Z)=>`#${Z} duplicates public alias ${Z}`,iZ,PQ,SQ="function $",PY=(Z)=>jQ(Z,CQ(Z)),jQ=(Z,X)=>{let Q=X.write(SQ,4),U=X.compile()();for(let J of Z){if(J.precompilation)continue;if(J.traverseAllows=U[`${J.id}Allows`].bind(U),J.isRoot()&&!J.allowsRequiresContext)J.allows=J.traverseAllows;if(J.traverseApply=U[`${J.id}Apply`].bind(U),U[`${J.id}Optimistic`])J.traverseOptimistic=U[`${J.id}Optimistic`].bind(U);J.precompilation=Q}},CQ=(Z)=>new r6().return(Z.reduce((X,Q)=>{let U=new x4({kind:"Allows"}).indent();Q.compile(U);let J=U.write(`${Q.id}Allows`),$=new x4({kind:"Apply"}).indent();Q.compile($);let W=$.write(`${Q.id}Apply`),Y=`${X}${J},
41
+ })`)}compileIndiscriminable(Z){if(Z.traversalKind==="Apply"){Z.const("errors","[]");for(let X of this.branches)Z.line("ctx.pushBranch()").line(Z.invoke(X)).if("!ctx.hasError()",()=>Z.return(X.includesTransform?"ctx.queuedMorphs.push(...ctx.popBranch().queuedMorphs)":"ctx.popBranch()")).line("errors.push(ctx.popBranch().error)");Z.line(`ctx.errorFromNodeContext({ code: "union", errors, meta: ${this.compiledMeta} })`)}else{let{optimistic:X}=Z;Z.optimistic=!1;for(let Q of this.branches)Z.if(`${Z.invoke(Q)}`,()=>Z.return(X?Q.contextFreeMorph?`${W0(Q.contextFreeMorph)}(data)`:"data":!0));Z.return(X?`"${I0}"`:!1)}}get nestableExpression(){return this.isBoolean?"boolean":`(${this.expression})`}discriminate(){if(this.branches.length<2||this.isCyclic)return null;if(this.unitBranches.length===this.branches.length){let J=k(this.unitBranches,($,W)=>[`${W.rawIn.serializedValue}`,W.hasKind("morph")?W:!0]);return{kind:"unit",path:[],optionallyChainedPropString:"data",cases:J}}let Z=[];for(let J=0;J<this.branches.length-1;J++){let $=this.branches[J];for(let W=J+1;W<this.branches.length;W++){let Y=this.branches[W],L=v0($.rawIn,Y.rawIn,$.$);if(!(L instanceof j))continue;for(let G of L){if(!G.kind||G.optional)continue;let V,q;if(G.kind==="domain"){let{l:H,r:F}=G;V=`"${typeof H==="string"?H:H.domain}"`,q=`"${typeof F==="string"?F:F.domain}"`}else if(G.kind==="unit")V=G.l.serializedValue,q=G.r.serializedValue;else continue;let _=Z.find((H)=>f1(H.path,G.path)&&H.kind===G.kind);if(!_)Z.push({kind:G.kind,cases:{[V]:{branchIndices:[J],condition:G.l},[q]:{branchIndices:[W],condition:G.r}},path:G.path});else{if(_.cases[V])_.cases[V].branchIndices=B1(_.cases[V].branchIndices,J);else _.cases[V]??={branchIndices:[J],condition:G.l};if(_.cases[q])_.cases[q].branchIndices=B1(_.cases[q].branchIndices,W);else _.cases[q]??={branchIndices:[W],condition:G.r}}}}}let X=this.ordered?rW(Z,this.branches):Z;if(!X.length)return null;let Q=iW(X,this),U={};for(let J in Q.best.cases){let $=sW(Q,J);if($===null){U[J]=!0;continue}if($.length===this.branches.length)return null;if(this.ordered)$.sort((L,G)=>L.originalIndex-G.originalIndex);let W=$.map((L)=>L.branch),Y=W.length===1?W[0]:this.$.node("union",this.ordered?{branches:W,ordered:!0}:W);Object.assign(this.referencesById,Y.referencesById),U[J]=Y}if(Q.defaultEntries.length){let J=Q.defaultEntries.map(($)=>$.branch);U.default=this.$.node("union",this.ordered?{branches:J,ordered:!0}:J,{prereduced:!0}),Object.assign(this.referencesById,U.default.referencesById)}return Object.assign(Q.location,{cases:U})}};oW=W0(b7),nW=W0(g),bZ={implementation:cW,Node:GQ},eW={delimiter:" | ",finalDelimiter:" | "}});var JY,_Q,fZ,qQ=(Z,X,Q)=>{if(Z instanceof Date){let U=`data instanceof Date && data.toISOString() === ${X}`;return Q?`!(${U})`:U}if(Number.isNaN(Z))return`${Q?"!":""}Number.isNaN(data)`;return`data ${Q?"!":"="}== ${X}`};var IZ=R(()=>{b();L0();a();s();L9();a2();JY=v({kind:"unit",hasAssociatedError:!0,keys:{unit:{preserveUndefined:!0,serialize:(Z)=>Z instanceof Date?Z.toISOString():c0(Z)}},normalize:(Z)=>Z,defaults:{description:(Z)=>g(Z.unit),problem:({expected:Z,actual:X})=>`${Z===X?`must be reference equal to ${Z} (serialized to the same value)`:`must be ${Z} (was ${X})`}`},intersections:{unit:(Z,X)=>j.init("unit",Z,X),...T1("unit",(Z,X)=>{if(X.allows(Z.unit))return Z;let Q=X.hasKind("intersection")?X.basis:X;if(Q){let U=Q.hasKind("domain")?Q:T.intrinsic.object;if(Z.domain!==U.domain){let J=Z.domain==="undefined"||Z.domain==="null"||Z.domain==="boolean"?Z.domain:T.intrinsic[Z.domain];return j.init("domain",J,U)}}return j.init("assignability",Z,X.hasKind("intersection")?X.children.find((U)=>!U.allows(Z.unit)):X)})}});_Q=class _Q extends w2{compiledValue=this.json.unit;serializedValue=typeof this.unit==="string"||this.unit instanceof Date?JSON.stringify(this.compiledValue):`${this.compiledValue}`;compiledCondition=qQ(this.unit,this.serializedValue);compiledNegation=qQ(this.unit,this.serializedValue,"negated");expression=g(this.unit);domain=H0(this.unit);get defaultShortDescription(){return this.domain==="object"?f0.object:this.description}innerToJsonSchema(Z){return this.unit===null?{type:"null"}:T.intrinsic.jsonPrimitive.allows(this.unit)?{const:this.unit}:Z.fallback.unit({code:"unit",base:{},unit:this.unit})}traverseAllows=this.unit instanceof Date?(Z)=>Z instanceof Date&&Z.toISOString()===this.compiledValue:Number.isNaN(this.unit)?(Z)=>Number.isNaN(Z):(Z)=>Z===this.unit};fZ={implementation:JY,Node:_Q}});var $Y,zQ,yZ,WY=(Z)=>`Index keys ${Z.join(", ")} should be specified as named props.`,YY=(Z)=>`Indexed key definition '${Z}' must be a string or symbol`;var kZ=R(()=>{b();m0();D2();L0();a();i0();s();O1();$Y=v({kind:"index",hasAssociatedError:!1,intersectionIsOpen:!0,keys:{signature:{child:!0,parse:(Z,X)=>{let Q=X.$.parseSchema(Z);if(!Q.extends(T.intrinsic.key))return M(YY(Q.expression));let U=Q.branches.filter((J)=>J.hasKind("unit"));if(U.length)return M(WY(U.map((J)=>g(J.unit))));return Q}},value:{child:!0,parse:(Z,X)=>X.$.parseSchema(Z)}},normalize:(Z)=>Z,defaults:{description:(Z)=>`[${Z.signature.expression}]: ${Z.value.description}`},intersections:{index:(Z,X,Q)=>{if(Z.signature.equals(X.signature)){let U=U0(Z.value,X.value,Q),J=U instanceof j?T.intrinsic.never.internal:U;return Q.$.node("index",{signature:Z.signature,value:J})}if(Z.signature.extends(X.signature)&&Z.value.subsumes(X.value))return X;if(X.signature.extends(Z.signature)&&X.value.subsumes(Z.value))return Z;return null}}});zQ=class zQ extends s0{impliedBasis=T.intrinsic.object.internal;expression=`[${this.signature.expression}]: ${this.value.expression}`;flatRefs=u(this.value.flatRefs.map((Z)=>W1([this.signature,...Z.path],Z.node)),W1([this.signature],this.value));traverseAllows=(Z,X)=>B2(Z).every((Q)=>{if(this.signature.traverseAllows(Q[0],X))return g0(Q[0],()=>this.value.traverseAllows(Q[1],X),X);return!0});traverseApply=(Z,X)=>{for(let Q of B2(Z))if(this.signature.traverseAllows(Q[0],X))g0(Q[0],()=>this.value.traverseApply(Q[1],X),X)};_transform(Z,X){X.path.push(this.signature);let Q=super._transform(Z,X);return X.path.pop(),Q}compile(){}};yZ={implementation:$Y,Node:zQ}});var LY,HQ,gZ;var vZ=R(()=>{a();s4();LY=v({kind:"required",hasAssociatedError:!0,intersectionIsOpen:!0,keys:{key:{},value:{child:!0,parse:(Z,X)=>X.$.parseSchema(Z)}},normalize:(Z)=>Z,defaults:{description:(Z)=>`${Z.compiledKey}: ${Z.value.description}`,expected:(Z)=>Z.missingValueDescription,actual:()=>"missing"},intersections:{required:c4,optional:c4}});HQ=class HQ extends i4{expression=`${this.compiledKey}: ${this.value.expression}`;errorContext=Object.freeze({code:"required",missingValueDescription:this.value.defaultShortDescription,relativePath:[this.key],meta:this.meta});compiledErrorContext=o1(this.errorContext)};gZ={implementation:LY,Node:HQ}});var GY,MQ,VY,qY=(Z)=>{if(!Z.defaultables)return[];let X=[],Q="[",U=Z.prefixLength+Z.defaultablesLength-1;for(let J=Z.prefixLength;J<=U;J++){let[$,W]=Z.defaultables[J-Z.prefixLength];X.push(KZ(J,$,W)),Q+=`${J}: ${$.id} = ${c0(W)}, `}return Q+="]",VY[Q]??=X},xZ,_Y=(Z)=>{let X=[];if(Z.prefix)for(let Q of Z.prefix)X.push({kind:"prefix",node:Q});if(Z.defaultables)for(let[Q,U]of Z.defaultables)X.push({kind:"defaultables",node:Q,default:U});if(Z.optionals)for(let Q of Z.optionals)X.push({kind:"optionals",node:Q});if(Z.variadic)X.push({kind:"variadic",node:Z.variadic});if(Z.postfix)for(let Q of Z.postfix)X.push({kind:"postfix",node:Q});return X},FQ=(Z)=>Z.reduce((X,Q)=>{if(Q.kind==="variadic")X.variadic=Q.node;else if(Q.kind==="defaultables")X.defaultables=u(X.defaultables,[[Q.node,Q.default]]);else X[Q.kind]=u(X[Q.kind],Q.node);return X},{}),hZ="A postfix required element cannot follow an optional or defaultable element",zY="A postfix element requires a variadic element",e4=(Z)=>{let[X,...Q]=Z.l,[U,...J]=Z.r;if(!X||!U)return Z;let $=Q[Q.length-1]?.kind==="postfix",W=J[J.length-1]?.kind==="postfix",Y=X.kind==="prefix"||U.kind==="prefix"?"prefix":X.kind==="postfix"||U.kind==="postfix"?"postfix":X.kind==="variadic"&&U.kind==="variadic"?"variadic":$||W?"prefix":X.kind==="defaultables"||U.kind==="defaultables"?"defaultables":"optionals";if(X.kind==="prefix"&&U.kind==="variadic"&&W){let q=e4({...Z,fixedVariants:[],r:J.map((_)=>({..._,kind:"prefix"}))});if(q.disjoint.length===0)Z.fixedVariants.push(q)}else if(U.kind==="prefix"&&X.kind==="variadic"&&$){let q=e4({...Z,fixedVariants:[],l:Q.map((_)=>({..._,kind:"prefix"}))});if(q.disjoint.length===0)Z.fixedVariants.push(q)}let L=U0(X.node,U.node,Z.ctx);if(L instanceof j)if(Y==="prefix"||Y==="postfix")Z.disjoint.push(...L.withPrefixKey(Y==="prefix"?Z.result.length:`-${Q.length+1}`,BQ(X)&&BQ(U)?"required":"optional")),Z.result=[...Z.result,{kind:Y,node:T.intrinsic.never.internal}];else if(Y==="optionals"||Y==="defaultables")return Z;else return e4({...Z,fixedVariants:[],l:Q.map((q)=>({...q,kind:"prefix"})),r:Q.map((q)=>({...q,kind:"prefix"}))});else if(Y==="defaultables"){if(X.kind==="defaultables"&&U.kind==="defaultables"&&X.default!==U.default)M(TZ(X.default,U.default));Z.result=[...Z.result,{kind:Y,node:L,default:X.kind==="defaultables"?X.default:U.kind==="defaultables"?U.default:i(`Unexpected defaultable intersection from ${X.kind} and ${U.kind} elements.`)}]}else Z.result=[...Z.result,{kind:Y,node:L}];let G=Z.l.length,V=Z.r.length;if(X.kind!=="variadic"||G>=V&&(U.kind==="variadic"||V===1))Z.l=Q;if(U.kind!=="variadic"||V>=G&&(X.kind==="variadic"||G===1))Z.r=J;return e4(Z)},BQ=(Z)=>Z.kind==="prefix"||Z.kind==="postfix";var mZ=R(()=>{b();m0();D2();L0();a();i0();s();O1();s2();s4();GY=v({kind:"sequence",hasAssociatedError:!1,collapsibleKey:"variadic",keys:{prefix:{child:!0,parse:(Z,X)=>{if(Z.length===0)return;return Z.map((Q)=>X.$.parseSchema(Q))}},optionals:{child:!0,parse:(Z,X)=>{if(Z.length===0)return;return Z.map((Q)=>X.$.parseSchema(Q))}},defaultables:{child:(Z)=>Z.map((X)=>X[0]),parse:(Z,X)=>{if(Z.length===0)return;return Z.map((Q)=>{let U=X.$.parseSchema(Q[0]);return a4(U,Q[1],null),[U,Q[1]]})},serialize:(Z)=>Z.map((X)=>[X[0].collapsibleJson,c0(X[1])]),reduceIo:(Z,X,Q)=>{if(Z==="in"){X.optionals=Q.map((U)=>U[0].rawIn);return}X.prefix=Q.map((U)=>U[0].rawOut);return}},variadic:{child:!0,parse:(Z,X)=>X.$.parseSchema(Z,X)},minVariadicLength:{parse:(Z)=>Z===0?void 0:Z},postfix:{child:!0,parse:(Z,X)=>{if(Z.length===0)return;return Z.map((Q)=>X.$.parseSchema(Q))}}},normalize:(Z)=>{if(typeof Z==="string")return{variadic:Z};if("variadic"in Z||"prefix"in Z||"defaultables"in Z||"optionals"in Z||"postfix"in Z||"minVariadicLength"in Z){if(Z.postfix?.length){if(!Z.variadic)return M(zY);if(Z.optionals?.length||Z.defaultables?.length)return M(hZ)}if(Z.minVariadicLength&&!Z.variadic)return M("minVariadicLength may not be specified without a variadic element");return Z}return{variadic:Z}},reduce:(Z,X)=>{let Q=Z.minVariadicLength??0,U=Z.prefix?.slice()??[],J=Z.defaultables?.slice()??[],$=Z.optionals?.slice()??[],W=Z.postfix?.slice()??[];if(Z.variadic){while($[$.length-1]?.equals(Z.variadic))$.pop();if($.length===0&&J.length===0)while(U[U.length-1]?.equals(Z.variadic))U.pop(),Q++;while(W[0]?.equals(Z.variadic))W.shift(),Q++}else if($.length===0&&J.length===0)U.push(...W.splice(0));if(Q!==Z.minVariadicLength||Z.prefix&&Z.prefix.length!==U.length)return X.node("sequence",{...Z,prefix:U,defaultables:J,optionals:$,postfix:W,minVariadicLength:Q},{prereduced:!0})},defaults:{description:(Z)=>{if(Z.isVariadicOnly)return`${Z.variadic.nestableExpression}[]`;return`[${Z.tuple.map((Q)=>Q.kind==="defaultables"?`${Q.node.nestableExpression} = ${g(Q.default)}`:Q.kind==="optionals"?`${Q.node.nestableExpression}?`:Q.kind==="variadic"?`...${Q.node.nestableExpression}[]`:Q.node.expression).join(", ")}]`}},intersections:{sequence:(Z,X,Q)=>{let U=e4({l:Z.tuple,r:X.tuple,disjoint:new j,result:[],fixedVariants:[],ctx:Q}),J=U.disjoint.length===0?[U,...U.fixedVariants]:U.fixedVariants;return J.length===0?U.disjoint:J.length===1?Q.$.node("sequence",FQ(J[0].result)):Q.$.node("union",J.map(($)=>({proto:Array,sequence:FQ($.result)})))}}});MQ=class MQ extends s0{impliedBasis=T.intrinsic.Array.internal;tuple=_Y(this.inner);prefixLength=this.prefix?.length??0;defaultablesLength=this.defaultables?.length??0;optionalsLength=this.optionals?.length??0;postfixLength=this.postfix?.length??0;defaultablesAndOptionals=[];prevariadic=this.tuple.filter((Z)=>{if(Z.kind==="defaultables"||Z.kind==="optionals")return this.defaultablesAndOptionals.push(Z.node),!0;return Z.kind==="prefix"});variadicOrPostfix=E1(this.variadic&&[this.variadic],this.postfix);flatRefs=this.addFlatRefs();addFlatRefs(){return c8(this.flatRefs,this.prevariadic.flatMap((Z,X)=>u(Z.node.flatRefs.map((Q)=>W1([`${X}`,...Q.path],Q.node)),W1([`${X}`],Z.node)))),c8(this.flatRefs,this.variadicOrPostfix.flatMap((Z)=>u(Z.flatRefs.map((X)=>W1([T.intrinsic.nonNegativeIntegerString.internal,...X.path],X.node)),W1([T.intrinsic.nonNegativeIntegerString.internal],Z)))),this.flatRefs}isVariadicOnly=this.prevariadic.length+this.postfixLength===0;minVariadicLength=this.inner.minVariadicLength??0;minLength=this.prefixLength+this.minVariadicLength+this.postfixLength;minLengthNode=this.minLength===0?null:this.$.node("minLength",this.minLength);maxLength=this.variadic?null:this.tuple.length;maxLengthNode=this.maxLength===null?null:this.$.node("maxLength",this.maxLength);impliedSiblings=this.minLengthNode?this.maxLengthNode?[this.minLengthNode,this.maxLengthNode]:[this.minLengthNode]:this.maxLengthNode?[this.maxLengthNode]:[];defaultValueMorphs=qY(this);defaultValueMorphsReference=this.defaultValueMorphs.length?W0(this.defaultValueMorphs):void 0;elementAtIndex(Z,X){if(X<this.prevariadic.length)return this.tuple[X];let Q=Z.length-this.postfixLength;if(X>=Q)return{kind:"postfix",node:this.postfix[X-Q]};return{kind:"variadic",node:this.variadic??i(`Unexpected attempt to access index ${X} on ${this}`)}}traverseAllows=(Z,X)=>{for(let Q=0;Q<Z.length;Q++)if(!this.elementAtIndex(Z,Q).node.traverseAllows(Z[Q],X))return!1;return!0};traverseApply=(Z,X)=>{let Q=0;for(;Q<Z.length;Q++)g0(Q,()=>this.elementAtIndex(Z,Q).node.traverseApply(Z[Q],X),X)};get element(){return this.cacheGetter("element",this.$.node("union",this.children))}compile(Z){if(this.prefix)for(let[X,Q]of this.prefix.entries())Z.traverseKey(`${X}`,`data[${X}]`,Q);for(let[X,Q]of this.defaultablesAndOptionals.entries()){let U=`${X+this.prefixLength}`;Z.if(`${U} >= data.length`,()=>Z.traversalKind==="Allows"?Z.return(!0):Z.return()),Z.traverseKey(U,`data[${U}]`,Q)}if(this.variadic){if(this.postfix)Z.const("firstPostfixIndex",`data.length${this.postfix?`- ${this.postfix.length}`:""}`);if(Z.for(`i < ${this.postfix?"firstPostfixIndex":"data.length"}`,()=>Z.traverseKey("i","data[i]",this.variadic),this.prevariadic.length),this.postfix)for(let[X,Q]of this.postfix.entries()){let U=`firstPostfixIndex + ${X}`;Z.traverseKey(U,`data[${U}]`,Q)}}if(Z.traversalKind==="Allows")Z.return(!0)}_transform(Z,X){X.path.push(T.intrinsic.nonNegativeIntegerString.internal);let Q=super._transform(Z,X);return X.path.pop(),Q}expression=this.description;reduceJsonSchema(Z,X){let Q=X.target==="draft-07";if(this.prevariadic.length){let U=this.prevariadic.map((J)=>{let $=J.node.toJsonSchemaRecurse(X);if(J.kind==="defaultables"){let W=typeof J.default==="function"?J.default():J.default;$.default=T.intrinsic.jsonData.allows(W)?W:X.fallback.defaultValue({code:"defaultValue",base:$,value:W})}return $});if(Q)Z.items=U;else Z.prefixItems=U}if(this.minLength)Z.minItems=this.minLength;if(this.variadic){let U=this.variadic.toJsonSchemaRecurse(X);if(Q&&this.prevariadic.length)Z.additionalItems=U;else Z.items=U;if(this.maxLength)Z.maxItems=this.maxLength;if(this.postfix){let J=this.postfix.map(($)=>$.toJsonSchemaRecurse(X));Z=X.fallback.arrayPostfix({code:"arrayPostfix",base:Z,elements:J})}}else{if(Q)Z.additionalItems=!1;else Z.items=!1;delete Z.maxItems}return Z}};VY={},xZ={implementation:GY,Node:MQ}});var KQ=(Z)=>(X)=>{if(X.props.length||X.index){let Q=X.index?.map((J)=>J[Z])??[];for(let J of X.props)Q.push(J[Z]);if(X.undeclared)Q.push(`+ (undeclared): ${X.undeclared}`);let U=`{ ${Q.join(", ")} }`;return X.sequence?`${U} & ${X.sequence.description}`:U}return X.sequence?.description??"{}"},HY,FY,RQ=(Z,X,Q)=>{let U=Z.required?"required":"optional";if(!X.signature.allows(Z.key))return null;let J=v0(Z.value,X.value,Q);if(J instanceof j)return U==="optional"?Q.node("optional",{key:Z.key,value:T.intrinsic.never.internal}):J.withPrefixKey(Z.key,Z.kind);return null},BY,DQ,uZ,MY=(Z)=>{let X="";for(let Q=0;Q<Z.defaultable.length;Q++)X+=Z.defaultable[Q].defaultValueMorphRef;if(Z.sequence?.defaultValueMorphsReference)X+=Z.sequence?.defaultValueMorphsReference;if(Z.undeclared==="delete"){if(X+="delete !(",Z.required)for(let Q of Z.required)X+=Q.compiledKey+" | ";if(Z.optional)for(let Q of Z.optional)X+=Q.compiledKey+" | ";if(Z.index)for(let Q of Z.index)X+=Q.signature.id+" | ";if(Z.sequence)if(Z.sequence.maxLength===null)X+=I.nonNegativeIntegerString.id;else for(let Q=0;Q<Z.sequence.tuple.length;Q++)X+=Q+" | ";X+=")"}return X},RY=(Z)=>{let X=MY(Z);if(!X)return;if(uZ[X])return uZ[X];let Q=(U,J)=>{for(let $=0;$<Z.defaultable.length;$++)if(!(Z.defaultable[$].key in U))Z.defaultable[$].defaultValueMorph(U,J);if(Z.sequence?.defaultables)for(let $=U.length-Z.sequence.prefixLength;$<Z.sequence.defaultables.length;$++)Z.sequence.defaultValueMorphs[$](U,J);if(Z.undeclared==="delete"){for(let $ in U)if(!Z.declaresKey($))delete U[$]}return U};return uZ[X]=Q},OY=(Z,X)=>{let U=`(data${X.defaultable.some((J)=>J.defaultValueMorph.length===2)||X.sequence?.defaultValueMorphs.some((J)=>J.length===2)?", ctx":""})`;return Z.block(`${U} => `,(J)=>{for(let $=0;$<X.defaultable.length;$++){let{serializedKey:W,defaultValueMorphRef:Y}=X.defaultable[$];J.if(`!(${W} in data)`,(L)=>L.line(`${Y}${U}`))}if(X.sequence?.defaultables)J.for(`i < ${X.sequence.defaultables.length}`,($)=>$.set("data[i]",5),`data.length - ${X.sequence.prefixLength}`);if(X.undeclared==="delete")J.forIn("data",($)=>$.if(`!(${X._compileDeclaresKey($)})`,(W)=>W.line("delete data[k]")));return J.return("data")})},pZ,TY=(Z)=>{if(E(Z,"root")&&Z.hasKind("unit"))Z=Z.unit;if(typeof Z==="number")Z=`${Z}`;return Z},KY=(Z,X)=>`${Z} is not allowed as an array index on ${X}. Use the 'nonNegativeIntegerString' keyword instead.`,V9=(Z,X,Q)=>{let[U,J]=S7(Z.branches,(W)=>W.hasKind("unit"));if(!U.length)return{index:Q.node("index",{signature:Z,value:X})};let $={};for(let W of U){let Y=Q.node("required",{key:W.unit,value:X});$[Y.kind]=u($[Y.kind],Y)}if(J.length)$.index=Q.node("index",{signature:J,value:X});return $},DY=(Z)=>E(Z,"root")?Z.expression:g(Z),OQ=(Z,X)=>`Key${X.length===1?"":"s"} ${X.map(DY).join(", ")} ${X.length===1?"does":"do"} not exist on ${Z}`,TQ=(Z)=>`Duplicate key ${J1(Z)}`;var lZ=R(()=>{b();m0();Y9();Z2();a1();L0();a();i0();s();n1();O1();q0();s2();HY=KQ("description"),FY=KQ("expression"),BY=v({kind:"structure",hasAssociatedError:!1,normalize:(Z)=>Z,applyConfig:(Z,X)=>{if(!Z.undeclared&&X.onUndeclaredKey!=="ignore")return{...Z,undeclared:X.onUndeclaredKey};return Z},keys:{required:{child:!0,parse:w0("required"),reduceIo:(Z,X,Q)=>{X.required=u(X.required,Q.map((U)=>Z==="in"?U.rawIn:U.rawOut));return}},optional:{child:!0,parse:w0("optional"),reduceIo:(Z,X,Q)=>{if(Z==="in"){X.optional=Q.map((U)=>U.rawIn);return}for(let U of Q)X[U.outProp.kind]=u(X[U.outProp.kind],U.outProp.rawOut)}},index:{child:!0,parse:w0("index")},sequence:{child:!0,parse:w0("sequence")},undeclared:{parse:(Z)=>Z==="ignore"?void 0:Z,reduceIo:(Z,X,Q)=>{if(Q==="reject"){X.undeclared="reject";return}if(Z==="in")delete X.undeclared;else X.undeclared="reject"}}},defaults:{description:HY},intersections:{structure:(Z,X,Q)=>{let U={...Z.inner},J={...X.inner},$=new j;if(Z.undeclared){let L=Z.keyof();for(let G of X.requiredKeys)if(!L.allows(G))$.add("presence",T.intrinsic.never.internal,X.propsByKey[G].value,{path:[G]});if(J.optional)J.optional=J.optional.filter((G)=>L.allows(G.key));if(J.index)J.index=J.index.flatMap((G)=>{if(G.signature.extends(L))return G;let V=v0(L,G.signature,Q.$);if(V instanceof j)return[];let q=V9(V,G.value,Q.$);if(q.required)J.required=E1(J.required,q.required);if(q.optional)J.optional=E1(J.optional,q.optional);return q.index??[]})}if(X.undeclared){let L=X.keyof();for(let G of Z.requiredKeys)if(!L.allows(G))$.add("presence",Z.propsByKey[G].value,T.intrinsic.never.internal,{path:[G]});if(U.optional)U.optional=U.optional.filter((G)=>L.allows(G.key));if(U.index)U.index=U.index.flatMap((G)=>{if(G.signature.extends(L))return G;let V=v0(L,G.signature,Q.$);if(V instanceof j)return[];let q=V9(V,G.value,Q.$);if(q.required)U.required=E1(U.required,q.required);if(q.optional)U.optional=E1(U.optional,q.optional);return q.index??[]})}let W={};if(Z.undeclared||X.undeclared)W.undeclared=Z.undeclared==="reject"||X.undeclared==="reject"?"reject":"delete";let Y=l2({kind:"structure",baseInner:W,l:d2(U),r:d2(J),roots:[],ctx:Q});if(Y instanceof j)$.push(...Y);if($.length)return $;return Y}},reduce:(Z,X)=>{if(!Z.required&&!Z.optional)return;let Q={},U=!1,J=Z.optional?[...Z.optional]:[];if(Z.required)for(let $=0;$<Z.required.length;$++){let W=Z.required[$];if(W.key in Q)M(TQ(W.key));if(Q[W.key]=!0,Z.index)for(let Y of Z.index){let L=RQ(W,Y,X);if(L instanceof j)return L}}if(Z.optional)for(let $=0;$<Z.optional.length;$++){let W=Z.optional[$];if(W.key in Q)M(TQ(W.key));if(Q[W.key]=!0,Z.index)for(let Y of Z.index){let L=RQ(W,Y,X);if(L instanceof j)return L;if(L!==null)J[$]=L,U=!0}}if(U)return X.node("structure",{...Z,optional:J},{prereduced:!0})}});DQ=class DQ extends s0{impliedBasis=T.intrinsic.object.internal;impliedSiblings=this.children.flatMap((Z)=>Z.impliedSiblings??[]);props=E1(this.required,this.optional);propsByKey=k(this.props,(Z,X)=>[X.key,X]);propsByKeyReference=W0(this.propsByKey);expression=FY(this);requiredKeys=this.required?.map((Z)=>Z.key)??[];optionalKeys=this.optional?.map((Z)=>Z.key)??[];literalKeys=[...this.requiredKeys,...this.optionalKeys];_keyof;keyof(){if(this._keyof)return this._keyof;let Z=this.$.units(this.literalKeys).branches;if(this.index)for(let{signature:X}of this.index)Z=Z.concat(X.branches);return this._keyof=this.$.node("union",Z)}map(Z){return this.$.node("structure",this.props.flatMap(Z).reduce((X,Q)=>{let U=this.propsByKey[Q.key];if(Q0(Q)){if(Q.kind!=="required"&&Q.kind!=="optional")return M(`Map result must have kind "required" or "optional" (was ${Q.kind})`);return X[Q.kind]=u(X[Q.kind],Q),X}let J=Q.kind??U?.kind??"required",$=k(Q,(W,Y)=>(W in r4.implementation.keys)?[W,Y]:[]);return X[J]=u(X[J],this.$.node(J,$)),X},{}))}assertHasKeys(Z){let X=Z.filter((Q)=>!o4(Q,this.keyof()));if(X.length)return M(OQ(this.expression,X))}get(Z,...X){let Q,U=!1,J=TY(Z);if((typeof J==="string"||typeof J==="symbol")&&this.propsByKey[J])Q=this.propsByKey[J].value,U=this.propsByKey[J].required;if(this.index){for(let W of this.index)if(o4(J,W.signature))Q=Q?.and(W.value)??W.value}if(this.sequence&&o4(J,T.intrinsic.nonNegativeIntegerString))if(E(J,"root")){if(this.sequence.variadic)Q=Q?.and(this.sequence.element)??this.sequence.element}else{let W=Number.parseInt(J);if(W<this.sequence.prevariadic.length){let Y=this.sequence.prevariadic[W].node;Q=Q?.and(Y)??Y,U||=W<this.sequence.prefixLength}else if(this.sequence.variadic){let Y=this.$.node("union",this.sequence.variadicOrPostfix);Q=Q?.and(Y)??Y}}if(!Q){if(this.sequence?.variadic&&E(J,"root")&&J.extends(T.intrinsic.number))return M(KY(J.expression,this.sequence.expression));return M(OQ(this.expression,[J]))}let $=Q.get(...X);return U?$:$.or(T.intrinsic.undefined)}pick(...Z){return this.assertHasKeys(Z),this.$.node("structure",this.filterKeys("pick",Z))}omit(...Z){return this.assertHasKeys(Z),this.$.node("structure",this.filterKeys("omit",Z))}optionalize(){let{required:Z,...X}=this.inner;return this.$.node("structure",{...X,optional:this.props.map((Q)=>Q.hasKind("required")?this.$.node("optional",Q.inner):Q)})}require(){let{optional:Z,...X}=this.inner;return this.$.node("structure",{...X,required:this.props.map((Q)=>Q.hasKind("optional")?{key:Q.key,value:Q.value}:Q)})}merge(Z){let X=this.filterKeys("omit",[Z.keyof()]);if(Z.required)X.required=u(X.required,Z.required);if(Z.optional)X.optional=u(X.optional,Z.optional);if(Z.index)X.index=u(X.index,Z.index);if(Z.sequence)X.sequence=Z.sequence;if(Z.undeclared)X.undeclared=Z.undeclared;else delete X.undeclared;return this.$.node("structure",X)}filterKeys(Z,X){let Q=a6(this.inner),U=(J)=>{let $=X.some((W)=>o4(J,W));return Z==="pick"?$:!$};if(Q.required)Q.required=Q.required.filter((J)=>U(J.key));if(Q.optional)Q.optional=Q.optional.filter((J)=>U(J.key));if(Q.index)Q.index=Q.index.filter((J)=>U(J.signature));return Q}traverseAllows=(Z,X)=>this._traverse("Allows",Z,X);traverseApply=(Z,X)=>this._traverse("Apply",Z,X);_traverse=(Z,X,Q)=>{let U=Q?.currentErrorCount??0;for(let J=0;J<this.props.length;J++)if(Z==="Allows"){if(!this.props[J].traverseAllows(X,Q))return!1}else if(this.props[J].traverseApply(X,Q),Q.failFast&&Q.currentErrorCount>U)return!1;if(this.sequence){if(Z==="Allows"){if(!this.sequence.traverseAllows(X,Q))return!1}else if(this.sequence.traverseApply(X,Q),Q.failFast&&Q.currentErrorCount>U)return!1}if(this.index||this.undeclared==="reject"){let J=Object.keys(X);J.push(...Object.getOwnPropertySymbols(X));for(let $=0;$<J.length;$++){let W=J[$];if(this.index){for(let Y of this.index)if(Y.signature.traverseAllows(W,Q)){if(Z==="Allows"){if(!g0(W,()=>Y.value.traverseAllows(X[W],Q),Q))return!1}else if(g0(W,()=>Y.value.traverseApply(X[W],Q),Q),Q.failFast&&Q.currentErrorCount>U)return!1}}if(this.undeclared==="reject"&&!this.declaresKey(W)){if(Z==="Allows")return!1;if(Q.errorFromNodeContext({code:"predicate",expected:"removed",actual:"",relativePath:[W],meta:this.meta}),Q.failFast)return!1}}}if(this.structuralMorph&&Q&&!Q.hasError())Q.queueMorphs([this.structuralMorph]);return!0};get defaultable(){return this.cacheGetter("defaultable",this.optional?.filter((Z)=>Z.hasDefault())??[])}declaresKey=(Z)=>(Z in this.propsByKey)||this.index?.some((X)=>X.signature.allows(Z))||this.sequence!==void 0&&T.intrinsic.nonNegativeIntegerString.allows(Z);_compileDeclaresKey(Z){let X=[];if(this.props.length)X.push(`k in ${this.propsByKeyReference}`);if(this.index)for(let Q of this.index)X.push(Z.invoke(Q.signature,{kind:"Allows",arg:"k"}));if(this.sequence)X.push("$ark.intrinsic.nonNegativeIntegerString.allows(k)");return X.join(" || ")||"false"}get structuralMorph(){return this.cacheGetter("structuralMorph",RY(this))}structuralMorphRef=this.structuralMorph&&W0(this.structuralMorph);compile(Z){if(Z.traversalKind==="Apply")Z.initializeErrorCount();for(let X of this.props)if(Z.check(X),Z.traversalKind==="Apply")Z.returnIfFailFast();if(this.sequence){if(Z.check(this.sequence),Z.traversalKind==="Apply")Z.returnIfFailFast()}if(this.index||this.undeclared==="reject")Z.const("keys","Object.keys(data)"),Z.line("keys.push(...Object.getOwnPropertySymbols(data))"),Z.for("i < keys.length",()=>this.compileExhaustiveEntry(Z));if(Z.traversalKind==="Allows")return Z.return(!0);if(this.structuralMorphRef)Z.if("ctx && !ctx.hasError()",()=>{return Z.line("ctx.queueMorphs(["),OY(Z,this),Z.line("])")})}compileExhaustiveEntry(Z){if(Z.const("k","keys[i]"),this.index)for(let X of this.index)Z.if(`${Z.invoke(X.signature,{arg:"k",kind:"Allows"})}`,()=>Z.traverseKey("k","data[k]",X.value));if(this.undeclared==="reject")Z.if(`!(${this._compileDeclaresKey(Z)})`,()=>{if(Z.traversalKind==="Allows")return Z.return(!1);return Z.line(`ctx.errorFromNodeContext({ code: "predicate", expected: "removed", actual: "", relativePath: [k], meta: ${this.compiledMeta} })`).if("ctx.failFast",()=>Z.return())});return Z}reduceJsonSchema(Z,X){switch(Z.type){case"object":return this.reduceObjectJsonSchema(Z,X);case"array":let Q=this.sequence?.reduceJsonSchema(Z,X)??Z;if(this.props.length||this.index)return X.fallback.arrayObject({code:"arrayObject",base:Q,object:this.reduceObjectJsonSchema({type:"object"},X)});return Q;default:return J0.throwInternalOperandError("structure",Z)}}reduceObjectJsonSchema(Z,X){if(this.props.length){Z.properties={};for(let Q of this.props){let U=Q.value.toJsonSchemaRecurse(X);if(typeof Q.key==="symbol"){X.fallback.symbolKey({code:"symbolKey",base:Z,key:Q.key,value:U,optional:Q.optional});continue}if(Q.hasDefault()){let J=typeof Q.default==="function"?Q.default():Q.default;U.default=T.intrinsic.jsonData.allows(J)?J:X.fallback.defaultValue({code:"defaultValue",base:U,value:J})}Z.properties[Q.key]=U}if(this.requiredKeys.length&&Z.properties)Z.required=this.requiredKeys.filter((Q)=>typeof Q==="string"&&(Q in Z.properties))}if(this.index)for(let Q of this.index){let U=Q.value.toJsonSchemaRecurse(X);if(Q.signature.equals(T.intrinsic.string)){Z.additionalProperties=U;continue}for(let J of Q.signature.branches){if(!J.extends(T.intrinsic.string)){Z=X.fallback.symbolKey({code:"symbolKey",base:Z,key:null,value:U,optional:!1});continue}let $={type:"string"};if(J.hasKind("morph"))$=X.fallback.morph({code:"morph",base:J.rawIn.toJsonSchemaRecurse(X),out:J.rawOut.toJsonSchemaRecurse(X)});if(!J.hasKind("intersection"))return i(`Unexpected index branch kind ${J.kind}.`);let{pattern:W}=J.inner;if(W){let Y=Object.assign($,{pattern:W[0].rule});for(let L=1;L<W.length;L++)$=X.fallback.patternIntersection({code:"patternIntersection",base:Y,pattern:W[L].rule});Z.patternProperties??={},Z.patternProperties[Y.pattern]=U}}}if(this.undeclared&&!Z.additionalProperties)Z.additionalProperties=!1;return Z}};uZ={},pZ={implementation:BY,Node:DQ}});var i2,r3;var W9=R(()=>{b();u2();n8();e8();HZ();BZ();DZ();wZ();AZ();jZ();CZ();EZ();IZ();s();n1();kZ();s2();vZ();mZ();lZ();i2={...p3,alias:n4.implementation,domain:G9.implementation,unit:fZ.implementation,proto:t4.implementation,union:bZ.implementation,morph:SZ.implementation,intersection:PZ.implementation,divisor:t8.implementation,pattern:FZ.implementation,predicate:o8.implementation,required:gZ.implementation,optional:r4.implementation,index:yZ.implementation,sequence:xZ.implementation,structure:pZ.implementation};T.defaultConfig=k7(Object.assign(k(i2,(Z,X)=>[Z,X.defaults]),{jitless:l7(),clone:x7,onUndeclaredKey:"ignore",exactOptionalPropertyTypes:!0,numberAllowsNaN:!1,dateAllowsInvalid:!1,onFail:null,keywords:{},toJsonSchema:J0.defaultConfig}));T.resolvedConfig=h4(T.defaultConfig,T.config);r3={...l3,alias:n4.Node,domain:G9.Node,unit:fZ.Node,proto:t4.Node,union:bZ.Node,morph:SZ.Node,intersection:PZ.Node,divisor:t8.Node,pattern:FZ.Node,predicate:o8.Node,required:gZ.Node,optional:r4.Node,index:yZ.Node,sequence:xZ.Node,structure:pZ.Node}});var n2,dZ=(Z,X)=>new n2(k(Z,(Q,U)=>[Q,E(U,"module")?dZ(U,X):X.bindReference(U)]));var cZ=R(()=>{b();q0();n2=class n2 extends C8{get[S0](){return"module"}}});var wY=(Z)=>Z0(Z)?Z:("branches"in Z)&&Z0(Z.branches)?Z.branches:void 0,PY=(Z,X)=>M(`Node of kind ${X} is not valid as a ${Z} definition`),wQ=(Z)=>`#${Z} duplicates public alias ${Z}`,iZ,PQ,SQ="function $",AY=(Z)=>jQ(Z,CQ(Z)),jQ=(Z,X)=>{let Q=X.write(SQ,4),U=X.compile()();for(let J of Z){if(J.precompilation)continue;if(J.traverseAllows=U[`${J.id}Allows`].bind(U),J.isRoot()&&!J.allowsRequiresContext)J.allows=J.traverseAllows;if(J.traverseApply=U[`${J.id}Apply`].bind(U),U[`${J.id}Optimistic`])J.traverseOptimistic=U[`${J.id}Optimistic`].bind(U);J.precompilation=Q}},CQ=(Z)=>new r6().return(Z.reduce((X,Q)=>{let U=new x4({kind:"Allows"}).indent();Q.compile(U);let J=U.write(`${Q.id}Allows`),$=new x4({kind:"Apply"}).indent();Q.compile($);let W=$.write(`${Q.id}Apply`),Y=`${X}${J},
42
42
  ${W},
43
- `;if(!Q.hasKind("union"))return Y;let G=new x4({kind:"Allows",optimistic:!0}).indent();Q.compile(G);let L=G.write(`${Q.id}Optimistic`);return`${Y}${L},
43
+ `;if(!Q.hasKind("union"))return Y;let L=new x4({kind:"Allows",optimistic:!0}).indent();Q.compile(L);let G=L.write(`${Q.id}Optimistic`);return`${Y}${G},
44
44
  `},`{
45
- `)+"}"),V9,rZ,AQ=(Z)=>{let X=Z.references.filter((Q)=>Q.hasKind("alias"));for(let Q of X){Object.assign(Q.referencesById,Q.resolution.referencesById);for(let U of Z.references)if(Q.id in U.referencesById)Object.assign(U.referencesById,Q.referencesById)}return Z},NQ=(Z)=>k(Z,(X,Q)=>[X,E(Q,"root")||E(Q,"generic")?Q.json:E(Q,"module")?NQ(Q):i(`Unexpected resolution ${g(Q)}`)]),sZ=(Z,X)=>{let Q=X.indexOf(".");if(Q===-1)return;let U=X.slice(0,Q),J=Z[U];if(J===void 0)return;if(!E(J,"module"))return M(AY(U));let $=X.slice(Q+1),W=J[$];if(W===void 0)return sZ(J,$);if(E(W,"root")||E(W,"generic"))return W;if(E(W,"module"))return W.root??M(EQ(X));i(`Unexpected resolution for alias '${X}': ${g(W)}`)},_9=(Z,X)=>new rZ(Z,X),Z6,bQ=(Z,X)=>{let Q={};for(let U in X){let J=X[U];if(E(J,"module")){let $=bQ(Z,J),W=k($,(Y,G)=>[`${U}.${Y}`,G]);Object.assign(Q,W)}else if(E(J,"root")||E(J,"generic"))Q[U]=J;else i(`Unexpected scope resolution ${g(J)}`)}return Q},aZ=(Z)=>`'${Z}' is unresolvable`,AY=(Z)=>`'${Z}' must reference a module to be accessed using dot syntax`,EQ=(Z)=>`Reference to submodule '${Z}' must specify an alias`,o,t2,NM,a0;var oZ=R(()=>{b();u2();a8();W9();cZ();$9();DZ();a1();s();R1();V0();iZ={};T.ambient??={};V9=class V9{config;resolvedConfig;name;get[S0](){return"scope"}referencesById={};references=[];resolutions={};exportedNames=[];aliases={};resolved=!1;nodesByHash={};intrinsic;constructor(Z,X){if(this.config=h4(T.config,X),this.resolvedConfig=h4(T.resolvedConfig,X),this.name=this.resolvedConfig.name??`anonymousScope${Object.keys(iZ).length}`,this.name in iZ)M(`A Scope already named ${this.name} already exists`);iZ[this.name]=this;let Q=Object.entries(Z).map((U)=>this.preparseOwnAliasEntry(...U));for(let[U,J]of Q){let $=U;if(U[0]==="#"){if($=U.slice(1),$ in this.aliases)M(wQ($));this.aliases[$]=J}else{if($ in this.aliases)M(wQ(U));this.aliases[$]=J,this.exportedNames.push($)}if(!E(J,"module")&&!E(J,"generic")&&!i1(J)){let W=this.preparseOwnDefinitionFormat(J,{alias:$});this.resolutions[$]=E(W,"root")?this.bindReference(W):this.createParseContext(W).id}}PQ??=this.node("union",{branches:["string","number","object","bigint","symbol",{unit:!0},{unit:!1},{unit:void 0},{unit:null}]},{prereduced:!0}),this.nodesByHash[PQ.hash]=this.node("intersection",{},{prereduced:!0}),this.intrinsic=T.intrinsic?k(T.intrinsic,(U,J)=>U.startsWith("json")?[]:[U,this.bindReference(J)]):{}}cacheGetter(Z,X){return Object.defineProperty(this,Z,{value:X}),X}get internal(){return this}_json;get json(){if(!this._json)this.export();return this._json}defineSchema(Z){return Z}generic=(...Z)=>{let X=this;return(Q,U)=>new e1(Z,U?new e6(Q):Q,X,X,U??null)};units=(Z,X)=>{let Q=[];for(let J of Z)if(!Q.includes(J))Q.push(J);let U=Q.map((J)=>this.node("unit",{unit:J},X));return this.node("union",U,{...X,prereduced:!0})};lazyResolutions=[];lazilyResolve(Z,X){let Q=this.node("alias",{reference:X??"synthetic",resolve:Z},{prereduced:!0});if(!this.resolved)this.lazyResolutions.push(Q);return Q}schema=(Z,X)=>this.finalize(this.parseSchema(Z,X));parseSchema=(Z,X)=>this.node(d4(Z),Z,X);preparseNode(Z,X,Q){let U=typeof Z==="string"?Z:d4(X,Z);if(Q0(X)&&X.kind===U)return X;if(U==="alias"&&!Q?.prereduced){let{reference:W}=n4.implementation.normalize(X,this);if(W.startsWith("$")){let Y=this.resolveRoot(W.slice(1));X=Y,U=Y.kind}}else if(U==="union"&&E0(X,"object")){let W=DY(X);if(W?.length===1)X=W[0],U=d4(X)}if(Q0(X)&&X.kind===U)return X;let $=i2[U].normalize?.(X,this)??X;if(Q0($))return $.kind===U?$:wY(U,$.kind);return{...Q,$:this,kind:U,def:$,prefix:Q.alias??U}}bindReference(Z){let X;if(Q0(Z))X=Z.$===this?Z:new Z.constructor(Z.attachments,this);else X=Z.$===this?Z:new e1(Z.params,Z.bodyDef,Z.$,this,Z.hkt);if(!this.resolved)Object.assign(this.referencesById,X.referencesById);return X}resolveRoot(Z){return this.maybeResolveRoot(Z)??M(aZ(Z))}maybeResolveRoot(Z){let X=this.maybeResolve(Z);if(E(X,"generic"))return;return X}maybeResolveSubalias(Z){return sZ(this.aliases,Z)??sZ(this.ambient,Z)}get ambient(){return T.ambient}maybeResolve(Z){let X=this.resolutions[Z];if(X){if(typeof X!=="string")return this.bindReference(X);let U=j0[X];if(E(U,"root"))return this.resolutions[Z]=U;if(E(U,"context")){if(U.phase==="resolving")return this.node("alias",{reference:`$${Z}`},{prereduced:!0});if(U.phase==="resolved")return i(`Unexpected resolved context for was uncached by its scope: ${g(U)}`);U.phase="resolving";let J=this.bindReference(this.parseOwnDefinitionFormat(U.def,U));return U.phase="resolved",j0[J.id]=J,j0[U.id]=J,this.resolutions[Z]=J}return i(`Unexpected nodesById entry for ${X}: ${g(U)}`)}let Q=this.aliases[Z]??this.ambient?.[Z];if(!Q)return this.maybeResolveSubalias(Z);if(Q=this.normalizeRootScopeValue(Q),E(Q,"generic"))return this.resolutions[Z]=this.bindReference(Q);if(E(Q,"module")){if(!Q.root)M(EQ(Z));return this.resolutions[Z]=this.bindReference(Q.root)}return this.resolutions[Z]=this.parse(Q,{alias:Z})}createParseContext(Z){let X=Z.id??MZ(Z.prefix);return j0[X]=Object.assign(Z,{[S0]:"context",$:this,id:X,phase:"unresolved"})}traversal(Z){return new $1(Z,this.resolvedConfig)}import(...Z){return new n2(k(this.export(...Z),(X,Q)=>[`#${X}`,Q]))}precompilation;_exportedResolutions;_exports;export(...Z){if(!this._exports){this._exports={};for(let Q of this.exportedNames){let U=this.aliases[Q];this._exports[Q]=E(U,"module")?dZ(U,this):AQ(this.maybeResolve(Q))}for(let Q of this.lazyResolutions)Q.resolution;if(this._exportedResolutions=bQ(this,this._exports),this._json=NQ(this._exportedResolutions),Object.assign(this.resolutions,this._exportedResolutions),this.references=Object.values(this.referencesById),!this.resolvedConfig.jitless){let Q=CQ(this.references);this.precompilation=Q.write(SQ,4),jQ(this.references,Q)}this.resolved=!0}let X=Z.length?Z:this.exportedNames;return new n2(k(X,(Q,U)=>[U,this._exports[U]]))}resolve(Z){return this.export()[Z]}node=(Z,X,Q={})=>{let U=this.preparseNode(Z,X,Q);if(Q0(U))return this.bindReference(U);let J=this.createParseContext(U),$=RZ(J),W=this.bindReference($);return j0[J.id]=W};parse=(Z,X={})=>this.finalize(this.parseDefinition(Z,X));parseDefinition(Z,X={}){if(E(Z,"root"))return this.bindReference(Z);let Q=this.preparseOwnDefinitionFormat(Z,X);if(E(Q,"root"))return this.bindReference(Q);let U=this.createParseContext(Q);j0[U.id]=U;let J=this.bindReference(this.parseOwnDefinitionFormat(Z,U));if(J.isCyclic)J=s3(J,U.id);return j0[U.id]=J,J}finalize(Z){if(AQ(Z),!Z.precompilation&&!this.resolvedConfig.jitless)PY(Z.references);return Z}};rZ=class rZ extends V9{parseOwnDefinitionFormat(Z,X){return RZ(X)}preparseOwnDefinitionFormat(Z,X){return this.preparseNode(d4(Z),Z,X)}preparseOwnAliasEntry(Z,X){return[Z,X]}normalizeRootScopeValue(Z){return Z}};Z6=new rZ({});Z6.export();o=Z6.schema,t2=Z6.node,NM=Z6.defineSchema,a0=Z6.generic});var nZ="^(?:0|[1-9]\\d*)$",SY,fM;var fQ=R(()=>{s();SY=new RegExp(nZ),fM=W0(SY)});var IQ,yQ,jY,I;var Y9=R(()=>{oZ();s();fQ();IQ=_9({bigint:"bigint",boolean:[{unit:!1},{unit:!0}],false:{unit:!1},never:[],null:{unit:null},number:"number",object:"object",string:"string",symbol:"symbol",true:{unit:!0},unknown:{},undefined:{unit:void 0},Array,Date},{prereducedAliases:!0}).export();T.intrinsic={...IQ};yQ=_9({integer:{domain:"number",divisor:1},lengthBoundable:["string",Array],key:["string","symbol"],nonNegativeIntegerString:{domain:"string",pattern:nZ}},{prereducedAliases:!0}).export();Object.assign(T.intrinsic,yQ);jY=_9({jsonPrimitive:["string","number",{unit:!0},{unit:!1},{unit:null}],jsonObject:{domain:"object",index:{signature:"string",value:"$jsonData"}},jsonData:["$jsonPrimitive","$jsonObject"]},{prereducedAliases:!0}).export(),I={...IQ,...yQ,...jY,emptyStructure:t2("structure",{},{prereduced:!0})};T.intrinsic={...I}});var kQ=()=>{};var gQ=()=>{};var vQ=()=>{};var _0=R(()=>{b();u2();m0();a8();Y9();W9();cZ();D2();$9();n8();XZ();UZ();e8();$Z();HZ();YZ();LZ();VZ();zZ();BZ();g1();wZ();AZ();jZ();CZ();Z2();EZ();IZ();oZ();a1();kQ();G0();m4();a();i0();gQ();s();vQ();n1();R1();V0();kZ();s2();s4();vZ();mZ();lZ()});var z9=(Z,X)=>new RegExp(Z,X);var xQ=R(()=>{Object.assign(z9,{as:z9})});var hQ=R(()=>{xQ()});var mQ=R(()=>{u2()});var pQ=(Z)=>typeof Z==="string"&&Z[0]==="d"&&(Z[1]==="'"||Z[1]==='"')&&Z[Z.length-1]===Z[1],uQ=(Z)=>Z.toString()!=="Invalid Date",lQ=(Z)=>Z.slice(2,-1),tZ=(Z)=>`'${Z}' could not be parsed by the Date constructor`,dQ=(Z,X)=>CY(Z,X),CY=(Z,X)=>{let Q=new Date(Z);if(uQ(Q))return Q;let U=J3(Z);if(U!==void 0){let J=new Date(U);if(uQ(J))return J}return X?M(X===!0?tZ(Z):X):void 0};var eZ=R(()=>{b()});var NY,H9=(Z,X)=>{let Q=Z.scanner.shiftUntilEscapable(EY[sQ[X]]);if(Z.scanner.lookahead==="")return Z.error(IY(Q,X));if(Z.scanner.shift(),X in iQ){let U;try{U=new RegExp(Q)}catch(J){M(String(J))}if(Z.root=Z.ctx.$.node("intersection",{domain:"string",pattern:Q},{prereduced:!0}),X==="x/")Z.root=Z.ctx.$.node("morph",{in:Z.root,morphs:(J)=>U.exec(J),declaredOut:NY})}else if(F0(X,ZX))Z.root=Z.ctx.$.node("unit",{unit:Q});else{let U=dQ(Q,tZ(Q));Z.root=Z.ctx.$.node("unit",{meta:Q,unit:U})}},ZX,cQ,bY,iQ,sQ,EY,fY,IY=(Z,X)=>`${X}${Z} requires a closing ${fY[sQ[X]]}`;var rQ=R(()=>{_0();b();eZ();NY=o({proto:"Array",sequence:"string",required:{key:"groups",value:["object",{unit:void 0}]}}),ZX={"'":1,'"':1},cQ={"/":1,"'":1,'"':1},bY={"d'":"'",'d"':'"',"'":"'",'"':'"'},iQ={"/":"/","x/":"/"},sQ={...bY,...iQ},EY={"'":(Z)=>Z.lookahead==="'",'"':(Z)=>Z.lookahead==='"',"/":(Z)=>Z.lookahead==="/"},fY={'"':"double-quote","'":"single-quote","/":"forward slash"}});var aQ=(Z)=>`Private type references should not include '#'. Use '${Z}' instead.`,F9="Optional definitions like 'string?' are only valid as properties in an object or tuple",B9="Defaultable definitions like 'number = 0' are only valid as properties in an object or tuple";var T1,oQ=(Z,X)=>Z===">"?X[0]==="="?X[1]==="=":X.trimStart()===""||F0(X.trimStart()[0],T1):Z==="="?X[0]!=="=":Z===","||Z==="?";var e2=R(()=>{b();T1={"<":1,">":1,"=":1,"|":1,"&":1,")":1,"[":1,"%":1,",":1,":":1,"?":1,"#":1,...s1}});var nQ=(Z,X,Q)=>tQ(Z,X,Q,[]),tQ=(Z,X,Q,U)=>{let J=Q.parseUntilFinalizer();if(U.push(J.root),J.finalizer===">"){if(U.length!==X.params.length)return Q.error(XX(Z,X.names,U.map(($)=>$.expression)));return U}if(J.finalizer===",")return tQ(Z,X,Q,U);return J.error(s6(">"))},XX=(Z,X,Q)=>`${Z}<${X.join(", ")}> requires exactly ${X.length} args (got ${Q.length}${Q.length===0?"":`: ${Q.join(", ")}`})`;var eQ=R(()=>{b()});var M9=(Z)=>{let X=Z.scanner.shiftUntilLookahead(T1);if(X==="keyof")Z.addPrefix("keyof");else Z.root=kY(Z,X)},yY=(Z,X,Q)=>{if(Q.scanner.shiftUntilNonWhitespace(),Q.scanner.shift()!=="<")return Q.error(XX(Z,X.names,[]));let J=nQ(Z,X,Q);return X(...J)},kY=(Z,X)=>gY(Z,X)??vY(Z,X)??Z.error(X===""?Z.scanner.lookahead==="#"?aQ(Z.shiftedBy(1).scanner.shiftUntilLookahead(T1)):QX(Z):aZ(X)),gY=(Z,X)=>{if(Z.ctx.args?.[X]){let U=Z.ctx.args[X];if(typeof U!=="string")return U;return Z.ctx.$.node("alias",{reference:U},{prereduced:!0})}let Q=Z.ctx.$.maybeResolve(X);if(E(Q,"root"))return Q;if(Q===void 0)return;if(E(Q,"generic"))return yY(X,Q,Z);return M(`Unexpected resolution ${g(Q)}`)},vY=(Z,X)=>{let Q=$3(X);if(Q!==void 0)return Z.ctx.$.node("unit",{unit:Q});let U=Y3(X);if(U!==void 0)return Z.ctx.$.node("unit",{unit:U})},QX=(Z)=>{let X=Z.previousOperator();return X?UX(X,Z.scanner.unscanned):xY(Z.scanner.unscanned)},UX=(Z,X="")=>`Token '${Z}' requires a right operand${X?` before '${X}'`:""}`,xY=(Z)=>`Expected an expression${Z?` before '${Z}'`:""}`;var JX=R(()=>{_0();b();e2();eQ()});var $X=(Z)=>Z.scanner.lookahead===""?Z.error(QX(Z)):Z.scanner.lookahead==="("?Z.shiftedBy(1).reduceGroupOpen():Z.scanner.lookaheadIsIn(cQ)?H9(Z,Z.scanner.shift()):Z.scanner.lookaheadIsIn(s1)?$X(Z.shiftedBy(1)):Z.scanner.lookahead==="d"?Z.scanner.nextLookahead in ZX?H9(Z,`${Z.scanner.shift()}${Z.scanner.shift()}`):M9(Z):Z.scanner.lookahead==="x"?Z.scanner.nextLookahead==="/"?Z.shiftedBy(2)&&H9(Z,"x/"):M9(Z):M9(Z);var Z5=R(()=>{b();rQ();JX()});var X5,Q5,Z4,U5=(Z,X)=>`Left bounds are only valid when paired with right bounds (try ...${X}${Z})`,R9=(Z)=>`Left-bounded expressions must specify their limits using < or <= (was ${Z})`,J5=(Z,X,Q,U)=>`An expression may have at most one left bound (parsed ${Z}${Z4[X]}, ${Q}${Z4[U]})`;var WX=R(()=>{X5={">":!0,">=":!0},Q5={"<":!0,"<=":!0},Z4={"<":">",">":"<","<=":">=",">=":"<=","==":"=="}});var W5=(Z,X)=>{let Q=hY(Z,X);if(Z.root.hasKind("unit")){if(typeof Z.root.unit==="number"){Z.reduceLeftBound(Z.root.unit,Q),Z.unsetRoot();return}if(Z.root.unit instanceof Date){let U=`d'${Z.root.description??Z.root.unit.toISOString()}'`;Z.unsetRoot(),Z.reduceLeftBound(U,Q);return}}return uY(Z,Q)},Y5,hY=(Z,X)=>Z.scanner.lookaheadIs("=")?`${X}${Z.scanner.shift()}`:X,$5=(Z,X,Q,U)=>{if(Q.extends(T.intrinsic.number)){if(typeof X!=="number")return M(YX(Z,X,U));return Z==="=="?["min","max"]:Z[0]===">"?["min"]:["max"]}if(Q.extends(T.intrinsic.lengthBoundable)){if(typeof X!=="number")return M(YX(Z,X,U));return Z==="=="?["exactLength"]:Z[0]===">"?["minLength"]:["maxLength"]}if(Q.extends(T.intrinsic.Date))return Z==="=="?["after","before"]:Z[0]===">"?["after"]:["before"];return M(y3(Q.expression))},mY=(Z)=>({rule:pQ(Z.limit)?lQ(Z.limit):Z.limit,exclusive:Z.comparator.length===1}),uY=(Z,X)=>{let Q=Z.unsetRoot(),U=Z.scanner.location;Z.parseOperand();let J=Z.unsetRoot(),$=Z.scanner.sliceChars(U,Z.scanner.location);if(Z.root=Q,!J.hasKind("unit")||typeof J.unit!=="number"&&!(J.unit instanceof Date))return Z.error(YX(X,$,"right"));let W=J.unit,Y=X.length===1,G=$5(X,typeof W==="number"?W:$,Q,"right");for(let q of G)Z.constrainRoot(q,X==="=="?{rule:W}:{rule:W,exclusive:Y});if(!Z.branches.leftBound)return;if(!F0(X,Q5))return Z.error(R9(X));let L=$5(Z.branches.leftBound.comparator,Z.branches.leftBound.limit,Q,"left");Z.constrainRoot(L[0],mY(Z.branches.leftBound)),Z.branches.leftBound=null},YX=(Z,X,Q)=>`Comparator ${Q==="left"?Z4[Z]:Z} must be ${Q==="left"?"preceded":"followed"} by a corresponding literal (was ${X})`;var G5=R(()=>{_0();b();WX();eZ();Y5={"<":1,">":1,"=":1}});var L5=(Z)=>{Z.scanner.shiftUntilNonWhitespace();let X=Z.scanner.shiftUntilLookahead(T1);Z.root=Z.root.brand(X)};var q5=R(()=>{e2()});var _5=(Z)=>{Z.scanner.shiftUntilNonWhitespace();let X=Z.scanner.shiftUntilLookahead(T1),Q=W3(X,{errorOnFail:V5(X)});if(Q===0)Z.error(V5(0));Z.root=Z.root.constrain("divisor",Q)},V5=(Z)=>`% operator must be followed by a non-zero integer literal (was ${Z})`;var z5=R(()=>{b();e2()});var GX=(Z)=>{let X=Z.scanner.shift();return X===""?Z.finalize(""):X==="["?Z.scanner.shift()==="]"?Z.setRoot(Z.root.array()):Z.error(pY):X==="|"?Z.scanner.lookahead===">"?Z.shiftedBy(1).pushRootToBranch("|>"):Z.pushRootToBranch(X):X==="&"?Z.pushRootToBranch(X):X===")"?Z.finalizeGroup():oQ(X,Z.scanner.unscanned)?Z.finalize(X):F0(X,Y5)?W5(Z,X):X==="%"?_5(Z):X==="#"?L5(Z):(X in s1)?GX(Z):Z.error(O9(X))},O9=(Z,X="")=>`'${Z}' is not allowed here${X&&` (should be ${X})`}`,pY="Missing expected ']'";var LX=R(()=>{b();e2();G5();q5();z5()});var H5=(Z)=>{let X=Z.unsetRoot();Z.parseOperand();let Q=Z.unsetRoot();if(!Q.hasKind("unit"))return Z.error(lY(Q.expression));let U=Q.unit instanceof Date?()=>new Date(Q.unit):Q.unit;return[X,"=",U]},lY=(Z)=>`Default value '${Z}' must be a literal value`;var qX=(Z,X)=>{let Q=X.$.maybeResolveRoot(Z);if(Q)return Q;if(Z.endsWith("[]")){let $=X.$.maybeResolveRoot(Z.slice(0,-2));if($)return $.array()}let U=new X4(new v4(Z),X),J=dY(U);if(U.finalizer===">")M(O9(">"));return J},dY=(Z)=>{Z.parseOperand();let X=X6(Z).root;if(!X)return i(`Root was unexpectedly unset after parsing string '${Z.scanner.scanned}'`);if(Z.finalizer==="=")X=H5(Z);else if(Z.finalizer==="?")X=[X,"?"];if(Z.scanner.shiftUntilNonWhitespace(),Z.scanner.lookahead)M(O9(Z.scanner.lookahead));return X},X6=(Z)=>{while(Z.finalizer===void 0)cY(Z);return Z},cY=(Z)=>Z.hasRoot()?Z.parseOperator():Z.parseOperand();var T9=R(()=>{b();VX();LX()});class X4{root;branches={prefixes:[],leftBound:null,intersection:null,union:null,pipe:null};finalizer;groups=[];scanner;ctx;constructor(Z,X){this.scanner=Z,this.ctx=X}error(Z){return M(Z)}hasRoot(){return this.root!==void 0}setRoot(Z){this.root=Z}unsetRoot(){let Z=this.root;return this.root=void 0,Z}constrainRoot(...Z){this.root=this.root.constrain(Z[0],Z[1])}finalize(Z){if(this.groups.length)return this.error(s6(")"));this.finalizeBranches(),this.finalizer=Z}reduceLeftBound(Z,X){let Q=Z4[X];if(!F0(Q,X5))return this.error(R9(X));if(this.branches.leftBound)return this.error(J5(this.branches.leftBound.limit,this.branches.leftBound.comparator,Z,Q));this.branches.leftBound={comparator:Q,limit:Z}}finalizeBranches(){if(this.assertRangeUnset(),this.branches.pipe){this.pushRootToBranch("|>"),this.root=this.branches.pipe;return}if(this.branches.union){this.pushRootToBranch("|"),this.root=this.branches.union;return}if(this.branches.intersection){this.pushRootToBranch("&"),this.root=this.branches.intersection;return}this.applyPrefixes()}finalizeGroup(){this.finalizeBranches();let Z=this.groups.pop();if(!Z)return this.error(z3(")",this.scanner.unscanned));this.branches=Z}addPrefix(Z){this.branches.prefixes.push(Z)}applyPrefixes(){while(this.branches.prefixes.length){let Z=this.branches.prefixes.pop();this.root=Z==="keyof"?this.root.keyof():i(`Unexpected prefix '${Z}'`)}}pushRootToBranch(Z){this.assertRangeUnset(),this.applyPrefixes();let X=this.root;if(this.root=void 0,this.branches.intersection=this.branches.intersection?.rawAnd(X)??X,Z==="&")return;if(this.branches.union=this.branches.union?.rawOr(this.branches.intersection)??this.branches.intersection,this.branches.intersection=null,Z==="|")return;this.branches.pipe=this.branches.pipe?.rawPipeOnce(this.branches.union)??this.branches.union,this.branches.union=null}parseUntilFinalizer(){return X6(new X4(this.scanner,this.ctx))}parseOperator(){return GX(this)}parseOperand(){return $X(this)}assertRangeUnset(){if(this.branches.leftBound)return this.error(U5(this.branches.leftBound.limit,this.branches.leftBound.comparator))}reduceGroupOpen(){this.groups.push(this.branches),this.branches={prefixes:[],leftBound:null,union:null,intersection:null,pipe:null}}previousOperator(){return this.branches.leftBound?.comparator??this.branches.prefixes[this.branches.prefixes.length-1]??(this.branches.intersection?"&":this.branches.union?"|":this.branches.pipe?"|>":void 0)}shiftedBy(Z){return this.scanner.jumpForward(Z),this}}var VX=R(()=>{b();Z5();LX();T9();WX()});var iY="An empty string is not a valid generic parameter name",K9=(Z,X,Q)=>{Z.shiftUntilNonWhitespace();let U=Z.shiftUntilLookahead(T1);if(U===""){if(Z.lookahead===""&&X.length)return X;return M(iY)}return Z.shiftUntilNonWhitespace(),sY(Z,U,X,Q)},F5="extends ",sY=(Z,X,Q,U)=>{if(Z.shiftUntilNonWhitespace(),Z.unscanned.startsWith(F5))Z.jumpForward(F5.length);else{if(Z.lookahead===",")Z.shift();return Q.push(X),K9(Z,Q,U)}let J=X6(new X4(Z,U));return Q.push([X,J.root]),K9(Z,Q,U)};var _X=R(()=>{_0();b();VX();e2();T9()});var zX,B5,rY=`":" must be followed by exactly one return type e.g:
46
- fn("string", ":", "number")(s => s.length)`;var M5=R(()=>{b();zX=class zX extends y0{constructor(Z){let X={$:Z,raw:Z.fn};super((...Q)=>{let U=Q.indexOf(":"),J=U===-1?Q.length-1:U-1,$=Q.slice(0,J+1),W=Z.parse($).assertHasKind("intersection"),Y=Z.intrinsic.unknown;if(U!==-1){if(U!==Q.length-2)return M(rY);Y=Z.parse(Q[U+1])}return(G)=>new B5(G,W,Y)},{attach:X})}};B5=class B5 extends y0{raw;params;returns;expression;constructor(Z,X,Q){let U=`typed ${Z.name}`,J={[U]:(...W)=>{let Y=X.assert(W),G=Z(...Y);return Q.assert(G)}}[U];super(J);this.raw=Z,this.params=X,this.returns=Q;let $=X.expression;if($[0]==="["&&$[$.length-1]==="]")$=$.slice(1,-1);else if($.endsWith("[]"))$=`...${$}`;this.expression=`(${$}) => ${Q?.expression??"unknown"}`}}});var HX,Q6,R5=(Z)=>Z.throw(),aY="A key matcher must be specified before the first case i.e. match.at('foo') or match.in<object>().at('bar')",oY="At most one key matcher may be specified per expression";var O5=R(()=>{_0();b();HX=class HX extends y0{$;constructor(Z){super((...X)=>new Q6(Z)(...X),{bind:Z});this.$=Z}in(Z){return new Q6(this.$,Z===void 0?void 0:this.$.parse(Z))}at(Z,X){return new Q6(this.$).at(Z,X)}case(Z,X){return new Q6(this.$).case(Z,X)}};Q6=class Q6 extends y0{$;in;key;branches=[];constructor(Z,X){super((Q)=>this.caseEntries(Object.entries(Q).map(([U,J])=>U==="default"?[U,J]:[this.$.parse(U),J])));this.$=Z,this.in=X}at(Z,X){if(this.key)M(oY);if(this.branches.length)M(aY);return this.key=Z,X?this.match(X):this}case(Z,X){return this.caseEntry(this.$.parse(Z),X)}caseEntry(Z,X){let U=(this.key?this.$.parse({[this.key]:Z}):Z).pipe(X);return this.branches.push(U),this}match(Z){return this(Z)}strings(Z){return this.caseEntries(Object.entries(Z).map(([X,Q])=>X==="default"?[X,Q]:[this.$.node("unit",{unit:X}),Q]))}caseEntries(Z){for(let X=0;X<Z.length;X++){let[Q,U]=Z[X];if(Q==="default"){if(X!==Z.length-1)M("default may only be specified as the last key of a switch definition");return this.default(U)}if(typeof U!=="function")return M(`Value for case "${Q}" must be a function (was ${H0(U)})`);this.caseEntry(Q,U)}return this}default(Z){if(typeof Z==="function")this.case(I.unknown,Z);let X={branches:this.branches,ordered:!0};if(Z==="never"||Z==="assert")X.meta={onFail:R5};let Q=this.$.node("union",X);if(!this.in)return this.$.finalize(Q);let U=this.in.pipe(Q);if(Z==="never"||Z==="assert")U=U.configureReferences({onFail:R5},"self");return this.$.finalize(U)}}});var D9=(Z,X)=>{if(Z0(Z)){if(Z[1]==="=")return[X.$.parseOwnDefinitionFormat(Z[0],X),"=",Z[2]];if(Z[1]==="?")return[X.$.parseOwnDefinitionFormat(Z[0],X),"?"]}return w9(Z,X)},T5="Only required keys may make their values optional, e.g. { [mySymbol]: ['number', '?'] }",K5="Only required keys may specify default values, e.g. { value: 'number = 0' }";var FX=R(()=>{b();BX()});var D5=(Z,X)=>{let Q,U={},J=B2(Z);for(let[W,Y]of J){let G=eY(W);if(G.kind==="spread"){if(!M1(U))return M(tY);let H=X.$.parseOwnDefinitionFormat(Y,X);if(H.equals(I.object))continue;if(!H.hasKind("intersection")||!H.basis?.equals(I.object))return M(ZG(H.expression));Q=H.structure;continue}if(G.kind==="undeclared"){if(Y!=="reject"&&Y!=="delete"&&Y!=="ignore")M(nY(Y));U.undeclared=Y;continue}let L=D9(Y,X),q=G;if(G.kind==="required"){if(!Z0(L))MX(U,"required",{key:G.normalized,value:L},X);else MX(U,"optional",L[1]==="="?{key:G.normalized,value:L[0],default:L[2]}:{key:G.normalized,value:L[0]},X);continue}if(Z0(L)){if(L[1]==="?")M(T5);if(L[1]==="=")M(K5)}if(G.kind==="optional"){MX(U,"optional",{key:G.normalized,value:L},X);continue}let V=X.$.parseOwnDefinitionFormat(q.normalized,X),_=q9(V,L,X.$);if(_.index)U.index=u(U.index,_.index);if(_.required)U.required=u(U.required,_.required)}let $=X.$.node("structure",U);return X.$.parseSchema({domain:"object",structure:Q?.merge($)??$})},MX=(Z,X,Q,U)=>{Z[X]=u(Z[X],U.$.node(X,Q))},nY=(Z)=>`Value of '+' key must be 'reject', 'delete', or 'ignore' (was ${g(Z)})`,tY="Spread operator may only be used as the first key in an object",eY=(Z)=>typeof Z==="symbol"?{kind:"required",normalized:Z}:Z[Z.length-1]==="?"?Z[Z.length-2]===O2?{kind:"required",normalized:`${Z.slice(0,-2)}?`}:{kind:"optional",normalized:Z.slice(0,-1)}:Z[0]==="["&&Z[Z.length-1]==="]"?{kind:"index",normalized:Z.slice(1,-1)}:Z[0]===O2&&Z[1]==="["&&Z[Z.length-1]==="]"?{kind:"required",normalized:Z.slice(1)}:Z==="..."?{kind:"spread"}:Z==="+"?{kind:"undeclared"}:{kind:"required",normalized:Z==="\\..."?"...":Z==="\\+"?"+":Z},ZG=(Z)=>`Spread operand must resolve to an object literal type (was ${Z})`;var w5=R(()=>{_0();b();FX()});var A5=(Z,X)=>qG(Z)?N5[Z[0]](Z,X):GG(Z)?C5[Z[1]](Z,X):null,XG=(Z,X)=>X.$.parseOwnDefinitionFormat(Z[1],X).keyof(),RX=(Z,X)=>{if(Z[2]===void 0)return M(UX(Z[1],""));let Q=X.$.parseOwnDefinitionFormat(Z[0],X),U=X.$.parseOwnDefinitionFormat(Z[2],X);if(Z[1]==="|")return X.$.node("union",{branches:[Q,U]});let J=Z[1]==="&"?v0(Q,U,X.$):l4(Q,U,X.$);if(J instanceof j)return J.throw();return J},QG=(Z,X)=>X.$.parseOwnDefinitionFormat(Z[0],X).array(),UG=(Z,X)=>{if(typeof Z[2]!=="function")return M(S5("=>",Z[2]));return X.$.parseOwnDefinitionFormat(Z[0],X).pipe(Z[2])},S5=(Z,X)=>`${Z===":"?"Narrow":"Morph"} expression requires a function following '${Z}' (was ${typeof X})`,JG=(Z,X)=>{if(typeof Z[2]!=="function")return M(S5(":",Z[2]));return X.$.parseOwnDefinitionFormat(Z[0],X).constrain("predicate",Z[2])},$G=(Z,X)=>X.$.parseOwnDefinitionFormat(Z[0],X).configure(Z[2],Z[3]),j5=(Z)=>Z,WG,YG,C5,GG=(Z)=>C5[Z[1]]!==void 0,LG=(Z)=>Z,N5,qG=(Z)=>N5[Z[0]]!==void 0,P5=(Z)=>`Expected a constructor following 'instanceof' operator (was ${Z})`;var b5=R(()=>{_0();b();JX();WG=j5({"[]":QG,"?":()=>M(F9)}),YG=j5({"|":RX,"&":RX,":":JG,"=>":UG,"|>":RX,"@":$G,"=":()=>M(B9)}),C5={...WG,...YG},N5=LG({keyof:XG,instanceof:(Z,X)=>{if(typeof Z[1]!=="function")return M(P5(N4(Z[1])));let Q=Z.slice(1).map((U)=>typeof U==="function"?X.$.node("proto",{proto:U}):M(P5(N4(U))));return Q.length===1?Q[0]:X.$.node("union",{branches:Q})},"===":(Z,X)=>X.$.units(Z.slice(1))})});var I5=(Z,X)=>{let Q=[{}],U=0;while(U<Z.length){let J=!1;if(Z[U]==="..."&&U<Z.length-1)J=!0,U++;let $=D9(Z[U],X),[W,Y,G]=!Z0($)?[$]:$;if(U++,J){if(!W.extends(T.intrinsic.Array))return M(zG(W.expression));Q=Q.flatMap((L)=>W.distribute((q)=>_G(a6(L),q)))}else Q=Q.map((L)=>{if(Y==="?")return y5(L,W);if(Y==="=")return VG(L,W,G);return OX(L,W)})}return X.$.parseSchema(Q.map((J)=>M1(J)?{proto:Array,exactLength:0}:{proto:Array,sequence:J}))},OX=(Z,X)=>{if(Z.defaultables||Z.optionals)return M(Z.variadic?hZ:HG);if(Z.variadic)Z.postfix=u(Z.postfix,X);else Z.prefix=u(Z.prefix,X);return Z},y5=(Z,X)=>{if(Z.variadic)return M(k5);return Z.optionals=u(Z.optionals,X),Z},VG=(Z,X,Q)=>{if(Z.variadic)return M(k5);if(Z.optionals)return M(FG);return Z.defaultables=u(Z.defaultables,[[X,Q]]),Z},E5=(Z,X)=>{if(Z.postfix)M(f5);if(Z.variadic){if(!Z.variadic.equals(X))M(f5)}else Z.variadic=X.internal;return Z},_G=(Z,X)=>{let Q=X.select({method:"find",kind:"sequence"});if(!Q)return E5(Z,T.intrinsic.unknown);if(Q.prefix)for(let U of Q.prefix)OX(Z,U);if(Q.optionals)for(let U of Q.optionals)y5(Z,U);if(Q.variadic)E5(Z,Q.variadic);if(Q.postfix)for(let U of Q.postfix)OX(Z,U);return Z},zG=(Z)=>`Spread element must be an array (was ${Z})`,f5="A tuple may have at most one variadic element",HG="A required element may not follow an optional element",k5="An optional element may not follow a variadic element",FG="A defaultable element may not follow an optional element without a default";var g5=R(()=>{_0();b();FX()});var BG,w9=(Z,X)=>{if(typeof Z==="string"){if(X.args&&Object.keys(X.args).some((U)=>Z.includes(U)))return qX(Z,X);let Q=BG[X.$.name]??={};return Q[Z]??=qX(Z,X)}return E0(Z,"object")?MG(Z,X):M(TX(H0(Z)))},MG=(Z,X)=>{let Q=C4(Z);switch(Q){case void 0:if(E(Z,"root"))return Z;if("~standard"in Z)return RG(Z,X);return D5(Z,X);case"Array":return OG(Z,X);case"RegExp":return X.$.node("intersection",{domain:"string",pattern:Z},{prereduced:!0});case"Function":{let U=i1(Z)?Z():Z;if(E(U,"root"))return U;return M(TX("Function"))}default:return M(TX(Q??g(Z)))}},RG=(Z,X)=>X.$.intrinsic.unknown.pipe((Q,U)=>{let J=Z["~standard"].validate(Q);if(!J.issues)return J.value;for(let{message:$,path:W}of J.issues)if(W)if(W.length)U.error({problem:t7($),relativePath:W.map((Y)=>typeof Y==="object"?Y.key:Y)});else U.error({message:$});else U.error({message:$})}),OG=(Z,X)=>A5(Z,X)??I5(Z,X),TX=(Z)=>`Type definitions must be strings or objects (was ${Z})`;var BX=R(()=>{_0();b();w5();T9();b5();g5();BG={}});var KX;var DX=R(()=>{_0();b();KX=class KX extends y0{constructor(Z){let X=Object.assign({errors:k0,hkt:D0,$:Z,raw:Z.parse,module:Z.constructor.module,scope:Z.constructor.scope,declare:Z.declare,define:Z.define,match:Z.match,generic:Z.generic,schema:Z.schema,keywords:Z.ambient,unit:Z.unit,enumerated:Z.enumerated,instanceOf:Z.instanceOf,valueOf:Z.valueOf,or:Z.or,and:Z.and,merge:Z.merge,pipe:Z.pipe,fn:Z.fn},Z.ambientAttachments);super((...Q)=>{if(Q.length===1)return Z.parse(Q[0]);if(Q.length===2&&typeof Q[0]==="string"&&Q[0][0]==="<"&&Q[0][Q[0].length-1]===">"){let U=Q[0].slice(1,-1),J=Z.parseGenericParams(U,{});return new e1(J,Q[1],Z,Z,null)}return Z.parse(Q)},{attach:X})}}});var Q4,P9,U6,m;var Y1=R(()=>{_0();b();M5();_X();O5();BX();DX();Q4=T;P9=class P9 extends V9{get ambientAttachments(){if(!Q4.typeAttachments)return;return this.cacheGetter("ambientAttachments",k(Q4.typeAttachments,(Z,X)=>[Z,this.bindReference(X)]))}preparseOwnAliasEntry(Z,X){let Q=Z.indexOf("<");if(Q===-1){if(E(X,"module")||E(X,"generic"))return[Z,X];let $=this.name==="ark"?Z:Z==="root"?this.name:`${this.name}.${Z}`,W=this.resolvedConfig.keywords?.[$];if(W)X=[X,"@",W];return[Z,X]}if(Z[Z.length-1]!==">")M("'>' must be the last character of a generic declaration in a scope");let U=Z.slice(0,Q),J=Z.slice(Q+1,-1);return[U,()=>{let $=this.parseGenericParams(J,{alias:U});return E3($,X,this)}]}parseGenericParams(Z,X){return K9(new v4(Z),[],this.createParseContext({...X,def:Z,prefix:"generic"}))}normalizeRootScopeValue(Z){if(i1(Z)&&!E(Z,"generic"))return Z();return Z}preparseOwnDefinitionFormat(Z,X){return{...X,def:Z,prefix:X.alias??"type"}}parseOwnDefinitionFormat(Z,X){if(!(X.alias&&(X.alias in this.aliases))&&!X.args)X.args={this:X.id};let U=w9(Z,X);if(Z0(U)){if(U[1]==="=")return M(B9);if(U[1]==="?")return M(F9)}return U}unit=(Z)=>this.units([Z]);valueOf=(Z)=>this.units(g7(Z));enumerated=(...Z)=>this.units(Z);instanceOf=(Z)=>this.node("proto",{proto:Z},{prereduced:!0});or=(...Z)=>this.schema(Z.map((X)=>this.parse(X)));and=(...Z)=>Z.reduce((X,Q)=>X.and(this.parse(Q)),this.intrinsic.unknown);merge=(...Z)=>Z.reduce((X,Q)=>X.merge(this.parse(Q)),this.intrinsic.object);pipe=(...Z)=>this.intrinsic.unknown.pipe(...Z);fn=new zX(this);match=new HX(this);declare=()=>({type:this.type});define(Z){return Z}type=new KX(this);static scope=(Z,X={})=>new P9(Z,X);static module=(Z,X={})=>this.scope(Z,X).export()};U6=Object.assign(P9.scope,{define:(Z)=>Z}),m=P9});var v5,TG,x5;var h5=R(()=>{_0();b();Y1();v5=class v5 extends D0{description='merge an object\'s properties onto another like `Merge(User, { isAdmin: "true" })`'};TG=a0(["base",I.object],["props",I.object])((Z)=>Z.base.merge(Z.props),v5),x5=m.module({Key:I.key,Merge:TG})});var m5,KG,u5;var p5=R(()=>{_0();b();Y1();m5=class m5 extends D0{};KG=a0("element")((Z)=>{let X=Z.element.exclude(I.Array),Q=X.array();return X.rawOr(Q).pipe(c1).distribute((U)=>U.assertHasKind("morph").declareOut(Q),o)},m5),u5=m.module({root:I.Array,readonly:"root",index:I.nonNegativeIntegerString,liftFrom:KG},{name:"Array"})});var wX,DG,l5,d5;var c5=R(()=>{_0();b();Y1();wX=o(["string",T2.FileConstructor]),DG=wX.rawOr(wX.array()),l5=o({meta:"an object representing parsed form data",domain:"object",index:{signature:"string",value:DG}}),d5=m.module({root:["instanceof",FormData],value:wX,parsed:l5,parse:o({in:FormData,morphs:(Z)=>{let X={};for(let[Q,U]of Z)if(Q in X){let J=X[Q];if(typeof J==="string"||J instanceof T2.FileConstructor)X[Q]=[J,U];else J.push(U)}else X[Q]=U;return X},declaredOut:l5})},{name:"FormData"})});var i5;var s5=R(()=>{Y1();i5=m.module({Int8:["instanceof",Int8Array],Uint8:["instanceof",Uint8Array],Uint8Clamped:["instanceof",Uint8ClampedArray],Int16:["instanceof",Int16Array],Uint16:["instanceof",Uint16Array],Int32:["instanceof",Int32Array],Uint32:["instanceof",Uint32Array],Float32:["instanceof",Float32Array],Float64:["instanceof",Float64Array],BigInt64:["instanceof",BigInt64Array],BigUint64:["instanceof",BigUint64Array]},{name:"TypedArray"})});var wG,r5;var a5=R(()=>{b();Y1();p5();c5();s5();wG={Boolean:1,Number:1,String:1},r5=m.module({...k({...N8,...E8},(Z,X)=>(Z in wG)?[]:[Z,["instanceof",X]]),Array:u5,TypedArray:i5,FormData:d5})});var PG,AG,A9;var PX=R(()=>{_0();Y1();PG=o({domain:{domain:"number",meta:"a number representing a Unix timestamp"},divisor:{rule:1,meta:"an integer representing a Unix timestamp"},min:{rule:-8640000000000000,meta:"a Unix timestamp after -8640000000000000"},max:{rule:8640000000000000,meta:"a Unix timestamp before 8640000000000000"},meta:"an integer representing a safe Unix timestamp"}),AG=o({domain:"number",divisor:1}),A9=m.module({root:I.number,integer:AG,epoch:PG,safe:o({domain:{domain:"number",numberAllowsNaN:!1},min:Number.MIN_SAFE_INTEGER,max:Number.MAX_SAFE_INTEGER}),NaN:["===",Number.NaN],Infinity:["===",Number.POSITIVE_INFINITY],NegativeInfinity:["===",Number.NEGATIVE_INFINITY]},{name:"number"})});var $0=(Z,X,Q)=>{let U={domain:"string",pattern:{rule:Z.source,flags:Z.flags,meta:X}};if(Q)U.meta={format:Q};return t2("intersection",U)},o5,GU,SG,jG,n5,CG,NG=(Z)=>{let X=Z.replace(/[ -]+/g,""),Q=0,U,J,$=!1;for(let W=X.length-1;W>=0;W--){if(U=X.substring(W,W+1),J=Number.parseInt(U,10),$)J*=2,Q+=J>=10?J%10+1:J;else Q+=J;$=!$}return!!(Q%10===0?X:!1)},bG,EG,fG,IG=(Z)=>!Number.isNaN(new Date(Z).valueOf()),t5,e5,yG,ZU,kG,gG,vG,XU="(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])",X2,xG,z0="(?:[0-9a-fA-F]{1,4})",hG,mG,U4="a JSON string",LU=(Z)=>{if(!(Z instanceof SyntaxError))throw Z;return`must be ${U4} (${Z})`},uG,pG=(Z,X)=>{if(Z.length===0)return X.error({code:"predicate",expected:U4,actual:"empty"});try{return JSON.parse(Z)}catch(Q){return X.error({code:"predicate",expected:U4,problem:LU(Q)})}},lG,QU,dG,qU,J6,S9,cG,iG,sG,rG,aG,UU,oG,JU="a regex pattern",nG,tG,eG,$U,ZL,WU,XL,QL=(Z)=>URL.canParse(Z),YU,UL,JL,VU;var _U=R(()=>{_0();b();Y1();PX();o5=$0(f4,"a well-formed integer string"),GU=m.module({root:o5,parse:o({in:o5,morphs:(Z,X)=>{let Q=Number.parseInt(Z);return Number.isSafeInteger(Q)?Q:X.error("an integer in the range Number.MIN_SAFE_INTEGER to Number.MAX_SAFE_INTEGER")},declaredOut:I.integer})},{name:"string.integer"}),SG=$0(/^[\dA-Fa-f]+$/,"hex characters only"),jG=m.module({root:$0(/^(?:[\d+/A-Za-z]{4})*(?:[\d+/A-Za-z]{2}==|[\d+/A-Za-z]{3}=)?$/,"base64-encoded"),url:$0(/^(?:[\w-]{4})*(?:[\w-]{2}(?:==|%3D%3D)?|[\w-]{3}(?:=|%3D)?)?$/,"base64url-encoded")},{name:"string.base64"}),n5=$0(/^[A-Z].*$/,"capitalized"),CG=m.module({root:o({in:"string",morphs:(Z)=>Z.charAt(0).toUpperCase()+Z.slice(1),declaredOut:n5}),preformatted:n5},{name:"string.capitalize"}),bG=/^(?:4\d{12}(?:\d{3,6})?|5[1-5]\d{14}|(222[1-9]|22[3-9]\d|2[3-6]\d{2}|27[01]\d|2720)\d{12}|6(?:011|5\d\d)\d{12,15}|3[47]\d{13}|3(?:0[0-5]|[68]\d)\d{11}|(?:2131|1800|35\d{3})\d{11}|6[27]\d{14}|^(81\d{14,17}))$/,EG=o({domain:"string",pattern:{meta:"a credit card number",rule:bG.source},predicate:{meta:"a credit card number",predicate:NG}}),fG=/^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))(T((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([,.]\d+(?!:))?)?(\17[0-5]\d([,.]\d+)?)?([Zz]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/,t5=o({domain:"string",predicate:{meta:"a parsable date",predicate:IG}}).assertHasKind("intersection"),e5=GU.root.internal.narrow((Z,X)=>{let Q=Number.parseInt(Z),U=A9.epoch(Q);if(U instanceof k0)return X.errors.merge(U),!1;return!0}).configure({description:"an integer string representing a safe Unix timestamp"},"self").assertHasKind("intersection"),yG=m.module({root:e5,parse:o({in:e5,morphs:(Z)=>new Date(Z),declaredOut:I.Date})},{name:"string.date.epoch"}),ZU=$0(fG,"an ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ) date").internal.assertHasKind("intersection"),kG=m.module({root:ZU,parse:o({in:ZU,morphs:(Z)=>new Date(Z),declaredOut:I.Date})},{name:"string.date.iso"}),gG=m.module({root:t5,parse:o({declaredIn:t5,in:"string",morphs:(Z,X)=>{let Q=new Date(Z);if(Number.isNaN(Q.valueOf()))return X.error("a parsable date");return Q},declaredOut:I.Date}),iso:kG,epoch:yG},{name:"string.date"}),vG=$0(/^[\w%+.-]+@[\d.A-Za-z-]+\.[A-Za-z]{2,}$/,"an email address","email"),X2=`(${XU}[.]){3}${XU}`,xG=new RegExp(`^${X2}$`),hG=new RegExp(`^((?:${z0}:){7}(?:${z0}|:)|(?:${z0}:){6}(?:${X2}|:${z0}|:)|(?:${z0}:){5}(?::${X2}|(:${z0}){1,2}|:)|(?:${z0}:){4}(?:(:${z0}){0,1}:${X2}|(:${z0}){1,3}|:)|(?:${z0}:){3}(?:(:${z0}){0,2}:${X2}|(:${z0}){1,4}|:)|(?:${z0}:){2}(?:(:${z0}){0,3}:${X2}|(:${z0}){1,5}|:)|(?:${z0}:){1}(?:(:${z0}){0,4}:${X2}|(:${z0}){1,6}|:)|(?::((?::${z0}){0,5}:${X2}|(?::${z0}){1,7}|:)))(%[0-9a-zA-Z.]{1,})?$`),mG=m.module({root:["v4 | v6","@","an IP address"],v4:$0(xG,"an IPv4 address","ipv4"),v6:$0(hG,"an IPv6 address","ipv6")},{name:"string.ip"}),uG=o({meta:U4,domain:"string",predicate:{meta:U4,predicate:(Z,X)=>{try{return JSON.parse(Z),!0}catch(Q){return X.reject({code:"predicate",expected:U4,problem:LU(Q)})}}}}),lG=m.module({root:uG,parse:o({meta:"safe JSON string parser",in:"string",morphs:pG,declaredOut:I.jsonObject})},{name:"string.json"}),QU=$0(/^[a-z]*$/,"only lowercase letters"),dG=m.module({root:o({in:"string",morphs:(Z)=>Z.toLowerCase(),declaredOut:QU}),preformatted:QU},{name:"string.lower"}),qU=["NFC","NFD","NFKC","NFKD"],J6=k(qU,(Z,X)=>[X,o({domain:"string",predicate:(Q)=>Q.normalize(X)===Q,meta:`${X}-normalized unicode`})]),S9=k(qU,(Z,X)=>[X,o({in:"string",morphs:(Q)=>Q.normalize(X),declaredOut:J6[X]})]),cG=m.module({root:S9.NFC,preformatted:J6.NFC},{name:"string.normalize.NFC"}),iG=m.module({root:S9.NFD,preformatted:J6.NFD},{name:"string.normalize.NFD"}),sG=m.module({root:S9.NFKC,preformatted:J6.NFKC},{name:"string.normalize.NFKC"}),rG=m.module({root:S9.NFKD,preformatted:J6.NFKD},{name:"string.normalize.NFKD"}),aG=m.module({root:"NFC",NFC:cG,NFD:iG,NFKC:sG,NFKD:rG},{name:"string.normalize"}),UU=$0(d6,"a well-formed numeric string"),oG=m.module({root:UU,parse:o({in:UU,morphs:(Z)=>Number.parseFloat(Z),declaredOut:I.number})},{name:"string.numeric"}),nG=o({domain:"string",predicate:{meta:JU,predicate:(Z,X)=>{try{return new RegExp(Z),!0}catch(Q){return X.reject({code:"predicate",expected:JU,problem:String(Q)})}}},meta:{format:"regex"}}),tG=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[A-Za-z-][\dA-Za-z-]*)(?:\.(?:0|[1-9]\d*|\d*[A-Za-z-][\dA-Za-z-]*))*))?(?:\+([\dA-Za-z-]+(?:\.[\dA-Za-z-]+)*))?$/,eG=$0(tG,"a semantic version (see https://semver.org/)"),$U=$0(/^\S.*\S$|^\S?$/,"trimmed"),ZL=m.module({root:o({in:"string",morphs:(Z)=>Z.trim(),declaredOut:$U}),preformatted:$U},{name:"string.trim"}),WU=$0(/^[A-Z]*$/,"only uppercase letters"),XL=m.module({root:o({in:"string",morphs:(Z)=>Z.toUpperCase(),declaredOut:WU}),preformatted:WU},{name:"string.upper"}),YU=o({domain:"string",predicate:{meta:"a URL string",predicate:QL},meta:{format:"uri"}}),UL=m.module({root:YU,parse:o({declaredIn:YU,in:"string",morphs:(Z,X)=>{try{return new URL(Z)}catch{return X.error("a URL string")}},declaredOut:o(URL)})},{name:"string.url"}),JL=m.module({root:["versioned | nil | max","@",{description:"a UUID",format:"uuid"}],"#nil":"'00000000-0000-0000-0000-000000000000'","#max":"'ffffffff-ffff-ffff-ffff-ffffffffffff'","#versioned":/[\da-f]{8}-[\da-f]{4}-[1-8][\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}/i,v1:$0(/^[\da-f]{8}-[\da-f]{4}-1[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv1"),v2:$0(/^[\da-f]{8}-[\da-f]{4}-2[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv2"),v3:$0(/^[\da-f]{8}-[\da-f]{4}-3[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv3"),v4:$0(/^[\da-f]{8}-[\da-f]{4}-4[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv4"),v5:$0(/^[\da-f]{8}-[\da-f]{4}-5[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv5"),v6:$0(/^[\da-f]{8}-[\da-f]{4}-6[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv6"),v7:$0(/^[\da-f]{8}-[\da-f]{4}-7[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv7"),v8:$0(/^[\da-f]{8}-[\da-f]{4}-8[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv8")},{name:"string.uuid"}),VU=m.module({root:I.string,alpha:$0(/^[A-Za-z]*$/,"only letters"),alphanumeric:$0(/^[\dA-Za-z]*$/,"only letters and digits 0-9"),hex:SG,base64:jG,capitalize:CG,creditCard:EG,date:gG,digits:$0(/^\d*$/,"only digits 0-9"),email:vG,integer:GU,ip:mG,json:lG,lower:dG,normalize:aG,numeric:oG,regex:nG,semver:eG,trim:ZL,upper:XL,url:UL,uuid:JL},{name:"string"})});var zU,HU,$L,FU,BU,WL,MU,YL,RU,GL,OU,LL,TU,qL,KU,VL,DU,_L,wU;var PU=R(()=>{_0();b();Y1();zU=m.module({bigint:I.bigint,boolean:I.boolean,false:I.false,never:I.never,null:I.null,number:I.number,object:I.object,string:I.string,symbol:I.symbol,true:I.true,unknown:I.unknown,undefined:I.undefined}),HU=m.module({root:I.unknown,any:I.unknown},{name:"unknown"}),$L=m.module({root:I.jsonObject,stringify:t2("morph",{in:I.jsonObject,morphs:(Z)=>JSON.stringify(Z),declaredOut:I.string})},{name:"object.json"}),FU=m.module({root:I.object,json:$L},{name:"object"});BU=class BU extends D0{description='instantiate an object from an index signature and corresponding value type like `Record("string", "number")`'};WL=a0(["K",I.key],"V")((Z)=>({domain:"object",index:{signature:Z.K,value:Z.V}}),BU);MU=class MU extends D0{description='pick a set of properties from an object like `Pick(User, "name | age")`'};YL=a0(["T",I.object],["K",I.key])((Z)=>Z.T.pick(Z.K),MU);RU=class RU extends D0{description='omit a set of properties from an object like `Omit(User, "age")`'};GL=a0(["T",I.object],["K",I.key])((Z)=>Z.T.omit(Z.K),RU);OU=class OU extends D0{description="make all named properties of an object optional like `Partial(User)`"};LL=a0(["T",I.object])((Z)=>Z.T.partial(),OU);TU=class TU extends D0{description="make all named properties of an object required like `Required(User)`"};qL=a0(["T",I.object])((Z)=>Z.T.required(),TU);KU=class KU extends D0{description='exclude branches of a union like `Exclude("boolean", "true")`'};VL=a0("T","U")((Z)=>Z.T.exclude(Z.U),KU);DU=class DU extends D0{description='extract branches of a union like `Extract("0 | false | 1", "number")`'};_L=a0("T","U")((Z)=>Z.T.extract(Z.U),DU),wU=m.module({Exclude:VL,Extract:_L,Omit:GL,Partial:LL,Pick:YL,Record:WL,Required:qL})});var v1,B0,G1,zL,HL,FL,qK,BL,ML;var AU=R(()=>{Y1();h5();a5();PX();_U();PU();v1=U6({...zU,...wU,...r5,...x5,string:VU,number:A9,object:FU,unknown:HU},{prereducedAliases:!0,name:"ark"}),B0=v1.export();Object.assign(Q4.ambient,B0);Q4.typeAttachments={string:B0.string.root,number:B0.number.root,bigint:B0.bigint,boolean:B0.boolean,symbol:B0.symbol,undefined:B0.undefined,null:B0.null,object:B0.object.root,unknown:B0.unknown.root,false:B0.false,true:B0.true,never:B0.never,arrayIndex:B0.Array.index,Key:B0.Key,Record:B0.Record,Array:B0.Array.root,Date:B0.Date};G1=Object.assign(v1.type,Q4.typeAttachments),zL=v1.match,HL=v1.fn,FL=v1.generic,qK=v1.schema,BL=v1.define,ML=v1.declare});var SU=R(()=>{_0()});var AX=R(()=>{_0();b();hQ();_X();AU();SU();Y1();DX();mQ()});class C0{static evaluate(Z,X){if(Z===null||Z===void 0)return console.error(`Error evaluating expression: ${Z}`),null;try{if(Z.includes("${")){let Q=this.interpolate(Z,X);if(!isNaN(Number(Q))&&Q.trim()!=="")return Number(Q);return Q}return this.evaluateExpression(Z,X)}catch(Q){return console.error(`Error evaluating expression: ${Z}`,Q),null}}static interpolate(Z,X){return Z.replace(j9.TEMPLATE_INTERPOLATION,(Q,U)=>{try{let J=this.evaluateExpression(U,X);if(J===void 0||J===null)return"undefined";return String(J)}catch(J){return console.error(`Error in interpolation: ${Q}`,J),Q}})}static evaluateMathExpression(Z){try{return Function("Math",`return ${Z}`)(Math)}catch(X){throw Error(`Error evaluating mathematical expression: ${Z}`)}}static evaluateExpression(Z,X){if(j9.NESTED_PROPERTY_ACCESS.test(Z))return this.getNestedValue(Z,X);if(j9.SINGLE_LEVEL_ACCESS.test(Z))return this.getNestedValue(Z,X);try{return Function("context","with(context) { return "+Z+" }")(X)}catch(Q){return console.error(`ERROR evaluating expression '${Z}':`,Q),Z}}static getNestedValue(Z,X){let Q=Z.split("."),U=X;for(let J of Q){if(U===null||U===void 0||typeof U!=="object"||!(J in U))return;U=U[J]}return U}static findVariableInContext(Z,X){let Q=this.getNestedValue(Z,X);if(Q!==void 0)return Q;for(let U of jU){let J=`${U}.${Z}`,$=this.getNestedValue(J,X);if($!==void 0)return $}return}static evaluateMath(Z,X){let Q=Z;Q=Q.replace(/\b(data|vars|env|state|request|computed)(\.[a-zA-Z_][a-zA-Z0-9_]*)+/g,(U)=>{let J=this.getNestedValue(U,X);if(J!==void 0)return typeof J==="string"?`"${J}"`:String(J);return U}),Q=Q.replace(j9.WORD_BOUNDARY,(U)=>{if(OL.includes(U))return U;if(jU.has(U))return U;let J=this.findVariableInContext(U,X);if(J!==void 0)return typeof J==="string"?`"${J}"`:String(J);return U});try{return this.evaluateMathExpression(Q)}catch(U){return console.error(`Error in mathematical evaluation: ${Z}`,U),NaN}}}var RL,jU,o0,OL,j9;var $6=R(()=>{RL={DATA:"data",VARS:"vars",REQUEST:"request",COMPUTED:"computed",ENV:"env",EVENT:"event",TIMESTAMP:"timestamp"},jU=new Set(Object.values(RL)),o0={RANDOM:"random",FLOOR:"floor",CEIL:"ceil",ROUND:"round",SQRT:"sqrt",ABS:"abs",POW:"pow",MIN:"min",MAX:"max",SIN:"sin",COS:"cos",TAN:"tan"},OL=[o0.RANDOM,o0.FLOOR,o0.CEIL,o0.ROUND,o0.SQRT,o0.ABS,o0.POW,o0.MIN,o0.MAX,o0.SIN,o0.COS,o0.TAN],j9={TEMPLATE_INTERPOLATION:/\$\{([^}]+)\}/g,NESTED_PROPERTY_ACCESS:/^(data|vars|request|computed|env|state)(\.[a-zA-Z0-9_]+)+$/,SINGLE_LEVEL_ACCESS:/^(vars|env|state)(\.[a-zA-Z0-9_]+)$/,WORD_BOUNDARY:/\b[a-zA-Z_][a-zA-Z0-9_]*\b/g}});var SX={};h6(SX,{BuiltInAction:()=>P2,ActionRegistry:()=>W6});class W6{static instance;actions=new Map;constructor(Z=!0){if(Z)this.registerDefaults()}static getInstance(Z=!0){if(!this.instance)this.instance=new W6(Z);return this.instance}register(Z,X){let Q=Z.toUpperCase();if(typeof X==="function")this.actions.set(Q,{handler:X});else this.actions.set(Q,X)}get(Z){return this.actions.get(Z.toUpperCase())?.handler}getDefinition(Z){return this.actions.get(Z.toUpperCase())}getDefinitions(){let Z={};return this.actions.forEach((X,Q)=>{Z[Q]=X}),Z}get Handlers(){let Z=new Map;return this.actions.forEach((X,Q)=>{Z.set(Q,X.handler)}),Z}registerDefaults(){this.register(P2.LOG,{description:"Logs a message to the console with string interpolation support",params:G1({"message?":"string","content?":"string"}),returns:G1({message:"string"}),handler:(Z,X)=>{let Q=Z.params?.message||Z.params?.content||"Log Trigger",U=typeof Q==="string"?C0.interpolate(Q,X):String(Q);return console.log(`[TriggerLog] ${U}`),{message:U}}}),this.register(P2.MATH,{description:"Evaluates a mathematical expression or performs string concatenation",params:G1({expression:"string"}),returns:G1("number | string"),handler:(Z,X)=>{let Q=String(Z.params?.expression||"0");return C0.evaluate(Q,X)}}),this.register(P2.FORWARD,CU),this.register(P2.FETCH,CU)}}var P2,TL=async(Z,X)=>{let Q=Z.params?.url||"",U=typeof Q==="string"?C0.interpolate(Q,X):String(Q),J=String(Z.params?.method||"POST").toUpperCase();if(Z.params?.query&&typeof Z.params.query==="object"){let L=new URLSearchParams;for(let[V,_]of Object.entries(Z.params.query))if(_!==void 0&&_!==null){let H=typeof _==="string"?C0.interpolate(_,X):typeof _==="object"?JSON.stringify(_):String(_);L.append(V,H)}let q=L.toString();if(q)U+=(U.includes("?")?"&":"?")+q}let W=["POST","PUT","PATCH"].includes(J),{bodyContent:Y,defaultContentType:G}=(()=>{if(!W||Z.params?.body==null)return{bodyContent:W?JSON.stringify(X.data):void 0,defaultContentType:"application/json"};let L=Z.params.body;if(typeof L==="string"){let q=C0.interpolate(L,X),V=q.trimStart().startsWith("{")||q.trimStart().startsWith("[");return{bodyContent:q,defaultContentType:V?"application/json":"text/plain"}}return{bodyContent:JSON.stringify(L),defaultContentType:"application/json"}})();try{let L=await fetch(U,{method:J,headers:{"Content-Type":G,...typeof Z.params?.headers==="object"&&Z.params.headers!==null&&!Array.isArray(Z.params.headers)?Z.params.headers:{}},...W&&Y!==void 0?{body:Y}:{}});return{url:U,method:J,status:L.status,headers:(()=>{let q={};return L.headers.forEach((V,_)=>q[_]=V),q})(),body:await L.text()}}catch(L){return{url:U,method:J,error:String(L)}}},CU;var J4=R(()=>{AX();$6();P2={LOG:"LOG",MATH:"MATH",FORWARD:"FORWARD",FETCH:"FETCH",EMIT_EVENT:"EMIT_EVENT"},CU={description:"Forwards the current event data to a remote URL via HTTP",params:G1({url:"string","method?":"'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE'","query?":"Record<string, unknown>","headers?":"Record<string, string>","body?":"string | Record<string, unknown>"}),returns:G1({url:"string",method:"string",status:"number",headers:"Record<string, string>",body:"string"}).or(G1({url:"string",method:"string",error:"string"})),handler:TL}});var eJ={};h6(eJ,{sep:()=>oJ,resolve:()=>T8,relative:()=>lJ,posix:()=>tJ,parse:()=>aJ,normalize:()=>M7,join:()=>pJ,isAbsolute:()=>uJ,format:()=>rJ,extname:()=>sJ,dirname:()=>cJ,delimiter:()=>nJ,default:()=>Hq,basename:()=>iJ,_makeLong:()=>dJ});function N1(Z){if(typeof Z!=="string")throw TypeError("Path must be a string. Received "+JSON.stringify(Z))}function mJ(Z,X){var Q="",U=0,J=-1,$=0,W;for(var Y=0;Y<=Z.length;++Y){if(Y<Z.length)W=Z.charCodeAt(Y);else if(W===47)break;else W=47;if(W===47){if(J===Y-1||$===1);else if(J!==Y-1&&$===2){if(Q.length<2||U!==2||Q.charCodeAt(Q.length-1)!==46||Q.charCodeAt(Q.length-2)!==46){if(Q.length>2){var G=Q.lastIndexOf("/");if(G!==Q.length-1){if(G===-1)Q="",U=0;else Q=Q.slice(0,G),U=Q.length-1-Q.lastIndexOf("/");J=Y,$=0;continue}}else if(Q.length===2||Q.length===1){Q="",U=0,J=Y,$=0;continue}}if(X){if(Q.length>0)Q+="/..";else Q="..";U=2}}else{if(Q.length>0)Q+="/"+Z.slice(J+1,Y);else Q=Z.slice(J+1,Y);U=Y-J-1}J=Y,$=0}else if(W===46&&$!==-1)++$;else $=-1}return Q}function zq(Z,X){var Q=X.dir||X.root,U=X.base||(X.name||"")+(X.ext||"");if(!Q)return U;if(Q===X.root)return Q+U;return Q+Z+U}function T8(){var Z="",X=!1,Q;for(var U=arguments.length-1;U>=-1&&!X;U--){var J;if(U>=0)J=arguments[U];else{if(Q===void 0)Q=process.cwd();J=Q}if(N1(J),J.length===0)continue;Z=J+"/"+Z,X=J.charCodeAt(0)===47}if(Z=mJ(Z,!X),X)if(Z.length>0)return"/"+Z;else return"/";else if(Z.length>0)return Z;else return"."}function M7(Z){if(N1(Z),Z.length===0)return".";var X=Z.charCodeAt(0)===47,Q=Z.charCodeAt(Z.length-1)===47;if(Z=mJ(Z,!X),Z.length===0&&!X)Z=".";if(Z.length>0&&Q)Z+="/";if(X)return"/"+Z;return Z}function uJ(Z){return N1(Z),Z.length>0&&Z.charCodeAt(0)===47}function pJ(){if(arguments.length===0)return".";var Z;for(var X=0;X<arguments.length;++X){var Q=arguments[X];if(N1(Q),Q.length>0)if(Z===void 0)Z=Q;else Z+="/"+Q}if(Z===void 0)return".";return M7(Z)}function lJ(Z,X){if(N1(Z),N1(X),Z===X)return"";if(Z=T8(Z),X=T8(X),Z===X)return"";var Q=1;for(;Q<Z.length;++Q)if(Z.charCodeAt(Q)!==47)break;var U=Z.length,J=U-Q,$=1;for(;$<X.length;++$)if(X.charCodeAt($)!==47)break;var W=X.length,Y=W-$,G=J<Y?J:Y,L=-1,q=0;for(;q<=G;++q){if(q===G){if(Y>G){if(X.charCodeAt($+q)===47)return X.slice($+q+1);else if(q===0)return X.slice($+q)}else if(J>G){if(Z.charCodeAt(Q+q)===47)L=q;else if(q===0)L=0}break}var V=Z.charCodeAt(Q+q),_=X.charCodeAt($+q);if(V!==_)break;else if(V===47)L=q}var H="";for(q=Q+L+1;q<=U;++q)if(q===U||Z.charCodeAt(q)===47)if(H.length===0)H+="..";else H+="/..";if(H.length>0)return H+X.slice($+L);else{if($+=L,X.charCodeAt($)===47)++$;return X.slice($)}}function dJ(Z){return Z}function cJ(Z){if(N1(Z),Z.length===0)return".";var X=Z.charCodeAt(0),Q=X===47,U=-1,J=!0;for(var $=Z.length-1;$>=1;--$)if(X=Z.charCodeAt($),X===47){if(!J){U=$;break}}else J=!1;if(U===-1)return Q?"/":".";if(Q&&U===1)return"//";return Z.slice(0,U)}function iJ(Z,X){if(X!==void 0&&typeof X!=="string")throw TypeError('"ext" argument must be a string');N1(Z);var Q=0,U=-1,J=!0,$;if(X!==void 0&&X.length>0&&X.length<=Z.length){if(X.length===Z.length&&X===Z)return"";var W=X.length-1,Y=-1;for($=Z.length-1;$>=0;--$){var G=Z.charCodeAt($);if(G===47){if(!J){Q=$+1;break}}else{if(Y===-1)J=!1,Y=$+1;if(W>=0)if(G===X.charCodeAt(W)){if(--W===-1)U=$}else W=-1,U=Y}}if(Q===U)U=Y;else if(U===-1)U=Z.length;return Z.slice(Q,U)}else{for($=Z.length-1;$>=0;--$)if(Z.charCodeAt($)===47){if(!J){Q=$+1;break}}else if(U===-1)J=!1,U=$+1;if(U===-1)return"";return Z.slice(Q,U)}}function sJ(Z){N1(Z);var X=-1,Q=0,U=-1,J=!0,$=0;for(var W=Z.length-1;W>=0;--W){var Y=Z.charCodeAt(W);if(Y===47){if(!J){Q=W+1;break}continue}if(U===-1)J=!1,U=W+1;if(Y===46){if(X===-1)X=W;else if($!==1)$=1}else if(X!==-1)$=-1}if(X===-1||U===-1||$===0||$===1&&X===U-1&&X===Q+1)return"";return Z.slice(X,U)}function rJ(Z){if(Z===null||typeof Z!=="object")throw TypeError('The "pathObject" argument must be of type Object. Received type '+typeof Z);return zq("/",Z)}function aJ(Z){N1(Z);var X={root:"",dir:"",base:"",ext:"",name:""};if(Z.length===0)return X;var Q=Z.charCodeAt(0),U=Q===47,J;if(U)X.root="/",J=1;else J=0;var $=-1,W=0,Y=-1,G=!0,L=Z.length-1,q=0;for(;L>=J;--L){if(Q=Z.charCodeAt(L),Q===47){if(!G){W=L+1;break}continue}if(Y===-1)G=!1,Y=L+1;if(Q===46){if($===-1)$=L;else if(q!==1)q=1}else if($!==-1)q=-1}if($===-1||Y===-1||q===0||q===1&&$===Y-1&&$===W+1){if(Y!==-1)if(W===0&&U)X.base=X.name=Z.slice(1,Y);else X.base=X.name=Z.slice(W,Y)}else{if(W===0&&U)X.name=Z.slice(1,$),X.base=Z.slice(1,Y);else X.name=Z.slice(W,$),X.base=Z.slice(W,Y);X.ext=Z.slice($,Y)}if(W>0)X.dir=Z.slice(0,W-1);else if(U)X.dir="/";return X}var oJ="/",nJ=":",tJ,Hq;var Z$=R(()=>{tJ=((Z)=>(Z.posix=Z,Z))({resolve:T8,normalize:M7,isAbsolute:uJ,join:pJ,relative:lJ,_makeLong:dJ,dirname:cJ,basename:iJ,extname:sJ,format:rJ,parse:aJ,sep:oJ,delimiter:nJ,win32:null,posix:null}),Hq=tJ});J4();var Y6;(($)=>{$.ENGINE_START="engine:start";$.ENGINE_DONE="engine:done";$.RULE_MATCH="rule:match";$.ACTION_SUCCESS="action:success";$.ACTION_ERROR="action:error"})(Y6||={});var C9;((U)=>{U.RULE_ADDED="rule:added";U.RULE_REMOVED="rule:removed";U.RULE_UPDATED="rule:updated"})(C9||={});var N9=C9;class jX{static instance;handlers=new Map;constructor(){}static getInstance(){if(!this.instance)this.instance=new jX;return this.instance}on(Z,X){let Q=Z;if(!this.handlers.has(Q))this.handlers.set(Q,new Set);return this.handlers.get(Q).add(X),()=>this.off(Q,X)}off(Z,X){let Q=Z,U=this.handlers.get(Q);if(U)U.delete(X)}emit(Z,X){let Q=Z,U=this.handlers.get(Q);if(U)U.forEach((J)=>{try{J(X)}catch($){console.error(`Error in event handler for ${Q}:`,$)}})}}var n0=jX.getInstance();var KL=P2,DL=Y6,wL=C9,CX={IF:"if",THEN:"then",ELSE:"else",BREAK:"break",CONTINUE:"continue",MODE:"mode",ACTIONS:"actions",DELAY:"delay",PROBABILITY:"probability",PARAMS:"params",TYPE:"type",ON:"on"},NX={UNKNOWN_ACTION:"Unknown or generic action type",MISSING_ACTION_TYPE:"Action has no type and no control flow properties",PROBABILITY_FAILED:"probability check failed",BUN_REQUIRED:"Bun is required for 'execute' action",MISSING_KEY:"Missing key for state operation"},b9={RULE_ENGINE_EVALUATING:(Z,X)=>`[RuleEngine] Evaluating context with ${Z} rules for event: ${X}`,TRIGGER_ENGINE_EVALUATING:(Z,X)=>`[TriggerEngine] Evaluating context with ${Z} rules for event: ${X}`},IK={Actions:KL,Events:DL,RuleEvents:wL,ControlFlow:CX,ErrorMessages:NX,DebugMessages:b9};$6();class PL{queue=[];engine;config;timer=null;isProcessing=!1;constructor(Z,X={maxBatchSize:10,flushIntervalMs:100}){this.engine=Z,this.config=X}push(Z){if(this.queue.push(Z),this.queue.length>=this.config.maxBatchSize)this.processQueue();else if(!this.timer)this.timer=setTimeout(()=>this.processQueue(),this.config.flushIntervalMs)}async processQueue(){if(this.isProcessing)return;if(this.isProcessing=!0,this.timer)clearTimeout(this.timer),this.timer=null;let Z=this.queue.splice(0,this.config.maxBatchSize);if(Z.length===0){this.isProcessing=!1;return}console.debug(`[EventQueue] Processing batch of ${Z.length} events.`);for(let X of Z)try{await this.engine.evaluateContext(X)}catch(Q){console.error(`[EventQueue] Error processing event ${X.event}:`,Q)}if(this.queue.length>0)setTimeout(()=>this.processQueue(),0);this.isProcessing=!1}getQueueLength(){return this.queue.length}}class AL{store=new Map;async loadState(){return new Map(this.store)}async saveState(Z,X){this.store.set(Z,X)}async deleteState(Z){this.store.delete(Z)}async clearState(){this.store.clear()}}class NU{keyPrefix;cache=new Map;isLoaded=!1;pendingWrite=null;writeDelay;dirty=!1;constructor(Z="trigger_system:",X){this.keyPrefix=Z,this.writeDelay=X?.writeDelay??0}flush(){this.dirty=!0,this.persist()}getCache(){return this.ensureLoaded(),new Map(this.cache)}isDirty(){return this.dirty}isAvailable(){return typeof window<"u"&&typeof window.localStorage<"u"}ensureLoaded(){if(this.isLoaded)return;if(this.isAvailable())try{let Z=window.localStorage.getItem(this.keyPrefix+"state");if(Z){let X=JSON.parse(Z);this.cache=new Map(Object.entries(X))}}catch(Z){console.error("[BrowserPersistence] Failed to load from localStorage:",Z)}this.isLoaded=!0}schedulePersist(){if(this.writeDelay<=0){this.persist();return}if(this.pendingWrite)clearTimeout(this.pendingWrite);this.dirty=!0,this.pendingWrite=setTimeout(()=>{this.persist(),this.pendingWrite=null},this.writeDelay)}persist(){if(this.pendingWrite)clearTimeout(this.pendingWrite),this.pendingWrite=null;if(this.isAvailable())try{let Z=Object.fromEntries(this.cache);window.localStorage.setItem(this.keyPrefix+"state",JSON.stringify(Z)),this.dirty=!1}catch(Z){console.error("[BrowserPersistence] Failed to save to localStorage:",Z)}}async loadState(){return this.ensureLoaded(),new Map(this.cache)}async saveState(Z,X){this.ensureLoaded(),this.cache.set(Z,X),this.schedulePersist()}async deleteState(Z){this.ensureLoaded(),this.cache.delete(Z),this.schedulePersist()}async clearState(){this.cache.clear(),this.schedulePersist()}}class bX{static getNestedValue(Z,X){let Q=Z.split("."),U=X;for(let J of Q){if(U===null||U===void 0)return;if(typeof U==="object"&&U!==null&&J in U)U=U[J];else return}return U}static interpolate(Z,X){if(typeof Z!=="string")return Z;return Z.replace(/\$\{([^}]+)\}/g,(Q,U)=>{let J=this.getNestedValue(U,X);if(J!==void 0)return String(J);return Q})}static compare(Z,X,Q){let U=($)=>{if($ instanceof Date)return $.getTime();if(typeof $==="number")return $;if(typeof $==="string"){let W=new Date($);return isNaN(W.getTime())?0:W.getTime()}return 0},J=($)=>{if(typeof $==="number")return $;if($===null||$===void 0||$==="")return null;let W=Number($);return isNaN(W)?null:W};switch(X){case"EQ":case"==":return Z==Q;case"NEQ":case"!=":return Z!=Q;case"GT":case">":{let $=J(Z),W=J(Q);return $!==null&&W!==null&&$>W}case"GTE":case">=":{let $=J(Z),W=J(Q);return $!==null&&W!==null&&$>=W}case"LT":case"<":{let $=J(Z),W=J(Q);return $!==null&&W!==null&&$<W}case"LTE":case"<=":{let $=J(Z),W=J(Q);return $!==null&&W!==null&&$<=W}case"IN":return Array.isArray(Q)&&Q.some(($)=>$===Z);case"NOT_IN":return Array.isArray(Q)&&!Q.some(($)=>$===Z);case"CONTAINS":if(Array.isArray(Q))return Q.some(($)=>String(Z).includes(String($)));if(Array.isArray(Z)||typeof Z==="string")return Z.includes(Q);return!1;case"NOT_CONTAINS":if(Array.isArray(Q))return!Q.some(($)=>String(Z).includes(String($)));if(Array.isArray(Z)||typeof Z==="string")return!Z.includes(Q);return!1;case"STARTS_WITH":if(Array.isArray(Q))return Q.some(($)=>String(Z).startsWith(String($)));if(typeof Z==="string"&&typeof Q==="string")return Z.startsWith(Q);return!1;case"ENDS_WITH":if(Array.isArray(Q))return Q.some(($)=>String(Z).endsWith(String($)));if(typeof Z==="string"&&typeof Q==="string")return Z.endsWith(Q);return!1;case"IS_EMPTY":{let $=!1;if(typeof Z==="string")$=Z==="";else if(Array.isArray(Z))$=Z.length===0;else if(Z===null||Z===void 0)$=!0;else if(typeof Z==="object")$=Object.keys(Z).length===0;return Q===!1?!$:$}case"IS_NULL":case"IS_NONE":{let $=Z===null||Z===void 0;return Q===!1?!$:$}case"HAS_KEY":if(typeof Z==="object"&&Z!==null&&typeof Q==="string")return Q in Z;return!1;case"MATCHES":if(typeof Q==="string")return new RegExp(Q).test(String(Z));return!1;case"RANGE":if(Array.isArray(Q)&&Q.length===2){let $=J(Z),W=J(Q[0]),Y=J(Q[1]);return $!==null&&W!==null&&Y!==null&&$>=W&&$<=Y}return!1;case"SINCE":case"AFTER":return U(Z)>=U(Q);case"BEFORE":case"UNTIL":return U(Z)<U(Q);default:return console.warn(`Unknown operator: ${X}`),!1}}}$6();class Q2{static evaluateConditions(Z,X){if(!Z)return!0;if(Array.isArray(Z))return Z.every((Q)=>this.evaluateRecursiveCondition(Q,X));return this.evaluateRecursiveCondition(Z,X)}static evaluateRecursiveCondition(Z,X){if("conditions"in Z&&"operator"in Z){let U=Z;if(U.operator==="OR")return U.conditions.some((J)=>this.evaluateRecursiveCondition(J,X));else return U.conditions.every((J)=>this.evaluateRecursiveCondition(J,X))}let Q=Z;try{let U=C0.evaluate(Q.field,X),J=Q.value;if(typeof J==="string"&&J.includes("${"))J=C0.interpolate(J,X);return bX.compare(U,Q.operator,J)}catch(U){return console.error("Error evaluating condition:",Q,U),!1}}static async processSingleActionBase(Z,X,Q){let U={...Z};if(!U.type&&!U.run&&!U.break&&!U.continue){let W=Object.values(CX),Y=Object.keys(U).filter((G)=>!W.includes(G));for(let G of Y)if(Q?!!Q.get(G):!0){U.type=G;let q=U[G];if(typeof q==="string")U.params={...U.params,message:q,content:q};else if(typeof q==="object"&&q!==null)U.params={...U.params,...q};break}}if(U.break)return{shouldExecute:!1,executedAction:{type:"BREAK",result:"Break execution",timestamp:Date.now()},normalizedAction:U};if(U.continue)return{shouldExecute:!1,executedAction:{type:"CONTINUE",result:"Continue execution",timestamp:Date.now()},normalizedAction:U};let J=U.probability;if(typeof J==="string"){let W=C0.evaluate(J,X);J=typeof W==="number"?W:Number(W)}if(J!==void 0&&Math.random()>J)return{shouldExecute:!1,executedAction:{type:U.type||"skipped",result:{skipped:"probability check failed"},timestamp:Date.now()},normalizedAction:U};let $=U.delay;if(typeof $==="string"){let W=C0.evaluate($,X);$=typeof W==="number"?W:Number(W)}if($&&$>0)await new Promise((W)=>setTimeout(W,$));return U.params=this.interpolateParams(U.params||{},X),{shouldExecute:!0,normalizedAction:U}}static selectActions(Z){let X=[],Q="ALL";if(Array.isArray(Z))X=Z;else if(Z&&typeof Z==="object"&&"mode"in Z&&"actions"in Z){let U=Z;Q=U.mode,X=U.actions}else X=[Z];if(Q==="EITHER"&&X.length>0){let U=(Y)=>("probability"in Y)?Y.probability:1,J=X.reduce((Y,G)=>Y+U(G),0),$=Math.random()*J;for(let Y of X){let G=U(Y);if($-=G,$<=0)return{actionsToExecute:[Y],mode:Q}}let W=X[X.length-1];return{actionsToExecute:W?[W]:[],mode:Q}}return{actionsToExecute:X,mode:Q}}static interpolateParams(Z,X){let Q={};for(let[U,J]of Object.entries(Z))Q[U]=this.interpolateDeep(J,X);return Q}static interpolateDeep(Z,X){if(typeof Z==="string"&&Z.includes("${"))return C0.interpolate(Z,X);if(Array.isArray(Z))return Z.map((Q)=>this.interpolateDeep(Q,X));if(typeof Z==="object"&&Z!==null){let Q={};for(let[U,J]of Object.entries(Z))Q[U]=this.interpolateDeep(J,X);return Q}return Z}}$6();var A2=new Set(["merge","mergeCallbacks","set","setCallback","delete","has","get","getCallback","call","interpolate","increment","decrement","snapshot","snapshotCallbacks","snapshotWithCallbacks","reset","keys","callbackKeys","toContext"]),E9=()=>{let Z=Object.create(null),X=Object.create(null);function Q(W,Y){if(A2.has(W))return console.warn(`[VarsContext] ${Y}: "${W}" is a reserved API key and cannot be used.`),!1;return!0}function U(W,Y,G){return(typeof Y==="boolean"?Y:Y?.overwrite??!1)||!(W in G)}function J(W){let Y={...Z};for(let[G,L]of Object.entries(X))Y[G]=L;return{event:W?.event??"",timestamp:W?.timestamp??Date.now(),data:W?.data??{},vars:Y,env:W?.env,id:W?.id}}let $={merge(W,Y){for(let G of Object.keys(W)){if(!Q(G,"merge"))continue;let L=W[G];if(typeof L==="function"){console.warn(`[VarsContext] merge(): "${G}" is a function — use mergeCallbacks() instead. Skipped.`);continue}if(U(G,Y,Z))Z[G]=L}},mergeCallbacks(W,Y){for(let G of Object.keys(W)){if(!Q(G,"mergeCallbacks"))continue;let L=W[G];if(typeof L!=="function"){console.warn(`[VarsContext] mergeCallbacks(): "${G}" is not a function. Skipped.`);continue}if(U(G,Y,X))X[G]=L}},set(W,Y){if(!Q(W,"set"))return;if(typeof Y==="function"){console.warn(`[VarsContext] set(): "${W}" is a function — use setCallback() instead.`);return}Z[W]=Y},setCallback(W,Y){if(!Q(W,"setCallback"))return;if(typeof Y!=="function"){console.warn(`[VarsContext] setCallback(): "${W}" value is not a function.`);return}X[W]=Y},delete(W){if(!Q(W,"delete"))return!1;let Y=W in Z,G=W in X;if(Y)delete Z[W];if(G)delete X[W];return Y||G},has(W){return W in Z||W in X},get(W){return Z[W]},getCallback(W){return X[W]},call(W,...Y){let G=X[W];if(typeof G!=="function")throw TypeError(`[VarsContext] call(): "${W}" is not a registered callback (got ${typeof(Z[W]??G)}).`);return G(...Y)},interpolate(W){return C0.interpolate(W,J())},increment(W,Y=1){let L=(typeof Z[W]==="number"?Z[W]:0)+Y;return Z[W]=L,L},decrement(W,Y=1){let L=(typeof Z[W]==="number"?Z[W]:0)-Y;return Z[W]=L,L},snapshot(){return{...Z}},snapshotCallbacks(){return{...X}},snapshotWithCallbacks(){let W={...Z};for(let[Y,G]of Object.entries(X))W[Y]=G;return W},reset(W={},Y=!1){for(let G of Object.keys(Z))delete Z[G];if(Y)for(let G of Object.keys(X))delete X[G];for(let[G,L]of Object.entries(W))if(!A2.has(G)&&typeof L!=="function")Z[G]=L},keys(){return Object.keys(Z)},callbackKeys(){return Object.keys(X)},toContext(W){return J(W)}};return new Proxy($,{get(W,Y){if(typeof Y==="symbol")return;let G=Y;if(A2.has(G))return $[G];if(G in X)return X[G];return Z[G]},set(W,Y,G){if(typeof Y==="symbol")return!1;let L=Y;if(A2.has(L))return console.warn(`[VarsContext] "${L}" is a reserved API method and cannot be overwritten.`),!1;if(typeof G==="function")X[L]=G;else Z[L]=G;return!0},has(W,Y){let G=String(Y);return A2.has(G)||G in Z||G in X},deleteProperty(W,Y){return console.warn(`[VarsContext] Use vars.delete("${String(Y)}") instead of \`delete vars.${String(Y)}\`.`),!1},ownKeys(){return[...new Set([...A2,...Object.keys(Z),...Object.keys(X)])]},getOwnPropertyDescriptor(W,Y){let G=String(Y);if(A2.has(G))return{configurable:!0,enumerable:!1,writable:!1,value:$[G]};if(G in Z)return{configurable:!0,enumerable:!0,writable:!0,value:Z[G]};if(G in X)return{configurable:!0,enumerable:!0,writable:!0,value:X[G]};return}})},SL=E9();class G6{_rules=[];actionHandlers=new Map;lastExecution=new Map;_config;_vars;constructor(Z=[]){if(Array.isArray(Z))this._rules=Z;else this._config=Z,this._rules=[...Z.rules];this._vars=E9();try{let{ActionRegistry:X}=(J4(),A7(SX));X.getInstance(!0)}catch(X){console.log(X)}this._registerVarActions(),this.sortRules()}sortRules(){this._rules.sort((Z,X)=>(X.priority||0)-(Z.priority||0))}_registerVarActions(){this.registerAction("vars",async(Z,X)=>{let Q=String(Z.op??"set"),U=Z.key!=null?String(Z.key):"",J=X.vars??{};switch(Q){case"set":{let $=Z.value;return this._vars.set(U,$),J[U]=$,{op:Q,key:U,value:$}}case"increment":{let $=typeof Z.delta==="number"?Z.delta:1,W=this._vars.increment(U,$);return J[U]=W,{op:Q,key:U,value:W}}case"decrement":{let $=typeof Z.delta==="number"?Z.delta:1,W=this._vars.decrement(U,$);return J[U]=W,{op:Q,key:U,value:W}}case"delete":return this._vars.delete(U),delete J[U],{op:Q,key:U,deleted:!0};case"merge":{let $=Z.overwrite===!0,W={},Y=Z.data??Z;for(let[G,L]of Object.entries(Y)){if(G==="op"||G==="overwrite"||G==="data"||typeof L==="function")continue;W[G]=L}this._vars.merge(W,{overwrite:$});for(let[G,L]of Object.entries(W))if($||!(G in J))J[G]=L;return{op:Q,merged:Object.keys(W),overwrite:$}}case"reset":{let $=Z.data??{};this._vars.reset($);for(let W of Object.keys(J))delete J[W];return Object.assign(J,this._vars.snapshot()),{op:Q,keys:this._vars.keys()}}default:return console.warn(`[vars action] Unknown op: "${Q}"`),{op:Q,error:`unknown op "${Q}"`}}})}registerAction(Z,X){this.actionHandlers.set(Z,X)}registerVars(Z,X){this._mergeWithCallbackRouting(Z,X)}_mergeWithCallbackRouting(Z,X){let Q={},U={};for(let[J,$]of Object.entries(Z))if(typeof $==="function")U[J]=$;else Q[J]=$;if(Object.keys(Q).length)this._vars.merge(Q,X);if(Object.keys(U).length)this._vars.mergeCallbacks(U,X)}async processEvent(Z){if(Z.vars&&Object.keys(Z.vars).length)this._mergeWithCallbackRouting(Z.vars,{overwrite:!1});let X={};for(let[J,$]of Object.entries(Z.vars??{}))if(typeof $!=="function")X[J]=$;Z.vars={...this._vars.snapshotWithCallbacks(),...X};let Q=[],U=this._rules.filter((J)=>J.enabled!==!1&&J.on===Z.event);for(let J of U){if(J.cooldown&&this.checkCooldown(J.id,J.cooldown))continue;let $=Q2.evaluateConditions(J.if,Z),W;if($)n0.emit("rule:match",{rule:J,context:Z}),W=J.do;else if(J.else)W=J.else;if(W){let Y=await this.executeRuleActions(W,Z);this.lastExecution.set(J.id,Date.now());let G=this._vars.snapshotWithCallbacks();for(let[L,q]of Object.entries(G))Z.vars[L]=q;Q.push({ruleId:J.id,success:!0,executedActions:Y})}if(!$&&!J.else&&!this.shouldEvaluateAll())break;if($&&!this.shouldEvaluateAll())break}return Q}async processEventSimple(Z,X={},Q={}){this._mergeWithCallbackRouting(Q,{overwrite:!1});let U={event:Z,data:X,vars:Q,timestamp:Date.now()};return this.processEvent(U)}updateRules(Z){let X=this.getRules(),Q=new Set(X.map((W)=>W.id)),U=new Set(Z.map((W)=>W.id)),J=Z.filter((W)=>!Q.has(W.id)),$=X.filter((W)=>!U.has(W.id));this._rules=[...Z],this.sortRules(),J.forEach((W)=>{this.emitRuleEvent(N9.RULE_ADDED,{ruleId:W.id,timestamp:Date.now()})}),$.forEach((W)=>{this.emitRuleEvent(N9.RULE_REMOVED,{ruleId:W.id,timestamp:Date.now()})}),this.emitRuleEvent(N9.RULE_UPDATED,{count:Z.length,added:J.length,removed:$.length,unchanged:Z.length-J.length,timestamp:Date.now()})}emitRuleEvent(Z,X){try{if(n0)n0.emit(Z,{...X,timestamp:Date.now()})}catch(Q){console.warn(`Could not emit event ${Z}:`,Q)}}getRules(){return[...this._rules]}checkCooldown(Z,X){let Q=this.lastExecution.get(Z);if(!Q)return!1;return Date.now()-Q<X}shouldEvaluateAll(){return this._config?.globalSettings?.evaluateAll??!0}evaluateConditions(Z,X){return Q2.evaluateConditions(Z,X)}evaluateSingleCondition(Z,X){return Q2.evaluateConditions(Z,X)}async executeRuleActions(Z,X){let{actionsToExecute:Q}=Q2.selectActions(Z),U=[];for(let J of Q){if("actions"in J&&"mode"in J){U.push(...await this.executeRuleActions(J,X));continue}let $=J;if("if"in $&&$.if&&($.then||$.else||$.do)){let Y=this.evaluateConditions($.if,X),G=$.then||$.do;if(Y&&G)U.push(...await this.executeRuleActions(G,X));else if(!Y&&$.else)U.push(...await this.executeRuleActions($.else,X));continue}if("if"in $&&$.if){if(!this.evaluateConditions($.if,X))continue}let W=await this.executeSingleAction($,X);if(U.push(W),W.type==="BREAK")break}return U}async executeSingleAction(Z,X){let{shouldExecute:Q,executedAction:U,normalizedAction:J}=await Q2.processSingleActionBase(Z,X);if(!Q)return U;try{let $=this.actionHandlers.get(J.type);if($){let Y=await $(J.params||{},X);return n0.emit("action:success",{action:J,context:X,result:Y}),{type:J.type,result:Y,timestamp:Date.now()}}try{let{ActionRegistry:Y}=(J4(),A7(SX)),G=Y.getInstance().get(J.type);if(G){let L=await G(J,X);return n0.emit("action:success",{action:J,context:X,result:L}),{type:J.type,result:L,timestamp:Date.now()}}}catch{}let W=`${NX.UNKNOWN_ACTION}: ${J.type}`;if(this._config?.globalSettings?.strictActions)throw Error(W);return console.warn(W),{type:J.type,result:{warning:W},timestamp:Date.now()}}catch($){return console.error(`Error executing action ${J.type}:`,$),n0.emit("action:error",{action:J,context:X,error:String($)}),{type:J.type,error:String($),timestamp:Date.now()}}}interpolateParams(Z,X){return Q2.interpolateParams(Z,X)}get rules(){return[...this._rules]}get config(){return this._config}get vars(){return this._vars}set rules(Z){this._rules=[...Z],this.sortRules()}}J4();class bU extends G6{actionRegistry;constructor(Z){super(Z);this.actionRegistry=W6.getInstance(!0)}async evaluateContext(Z){if(!Z.env)Z.env={};if(this._config?.globalSettings?.debugMode)console.log(b9.RULE_ENGINE_EVALUATING(this._rules.length,Z.event));n0.emit("engine:start",{context:Z,rulesCount:this._rules.length});let X=await this.processEvent(Z);return n0.emit("engine:done",{results:X,context:Z}),X}async processEvent(Z,X={},Q={}){if(typeof Z==="string"){let $={event:Z,data:X,vars:Q,timestamp:Date.now()};return this.processEvent($)}let U=Z;if(n0.emit("engine:start",{context:U,rulesCount:this._rules.length}),this._config?.globalSettings?.debugMode)console.log(b9.RULE_ENGINE_EVALUATING(this._rules.length,U.event));let J=await super.processEvent(U);return n0.emit("engine:done",{results:J,context:U}),J}get ActionRegistry(){return this.actionRegistry}}J4();AX();var jL=["EQ","==","NEQ","!="],EU=["GT",">","GTE",">=","LT","<","LTE","<="],fU=["IN","NOT_IN","RANGE"],IU=["CONTAINS","NOT_CONTAINS","STARTS_WITH","ENDS_WITH"],CL=["IS_NULL","IS_NONE"],NL=["IS_EMPTY","HAS_KEY","MATCHES","SINCE","AFTER","BEFORE","UNTIL"],zD=[...jL,...EU,...fU,...IU,...CL,...NL];function yU(Z){return fU.includes(Z)}function kU(Z){return IU.includes(Z)}function gU(Z){return EU.includes(Z)}var U2=U6({Operator:"'EQ' | '==' | 'NEQ' | '!=' | 'GT' | '>' | 'GTE' | '>=' | 'LT' | '<' | 'LTE' | '<=' | 'IN' | 'NOT_IN' | 'CONTAINS' | 'NOT_CONTAINS' | 'STARTS_WITH' | 'ENDS_WITH' | 'MATCHES' | 'RANGE' | 'SINCE' | 'AFTER' | 'BEFORE' | 'UNTIL'",Condition:"RangeCondition | ListCondition | ContainsCondition | NumericCondition | RegexCondition | StringOperatorCondition | HasKeyCondition | NullCondition | EmptyCondition | BasicCondition",RangeCondition:{field:"string > 0",operator:"'RANGE'",value:"unknown[] == 2"},ListCondition:{field:"string > 0",operator:"'IN' | 'NOT_IN'",value:"unknown[]"},ContainsCondition:{field:"string > 0",operator:"'CONTAINS' | 'NOT_CONTAINS'",value:"string | unknown[]"},StringOperatorCondition:{field:"string > 0",operator:"'STARTS_WITH' | 'ENDS_WITH'",value:"string"},HasKeyCondition:{field:"string > 0",operator:"'HAS_KEY'",value:"string"},NullCondition:{field:"string > 0",operator:"'IS_NULL' | 'IS_NONE'","value?":"boolean | null"},EmptyCondition:{field:"string > 0",operator:"'IS_EMPTY'","value?":"boolean | null"},NumericCondition:{field:"string > 0",operator:"'>' | '>=' | '<' | '<=' | 'GT' | 'GTE' | 'LT' | 'LTE'",value:"number | string"},RegexCondition:{field:"string > 0",operator:"'MATCHES'",value:"string"},BasicCondition:{field:"string > 0",operator:"Operator",value:"unknown"},ConditionGroup:{operator:"'AND' | 'OR'",conditions:"(Condition | ConditionGroup)[] >= 1"},RuleCondition:"Condition | ConditionGroup",Action:{"type?":"string > 0","params?":"object","delay?":"number.integer >= 0 | string","probability?":"0 <= number <= 1 | string","if?":"RuleCondition | RuleCondition[]","then?":"Action | ActionGroup","else?":"Action | ActionGroup","break?":"boolean","continue?":"boolean"},ActionGroup:{"mode?":"'ALL' | 'EITHER' | 'SEQUENCE'",actions:"(Action | ActionGroup)[] >= 1"},RuleAction:"Action | ActionGroup",InlineConditionalAction:{if:"RuleCondition | RuleCondition[]","then?":"Action | ActionGroup","do?":"Action | ActionGroup","else?":"Action | ActionGroup","break?":"boolean","continue?":"boolean"},TriggerRule:{id:"string > 0","name?":"string","description?":"string","priority?":"number.integer","enabled?":"boolean","cooldown?":"number.integer >= 0","tags?":"string[]",on:"string > 0","if?":"RuleCondition | RuleCondition[]",do:"RuleAction | RuleAction[] | InlineConditionalAction","else?":"RuleAction | RuleAction[]","comment?":"string"}}).export(),TD=U2.Operator,KD=U2.Condition,DD=U2.ConditionGroup,wD=U2.RuleCondition,PD=U2.Action,AD=U2.ActionGroup,SD=U2.InlineConditionalAction,bL=U2.TriggerRule;class EX{static validate(Z){let X=bL(Z);if(X instanceof G1.errors){let J=[];for(let $ of X){let W=$.path.join("."),Y=$.message,G=void 0;if(W.endsWith("on")&&(Y.includes("string")||Y.includes("must be")))if(typeof Z==="object"&&Z!==null&&"on"in Z&&Z.on===!0)Y="The 'on' field is incorrect (boolean true found).",G=`In YAML, 'on' is a boolean keyword (true). Quote it: "on": "EventName"`;else G="Ensure 'on' is a string event name.";J.push({path:W,message:Y,suggestion:G,severity:"error"})}return{valid:!1,issues:J}}let Q=X,U=[];if(this.validateConditionsRecursive(Q.if,U,"if"),this.validateInlineConditionalRecursive(Q.do,U,"do"),Q.else)this.validateInlineConditionalRecursive(Q.else,U,"else");if(U.length>0)return{valid:!1,issues:U};return{valid:!0,rule:Q}}static validateInlineConditionalRecursive(Z,X,Q){if(!Z)return;if(Array.isArray(Z)){Z.forEach((U,J)=>{this.validateInlineConditionalRecursive(U,X,`${Q}.${J}`)});return}if(typeof Z==="object"&&Z!==null&&"mode"in Z&&"actions"in Z){let U=Z;if(Array.isArray(U.actions))U.actions.forEach((J,$)=>{this.validateInlineConditionalRecursive(J,X,`${Q}.actions.${$}`)});return}if(typeof Z==="object"&&Z!==null&&"if"in Z){let U=Z;if(this.validateConditionsRecursive(U.if,X,`${Q}.if`),U.then)this.validateInlineConditionalRecursive(U.then,X,`${Q}.then`);if(U.do)this.validateInlineConditionalRecursive(U.do,X,`${Q}.do`);if(U.else)this.validateInlineConditionalRecursive(U.else,X,`${Q}.else`);return}}static validateConditionsRecursive(Z,X,Q){if(!Z)return;if(Array.isArray(Z)){Z.forEach((U,J)=>{this.validateConditionsRecursive(U,X,`${Q}.${J}`)});return}if(typeof Z==="object"&&Z!==null&&"conditions"in Z&&Array.isArray(Z.conditions)){Z.conditions.forEach((U,J)=>{this.validateConditionsRecursive(U,X,`${Q}.conditions.${J}`)});return}if(typeof Z==="object"&&Z!==null&&"operator"in Z&&"value"in Z)this.validateConditionValue(Z,X,Q)}static validateConditionValue(Z,X,Q){let{operator:U,value:J}=Z,$=U;if(yU($)){if(!Array.isArray(J)){X.push({path:`${Q}.value`,message:`Incorrect value type: Operator '${$}' expects a List (Array), but received ${typeof J}.`,suggestion:$==="RANGE"?"Use format [min, max]":"Use format [item1, item2]",severity:"error"});return}if($==="RANGE"){if(J.length!==2)X.push({path:`${Q}.value`,message:"Invalid Range: Operator 'RANGE' requires exactly 2 values (min and max).",suggestion:"Use format [min, max], e.g. [1, 10]",severity:"error"});else if(typeof J[0]!=="number"&&typeof J[0]!=="string")X.push({path:`${Q}.value`,message:"Incorrect range type: Range values must be numbers or expression strings.",severity:"error"})}}else if($==="CONTAINS"||$==="NOT_CONTAINS"){if(typeof J!=="string"&&!Array.isArray(J))X.push({path:`${Q}.value`,message:`Incorrect value type: Operator 'CONTAINS' expects a String or List (Array), but received ${typeof J}.`,suggestion:"Use a substring or a list of items.",severity:"error"})}else if(kU($)){if(typeof J!=="string"&&!Array.isArray(J))X.push({path:`${Q}.value`,message:`Incorrect value type: Operator '${$}' expects a String or List (Array), but received ${typeof J}.`,suggestion:"Use a string prefix/suffix or a list of prefixes/suffixes.",severity:"error"})}else if($==="MATCHES")if(typeof J!=="string")X.push({path:`${Q}.value`,message:`Incorrect value type: Operator 'MATCHES' expects a string (regex pattern), but received ${typeof J}.`,severity:"error"});else try{new RegExp(J)}catch(W){X.push({path:`${Q}.value`,message:`Invalid Regex pattern: ${W.message}`,severity:"error"})}else if(gU($)){if(typeof J!=="number"&&typeof J!=="string")X.push({path:`${Q}.value`,message:`Incorrect value type: Operator '${$}' expects a number or expression string, but received ${typeof J}.`,severity:"error"})}else if($==="HAS_KEY"){if(typeof J!=="string")X.push({path:`${Q}.value`,message:`Incorrect value type: Operator 'HAS_KEY' expects a string (key name), but received ${typeof J}.`,severity:"error"})}}}function f9(Z,X){let Q=new Map,U=[];for(let $ of Z){let Y=$[X];if(Y!==void 0&&Y!==null){let G=String(Y);if(!Q.has(G))Q.set(G,$)}else U.push($)}let J=Array.from(new Set(U.map(($)=>JSON.stringify($)))).map(($)=>JSON.parse($));return[...Array.from(Q.values()),...J]}function L6(Z,X={}){let{deduplicate:Q=!0,uniqueIdField:U}=X;if(!Z)return;if(Array.isArray(Z)){let J=Z.map((W)=>L6(W,X)).filter((W)=>W!==void 0);if(!Q)return J.length===0?void 0:J.length===1?J[0]:J;let $=U?f9(J,U):Array.from(new Set(J.map((W)=>JSON.stringify(W)))).map((W)=>JSON.parse(W));return $.length===0?void 0:$.length===1?$[0]:$}if("operator"in Z&&"conditions"in Z){let J=Z,$=L6(J.conditions,X);if(!$)return;if(!Array.isArray($))$=[$];let W=[];for(let G of $)if("operator"in G&&"conditions"in G&&G.operator===J.operator)W.push(...G.conditions);else W.push(G);let Y;if(!Q)Y=W;else if(U)Y=f9(W,U);else Y=Array.from(new Set(W.map((G)=>JSON.stringify(G)))).map((G)=>JSON.parse(G));if(Y.length===0)return;if(Y.length===1)return Y[0];return{operator:J.operator,conditions:Y}}return Z}function q6(Z,X={}){let{deduplicate:Q=!1,uniqueIdField:U}=X;if(!Z)return;if(Array.isArray(Z)){let J=Z.map((G)=>q6(G,X)).filter((G)=>G!==void 0);if(!Q){let G=J.flatMap((q)=>Array.isArray(q)?q:[q]),L=[];for(let q of G)if("mode"in q&&"actions"in q&&q.mode==="ALL")L.push(...q.actions);else L.push(q);if(L.length===0)return;if(L.length===1)return L[0];return L}let $=J.flatMap((G)=>Array.isArray(G)?G:[G]),W=[];for(let G of $)if("mode"in G&&"actions"in G&&G.mode==="ALL")W.push(...G.actions);else W.push(G);if(W.length===0)return;if(W.length===1)return W[0];let Y;if(U)Y=f9(W,U);else Y=Array.from(new Set(W.map((G)=>JSON.stringify(G)))).map((G)=>JSON.parse(G));return Y}if("mode"in Z&&"actions"in Z){let J=Z,$=q6(J.actions,X);if(!$)return;if(!Array.isArray($))$=[$];let W=[];for(let G of $)if("mode"in G&&"actions"in G&&G.mode===J.mode)W.push(...G.actions);else W.push(G);if(W.length===0)return;if(W.length===1)return W[0];let Y;if(!Q)Y=W;else if(U)Y=f9(W,U);else Y=Array.from(new Set(W.map((G)=>JSON.stringify(G)))).map((G)=>JSON.parse(G));return{mode:J.mode,actions:Y}}return Z}class J2{conditions=[];op="AND";constructor(Z="AND"){this.op=Z}where(Z,X,Q){return this.conditions.push({field:Z,operator:X,value:Q}),this}and(Z){let X=new J2("AND");return this.conditions.push(Z(X).build()),this}or(Z){let X=new J2("OR");return this.conditions.push(Z(X).build()),this}build(){if(this.conditions.length===0)throw Error("Condition group must have at least one condition");if(this.conditions.length===1&&this.op==="AND")return this.conditions[0];return{operator:this.op,conditions:this.conditions}}}class V6{actions=[];mode="ALL";setMode(Z){return this.mode=Z,this}add(Z,X,Q){return this.actions.push({type:Z,params:X,...Q}),this}build(){if(this.actions.length===0)throw Error("Action group must have at least one action");if(this.actions.length===1&&this.mode==="ALL")return this.actions[0];if(this.mode==="ALL")return this.actions;return{mode:this.mode,actions:this.actions}}}class fX{params={};set(Z,X){return this.params[Z]=X,this}setAll(Z){return Object.assign(this.params,Z),this}setNested(Z,X){let Q=Z.split("."),U=this.params;for(let $=0;$<Q.length-1;$++){let W=Q[$];if(!W)continue;if(!(W in U))U[W]={};U=U[W]}let J=Q[Q.length-1];if(J)U[J]=X;return this}addItem(Z,X){if(!(Z in this.params)||!Array.isArray(this.params[Z]))this.params[Z]=[];return this.params[Z].push(X),this}remove(Z){return delete this.params[Z],this}has(Z){return Z in this.params}get(Z){return this.params[Z]}build(){return{...this.params}}getRaw(){return this.params}}var N={EVENT:"event",CONDITION:"condition",CONDITION_GROUP:"condition_group",ACTION:"action",ACTION_GROUP:"action_group",DO:"do"},D={EVENT_OUTPUT:"event-output",CONDITION_INPUT:"condition-input",CONDITION_OUTPUT:"output",CONDITION_OUTPUT_LEGACY:"condition-output",THEN_OUTPUT:"then-output",ELSE_OUTPUT:"else-output",CONDITION_GROUP_INPUT:"input",CONDITION_GROUP_OUTPUT:"cond-output",ACTION_INPUT:"action-input",ACTION_OUTPUT:"action-output",ACTION_OUTPUT_LEGACY:"action-group-output",ACTION_GROUP_INPUT:"input",ACTION_GROUP_OUTPUT:"action-output",ACTION_GROUP_CONDITION_OUTPUT:"condition-output",DO_INPUT:"do-input",DO_OUTPUT:"do-output",DO_CONDITION_OUTPUT:"do-condition-output"},x0={DO:"do",ELSE:"else"},IX={AND:"AND",OR:"OR"};var y9=(Z)=>Z.type===N.EVENT,x1=(Z)=>Z.type===N.CONDITION||Z.type===N.CONDITION_GROUP,K1=(Z)=>Z.type===N.ACTION||Z.type===N.ACTION_GROUP||Z.type===N.DO,_6=(Z)=>Z.type===N.DO;var $2=(Z)=>{return Z.data?.branchType===x0.ELSE?x0.ELSE:x0.DO};function yX(Z){let X=Z.data||{};return{id:X.id,on:X.event,name:X.name,description:X.description,priority:X.priority!==void 0?Number(X.priority):void 0,enabled:X.enabled!==void 0?!!X.enabled:void 0,cooldown:X.cooldown!==void 0?Number(X.cooldown):void 0,tags:X.tags}}function L0(Z,X,Q){let U=[...Q];return Z.edges.filter((J)=>J.source===X&&U.includes(J.sourceHandle||""))}var D1={CONDITION_OUTPUT:[D.CONDITION_OUTPUT,D.CONDITION_OUTPUT_LEGACY],ACTION_OUTPUT:[D.ACTION_OUTPUT,D.ACTION_OUTPUT_LEGACY],DO_OUTPUT:[D.DO_OUTPUT,""],THEN_ELSE:[D.THEN_OUTPUT,D.ELSE_OUTPUT],DO_CONDITION:[D.DO_CONDITION_OUTPUT],CONDITION_CHAIN:[D.CONDITION_OUTPUT,D.CONDITION_OUTPUT_LEGACY,D.THEN_OUTPUT,D.ELSE_OUTPUT],ANY:[D.CONDITION_OUTPUT,D.CONDITION_OUTPUT_LEGACY,""]};class vU{convert(Z,X){return{field:Z.field||"data",operator:Z.operator||"EQ",value:Z.value!==void 0?Z.value:""}}validate(Z){let X=[];if(!Z.field&&!Z.value)X.push("Condition must have at least a field or value");return{valid:X.length===0,errors:X.length>0?X:void 0}}}class xU{convert(Z,X){let Q={};try{if(Z.params)Q=typeof Z.params==="string"?JSON.parse(Z.params):Z.params}catch{Q={}}let U={type:Z.type||"log",params:Q};if(Z.delay!==void 0)U.delay=Number(Z.delay);if(Z.probability!==void 0)U.probability=Number(Z.probability);return U}validate(Z){let X=[];if(!Z.type)X.push('Action type defaults to "log"');return{valid:!0,warnings:X.length>0?X:void 0}}}class hU{convert(Z,X){return{id:Z.id,on:Z.event,name:Z.name,description:Z.description,priority:Z.priority!==void 0?Number(Z.priority):void 0,enabled:Z.enabled!==void 0?!!Z.enabled:void 0,cooldown:Z.cooldown!==void 0?Number(Z.cooldown):void 0,tags:Z.tags}}validate(Z){let X=[],Q=[];if(!Z.id)X.push("Event must have an ID");if(!Z.event)X.push("Event must have an event name");if(!Z.name)Q.push("Event should have a name");return{valid:X.length===0,errors:X.length>0?X:void 0,warnings:Q.length>0?Q:void 0}}}class mU{conditionConverter=new vU;actionConverter=new xU;eventConverter=new hU;getConditionConverter(){return this.conditionConverter}getActionConverter(){return this.actionConverter}getEventConverter(){return this.eventConverter}createContext(Z,X,Q,U){return{nodes:Z,edges:X,currentNode:Q,options:U}}}var uU=new mU;function kX(Z){let X=Z.data||{};return uU.getConditionConverter().convert(X,{nodes:[],edges:[]})}function gX(Z){let X=Z.data||{};return uU.getActionConverter().convert(X,{nodes:[],edges:[]})}function k9(Z,X){let Q=X.options.isCondNode||x1,U=X.nodes.find((L)=>L.id===Z);if(!U||U.type!==N.CONDITION_GROUP)return{conditions:[],operator:IX.AND};let J=U.data.operator||IX.AND,$=[],W=new Set;function Y(L){if(W.has(L))return;W.add(L);let q=X.nodes.find((H)=>H.id===L);if(!q||!Q(q)||q.type===N.CONDITION_GROUP)return;let V=kX(q);$.push(V);let _=L0(X,L,[...D1.CONDITION_OUTPUT,D.THEN_OUTPUT]).filter((H)=>{let F=X.nodes.find((z)=>z.id===H.target);return F&&Q(F)});for(let H of _)Y(H.target)}let G=L0(X,Z,[D.CONDITION_GROUP_OUTPUT]).filter((L)=>{let q=X.nodes.find((V)=>V.id===L.target);return q&&Q(q)});for(let L of G)Y(L.target);return{conditions:$,operator:J}}function S2(Z,X){if(X.options.resolveCondition&&X.options.resolveCondition!==S2)return X.options.resolveCondition(Z,X);if(X.visitedConds.has(Z))return null;X.visitedConds.add(Z);let Q=X.nodes.find((W)=>W.id===Z),U=X.options.isCondNode||x1;if(!Q||!U(Q))return null;if(Q.type===N.CONDITION_GROUP){let{conditions:W,operator:Y}=k9(Z,X);if(W.length===0)return null;if(W.length===1)return W[0];return{operator:Y,conditions:W}}let J=kX(Q);if(X.transformers?.condition){let W=X.transformers.condition(J,Q);if(W===null)return null;return W}let $=L0(X,Z,D1.CONDITION_OUTPUT).filter((W)=>{let Y=X.nodes.find((G)=>G.id===W.target);return Y&&U(Y)});if($.length>0){let W=$.map((Y)=>S2(Y.target,X)).filter((Y)=>Y!==null);if(W.length>0)return{operator:"AND",conditions:[J,...W]}}return J}function vX(Z,X){let Q=X.options.isCondNode||x1,U,J;function $(W){let Y=X.nodes.find((q)=>q.id===W);if(!Y||!Q(Y))return;let G=X.edges.filter((q)=>q.source===W);for(let q of G){let V=X.nodes.find((_)=>_.id===q.target);if(!V)continue;if(V.type===N.ACTION||V.type===N.ACTION_GROUP||V.type===N.DO)if(V.type===N.DO?V.data?.branchType==="else":q.sourceHandle===D.ELSE_OUTPUT)J=q.target;else U=q.target}let L=L0(X,W,D1.CONDITION_OUTPUT).filter((q)=>{let V=X.nodes.find((_)=>_.id===q.target);return V&&Q(V)});for(let q of L)$(q.target)}return $(Z),{thenActionId:U,elseActionId:J}}function $4(Z,X){let Q=X.options.isActNode||K1,U=X.nodes.find((q)=>q.id===Z);if(!U||U.type!==N.ACTION_GROUP)return{actions:[],mode:"ALL"};let J=U.data.mode||"ALL",$=[],W=new Set;function Y(q){if(W.has(q))return;W.add(q);let V=X.nodes.find((F)=>F.id===q);if(!V||!Q(V)||V.type===N.ACTION_GROUP)return;let _=gX(V);$.push(_);let H=L0(X,q,D1.ACTION_OUTPUT).filter((F)=>{let z=X.nodes.find((B)=>B.id===F.target);return z&&Q(z)});for(let F of H)Y(F.target)}let G=L0(X,Z,[D.ACTION_GROUP_OUTPUT,D.DO_OUTPUT,"do-output","action-output","action-group-output"]).filter((q)=>{let V=X.nodes.find((_)=>_.id===q.target);return V&&Q(V)});for(let q of G)Y(q.target);let L=L0(X,Z,[D.ACTION_GROUP_CONDITION_OUTPUT,"condition-output",D.ACTION_GROUP_OUTPUT,"action-output",""]).filter((q)=>{let V=X.nodes.find((_)=>_.id===q.target);return V&&(V.type===N.CONDITION||V.type===N.CONDITION_GROUP)});for(let q of L){let V=M0(q.target,X);if(V)$.push(V)}return{actions:$,mode:J}}function M0(Z,X){if(X.options.resolveAction&&X.options.resolveAction!==M0)return X.options.resolveAction(Z,X);let Q=X.nodes.find((W)=>W.id===Z);if(!Q)return null;if(Q.type===N.ACTION_GROUP){if(X.visitedActs?.has(Z))return null;X.visitedActs?.add(Z);let{actions:W,mode:Y}=$4(Z,X);if(W.length===0)return null;return{mode:Y,actions:W}}if(Q.type===N.DO){if(X.visitedActs?.has(Z))return null;X.visitedActs?.add(Z);let W=xX(Z,X);if(W.length===0)return null;if(W.length===1)return W[0];return{mode:"ALL",actions:W}}if(Q.type===N.CONDITION||Q.type===N.CONDITION_GROUP){if(X.options.resolveCondition){let W=X.options.resolveCondition(Z,X);if(W){let{doBranches:Y,elseBranches:G}=z6(Z,X),L=null,q=null;if(Y.length>0){let V=Y[0],_=xX(V,X);if(_.length>0)L=_.length===1?_[0]:{mode:"ALL",actions:_}}if(G.length>0){let V=G[0],_=xX(V,X);if(_.length>0)q=_.length===1?_[0]:{mode:"ALL",actions:_}}if(!L&&!q){let V=vX(Z,X);if(V.thenActionId)L=M0(V.thenActionId,X);if(V.elseActionId)q=M0(V.elseActionId,X)}if(L||q)return{if:W,do:L??void 0,else:q??void 0}}}}let U=X.options.isActNode||K1;if(!U(Q))return null;if(X.visitedActs?.has(Z))return null;X.visitedActs?.add(Z);let J=gX(Q);if(X.transformers?.action){let W=X.transformers.action(J,Q);if(W===null)return null;let Y=L0(X,Z,D1.ACTION_OUTPUT).filter((G)=>{let L=X.nodes.find((q)=>q.id===G.target);return L&&U(L)});if(Y.length>0){let G=[W];for(let L of Y){let q=M0(L.target,X);if(q)G.push(q)}return{mode:"ALL",actions:G}}return W}let $=L0(X,Z,D1.ACTION_OUTPUT).filter((W)=>{let Y=X.nodes.find((G)=>G.id===W.target);return Y&&U(Y)});if($.length>0){let W=[J];for(let Y of $){let G=M0(Y.target,X);if(G)W.push(G)}return{mode:"SEQUENCE",actions:W}}return J}function xX(Z,X){let Q=X.options.isActNode||K1,U=[],J=L0(X,Z,[D.DO_OUTPUT,D.ELSE_OUTPUT,"do-output","else-output","action-output",""]).filter(($)=>{let W=X.nodes.find((Y)=>Y.id===$.target);return W&&Q(W)});for(let $ of J){let W=M0($.target,X);if(W)U.push(W)}return U}function z6(Z,X){let Q=(G)=>G.type===N.CONDITION||G.type===N.CONDITION_GROUP,U=(G)=>G.type===N.DO,J=[],$=[],W=new Set;function Y(G){if(W.has(G))return;W.add(G);let L=X.nodes.find((V)=>V.id===G);if(!L)return;if(L.type===N.CONDITION_GROUP){let V=L0(X,G,[D.CONDITION_GROUP_OUTPUT,"cond-output","output",""]);for(let _ of V){let H=X.nodes.find((F)=>F.id===_.target);if(H){if(U(H)){if($2(H)===x0.ELSE){if(!$.includes(H.id))$.push(H.id)}else if(!J.includes(H.id))J.push(H.id)}else if(Q(H))Y(H.id)}}return}let q=X.edges.filter((V)=>V.source===G);for(let V of q){let _=X.nodes.find((H)=>H.id===V.target);if(!_)continue;if(U(_)){if($2(_)===x0.ELSE){if(!$.includes(_.id))$.push(_.id)}else if(!J.includes(_.id))J.push(_.id)}else if(Q(_))Y(_.id)}}return Y(Z),{doBranches:J,elseBranches:$}}var pU;((Y)=>{Y.MISSING_EVENT_NODE="MISSING_EVENT_NODE";Y.MISSING_RULE_ID_OR_EVENT_NAME="MISSING_RULE_ID_OR_EVENT_NAME";Y.NO_EVENTS_FOUND="NO_EVENTS_FOUND";Y.RULE_ID_REQUIRED="RULE_ID_REQUIRED";Y.RULE_ON_EVENT_REQUIRED="RULE_ON_EVENT_REQUIRED";Y.RULE_DO_ACTION_REQUIRED="RULE_DO_ACTION_REQUIRED";Y.PARSE_FAILED="PARSE_FAILED"})(pU||={});class w1 extends Error{code;eventId;constructor(Z,X,Q){super(Z);this.name="GraphParserError",this.code=X,this.eventId=Q}}function EL(Z,X,Q={},U){let J={...Q,resolveCondition:Q.resolveCondition||S2,resolveAction:Q.resolveAction||M0};return{nodes:Z,edges:X,visitedConds:new Set,visitedActs:new Set,options:J,transformers:U}}var Dw=$2,fL=yX;function IL(Z,X,Q){let U=X.options.isCondNode||x1,J=_6,$=X.edges.filter((F)=>F.source===Z).find((F)=>{let z=X.nodes.find((B)=>B.id===F.target);return z&&U(z)}),W;if($)W=$.target;if(!W)return null;let Y=new Set(X.visitedConds);X.visitedConds.clear();let G=S2(W,X);if(X.visitedConds=Y,!G)return null;let{thenActionId:L,elseActionId:q}=hX(W,X),V=X.edges.filter((F)=>F.source===Z).find((F)=>{let z=X.nodes.find((B)=>B.id===F.target);return z&&(X.options.isActNode?.(z)??K1(z))&&z.type!==N.DO});if(V&&!q)q=V.target;let _=L?M0(L,X):void 0,H=q?M0(q,X):void 0;return{if:G,do:_??void 0,else:H??void 0}}function H6(Z,X,Q){let U=X.options.isActNode||K1,J=[],$=X.edges.filter((Y)=>Y.source===Z).filter((Y)=>{let G=X.nodes.find((L)=>L.id===Y.target);return G&&(U(G)&&G.type!==N.DO&&G.type!==N.CONDITION&&G.type!==N.CONDITION_GROUP)});for(let Y of $){let G=M0(Y.target,X);if(G)J.push(G)}let W=IL(Z,X,Q);if(W)J.push(W);return J}function hX(Z,X){let Q=X.options.isCondNode||x1,U=X.options.isActNode||K1,J=_6,$,W;function Y(G){let L=X.nodes.find((_)=>_.id===G);if(!L||!Q(L))return;let q=L0(X,G,[D.THEN_OUTPUT,D.ELSE_OUTPUT,D.CONDITION_OUTPUT,D.CONDITION_OUTPUT_LEGACY,D.DO_OUTPUT,""]);for(let _ of q){let H=X.nodes.find((F)=>F.id===_.target);if(!H)continue;if(J(H)){let F=L0(X,H.id,[D.DO_OUTPUT,""]).filter((P)=>{let O=X.nodes.find((S)=>S.id===P.target);return O&&U(O)}),z=$2(H);for(let P of F)if(z===x0.ELSE)W=P.target;else $=P.target;let B=L0(X,H.id,[D.DO_CONDITION_OUTPUT]),K=B.find((P)=>{let O=X.nodes.find((S)=>S.id===P.target);return O&&Q(O)}),w=B.find((P)=>{let O=X.nodes.find((S)=>S.id===P.target);return O&&U(O)});if(w&&!W)W=w.target;continue}if(H.type===N.ACTION_GROUP){$=_.target;continue}if(!U(H))continue;if(_.sourceHandle===D.ELSE_OUTPUT)W=_.target;else $=_.target}let V=L0(X,G,D1.CONDITION_OUTPUT).filter((_)=>{let H=X.nodes.find((F)=>F.id===_.target);return H&&Q(H)});for(let _ of V)Y(_.target)}return Y(Z),{thenActionId:$,elseActionId:W}}function mX(Z,X,Q={},U){let J=new uX;if(Q.optimizeOptions)J.withOptimizeOptions(Q.optimizeOptions);let $=Q.isEventNode||y9,W=Q.isCondNode||x1,Y=Q.isActNode||K1,G=_6,L=Q.extractEventData||fL,q=Z.find((O)=>$(O));if(!q)throw new w1("Missing Event Trigger node","MISSING_EVENT_NODE");let V=L(q);if(!V.id||!V.on)throw new w1("Rule ID and Event Name are required","MISSING_RULE_ID_OR_EVENT_NAME",V.id);if(J.id(V.id).on(V.on),V.name)J.name(V.name);if(V.description)J.description(V.description);if(V.priority!==void 0)J.priority(Number(V.priority));if(V.enabled!==void 0)J.enabled(!!V.enabled);if(V.cooldown!==void 0)J.cooldown(Number(V.cooldown));if(V.tags)J.tags(V.tags);let _=EL(Z,X,Q,U),H=X.filter((O)=>O.source===q.id),F=[],z=[],B=[],K=[];for(let O of H){let S=_.nodes.find((C)=>C.id===O.target);if(!S)continue;if(S.type===N.CONDITION_GROUP)F.push(O.target);else if(W(S))z.push(O.target);else if(S.type===N.ACTION_GROUP)B.push(O.target);else if(Y(S))K.push(O.target)}for(let O of F){let{conditions:S,operator:C}=k9(O,_);if(S.length>0){let y={operator:C,conditions:S};J.withIf(y);let A=X.filter((t)=>t.source===O),d=A.filter((t)=>{let c=_.nodes.find((r)=>r.id===t.target);return c&&W(c)&&(t.sourceHandle?.startsWith("cond")||t.sourceHandle===D.CONDITION_GROUP_OUTPUT)}).map((t)=>t.target),e=A.filter((t)=>{let c=_.nodes.find((r)=>r.id===t.target);return c&&Y(c)}).map((t)=>t.target),X0=null,h=null;for(let t of e){let c=_.nodes.find((r)=>r.id===t);if(!c)continue;if(G(c)){let r=H6(c.id,_,O),T0=$2(c);if(r.length>0){let d1=r.length===1?r[0]:{mode:"ALL",actions:r};if(T0===x0.ELSE)h=d1;else X0=d1}}else{let r=M0(t,_);if(r)X0=r}}if(!X0||!h)for(let t of d){let c=hX(t,_),r=c.thenActionId?M0(c.thenActionId,_):null,T0=c.elseActionId?M0(c.elseActionId,_):null,{doBranches:d1,elseBranches:P4}=z6(t,_),H2=[];for(let w8 of d1){let P8=H6(w8,_,t);H2.push(...P8)}if(H2.length>0&&!r)r=H2.length===1?H2[0]:{mode:"ALL",actions:H2};let A4=[];for(let w8 of P4){let P8=H6(w8,_,t);A4.push(...P8)}if(A4.length>0&&!T0)T0=A4.length===1?A4[0]:{mode:"ALL",actions:A4};if(r&&!X0)X0=r;if(T0&&!h)h=T0}if(X0)J.withDo(X0);if(h)J.elseRule(h)}}if(z.length>0&&F.length===0){let O=[],S,C;for(let c of z){let r=S2(c,_);if(r)O.push(r);let T0=hX(c,_);if(T0.thenActionId)S=T0.thenActionId;if(T0.elseActionId)C=T0.elseActionId}if(O.length===1)J.withIf(O[0]);else if(O.length>1)J.withIf({operator:"AND",conditions:O});let y=z[0];if(!y)return J;let{doBranches:A,elseBranches:d}=z6(y,_),e=[];for(let c of A){let r=H6(c,_,y);e.push(...r)}let X0=e.length===1?e[0]:e.length>1?{mode:"ALL",actions:e}:S?M0(S,_):null,h=[];for(let c of d){let r=H6(c,_,y);h.push(...r)}let t=h.length===1?h[0]:h.length>1?{mode:"ALL",actions:h}:C?M0(C,_):null;if(X0)J.withDo(X0);if(t)J.elseRule(t);if(!S&&!e.length)for(let c of z){let r=L0(_,c,[D.THEN_OUTPUT,D.CONDITION_OUTPUT,"condition-output","then-output","output",""]).filter((T0)=>{return _.nodes.find((P4)=>P4.id===T0.target)?.type===N.ACTION_GROUP});for(let T0 of r){let{actions:d1,mode:P4}=$4(T0.target,_);if(d1.length>0){let H2={mode:P4,actions:d1};J.withDo(H2);break}}}}let w=new Set;if(z.length>0&&F.length===0)for(let O of z){let S=L0(_,O,[D.THEN_OUTPUT,D.CONDITION_OUTPUT,"condition-output","then-output","output",""]).filter((C)=>{return _.nodes.find((A)=>A.id===C.target)?.type===N.ACTION_GROUP});for(let C of S)w.add(C.target)}let P=B.filter((O)=>!w.has(O));if(P.length>0)for(let O of P)if(L0(_,O,[D.ACTION_GROUP_CONDITION_OUTPUT,"condition-output"]).filter((C)=>{let y=_.nodes.find((A)=>A.id===C.target);return y&&W(y)}).length>0){let{actions:C,mode:y}=$4(O,_);if(C.length>0){let A={mode:y,actions:C};J.withDo(A)}}else{let{actions:C,mode:y}=$4(O,_);if(C.length>0)J.withDo({mode:y,actions:C})}if(K.length>0&&z.length===0&&F.length===0)for(let O of K){let S=M0(O,_);if(S)J.withDo(S)}return J}function lU(Z,X,Q={},U){let J=Q.isEventNode||y9,$=Z.filter((G)=>J(G));if($.length===0)return{rules:[],errors:[new w1("No Event nodes found in the graph","NO_EVENTS_FOUND")]};let W=[],Y=[];for(let G of $)try{let L=G.id,q=new Set([L]),V=[L];while(V.length>0){let B=V.shift(),K=X.filter((w)=>w.source===B);for(let w of K)if(!q.has(w.target))q.add(w.target),V.push(w.target)}let _=Z.filter((B)=>q.has(B.id)),H=X.filter((B)=>q.has(B.source)&&q.has(B.target)),z=mX(_,H,Q,U).build();W.push(z)}catch(L){if(L instanceof w1){if(!L.eventId)L.eventId=G.id;Y.push(L)}else{let q=L instanceof Error?L.message:String(L);Y.push(new w1(`Failed to parse rule for event ${G.id}: ${q}`,"PARSE_FAILED",G.id))}}return{rules:W,errors:Y}}class uX{rule={enabled:!0,priority:0};optimizeOptions={};static fromGraph(Z,X,Q,U){return mX(Z,X,Q,U)}static fromGraphMultiple(Z,X,Q,U){return lU(Z,X,Q,U)}withId(Z){return this.rule.id=Z,this}withName(Z){return this.rule.name=Z,this}withDescription(Z){return this.rule.description=Z,this}withPriority(Z){return this.rule.priority=Z,this}withCooldown(Z){return this.rule.cooldown=Z,this}withTags(Z){return this.rule.tags=Z,this}withEnabled(Z){return this.rule.enabled=Z,this}withOptimizeOptions(Z){return this.optimizeOptions=Z,this}id(Z){return this.withId(Z)}name(Z){return this.withName(Z)}description(Z){return this.withDescription(Z)}priority(Z){return this.withPriority(Z)}enabled(Z){return this.withEnabled(Z)}cooldown(Z){return this.withCooldown(Z)}tags(Z){return this.withTags(Z)}optimize(Z){return this.withOptimizeOptions(Z)}on(Z){return this.rule.on=Z,this}if(Z,X,Q){if(!this.rule.if)this.rule.if={field:Z,operator:X,value:Q};else if(Array.isArray(this.rule.if))this.rule.if.push({field:Z,operator:X,value:Q});else this.rule.if=[this.rule.if,{field:Z,operator:X,value:Q}];return this}ifComplex(Z){let X=new J2,Q=Z(X).build();return this.rule.if=Q,this}withIf(Z){return this.rule.if=Z,this}do(Z,X,Q){let U={type:Z,params:X,...Q};if(!this.rule.do)this.rule.do=U;else if(Array.isArray(this.rule.do))this.rule.do.push(U);else if(this.rule.do&&typeof this.rule.do==="object"&&"actions"in this.rule.do)this.rule.do.actions.push(U);else this.rule.do=[this.rule.do,U];return this}doComplex(Z){let X=new V6,Q=Z(X).build();return this.rule.do=Q,this}withDo(Z){return this.rule.do=Z,this}elseRule(Z){return this.rule.else=Z,this}when(Z,X,Q){return new I9(this,Z,X,Q)}whenComplex(Z){let X=new J2,Q=Z(X).build();return new I9(this,Q)}then(Z,X,Q){return this.do(Z,X,Q)}ifAction(Z,X,Q){let U=this.rule.do;if(!U)throw Error("Cannot add condition: no action defined. Use do() or then() first.");let J=($)=>({...$,if:{field:Z,operator:X,value:Q}});if(Array.isArray(U)){let $=U.length-1,W=U[$];if(W&&"actions"in W){let Y=W.actions,G=Y.length-1;if(G>=0)Y[G]=J(Y[G])}else if(W)U[$]=J(W)}else if(U&&"actions"in U){let $=U.actions,W=$.length-1;if(W>=0)$[W]=J($[W])}else if(U)this.rule.do=J(U);return this}thenAction(Z){let X=this.rule.do;if(!X)throw Error("Cannot add then: no action defined. Use do() or then() first.");let Q=(U)=>({...U,then:Z});if(Array.isArray(X)){let U=X.length-1,J=X[U];if(J&&"actions"in J){let $=J.actions,W=$.length-1;if(W>=0)$[W]=Q($[W])}else if(J)X[U]=Q(J)}else if(X&&"actions"in X){let U=X.actions,J=U.length-1;if(J>=0)U[J]=Q(U[J])}else if(X)this.rule.do=Q(X);return this}else(Z){let X=this.rule.do;if(!X)throw Error("Cannot add else: no action defined. Use do() or then() first.");let Q=(U)=>({...U,else:Z});if(Array.isArray(X)){let U=X.length-1,J=X[U];if(J&&"actions"in J){let $=J.actions,W=$.length-1;if(W>=0)$[W]=Q($[W])}else if(J)X[U]=Q(J)}else if(X&&"actions"in X){let U=X.actions,J=U.length-1;if(J>=0)U[J]=Q(U[J])}else if(X)this.rule.do=[Q(X)];return this}elseAction(Z){return this.else(Z)}build(){if(!this.rule.id)throw new w1("Rule ID is required","RULE_ID_REQUIRED");if(!this.rule.on)throw new w1("Rule 'on' event is required","RULE_ON_EVENT_REQUIRED",this.rule.id);if(!this.rule.do)throw new w1("Rule 'do' action is required","RULE_DO_ACTION_REQUIRED",this.rule.id);if(this.rule.if)this.rule.if=L6(this.rule.if,this.optimizeOptions);if(this.rule.do){let Z=q6(this.rule.do,this.optimizeOptions);this.rule.do=Z?Z:this.rule.do}return this.rule}}class I9{parent;condition;thenActions;elseActions;constructor(Z,X,Q,U){if(this.parent=Z,typeof X==="string")this.condition={field:X,operator:Q,value:U};else this.condition=X}then(Z,X,Q){if(typeof Z==="string")this.thenActions={type:Z,params:X,...Q};else this.thenActions=Z;return this}do(Z,X,Q){return this.then(Z,X,Q)}done(){return this.build()}else(Z,X,Q){if(typeof Z==="string")this.elseActions={type:Z,params:X,...Q};else this.elseActions=Z;return this.build()}build(){let Z={if:this.condition};if(this.thenActions)Z.then=this.thenActions;if(this.elseActions)Z.else=this.elseActions;let X=this.parent.rule.do;if(!X)this.parent.rule.do=Z;else if(Array.isArray(X))X.push(Z);else this.parent.rule.do=[X,Z];return this.parent}}var F7={};h6(F7,{visitAsync:()=>F6,visit:()=>q1,stringify:()=>hJ,parseDocument:()=>H7,parseAllDocuments:()=>R8,parse:()=>O8,isSeq:()=>Z1,isScalar:()=>x,isPair:()=>p,isNode:()=>l,isMap:()=>e0,isDocument:()=>t0,isCollection:()=>n,isAlias:()=>l0,YAMLWarning:()=>j6,YAMLSeq:()=>P0,YAMLParseError:()=>Q1,YAMLMap:()=>q0,YAMLError:()=>S6,Schema:()=>H4,Scalar:()=>f,Parser:()=>O4,Pair:()=>Y0,LineCounter:()=>k6,Lexer:()=>y6,Document:()=>S1,Composer:()=>B4,CST:()=>_7,Alias:()=>m1});var g9=Symbol.for("yaml.alias"),v9=Symbol.for("yaml.document"),L1=Symbol.for("yaml.map"),pX=Symbol.for("yaml.pair"),p0=Symbol.for("yaml.scalar"),h1=Symbol.for("yaml.seq"),N0=Symbol.for("yaml.node.type"),l0=(Z)=>!!Z&&typeof Z==="object"&&Z[N0]===g9,t0=(Z)=>!!Z&&typeof Z==="object"&&Z[N0]===v9,e0=(Z)=>!!Z&&typeof Z==="object"&&Z[N0]===L1,p=(Z)=>!!Z&&typeof Z==="object"&&Z[N0]===pX,x=(Z)=>!!Z&&typeof Z==="object"&&Z[N0]===p0,Z1=(Z)=>!!Z&&typeof Z==="object"&&Z[N0]===h1;function n(Z){if(Z&&typeof Z==="object")switch(Z[N0]){case L1:case h1:return!0}return!1}function l(Z){if(Z&&typeof Z==="object")switch(Z[N0]){case g9:case L1:case p0:case h1:return!0}return!1}var x9=(Z)=>(x(Z)||n(Z))&&!!Z.anchor;var h0=Symbol("break visit"),dU=Symbol("skip children"),P1=Symbol("remove node");function q1(Z,X){let Q=cU(X);if(t0(Z)){if(W4(null,Z.contents,Q,Object.freeze([Z]))===P1)Z.contents=null}else W4(null,Z,Q,Object.freeze([]))}q1.BREAK=h0;q1.SKIP=dU;q1.REMOVE=P1;function W4(Z,X,Q,U){let J=iU(Z,X,Q,U);if(l(J)||p(J))return sU(Z,U,J),W4(Z,J,Q,U);if(typeof J!=="symbol"){if(n(X)){U=Object.freeze(U.concat(X));for(let $=0;$<X.items.length;++$){let W=W4($,X.items[$],Q,U);if(typeof W==="number")$=W-1;else if(W===h0)return h0;else if(W===P1)X.items.splice($,1),$-=1}}else if(p(X)){U=Object.freeze(U.concat(X));let $=W4("key",X.key,Q,U);if($===h0)return h0;else if($===P1)X.key=null;let W=W4("value",X.value,Q,U);if(W===h0)return h0;else if(W===P1)X.value=null}}return J}async function F6(Z,X){let Q=cU(X);if(t0(Z)){if(await Y4(null,Z.contents,Q,Object.freeze([Z]))===P1)Z.contents=null}else await Y4(null,Z,Q,Object.freeze([]))}F6.BREAK=h0;F6.SKIP=dU;F6.REMOVE=P1;async function Y4(Z,X,Q,U){let J=await iU(Z,X,Q,U);if(l(J)||p(J))return sU(Z,U,J),Y4(Z,J,Q,U);if(typeof J!=="symbol"){if(n(X)){U=Object.freeze(U.concat(X));for(let $=0;$<X.items.length;++$){let W=await Y4($,X.items[$],Q,U);if(typeof W==="number")$=W-1;else if(W===h0)return h0;else if(W===P1)X.items.splice($,1),$-=1}}else if(p(X)){U=Object.freeze(U.concat(X));let $=await Y4("key",X.key,Q,U);if($===h0)return h0;else if($===P1)X.key=null;let W=await Y4("value",X.value,Q,U);if(W===h0)return h0;else if(W===P1)X.value=null}}return J}function cU(Z){if(typeof Z==="object"&&(Z.Collection||Z.Node||Z.Value))return Object.assign({Alias:Z.Node,Map:Z.Node,Scalar:Z.Node,Seq:Z.Node},Z.Value&&{Map:Z.Value,Scalar:Z.Value,Seq:Z.Value},Z.Collection&&{Map:Z.Collection,Seq:Z.Collection},Z);return Z}function iU(Z,X,Q,U){if(typeof Q==="function")return Q(Z,X,U);if(e0(X))return Q.Map?.(Z,X,U);if(Z1(X))return Q.Seq?.(Z,X,U);if(p(X))return Q.Pair?.(Z,X,U);if(x(X))return Q.Scalar?.(Z,X,U);if(l0(X))return Q.Alias?.(Z,X,U);return}function sU(Z,X,Q){let U=X[X.length-1];if(n(U))U.items[Z]=Q;else if(p(U))if(Z==="key")U.key=Q;else U.value=Q;else if(t0(U))U.contents=Q;else{let J=l0(U)?"alias":"scalar";throw Error(`Cannot replace node with ${J} parent`)}}var yL={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},kL=(Z)=>Z.replace(/[!,[\]{}]/g,(X)=>yL[X]);class K0{constructor(Z,X){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},K0.defaultYaml,Z),this.tags=Object.assign({},K0.defaultTags,X)}clone(){let Z=new K0(this.yaml,this.tags);return Z.docStart=this.docStart,Z}atDocument(){let Z=new K0(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:K0.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},K0.defaultTags);break}return Z}add(Z,X){if(this.atNextDocument)this.yaml={explicit:K0.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},K0.defaultTags),this.atNextDocument=!1;let Q=Z.trim().split(/[ \t]+/),U=Q.shift();switch(U){case"%TAG":{if(Q.length!==2){if(X(0,"%TAG directive should contain exactly two parts"),Q.length<2)return!1}let[J,$]=Q;return this.tags[J]=$,!0}case"%YAML":{if(this.yaml.explicit=!0,Q.length!==1)return X(0,"%YAML directive should contain exactly one part"),!1;let[J]=Q;if(J==="1.1"||J==="1.2")return this.yaml.version=J,!0;else{let $=/^\d+\.\d+$/.test(J);return X(6,`Unsupported YAML version ${J}`,$),!1}}default:return X(0,`Unknown directive ${U}`,!0),!1}}tagName(Z,X){if(Z==="!")return"!";if(Z[0]!=="!")return X(`Not a valid tag: ${Z}`),null;if(Z[1]==="<"){let $=Z.slice(2,-1);if($==="!"||$==="!!")return X(`Verbatim tags aren't resolved, so ${Z} is invalid.`),null;if(Z[Z.length-1]!==">")X("Verbatim tags must end with a >");return $}let[,Q,U]=Z.match(/^(.*!)([^!]*)$/s);if(!U)X(`The ${Z} tag has no suffix`);let J=this.tags[Q];if(J)try{return J+decodeURIComponent(U)}catch($){return X(String($)),null}if(Q==="!")return Z;return X(`Could not resolve tag: ${Z}`),null}tagString(Z){for(let[X,Q]of Object.entries(this.tags))if(Z.startsWith(Q))return X+kL(Z.substring(Q.length));return Z[0]==="!"?Z:`!<${Z}>`}toString(Z){let X=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],Q=Object.entries(this.tags),U;if(Z&&Q.length>0&&l(Z.contents)){let J={};q1(Z.contents,($,W)=>{if(l(W)&&W.tag)J[W.tag]=!0}),U=Object.keys(J)}else U=[];for(let[J,$]of Q){if(J==="!!"&&$==="tag:yaml.org,2002:")continue;if(!Z||U.some((W)=>W.startsWith($)))X.push(`%TAG ${J} ${$}`)}return X.join(`
47
- `)}}K0.defaultYaml={explicit:!1,version:"1.2"};K0.defaultTags={"!!":"tag:yaml.org,2002:"};function h9(Z){if(/[\x00-\x19\s,[\]{}]/.test(Z)){let Q=`Anchor must not contain whitespace or control characters: ${JSON.stringify(Z)}`;throw Error(Q)}return!0}function lX(Z){let X=new Set;return q1(Z,{Value(Q,U){if(U.anchor)X.add(U.anchor)}}),X}function dX(Z,X){for(let Q=1;;++Q){let U=`${Z}${Q}`;if(!X.has(U))return U}}function rU(Z,X){let Q=[],U=new Map,J=null;return{onAnchor:($)=>{Q.push($),J??(J=lX(Z));let W=dX(X,J);return J.add(W),W},setAnchors:()=>{for(let $ of Q){let W=U.get($);if(typeof W==="object"&&W.anchor&&(x(W.node)||n(W.node)))W.node.anchor=W.anchor;else{let Y=Error("Failed to resolve repeated object (this should not happen)");throw Y.source=$,Y}}},sourceObjects:U}}function W2(Z,X,Q,U){if(U&&typeof U==="object")if(Array.isArray(U))for(let J=0,$=U.length;J<$;++J){let W=U[J],Y=W2(Z,U,String(J),W);if(Y===void 0)delete U[J];else if(Y!==W)U[J]=Y}else if(U instanceof Map)for(let J of Array.from(U.keys())){let $=U.get(J),W=W2(Z,U,J,$);if(W===void 0)U.delete(J);else if(W!==$)U.set(J,W)}else if(U instanceof Set)for(let J of Array.from(U)){let $=W2(Z,U,J,J);if($===void 0)U.delete(J);else if($!==J)U.delete(J),U.add($)}else for(let[J,$]of Object.entries(U)){let W=W2(Z,U,J,$);if(W===void 0)delete U[J];else if(W!==$)U[J]=W}return Z.call(X,Q,U)}function R0(Z,X,Q){if(Array.isArray(Z))return Z.map((U,J)=>R0(U,String(J),Q));if(Z&&typeof Z.toJSON==="function"){if(!Q||!x9(Z))return Z.toJSON(X,Q);let U={aliasCount:0,count:1,res:void 0};Q.anchors.set(Z,U),Q.onCreate=($)=>{U.res=$,delete Q.onCreate};let J=Z.toJSON(X,Q);if(Q.onCreate)Q.onCreate(J);return J}if(typeof Z==="bigint"&&!Q?.keep)return Number(Z);return Z}class j2{constructor(Z){Object.defineProperty(this,N0,{value:Z})}clone(){let Z=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));if(this.range)Z.range=this.range.slice();return Z}toJS(Z,{mapAsMap:X,maxAliasCount:Q,onAnchor:U,reviver:J}={}){if(!t0(Z))throw TypeError("A document argument is required");let $={anchors:new Map,doc:Z,keep:!0,mapAsMap:X===!0,mapKeyWarned:!1,maxAliasCount:typeof Q==="number"?Q:100},W=R0(this,"",$);if(typeof U==="function")for(let{count:Y,res:G}of $.anchors.values())U(G,Y);return typeof J==="function"?W2(J,{"":W},"",W):W}}class m1 extends j2{constructor(Z){super(g9);this.source=Z,Object.defineProperty(this,"tag",{set(){throw Error("Alias nodes cannot have tags")}})}resolve(Z,X){let Q;if(X?.aliasResolveCache)Q=X.aliasResolveCache;else if(Q=[],q1(Z,{Node:(J,$)=>{if(l0($)||x9($))Q.push($)}}),X)X.aliasResolveCache=Q;let U=void 0;for(let J of Q){if(J===this)break;if(J.anchor===this.source)U=J}return U}toJSON(Z,X){if(!X)return{source:this.source};let{anchors:Q,doc:U,maxAliasCount:J}=X,$=this.resolve(U,X);if(!$){let Y=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw ReferenceError(Y)}let W=Q.get($);if(!W)R0($,null,X),W=Q.get($);if(W?.res===void 0)throw ReferenceError("This should not happen: Alias anchor was not resolved?");if(J>=0){if(W.count+=1,W.aliasCount===0)W.aliasCount=m9(U,$,Q);if(W.count*W.aliasCount>J)throw ReferenceError("Excessive alias count indicates a resource exhaustion attack")}return W.res}toString(Z,X,Q){let U=`*${this.source}`;if(Z){if(h9(this.source),Z.options.verifyAliasOrder&&!Z.anchors.has(this.source)){let J=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw Error(J)}if(Z.implicitKey)return`${U} `}return U}}function m9(Z,X,Q){if(l0(X)){let U=X.resolve(Z),J=Q&&U&&Q.get(U);return J?J.count*J.aliasCount:0}else if(n(X)){let U=0;for(let J of X.items){let $=m9(Z,J,Q);if($>U)U=$}return U}else if(p(X)){let U=m9(Z,X.key,Q),J=m9(Z,X.value,Q);return Math.max(U,J)}return 1}var u9=(Z)=>!Z||typeof Z!=="function"&&typeof Z!=="object";class f extends j2{constructor(Z){super(p0);this.value=Z}toJSON(Z,X){return X?.keep?this.value:R0(this.value,Z,X)}toString(){return String(this.value)}}f.BLOCK_FOLDED="BLOCK_FOLDED";f.BLOCK_LITERAL="BLOCK_LITERAL";f.PLAIN="PLAIN";f.QUOTE_DOUBLE="QUOTE_DOUBLE";f.QUOTE_SINGLE="QUOTE_SINGLE";var gL="tag:yaml.org,2002:";function vL(Z,X,Q){if(X){let U=Q.filter(($)=>$.tag===X),J=U.find(($)=>!$.format)??U[0];if(!J)throw Error(`Tag ${X} not found`);return J}return Q.find((U)=>U.identify?.(Z)&&!U.format)}function u1(Z,X,Q){if(t0(Z))Z=Z.contents;if(l(Z))return Z;if(p(Z)){let V=Q.schema[L1].createNode?.(Q.schema,null,Q);return V.items.push(Z),V}if(Z instanceof String||Z instanceof Number||Z instanceof Boolean||typeof BigInt<"u"&&Z instanceof BigInt)Z=Z.valueOf();let{aliasDuplicateObjects:U,onAnchor:J,onTagObj:$,schema:W,sourceObjects:Y}=Q,G=void 0;if(U&&Z&&typeof Z==="object")if(G=Y.get(Z),G)return G.anchor??(G.anchor=J(Z)),new m1(G.anchor);else G={anchor:null,node:null},Y.set(Z,G);if(X?.startsWith("!!"))X=gL+X.slice(2);let L=vL(Z,X,W.tags);if(!L){if(Z&&typeof Z.toJSON==="function")Z=Z.toJSON();if(!Z||typeof Z!=="object"){let V=new f(Z);if(G)G.node=V;return V}L=Z instanceof Map?W[L1]:(Symbol.iterator in Object(Z))?W[h1]:W[L1]}if($)$(L),delete Q.onTagObj;let q=L?.createNode?L.createNode(Q.schema,Z,Q):typeof L?.nodeClass?.from==="function"?L.nodeClass.from(Q.schema,Z,Q):new f(Z);if(X)q.tag=X;else if(!L.default)q.tag=L.tag;if(G)G.node=q;return q}function B6(Z,X,Q){let U=Q;for(let J=X.length-1;J>=0;--J){let $=X[J];if(typeof $==="number"&&Number.isInteger($)&&$>=0){let W=[];W[$]=U,U=W}else U=new Map([[$,U]])}return u1(U,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw Error("This should not happen, please report a bug.")},schema:Z,sourceObjects:new Map})}var G4=(Z)=>Z==null||typeof Z==="object"&&!!Z[Symbol.iterator]().next().done;class M6 extends j2{constructor(Z,X){super(Z);Object.defineProperty(this,"schema",{value:X,configurable:!0,enumerable:!1,writable:!0})}clone(Z){let X=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));if(Z)X.schema=Z;if(X.items=X.items.map((Q)=>l(Q)||p(Q)?Q.clone(Z):Q),this.range)X.range=this.range.slice();return X}addIn(Z,X){if(G4(Z))this.add(X);else{let[Q,...U]=Z,J=this.get(Q,!0);if(n(J))J.addIn(U,X);else if(J===void 0&&this.schema)this.set(Q,B6(this.schema,U,X));else throw Error(`Expected YAML collection at ${Q}. Remaining path: ${U}`)}}deleteIn(Z){let[X,...Q]=Z;if(Q.length===0)return this.delete(X);let U=this.get(X,!0);if(n(U))return U.deleteIn(Q);else throw Error(`Expected YAML collection at ${X}. Remaining path: ${Q}`)}getIn(Z,X){let[Q,...U]=Z,J=this.get(Q,!0);if(U.length===0)return!X&&x(J)?J.value:J;else return n(J)?J.getIn(U,X):void 0}hasAllNullValues(Z){return this.items.every((X)=>{if(!p(X))return!1;let Q=X.value;return Q==null||Z&&x(Q)&&Q.value==null&&!Q.commentBefore&&!Q.comment&&!Q.tag})}hasIn(Z){let[X,...Q]=Z;if(Q.length===0)return this.has(X);let U=this.get(X,!0);return n(U)?U.hasIn(Q):!1}setIn(Z,X){let[Q,...U]=Z;if(U.length===0)this.set(Q,X);else{let J=this.get(Q,!0);if(n(J))J.setIn(U,X);else if(J===void 0&&this.schema)this.set(Q,B6(this.schema,U,X));else throw Error(`Expected YAML collection at ${Q}. Remaining path: ${U}`)}}}var aU=(Z)=>Z.replace(/^(?!$)(?: $)?/gm,"#");function X1(Z,X){if(/^\n+$/.test(Z))return Z.substring(1);return X?Z.replace(/^(?! *$)/gm,X):Z}var A1=(Z,X,Q)=>Z.endsWith(`
45
+ `)+"}"),q9,rZ,AQ=(Z)=>{let X=Z.references.filter((Q)=>Q.hasKind("alias"));for(let Q of X){Object.assign(Q.referencesById,Q.resolution.referencesById);for(let U of Z.references)if(Q.id in U.referencesById)Object.assign(U.referencesById,Q.referencesById)}return Z},NQ=(Z)=>k(Z,(X,Q)=>[X,E(Q,"root")||E(Q,"generic")?Q.json:E(Q,"module")?NQ(Q):i(`Unexpected resolution ${g(Q)}`)]),sZ=(Z,X)=>{let Q=X.indexOf(".");if(Q===-1)return;let U=X.slice(0,Q),J=Z[U];if(J===void 0)return;if(!E(J,"module"))return M(SY(U));let $=X.slice(Q+1),W=J[$];if(W===void 0)return sZ(J,$);if(E(W,"root")||E(W,"generic"))return W;if(E(W,"module"))return W.root??M(EQ(X));i(`Unexpected resolution for alias '${X}': ${g(W)}`)},_9=(Z,X)=>new rZ(Z,X),Z6,bQ=(Z,X)=>{let Q={};for(let U in X){let J=X[U];if(E(J,"module")){let $=bQ(Z,J),W=k($,(Y,L)=>[`${U}.${Y}`,L]);Object.assign(Q,W)}else if(E(J,"root")||E(J,"generic"))Q[U]=J;else i(`Unexpected scope resolution ${g(J)}`)}return Q},aZ=(Z)=>`'${Z}' is unresolvable`,SY=(Z)=>`'${Z}' must reference a module to be accessed using dot syntax`,EQ=(Z)=>`Reference to submodule '${Z}' must specify an alias`,o,t2,NM,a0;var oZ=R(()=>{b();u2();a8();W9();cZ();$9();DZ();a1();s();O1();q0();iZ={};T.ambient??={};q9=class q9{config;resolvedConfig;name;get[S0](){return"scope"}referencesById={};references=[];resolutions={};exportedNames=[];aliases={};resolved=!1;nodesByHash={};intrinsic;constructor(Z,X){if(this.config=h4(T.config,X),this.resolvedConfig=h4(T.resolvedConfig,X),this.name=this.resolvedConfig.name??`anonymousScope${Object.keys(iZ).length}`,this.name in iZ)M(`A Scope already named ${this.name} already exists`);iZ[this.name]=this;let Q=Object.entries(Z).map((U)=>this.preparseOwnAliasEntry(...U));for(let[U,J]of Q){let $=U;if(U[0]==="#"){if($=U.slice(1),$ in this.aliases)M(wQ($));this.aliases[$]=J}else{if($ in this.aliases)M(wQ(U));this.aliases[$]=J,this.exportedNames.push($)}if(!E(J,"module")&&!E(J,"generic")&&!i1(J)){let W=this.preparseOwnDefinitionFormat(J,{alias:$});this.resolutions[$]=E(W,"root")?this.bindReference(W):this.createParseContext(W).id}}PQ??=this.node("union",{branches:["string","number","object","bigint","symbol",{unit:!0},{unit:!1},{unit:void 0},{unit:null}]},{prereduced:!0}),this.nodesByHash[PQ.hash]=this.node("intersection",{},{prereduced:!0}),this.intrinsic=T.intrinsic?k(T.intrinsic,(U,J)=>U.startsWith("json")?[]:[U,this.bindReference(J)]):{}}cacheGetter(Z,X){return Object.defineProperty(this,Z,{value:X}),X}get internal(){return this}_json;get json(){if(!this._json)this.export();return this._json}defineSchema(Z){return Z}generic=(...Z)=>{let X=this;return(Q,U)=>new e1(Z,U?new e6(Q):Q,X,X,U??null)};units=(Z,X)=>{let Q=[];for(let J of Z)if(!Q.includes(J))Q.push(J);let U=Q.map((J)=>this.node("unit",{unit:J},X));return this.node("union",U,{...X,prereduced:!0})};lazyResolutions=[];lazilyResolve(Z,X){let Q=this.node("alias",{reference:X??"synthetic",resolve:Z},{prereduced:!0});if(!this.resolved)this.lazyResolutions.push(Q);return Q}schema=(Z,X)=>this.finalize(this.parseSchema(Z,X));parseSchema=(Z,X)=>this.node(d4(Z),Z,X);preparseNode(Z,X,Q){let U=typeof Z==="string"?Z:d4(X,Z);if(Q0(X)&&X.kind===U)return X;if(U==="alias"&&!Q?.prereduced){let{reference:W}=n4.implementation.normalize(X,this);if(W.startsWith("$")){let Y=this.resolveRoot(W.slice(1));X=Y,U=Y.kind}}else if(U==="union"&&E0(X,"object")){let W=wY(X);if(W?.length===1)X=W[0],U=d4(X)}if(Q0(X)&&X.kind===U)return X;let $=i2[U].normalize?.(X,this)??X;if(Q0($))return $.kind===U?$:PY(U,$.kind);return{...Q,$:this,kind:U,def:$,prefix:Q.alias??U}}bindReference(Z){let X;if(Q0(Z))X=Z.$===this?Z:new Z.constructor(Z.attachments,this);else X=Z.$===this?Z:new e1(Z.params,Z.bodyDef,Z.$,this,Z.hkt);if(!this.resolved)Object.assign(this.referencesById,X.referencesById);return X}resolveRoot(Z){return this.maybeResolveRoot(Z)??M(aZ(Z))}maybeResolveRoot(Z){let X=this.maybeResolve(Z);if(E(X,"generic"))return;return X}maybeResolveSubalias(Z){return sZ(this.aliases,Z)??sZ(this.ambient,Z)}get ambient(){return T.ambient}maybeResolve(Z){let X=this.resolutions[Z];if(X){if(typeof X!=="string")return this.bindReference(X);let U=j0[X];if(E(U,"root"))return this.resolutions[Z]=U;if(E(U,"context")){if(U.phase==="resolving")return this.node("alias",{reference:`$${Z}`},{prereduced:!0});if(U.phase==="resolved")return i(`Unexpected resolved context for was uncached by its scope: ${g(U)}`);U.phase="resolving";let J=this.bindReference(this.parseOwnDefinitionFormat(U.def,U));return U.phase="resolved",j0[J.id]=J,j0[U.id]=J,this.resolutions[Z]=J}return i(`Unexpected nodesById entry for ${X}: ${g(U)}`)}let Q=this.aliases[Z]??this.ambient?.[Z];if(!Q)return this.maybeResolveSubalias(Z);if(Q=this.normalizeRootScopeValue(Q),E(Q,"generic"))return this.resolutions[Z]=this.bindReference(Q);if(E(Q,"module")){if(!Q.root)M(EQ(Z));return this.resolutions[Z]=this.bindReference(Q.root)}return this.resolutions[Z]=this.parse(Q,{alias:Z})}createParseContext(Z){let X=Z.id??MZ(Z.prefix);return j0[X]=Object.assign(Z,{[S0]:"context",$:this,id:X,phase:"unresolved"})}traversal(Z){return new $1(Z,this.resolvedConfig)}import(...Z){return new n2(k(this.export(...Z),(X,Q)=>[`#${X}`,Q]))}precompilation;_exportedResolutions;_exports;export(...Z){if(!this._exports){this._exports={};for(let Q of this.exportedNames){let U=this.aliases[Q];this._exports[Q]=E(U,"module")?dZ(U,this):AQ(this.maybeResolve(Q))}for(let Q of this.lazyResolutions)Q.resolution;if(this._exportedResolutions=bQ(this,this._exports),this._json=NQ(this._exportedResolutions),Object.assign(this.resolutions,this._exportedResolutions),this.references=Object.values(this.referencesById),!this.resolvedConfig.jitless){let Q=CQ(this.references);this.precompilation=Q.write(SQ,4),jQ(this.references,Q)}this.resolved=!0}let X=Z.length?Z:this.exportedNames;return new n2(k(X,(Q,U)=>[U,this._exports[U]]))}resolve(Z){return this.export()[Z]}node=(Z,X,Q={})=>{let U=this.preparseNode(Z,X,Q);if(Q0(U))return this.bindReference(U);let J=this.createParseContext(U),$=RZ(J),W=this.bindReference($);return j0[J.id]=W};parse=(Z,X={})=>this.finalize(this.parseDefinition(Z,X));parseDefinition(Z,X={}){if(E(Z,"root"))return this.bindReference(Z);let Q=this.preparseOwnDefinitionFormat(Z,X);if(E(Q,"root"))return this.bindReference(Q);let U=this.createParseContext(Q);j0[U.id]=U;let J=this.bindReference(this.parseOwnDefinitionFormat(Z,U));if(J.isCyclic)J=s3(J,U.id);return j0[U.id]=J,J}finalize(Z){if(AQ(Z),!Z.precompilation&&!this.resolvedConfig.jitless)AY(Z.references);return Z}};rZ=class rZ extends q9{parseOwnDefinitionFormat(Z,X){return RZ(X)}preparseOwnDefinitionFormat(Z,X){return this.preparseNode(d4(Z),Z,X)}preparseOwnAliasEntry(Z,X){return[Z,X]}normalizeRootScopeValue(Z){return Z}};Z6=new rZ({});Z6.export();o=Z6.schema,t2=Z6.node,NM=Z6.defineSchema,a0=Z6.generic});var nZ="^(?:0|[1-9]\\d*)$",jY,fM;var fQ=R(()=>{s();jY=new RegExp(nZ),fM=W0(jY)});var IQ,yQ,CY,I;var Y9=R(()=>{oZ();s();fQ();IQ=_9({bigint:"bigint",boolean:[{unit:!1},{unit:!0}],false:{unit:!1},never:[],null:{unit:null},number:"number",object:"object",string:"string",symbol:"symbol",true:{unit:!0},unknown:{},undefined:{unit:void 0},Array,Date},{prereducedAliases:!0}).export();T.intrinsic={...IQ};yQ=_9({integer:{domain:"number",divisor:1},lengthBoundable:["string",Array],key:["string","symbol"],nonNegativeIntegerString:{domain:"string",pattern:nZ}},{prereducedAliases:!0}).export();Object.assign(T.intrinsic,yQ);CY=_9({jsonPrimitive:["string","number",{unit:!0},{unit:!1},{unit:null}],jsonObject:{domain:"object",index:{signature:"string",value:"$jsonData"}},jsonData:["$jsonPrimitive","$jsonObject"]},{prereducedAliases:!0}).export(),I={...IQ,...yQ,...CY,emptyStructure:t2("structure",{},{prereduced:!0})};T.intrinsic={...I}});var kQ=()=>{};var gQ=()=>{};var vQ=()=>{};var _0=R(()=>{b();u2();m0();a8();Y9();W9();cZ();D2();$9();n8();XZ();UZ();e8();$Z();HZ();YZ();GZ();qZ();zZ();BZ();g1();wZ();AZ();jZ();CZ();Z2();EZ();IZ();oZ();a1();kQ();L0();m4();a();i0();gQ();s();vQ();n1();O1();q0();kZ();s2();s4();vZ();mZ();lZ()});var z9=(Z,X)=>new RegExp(Z,X);var xQ=R(()=>{Object.assign(z9,{as:z9})});var hQ=R(()=>{xQ()});var mQ=R(()=>{u2()});var pQ=(Z)=>typeof Z==="string"&&Z[0]==="d"&&(Z[1]==="'"||Z[1]==='"')&&Z[Z.length-1]===Z[1],uQ=(Z)=>Z.toString()!=="Invalid Date",lQ=(Z)=>Z.slice(2,-1),tZ=(Z)=>`'${Z}' could not be parsed by the Date constructor`,dQ=(Z,X)=>NY(Z,X),NY=(Z,X)=>{let Q=new Date(Z);if(uQ(Q))return Q;let U=J3(Z);if(U!==void 0){let J=new Date(U);if(uQ(J))return J}return X?M(X===!0?tZ(Z):X):void 0};var eZ=R(()=>{b()});var bY,H9=(Z,X)=>{let Q=Z.scanner.shiftUntilEscapable(fY[sQ[X]]);if(Z.scanner.lookahead==="")return Z.error(yY(Q,X));if(Z.scanner.shift(),X in iQ){let U;try{U=new RegExp(Q)}catch(J){M(String(J))}if(Z.root=Z.ctx.$.node("intersection",{domain:"string",pattern:Q},{prereduced:!0}),X==="x/")Z.root=Z.ctx.$.node("morph",{in:Z.root,morphs:(J)=>U.exec(J),declaredOut:bY})}else if(F0(X,ZX))Z.root=Z.ctx.$.node("unit",{unit:Q});else{let U=dQ(Q,tZ(Q));Z.root=Z.ctx.$.node("unit",{meta:Q,unit:U})}},ZX,cQ,EY,iQ,sQ,fY,IY,yY=(Z,X)=>`${X}${Z} requires a closing ${IY[sQ[X]]}`;var rQ=R(()=>{_0();b();eZ();bY=o({proto:"Array",sequence:"string",required:{key:"groups",value:["object",{unit:void 0}]}}),ZX={"'":1,'"':1},cQ={"/":1,"'":1,'"':1},EY={"d'":"'",'d"':'"',"'":"'",'"':'"'},iQ={"/":"/","x/":"/"},sQ={...EY,...iQ},fY={"'":(Z)=>Z.lookahead==="'",'"':(Z)=>Z.lookahead==='"',"/":(Z)=>Z.lookahead==="/"},IY={'"':"double-quote","'":"single-quote","/":"forward slash"}});var aQ=(Z)=>`Private type references should not include '#'. Use '${Z}' instead.`,F9="Optional definitions like 'string?' are only valid as properties in an object or tuple",B9="Defaultable definitions like 'number = 0' are only valid as properties in an object or tuple";var K1,oQ=(Z,X)=>Z===">"?X[0]==="="?X[1]==="=":X.trimStart()===""||F0(X.trimStart()[0],K1):Z==="="?X[0]!=="=":Z===","||Z==="?";var e2=R(()=>{b();K1={"<":1,">":1,"=":1,"|":1,"&":1,")":1,"[":1,"%":1,",":1,":":1,"?":1,"#":1,...s1}});var nQ=(Z,X,Q)=>tQ(Z,X,Q,[]),tQ=(Z,X,Q,U)=>{let J=Q.parseUntilFinalizer();if(U.push(J.root),J.finalizer===">"){if(U.length!==X.params.length)return Q.error(XX(Z,X.names,U.map(($)=>$.expression)));return U}if(J.finalizer===",")return tQ(Z,X,Q,U);return J.error(s6(">"))},XX=(Z,X,Q)=>`${Z}<${X.join(", ")}> requires exactly ${X.length} args (got ${Q.length}${Q.length===0?"":`: ${Q.join(", ")}`})`;var eQ=R(()=>{b()});var M9=(Z)=>{let X=Z.scanner.shiftUntilLookahead(K1);if(X==="keyof")Z.addPrefix("keyof");else Z.root=gY(Z,X)},kY=(Z,X,Q)=>{if(Q.scanner.shiftUntilNonWhitespace(),Q.scanner.shift()!=="<")return Q.error(XX(Z,X.names,[]));let J=nQ(Z,X,Q);return X(...J)},gY=(Z,X)=>vY(Z,X)??xY(Z,X)??Z.error(X===""?Z.scanner.lookahead==="#"?aQ(Z.shiftedBy(1).scanner.shiftUntilLookahead(K1)):QX(Z):aZ(X)),vY=(Z,X)=>{if(Z.ctx.args?.[X]){let U=Z.ctx.args[X];if(typeof U!=="string")return U;return Z.ctx.$.node("alias",{reference:U},{prereduced:!0})}let Q=Z.ctx.$.maybeResolve(X);if(E(Q,"root"))return Q;if(Q===void 0)return;if(E(Q,"generic"))return kY(X,Q,Z);return M(`Unexpected resolution ${g(Q)}`)},xY=(Z,X)=>{let Q=$3(X);if(Q!==void 0)return Z.ctx.$.node("unit",{unit:Q});let U=Y3(X);if(U!==void 0)return Z.ctx.$.node("unit",{unit:U})},QX=(Z)=>{let X=Z.previousOperator();return X?UX(X,Z.scanner.unscanned):hY(Z.scanner.unscanned)},UX=(Z,X="")=>`Token '${Z}' requires a right operand${X?` before '${X}'`:""}`,hY=(Z)=>`Expected an expression${Z?` before '${Z}'`:""}`;var JX=R(()=>{_0();b();e2();eQ()});var $X=(Z)=>Z.scanner.lookahead===""?Z.error(QX(Z)):Z.scanner.lookahead==="("?Z.shiftedBy(1).reduceGroupOpen():Z.scanner.lookaheadIsIn(cQ)?H9(Z,Z.scanner.shift()):Z.scanner.lookaheadIsIn(s1)?$X(Z.shiftedBy(1)):Z.scanner.lookahead==="d"?Z.scanner.nextLookahead in ZX?H9(Z,`${Z.scanner.shift()}${Z.scanner.shift()}`):M9(Z):Z.scanner.lookahead==="x"?Z.scanner.nextLookahead==="/"?Z.shiftedBy(2)&&H9(Z,"x/"):M9(Z):M9(Z);var Z5=R(()=>{b();rQ();JX()});var X5,Q5,Z4,U5=(Z,X)=>`Left bounds are only valid when paired with right bounds (try ...${X}${Z})`,R9=(Z)=>`Left-bounded expressions must specify their limits using < or <= (was ${Z})`,J5=(Z,X,Q,U)=>`An expression may have at most one left bound (parsed ${Z}${Z4[X]}, ${Q}${Z4[U]})`;var WX=R(()=>{X5={">":!0,">=":!0},Q5={"<":!0,"<=":!0},Z4={"<":">",">":"<","<=":">=",">=":"<=","==":"=="}});var W5=(Z,X)=>{let Q=mY(Z,X);if(Z.root.hasKind("unit")){if(typeof Z.root.unit==="number"){Z.reduceLeftBound(Z.root.unit,Q),Z.unsetRoot();return}if(Z.root.unit instanceof Date){let U=`d'${Z.root.description??Z.root.unit.toISOString()}'`;Z.unsetRoot(),Z.reduceLeftBound(U,Q);return}}return pY(Z,Q)},Y5,mY=(Z,X)=>Z.scanner.lookaheadIs("=")?`${X}${Z.scanner.shift()}`:X,$5=(Z,X,Q,U)=>{if(Q.extends(T.intrinsic.number)){if(typeof X!=="number")return M(YX(Z,X,U));return Z==="=="?["min","max"]:Z[0]===">"?["min"]:["max"]}if(Q.extends(T.intrinsic.lengthBoundable)){if(typeof X!=="number")return M(YX(Z,X,U));return Z==="=="?["exactLength"]:Z[0]===">"?["minLength"]:["maxLength"]}if(Q.extends(T.intrinsic.Date))return Z==="=="?["after","before"]:Z[0]===">"?["after"]:["before"];return M(y3(Q.expression))},uY=(Z)=>({rule:pQ(Z.limit)?lQ(Z.limit):Z.limit,exclusive:Z.comparator.length===1}),pY=(Z,X)=>{let Q=Z.unsetRoot(),U=Z.scanner.location;Z.parseOperand();let J=Z.unsetRoot(),$=Z.scanner.sliceChars(U,Z.scanner.location);if(Z.root=Q,!J.hasKind("unit")||typeof J.unit!=="number"&&!(J.unit instanceof Date))return Z.error(YX(X,$,"right"));let W=J.unit,Y=X.length===1,L=$5(X,typeof W==="number"?W:$,Q,"right");for(let V of L)Z.constrainRoot(V,X==="=="?{rule:W}:{rule:W,exclusive:Y});if(!Z.branches.leftBound)return;if(!F0(X,Q5))return Z.error(R9(X));let G=$5(Z.branches.leftBound.comparator,Z.branches.leftBound.limit,Q,"left");Z.constrainRoot(G[0],uY(Z.branches.leftBound)),Z.branches.leftBound=null},YX=(Z,X,Q)=>`Comparator ${Q==="left"?Z4[Z]:Z} must be ${Q==="left"?"preceded":"followed"} by a corresponding literal (was ${X})`;var L5=R(()=>{_0();b();WX();eZ();Y5={"<":1,">":1,"=":1}});var G5=(Z)=>{Z.scanner.shiftUntilNonWhitespace();let X=Z.scanner.shiftUntilLookahead(K1);Z.root=Z.root.brand(X)};var V5=R(()=>{e2()});var _5=(Z)=>{Z.scanner.shiftUntilNonWhitespace();let X=Z.scanner.shiftUntilLookahead(K1),Q=W3(X,{errorOnFail:q5(X)});if(Q===0)Z.error(q5(0));Z.root=Z.root.constrain("divisor",Q)},q5=(Z)=>`% operator must be followed by a non-zero integer literal (was ${Z})`;var z5=R(()=>{b();e2()});var LX=(Z)=>{let X=Z.scanner.shift();return X===""?Z.finalize(""):X==="["?Z.scanner.shift()==="]"?Z.setRoot(Z.root.array()):Z.error(lY):X==="|"?Z.scanner.lookahead===">"?Z.shiftedBy(1).pushRootToBranch("|>"):Z.pushRootToBranch(X):X==="&"?Z.pushRootToBranch(X):X===")"?Z.finalizeGroup():oQ(X,Z.scanner.unscanned)?Z.finalize(X):F0(X,Y5)?W5(Z,X):X==="%"?_5(Z):X==="#"?G5(Z):(X in s1)?LX(Z):Z.error(O9(X))},O9=(Z,X="")=>`'${Z}' is not allowed here${X&&` (should be ${X})`}`,lY="Missing expected ']'";var GX=R(()=>{b();e2();L5();V5();z5()});var H5=(Z)=>{let X=Z.unsetRoot();Z.parseOperand();let Q=Z.unsetRoot();if(!Q.hasKind("unit"))return Z.error(dY(Q.expression));let U=Q.unit instanceof Date?()=>new Date(Q.unit):Q.unit;return[X,"=",U]},dY=(Z)=>`Default value '${Z}' must be a literal value`;var VX=(Z,X)=>{let Q=X.$.maybeResolveRoot(Z);if(Q)return Q;if(Z.endsWith("[]")){let $=X.$.maybeResolveRoot(Z.slice(0,-2));if($)return $.array()}let U=new X4(new v4(Z),X),J=cY(U);if(U.finalizer===">")M(O9(">"));return J},cY=(Z)=>{Z.parseOperand();let X=X6(Z).root;if(!X)return i(`Root was unexpectedly unset after parsing string '${Z.scanner.scanned}'`);if(Z.finalizer==="=")X=H5(Z);else if(Z.finalizer==="?")X=[X,"?"];if(Z.scanner.shiftUntilNonWhitespace(),Z.scanner.lookahead)M(O9(Z.scanner.lookahead));return X},X6=(Z)=>{while(Z.finalizer===void 0)iY(Z);return Z},iY=(Z)=>Z.hasRoot()?Z.parseOperator():Z.parseOperand();var T9=R(()=>{b();qX();GX()});class X4{root;branches={prefixes:[],leftBound:null,intersection:null,union:null,pipe:null};finalizer;groups=[];scanner;ctx;constructor(Z,X){this.scanner=Z,this.ctx=X}error(Z){return M(Z)}hasRoot(){return this.root!==void 0}setRoot(Z){this.root=Z}unsetRoot(){let Z=this.root;return this.root=void 0,Z}constrainRoot(...Z){this.root=this.root.constrain(Z[0],Z[1])}finalize(Z){if(this.groups.length)return this.error(s6(")"));this.finalizeBranches(),this.finalizer=Z}reduceLeftBound(Z,X){let Q=Z4[X];if(!F0(Q,X5))return this.error(R9(X));if(this.branches.leftBound)return this.error(J5(this.branches.leftBound.limit,this.branches.leftBound.comparator,Z,Q));this.branches.leftBound={comparator:Q,limit:Z}}finalizeBranches(){if(this.assertRangeUnset(),this.branches.pipe){this.pushRootToBranch("|>"),this.root=this.branches.pipe;return}if(this.branches.union){this.pushRootToBranch("|"),this.root=this.branches.union;return}if(this.branches.intersection){this.pushRootToBranch("&"),this.root=this.branches.intersection;return}this.applyPrefixes()}finalizeGroup(){this.finalizeBranches();let Z=this.groups.pop();if(!Z)return this.error(z3(")",this.scanner.unscanned));this.branches=Z}addPrefix(Z){this.branches.prefixes.push(Z)}applyPrefixes(){while(this.branches.prefixes.length){let Z=this.branches.prefixes.pop();this.root=Z==="keyof"?this.root.keyof():i(`Unexpected prefix '${Z}'`)}}pushRootToBranch(Z){this.assertRangeUnset(),this.applyPrefixes();let X=this.root;if(this.root=void 0,this.branches.intersection=this.branches.intersection?.rawAnd(X)??X,Z==="&")return;if(this.branches.union=this.branches.union?.rawOr(this.branches.intersection)??this.branches.intersection,this.branches.intersection=null,Z==="|")return;this.branches.pipe=this.branches.pipe?.rawPipeOnce(this.branches.union)??this.branches.union,this.branches.union=null}parseUntilFinalizer(){return X6(new X4(this.scanner,this.ctx))}parseOperator(){return LX(this)}parseOperand(){return $X(this)}assertRangeUnset(){if(this.branches.leftBound)return this.error(U5(this.branches.leftBound.limit,this.branches.leftBound.comparator))}reduceGroupOpen(){this.groups.push(this.branches),this.branches={prefixes:[],leftBound:null,union:null,intersection:null,pipe:null}}previousOperator(){return this.branches.leftBound?.comparator??this.branches.prefixes[this.branches.prefixes.length-1]??(this.branches.intersection?"&":this.branches.union?"|":this.branches.pipe?"|>":void 0)}shiftedBy(Z){return this.scanner.jumpForward(Z),this}}var qX=R(()=>{b();Z5();GX();T9();WX()});var sY="An empty string is not a valid generic parameter name",K9=(Z,X,Q)=>{Z.shiftUntilNonWhitespace();let U=Z.shiftUntilLookahead(K1);if(U===""){if(Z.lookahead===""&&X.length)return X;return M(sY)}return Z.shiftUntilNonWhitespace(),rY(Z,U,X,Q)},F5="extends ",rY=(Z,X,Q,U)=>{if(Z.shiftUntilNonWhitespace(),Z.unscanned.startsWith(F5))Z.jumpForward(F5.length);else{if(Z.lookahead===",")Z.shift();return Q.push(X),K9(Z,Q,U)}let J=X6(new X4(Z,U));return Q.push([X,J.root]),K9(Z,Q,U)};var _X=R(()=>{_0();b();qX();e2();T9()});var zX,B5,aY=`":" must be followed by exactly one return type e.g:
46
+ fn("string", ":", "number")(s => s.length)`;var M5=R(()=>{b();zX=class zX extends y0{constructor(Z){let X={$:Z,raw:Z.fn};super((...Q)=>{let U=Q.indexOf(":"),J=U===-1?Q.length-1:U-1,$=Q.slice(0,J+1),W=Z.parse($).assertHasKind("intersection"),Y=Z.intrinsic.unknown;if(U!==-1){if(U!==Q.length-2)return M(aY);Y=Z.parse(Q[U+1])}return(L)=>new B5(L,W,Y)},{attach:X})}};B5=class B5 extends y0{raw;params;returns;expression;constructor(Z,X,Q){let U=`typed ${Z.name}`,J={[U]:(...W)=>{let Y=X.assert(W),L=Z(...Y);return Q.assert(L)}}[U];super(J);this.raw=Z,this.params=X,this.returns=Q;let $=X.expression;if($[0]==="["&&$[$.length-1]==="]")$=$.slice(1,-1);else if($.endsWith("[]"))$=`...${$}`;this.expression=`(${$}) => ${Q?.expression??"unknown"}`}}});var HX,Q6,R5=(Z)=>Z.throw(),oY="A key matcher must be specified before the first case i.e. match.at('foo') or match.in<object>().at('bar')",nY="At most one key matcher may be specified per expression";var O5=R(()=>{_0();b();HX=class HX extends y0{$;constructor(Z){super((...X)=>new Q6(Z)(...X),{bind:Z});this.$=Z}in(Z){return new Q6(this.$,Z===void 0?void 0:this.$.parse(Z))}at(Z,X){return new Q6(this.$).at(Z,X)}case(Z,X){return new Q6(this.$).case(Z,X)}};Q6=class Q6 extends y0{$;in;key;branches=[];constructor(Z,X){super((Q)=>this.caseEntries(Object.entries(Q).map(([U,J])=>U==="default"?[U,J]:[this.$.parse(U),J])));this.$=Z,this.in=X}at(Z,X){if(this.key)M(nY);if(this.branches.length)M(oY);return this.key=Z,X?this.match(X):this}case(Z,X){return this.caseEntry(this.$.parse(Z),X)}caseEntry(Z,X){let U=(this.key?this.$.parse({[this.key]:Z}):Z).pipe(X);return this.branches.push(U),this}match(Z){return this(Z)}strings(Z){return this.caseEntries(Object.entries(Z).map(([X,Q])=>X==="default"?[X,Q]:[this.$.node("unit",{unit:X}),Q]))}caseEntries(Z){for(let X=0;X<Z.length;X++){let[Q,U]=Z[X];if(Q==="default"){if(X!==Z.length-1)M("default may only be specified as the last key of a switch definition");return this.default(U)}if(typeof U!=="function")return M(`Value for case "${Q}" must be a function (was ${H0(U)})`);this.caseEntry(Q,U)}return this}default(Z){if(typeof Z==="function")this.case(I.unknown,Z);let X={branches:this.branches,ordered:!0};if(Z==="never"||Z==="assert")X.meta={onFail:R5};let Q=this.$.node("union",X);if(!this.in)return this.$.finalize(Q);let U=this.in.pipe(Q);if(Z==="never"||Z==="assert")U=U.configureReferences({onFail:R5},"self");return this.$.finalize(U)}}});var D9=(Z,X)=>{if(Z0(Z)){if(Z[1]==="=")return[X.$.parseOwnDefinitionFormat(Z[0],X),"=",Z[2]];if(Z[1]==="?")return[X.$.parseOwnDefinitionFormat(Z[0],X),"?"]}return w9(Z,X)},T5="Only required keys may make their values optional, e.g. { [mySymbol]: ['number', '?'] }",K5="Only required keys may specify default values, e.g. { value: 'number = 0' }";var FX=R(()=>{b();BX()});var D5=(Z,X)=>{let Q,U={},J=B2(Z);for(let[W,Y]of J){let L=ZL(W);if(L.kind==="spread"){if(!R1(U))return M(eY);let H=X.$.parseOwnDefinitionFormat(Y,X);if(H.equals(I.object))continue;if(!H.hasKind("intersection")||!H.basis?.equals(I.object))return M(XL(H.expression));Q=H.structure;continue}if(L.kind==="undeclared"){if(Y!=="reject"&&Y!=="delete"&&Y!=="ignore")M(tY(Y));U.undeclared=Y;continue}let G=D9(Y,X),V=L;if(L.kind==="required"){if(!Z0(G))MX(U,"required",{key:L.normalized,value:G},X);else MX(U,"optional",G[1]==="="?{key:L.normalized,value:G[0],default:G[2]}:{key:L.normalized,value:G[0]},X);continue}if(Z0(G)){if(G[1]==="?")M(T5);if(G[1]==="=")M(K5)}if(L.kind==="optional"){MX(U,"optional",{key:L.normalized,value:G},X);continue}let q=X.$.parseOwnDefinitionFormat(V.normalized,X),_=V9(q,G,X.$);if(_.index)U.index=u(U.index,_.index);if(_.required)U.required=u(U.required,_.required)}let $=X.$.node("structure",U);return X.$.parseSchema({domain:"object",structure:Q?.merge($)??$})},MX=(Z,X,Q,U)=>{Z[X]=u(Z[X],U.$.node(X,Q))},tY=(Z)=>`Value of '+' key must be 'reject', 'delete', or 'ignore' (was ${g(Z)})`,eY="Spread operator may only be used as the first key in an object",ZL=(Z)=>typeof Z==="symbol"?{kind:"required",normalized:Z}:Z[Z.length-1]==="?"?Z[Z.length-2]===O2?{kind:"required",normalized:`${Z.slice(0,-2)}?`}:{kind:"optional",normalized:Z.slice(0,-1)}:Z[0]==="["&&Z[Z.length-1]==="]"?{kind:"index",normalized:Z.slice(1,-1)}:Z[0]===O2&&Z[1]==="["&&Z[Z.length-1]==="]"?{kind:"required",normalized:Z.slice(1)}:Z==="..."?{kind:"spread"}:Z==="+"?{kind:"undeclared"}:{kind:"required",normalized:Z==="\\..."?"...":Z==="\\+"?"+":Z},XL=(Z)=>`Spread operand must resolve to an object literal type (was ${Z})`;var w5=R(()=>{_0();b();FX()});var A5=(Z,X)=>qL(Z)?N5[Z[0]](Z,X):GL(Z)?C5[Z[1]](Z,X):null,QL=(Z,X)=>X.$.parseOwnDefinitionFormat(Z[1],X).keyof(),RX=(Z,X)=>{if(Z[2]===void 0)return M(UX(Z[1],""));let Q=X.$.parseOwnDefinitionFormat(Z[0],X),U=X.$.parseOwnDefinitionFormat(Z[2],X);if(Z[1]==="|")return X.$.node("union",{branches:[Q,U]});let J=Z[1]==="&"?v0(Q,U,X.$):l4(Q,U,X.$);if(J instanceof j)return J.throw();return J},UL=(Z,X)=>X.$.parseOwnDefinitionFormat(Z[0],X).array(),JL=(Z,X)=>{if(typeof Z[2]!=="function")return M(S5("=>",Z[2]));return X.$.parseOwnDefinitionFormat(Z[0],X).pipe(Z[2])},S5=(Z,X)=>`${Z===":"?"Narrow":"Morph"} expression requires a function following '${Z}' (was ${typeof X})`,$L=(Z,X)=>{if(typeof Z[2]!=="function")return M(S5(":",Z[2]));return X.$.parseOwnDefinitionFormat(Z[0],X).constrain("predicate",Z[2])},WL=(Z,X)=>X.$.parseOwnDefinitionFormat(Z[0],X).configure(Z[2],Z[3]),j5=(Z)=>Z,YL,LL,C5,GL=(Z)=>C5[Z[1]]!==void 0,VL=(Z)=>Z,N5,qL=(Z)=>N5[Z[0]]!==void 0,P5=(Z)=>`Expected a constructor following 'instanceof' operator (was ${Z})`;var b5=R(()=>{_0();b();JX();YL=j5({"[]":UL,"?":()=>M(F9)}),LL=j5({"|":RX,"&":RX,":":$L,"=>":JL,"|>":RX,"@":WL,"=":()=>M(B9)}),C5={...YL,...LL},N5=VL({keyof:QL,instanceof:(Z,X)=>{if(typeof Z[1]!=="function")return M(P5(N4(Z[1])));let Q=Z.slice(1).map((U)=>typeof U==="function"?X.$.node("proto",{proto:U}):M(P5(N4(U))));return Q.length===1?Q[0]:X.$.node("union",{branches:Q})},"===":(Z,X)=>X.$.units(Z.slice(1))})});var I5=(Z,X)=>{let Q=[{}],U=0;while(U<Z.length){let J=!1;if(Z[U]==="..."&&U<Z.length-1)J=!0,U++;let $=D9(Z[U],X),[W,Y,L]=!Z0($)?[$]:$;if(U++,J){if(!W.extends(T.intrinsic.Array))return M(HL(W.expression));Q=Q.flatMap((G)=>W.distribute((V)=>zL(a6(G),V)))}else Q=Q.map((G)=>{if(Y==="?")return y5(G,W);if(Y==="=")return _L(G,W,L);return OX(G,W)})}return X.$.parseSchema(Q.map((J)=>R1(J)?{proto:Array,exactLength:0}:{proto:Array,sequence:J}))},OX=(Z,X)=>{if(Z.defaultables||Z.optionals)return M(Z.variadic?hZ:FL);if(Z.variadic)Z.postfix=u(Z.postfix,X);else Z.prefix=u(Z.prefix,X);return Z},y5=(Z,X)=>{if(Z.variadic)return M(k5);return Z.optionals=u(Z.optionals,X),Z},_L=(Z,X,Q)=>{if(Z.variadic)return M(k5);if(Z.optionals)return M(BL);return Z.defaultables=u(Z.defaultables,[[X,Q]]),Z},E5=(Z,X)=>{if(Z.postfix)M(f5);if(Z.variadic){if(!Z.variadic.equals(X))M(f5)}else Z.variadic=X.internal;return Z},zL=(Z,X)=>{let Q=X.select({method:"find",kind:"sequence"});if(!Q)return E5(Z,T.intrinsic.unknown);if(Q.prefix)for(let U of Q.prefix)OX(Z,U);if(Q.optionals)for(let U of Q.optionals)y5(Z,U);if(Q.variadic)E5(Z,Q.variadic);if(Q.postfix)for(let U of Q.postfix)OX(Z,U);return Z},HL=(Z)=>`Spread element must be an array (was ${Z})`,f5="A tuple may have at most one variadic element",FL="A required element may not follow an optional element",k5="An optional element may not follow a variadic element",BL="A defaultable element may not follow an optional element without a default";var g5=R(()=>{_0();b();FX()});var ML,w9=(Z,X)=>{if(typeof Z==="string"){if(X.args&&Object.keys(X.args).some((U)=>Z.includes(U)))return VX(Z,X);let Q=ML[X.$.name]??={};return Q[Z]??=VX(Z,X)}return E0(Z,"object")?RL(Z,X):M(TX(H0(Z)))},RL=(Z,X)=>{let Q=C4(Z);switch(Q){case void 0:if(E(Z,"root"))return Z;if("~standard"in Z)return OL(Z,X);return D5(Z,X);case"Array":return TL(Z,X);case"RegExp":return X.$.node("intersection",{domain:"string",pattern:Z},{prereduced:!0});case"Function":{let U=i1(Z)?Z():Z;if(E(U,"root"))return U;return M(TX("Function"))}default:return M(TX(Q??g(Z)))}},OL=(Z,X)=>X.$.intrinsic.unknown.pipe((Q,U)=>{let J=Z["~standard"].validate(Q);if(!J.issues)return J.value;for(let{message:$,path:W}of J.issues)if(W)if(W.length)U.error({problem:t7($),relativePath:W.map((Y)=>typeof Y==="object"?Y.key:Y)});else U.error({message:$});else U.error({message:$})}),TL=(Z,X)=>A5(Z,X)??I5(Z,X),TX=(Z)=>`Type definitions must be strings or objects (was ${Z})`;var BX=R(()=>{_0();b();w5();T9();b5();g5();ML={}});var KX;var DX=R(()=>{_0();b();KX=class KX extends y0{constructor(Z){let X=Object.assign({errors:k0,hkt:D0,$:Z,raw:Z.parse,module:Z.constructor.module,scope:Z.constructor.scope,declare:Z.declare,define:Z.define,match:Z.match,generic:Z.generic,schema:Z.schema,keywords:Z.ambient,unit:Z.unit,enumerated:Z.enumerated,instanceOf:Z.instanceOf,valueOf:Z.valueOf,or:Z.or,and:Z.and,merge:Z.merge,pipe:Z.pipe,fn:Z.fn},Z.ambientAttachments);super((...Q)=>{if(Q.length===1)return Z.parse(Q[0]);if(Q.length===2&&typeof Q[0]==="string"&&Q[0][0]==="<"&&Q[0][Q[0].length-1]===">"){let U=Q[0].slice(1,-1),J=Z.parseGenericParams(U,{});return new e1(J,Q[1],Z,Z,null)}return Z.parse(Q)},{attach:X})}}});var Q4,P9,U6,m;var Y1=R(()=>{_0();b();M5();_X();O5();BX();DX();Q4=T;P9=class P9 extends q9{get ambientAttachments(){if(!Q4.typeAttachments)return;return this.cacheGetter("ambientAttachments",k(Q4.typeAttachments,(Z,X)=>[Z,this.bindReference(X)]))}preparseOwnAliasEntry(Z,X){let Q=Z.indexOf("<");if(Q===-1){if(E(X,"module")||E(X,"generic"))return[Z,X];let $=this.name==="ark"?Z:Z==="root"?this.name:`${this.name}.${Z}`,W=this.resolvedConfig.keywords?.[$];if(W)X=[X,"@",W];return[Z,X]}if(Z[Z.length-1]!==">")M("'>' must be the last character of a generic declaration in a scope");let U=Z.slice(0,Q),J=Z.slice(Q+1,-1);return[U,()=>{let $=this.parseGenericParams(J,{alias:U});return E3($,X,this)}]}parseGenericParams(Z,X){return K9(new v4(Z),[],this.createParseContext({...X,def:Z,prefix:"generic"}))}normalizeRootScopeValue(Z){if(i1(Z)&&!E(Z,"generic"))return Z();return Z}preparseOwnDefinitionFormat(Z,X){return{...X,def:Z,prefix:X.alias??"type"}}parseOwnDefinitionFormat(Z,X){if(!(X.alias&&(X.alias in this.aliases))&&!X.args)X.args={this:X.id};let U=w9(Z,X);if(Z0(U)){if(U[1]==="=")return M(B9);if(U[1]==="?")return M(F9)}return U}unit=(Z)=>this.units([Z]);valueOf=(Z)=>this.units(g7(Z));enumerated=(...Z)=>this.units(Z);instanceOf=(Z)=>this.node("proto",{proto:Z},{prereduced:!0});or=(...Z)=>this.schema(Z.map((X)=>this.parse(X)));and=(...Z)=>Z.reduce((X,Q)=>X.and(this.parse(Q)),this.intrinsic.unknown);merge=(...Z)=>Z.reduce((X,Q)=>X.merge(this.parse(Q)),this.intrinsic.object);pipe=(...Z)=>this.intrinsic.unknown.pipe(...Z);fn=new zX(this);match=new HX(this);declare=()=>({type:this.type});define(Z){return Z}type=new KX(this);static scope=(Z,X={})=>new P9(Z,X);static module=(Z,X={})=>this.scope(Z,X).export()};U6=Object.assign(P9.scope,{define:(Z)=>Z}),m=P9});var v5,KL,x5;var h5=R(()=>{_0();b();Y1();v5=class v5 extends D0{description='merge an object\'s properties onto another like `Merge(User, { isAdmin: "true" })`'};KL=a0(["base",I.object],["props",I.object])((Z)=>Z.base.merge(Z.props),v5),x5=m.module({Key:I.key,Merge:KL})});var m5,DL,u5;var p5=R(()=>{_0();b();Y1();m5=class m5 extends D0{};DL=a0("element")((Z)=>{let X=Z.element.exclude(I.Array),Q=X.array();return X.rawOr(Q).pipe(c1).distribute((U)=>U.assertHasKind("morph").declareOut(Q),o)},m5),u5=m.module({root:I.Array,readonly:"root",index:I.nonNegativeIntegerString,liftFrom:DL},{name:"Array"})});var wX,wL,l5,d5;var c5=R(()=>{_0();b();Y1();wX=o(["string",T2.FileConstructor]),wL=wX.rawOr(wX.array()),l5=o({meta:"an object representing parsed form data",domain:"object",index:{signature:"string",value:wL}}),d5=m.module({root:["instanceof",FormData],value:wX,parsed:l5,parse:o({in:FormData,morphs:(Z)=>{let X={};for(let[Q,U]of Z)if(Q in X){let J=X[Q];if(typeof J==="string"||J instanceof T2.FileConstructor)X[Q]=[J,U];else J.push(U)}else X[Q]=U;return X},declaredOut:l5})},{name:"FormData"})});var i5;var s5=R(()=>{Y1();i5=m.module({Int8:["instanceof",Int8Array],Uint8:["instanceof",Uint8Array],Uint8Clamped:["instanceof",Uint8ClampedArray],Int16:["instanceof",Int16Array],Uint16:["instanceof",Uint16Array],Int32:["instanceof",Int32Array],Uint32:["instanceof",Uint32Array],Float32:["instanceof",Float32Array],Float64:["instanceof",Float64Array],BigInt64:["instanceof",BigInt64Array],BigUint64:["instanceof",BigUint64Array]},{name:"TypedArray"})});var PL,r5;var a5=R(()=>{b();Y1();p5();c5();s5();PL={Boolean:1,Number:1,String:1},r5=m.module({...k({...N8,...E8},(Z,X)=>(Z in PL)?[]:[Z,["instanceof",X]]),Array:u5,TypedArray:i5,FormData:d5})});var AL,SL,A9;var PX=R(()=>{_0();Y1();AL=o({domain:{domain:"number",meta:"a number representing a Unix timestamp"},divisor:{rule:1,meta:"an integer representing a Unix timestamp"},min:{rule:-8640000000000000,meta:"a Unix timestamp after -8640000000000000"},max:{rule:8640000000000000,meta:"a Unix timestamp before 8640000000000000"},meta:"an integer representing a safe Unix timestamp"}),SL=o({domain:"number",divisor:1}),A9=m.module({root:I.number,integer:SL,epoch:AL,safe:o({domain:{domain:"number",numberAllowsNaN:!1},min:Number.MIN_SAFE_INTEGER,max:Number.MAX_SAFE_INTEGER}),NaN:["===",Number.NaN],Infinity:["===",Number.POSITIVE_INFINITY],NegativeInfinity:["===",Number.NEGATIVE_INFINITY]},{name:"number"})});var $0=(Z,X,Q)=>{let U={domain:"string",pattern:{rule:Z.source,flags:Z.flags,meta:X}};if(Q)U.meta={format:Q};return t2("intersection",U)},o5,LU,jL,CL,n5,NL,bL=(Z)=>{let X=Z.replace(/[ -]+/g,""),Q=0,U,J,$=!1;for(let W=X.length-1;W>=0;W--){if(U=X.substring(W,W+1),J=Number.parseInt(U,10),$)J*=2,Q+=J>=10?J%10+1:J;else Q+=J;$=!$}return!!(Q%10===0?X:!1)},EL,fL,IL,yL=(Z)=>!Number.isNaN(new Date(Z).valueOf()),t5,e5,kL,ZU,gL,vL,xL,XU="(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])",X2,hL,z0="(?:[0-9a-fA-F]{1,4})",mL,uL,U4="a JSON string",GU=(Z)=>{if(!(Z instanceof SyntaxError))throw Z;return`must be ${U4} (${Z})`},pL,lL=(Z,X)=>{if(Z.length===0)return X.error({code:"predicate",expected:U4,actual:"empty"});try{return JSON.parse(Z)}catch(Q){return X.error({code:"predicate",expected:U4,problem:GU(Q)})}},dL,QU,cL,VU,J6,S9,iL,sL,rL,aL,oL,UU,nL,JU="a regex pattern",tL,eL,ZG,$U,XG,WU,QG,UG=(Z)=>URL.canParse(Z),YU,JG,$G,qU;var _U=R(()=>{_0();b();Y1();PX();o5=$0(f4,"a well-formed integer string"),LU=m.module({root:o5,parse:o({in:o5,morphs:(Z,X)=>{let Q=Number.parseInt(Z);return Number.isSafeInteger(Q)?Q:X.error("an integer in the range Number.MIN_SAFE_INTEGER to Number.MAX_SAFE_INTEGER")},declaredOut:I.integer})},{name:"string.integer"}),jL=$0(/^[\dA-Fa-f]+$/,"hex characters only"),CL=m.module({root:$0(/^(?:[\d+/A-Za-z]{4})*(?:[\d+/A-Za-z]{2}==|[\d+/A-Za-z]{3}=)?$/,"base64-encoded"),url:$0(/^(?:[\w-]{4})*(?:[\w-]{2}(?:==|%3D%3D)?|[\w-]{3}(?:=|%3D)?)?$/,"base64url-encoded")},{name:"string.base64"}),n5=$0(/^[A-Z].*$/,"capitalized"),NL=m.module({root:o({in:"string",morphs:(Z)=>Z.charAt(0).toUpperCase()+Z.slice(1),declaredOut:n5}),preformatted:n5},{name:"string.capitalize"}),EL=/^(?:4\d{12}(?:\d{3,6})?|5[1-5]\d{14}|(222[1-9]|22[3-9]\d|2[3-6]\d{2}|27[01]\d|2720)\d{12}|6(?:011|5\d\d)\d{12,15}|3[47]\d{13}|3(?:0[0-5]|[68]\d)\d{11}|(?:2131|1800|35\d{3})\d{11}|6[27]\d{14}|^(81\d{14,17}))$/,fL=o({domain:"string",pattern:{meta:"a credit card number",rule:EL.source},predicate:{meta:"a credit card number",predicate:bL}}),IL=/^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))(T((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([,.]\d+(?!:))?)?(\17[0-5]\d([,.]\d+)?)?([Zz]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/,t5=o({domain:"string",predicate:{meta:"a parsable date",predicate:yL}}).assertHasKind("intersection"),e5=LU.root.internal.narrow((Z,X)=>{let Q=Number.parseInt(Z),U=A9.epoch(Q);if(U instanceof k0)return X.errors.merge(U),!1;return!0}).configure({description:"an integer string representing a safe Unix timestamp"},"self").assertHasKind("intersection"),kL=m.module({root:e5,parse:o({in:e5,morphs:(Z)=>new Date(Z),declaredOut:I.Date})},{name:"string.date.epoch"}),ZU=$0(IL,"an ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ) date").internal.assertHasKind("intersection"),gL=m.module({root:ZU,parse:o({in:ZU,morphs:(Z)=>new Date(Z),declaredOut:I.Date})},{name:"string.date.iso"}),vL=m.module({root:t5,parse:o({declaredIn:t5,in:"string",morphs:(Z,X)=>{let Q=new Date(Z);if(Number.isNaN(Q.valueOf()))return X.error("a parsable date");return Q},declaredOut:I.Date}),iso:gL,epoch:kL},{name:"string.date"}),xL=$0(/^[\w%+.-]+@[\d.A-Za-z-]+\.[A-Za-z]{2,}$/,"an email address","email"),X2=`(${XU}[.]){3}${XU}`,hL=new RegExp(`^${X2}$`),mL=new RegExp(`^((?:${z0}:){7}(?:${z0}|:)|(?:${z0}:){6}(?:${X2}|:${z0}|:)|(?:${z0}:){5}(?::${X2}|(:${z0}){1,2}|:)|(?:${z0}:){4}(?:(:${z0}){0,1}:${X2}|(:${z0}){1,3}|:)|(?:${z0}:){3}(?:(:${z0}){0,2}:${X2}|(:${z0}){1,4}|:)|(?:${z0}:){2}(?:(:${z0}){0,3}:${X2}|(:${z0}){1,5}|:)|(?:${z0}:){1}(?:(:${z0}){0,4}:${X2}|(:${z0}){1,6}|:)|(?::((?::${z0}){0,5}:${X2}|(?::${z0}){1,7}|:)))(%[0-9a-zA-Z.]{1,})?$`),uL=m.module({root:["v4 | v6","@","an IP address"],v4:$0(hL,"an IPv4 address","ipv4"),v6:$0(mL,"an IPv6 address","ipv6")},{name:"string.ip"}),pL=o({meta:U4,domain:"string",predicate:{meta:U4,predicate:(Z,X)=>{try{return JSON.parse(Z),!0}catch(Q){return X.reject({code:"predicate",expected:U4,problem:GU(Q)})}}}}),dL=m.module({root:pL,parse:o({meta:"safe JSON string parser",in:"string",morphs:lL,declaredOut:I.jsonObject})},{name:"string.json"}),QU=$0(/^[a-z]*$/,"only lowercase letters"),cL=m.module({root:o({in:"string",morphs:(Z)=>Z.toLowerCase(),declaredOut:QU}),preformatted:QU},{name:"string.lower"}),VU=["NFC","NFD","NFKC","NFKD"],J6=k(VU,(Z,X)=>[X,o({domain:"string",predicate:(Q)=>Q.normalize(X)===Q,meta:`${X}-normalized unicode`})]),S9=k(VU,(Z,X)=>[X,o({in:"string",morphs:(Q)=>Q.normalize(X),declaredOut:J6[X]})]),iL=m.module({root:S9.NFC,preformatted:J6.NFC},{name:"string.normalize.NFC"}),sL=m.module({root:S9.NFD,preformatted:J6.NFD},{name:"string.normalize.NFD"}),rL=m.module({root:S9.NFKC,preformatted:J6.NFKC},{name:"string.normalize.NFKC"}),aL=m.module({root:S9.NFKD,preformatted:J6.NFKD},{name:"string.normalize.NFKD"}),oL=m.module({root:"NFC",NFC:iL,NFD:sL,NFKC:rL,NFKD:aL},{name:"string.normalize"}),UU=$0(d6,"a well-formed numeric string"),nL=m.module({root:UU,parse:o({in:UU,morphs:(Z)=>Number.parseFloat(Z),declaredOut:I.number})},{name:"string.numeric"}),tL=o({domain:"string",predicate:{meta:JU,predicate:(Z,X)=>{try{return new RegExp(Z),!0}catch(Q){return X.reject({code:"predicate",expected:JU,problem:String(Q)})}}},meta:{format:"regex"}}),eL=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[A-Za-z-][\dA-Za-z-]*)(?:\.(?:0|[1-9]\d*|\d*[A-Za-z-][\dA-Za-z-]*))*))?(?:\+([\dA-Za-z-]+(?:\.[\dA-Za-z-]+)*))?$/,ZG=$0(eL,"a semantic version (see https://semver.org/)"),$U=$0(/^\S.*\S$|^\S?$/,"trimmed"),XG=m.module({root:o({in:"string",morphs:(Z)=>Z.trim(),declaredOut:$U}),preformatted:$U},{name:"string.trim"}),WU=$0(/^[A-Z]*$/,"only uppercase letters"),QG=m.module({root:o({in:"string",morphs:(Z)=>Z.toUpperCase(),declaredOut:WU}),preformatted:WU},{name:"string.upper"}),YU=o({domain:"string",predicate:{meta:"a URL string",predicate:UG},meta:{format:"uri"}}),JG=m.module({root:YU,parse:o({declaredIn:YU,in:"string",morphs:(Z,X)=>{try{return new URL(Z)}catch{return X.error("a URL string")}},declaredOut:o(URL)})},{name:"string.url"}),$G=m.module({root:["versioned | nil | max","@",{description:"a UUID",format:"uuid"}],"#nil":"'00000000-0000-0000-0000-000000000000'","#max":"'ffffffff-ffff-ffff-ffff-ffffffffffff'","#versioned":/[\da-f]{8}-[\da-f]{4}-[1-8][\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}/i,v1:$0(/^[\da-f]{8}-[\da-f]{4}-1[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv1"),v2:$0(/^[\da-f]{8}-[\da-f]{4}-2[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv2"),v3:$0(/^[\da-f]{8}-[\da-f]{4}-3[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv3"),v4:$0(/^[\da-f]{8}-[\da-f]{4}-4[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv4"),v5:$0(/^[\da-f]{8}-[\da-f]{4}-5[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv5"),v6:$0(/^[\da-f]{8}-[\da-f]{4}-6[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv6"),v7:$0(/^[\da-f]{8}-[\da-f]{4}-7[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv7"),v8:$0(/^[\da-f]{8}-[\da-f]{4}-8[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv8")},{name:"string.uuid"}),qU=m.module({root:I.string,alpha:$0(/^[A-Za-z]*$/,"only letters"),alphanumeric:$0(/^[\dA-Za-z]*$/,"only letters and digits 0-9"),hex:jL,base64:CL,capitalize:NL,creditCard:fL,date:vL,digits:$0(/^\d*$/,"only digits 0-9"),email:xL,integer:LU,ip:uL,json:dL,lower:cL,normalize:oL,numeric:nL,regex:tL,semver:ZG,trim:XG,upper:QG,url:JG,uuid:$G},{name:"string"})});var zU,HU,WG,FU,BU,YG,MU,LG,RU,GG,OU,VG,TU,qG,KU,_G,DU,zG,wU;var PU=R(()=>{_0();b();Y1();zU=m.module({bigint:I.bigint,boolean:I.boolean,false:I.false,never:I.never,null:I.null,number:I.number,object:I.object,string:I.string,symbol:I.symbol,true:I.true,unknown:I.unknown,undefined:I.undefined}),HU=m.module({root:I.unknown,any:I.unknown},{name:"unknown"}),WG=m.module({root:I.jsonObject,stringify:t2("morph",{in:I.jsonObject,morphs:(Z)=>JSON.stringify(Z),declaredOut:I.string})},{name:"object.json"}),FU=m.module({root:I.object,json:WG},{name:"object"});BU=class BU extends D0{description='instantiate an object from an index signature and corresponding value type like `Record("string", "number")`'};YG=a0(["K",I.key],"V")((Z)=>({domain:"object",index:{signature:Z.K,value:Z.V}}),BU);MU=class MU extends D0{description='pick a set of properties from an object like `Pick(User, "name | age")`'};LG=a0(["T",I.object],["K",I.key])((Z)=>Z.T.pick(Z.K),MU);RU=class RU extends D0{description='omit a set of properties from an object like `Omit(User, "age")`'};GG=a0(["T",I.object],["K",I.key])((Z)=>Z.T.omit(Z.K),RU);OU=class OU extends D0{description="make all named properties of an object optional like `Partial(User)`"};VG=a0(["T",I.object])((Z)=>Z.T.partial(),OU);TU=class TU extends D0{description="make all named properties of an object required like `Required(User)`"};qG=a0(["T",I.object])((Z)=>Z.T.required(),TU);KU=class KU extends D0{description='exclude branches of a union like `Exclude("boolean", "true")`'};_G=a0("T","U")((Z)=>Z.T.exclude(Z.U),KU);DU=class DU extends D0{description='extract branches of a union like `Extract("0 | false | 1", "number")`'};zG=a0("T","U")((Z)=>Z.T.extract(Z.U),DU),wU=m.module({Exclude:_G,Extract:zG,Omit:GG,Partial:VG,Pick:LG,Record:YG,Required:qG})});var v1,B0,L1,HG,FG,BG,VK,MG,RG;var AU=R(()=>{Y1();h5();a5();PX();_U();PU();v1=U6({...zU,...wU,...r5,...x5,string:qU,number:A9,object:FU,unknown:HU},{prereducedAliases:!0,name:"ark"}),B0=v1.export();Object.assign(Q4.ambient,B0);Q4.typeAttachments={string:B0.string.root,number:B0.number.root,bigint:B0.bigint,boolean:B0.boolean,symbol:B0.symbol,undefined:B0.undefined,null:B0.null,object:B0.object.root,unknown:B0.unknown.root,false:B0.false,true:B0.true,never:B0.never,arrayIndex:B0.Array.index,Key:B0.Key,Record:B0.Record,Array:B0.Array.root,Date:B0.Date};L1=Object.assign(v1.type,Q4.typeAttachments),HG=v1.match,FG=v1.fn,BG=v1.generic,VK=v1.schema,MG=v1.define,RG=v1.declare});var SU=R(()=>{_0()});var AX=R(()=>{_0();b();hQ();_X();AU();SU();Y1();DX();mQ()});class C0{static evaluate(Z,X){if(Z===null||Z===void 0)return console.error(`Error evaluating expression: ${Z}`),null;try{if(Z.includes("${")){let Q=this.interpolate(Z,X);if(!isNaN(Number(Q))&&Q.trim()!=="")return Number(Q);return Q}return this.evaluateExpression(Z,X)}catch(Q){return console.error(`Error evaluating expression: ${Z}`,Q),null}}static interpolate(Z,X){return Z.replace(j9.TEMPLATE_INTERPOLATION,(Q,U)=>{try{let J=this.evaluateExpression(U,X);if(J===void 0||J===null)return"undefined";return String(J)}catch(J){return console.error(`Error in interpolation: ${Q}`,J),Q}})}static evaluateMathExpression(Z){try{return Function("Math",`return ${Z}`)(Math)}catch(X){throw Error(`Error evaluating mathematical expression: ${Z}`)}}static evaluateExpression(Z,X){if(j9.NESTED_PROPERTY_ACCESS.test(Z))return this.getNestedValue(Z,X);if(X.event&&Z.startsWith(`${X.event}.`)){if(/^[a-zA-Z0-9_]+(\.[a-zA-Z0-9_]+)+$/.test(Z))return this.getNestedValue(Z,X)}if(j9.SINGLE_LEVEL_ACCESS.test(Z))return this.getNestedValue(Z,X);try{let Q={...X};if(X.event&&X.data!==void 0)Q[X.event]=X.data;return Function("context","with(context) { return "+Z+" }")(Q)}catch(Q){return console.error(`ERROR evaluating expression '${Z}':`,Q),Z}}static getNestedValue(Z,X){let Q=Z.split(".");if(X.event&&Q[0]===X.event)Q[0]="data";let U=X;for(let J of Q){if(U===null||U===void 0||typeof U!=="object"||!(J in U))return;U=U[J]}return U}static findVariableInContext(Z,X){let Q=this.getNestedValue(Z,X);if(Q!==void 0)return Q;for(let U of jU){let J=`${U}.${Z}`,$=this.getNestedValue(J,X);if($!==void 0)return $}return}static evaluateMath(Z,X){let Q=Z,U=X.event||"",J=["data","vars","env","state","request","computed"];if(U&&/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(U))J.push(U);let $=J.join("|"),W=new RegExp(`\\b(${$})(\\.[a-zA-Z_][a-zA-Z0-9_]*)+`,"g");Q=Q.replace(W,(Y)=>{let L=this.getNestedValue(Y,X);if(L!==void 0)return typeof L==="string"?`"${L}"`:String(L);return Y}),Q=Q.replace(j9.WORD_BOUNDARY,(Y)=>{if(TG.includes(Y))return Y;if(jU.has(Y))return Y;let L=this.findVariableInContext(Y,X);if(L!==void 0)return typeof L==="string"?`"${L}"`:String(L);return Y});try{return this.evaluateMathExpression(Q)}catch(Y){return console.error(`Error in mathematical evaluation: ${Z}`,Y),NaN}}}var OG,jU,o0,TG,j9;var $6=R(()=>{OG={DATA:"data",VARS:"vars",REQUEST:"request",COMPUTED:"computed",ENV:"env",EVENT:"event",TIMESTAMP:"timestamp"},jU=new Set(Object.values(OG)),o0={RANDOM:"random",FLOOR:"floor",CEIL:"ceil",ROUND:"round",SQRT:"sqrt",ABS:"abs",POW:"pow",MIN:"min",MAX:"max",SIN:"sin",COS:"cos",TAN:"tan"},TG=[o0.RANDOM,o0.FLOOR,o0.CEIL,o0.ROUND,o0.SQRT,o0.ABS,o0.POW,o0.MIN,o0.MAX,o0.SIN,o0.COS,o0.TAN],j9={TEMPLATE_INTERPOLATION:/\$\{([^}]+)\}/g,NESTED_PROPERTY_ACCESS:/^(data|vars|request|computed|env|state)(\.[a-zA-Z0-9_]+)+$/,SINGLE_LEVEL_ACCESS:/^(vars|env|state)(\.[a-zA-Z0-9_]+)$/,WORD_BOUNDARY:/\b[a-zA-Z_][a-zA-Z0-9_]*\b/g}});var SX={};h6(SX,{BuiltInAction:()=>P2,ActionRegistry:()=>W6});class W6{static instance;actions=new Map;constructor(Z=!0){if(Z)this.registerDefaults()}static getInstance(Z=!0){if(!this.instance)this.instance=new W6(Z);return this.instance}register(Z,X){let Q=Z.toUpperCase();if(typeof X==="function")this.actions.set(Q,{handler:X});else this.actions.set(Q,X)}get(Z){return this.actions.get(Z.toUpperCase())?.handler}getDefinition(Z){return this.actions.get(Z.toUpperCase())}getDefinitions(){let Z={};return this.actions.forEach((X,Q)=>{Z[Q]=X}),Z}get Handlers(){let Z=new Map;return this.actions.forEach((X,Q)=>{Z.set(Q,X.handler)}),Z}registerDefaults(){this.register(P2.LOG,{description:"Logs a message to the console with string interpolation support",params:L1({"message?":"string","content?":"string"}),returns:L1({message:"string"}),handler:(Z,X)=>{let Q=Z.params?.message||Z.params?.content||"Log Trigger",U=typeof Q==="string"?C0.interpolate(Q,X):String(Q);return console.log(`[TriggerLog] ${U}`),{message:U}}}),this.register(P2.MATH,{description:"Evaluates a mathematical expression or performs string concatenation",params:L1({expression:"string"}),returns:L1("number | string"),handler:(Z,X)=>{let Q=String(Z.params?.expression||"0");return C0.evaluate(Q,X)}}),this.register(P2.FORWARD,CU),this.register(P2.FETCH,CU)}}var P2,KG=async(Z,X)=>{let Q=Z.params?.url||"",U=typeof Q==="string"?C0.interpolate(Q,X):String(Q),J=String(Z.params?.method||"POST").toUpperCase();if(Z.params?.query&&typeof Z.params.query==="object"){let G=new URLSearchParams;for(let[q,_]of Object.entries(Z.params.query))if(_!==void 0&&_!==null){let H=typeof _==="string"?C0.interpolate(_,X):typeof _==="object"?JSON.stringify(_):String(_);G.append(q,H)}let V=G.toString();if(V)U+=(U.includes("?")?"&":"?")+V}let W=["POST","PUT","PATCH"].includes(J),{bodyContent:Y,defaultContentType:L}=(()=>{if(!W||Z.params?.body==null)return{bodyContent:W?JSON.stringify(X.data):void 0,defaultContentType:"application/json"};let G=Z.params.body;if(typeof G==="string"){let V=C0.interpolate(G,X),q=V.trimStart().startsWith("{")||V.trimStart().startsWith("[");return{bodyContent:V,defaultContentType:q?"application/json":"text/plain"}}return{bodyContent:JSON.stringify(G),defaultContentType:"application/json"}})();try{let G=await fetch(U,{method:J,headers:{"Content-Type":L,...typeof Z.params?.headers==="object"&&Z.params.headers!==null&&!Array.isArray(Z.params.headers)?Z.params.headers:{}},...W&&Y!==void 0?{body:Y}:{}});return{url:U,method:J,status:G.status,headers:(()=>{let V={};return G.headers.forEach((q,_)=>V[_]=q),V})(),body:await G.text()}}catch(G){return{url:U,method:J,error:String(G)}}},CU;var J4=R(()=>{AX();$6();P2={LOG:"LOG",MATH:"MATH",FORWARD:"FORWARD",FETCH:"FETCH",EMIT_EVENT:"EMIT_EVENT"},CU={description:"Forwards the current event data to a remote URL via HTTP",params:L1({url:"string","method?":"'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE'","query?":"Record<string, unknown>","headers?":"Record<string, string>","body?":"string | Record<string, unknown>"}),returns:L1({url:"string",method:"string",status:"number",headers:"Record<string, string>",body:"string"}).or(L1({url:"string",method:"string",error:"string"})),handler:KG}});var Z$={};h6(Z$,{sep:()=>nJ,resolve:()=>T8,relative:()=>dJ,posix:()=>eJ,parse:()=>oJ,normalize:()=>M7,join:()=>lJ,isAbsolute:()=>pJ,format:()=>aJ,extname:()=>rJ,dirname:()=>iJ,delimiter:()=>tJ,default:()=>HV,basename:()=>sJ,_makeLong:()=>cJ});function N1(Z){if(typeof Z!=="string")throw TypeError("Path must be a string. Received "+JSON.stringify(Z))}function uJ(Z,X){var Q="",U=0,J=-1,$=0,W;for(var Y=0;Y<=Z.length;++Y){if(Y<Z.length)W=Z.charCodeAt(Y);else if(W===47)break;else W=47;if(W===47){if(J===Y-1||$===1);else if(J!==Y-1&&$===2){if(Q.length<2||U!==2||Q.charCodeAt(Q.length-1)!==46||Q.charCodeAt(Q.length-2)!==46){if(Q.length>2){var L=Q.lastIndexOf("/");if(L!==Q.length-1){if(L===-1)Q="",U=0;else Q=Q.slice(0,L),U=Q.length-1-Q.lastIndexOf("/");J=Y,$=0;continue}}else if(Q.length===2||Q.length===1){Q="",U=0,J=Y,$=0;continue}}if(X){if(Q.length>0)Q+="/..";else Q="..";U=2}}else{if(Q.length>0)Q+="/"+Z.slice(J+1,Y);else Q=Z.slice(J+1,Y);U=Y-J-1}J=Y,$=0}else if(W===46&&$!==-1)++$;else $=-1}return Q}function zV(Z,X){var Q=X.dir||X.root,U=X.base||(X.name||"")+(X.ext||"");if(!Q)return U;if(Q===X.root)return Q+U;return Q+Z+U}function T8(){var Z="",X=!1,Q;for(var U=arguments.length-1;U>=-1&&!X;U--){var J;if(U>=0)J=arguments[U];else{if(Q===void 0)Q=process.cwd();J=Q}if(N1(J),J.length===0)continue;Z=J+"/"+Z,X=J.charCodeAt(0)===47}if(Z=uJ(Z,!X),X)if(Z.length>0)return"/"+Z;else return"/";else if(Z.length>0)return Z;else return"."}function M7(Z){if(N1(Z),Z.length===0)return".";var X=Z.charCodeAt(0)===47,Q=Z.charCodeAt(Z.length-1)===47;if(Z=uJ(Z,!X),Z.length===0&&!X)Z=".";if(Z.length>0&&Q)Z+="/";if(X)return"/"+Z;return Z}function pJ(Z){return N1(Z),Z.length>0&&Z.charCodeAt(0)===47}function lJ(){if(arguments.length===0)return".";var Z;for(var X=0;X<arguments.length;++X){var Q=arguments[X];if(N1(Q),Q.length>0)if(Z===void 0)Z=Q;else Z+="/"+Q}if(Z===void 0)return".";return M7(Z)}function dJ(Z,X){if(N1(Z),N1(X),Z===X)return"";if(Z=T8(Z),X=T8(X),Z===X)return"";var Q=1;for(;Q<Z.length;++Q)if(Z.charCodeAt(Q)!==47)break;var U=Z.length,J=U-Q,$=1;for(;$<X.length;++$)if(X.charCodeAt($)!==47)break;var W=X.length,Y=W-$,L=J<Y?J:Y,G=-1,V=0;for(;V<=L;++V){if(V===L){if(Y>L){if(X.charCodeAt($+V)===47)return X.slice($+V+1);else if(V===0)return X.slice($+V)}else if(J>L){if(Z.charCodeAt(Q+V)===47)G=V;else if(V===0)G=0}break}var q=Z.charCodeAt(Q+V),_=X.charCodeAt($+V);if(q!==_)break;else if(q===47)G=V}var H="";for(V=Q+G+1;V<=U;++V)if(V===U||Z.charCodeAt(V)===47)if(H.length===0)H+="..";else H+="/..";if(H.length>0)return H+X.slice($+G);else{if($+=G,X.charCodeAt($)===47)++$;return X.slice($)}}function cJ(Z){return Z}function iJ(Z){if(N1(Z),Z.length===0)return".";var X=Z.charCodeAt(0),Q=X===47,U=-1,J=!0;for(var $=Z.length-1;$>=1;--$)if(X=Z.charCodeAt($),X===47){if(!J){U=$;break}}else J=!1;if(U===-1)return Q?"/":".";if(Q&&U===1)return"//";return Z.slice(0,U)}function sJ(Z,X){if(X!==void 0&&typeof X!=="string")throw TypeError('"ext" argument must be a string');N1(Z);var Q=0,U=-1,J=!0,$;if(X!==void 0&&X.length>0&&X.length<=Z.length){if(X.length===Z.length&&X===Z)return"";var W=X.length-1,Y=-1;for($=Z.length-1;$>=0;--$){var L=Z.charCodeAt($);if(L===47){if(!J){Q=$+1;break}}else{if(Y===-1)J=!1,Y=$+1;if(W>=0)if(L===X.charCodeAt(W)){if(--W===-1)U=$}else W=-1,U=Y}}if(Q===U)U=Y;else if(U===-1)U=Z.length;return Z.slice(Q,U)}else{for($=Z.length-1;$>=0;--$)if(Z.charCodeAt($)===47){if(!J){Q=$+1;break}}else if(U===-1)J=!1,U=$+1;if(U===-1)return"";return Z.slice(Q,U)}}function rJ(Z){N1(Z);var X=-1,Q=0,U=-1,J=!0,$=0;for(var W=Z.length-1;W>=0;--W){var Y=Z.charCodeAt(W);if(Y===47){if(!J){Q=W+1;break}continue}if(U===-1)J=!1,U=W+1;if(Y===46){if(X===-1)X=W;else if($!==1)$=1}else if(X!==-1)$=-1}if(X===-1||U===-1||$===0||$===1&&X===U-1&&X===Q+1)return"";return Z.slice(X,U)}function aJ(Z){if(Z===null||typeof Z!=="object")throw TypeError('The "pathObject" argument must be of type Object. Received type '+typeof Z);return zV("/",Z)}function oJ(Z){N1(Z);var X={root:"",dir:"",base:"",ext:"",name:""};if(Z.length===0)return X;var Q=Z.charCodeAt(0),U=Q===47,J;if(U)X.root="/",J=1;else J=0;var $=-1,W=0,Y=-1,L=!0,G=Z.length-1,V=0;for(;G>=J;--G){if(Q=Z.charCodeAt(G),Q===47){if(!L){W=G+1;break}continue}if(Y===-1)L=!1,Y=G+1;if(Q===46){if($===-1)$=G;else if(V!==1)V=1}else if($!==-1)V=-1}if($===-1||Y===-1||V===0||V===1&&$===Y-1&&$===W+1){if(Y!==-1)if(W===0&&U)X.base=X.name=Z.slice(1,Y);else X.base=X.name=Z.slice(W,Y)}else{if(W===0&&U)X.name=Z.slice(1,$),X.base=Z.slice(1,Y);else X.name=Z.slice(W,$),X.base=Z.slice(W,Y);X.ext=Z.slice($,Y)}if(W>0)X.dir=Z.slice(0,W-1);else if(U)X.dir="/";return X}var nJ="/",tJ=":",eJ,HV;var X$=R(()=>{eJ=((Z)=>(Z.posix=Z,Z))({resolve:T8,normalize:M7,isAbsolute:pJ,join:lJ,relative:dJ,_makeLong:cJ,dirname:iJ,basename:sJ,extname:rJ,format:aJ,parse:oJ,sep:nJ,delimiter:tJ,win32:null,posix:null}),HV=eJ});J4();var Y6;(($)=>{$.ENGINE_START="engine:start";$.ENGINE_DONE="engine:done";$.RULE_MATCH="rule:match";$.ACTION_SUCCESS="action:success";$.ACTION_ERROR="action:error"})(Y6||={});var C9;((U)=>{U.RULE_ADDED="rule:added";U.RULE_REMOVED="rule:removed";U.RULE_UPDATED="rule:updated"})(C9||={});var N9=C9;class jX{static instance;handlers=new Map;constructor(){}static getInstance(){if(!this.instance)this.instance=new jX;return this.instance}on(Z,X){let Q=Z;if(!this.handlers.has(Q))this.handlers.set(Q,new Set);return this.handlers.get(Q).add(X),()=>this.off(Q,X)}off(Z,X){let Q=Z,U=this.handlers.get(Q);if(U)U.delete(X)}emit(Z,X){let Q=Z,U=this.handlers.get(Q);if(U)U.forEach((J)=>{try{J(X)}catch($){console.error(`Error in event handler for ${Q}:`,$)}})}}var n0=jX.getInstance();var DG=P2,wG=Y6,PG=C9,CX={IF:"if",THEN:"then",ELSE:"else",BREAK:"break",CONTINUE:"continue",MODE:"mode",ACTIONS:"actions",DELAY:"delay",PROBABILITY:"probability",PARAMS:"params",TYPE:"type",ON:"on"},NX={UNKNOWN_ACTION:"Unknown or generic action type",MISSING_ACTION_TYPE:"Action has no type and no control flow properties",PROBABILITY_FAILED:"probability check failed",BUN_REQUIRED:"Bun is required for 'execute' action",MISSING_KEY:"Missing key for state operation"},b9={RULE_ENGINE_EVALUATING:(Z,X)=>`[RuleEngine] Evaluating context with ${Z} rules for event: ${X}`,TRIGGER_ENGINE_EVALUATING:(Z,X)=>`[TriggerEngine] Evaluating context with ${Z} rules for event: ${X}`},IK={Actions:DG,Events:wG,RuleEvents:PG,ControlFlow:CX,ErrorMessages:NX,DebugMessages:b9};$6();class AG{queue=[];engine;config;timer=null;isProcessing=!1;constructor(Z,X={maxBatchSize:10,flushIntervalMs:100}){this.engine=Z,this.config=X}push(Z){if(this.queue.push(Z),this.queue.length>=this.config.maxBatchSize)this.processQueue();else if(!this.timer)this.timer=setTimeout(()=>this.processQueue(),this.config.flushIntervalMs)}async processQueue(){if(this.isProcessing)return;if(this.isProcessing=!0,this.timer)clearTimeout(this.timer),this.timer=null;let Z=this.queue.splice(0,this.config.maxBatchSize);if(Z.length===0){this.isProcessing=!1;return}console.debug(`[EventQueue] Processing batch of ${Z.length} events.`);for(let X of Z)try{await this.engine.evaluateContext(X)}catch(Q){console.error(`[EventQueue] Error processing event ${X.event}:`,Q)}if(this.queue.length>0)setTimeout(()=>this.processQueue(),0);this.isProcessing=!1}getQueueLength(){return this.queue.length}}class SG{store=new Map;async loadState(){return new Map(this.store)}async saveState(Z,X){this.store.set(Z,X)}async deleteState(Z){this.store.delete(Z)}async clearState(){this.store.clear()}}class NU{keyPrefix;cache=new Map;isLoaded=!1;pendingWrite=null;writeDelay;dirty=!1;constructor(Z="trigger_system:",X){this.keyPrefix=Z,this.writeDelay=X?.writeDelay??0}flush(){this.dirty=!0,this.persist()}getCache(){return this.ensureLoaded(),new Map(this.cache)}isDirty(){return this.dirty}isAvailable(){return typeof window<"u"&&typeof window.localStorage<"u"}ensureLoaded(){if(this.isLoaded)return;if(this.isAvailable())try{let Z=window.localStorage.getItem(this.keyPrefix+"state");if(Z){let X=JSON.parse(Z);this.cache=new Map(Object.entries(X))}}catch(Z){console.error("[BrowserPersistence] Failed to load from localStorage:",Z)}this.isLoaded=!0}schedulePersist(){if(this.writeDelay<=0){this.persist();return}if(this.pendingWrite)clearTimeout(this.pendingWrite);this.dirty=!0,this.pendingWrite=setTimeout(()=>{this.persist(),this.pendingWrite=null},this.writeDelay)}persist(){if(this.pendingWrite)clearTimeout(this.pendingWrite),this.pendingWrite=null;if(this.isAvailable())try{let Z=Object.fromEntries(this.cache);window.localStorage.setItem(this.keyPrefix+"state",JSON.stringify(Z)),this.dirty=!1}catch(Z){console.error("[BrowserPersistence] Failed to save to localStorage:",Z)}}async loadState(){return this.ensureLoaded(),new Map(this.cache)}async saveState(Z,X){this.ensureLoaded(),this.cache.set(Z,X),this.schedulePersist()}async deleteState(Z){this.ensureLoaded(),this.cache.delete(Z),this.schedulePersist()}async clearState(){this.cache.clear(),this.schedulePersist()}}class bX{static getNestedValue(Z,X){let Q=Z.split("."),U=X;for(let J of Q){if(U===null||U===void 0)return;if(typeof U==="object"&&U!==null&&J in U)U=U[J];else return}return U}static interpolate(Z,X){if(typeof Z!=="string")return Z;return Z.replace(/\$\{([^}]+)\}/g,(Q,U)=>{let J=this.getNestedValue(U,X);if(J!==void 0)return String(J);return Q})}static compare(Z,X,Q){let U=($)=>{if($ instanceof Date)return $.getTime();if(typeof $==="number")return $;if(typeof $==="string"){let W=new Date($);return isNaN(W.getTime())?0:W.getTime()}return 0},J=($)=>{if(typeof $==="number")return $;if($===null||$===void 0||$==="")return null;let W=Number($);return isNaN(W)?null:W};switch(X){case"EQ":case"==":return Z==Q;case"NEQ":case"!=":return Z!=Q;case"GT":case">":{let $=J(Z),W=J(Q);return $!==null&&W!==null&&$>W}case"GTE":case">=":{let $=J(Z),W=J(Q);return $!==null&&W!==null&&$>=W}case"LT":case"<":{let $=J(Z),W=J(Q);return $!==null&&W!==null&&$<W}case"LTE":case"<=":{let $=J(Z),W=J(Q);return $!==null&&W!==null&&$<=W}case"IN":return Array.isArray(Q)&&Q.some(($)=>$===Z);case"NOT_IN":return Array.isArray(Q)&&!Q.some(($)=>$===Z);case"CONTAINS":if(Array.isArray(Q))return Q.some(($)=>String(Z).includes(String($)));if(Array.isArray(Z)||typeof Z==="string")return Z.includes(Q);return!1;case"NOT_CONTAINS":if(Array.isArray(Q))return!Q.some(($)=>String(Z).includes(String($)));if(Array.isArray(Z)||typeof Z==="string")return!Z.includes(Q);return!1;case"STARTS_WITH":if(Array.isArray(Q))return Q.some(($)=>String(Z).startsWith(String($)));if(typeof Z==="string"&&typeof Q==="string")return Z.startsWith(Q);return!1;case"ENDS_WITH":if(Array.isArray(Q))return Q.some(($)=>String(Z).endsWith(String($)));if(typeof Z==="string"&&typeof Q==="string")return Z.endsWith(Q);return!1;case"IS_EMPTY":{let $=!1;if(typeof Z==="string")$=Z==="";else if(Array.isArray(Z))$=Z.length===0;else if(Z===null||Z===void 0)$=!0;else if(typeof Z==="object")$=Object.keys(Z).length===0;return Q===!1?!$:$}case"IS_NULL":case"IS_NONE":{let $=Z===null||Z===void 0;return Q===!1?!$:$}case"HAS_KEY":if(typeof Z==="object"&&Z!==null&&typeof Q==="string")return Q in Z;return!1;case"MATCHES":if(typeof Q==="string")return new RegExp(Q).test(String(Z));return!1;case"RANGE":if(Array.isArray(Q)&&Q.length===2){let $=J(Z),W=J(Q[0]),Y=J(Q[1]);return $!==null&&W!==null&&Y!==null&&$>=W&&$<=Y}return!1;case"SINCE":case"AFTER":return U(Z)>=U(Q);case"BEFORE":case"UNTIL":return U(Z)<U(Q);default:return console.warn(`Unknown operator: ${X}`),!1}}}$6();class Q2{static evaluateConditions(Z,X){if(!Z)return!0;if(Array.isArray(Z))return Z.every((Q)=>this.evaluateRecursiveCondition(Q,X));return this.evaluateRecursiveCondition(Z,X)}static evaluateRecursiveCondition(Z,X){if("conditions"in Z&&"operator"in Z){let U=Z;if(U.operator==="OR")return U.conditions.some((J)=>this.evaluateRecursiveCondition(J,X));else return U.conditions.every((J)=>this.evaluateRecursiveCondition(J,X))}let Q=Z;try{let U=C0.evaluate(Q.field,X),J=Q.value;if(typeof J==="string"&&J.includes("${"))J=C0.interpolate(J,X);return bX.compare(U,Q.operator,J)}catch(U){return console.error("Error evaluating condition:",Q,U),!1}}static async processSingleActionBase(Z,X,Q){let U={...Z};if(!U.type&&!U.run&&!U.break&&!U.continue){let W=Object.values(CX),Y=Object.keys(U).filter((L)=>!W.includes(L));for(let L of Y)if(Q?!!Q.get(L):!0){U.type=L;let V=U[L];if(typeof V==="string")U.params={...U.params,message:V,content:V};else if(typeof V==="object"&&V!==null)U.params={...U.params,...V};break}}if(U.break)return{shouldExecute:!1,executedAction:{type:"BREAK",result:"Break execution",timestamp:Date.now()},normalizedAction:U};if(U.continue)return{shouldExecute:!1,executedAction:{type:"CONTINUE",result:"Continue execution",timestamp:Date.now()},normalizedAction:U};let J=U.probability;if(typeof J==="string"){let W=C0.evaluate(J,X);J=typeof W==="number"?W:Number(W)}if(J!==void 0&&Math.random()>J)return{shouldExecute:!1,executedAction:{type:U.type||"skipped",result:{skipped:"probability check failed"},timestamp:Date.now()},normalizedAction:U};let $=U.delay;if(typeof $==="string"){let W=C0.evaluate($,X);$=typeof W==="number"?W:Number(W)}if($&&$>0)await new Promise((W)=>setTimeout(W,$));return U.params=this.interpolateParams(U.params||{},X),{shouldExecute:!0,normalizedAction:U}}static selectActions(Z){let X=[],Q="ALL";if(Array.isArray(Z))X=Z;else if(Z&&typeof Z==="object"&&"mode"in Z&&"actions"in Z){let U=Z;Q=U.mode,X=U.actions}else X=[Z];if(Q==="EITHER"&&X.length>0){let U=(Y)=>("probability"in Y)?Y.probability:1,J=X.reduce((Y,L)=>Y+U(L),0),$=Math.random()*J;for(let Y of X){let L=U(Y);if($-=L,$<=0)return{actionsToExecute:[Y],mode:Q}}let W=X[X.length-1];return{actionsToExecute:W?[W]:[],mode:Q}}return{actionsToExecute:X,mode:Q}}static interpolateParams(Z,X){let Q={};for(let[U,J]of Object.entries(Z))Q[U]=this.interpolateDeep(J,X);return Q}static interpolateDeep(Z,X){if(typeof Z==="string"&&Z.includes("${"))return C0.interpolate(Z,X);if(Array.isArray(Z))return Z.map((Q)=>this.interpolateDeep(Q,X));if(typeof Z==="object"&&Z!==null){let Q={};for(let[U,J]of Object.entries(Z))Q[U]=this.interpolateDeep(J,X);return Q}return Z}}$6();var A2=new Set(["merge","mergeCallbacks","set","setCallback","delete","has","get","getCallback","call","interpolate","increment","decrement","snapshot","snapshotCallbacks","snapshotWithCallbacks","reset","keys","callbackKeys","toContext"]),E9=()=>{let Z=Object.create(null),X=Object.create(null);function Q(W,Y){if(A2.has(W))return console.warn(`[VarsContext] ${Y}: "${W}" is a reserved API key and cannot be used.`),!1;return!0}function U(W,Y,L){return(typeof Y==="boolean"?Y:Y?.overwrite??!1)||!(W in L)}function J(W){let Y={...Z};for(let[L,G]of Object.entries(X))Y[L]=G;return{event:W?.event??"",timestamp:W?.timestamp??Date.now(),data:W?.data??{},vars:Y,env:W?.env,id:W?.id}}let $={merge(W,Y){for(let L of Object.keys(W)){if(!Q(L,"merge"))continue;let G=W[L];if(typeof G==="function"){console.warn(`[VarsContext] merge(): "${L}" is a function — use mergeCallbacks() instead. Skipped.`);continue}if(U(L,Y,Z))Z[L]=G}},mergeCallbacks(W,Y){for(let L of Object.keys(W)){if(!Q(L,"mergeCallbacks"))continue;let G=W[L];if(typeof G!=="function"){console.warn(`[VarsContext] mergeCallbacks(): "${L}" is not a function. Skipped.`);continue}if(U(L,Y,X))X[L]=G}},set(W,Y){if(!Q(W,"set"))return;if(typeof Y==="function"){console.warn(`[VarsContext] set(): "${W}" is a function — use setCallback() instead.`);return}Z[W]=Y},setCallback(W,Y){if(!Q(W,"setCallback"))return;if(typeof Y!=="function"){console.warn(`[VarsContext] setCallback(): "${W}" value is not a function.`);return}X[W]=Y},delete(W){if(!Q(W,"delete"))return!1;let Y=W in Z,L=W in X;if(Y)delete Z[W];if(L)delete X[W];return Y||L},has(W){return W in Z||W in X},get(W){return Z[W]},getCallback(W){return X[W]},call(W,...Y){let L=X[W];if(typeof L!=="function")throw TypeError(`[VarsContext] call(): "${W}" is not a registered callback (got ${typeof(Z[W]??L)}).`);return L(...Y)},interpolate(W){return C0.interpolate(W,J())},increment(W,Y=1){let G=(typeof Z[W]==="number"?Z[W]:0)+Y;return Z[W]=G,G},decrement(W,Y=1){let G=(typeof Z[W]==="number"?Z[W]:0)-Y;return Z[W]=G,G},snapshot(){return{...Z}},snapshotCallbacks(){return{...X}},snapshotWithCallbacks(){let W={...Z};for(let[Y,L]of Object.entries(X))W[Y]=L;return W},reset(W={},Y=!1){for(let L of Object.keys(Z))delete Z[L];if(Y)for(let L of Object.keys(X))delete X[L];for(let[L,G]of Object.entries(W))if(!A2.has(L)&&typeof G!=="function")Z[L]=G},keys(){return Object.keys(Z)},callbackKeys(){return Object.keys(X)},toContext(W){return J(W)}};return new Proxy($,{get(W,Y){if(typeof Y==="symbol")return;let L=Y;if(A2.has(L))return $[L];if(L in X)return X[L];return Z[L]},set(W,Y,L){if(typeof Y==="symbol")return!1;let G=Y;if(A2.has(G))return console.warn(`[VarsContext] "${G}" is a reserved API method and cannot be overwritten.`),!1;if(typeof L==="function")X[G]=L;else Z[G]=L;return!0},has(W,Y){let L=String(Y);return A2.has(L)||L in Z||L in X},deleteProperty(W,Y){return console.warn(`[VarsContext] Use vars.delete("${String(Y)}") instead of \`delete vars.${String(Y)}\`.`),!1},ownKeys(){return[...new Set([...A2,...Object.keys(Z),...Object.keys(X)])]},getOwnPropertyDescriptor(W,Y){let L=String(Y);if(A2.has(L))return{configurable:!0,enumerable:!1,writable:!1,value:$[L]};if(L in Z)return{configurable:!0,enumerable:!0,writable:!0,value:Z[L]};if(L in X)return{configurable:!0,enumerable:!0,writable:!0,value:X[L]};return}})},jG=E9();class L6{_rules=[];actionHandlers=new Map;lastExecution=new Map;_config;_vars;constructor(Z=[]){if(Array.isArray(Z))this._rules=Z;else this._config=Z,this._rules=[...Z.rules];this._vars=E9();try{let{ActionRegistry:X}=(J4(),A7(SX));X.getInstance(!0)}catch(X){console.log(X)}this._registerVarActions(),this.sortRules()}sortRules(){this._rules.sort((Z,X)=>(X.priority||0)-(Z.priority||0))}_registerVarActions(){this.registerAction("vars",async(Z,X)=>{let Q=String(Z.op??"set"),U=Z.key!=null?String(Z.key):"",J=X.vars??{};switch(Q){case"set":{let $=Z.value;return this._vars.set(U,$),J[U]=$,{op:Q,key:U,value:$}}case"increment":{let $=typeof Z.delta==="number"?Z.delta:1,W=this._vars.increment(U,$);return J[U]=W,{op:Q,key:U,value:W}}case"decrement":{let $=typeof Z.delta==="number"?Z.delta:1,W=this._vars.decrement(U,$);return J[U]=W,{op:Q,key:U,value:W}}case"delete":return this._vars.delete(U),delete J[U],{op:Q,key:U,deleted:!0};case"merge":{let $=Z.overwrite===!0,W={},Y=Z.data??Z;for(let[L,G]of Object.entries(Y)){if(L==="op"||L==="overwrite"||L==="data"||typeof G==="function")continue;W[L]=G}this._vars.merge(W,{overwrite:$});for(let[L,G]of Object.entries(W))if($||!(L in J))J[L]=G;return{op:Q,merged:Object.keys(W),overwrite:$}}case"reset":{let $=Z.data??{};this._vars.reset($);for(let W of Object.keys(J))delete J[W];return Object.assign(J,this._vars.snapshot()),{op:Q,keys:this._vars.keys()}}default:return console.warn(`[vars action] Unknown op: "${Q}"`),{op:Q,error:`unknown op "${Q}"`}}})}registerAction(Z,X){this.actionHandlers.set(Z,X)}registerVars(Z,X){this._mergeWithCallbackRouting(Z,X)}_mergeWithCallbackRouting(Z,X){let Q={},U={};for(let[J,$]of Object.entries(Z))if(typeof $==="function")U[J]=$;else Q[J]=$;if(Object.keys(Q).length)this._vars.merge(Q,X);if(Object.keys(U).length)this._vars.mergeCallbacks(U,X)}async processEvent(Z){if(Z.vars&&Object.keys(Z.vars).length)this._mergeWithCallbackRouting(Z.vars,{overwrite:!1});let X={};for(let[J,$]of Object.entries(Z.vars??{}))if(typeof $!=="function")X[J]=$;Z.vars={...this._vars.snapshotWithCallbacks(),...X};let Q=[],U=this._rules.filter((J)=>J.enabled!==!1&&J.on===Z.event);for(let J of U){if(J.cooldown&&this.checkCooldown(J.id,J.cooldown))continue;let $=Q2.evaluateConditions(J.if,Z),W;if($)n0.emit("rule:match",{rule:J,context:Z}),W=J.do;else if(J.else)W=J.else;if(W){let Y=await this.executeRuleActions(W,Z);this.lastExecution.set(J.id,Date.now());let L=this._vars.snapshotWithCallbacks();for(let[G,V]of Object.entries(L))Z.vars[G]=V;Q.push({ruleId:J.id,success:!0,executedActions:Y})}if(!$&&!J.else&&!this.shouldEvaluateAll())break;if($&&!this.shouldEvaluateAll())break}return Q}async processEventSimple(Z,X={},Q={}){this._mergeWithCallbackRouting(Q,{overwrite:!1});let U={event:Z,data:X,vars:Q,timestamp:Date.now()};return this.processEvent(U)}updateRules(Z){let X=this.getRules(),Q=new Set(X.map((W)=>W.id)),U=new Set(Z.map((W)=>W.id)),J=Z.filter((W)=>!Q.has(W.id)),$=X.filter((W)=>!U.has(W.id));this._rules=[...Z],this.sortRules(),J.forEach((W)=>{this.emitRuleEvent(N9.RULE_ADDED,{ruleId:W.id,timestamp:Date.now()})}),$.forEach((W)=>{this.emitRuleEvent(N9.RULE_REMOVED,{ruleId:W.id,timestamp:Date.now()})}),this.emitRuleEvent(N9.RULE_UPDATED,{count:Z.length,added:J.length,removed:$.length,unchanged:Z.length-J.length,timestamp:Date.now()})}emitRuleEvent(Z,X){try{if(n0)n0.emit(Z,{...X,timestamp:Date.now()})}catch(Q){console.warn(`Could not emit event ${Z}:`,Q)}}getRules(){return[...this._rules]}checkCooldown(Z,X){let Q=this.lastExecution.get(Z);if(!Q)return!1;return Date.now()-Q<X}shouldEvaluateAll(){return this._config?.globalSettings?.evaluateAll??!0}evaluateConditions(Z,X){return Q2.evaluateConditions(Z,X)}evaluateSingleCondition(Z,X){return Q2.evaluateConditions(Z,X)}async executeRuleActions(Z,X){let{actionsToExecute:Q}=Q2.selectActions(Z),U=[];for(let J of Q){if("actions"in J&&"mode"in J){U.push(...await this.executeRuleActions(J,X));continue}let $=J;if("if"in $&&$.if&&($.then||$.else||$.do)){let Y=this.evaluateConditions($.if,X),L=$.then||$.do;if(Y&&L)U.push(...await this.executeRuleActions(L,X));else if(!Y&&$.else)U.push(...await this.executeRuleActions($.else,X));continue}if("if"in $&&$.if){if(!this.evaluateConditions($.if,X))continue}let W=await this.executeSingleAction($,X);if(U.push(W),W.type==="BREAK")break}return U}async executeSingleAction(Z,X){let{shouldExecute:Q,executedAction:U,normalizedAction:J}=await Q2.processSingleActionBase(Z,X);if(!Q)return U;try{let $=this.actionHandlers.get(J.type);if($){let Y=await $(J.params||{},X);return n0.emit("action:success",{action:J,context:X,result:Y}),{type:J.type,result:Y,timestamp:Date.now()}}try{let{ActionRegistry:Y}=(J4(),A7(SX)),L=Y.getInstance().get(J.type);if(L){let G=await L(J,X);return n0.emit("action:success",{action:J,context:X,result:G}),{type:J.type,result:G,timestamp:Date.now()}}}catch{}let W=`${NX.UNKNOWN_ACTION}: ${J.type}`;if(this._config?.globalSettings?.strictActions)throw Error(W);return console.warn(W),{type:J.type,result:{warning:W},timestamp:Date.now()}}catch($){return console.error(`Error executing action ${J.type}:`,$),n0.emit("action:error",{action:J,context:X,error:String($)}),{type:J.type,error:String($),timestamp:Date.now()}}}interpolateParams(Z,X){return Q2.interpolateParams(Z,X)}get rules(){return[...this._rules]}get config(){return this._config}get vars(){return this._vars}set rules(Z){this._rules=[...Z],this.sortRules()}}J4();class bU extends L6{actionRegistry;constructor(Z){super(Z);this.actionRegistry=W6.getInstance(!0)}async evaluateContext(Z){if(!Z.env)Z.env={};if(this._config?.globalSettings?.debugMode)console.log(b9.RULE_ENGINE_EVALUATING(this._rules.length,Z.event));n0.emit("engine:start",{context:Z,rulesCount:this._rules.length});let X=await this.processEvent(Z);return n0.emit("engine:done",{results:X,context:Z}),X}async processEvent(Z,X={},Q={}){if(typeof Z==="string"){let $={event:Z,data:X,vars:Q,timestamp:Date.now()};return this.processEvent($)}let U=Z;if(n0.emit("engine:start",{context:U,rulesCount:this._rules.length}),this._config?.globalSettings?.debugMode)console.log(b9.RULE_ENGINE_EVALUATING(this._rules.length,U.event));let J=await super.processEvent(U);return n0.emit("engine:done",{results:J,context:U}),J}get ActionRegistry(){return this.actionRegistry}}J4();AX();var CG=["EQ","==","NEQ","!="],EU=["GT",">","GTE",">=","LT","<","LTE","<="],fU=["IN","NOT_IN","RANGE"],IU=["CONTAINS","NOT_CONTAINS","STARTS_WITH","ENDS_WITH"],NG=["IS_NULL","IS_NONE"],bG=["IS_EMPTY","HAS_KEY","MATCHES","SINCE","AFTER","BEFORE","UNTIL"],zD=[...CG,...EU,...fU,...IU,...NG,...bG];function yU(Z){return fU.includes(Z)}function kU(Z){return IU.includes(Z)}function gU(Z){return EU.includes(Z)}var U2=U6({Operator:"'EQ' | '==' | 'NEQ' | '!=' | 'GT' | '>' | 'GTE' | '>=' | 'LT' | '<' | 'LTE' | '<=' | 'IN' | 'NOT_IN' | 'CONTAINS' | 'NOT_CONTAINS' | 'STARTS_WITH' | 'ENDS_WITH' | 'MATCHES' | 'RANGE' | 'SINCE' | 'AFTER' | 'BEFORE' | 'UNTIL'",Condition:"RangeCondition | ListCondition | ContainsCondition | NumericCondition | RegexCondition | StringOperatorCondition | HasKeyCondition | NullCondition | EmptyCondition | BasicCondition",RangeCondition:{field:"string > 0",operator:"'RANGE'",value:"unknown[] == 2"},ListCondition:{field:"string > 0",operator:"'IN' | 'NOT_IN'",value:"unknown[]"},ContainsCondition:{field:"string > 0",operator:"'CONTAINS' | 'NOT_CONTAINS'",value:"string | unknown[]"},StringOperatorCondition:{field:"string > 0",operator:"'STARTS_WITH' | 'ENDS_WITH'",value:"string"},HasKeyCondition:{field:"string > 0",operator:"'HAS_KEY'",value:"string"},NullCondition:{field:"string > 0",operator:"'IS_NULL' | 'IS_NONE'","value?":"boolean | null"},EmptyCondition:{field:"string > 0",operator:"'IS_EMPTY'","value?":"boolean | null"},NumericCondition:{field:"string > 0",operator:"'>' | '>=' | '<' | '<=' | 'GT' | 'GTE' | 'LT' | 'LTE'",value:"number | string"},RegexCondition:{field:"string > 0",operator:"'MATCHES'",value:"string"},BasicCondition:{field:"string > 0",operator:"Operator",value:"unknown"},ConditionGroup:{operator:"'AND' | 'OR'",conditions:"(Condition | ConditionGroup)[] >= 1"},RuleCondition:"Condition | ConditionGroup",Action:{"type?":"string > 0","params?":"object","delay?":"number.integer >= 0 | string","probability?":"0 <= number <= 1 | string","if?":"RuleCondition | RuleCondition[]","then?":"Action | ActionGroup","else?":"Action | ActionGroup","break?":"boolean","continue?":"boolean"},ActionGroup:{"mode?":"'ALL' | 'EITHER' | 'SEQUENCE'",actions:"(Action | ActionGroup)[] >= 1"},RuleAction:"Action | ActionGroup",InlineConditionalAction:{if:"RuleCondition | RuleCondition[]","then?":"Action | ActionGroup","do?":"Action | ActionGroup","else?":"Action | ActionGroup","break?":"boolean","continue?":"boolean"},TriggerRule:{id:"string > 0","name?":"string","description?":"string","priority?":"number.integer","enabled?":"boolean","cooldown?":"number.integer >= 0","tags?":"string[]",on:"string > 0","if?":"RuleCondition | RuleCondition[]",do:"RuleAction | RuleAction[] | InlineConditionalAction","else?":"RuleAction | RuleAction[]","comment?":"string"}}),TD=U2.type("Operator"),KD=U2.type("Condition"),DD=U2.type("ConditionGroup"),wD=U2.type("RuleCondition"),PD=U2.type("Action"),AD=U2.type("ActionGroup"),SD=U2.type("InlineConditionalAction"),vU=U2.type("TriggerRule");class EX{static validate(Z){let X;if(typeof vU==="function")X=vU(Z);if(X instanceof L1.errors){let J=[];for(let $ of X){let W=$.path.join("."),Y=$.message,L=void 0;if(W.endsWith("on")&&(Y.includes("string")||Y.includes("must be")))if(typeof Z==="object"&&Z!==null&&"on"in Z&&Z.on===!0)Y="The 'on' field is incorrect (boolean true found).",L=`In YAML, 'on' is a boolean keyword (true). Quote it: "on": "EventName"`;else L="Ensure 'on' is a string event name.";J.push({path:W,message:Y,suggestion:L,severity:"error"})}return{valid:!1,issues:J}}let Q=X,U=[];if(this.validateConditionsRecursive(Q.if,U,"if"),this.validateInlineConditionalRecursive(Q.do,U,"do"),Q.else)this.validateInlineConditionalRecursive(Q.else,U,"else");if(U.length>0)return{valid:!1,issues:U};return{valid:!0,rule:Q}}static validateInlineConditionalRecursive(Z,X,Q){if(!Z)return;if(Array.isArray(Z)){Z.forEach((U,J)=>{this.validateInlineConditionalRecursive(U,X,`${Q}.${J}`)});return}if(typeof Z==="object"&&Z!==null&&"mode"in Z&&"actions"in Z){let U=Z;if(Array.isArray(U.actions))U.actions.forEach((J,$)=>{this.validateInlineConditionalRecursive(J,X,`${Q}.actions.${$}`)});return}if(typeof Z==="object"&&Z!==null&&"if"in Z){let U=Z;if(this.validateConditionsRecursive(U.if,X,`${Q}.if`),U.then)this.validateInlineConditionalRecursive(U.then,X,`${Q}.then`);if(U.do)this.validateInlineConditionalRecursive(U.do,X,`${Q}.do`);if(U.else)this.validateInlineConditionalRecursive(U.else,X,`${Q}.else`);return}}static validateConditionsRecursive(Z,X,Q){if(!Z)return;if(Array.isArray(Z)){Z.forEach((U,J)=>{this.validateConditionsRecursive(U,X,`${Q}.${J}`)});return}if(typeof Z==="object"&&Z!==null&&"conditions"in Z&&Array.isArray(Z.conditions)){Z.conditions.forEach((U,J)=>{this.validateConditionsRecursive(U,X,`${Q}.conditions.${J}`)});return}if(typeof Z==="object"&&Z!==null&&"operator"in Z&&"value"in Z)this.validateConditionValue(Z,X,Q)}static validateConditionValue(Z,X,Q){let{operator:U,value:J}=Z,$=U;if(yU($)){if(!Array.isArray(J)){X.push({path:`${Q}.value`,message:`Incorrect value type: Operator '${$}' expects a List (Array), but received ${typeof J}.`,suggestion:$==="RANGE"?"Use format [min, max]":"Use format [item1, item2]",severity:"error"});return}if($==="RANGE"){if(J.length!==2)X.push({path:`${Q}.value`,message:"Invalid Range: Operator 'RANGE' requires exactly 2 values (min and max).",suggestion:"Use format [min, max], e.g. [1, 10]",severity:"error"});else if(typeof J[0]!=="number"&&typeof J[0]!=="string")X.push({path:`${Q}.value`,message:"Incorrect range type: Range values must be numbers or expression strings.",severity:"error"})}}else if($==="CONTAINS"||$==="NOT_CONTAINS"){if(typeof J!=="string"&&!Array.isArray(J))X.push({path:`${Q}.value`,message:`Incorrect value type: Operator 'CONTAINS' expects a String or List (Array), but received ${typeof J}.`,suggestion:"Use a substring or a list of items.",severity:"error"})}else if(kU($)){if(typeof J!=="string"&&!Array.isArray(J))X.push({path:`${Q}.value`,message:`Incorrect value type: Operator '${$}' expects a String or List (Array), but received ${typeof J}.`,suggestion:"Use a string prefix/suffix or a list of prefixes/suffixes.",severity:"error"})}else if($==="MATCHES")if(typeof J!=="string")X.push({path:`${Q}.value`,message:`Incorrect value type: Operator 'MATCHES' expects a string (regex pattern), but received ${typeof J}.`,severity:"error"});else try{new RegExp(J)}catch(W){X.push({path:`${Q}.value`,message:`Invalid Regex pattern: ${W.message}`,severity:"error"})}else if(gU($)){if(typeof J!=="number"&&typeof J!=="string")X.push({path:`${Q}.value`,message:`Incorrect value type: Operator '${$}' expects a number or expression string, but received ${typeof J}.`,severity:"error"})}else if($==="HAS_KEY"){if(typeof J!=="string")X.push({path:`${Q}.value`,message:`Incorrect value type: Operator 'HAS_KEY' expects a string (key name), but received ${typeof J}.`,severity:"error"})}}}function f9(Z,X){let Q=new Map,U=[];for(let $ of Z){let Y=$[X];if(Y!==void 0&&Y!==null){let L=String(Y);if(!Q.has(L))Q.set(L,$)}else U.push($)}let J=Array.from(new Set(U.map(($)=>JSON.stringify($)))).map(($)=>JSON.parse($));return[...Array.from(Q.values()),...J]}function G6(Z,X={}){let{deduplicate:Q=!0,uniqueIdField:U}=X;if(!Z)return;if(Array.isArray(Z)){let J=Z.map((W)=>G6(W,X)).filter((W)=>W!==void 0);if(!Q)return J.length===0?void 0:J.length===1?J[0]:J;let $=U?f9(J,U):Array.from(new Set(J.map((W)=>JSON.stringify(W)))).map((W)=>JSON.parse(W));return $.length===0?void 0:$.length===1?$[0]:$}if("operator"in Z&&"conditions"in Z){let J=Z,$=G6(J.conditions,X);if(!$)return;if(!Array.isArray($))$=[$];let W=[];for(let L of $)if("operator"in L&&"conditions"in L&&L.operator===J.operator)W.push(...L.conditions);else W.push(L);let Y;if(!Q)Y=W;else if(U)Y=f9(W,U);else Y=Array.from(new Set(W.map((L)=>JSON.stringify(L)))).map((L)=>JSON.parse(L));if(Y.length===0)return;if(Y.length===1)return Y[0];return{operator:J.operator,conditions:Y}}return Z}function V6(Z,X={}){let{deduplicate:Q=!1,uniqueIdField:U}=X;if(!Z)return;if(Array.isArray(Z)){let J=Z.map((L)=>V6(L,X)).filter((L)=>L!==void 0);if(!Q){let L=J.flatMap((V)=>Array.isArray(V)?V:[V]),G=[];for(let V of L)if("mode"in V&&"actions"in V&&V.mode==="ALL")G.push(...V.actions);else G.push(V);if(G.length===0)return;if(G.length===1)return G[0];return G}let $=J.flatMap((L)=>Array.isArray(L)?L:[L]),W=[];for(let L of $)if("mode"in L&&"actions"in L&&L.mode==="ALL")W.push(...L.actions);else W.push(L);if(W.length===0)return;if(W.length===1)return W[0];let Y;if(U)Y=f9(W,U);else Y=Array.from(new Set(W.map((L)=>JSON.stringify(L)))).map((L)=>JSON.parse(L));return Y}if("mode"in Z&&"actions"in Z){let J=Z,$=V6(J.actions,X);if(!$)return;if(!Array.isArray($))$=[$];let W=[];for(let L of $)if("mode"in L&&"actions"in L&&L.mode===J.mode)W.push(...L.actions);else W.push(L);if(W.length===0)return;if(W.length===1)return W[0];let Y;if(!Q)Y=W;else if(U)Y=f9(W,U);else Y=Array.from(new Set(W.map((L)=>JSON.stringify(L)))).map((L)=>JSON.parse(L));return{mode:J.mode,actions:Y}}return Z}class J2{conditions=[];op="AND";constructor(Z="AND"){this.op=Z}where(Z,X,Q){return this.conditions.push({field:Z,operator:X,value:Q}),this}and(Z){let X=new J2("AND");return this.conditions.push(Z(X).build()),this}or(Z){let X=new J2("OR");return this.conditions.push(Z(X).build()),this}build(){if(this.conditions.length===0)throw Error("Condition group must have at least one condition");if(this.conditions.length===1&&this.op==="AND")return this.conditions[0];return{operator:this.op,conditions:this.conditions}}}class q6{actions=[];mode="ALL";setMode(Z){return this.mode=Z,this}add(Z,X,Q){return this.actions.push({type:Z,params:X,...Q}),this}build(){if(this.actions.length===0)throw Error("Action group must have at least one action");if(this.actions.length===1&&this.mode==="ALL")return this.actions[0];if(this.mode==="ALL")return this.actions;return{mode:this.mode,actions:this.actions}}}class fX{params={};set(Z,X){return this.params[Z]=X,this}setAll(Z){return Object.assign(this.params,Z),this}setNested(Z,X){let Q=Z.split("."),U=this.params;for(let $=0;$<Q.length-1;$++){let W=Q[$];if(!W)continue;if(!(W in U))U[W]={};U=U[W]}let J=Q[Q.length-1];if(J)U[J]=X;return this}addItem(Z,X){if(!(Z in this.params)||!Array.isArray(this.params[Z]))this.params[Z]=[];return this.params[Z].push(X),this}remove(Z){return delete this.params[Z],this}has(Z){return Z in this.params}get(Z){return this.params[Z]}build(){return{...this.params}}getRaw(){return this.params}}var N={EVENT:"event",CONDITION:"condition",CONDITION_GROUP:"condition_group",ACTION:"action",ACTION_GROUP:"action_group",DO:"do"},D={EVENT_OUTPUT:"event-output",CONDITION_INPUT:"condition-input",CONDITION_OUTPUT:"output",CONDITION_OUTPUT_LEGACY:"condition-output",THEN_OUTPUT:"then-output",ELSE_OUTPUT:"else-output",CONDITION_GROUP_INPUT:"input",CONDITION_GROUP_OUTPUT:"cond-output",ACTION_INPUT:"action-input",ACTION_OUTPUT:"action-output",ACTION_OUTPUT_LEGACY:"action-group-output",ACTION_GROUP_INPUT:"input",ACTION_GROUP_OUTPUT:"action-output",ACTION_GROUP_CONDITION_OUTPUT:"condition-output",DO_INPUT:"do-input",DO_OUTPUT:"do-output",DO_CONDITION_OUTPUT:"do-condition-output"},x0={DO:"do",ELSE:"else"},IX={AND:"AND",OR:"OR"};var y9=(Z)=>Z.type===N.EVENT,x1=(Z)=>Z.type===N.CONDITION||Z.type===N.CONDITION_GROUP,D1=(Z)=>Z.type===N.ACTION||Z.type===N.ACTION_GROUP||Z.type===N.DO,_6=(Z)=>Z.type===N.DO;var $2=(Z)=>{return Z.data?.branchType===x0.ELSE?x0.ELSE:x0.DO};function yX(Z){let X=Z.data||{};return{id:X.id,on:X.event,name:X.name,description:X.description,priority:X.priority!==void 0?Number(X.priority):void 0,enabled:X.enabled!==void 0?!!X.enabled:void 0,cooldown:X.cooldown!==void 0?Number(X.cooldown):void 0,tags:X.tags}}function G0(Z,X,Q){let U=[...Q];return Z.edges.filter((J)=>J.source===X&&U.includes(J.sourceHandle||""))}var w1={CONDITION_OUTPUT:[D.CONDITION_OUTPUT,D.CONDITION_OUTPUT_LEGACY],ACTION_OUTPUT:[D.ACTION_OUTPUT,D.ACTION_OUTPUT_LEGACY],DO_OUTPUT:[D.DO_OUTPUT,""],THEN_ELSE:[D.THEN_OUTPUT,D.ELSE_OUTPUT],DO_CONDITION:[D.DO_CONDITION_OUTPUT],CONDITION_CHAIN:[D.CONDITION_OUTPUT,D.CONDITION_OUTPUT_LEGACY,D.THEN_OUTPUT,D.ELSE_OUTPUT],ANY:[D.CONDITION_OUTPUT,D.CONDITION_OUTPUT_LEGACY,""]};class xU{convert(Z,X){return{field:Z.field||"data",operator:Z.operator||"EQ",value:Z.value!==void 0?Z.value:""}}validate(Z){let X=[];if(!Z.field&&!Z.value)X.push("Condition must have at least a field or value");return{valid:X.length===0,errors:X.length>0?X:void 0}}}class hU{convert(Z,X){let Q={};try{if(Z.params)Q=typeof Z.params==="string"?JSON.parse(Z.params):Z.params}catch{Q={}}let U={type:Z.type||"log",params:Q};if(Z.delay!==void 0)U.delay=Number(Z.delay);if(Z.probability!==void 0)U.probability=Number(Z.probability);return U}validate(Z){let X=[];if(!Z.type)X.push('Action type defaults to "log"');return{valid:!0,warnings:X.length>0?X:void 0}}}class mU{convert(Z,X){return{id:Z.id,on:Z.event,name:Z.name,description:Z.description,priority:Z.priority!==void 0?Number(Z.priority):void 0,enabled:Z.enabled!==void 0?!!Z.enabled:void 0,cooldown:Z.cooldown!==void 0?Number(Z.cooldown):void 0,tags:Z.tags}}validate(Z){let X=[],Q=[];if(!Z.id)X.push("Event must have an ID");if(!Z.event)X.push("Event must have an event name");if(!Z.name)Q.push("Event should have a name");return{valid:X.length===0,errors:X.length>0?X:void 0,warnings:Q.length>0?Q:void 0}}}class uU{conditionConverter=new xU;actionConverter=new hU;eventConverter=new mU;getConditionConverter(){return this.conditionConverter}getActionConverter(){return this.actionConverter}getEventConverter(){return this.eventConverter}createContext(Z,X,Q,U){return{nodes:Z,edges:X,currentNode:Q,options:U}}}var pU=new uU;function kX(Z){let X=Z.data||{};return pU.getConditionConverter().convert(X,{nodes:[],edges:[]})}function gX(Z){let X=Z.data||{};return pU.getActionConverter().convert(X,{nodes:[],edges:[]})}function k9(Z,X){let Q=X.options.isCondNode||x1,U=X.nodes.find((G)=>G.id===Z);if(!U||U.type!==N.CONDITION_GROUP)return{conditions:[],operator:IX.AND};let J=U.data.operator||IX.AND,$=[],W=new Set;function Y(G){if(W.has(G))return;W.add(G);let V=X.nodes.find((H)=>H.id===G);if(!V||!Q(V)||V.type===N.CONDITION_GROUP)return;let q=kX(V);$.push(q);let _=G0(X,G,[...w1.CONDITION_OUTPUT,D.THEN_OUTPUT]).filter((H)=>{let F=X.nodes.find((z)=>z.id===H.target);return F&&Q(F)});for(let H of _)Y(H.target)}let L=G0(X,Z,[D.CONDITION_GROUP_OUTPUT]).filter((G)=>{let V=X.nodes.find((q)=>q.id===G.target);return V&&Q(V)});for(let G of L)Y(G.target);return{conditions:$,operator:J}}function S2(Z,X){if(X.options.resolveCondition&&X.options.resolveCondition!==S2)return X.options.resolveCondition(Z,X);if(X.visitedConds.has(Z))return null;X.visitedConds.add(Z);let Q=X.nodes.find((W)=>W.id===Z),U=X.options.isCondNode||x1;if(!Q||!U(Q))return null;if(Q.type===N.CONDITION_GROUP){let{conditions:W,operator:Y}=k9(Z,X);if(W.length===0)return null;if(W.length===1)return W[0];return{operator:Y,conditions:W}}let J=kX(Q);if(X.transformers?.condition){let W=X.transformers.condition(J,Q);if(W===null)return null;return W}let $=G0(X,Z,w1.CONDITION_OUTPUT).filter((W)=>{let Y=X.nodes.find((L)=>L.id===W.target);return Y&&U(Y)});if($.length>0){let W=$.map((Y)=>S2(Y.target,X)).filter((Y)=>Y!==null);if(W.length>0)return{operator:"AND",conditions:[J,...W]}}return J}function vX(Z,X){let Q=X.options.isCondNode||x1,U,J;function $(W){let Y=X.nodes.find((V)=>V.id===W);if(!Y||!Q(Y))return;let L=X.edges.filter((V)=>V.source===W);for(let V of L){let q=X.nodes.find((_)=>_.id===V.target);if(!q)continue;if(q.type===N.ACTION||q.type===N.ACTION_GROUP||q.type===N.DO)if(q.type===N.DO?q.data?.branchType==="else":V.sourceHandle===D.ELSE_OUTPUT)J=V.target;else U=V.target}let G=G0(X,W,w1.CONDITION_OUTPUT).filter((V)=>{let q=X.nodes.find((_)=>_.id===V.target);return q&&Q(q)});for(let V of G)$(V.target)}return $(Z),{thenActionId:U,elseActionId:J}}function $4(Z,X){let Q=X.options.isActNode||D1,U=X.nodes.find((V)=>V.id===Z);if(!U||U.type!==N.ACTION_GROUP)return{actions:[],mode:"ALL"};let J=U.data.mode||"ALL",$=[],W=new Set;function Y(V){if(W.has(V))return;W.add(V);let q=X.nodes.find((F)=>F.id===V);if(!q||!Q(q)||q.type===N.ACTION_GROUP)return;let _=gX(q);$.push(_);let H=G0(X,V,w1.ACTION_OUTPUT).filter((F)=>{let z=X.nodes.find((B)=>B.id===F.target);return z&&Q(z)});for(let F of H)Y(F.target)}let L=G0(X,Z,[D.ACTION_GROUP_OUTPUT,D.DO_OUTPUT,"do-output","action-output","action-group-output"]).filter((V)=>{let q=X.nodes.find((_)=>_.id===V.target);return q&&Q(q)});for(let V of L)Y(V.target);let G=G0(X,Z,[D.ACTION_GROUP_CONDITION_OUTPUT,"condition-output",D.ACTION_GROUP_OUTPUT,"action-output",""]).filter((V)=>{let q=X.nodes.find((_)=>_.id===V.target);return q&&(q.type===N.CONDITION||q.type===N.CONDITION_GROUP)});for(let V of G){let q=M0(V.target,X);if(q)$.push(q)}return{actions:$,mode:J}}function M0(Z,X){if(X.options.resolveAction&&X.options.resolveAction!==M0)return X.options.resolveAction(Z,X);let Q=X.nodes.find((W)=>W.id===Z);if(!Q)return null;if(Q.type===N.ACTION_GROUP){if(X.visitedActs?.has(Z))return null;X.visitedActs?.add(Z);let{actions:W,mode:Y}=$4(Z,X);if(W.length===0)return null;return{mode:Y,actions:W}}if(Q.type===N.DO){if(X.visitedActs?.has(Z))return null;X.visitedActs?.add(Z);let W=xX(Z,X);if(W.length===0)return null;if(W.length===1)return W[0];return{mode:"ALL",actions:W}}if(Q.type===N.CONDITION||Q.type===N.CONDITION_GROUP){if(X.options.resolveCondition){let W=X.options.resolveCondition(Z,X);if(W){let{doBranches:Y,elseBranches:L}=z6(Z,X),G=null,V=null;if(Y.length>0){let q=Y[0],_=xX(q,X);if(_.length>0)G=_.length===1?_[0]:{mode:"ALL",actions:_}}if(L.length>0){let q=L[0],_=xX(q,X);if(_.length>0)V=_.length===1?_[0]:{mode:"ALL",actions:_}}if(!G&&!V){let q=vX(Z,X);if(q.thenActionId)G=M0(q.thenActionId,X);if(q.elseActionId)V=M0(q.elseActionId,X)}if(G||V)return{if:W,do:G??void 0,else:V??void 0}}}}let U=X.options.isActNode||D1;if(!U(Q))return null;if(X.visitedActs?.has(Z))return null;X.visitedActs?.add(Z);let J=gX(Q);if(X.transformers?.action){let W=X.transformers.action(J,Q);if(W===null)return null;let Y=G0(X,Z,w1.ACTION_OUTPUT).filter((L)=>{let G=X.nodes.find((V)=>V.id===L.target);return G&&U(G)});if(Y.length>0){let L=[W];for(let G of Y){let V=M0(G.target,X);if(V)L.push(V)}return{mode:"ALL",actions:L}}return W}let $=G0(X,Z,w1.ACTION_OUTPUT).filter((W)=>{let Y=X.nodes.find((L)=>L.id===W.target);return Y&&U(Y)});if($.length>0){let W=[J];for(let Y of $){let L=M0(Y.target,X);if(L)W.push(L)}return{mode:"SEQUENCE",actions:W}}return J}function xX(Z,X){let Q=X.options.isActNode||D1,U=[],J=G0(X,Z,[D.DO_OUTPUT,D.ELSE_OUTPUT,"do-output","else-output","action-output",""]).filter(($)=>{let W=X.nodes.find((Y)=>Y.id===$.target);return W&&Q(W)});for(let $ of J){let W=M0($.target,X);if(W)U.push(W)}return U}function z6(Z,X){let Q=(L)=>L.type===N.CONDITION||L.type===N.CONDITION_GROUP,U=(L)=>L.type===N.DO,J=[],$=[],W=new Set;function Y(L){if(W.has(L))return;W.add(L);let G=X.nodes.find((q)=>q.id===L);if(!G)return;if(G.type===N.CONDITION_GROUP){let q=G0(X,L,[D.CONDITION_GROUP_OUTPUT,"cond-output","output",""]);for(let _ of q){let H=X.nodes.find((F)=>F.id===_.target);if(H){if(U(H)){if($2(H)===x0.ELSE){if(!$.includes(H.id))$.push(H.id)}else if(!J.includes(H.id))J.push(H.id)}else if(Q(H))Y(H.id)}}return}let V=X.edges.filter((q)=>q.source===L);for(let q of V){let _=X.nodes.find((H)=>H.id===q.target);if(!_)continue;if(U(_)){if($2(_)===x0.ELSE){if(!$.includes(_.id))$.push(_.id)}else if(!J.includes(_.id))J.push(_.id)}else if(Q(_))Y(_.id)}}return Y(Z),{doBranches:J,elseBranches:$}}var lU;((Y)=>{Y.MISSING_EVENT_NODE="MISSING_EVENT_NODE";Y.MISSING_RULE_ID_OR_EVENT_NAME="MISSING_RULE_ID_OR_EVENT_NAME";Y.NO_EVENTS_FOUND="NO_EVENTS_FOUND";Y.RULE_ID_REQUIRED="RULE_ID_REQUIRED";Y.RULE_ON_EVENT_REQUIRED="RULE_ON_EVENT_REQUIRED";Y.RULE_DO_ACTION_REQUIRED="RULE_DO_ACTION_REQUIRED";Y.PARSE_FAILED="PARSE_FAILED"})(lU||={});class G1 extends Error{code;eventId;field;constructor(Z,X,Q,U){super(Z);this.name="GraphParserError",this.code=X,this.eventId=Q,this.field=U}}function EG(Z,X,Q={},U){let J={...Q,resolveCondition:Q.resolveCondition||S2,resolveAction:Q.resolveAction||M0};return{nodes:Z,edges:X,visitedConds:new Set,visitedActs:new Set,options:J,transformers:U}}var Dw=$2,fG=yX;function IG(Z,X,Q){let U=X.options.isCondNode||x1,J=_6,$=X.edges.filter((F)=>F.source===Z).find((F)=>{let z=X.nodes.find((B)=>B.id===F.target);return z&&U(z)}),W;if($)W=$.target;if(!W)return null;let Y=new Set(X.visitedConds);X.visitedConds.clear();let L=S2(W,X);if(X.visitedConds=Y,!L)return null;let{thenActionId:G,elseActionId:V}=hX(W,X),q=X.edges.filter((F)=>F.source===Z).find((F)=>{let z=X.nodes.find((B)=>B.id===F.target);return z&&(X.options.isActNode?.(z)??D1(z))&&z.type!==N.DO});if(q&&!V)V=q.target;let _=G?M0(G,X):void 0,H=V?M0(V,X):void 0;return{if:L,do:_??void 0,else:H??void 0}}function H6(Z,X,Q){let U=X.options.isActNode||D1,J=[],$=X.edges.filter((Y)=>Y.source===Z).filter((Y)=>{let L=X.nodes.find((G)=>G.id===Y.target);return L&&(U(L)&&L.type!==N.DO&&L.type!==N.CONDITION&&L.type!==N.CONDITION_GROUP)});for(let Y of $){let L=M0(Y.target,X);if(L)J.push(L)}let W=IG(Z,X,Q);if(W)J.push(W);return J}function hX(Z,X){let Q=X.options.isCondNode||x1,U=X.options.isActNode||D1,J=_6,$,W;function Y(L){let G=X.nodes.find((_)=>_.id===L);if(!G||!Q(G))return;let V=G0(X,L,[D.THEN_OUTPUT,D.ELSE_OUTPUT,D.CONDITION_OUTPUT,D.CONDITION_OUTPUT_LEGACY,D.DO_OUTPUT,""]);for(let _ of V){let H=X.nodes.find((F)=>F.id===_.target);if(!H)continue;if(J(H)){let F=G0(X,H.id,[D.DO_OUTPUT,""]).filter((P)=>{let O=X.nodes.find((S)=>S.id===P.target);return O&&U(O)}),z=$2(H);for(let P of F)if(z===x0.ELSE)W=P.target;else $=P.target;let B=G0(X,H.id,[D.DO_CONDITION_OUTPUT]),K=B.find((P)=>{let O=X.nodes.find((S)=>S.id===P.target);return O&&Q(O)}),w=B.find((P)=>{let O=X.nodes.find((S)=>S.id===P.target);return O&&U(O)});if(w&&!W)W=w.target;continue}if(H.type===N.ACTION_GROUP){$=_.target;continue}if(!U(H))continue;if(_.sourceHandle===D.ELSE_OUTPUT)W=_.target;else $=_.target}let q=G0(X,L,w1.CONDITION_OUTPUT).filter((_)=>{let H=X.nodes.find((F)=>F.id===_.target);return H&&Q(H)});for(let _ of q)Y(_.target)}return Y(Z),{thenActionId:$,elseActionId:W}}function mX(Z,X,Q={},U){let J=new uX;if(Q.optimizeOptions)J.withOptimizeOptions(Q.optimizeOptions);let $=Q.isEventNode||y9,W=Q.isCondNode||x1,Y=Q.isActNode||D1,L=_6,G=Q.extractEventData||fG,V=Z.find((O)=>$(O));if(!V)throw new G1("Missing Event Trigger node","MISSING_EVENT_NODE");let q=G(V);if(!q.id)throw new G1("Rule ID is required","MISSING_RULE_ID_OR_EVENT_NAME",V.id,"id");if(!q.on)throw new G1("Event Name is required","MISSING_RULE_ID_OR_EVENT_NAME",V.id,"event");if(J.id(q.id).on(q.on),q.name)J.name(q.name);if(q.description)J.description(q.description);if(q.priority!==void 0)J.priority(Number(q.priority));if(q.enabled!==void 0)J.enabled(!!q.enabled);if(q.cooldown!==void 0)J.cooldown(Number(q.cooldown));if(q.tags)J.tags(q.tags);let _=EG(Z,X,Q,U),H=X.filter((O)=>O.source===V.id),F=[],z=[],B=[],K=[];for(let O of H){let S=_.nodes.find((C)=>C.id===O.target);if(!S)continue;if(S.type===N.CONDITION_GROUP)F.push(O.target);else if(W(S))z.push(O.target);else if(S.type===N.ACTION_GROUP)B.push(O.target);else if(Y(S))K.push(O.target)}for(let O of F){let{conditions:S,operator:C}=k9(O,_);if(S.length>0){let y={operator:C,conditions:S};J.withIf(y);let A=X.filter((t)=>t.source===O),d=A.filter((t)=>{let c=_.nodes.find((r)=>r.id===t.target);return c&&W(c)&&(t.sourceHandle?.startsWith("cond")||t.sourceHandle===D.CONDITION_GROUP_OUTPUT)}).map((t)=>t.target),e=A.filter((t)=>{let c=_.nodes.find((r)=>r.id===t.target);return c&&Y(c)}).map((t)=>t.target),X0=null,h=null;for(let t of e){let c=_.nodes.find((r)=>r.id===t);if(!c)continue;if(L(c)){let r=H6(c.id,_,O),T0=$2(c);if(r.length>0){let d1=r.length===1?r[0]:{mode:"ALL",actions:r};if(T0===x0.ELSE)h=d1;else X0=d1}}else{let r=M0(t,_);if(r)X0=r}}if(!X0||!h)for(let t of d){let c=hX(t,_),r=c.thenActionId?M0(c.thenActionId,_):null,T0=c.elseActionId?M0(c.elseActionId,_):null,{doBranches:d1,elseBranches:P4}=z6(t,_),H2=[];for(let w8 of d1){let P8=H6(w8,_,t);H2.push(...P8)}if(H2.length>0&&!r)r=H2.length===1?H2[0]:{mode:"ALL",actions:H2};let A4=[];for(let w8 of P4){let P8=H6(w8,_,t);A4.push(...P8)}if(A4.length>0&&!T0)T0=A4.length===1?A4[0]:{mode:"ALL",actions:A4};if(r&&!X0)X0=r;if(T0&&!h)h=T0}if(X0)J.withDo(X0);if(h)J.elseRule(h)}}if(z.length>0&&F.length===0){let O=[],S,C;for(let c of z){let r=S2(c,_);if(r)O.push(r);let T0=hX(c,_);if(T0.thenActionId)S=T0.thenActionId;if(T0.elseActionId)C=T0.elseActionId}if(O.length===1)J.withIf(O[0]);else if(O.length>1)J.withIf({operator:"AND",conditions:O});let y=z[0];if(!y)return J;let{doBranches:A,elseBranches:d}=z6(y,_),e=[];for(let c of A){let r=H6(c,_,y);e.push(...r)}let X0=e.length===1?e[0]:e.length>1?{mode:"ALL",actions:e}:S?M0(S,_):null,h=[];for(let c of d){let r=H6(c,_,y);h.push(...r)}let t=h.length===1?h[0]:h.length>1?{mode:"ALL",actions:h}:C?M0(C,_):null;if(X0)J.withDo(X0);if(t)J.elseRule(t);if(!S&&!e.length)for(let c of z){let r=G0(_,c,[D.THEN_OUTPUT,D.CONDITION_OUTPUT,"condition-output","then-output","output",""]).filter((T0)=>{return _.nodes.find((P4)=>P4.id===T0.target)?.type===N.ACTION_GROUP});for(let T0 of r){let{actions:d1,mode:P4}=$4(T0.target,_);if(d1.length>0){let H2={mode:P4,actions:d1};J.withDo(H2);break}}}}let w=new Set;if(z.length>0&&F.length===0)for(let O of z){let S=G0(_,O,[D.THEN_OUTPUT,D.CONDITION_OUTPUT,"condition-output","then-output","output",""]).filter((C)=>{return _.nodes.find((A)=>A.id===C.target)?.type===N.ACTION_GROUP});for(let C of S)w.add(C.target)}let P=B.filter((O)=>!w.has(O));if(P.length>0)for(let O of P)if(G0(_,O,[D.ACTION_GROUP_CONDITION_OUTPUT,"condition-output"]).filter((C)=>{let y=_.nodes.find((A)=>A.id===C.target);return y&&W(y)}).length>0){let{actions:C,mode:y}=$4(O,_);if(C.length>0){let A={mode:y,actions:C};J.withDo(A)}}else{let{actions:C,mode:y}=$4(O,_);if(C.length>0)J.withDo({mode:y,actions:C})}if(K.length>0&&z.length===0&&F.length===0)for(let O of K){let S=M0(O,_);if(S)J.withDo(S)}return J}function dU(Z,X,Q={},U){let J=Q.isEventNode||y9,$=Z.filter((L)=>J(L));if($.length===0)return{rules:[],errors:[new G1("No Event nodes found in the graph","NO_EVENTS_FOUND")]};let W=[],Y=[];for(let L of $)try{let G=L.id,V=new Set([G]),q=[G];while(q.length>0){let B=q.shift(),K=X.filter((w)=>w.source===B);for(let w of K)if(!V.has(w.target))V.add(w.target),q.push(w.target)}let _=Z.filter((B)=>V.has(B.id)),H=X.filter((B)=>V.has(B.source)&&V.has(B.target)),z=mX(_,H,Q,U).build();W.push(z)}catch(G){if(G instanceof G1){if(!G.eventId)G.eventId=L.id;Y.push(G)}else{let V=G instanceof Error?G.message:String(G);Y.push(new G1(`Failed to parse rule for event ${L.id}: ${V}`,"PARSE_FAILED",L.id))}}return{rules:W,errors:Y}}class uX{rule={enabled:!0,priority:0};optimizeOptions={};static fromGraph(Z,X,Q,U){return mX(Z,X,Q,U)}static fromGraphMultiple(Z,X,Q,U){return dU(Z,X,Q,U)}withId(Z){return this.rule.id=Z,this}withName(Z){return this.rule.name=Z,this}withDescription(Z){return this.rule.description=Z,this}withPriority(Z){return this.rule.priority=Z,this}withCooldown(Z){return this.rule.cooldown=Z,this}withTags(Z){return this.rule.tags=Z,this}withEnabled(Z){return this.rule.enabled=Z,this}withOptimizeOptions(Z){return this.optimizeOptions=Z,this}id(Z){return this.withId(Z)}name(Z){return this.withName(Z)}description(Z){return this.withDescription(Z)}priority(Z){return this.withPriority(Z)}enabled(Z){return this.withEnabled(Z)}cooldown(Z){return this.withCooldown(Z)}tags(Z){return this.withTags(Z)}optimize(Z){return this.withOptimizeOptions(Z)}on(Z){return this.rule.on=Z,this}if(Z,X,Q){if(!this.rule.if)this.rule.if={field:Z,operator:X,value:Q};else if(Array.isArray(this.rule.if))this.rule.if.push({field:Z,operator:X,value:Q});else this.rule.if=[this.rule.if,{field:Z,operator:X,value:Q}];return this}ifComplex(Z){let X=new J2,Q=Z(X).build();return this.rule.if=Q,this}withIf(Z){return this.rule.if=Z,this}do(Z,X,Q){let U={type:Z,params:X,...Q};if(!this.rule.do)this.rule.do=U;else if(Array.isArray(this.rule.do))this.rule.do.push(U);else if(this.rule.do&&typeof this.rule.do==="object"&&"actions"in this.rule.do)this.rule.do.actions.push(U);else this.rule.do=[this.rule.do,U];return this}doComplex(Z){let X=new q6,Q=Z(X).build();return this.rule.do=Q,this}withDo(Z){return this.rule.do=Z,this}elseRule(Z){return this.rule.else=Z,this}when(Z,X,Q){return new I9(this,Z,X,Q)}whenComplex(Z){let X=new J2,Q=Z(X).build();return new I9(this,Q)}then(Z,X,Q){return this.do(Z,X,Q)}ifAction(Z,X,Q){let U=this.rule.do;if(!U)throw Error("Cannot add condition: no action defined. Use do() or then() first.");let J=($)=>({...$,if:{field:Z,operator:X,value:Q}});if(Array.isArray(U)){let $=U.length-1,W=U[$];if(W&&"actions"in W){let Y=W.actions,L=Y.length-1;if(L>=0)Y[L]=J(Y[L])}else if(W)U[$]=J(W)}else if(U&&"actions"in U){let $=U.actions,W=$.length-1;if(W>=0)$[W]=J($[W])}else if(U)this.rule.do=J(U);return this}thenAction(Z){let X=this.rule.do;if(!X)throw Error("Cannot add then: no action defined. Use do() or then() first.");let Q=(U)=>({...U,then:Z});if(Array.isArray(X)){let U=X.length-1,J=X[U];if(J&&"actions"in J){let $=J.actions,W=$.length-1;if(W>=0)$[W]=Q($[W])}else if(J)X[U]=Q(J)}else if(X&&"actions"in X){let U=X.actions,J=U.length-1;if(J>=0)U[J]=Q(U[J])}else if(X)this.rule.do=Q(X);return this}else(Z){let X=this.rule.do;if(!X)throw Error("Cannot add else: no action defined. Use do() or then() first.");let Q=(U)=>({...U,else:Z});if(Array.isArray(X)){let U=X.length-1,J=X[U];if(J&&"actions"in J){let $=J.actions,W=$.length-1;if(W>=0)$[W]=Q($[W])}else if(J)X[U]=Q(J)}else if(X&&"actions"in X){let U=X.actions,J=U.length-1;if(J>=0)U[J]=Q(U[J])}else if(X)this.rule.do=[Q(X)];return this}elseAction(Z){return this.else(Z)}build(){if(!this.rule.id)throw new G1("Rule ID is required","RULE_ID_REQUIRED");if(!this.rule.on)throw new G1("Rule 'on' event is required","RULE_ON_EVENT_REQUIRED",this.rule.id);if(!this.rule.do)throw new G1("Rule 'do' action is required","RULE_DO_ACTION_REQUIRED",this.rule.id);if(this.rule.if)this.rule.if=G6(this.rule.if,this.optimizeOptions);if(this.rule.do){let Z=V6(this.rule.do,this.optimizeOptions);this.rule.do=Z?Z:this.rule.do}return this.rule}}class I9{parent;condition;thenActions;elseActions;constructor(Z,X,Q,U){if(this.parent=Z,typeof X==="string")this.condition={field:X,operator:Q,value:U};else this.condition=X}then(Z,X,Q){if(typeof Z==="string")this.thenActions={type:Z,params:X,...Q};else this.thenActions=Z;return this}do(Z,X,Q){return this.then(Z,X,Q)}done(){return this.build()}else(Z,X,Q){if(typeof Z==="string")this.elseActions={type:Z,params:X,...Q};else this.elseActions=Z;return this.build()}build(){let Z={if:this.condition};if(this.thenActions)Z.then=this.thenActions;if(this.elseActions)Z.else=this.elseActions;let X=this.parent.rule.do;if(!X)this.parent.rule.do=Z;else if(Array.isArray(X))X.push(Z);else this.parent.rule.do=[X,Z];return this.parent}}var F7={};h6(F7,{visitAsync:()=>F6,visit:()=>q1,stringify:()=>mJ,parseDocument:()=>H7,parseAllDocuments:()=>R8,parse:()=>O8,isSeq:()=>Z1,isScalar:()=>x,isPair:()=>p,isNode:()=>l,isMap:()=>e0,isDocument:()=>t0,isCollection:()=>n,isAlias:()=>l0,YAMLWarning:()=>j6,YAMLSeq:()=>P0,YAMLParseError:()=>Q1,YAMLMap:()=>V0,YAMLError:()=>S6,Schema:()=>H4,Scalar:()=>f,Parser:()=>O4,Pair:()=>Y0,LineCounter:()=>k6,Lexer:()=>y6,Document:()=>S1,Composer:()=>B4,CST:()=>_7,Alias:()=>m1});var g9=Symbol.for("yaml.alias"),v9=Symbol.for("yaml.document"),V1=Symbol.for("yaml.map"),pX=Symbol.for("yaml.pair"),p0=Symbol.for("yaml.scalar"),h1=Symbol.for("yaml.seq"),N0=Symbol.for("yaml.node.type"),l0=(Z)=>!!Z&&typeof Z==="object"&&Z[N0]===g9,t0=(Z)=>!!Z&&typeof Z==="object"&&Z[N0]===v9,e0=(Z)=>!!Z&&typeof Z==="object"&&Z[N0]===V1,p=(Z)=>!!Z&&typeof Z==="object"&&Z[N0]===pX,x=(Z)=>!!Z&&typeof Z==="object"&&Z[N0]===p0,Z1=(Z)=>!!Z&&typeof Z==="object"&&Z[N0]===h1;function n(Z){if(Z&&typeof Z==="object")switch(Z[N0]){case V1:case h1:return!0}return!1}function l(Z){if(Z&&typeof Z==="object")switch(Z[N0]){case g9:case V1:case p0:case h1:return!0}return!1}var x9=(Z)=>(x(Z)||n(Z))&&!!Z.anchor;var h0=Symbol("break visit"),cU=Symbol("skip children"),P1=Symbol("remove node");function q1(Z,X){let Q=iU(X);if(t0(Z)){if(W4(null,Z.contents,Q,Object.freeze([Z]))===P1)Z.contents=null}else W4(null,Z,Q,Object.freeze([]))}q1.BREAK=h0;q1.SKIP=cU;q1.REMOVE=P1;function W4(Z,X,Q,U){let J=sU(Z,X,Q,U);if(l(J)||p(J))return rU(Z,U,J),W4(Z,J,Q,U);if(typeof J!=="symbol"){if(n(X)){U=Object.freeze(U.concat(X));for(let $=0;$<X.items.length;++$){let W=W4($,X.items[$],Q,U);if(typeof W==="number")$=W-1;else if(W===h0)return h0;else if(W===P1)X.items.splice($,1),$-=1}}else if(p(X)){U=Object.freeze(U.concat(X));let $=W4("key",X.key,Q,U);if($===h0)return h0;else if($===P1)X.key=null;let W=W4("value",X.value,Q,U);if(W===h0)return h0;else if(W===P1)X.value=null}}return J}async function F6(Z,X){let Q=iU(X);if(t0(Z)){if(await Y4(null,Z.contents,Q,Object.freeze([Z]))===P1)Z.contents=null}else await Y4(null,Z,Q,Object.freeze([]))}F6.BREAK=h0;F6.SKIP=cU;F6.REMOVE=P1;async function Y4(Z,X,Q,U){let J=await sU(Z,X,Q,U);if(l(J)||p(J))return rU(Z,U,J),Y4(Z,J,Q,U);if(typeof J!=="symbol"){if(n(X)){U=Object.freeze(U.concat(X));for(let $=0;$<X.items.length;++$){let W=await Y4($,X.items[$],Q,U);if(typeof W==="number")$=W-1;else if(W===h0)return h0;else if(W===P1)X.items.splice($,1),$-=1}}else if(p(X)){U=Object.freeze(U.concat(X));let $=await Y4("key",X.key,Q,U);if($===h0)return h0;else if($===P1)X.key=null;let W=await Y4("value",X.value,Q,U);if(W===h0)return h0;else if(W===P1)X.value=null}}return J}function iU(Z){if(typeof Z==="object"&&(Z.Collection||Z.Node||Z.Value))return Object.assign({Alias:Z.Node,Map:Z.Node,Scalar:Z.Node,Seq:Z.Node},Z.Value&&{Map:Z.Value,Scalar:Z.Value,Seq:Z.Value},Z.Collection&&{Map:Z.Collection,Seq:Z.Collection},Z);return Z}function sU(Z,X,Q,U){if(typeof Q==="function")return Q(Z,X,U);if(e0(X))return Q.Map?.(Z,X,U);if(Z1(X))return Q.Seq?.(Z,X,U);if(p(X))return Q.Pair?.(Z,X,U);if(x(X))return Q.Scalar?.(Z,X,U);if(l0(X))return Q.Alias?.(Z,X,U);return}function rU(Z,X,Q){let U=X[X.length-1];if(n(U))U.items[Z]=Q;else if(p(U))if(Z==="key")U.key=Q;else U.value=Q;else if(t0(U))U.contents=Q;else{let J=l0(U)?"alias":"scalar";throw Error(`Cannot replace node with ${J} parent`)}}var yG={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},kG=(Z)=>Z.replace(/[!,[\]{}]/g,(X)=>yG[X]);class K0{constructor(Z,X){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},K0.defaultYaml,Z),this.tags=Object.assign({},K0.defaultTags,X)}clone(){let Z=new K0(this.yaml,this.tags);return Z.docStart=this.docStart,Z}atDocument(){let Z=new K0(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:K0.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},K0.defaultTags);break}return Z}add(Z,X){if(this.atNextDocument)this.yaml={explicit:K0.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},K0.defaultTags),this.atNextDocument=!1;let Q=Z.trim().split(/[ \t]+/),U=Q.shift();switch(U){case"%TAG":{if(Q.length!==2){if(X(0,"%TAG directive should contain exactly two parts"),Q.length<2)return!1}let[J,$]=Q;return this.tags[J]=$,!0}case"%YAML":{if(this.yaml.explicit=!0,Q.length!==1)return X(0,"%YAML directive should contain exactly one part"),!1;let[J]=Q;if(J==="1.1"||J==="1.2")return this.yaml.version=J,!0;else{let $=/^\d+\.\d+$/.test(J);return X(6,`Unsupported YAML version ${J}`,$),!1}}default:return X(0,`Unknown directive ${U}`,!0),!1}}tagName(Z,X){if(Z==="!")return"!";if(Z[0]!=="!")return X(`Not a valid tag: ${Z}`),null;if(Z[1]==="<"){let $=Z.slice(2,-1);if($==="!"||$==="!!")return X(`Verbatim tags aren't resolved, so ${Z} is invalid.`),null;if(Z[Z.length-1]!==">")X("Verbatim tags must end with a >");return $}let[,Q,U]=Z.match(/^(.*!)([^!]*)$/s);if(!U)X(`The ${Z} tag has no suffix`);let J=this.tags[Q];if(J)try{return J+decodeURIComponent(U)}catch($){return X(String($)),null}if(Q==="!")return Z;return X(`Could not resolve tag: ${Z}`),null}tagString(Z){for(let[X,Q]of Object.entries(this.tags))if(Z.startsWith(Q))return X+kG(Z.substring(Q.length));return Z[0]==="!"?Z:`!<${Z}>`}toString(Z){let X=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],Q=Object.entries(this.tags),U;if(Z&&Q.length>0&&l(Z.contents)){let J={};q1(Z.contents,($,W)=>{if(l(W)&&W.tag)J[W.tag]=!0}),U=Object.keys(J)}else U=[];for(let[J,$]of Q){if(J==="!!"&&$==="tag:yaml.org,2002:")continue;if(!Z||U.some((W)=>W.startsWith($)))X.push(`%TAG ${J} ${$}`)}return X.join(`
47
+ `)}}K0.defaultYaml={explicit:!1,version:"1.2"};K0.defaultTags={"!!":"tag:yaml.org,2002:"};function h9(Z){if(/[\x00-\x19\s,[\]{}]/.test(Z)){let Q=`Anchor must not contain whitespace or control characters: ${JSON.stringify(Z)}`;throw Error(Q)}return!0}function lX(Z){let X=new Set;return q1(Z,{Value(Q,U){if(U.anchor)X.add(U.anchor)}}),X}function dX(Z,X){for(let Q=1;;++Q){let U=`${Z}${Q}`;if(!X.has(U))return U}}function aU(Z,X){let Q=[],U=new Map,J=null;return{onAnchor:($)=>{Q.push($),J??(J=lX(Z));let W=dX(X,J);return J.add(W),W},setAnchors:()=>{for(let $ of Q){let W=U.get($);if(typeof W==="object"&&W.anchor&&(x(W.node)||n(W.node)))W.node.anchor=W.anchor;else{let Y=Error("Failed to resolve repeated object (this should not happen)");throw Y.source=$,Y}}},sourceObjects:U}}function W2(Z,X,Q,U){if(U&&typeof U==="object")if(Array.isArray(U))for(let J=0,$=U.length;J<$;++J){let W=U[J],Y=W2(Z,U,String(J),W);if(Y===void 0)delete U[J];else if(Y!==W)U[J]=Y}else if(U instanceof Map)for(let J of Array.from(U.keys())){let $=U.get(J),W=W2(Z,U,J,$);if(W===void 0)U.delete(J);else if(W!==$)U.set(J,W)}else if(U instanceof Set)for(let J of Array.from(U)){let $=W2(Z,U,J,J);if($===void 0)U.delete(J);else if($!==J)U.delete(J),U.add($)}else for(let[J,$]of Object.entries(U)){let W=W2(Z,U,J,$);if(W===void 0)delete U[J];else if(W!==$)U[J]=W}return Z.call(X,Q,U)}function R0(Z,X,Q){if(Array.isArray(Z))return Z.map((U,J)=>R0(U,String(J),Q));if(Z&&typeof Z.toJSON==="function"){if(!Q||!x9(Z))return Z.toJSON(X,Q);let U={aliasCount:0,count:1,res:void 0};Q.anchors.set(Z,U),Q.onCreate=($)=>{U.res=$,delete Q.onCreate};let J=Z.toJSON(X,Q);if(Q.onCreate)Q.onCreate(J);return J}if(typeof Z==="bigint"&&!Q?.keep)return Number(Z);return Z}class j2{constructor(Z){Object.defineProperty(this,N0,{value:Z})}clone(){let Z=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));if(this.range)Z.range=this.range.slice();return Z}toJS(Z,{mapAsMap:X,maxAliasCount:Q,onAnchor:U,reviver:J}={}){if(!t0(Z))throw TypeError("A document argument is required");let $={anchors:new Map,doc:Z,keep:!0,mapAsMap:X===!0,mapKeyWarned:!1,maxAliasCount:typeof Q==="number"?Q:100},W=R0(this,"",$);if(typeof U==="function")for(let{count:Y,res:L}of $.anchors.values())U(L,Y);return typeof J==="function"?W2(J,{"":W},"",W):W}}class m1 extends j2{constructor(Z){super(g9);this.source=Z,Object.defineProperty(this,"tag",{set(){throw Error("Alias nodes cannot have tags")}})}resolve(Z,X){let Q;if(X?.aliasResolveCache)Q=X.aliasResolveCache;else if(Q=[],q1(Z,{Node:(J,$)=>{if(l0($)||x9($))Q.push($)}}),X)X.aliasResolveCache=Q;let U=void 0;for(let J of Q){if(J===this)break;if(J.anchor===this.source)U=J}return U}toJSON(Z,X){if(!X)return{source:this.source};let{anchors:Q,doc:U,maxAliasCount:J}=X,$=this.resolve(U,X);if(!$){let Y=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw ReferenceError(Y)}let W=Q.get($);if(!W)R0($,null,X),W=Q.get($);if(W?.res===void 0)throw ReferenceError("This should not happen: Alias anchor was not resolved?");if(J>=0){if(W.count+=1,W.aliasCount===0)W.aliasCount=m9(U,$,Q);if(W.count*W.aliasCount>J)throw ReferenceError("Excessive alias count indicates a resource exhaustion attack")}return W.res}toString(Z,X,Q){let U=`*${this.source}`;if(Z){if(h9(this.source),Z.options.verifyAliasOrder&&!Z.anchors.has(this.source)){let J=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw Error(J)}if(Z.implicitKey)return`${U} `}return U}}function m9(Z,X,Q){if(l0(X)){let U=X.resolve(Z),J=Q&&U&&Q.get(U);return J?J.count*J.aliasCount:0}else if(n(X)){let U=0;for(let J of X.items){let $=m9(Z,J,Q);if($>U)U=$}return U}else if(p(X)){let U=m9(Z,X.key,Q),J=m9(Z,X.value,Q);return Math.max(U,J)}return 1}var u9=(Z)=>!Z||typeof Z!=="function"&&typeof Z!=="object";class f extends j2{constructor(Z){super(p0);this.value=Z}toJSON(Z,X){return X?.keep?this.value:R0(this.value,Z,X)}toString(){return String(this.value)}}f.BLOCK_FOLDED="BLOCK_FOLDED";f.BLOCK_LITERAL="BLOCK_LITERAL";f.PLAIN="PLAIN";f.QUOTE_DOUBLE="QUOTE_DOUBLE";f.QUOTE_SINGLE="QUOTE_SINGLE";var gG="tag:yaml.org,2002:";function vG(Z,X,Q){if(X){let U=Q.filter(($)=>$.tag===X),J=U.find(($)=>!$.format)??U[0];if(!J)throw Error(`Tag ${X} not found`);return J}return Q.find((U)=>U.identify?.(Z)&&!U.format)}function u1(Z,X,Q){if(t0(Z))Z=Z.contents;if(l(Z))return Z;if(p(Z)){let q=Q.schema[V1].createNode?.(Q.schema,null,Q);return q.items.push(Z),q}if(Z instanceof String||Z instanceof Number||Z instanceof Boolean||typeof BigInt<"u"&&Z instanceof BigInt)Z=Z.valueOf();let{aliasDuplicateObjects:U,onAnchor:J,onTagObj:$,schema:W,sourceObjects:Y}=Q,L=void 0;if(U&&Z&&typeof Z==="object")if(L=Y.get(Z),L)return L.anchor??(L.anchor=J(Z)),new m1(L.anchor);else L={anchor:null,node:null},Y.set(Z,L);if(X?.startsWith("!!"))X=gG+X.slice(2);let G=vG(Z,X,W.tags);if(!G){if(Z&&typeof Z.toJSON==="function")Z=Z.toJSON();if(!Z||typeof Z!=="object"){let q=new f(Z);if(L)L.node=q;return q}G=Z instanceof Map?W[V1]:(Symbol.iterator in Object(Z))?W[h1]:W[V1]}if($)$(G),delete Q.onTagObj;let V=G?.createNode?G.createNode(Q.schema,Z,Q):typeof G?.nodeClass?.from==="function"?G.nodeClass.from(Q.schema,Z,Q):new f(Z);if(X)V.tag=X;else if(!G.default)V.tag=G.tag;if(L)L.node=V;return V}function B6(Z,X,Q){let U=Q;for(let J=X.length-1;J>=0;--J){let $=X[J];if(typeof $==="number"&&Number.isInteger($)&&$>=0){let W=[];W[$]=U,U=W}else U=new Map([[$,U]])}return u1(U,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw Error("This should not happen, please report a bug.")},schema:Z,sourceObjects:new Map})}var L4=(Z)=>Z==null||typeof Z==="object"&&!!Z[Symbol.iterator]().next().done;class M6 extends j2{constructor(Z,X){super(Z);Object.defineProperty(this,"schema",{value:X,configurable:!0,enumerable:!1,writable:!0})}clone(Z){let X=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));if(Z)X.schema=Z;if(X.items=X.items.map((Q)=>l(Q)||p(Q)?Q.clone(Z):Q),this.range)X.range=this.range.slice();return X}addIn(Z,X){if(L4(Z))this.add(X);else{let[Q,...U]=Z,J=this.get(Q,!0);if(n(J))J.addIn(U,X);else if(J===void 0&&this.schema)this.set(Q,B6(this.schema,U,X));else throw Error(`Expected YAML collection at ${Q}. Remaining path: ${U}`)}}deleteIn(Z){let[X,...Q]=Z;if(Q.length===0)return this.delete(X);let U=this.get(X,!0);if(n(U))return U.deleteIn(Q);else throw Error(`Expected YAML collection at ${X}. Remaining path: ${Q}`)}getIn(Z,X){let[Q,...U]=Z,J=this.get(Q,!0);if(U.length===0)return!X&&x(J)?J.value:J;else return n(J)?J.getIn(U,X):void 0}hasAllNullValues(Z){return this.items.every((X)=>{if(!p(X))return!1;let Q=X.value;return Q==null||Z&&x(Q)&&Q.value==null&&!Q.commentBefore&&!Q.comment&&!Q.tag})}hasIn(Z){let[X,...Q]=Z;if(Q.length===0)return this.has(X);let U=this.get(X,!0);return n(U)?U.hasIn(Q):!1}setIn(Z,X){let[Q,...U]=Z;if(U.length===0)this.set(Q,X);else{let J=this.get(Q,!0);if(n(J))J.setIn(U,X);else if(J===void 0&&this.schema)this.set(Q,B6(this.schema,U,X));else throw Error(`Expected YAML collection at ${Q}. Remaining path: ${U}`)}}}var oU=(Z)=>Z.replace(/^(?!$)(?: $)?/gm,"#");function X1(Z,X){if(/^\n+$/.test(Z))return Z.substring(1);return X?Z.replace(/^(?! *$)/gm,X):Z}var A1=(Z,X,Q)=>Z.endsWith(`
48
48
  `)?X1(Q,X):Q.includes(`
49
49
  `)?`
50
- `+X1(Q,X):(Z.endsWith(" ")?"":" ")+Q;var cX="flow",nU="block",tU="quoted";function R6(Z,X,Q="flow",{indentAtStart:U,lineWidth:J=80,minContentWidth:$=20,onFold:W,onOverflow:Y}={}){if(!J||J<0)return Z;if(J<$)$=0;let G=Math.max(1+$,1+J-X.length);if(Z.length<=G)return Z;let L=[],q={},V=J-X.length;if(typeof U==="number")if(U>J-Math.max(2,$))L.push(0);else V=J-U;let _=void 0,H=void 0,F=!1,z=-1,B=-1,K=-1;if(Q==="block"){if(z=oU(Z,z,X.length),z!==-1)V=z+G}for(let P;P=Z[z+=1];){if(Q==="quoted"&&P==="\\"){switch(B=z,Z[z+1]){case"x":z+=3;break;case"u":z+=5;break;case"U":z+=9;break;default:z+=1}K=z}if(P===`
51
- `){if(Q==="block")z=oU(Z,z,X.length);V=z+X.length+G,_=void 0}else{if(P===" "&&H&&H!==" "&&H!==`
50
+ `+X1(Q,X):(Z.endsWith(" ")?"":" ")+Q;var cX="flow",tU="block",eU="quoted";function R6(Z,X,Q="flow",{indentAtStart:U,lineWidth:J=80,minContentWidth:$=20,onFold:W,onOverflow:Y}={}){if(!J||J<0)return Z;if(J<$)$=0;let L=Math.max(1+$,1+J-X.length);if(Z.length<=L)return Z;let G=[],V={},q=J-X.length;if(typeof U==="number")if(U>J-Math.max(2,$))G.push(0);else q=J-U;let _=void 0,H=void 0,F=!1,z=-1,B=-1,K=-1;if(Q==="block"){if(z=nU(Z,z,X.length),z!==-1)q=z+L}for(let P;P=Z[z+=1];){if(Q==="quoted"&&P==="\\"){switch(B=z,Z[z+1]){case"x":z+=3;break;case"u":z+=5;break;case"U":z+=9;break;default:z+=1}K=z}if(P===`
51
+ `){if(Q==="block")z=nU(Z,z,X.length);q=z+X.length+L,_=void 0}else{if(P===" "&&H&&H!==" "&&H!==`
52
52
  `&&H!=="\t"){let O=Z[z+1];if(O&&O!==" "&&O!==`
53
- `&&O!=="\t")_=z}if(z>=V)if(_)L.push(_),V=_+G,_=void 0;else if(Q==="quoted"){while(H===" "||H==="\t")H=P,P=Z[z+=1],F=!0;let O=z>K+1?z-2:B-1;if(q[O])return Z;L.push(O),q[O]=!0,V=O+G,_=void 0}else F=!0}H=P}if(F&&Y)Y();if(L.length===0)return Z;if(W)W();let w=Z.slice(0,L[0]);for(let P=0;P<L.length;++P){let O=L[P],S=L[P+1]||Z.length;if(O===0)w=`
54
- ${X}${Z.slice(0,S)}`;else{if(Q==="quoted"&&q[O])w+=`${Z[O]}\\`;w+=`
55
- ${X}${Z.slice(O+1,S)}`}}return w}function oU(Z,X,Q){let U=X,J=X+1,$=Z[J];while($===" "||$==="\t")if(X<J+Q)$=Z[++X];else{do $=Z[++X];while($&&$!==`
56
- `);U=X,J=X+1,$=Z[J]}return U}var l9=(Z,X)=>({indentAtStart:X?Z.indent.length:Z.indentAtStart,lineWidth:Z.options.lineWidth,minContentWidth:Z.options.minContentWidth}),d9=(Z)=>/^(%|---|\.\.\.)/m.test(Z);function xL(Z,X,Q){if(!X||X<0)return!1;let U=X-Q,J=Z.length;if(J<=U)return!1;for(let $=0,W=0;$<J;++$)if(Z[$]===`
57
- `){if($-W>U)return!0;if(W=$+1,J-W<=U)return!1}return!0}function O6(Z,X){let Q=JSON.stringify(Z);if(X.options.doubleQuotedAsJSON)return Q;let{implicitKey:U}=X,J=X.options.doubleQuotedMinMultiLineLength,$=X.indent||(d9(Z)?" ":""),W="",Y=0;for(let G=0,L=Q[G];L;L=Q[++G]){if(L===" "&&Q[G+1]==="\\"&&Q[G+2]==="n")W+=Q.slice(Y,G)+"\\ ",G+=1,Y=G,L="\\";if(L==="\\")switch(Q[G+1]){case"u":{W+=Q.slice(Y,G);let q=Q.substr(G+2,4);switch(q){case"0000":W+="\\0";break;case"0007":W+="\\a";break;case"000b":W+="\\v";break;case"001b":W+="\\e";break;case"0085":W+="\\N";break;case"00a0":W+="\\_";break;case"2028":W+="\\L";break;case"2029":W+="\\P";break;default:if(q.substr(0,2)==="00")W+="\\x"+q.substr(2);else W+=Q.substr(G,6)}G+=5,Y=G+1}break;case"n":if(U||Q[G+2]==='"'||Q.length<J)G+=1;else{W+=Q.slice(Y,G)+`
53
+ `&&O!=="\t")_=z}if(z>=q)if(_)G.push(_),q=_+L,_=void 0;else if(Q==="quoted"){while(H===" "||H==="\t")H=P,P=Z[z+=1],F=!0;let O=z>K+1?z-2:B-1;if(V[O])return Z;G.push(O),V[O]=!0,q=O+L,_=void 0}else F=!0}H=P}if(F&&Y)Y();if(G.length===0)return Z;if(W)W();let w=Z.slice(0,G[0]);for(let P=0;P<G.length;++P){let O=G[P],S=G[P+1]||Z.length;if(O===0)w=`
54
+ ${X}${Z.slice(0,S)}`;else{if(Q==="quoted"&&V[O])w+=`${Z[O]}\\`;w+=`
55
+ ${X}${Z.slice(O+1,S)}`}}return w}function nU(Z,X,Q){let U=X,J=X+1,$=Z[J];while($===" "||$==="\t")if(X<J+Q)$=Z[++X];else{do $=Z[++X];while($&&$!==`
56
+ `);U=X,J=X+1,$=Z[J]}return U}var l9=(Z,X)=>({indentAtStart:X?Z.indent.length:Z.indentAtStart,lineWidth:Z.options.lineWidth,minContentWidth:Z.options.minContentWidth}),d9=(Z)=>/^(%|---|\.\.\.)/m.test(Z);function xG(Z,X,Q){if(!X||X<0)return!1;let U=X-Q,J=Z.length;if(J<=U)return!1;for(let $=0,W=0;$<J;++$)if(Z[$]===`
57
+ `){if($-W>U)return!0;if(W=$+1,J-W<=U)return!1}return!0}function O6(Z,X){let Q=JSON.stringify(Z);if(X.options.doubleQuotedAsJSON)return Q;let{implicitKey:U}=X,J=X.options.doubleQuotedMinMultiLineLength,$=X.indent||(d9(Z)?" ":""),W="",Y=0;for(let L=0,G=Q[L];G;G=Q[++L]){if(G===" "&&Q[L+1]==="\\"&&Q[L+2]==="n")W+=Q.slice(Y,L)+"\\ ",L+=1,Y=L,G="\\";if(G==="\\")switch(Q[L+1]){case"u":{W+=Q.slice(Y,L);let V=Q.substr(L+2,4);switch(V){case"0000":W+="\\0";break;case"0007":W+="\\a";break;case"000b":W+="\\v";break;case"001b":W+="\\e";break;case"0085":W+="\\N";break;case"00a0":W+="\\_";break;case"2028":W+="\\L";break;case"2029":W+="\\P";break;default:if(V.substr(0,2)==="00")W+="\\x"+V.substr(2);else W+=Q.substr(L,6)}L+=5,Y=L+1}break;case"n":if(U||Q[L+2]==='"'||Q.length<J)L+=1;else{W+=Q.slice(Y,L)+`
58
58
 
59
- `;while(Q[G+2]==="\\"&&Q[G+3]==="n"&&Q[G+4]!=='"')W+=`
60
- `,G+=2;if(W+=$,Q[G+2]===" ")W+="\\";G+=1,Y=G+1}break;default:G+=1}}return W=Y?W+Q.slice(Y):Q,U?W:R6(W,$,tU,l9(X,!1))}function iX(Z,X){if(X.options.singleQuote===!1||X.implicitKey&&Z.includes(`
59
+ `;while(Q[L+2]==="\\"&&Q[L+3]==="n"&&Q[L+4]!=='"')W+=`
60
+ `,L+=2;if(W+=$,Q[L+2]===" ")W+="\\";L+=1,Y=L+1}break;default:L+=1}}return W=Y?W+Q.slice(Y):Q,U?W:R6(W,$,eU,l9(X,!1))}function iX(Z,X){if(X.options.singleQuote===!1||X.implicitKey&&Z.includes(`
61
61
  `)||/[ \t]\n|\n[ \t]/.test(Z))return O6(Z,X);let Q=X.indent||(d9(Z)?" ":""),U="'"+Z.replace(/'/g,"''").replace(/\n+/g,`$&
62
- ${Q}`)+"'";return X.implicitKey?U:R6(U,Q,cX,l9(X,!1))}function L4(Z,X){let{singleQuote:Q}=X.options,U;if(Q===!1)U=O6;else{let J=Z.includes('"'),$=Z.includes("'");if(J&&!$)U=iX;else if($&&!J)U=O6;else U=Q?iX:O6}return U(Z,X)}var sX;try{sX=new RegExp(`(^|(?<!
62
+ ${Q}`)+"'";return X.implicitKey?U:R6(U,Q,cX,l9(X,!1))}function G4(Z,X){let{singleQuote:Q}=X.options,U;if(Q===!1)U=O6;else{let J=Z.includes('"'),$=Z.includes("'");if(J&&!$)U=iX;else if($&&!J)U=O6;else U=Q?iX:O6}return U(Z,X)}var sX;try{sX=new RegExp(`(^|(?<!
63
63
  ))
64
64
  +(?!
65
- |$)`,"g")}catch{sX=/\n+(?!\n|$)/g}function p9({comment:Z,type:X,value:Q},U,J,$){let{blockQuote:W,commentString:Y,lineWidth:G}=U.options;if(!W||/\n[\t ]+$/.test(Q))return L4(Q,U);let L=U.indent||(U.forceBlockIndent||d9(Q)?" ":""),q=W==="literal"?!0:W==="folded"||X===f.BLOCK_FOLDED?!1:X===f.BLOCK_LITERAL?!0:!xL(Q,G,L.length);if(!Q)return q?`|
65
+ |$)`,"g")}catch{sX=/\n+(?!\n|$)/g}function p9({comment:Z,type:X,value:Q},U,J,$){let{blockQuote:W,commentString:Y,lineWidth:L}=U.options;if(!W||/\n[\t ]+$/.test(Q))return G4(Q,U);let G=U.indent||(U.forceBlockIndent||d9(Q)?" ":""),V=W==="literal"?!0:W==="folded"||X===f.BLOCK_FOLDED?!1:X===f.BLOCK_LITERAL?!0:!xG(Q,L,G.length);if(!Q)return V?`|
66
66
  `:`>
67
- `;let V,_;for(_=Q.length;_>0;--_){let S=Q[_-1];if(S!==`
67
+ `;let q,_;for(_=Q.length;_>0;--_){let S=Q[_-1];if(S!==`
68
68
  `&&S!=="\t"&&S!==" ")break}let H=Q.substring(_),F=H.indexOf(`
69
- `);if(F===-1)V="-";else if(Q===H||F!==H.length-1){if(V="+",$)$()}else V="";if(H){if(Q=Q.slice(0,-H.length),H[H.length-1]===`
70
- `)H=H.slice(0,-1);H=H.replace(sX,`$&${L}`)}let z=!1,B,K=-1;for(B=0;B<Q.length;++B){let S=Q[B];if(S===" ")z=!0;else if(S===`
71
- `)K=B;else break}let w=Q.substring(0,K<B?K+1:B);if(w)Q=Q.substring(w.length),w=w.replace(/\n+/g,`$&${L}`);let O=(z?L?"2":"1":"")+V;if(Z){if(O+=" "+Y(Z.replace(/ ?[\r\n]+/g," ")),J)J()}if(!q){let S=Q.replace(/\n+/g,`
72
- $&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${L}`),C=!1,y=l9(U,!0);if(W!=="folded"&&X!==f.BLOCK_FOLDED)y.onOverflow=()=>{C=!0};let A=R6(`${w}${S}${H}`,L,nU,y);if(!C)return`>${O}
73
- ${L}${A}`}return Q=Q.replace(/\n+/g,`$&${L}`),`|${O}
74
- ${L}${w}${Q}${H}`}function hL(Z,X,Q,U){let{type:J,value:$}=Z,{actualString:W,implicitKey:Y,indent:G,indentStep:L,inFlow:q}=X;if(Y&&$.includes(`
75
- `)||q&&/[[\]{},]/.test($))return L4($,X);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test($))return Y||q||!$.includes(`
76
- `)?L4($,X):p9(Z,X,Q,U);if(!Y&&!q&&J!==f.PLAIN&&$.includes(`
77
- `))return p9(Z,X,Q,U);if(d9($)){if(G==="")return X.forceBlockIndent=!0,p9(Z,X,Q,U);else if(Y&&G===L)return L4($,X)}let V=$.replace(/\n+/g,`$&
78
- ${G}`);if(W){let _=(z)=>z.default&&z.tag!=="tag:yaml.org,2002:str"&&z.test?.test(V),{compat:H,tags:F}=X.doc.schema;if(F.some(_)||H?.some(_))return L4($,X)}return Y?V:R6(V,G,cX,l9(X,!1))}function p1(Z,X,Q,U){let{implicitKey:J,inFlow:$}=X,W=typeof Z.value==="string"?Z:Object.assign({},Z,{value:String(Z.value)}),{type:Y}=Z;if(Y!==f.QUOTE_DOUBLE){if(/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(W.value))Y=f.QUOTE_DOUBLE}let G=(q)=>{switch(q){case f.BLOCK_FOLDED:case f.BLOCK_LITERAL:return J||$?L4(W.value,X):p9(W,X,Q,U);case f.QUOTE_DOUBLE:return O6(W.value,X);case f.QUOTE_SINGLE:return iX(W.value,X);case f.PLAIN:return hL(W,X,Q,U);default:return null}},L=G(Y);if(L===null){let{defaultKeyType:q,defaultStringType:V}=X.options,_=J&&q||V;if(L=G(_),L===null)throw Error(`Unsupported default string type ${_}`)}return L}function c9(Z,X){let Q=Object.assign({blockQuote:!0,commentString:aU,defaultKeyType:null,defaultStringType:"PLAIN",directives:null,doubleQuotedAsJSON:!1,doubleQuotedMinMultiLineLength:40,falseStr:"false",flowCollectionPadding:!0,indentSeq:!0,lineWidth:80,minContentWidth:20,nullStr:"null",simpleKeys:!1,singleQuote:null,trueStr:"true",verifyAliasOrder:!0},Z.schema.toStringOptions,X),U;switch(Q.collectionStyle){case"block":U=!1;break;case"flow":U=!0;break;default:U=null}return{anchors:new Set,doc:Z,flowCollectionPadding:Q.flowCollectionPadding?" ":"",indent:"",indentStep:typeof Q.indent==="number"?" ".repeat(Q.indent):" ",inFlow:U,options:Q}}function mL(Z,X){if(X.tag){let J=Z.filter(($)=>$.tag===X.tag);if(J.length>0)return J.find(($)=>$.format===X.format)??J[0]}let Q=void 0,U;if(x(X)){U=X.value;let J=Z.filter(($)=>$.identify?.(U));if(J.length>1){let $=J.filter((W)=>W.test);if($.length>0)J=$}Q=J.find(($)=>$.format===X.format)??J.find(($)=>!$.format)}else U=X,Q=Z.find((J)=>J.nodeClass&&U instanceof J.nodeClass);if(!Q){let J=U?.constructor?.name??(U===null?"null":typeof U);throw Error(`Tag not resolved for ${J} value`)}return Q}function uL(Z,X,{anchors:Q,doc:U}){if(!U.directives)return"";let J=[],$=(x(Z)||n(Z))&&Z.anchor;if($&&h9($))Q.add($),J.push(`&${$}`);let W=Z.tag??(X.default?null:X.tag);if(W)J.push(U.directives.tagString(W));return J.join(" ")}function l1(Z,X,Q,U){if(p(Z))return Z.toString(X,Q,U);if(l0(Z)){if(X.doc.directives)return Z.toString(X);if(X.resolvedAliases?.has(Z))throw TypeError("Cannot stringify circular structure without alias nodes");else{if(X.resolvedAliases)X.resolvedAliases.add(Z);else X.resolvedAliases=new Set([Z]);Z=Z.resolve(X.doc)}}let J=void 0,$=l(Z)?Z:X.doc.createNode(Z,{onTagObj:(G)=>J=G});J??(J=mL(X.doc.schema.tags,$));let W=uL($,J,X);if(W.length>0)X.indentAtStart=(X.indentAtStart??0)+W.length+1;let Y=typeof J.stringify==="function"?J.stringify($,X,Q,U):x($)?p1($,X,Q,U):$.toString(X,Q,U);if(!W)return Y;return x($)||Y[0]==="{"||Y[0]==="["?`${W} ${Y}`:`${W}
79
- ${X.indent}${Y}`}function eU({key:Z,value:X},Q,U,J){let{allNullValues:$,doc:W,indent:Y,indentStep:G,options:{commentString:L,indentSeq:q,simpleKeys:V}}=Q,_=l(Z)&&Z.comment||null;if(V){if(_)throw Error("With simple keys, key nodes cannot have comments");if(n(Z)||!l(Z)&&typeof Z==="object")throw Error("With simple keys, collection cannot be used as a key value")}let H=!V&&(!Z||_&&X==null&&!Q.inFlow||n(Z)||(x(Z)?Z.type===f.BLOCK_FOLDED||Z.type===f.BLOCK_LITERAL:typeof Z==="object"));Q=Object.assign({},Q,{allNullValues:!1,implicitKey:!H&&(V||!$),indent:Y+G});let F=!1,z=!1,B=l1(Z,Q,()=>F=!0,()=>z=!0);if(!H&&!Q.inFlow&&B.length>1024){if(V)throw Error("With simple keys, single line scalar must not span more than 1024 characters");H=!0}if(Q.inFlow){if($||X==null){if(F&&U)U();return B===""?"?":H?`? ${B}`:B}}else if($&&!V||X==null&&H){if(B=`? ${B}`,_&&!F)B+=A1(B,Q.indent,L(_));else if(z&&J)J();return B}if(F)_=null;if(H){if(_)B+=A1(B,Q.indent,L(_));B=`? ${B}
80
- ${Y}:`}else if(B=`${B}:`,_)B+=A1(B,Q.indent,L(_));let K,w,P;if(l(X))K=!!X.spaceBefore,w=X.commentBefore,P=X.comment;else if(K=!1,w=null,P=null,X&&typeof X==="object")X=W.createNode(X);if(Q.implicitKey=!1,!H&&!_&&x(X))Q.indentAtStart=B.length+1;if(z=!1,!q&&G.length>=2&&!Q.inFlow&&!H&&Z1(X)&&!X.flow&&!X.tag&&!X.anchor)Q.indent=Q.indent.substring(2);let O=!1,S=l1(X,Q,()=>O=!0,()=>z=!0),C=" ";if(_||K||w){if(C=K?`
81
- `:"",w){let y=L(w);C+=`
69
+ `);if(F===-1)q="-";else if(Q===H||F!==H.length-1){if(q="+",$)$()}else q="";if(H){if(Q=Q.slice(0,-H.length),H[H.length-1]===`
70
+ `)H=H.slice(0,-1);H=H.replace(sX,`$&${G}`)}let z=!1,B,K=-1;for(B=0;B<Q.length;++B){let S=Q[B];if(S===" ")z=!0;else if(S===`
71
+ `)K=B;else break}let w=Q.substring(0,K<B?K+1:B);if(w)Q=Q.substring(w.length),w=w.replace(/\n+/g,`$&${G}`);let O=(z?G?"2":"1":"")+q;if(Z){if(O+=" "+Y(Z.replace(/ ?[\r\n]+/g," ")),J)J()}if(!V){let S=Q.replace(/\n+/g,`
72
+ $&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${G}`),C=!1,y=l9(U,!0);if(W!=="folded"&&X!==f.BLOCK_FOLDED)y.onOverflow=()=>{C=!0};let A=R6(`${w}${S}${H}`,G,tU,y);if(!C)return`>${O}
73
+ ${G}${A}`}return Q=Q.replace(/\n+/g,`$&${G}`),`|${O}
74
+ ${G}${w}${Q}${H}`}function hG(Z,X,Q,U){let{type:J,value:$}=Z,{actualString:W,implicitKey:Y,indent:L,indentStep:G,inFlow:V}=X;if(Y&&$.includes(`
75
+ `)||V&&/[[\]{},]/.test($))return G4($,X);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test($))return Y||V||!$.includes(`
76
+ `)?G4($,X):p9(Z,X,Q,U);if(!Y&&!V&&J!==f.PLAIN&&$.includes(`
77
+ `))return p9(Z,X,Q,U);if(d9($)){if(L==="")return X.forceBlockIndent=!0,p9(Z,X,Q,U);else if(Y&&L===G)return G4($,X)}let q=$.replace(/\n+/g,`$&
78
+ ${L}`);if(W){let _=(z)=>z.default&&z.tag!=="tag:yaml.org,2002:str"&&z.test?.test(q),{compat:H,tags:F}=X.doc.schema;if(F.some(_)||H?.some(_))return G4($,X)}return Y?q:R6(q,L,cX,l9(X,!1))}function p1(Z,X,Q,U){let{implicitKey:J,inFlow:$}=X,W=typeof Z.value==="string"?Z:Object.assign({},Z,{value:String(Z.value)}),{type:Y}=Z;if(Y!==f.QUOTE_DOUBLE){if(/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(W.value))Y=f.QUOTE_DOUBLE}let L=(V)=>{switch(V){case f.BLOCK_FOLDED:case f.BLOCK_LITERAL:return J||$?G4(W.value,X):p9(W,X,Q,U);case f.QUOTE_DOUBLE:return O6(W.value,X);case f.QUOTE_SINGLE:return iX(W.value,X);case f.PLAIN:return hG(W,X,Q,U);default:return null}},G=L(Y);if(G===null){let{defaultKeyType:V,defaultStringType:q}=X.options,_=J&&V||q;if(G=L(_),G===null)throw Error(`Unsupported default string type ${_}`)}return G}function c9(Z,X){let Q=Object.assign({blockQuote:!0,commentString:oU,defaultKeyType:null,defaultStringType:"PLAIN",directives:null,doubleQuotedAsJSON:!1,doubleQuotedMinMultiLineLength:40,falseStr:"false",flowCollectionPadding:!0,indentSeq:!0,lineWidth:80,minContentWidth:20,nullStr:"null",simpleKeys:!1,singleQuote:null,trailingComma:!1,trueStr:"true",verifyAliasOrder:!0},Z.schema.toStringOptions,X),U;switch(Q.collectionStyle){case"block":U=!1;break;case"flow":U=!0;break;default:U=null}return{anchors:new Set,doc:Z,flowCollectionPadding:Q.flowCollectionPadding?" ":"",indent:"",indentStep:typeof Q.indent==="number"?" ".repeat(Q.indent):" ",inFlow:U,options:Q}}function mG(Z,X){if(X.tag){let J=Z.filter(($)=>$.tag===X.tag);if(J.length>0)return J.find(($)=>$.format===X.format)??J[0]}let Q=void 0,U;if(x(X)){U=X.value;let J=Z.filter(($)=>$.identify?.(U));if(J.length>1){let $=J.filter((W)=>W.test);if($.length>0)J=$}Q=J.find(($)=>$.format===X.format)??J.find(($)=>!$.format)}else U=X,Q=Z.find((J)=>J.nodeClass&&U instanceof J.nodeClass);if(!Q){let J=U?.constructor?.name??(U===null?"null":typeof U);throw Error(`Tag not resolved for ${J} value`)}return Q}function uG(Z,X,{anchors:Q,doc:U}){if(!U.directives)return"";let J=[],$=(x(Z)||n(Z))&&Z.anchor;if($&&h9($))Q.add($),J.push(`&${$}`);let W=Z.tag??(X.default?null:X.tag);if(W)J.push(U.directives.tagString(W));return J.join(" ")}function l1(Z,X,Q,U){if(p(Z))return Z.toString(X,Q,U);if(l0(Z)){if(X.doc.directives)return Z.toString(X);if(X.resolvedAliases?.has(Z))throw TypeError("Cannot stringify circular structure without alias nodes");else{if(X.resolvedAliases)X.resolvedAliases.add(Z);else X.resolvedAliases=new Set([Z]);Z=Z.resolve(X.doc)}}let J=void 0,$=l(Z)?Z:X.doc.createNode(Z,{onTagObj:(L)=>J=L});J??(J=mG(X.doc.schema.tags,$));let W=uG($,J,X);if(W.length>0)X.indentAtStart=(X.indentAtStart??0)+W.length+1;let Y=typeof J.stringify==="function"?J.stringify($,X,Q,U):x($)?p1($,X,Q,U):$.toString(X,Q,U);if(!W)return Y;return x($)||Y[0]==="{"||Y[0]==="["?`${W} ${Y}`:`${W}
79
+ ${X.indent}${Y}`}function ZJ({key:Z,value:X},Q,U,J){let{allNullValues:$,doc:W,indent:Y,indentStep:L,options:{commentString:G,indentSeq:V,simpleKeys:q}}=Q,_=l(Z)&&Z.comment||null;if(q){if(_)throw Error("With simple keys, key nodes cannot have comments");if(n(Z)||!l(Z)&&typeof Z==="object")throw Error("With simple keys, collection cannot be used as a key value")}let H=!q&&(!Z||_&&X==null&&!Q.inFlow||n(Z)||(x(Z)?Z.type===f.BLOCK_FOLDED||Z.type===f.BLOCK_LITERAL:typeof Z==="object"));Q=Object.assign({},Q,{allNullValues:!1,implicitKey:!H&&(q||!$),indent:Y+L});let F=!1,z=!1,B=l1(Z,Q,()=>F=!0,()=>z=!0);if(!H&&!Q.inFlow&&B.length>1024){if(q)throw Error("With simple keys, single line scalar must not span more than 1024 characters");H=!0}if(Q.inFlow){if($||X==null){if(F&&U)U();return B===""?"?":H?`? ${B}`:B}}else if($&&!q||X==null&&H){if(B=`? ${B}`,_&&!F)B+=A1(B,Q.indent,G(_));else if(z&&J)J();return B}if(F)_=null;if(H){if(_)B+=A1(B,Q.indent,G(_));B=`? ${B}
80
+ ${Y}:`}else if(B=`${B}:`,_)B+=A1(B,Q.indent,G(_));let K,w,P;if(l(X))K=!!X.spaceBefore,w=X.commentBefore,P=X.comment;else if(K=!1,w=null,P=null,X&&typeof X==="object")X=W.createNode(X);if(Q.implicitKey=!1,!H&&!_&&x(X))Q.indentAtStart=B.length+1;if(z=!1,!V&&L.length>=2&&!Q.inFlow&&!H&&Z1(X)&&!X.flow&&!X.tag&&!X.anchor)Q.indent=Q.indent.substring(2);let O=!1,S=l1(X,Q,()=>O=!0,()=>z=!0),C=" ";if(_||K||w){if(C=K?`
81
+ `:"",w){let y=G(w);C+=`
82
82
  ${X1(y,Q.indent)}`}if(S===""&&!Q.inFlow){if(C===`
83
83
  `&&P)C=`
84
84
 
@@ -86,106 +86,106 @@ ${X1(y,Q.indent)}`}if(S===""&&!Q.inFlow){if(C===`
86
86
  ${Q.indent}`}else if(!H&&n(X)){let y=S[0],A=S.indexOf(`
87
87
  `),d=A!==-1,e=Q.inFlow??X.flow??X.items.length===0;if(d||!e){let X0=!1;if(d&&(y==="&"||y==="!")){let h=S.indexOf(" ");if(y==="&"&&h!==-1&&h<A&&S[h+1]==="!")h=S.indexOf(" ",h+1);if(h===-1||A<h)X0=!0}if(!X0)C=`
88
88
  ${Q.indent}`}}else if(S===""||S[0]===`
89
- `)C="";if(B+=C+S,Q.inFlow){if(O&&U)U()}else if(P&&!O)B+=A1(B,Q.indent,L(P));else if(z&&J)J();return B}function i9(Z,X){if(Z==="debug"||Z==="warn")console.warn(X)}var s9="<<",V1={identify:(Z)=>Z===s9||typeof Z==="symbol"&&Z.description===s9,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new f(Symbol(s9)),{addToJSMap:aX}),stringify:()=>s9},ZJ=(Z,X)=>(V1.identify(X)||x(X)&&(!X.type||X.type===f.PLAIN)&&V1.identify(X.value))&&Z?.doc.schema.tags.some((Q)=>Q.tag===V1.tag&&Q.default);function aX(Z,X,Q){if(Q=Z&&l0(Q)?Q.resolve(Z.doc):Q,Z1(Q))for(let U of Q.items)rX(Z,X,U);else if(Array.isArray(Q))for(let U of Q)rX(Z,X,U);else rX(Z,X,Q)}function rX(Z,X,Q){let U=Z&&l0(Q)?Q.resolve(Z.doc):Q;if(!e0(U))throw Error("Merge sources must be maps or map aliases");let J=U.toJSON(null,Z,Map);for(let[$,W]of J)if(X instanceof Map){if(!X.has($))X.set($,W)}else if(X instanceof Set)X.add($);else if(!Object.prototype.hasOwnProperty.call(X,$))Object.defineProperty(X,$,{value:W,writable:!0,enumerable:!0,configurable:!0});return X}function r9(Z,X,{key:Q,value:U}){if(l(Q)&&Q.addToJSMap)Q.addToJSMap(Z,X,U);else if(ZJ(Z,Q))aX(Z,X,U);else{let J=R0(Q,"",Z);if(X instanceof Map)X.set(J,R0(U,J,Z));else if(X instanceof Set)X.add(J);else{let $=pL(Q,J,Z),W=R0(U,$,Z);if($ in X)Object.defineProperty(X,$,{value:W,writable:!0,enumerable:!0,configurable:!0});else X[$]=W}}return X}function pL(Z,X,Q){if(X===null)return"";if(typeof X!=="object")return String(X);if(l(Z)&&Q?.doc){let U=c9(Q.doc,{});U.anchors=new Set;for(let $ of Q.anchors.keys())U.anchors.add($.anchor);U.inFlow=!0,U.inStringifyKey=!0;let J=Z.toString(U);if(!Q.mapKeyWarned){let $=JSON.stringify(J);if($.length>40)$=$.substring(0,36)+'..."';i9(Q.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${$}. Set mapAsMap: true to use object keys.`),Q.mapKeyWarned=!0}return J}return JSON.stringify(X)}function q4(Z,X,Q){let U=u1(Z,void 0,Q),J=u1(X,void 0,Q);return new Y0(U,J)}class Y0{constructor(Z,X=null){Object.defineProperty(this,N0,{value:pX}),this.key=Z,this.value=X}clone(Z){let{key:X,value:Q}=this;if(l(X))X=X.clone(Z);if(l(Q))Q=Q.clone(Z);return new Y0(X,Q)}toJSON(Z,X){let Q=X?.mapAsMap?new Map:{};return r9(X,Q,this)}toString(Z,X,Q){return Z?.doc?eU(this,Z,X,Q):JSON.stringify(this)}}function o9(Z,X,Q){return(X.inFlow??Z.flow?dL:lL)(Z,X,Q)}function lL({comment:Z,items:X},Q,{blockItemPrefix:U,flowChars:J,itemIndent:$,onChompKeep:W,onComment:Y}){let{indent:G,options:{commentString:L}}=Q,q=Object.assign({},Q,{indent:$,type:null}),V=!1,_=[];for(let F=0;F<X.length;++F){let z=X[F],B=null;if(l(z)){if(!V&&z.spaceBefore)_.push("");if(a9(Q,_,z.commentBefore,V),z.comment)B=z.comment}else if(p(z)){let w=l(z.key)?z.key:null;if(w){if(!V&&w.spaceBefore)_.push("");a9(Q,_,w.commentBefore,V)}}V=!1;let K=l1(z,q,()=>B=null,()=>V=!0);if(B)K+=A1(K,$,L(B));if(V&&B)V=!1;_.push(U+K)}let H;if(_.length===0)H=J.start+J.end;else{H=_[0];for(let F=1;F<_.length;++F){let z=_[F];H+=z?`
90
- ${G}${z}`:`
89
+ `)C="";if(B+=C+S,Q.inFlow){if(O&&U)U()}else if(P&&!O)B+=A1(B,Q.indent,G(P));else if(z&&J)J();return B}function i9(Z,X){if(Z==="debug"||Z==="warn")console.warn(X)}var s9="<<",_1={identify:(Z)=>Z===s9||typeof Z==="symbol"&&Z.description===s9,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new f(Symbol(s9)),{addToJSMap:aX}),stringify:()=>s9},XJ=(Z,X)=>(_1.identify(X)||x(X)&&(!X.type||X.type===f.PLAIN)&&_1.identify(X.value))&&Z?.doc.schema.tags.some((Q)=>Q.tag===_1.tag&&Q.default);function aX(Z,X,Q){if(Q=Z&&l0(Q)?Q.resolve(Z.doc):Q,Z1(Q))for(let U of Q.items)rX(Z,X,U);else if(Array.isArray(Q))for(let U of Q)rX(Z,X,U);else rX(Z,X,Q)}function rX(Z,X,Q){let U=Z&&l0(Q)?Q.resolve(Z.doc):Q;if(!e0(U))throw Error("Merge sources must be maps or map aliases");let J=U.toJSON(null,Z,Map);for(let[$,W]of J)if(X instanceof Map){if(!X.has($))X.set($,W)}else if(X instanceof Set)X.add($);else if(!Object.prototype.hasOwnProperty.call(X,$))Object.defineProperty(X,$,{value:W,writable:!0,enumerable:!0,configurable:!0});return X}function r9(Z,X,{key:Q,value:U}){if(l(Q)&&Q.addToJSMap)Q.addToJSMap(Z,X,U);else if(XJ(Z,Q))aX(Z,X,U);else{let J=R0(Q,"",Z);if(X instanceof Map)X.set(J,R0(U,J,Z));else if(X instanceof Set)X.add(J);else{let $=pG(Q,J,Z),W=R0(U,$,Z);if($ in X)Object.defineProperty(X,$,{value:W,writable:!0,enumerable:!0,configurable:!0});else X[$]=W}}return X}function pG(Z,X,Q){if(X===null)return"";if(typeof X!=="object")return String(X);if(l(Z)&&Q?.doc){let U=c9(Q.doc,{});U.anchors=new Set;for(let $ of Q.anchors.keys())U.anchors.add($.anchor);U.inFlow=!0,U.inStringifyKey=!0;let J=Z.toString(U);if(!Q.mapKeyWarned){let $=JSON.stringify(J);if($.length>40)$=$.substring(0,36)+'..."';i9(Q.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${$}. Set mapAsMap: true to use object keys.`),Q.mapKeyWarned=!0}return J}return JSON.stringify(X)}function V4(Z,X,Q){let U=u1(Z,void 0,Q),J=u1(X,void 0,Q);return new Y0(U,J)}class Y0{constructor(Z,X=null){Object.defineProperty(this,N0,{value:pX}),this.key=Z,this.value=X}clone(Z){let{key:X,value:Q}=this;if(l(X))X=X.clone(Z);if(l(Q))Q=Q.clone(Z);return new Y0(X,Q)}toJSON(Z,X){let Q=X?.mapAsMap?new Map:{};return r9(X,Q,this)}toString(Z,X,Q){return Z?.doc?ZJ(this,Z,X,Q):JSON.stringify(this)}}function o9(Z,X,Q){return(X.inFlow??Z.flow?dG:lG)(Z,X,Q)}function lG({comment:Z,items:X},Q,{blockItemPrefix:U,flowChars:J,itemIndent:$,onChompKeep:W,onComment:Y}){let{indent:L,options:{commentString:G}}=Q,V=Object.assign({},Q,{indent:$,type:null}),q=!1,_=[];for(let F=0;F<X.length;++F){let z=X[F],B=null;if(l(z)){if(!q&&z.spaceBefore)_.push("");if(a9(Q,_,z.commentBefore,q),z.comment)B=z.comment}else if(p(z)){let w=l(z.key)?z.key:null;if(w){if(!q&&w.spaceBefore)_.push("");a9(Q,_,w.commentBefore,q)}}q=!1;let K=l1(z,V,()=>B=null,()=>q=!0);if(B)K+=A1(K,$,G(B));if(q&&B)q=!1;_.push(U+K)}let H;if(_.length===0)H=J.start+J.end;else{H=_[0];for(let F=1;F<_.length;++F){let z=_[F];H+=z?`
90
+ ${L}${z}`:`
91
91
  `}}if(Z){if(H+=`
92
- `+X1(L(Z),G),Y)Y()}else if(V&&W)W();return H}function dL({items:Z},X,{flowChars:Q,itemIndent:U}){let{indent:J,indentStep:$,flowCollectionPadding:W,options:{commentString:Y}}=X;U+=$;let G=Object.assign({},X,{indent:U,inFlow:!0,type:null}),L=!1,q=0,V=[];for(let F=0;F<Z.length;++F){let z=Z[F],B=null;if(l(z)){if(z.spaceBefore)V.push("");if(a9(X,V,z.commentBefore,!1),z.comment)B=z.comment}else if(p(z)){let w=l(z.key)?z.key:null;if(w){if(w.spaceBefore)V.push("");if(a9(X,V,w.commentBefore,!1),w.comment)L=!0}let P=l(z.value)?z.value:null;if(P){if(P.comment)B=P.comment;if(P.commentBefore)L=!0}else if(z.value==null&&w?.comment)B=w.comment}if(B)L=!0;let K=l1(z,G,()=>B=null);if(F<Z.length-1)K+=",";if(B)K+=A1(K,U,Y(B));if(!L&&(V.length>q||K.includes(`
93
- `)))L=!0;V.push(K),q=V.length}let{start:_,end:H}=Q;if(V.length===0)return _+H;else{if(!L){let F=V.reduce((z,B)=>z+B.length+2,2);L=X.options.lineWidth>0&&F>X.options.lineWidth}if(L){let F=_;for(let z of V)F+=z?`
92
+ `+X1(G(Z),L),Y)Y()}else if(q&&W)W();return H}function dG({items:Z},X,{flowChars:Q,itemIndent:U}){let{indent:J,indentStep:$,flowCollectionPadding:W,options:{commentString:Y}}=X;U+=$;let L=Object.assign({},X,{indent:U,inFlow:!0,type:null}),G=!1,V=0,q=[];for(let F=0;F<Z.length;++F){let z=Z[F],B=null;if(l(z)){if(z.spaceBefore)q.push("");if(a9(X,q,z.commentBefore,!1),z.comment)B=z.comment}else if(p(z)){let w=l(z.key)?z.key:null;if(w){if(w.spaceBefore)q.push("");if(a9(X,q,w.commentBefore,!1),w.comment)G=!0}let P=l(z.value)?z.value:null;if(P){if(P.comment)B=P.comment;if(P.commentBefore)G=!0}else if(z.value==null&&w?.comment)B=w.comment}if(B)G=!0;let K=l1(z,L,()=>B=null);if(G||(G=q.length>V||K.includes(`
93
+ `)),F<Z.length-1)K+=",";else if(X.options.trailingComma){if(X.options.lineWidth>0)G||(G=q.reduce((w,P)=>w+P.length+2,2)+(K.length+2)>X.options.lineWidth);if(G)K+=","}if(B)K+=A1(K,U,Y(B));q.push(K),V=q.length}let{start:_,end:H}=Q;if(q.length===0)return _+H;else{if(!G){let F=q.reduce((z,B)=>z+B.length+2,2);G=X.options.lineWidth>0&&F>X.options.lineWidth}if(G){let F=_;for(let z of q)F+=z?`
94
94
  ${$}${J}${z}`:`
95
95
  `;return`${F}
96
- ${J}${H}`}else return`${_}${W}${V.join(" ")}${W}${H}`}}function a9({indent:Z,options:{commentString:X}},Q,U,J){if(U&&J)U=U.replace(/^\n+/,"");if(U){let $=X1(X(U),Z);Q.push($.trimStart())}}function Y2(Z,X){let Q=x(X)?X.value:X;for(let U of Z)if(p(U)){if(U.key===X||U.key===Q)return U;if(x(U.key)&&U.key.value===Q)return U}return}class q0 extends M6{static get tagName(){return"tag:yaml.org,2002:map"}constructor(Z){super(L1,Z);this.items=[]}static from(Z,X,Q){let{keepUndefined:U,replacer:J}=Q,$=new this(Z),W=(Y,G)=>{if(typeof J==="function")G=J.call(X,Y,G);else if(Array.isArray(J)&&!J.includes(Y))return;if(G!==void 0||U)$.items.push(q4(Y,G,Q))};if(X instanceof Map)for(let[Y,G]of X)W(Y,G);else if(X&&typeof X==="object")for(let Y of Object.keys(X))W(Y,X[Y]);if(typeof Z.sortMapEntries==="function")$.items.sort(Z.sortMapEntries);return $}add(Z,X){let Q;if(p(Z))Q=Z;else if(!Z||typeof Z!=="object"||!("key"in Z))Q=new Y0(Z,Z?.value);else Q=new Y0(Z.key,Z.value);let U=Y2(this.items,Q.key),J=this.schema?.sortMapEntries;if(U){if(!X)throw Error(`Key ${Q.key} already set`);if(x(U.value)&&u9(Q.value))U.value.value=Q.value;else U.value=Q.value}else if(J){let $=this.items.findIndex((W)=>J(Q,W)<0);if($===-1)this.items.push(Q);else this.items.splice($,0,Q)}else this.items.push(Q)}delete(Z){let X=Y2(this.items,Z);if(!X)return!1;return this.items.splice(this.items.indexOf(X),1).length>0}get(Z,X){let U=Y2(this.items,Z)?.value;return(!X&&x(U)?U.value:U)??void 0}has(Z){return!!Y2(this.items,Z)}set(Z,X){this.add(new Y0(Z,X),!0)}toJSON(Z,X,Q){let U=Q?new Q:X?.mapAsMap?new Map:{};if(X?.onCreate)X.onCreate(U);for(let J of this.items)r9(X,U,J);return U}toString(Z,X,Q){if(!Z)return JSON.stringify(this);for(let U of this.items)if(!p(U))throw Error(`Map items must all be pairs; found ${JSON.stringify(U)} instead`);if(!Z.allNullValues&&this.hasAllNullValues(!1))Z=Object.assign({},Z,{allNullValues:!0});return o9(this,Z,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:Z.indent||"",onChompKeep:Q,onComment:X})}}var _1={collection:"map",default:!0,nodeClass:q0,tag:"tag:yaml.org,2002:map",resolve(Z,X){if(!e0(Z))X("Expected a mapping for this tag");return Z},createNode:(Z,X,Q)=>q0.from(Z,X,Q)};class P0 extends M6{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(Z){super(h1,Z);this.items=[]}add(Z){this.items.push(Z)}delete(Z){let X=n9(Z);if(typeof X!=="number")return!1;return this.items.splice(X,1).length>0}get(Z,X){let Q=n9(Z);if(typeof Q!=="number")return;let U=this.items[Q];return!X&&x(U)?U.value:U}has(Z){let X=n9(Z);return typeof X==="number"&&X<this.items.length}set(Z,X){let Q=n9(Z);if(typeof Q!=="number")throw Error(`Expected a valid index, not ${Z}.`);let U=this.items[Q];if(x(U)&&u9(X))U.value=X;else this.items[Q]=X}toJSON(Z,X){let Q=[];if(X?.onCreate)X.onCreate(Q);let U=0;for(let J of this.items)Q.push(R0(J,String(U++),X));return Q}toString(Z,X,Q){if(!Z)return JSON.stringify(this);return o9(this,Z,{blockItemPrefix:"- ",flowChars:{start:"[",end:"]"},itemIndent:(Z.indent||"")+" ",onChompKeep:Q,onComment:X})}static from(Z,X,Q){let{replacer:U}=Q,J=new this(Z);if(X&&Symbol.iterator in Object(X)){let $=0;for(let W of X){if(typeof U==="function"){let Y=X instanceof Set?W:String($++);W=U.call(X,Y,W)}J.items.push(u1(W,void 0,Q))}}return J}}function n9(Z){let X=x(Z)?Z.value:Z;if(X&&typeof X==="string")X=Number(X);return typeof X==="number"&&Number.isInteger(X)&&X>=0?X:null}var z1={collection:"seq",default:!0,nodeClass:P0,tag:"tag:yaml.org,2002:seq",resolve(Z,X){if(!Z1(Z))X("Expected a sequence for this tag");return Z},createNode:(Z,X,Q)=>P0.from(Z,X,Q)};var G2={identify:(Z)=>typeof Z==="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:(Z)=>Z,stringify(Z,X,Q,U){return X=Object.assign({actualString:!0},X),p1(Z,X,Q,U)}};var C2={identify:(Z)=>Z==null,createNode:()=>new f(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new f(null),stringify:({source:Z},X)=>typeof Z==="string"&&C2.test.test(Z)?Z:X.options.nullStr};var T6={identify:(Z)=>typeof Z==="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:(Z)=>new f(Z[0]==="t"||Z[0]==="T"),stringify({source:Z,value:X},Q){if(Z&&T6.test.test(Z)){let U=Z[0]==="t"||Z[0]==="T";if(X===U)return Z}return X?Q.options.trueStr:Q.options.falseStr}};function A0({format:Z,minFractionDigits:X,tag:Q,value:U}){if(typeof U==="bigint")return String(U);let J=typeof U==="number"?U:Number(U);if(!isFinite(J))return isNaN(J)?".nan":J<0?"-.inf":".inf";let $=Object.is(U,-0)?"-0":JSON.stringify(U);if(!Z&&X&&(!Q||Q==="tag:yaml.org,2002:float")&&/^\d/.test($)){let W=$.indexOf(".");if(W<0)W=$.length,$+=".";let Y=X-($.length-W-1);while(Y-- >0)$+="0"}return $}var t9={identify:(Z)=>typeof Z==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:(Z)=>Z.slice(-3).toLowerCase()==="nan"?NaN:Z[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:A0},e9={identify:(Z)=>typeof Z==="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:(Z)=>parseFloat(Z),stringify(Z){let X=Number(Z.value);return isFinite(X)?X.toExponential():A0(Z)}},Z8={identify:(Z)=>typeof Z==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,resolve(Z){let X=new f(parseFloat(Z)),Q=Z.indexOf(".");if(Q!==-1&&Z[Z.length-1]==="0")X.minFractionDigits=Z.length-Q-1;return X},stringify:A0};var X8=(Z)=>typeof Z==="bigint"||Number.isInteger(Z),oX=(Z,X,Q,{intAsBigInt:U})=>U?BigInt(Z):parseInt(Z.substring(X),Q);function XJ(Z,X,Q){let{value:U}=Z;if(X8(U)&&U>=0)return Q+U.toString(X);return A0(Z)}var Q8={identify:(Z)=>X8(Z)&&Z>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(Z,X,Q)=>oX(Z,2,8,Q),stringify:(Z)=>XJ(Z,8,"0o")},U8={identify:X8,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(Z,X,Q)=>oX(Z,0,10,Q),stringify:A0},J8={identify:(Z)=>X8(Z)&&Z>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(Z,X,Q)=>oX(Z,2,16,Q),stringify:(Z)=>XJ(Z,16,"0x")};var QJ=[_1,z1,G2,C2,T6,Q8,U8,J8,t9,e9,Z8];function UJ(Z){return typeof Z==="bigint"||Number.isInteger(Z)}var $8=({value:Z})=>JSON.stringify(Z),cL=[{identify:(Z)=>typeof Z==="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:(Z)=>Z,stringify:$8},{identify:(Z)=>Z==null,createNode:()=>new f(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:$8},{identify:(Z)=>typeof Z==="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:(Z)=>Z==="true",stringify:$8},{identify:UJ,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:(Z,X,{intAsBigInt:Q})=>Q?BigInt(Z):parseInt(Z,10),stringify:({value:Z})=>UJ(Z)?Z.toString():JSON.stringify(Z)},{identify:(Z)=>typeof Z==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:(Z)=>parseFloat(Z),stringify:$8}],iL={default:!0,tag:"",test:/^/,resolve(Z,X){return X(`Unresolved plain scalar ${JSON.stringify(Z)}`),Z}},JJ=[_1,z1].concat(cL,iL);var K6={identify:(Z)=>Z instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(Z,X){if(typeof atob==="function"){let Q=atob(Z.replace(/[\n\r]/g,"")),U=new Uint8Array(Q.length);for(let J=0;J<Q.length;++J)U[J]=Q.charCodeAt(J);return U}else return X("This environment does not support reading binary tags; either Buffer or atob is required"),Z},stringify({comment:Z,type:X,value:Q},U,J,$){if(!Q)return"";let W=Q,Y;if(typeof btoa==="function"){let G="";for(let L=0;L<W.length;++L)G+=String.fromCharCode(W[L]);Y=btoa(G)}else throw Error("This environment does not support writing binary tags; either Buffer or btoa is required");if(X??(X=f.BLOCK_LITERAL),X!==f.QUOTE_DOUBLE){let G=Math.max(U.options.lineWidth-U.indent.length,U.options.minContentWidth),L=Math.ceil(Y.length/G),q=Array(L);for(let V=0,_=0;V<L;++V,_+=G)q[V]=Y.substr(_,G);Y=q.join(X===f.BLOCK_LITERAL?`
96
+ ${J}${H}`}else return`${_}${W}${q.join(" ")}${W}${H}`}}function a9({indent:Z,options:{commentString:X}},Q,U,J){if(U&&J)U=U.replace(/^\n+/,"");if(U){let $=X1(X(U),Z);Q.push($.trimStart())}}function Y2(Z,X){let Q=x(X)?X.value:X;for(let U of Z)if(p(U)){if(U.key===X||U.key===Q)return U;if(x(U.key)&&U.key.value===Q)return U}return}class V0 extends M6{static get tagName(){return"tag:yaml.org,2002:map"}constructor(Z){super(V1,Z);this.items=[]}static from(Z,X,Q){let{keepUndefined:U,replacer:J}=Q,$=new this(Z),W=(Y,L)=>{if(typeof J==="function")L=J.call(X,Y,L);else if(Array.isArray(J)&&!J.includes(Y))return;if(L!==void 0||U)$.items.push(V4(Y,L,Q))};if(X instanceof Map)for(let[Y,L]of X)W(Y,L);else if(X&&typeof X==="object")for(let Y of Object.keys(X))W(Y,X[Y]);if(typeof Z.sortMapEntries==="function")$.items.sort(Z.sortMapEntries);return $}add(Z,X){let Q;if(p(Z))Q=Z;else if(!Z||typeof Z!=="object"||!("key"in Z))Q=new Y0(Z,Z?.value);else Q=new Y0(Z.key,Z.value);let U=Y2(this.items,Q.key),J=this.schema?.sortMapEntries;if(U){if(!X)throw Error(`Key ${Q.key} already set`);if(x(U.value)&&u9(Q.value))U.value.value=Q.value;else U.value=Q.value}else if(J){let $=this.items.findIndex((W)=>J(Q,W)<0);if($===-1)this.items.push(Q);else this.items.splice($,0,Q)}else this.items.push(Q)}delete(Z){let X=Y2(this.items,Z);if(!X)return!1;return this.items.splice(this.items.indexOf(X),1).length>0}get(Z,X){let U=Y2(this.items,Z)?.value;return(!X&&x(U)?U.value:U)??void 0}has(Z){return!!Y2(this.items,Z)}set(Z,X){this.add(new Y0(Z,X),!0)}toJSON(Z,X,Q){let U=Q?new Q:X?.mapAsMap?new Map:{};if(X?.onCreate)X.onCreate(U);for(let J of this.items)r9(X,U,J);return U}toString(Z,X,Q){if(!Z)return JSON.stringify(this);for(let U of this.items)if(!p(U))throw Error(`Map items must all be pairs; found ${JSON.stringify(U)} instead`);if(!Z.allNullValues&&this.hasAllNullValues(!1))Z=Object.assign({},Z,{allNullValues:!0});return o9(this,Z,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:Z.indent||"",onChompKeep:Q,onComment:X})}}var z1={collection:"map",default:!0,nodeClass:V0,tag:"tag:yaml.org,2002:map",resolve(Z,X){if(!e0(Z))X("Expected a mapping for this tag");return Z},createNode:(Z,X,Q)=>V0.from(Z,X,Q)};class P0 extends M6{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(Z){super(h1,Z);this.items=[]}add(Z){this.items.push(Z)}delete(Z){let X=n9(Z);if(typeof X!=="number")return!1;return this.items.splice(X,1).length>0}get(Z,X){let Q=n9(Z);if(typeof Q!=="number")return;let U=this.items[Q];return!X&&x(U)?U.value:U}has(Z){let X=n9(Z);return typeof X==="number"&&X<this.items.length}set(Z,X){let Q=n9(Z);if(typeof Q!=="number")throw Error(`Expected a valid index, not ${Z}.`);let U=this.items[Q];if(x(U)&&u9(X))U.value=X;else this.items[Q]=X}toJSON(Z,X){let Q=[];if(X?.onCreate)X.onCreate(Q);let U=0;for(let J of this.items)Q.push(R0(J,String(U++),X));return Q}toString(Z,X,Q){if(!Z)return JSON.stringify(this);return o9(this,Z,{blockItemPrefix:"- ",flowChars:{start:"[",end:"]"},itemIndent:(Z.indent||"")+" ",onChompKeep:Q,onComment:X})}static from(Z,X,Q){let{replacer:U}=Q,J=new this(Z);if(X&&Symbol.iterator in Object(X)){let $=0;for(let W of X){if(typeof U==="function"){let Y=X instanceof Set?W:String($++);W=U.call(X,Y,W)}J.items.push(u1(W,void 0,Q))}}return J}}function n9(Z){let X=x(Z)?Z.value:Z;if(X&&typeof X==="string")X=Number(X);return typeof X==="number"&&Number.isInteger(X)&&X>=0?X:null}var H1={collection:"seq",default:!0,nodeClass:P0,tag:"tag:yaml.org,2002:seq",resolve(Z,X){if(!Z1(Z))X("Expected a sequence for this tag");return Z},createNode:(Z,X,Q)=>P0.from(Z,X,Q)};var L2={identify:(Z)=>typeof Z==="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:(Z)=>Z,stringify(Z,X,Q,U){return X=Object.assign({actualString:!0},X),p1(Z,X,Q,U)}};var C2={identify:(Z)=>Z==null,createNode:()=>new f(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new f(null),stringify:({source:Z},X)=>typeof Z==="string"&&C2.test.test(Z)?Z:X.options.nullStr};var T6={identify:(Z)=>typeof Z==="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:(Z)=>new f(Z[0]==="t"||Z[0]==="T"),stringify({source:Z,value:X},Q){if(Z&&T6.test.test(Z)){let U=Z[0]==="t"||Z[0]==="T";if(X===U)return Z}return X?Q.options.trueStr:Q.options.falseStr}};function A0({format:Z,minFractionDigits:X,tag:Q,value:U}){if(typeof U==="bigint")return String(U);let J=typeof U==="number"?U:Number(U);if(!isFinite(J))return isNaN(J)?".nan":J<0?"-.inf":".inf";let $=Object.is(U,-0)?"-0":JSON.stringify(U);if(!Z&&X&&(!Q||Q==="tag:yaml.org,2002:float")&&/^\d/.test($)){let W=$.indexOf(".");if(W<0)W=$.length,$+=".";let Y=X-($.length-W-1);while(Y-- >0)$+="0"}return $}var t9={identify:(Z)=>typeof Z==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:(Z)=>Z.slice(-3).toLowerCase()==="nan"?NaN:Z[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:A0},e9={identify:(Z)=>typeof Z==="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:(Z)=>parseFloat(Z),stringify(Z){let X=Number(Z.value);return isFinite(X)?X.toExponential():A0(Z)}},Z8={identify:(Z)=>typeof Z==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,resolve(Z){let X=new f(parseFloat(Z)),Q=Z.indexOf(".");if(Q!==-1&&Z[Z.length-1]==="0")X.minFractionDigits=Z.length-Q-1;return X},stringify:A0};var X8=(Z)=>typeof Z==="bigint"||Number.isInteger(Z),oX=(Z,X,Q,{intAsBigInt:U})=>U?BigInt(Z):parseInt(Z.substring(X),Q);function QJ(Z,X,Q){let{value:U}=Z;if(X8(U)&&U>=0)return Q+U.toString(X);return A0(Z)}var Q8={identify:(Z)=>X8(Z)&&Z>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(Z,X,Q)=>oX(Z,2,8,Q),stringify:(Z)=>QJ(Z,8,"0o")},U8={identify:X8,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(Z,X,Q)=>oX(Z,0,10,Q),stringify:A0},J8={identify:(Z)=>X8(Z)&&Z>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(Z,X,Q)=>oX(Z,2,16,Q),stringify:(Z)=>QJ(Z,16,"0x")};var UJ=[z1,H1,L2,C2,T6,Q8,U8,J8,t9,e9,Z8];function JJ(Z){return typeof Z==="bigint"||Number.isInteger(Z)}var $8=({value:Z})=>JSON.stringify(Z),cG=[{identify:(Z)=>typeof Z==="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:(Z)=>Z,stringify:$8},{identify:(Z)=>Z==null,createNode:()=>new f(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:$8},{identify:(Z)=>typeof Z==="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:(Z)=>Z==="true",stringify:$8},{identify:JJ,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:(Z,X,{intAsBigInt:Q})=>Q?BigInt(Z):parseInt(Z,10),stringify:({value:Z})=>JJ(Z)?Z.toString():JSON.stringify(Z)},{identify:(Z)=>typeof Z==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:(Z)=>parseFloat(Z),stringify:$8}],iG={default:!0,tag:"",test:/^/,resolve(Z,X){return X(`Unresolved plain scalar ${JSON.stringify(Z)}`),Z}},$J=[z1,H1].concat(cG,iG);var K6={identify:(Z)=>Z instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(Z,X){if(typeof atob==="function"){let Q=atob(Z.replace(/[\n\r]/g,"")),U=new Uint8Array(Q.length);for(let J=0;J<Q.length;++J)U[J]=Q.charCodeAt(J);return U}else return X("This environment does not support reading binary tags; either Buffer or atob is required"),Z},stringify({comment:Z,type:X,value:Q},U,J,$){if(!Q)return"";let W=Q,Y;if(typeof btoa==="function"){let L="";for(let G=0;G<W.length;++G)L+=String.fromCharCode(W[G]);Y=btoa(L)}else throw Error("This environment does not support writing binary tags; either Buffer or btoa is required");if(X??(X=f.BLOCK_LITERAL),X!==f.QUOTE_DOUBLE){let L=Math.max(U.options.lineWidth-U.indent.length,U.options.minContentWidth),G=Math.ceil(Y.length/L),V=Array(G);for(let q=0,_=0;q<G;++q,_+=L)V[q]=Y.substr(_,L);Y=V.join(X===f.BLOCK_LITERAL?`
97
97
  `:" ")}return p1({comment:Z,type:X,value:Y},U,J,$)}};function nX(Z,X){if(Z1(Z))for(let Q=0;Q<Z.items.length;++Q){let U=Z.items[Q];if(p(U))continue;else if(e0(U)){if(U.items.length>1)X("Each pair must have its own sequence indicator");let J=U.items[0]||new Y0(new f(null));if(U.commentBefore)J.key.commentBefore=J.key.commentBefore?`${U.commentBefore}
98
98
  ${J.key.commentBefore}`:U.commentBefore;if(U.comment){let $=J.value??J.key;$.comment=$.comment?`${U.comment}
99
- ${$.comment}`:U.comment}U=J}Z.items[Q]=p(U)?U:new Y0(U)}else X("Expected a sequence for this tag");return Z}function tX(Z,X,Q){let{replacer:U}=Q,J=new P0(Z);J.tag="tag:yaml.org,2002:pairs";let $=0;if(X&&Symbol.iterator in Object(X))for(let W of X){if(typeof U==="function")W=U.call(X,String($++),W);let Y,G;if(Array.isArray(W))if(W.length===2)Y=W[0],G=W[1];else throw TypeError(`Expected [key, value] tuple: ${W}`);else if(W&&W instanceof Object){let L=Object.keys(W);if(L.length===1)Y=L[0],G=W[Y];else throw TypeError(`Expected tuple with one key, not ${L.length} keys`)}else Y=W;J.items.push(q4(Y,G,Q))}return J}var D6={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:nX,createNode:tX};class V4 extends P0{constructor(){super();this.add=q0.prototype.add.bind(this),this.delete=q0.prototype.delete.bind(this),this.get=q0.prototype.get.bind(this),this.has=q0.prototype.has.bind(this),this.set=q0.prototype.set.bind(this),this.tag=V4.tag}toJSON(Z,X){if(!X)return super.toJSON(Z);let Q=new Map;if(X?.onCreate)X.onCreate(Q);for(let U of this.items){let J,$;if(p(U))J=R0(U.key,"",X),$=R0(U.value,J,X);else J=R0(U,"",X);if(Q.has(J))throw Error("Ordered maps must not include duplicate keys");Q.set(J,$)}return Q}static from(Z,X,Q){let U=tX(Z,X,Q),J=new this;return J.items=U.items,J}}V4.tag="tag:yaml.org,2002:omap";var w6={collection:"seq",identify:(Z)=>Z instanceof Map,nodeClass:V4,default:!1,tag:"tag:yaml.org,2002:omap",resolve(Z,X){let Q=nX(Z,X),U=[];for(let{key:J}of Q.items)if(x(J))if(U.includes(J.value))X(`Ordered maps must not include duplicate keys: ${J.value}`);else U.push(J.value);return Object.assign(new V4,Q)},createNode:(Z,X,Q)=>V4.from(Z,X,Q)};function $J({value:Z,source:X},Q){if(X&&(Z?eX:Z7).test.test(X))return X;return Z?Q.options.trueStr:Q.options.falseStr}var eX={identify:(Z)=>Z===!0,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new f(!0),stringify:$J},Z7={identify:(Z)=>Z===!1,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new f(!1),stringify:$J};var WJ={identify:(Z)=>typeof Z==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:(Z)=>Z.slice(-3).toLowerCase()==="nan"?NaN:Z[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:A0},YJ={identify:(Z)=>typeof Z==="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:(Z)=>parseFloat(Z.replace(/_/g,"")),stringify(Z){let X=Number(Z.value);return isFinite(X)?X.toExponential():A0(Z)}},GJ={identify:(Z)=>typeof Z==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve(Z){let X=new f(parseFloat(Z.replace(/_/g,""))),Q=Z.indexOf(".");if(Q!==-1){let U=Z.substring(Q+1).replace(/_/g,"");if(U[U.length-1]==="0")X.minFractionDigits=U.length}return X},stringify:A0};var P6=(Z)=>typeof Z==="bigint"||Number.isInteger(Z);function W8(Z,X,Q,{intAsBigInt:U}){let J=Z[0];if(J==="-"||J==="+")X+=1;if(Z=Z.substring(X).replace(/_/g,""),U){switch(Q){case 2:Z=`0b${Z}`;break;case 8:Z=`0o${Z}`;break;case 16:Z=`0x${Z}`;break}let W=BigInt(Z);return J==="-"?BigInt(-1)*W:W}let $=parseInt(Z,Q);return J==="-"?-1*$:$}function X7(Z,X,Q){let{value:U}=Z;if(P6(U)){let J=U.toString(X);return U<0?"-"+Q+J.substr(1):Q+J}return A0(Z)}var LJ={identify:P6,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(Z,X,Q)=>W8(Z,2,2,Q),stringify:(Z)=>X7(Z,2,"0b")},qJ={identify:P6,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(Z,X,Q)=>W8(Z,1,8,Q),stringify:(Z)=>X7(Z,8,"0")},VJ={identify:P6,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(Z,X,Q)=>W8(Z,0,10,Q),stringify:A0},_J={identify:P6,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(Z,X,Q)=>W8(Z,2,16,Q),stringify:(Z)=>X7(Z,16,"0x")};class _4 extends q0{constructor(Z){super(Z);this.tag=_4.tag}add(Z){let X;if(p(Z))X=Z;else if(Z&&typeof Z==="object"&&"key"in Z&&"value"in Z&&Z.value===null)X=new Y0(Z.key,null);else X=new Y0(Z,null);if(!Y2(this.items,X.key))this.items.push(X)}get(Z,X){let Q=Y2(this.items,Z);return!X&&p(Q)?x(Q.key)?Q.key.value:Q.key:Q}set(Z,X){if(typeof X!=="boolean")throw Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof X}`);let Q=Y2(this.items,Z);if(Q&&!X)this.items.splice(this.items.indexOf(Q),1);else if(!Q&&X)this.items.push(new Y0(Z))}toJSON(Z,X){return super.toJSON(Z,X,Set)}toString(Z,X,Q){if(!Z)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},Z,{allNullValues:!0}),X,Q);else throw Error("Set items must all have null values")}static from(Z,X,Q){let{replacer:U}=Q,J=new this(Z);if(X&&Symbol.iterator in Object(X))for(let $ of X){if(typeof U==="function")$=U.call(X,$,$);J.items.push(q4($,null,Q))}return J}}_4.tag="tag:yaml.org,2002:set";var A6={collection:"map",identify:(Z)=>Z instanceof Set,nodeClass:_4,default:!1,tag:"tag:yaml.org,2002:set",createNode:(Z,X,Q)=>_4.from(Z,X,Q),resolve(Z,X){if(e0(Z))if(Z.hasAllNullValues(!0))return Object.assign(new _4,Z);else X("Set items must all have null values");else X("Expected a mapping for this tag");return Z}};function Q7(Z,X){let Q=Z[0],U=Q==="-"||Q==="+"?Z.substring(1):Z,J=(W)=>X?BigInt(W):Number(W),$=U.replace(/_/g,"").split(":").reduce((W,Y)=>W*J(60)+J(Y),J(0));return Q==="-"?J(-1)*$:$}function zJ(Z){let{value:X}=Z,Q=(W)=>W;if(typeof X==="bigint")Q=(W)=>BigInt(W);else if(isNaN(X)||!isFinite(X))return A0(Z);let U="";if(X<0)U="-",X*=Q(-1);let J=Q(60),$=[X%J];if(X<60)$.unshift(0);else if(X=(X-$[0])/J,$.unshift(X%J),X>=60)X=(X-$[0])/J,$.unshift(X);return U+$.map((W)=>String(W).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}var Y8={identify:(Z)=>typeof Z==="bigint"||Number.isInteger(Z),default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,resolve:(Z,X,{intAsBigInt:Q})=>Q7(Z,Q),stringify:zJ},G8={identify:(Z)=>typeof Z==="number",default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,resolve:(Z)=>Q7(Z,!1),stringify:zJ},z4={identify:(Z)=>Z instanceof Date,default:!0,tag:"tag:yaml.org,2002:timestamp",test:RegExp("^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?$"),resolve(Z){let X=Z.match(z4.test);if(!X)throw Error("!!timestamp expects a date, starting with yyyy-mm-dd");let[,Q,U,J,$,W,Y]=X.map(Number),G=X[7]?Number((X[7]+"00").substr(1,3)):0,L=Date.UTC(Q,U-1,J,$||0,W||0,Y||0,G),q=X[8];if(q&&q!=="Z"){let V=Q7(q,!1);if(Math.abs(V)<30)V*=60;L-=60000*V}return new Date(L)},stringify:({value:Z})=>Z?.toISOString().replace(/(T00:00:00)?\.000Z$/,"")??""};var U7=[_1,z1,G2,C2,eX,Z7,LJ,qJ,VJ,_J,WJ,YJ,GJ,K6,V1,w6,D6,A6,Y8,G8,z4];var HJ=new Map([["core",QJ],["failsafe",[_1,z1,G2]],["json",JJ],["yaml11",U7],["yaml-1.1",U7]]),FJ={binary:K6,bool:T6,float:Z8,floatExp:e9,floatNaN:t9,floatTime:G8,int:U8,intHex:J8,intOct:Q8,intTime:Y8,map:_1,merge:V1,null:C2,omap:w6,pairs:D6,seq:z1,set:A6,timestamp:z4},BJ={"tag:yaml.org,2002:binary":K6,"tag:yaml.org,2002:merge":V1,"tag:yaml.org,2002:omap":w6,"tag:yaml.org,2002:pairs":D6,"tag:yaml.org,2002:set":A6,"tag:yaml.org,2002:timestamp":z4};function L8(Z,X,Q){let U=HJ.get(X);if(U&&!Z)return Q&&!U.includes(V1)?U.concat(V1):U.slice();let J=U;if(!J)if(Array.isArray(Z))J=[];else{let $=Array.from(HJ.keys()).filter((W)=>W!=="yaml11").map((W)=>JSON.stringify(W)).join(", ");throw Error(`Unknown schema "${X}"; use one of ${$} or define customTags array`)}if(Array.isArray(Z))for(let $ of Z)J=J.concat($);else if(typeof Z==="function")J=Z(J.slice());if(Q)J=J.concat(V1);return J.reduce(($,W)=>{let Y=typeof W==="string"?FJ[W]:W;if(!Y){let G=JSON.stringify(W),L=Object.keys(FJ).map((q)=>JSON.stringify(q)).join(", ");throw Error(`Unknown custom tag ${G}; use one of ${L}`)}if(!$.includes(Y))$.push(Y);return $},[])}var sL=(Z,X)=>Z.key<X.key?-1:Z.key>X.key?1:0;class H4{constructor({compat:Z,customTags:X,merge:Q,resolveKnownTags:U,schema:J,sortMapEntries:$,toStringDefaults:W}){this.compat=Array.isArray(Z)?L8(Z,"compat"):Z?L8(null,Z):null,this.name=typeof J==="string"&&J||"core",this.knownTags=U?BJ:{},this.tags=L8(X,this.name,Q),this.toStringOptions=W??null,Object.defineProperty(this,L1,{value:_1}),Object.defineProperty(this,p0,{value:G2}),Object.defineProperty(this,h1,{value:z1}),this.sortMapEntries=typeof $==="function"?$:$===!0?sL:null}clone(){let Z=Object.create(H4.prototype,Object.getOwnPropertyDescriptors(this));return Z.tags=this.tags.slice(),Z}}function MJ(Z,X){let Q=[],U=X.directives===!0;if(X.directives!==!1&&Z.directives){let G=Z.directives.toString(Z);if(G)Q.push(G),U=!0;else if(Z.directives.docStart)U=!0}if(U)Q.push("---");let J=c9(Z,X),{commentString:$}=J.options;if(Z.commentBefore){if(Q.length!==1)Q.unshift("");let G=$(Z.commentBefore);Q.unshift(X1(G,""))}let W=!1,Y=null;if(Z.contents){if(l(Z.contents)){if(Z.contents.spaceBefore&&U)Q.push("");if(Z.contents.commentBefore){let q=$(Z.contents.commentBefore);Q.push(X1(q,""))}J.forceBlockIndent=!!Z.comment,Y=Z.contents.comment}let G=Y?void 0:()=>W=!0,L=l1(Z.contents,J,()=>Y=null,G);if(Y)L+=A1(L,"",$(Y));if((L[0]==="|"||L[0]===">")&&Q[Q.length-1]==="---")Q[Q.length-1]=`--- ${L}`;else Q.push(L)}else Q.push(l1(Z.contents,J));if(Z.directives?.docEnd)if(Z.comment){let G=$(Z.comment);if(G.includes(`
100
- `))Q.push("..."),Q.push(X1(G,""));else Q.push(`... ${G}`)}else Q.push("...");else{let G=Z.comment;if(G&&W)G=G.replace(/^\n+/,"");if(G){if((!W||Y)&&Q[Q.length-1]!=="")Q.push("");Q.push(X1($(G),""))}}return Q.join(`
99
+ ${$.comment}`:U.comment}U=J}Z.items[Q]=p(U)?U:new Y0(U)}else X("Expected a sequence for this tag");return Z}function tX(Z,X,Q){let{replacer:U}=Q,J=new P0(Z);J.tag="tag:yaml.org,2002:pairs";let $=0;if(X&&Symbol.iterator in Object(X))for(let W of X){if(typeof U==="function")W=U.call(X,String($++),W);let Y,L;if(Array.isArray(W))if(W.length===2)Y=W[0],L=W[1];else throw TypeError(`Expected [key, value] tuple: ${W}`);else if(W&&W instanceof Object){let G=Object.keys(W);if(G.length===1)Y=G[0],L=W[Y];else throw TypeError(`Expected tuple with one key, not ${G.length} keys`)}else Y=W;J.items.push(V4(Y,L,Q))}return J}var D6={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:nX,createNode:tX};class q4 extends P0{constructor(){super();this.add=V0.prototype.add.bind(this),this.delete=V0.prototype.delete.bind(this),this.get=V0.prototype.get.bind(this),this.has=V0.prototype.has.bind(this),this.set=V0.prototype.set.bind(this),this.tag=q4.tag}toJSON(Z,X){if(!X)return super.toJSON(Z);let Q=new Map;if(X?.onCreate)X.onCreate(Q);for(let U of this.items){let J,$;if(p(U))J=R0(U.key,"",X),$=R0(U.value,J,X);else J=R0(U,"",X);if(Q.has(J))throw Error("Ordered maps must not include duplicate keys");Q.set(J,$)}return Q}static from(Z,X,Q){let U=tX(Z,X,Q),J=new this;return J.items=U.items,J}}q4.tag="tag:yaml.org,2002:omap";var w6={collection:"seq",identify:(Z)=>Z instanceof Map,nodeClass:q4,default:!1,tag:"tag:yaml.org,2002:omap",resolve(Z,X){let Q=nX(Z,X),U=[];for(let{key:J}of Q.items)if(x(J))if(U.includes(J.value))X(`Ordered maps must not include duplicate keys: ${J.value}`);else U.push(J.value);return Object.assign(new q4,Q)},createNode:(Z,X,Q)=>q4.from(Z,X,Q)};function WJ({value:Z,source:X},Q){if(X&&(Z?eX:Z7).test.test(X))return X;return Z?Q.options.trueStr:Q.options.falseStr}var eX={identify:(Z)=>Z===!0,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new f(!0),stringify:WJ},Z7={identify:(Z)=>Z===!1,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new f(!1),stringify:WJ};var YJ={identify:(Z)=>typeof Z==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:(Z)=>Z.slice(-3).toLowerCase()==="nan"?NaN:Z[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:A0},LJ={identify:(Z)=>typeof Z==="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:(Z)=>parseFloat(Z.replace(/_/g,"")),stringify(Z){let X=Number(Z.value);return isFinite(X)?X.toExponential():A0(Z)}},GJ={identify:(Z)=>typeof Z==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve(Z){let X=new f(parseFloat(Z.replace(/_/g,""))),Q=Z.indexOf(".");if(Q!==-1){let U=Z.substring(Q+1).replace(/_/g,"");if(U[U.length-1]==="0")X.minFractionDigits=U.length}return X},stringify:A0};var P6=(Z)=>typeof Z==="bigint"||Number.isInteger(Z);function W8(Z,X,Q,{intAsBigInt:U}){let J=Z[0];if(J==="-"||J==="+")X+=1;if(Z=Z.substring(X).replace(/_/g,""),U){switch(Q){case 2:Z=`0b${Z}`;break;case 8:Z=`0o${Z}`;break;case 16:Z=`0x${Z}`;break}let W=BigInt(Z);return J==="-"?BigInt(-1)*W:W}let $=parseInt(Z,Q);return J==="-"?-1*$:$}function X7(Z,X,Q){let{value:U}=Z;if(P6(U)){let J=U.toString(X);return U<0?"-"+Q+J.substr(1):Q+J}return A0(Z)}var VJ={identify:P6,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(Z,X,Q)=>W8(Z,2,2,Q),stringify:(Z)=>X7(Z,2,"0b")},qJ={identify:P6,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(Z,X,Q)=>W8(Z,1,8,Q),stringify:(Z)=>X7(Z,8,"0")},_J={identify:P6,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(Z,X,Q)=>W8(Z,0,10,Q),stringify:A0},zJ={identify:P6,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(Z,X,Q)=>W8(Z,2,16,Q),stringify:(Z)=>X7(Z,16,"0x")};class _4 extends V0{constructor(Z){super(Z);this.tag=_4.tag}add(Z){let X;if(p(Z))X=Z;else if(Z&&typeof Z==="object"&&"key"in Z&&"value"in Z&&Z.value===null)X=new Y0(Z.key,null);else X=new Y0(Z,null);if(!Y2(this.items,X.key))this.items.push(X)}get(Z,X){let Q=Y2(this.items,Z);return!X&&p(Q)?x(Q.key)?Q.key.value:Q.key:Q}set(Z,X){if(typeof X!=="boolean")throw Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof X}`);let Q=Y2(this.items,Z);if(Q&&!X)this.items.splice(this.items.indexOf(Q),1);else if(!Q&&X)this.items.push(new Y0(Z))}toJSON(Z,X){return super.toJSON(Z,X,Set)}toString(Z,X,Q){if(!Z)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},Z,{allNullValues:!0}),X,Q);else throw Error("Set items must all have null values")}static from(Z,X,Q){let{replacer:U}=Q,J=new this(Z);if(X&&Symbol.iterator in Object(X))for(let $ of X){if(typeof U==="function")$=U.call(X,$,$);J.items.push(V4($,null,Q))}return J}}_4.tag="tag:yaml.org,2002:set";var A6={collection:"map",identify:(Z)=>Z instanceof Set,nodeClass:_4,default:!1,tag:"tag:yaml.org,2002:set",createNode:(Z,X,Q)=>_4.from(Z,X,Q),resolve(Z,X){if(e0(Z))if(Z.hasAllNullValues(!0))return Object.assign(new _4,Z);else X("Set items must all have null values");else X("Expected a mapping for this tag");return Z}};function Q7(Z,X){let Q=Z[0],U=Q==="-"||Q==="+"?Z.substring(1):Z,J=(W)=>X?BigInt(W):Number(W),$=U.replace(/_/g,"").split(":").reduce((W,Y)=>W*J(60)+J(Y),J(0));return Q==="-"?J(-1)*$:$}function HJ(Z){let{value:X}=Z,Q=(W)=>W;if(typeof X==="bigint")Q=(W)=>BigInt(W);else if(isNaN(X)||!isFinite(X))return A0(Z);let U="";if(X<0)U="-",X*=Q(-1);let J=Q(60),$=[X%J];if(X<60)$.unshift(0);else if(X=(X-$[0])/J,$.unshift(X%J),X>=60)X=(X-$[0])/J,$.unshift(X);return U+$.map((W)=>String(W).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}var Y8={identify:(Z)=>typeof Z==="bigint"||Number.isInteger(Z),default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,resolve:(Z,X,{intAsBigInt:Q})=>Q7(Z,Q),stringify:HJ},L8={identify:(Z)=>typeof Z==="number",default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,resolve:(Z)=>Q7(Z,!1),stringify:HJ},z4={identify:(Z)=>Z instanceof Date,default:!0,tag:"tag:yaml.org,2002:timestamp",test:RegExp("^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?$"),resolve(Z){let X=Z.match(z4.test);if(!X)throw Error("!!timestamp expects a date, starting with yyyy-mm-dd");let[,Q,U,J,$,W,Y]=X.map(Number),L=X[7]?Number((X[7]+"00").substr(1,3)):0,G=Date.UTC(Q,U-1,J,$||0,W||0,Y||0,L),V=X[8];if(V&&V!=="Z"){let q=Q7(V,!1);if(Math.abs(q)<30)q*=60;G-=60000*q}return new Date(G)},stringify:({value:Z})=>Z?.toISOString().replace(/(T00:00:00)?\.000Z$/,"")??""};var U7=[z1,H1,L2,C2,eX,Z7,VJ,qJ,_J,zJ,YJ,LJ,GJ,K6,_1,w6,D6,A6,Y8,L8,z4];var FJ=new Map([["core",UJ],["failsafe",[z1,H1,L2]],["json",$J],["yaml11",U7],["yaml-1.1",U7]]),BJ={binary:K6,bool:T6,float:Z8,floatExp:e9,floatNaN:t9,floatTime:L8,int:U8,intHex:J8,intOct:Q8,intTime:Y8,map:z1,merge:_1,null:C2,omap:w6,pairs:D6,seq:H1,set:A6,timestamp:z4},MJ={"tag:yaml.org,2002:binary":K6,"tag:yaml.org,2002:merge":_1,"tag:yaml.org,2002:omap":w6,"tag:yaml.org,2002:pairs":D6,"tag:yaml.org,2002:set":A6,"tag:yaml.org,2002:timestamp":z4};function G8(Z,X,Q){let U=FJ.get(X);if(U&&!Z)return Q&&!U.includes(_1)?U.concat(_1):U.slice();let J=U;if(!J)if(Array.isArray(Z))J=[];else{let $=Array.from(FJ.keys()).filter((W)=>W!=="yaml11").map((W)=>JSON.stringify(W)).join(", ");throw Error(`Unknown schema "${X}"; use one of ${$} or define customTags array`)}if(Array.isArray(Z))for(let $ of Z)J=J.concat($);else if(typeof Z==="function")J=Z(J.slice());if(Q)J=J.concat(_1);return J.reduce(($,W)=>{let Y=typeof W==="string"?BJ[W]:W;if(!Y){let L=JSON.stringify(W),G=Object.keys(BJ).map((V)=>JSON.stringify(V)).join(", ");throw Error(`Unknown custom tag ${L}; use one of ${G}`)}if(!$.includes(Y))$.push(Y);return $},[])}var sG=(Z,X)=>Z.key<X.key?-1:Z.key>X.key?1:0;class H4{constructor({compat:Z,customTags:X,merge:Q,resolveKnownTags:U,schema:J,sortMapEntries:$,toStringDefaults:W}){this.compat=Array.isArray(Z)?G8(Z,"compat"):Z?G8(null,Z):null,this.name=typeof J==="string"&&J||"core",this.knownTags=U?MJ:{},this.tags=G8(X,this.name,Q),this.toStringOptions=W??null,Object.defineProperty(this,V1,{value:z1}),Object.defineProperty(this,p0,{value:L2}),Object.defineProperty(this,h1,{value:H1}),this.sortMapEntries=typeof $==="function"?$:$===!0?sG:null}clone(){let Z=Object.create(H4.prototype,Object.getOwnPropertyDescriptors(this));return Z.tags=this.tags.slice(),Z}}function RJ(Z,X){let Q=[],U=X.directives===!0;if(X.directives!==!1&&Z.directives){let L=Z.directives.toString(Z);if(L)Q.push(L),U=!0;else if(Z.directives.docStart)U=!0}if(U)Q.push("---");let J=c9(Z,X),{commentString:$}=J.options;if(Z.commentBefore){if(Q.length!==1)Q.unshift("");let L=$(Z.commentBefore);Q.unshift(X1(L,""))}let W=!1,Y=null;if(Z.contents){if(l(Z.contents)){if(Z.contents.spaceBefore&&U)Q.push("");if(Z.contents.commentBefore){let V=$(Z.contents.commentBefore);Q.push(X1(V,""))}J.forceBlockIndent=!!Z.comment,Y=Z.contents.comment}let L=Y?void 0:()=>W=!0,G=l1(Z.contents,J,()=>Y=null,L);if(Y)G+=A1(G,"",$(Y));if((G[0]==="|"||G[0]===">")&&Q[Q.length-1]==="---")Q[Q.length-1]=`--- ${G}`;else Q.push(G)}else Q.push(l1(Z.contents,J));if(Z.directives?.docEnd)if(Z.comment){let L=$(Z.comment);if(L.includes(`
100
+ `))Q.push("..."),Q.push(X1(L,""));else Q.push(`... ${L}`)}else Q.push("...");else{let L=Z.comment;if(L&&W)L=L.replace(/^\n+/,"");if(L){if((!W||Y)&&Q[Q.length-1]!=="")Q.push("");Q.push(X1($(L),""))}}return Q.join(`
101
101
  `)+`
102
- `}class S1{constructor(Z,X,Q){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,N0,{value:v9});let U=null;if(typeof X==="function"||Array.isArray(X))U=X;else if(Q===void 0&&X)Q=X,X=void 0;let J=Object.assign({intAsBigInt:!1,keepSourceTokens:!1,logLevel:"warn",prettyErrors:!0,strict:!0,stringKeys:!1,uniqueKeys:!0,version:"1.2"},Q);this.options=J;let{version:$}=J;if(Q?._directives){if(this.directives=Q._directives.atDocument(),this.directives.yaml.explicit)$=this.directives.yaml.version}else this.directives=new K0({version:$});this.setSchema($,Q),this.contents=Z===void 0?null:this.createNode(Z,U,Q)}clone(){let Z=Object.create(S1.prototype,{[N0]:{value:v9}});if(Z.commentBefore=this.commentBefore,Z.comment=this.comment,Z.errors=this.errors.slice(),Z.warnings=this.warnings.slice(),Z.options=Object.assign({},this.options),this.directives)Z.directives=this.directives.clone();if(Z.schema=this.schema.clone(),Z.contents=l(this.contents)?this.contents.clone(Z.schema):this.contents,this.range)Z.range=this.range.slice();return Z}add(Z){if(F4(this.contents))this.contents.add(Z)}addIn(Z,X){if(F4(this.contents))this.contents.addIn(Z,X)}createAlias(Z,X){if(!Z.anchor){let Q=lX(this);Z.anchor=!X||Q.has(X)?dX(X||"a",Q):X}return new m1(Z.anchor)}createNode(Z,X,Q){let U=void 0;if(typeof X==="function")Z=X.call({"":Z},"",Z),U=X;else if(Array.isArray(X)){let z=(K)=>typeof K==="number"||K instanceof String||K instanceof Number,B=X.filter(z).map(String);if(B.length>0)X=X.concat(B);U=X}else if(Q===void 0&&X)Q=X,X=void 0;let{aliasDuplicateObjects:J,anchorPrefix:$,flow:W,keepUndefined:Y,onTagObj:G,tag:L}=Q??{},{onAnchor:q,setAnchors:V,sourceObjects:_}=rU(this,$||"a"),H={aliasDuplicateObjects:J??!0,keepUndefined:Y??!1,onAnchor:q,onTagObj:G,replacer:U,schema:this.schema,sourceObjects:_},F=u1(Z,L,H);if(W&&n(F))F.flow=!0;return V(),F}createPair(Z,X,Q={}){let U=this.createNode(Z,null,Q),J=this.createNode(X,null,Q);return new Y0(U,J)}delete(Z){return F4(this.contents)?this.contents.delete(Z):!1}deleteIn(Z){if(G4(Z)){if(this.contents==null)return!1;return this.contents=null,!0}return F4(this.contents)?this.contents.deleteIn(Z):!1}get(Z,X){return n(this.contents)?this.contents.get(Z,X):void 0}getIn(Z,X){if(G4(Z))return!X&&x(this.contents)?this.contents.value:this.contents;return n(this.contents)?this.contents.getIn(Z,X):void 0}has(Z){return n(this.contents)?this.contents.has(Z):!1}hasIn(Z){if(G4(Z))return this.contents!==void 0;return n(this.contents)?this.contents.hasIn(Z):!1}set(Z,X){if(this.contents==null)this.contents=B6(this.schema,[Z],X);else if(F4(this.contents))this.contents.set(Z,X)}setIn(Z,X){if(G4(Z))this.contents=X;else if(this.contents==null)this.contents=B6(this.schema,Array.from(Z),X);else if(F4(this.contents))this.contents.setIn(Z,X)}setSchema(Z,X={}){if(typeof Z==="number")Z=String(Z);let Q;switch(Z){case"1.1":if(this.directives)this.directives.yaml.version="1.1";else this.directives=new K0({version:"1.1"});Q={resolveKnownTags:!1,schema:"yaml-1.1"};break;case"1.2":case"next":if(this.directives)this.directives.yaml.version=Z;else this.directives=new K0({version:Z});Q={resolveKnownTags:!0,schema:"core"};break;case null:if(this.directives)delete this.directives;Q=null;break;default:{let U=JSON.stringify(Z);throw Error(`Expected '1.1', '1.2' or null as first argument, but found: ${U}`)}}if(X.schema instanceof Object)this.schema=X.schema;else if(Q)this.schema=new H4(Object.assign(Q,X));else throw Error("With a null YAML version, the { schema: Schema } option is required")}toJS({json:Z,jsonArg:X,mapAsMap:Q,maxAliasCount:U,onAnchor:J,reviver:$}={}){let W={anchors:new Map,doc:this,keep:!Z,mapAsMap:Q===!0,mapKeyWarned:!1,maxAliasCount:typeof U==="number"?U:100},Y=R0(this.contents,X??"",W);if(typeof J==="function")for(let{count:G,res:L}of W.anchors.values())J(L,G);return typeof $==="function"?W2($,{"":Y},"",Y):Y}toJSON(Z,X){return this.toJS({json:!0,jsonArg:Z,mapAsMap:!1,onAnchor:X})}toString(Z={}){if(this.errors.length>0)throw Error("Document with errors cannot be stringified");if("indent"in Z&&(!Number.isInteger(Z.indent)||Number(Z.indent)<=0)){let X=JSON.stringify(Z.indent);throw Error(`"indent" option must be a positive integer, not ${X}`)}return MJ(this,Z)}}function F4(Z){if(n(Z))return!0;throw Error("Expected a YAML collection as document contents")}class S6 extends Error{constructor(Z,X,Q,U){super();this.name=Z,this.code=Q,this.message=U,this.pos=X}}class Q1 extends S6{constructor(Z,X,Q){super("YAMLParseError",Z,X,Q)}}class j6 extends S6{constructor(Z,X,Q){super("YAMLWarning",Z,X,Q)}}var C6=(Z,X)=>(Q)=>{if(Q.pos[0]===-1)return;Q.linePos=Q.pos.map((Y)=>X.linePos(Y));let{line:U,col:J}=Q.linePos[0];Q.message+=` at line ${U}, column ${J}`;let $=J-1,W=Z.substring(X.lineStarts[U-1],X.lineStarts[U]).replace(/[\n\r]+$/,"");if($>=60&&W.length>80){let Y=Math.min($-39,W.length-79);W="…"+W.substring(Y),$-=Y-1}if(W.length>80)W=W.substring(0,79)+"…";if(U>1&&/^ *$/.test(W.substring(0,$))){let Y=Z.substring(X.lineStarts[U-2],X.lineStarts[U-1]);if(Y.length>80)Y=Y.substring(0,79)+`…
103
- `;W=Y+W}if(/[^ ]/.test(W)){let Y=1,G=Q.linePos[1];if(G?.line===U&&G.col>J)Y=Math.max(1,Math.min(G.col-J,80-$));let L=" ".repeat($)+"^".repeat(Y);Q.message+=`:
102
+ `}class S1{constructor(Z,X,Q){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,N0,{value:v9});let U=null;if(typeof X==="function"||Array.isArray(X))U=X;else if(Q===void 0&&X)Q=X,X=void 0;let J=Object.assign({intAsBigInt:!1,keepSourceTokens:!1,logLevel:"warn",prettyErrors:!0,strict:!0,stringKeys:!1,uniqueKeys:!0,version:"1.2"},Q);this.options=J;let{version:$}=J;if(Q?._directives){if(this.directives=Q._directives.atDocument(),this.directives.yaml.explicit)$=this.directives.yaml.version}else this.directives=new K0({version:$});this.setSchema($,Q),this.contents=Z===void 0?null:this.createNode(Z,U,Q)}clone(){let Z=Object.create(S1.prototype,{[N0]:{value:v9}});if(Z.commentBefore=this.commentBefore,Z.comment=this.comment,Z.errors=this.errors.slice(),Z.warnings=this.warnings.slice(),Z.options=Object.assign({},this.options),this.directives)Z.directives=this.directives.clone();if(Z.schema=this.schema.clone(),Z.contents=l(this.contents)?this.contents.clone(Z.schema):this.contents,this.range)Z.range=this.range.slice();return Z}add(Z){if(F4(this.contents))this.contents.add(Z)}addIn(Z,X){if(F4(this.contents))this.contents.addIn(Z,X)}createAlias(Z,X){if(!Z.anchor){let Q=lX(this);Z.anchor=!X||Q.has(X)?dX(X||"a",Q):X}return new m1(Z.anchor)}createNode(Z,X,Q){let U=void 0;if(typeof X==="function")Z=X.call({"":Z},"",Z),U=X;else if(Array.isArray(X)){let z=(K)=>typeof K==="number"||K instanceof String||K instanceof Number,B=X.filter(z).map(String);if(B.length>0)X=X.concat(B);U=X}else if(Q===void 0&&X)Q=X,X=void 0;let{aliasDuplicateObjects:J,anchorPrefix:$,flow:W,keepUndefined:Y,onTagObj:L,tag:G}=Q??{},{onAnchor:V,setAnchors:q,sourceObjects:_}=aU(this,$||"a"),H={aliasDuplicateObjects:J??!0,keepUndefined:Y??!1,onAnchor:V,onTagObj:L,replacer:U,schema:this.schema,sourceObjects:_},F=u1(Z,G,H);if(W&&n(F))F.flow=!0;return q(),F}createPair(Z,X,Q={}){let U=this.createNode(Z,null,Q),J=this.createNode(X,null,Q);return new Y0(U,J)}delete(Z){return F4(this.contents)?this.contents.delete(Z):!1}deleteIn(Z){if(L4(Z)){if(this.contents==null)return!1;return this.contents=null,!0}return F4(this.contents)?this.contents.deleteIn(Z):!1}get(Z,X){return n(this.contents)?this.contents.get(Z,X):void 0}getIn(Z,X){if(L4(Z))return!X&&x(this.contents)?this.contents.value:this.contents;return n(this.contents)?this.contents.getIn(Z,X):void 0}has(Z){return n(this.contents)?this.contents.has(Z):!1}hasIn(Z){if(L4(Z))return this.contents!==void 0;return n(this.contents)?this.contents.hasIn(Z):!1}set(Z,X){if(this.contents==null)this.contents=B6(this.schema,[Z],X);else if(F4(this.contents))this.contents.set(Z,X)}setIn(Z,X){if(L4(Z))this.contents=X;else if(this.contents==null)this.contents=B6(this.schema,Array.from(Z),X);else if(F4(this.contents))this.contents.setIn(Z,X)}setSchema(Z,X={}){if(typeof Z==="number")Z=String(Z);let Q;switch(Z){case"1.1":if(this.directives)this.directives.yaml.version="1.1";else this.directives=new K0({version:"1.1"});Q={resolveKnownTags:!1,schema:"yaml-1.1"};break;case"1.2":case"next":if(this.directives)this.directives.yaml.version=Z;else this.directives=new K0({version:Z});Q={resolveKnownTags:!0,schema:"core"};break;case null:if(this.directives)delete this.directives;Q=null;break;default:{let U=JSON.stringify(Z);throw Error(`Expected '1.1', '1.2' or null as first argument, but found: ${U}`)}}if(X.schema instanceof Object)this.schema=X.schema;else if(Q)this.schema=new H4(Object.assign(Q,X));else throw Error("With a null YAML version, the { schema: Schema } option is required")}toJS({json:Z,jsonArg:X,mapAsMap:Q,maxAliasCount:U,onAnchor:J,reviver:$}={}){let W={anchors:new Map,doc:this,keep:!Z,mapAsMap:Q===!0,mapKeyWarned:!1,maxAliasCount:typeof U==="number"?U:100},Y=R0(this.contents,X??"",W);if(typeof J==="function")for(let{count:L,res:G}of W.anchors.values())J(G,L);return typeof $==="function"?W2($,{"":Y},"",Y):Y}toJSON(Z,X){return this.toJS({json:!0,jsonArg:Z,mapAsMap:!1,onAnchor:X})}toString(Z={}){if(this.errors.length>0)throw Error("Document with errors cannot be stringified");if("indent"in Z&&(!Number.isInteger(Z.indent)||Number(Z.indent)<=0)){let X=JSON.stringify(Z.indent);throw Error(`"indent" option must be a positive integer, not ${X}`)}return RJ(this,Z)}}function F4(Z){if(n(Z))return!0;throw Error("Expected a YAML collection as document contents")}class S6 extends Error{constructor(Z,X,Q,U){super();this.name=Z,this.code=Q,this.message=U,this.pos=X}}class Q1 extends S6{constructor(Z,X,Q){super("YAMLParseError",Z,X,Q)}}class j6 extends S6{constructor(Z,X,Q){super("YAMLWarning",Z,X,Q)}}var C6=(Z,X)=>(Q)=>{if(Q.pos[0]===-1)return;Q.linePos=Q.pos.map((Y)=>X.linePos(Y));let{line:U,col:J}=Q.linePos[0];Q.message+=` at line ${U}, column ${J}`;let $=J-1,W=Z.substring(X.lineStarts[U-1],X.lineStarts[U]).replace(/[\n\r]+$/,"");if($>=60&&W.length>80){let Y=Math.min($-39,W.length-79);W="…"+W.substring(Y),$-=Y-1}if(W.length>80)W=W.substring(0,79)+"…";if(U>1&&/^ *$/.test(W.substring(0,$))){let Y=Z.substring(X.lineStarts[U-2],X.lineStarts[U-1]);if(Y.length>80)Y=Y.substring(0,79)+`…
103
+ `;W=Y+W}if(/[^ ]/.test(W)){let Y=1,L=Q.linePos[1];if(L?.line===U&&L.col>J)Y=Math.max(1,Math.min(L.col-J,80-$));let G=" ".repeat($)+"^".repeat(Y);Q.message+=`:
104
104
 
105
105
  ${W}
106
- ${L}
107
- `}};function j1(Z,{flow:X,indicator:Q,next:U,offset:J,onError:$,parentIndent:W,startOnNewline:Y}){let G=!1,L=Y,q=Y,V="",_="",H=!1,F=!1,z=null,B=null,K=null,w=null,P=null,O=null,S=null;for(let A of Z){if(F){if(A.type!=="space"&&A.type!=="newline"&&A.type!=="comma")$(A.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space");F=!1}if(z){if(L&&A.type!=="comment"&&A.type!=="newline")$(z,"TAB_AS_INDENT","Tabs are not allowed as indentation");z=null}switch(A.type){case"space":if(!X&&(Q!=="doc-start"||U?.type!=="flow-collection")&&A.source.includes("\t"))z=A;q=!0;break;case"comment":{if(!q)$(A,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let d=A.source.substring(1)||" ";if(!V)V=d;else V+=_+d;_="",L=!1;break}case"newline":if(L){if(V)V+=A.source;else if(!O||Q!=="seq-item-ind")G=!0}else _+=A.source;if(L=!0,H=!0,B||K)w=A;q=!0;break;case"anchor":if(B)$(A,"MULTIPLE_ANCHORS","A node can have at most one anchor");if(A.source.endsWith(":"))$(A.offset+A.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0);B=A,S??(S=A.offset),L=!1,q=!1,F=!0;break;case"tag":{if(K)$(A,"MULTIPLE_TAGS","A node can have at most one tag");K=A,S??(S=A.offset),L=!1,q=!1,F=!0;break}case Q:if(B||K)$(A,"BAD_PROP_ORDER",`Anchors and tags must be after the ${A.source} indicator`);if(O)$(A,"UNEXPECTED_TOKEN",`Unexpected ${A.source} in ${X??"collection"}`);O=A,L=Q==="seq-item-ind"||Q==="explicit-key-ind",q=!1;break;case"comma":if(X){if(P)$(A,"UNEXPECTED_TOKEN",`Unexpected , in ${X}`);P=A,L=!1,q=!1;break}default:$(A,"UNEXPECTED_TOKEN",`Unexpected ${A.type} token`),L=!1,q=!1}}let C=Z[Z.length-1],y=C?C.offset+C.source.length:J;if(F&&U&&U.type!=="space"&&U.type!=="newline"&&U.type!=="comma"&&(U.type!=="scalar"||U.source!==""))$(U.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space");if(z&&(L&&z.indent<=W||U?.type==="block-map"||U?.type==="block-seq"))$(z,"TAB_AS_INDENT","Tabs are not allowed as indentation");return{comma:P,found:O,spaceBefore:G,comment:V,hasNewline:H,anchor:B,tag:K,newlineAfterProp:w,end:y,start:S??y}}function L2(Z){if(!Z)return null;switch(Z.type){case"alias":case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":if(Z.source.includes(`
108
- `))return!0;if(Z.end){for(let X of Z.end)if(X.type==="newline")return!0}return!1;case"flow-collection":for(let X of Z.items){for(let Q of X.start)if(Q.type==="newline")return!0;if(X.sep){for(let Q of X.sep)if(Q.type==="newline")return!0}if(L2(X.key)||L2(X.value))return!0}return!1;default:return!0}}function N6(Z,X,Q){if(X?.type==="flow-collection"){let U=X.end[0];if(U.indent===Z&&(U.source==="]"||U.source==="}")&&L2(X))Q(U,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}function q8(Z,X,Q){let{uniqueKeys:U}=Z.options;if(U===!1)return!1;let J=typeof U==="function"?U:($,W)=>$===W||x($)&&x(W)&&$.value===W.value;return X.some(($)=>J($.key,Q))}var RJ="All mapping items must start at the same column";function OJ({composeNode:Z,composeEmptyNode:X},Q,U,J,$){let Y=new($?.nodeClass??q0)(Q.schema);if(Q.atRoot)Q.atRoot=!1;let G=U.offset,L=null;for(let q of U.items){let{start:V,key:_,sep:H,value:F}=q,z=j1(V,{indicator:"explicit-key-ind",next:_??H?.[0],offset:G,onError:J,parentIndent:U.indent,startOnNewline:!0}),B=!z.found;if(B){if(_){if(_.type==="block-seq")J(G,"BLOCK_AS_IMPLICIT_KEY","A block sequence may not be used as an implicit map key");else if("indent"in _&&_.indent!==U.indent)J(G,"BAD_INDENT",RJ)}if(!z.anchor&&!z.tag&&!H){if(L=z.end,z.comment)if(Y.comment)Y.comment+=`
109
- `+z.comment;else Y.comment=z.comment;continue}if(z.newlineAfterProp||L2(_))J(_??V[V.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else if(z.found?.indent!==U.indent)J(G,"BAD_INDENT",RJ);Q.atKey=!0;let K=z.end,w=_?Z(Q,_,z,J):X(Q,K,V,null,z,J);if(Q.schema.compat)N6(U.indent,_,J);if(Q.atKey=!1,q8(Q,Y.items,w))J(K,"DUPLICATE_KEY","Map keys must be unique");let P=j1(H??[],{indicator:"map-value-ind",next:F,offset:w.range[2],onError:J,parentIndent:U.indent,startOnNewline:!_||_.type==="block-scalar"});if(G=P.end,P.found){if(B){if(F?.type==="block-map"&&!P.hasNewline)J(G,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings");if(Q.options.strict&&z.start<P.found.offset-1024)J(w.range,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit block mapping key")}let O=F?Z(Q,F,P,J):X(Q,G,H,null,P,J);if(Q.schema.compat)N6(U.indent,F,J);G=O.range[2];let S=new Y0(w,O);if(Q.options.keepSourceTokens)S.srcToken=q;Y.items.push(S)}else{if(B)J(w.range,"MISSING_CHAR","Implicit map keys need to be followed by map values");if(P.comment)if(w.comment)w.comment+=`
110
- `+P.comment;else w.comment=P.comment;let O=new Y0(w);if(Q.options.keepSourceTokens)O.srcToken=q;Y.items.push(O)}}if(L&&L<G)J(L,"IMPOSSIBLE","Map comment with trailing content");return Y.range=[U.offset,G,L??G],Y}function TJ({composeNode:Z,composeEmptyNode:X},Q,U,J,$){let Y=new($?.nodeClass??P0)(Q.schema);if(Q.atRoot)Q.atRoot=!1;if(Q.atKey)Q.atKey=!1;let G=U.offset,L=null;for(let{start:q,value:V}of U.items){let _=j1(q,{indicator:"seq-item-ind",next:V,offset:G,onError:J,parentIndent:U.indent,startOnNewline:!0});if(!_.found)if(_.anchor||_.tag||V)if(V?.type==="block-seq")J(_.end,"BAD_INDENT","All sequence items must start at the same column");else J(G,"MISSING_CHAR","Sequence item without - indicator");else{if(L=_.end,_.comment)Y.comment=_.comment;continue}let H=V?Z(Q,V,_,J):X(Q,_.end,q,null,_,J);if(Q.schema.compat)N6(U.indent,V,J);G=H.range[2],Y.items.push(H)}return Y.range=[U.offset,G,L??G],Y}function C1(Z,X,Q,U){let J="";if(Z){let $=!1,W="";for(let Y of Z){let{source:G,type:L}=Y;switch(L){case"space":$=!0;break;case"comment":{if(Q&&!$)U(Y,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let q=G.substring(1)||" ";if(!J)J=q;else J+=W+q;W="";break}case"newline":if(J)W+=G;$=!0;break;default:U(Y,"UNEXPECTED_TOKEN",`Unexpected ${L} at node end`)}X+=G.length}}return{comment:J,offset:X}}var J7="Block collections are not allowed within flow collections",$7=(Z)=>Z&&(Z.type==="block-map"||Z.type==="block-seq");function KJ({composeNode:Z,composeEmptyNode:X},Q,U,J,$){let W=U.start.source==="{",Y=W?"flow map":"flow sequence",L=new($?.nodeClass??(W?q0:P0))(Q.schema);L.flow=!0;let q=Q.atRoot;if(q)Q.atRoot=!1;if(Q.atKey)Q.atKey=!1;let V=U.offset+U.start.source.length;for(let B=0;B<U.items.length;++B){let K=U.items[B],{start:w,key:P,sep:O,value:S}=K,C=j1(w,{flow:Y,indicator:"explicit-key-ind",next:P??O?.[0],offset:V,onError:J,parentIndent:U.indent,startOnNewline:!1});if(!C.found){if(!C.anchor&&!C.tag&&!O&&!S){if(B===0&&C.comma)J(C.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${Y}`);else if(B<U.items.length-1)J(C.start,"UNEXPECTED_TOKEN",`Unexpected empty item in ${Y}`);if(C.comment)if(L.comment)L.comment+=`
111
- `+C.comment;else L.comment=C.comment;V=C.end;continue}if(!W&&Q.options.strict&&L2(P))J(P,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line")}if(B===0){if(C.comma)J(C.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${Y}`)}else{if(!C.comma)J(C.start,"MISSING_CHAR",`Missing , between ${Y} items`);if(C.comment){let y="";Z:for(let A of w)switch(A.type){case"comma":case"space":break;case"comment":y=A.source.substring(1);break Z;default:break Z}if(y){let A=L.items[L.items.length-1];if(p(A))A=A.value??A.key;if(A.comment)A.comment+=`
112
- `+y;else A.comment=y;C.comment=C.comment.substring(y.length+1)}}}if(!W&&!O&&!C.found){let y=S?Z(Q,S,C,J):X(Q,C.end,O,null,C,J);if(L.items.push(y),V=y.range[2],$7(S))J(y.range,"BLOCK_IN_FLOW",J7)}else{Q.atKey=!0;let y=C.end,A=P?Z(Q,P,C,J):X(Q,y,w,null,C,J);if($7(P))J(A.range,"BLOCK_IN_FLOW",J7);Q.atKey=!1;let d=j1(O??[],{flow:Y,indicator:"map-value-ind",next:S,offset:A.range[2],onError:J,parentIndent:U.indent,startOnNewline:!1});if(d.found){if(!W&&!C.found&&Q.options.strict){if(O)for(let h of O){if(h===d.found)break;if(h.type==="newline"){J(h,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line");break}}if(C.start<d.found.offset-1024)J(d.found,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit flow sequence key")}}else if(S)if("source"in S&&S.source?.[0]===":")J(S,"MISSING_CHAR",`Missing space after : in ${Y}`);else J(d.start,"MISSING_CHAR",`Missing , or : between ${Y} items`);let e=S?Z(Q,S,d,J):d.found?X(Q,d.end,O,null,d,J):null;if(e){if($7(S))J(e.range,"BLOCK_IN_FLOW",J7)}else if(d.comment)if(A.comment)A.comment+=`
113
- `+d.comment;else A.comment=d.comment;let X0=new Y0(A,e);if(Q.options.keepSourceTokens)X0.srcToken=K;if(W){let h=L;if(q8(Q,h.items,A))J(y,"DUPLICATE_KEY","Map keys must be unique");h.items.push(X0)}else{let h=new q0(Q.schema);h.flow=!0,h.items.push(X0);let t=(e??A).range;h.range=[A.range[0],t[1],t[2]],L.items.push(h)}V=e?e.range[2]:d.end}}let _=W?"}":"]",[H,...F]=U.end,z=V;if(H?.source===_)z=H.offset+H.source.length;else{let B=Y[0].toUpperCase()+Y.substring(1),K=q?`${B} must end with a ${_}`:`${B} in block collection must be sufficiently indented and end with a ${_}`;if(J(V,q?"MISSING_CHAR":"BAD_INDENT",K),H&&H.source.length!==1)F.unshift(H)}if(F.length>0){let B=C1(F,z,Q.options.strict,J);if(B.comment)if(L.comment)L.comment+=`
114
- `+B.comment;else L.comment=B.comment;L.range=[U.offset,z,B.offset]}else L.range=[U.offset,z,z];return L}function W7(Z,X,Q,U,J,$){let W=Q.type==="block-map"?OJ(Z,X,Q,U,$):Q.type==="block-seq"?TJ(Z,X,Q,U,$):KJ(Z,X,Q,U,$),Y=W.constructor;if(J==="!"||J===Y.tagName)return W.tag=Y.tagName,W;if(J)W.tag=J;return W}function DJ(Z,X,Q,U,J){let $=U.tag,W=!$?null:X.directives.tagName($.source,(_)=>J($,"TAG_RESOLVE_FAILED",_));if(Q.type==="block-seq"){let{anchor:_,newlineAfterProp:H}=U,F=_&&$?_.offset>$.offset?_:$:_??$;if(F&&(!H||H.offset<F.offset))J(F,"MISSING_CHAR","Missing newline after block sequence props")}let Y=Q.type==="block-map"?"map":Q.type==="block-seq"?"seq":Q.start.source==="{"?"map":"seq";if(!$||!W||W==="!"||W===q0.tagName&&Y==="map"||W===P0.tagName&&Y==="seq")return W7(Z,X,Q,J,W);let G=X.schema.tags.find((_)=>_.tag===W&&_.collection===Y);if(!G){let _=X.schema.knownTags[W];if(_?.collection===Y)X.schema.tags.push(Object.assign({},_,{default:!1})),G=_;else{if(_)J($,"BAD_COLLECTION_TYPE",`${_.tag} used for ${Y} collection, but expects ${_.collection??"scalar"}`,!0);else J($,"TAG_RESOLVE_FAILED",`Unresolved tag: ${W}`,!0);return W7(Z,X,Q,J,W)}}let L=W7(Z,X,Q,J,W,G),q=G.resolve?.(L,(_)=>J($,"TAG_RESOLVE_FAILED",_),X.options)??L,V=l(q)?q:new f(q);if(V.range=L.range,V.tag=W,G?.format)V.format=G.format;return V}function V8(Z,X,Q){let U=X.offset,J=rL(X,Z.options.strict,Q);if(!J)return{value:"",type:null,comment:"",range:[U,U,U]};let $=J.mode===">"?f.BLOCK_FOLDED:f.BLOCK_LITERAL,W=X.source?aL(X.source):[],Y=W.length;for(let z=W.length-1;z>=0;--z){let B=W[z][1];if(B===""||B==="\r")Y=z;else break}if(Y===0){let z=J.chomp==="+"&&W.length>0?`
115
- `.repeat(Math.max(1,W.length-1)):"",B=U+J.length;if(X.source)B+=X.source.length;return{value:z,type:$,comment:J.comment,range:[U,B,B]}}let G=X.indent+J.indent,L=X.offset+J.length,q=0;for(let z=0;z<Y;++z){let[B,K]=W[z];if(K===""||K==="\r"){if(J.indent===0&&B.length>G)G=B.length}else{if(B.length<G)Q(L+B.length,"MISSING_CHAR","Block scalars with more-indented leading empty lines must use an explicit indentation indicator");if(J.indent===0)G=B.length;if(q=z,G===0&&!Z.atRoot)Q(L,"BAD_INDENT","Block scalar values in collections must be indented");break}L+=B.length+K.length+1}for(let z=W.length-1;z>=Y;--z)if(W[z][0].length>G)Y=z+1;let V="",_="",H=!1;for(let z=0;z<q;++z)V+=W[z][0].slice(G)+`
116
- `;for(let z=q;z<Y;++z){let[B,K]=W[z];L+=B.length+K.length+1;let w=K[K.length-1]==="\r";if(w)K=K.slice(0,-1);if(K&&B.length<G){let O=`Block scalar lines must not be less indented than their ${J.indent?"explicit indentation indicator":"first line"}`;Q(L-K.length-(w?2:1),"BAD_INDENT",O),B=""}if($===f.BLOCK_LITERAL)V+=_+B.slice(G)+K,_=`
117
- `;else if(B.length>G||K[0]==="\t"){if(_===" ")_=`
106
+ ${G}
107
+ `}};function j1(Z,{flow:X,indicator:Q,next:U,offset:J,onError:$,parentIndent:W,startOnNewline:Y}){let L=!1,G=Y,V=Y,q="",_="",H=!1,F=!1,z=null,B=null,K=null,w=null,P=null,O=null,S=null;for(let A of Z){if(F){if(A.type!=="space"&&A.type!=="newline"&&A.type!=="comma")$(A.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space");F=!1}if(z){if(G&&A.type!=="comment"&&A.type!=="newline")$(z,"TAB_AS_INDENT","Tabs are not allowed as indentation");z=null}switch(A.type){case"space":if(!X&&(Q!=="doc-start"||U?.type!=="flow-collection")&&A.source.includes("\t"))z=A;V=!0;break;case"comment":{if(!V)$(A,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let d=A.source.substring(1)||" ";if(!q)q=d;else q+=_+d;_="",G=!1;break}case"newline":if(G){if(q)q+=A.source;else if(!O||Q!=="seq-item-ind")L=!0}else _+=A.source;if(G=!0,H=!0,B||K)w=A;V=!0;break;case"anchor":if(B)$(A,"MULTIPLE_ANCHORS","A node can have at most one anchor");if(A.source.endsWith(":"))$(A.offset+A.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0);B=A,S??(S=A.offset),G=!1,V=!1,F=!0;break;case"tag":{if(K)$(A,"MULTIPLE_TAGS","A node can have at most one tag");K=A,S??(S=A.offset),G=!1,V=!1,F=!0;break}case Q:if(B||K)$(A,"BAD_PROP_ORDER",`Anchors and tags must be after the ${A.source} indicator`);if(O)$(A,"UNEXPECTED_TOKEN",`Unexpected ${A.source} in ${X??"collection"}`);O=A,G=Q==="seq-item-ind"||Q==="explicit-key-ind",V=!1;break;case"comma":if(X){if(P)$(A,"UNEXPECTED_TOKEN",`Unexpected , in ${X}`);P=A,G=!1,V=!1;break}default:$(A,"UNEXPECTED_TOKEN",`Unexpected ${A.type} token`),G=!1,V=!1}}let C=Z[Z.length-1],y=C?C.offset+C.source.length:J;if(F&&U&&U.type!=="space"&&U.type!=="newline"&&U.type!=="comma"&&(U.type!=="scalar"||U.source!==""))$(U.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space");if(z&&(G&&z.indent<=W||U?.type==="block-map"||U?.type==="block-seq"))$(z,"TAB_AS_INDENT","Tabs are not allowed as indentation");return{comma:P,found:O,spaceBefore:L,comment:q,hasNewline:H,anchor:B,tag:K,newlineAfterProp:w,end:y,start:S??y}}function G2(Z){if(!Z)return null;switch(Z.type){case"alias":case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":if(Z.source.includes(`
108
+ `))return!0;if(Z.end){for(let X of Z.end)if(X.type==="newline")return!0}return!1;case"flow-collection":for(let X of Z.items){for(let Q of X.start)if(Q.type==="newline")return!0;if(X.sep){for(let Q of X.sep)if(Q.type==="newline")return!0}if(G2(X.key)||G2(X.value))return!0}return!1;default:return!0}}function N6(Z,X,Q){if(X?.type==="flow-collection"){let U=X.end[0];if(U.indent===Z&&(U.source==="]"||U.source==="}")&&G2(X))Q(U,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}function V8(Z,X,Q){let{uniqueKeys:U}=Z.options;if(U===!1)return!1;let J=typeof U==="function"?U:($,W)=>$===W||x($)&&x(W)&&$.value===W.value;return X.some(($)=>J($.key,Q))}var OJ="All mapping items must start at the same column";function TJ({composeNode:Z,composeEmptyNode:X},Q,U,J,$){let Y=new($?.nodeClass??V0)(Q.schema);if(Q.atRoot)Q.atRoot=!1;let L=U.offset,G=null;for(let V of U.items){let{start:q,key:_,sep:H,value:F}=V,z=j1(q,{indicator:"explicit-key-ind",next:_??H?.[0],offset:L,onError:J,parentIndent:U.indent,startOnNewline:!0}),B=!z.found;if(B){if(_){if(_.type==="block-seq")J(L,"BLOCK_AS_IMPLICIT_KEY","A block sequence may not be used as an implicit map key");else if("indent"in _&&_.indent!==U.indent)J(L,"BAD_INDENT",OJ)}if(!z.anchor&&!z.tag&&!H){if(G=z.end,z.comment)if(Y.comment)Y.comment+=`
109
+ `+z.comment;else Y.comment=z.comment;continue}if(z.newlineAfterProp||G2(_))J(_??q[q.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else if(z.found?.indent!==U.indent)J(L,"BAD_INDENT",OJ);Q.atKey=!0;let K=z.end,w=_?Z(Q,_,z,J):X(Q,K,q,null,z,J);if(Q.schema.compat)N6(U.indent,_,J);if(Q.atKey=!1,V8(Q,Y.items,w))J(K,"DUPLICATE_KEY","Map keys must be unique");let P=j1(H??[],{indicator:"map-value-ind",next:F,offset:w.range[2],onError:J,parentIndent:U.indent,startOnNewline:!_||_.type==="block-scalar"});if(L=P.end,P.found){if(B){if(F?.type==="block-map"&&!P.hasNewline)J(L,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings");if(Q.options.strict&&z.start<P.found.offset-1024)J(w.range,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit block mapping key")}let O=F?Z(Q,F,P,J):X(Q,L,H,null,P,J);if(Q.schema.compat)N6(U.indent,F,J);L=O.range[2];let S=new Y0(w,O);if(Q.options.keepSourceTokens)S.srcToken=V;Y.items.push(S)}else{if(B)J(w.range,"MISSING_CHAR","Implicit map keys need to be followed by map values");if(P.comment)if(w.comment)w.comment+=`
110
+ `+P.comment;else w.comment=P.comment;let O=new Y0(w);if(Q.options.keepSourceTokens)O.srcToken=V;Y.items.push(O)}}if(G&&G<L)J(G,"IMPOSSIBLE","Map comment with trailing content");return Y.range=[U.offset,L,G??L],Y}function KJ({composeNode:Z,composeEmptyNode:X},Q,U,J,$){let Y=new($?.nodeClass??P0)(Q.schema);if(Q.atRoot)Q.atRoot=!1;if(Q.atKey)Q.atKey=!1;let L=U.offset,G=null;for(let{start:V,value:q}of U.items){let _=j1(V,{indicator:"seq-item-ind",next:q,offset:L,onError:J,parentIndent:U.indent,startOnNewline:!0});if(!_.found)if(_.anchor||_.tag||q)if(q?.type==="block-seq")J(_.end,"BAD_INDENT","All sequence items must start at the same column");else J(L,"MISSING_CHAR","Sequence item without - indicator");else{if(G=_.end,_.comment)Y.comment=_.comment;continue}let H=q?Z(Q,q,_,J):X(Q,_.end,V,null,_,J);if(Q.schema.compat)N6(U.indent,q,J);L=H.range[2],Y.items.push(H)}return Y.range=[U.offset,L,G??L],Y}function C1(Z,X,Q,U){let J="";if(Z){let $=!1,W="";for(let Y of Z){let{source:L,type:G}=Y;switch(G){case"space":$=!0;break;case"comment":{if(Q&&!$)U(Y,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let V=L.substring(1)||" ";if(!J)J=V;else J+=W+V;W="";break}case"newline":if(J)W+=L;$=!0;break;default:U(Y,"UNEXPECTED_TOKEN",`Unexpected ${G} at node end`)}X+=L.length}}return{comment:J,offset:X}}var J7="Block collections are not allowed within flow collections",$7=(Z)=>Z&&(Z.type==="block-map"||Z.type==="block-seq");function DJ({composeNode:Z,composeEmptyNode:X},Q,U,J,$){let W=U.start.source==="{",Y=W?"flow map":"flow sequence",G=new($?.nodeClass??(W?V0:P0))(Q.schema);G.flow=!0;let V=Q.atRoot;if(V)Q.atRoot=!1;if(Q.atKey)Q.atKey=!1;let q=U.offset+U.start.source.length;for(let B=0;B<U.items.length;++B){let K=U.items[B],{start:w,key:P,sep:O,value:S}=K,C=j1(w,{flow:Y,indicator:"explicit-key-ind",next:P??O?.[0],offset:q,onError:J,parentIndent:U.indent,startOnNewline:!1});if(!C.found){if(!C.anchor&&!C.tag&&!O&&!S){if(B===0&&C.comma)J(C.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${Y}`);else if(B<U.items.length-1)J(C.start,"UNEXPECTED_TOKEN",`Unexpected empty item in ${Y}`);if(C.comment)if(G.comment)G.comment+=`
111
+ `+C.comment;else G.comment=C.comment;q=C.end;continue}if(!W&&Q.options.strict&&G2(P))J(P,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line")}if(B===0){if(C.comma)J(C.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${Y}`)}else{if(!C.comma)J(C.start,"MISSING_CHAR",`Missing , between ${Y} items`);if(C.comment){let y="";Z:for(let A of w)switch(A.type){case"comma":case"space":break;case"comment":y=A.source.substring(1);break Z;default:break Z}if(y){let A=G.items[G.items.length-1];if(p(A))A=A.value??A.key;if(A.comment)A.comment+=`
112
+ `+y;else A.comment=y;C.comment=C.comment.substring(y.length+1)}}}if(!W&&!O&&!C.found){let y=S?Z(Q,S,C,J):X(Q,C.end,O,null,C,J);if(G.items.push(y),q=y.range[2],$7(S))J(y.range,"BLOCK_IN_FLOW",J7)}else{Q.atKey=!0;let y=C.end,A=P?Z(Q,P,C,J):X(Q,y,w,null,C,J);if($7(P))J(A.range,"BLOCK_IN_FLOW",J7);Q.atKey=!1;let d=j1(O??[],{flow:Y,indicator:"map-value-ind",next:S,offset:A.range[2],onError:J,parentIndent:U.indent,startOnNewline:!1});if(d.found){if(!W&&!C.found&&Q.options.strict){if(O)for(let h of O){if(h===d.found)break;if(h.type==="newline"){J(h,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line");break}}if(C.start<d.found.offset-1024)J(d.found,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit flow sequence key")}}else if(S)if("source"in S&&S.source?.[0]===":")J(S,"MISSING_CHAR",`Missing space after : in ${Y}`);else J(d.start,"MISSING_CHAR",`Missing , or : between ${Y} items`);let e=S?Z(Q,S,d,J):d.found?X(Q,d.end,O,null,d,J):null;if(e){if($7(S))J(e.range,"BLOCK_IN_FLOW",J7)}else if(d.comment)if(A.comment)A.comment+=`
113
+ `+d.comment;else A.comment=d.comment;let X0=new Y0(A,e);if(Q.options.keepSourceTokens)X0.srcToken=K;if(W){let h=G;if(V8(Q,h.items,A))J(y,"DUPLICATE_KEY","Map keys must be unique");h.items.push(X0)}else{let h=new V0(Q.schema);h.flow=!0,h.items.push(X0);let t=(e??A).range;h.range=[A.range[0],t[1],t[2]],G.items.push(h)}q=e?e.range[2]:d.end}}let _=W?"}":"]",[H,...F]=U.end,z=q;if(H?.source===_)z=H.offset+H.source.length;else{let B=Y[0].toUpperCase()+Y.substring(1),K=V?`${B} must end with a ${_}`:`${B} in block collection must be sufficiently indented and end with a ${_}`;if(J(q,V?"MISSING_CHAR":"BAD_INDENT",K),H&&H.source.length!==1)F.unshift(H)}if(F.length>0){let B=C1(F,z,Q.options.strict,J);if(B.comment)if(G.comment)G.comment+=`
114
+ `+B.comment;else G.comment=B.comment;G.range=[U.offset,z,B.offset]}else G.range=[U.offset,z,z];return G}function W7(Z,X,Q,U,J,$){let W=Q.type==="block-map"?TJ(Z,X,Q,U,$):Q.type==="block-seq"?KJ(Z,X,Q,U,$):DJ(Z,X,Q,U,$),Y=W.constructor;if(J==="!"||J===Y.tagName)return W.tag=Y.tagName,W;if(J)W.tag=J;return W}function wJ(Z,X,Q,U,J){let $=U.tag,W=!$?null:X.directives.tagName($.source,(_)=>J($,"TAG_RESOLVE_FAILED",_));if(Q.type==="block-seq"){let{anchor:_,newlineAfterProp:H}=U,F=_&&$?_.offset>$.offset?_:$:_??$;if(F&&(!H||H.offset<F.offset))J(F,"MISSING_CHAR","Missing newline after block sequence props")}let Y=Q.type==="block-map"?"map":Q.type==="block-seq"?"seq":Q.start.source==="{"?"map":"seq";if(!$||!W||W==="!"||W===V0.tagName&&Y==="map"||W===P0.tagName&&Y==="seq")return W7(Z,X,Q,J,W);let L=X.schema.tags.find((_)=>_.tag===W&&_.collection===Y);if(!L){let _=X.schema.knownTags[W];if(_?.collection===Y)X.schema.tags.push(Object.assign({},_,{default:!1})),L=_;else{if(_)J($,"BAD_COLLECTION_TYPE",`${_.tag} used for ${Y} collection, but expects ${_.collection??"scalar"}`,!0);else J($,"TAG_RESOLVE_FAILED",`Unresolved tag: ${W}`,!0);return W7(Z,X,Q,J,W)}}let G=W7(Z,X,Q,J,W,L),V=L.resolve?.(G,(_)=>J($,"TAG_RESOLVE_FAILED",_),X.options)??G,q=l(V)?V:new f(V);if(q.range=G.range,q.tag=W,L?.format)q.format=L.format;return q}function q8(Z,X,Q){let U=X.offset,J=rG(X,Z.options.strict,Q);if(!J)return{value:"",type:null,comment:"",range:[U,U,U]};let $=J.mode===">"?f.BLOCK_FOLDED:f.BLOCK_LITERAL,W=X.source?aG(X.source):[],Y=W.length;for(let z=W.length-1;z>=0;--z){let B=W[z][1];if(B===""||B==="\r")Y=z;else break}if(Y===0){let z=J.chomp==="+"&&W.length>0?`
115
+ `.repeat(Math.max(1,W.length-1)):"",B=U+J.length;if(X.source)B+=X.source.length;return{value:z,type:$,comment:J.comment,range:[U,B,B]}}let L=X.indent+J.indent,G=X.offset+J.length,V=0;for(let z=0;z<Y;++z){let[B,K]=W[z];if(K===""||K==="\r"){if(J.indent===0&&B.length>L)L=B.length}else{if(B.length<L)Q(G+B.length,"MISSING_CHAR","Block scalars with more-indented leading empty lines must use an explicit indentation indicator");if(J.indent===0)L=B.length;if(V=z,L===0&&!Z.atRoot)Q(G,"BAD_INDENT","Block scalar values in collections must be indented");break}G+=B.length+K.length+1}for(let z=W.length-1;z>=Y;--z)if(W[z][0].length>L)Y=z+1;let q="",_="",H=!1;for(let z=0;z<V;++z)q+=W[z][0].slice(L)+`
116
+ `;for(let z=V;z<Y;++z){let[B,K]=W[z];G+=B.length+K.length+1;let w=K[K.length-1]==="\r";if(w)K=K.slice(0,-1);if(K&&B.length<L){let O=`Block scalar lines must not be less indented than their ${J.indent?"explicit indentation indicator":"first line"}`;Q(G-K.length-(w?2:1),"BAD_INDENT",O),B=""}if($===f.BLOCK_LITERAL)q+=_+B.slice(L)+K,_=`
117
+ `;else if(B.length>L||K[0]==="\t"){if(_===" ")_=`
118
118
  `;else if(!H&&_===`
119
119
  `)_=`
120
120
 
121
- `;V+=_+B.slice(G)+K,_=`
121
+ `;q+=_+B.slice(L)+K,_=`
122
122
  `,H=!0}else if(K==="")if(_===`
123
- `)V+=`
123
+ `)q+=`
124
124
  `;else _=`
125
- `;else V+=_+K,_=" ",H=!1}switch(J.chomp){case"-":break;case"+":for(let z=Y;z<W.length;++z)V+=`
126
- `+W[z][0].slice(G);if(V[V.length-1]!==`
127
- `)V+=`
128
- `;break;default:V+=`
129
- `}let F=U+J.length+X.source.length;return{value:V,type:$,comment:J.comment,range:[U,F,F]}}function rL({offset:Z,props:X},Q,U){if(X[0].type!=="block-scalar-header")return U(X[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:J}=X[0],$=J[0],W=0,Y="",G=-1;for(let _=1;_<J.length;++_){let H=J[_];if(!Y&&(H==="-"||H==="+"))Y=H;else{let F=Number(H);if(!W&&F)W=F;else if(G===-1)G=Z+_}}if(G!==-1)U(G,"UNEXPECTED_TOKEN",`Block scalar header includes extra characters: ${J}`);let L=!1,q="",V=J.length;for(let _=1;_<X.length;++_){let H=X[_];switch(H.type){case"space":L=!0;case"newline":V+=H.source.length;break;case"comment":if(Q&&!L)U(H,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");V+=H.source.length,q=H.source.substring(1);break;case"error":U(H,"UNEXPECTED_TOKEN",H.message),V+=H.source.length;break;default:{let F=`Unexpected token in block scalar header: ${H.type}`;U(H,"UNEXPECTED_TOKEN",F);let z=H.source;if(z&&typeof z==="string")V+=z.length}}}return{mode:$,indent:W,chomp:Y,comment:q,length:V}}function aL(Z){let X=Z.split(/\n( *)/),Q=X[0],U=Q.match(/^( *)/),$=[U?.[1]?[U[1],Q.slice(U[1].length)]:["",Q]];for(let W=1;W<X.length;W+=2)$.push([X[W],X[W+1]]);return $}function _8(Z,X,Q){let{offset:U,type:J,source:$,end:W}=Z,Y,G,L=(_,H,F)=>Q(U+_,H,F);switch(J){case"scalar":Y=f.PLAIN,G=oL($,L);break;case"single-quoted-scalar":Y=f.QUOTE_SINGLE,G=nL($,L);break;case"double-quoted-scalar":Y=f.QUOTE_DOUBLE,G=tL($,L);break;default:return Q(Z,"UNEXPECTED_TOKEN",`Expected a flow scalar value, but found: ${J}`),{value:"",type:null,comment:"",range:[U,U+$.length,U+$.length]}}let q=U+$.length,V=C1(W,q,X,Q);return{value:G,type:Y,comment:V.comment,range:[U,q,V.offset]}}function oL(Z,X){let Q="";switch(Z[0]){case"\t":Q="a tab character";break;case",":Q="flow indicator character ,";break;case"%":Q="directive indicator character %";break;case"|":case">":{Q=`block scalar indicator ${Z[0]}`;break}case"@":case"`":{Q=`reserved character ${Z[0]}`;break}}if(Q)X(0,"BAD_SCALAR_START",`Plain value cannot start with ${Q}`);return wJ(Z)}function nL(Z,X){if(Z[Z.length-1]!=="'"||Z.length===1)X(Z.length,"MISSING_CHAR","Missing closing 'quote");return wJ(Z.slice(1,-1)).replace(/''/g,"'")}function wJ(Z){let X,Q;try{X=new RegExp(`(.*?)(?<![ ])[ ]*\r?
125
+ `;else q+=_+K,_=" ",H=!1}switch(J.chomp){case"-":break;case"+":for(let z=Y;z<W.length;++z)q+=`
126
+ `+W[z][0].slice(L);if(q[q.length-1]!==`
127
+ `)q+=`
128
+ `;break;default:q+=`
129
+ `}let F=U+J.length+X.source.length;return{value:q,type:$,comment:J.comment,range:[U,F,F]}}function rG({offset:Z,props:X},Q,U){if(X[0].type!=="block-scalar-header")return U(X[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:J}=X[0],$=J[0],W=0,Y="",L=-1;for(let _=1;_<J.length;++_){let H=J[_];if(!Y&&(H==="-"||H==="+"))Y=H;else{let F=Number(H);if(!W&&F)W=F;else if(L===-1)L=Z+_}}if(L!==-1)U(L,"UNEXPECTED_TOKEN",`Block scalar header includes extra characters: ${J}`);let G=!1,V="",q=J.length;for(let _=1;_<X.length;++_){let H=X[_];switch(H.type){case"space":G=!0;case"newline":q+=H.source.length;break;case"comment":if(Q&&!G)U(H,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");q+=H.source.length,V=H.source.substring(1);break;case"error":U(H,"UNEXPECTED_TOKEN",H.message),q+=H.source.length;break;default:{let F=`Unexpected token in block scalar header: ${H.type}`;U(H,"UNEXPECTED_TOKEN",F);let z=H.source;if(z&&typeof z==="string")q+=z.length}}}return{mode:$,indent:W,chomp:Y,comment:V,length:q}}function aG(Z){let X=Z.split(/\n( *)/),Q=X[0],U=Q.match(/^( *)/),$=[U?.[1]?[U[1],Q.slice(U[1].length)]:["",Q]];for(let W=1;W<X.length;W+=2)$.push([X[W],X[W+1]]);return $}function _8(Z,X,Q){let{offset:U,type:J,source:$,end:W}=Z,Y,L,G=(_,H,F)=>Q(U+_,H,F);switch(J){case"scalar":Y=f.PLAIN,L=oG($,G);break;case"single-quoted-scalar":Y=f.QUOTE_SINGLE,L=nG($,G);break;case"double-quoted-scalar":Y=f.QUOTE_DOUBLE,L=tG($,G);break;default:return Q(Z,"UNEXPECTED_TOKEN",`Expected a flow scalar value, but found: ${J}`),{value:"",type:null,comment:"",range:[U,U+$.length,U+$.length]}}let V=U+$.length,q=C1(W,V,X,Q);return{value:L,type:Y,comment:q.comment,range:[U,V,q.offset]}}function oG(Z,X){let Q="";switch(Z[0]){case"\t":Q="a tab character";break;case",":Q="flow indicator character ,";break;case"%":Q="directive indicator character %";break;case"|":case">":{Q=`block scalar indicator ${Z[0]}`;break}case"@":case"`":{Q=`reserved character ${Z[0]}`;break}}if(Q)X(0,"BAD_SCALAR_START",`Plain value cannot start with ${Q}`);return PJ(Z)}function nG(Z,X){if(Z[Z.length-1]!=="'"||Z.length===1)X(Z.length,"MISSING_CHAR","Missing closing 'quote");return PJ(Z.slice(1,-1)).replace(/''/g,"'")}function PJ(Z){let X,Q;try{X=new RegExp(`(.*?)(?<![ ])[ ]*\r?
130
130
  `,"sy"),Q=new RegExp(`[ ]*(.*?)(?:(?<![ ])[ ]*)?\r?
131
131
  `,"sy")}catch{X=/(.*?)[ \t]*\r?\n/sy,Q=/[ \t]*(.*?)[ \t]*\r?\n/sy}let U=X.exec(Z);if(!U)return Z;let J=U[1],$=" ",W=X.lastIndex;Q.lastIndex=W;while(U=Q.exec(Z)){if(U[1]==="")if($===`
132
132
  `)J+=$;else $=`
133
- `;else J+=$+U[1],$=" ";W=Q.lastIndex}let Y=/[ \t]*(.*)/sy;return Y.lastIndex=W,U=Y.exec(Z),J+$+(U?.[1]??"")}function tL(Z,X){let Q="";for(let U=1;U<Z.length-1;++U){let J=Z[U];if(J==="\r"&&Z[U+1]===`
133
+ `;else J+=$+U[1],$=" ";W=Q.lastIndex}let Y=/[ \t]*(.*)/sy;return Y.lastIndex=W,U=Y.exec(Z),J+$+(U?.[1]??"")}function tG(Z,X){let Q="";for(let U=1;U<Z.length-1;++U){let J=Z[U];if(J==="\r"&&Z[U+1]===`
134
134
  `)continue;if(J===`
135
- `){let{fold:$,offset:W}=eL(Z,U);Q+=$,U=W}else if(J==="\\"){let $=Z[++U],W=Zq[$];if(W)Q+=W;else if($===`
135
+ `){let{fold:$,offset:W}=eG(Z,U);Q+=$,U=W}else if(J==="\\"){let $=Z[++U],W=ZV[$];if(W)Q+=W;else if($===`
136
136
  `){$=Z[U+1];while($===" "||$==="\t")$=Z[++U+1]}else if($==="\r"&&Z[U+1]===`
137
- `){$=Z[++U+1];while($===" "||$==="\t")$=Z[++U+1]}else if($==="x"||$==="u"||$==="U"){let Y={x:2,u:4,U:8}[$];Q+=Xq(Z,U+1,Y,X),U+=Y}else{let Y=Z.substr(U-1,2);X(U-1,"BAD_DQ_ESCAPE",`Invalid escape sequence ${Y}`),Q+=Y}}else if(J===" "||J==="\t"){let $=U,W=Z[U+1];while(W===" "||W==="\t")W=Z[++U+1];if(W!==`
137
+ `){$=Z[++U+1];while($===" "||$==="\t")$=Z[++U+1]}else if($==="x"||$==="u"||$==="U"){let Y={x:2,u:4,U:8}[$];Q+=XV(Z,U+1,Y,X),U+=Y}else{let Y=Z.substr(U-1,2);X(U-1,"BAD_DQ_ESCAPE",`Invalid escape sequence ${Y}`),Q+=Y}}else if(J===" "||J==="\t"){let $=U,W=Z[U+1];while(W===" "||W==="\t")W=Z[++U+1];if(W!==`
138
138
  `&&!(W==="\r"&&Z[U+2]===`
139
- `))Q+=U>$?Z.slice($,U+1):J}else Q+=J}if(Z[Z.length-1]!=='"'||Z.length===1)X(Z.length,"MISSING_CHAR",'Missing closing "quote');return Q}function eL(Z,X){let Q="",U=Z[X+1];while(U===" "||U==="\t"||U===`
139
+ `))Q+=U>$?Z.slice($,U+1):J}else Q+=J}if(Z[Z.length-1]!=='"'||Z.length===1)X(Z.length,"MISSING_CHAR",'Missing closing "quote');return Q}function eG(Z,X){let Q="",U=Z[X+1];while(U===" "||U==="\t"||U===`
140
140
  `||U==="\r"){if(U==="\r"&&Z[X+2]!==`
141
141
  `)break;if(U===`
142
142
  `)Q+=`
143
- `;X+=1,U=Z[X+1]}if(!Q)Q=" ";return{fold:Q,offset:X}}var Zq={"0":"\x00",a:"\x07",b:"\b",e:"\x1B",f:"\f",n:`
144
- `,r:"\r",t:"\t",v:"\v",N:"…",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\","\t":"\t"};function Xq(Z,X,Q,U){let J=Z.substr(X,Q),W=J.length===Q&&/^[0-9a-fA-F]+$/.test(J)?parseInt(J,16):NaN;if(isNaN(W)){let Y=Z.substr(X-2,Q+2);return U(X-2,"BAD_DQ_ESCAPE",`Invalid escape sequence ${Y}`),Y}return String.fromCodePoint(W)}function Y7(Z,X,Q,U){let{value:J,type:$,comment:W,range:Y}=X.type==="block-scalar"?V8(Z,X,U):_8(X,Z.options.strict,U),G=Q?Z.directives.tagName(Q.source,(V)=>U(Q,"TAG_RESOLVE_FAILED",V)):null,L;if(Z.options.stringKeys&&Z.atKey)L=Z.schema[p0];else if(G)L=Qq(Z.schema,J,G,Q,U);else if(X.type==="scalar")L=Uq(Z,J,X,U);else L=Z.schema[p0];let q;try{let V=L.resolve(J,(_)=>U(Q??X,"TAG_RESOLVE_FAILED",_),Z.options);q=x(V)?V:new f(V)}catch(V){let _=V instanceof Error?V.message:String(V);U(Q??X,"TAG_RESOLVE_FAILED",_),q=new f(J)}if(q.range=Y,q.source=J,$)q.type=$;if(G)q.tag=G;if(L.format)q.format=L.format;if(W)q.comment=W;return q}function Qq(Z,X,Q,U,J){if(Q==="!")return Z[p0];let $=[];for(let Y of Z.tags)if(!Y.collection&&Y.tag===Q)if(Y.default&&Y.test)$.push(Y);else return Y;for(let Y of $)if(Y.test?.test(X))return Y;let W=Z.knownTags[Q];if(W&&!W.collection)return Z.tags.push(Object.assign({},W,{default:!1,test:void 0})),W;return J(U,"TAG_RESOLVE_FAILED",`Unresolved tag: ${Q}`,Q!=="tag:yaml.org,2002:str"),Z[p0]}function Uq({atKey:Z,directives:X,schema:Q},U,J,$){let W=Q.tags.find((Y)=>(Y.default===!0||Z&&Y.default==="key")&&Y.test?.test(U))||Q[p0];if(Q.compat){let Y=Q.compat.find((G)=>G.default&&G.test?.test(U))??Q[p0];if(W.tag!==Y.tag){let G=X.tagString(W.tag),L=X.tagString(Y.tag),q=`Value may be parsed as either ${G} or ${L}`;$(J,"TAG_RESOLVE_FAILED",q,!0)}}return W}function PJ(Z,X,Q){if(X){Q??(Q=X.length);for(let U=Q-1;U>=0;--U){let J=X[U];switch(J.type){case"space":case"comment":case"newline":Z-=J.source.length;continue}J=X[++U];while(J?.type==="space")Z+=J.source.length,J=X[++U];break}}return Z}var Jq={composeNode:G7,composeEmptyNode:z8};function G7(Z,X,Q,U){let J=Z.atKey,{spaceBefore:$,comment:W,anchor:Y,tag:G}=Q,L,q=!0;switch(X.type){case"alias":if(L=$q(Z,X,U),Y||G)U(X,"ALIAS_PROPS","An alias node must not specify any properties");break;case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"block-scalar":if(L=Y7(Z,X,G,U),Y)L.anchor=Y.source.substring(1);break;case"block-map":case"block-seq":case"flow-collection":if(L=DJ(Jq,Z,X,Q,U),Y)L.anchor=Y.source.substring(1);break;default:{let V=X.type==="error"?X.message:`Unsupported token (type: ${X.type})`;U(X,"UNEXPECTED_TOKEN",V),L=z8(Z,X.offset,void 0,null,Q,U),q=!1}}if(Y&&L.anchor==="")U(Y,"BAD_ALIAS","Anchor cannot be an empty string");if(J&&Z.options.stringKeys&&(!x(L)||typeof L.value!=="string"||L.tag&&L.tag!=="tag:yaml.org,2002:str"))U(G??X,"NON_STRING_KEY","With stringKeys, all keys must be strings");if($)L.spaceBefore=!0;if(W)if(X.type==="scalar"&&X.source==="")L.comment=W;else L.commentBefore=W;if(Z.options.keepSourceTokens&&q)L.srcToken=X;return L}function z8(Z,X,Q,U,{spaceBefore:J,comment:$,anchor:W,tag:Y,end:G},L){let q={type:"scalar",offset:PJ(X,Q,U),indent:-1,source:""},V=Y7(Z,q,Y,L);if(W){if(V.anchor=W.source.substring(1),V.anchor==="")L(W,"BAD_ALIAS","Anchor cannot be an empty string")}if(J)V.spaceBefore=!0;if($)V.comment=$,V.range[2]=G;return V}function $q({options:Z},{offset:X,source:Q,end:U},J){let $=new m1(Q.substring(1));if($.source==="")J(X,"BAD_ALIAS","Alias cannot be an empty string");if($.source.endsWith(":"))J(X+Q.length-1,"BAD_ALIAS","Alias ending in : is ambiguous",!0);let W=X+Q.length,Y=C1(U,W,Z.strict,J);if($.range=[X,W,Y.offset],Y.comment)$.comment=Y.comment;return $}function AJ(Z,X,{offset:Q,start:U,value:J,end:$},W){let Y=Object.assign({_directives:X},Z),G=new S1(void 0,Y),L={atKey:!1,atRoot:!0,directives:G.directives,options:G.options,schema:G.schema},q=j1(U,{indicator:"doc-start",next:J??$?.[0],offset:Q,onError:W,parentIndent:0,startOnNewline:!0});if(q.found){if(G.directives.docStart=!0,J&&(J.type==="block-map"||J.type==="block-seq")&&!q.hasNewline)W(q.end,"MISSING_CHAR","Block collection cannot start on same line with directives-end marker")}G.contents=J?G7(L,J,q,W):z8(L,q.end,U,null,q,W);let V=G.contents.range[2],_=C1($,V,!1,W);if(_.comment)G.comment=_.comment;return G.range=[Q,V,_.offset],G}function b6(Z){if(typeof Z==="number")return[Z,Z+1];if(Array.isArray(Z))return Z.length===2?Z:[Z[0],Z[1]];let{offset:X,source:Q}=Z;return[X,X+(typeof Q==="string"?Q.length:1)]}function SJ(Z){let X="",Q=!1,U=!1;for(let J=0;J<Z.length;++J){let $=Z[J];switch($[0]){case"#":X+=(X===""?"":U?`
143
+ `;X+=1,U=Z[X+1]}if(!Q)Q=" ";return{fold:Q,offset:X}}var ZV={"0":"\x00",a:"\x07",b:"\b",e:"\x1B",f:"\f",n:`
144
+ `,r:"\r",t:"\t",v:"\v",N:"…",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\","\t":"\t"};function XV(Z,X,Q,U){let J=Z.substr(X,Q),W=J.length===Q&&/^[0-9a-fA-F]+$/.test(J)?parseInt(J,16):NaN;if(isNaN(W)){let Y=Z.substr(X-2,Q+2);return U(X-2,"BAD_DQ_ESCAPE",`Invalid escape sequence ${Y}`),Y}return String.fromCodePoint(W)}function Y7(Z,X,Q,U){let{value:J,type:$,comment:W,range:Y}=X.type==="block-scalar"?q8(Z,X,U):_8(X,Z.options.strict,U),L=Q?Z.directives.tagName(Q.source,(q)=>U(Q,"TAG_RESOLVE_FAILED",q)):null,G;if(Z.options.stringKeys&&Z.atKey)G=Z.schema[p0];else if(L)G=QV(Z.schema,J,L,Q,U);else if(X.type==="scalar")G=UV(Z,J,X,U);else G=Z.schema[p0];let V;try{let q=G.resolve(J,(_)=>U(Q??X,"TAG_RESOLVE_FAILED",_),Z.options);V=x(q)?q:new f(q)}catch(q){let _=q instanceof Error?q.message:String(q);U(Q??X,"TAG_RESOLVE_FAILED",_),V=new f(J)}if(V.range=Y,V.source=J,$)V.type=$;if(L)V.tag=L;if(G.format)V.format=G.format;if(W)V.comment=W;return V}function QV(Z,X,Q,U,J){if(Q==="!")return Z[p0];let $=[];for(let Y of Z.tags)if(!Y.collection&&Y.tag===Q)if(Y.default&&Y.test)$.push(Y);else return Y;for(let Y of $)if(Y.test?.test(X))return Y;let W=Z.knownTags[Q];if(W&&!W.collection)return Z.tags.push(Object.assign({},W,{default:!1,test:void 0})),W;return J(U,"TAG_RESOLVE_FAILED",`Unresolved tag: ${Q}`,Q!=="tag:yaml.org,2002:str"),Z[p0]}function UV({atKey:Z,directives:X,schema:Q},U,J,$){let W=Q.tags.find((Y)=>(Y.default===!0||Z&&Y.default==="key")&&Y.test?.test(U))||Q[p0];if(Q.compat){let Y=Q.compat.find((L)=>L.default&&L.test?.test(U))??Q[p0];if(W.tag!==Y.tag){let L=X.tagString(W.tag),G=X.tagString(Y.tag),V=`Value may be parsed as either ${L} or ${G}`;$(J,"TAG_RESOLVE_FAILED",V,!0)}}return W}function AJ(Z,X,Q){if(X){Q??(Q=X.length);for(let U=Q-1;U>=0;--U){let J=X[U];switch(J.type){case"space":case"comment":case"newline":Z-=J.source.length;continue}J=X[++U];while(J?.type==="space")Z+=J.source.length,J=X[++U];break}}return Z}var JV={composeNode:L7,composeEmptyNode:z8};function L7(Z,X,Q,U){let J=Z.atKey,{spaceBefore:$,comment:W,anchor:Y,tag:L}=Q,G,V=!0;switch(X.type){case"alias":if(G=$V(Z,X,U),Y||L)U(X,"ALIAS_PROPS","An alias node must not specify any properties");break;case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"block-scalar":if(G=Y7(Z,X,L,U),Y)G.anchor=Y.source.substring(1);break;case"block-map":case"block-seq":case"flow-collection":try{if(G=wJ(JV,Z,X,Q,U),Y)G.anchor=Y.source.substring(1)}catch(q){let _=q instanceof Error?q.message:String(q);U(X,"RESOURCE_EXHAUSTION",_)}break;default:{let q=X.type==="error"?X.message:`Unsupported token (type: ${X.type})`;U(X,"UNEXPECTED_TOKEN",q),V=!1}}if(G??(G=z8(Z,X.offset,void 0,null,Q,U)),Y&&G.anchor==="")U(Y,"BAD_ALIAS","Anchor cannot be an empty string");if(J&&Z.options.stringKeys&&(!x(G)||typeof G.value!=="string"||G.tag&&G.tag!=="tag:yaml.org,2002:str"))U(L??X,"NON_STRING_KEY","With stringKeys, all keys must be strings");if($)G.spaceBefore=!0;if(W)if(X.type==="scalar"&&X.source==="")G.comment=W;else G.commentBefore=W;if(Z.options.keepSourceTokens&&V)G.srcToken=X;return G}function z8(Z,X,Q,U,{spaceBefore:J,comment:$,anchor:W,tag:Y,end:L},G){let V={type:"scalar",offset:AJ(X,Q,U),indent:-1,source:""},q=Y7(Z,V,Y,G);if(W){if(q.anchor=W.source.substring(1),q.anchor==="")G(W,"BAD_ALIAS","Anchor cannot be an empty string")}if(J)q.spaceBefore=!0;if($)q.comment=$,q.range[2]=L;return q}function $V({options:Z},{offset:X,source:Q,end:U},J){let $=new m1(Q.substring(1));if($.source==="")J(X,"BAD_ALIAS","Alias cannot be an empty string");if($.source.endsWith(":"))J(X+Q.length-1,"BAD_ALIAS","Alias ending in : is ambiguous",!0);let W=X+Q.length,Y=C1(U,W,Z.strict,J);if($.range=[X,W,Y.offset],Y.comment)$.comment=Y.comment;return $}function SJ(Z,X,{offset:Q,start:U,value:J,end:$},W){let Y=Object.assign({_directives:X},Z),L=new S1(void 0,Y),G={atKey:!1,atRoot:!0,directives:L.directives,options:L.options,schema:L.schema},V=j1(U,{indicator:"doc-start",next:J??$?.[0],offset:Q,onError:W,parentIndent:0,startOnNewline:!0});if(V.found){if(L.directives.docStart=!0,J&&(J.type==="block-map"||J.type==="block-seq")&&!V.hasNewline)W(V.end,"MISSING_CHAR","Block collection cannot start on same line with directives-end marker")}L.contents=J?L7(G,J,V,W):z8(G,V.end,U,null,V,W);let q=L.contents.range[2],_=C1($,q,!1,W);if(_.comment)L.comment=_.comment;return L.range=[Q,q,_.offset],L}function b6(Z){if(typeof Z==="number")return[Z,Z+1];if(Array.isArray(Z))return Z.length===2?Z:[Z[0],Z[1]];let{offset:X,source:Q}=Z;return[X,X+(typeof Q==="string"?Q.length:1)]}function jJ(Z){let X="",Q=!1,U=!1;for(let J=0;J<Z.length;++J){let $=Z[J];switch($[0]){case"#":X+=(X===""?"":U?`
145
145
 
146
146
  `:`
147
- `)+($.substring(1)||" "),Q=!0,U=!1;break;case"%":if(Z[J+1]?.[0]!=="#")J+=1;Q=!1;break;default:if(!Q)U=!0;Q=!1}}return{comment:X,afterEmptyLine:U}}class B4{constructor(Z={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=(X,Q,U,J)=>{let $=b6(X);if(J)this.warnings.push(new j6($,Q,U));else this.errors.push(new Q1($,Q,U))},this.directives=new K0({version:Z.version||"1.2"}),this.options=Z}decorate(Z,X){let{comment:Q,afterEmptyLine:U}=SJ(this.prelude);if(Q){let J=Z.contents;if(X)Z.comment=Z.comment?`${Z.comment}
147
+ `)+($.substring(1)||" "),Q=!0,U=!1;break;case"%":if(Z[J+1]?.[0]!=="#")J+=1;Q=!1;break;default:if(!Q)U=!0;Q=!1}}return{comment:X,afterEmptyLine:U}}class B4{constructor(Z={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=(X,Q,U,J)=>{let $=b6(X);if(J)this.warnings.push(new j6($,Q,U));else this.errors.push(new Q1($,Q,U))},this.directives=new K0({version:Z.version||"1.2"}),this.options=Z}decorate(Z,X){let{comment:Q,afterEmptyLine:U}=jJ(this.prelude);if(Q){let J=Z.contents;if(X)Z.comment=Z.comment?`${Z.comment}
148
148
  ${Q}`:Q;else if(U||Z.directives.docStart||!J)Z.commentBefore=Q;else if(n(J)&&!J.flow&&J.items.length>0){let $=J.items[0];if(p($))$=$.key;let W=$.commentBefore;$.commentBefore=W?`${Q}
149
149
  ${W}`:Q}else{let $=J.commentBefore;J.commentBefore=$?`${Q}
150
- ${$}`:Q}}if(X)Array.prototype.push.apply(Z.errors,this.errors),Array.prototype.push.apply(Z.warnings,this.warnings);else Z.errors=this.errors,Z.warnings=this.warnings;this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:SJ(this.prelude).comment,directives:this.directives,errors:this.errors,warnings:this.warnings}}*compose(Z,X=!1,Q=-1){for(let U of Z)yield*this.next(U);yield*this.end(X,Q)}*next(Z){switch(Z.type){case"directive":this.directives.add(Z.source,(X,Q,U)=>{let J=b6(Z);J[0]+=X,this.onError(J,"BAD_DIRECTIVE",Q,U)}),this.prelude.push(Z.source),this.atDirectives=!0;break;case"document":{let X=AJ(this.options,this.directives,Z,this.onError);if(this.atDirectives&&!X.directives.docStart)this.onError(Z,"MISSING_CHAR","Missing directives-end/doc-start indicator line");if(this.decorate(X,!1),this.doc)yield this.doc;this.doc=X,this.atDirectives=!1;break}case"byte-order-mark":case"space":break;case"comment":case"newline":this.prelude.push(Z.source);break;case"error":{let X=Z.source?`${Z.message}: ${JSON.stringify(Z.source)}`:Z.message,Q=new Q1(b6(Z),"UNEXPECTED_TOKEN",X);if(this.atDirectives||!this.doc)this.errors.push(Q);else this.doc.errors.push(Q);break}case"doc-end":{if(!this.doc){this.errors.push(new Q1(b6(Z),"UNEXPECTED_TOKEN","Unexpected doc-end without preceding document"));break}this.doc.directives.docEnd=!0;let X=C1(Z.end,Z.offset+Z.source.length,this.doc.options.strict,this.onError);if(this.decorate(this.doc,!0),X.comment){let Q=this.doc.comment;this.doc.comment=Q?`${Q}
151
- ${X.comment}`:X.comment}this.doc.range[2]=X.offset;break}default:this.errors.push(new Q1(b6(Z),"UNEXPECTED_TOKEN",`Unsupported token ${Z.type}`))}}*end(Z=!1,X=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if(Z){let Q=Object.assign({_directives:this.directives},this.options),U=new S1(void 0,Q);if(this.atDirectives)this.onError(X,"MISSING_CHAR","Missing directives-end indicator line");U.range=[0,X,X],this.decorate(U,!1),yield U}}}var _7={};h6(_7,{visit:()=>q2,tokenType:()=>V7,stringify:()=>EJ,setScalarValue:()=>NJ,resolveAsScalar:()=>jJ,prettyToken:()=>qq,isScalar:()=>Lq,isCollection:()=>Gq,createScalarToken:()=>CJ,SCALAR:()=>M4,FLOW_END:()=>I6,DOCUMENT:()=>f6,BOM:()=>E6});function jJ(Z,X=!0,Q){if(Z){let U=(J,$,W)=>{let Y=typeof J==="number"?J:Array.isArray(J)?J[0]:J.offset;if(Q)Q(Y,$,W);else throw new Q1([Y,Y+1],$,W)};switch(Z.type){case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return _8(Z,X,U);case"block-scalar":return V8({options:{strict:X}},Z,U)}}return null}function CJ(Z,X){let{implicitKey:Q=!1,indent:U,inFlow:J=!1,offset:$=-1,type:W="PLAIN"}=X,Y=p1({type:W,value:Z},{implicitKey:Q,indent:U>0?" ".repeat(U):"",inFlow:J,options:{blockQuote:!0,lineWidth:-1}}),G=X.end??[{type:"newline",offset:-1,indent:U,source:`
152
- `}];switch(Y[0]){case"|":case">":{let L=Y.indexOf(`
153
- `),q=Y.substring(0,L),V=Y.substring(L+1)+`
154
- `,_=[{type:"block-scalar-header",offset:$,indent:U,source:q}];if(!bJ(_,G))_.push({type:"newline",offset:-1,indent:U,source:`
155
- `});return{type:"block-scalar",offset:$,indent:U,props:_,source:V}}case'"':return{type:"double-quoted-scalar",offset:$,indent:U,source:Y,end:G};case"'":return{type:"single-quoted-scalar",offset:$,indent:U,source:Y,end:G};default:return{type:"scalar",offset:$,indent:U,source:Y,end:G}}}function NJ(Z,X,Q={}){let{afterKey:U=!1,implicitKey:J=!1,inFlow:$=!1,type:W}=Q,Y="indent"in Z?Z.indent:null;if(U&&typeof Y==="number")Y+=2;if(!W)switch(Z.type){case"single-quoted-scalar":W="QUOTE_SINGLE";break;case"double-quoted-scalar":W="QUOTE_DOUBLE";break;case"block-scalar":{let L=Z.props[0];if(L.type!=="block-scalar-header")throw Error("Invalid block scalar header");W=L.source[0]===">"?"BLOCK_FOLDED":"BLOCK_LITERAL";break}default:W="PLAIN"}let G=p1({type:W,value:X},{implicitKey:J||Y===null,indent:Y!==null&&Y>0?" ".repeat(Y):"",inFlow:$,options:{blockQuote:!0,lineWidth:-1}});switch(G[0]){case"|":case">":Wq(Z,G);break;case'"':L7(Z,G,"double-quoted-scalar");break;case"'":L7(Z,G,"single-quoted-scalar");break;default:L7(Z,G,"scalar")}}function Wq(Z,X){let Q=X.indexOf(`
150
+ ${$}`:Q}}if(X)Array.prototype.push.apply(Z.errors,this.errors),Array.prototype.push.apply(Z.warnings,this.warnings);else Z.errors=this.errors,Z.warnings=this.warnings;this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:jJ(this.prelude).comment,directives:this.directives,errors:this.errors,warnings:this.warnings}}*compose(Z,X=!1,Q=-1){for(let U of Z)yield*this.next(U);yield*this.end(X,Q)}*next(Z){switch(Z.type){case"directive":this.directives.add(Z.source,(X,Q,U)=>{let J=b6(Z);J[0]+=X,this.onError(J,"BAD_DIRECTIVE",Q,U)}),this.prelude.push(Z.source),this.atDirectives=!0;break;case"document":{let X=SJ(this.options,this.directives,Z,this.onError);if(this.atDirectives&&!X.directives.docStart)this.onError(Z,"MISSING_CHAR","Missing directives-end/doc-start indicator line");if(this.decorate(X,!1),this.doc)yield this.doc;this.doc=X,this.atDirectives=!1;break}case"byte-order-mark":case"space":break;case"comment":case"newline":this.prelude.push(Z.source);break;case"error":{let X=Z.source?`${Z.message}: ${JSON.stringify(Z.source)}`:Z.message,Q=new Q1(b6(Z),"UNEXPECTED_TOKEN",X);if(this.atDirectives||!this.doc)this.errors.push(Q);else this.doc.errors.push(Q);break}case"doc-end":{if(!this.doc){this.errors.push(new Q1(b6(Z),"UNEXPECTED_TOKEN","Unexpected doc-end without preceding document"));break}this.doc.directives.docEnd=!0;let X=C1(Z.end,Z.offset+Z.source.length,this.doc.options.strict,this.onError);if(this.decorate(this.doc,!0),X.comment){let Q=this.doc.comment;this.doc.comment=Q?`${Q}
151
+ ${X.comment}`:X.comment}this.doc.range[2]=X.offset;break}default:this.errors.push(new Q1(b6(Z),"UNEXPECTED_TOKEN",`Unsupported token ${Z.type}`))}}*end(Z=!1,X=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if(Z){let Q=Object.assign({_directives:this.directives},this.options),U=new S1(void 0,Q);if(this.atDirectives)this.onError(X,"MISSING_CHAR","Missing directives-end indicator line");U.range=[0,X,X],this.decorate(U,!1),yield U}}}var _7={};h6(_7,{visit:()=>V2,tokenType:()=>q7,stringify:()=>fJ,setScalarValue:()=>bJ,resolveAsScalar:()=>CJ,prettyToken:()=>VV,isScalar:()=>GV,isCollection:()=>LV,createScalarToken:()=>NJ,SCALAR:()=>M4,FLOW_END:()=>I6,DOCUMENT:()=>f6,BOM:()=>E6});function CJ(Z,X=!0,Q){if(Z){let U=(J,$,W)=>{let Y=typeof J==="number"?J:Array.isArray(J)?J[0]:J.offset;if(Q)Q(Y,$,W);else throw new Q1([Y,Y+1],$,W)};switch(Z.type){case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return _8(Z,X,U);case"block-scalar":return q8({options:{strict:X}},Z,U)}}return null}function NJ(Z,X){let{implicitKey:Q=!1,indent:U,inFlow:J=!1,offset:$=-1,type:W="PLAIN"}=X,Y=p1({type:W,value:Z},{implicitKey:Q,indent:U>0?" ".repeat(U):"",inFlow:J,options:{blockQuote:!0,lineWidth:-1}}),L=X.end??[{type:"newline",offset:-1,indent:U,source:`
152
+ `}];switch(Y[0]){case"|":case">":{let G=Y.indexOf(`
153
+ `),V=Y.substring(0,G),q=Y.substring(G+1)+`
154
+ `,_=[{type:"block-scalar-header",offset:$,indent:U,source:V}];if(!EJ(_,L))_.push({type:"newline",offset:-1,indent:U,source:`
155
+ `});return{type:"block-scalar",offset:$,indent:U,props:_,source:q}}case'"':return{type:"double-quoted-scalar",offset:$,indent:U,source:Y,end:L};case"'":return{type:"single-quoted-scalar",offset:$,indent:U,source:Y,end:L};default:return{type:"scalar",offset:$,indent:U,source:Y,end:L}}}function bJ(Z,X,Q={}){let{afterKey:U=!1,implicitKey:J=!1,inFlow:$=!1,type:W}=Q,Y="indent"in Z?Z.indent:null;if(U&&typeof Y==="number")Y+=2;if(!W)switch(Z.type){case"single-quoted-scalar":W="QUOTE_SINGLE";break;case"double-quoted-scalar":W="QUOTE_DOUBLE";break;case"block-scalar":{let G=Z.props[0];if(G.type!=="block-scalar-header")throw Error("Invalid block scalar header");W=G.source[0]===">"?"BLOCK_FOLDED":"BLOCK_LITERAL";break}default:W="PLAIN"}let L=p1({type:W,value:X},{implicitKey:J||Y===null,indent:Y!==null&&Y>0?" ".repeat(Y):"",inFlow:$,options:{blockQuote:!0,lineWidth:-1}});switch(L[0]){case"|":case">":WV(Z,L);break;case'"':G7(Z,L,"double-quoted-scalar");break;case"'":G7(Z,L,"single-quoted-scalar");break;default:G7(Z,L,"scalar")}}function WV(Z,X){let Q=X.indexOf(`
156
156
  `),U=X.substring(0,Q),J=X.substring(Q+1)+`
157
- `;if(Z.type==="block-scalar"){let $=Z.props[0];if($.type!=="block-scalar-header")throw Error("Invalid block scalar header");$.source=U,Z.source=J}else{let{offset:$}=Z,W="indent"in Z?Z.indent:-1,Y=[{type:"block-scalar-header",offset:$,indent:W,source:U}];if(!bJ(Y,"end"in Z?Z.end:void 0))Y.push({type:"newline",offset:-1,indent:W,source:`
158
- `});for(let G of Object.keys(Z))if(G!=="type"&&G!=="offset")delete Z[G];Object.assign(Z,{type:"block-scalar",indent:W,props:Y,source:J})}}function bJ(Z,X){if(X)for(let Q of X)switch(Q.type){case"space":case"comment":Z.push(Q);break;case"newline":return Z.push(Q),!0}return!1}function L7(Z,X,Q){switch(Z.type){case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":Z.type=Q,Z.source=X;break;case"block-scalar":{let U=Z.props.slice(1),J=X.length;if(Z.props[0].type==="block-scalar-header")J-=Z.props[0].source.length;for(let $ of U)$.offset+=J;delete Z.props,Object.assign(Z,{type:Q,source:X,end:U});break}case"block-map":case"block-seq":{let J={type:"newline",offset:Z.offset+X.length,indent:Z.indent,source:`
159
- `};delete Z.items,Object.assign(Z,{type:Q,source:X,end:[J]});break}default:{let U="indent"in Z?Z.indent:-1,J="end"in Z&&Array.isArray(Z.end)?Z.end.filter(($)=>$.type==="space"||$.type==="comment"||$.type==="newline"):[];for(let $ of Object.keys(Z))if($!=="type"&&$!=="offset")delete Z[$];Object.assign(Z,{type:Q,indent:U,source:X,end:J})}}}var EJ=(Z)=>("type"in Z)?F8(Z):H8(Z);function F8(Z){switch(Z.type){case"block-scalar":{let X="";for(let Q of Z.props)X+=F8(Q);return X+Z.source}case"block-map":case"block-seq":{let X="";for(let Q of Z.items)X+=H8(Q);return X}case"flow-collection":{let X=Z.start.source;for(let Q of Z.items)X+=H8(Q);for(let Q of Z.end)X+=Q.source;return X}case"document":{let X=H8(Z);if(Z.end)for(let Q of Z.end)X+=Q.source;return X}default:{let X=Z.source;if("end"in Z&&Z.end)for(let Q of Z.end)X+=Q.source;return X}}}function H8({start:Z,key:X,sep:Q,value:U}){let J="";for(let $ of Z)J+=$.source;if(X)J+=F8(X);if(Q)for(let $ of Q)J+=$.source;if(U)J+=F8(U);return J}var q7=Symbol("break visit"),Yq=Symbol("skip children"),fJ=Symbol("remove item");function q2(Z,X){if("type"in Z&&Z.type==="document")Z={start:Z.start,value:Z.value};IJ(Object.freeze([]),Z,X)}q2.BREAK=q7;q2.SKIP=Yq;q2.REMOVE=fJ;q2.itemAtPath=(Z,X)=>{let Q=Z;for(let[U,J]of X){let $=Q?.[U];if($&&"items"in $)Q=$.items[J];else return}return Q};q2.parentCollection=(Z,X)=>{let Q=q2.itemAtPath(Z,X.slice(0,-1)),U=X[X.length-1][0],J=Q?.[U];if(J&&"items"in J)return J;throw Error("Parent collection not found")};function IJ(Z,X,Q){let U=Q(X,Z);if(typeof U==="symbol")return U;for(let J of["key","value"]){let $=X[J];if($&&"items"in $){for(let W=0;W<$.items.length;++W){let Y=IJ(Object.freeze(Z.concat([[J,W]])),$.items[W],Q);if(typeof Y==="number")W=Y-1;else if(Y===q7)return q7;else if(Y===fJ)$.items.splice(W,1),W-=1}if(typeof U==="function"&&J==="key")U=U(X,Z)}}return typeof U==="function"?U(X,Z):U}var E6="\uFEFF",f6="\x02",I6="\x18",M4="\x1F",Gq=(Z)=>!!Z&&("items"in Z),Lq=(Z)=>!!Z&&(Z.type==="scalar"||Z.type==="single-quoted-scalar"||Z.type==="double-quoted-scalar"||Z.type==="block-scalar");function qq(Z){switch(Z){case E6:return"<BOM>";case f6:return"<DOC>";case I6:return"<FLOW_END>";case M4:return"<SCALAR>";default:return JSON.stringify(Z)}}function V7(Z){switch(Z){case E6:return"byte-order-mark";case f6:return"doc-mode";case I6:return"flow-error-end";case M4:return"scalar";case"---":return"doc-start";case"...":return"doc-end";case"":case`
157
+ `;if(Z.type==="block-scalar"){let $=Z.props[0];if($.type!=="block-scalar-header")throw Error("Invalid block scalar header");$.source=U,Z.source=J}else{let{offset:$}=Z,W="indent"in Z?Z.indent:-1,Y=[{type:"block-scalar-header",offset:$,indent:W,source:U}];if(!EJ(Y,"end"in Z?Z.end:void 0))Y.push({type:"newline",offset:-1,indent:W,source:`
158
+ `});for(let L of Object.keys(Z))if(L!=="type"&&L!=="offset")delete Z[L];Object.assign(Z,{type:"block-scalar",indent:W,props:Y,source:J})}}function EJ(Z,X){if(X)for(let Q of X)switch(Q.type){case"space":case"comment":Z.push(Q);break;case"newline":return Z.push(Q),!0}return!1}function G7(Z,X,Q){switch(Z.type){case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":Z.type=Q,Z.source=X;break;case"block-scalar":{let U=Z.props.slice(1),J=X.length;if(Z.props[0].type==="block-scalar-header")J-=Z.props[0].source.length;for(let $ of U)$.offset+=J;delete Z.props,Object.assign(Z,{type:Q,source:X,end:U});break}case"block-map":case"block-seq":{let J={type:"newline",offset:Z.offset+X.length,indent:Z.indent,source:`
159
+ `};delete Z.items,Object.assign(Z,{type:Q,source:X,end:[J]});break}default:{let U="indent"in Z?Z.indent:-1,J="end"in Z&&Array.isArray(Z.end)?Z.end.filter(($)=>$.type==="space"||$.type==="comment"||$.type==="newline"):[];for(let $ of Object.keys(Z))if($!=="type"&&$!=="offset")delete Z[$];Object.assign(Z,{type:Q,indent:U,source:X,end:J})}}}var fJ=(Z)=>("type"in Z)?F8(Z):H8(Z);function F8(Z){switch(Z.type){case"block-scalar":{let X="";for(let Q of Z.props)X+=F8(Q);return X+Z.source}case"block-map":case"block-seq":{let X="";for(let Q of Z.items)X+=H8(Q);return X}case"flow-collection":{let X=Z.start.source;for(let Q of Z.items)X+=H8(Q);for(let Q of Z.end)X+=Q.source;return X}case"document":{let X=H8(Z);if(Z.end)for(let Q of Z.end)X+=Q.source;return X}default:{let X=Z.source;if("end"in Z&&Z.end)for(let Q of Z.end)X+=Q.source;return X}}}function H8({start:Z,key:X,sep:Q,value:U}){let J="";for(let $ of Z)J+=$.source;if(X)J+=F8(X);if(Q)for(let $ of Q)J+=$.source;if(U)J+=F8(U);return J}var V7=Symbol("break visit"),YV=Symbol("skip children"),IJ=Symbol("remove item");function V2(Z,X){if("type"in Z&&Z.type==="document")Z={start:Z.start,value:Z.value};yJ(Object.freeze([]),Z,X)}V2.BREAK=V7;V2.SKIP=YV;V2.REMOVE=IJ;V2.itemAtPath=(Z,X)=>{let Q=Z;for(let[U,J]of X){let $=Q?.[U];if($&&"items"in $)Q=$.items[J];else return}return Q};V2.parentCollection=(Z,X)=>{let Q=V2.itemAtPath(Z,X.slice(0,-1)),U=X[X.length-1][0],J=Q?.[U];if(J&&"items"in J)return J;throw Error("Parent collection not found")};function yJ(Z,X,Q){let U=Q(X,Z);if(typeof U==="symbol")return U;for(let J of["key","value"]){let $=X[J];if($&&"items"in $){for(let W=0;W<$.items.length;++W){let Y=yJ(Object.freeze(Z.concat([[J,W]])),$.items[W],Q);if(typeof Y==="number")W=Y-1;else if(Y===V7)return V7;else if(Y===IJ)$.items.splice(W,1),W-=1}if(typeof U==="function"&&J==="key")U=U(X,Z)}}return typeof U==="function"?U(X,Z):U}var E6="\uFEFF",f6="\x02",I6="\x18",M4="\x1F",LV=(Z)=>!!Z&&("items"in Z),GV=(Z)=>!!Z&&(Z.type==="scalar"||Z.type==="single-quoted-scalar"||Z.type==="double-quoted-scalar"||Z.type==="block-scalar");function VV(Z){switch(Z){case E6:return"<BOM>";case f6:return"<DOC>";case I6:return"<FLOW_END>";case M4:return"<SCALAR>";default:return JSON.stringify(Z)}}function q7(Z){switch(Z){case E6:return"byte-order-mark";case f6:return"doc-mode";case I6:return"flow-error-end";case M4:return"scalar";case"---":return"doc-start";case"...":return"doc-end";case"":case`
160
160
  `:case`\r
161
- `:return"newline";case"-":return"seq-item-ind";case"?":return"explicit-key-ind";case":":return"map-value-ind";case"{":return"flow-map-start";case"}":return"flow-map-end";case"[":return"flow-seq-start";case"]":return"flow-seq-end";case",":return"comma"}switch(Z[0]){case" ":case"\t":return"space";case"#":return"comment";case"%":return"directive-line";case"*":return"alias";case"&":return"anchor";case"!":return"tag";case"'":return"single-quoted-scalar";case'"':return"double-quoted-scalar";case"|":case">":return"block-scalar-header"}return null}function H1(Z){switch(Z){case void 0:case" ":case`
162
- `:case"\r":case"\t":return!0;default:return!1}}var yJ=new Set("0123456789ABCDEFabcdef"),Vq=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),B8=new Set(",[]{}"),_q=new Set(` ,[]{}
163
- \r `),z7=(Z)=>!Z||_q.has(Z);class y6{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.pos=0}*lex(Z,X=!1){if(Z){if(typeof Z!=="string")throw TypeError("source is not a string");this.buffer=this.buffer?this.buffer+Z:Z,this.lineEndPos=null}this.atEnd=!X;let Q=this.next??"stream";while(Q&&(X||this.hasChars(1)))Q=yield*this.parseNext(Q)}atLineEnd(){let Z=this.pos,X=this.buffer[Z];while(X===" "||X==="\t")X=this.buffer[++Z];if(!X||X==="#"||X===`
161
+ `:return"newline";case"-":return"seq-item-ind";case"?":return"explicit-key-ind";case":":return"map-value-ind";case"{":return"flow-map-start";case"}":return"flow-map-end";case"[":return"flow-seq-start";case"]":return"flow-seq-end";case",":return"comma"}switch(Z[0]){case" ":case"\t":return"space";case"#":return"comment";case"%":return"directive-line";case"*":return"alias";case"&":return"anchor";case"!":return"tag";case"'":return"single-quoted-scalar";case'"':return"double-quoted-scalar";case"|":case">":return"block-scalar-header"}return null}function F1(Z){switch(Z){case void 0:case" ":case`
162
+ `:case"\r":case"\t":return!0;default:return!1}}var kJ=new Set("0123456789ABCDEFabcdef"),qV=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),B8=new Set(",[]{}"),_V=new Set(` ,[]{}
163
+ \r `),z7=(Z)=>!Z||_V.has(Z);class y6{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.pos=0}*lex(Z,X=!1){if(Z){if(typeof Z!=="string")throw TypeError("source is not a string");this.buffer=this.buffer?this.buffer+Z:Z,this.lineEndPos=null}this.atEnd=!X;let Q=this.next??"stream";while(Q&&(X||this.hasChars(1)))Q=yield*this.parseNext(Q)}atLineEnd(){let Z=this.pos,X=this.buffer[Z];while(X===" "||X==="\t")X=this.buffer[++Z];if(!X||X==="#"||X===`
164
164
  `)return!0;if(X==="\r")return this.buffer[Z+1]===`
165
165
  `;return!1}charAt(Z){return this.buffer[this.pos+Z]}continueScalar(Z){let X=this.buffer[Z];if(this.indentNext>0){let Q=0;while(X===" ")X=this.buffer[++Q+Z];if(X==="\r"){let U=this.buffer[Q+Z+1];if(U===`
166
166
  `||!U&&!this.atEnd)return Z+Q+1}return X===`
167
- `||Q>=this.indentNext||!X&&!this.atEnd?Z+Q:-1}if(X==="-"||X==="."){let Q=this.buffer.substr(Z,3);if((Q==="---"||Q==="...")&&H1(this.buffer[Z+3]))return-1}return Z}getLine(){let Z=this.lineEndPos;if(typeof Z!=="number"||Z!==-1&&Z<this.pos)Z=this.buffer.indexOf(`
168
- `,this.pos),this.lineEndPos=Z;if(Z===-1)return this.atEnd?this.buffer.substring(this.pos):null;if(this.buffer[Z-1]==="\r")Z-=1;return this.buffer.substring(this.pos,Z)}hasChars(Z){return this.pos+Z<=this.buffer.length}setNext(Z){return this.buffer=this.buffer.substring(this.pos),this.pos=0,this.lineEndPos=null,this.next=Z,null}peek(Z){return this.buffer.substr(this.pos,Z)}*parseNext(Z){switch(Z){case"stream":return yield*this.parseStream();case"line-start":return yield*this.parseLineStart();case"block-start":return yield*this.parseBlockStart();case"doc":return yield*this.parseDocument();case"flow":return yield*this.parseFlowCollection();case"quoted-scalar":return yield*this.parseQuotedScalar();case"block-scalar":return yield*this.parseBlockScalar();case"plain-scalar":return yield*this.parsePlainScalar()}}*parseStream(){let Z=this.getLine();if(Z===null)return this.setNext("stream");if(Z[0]===E6)yield*this.pushCount(1),Z=Z.substring(1);if(Z[0]==="%"){let X=Z.length,Q=Z.indexOf("#");while(Q!==-1){let J=Z[Q-1];if(J===" "||J==="\t"){X=Q-1;break}else Q=Z.indexOf("#",Q+1)}while(!0){let J=Z[X-1];if(J===" "||J==="\t")X-=1;else break}let U=(yield*this.pushCount(X))+(yield*this.pushSpaces(!0));return yield*this.pushCount(Z.length-U),this.pushNewline(),"stream"}if(this.atLineEnd()){let X=yield*this.pushSpaces(!0);return yield*this.pushCount(Z.length-X),yield*this.pushNewline(),"stream"}return yield f6,yield*this.parseLineStart()}*parseLineStart(){let Z=this.charAt(0);if(!Z&&!this.atEnd)return this.setNext("line-start");if(Z==="-"||Z==="."){if(!this.atEnd&&!this.hasChars(4))return this.setNext("line-start");let X=this.peek(3);if((X==="---"||X==="...")&&H1(this.charAt(3)))return yield*this.pushCount(3),this.indentValue=0,this.indentNext=0,X==="---"?"doc":"stream"}if(this.indentValue=yield*this.pushSpaces(!1),this.indentNext>this.indentValue&&!H1(this.charAt(1)))this.indentNext=this.indentValue;return yield*this.parseBlockStart()}*parseBlockStart(){let[Z,X]=this.peek(2);if(!X&&!this.atEnd)return this.setNext("block-start");if((Z==="-"||Z==="?"||Z===":")&&H1(X)){let Q=(yield*this.pushCount(1))+(yield*this.pushSpaces(!0));return this.indentNext=this.indentValue+1,this.indentValue+=Q,yield*this.parseBlockStart()}return"doc"}*parseDocument(){yield*this.pushSpaces(!0);let Z=this.getLine();if(Z===null)return this.setNext("doc");let X=yield*this.pushIndicators();switch(Z[X]){case"#":yield*this.pushCount(Z.length-X);case void 0:return yield*this.pushNewline(),yield*this.parseLineStart();case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel=1,"flow";case"}":case"]":return yield*this.pushCount(1),"doc";case"*":return yield*this.pushUntil(z7),"doc";case'"':case"'":return yield*this.parseQuotedScalar();case"|":case">":return X+=yield*this.parseBlockScalarHeader(),X+=yield*this.pushSpaces(!0),yield*this.pushCount(Z.length-X),yield*this.pushNewline(),yield*this.parseBlockScalar();default:return yield*this.parsePlainScalar()}}*parseFlowCollection(){let Z,X,Q=-1;do{if(Z=yield*this.pushNewline(),Z>0)X=yield*this.pushSpaces(!1),this.indentValue=Q=X;else X=0;X+=yield*this.pushSpaces(!0)}while(Z+X>0);let U=this.getLine();if(U===null)return this.setNext("flow");if(Q!==-1&&Q<this.indentNext&&U[0]!=="#"||Q===0&&(U.startsWith("---")||U.startsWith("..."))&&H1(U[3])){if(!(Q===this.indentNext-1&&this.flowLevel===1&&(U[0]==="]"||U[0]==="}")))return this.flowLevel=0,yield I6,yield*this.parseLineStart()}let J=0;while(U[J]===",")J+=yield*this.pushCount(1),J+=yield*this.pushSpaces(!0),this.flowKey=!1;switch(J+=yield*this.pushIndicators(),U[J]){case void 0:return"flow";case"#":return yield*this.pushCount(U.length-J),"flow";case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel+=1,"flow";case"}":case"]":return yield*this.pushCount(1),this.flowKey=!0,this.flowLevel-=1,this.flowLevel?"flow":"doc";case"*":return yield*this.pushUntil(z7),"flow";case'"':case"'":return this.flowKey=!0,yield*this.parseQuotedScalar();case":":{let $=this.charAt(1);if(this.flowKey||H1($)||$===",")return this.flowKey=!1,yield*this.pushCount(1),yield*this.pushSpaces(!0),"flow"}default:return this.flowKey=!1,yield*this.parsePlainScalar()}}*parseQuotedScalar(){let Z=this.charAt(0),X=this.buffer.indexOf(Z,this.pos+1);if(Z==="'")while(X!==-1&&this.buffer[X+1]==="'")X=this.buffer.indexOf("'",X+2);else while(X!==-1){let J=0;while(this.buffer[X-1-J]==="\\")J+=1;if(J%2===0)break;X=this.buffer.indexOf('"',X+1)}let Q=this.buffer.substring(0,X),U=Q.indexOf(`
167
+ `||Q>=this.indentNext||!X&&!this.atEnd?Z+Q:-1}if(X==="-"||X==="."){let Q=this.buffer.substr(Z,3);if((Q==="---"||Q==="...")&&F1(this.buffer[Z+3]))return-1}return Z}getLine(){let Z=this.lineEndPos;if(typeof Z!=="number"||Z!==-1&&Z<this.pos)Z=this.buffer.indexOf(`
168
+ `,this.pos),this.lineEndPos=Z;if(Z===-1)return this.atEnd?this.buffer.substring(this.pos):null;if(this.buffer[Z-1]==="\r")Z-=1;return this.buffer.substring(this.pos,Z)}hasChars(Z){return this.pos+Z<=this.buffer.length}setNext(Z){return this.buffer=this.buffer.substring(this.pos),this.pos=0,this.lineEndPos=null,this.next=Z,null}peek(Z){return this.buffer.substr(this.pos,Z)}*parseNext(Z){switch(Z){case"stream":return yield*this.parseStream();case"line-start":return yield*this.parseLineStart();case"block-start":return yield*this.parseBlockStart();case"doc":return yield*this.parseDocument();case"flow":return yield*this.parseFlowCollection();case"quoted-scalar":return yield*this.parseQuotedScalar();case"block-scalar":return yield*this.parseBlockScalar();case"plain-scalar":return yield*this.parsePlainScalar()}}*parseStream(){let Z=this.getLine();if(Z===null)return this.setNext("stream");if(Z[0]===E6)yield*this.pushCount(1),Z=Z.substring(1);if(Z[0]==="%"){let X=Z.length,Q=Z.indexOf("#");while(Q!==-1){let J=Z[Q-1];if(J===" "||J==="\t"){X=Q-1;break}else Q=Z.indexOf("#",Q+1)}while(!0){let J=Z[X-1];if(J===" "||J==="\t")X-=1;else break}let U=(yield*this.pushCount(X))+(yield*this.pushSpaces(!0));return yield*this.pushCount(Z.length-U),this.pushNewline(),"stream"}if(this.atLineEnd()){let X=yield*this.pushSpaces(!0);return yield*this.pushCount(Z.length-X),yield*this.pushNewline(),"stream"}return yield f6,yield*this.parseLineStart()}*parseLineStart(){let Z=this.charAt(0);if(!Z&&!this.atEnd)return this.setNext("line-start");if(Z==="-"||Z==="."){if(!this.atEnd&&!this.hasChars(4))return this.setNext("line-start");let X=this.peek(3);if((X==="---"||X==="...")&&F1(this.charAt(3)))return yield*this.pushCount(3),this.indentValue=0,this.indentNext=0,X==="---"?"doc":"stream"}if(this.indentValue=yield*this.pushSpaces(!1),this.indentNext>this.indentValue&&!F1(this.charAt(1)))this.indentNext=this.indentValue;return yield*this.parseBlockStart()}*parseBlockStart(){let[Z,X]=this.peek(2);if(!X&&!this.atEnd)return this.setNext("block-start");if((Z==="-"||Z==="?"||Z===":")&&F1(X)){let Q=(yield*this.pushCount(1))+(yield*this.pushSpaces(!0));return this.indentNext=this.indentValue+1,this.indentValue+=Q,yield*this.parseBlockStart()}return"doc"}*parseDocument(){yield*this.pushSpaces(!0);let Z=this.getLine();if(Z===null)return this.setNext("doc");let X=yield*this.pushIndicators();switch(Z[X]){case"#":yield*this.pushCount(Z.length-X);case void 0:return yield*this.pushNewline(),yield*this.parseLineStart();case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel=1,"flow";case"}":case"]":return yield*this.pushCount(1),"doc";case"*":return yield*this.pushUntil(z7),"doc";case'"':case"'":return yield*this.parseQuotedScalar();case"|":case">":return X+=yield*this.parseBlockScalarHeader(),X+=yield*this.pushSpaces(!0),yield*this.pushCount(Z.length-X),yield*this.pushNewline(),yield*this.parseBlockScalar();default:return yield*this.parsePlainScalar()}}*parseFlowCollection(){let Z,X,Q=-1;do{if(Z=yield*this.pushNewline(),Z>0)X=yield*this.pushSpaces(!1),this.indentValue=Q=X;else X=0;X+=yield*this.pushSpaces(!0)}while(Z+X>0);let U=this.getLine();if(U===null)return this.setNext("flow");if(Q!==-1&&Q<this.indentNext&&U[0]!=="#"||Q===0&&(U.startsWith("---")||U.startsWith("..."))&&F1(U[3])){if(!(Q===this.indentNext-1&&this.flowLevel===1&&(U[0]==="]"||U[0]==="}")))return this.flowLevel=0,yield I6,yield*this.parseLineStart()}let J=0;while(U[J]===",")J+=yield*this.pushCount(1),J+=yield*this.pushSpaces(!0),this.flowKey=!1;switch(J+=yield*this.pushIndicators(),U[J]){case void 0:return"flow";case"#":return yield*this.pushCount(U.length-J),"flow";case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel+=1,"flow";case"}":case"]":return yield*this.pushCount(1),this.flowKey=!0,this.flowLevel-=1,this.flowLevel?"flow":"doc";case"*":return yield*this.pushUntil(z7),"flow";case'"':case"'":return this.flowKey=!0,yield*this.parseQuotedScalar();case":":{let $=this.charAt(1);if(this.flowKey||F1($)||$===",")return this.flowKey=!1,yield*this.pushCount(1),yield*this.pushSpaces(!0),"flow"}default:return this.flowKey=!1,yield*this.parsePlainScalar()}}*parseQuotedScalar(){let Z=this.charAt(0),X=this.buffer.indexOf(Z,this.pos+1);if(Z==="'")while(X!==-1&&this.buffer[X+1]==="'")X=this.buffer.indexOf("'",X+2);else while(X!==-1){let J=0;while(this.buffer[X-1-J]==="\\")J+=1;if(J%2===0)break;X=this.buffer.indexOf('"',X+1)}let Q=this.buffer.substring(0,X),U=Q.indexOf(`
169
169
  `,this.pos);if(U!==-1){while(U!==-1){let J=this.continueScalar(U+1);if(J===-1)break;U=Q.indexOf(`
170
- `,J)}if(U!==-1)X=U-(Q[U-1]==="\r"?2:1)}if(X===-1){if(!this.atEnd)return this.setNext("quoted-scalar");X=this.buffer.length}return yield*this.pushToIndex(X+1,!1),this.flowLevel?"flow":"doc"}*parseBlockScalarHeader(){this.blockScalarIndent=-1,this.blockScalarKeep=!1;let Z=this.pos;while(!0){let X=this.buffer[++Z];if(X==="+")this.blockScalarKeep=!0;else if(X>"0"&&X<="9")this.blockScalarIndent=Number(X)-1;else if(X!=="-")break}return yield*this.pushUntil((X)=>H1(X)||X==="#")}*parseBlockScalar(){let Z=this.pos-1,X=0,Q;Z:for(let J=this.pos;Q=this.buffer[J];++J)switch(Q){case" ":X+=1;break;case`
170
+ `,J)}if(U!==-1)X=U-(Q[U-1]==="\r"?2:1)}if(X===-1){if(!this.atEnd)return this.setNext("quoted-scalar");X=this.buffer.length}return yield*this.pushToIndex(X+1,!1),this.flowLevel?"flow":"doc"}*parseBlockScalarHeader(){this.blockScalarIndent=-1,this.blockScalarKeep=!1;let Z=this.pos;while(!0){let X=this.buffer[++Z];if(X==="+")this.blockScalarKeep=!0;else if(X>"0"&&X<="9")this.blockScalarIndent=Number(X)-1;else if(X!=="-")break}return yield*this.pushUntil((X)=>F1(X)||X==="#")}*parseBlockScalar(){let Z=this.pos-1,X=0,Q;Z:for(let J=this.pos;Q=this.buffer[J];++J)switch(Q){case" ":X+=1;break;case`
171
171
  `:Z=J,X=0;break;case"\r":{let $=this.buffer[J+1];if(!$&&!this.atEnd)return this.setNext("block-scalar");if($===`
172
172
  `)break}default:break Z}if(!Q&&!this.atEnd)return this.setNext("block-scalar");if(X>=this.indentNext){if(this.blockScalarIndent===-1)this.indentNext=X;else this.indentNext=this.blockScalarIndent+(this.indentNext===0?1:this.indentNext);do{let J=this.continueScalar(Z+1);if(J===-1)break;Z=this.buffer.indexOf(`
173
173
  `,J)}while(Z!==-1);if(Z===-1){if(!this.atEnd)return this.setNext("block-scalar");Z=this.buffer.length}}let U=Z+1;Q=this.buffer[U];while(Q===" ")Q=this.buffer[++U];if(Q==="\t"){while(Q==="\t"||Q===" "||Q==="\r"||Q===`
174
174
  `)Q=this.buffer[++U];Z=U-1}else if(!this.blockScalarKeep)do{let J=Z-1,$=this.buffer[J];if($==="\r")$=this.buffer[--J];let W=J;while($===" ")$=this.buffer[--J];if($===`
175
- `&&J>=this.pos&&J+1+X>W)Z=J;else break}while(!0);return yield M4,yield*this.pushToIndex(Z+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){let Z=this.flowLevel>0,X=this.pos-1,Q=this.pos-1,U;while(U=this.buffer[++Q])if(U===":"){let J=this.buffer[Q+1];if(H1(J)||Z&&B8.has(J))break;X=Q}else if(H1(U)){let J=this.buffer[Q+1];if(U==="\r")if(J===`
175
+ `&&J>=this.pos&&J+1+X>W)Z=J;else break}while(!0);return yield M4,yield*this.pushToIndex(Z+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){let Z=this.flowLevel>0,X=this.pos-1,Q=this.pos-1,U;while(U=this.buffer[++Q])if(U===":"){let J=this.buffer[Q+1];if(F1(J)||Z&&B8.has(J))break;X=Q}else if(F1(U)){let J=this.buffer[Q+1];if(U==="\r")if(J===`
176
176
  `)Q+=1,U=`
177
177
  `,J=this.buffer[Q+1];else X=Q;if(J==="#"||Z&&B8.has(J))break;if(U===`
178
- `){let $=this.continueScalar(Q+1);if($===-1)break;Q=Math.max(Q,$-2)}}else{if(Z&&B8.has(U))break;X=Q}if(!U&&!this.atEnd)return this.setNext("plain-scalar");return yield M4,yield*this.pushToIndex(X+1,!0),Z?"flow":"doc"}*pushCount(Z){if(Z>0)return yield this.buffer.substr(this.pos,Z),this.pos+=Z,Z;return 0}*pushToIndex(Z,X){let Q=this.buffer.slice(this.pos,Z);if(Q)return yield Q,this.pos+=Q.length,Q.length;else if(X)yield"";return 0}*pushIndicators(){switch(this.charAt(0)){case"!":return(yield*this.pushTag())+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"&":return(yield*this.pushUntil(z7))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"-":case"?":case":":{let Z=this.flowLevel>0,X=this.charAt(1);if(H1(X)||Z&&B8.has(X)){if(!Z)this.indentNext=this.indentValue+1;else if(this.flowKey)this.flowKey=!1;return(yield*this.pushCount(1))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators())}}}return 0}*pushTag(){if(this.charAt(1)==="<"){let Z=this.pos+2,X=this.buffer[Z];while(!H1(X)&&X!==">")X=this.buffer[++Z];return yield*this.pushToIndex(X===">"?Z+1:Z,!1)}else{let Z=this.pos+1,X=this.buffer[Z];while(X)if(Vq.has(X))X=this.buffer[++Z];else if(X==="%"&&yJ.has(this.buffer[Z+1])&&yJ.has(this.buffer[Z+2]))X=this.buffer[Z+=3];else break;return yield*this.pushToIndex(Z,!1)}}*pushNewline(){let Z=this.buffer[this.pos];if(Z===`
178
+ `){let $=this.continueScalar(Q+1);if($===-1)break;Q=Math.max(Q,$-2)}}else{if(Z&&B8.has(U))break;X=Q}if(!U&&!this.atEnd)return this.setNext("plain-scalar");return yield M4,yield*this.pushToIndex(X+1,!0),Z?"flow":"doc"}*pushCount(Z){if(Z>0)return yield this.buffer.substr(this.pos,Z),this.pos+=Z,Z;return 0}*pushToIndex(Z,X){let Q=this.buffer.slice(this.pos,Z);if(Q)return yield Q,this.pos+=Q.length,Q.length;else if(X)yield"";return 0}*pushIndicators(){switch(this.charAt(0)){case"!":return(yield*this.pushTag())+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"&":return(yield*this.pushUntil(z7))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"-":case"?":case":":{let Z=this.flowLevel>0,X=this.charAt(1);if(F1(X)||Z&&B8.has(X)){if(!Z)this.indentNext=this.indentValue+1;else if(this.flowKey)this.flowKey=!1;return(yield*this.pushCount(1))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators())}}}return 0}*pushTag(){if(this.charAt(1)==="<"){let Z=this.pos+2,X=this.buffer[Z];while(!F1(X)&&X!==">")X=this.buffer[++Z];return yield*this.pushToIndex(X===">"?Z+1:Z,!1)}else{let Z=this.pos+1,X=this.buffer[Z];while(X)if(qV.has(X))X=this.buffer[++Z];else if(X==="%"&&kJ.has(this.buffer[Z+1])&&kJ.has(this.buffer[Z+2]))X=this.buffer[Z+=3];else break;return yield*this.pushToIndex(Z,!1)}}*pushNewline(){let Z=this.buffer[this.pos];if(Z===`
179
179
  `)return yield*this.pushCount(1);else if(Z==="\r"&&this.charAt(1)===`
180
- `)return yield*this.pushCount(2);else return 0}*pushSpaces(Z){let X=this.pos-1,Q;do Q=this.buffer[++X];while(Q===" "||Z&&Q==="\t");let U=X-this.pos;if(U>0)yield this.buffer.substr(this.pos,U),this.pos=X;return U}*pushUntil(Z){let X=this.pos,Q=this.buffer[X];while(!Z(Q))Q=this.buffer[++X];return yield*this.pushToIndex(X,!1)}}class k6{constructor(){this.lineStarts=[],this.addNewLine=(Z)=>this.lineStarts.push(Z),this.linePos=(Z)=>{let X=0,Q=this.lineStarts.length;while(X<Q){let J=X+Q>>1;if(this.lineStarts[J]<Z)X=J+1;else Q=J}if(this.lineStarts[X]===Z)return{line:X+1,col:1};if(X===0)return{line:0,col:Z};let U=this.lineStarts[X-1];return{line:X,col:Z-U+1}}}}function V2(Z,X){for(let Q=0;Q<Z.length;++Q)if(Z[Q].type===X)return!0;return!1}function kJ(Z){for(let X=0;X<Z.length;++X)switch(Z[X].type){case"space":case"comment":case"newline":break;default:return X}return-1}function vJ(Z){switch(Z?.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"flow-collection":return!0;default:return!1}}function M8(Z){switch(Z.type){case"document":return Z.start;case"block-map":{let X=Z.items[Z.items.length-1];return X.sep??X.start}case"block-seq":return Z.items[Z.items.length-1].start;default:return[]}}function R4(Z){if(Z.length===0)return[];let X=Z.length;Z:while(--X>=0)switch(Z[X].type){case"doc-start":case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":case"newline":break Z}while(Z[++X]?.type==="space");return Z.splice(X,Z.length)}function gJ(Z){if(Z.start.type==="flow-seq-start"){for(let X of Z.items)if(X.sep&&!X.value&&!V2(X.start,"explicit-key-ind")&&!V2(X.sep,"map-value-ind")){if(X.key)X.value=X.key;if(delete X.key,vJ(X.value))if(X.value.end)Array.prototype.push.apply(X.value.end,X.sep);else X.value.end=X.sep;else Array.prototype.push.apply(X.start,X.sep);delete X.sep}}}class O4{constructor(Z){this.atNewLine=!0,this.atScalar=!1,this.indent=0,this.offset=0,this.onKeyLine=!1,this.stack=[],this.source="",this.type="",this.lexer=new y6,this.onNewLine=Z}*parse(Z,X=!1){if(this.onNewLine&&this.offset===0)this.onNewLine(0);for(let Q of this.lexer.lex(Z,X))yield*this.next(Q);if(!X)yield*this.end()}*next(Z){if(this.source=Z,this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=Z.length;return}let X=V7(Z);if(!X){let Q=`Not a YAML token: ${Z}`;yield*this.pop({type:"error",offset:this.offset,message:Q,source:Z}),this.offset+=Z.length}else if(X==="scalar")this.atNewLine=!1,this.atScalar=!0,this.type="scalar";else{switch(this.type=X,yield*this.step(),X){case"newline":if(this.atNewLine=!0,this.indent=0,this.onNewLine)this.onNewLine(this.offset+Z.length);break;case"space":if(this.atNewLine&&Z[0]===" ")this.indent+=Z.length;break;case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":if(this.atNewLine)this.indent+=Z.length;break;case"doc-mode":case"flow-error-end":return;default:this.atNewLine=!1}this.offset+=Z.length}}*end(){while(this.stack.length>0)yield*this.pop()}get sourceToken(){return{type:this.type,offset:this.offset,indent:this.indent,source:this.source}}*step(){let Z=this.peek(1);if(this.type==="doc-end"&&Z?.type!=="doc-end"){while(this.stack.length>0)yield*this.pop();this.stack.push({type:"doc-end",offset:this.offset,source:this.source});return}if(!Z)return yield*this.stream();switch(Z.type){case"document":return yield*this.document(Z);case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return yield*this.scalar(Z);case"block-scalar":return yield*this.blockScalar(Z);case"block-map":return yield*this.blockMap(Z);case"block-seq":return yield*this.blockSequence(Z);case"flow-collection":return yield*this.flowCollection(Z);case"doc-end":return yield*this.documentEnd(Z)}yield*this.pop()}peek(Z){return this.stack[this.stack.length-Z]}*pop(Z){let X=Z??this.stack.pop();if(!X)yield{type:"error",offset:this.offset,source:"",message:"Tried to pop an empty stack"};else if(this.stack.length===0)yield X;else{let Q=this.peek(1);if(X.type==="block-scalar")X.indent="indent"in Q?Q.indent:0;else if(X.type==="flow-collection"&&Q.type==="document")X.indent=0;if(X.type==="flow-collection")gJ(X);switch(Q.type){case"document":Q.value=X;break;case"block-scalar":Q.props.push(X);break;case"block-map":{let U=Q.items[Q.items.length-1];if(U.value){Q.items.push({start:[],key:X,sep:[]}),this.onKeyLine=!0;return}else if(U.sep)U.value=X;else{Object.assign(U,{key:X,sep:[]}),this.onKeyLine=!U.explicitKey;return}break}case"block-seq":{let U=Q.items[Q.items.length-1];if(U.value)Q.items.push({start:[],value:X});else U.value=X;break}case"flow-collection":{let U=Q.items[Q.items.length-1];if(!U||U.value)Q.items.push({start:[],key:X,sep:[]});else if(U.sep)U.value=X;else Object.assign(U,{key:X,sep:[]});return}default:yield*this.pop(),yield*this.pop(X)}if((Q.type==="document"||Q.type==="block-map"||Q.type==="block-seq")&&(X.type==="block-map"||X.type==="block-seq")){let U=X.items[X.items.length-1];if(U&&!U.sep&&!U.value&&U.start.length>0&&kJ(U.start)===-1&&(X.indent===0||U.start.every((J)=>J.type!=="comment"||J.indent<X.indent))){if(Q.type==="document")Q.end=U.start;else Q.items.push({start:U.start});X.items.splice(-1,1)}}}}*stream(){switch(this.type){case"directive-line":yield{type:"directive",offset:this.offset,source:this.source};return;case"byte-order-mark":case"space":case"comment":case"newline":yield this.sourceToken;return;case"doc-mode":case"doc-start":{let Z={type:"document",offset:this.offset,start:[]};if(this.type==="doc-start")Z.start.push(this.sourceToken);this.stack.push(Z);return}}yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML stream`,source:this.source}}*document(Z){if(Z.value)return yield*this.lineEnd(Z);switch(this.type){case"doc-start":{if(kJ(Z.start)!==-1)yield*this.pop(),yield*this.step();else Z.start.push(this.sourceToken);return}case"anchor":case"tag":case"space":case"comment":case"newline":Z.start.push(this.sourceToken);return}let X=this.startBlockValue(Z);if(X)this.stack.push(X);else yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML document`,source:this.source}}*scalar(Z){if(this.type==="map-value-ind"){let X=M8(this.peek(2)),Q=R4(X),U;if(Z.end)U=Z.end,U.push(this.sourceToken),delete Z.end;else U=[this.sourceToken];let J={type:"block-map",offset:Z.offset,indent:Z.indent,items:[{start:Q,key:Z,sep:U}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=J}else yield*this.lineEnd(Z)}*blockScalar(Z){switch(this.type){case"space":case"comment":case"newline":Z.props.push(this.sourceToken);return;case"scalar":if(Z.source=this.source,this.atNewLine=!0,this.indent=0,this.onNewLine){let X=this.source.indexOf(`
180
+ `)return yield*this.pushCount(2);else return 0}*pushSpaces(Z){let X=this.pos-1,Q;do Q=this.buffer[++X];while(Q===" "||Z&&Q==="\t");let U=X-this.pos;if(U>0)yield this.buffer.substr(this.pos,U),this.pos=X;return U}*pushUntil(Z){let X=this.pos,Q=this.buffer[X];while(!Z(Q))Q=this.buffer[++X];return yield*this.pushToIndex(X,!1)}}class k6{constructor(){this.lineStarts=[],this.addNewLine=(Z)=>this.lineStarts.push(Z),this.linePos=(Z)=>{let X=0,Q=this.lineStarts.length;while(X<Q){let J=X+Q>>1;if(this.lineStarts[J]<Z)X=J+1;else Q=J}if(this.lineStarts[X]===Z)return{line:X+1,col:1};if(X===0)return{line:0,col:Z};let U=this.lineStarts[X-1];return{line:X,col:Z-U+1}}}}function q2(Z,X){for(let Q=0;Q<Z.length;++Q)if(Z[Q].type===X)return!0;return!1}function gJ(Z){for(let X=0;X<Z.length;++X)switch(Z[X].type){case"space":case"comment":case"newline":break;default:return X}return-1}function xJ(Z){switch(Z?.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"flow-collection":return!0;default:return!1}}function M8(Z){switch(Z.type){case"document":return Z.start;case"block-map":{let X=Z.items[Z.items.length-1];return X.sep??X.start}case"block-seq":return Z.items[Z.items.length-1].start;default:return[]}}function R4(Z){if(Z.length===0)return[];let X=Z.length;Z:while(--X>=0)switch(Z[X].type){case"doc-start":case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":case"newline":break Z}while(Z[++X]?.type==="space");return Z.splice(X,Z.length)}function vJ(Z){if(Z.start.type==="flow-seq-start"){for(let X of Z.items)if(X.sep&&!X.value&&!q2(X.start,"explicit-key-ind")&&!q2(X.sep,"map-value-ind")){if(X.key)X.value=X.key;if(delete X.key,xJ(X.value))if(X.value.end)Array.prototype.push.apply(X.value.end,X.sep);else X.value.end=X.sep;else Array.prototype.push.apply(X.start,X.sep);delete X.sep}}}class O4{constructor(Z){this.atNewLine=!0,this.atScalar=!1,this.indent=0,this.offset=0,this.onKeyLine=!1,this.stack=[],this.source="",this.type="",this.lexer=new y6,this.onNewLine=Z}*parse(Z,X=!1){if(this.onNewLine&&this.offset===0)this.onNewLine(0);for(let Q of this.lexer.lex(Z,X))yield*this.next(Q);if(!X)yield*this.end()}*next(Z){if(this.source=Z,this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=Z.length;return}let X=q7(Z);if(!X){let Q=`Not a YAML token: ${Z}`;yield*this.pop({type:"error",offset:this.offset,message:Q,source:Z}),this.offset+=Z.length}else if(X==="scalar")this.atNewLine=!1,this.atScalar=!0,this.type="scalar";else{switch(this.type=X,yield*this.step(),X){case"newline":if(this.atNewLine=!0,this.indent=0,this.onNewLine)this.onNewLine(this.offset+Z.length);break;case"space":if(this.atNewLine&&Z[0]===" ")this.indent+=Z.length;break;case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":if(this.atNewLine)this.indent+=Z.length;break;case"doc-mode":case"flow-error-end":return;default:this.atNewLine=!1}this.offset+=Z.length}}*end(){while(this.stack.length>0)yield*this.pop()}get sourceToken(){return{type:this.type,offset:this.offset,indent:this.indent,source:this.source}}*step(){let Z=this.peek(1);if(this.type==="doc-end"&&Z?.type!=="doc-end"){while(this.stack.length>0)yield*this.pop();this.stack.push({type:"doc-end",offset:this.offset,source:this.source});return}if(!Z)return yield*this.stream();switch(Z.type){case"document":return yield*this.document(Z);case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return yield*this.scalar(Z);case"block-scalar":return yield*this.blockScalar(Z);case"block-map":return yield*this.blockMap(Z);case"block-seq":return yield*this.blockSequence(Z);case"flow-collection":return yield*this.flowCollection(Z);case"doc-end":return yield*this.documentEnd(Z)}yield*this.pop()}peek(Z){return this.stack[this.stack.length-Z]}*pop(Z){let X=Z??this.stack.pop();if(!X)yield{type:"error",offset:this.offset,source:"",message:"Tried to pop an empty stack"};else if(this.stack.length===0)yield X;else{let Q=this.peek(1);if(X.type==="block-scalar")X.indent="indent"in Q?Q.indent:0;else if(X.type==="flow-collection"&&Q.type==="document")X.indent=0;if(X.type==="flow-collection")vJ(X);switch(Q.type){case"document":Q.value=X;break;case"block-scalar":Q.props.push(X);break;case"block-map":{let U=Q.items[Q.items.length-1];if(U.value){Q.items.push({start:[],key:X,sep:[]}),this.onKeyLine=!0;return}else if(U.sep)U.value=X;else{Object.assign(U,{key:X,sep:[]}),this.onKeyLine=!U.explicitKey;return}break}case"block-seq":{let U=Q.items[Q.items.length-1];if(U.value)Q.items.push({start:[],value:X});else U.value=X;break}case"flow-collection":{let U=Q.items[Q.items.length-1];if(!U||U.value)Q.items.push({start:[],key:X,sep:[]});else if(U.sep)U.value=X;else Object.assign(U,{key:X,sep:[]});return}default:yield*this.pop(),yield*this.pop(X)}if((Q.type==="document"||Q.type==="block-map"||Q.type==="block-seq")&&(X.type==="block-map"||X.type==="block-seq")){let U=X.items[X.items.length-1];if(U&&!U.sep&&!U.value&&U.start.length>0&&gJ(U.start)===-1&&(X.indent===0||U.start.every((J)=>J.type!=="comment"||J.indent<X.indent))){if(Q.type==="document")Q.end=U.start;else Q.items.push({start:U.start});X.items.splice(-1,1)}}}}*stream(){switch(this.type){case"directive-line":yield{type:"directive",offset:this.offset,source:this.source};return;case"byte-order-mark":case"space":case"comment":case"newline":yield this.sourceToken;return;case"doc-mode":case"doc-start":{let Z={type:"document",offset:this.offset,start:[]};if(this.type==="doc-start")Z.start.push(this.sourceToken);this.stack.push(Z);return}}yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML stream`,source:this.source}}*document(Z){if(Z.value)return yield*this.lineEnd(Z);switch(this.type){case"doc-start":{if(gJ(Z.start)!==-1)yield*this.pop(),yield*this.step();else Z.start.push(this.sourceToken);return}case"anchor":case"tag":case"space":case"comment":case"newline":Z.start.push(this.sourceToken);return}let X=this.startBlockValue(Z);if(X)this.stack.push(X);else yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML document`,source:this.source}}*scalar(Z){if(this.type==="map-value-ind"){let X=M8(this.peek(2)),Q=R4(X),U;if(Z.end)U=Z.end,U.push(this.sourceToken),delete Z.end;else U=[this.sourceToken];let J={type:"block-map",offset:Z.offset,indent:Z.indent,items:[{start:Q,key:Z,sep:U}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=J}else yield*this.lineEnd(Z)}*blockScalar(Z){switch(this.type){case"space":case"comment":case"newline":Z.props.push(this.sourceToken);return;case"scalar":if(Z.source=this.source,this.atNewLine=!0,this.indent=0,this.onNewLine){let X=this.source.indexOf(`
181
181
  `)+1;while(X!==0)this.onNewLine(this.offset+X),X=this.source.indexOf(`
182
- `,X)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(Z){let X=Z.items[Z.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,X.value){let Q="end"in X.value?X.value.end:void 0;if((Array.isArray(Q)?Q[Q.length-1]:void 0)?.type==="comment")Q?.push(this.sourceToken);else Z.items.push({start:[this.sourceToken]})}else if(X.sep)X.sep.push(this.sourceToken);else X.start.push(this.sourceToken);return;case"space":case"comment":if(X.value)Z.items.push({start:[this.sourceToken]});else if(X.sep)X.sep.push(this.sourceToken);else{if(this.atIndentedComment(X.start,Z.indent)){let U=Z.items[Z.items.length-2]?.value?.end;if(Array.isArray(U)){Array.prototype.push.apply(U,X.start),U.push(this.sourceToken),Z.items.pop();return}}X.start.push(this.sourceToken)}return}if(this.indent>=Z.indent){let Q=!this.onKeyLine&&this.indent===Z.indent,U=Q&&(X.sep||X.explicitKey)&&this.type!=="seq-item-ind",J=[];if(U&&X.sep&&!X.value){let $=[];for(let W=0;W<X.sep.length;++W){let Y=X.sep[W];switch(Y.type){case"newline":$.push(W);break;case"space":break;case"comment":if(Y.indent>Z.indent)$.length=0;break;default:$.length=0}}if($.length>=2)J=X.sep.splice($[1])}switch(this.type){case"anchor":case"tag":if(U||X.value)J.push(this.sourceToken),Z.items.push({start:J}),this.onKeyLine=!0;else if(X.sep)X.sep.push(this.sourceToken);else X.start.push(this.sourceToken);return;case"explicit-key-ind":if(!X.sep&&!X.explicitKey)X.start.push(this.sourceToken),X.explicitKey=!0;else if(U||X.value)J.push(this.sourceToken),Z.items.push({start:J,explicitKey:!0});else this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken],explicitKey:!0}]});this.onKeyLine=!0;return;case"map-value-ind":if(X.explicitKey)if(!X.sep)if(V2(X.start,"newline"))Object.assign(X,{key:null,sep:[this.sourceToken]});else{let $=R4(X.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:$,key:null,sep:[this.sourceToken]}]})}else if(X.value)Z.items.push({start:[],key:null,sep:[this.sourceToken]});else if(V2(X.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:J,key:null,sep:[this.sourceToken]}]});else if(vJ(X.key)&&!V2(X.sep,"newline")){let $=R4(X.start),W=X.key,Y=X.sep;Y.push(this.sourceToken),delete X.key,delete X.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:$,key:W,sep:Y}]})}else if(J.length>0)X.sep=X.sep.concat(J,this.sourceToken);else X.sep.push(this.sourceToken);else if(!X.sep)Object.assign(X,{key:null,sep:[this.sourceToken]});else if(X.value||U)Z.items.push({start:J,key:null,sep:[this.sourceToken]});else if(V2(X.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]});else X.sep.push(this.sourceToken);this.onKeyLine=!0;return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let $=this.flowScalar(this.type);if(U||X.value)Z.items.push({start:J,key:$,sep:[]}),this.onKeyLine=!0;else if(X.sep)this.stack.push($);else Object.assign(X,{key:$,sep:[]}),this.onKeyLine=!0;return}default:{let $=this.startBlockValue(Z);if($){if($.type==="block-seq"){if(!X.explicitKey&&X.sep&&!V2(X.sep,"newline")){yield*this.pop({type:"error",offset:this.offset,message:"Unexpected block-seq-ind on same line with key",source:this.source});return}}else if(Q)Z.items.push({start:J});this.stack.push($);return}}}}yield*this.pop(),yield*this.step()}*blockSequence(Z){let X=Z.items[Z.items.length-1];switch(this.type){case"newline":if(X.value){let Q="end"in X.value?X.value.end:void 0;if((Array.isArray(Q)?Q[Q.length-1]:void 0)?.type==="comment")Q?.push(this.sourceToken);else Z.items.push({start:[this.sourceToken]})}else X.start.push(this.sourceToken);return;case"space":case"comment":if(X.value)Z.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(X.start,Z.indent)){let U=Z.items[Z.items.length-2]?.value?.end;if(Array.isArray(U)){Array.prototype.push.apply(U,X.start),U.push(this.sourceToken),Z.items.pop();return}}X.start.push(this.sourceToken)}return;case"anchor":case"tag":if(X.value||this.indent<=Z.indent)break;X.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==Z.indent)break;if(X.value||V2(X.start,"seq-item-ind"))Z.items.push({start:[this.sourceToken]});else X.start.push(this.sourceToken);return}if(this.indent>Z.indent){let Q=this.startBlockValue(Z);if(Q){this.stack.push(Q);return}}yield*this.pop(),yield*this.step()}*flowCollection(Z){let X=Z.items[Z.items.length-1];if(this.type==="flow-error-end"){let Q;do yield*this.pop(),Q=this.peek(1);while(Q?.type==="flow-collection")}else if(Z.end.length===0){switch(this.type){case"comma":case"explicit-key-ind":if(!X||X.sep)Z.items.push({start:[this.sourceToken]});else X.start.push(this.sourceToken);return;case"map-value-ind":if(!X||X.value)Z.items.push({start:[],key:null,sep:[this.sourceToken]});else if(X.sep)X.sep.push(this.sourceToken);else Object.assign(X,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":if(!X||X.value)Z.items.push({start:[this.sourceToken]});else if(X.sep)X.sep.push(this.sourceToken);else X.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let U=this.flowScalar(this.type);if(!X||X.value)Z.items.push({start:[],key:U,sep:[]});else if(X.sep)this.stack.push(U);else Object.assign(X,{key:U,sep:[]});return}case"flow-map-end":case"flow-seq-end":Z.end.push(this.sourceToken);return}let Q=this.startBlockValue(Z);if(Q)this.stack.push(Q);else yield*this.pop(),yield*this.step()}else{let Q=this.peek(2);if(Q.type==="block-map"&&(this.type==="map-value-ind"&&Q.indent===Z.indent||this.type==="newline"&&!Q.items[Q.items.length-1].sep))yield*this.pop(),yield*this.step();else if(this.type==="map-value-ind"&&Q.type!=="flow-collection"){let U=M8(Q),J=R4(U);gJ(Z);let $=Z.end.splice(1,Z.end.length);$.push(this.sourceToken);let W={type:"block-map",offset:Z.offset,indent:Z.indent,items:[{start:J,key:Z,sep:$}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=W}else yield*this.lineEnd(Z)}}flowScalar(Z){if(this.onNewLine){let X=this.source.indexOf(`
182
+ `,X)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(Z){let X=Z.items[Z.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,X.value){let Q="end"in X.value?X.value.end:void 0;if((Array.isArray(Q)?Q[Q.length-1]:void 0)?.type==="comment")Q?.push(this.sourceToken);else Z.items.push({start:[this.sourceToken]})}else if(X.sep)X.sep.push(this.sourceToken);else X.start.push(this.sourceToken);return;case"space":case"comment":if(X.value)Z.items.push({start:[this.sourceToken]});else if(X.sep)X.sep.push(this.sourceToken);else{if(this.atIndentedComment(X.start,Z.indent)){let U=Z.items[Z.items.length-2]?.value?.end;if(Array.isArray(U)){Array.prototype.push.apply(U,X.start),U.push(this.sourceToken),Z.items.pop();return}}X.start.push(this.sourceToken)}return}if(this.indent>=Z.indent){let Q=!this.onKeyLine&&this.indent===Z.indent,U=Q&&(X.sep||X.explicitKey)&&this.type!=="seq-item-ind",J=[];if(U&&X.sep&&!X.value){let $=[];for(let W=0;W<X.sep.length;++W){let Y=X.sep[W];switch(Y.type){case"newline":$.push(W);break;case"space":break;case"comment":if(Y.indent>Z.indent)$.length=0;break;default:$.length=0}}if($.length>=2)J=X.sep.splice($[1])}switch(this.type){case"anchor":case"tag":if(U||X.value)J.push(this.sourceToken),Z.items.push({start:J}),this.onKeyLine=!0;else if(X.sep)X.sep.push(this.sourceToken);else X.start.push(this.sourceToken);return;case"explicit-key-ind":if(!X.sep&&!X.explicitKey)X.start.push(this.sourceToken),X.explicitKey=!0;else if(U||X.value)J.push(this.sourceToken),Z.items.push({start:J,explicitKey:!0});else this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken],explicitKey:!0}]});this.onKeyLine=!0;return;case"map-value-ind":if(X.explicitKey)if(!X.sep)if(q2(X.start,"newline"))Object.assign(X,{key:null,sep:[this.sourceToken]});else{let $=R4(X.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:$,key:null,sep:[this.sourceToken]}]})}else if(X.value)Z.items.push({start:[],key:null,sep:[this.sourceToken]});else if(q2(X.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:J,key:null,sep:[this.sourceToken]}]});else if(xJ(X.key)&&!q2(X.sep,"newline")){let $=R4(X.start),W=X.key,Y=X.sep;Y.push(this.sourceToken),delete X.key,delete X.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:$,key:W,sep:Y}]})}else if(J.length>0)X.sep=X.sep.concat(J,this.sourceToken);else X.sep.push(this.sourceToken);else if(!X.sep)Object.assign(X,{key:null,sep:[this.sourceToken]});else if(X.value||U)Z.items.push({start:J,key:null,sep:[this.sourceToken]});else if(q2(X.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]});else X.sep.push(this.sourceToken);this.onKeyLine=!0;return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let $=this.flowScalar(this.type);if(U||X.value)Z.items.push({start:J,key:$,sep:[]}),this.onKeyLine=!0;else if(X.sep)this.stack.push($);else Object.assign(X,{key:$,sep:[]}),this.onKeyLine=!0;return}default:{let $=this.startBlockValue(Z);if($){if($.type==="block-seq"){if(!X.explicitKey&&X.sep&&!q2(X.sep,"newline")){yield*this.pop({type:"error",offset:this.offset,message:"Unexpected block-seq-ind on same line with key",source:this.source});return}}else if(Q)Z.items.push({start:J});this.stack.push($);return}}}}yield*this.pop(),yield*this.step()}*blockSequence(Z){let X=Z.items[Z.items.length-1];switch(this.type){case"newline":if(X.value){let Q="end"in X.value?X.value.end:void 0;if((Array.isArray(Q)?Q[Q.length-1]:void 0)?.type==="comment")Q?.push(this.sourceToken);else Z.items.push({start:[this.sourceToken]})}else X.start.push(this.sourceToken);return;case"space":case"comment":if(X.value)Z.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(X.start,Z.indent)){let U=Z.items[Z.items.length-2]?.value?.end;if(Array.isArray(U)){Array.prototype.push.apply(U,X.start),U.push(this.sourceToken),Z.items.pop();return}}X.start.push(this.sourceToken)}return;case"anchor":case"tag":if(X.value||this.indent<=Z.indent)break;X.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==Z.indent)break;if(X.value||q2(X.start,"seq-item-ind"))Z.items.push({start:[this.sourceToken]});else X.start.push(this.sourceToken);return}if(this.indent>Z.indent){let Q=this.startBlockValue(Z);if(Q){this.stack.push(Q);return}}yield*this.pop(),yield*this.step()}*flowCollection(Z){let X=Z.items[Z.items.length-1];if(this.type==="flow-error-end"){let Q;do yield*this.pop(),Q=this.peek(1);while(Q?.type==="flow-collection")}else if(Z.end.length===0){switch(this.type){case"comma":case"explicit-key-ind":if(!X||X.sep)Z.items.push({start:[this.sourceToken]});else X.start.push(this.sourceToken);return;case"map-value-ind":if(!X||X.value)Z.items.push({start:[],key:null,sep:[this.sourceToken]});else if(X.sep)X.sep.push(this.sourceToken);else Object.assign(X,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":if(!X||X.value)Z.items.push({start:[this.sourceToken]});else if(X.sep)X.sep.push(this.sourceToken);else X.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let U=this.flowScalar(this.type);if(!X||X.value)Z.items.push({start:[],key:U,sep:[]});else if(X.sep)this.stack.push(U);else Object.assign(X,{key:U,sep:[]});return}case"flow-map-end":case"flow-seq-end":Z.end.push(this.sourceToken);return}let Q=this.startBlockValue(Z);if(Q)this.stack.push(Q);else yield*this.pop(),yield*this.step()}else{let Q=this.peek(2);if(Q.type==="block-map"&&(this.type==="map-value-ind"&&Q.indent===Z.indent||this.type==="newline"&&!Q.items[Q.items.length-1].sep))yield*this.pop(),yield*this.step();else if(this.type==="map-value-ind"&&Q.type!=="flow-collection"){let U=M8(Q),J=R4(U);vJ(Z);let $=Z.end.splice(1,Z.end.length);$.push(this.sourceToken);let W={type:"block-map",offset:Z.offset,indent:Z.indent,items:[{start:J,key:Z,sep:$}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=W}else yield*this.lineEnd(Z)}}flowScalar(Z){if(this.onNewLine){let X=this.source.indexOf(`
183
183
  `)+1;while(X!==0)this.onNewLine(this.offset+X),X=this.source.indexOf(`
184
- `,X)+1}return{type:Z,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(Z){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block-scalar-header":return{type:"block-scalar",offset:this.offset,indent:this.indent,props:[this.sourceToken],source:""};case"flow-map-start":case"flow-seq-start":return{type:"flow-collection",offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case"seq-item-ind":return{type:"block-seq",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case"explicit-key-ind":{this.onKeyLine=!0;let X=M8(Z),Q=R4(X);return Q.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:Q,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;let X=M8(Z),Q=R4(X);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:Q,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(Z,X){if(this.type!=="comment")return!1;if(this.indent<=X)return!1;return Z.every((Q)=>Q.type==="newline"||Q.type==="space")}*documentEnd(Z){if(this.type!=="doc-mode"){if(Z.end)Z.end.push(this.sourceToken);else Z.end=[this.sourceToken];if(this.type==="newline")yield*this.pop()}}*lineEnd(Z){switch(this.type){case"comma":case"doc-start":case"doc-end":case"flow-seq-end":case"flow-map-end":case"map-value-ind":yield*this.pop(),yield*this.step();break;case"newline":this.onKeyLine=!1;case"space":case"comment":default:if(Z.end)Z.end.push(this.sourceToken);else Z.end=[this.sourceToken];if(this.type==="newline")yield*this.pop()}}}function xJ(Z){let X=Z.prettyErrors!==!1;return{lineCounter:Z.lineCounter||X&&new k6||null,prettyErrors:X}}function R8(Z,X={}){let{lineCounter:Q,prettyErrors:U}=xJ(X),J=new O4(Q?.addNewLine),$=new B4(X),W=Array.from($.compose(J.parse(Z)));if(U&&Q)for(let Y of W)Y.errors.forEach(C6(Z,Q)),Y.warnings.forEach(C6(Z,Q));if(W.length>0)return W;return Object.assign([],{empty:!0},$.streamInfo())}function H7(Z,X={}){let{lineCounter:Q,prettyErrors:U}=xJ(X),J=new O4(Q?.addNewLine),$=new B4(X),W=null;for(let Y of $.compose(J.parse(Z),!0,Z.length))if(!W)W=Y;else if(W.options.logLevel!=="silent"){W.errors.push(new Q1(Y.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}if(U&&Q)W.errors.forEach(C6(Z,Q)),W.warnings.forEach(C6(Z,Q));return W}function O8(Z,X,Q){let U=void 0;if(typeof X==="function")U=X;else if(Q===void 0&&X&&typeof X==="object")Q=X;let J=H7(Z,Q);if(!J)return null;if(J.warnings.forEach(($)=>i9(J.options.logLevel,$)),J.errors.length>0)if(J.options.logLevel!=="silent")throw J.errors[0];else J.errors=[];return J.toJS(Object.assign({reviver:U},Q))}function hJ(Z,X,Q){let U=null;if(typeof X==="function"||Array.isArray(X))U=X;else if(Q===void 0&&X)Q=X;if(typeof Q==="string")Q=Q.length;if(typeof Q==="number"){let J=Math.round(Q);Q=J<1?void 0:J>8?{indent:8}:{indent:J}}if(Z===void 0){let{keepUndefined:J}=Q??X??{};if(!J)return}if(t0(Z)&&!U)return Z.toString(Q);return new S1(Z,U,Q).toString(Q)}var B7=F7;class Fq{static toYaml(Z){let X=Array.isArray(Z)?Z:[Z];return B7.stringify(X)}static toJson(Z,X=!0){let Q=Array.isArray(Z)?Z:[Z];return JSON.stringify(Q,null,X?2:0)}static cleanRule(Z){let X={};if(X.id=Z.id,Z.name)X.name=Z.name;if(Z.description)X.description=Z.description;if(X.on=Z.on,Z.priority!==void 0&&Z.priority!==0)X.priority=Z.priority;if(Z.enabled!==void 0&&Z.enabled!==!0)X.enabled=Z.enabled;if(Z.cooldown!==void 0&&Z.cooldown!==0)X.cooldown=Z.cooldown;if(Z.tags&&Z.tags.length>0)X.tags=Z.tags;if(Z.if)X.if=Z.if;if(X.do=Z.do,Z.else)X.else=Z.else;return X}static toCleanYaml(Z){let Q=(Array.isArray(Z)?Z:[Z]).map((U)=>this.cleanRule(U));return B7.stringify(Q,{indent:2,lineWidth:0})}static toCleanJson(Z,X=!0){let U=(Array.isArray(Z)?Z:[Z]).map((J)=>this.cleanRule(J));return JSON.stringify(U,null,X?2:0)}static async saveToFile(Z,X){let Q=this.toYaml(Z);if(typeof process<"u"&&process.versions&&process.versions.node){let U=await import("fs/promises"),$=(await Promise.resolve().then(() => (Z$(),eJ))).dirname(X);await U.mkdir($,{recursive:!0}),await U.writeFile(X,Q,"utf8")}else throw Error("saveToFile is only supported in Node.js/Bun environments")}}var Bq=["EQ","==","NEQ","!="],Mq=["GT",">","GTE",">=","LT","<","LTE","<="],Rq=["IN","NOT_IN","RANGE"],Oq=["CONTAINS","NOT_CONTAINS","STARTS_WITH","ENDS_WITH"];var X$=[...Bq,...Mq,...Rq,...Oq,"IS_EMPTY","HAS_KEY","MATCHES","SINCE","AFTER","BEFORE","UNTIL","RANGE"],Q$=["AND","OR"],U$=["ALL","EITHER","SEQUENCE"];function b0(Z){return typeof Z==="object"&&Z!==null&&!Array.isArray(Z)}function Tq(Z){return typeof Z==="string"&&Z.length>0}function Kq(Z){return typeof Z==="number"&&!isNaN(Z)}function Dq(Z){return typeof Z==="boolean"}function b1(Z){return"operator"in Z&&"conditions"in Z&&(Z.operator==="AND"||Z.operator==="OR")}function _2(Z){return"field"in Z&&"operator"in Z}function R7(Z){return typeof Z==="object"&&Z!==null&&"mode"in Z&&"actions"in Z&&Array.isArray(Z.actions)}function K8(Z){return typeof Z==="object"&&Z!==null&&"if"in Z}function wq(Z){return typeof Z==="object"&&Z!==null&&"type"in Z}function O7(Z){return typeof Z==="string"&&U$.includes(Z)}function Pq(Z){return typeof Z==="string"&&Q$.includes(Z)}function Aq(Z){return typeof Z==="string"&&Eq(X$,Z)}function g6(Z){return Z.type||"log"}function v6(Z){if(!Z.params)return"{}";return typeof Z.params==="string"?Z.params:JSON.stringify(Z.params)}function N2(Z){if(_2(Z))return Z.field||"data";return"data"}function b2(Z){if(_2(Z))return Z.operator||"EQ";if(b1(Z))return Z.operator==="OR"?"OR":"AND";return"EQ"}function E2(Z){if(_2(Z))return Z.value;return}function T7(Z=0){let X=Z;return()=>`node_${X++}`}function K7(){let Z=0;return()=>`edge_${Date.now()}_${Z++}`}function D7(Z=100,X=100,Q=300,U=150){return(J,$,W)=>({x:Z+J*Q,y:X+$*U-W*U/2})}function T4(Z){if(Z===void 0)return[];if(Array.isArray(Z))return Z;return[Z]}function Sq(Z){if(!Z)return[];if(Array.isArray(Z))return Z;return[Z]}function jq(Z){if(!Z)return[];if(Array.isArray(Z))return Z;return[Z]}function Cq(Z){return Z.replace(/\.(ya?ml)$/i,"")}function Nq(Z){return{"==":"EQ","!=":"NEQ",">":"GT",">=":"GTE","<":"LT","<=":"LTE"}[Z]||Z}function bq(Z,X){if(!(X in Z)||Z[X]===void 0||Z[X]===null)throw Error(`Missing required field: ${X}`)}function Eq(Z,X){return Z.includes(X)}function fq(Z,X,Q){let U=typeof Z;if(U!==X)throw Error(`Field "${Q}" expected type "${X}", got "${U}"`)}function Iq(Z,X,Q){if(typeof Z!=="string"||!X.includes(Z))throw Error(`Field "${Q}" must be one of: ${X.join(", ")}`)}function x6(Z,X,Q,U){if(!b0(Z))throw Error(`Rule at index ${X} is not an object`);let J={...Z};if("actions"in J&&!("do"in J))J.do=J.actions,delete J.actions;if(!("enabled"in J))J.enabled=!0;if(!("priority"in J))J.priority=0;if(!J.id){if(U===!0&&Q){let $=Q.replace(/\.(ya?ml)$/i,"");J.id=$}else if(typeof U==="string")J.id=`${U}-${X}`}if("if"in J&&J.if!==void 0)J.if=D8(J.if);if("do"in J&&J.do!==void 0)J.do=W$(J.do);if("else"in J&&J.else!==void 0)J.else=Y$(J.else);return J}function D8(Z){if(!Z)return[];if(b0(Z))return J$(Z);if(Array.isArray(Z))return Z.map((X,Q)=>{if(b0(X))return J$(X);throw Error(`Invalid condition at index ${Q}: expected object`)});throw Error("Invalid condition format: expected object or array")}function J$(Z){let X="operator"in Z&&(Z.operator==="AND"||Z.operator==="OR"),Q="conditions"in Z&&Array.isArray(Z.conditions);if(X&&Q){let W=Z.operator,Y=D8(Z.conditions);return{operator:W,conditions:Array.isArray(Y)?Y:[Y]}}let{field:U,operator:J,value:$}=Z;return{field:U||"data",operator:J||"EQ",value:$}}function W$(Z){if(!Z)return[];if(b0(Z)&&"mode"in Z&&"actions"in Z)return f2(Z);if(b0(Z))return z2(Z);if(Array.isArray(Z))return Z.map((X,Q)=>{if(b0(X)){if("mode"in X&&"actions"in X)return f2(X);return z2(X)}throw Error(`Invalid action at index ${Q}: expected object`)});throw Error("Invalid do field format: expected object or array")}function Y$(Z){if(!Z)return[];if(b0(Z)&&"mode"in Z&&"actions"in Z)return f2(Z);if(b0(Z))return z2(Z);if(Array.isArray(Z))return Z.map((X,Q)=>{if(b0(X)){if("mode"in X&&"actions"in X)return f2(X);return z2(X)}throw Error(`Invalid action at index ${Q}: expected object`)});throw Error("Invalid else field format: expected object or array")}function z2(Z){let X={...Z};if("do"in X&&!("then"in X))X.then=X.do,delete X.do;if("if"in X&&X.if!==void 0){let U={if:D8(X.if)};if("then"in X&&X.then!==void 0)U.then=$$(X.then);if("else"in X&&X.else!==void 0)U.else=$$(X.else);if("break"in X)U.break=X.break;if("continue"in X)U.continue=X.continue;return U}let Q={};if("type"in X)Q.type=X.type;if("params"in X)Q.params=X.params;if("run"in X)Q.run=X.run;if("delay"in X)Q.delay=X.delay;if("probability"in X)Q.probability=X.probability;if("name"in X)Q.name=X.name;if("break"in X)Q.break=X.break;if("continue"in X)Q.continue=X.continue;return Q}function $$(Z){if(!Z)return[];if(b0(Z)&&"mode"in Z&&"actions"in Z)return f2(Z);if(b0(Z))return z2(Z);if(Array.isArray(Z)){let X=[];for(let Q=0;Q<Z.length;Q++){let U=Z[Q];if(b0(U))if("mode"in U&&"actions"in U){let J=f2(U);for(let $ of J.actions)X.push($)}else X.push(z2(U));else throw Error(`Invalid action in branch at index ${Q}: expected object`)}return X}throw Error("Invalid action branch format: expected object or array")}function f2(Z){let X=Z.mode||"ALL";if(!O7(X))throw Error(`Invalid execution mode: ${X}`);let Q=Z.actions;if(!Q||!Array.isArray(Q))throw Error("Action group must have an actions array");let U=Q.map((J,$)=>{if(b0(J)){if("mode"in J&&"actions"in J)return f2(J);return z2(J)}throw Error(`Invalid action in group at index ${$}: expected object`)});return{mode:X,actions:U}}function yq(Z,X,Q,U){let J=x6(Z,X,Q,U);if(!J.on)throw Error(`Rule at index ${X} missing required field: on`);return J}function kq(Z){let X=[];if(!Z.on)X.push("Missing required field: on");if(!Z.do&&Z.do!=="")X.push("Missing required field: do");if(Z.else&&!Z.if)X.push('Field "else" requires "if" to be present');return{valid:X.length===0,errors:X}}function G$(Z,X,Q){return{id:X,type:N.EVENT,position:Q,data:{id:Z.id||"rule-1",name:Z.name||"Imported Rule",description:Z.description||"",event:Z.on||"",priority:Z.priority||0,enabled:Z.enabled!==!1,cooldown:Z.cooldown,tags:Z.tags}}}function w7(Z,X,Q){return{id:X,type:N.CONDITION_GROUP,position:Q,data:{operator:Z}}}function K4(Z,X,Q,U,J){return{id:U,type:N.CONDITION,position:J,data:{field:Z||"data",operator:X||"EQ",value:Q??""}}}function D4(Z,X,Q){return{id:X,type:N.DO,position:Q,data:{branchType:Z}}}function L$(Z,X,Q){let U,J,$,W,Y,G,L;if(K8(Z)){let V=Z.if;if(V){let z=(Array.isArray(V)?V:[V])[0];if(z&&_2(z))U=z.field,J=z.operator,$=z.value!==void 0?typeof z.value==="string"?z.value:JSON.stringify(z.value):void 0}let _=Z.then;if(_){let F=Array.isArray(_)?_:[_];if(F[0])W=g6(F[0]),Y=v6(F[0])}let H=Z.else;if(H){let F=Array.isArray(H)?H:[H];if(F[0])G=g6(F[0]),L=v6(F[0])}}let q={type:g6(Z),params:v6(Z)};if(U)q.conditionField=U;if(J)q.conditionOperator=J;if($!==void 0)q.conditionValue=$;if(W)q.thenType=W;if(Y)q.thenParams=Y;if(G)q.elseType=G;if(L)q.elseParams=L;return{id:X,type:N.ACTION,position:Q,data:q}}function q$(Z,X,Q){return{id:X,type:N.ACTION_GROUP,position:Q,data:{mode:Z||"SEQUENCE"}}}function O0(Z,X,Q,U,J){return{id:J?J():`edge_${Z}_${X}_${Date.now()}`,source:Z,target:X,sourceHandle:Q??null,targetHandle:U??null}}function gq(Z,X={}){let Q=[],U=[],J=[];if(!Z.id)J.push("Missing required field: id");if(!Z.on)J.push("Missing required field: on (event trigger)");if(!Z.do&&Z.do!=="")J.push("Missing required field: do (actions)");if(J.length>0)return{nodes:[],edges:[],valid:!1,errors:J};let $=X.startNodeId||"event-node",W=T7(0),Y=K7(),G=D7();try{let L=G$(Z,$,X.startPosition||{x:100,y:300});Q.push(L);let q=T4(Z.if);if(q.length>0){let{conditionNodes:V,groupNodeId:_}=vq(q,Q,U,L.id,W,G),H=T4(Z.do);if(H.length>0){let z=V.length>0?V[V.length-1].id:_||L.id,K=Q.find((S)=>S.id===z)?.position||{x:300,y:300},w=W(),P=D4("do",w,{x:K.x+300,y:K.y-100});Q.push(P);let O=null;if(z===L.id)O=D.EVENT_OUTPUT;else if(z===_)O=D.CONDITION_GROUP_OUTPUT;else O=D.CONDITION_OUTPUT;U.push(O0(z,w,O,D.DO_INPUT,Y)),w4(H,Q,U,w,W,Y,(S,C,y)=>({x:P.position.x+300,y:P.position.y+C*150}),"do")}let F=T4(Z.else);if(F.length>0){let z=V.length>0?V[V.length-1].id:_||L.id,K=Q.find((S)=>S.id===z)?.position||{x:300,y:300},w=W(),P=D4("else",w,{x:K.x+300,y:K.y+100});Q.push(P);let O=null;if(z===L.id)O=D.EVENT_OUTPUT;else if(z===_)O=D.CONDITION_GROUP_OUTPUT;else O=D.CONDITION_OUTPUT;U.push(O0(z,w,O,D.DO_INPUT,Y)),w4(F,Q,U,w,W,Y,(S,C,y)=>({x:P.position.x+300,y:P.position.y+C*150}),"else")}}else{let V=T4(Z.do);if(V.length>0){let _=W(),H=L.position,F=D4("do",_,{x:H.x+300,y:H.y});Q.push(F),U.push(O0(L.id,_,D.EVENT_OUTPUT,D.DO_INPUT,Y)),w4(V,Q,U,_,W,Y,(z,B,K)=>({x:F.position.x+300,y:F.position.y+B*150}),"do")}}return{nodes:Q,edges:U,valid:!0,errors:[]}}catch(L){let q=L instanceof Error?L.message:"Unknown error during conversion";return J.push(q),{nodes:Q,edges:U,valid:!1,errors:J}}}function vq(Z,X,Q,U,J,$){let W=[],Y,G=Z.length>1,L=Z.some(b1);if(G||L){Y=J();let q="AND",V=Z.find(b1);if(V&&b1(V))q=V.operator;let _=w7(q,Y,$(1,0,1));X.push(_),Q.push(O0(U,Y,null,D.CONDITION_GROUP_INPUT,void 0));let H=null;Z.forEach((F,z)=>{let B,K;if(b1(F)){if(F.conditions)F.conditions.forEach((w,P)=>{if(b1(w))return;if(B=J(),K=K4(N2(w),b2(w),E2(w),B,$(2,z*2+P,Z.length*2)),X.push(K),W.push(K),H)Q.push(O0(H,B,D.CONDITION_OUTPUT,D.CONDITION_INPUT,void 0));else Q.push(O0(Y,B,D.CONDITION_GROUP_OUTPUT,D.CONDITION_INPUT,void 0));H=B})}else{if(B=J(),K=K4(N2(F),b2(F),E2(F),B,$(2,z,Z.length)),X.push(K),W.push(K),H)Q.push(O0(H,B,D.CONDITION_OUTPUT,D.CONDITION_INPUT,void 0));else Q.push(O0(Y,B,D.CONDITION_GROUP_OUTPUT,D.CONDITION_INPUT,void 0));H=B}})}else{let q=J(),V=K4(N2(Z[0]),b2(Z[0]),E2(Z[0]),q,$(1,0,1));X.push(V),W.push(V),Q.push(O0(U,q,null,D.CONDITION_INPUT,void 0))}return{conditionNodes:W,groupNodeId:Y}}function w4(Z,X,Q,U,J,$,W,Y){Z.forEach((G,L)=>{if(R7(G)){let z=J(),B=X.find((O)=>O.id===U)?.position||{x:100,y:100},K=q$(G.mode,z,{x:B.x+300,y:B.y+L*75});X.push(K);let w=X.find((O)=>O.id===U),P;if(w?.type===N.EVENT)P=D.EVENT_OUTPUT;else if(w?.type===N.CONDITION)P=D.CONDITION_OUTPUT;else if(w?.type===N.CONDITION_GROUP)P=D.CONDITION_GROUP_OUTPUT;else if(w?.type===N.ACTION_GROUP)P=D.ACTION_GROUP_OUTPUT;else if(w?.type===N.DO)P=D.DO_OUTPUT;else P=Y===x0.ELSE?D.ELSE_OUTPUT:D.THEN_OUTPUT;Q.push(O0(U,z,P,D.ACTION_GROUP_INPUT,$)),w4(G.actions,X,Q,z,J,$,W,Y);return}if(K8(G)){let B=G.if,K=Array.isArray(B)?B[0]:B;if(K){let w=X.find((A)=>A.id===U),P;if(w?.type===N.EVENT)P=D.EVENT_OUTPUT;else if(w?.type===N.ACTION_GROUP)P=D.ACTION_GROUP_CONDITION_OUTPUT;else if(w?.type===N.CONDITION)P=D.CONDITION_OUTPUT;else if(w?.type===N.DO)P=D.DO_CONDITION_OUTPUT;else P=D.CONDITION_OUTPUT;let O,S=W(2,L,Z.length);if(b1(K)){let A=J(),d=K.operator||"AND",e=w7(d,A,{x:S.x+300,y:S.y-75});X.push(e),Q.push(O0(U,A,P,D.CONDITION_GROUP_INPUT,$));let X0=null;if(K.conditions)K.conditions.forEach((h,t)=>{if(b1(h))return;let c=J(),r=K4(N2(h),b2(h),E2(h),c,{x:S.x+600,y:S.y+t*100});if(X.push(r),X0)Q.push(O0(X0,c,D.CONDITION_OUTPUT,D.CONDITION_INPUT,$));else Q.push(O0(A,c,D.CONDITION_GROUP_OUTPUT,D.CONDITION_INPUT,$));X0=c});O=X0||A}else if(_2(K)){let A=J(),d=K4(N2(K),b2(K),E2(K),A,{x:S.x+300,y:S.y});X.push(d),Q.push(O0(U,A,P,D.CONDITION_INPUT,$)),O=A}else return;let C=G.then;if(C){let A=J(),d=X.find((c)=>c.id===O),e=D4("do",A,{x:(d?.position.x||0)+300,y:(d?.position.y||0)-100});X.push(e);let X0=d?.type===N.CONDITION_GROUP?D.CONDITION_GROUP_OUTPUT:D.CONDITION_OUTPUT;Q.push(O0(O,A,X0,D.DO_INPUT,$));let h=Array.isArray(C)?C:[C];w4(h,X,Q,A,J,$,(c,r,T0)=>{return{x:e.position.x+300,y:e.position.y-r*150}},"do")}let y=G.else;if(y){let A=J(),d=X.find((c)=>c.id===O),e=D4("else",A,{x:(d?.position.x||0)+300,y:(d?.position.y||0)+100});X.push(e);let X0=d?.type===N.CONDITION_GROUP?D.CONDITION_GROUP_OUTPUT:D.CONDITION_OUTPUT;Q.push(O0(O,A,X0,D.DO_INPUT,$));let h=Array.isArray(y)?y:[y];w4(h,X,Q,A,J,$,(c,r,T0)=>{return{x:e.position.x+300,y:e.position.y+r*150}},"else")}}return}let q=J(),V=X.find((z)=>z.id===U)?.position||{x:700,y:100},_=L$(G,q,{x:V.x+300,y:V.y+L*150});X.push(_);let H=X.find((z)=>z.id===U),F;if(H?.type===N.EVENT)F=D.EVENT_OUTPUT;else if(H?.type===N.CONDITION)F=D.CONDITION_OUTPUT;else if(H?.type===N.CONDITION_GROUP)F=D.CONDITION_GROUP_OUTPUT;else if(H?.type===N.ACTION_GROUP)F=D.ACTION_GROUP_OUTPUT;else if(H?.type===N.DO)F=D.DO_OUTPUT;else F=D.CONDITION_OUTPUT;Q.push(O0(U,q,F,D.ACTION_INPUT,$))})}function V$(Z,X={}){let{autoId:Q=!1,filename:U,throwOnError:J=!1,multiDocument:$=!0}=X,W=[],Y=[];try{let L;if($){let V=R8(Z);for(let _ of V)if(_.errors&&_.errors.length>0){let H=_.errors.map((F)=>F.message).join(", ");throw Error(`YAML syntax error: ${H}`)}L=V.map((_)=>_.toJS())}else{let V=O8(Z);L=Array.isArray(V)?[V]:[V]}let q=[];L.forEach((V)=>{if(Array.isArray(V))q.push(...V);else q.push(V)}),q.forEach((V,_)=>{try{let H;if(Q&&!U)H={...x6(V,_),id:`rule-${_}`};else H=x6(V,_,U,Q);let F=EX.validate(H);if(F.valid)Y.push(F.rule);else W.push({index:_,message:`Validation failed for rule at index ${_}`,issues:F.issues.map((z)=>({path:z.path,message:z.message,suggestion:z.suggestion}))})}catch(H){let F=H instanceof Error?H.message:`Unknown error at index ${_}`;W.push({index:_,message:F})}})}catch(L){let q=L instanceof Error?L.message:"Unknown parsing error";W.push({index:-1,message:`Failed to parse YAML: ${q}`})}let G={rules:Y,errors:W,valid:W.length===0&&Y.length>0};if(J&&!G.valid){let L=G.errors.map((q)=>{let V=`Rule ${q.index}: ${q.message}`;if(q.issues)V+=`
184
+ `,X)+1}return{type:Z,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(Z){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block-scalar-header":return{type:"block-scalar",offset:this.offset,indent:this.indent,props:[this.sourceToken],source:""};case"flow-map-start":case"flow-seq-start":return{type:"flow-collection",offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case"seq-item-ind":return{type:"block-seq",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case"explicit-key-ind":{this.onKeyLine=!0;let X=M8(Z),Q=R4(X);return Q.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:Q,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;let X=M8(Z),Q=R4(X);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:Q,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(Z,X){if(this.type!=="comment")return!1;if(this.indent<=X)return!1;return Z.every((Q)=>Q.type==="newline"||Q.type==="space")}*documentEnd(Z){if(this.type!=="doc-mode"){if(Z.end)Z.end.push(this.sourceToken);else Z.end=[this.sourceToken];if(this.type==="newline")yield*this.pop()}}*lineEnd(Z){switch(this.type){case"comma":case"doc-start":case"doc-end":case"flow-seq-end":case"flow-map-end":case"map-value-ind":yield*this.pop(),yield*this.step();break;case"newline":this.onKeyLine=!1;case"space":case"comment":default:if(Z.end)Z.end.push(this.sourceToken);else Z.end=[this.sourceToken];if(this.type==="newline")yield*this.pop()}}}function hJ(Z){let X=Z.prettyErrors!==!1;return{lineCounter:Z.lineCounter||X&&new k6||null,prettyErrors:X}}function R8(Z,X={}){let{lineCounter:Q,prettyErrors:U}=hJ(X),J=new O4(Q?.addNewLine),$=new B4(X),W=Array.from($.compose(J.parse(Z)));if(U&&Q)for(let Y of W)Y.errors.forEach(C6(Z,Q)),Y.warnings.forEach(C6(Z,Q));if(W.length>0)return W;return Object.assign([],{empty:!0},$.streamInfo())}function H7(Z,X={}){let{lineCounter:Q,prettyErrors:U}=hJ(X),J=new O4(Q?.addNewLine),$=new B4(X),W=null;for(let Y of $.compose(J.parse(Z),!0,Z.length))if(!W)W=Y;else if(W.options.logLevel!=="silent"){W.errors.push(new Q1(Y.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}if(U&&Q)W.errors.forEach(C6(Z,Q)),W.warnings.forEach(C6(Z,Q));return W}function O8(Z,X,Q){let U=void 0;if(typeof X==="function")U=X;else if(Q===void 0&&X&&typeof X==="object")Q=X;let J=H7(Z,Q);if(!J)return null;if(J.warnings.forEach(($)=>i9(J.options.logLevel,$)),J.errors.length>0)if(J.options.logLevel!=="silent")throw J.errors[0];else J.errors=[];return J.toJS(Object.assign({reviver:U},Q))}function mJ(Z,X,Q){let U=null;if(typeof X==="function"||Array.isArray(X))U=X;else if(Q===void 0&&X)Q=X;if(typeof Q==="string")Q=Q.length;if(typeof Q==="number"){let J=Math.round(Q);Q=J<1?void 0:J>8?{indent:8}:{indent:J}}if(Z===void 0){let{keepUndefined:J}=Q??X??{};if(!J)return}if(t0(Z)&&!U)return Z.toString(Q);return new S1(Z,U,Q).toString(Q)}var B7=F7;class FV{static toYaml(Z){let X=Array.isArray(Z)?Z:[Z];return B7.stringify(X)}static toJson(Z,X=!0){let Q=Array.isArray(Z)?Z:[Z];return JSON.stringify(Q,null,X?2:0)}static cleanRule(Z){let X={};if(X.id=Z.id,Z.name)X.name=Z.name;if(Z.description)X.description=Z.description;if(X.on=Z.on,Z.priority!==void 0&&Z.priority!==0)X.priority=Z.priority;if(Z.enabled!==void 0&&Z.enabled!==!0)X.enabled=Z.enabled;if(Z.cooldown!==void 0&&Z.cooldown!==0)X.cooldown=Z.cooldown;if(Z.tags&&Z.tags.length>0)X.tags=Z.tags;if(Z.if)X.if=Z.if;if(X.do=Z.do,Z.else)X.else=Z.else;return X}static toCleanYaml(Z){let Q=(Array.isArray(Z)?Z:[Z]).map((U)=>this.cleanRule(U));return B7.stringify(Q,{indent:2,lineWidth:0})}static toCleanJson(Z,X=!0){let U=(Array.isArray(Z)?Z:[Z]).map((J)=>this.cleanRule(J));return JSON.stringify(U,null,X?2:0)}static async saveToFile(Z,X){let Q=this.toYaml(Z);if(typeof process<"u"&&process.versions&&process.versions.node){let U=await import("fs/promises"),$=(await Promise.resolve().then(() => (X$(),Z$))).dirname(X);await U.mkdir($,{recursive:!0}),await U.writeFile(X,Q,"utf8")}else throw Error("saveToFile is only supported in Node.js/Bun environments")}}var BV=["EQ","==","NEQ","!="],MV=["GT",">","GTE",">=","LT","<","LTE","<="],RV=["IN","NOT_IN","RANGE"],OV=["CONTAINS","NOT_CONTAINS","STARTS_WITH","ENDS_WITH"];var Q$=[...BV,...MV,...RV,...OV,"IS_EMPTY","HAS_KEY","MATCHES","SINCE","AFTER","BEFORE","UNTIL","RANGE"],U$=["AND","OR"],J$=["ALL","EITHER","SEQUENCE"];function b0(Z){return typeof Z==="object"&&Z!==null&&!Array.isArray(Z)}function TV(Z){return typeof Z==="string"&&Z.length>0}function KV(Z){return typeof Z==="number"&&!isNaN(Z)}function DV(Z){return typeof Z==="boolean"}function b1(Z){return"operator"in Z&&"conditions"in Z&&(Z.operator==="AND"||Z.operator==="OR")}function _2(Z){return"field"in Z&&"operator"in Z}function R7(Z){return typeof Z==="object"&&Z!==null&&"mode"in Z&&"actions"in Z&&Array.isArray(Z.actions)}function K8(Z){return typeof Z==="object"&&Z!==null&&"if"in Z}function wV(Z){return typeof Z==="object"&&Z!==null&&"type"in Z}function O7(Z){return typeof Z==="string"&&J$.includes(Z)}function PV(Z){return typeof Z==="string"&&U$.includes(Z)}function AV(Z){return typeof Z==="string"&&EV(Q$,Z)}function g6(Z){return Z.type||"log"}function v6(Z){if(!Z.params)return"{}";return typeof Z.params==="string"?Z.params:JSON.stringify(Z.params)}function N2(Z){if(_2(Z))return Z.field||"data";return"data"}function b2(Z){if(_2(Z))return Z.operator||"EQ";if(b1(Z))return Z.operator==="OR"?"OR":"AND";return"EQ"}function E2(Z){if(_2(Z))return Z.value;return}function T7(Z=0){let X=Z;return()=>`node_${X++}`}function K7(){let Z=0;return()=>`edge_${Date.now()}_${Z++}`}function D7(Z=100,X=100,Q=300,U=150){return(J,$,W)=>({x:Z+J*Q,y:X+$*U-W*U/2})}function T4(Z){if(Z===void 0)return[];if(Array.isArray(Z))return Z;return[Z]}function SV(Z){if(!Z)return[];if(Array.isArray(Z))return Z;return[Z]}function jV(Z){if(!Z)return[];if(Array.isArray(Z))return Z;return[Z]}function CV(Z){return Z.replace(/\.(ya?ml)$/i,"")}function NV(Z){return{"==":"EQ","!=":"NEQ",">":"GT",">=":"GTE","<":"LT","<=":"LTE"}[Z]||Z}function bV(Z,X){if(!(X in Z)||Z[X]===void 0||Z[X]===null)throw Error(`Missing required field: ${X}`)}function EV(Z,X){return Z.includes(X)}function fV(Z,X,Q){let U=typeof Z;if(U!==X)throw Error(`Field "${Q}" expected type "${X}", got "${U}"`)}function IV(Z,X,Q){if(typeof Z!=="string"||!X.includes(Z))throw Error(`Field "${Q}" must be one of: ${X.join(", ")}`)}function x6(Z,X,Q,U){if(!b0(Z))throw Error(`Rule at index ${X} is not an object`);let J={...Z};if("actions"in J&&!("do"in J))J.do=J.actions,delete J.actions;if(!("enabled"in J))J.enabled=!0;if(!("priority"in J))J.priority=0;if(!J.id){if(U===!0&&Q){let $=Q.replace(/\.(ya?ml)$/i,"");J.id=$}else if(typeof U==="string")J.id=`${U}-${X}`}if("if"in J&&J.if!==void 0)J.if=D8(J.if);if("do"in J&&J.do!==void 0)J.do=Y$(J.do);if("else"in J&&J.else!==void 0)J.else=L$(J.else);return J}function D8(Z){if(!Z)return[];if(b0(Z))return $$(Z);if(Array.isArray(Z))return Z.map((X,Q)=>{if(b0(X))return $$(X);throw Error(`Invalid condition at index ${Q}: expected object`)});throw Error("Invalid condition format: expected object or array")}function $$(Z){let X="operator"in Z&&(Z.operator==="AND"||Z.operator==="OR"),Q="conditions"in Z&&Array.isArray(Z.conditions);if(X&&Q){let W=Z.operator,Y=D8(Z.conditions);return{operator:W,conditions:Array.isArray(Y)?Y:[Y]}}let{field:U,operator:J,value:$}=Z;return{field:U||"data",operator:J||"EQ",value:$}}function Y$(Z){if(!Z)return[];if(b0(Z)&&"mode"in Z&&"actions"in Z)return f2(Z);if(b0(Z))return z2(Z);if(Array.isArray(Z))return Z.map((X,Q)=>{if(b0(X)){if("mode"in X&&"actions"in X)return f2(X);return z2(X)}throw Error(`Invalid action at index ${Q}: expected object`)});throw Error("Invalid do field format: expected object or array")}function L$(Z){if(!Z)return[];if(b0(Z)&&"mode"in Z&&"actions"in Z)return f2(Z);if(b0(Z))return z2(Z);if(Array.isArray(Z))return Z.map((X,Q)=>{if(b0(X)){if("mode"in X&&"actions"in X)return f2(X);return z2(X)}throw Error(`Invalid action at index ${Q}: expected object`)});throw Error("Invalid else field format: expected object or array")}function z2(Z){let X={...Z};if("do"in X&&!("then"in X))X.then=X.do,delete X.do;if("if"in X&&X.if!==void 0){let U={if:D8(X.if)};if("then"in X&&X.then!==void 0)U.then=W$(X.then);if("else"in X&&X.else!==void 0)U.else=W$(X.else);if("break"in X)U.break=X.break;if("continue"in X)U.continue=X.continue;return U}let Q={};if("type"in X)Q.type=X.type;if("params"in X)Q.params=X.params;if("run"in X)Q.run=X.run;if("delay"in X)Q.delay=X.delay;if("probability"in X)Q.probability=X.probability;if("name"in X)Q.name=X.name;if("break"in X)Q.break=X.break;if("continue"in X)Q.continue=X.continue;return Q}function W$(Z){if(!Z)return[];if(b0(Z)&&"mode"in Z&&"actions"in Z)return f2(Z);if(b0(Z))return z2(Z);if(Array.isArray(Z)){let X=[];for(let Q=0;Q<Z.length;Q++){let U=Z[Q];if(b0(U))if("mode"in U&&"actions"in U){let J=f2(U);for(let $ of J.actions)X.push($)}else X.push(z2(U));else throw Error(`Invalid action in branch at index ${Q}: expected object`)}return X}throw Error("Invalid action branch format: expected object or array")}function f2(Z){let X=Z.mode||"ALL";if(!O7(X))throw Error(`Invalid execution mode: ${X}`);let Q=Z.actions;if(!Q||!Array.isArray(Q))throw Error("Action group must have an actions array");let U=Q.map((J,$)=>{if(b0(J)){if("mode"in J&&"actions"in J)return f2(J);return z2(J)}throw Error(`Invalid action in group at index ${$}: expected object`)});return{mode:X,actions:U}}function yV(Z,X,Q,U){let J=x6(Z,X,Q,U);if(!J.on)throw Error(`Rule at index ${X} missing required field: on`);return J}function kV(Z){let X=[];if(!Z.on)X.push("Missing required field: on");if(!Z.do&&Z.do!=="")X.push("Missing required field: do");if(Z.else&&!Z.if)X.push('Field "else" requires "if" to be present');return{valid:X.length===0,errors:X}}function G$(Z,X,Q){return{id:X,type:N.EVENT,position:Q,data:{id:Z.id||"rule-1",name:Z.name||"Imported Rule",description:Z.description||"",event:Z.on||"",priority:Z.priority||0,enabled:Z.enabled!==!1,cooldown:Z.cooldown,tags:Z.tags}}}function w7(Z,X,Q){return{id:X,type:N.CONDITION_GROUP,position:Q,data:{operator:Z}}}function K4(Z,X,Q,U,J){return{id:U,type:N.CONDITION,position:J,data:{field:Z||"data",operator:X||"EQ",value:Q??""}}}function D4(Z,X,Q){return{id:X,type:N.DO,position:Q,data:{branchType:Z}}}function V$(Z,X,Q){let U,J,$,W,Y,L,G;if(K8(Z)){let q=Z.if;if(q){let z=(Array.isArray(q)?q:[q])[0];if(z&&_2(z))U=z.field,J=z.operator,$=z.value!==void 0?typeof z.value==="string"?z.value:JSON.stringify(z.value):void 0}let _=Z.then;if(_){let F=Array.isArray(_)?_:[_];if(F[0])W=g6(F[0]),Y=v6(F[0])}let H=Z.else;if(H){let F=Array.isArray(H)?H:[H];if(F[0])L=g6(F[0]),G=v6(F[0])}}let V={type:g6(Z),params:v6(Z)};if(U)V.conditionField=U;if(J)V.conditionOperator=J;if($!==void 0)V.conditionValue=$;if(W)V.thenType=W;if(Y)V.thenParams=Y;if(L)V.elseType=L;if(G)V.elseParams=G;return{id:X,type:N.ACTION,position:Q,data:V}}function q$(Z,X,Q){return{id:X,type:N.ACTION_GROUP,position:Q,data:{mode:Z||"SEQUENCE"}}}function O0(Z,X,Q,U,J){return{id:J?J():`edge_${Z}_${X}_${Date.now()}`,source:Z,target:X,sourceHandle:Q??null,targetHandle:U??null}}function gV(Z,X={}){let Q=[],U=[],J=[];if(!Z.id)J.push("Missing required field: id");if(!Z.on)J.push("Missing required field: on (event trigger)");if(!Z.do&&Z.do!=="")J.push("Missing required field: do (actions)");if(J.length>0)return{nodes:[],edges:[],valid:!1,errors:J};let $=X.startNodeId||"event-node",W=T7(0),Y=K7(),L=D7();try{let G=G$(Z,$,X.startPosition||{x:100,y:300});Q.push(G);let V=T4(Z.if);if(V.length>0){let{conditionNodes:q,groupNodeId:_}=vV(V,Q,U,G.id,W,L),H=T4(Z.do);if(H.length>0){let z=q.length>0?q[q.length-1].id:_||G.id,K=Q.find((S)=>S.id===z)?.position||{x:300,y:300},w=W(),P=D4("do",w,{x:K.x+300,y:K.y-100});Q.push(P);let O=null;if(z===G.id)O=D.EVENT_OUTPUT;else if(z===_)O=D.CONDITION_GROUP_OUTPUT;else O=D.CONDITION_OUTPUT;U.push(O0(z,w,O,D.DO_INPUT,Y)),w4(H,Q,U,w,W,Y,(S,C,y)=>({x:P.position.x+300,y:P.position.y+C*150}),"do")}let F=T4(Z.else);if(F.length>0){let z=q.length>0?q[q.length-1].id:_||G.id,K=Q.find((S)=>S.id===z)?.position||{x:300,y:300},w=W(),P=D4("else",w,{x:K.x+300,y:K.y+100});Q.push(P);let O=null;if(z===G.id)O=D.EVENT_OUTPUT;else if(z===_)O=D.CONDITION_GROUP_OUTPUT;else O=D.CONDITION_OUTPUT;U.push(O0(z,w,O,D.DO_INPUT,Y)),w4(F,Q,U,w,W,Y,(S,C,y)=>({x:P.position.x+300,y:P.position.y+C*150}),"else")}}else{let q=T4(Z.do);if(q.length>0){let _=W(),H=G.position,F=D4("do",_,{x:H.x+300,y:H.y});Q.push(F),U.push(O0(G.id,_,D.EVENT_OUTPUT,D.DO_INPUT,Y)),w4(q,Q,U,_,W,Y,(z,B,K)=>({x:F.position.x+300,y:F.position.y+B*150}),"do")}}return{nodes:Q,edges:U,valid:!0,errors:[]}}catch(G){let V=G instanceof Error?G.message:"Unknown error during conversion";return J.push(V),{nodes:Q,edges:U,valid:!1,errors:J}}}function vV(Z,X,Q,U,J,$){let W=[],Y,L=Z.length>1,G=Z.some(b1);if(L||G){Y=J();let V="AND",q=Z.find(b1);if(q&&b1(q))V=q.operator;let _=w7(V,Y,$(1,0,1));X.push(_),Q.push(O0(U,Y,null,D.CONDITION_GROUP_INPUT,void 0));let H=null;Z.forEach((F,z)=>{let B,K;if(b1(F)){if(F.conditions)F.conditions.forEach((w,P)=>{if(b1(w))return;if(B=J(),K=K4(N2(w),b2(w),E2(w),B,$(2,z*2+P,Z.length*2)),X.push(K),W.push(K),H)Q.push(O0(H,B,D.CONDITION_OUTPUT,D.CONDITION_INPUT,void 0));else Q.push(O0(Y,B,D.CONDITION_GROUP_OUTPUT,D.CONDITION_INPUT,void 0));H=B})}else{if(B=J(),K=K4(N2(F),b2(F),E2(F),B,$(2,z,Z.length)),X.push(K),W.push(K),H)Q.push(O0(H,B,D.CONDITION_OUTPUT,D.CONDITION_INPUT,void 0));else Q.push(O0(Y,B,D.CONDITION_GROUP_OUTPUT,D.CONDITION_INPUT,void 0));H=B}})}else{let V=J(),q=K4(N2(Z[0]),b2(Z[0]),E2(Z[0]),V,$(1,0,1));X.push(q),W.push(q),Q.push(O0(U,V,null,D.CONDITION_INPUT,void 0))}return{conditionNodes:W,groupNodeId:Y}}function w4(Z,X,Q,U,J,$,W,Y){Z.forEach((L,G)=>{if(R7(L)){let z=J(),B=X.find((O)=>O.id===U)?.position||{x:100,y:100},K=q$(L.mode,z,{x:B.x+300,y:B.y+G*75});X.push(K);let w=X.find((O)=>O.id===U),P;if(w?.type===N.EVENT)P=D.EVENT_OUTPUT;else if(w?.type===N.CONDITION)P=D.CONDITION_OUTPUT;else if(w?.type===N.CONDITION_GROUP)P=D.CONDITION_GROUP_OUTPUT;else if(w?.type===N.ACTION_GROUP)P=D.ACTION_GROUP_OUTPUT;else if(w?.type===N.DO)P=D.DO_OUTPUT;else P=Y===x0.ELSE?D.ELSE_OUTPUT:D.THEN_OUTPUT;Q.push(O0(U,z,P,D.ACTION_GROUP_INPUT,$)),w4(L.actions,X,Q,z,J,$,W,Y);return}if(K8(L)){let B=L.if,K=Array.isArray(B)?B[0]:B;if(K){let w=X.find((A)=>A.id===U),P;if(w?.type===N.EVENT)P=D.EVENT_OUTPUT;else if(w?.type===N.ACTION_GROUP)P=D.ACTION_GROUP_CONDITION_OUTPUT;else if(w?.type===N.CONDITION)P=D.CONDITION_OUTPUT;else if(w?.type===N.DO)P=D.DO_CONDITION_OUTPUT;else P=D.CONDITION_OUTPUT;let O,S=W(2,G,Z.length);if(b1(K)){let A=J(),d=K.operator||"AND",e=w7(d,A,{x:S.x+300,y:S.y-75});X.push(e),Q.push(O0(U,A,P,D.CONDITION_GROUP_INPUT,$));let X0=null;if(K.conditions)K.conditions.forEach((h,t)=>{if(b1(h))return;let c=J(),r=K4(N2(h),b2(h),E2(h),c,{x:S.x+600,y:S.y+t*100});if(X.push(r),X0)Q.push(O0(X0,c,D.CONDITION_OUTPUT,D.CONDITION_INPUT,$));else Q.push(O0(A,c,D.CONDITION_GROUP_OUTPUT,D.CONDITION_INPUT,$));X0=c});O=X0||A}else if(_2(K)){let A=J(),d=K4(N2(K),b2(K),E2(K),A,{x:S.x+300,y:S.y});X.push(d),Q.push(O0(U,A,P,D.CONDITION_INPUT,$)),O=A}else return;let C=L.then;if(C){let A=J(),d=X.find((c)=>c.id===O),e=D4("do",A,{x:(d?.position.x||0)+300,y:(d?.position.y||0)-100});X.push(e);let X0=d?.type===N.CONDITION_GROUP?D.CONDITION_GROUP_OUTPUT:D.CONDITION_OUTPUT;Q.push(O0(O,A,X0,D.DO_INPUT,$));let h=Array.isArray(C)?C:[C];w4(h,X,Q,A,J,$,(c,r,T0)=>{return{x:e.position.x+300,y:e.position.y-r*150}},"do")}let y=L.else;if(y){let A=J(),d=X.find((c)=>c.id===O),e=D4("else",A,{x:(d?.position.x||0)+300,y:(d?.position.y||0)+100});X.push(e);let X0=d?.type===N.CONDITION_GROUP?D.CONDITION_GROUP_OUTPUT:D.CONDITION_OUTPUT;Q.push(O0(O,A,X0,D.DO_INPUT,$));let h=Array.isArray(y)?y:[y];w4(h,X,Q,A,J,$,(c,r,T0)=>{return{x:e.position.x+300,y:e.position.y+r*150}},"else")}}return}let V=J(),q=X.find((z)=>z.id===U)?.position||{x:700,y:100},_=V$(L,V,{x:q.x+300,y:q.y+G*150});X.push(_);let H=X.find((z)=>z.id===U),F;if(H?.type===N.EVENT)F=D.EVENT_OUTPUT;else if(H?.type===N.CONDITION)F=D.CONDITION_OUTPUT;else if(H?.type===N.CONDITION_GROUP)F=D.CONDITION_GROUP_OUTPUT;else if(H?.type===N.ACTION_GROUP)F=D.ACTION_GROUP_OUTPUT;else if(H?.type===N.DO)F=D.DO_OUTPUT;else F=D.CONDITION_OUTPUT;Q.push(O0(U,V,F,D.ACTION_INPUT,$))})}function _$(Z,X={}){let{autoId:Q=!1,filename:U,throwOnError:J=!1,multiDocument:$=!0}=X,W=[],Y=[];try{let G;if($){let q=R8(Z);for(let _ of q)if(_.errors&&_.errors.length>0){let H=_.errors.map((F)=>F.message).join(", ");throw Error(`YAML syntax error: ${H}`)}G=q.map((_)=>_.toJS())}else{let q=O8(Z);G=Array.isArray(q)?[q]:[q]}let V=[];G.forEach((q)=>{if(Array.isArray(q))V.push(...q);else V.push(q)}),V.forEach((q,_)=>{try{let H;if(Q&&!U)H={...x6(q,_),id:`rule-${_}`};else H=x6(q,_,U,Q);let F=EX.validate(H);if(F.valid)Y.push(F.rule);else W.push({index:_,message:`Validation failed for rule at index ${_}`,issues:F.issues.map((z)=>({path:z.path,message:z.message,suggestion:z.suggestion}))})}catch(H){let F=H instanceof Error?H.message:`Unknown error at index ${_}`;W.push({index:_,message:F})}})}catch(G){let V=G instanceof Error?G.message:"Unknown parsing error";W.push({index:-1,message:`Failed to parse YAML: ${V}`})}let L={rules:Y,errors:W,valid:W.length===0&&Y.length>0};if(J&&!L.valid){let G=L.errors.map((V)=>{let q=`Rule ${V.index}: ${V.message}`;if(V.issues)q+=`
185
185
  Issues:
186
- `+q.issues.map((_)=>` - [${_.path}] ${_.message}`).join(`
187
- `);return V}).join(`
186
+ `+V.issues.map((_)=>` - [${_.path}] ${_.message}`).join(`
187
+ `);return q}).join(`
188
188
  `);throw Error(`YAML parsing failed:
189
- ${L}`)}return G}function bN(Z,X={}){return V$(Z,{...X,multiDocument:!1})}function EN(Z,X={}){let Q=V$(Z,{...X,throwOnError:!0});if(Q.rules.length===0)throw Error("No valid rules found in YAML");return Q.rules[0]}export{SL as vars,kq as validateRule,Iq as validateFieldValue,fq as validateFieldType,gq as triggerRuleToNodes,bq as requireField,V$ as parseYamlRules,EN as parseYamlRuleStrict,bN as parseYamlRule,lU as parseGraphToRules,mX as parseGraph,L6 as optimizeCondition,q6 as optimizeAction,yq as normalizeRuleAdvanced,x6 as normalizeRule,Nq as normalizeOperator,Y$ as normalizeElseField,W$ as normalizeDoField,jq as normalizeConditionsUtils,D8 as normalizeConditions,Sq as normalizeActions,z2 as normalizeAction,Kq as isValidNumber,O7 as isValidExecutionMode,Pq as isValidConditionOperator,Aq as isValidComparisonOperator,_2 as isSimpleCondition,wq as isSimpleAction,b0 as isObject,Tq as isNonEmptyString,b1 as isConditionGroup,Dq as isBoolean,R7 as isActionGroup,K8 as hasConditionalExecution,E2 as getConditionValue,b2 as getConditionOperator,N2 as getConditionField,g6 as getActionType,v6 as getActionParams,Cq as generateRuleIdFromFilename,hX as findTerminalActions,T4 as ensureArray,Dw as defaultGetDoBranchType,fL as defaultExtractEventData,E9 as createVarsContext,D7 as createPositionCalculator,EL as createParserContext,T7 as createNodeIdGenerator,K7 as createEdgeIdGenerator,H6 as collectDoActions,G$ as buildEventNode,O0 as buildEdge,D4 as buildDoNode,K4 as buildConditionNode,w7 as buildConditionGroupNode,L$ as buildActionNode,q$ as buildActionGroupNode,EX as TriggerValidator,bX as TriggerUtils,IK as TriggerSystem,bL as TriggerRuleSchema,G6 as TriggerEngine,Fq as RuleExporter,wL as RuleEvents,bU as RuleEngine,wD as RuleConditionSchema,uX as RuleBuilder,fX as ParamsBuilder,N as NodeType,o0 as MathFunctions,SD as InlineConditionalActionSchema,AL as InMemoryPersistence,D as HandleId,pU as GraphParserErrorCode,w1 as GraphParserError,C0 as ExpressionEngine,DL as Events,PL as EventQueue,NX as ErrorMessages,G6 as Engine,b9 as DebugMessages,CX as ControlFlow,RL as ContextKeys,I9 as ConditionalActionBuilder,KD as ConditionSchema,IX as ConditionOperator,DD as ConditionGroupSchema,J2 as ConditionBuilder,TD as ComparisonOperatorSchema,P2 as BuiltInAction,NU as BrowserPersistence,x0 as BranchType,KL as Actions,PD as ActionSchema,W6 as ActionRegistry,AD as ActionGroupSchema,V6 as ActionBuilder};
189
+ ${G}`)}return L}function bN(Z,X={}){return _$(Z,{...X,multiDocument:!1})}function EN(Z,X={}){let Q=_$(Z,{...X,throwOnError:!0});if(Q.rules.length===0)throw Error("No valid rules found in YAML");return Q.rules[0]}export{jG as vars,kV as validateRule,IV as validateFieldValue,fV as validateFieldType,gV as triggerRuleToNodes,bV as requireField,_$ as parseYamlRules,EN as parseYamlRuleStrict,bN as parseYamlRule,dU as parseGraphToRules,mX as parseGraph,G6 as optimizeCondition,V6 as optimizeAction,yV as normalizeRuleAdvanced,x6 as normalizeRule,NV as normalizeOperator,L$ as normalizeElseField,Y$ as normalizeDoField,jV as normalizeConditionsUtils,D8 as normalizeConditions,SV as normalizeActions,z2 as normalizeAction,KV as isValidNumber,O7 as isValidExecutionMode,PV as isValidConditionOperator,AV as isValidComparisonOperator,_2 as isSimpleCondition,wV as isSimpleAction,b0 as isObject,TV as isNonEmptyString,b1 as isConditionGroup,DV as isBoolean,R7 as isActionGroup,K8 as hasConditionalExecution,E2 as getConditionValue,b2 as getConditionOperator,N2 as getConditionField,g6 as getActionType,v6 as getActionParams,CV as generateRuleIdFromFilename,hX as findTerminalActions,T4 as ensureArray,Dw as defaultGetDoBranchType,fG as defaultExtractEventData,E9 as createVarsContext,D7 as createPositionCalculator,EG as createParserContext,T7 as createNodeIdGenerator,K7 as createEdgeIdGenerator,H6 as collectDoActions,G$ as buildEventNode,O0 as buildEdge,D4 as buildDoNode,K4 as buildConditionNode,w7 as buildConditionGroupNode,V$ as buildActionNode,q$ as buildActionGroupNode,EX as TriggerValidator,bX as TriggerUtils,IK as TriggerSystem,vU as TriggerRuleSchema,L6 as TriggerEngine,FV as RuleExporter,PG as RuleEvents,bU as RuleEngine,wD as RuleConditionSchema,uX as RuleBuilder,fX as ParamsBuilder,N as NodeType,o0 as MathFunctions,SD as InlineConditionalActionSchema,SG as InMemoryPersistence,D as HandleId,lU as GraphParserErrorCode,G1 as GraphParserError,C0 as ExpressionEngine,wG as Events,AG as EventQueue,NX as ErrorMessages,L6 as Engine,b9 as DebugMessages,CX as ControlFlow,OG as ContextKeys,I9 as ConditionalActionBuilder,KD as ConditionSchema,IX as ConditionOperator,DD as ConditionGroupSchema,J2 as ConditionBuilder,TD as ComparisonOperatorSchema,P2 as BuiltInAction,NU as BrowserPersistence,x0 as BranchType,DG as Actions,PD as ActionSchema,W6 as ActionRegistry,AD as ActionGroupSchema,q6 as ActionBuilder};
190
190
 
191
- //# debugId=FAB203DC8ECCFD3064756E2164756E21
191
+ //# debugId=BB7BF050F52FA0A664756E2164756E21