trigger_system 1.2.6 → 1.3.1

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.
Files changed (38) hide show
  1. package/README.md +2 -12
  2. package/dist/browser/index.browser.js +116 -116
  3. package/dist/browser/index.browser.js.map +19 -20
  4. package/dist/core/action-registry.d.ts +1 -8
  5. package/dist/core/action-registry.d.ts.map +1 -1
  6. package/dist/core/constants.d.ts +2 -18
  7. package/dist/core/constants.d.ts.map +1 -1
  8. package/dist/core/engine-utils.d.ts.map +1 -1
  9. package/dist/core/event-queue.d.ts.map +1 -1
  10. package/dist/core/expression-engine.d.ts +0 -1
  11. package/dist/core/expression-engine.d.ts.map +1 -1
  12. package/dist/core/index.d.ts +2 -2
  13. package/dist/core/index.d.ts.map +1 -1
  14. package/dist/core/persistence.d.ts +0 -1
  15. package/dist/core/persistence.d.ts.map +1 -1
  16. package/dist/core/rule-engine.d.ts +0 -12
  17. package/dist/core/rule-engine.d.ts.map +1 -1
  18. package/dist/core/trigger-engine.d.ts +56 -6
  19. package/dist/core/trigger-engine.d.ts.map +1 -1
  20. package/dist/core/vars-context.d.ts +144 -0
  21. package/dist/core/vars-context.d.ts.map +1 -0
  22. package/dist/lsp/hover-constants.d.ts.map +1 -1
  23. package/dist/node/index.js +135 -135
  24. package/dist/node/index.js.map +20 -21
  25. package/dist/node/node.js +134 -134
  26. package/dist/node/node.js.map +20 -21
  27. package/dist/sdk/builder.d.ts +2 -2
  28. package/dist/sdk/builder.d.ts.map +1 -1
  29. package/dist/sdk/graph/action-resolver.d.ts.map +1 -1
  30. package/dist/sdk/graph/condition-resolver.d.ts.map +1 -1
  31. package/dist/sdk/graph-parser.d.ts +15 -1
  32. package/dist/sdk/graph-parser.d.ts.map +1 -1
  33. package/dist/sdk/yaml/converter.d.ts.map +1 -1
  34. package/dist/sdk/yaml/types.d.ts +0 -1
  35. package/dist/sdk/yaml/types.d.ts.map +1 -1
  36. package/dist/types.d.ts +1 -8
  37. package/dist/types.d.ts.map +1 -1
  38. package/package.json +3 -2
package/dist/node/node.js CHANGED
@@ -1,192 +1,192 @@
1
- import{createRequire as nY}from"node:module";var lY=Object.create;var{getPrototypeOf:dY,defineProperty:L6,getOwnPropertyNames:ZQ,getOwnPropertyDescriptor:cY}=Object,XQ=Object.prototype.hasOwnProperty;function QQ(Z){return this[Z]}var iY,sY,UQ=(Z,X,Q)=>{var U=Z!=null&&typeof Z==="object";if(U){var J=X?iY??=new WeakMap:sY??=new WeakMap,q=J.get(Z);if(q)return q}Q=Z!=null?lY(dY(Z)):{};let Y=X||!Z||!Z.__esModule?L6(Q,"default",{value:Z,enumerable:!0}):Q;for(let W of ZQ(Z))if(!XQ.call(Y,W))L6(Y,W,{get:QQ.bind(Z,W),enumerable:!0});if(U)J.set(Z,Y);return Y},JQ=(Z)=>{var X=(e3??=new WeakMap).get(Z),Q;if(X)return X;if(X=L6({},"__esModule",{value:!0}),Z&&typeof Z==="object"||typeof Z==="function"){for(var U of ZQ(Z))if(!XQ.call(X,U))L6(X,U,{get:QQ.bind(Z,U),enumerable:!(Q=cY(Z,U))||Q.enumerable})}return e3.set(Z,X),X},e3,C=(Z,X)=>()=>(X||Z((X={exports:{}}).exports,X),X.exports);var aY=(Z)=>Z;function rY(Z,X){this[Z]=aY.bind(null,X)}var oY=(Z,X)=>{for(var Q in X)L6(Z,Q,{get:X[Q],enumerable:!0,configurable:!0,set:rY.bind(X,Q)})};var O=(Z,X)=>()=>(Z&&(X=Z(Z=0)),X);var z2=nY(import.meta.url);var A1=(Z)=>Array.isArray(Z)?Z:[Z],qQ=(Z,X)=>{let Q=[[],[]];for(let U of Z)if(X(U))Q[0].push(U);else Q[1].push(U);return Q},P4,g0=(Z,X)=>Z.includes(X),YQ=(Z,X=0)=>[...Array(Z)].map((Q,U)=>U+X),m=(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},H1=(Z,X)=>{if(X===void 0||X===null)return Z??[];if(Z===void 0||Z===null)return A1(X);return Z.concat(X)},WQ=(...Z)=>Z.reduce(H1,[]),X1=(Z,X,Q)=>{if(Z===void 0)return Array.isArray(X)?X:[X];let U=Q?.isEqual??((J,q)=>J===q);for(let J of A1(X))if(!Z.some((q)=>U(q,J)))Z.push(J);return Z},$Q=(Z,X)=>Z.reduce((Q,U)=>{let J=U[X];return Q[J]=m(Q[J],U),Q},{}),z1=(Z,X,Q)=>Z.length===X.length&&Z.every(Q?.isEqual?(U,J)=>Q.isEqual(U,X[J]):(U,J)=>U===X[J]);var A4=O(()=>{P4=Array});var w0=(Z,X)=>$0(Z)===X,$0=(Z)=>{let X=typeof Z;return X==="object"?Z===null?"null":"object":X==="function"?"object":X},P0,LQ;var F2=O(()=>{P0={boolean:"boolean",null:"null",undefined:"undefined",bigint:"a bigint",number:"a number",object:"an object",string:"a string",symbol:"a symbol"},LQ={...P0,function:"a function"}});var GQ,u=(Z)=>n1(Z,GQ),n1=(Z,X=Error)=>{throw new X(Z)},G6,M=(Z)=>n1(Z,G6),s0=(Z)=>` ${Z}`,_Q="​";var Q1=O(()=>{GQ=class GQ extends Error{};G6=class G6 extends Error{name="ParseError"}});var k=(Z,X)=>{let Q={},U=Array.isArray(Z),J=!1;for(let[q,Y]of Object.entries(Z).entries()){let W=U?X(q,Y[1]):X(...Y,q);J||=typeof W[0]==="number";let $=Array.isArray(W[0])||W.length===0?W:[W];for(let[L,_]of $)if(typeof L==="object")Q[L.group]=m(Q[L.group],_);else Q[L]=_}return J?Object.values(Q):Q};var FZ=O(()=>{A4()});class MZ{constructor(Z){Object.assign(this,Z)}}var BZ,L0=(Z,X)=>(Z in X),B2=(Z,X)=>(X in Z),VQ=class{},_6,tY=(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]},S4=(Z,X)=>tY(Z,X)[1],U1=(Z)=>Object.keys(Z).length===0,t1=(Z)=>[...Object.entries(Z),...Object.getOwnPropertySymbols(Z).map((X)=>[X,Z[X]])],HQ=(Z,X)=>Object.defineProperties(Z,Object.getOwnPropertyDescriptors(X)),zQ=(Z)=>{let X=Object.keys(Z).sort(),Q={};for(let U=0;U<X.length;U++)Q[X[U]]=Z[X[U]];return Q},A0,FQ=(Z)=>Object.values(Z).filter((X)=>{if(typeof X==="number")return!0;return typeof Z[X]!=="number"});var M2=O(()=>{Q1();FZ();BZ=Object.entries;_6=class _6 extends VQ{};A0=s0(`unset${_Q}`)});var OZ,RZ,KZ,eY,e1,V6=(Z)=>{let X=Object.getPrototypeOf(Z);while(X?.constructor&&(!L0(X.constructor.name,e1)||!(Z instanceof e1[X.constructor.name])))X=Object.getPrototypeOf(X);let Q=X?.constructor?.name;if(Q===void 0||Q==="Object")return;return Q},H6=(Z)=>typeof Z==="object"&&Z!==null?V6(Z)??"object":$0(Z),r,ZW,XW,QW,BQ,z6=(Z)=>{let X=Object(Z).name??null;return X&&L0(X,e1)&&e1[X]===Z?X:null},TZ=(Z,X)=>{let Q=Z.prototype;while(Q!==null){if(Q===X.prototype)return!0;Q=Object.getPrototypeOf(Q)}return!1};var F6=O(()=>{F2();M2();OZ={Array,Boolean,Date,Error,Function,Map,Number,Promise,RegExp,Set,String,WeakMap,WeakSet},RZ=globalThis.File??Blob,KZ={ArrayBuffer,Blob,File:RZ,FormData,Headers,Request,Response,URL},eY={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array},e1={...OZ,...KZ,...eY,String,Number,Boolean},r=Array.isArray,ZW={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"},XW={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"},QW={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"},BQ={...ZW,...XW,...QW}});var MQ=(Z)=>OQ(Z,new Map),OQ=(Z,X)=>{if(typeof Z!=="object"||Z===null)return Z;if(X?.has(Z))return X.get(Z);let Q=z6(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 q in J){let Y=J[q];if("get"in Y||"set"in Y)continue;Y.value=OQ(Y.value,X)}}return Object.defineProperties(U,J),U};var RQ=O(()=>{F6()});var KQ=()=>{};class S0{constructor(Z,...[X]){return Object.assign(Object.setPrototypeOf(Z.bind(X?.bind??this),this.constructor.prototype),X?.attach)}}var UW=(Z)=>{let X=A0;return()=>X===A0?X=Z():X},S1=(Z)=>typeof Z==="function"&&Z.length===0,TQ,DQ;var wQ=O(()=>{Q1();M2();TQ=class extends Function{constructor(...Z){let X=Z.slice(0,-1),Q=Z[Z.length-1];try{super(...X,Q)}catch(U){return u(`Encountered an unexpected error while compiling your definition:
1
+ import{createRequire as QW}from"node:module";var aY=Object.create;var{getPrototypeOf:rY,defineProperty:H6,getOwnPropertyNames:JQ,getOwnPropertyDescriptor:oY}=Object,YQ=Object.prototype.hasOwnProperty;function WQ(Z){return this[Z]}var nY,tY,$Q=(Z,X,Q)=>{var U=Z!=null&&typeof Z==="object";if(U){var q=X?nY??=new WeakMap:tY??=new WeakMap,J=q.get(Z);if(J)return J}Q=Z!=null?aY(rY(Z)):{};let Y=X||!Z||!Z.__esModule?H6(Q,"default",{value:Z,enumerable:!0}):Q;for(let W of JQ(Z))if(!YQ.call(Y,W))H6(Y,W,{get:WQ.bind(Z,W),enumerable:!0});if(U)q.set(Z,Y);return Y},LQ=(Z)=>{var X=(qQ??=new WeakMap).get(Z),Q;if(X)return X;if(X=H6({},"__esModule",{value:!0}),Z&&typeof Z==="object"||typeof Z==="function"){for(var U of JQ(Z))if(!YQ.call(X,U))H6(X,U,{get:WQ.bind(Z,U),enumerable:!(Q=oY(Z,U))||Q.enumerable})}return qQ.set(Z,X),X},qQ,C=(Z,X)=>()=>(X||Z((X={exports:{}}).exports,X),X.exports);var eY=(Z)=>Z;function ZW(Z,X){this[Z]=eY.bind(null,X)}var XW=(Z,X)=>{for(var Q in X)H6(Z,Q,{get:X[Q],enumerable:!0,configurable:!0,set:ZW.bind(X,Q)})};var O=(Z,X)=>()=>(Z&&(X=Z(Z=0)),X);var T2=QW(import.meta.url);var P1=(Z)=>Array.isArray(Z)?Z:[Z],GQ=(Z,X)=>{let Q=[[],[]];for(let U of Z)if(X(U))Q[0].push(U);else Q[1].push(U);return Q},E4,k0=(Z,X)=>Z.includes(X),VQ=(Z,X=0)=>[...Array(Z)].map((Q,U)=>U+X),m=(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},_1=(Z,X)=>{if(X===void 0||X===null)return Z??[];if(Z===void 0||Z===null)return P1(X);return Z.concat(X)},_Q=(...Z)=>Z.reduce(_1,[]),e0=(Z,X,Q)=>{if(Z===void 0)return Array.isArray(X)?X:[X];let U=Q?.isEqual??((q,J)=>q===J);for(let q of P1(X))if(!Z.some((J)=>U(J,q)))Z.push(q);return Z},zQ=(Z,X)=>Z.reduce((Q,U)=>{let q=U[X];return Q[q]=m(Q[q],U),Q},{}),z1=(Z,X,Q)=>Z.length===X.length&&Z.every(Q?.isEqual?(U,q)=>Q.isEqual(U,X[q]):(U,q)=>U===X[q]);var b4=O(()=>{E4=Array});var P0=(Z,X)=>G0(Z)===X,G0=(Z)=>{let X=typeof Z;return X==="object"?Z===null?"null":"object":X==="function"?"object":X},A0,HQ;var K2=O(()=>{A0={boolean:"boolean",null:"null",undefined:"undefined",bigint:"a bigint",number:"a number",object:"an object",string:"a string",symbol:"a symbol"},HQ={...A0,function:"a function"}});var FQ,l=(Z)=>n1(Z,FQ),n1=(Z,X=Error)=>{throw new X(Z)},F6,M=(Z)=>n1(Z,F6),d0=(Z)=>` ${Z}`,BQ="​";var Z1=O(()=>{FQ=class FQ extends Error{};F6=class F6 extends Error{name="ParseError"}});var k=(Z,X)=>{let Q={},U=Array.isArray(Z),q=!1;for(let[J,Y]of Object.entries(Z).entries()){let W=U?X(J,Y[1]):X(...Y,J);q||=typeof W[0]==="number";let $=Array.isArray(W[0])||W.length===0?W:[W];for(let[L,V]of $)if(typeof L==="object")Q[L.group]=m(Q[L.group],V);else Q[L]=V}return q?Object.values(Q):Q};var TZ=O(()=>{b4()});class DZ{constructor(Z){Object.assign(this,Z)}}var KZ,V0=(Z,X)=>(Z in X),D2=(Z,X)=>(X in Z),MQ=class{},B6,UW=(Z,X)=>{let Q={},U={},q;for(q in Z)if(q in X)Q[q]=Z[q];else U[q]=Z[q];return[Q,U]},I4=(Z,X)=>UW(Z,X)[1],X1=(Z)=>Object.keys(Z).length===0,t1=(Z)=>[...Object.entries(Z),...Object.getOwnPropertySymbols(Z).map((X)=>[X,Z[X]])],OQ=(Z,X)=>Object.defineProperties(Z,Object.getOwnPropertyDescriptors(X)),RQ=(Z)=>{let X=Object.keys(Z).sort(),Q={};for(let U=0;U<X.length;U++)Q[X[U]]=Z[X[U]];return Q},S0,TQ=(Z)=>Object.values(Z).filter((X)=>{if(typeof X==="number")return!0;return typeof Z[X]!=="number"});var w2=O(()=>{Z1();TZ();KZ=Object.entries;B6=class B6 extends MQ{};S0=d0(`unset${BQ}`)});var wZ,PZ,AZ,qW,e1,M6=(Z)=>{let X=Object.getPrototypeOf(Z);while(X?.constructor&&(!V0(X.constructor.name,e1)||!(Z instanceof e1[X.constructor.name])))X=Object.getPrototypeOf(X);let Q=X?.constructor?.name;if(Q===void 0||Q==="Object")return;return Q},O6=(Z)=>typeof Z==="object"&&Z!==null?M6(Z)??"object":G0(Z),n,JW,YW,WW,KQ,R6=(Z)=>{let X=Object(Z).name??null;return X&&V0(X,e1)&&e1[X]===Z?X:null},SZ=(Z,X)=>{let Q=Z.prototype;while(Q!==null){if(Q===X.prototype)return!0;Q=Object.getPrototypeOf(Q)}return!1};var T6=O(()=>{K2();w2();wZ={Array,Boolean,Date,Error,Function,Map,Number,Promise,RegExp,Set,String,WeakMap,WeakSet},PZ=globalThis.File??Blob,AZ={ArrayBuffer,Blob,File:PZ,FormData,Headers,Request,Response,URL},qW={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array},e1={...wZ,...AZ,...qW,String,Number,Boolean},n=Array.isArray,JW={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"},YW={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"},WW={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"},KQ={...JW,...YW,...WW}});var DQ=(Z)=>wQ(Z,new Map),wQ=(Z,X)=>{if(typeof Z!=="object"||Z===null)return Z;if(X?.has(Z))return X.get(Z);let Q=R6(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)),q=Object.getOwnPropertyDescriptors(Z);if(X){X.set(Z,U);for(let J in q){let Y=q[J];if("get"in Y||"set"in Y)continue;Y.value=wQ(Y.value,X)}}return Object.defineProperties(U,q),U};var PQ=O(()=>{T6()});var AQ=()=>{};class j0{constructor(Z,...[X]){return Object.assign(Object.setPrototypeOf(Z.bind(X?.bind??this),this.constructor.prototype),X?.attach)}}var $W=(Z)=>{let X=S0;return()=>X===S0?X=Z():X},A1=(Z)=>typeof Z==="function"&&Z.length===0,SQ,jQ;var CQ=O(()=>{Z1();w2();SQ=class extends Function{constructor(...Z){let X=Z.slice(0,-1),Q=Z[Z.length-1];try{super(...X,Q)}catch(U){return l(`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
- }`)}}};DQ=UW(()=>{try{return Function("return false")()}catch{return!0}})});var qT,PQ;var AQ=O(()=>{Q1();qT=s0("brand"),PQ=s0("arkInferred")});class z0{constructor(){}}var $T;var SQ=O(()=>{Q1();$T=s0("args")});var CQ=()=>{};var JW=()=>{try{return((Error().stack?.split(`
6
- `)[2]?.trim()||"").match(/\(?(.+?)(?::\d+:\d+)?\)?$/)?.[1]||"unknown").replace(/^file:\/\//,"")}catch{return"unknown"}},qW,NQ;var DZ=O(()=>{qW=globalThis.process?.env??{},NQ={fileName:JW,env:qW}});var jQ=()=>{};var EQ=(Z)=>Z[0].toUpperCase()+Z.slice(1),bQ=(Z)=>Z[0].toLowerCase()+Z.slice(1),wZ=(Z)=>new RegExp(YW(Z),typeof Z==="string"?"":Z.flags),YW=(Z)=>{return`^(?:${typeof Z==="string"?Z:Z.source})$`},B1,Z2="\\",C1;var C4=O(()=>{B1={negativeLookahead:(Z)=>`(?!${Z})`,nonCapturingGroup:(Z)=>`(?:${Z})`},C1={" ":1,"\n":1,"\t":1}});var WW,fQ,$W,LW,kQ=(Z)=>wZ(B1.negativeLookahead(WW)+B1.nonCapturingGroup("-?"+B1.nonCapturingGroup(B1.nonCapturingGroup("0|"+fQ)+B1.nonCapturingGroup(Z.decimalPattern)+"?")+(Z.allowDecimalOnly?"|"+Z.decimalPattern:"")+"?")),IQ,GW,N4,FT,_W,VW=(Z)=>Z.length!==0&&_W.test(Z),B6,HW,PZ,zW,yQ,gQ=(Z,X)=>`'${Z}' was parsed as ${yQ[X]} but could not be narrowed to a literal value. Avoid unnecessary leading or trailing zeros and other abnormal notation`,FW=(Z,X)=>X==="number"?GW(Z):HW(Z),BW=(Z,X)=>X==="number"?Number(Z):Number.parseInt(Z),MW=(Z,X)=>X==="number"?VW(Z):zW(Z),vQ=(Z,X)=>AZ(Z,"number",X),xQ=(Z,X)=>AZ(Z,"number",{...X,strict:!0}),hQ=(Z,X)=>AZ(Z,"integer",X),AZ=(Z,X,Q)=>{let U=BW(Z,X);if(!Number.isNaN(U)){if(MW(Z,X)){if(Q?.strict)return FW(Z,X)?U:M(gQ(Z,X));return U}}return Q?.errorOnFail?M(Q?.errorOnFail===!0?`Failed to parse ${yQ[X]} from '${Z}'`:Q?.errorOnFail):void 0},mQ=(Z)=>{if(Z[Z.length-1]!=="n")return;let X=Z.slice(0,-1),Q;try{Q=BigInt(X)}catch{return}if(B6.test(X))return Q;if(PZ.test(X))return M(gQ(Z,"bigint"))};var uQ=O(()=>{Q1();C4();WW=/^-0\.?0*$/.source,fQ=/[1-9]\d*/.source,$W=/\.\d+/.source,LW=/\.\d*[1-9]/.source,IQ=kQ({decimalPattern:LW,allowDecimalOnly:!1}),GW=IQ.test.bind(IQ),N4=kQ({decimalPattern:$W,allowDecimalOnly:!0}),FT=N4.test.bind(N4),_W=/^-?\d*\.?\d*$/,B6=wZ(B1.negativeLookahead("^-0$")+"-?"+B1.nonCapturingGroup(B1.nonCapturingGroup("0|"+fQ))),HW=B6.test.bind(B6),PZ=/^-?\d+$/,zW=PZ.test.bind(PZ),yQ={number:"a number",bigint:"a bigint",integer:"an integer"}});var OW="0.56.0",RW,X2,pQ,SZ,M6=(Z)=>{let X=pQ.get(Z);if(X)return X;let Q=KW(Z);if(SZ[Q])Q=`${Q}${SZ[Q]++}`;else SZ[Q]=1;return X2[Q]=Z,pQ.set(Z,Q),Q},N1=(Z)=>/^[$A-Z_a-z][\w$]*$/.test(Z),KW=(Z)=>{switch(typeof Z){case"object":{if(Z===null)break;let X=V6(Z)??"object";return X[0].toLowerCase()+X.slice(1)}case"function":return N1(Z.name)?Z.name:"fn";case"symbol":return Z.description&&N1(Z.description)?Z.description:"symbol"}return u(`Unexpected attempt to register serializable value of type ${$0(Z)}`)};var j4=O(()=>{F2();Q1();DZ();F6();RW={version:OW,filename:NQ.fileName(),FileConstructor:RZ},X2=RW,pQ=new Map,SZ=Object.create(null)});var O6=(Z)=>typeof Z==="string"?JSON.stringify(Z):typeof Z==="bigint"?`${Z}n`:`${Z}`;var lQ=(Z,X={})=>R6(Z,{onUndefined:"$ark.undefined",onBigInt:(Q)=>`$ark.bigint-${Q}`,...X},[]),y=(Z,X)=>{switch($0(Z)){case"object":let Q=Z,U=Q.constructor?.name??"Object";return U==="Object"||U==="Array"?X?.quoteKeys===!1?E4(Q,X?.indent??0,""):JSON.stringify(R6(Q,O2,[]),null,X?.indent):E4(Q,X?.indent??0,"");case"symbol":return O2.onSymbol(Z);default:return O6(Z)}},E4=(Z,X,Q)=>{if(typeof Z==="function")return O2.onFunction(Z);if(typeof Z!=="object"||Z===null)return O6(Z);let U=Q+" ".repeat(X);if(Array.isArray(Z)){if(Z.length===0)return"[]";let q=Z.map((Y)=>E4(Y,X,U)).join(`,
5
+ }`)}}};jQ=$W(()=>{try{return Function("return false")()}catch{return!0}})});var _K,NQ;var EQ=O(()=>{Z1();_K=d0("brand"),NQ=d0("arkInferred")});class O0{constructor(){}}var FK;var bQ=O(()=>{Z1();FK=d0("args")});var IQ=()=>{};var LW=()=>{try{return((Error().stack?.split(`
6
+ `)[2]?.trim()||"").match(/\(?(.+?)(?::\d+:\d+)?\)?$/)?.[1]||"unknown").replace(/^file:\/\//,"")}catch{return"unknown"}},GW,fQ;var jZ=O(()=>{GW=globalThis.process?.env??{},fQ={fileName:LW,env:GW}});var yQ=()=>{};var kQ=(Z)=>Z[0].toUpperCase()+Z.slice(1),gQ=(Z)=>Z[0].toLowerCase()+Z.slice(1),CZ=(Z)=>new RegExp(VW(Z),typeof Z==="string"?"":Z.flags),VW=(Z)=>{return`^(?:${typeof Z==="string"?Z:Z.source})$`},H1,X2="\\",S1;var f4=O(()=>{H1={negativeLookahead:(Z)=>`(?!${Z})`,nonCapturingGroup:(Z)=>`(?:${Z})`},S1={" ":1,"\n":1,"\t":1}});var _W,xQ,zW,HW,hQ=(Z)=>CZ(H1.negativeLookahead(_W)+H1.nonCapturingGroup("-?"+H1.nonCapturingGroup(H1.nonCapturingGroup("0|"+xQ)+H1.nonCapturingGroup(Z.decimalPattern)+"?")+(Z.allowDecimalOnly?"|"+Z.decimalPattern:"")+"?")),vQ,FW,y4,DK,BW,MW=(Z)=>Z.length!==0&&BW.test(Z),K6,OW,NZ,RW,mQ,uQ=(Z,X)=>`'${Z}' was parsed as ${mQ[X]} but could not be narrowed to a literal value. Avoid unnecessary leading or trailing zeros and other abnormal notation`,TW=(Z,X)=>X==="number"?FW(Z):OW(Z),KW=(Z,X)=>X==="number"?Number(Z):Number.parseInt(Z),DW=(Z,X)=>X==="number"?MW(Z):RW(Z),pQ=(Z,X)=>EZ(Z,"number",X),lQ=(Z,X)=>EZ(Z,"number",{...X,strict:!0}),cQ=(Z,X)=>EZ(Z,"integer",X),EZ=(Z,X,Q)=>{let U=KW(Z,X);if(!Number.isNaN(U)){if(DW(Z,X)){if(Q?.strict)return TW(Z,X)?U:M(uQ(Z,X));return U}}return Q?.errorOnFail?M(Q?.errorOnFail===!0?`Failed to parse ${mQ[X]} from '${Z}'`:Q?.errorOnFail):void 0},dQ=(Z)=>{if(Z[Z.length-1]!=="n")return;let X=Z.slice(0,-1),Q;try{Q=BigInt(X)}catch{return}if(K6.test(X))return Q;if(NZ.test(X))return M(uQ(Z,"bigint"))};var iQ=O(()=>{Z1();f4();_W=/^-0\.?0*$/.source,xQ=/[1-9]\d*/.source,zW=/\.\d+/.source,HW=/\.\d*[1-9]/.source,vQ=hQ({decimalPattern:HW,allowDecimalOnly:!1}),FW=vQ.test.bind(vQ),y4=hQ({decimalPattern:zW,allowDecimalOnly:!0}),DK=y4.test.bind(y4),BW=/^-?\d*\.?\d*$/,K6=CZ(H1.negativeLookahead("^-0$")+"-?"+H1.nonCapturingGroup(H1.nonCapturingGroup("0|"+xQ))),OW=K6.test.bind(K6),NZ=/^-?\d+$/,RW=NZ.test.bind(NZ),mQ={number:"a number",bigint:"a bigint",integer:"an integer"}});var wW="0.56.0",PW,Q2,sQ,bZ,D6=(Z)=>{let X=sQ.get(Z);if(X)return X;let Q=AW(Z);if(bZ[Q])Q=`${Q}${bZ[Q]++}`;else bZ[Q]=1;return Q2[Q]=Z,sQ.set(Z,Q),Q},j1=(Z)=>/^[$A-Z_a-z][\w$]*$/.test(Z),AW=(Z)=>{switch(typeof Z){case"object":{if(Z===null)break;let X=M6(Z)??"object";return X[0].toLowerCase()+X.slice(1)}case"function":return j1(Z.name)?Z.name:"fn";case"symbol":return Z.description&&j1(Z.description)?Z.description:"symbol"}return l(`Unexpected attempt to register serializable value of type ${G0(Z)}`)};var k4=O(()=>{K2();Z1();jZ();T6();PW={version:wW,filename:fQ.fileName(),FileConstructor:PZ},Q2=PW,sQ=new Map,bZ=Object.create(null)});var w6=(Z)=>typeof Z==="string"?JSON.stringify(Z):typeof Z==="bigint"?`${Z}n`:`${Z}`;var aQ=(Z,X={})=>P6(Z,{onUndefined:"$ark.undefined",onBigInt:(Q)=>`$ark.bigint-${Q}`,...X},[]),g=(Z,X)=>{switch(G0(Z)){case"object":let Q=Z,U=Q.constructor?.name??"Object";return U==="Object"||U==="Array"?X?.quoteKeys===!1?g4(Q,X?.indent??0,""):JSON.stringify(P6(Q,P2,[]),null,X?.indent):g4(Q,X?.indent??0,"");case"symbol":return P2.onSymbol(Z);default:return w6(Z)}},g4=(Z,X,Q)=>{if(typeof Z==="function")return P2.onFunction(Z);if(typeof Z!=="object"||Z===null)return w6(Z);let U=Q+" ".repeat(X);if(Array.isArray(Z)){if(Z.length===0)return"[]";let J=Z.map((Y)=>g4(Y,X,U)).join(`,
7
7
  `+U);return X?`[
8
- ${U}${q}
9
- ${Q}]`:`[${q}]`}let J=Z.constructor?.name??"Object";if(J==="Object"){let q=t1(Z).map(([Y,W])=>{let $=typeof Y==="symbol"?O2.onSymbol(Y):N1(Y)?Y:JSON.stringify(Y),L=E4(W,X,U);return`${U}${$}: ${L}`});if(q.length===0)return"{}";return X?`{
10
- ${q.join(`,
8
+ ${U}${J}
9
+ ${Q}]`:`[${J}]`}let q=Z.constructor?.name??"Object";if(q==="Object"){let J=t1(Z).map(([Y,W])=>{let $=typeof Y==="symbol"?P2.onSymbol(Y):j1(Y)?Y:JSON.stringify(Y),L=g4(W,X,U);return`${U}${$}: ${L}`});if(J.length===0)return"{}";return X?`{
10
+ ${J.join(`,
11
11
  `)}
12
- ${Q}}`:`{${q.join(", ")}}`}if(Z instanceof Date)return Q2(Z);if("expression"in Z&&typeof Z.expression==="string")return Z.expression;return J},O2,R6=(Z,X,Q)=>{switch($0(Z)){case"object":{let U=Z;if("toJSON"in U&&typeof U.toJSON==="function")return U.toJSON();if(typeof U==="function")return O2.onFunction(U);if(Q.includes(U))return"(cycle)";let J=[...Q,U];if(Array.isArray(U))return U.map((Y)=>R6(Y,X,J));if(U instanceof Date)return U.toDateString();let q={};for(let Y in U)q[Y]=R6(U[Y],X,J);for(let Y of Object.getOwnPropertySymbols(U))q[X.onSymbol?.(Y)??Y.toString()]=R6(U[Y],X,J);return q}case"symbol":return O2.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}},Q2=(Z)=>{let X=Z.getFullYear(),Q=Z.getMonth(),U=Z.getDate(),J=Z.getHours(),q=Z.getMinutes(),Y=Z.getSeconds(),W=Z.getMilliseconds();if(Q===0&&U===1&&J===0&&q===0&&Y===0&&W===0)return`${X}`;let $=`${TW[Q]} ${U}, ${X}`;if(J===0&&q===0&&Y===0&&W===0)return $;let L=Z.toLocaleTimeString(),_=L.endsWith(" AM")||L.endsWith(" PM")?L.slice(-3):"";if(_)L=L.slice(0,-_.length);if(W)L+=`.${wW(W,3)}`;else if(DW.test(L))L=L.slice(0,-3);return`${L+_}, ${$}`},TW,DW,wW=(Z,X)=>String(Z).padStart(X,"0");var CZ=O(()=>{F2();M2();j4();O2={onCycle:()=>"(cycle)",onSymbol:(Z)=>`Symbol(${M6(Z)})`,onFunction:(Z)=>`Function(${M6(Z)})`},TW=["January","February","March","April","May","June","July","August","September","October","November","December"],DW=/:\d\d:00$/});var dQ=(Z,X,...[Q])=>{let U=Q?.stringifySymbol??y,J=Z;switch(typeof X){case"string":J=N1(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(`${y(X)} must be a PropertyKey or stringifyNonKey must be passed to options`)}return J},M1=(Z,...X)=>Z.reduce((Q,U)=>dQ(Q,U,...X),""),K6;var cQ=O(()=>{A4();Q1();j4();CZ();K6=class K6 extends P4{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"?y(this[Z]):this[Z]);return this.cache.json}stringify(){if(this.cache.stringify)return this.cache.stringify;return this.cache.stringify=M1(this)}stringifyAncestors(){if(this.cache.stringifyAncestors)return this.cache.stringifyAncestors;let Z="",X=[Z];for(let Q of this)Z=dQ(Z,Q),X.push(Z);return this.cache.stringifyAncestors=X}}});class T6{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===Z2)if(this.shift(),Z(this,X))X+=this.shift();else if(this.lookahead===Z2)X+=this.shift();else X+=`${Z2}${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 C1))}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 iQ=(Z,X)=>`Unmatched ${Z}${X===""?"":` before ${X}`}`,b4=(Z)=>`Missing ${Z}`;var sQ=O(()=>{C4()});var mT;var aQ=O(()=>{F2();Q1();F6();M2();mT=s0("implementedTraits")});var rQ=()=>{};var E=O(()=>{A4();RQ();KQ();F2();Q1();FZ();wQ();AQ();SQ();CQ();DZ();jQ();uQ();F6();cQ();M2();j4();sQ();CZ();C4();aQ();rQ()});var NZ="$ark",PW=2,oQ,R,AW=(Z)=>`${oQ}.${Z}`,Z0=(Z)=>AW(M6(Z));var p=O(()=>{E();while(NZ in globalThis)NZ=`$ark${PW++}`;oQ=NZ;globalThis[oQ]=X2;R=X2});var I4,a0=(Z)=>w0(Z,"object")||typeof Z==="symbol"?Z0(Z):O6(Z),jZ=(Z,X=!1)=>{if(typeof Z==="string"&&N1(Z))return`${X?"?":""}.${Z}`;return nQ(SW(Z),X)},SW=(Z)=>typeof Z==="symbol"?Z0(Z):JSON.stringify(Z),nQ=(Z,X=!1)=>`${X?"?.":""}[${Z}]`,D6;var j1=O(()=>{E();p();I4=class I4 extends _6{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 jZ(Z,X)}index(Z,X=!1){return nQ(`${Z}`,X)}line(Z){return this.body+=`${" ".repeat(this.indentation)}${Z}
12
+ ${Q}}`:`{${J.join(", ")}}`}if(Z instanceof Date)return U2(Z);if("expression"in Z&&typeof Z.expression==="string")return Z.expression;return q},P2,P6=(Z,X,Q)=>{switch(G0(Z)){case"object":{let U=Z;if("toJSON"in U&&typeof U.toJSON==="function")return U.toJSON();if(typeof U==="function")return P2.onFunction(U);if(Q.includes(U))return"(cycle)";let q=[...Q,U];if(Array.isArray(U))return U.map((Y)=>P6(Y,X,q));if(U instanceof Date)return U.toDateString();let J={};for(let Y in U)J[Y]=P6(U[Y],X,q);for(let Y of Object.getOwnPropertySymbols(U))J[X.onSymbol?.(Y)??Y.toString()]=P6(U[Y],X,q);return J}case"symbol":return P2.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}},U2=(Z)=>{let X=Z.getFullYear(),Q=Z.getMonth(),U=Z.getDate(),q=Z.getHours(),J=Z.getMinutes(),Y=Z.getSeconds(),W=Z.getMilliseconds();if(Q===0&&U===1&&q===0&&J===0&&Y===0&&W===0)return`${X}`;let $=`${SW[Q]} ${U}, ${X}`;if(q===0&&J===0&&Y===0&&W===0)return $;let L=Z.toLocaleTimeString(),V=L.endsWith(" AM")||L.endsWith(" PM")?L.slice(-3):"";if(V)L=L.slice(0,-V.length);if(W)L+=`.${CW(W,3)}`;else if(jW.test(L))L=L.slice(0,-3);return`${L+V}, ${$}`},SW,jW,CW=(Z,X)=>String(Z).padStart(X,"0");var IZ=O(()=>{K2();w2();k4();P2={onCycle:()=>"(cycle)",onSymbol:(Z)=>`Symbol(${D6(Z)})`,onFunction:(Z)=>`Function(${D6(Z)})`},SW=["January","February","March","April","May","June","July","August","September","October","November","December"],jW=/:\d\d:00$/});var rQ=(Z,X,...[Q])=>{let U=Q?.stringifySymbol??g,q=Z;switch(typeof X){case"string":q=j1(X)?Z===""?X:`${Z}.${X}`:`${Z}[${JSON.stringify(X)}]`;break;case"number":q=`${Z}[${X}]`;break;case"symbol":q=`${Z}[${U(X)}]`;break;default:if(Q?.stringifyNonKey)q=`${Z}[${Q.stringifyNonKey(X)}]`;else M(`${g(X)} must be a PropertyKey or stringifyNonKey must be passed to options`)}return q},F1=(Z,...X)=>Z.reduce((Q,U)=>rQ(Q,U,...X),""),A6;var oQ=O(()=>{b4();Z1();k4();IZ();A6=class A6 extends E4{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=F1(this)}stringifyAncestors(){if(this.cache.stringifyAncestors)return this.cache.stringifyAncestors;let Z="",X=[Z];for(let Q of this)Z=rQ(Z,Q),X.push(Z);return this.cache.stringifyAncestors=X}}});class S6{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===X2)if(this.shift(),Z(this,X))X+=this.shift();else if(this.lookahead===X2)X+=this.shift();else X+=`${X2}${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 nQ=(Z,X)=>`Unmatched ${Z}${X===""?"":` before ${X}`}`,v4=(Z)=>`Missing ${Z}`;var tQ=O(()=>{f4()});var sK;var eQ=O(()=>{K2();Z1();T6();w2();sK=d0("implementedTraits")});var Z5=()=>{};var b=O(()=>{b4();PQ();AQ();K2();Z1();TZ();CQ();EQ();bQ();IQ();jZ();yQ();iQ();T6();oQ();w2();k4();tQ();IZ();f4();eQ();Z5()});var fZ="$ark",NW=2,X5,T,EW=(Z)=>`${X5}.${Z}`,U0=(Z)=>EW(D6(Z));var c=O(()=>{b();while(fZ in globalThis)fZ=`$ark${NW++}`;X5=fZ;globalThis[X5]=Q2;T=Q2});var x4,i0=(Z)=>P0(Z,"object")||typeof Z==="symbol"?U0(Z):w6(Z),yZ=(Z,X=!1)=>{if(typeof Z==="string"&&j1(Z))return`${X?"?":""}.${Z}`;return Q5(bW(Z),X)},bW=(Z)=>typeof Z==="symbol"?U0(Z):JSON.stringify(Z),Q5=(Z,X=!1)=>`${X?"?.":""}[${Z}]`,j6;var C1=O(()=>{b();c();x4=class x4 extends B6{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 yZ(Z,X)}index(Z,X=!1){return Q5(`${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 TQ(...this.argNames,this.body)}};D6=class D6 extends I4{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 f4=(Z)=>k(Z,(X,Q)=>[X,r(Q)?[...Q]:Q]),O0,b=(Z,X)=>Z?.[O0]===X,o=(Z)=>b(Z,"root")||b(Z,"constraint");var J0=O(()=>{E();O0=s0("arkKind")});var tQ,R2,EZ,bZ,k4,K2,CW,y4,eQ,Z5,T2=(Z)=>typeof Z==="string"&&(Z in Z5),D2=(Z)=>Z5[Z],g4=(Z)=>K2.slice(D2(Z)+1),wD,PD,v0=(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 a0(Z)},E1=(Z)=>{let X="{ ";for(let[Q,U]of Object.entries(Z))X+=`${Q}: ${a0(U)}, `;return X+" }"},g=(Z)=>{let X=Z;if(X.hasAssociatedError)X.defaults.expected??=(Q)=>("description"in Q)?Q.description:X.defaults.description(Q),X.defaults.actual??=(Q)=>y(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 d=O(()=>{E();j1();J0();tQ=["unit","proto","domain"],R2=["required","optional","index","sequence"],EZ=["pattern","divisor","exactLength","max","min","maxLength","minLength","before","after"],bZ=[...EZ,"structure","predicate"],k4=[...bZ,...R2],K2=["alias","union","morph","unit","intersection","proto","domain"],CW=[...K2,...k4],y4=k(k4,(Z,X)=>[X,1]),eQ=k([...R2,"undeclared"],(Z,X)=>[X,1]),Z5=k(CW,(Z,X)=>[X,Z]),wD=[...g4("union"),"alias"],PD=[...g4("morph"),"alias"]});var X5,NW,t;var b1=O(()=>{E();X5=class X5 extends Error{name="ToJsonSchemaError";code;context;constructor(Z,X){super(y(X,{quoteKeys:!1,indent:4}));this.code=Z,this.context=X}hasCode(Z){return this.code===Z}};NW={target:"draft-2020-12",dialect:"https://json-schema.org/draft/2020-12/schema",useRefs:!1,fallback:{arrayObject:(Z)=>t.throw("arrayObject",Z),arrayPostfix:(Z)=>t.throw("arrayPostfix",Z),defaultValue:(Z)=>t.throw("defaultValue",Z),domain:(Z)=>t.throw("domain",Z),morph:(Z)=>t.throw("morph",Z),patternIntersection:(Z)=>t.throw("patternIntersection",Z),predicate:(Z)=>t.throw("predicate",Z),proto:(Z)=>t.throw("proto",Z),symbolKey:(Z)=>t.throw("symbolKey",Z),unit:(Z)=>t.throw("unit",Z),date:(Z)=>t.throw("date",Z)}},t={Error:X5,throw:(...Z)=>{throw new t.Error(...Z)},throwInternalOperandError:(Z,X)=>u(`Unexpected JSON Schema input for ${Z}: ${y(X)}`),defaultConfig:NW}});var w6=(Z,X)=>{if(!X)return Z;let Q={...Z},U;for(U in X){let J={...Z.keywords};if(U==="keywords"){for(let q in X[U]){let Y=X.keywords[q];if(Y===void 0)continue;J[q]=typeof Y==="string"?{description:Y}:Y}Q.keywords=J}else if(U==="toJsonSchema")Q[U]=IZ(Z.toJsonSchema,X.toJsonSchema);else if(T2(U))Q[U]={...Z[U],...X[U]};else Q[U]=X[U]}return Q},jW,IZ=(Z,X)=>{if(!Z)return Q5(X??{},void 0);if(!X)return Z;let Q={...Z},U;for(U in X)if(U==="fallback")Q.fallback=EW(Z.fallback,X.fallback);else Q[U]=X[U];return Q5(Q,X)},Q5=(Z,X)=>{if(X?.dialect!==void 0)return Z;if(X?.target!==void 0)return{...Z,dialect:jW[X.target]};return Z},EW=(Z,X)=>{Z=U5(Z),X=U5(X);let Q={},U;for(U in t.defaultConfig.fallback)Q[U]=X[U]??X.default??Z[U]??Z.default??t.defaultConfig.fallback[U];return Q},U5=(Z)=>typeof Z==="function"?{default:Z}:Z??{};var w2=O(()=>{d();p();b1();R.config??={};jW={"draft-2020-12":"https://json-schema.org/draft/2020-12/schema","draft-07":"http://json-schema.org/draft-07/schema#"}});var I1,C0,fZ,bW=(Z)=>Z.toString().split(`
15
+ `):this.body} }`}compile(){return new SQ(...this.argNames,this.body)}};j6=class j6 extends x4{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),q=typeof Z==="string"?Z:Z.id;if(U)return`${this.referenceToId(q,X)}(${Q}, ${this.ctx})`;return`${this.referenceToId(q,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 h4=(Z)=>k(Z,(X,Q)=>[X,n(Q)?[...Q]:Q]),T0,I=(Z,X)=>Z?.[T0]===X,e=(Z)=>I(Z,"root")||I(Z,"constraint");var Y0=O(()=>{b();T0=d0("arkKind")});var U5,A2,kZ,gZ,m4,S2,IW,u4,q5,J5,j2=(Z)=>typeof Z==="string"&&(Z in J5),C2=(Z)=>J5[Z],p4=(Z)=>S2.slice(C2(Z)+1),ED,bD,g0=(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 i0(Z)},N1=(Z)=>{let X="{ ";for(let[Q,U]of Object.entries(Z))X+=`${Q}: ${i0(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 s=O(()=>{b();C1();Y0();U5=["unit","proto","domain"],A2=["required","optional","index","sequence"],kZ=["pattern","divisor","exactLength","max","min","maxLength","minLength","before","after"],gZ=[...kZ,"structure","predicate"],m4=[...gZ,...A2],S2=["alias","union","morph","unit","intersection","proto","domain"],IW=[...S2,...m4],u4=k(m4,(Z,X)=>[X,1]),q5=k([...A2,"undeclared"],(Z,X)=>[X,1]),J5=k(IW,(Z,X)=>[X,Z]),ED=[...p4("union"),"alias"],bD=[...p4("morph"),"alias"]});var Y5,fW,X0;var E1=O(()=>{b();Y5=class Y5 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}};fW={target:"draft-2020-12",dialect:"https://json-schema.org/draft/2020-12/schema",useRefs:!1,fallback:{arrayObject:(Z)=>X0.throw("arrayObject",Z),arrayPostfix:(Z)=>X0.throw("arrayPostfix",Z),defaultValue:(Z)=>X0.throw("defaultValue",Z),domain:(Z)=>X0.throw("domain",Z),morph:(Z)=>X0.throw("morph",Z),patternIntersection:(Z)=>X0.throw("patternIntersection",Z),predicate:(Z)=>X0.throw("predicate",Z),proto:(Z)=>X0.throw("proto",Z),symbolKey:(Z)=>X0.throw("symbolKey",Z),unit:(Z)=>X0.throw("unit",Z),date:(Z)=>X0.throw("date",Z)}},X0={Error:Y5,throw:(...Z)=>{throw new X0.Error(...Z)},throwInternalOperandError:(Z,X)=>l(`Unexpected JSON Schema input for ${Z}: ${g(X)}`),defaultConfig:fW}});var C6=(Z,X)=>{if(!X)return Z;let Q={...Z},U;for(U in X){let q={...Z.keywords};if(U==="keywords"){for(let J in X[U]){let Y=X.keywords[J];if(Y===void 0)continue;q[J]=typeof Y==="string"?{description:Y}:Y}Q.keywords=q}else if(U==="toJsonSchema")Q[U]=vZ(Z.toJsonSchema,X.toJsonSchema);else if(j2(U))Q[U]={...Z[U],...X[U]};else Q[U]=X[U]}return Q},yW,vZ=(Z,X)=>{if(!Z)return W5(X??{},void 0);if(!X)return Z;let Q={...Z},U;for(U in X)if(U==="fallback")Q.fallback=kW(Z.fallback,X.fallback);else Q[U]=X[U];return W5(Q,X)},W5=(Z,X)=>{if(X?.dialect!==void 0)return Z;if(X?.target!==void 0)return{...Z,dialect:yW[X.target]};return Z},kW=(Z,X)=>{Z=$5(Z),X=$5(X);let Q={},U;for(U in X0.defaultConfig.fallback)Q[U]=X[U]??X.default??Z[U]??Z.default??X0.defaultConfig.fallback[U];return Q},$5=(Z)=>typeof Z==="function"?{default:Z}:Z??{};var N2=O(()=>{s();c();E1();T.config??={};yW={"draft-2020-12":"https://json-schema.org/draft/2020-12/schema","draft-07":"http://json-schema.org/draft-07/schema#"}});var b1,C0,xZ,gW=(Z)=>Z.toString().split(`
16
16
  `).join(`
17
- `);var P6=O(()=>{E();J0();I1=class I1 extends _6{[O0]="error";path;data;nodeConfig;input;ctx;constructor({prefixPath:Z,relativePath:X,...Q},U){super();this.input=Q,this.ctx=U,HQ(this,Q);let J=U.data;if(Q.code==="union")Q.errors=Q.errors.flatMap((Y)=>{let W=Y.hasCode("union")?Y.errors:[Y];if(!Z&&!X)return W;return W.map(($)=>$.transform((L)=>({...L,path:WQ(Z,L.path,X)})))});this.nodeConfig=U.config[this.code];let q=[...Q.path??U.path];if(X)q.push(...X);if(Z)q.unshift(...Z);this.path=new K6(...q),this.data="data"in Q?Q.data:J}transform(Z){return new I1(Z({data:this.data,path:this.path,...this.input}),this.ctx)}hasCode(Z){return this.code===Z}get propString(){return M1(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}};C0=class C0 extends P4{[O0]="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 fZ(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 I1({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 C0(this.ctx);for(let Q of this)X.add(Z(Q));return X}merge(Z){for(let X of Z)this.add(new I1({...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
- `)}addAncestorPaths(Z){for(let X of Z.path.stringifyAncestors())this.byAncestorPath[X]=m(this.byAncestorPath[X],Z)}};fZ=class fZ extends Error{name="TraversalError";constructor(Z){if(Z.length===1)super(Z.summary);else super(`
19
- `+Z.map((X)=>` • ${bW(X)}`).join(`
20
- `));Object.defineProperty(this,"arkErrors",{value:Z,enumerable:!1})}}});class r0{path=[];errors=new C0(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 M1(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 K6(...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 I1(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 q=o(J),Y=J(U===void 0?this.root:U[Q],this);if(Y instanceof I1){if(!this.errors.includes(Y))this.errors.add(Y);break}if(Y instanceof C0){if(!q)this.errors.merge(Y);this.queuedMorphs=[];break}if(U===void 0)this.root=Y;else U[Q]=Y;this.applyQueuedMorphs()}}}var N0=(Z,X,Q)=>{if(!Q)return X();Q.path.push(Z);let U=X();return Q.path.pop(),U};var J1=O(()=>{E();P6();J0()});var S6,A6,J5=(Z,X)=>`${Z} had no references matching ${y(X)}.`,IW=(Z)=>M1(Z,{stringifyNonKey:(X)=>X.expression}),fW,kW=(Z)=>JSON.stringify(Z).replace(fW,"$1"),o0=(Z,X)=>({path:Z,node:X,propString:IW(Z)}),q5=(Z,X)=>Z.propString===X.propString&&Z.node.equals(X.node),kZ=(Z,X)=>X1(Z,X,{isEqual:q5}),yW=(Z,X)=>X1(Z,X,{isEqual:(Q,U)=>Q.equals(U)});var U2=O(()=>{E();d();p();J1();J0();S6=class S6 extends S0{attachments;$;onFail;includesTransform;includesContextualPredicate;isCyclic;allowsRequiresContext;rootApplyStrategy;contextFreeMorph;rootApply;referencesById;shallowReferences;flatRefs;flatMorphs;allows;get shallowMorphs(){return[]}constructor(Z,X){super((U,J,q=this.onFail)=>{if(J)return this.traverseApply(U,J),J.hasError()?J.errors:J.data;return this.rootApply(U,q)},{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)=>yW(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 q=0;q<J.length;q++){let Y=J[q];if(!this.flatRefs.some((W)=>q5(W,Y))){this.flatRefs.push(Y);for(let W of Y.node.branches)if(W.hasKind("morph")||W.hasKind("intersection")&&W.structure?.structuralMorph!==void 0)this.flatMorphs.push({path:Y.path,propString:Y.propString,node:W})}}}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 r0(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 r0(X,this.$.resolvedConfig);return this.traverseApply(X,U),U.finalize(Q)};case"contextual":return(X,Q)=>{let U=new r0(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 r0(X,this.$.resolvedConfig);return this.traverseApply(X,U),U.finalize(Q)};case"branchedOptimistic":return this.createBranchedOptimisticRootApply();default:return this.rootApplyStrategy,u(`Unexpected rootApplyStrategy ${this.rootApplyStrategy}`)}}compiledMeta=kW(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=D2(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 q=U;X[Q]=r(q)?q.map((Y)=>Z==="in"?Y.rawIn:Y.rawOut):Z==="in"?q.rawIn:q.rawOut}else X[Q]=U}return this.$.node(this.kind,X)}toJSON(){return this.json}toString(){return`Type<${this.expression}>`}equals(Z){let X=o(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)n1(`${this.kind} node was not of asserted kind ${Z}`);return this}hasKindIn(...Z){return Z.includes(this.kind)}assertHasKindIn(...Z){if(!g0(Z,this.kind))n1(`${this.kind} node was not one of asserted kinds ${Z}`);return this}isBasis(){return g0(tQ,this.kind)}isConstraint(){return g0(k4,this.kind)}isStructural(){return g0(R2,this.kind)}isRefinement(){return g0(bZ,this.kind)}isRoot(){return g0(K2,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=A6.normalize(Z);return this._select(X)}_select(Z){let X=A6.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 A6.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,_)=>{if(!this.impl.keys[L].child)return[L,_];let G=_;if(!r(G)){let z=G._transform(Z,X);return z?[L,z]:[]}if(G.length===0)return[L,_];let V=G.flatMap((z)=>{return z._transform(Z,X)??[]});return V.length?[L,V]:[]});delete X.seen[this.id];let q=Object.assign(J,{meta:this.meta}),Y=X.selected&&!X.selected.includes(this)?q:Z(this.kind,q,X);if(Y===null)return null;if(o(Y))return U=Y;let W=Object.keys(Y);if((W.length===0||W.length===1&&W[0]==="meta")&&!U1(this.inner))return null;if((this.kind==="required"||this.kind==="optional"||this.kind==="index")&&!("value"in Y))return X.undeclaredKeyHandling?{...Y,value:R.intrinsic.unknown}:null;if(this.kind==="morph")Y.in??=R.intrinsic.unknown;return U=Q.node(this.kind,Y,X.parseOptions)}configureReferences(Z,X="references"){let Q=A6.normalize(X),U=typeof Z==="string"?(W,$)=>({...$,meta:{...$.meta,description:Z}}):typeof Z==="function"?(W,$)=>({...$,meta:Z($.meta)}):(W,$)=>({...$,meta:{...$.meta,...Z}});if(Q.boundary==="self")return this.$.node(this.kind,U(this.kind,{...this.inner,meta:this.meta}));let J=this._select(Q),q=J&&A1(J),Y=Q.boundary==="child"?(W,$)=>$.root.children.includes(W):Q.boundary==="shallow"?(W)=>W.kind!=="structure":()=>!0;return this.$.finalize(this.transform(U,{shouldTransform:Y,selected:q}))}};A6={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)n1(J5(X,Q));return Z},find:(Z)=>Z[0],assertFind:(Z,X,Q)=>{if(Z.length===0)n1(J5(X,Q));return Z[0]}},normalize:(Z)=>typeof Z==="function"?{boundary:"references",method:"filter",where:Z}:typeof Z==="string"?L0(Z,A6.applyBoundary)?{method:"filter",boundary:Z}:{boundary:"references",method:"filter",kind:Z}:{boundary:"references",method:"filter",...Z}},fW=/"(\$ark\.[^"]+)"/g});var A,Y5=(Z,X)=>`${yZ(Z)} and ${yZ(X)}`,yZ=(Z)=>o(Z)?Z.expression:r(Z)?Z.map(yZ).join(" | ")||"never":String(Z),gZ=(Z)=>`${Z} results in an unsatisfiable type`;var U0=O(()=>{E();p();J0();A=class A extends Array{static init(Z,X,Q,U){return new A({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=M1(Z);return gZ(`Intersection${U&&` at ${U}`} of ${Y5(X,Q)}`)}return`The following intersections result in unsatisfiable types:
21
- • ${this.map(({path:Z,l:X,r:Q})=>`${Z}: ${Y5(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 A))return new A(...Z);return Z}withPrefixKey(Z,X){return this.map((Q)=>({...Q,path:[Z,...Q.path],optional:Q.optional||X==="optional"}))}toNeverIfDisjoint(){return R.intrinsic.never}}});var P2,j0=(Z,X,Q)=>n(Z,X,{$:Q,invert:!1,pipe:!1}),C6=(Z,X,Q)=>n(Z,X,{$:Q,invert:!1,pipe:!0}),n=(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 W=`${X.hash}${U}${Z.hash}`;if(P2[W]!==void 0){let $=P2[W],L=$ instanceof A?$.invert():$;return P2[J]=L,L}}let q=!Q.pipe||!Z.includesTransform&&!X.includesTransform;if(q&&Z.equals(X))return Z;let Y=q?vZ(Z,X,Q):Z.hasKindIn(...K2)?gW(Z,X,Q):vZ(Z,X,Q);if(o(Y)){if(Z.equals(Y))Y=Z;else if(X.equals(Y))Y=X}return P2[J]=Y,Y},vZ=(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 q=J(X,Z,{...Q,invert:!Q.invert});if(q instanceof A)q=q.invert();return q}},gW=(Z,X,Q)=>Z.includesTransform||X.includesTransform?Q.invert?W5(X,Z,Q):W5(Z,X,Q):vZ(Z,X,Q),W5=(Z,X,Q)=>Z.distribute((U)=>vW(U,X,Q),(U)=>{let J=U.filter(o);if(J.length===0)return A.init("union",Z.branches,X.branches);if(J.length<Z.branches.length||!Z.branches.every((W,$)=>W.rawIn.equals(J[$].rawIn)))return Q.$.parseSchema(J);let q;if(J.length===1){let W=J[0];if(!q)return W;return Q.$.node("morph",{...W.inner,in:W.rawIn.configure(q,"self")})}let Y={branches:J};if(q)Y.meta=q;return Q.$.parseSchema(Y)}),vW=(Z,X,Q)=>{if(Z.hasKind("morph")){let J=[...Z.morphs];if(Z.lastMorphIfNode){let q=n(Z.lastMorphIfNode,X,Q);if(q instanceof A)return q;J[J.length-1]=q}else J.push(X);return Q.$.node("morph",{morphs:J,in:Z.inner.in})}if(X.hasKind("morph")){let J=n(Z,X.rawIn,Q);if(J instanceof A)return J;return Q.$.node("morph",{morphs:[X],in:J})}return Q.$.node("morph",{morphs:[X],in:Z})};var x0=O(()=>{U0();d();J0();P2={}});var h0,O1,F0=(Z)=>(X,Q)=>{if(r(X)){if(X.length===0)return;let J=X.map((q)=>Q.$.node(Z,q));if(Z==="predicate")return J;return J.sort((q,Y)=>q.hash<Y.hash?-1:1)}let U=Q.$.node(Z,X);return U.hasOpenIntersection()?[U]:U},A2=(Z)=>{let X=Z.r.shift();if(!X){let U=Z.l.length===0&&Z.kind==="structure"?R.intrinsic.unknown.internal:Z.ctx.$.node(Z.kind,Object.assign(Z.baseInner,xW(Z.l)),{prereduced:!0});for(let J of Z.roots){if(U instanceof A)return U;U=n(J,U,Z.ctx)}return U}let Q=!1;for(let U=0;U<Z.l.length;U++){let J=n(Z.l[U],X,Z.ctx);if(J===null)continue;if(J instanceof A)return J;if(J.isRoot())return Z.roots.push(J),Z.l.splice(U),A2(Z);if(!Q)Z.l[U]=J,Q=!0;else if(!Z.l.includes(J))return u(`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)X1(Z.r,U)}return A2(Z)},S2=(Z)=>{return Object.entries(Z).flatMap(([Q,U])=>(Q in y4)?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)},xW=(Z)=>{let X={};for(let Q of Z)if(Q.hasOpenIntersection())X[Q.kind]=m(X[Q.kind],Q);else{if(X[Q.kind])return u(`Unexpected intersection of closed refinements of kind ${Q.kind}`);X[Q.kind]=Q}return X},$5=(...Z)=>M(L5(...Z)),L5=(Z,X,Q)=>{let U=Q.hasKind("morph")?"a morph":Q.isUnknown()?"unknown":Q.exclude(X).defaultShortDescription;return`${EQ(Z)} operand must be ${X.description} (was ${U})`};var I0=O(()=>{E();U2();U0();d();x0();p();J0();h0=class h0 extends S6{constructor(Z,X){super(Z,X);Object.defineProperty(this,O0,{value:"constraint",enumerable:!1})}impliedSiblings;intersect(Z){return j0(this,Z,this.$)}};O1=class O1 extends h0{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 E1(this.errorContext)}}});var G5=(Z,X,Q)=>new f1(Z,X,Q,Q,null),v4,f1,hW=(Z,X,Q)=>`${Z} must be assignable to ${X} (was ${Q})`;var xZ=O(()=>{E();p();J0();v4=class v4 extends S0{};f1=class f1 extends S0{[O0]="generic";paramDefs;bodyDef;$;arg$;baseInstantiation;hkt;description;constructor(Z,X,Q,U,J){super((...q)=>{let Y=k(this.names,(W,$)=>{let L=this.arg$.parse(q[W]);if(!L.extends(this.constraints[W]))M(hW($,this.constraints[W].expression,L.expression));return[$,L]});if(this.defIsLazy()){let W=this.bodyDef(Y);return this.$.parse(W)}return this.$.parse(X,{args:Y})});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 v4}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:lQ(this.bodyDef)})}get params(){return this.cacheGetter("params",this.paramDefs.map((Z)=>typeof Z==="string"?[Z,R.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 mW,_5,hZ;var mZ=O(()=>{I0();d();p();mW=g({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}});_5=class _5 extends h0{serializedPredicate=Z0(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=E1(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})}};hZ={implementation:mW,Node:_5}});var uW,V5,uZ,pW=(Z)=>`divisor must be an integer (was ${Z})`,lW=(Z,X)=>{let Q,U=Z,J=X;while(J!==0)Q=J,J=U%J,U=Q;return U};var pZ=O(()=>{E();I0();d();p();uW=g({kind:"divisor",collapsibleKey:"rule",keys:{rule:{parse:(Z)=>Number.isInteger(Z)?Z:M(pW(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/lW(Z.rule,X.rule))})},obviatesBasisDescription:!0});V5=class V5 extends O1{traverseAllows=(Z)=>Z%this.rule===0;compiledCondition=`data % ${this.rule} === 0`;compiledNegation=`data % ${this.rule} !== 0`;impliedBasis=R.intrinsic.number.internal;expression=`% ${this.rule}`;reduceJsonSchema(Z){if(Z.type="integer",this.rule===1)return Z;return Z.multipleOf=this.rule,Z}};uZ={implementation:uW,Node:V5}});var f0,dW,cW,x4,h4=(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},m4=(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},u4=(Z)=>typeof Z==="string"||typeof Z==="number"?new Date(Z):Z,iW=(Z,X)=>`${Z} bound must be a positive integer (was ${X})`,C2=(Z)=>(X)=>{if(!Number.isInteger(X)||X<0)M(iW(Z,X));return X},sW,aW=(Z,X)=>`${L0(Z,cW)?">":"<"}${X?"":"="}`,rW=(Z)=>typeof Z==="string"?Z:new Date(Z).toLocaleString(),H5=(Z)=>`Bounded expression ${Z} must be exactly one of number, string, Array, or Date`;var R1=O(()=>{E();I0();f0=class f0 extends O1{boundOperandKind=sW[this.kind];compiledActual=this.boundOperandKind==="value"?"data":this.boundOperandKind==="length"?"data.length":"data.valueOf()";comparator=aW(this.kind,this.exclusive);numericLimit=this.rule.valueOf();expression=`${this.comparator} ${this.rule}`;compiledCondition=`${this.compiledActual} ${this.comparator} ${this.numericLimit}`;compiledNegation=`${this.compiledActual} ${dW[this.comparator]} ${this.numericLimit}`;stringLimit=this.boundOperandKind==="date"?rW(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}};dW={"<":">=","<=":">",">":"<=",">=":"<"},cW={min:"max",minLength:"maxLength",after:"before"},x4={parse:(Z)=>Z||void 0},sW={min:"value",max:"value",minLength:"length",maxLength:"length",after:"date",before:"date"}});var oW,z5,lZ;var dZ=O(()=>{E();d();p();R1();oW=g({kind:"after",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:u4,serialize:(Z)=>Z.toISOString()}},normalize:m4("after"),defaults:{description:(Z)=>`${Z.collapsibleLimitString} or later`,actual:Q2},intersections:{after:(Z,X)=>Z.isStricterThan(X)?Z:X}});z5=class z5 extends f0{impliedBasis=R.intrinsic.Date.internal;collapsibleLimitString=Q2(this.rule);traverseAllows=(Z)=>Z>=this.rule;reduceJsonSchema(Z,X){return X.fallback.date({code:"date",base:Z,after:this.rule})}};lZ={implementation:oW,Node:z5}});var nW,F5,cZ;var iZ=O(()=>{E();U0();d();p();R1();nW=g({kind:"before",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:u4,serialize:(Z)=>Z.toISOString()}},normalize:m4("before"),defaults:{description:(Z)=>`${Z.collapsibleLimitString} or earlier`,actual:Q2},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:A.init("range",Z,X)}});F5=class F5 extends f0{collapsibleLimitString=Q2(this.rule);traverseAllows=(Z)=>Z<=this.rule;impliedBasis=R.intrinsic.Date.internal;reduceJsonSchema(Z,X){return X.fallback.date({code:"date",base:Z,before:this.rule})}};cZ={implementation:nW,Node:F5}});var tW,B5,sZ;var aZ=O(()=>{I0();U0();d();p();b1();R1();tW=g({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)=>A.init("unit",Q.$.node("unit",{unit:Z.rule}),Q.$.node("unit",{unit:X.rule}),{path:["length"]}),minLength:(Z,X)=>Z.rule>=X.rule?Z:A.init("range",Z,X),maxLength:(Z,X)=>Z.rule<=X.rule?Z:A.init("range",Z,X)}});B5=class B5 extends O1{traverseAllows=(Z)=>Z.length===this.rule;compiledCondition=`data.length === ${this.rule}`;compiledNegation=`data.length !== ${this.rule}`;impliedBasis=R.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 t.throwInternalOperandError("exactLength",Z)}}};sZ={implementation:tW,Node:B5}});var eW,M5,rZ;var oZ=O(()=>{U0();d();p();R1();eW=g({kind:"max",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{},exclusive:x4},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:A.init("range",Z,X)},obviatesBasisDescription:!0});M5=class M5 extends f0{impliedBasis=R.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}};rZ={implementation:eW,Node:M5}});var Z$,O5,nZ;var tZ=O(()=>{U0();d();p();b1();R1();Z$=g({kind:"maxLength",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:C2("maxLength")}},reduce:(Z,X)=>Z.rule===0?X.node("exactLength",Z):void 0,normalize:h4("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:A.init("range",Z,X)}});O5=class O5 extends f0{impliedBasis=R.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 t.throwInternalOperandError("maxLength",Z)}}};nZ={implementation:Z$,Node:O5}});var X$,R5,eZ;var Z8=O(()=>{d();p();R1();X$=g({kind:"min",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{},exclusive:x4},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});R5=class R5 extends f0{impliedBasis=R.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}};eZ={implementation:X$,Node:R5}});var Q$,K5,X8;var Q8=O(()=>{d();p();b1();R1();Q$=g({kind:"minLength",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:C2("minLength")}},reduce:(Z)=>Z.rule===0?R.intrinsic.unknown:void 0,normalize:h4("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}});K5=class K5 extends f0{impliedBasis=R.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 t.throwInternalOperandError("minLength",Z)}}};X8={implementation:Q$,Node:K5}});var T5,D5;var U8=O(()=>{dZ();iZ();aZ();oZ();tZ();Z8();Q8();T5={min:eZ.implementation,max:rZ.implementation,minLength:X8.implementation,maxLength:nZ.implementation,exactLength:sZ.implementation,after:lZ.implementation,before:cZ.implementation},D5={min:eZ.Node,max:rZ.Node,minLength:X8.Node,maxLength:nZ.Node,exactLength:sZ.Node,after:lZ.Node,before:cZ.Node}});var U$,w5,J8;var q8=O(()=>{I0();d();p();U$=g({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}});w5=class w5 extends O1{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=R.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}};J8={implementation:U$,Node:w5}});var N6=(Z,X)=>{let Q=J$(Z);if(X&&!X.includes(Q))return M(`Root of kind ${Q} should be one of ${X}`);return Q},J$=(Z)=>{if(b(Z,"root"))return Z.kind;if(typeof Z==="string")return Z[0]==="$"?"alias":(Z in P0)?"domain":"proto";if(typeof Z==="function")return"proto";if(typeof Z!=="object"||Z===null)return M(P5(Z));if("morphs"in Z)return"morph";if("branches"in Z||r(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 y4)))return"intersection";if("proto"in Z)return"proto";if("domain"in Z)return"domain";return M(P5(Z))},P5=(Z)=>`${y(Z)} is not a valid type schema`,A5,q$=(Z)=>r(Z)?Z.map((X)=>X.collapsibleJson):Z.collapsibleJson,R0,Y8=(Z)=>{return A5[Z]??=0,`${Z}${++A5[Z]}`},W8=(Z)=>{let X=N2[Z.kind],Q=X.applyConfig?.(Z.def,Z.$.resolvedConfig)??Z.def,U={},{meta:J,...q}=Q,Y=J===void 0?{}:typeof J==="string"?{description:J}:J,W=BZ(q).sort(([L],[_])=>T2(L)?T2(_)?D2(L)-D2(_):1:T2(_)?-1:L<_?-1:1).filter(([L,_])=>{if(L.startsWith("meta.")){let G=L.slice(5);return Y[G]=_,!1}return!0});for(let L of W){let _=L[0],G=X.keys[_];if(!G)return M(`Key ${_} is not valid on ${Z.kind} schema`);let V=G.parse?G.parse(L[1],Z):L[1];if(V!==A0&&(V!==void 0||G.preserveUndefined))U[_]=V}if(X.reduce&&!Z.prereduced){let L=X.reduce(U,Z.$);if(L){if(L instanceof A)return L.throw();return Y$(L,Y)}}return $8({id:Z.id,kind:Z.kind,inner:U,meta:Y,$:Z.$})},$8=({id:Z,kind:X,inner:Q,meta:U,$:J,ignoreCache:q})=>{let Y=N2[X],W=BZ(Q),$=[],L={};for(let[T,D]of W){let K=Y.keys[T],w=K.serialize??(K.child?q$:v0);if(L[T]=w(D),K.child===!0){let S=D;if(r(S))$.push(...S);else $.push(S)}else if(typeof K.child==="function")$.push(...K.child(D))}if(Y.finalizeInnerJson)L=Y.finalizeInnerJson(L);let _={...L},G={};if(!U1(U))G=k(U,(T,D)=>[T,T==="examples"?D:v0(D)]),_.meta=p4(G,"description",!0);L=p4(L,Y.collapsibleKey,!1);let V=JSON.stringify({kind:X,...L});_=p4(_,Y.collapsibleKey,!1);let z=p4(_,Y.collapsibleKey,!0),F=JSON.stringify({kind:X,..._});if(J.nodesByHash[F]&&!q)return J.nodesByHash[F];let H={id:Z,kind:X,impl:Y,inner:Q,innerEntries:W,innerJson:L,innerHash:V,meta:U,metaJson:G,json:_,hash:F,collapsibleJson:z,children:$};if(X!=="intersection"){for(let T in Q)if(T!=="in"&&T!=="out")H[T]=Q[T]}let B=new C5[X](H,J);return J.nodesByHash[F]=B},S5=(Z,X)=>{if(Z.id===X)return Z;if(o(R0[X]))u(`Unexpected attempt to overwrite node id ${X}`);return $8({id:X,kind:Z.kind,inner:Z.inner,meta:Z.meta,$:Z.$,ignoreCache:!0})},Y$=(Z,X,Q)=>{if(Q&&o(R0[Q]))u(`Unexpected attempt to overwrite node id ${Q}`);return $8({id:Q??Y8(X.alias??Z.kind),kind:Z.kind,inner:Z.inner,meta:X,$:Z.$})},p4=(Z,X,Q)=>{let U=Object.keys(Z);if(U.length===1&&U[0]===X){let J=Z[X];if(Q)return J;if(w0(J,"object")&&(Object.keys(J).length===1||Array.isArray(J)))return J}return Z};var l4=O(()=>{E();d4();U0();d();p();J0();A5={},R0={};R.nodesByRegisteredId=R0});var j6=(Z,X,Q)=>{if(Z.key!==X.key)return null;let U=Z.key,J=n(Z.value,X.value,Q),q=Z.required||X.required?"required":"optional";if(J instanceof A)if(q==="optional")J=R.intrinsic.never.internal;else return J.withPrefixKey(Z.key,Z.required&&X.required?"required":"optional");if(q==="required")return Q.$.node("required",{key:U,value:J});let Y=Z.hasDefault()?X.hasDefault()?Z.default===X.default?Z.default:M(L8(Z.default,X.default)):Z.default:X.hasDefault()?X.default:A0;return Q.$.node("optional",{key:U,value:J,default:Y})},E6,L8=(Z,X)=>`Invalid intersection of default values ${y(Z)} & ${y(X)}`;var b6=O(()=>{E();I0();U2();j1();U0();x0();p();J1();E6=class E6 extends h0{required=this.kind==="required";optional=this.kind==="optional";impliedBasis=R.intrinsic.object.internal;serializedKey=a0(this.key);compiledKey=typeof this.key==="string"?this.key:this.serializedKey;flatRefs=m(this.value.flatRefs.map((Z)=>o0([this.key,...Z.path],Z.node)),o0([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 N0(this.key,()=>this.value.traverseAllows(Z[this.key],X),X);return this.optional};traverseApply=(Z,X)=>{if(this.key in Z)N0(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 W$,N5,I6,$$,L$=(Z)=>{if(!Z.hasDefault())return;let X=`{${Z.compiledKey}: ${Z.value.id} = ${v0(Z.default)}}`;return $$[X]??=G8(Z.key,Z.value,Z.default)},G8=(Z,X,Q)=>{if(typeof Q==="function")return X.includesTransform?(J,q)=>{return N0(Z,()=>X(J[Z]=Q(),q),q),J}:(J)=>{return J[Z]=Q(),J};let U=X.includesTransform?X.assert(Q):Q;return w0(U,"object")?(J,q)=>{return N0(Z,()=>X(J[Z]=Q,q),q),J}:(J)=>{return J[Z]=U,J}},f6=(Z,X,Q)=>{let U=S1(X);if(w0(X,"object")&&!U)M(G$(Q));let J=Z.in(U?X():X);if(J instanceof C0){if(Q===null)M(`Default ${J.summary}`);let q=J.transform((Y)=>Y.transform((W)=>({...W,prefixPath:[Q]})));M(`Default for ${q.summary}`)}return X},G$=(Z)=>{return`Non-primitive default ${Z===null?"":typeof Z==="number"?`for value at [${Z}] `:`for ${a0(Z)} `}must be specified as a function like () => ({my: 'object'})`};var j2=O(()=>{E();c4();j1();P6();d();p();J1();b6();W$=g({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:j6}});N5=class N5 extends E6{constructor(...Z){super(...Z);if("default"in this.inner)f6(this.value,this.inner.default,this.key)}get rawIn(){let Z=super.rawIn;if(!this.hasDefault())return Z;return this.$.node("optional",S4(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} = ${y(this.inner.default)}`:`${this.compiledKey}?: ${this.value.expression}`;defaultValueMorph=L$(this);defaultValueMorphRef=this.defaultValueMorph&&Z0(this.defaultValueMorph)};I6={implementation:W$,Node:N5},$$={}});var m0,_$="Expected a non-empty brand name after #",I5,V$=(Z)=>`JSONSchema target '${Z}' is not supported (must be ${I5.map((X)=>`"${X}"`).join(" or ")})`,j5=(Z)=>{if(!g0(I5,Z))M(V$(Z));return Z},E2=(Z)=>typeof Z==="object"&&!(Z instanceof Date)?{...Z,exclusive:!0}:{rule:Z,exclusive:!0},k6=(Z,X)=>b(X,"root")?b(Z,"root")?Z.extends(X):X.allows(Z):b(Z,"root")?Z.hasUnit(X):X===Z,E5=(Z)=>{if(Z.hasKind("morph"))return null;if(Z.hasKind("intersection"))return Z.inner.structure??(Z.basis?.domain==="object"?Z.$.bindReference(R.intrinsic.emptyStructure):null);if(Z.isBasis()&&Z.domain==="object")return Z.$.bindReference(R.intrinsic.emptyStructure);return null},H$=(Z)=>`Props cannot be extracted from a union. Use .distribute to extract props from each branch instead. Received:
23
- ${Z}`,b5=(Z,X)=>`${Z} operand must be an object (was ${X})`;var k1=O(()=>{E();w2();I0();U2();U0();P6();d();x0();p();J0();j2();m0=class m0 extends S6{constructor(Z,X){super(Z,X);Object.defineProperty(this,O0,{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 C0)return X;return{value:X}},jsonSchema:{input:(Z)=>this.rawIn.toJsonSchema({target:j5(Z.target),...Z.libraryOptions}),output:(Z)=>this.rawOut.toJsonSchema({target:j5(Z.target),...Z.libraryOptions})}}}as(){return this}brand(Z){if(Z==="")return M(_$);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=IZ(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,q)=>q.isRoot()&&!q.alwaysExpandJsonSchema?[q.id,q.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 A)return Q;return this.$.finalize(Q)}rawIntersect(Z){return j0(this,Z,this.$)}toNeverIfDisjoint(){return this}and(Z){let X=this.intersect(Z);return X instanceof A?X.throw():X}rawAnd(Z){let X=this.rawIntersect(Z);return X instanceof A?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(),R.intrinsic.unknown.internal);if(Z.branches.length===0)M(gZ(`keyof ${this.expression}`));return this._keyof=this.$.finalize(Z)}get props(){if(this.branches.length!==1)return M(H$(this.expression));return[...this.applyStructuralOperation("props",[])[0]]}merge(Z){let X=this.$.parseDefinition(Z);return this.$.schema(X.distribute((Q)=>this.applyStructuralOperation("merge",[E5(Q)??M(b5("merge",Q.expression))])))}applyStructuralOperation(Z,X){return this.distribute((Q)=>{if(Q.equals(R.intrinsic.object)&&Z!=="merge")return Q;let U=E5(Q);if(!U)M(b5(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 A)}extends(Z){if(this.isNever())return!0;let X=this.intersect(Z);return!(X instanceof A)&&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 f6(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(b(U,"root")?U:(J,q)=>{try{return U(J,q)}catch(Y){return q.error({code:"predicate",predicate:U,actual:`aborted due to error:
17
+ `);var N6=O(()=>{b();Y0();b1=class b1 extends B6{[T0]="error";path;data;nodeConfig;input;ctx;constructor({prefixPath:Z,relativePath:X,...Q},U){super();this.input=Q,this.ctx=U,OQ(this,Q);let q=U.data;if(Q.code==="union")Q.errors=Q.errors.flatMap((Y)=>{let W=Y.hasCode("union")?Y.errors:[Y];if(!Z&&!X)return W;return W.map(($)=>$.transform((L)=>({...L,path:_Q(Z,L.path,X)})))});this.nodeConfig=U.config[this.code];let J=[...Q.path??U.path];if(X)J.push(...X);if(Z)J.unshift(...Z);this.path=new A6(...J),this.data="data"in Q?Q.data:q}transform(Z){return new b1(Z({data:this.data,path:this.path,...this.input}),this.ctx)}hasCode(Z){return this.code===Z}get propString(){return F1(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}};C0=class C0 extends E4{[T0]="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 xZ(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 b1({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 C0(this.ctx);for(let Q of this)X.add(Z(Q));return X}merge(Z){for(let X of Z)this.add(new b1({...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
+ `)}addAncestorPaths(Z){for(let X of Z.path.stringifyAncestors())this.byAncestorPath[X]=m(this.byAncestorPath[X],Z)}};xZ=class xZ extends Error{name="TraversalError";constructor(Z){if(Z.length===1)super(Z.summary);else super(`
19
+ `+Z.map((X)=>` • ${gW(X)}`).join(`
20
+ `));Object.defineProperty(this,"arkErrors",{value:Z,enumerable:!1})}}});class s0{path=[];errors=new C0(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 F1(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 A6(...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 b1(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 q=0;q<Z.length-1;q++)U=U[Z[q]]}for(let q of X){this.path=[...Z];let J=e(q),Y=q(U===void 0?this.root:U[Q],this);if(Y instanceof b1){if(!this.errors.includes(Y))this.errors.add(Y);break}if(Y instanceof C0){if(!J)this.errors.merge(Y);this.queuedMorphs=[];break}if(U===void 0)this.root=Y;else U[Q]=Y;this.applyQueuedMorphs()}}}var N0=(Z,X,Q)=>{if(!Q)return X();Q.path.push(Z);let U=X();return Q.path.pop(),U};var Q1=O(()=>{b();N6();Y0()});var b6,E6,L5=(Z,X)=>`${Z} had no references matching ${g(X)}.`,vW=(Z)=>F1(Z,{stringifyNonKey:(X)=>X.expression}),xW,hW=(Z)=>JSON.stringify(Z).replace(xW,"$1"),a0=(Z,X)=>({path:Z,node:X,propString:vW(Z)}),G5=(Z,X)=>Z.propString===X.propString&&Z.node.equals(X.node),hZ=(Z,X)=>e0(Z,X,{isEqual:G5}),mW=(Z,X)=>e0(Z,X,{isEqual:(Q,U)=>Q.equals(U)});var q2=O(()=>{b();s();c();Q1();Y0();b6=class b6 extends j0{attachments;$;onFail;includesTransform;includesContextualPredicate;isCyclic;allowsRequiresContext;rootApplyStrategy;contextFreeMorph;rootApply;referencesById;shallowReferences;flatRefs;flatMorphs;allows;get shallowMorphs(){return[]}constructor(Z,X){super((U,q,J=this.onFail)=>{if(q)return this.traverseApply(U,q),q.hasError()?q.errors:q.data;return this.rootApply(U,J)},{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,q)=>mW(U,q.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 q=this.children[U].flatRefs;for(let J=0;J<q.length;J++){let Y=q[J];if(!this.flatRefs.some((W)=>G5(W,Y))){this.flatRefs.push(Y);for(let W of Y.node.branches)if(W.hasKind("morph")||W.hasKind("intersection")&&W.structure?.structuralMorph!==void 0)this.flatMorphs.push({path:Y.path,propString:Y.propString,node:W})}}}Object.assign(this.referencesById,this.children[U].referencesById)}this.flatRefs.sort((U,q)=>U.path.length>q.path.length?1:U.path.length<q.path.length?-1:U.propString>q.propString?1:U.propString<q.propString?-1:U.node.expression<q.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 s0(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 s0(X,this.$.resolvedConfig);return this.traverseApply(X,U),U.finalize(Q)};case"contextual":return(X,Q)=>{let U=new s0(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 s0(X,this.$.resolvedConfig);return this.traverseApply(X,U),U.finalize(Q)};case"branchedOptimistic":return this.createBranchedOptimisticRootApply();default:return this.rootApplyStrategy,l(`Unexpected rootApplyStrategy ${this.rootApplyStrategy}`)}}compiledMeta=hW(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=C2(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 q=this.impl.keys[Q];if(q.reduceIo)q.reduceIo(Z,X,U);else if(q.child){let J=U;X[Q]=n(J)?J.map((Y)=>Z==="in"?Y.rawIn:Y.rawOut):Z==="in"?J.rawIn:J.rawOut}else X[Q]=U}return this.$.node(this.kind,X)}toJSON(){return this.json}toString(){return`Type<${this.expression}>`}equals(Z){let X=e(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)n1(`${this.kind} node was not of asserted kind ${Z}`);return this}hasKindIn(...Z){return Z.includes(this.kind)}assertHasKindIn(...Z){if(!k0(Z,this.kind))n1(`${this.kind} node was not one of asserted kinds ${Z}`);return this}isBasis(){return k0(U5,this.kind)}isConstraint(){return k0(m4,this.kind)}isStructural(){return k0(A2,this.kind)}isRefinement(){return k0(gZ,this.kind)}isRoot(){return k0(S2,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=E6.normalize(Z);return this._select(X)}_select(Z){let X=E6.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 E6.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 q=k(this.inner,(L,V)=>{if(!this.impl.keys[L].child)return[L,V];let G=V;if(!n(G)){let H=G._transform(Z,X);return H?[L,H]:[]}if(G.length===0)return[L,V];let _=G.flatMap((H)=>{return H._transform(Z,X)??[]});return _.length?[L,_]:[]});delete X.seen[this.id];let J=Object.assign(q,{meta:this.meta}),Y=X.selected&&!X.selected.includes(this)?J:Z(this.kind,J,X);if(Y===null)return null;if(e(Y))return U=Y;let W=Object.keys(Y);if((W.length===0||W.length===1&&W[0]==="meta")&&!X1(this.inner))return null;if((this.kind==="required"||this.kind==="optional"||this.kind==="index")&&!("value"in Y))return X.undeclaredKeyHandling?{...Y,value:T.intrinsic.unknown}:null;if(this.kind==="morph")Y.in??=T.intrinsic.unknown;return U=Q.node(this.kind,Y,X.parseOptions)}configureReferences(Z,X="references"){let Q=E6.normalize(X),U=typeof Z==="string"?(W,$)=>({...$,meta:{...$.meta,description:Z}}):typeof Z==="function"?(W,$)=>({...$,meta:Z($.meta)}):(W,$)=>({...$,meta:{...$.meta,...Z}});if(Q.boundary==="self")return this.$.node(this.kind,U(this.kind,{...this.inner,meta:this.meta}));let q=this._select(Q),J=q&&P1(q),Y=Q.boundary==="child"?(W,$)=>$.root.children.includes(W):Q.boundary==="shallow"?(W)=>W.kind!=="structure":()=>!0;return this.$.finalize(this.transform(U,{shouldTransform:Y,selected:J}))}};E6={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)n1(L5(X,Q));return Z},find:(Z)=>Z[0],assertFind:(Z,X,Q)=>{if(Z.length===0)n1(L5(X,Q));return Z[0]}},normalize:(Z)=>typeof Z==="function"?{boundary:"references",method:"filter",where:Z}:typeof Z==="string"?V0(Z,E6.applyBoundary)?{method:"filter",boundary:Z}:{boundary:"references",method:"filter",kind:Z}:{boundary:"references",method:"filter",...Z}},xW=/"(\$ark\.[^"]+)"/g});var j,V5=(Z,X)=>`${mZ(Z)} and ${mZ(X)}`,mZ=(Z)=>e(Z)?Z.expression:n(Z)?Z.map(mZ).join(" | ")||"never":String(Z),uZ=(Z)=>`${Z} results in an unsatisfiable type`;var q0=O(()=>{b();c();Y0();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=F1(Z);return uZ(`Intersection${U&&` at ${U}`} of ${V5(X,Q)}`)}return`The following intersections result in unsatisfiable types:
21
+ • ${this.map(({path:Z,l:X,r:Q})=>`${Z}: ${V5(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 E2,E0=(Z,X,Q)=>Z0(Z,X,{$:Q,invert:!1,pipe:!1}),I6=(Z,X,Q)=>Z0(Z,X,{$:Q,invert:!1,pipe:!0}),Z0=(Z,X,Q)=>{let U=Q.pipe?"|>":"&",q=`${Z.hash}${U}${X.hash}`;if(E2[q]!==void 0)return E2[q];if(!Q.pipe){let W=`${X.hash}${U}${Z.hash}`;if(E2[W]!==void 0){let $=E2[W],L=$ instanceof j?$.invert():$;return E2[q]=L,L}}let J=!Q.pipe||!Z.includesTransform&&!X.includesTransform;if(J&&Z.equals(X))return Z;let Y=J?pZ(Z,X,Q):Z.hasKindIn(...S2)?uW(Z,X,Q):pZ(Z,X,Q);if(e(Y)){if(Z.equals(Y))Y=Z;else if(X.equals(Y))Y=X}return E2[q]=Y,Y},pZ=(Z,X,Q)=>{let U=Z.precedence<X.precedence?Z.kind:X.kind,q=Z.impl.intersections[X.kind]??X.impl.intersections[Z.kind];if(q===void 0)return null;else if(U===Z.kind)return q(Z,X,Q);else{let J=q(X,Z,{...Q,invert:!Q.invert});if(J instanceof j)J=J.invert();return J}},uW=(Z,X,Q)=>Z.includesTransform||X.includesTransform?Q.invert?_5(X,Z,Q):_5(Z,X,Q):pZ(Z,X,Q),_5=(Z,X,Q)=>Z.distribute((U)=>pW(U,X,Q),(U)=>{let q=U.filter(e);if(q.length===0)return j.init("union",Z.branches,X.branches);if(q.length<Z.branches.length||!Z.branches.every((W,$)=>W.rawIn.equals(q[$].rawIn)))return Q.$.parseSchema(q);let J;if(q.length===1){let W=q[0];if(!J)return W;return Q.$.node("morph",{...W.inner,in:W.rawIn.configure(J,"self")})}let Y={branches:q};if(J)Y.meta=J;return Q.$.parseSchema(Y)}),pW=(Z,X,Q)=>{if(Z.hasKind("morph")){let q=[...Z.morphs];if(Z.lastMorphIfNode){let J=Z0(Z.lastMorphIfNode,X,Q);if(J instanceof j)return J;q[q.length-1]=J}else q.push(X);return Q.$.node("morph",{morphs:q,in:Z.inner.in})}if(X.hasKind("morph")){let q=Z0(Z,X.rawIn,Q);if(q instanceof j)return q;return Q.$.node("morph",{morphs:[X],in:q})}return Q.$.node("morph",{morphs:[X],in:Z})};var v0=O(()=>{q0();s();Y0();E2={}});var x0,B1,R0=(Z)=>(X,Q)=>{if(n(X)){if(X.length===0)return;let q=X.map((J)=>Q.$.node(Z,J));if(Z==="predicate")return q;return q.sort((J,Y)=>J.hash<Y.hash?-1:1)}let U=Q.$.node(Z,X);return U.hasOpenIntersection()?[U]:U},b2=(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,lW(Z.l)),{prereduced:!0});for(let q of Z.roots){if(U instanceof j)return U;U=Z0(q,U,Z.ctx)}return U}let Q=!1;for(let U=0;U<Z.l.length;U++){let q=Z0(Z.l[U],X,Z.ctx);if(q===null)continue;if(q instanceof j)return q;if(q.isRoot())return Z.roots.push(q),Z.l.splice(U),b2(Z);if(!Q)Z.l[U]=q,Q=!0;else if(!Z.l.includes(q))return l(`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)e0(Z.r,U)}return b2(Z)},I2=(Z)=>{return Object.entries(Z).flatMap(([Q,U])=>(Q in u4)?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)},lW=(Z)=>{let X={};for(let Q of Z)if(Q.hasOpenIntersection())X[Q.kind]=m(X[Q.kind],Q);else{if(X[Q.kind])return l(`Unexpected intersection of closed refinements of kind ${Q.kind}`);X[Q.kind]=Q}return X},z5=(...Z)=>M(H5(...Z)),H5=(Z,X,Q)=>{let U=Q.hasKind("morph")?"a morph":Q.isUnknown()?"unknown":Q.exclude(X).defaultShortDescription;return`${kQ(Z)} operand must be ${X.description} (was ${U})`};var f0=O(()=>{b();q2();q0();s();v0();c();Y0();x0=class x0 extends b6{constructor(Z,X){super(Z,X);Object.defineProperty(this,T0,{value:"constraint",enumerable:!1})}impliedSiblings;intersect(Z){return E0(this,Z,this.$)}};B1=class B1 extends x0{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 N1(this.errorContext)}}});var F5=(Z,X,Q)=>new I1(Z,X,Q,Q,null),l4,I1,cW=(Z,X,Q)=>`${Z} must be assignable to ${X} (was ${Q})`;var lZ=O(()=>{b();c();Y0();l4=class l4 extends j0{};I1=class I1 extends j0{[T0]="generic";paramDefs;bodyDef;$;arg$;baseInstantiation;hkt;description;constructor(Z,X,Q,U,q){super((...J)=>{let Y=k(this.names,(W,$)=>{let L=this.arg$.parse(J[W]);if(!L.extends(this.constraints[W]))M(cW($,this.constraints[W].expression,L.expression));return[$,L]});if(this.defIsLazy()){let W=this.bodyDef(Y);return this.$.parse(W)}return this.$.parse(X,{args:Y})});this.paramDefs=Z,this.bodyDef=X,this.$=Q,this.arg$=U,this.hkt=q,this.description=q?new q().description??`a generic type for ${q.constructor.name}`:"a generic type",this.baseInstantiation=this(...this.constraints)}defIsLazy(){return this.bodyDef instanceof l4}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:aQ(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 dW,B5,cZ;var dZ=O(()=>{f0();s();c();dW=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}});B5=class B5 extends x0{serializedPredicate=U0(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=N1(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})}};cZ={implementation:dW,Node:B5}});var iW,M5,iZ,sW=(Z)=>`divisor must be an integer (was ${Z})`,aW=(Z,X)=>{let Q,U=Z,q=X;while(q!==0)Q=q,q=U%q,U=Q;return U};var sZ=O(()=>{b();f0();s();c();iW=v({kind:"divisor",collapsibleKey:"rule",keys:{rule:{parse:(Z)=>Number.isInteger(Z)?Z:M(sW(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/aW(Z.rule,X.rule))})},obviatesBasisDescription:!0});M5=class M5 extends B1{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}};iZ={implementation:iW,Node:M5}});var y0,rW,oW,c4,d4=(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},i4=(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 q=typeof U.rule==="number"?U.rule:typeof U.rule==="string"?new Date(U.rule).valueOf():U.rule.valueOf();return Q?{...U,rule:Z==="after"?q+1:q-1}:U},s4=(Z)=>typeof Z==="string"||typeof Z==="number"?new Date(Z):Z,nW=(Z,X)=>`${Z} bound must be a positive integer (was ${X})`,f2=(Z)=>(X)=>{if(!Number.isInteger(X)||X<0)M(nW(Z,X));return X},tW,eW=(Z,X)=>`${V0(Z,oW)?">":"<"}${X?"":"="}`,Z$=(Z)=>typeof Z==="string"?Z:new Date(Z).toLocaleString(),O5=(Z)=>`Bounded expression ${Z} must be exactly one of number, string, Array, or Date`;var M1=O(()=>{b();f0();y0=class y0 extends B1{boundOperandKind=tW[this.kind];compiledActual=this.boundOperandKind==="value"?"data":this.boundOperandKind==="length"?"data.length":"data.valueOf()";comparator=eW(this.kind,this.exclusive);numericLimit=this.rule.valueOf();expression=`${this.comparator} ${this.rule}`;compiledCondition=`${this.compiledActual} ${this.comparator} ${this.numericLimit}`;compiledNegation=`${this.compiledActual} ${rW[this.comparator]} ${this.numericLimit}`;stringLimit=this.boundOperandKind==="date"?Z$(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}};rW={"<":">=","<=":">",">":"<=",">=":"<"},oW={min:"max",minLength:"maxLength",after:"before"},c4={parse:(Z)=>Z||void 0},tW={min:"value",max:"value",minLength:"length",maxLength:"length",after:"date",before:"date"}});var X$,R5,aZ;var rZ=O(()=>{b();s();c();M1();X$=v({kind:"after",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:s4,serialize:(Z)=>Z.toISOString()}},normalize:i4("after"),defaults:{description:(Z)=>`${Z.collapsibleLimitString} or later`,actual:U2},intersections:{after:(Z,X)=>Z.isStricterThan(X)?Z:X}});R5=class R5 extends y0{impliedBasis=T.intrinsic.Date.internal;collapsibleLimitString=U2(this.rule);traverseAllows=(Z)=>Z>=this.rule;reduceJsonSchema(Z,X){return X.fallback.date({code:"date",base:Z,after:this.rule})}};aZ={implementation:X$,Node:R5}});var Q$,T5,oZ;var nZ=O(()=>{b();q0();s();c();M1();Q$=v({kind:"before",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:s4,serialize:(Z)=>Z.toISOString()}},normalize:i4("before"),defaults:{description:(Z)=>`${Z.collapsibleLimitString} or earlier`,actual:U2},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)}});T5=class T5 extends y0{collapsibleLimitString=U2(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})}};oZ={implementation:Q$,Node:T5}});var U$,K5,tZ;var eZ=O(()=>{f0();q0();s();c();E1();M1();U$=v({kind:"exactLength",collapsibleKey:"rule",keys:{rule:{parse:f2("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)}});K5=class K5 extends B1{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 X0.throwInternalOperandError("exactLength",Z)}}};tZ={implementation:U$,Node:K5}});var q$,D5,Z8;var X8=O(()=>{q0();s();c();M1();q$=v({kind:"max",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{},exclusive:c4},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});D5=class D5 extends y0{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}};Z8={implementation:q$,Node:D5}});var J$,w5,Q8;var U8=O(()=>{q0();s();c();E1();M1();J$=v({kind:"maxLength",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:f2("maxLength")}},reduce:(Z,X)=>Z.rule===0?X.node("exactLength",Z):void 0,normalize:d4("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)}});w5=class w5 extends y0{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 X0.throwInternalOperandError("maxLength",Z)}}};Q8={implementation:J$,Node:w5}});var Y$,P5,q8;var J8=O(()=>{s();c();M1();Y$=v({kind:"min",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{},exclusive:c4},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});P5=class P5 extends y0{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}};q8={implementation:Y$,Node:P5}});var W$,A5,Y8;var W8=O(()=>{s();c();E1();M1();W$=v({kind:"minLength",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:f2("minLength")}},reduce:(Z)=>Z.rule===0?T.intrinsic.unknown:void 0,normalize:d4("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}});A5=class A5 extends y0{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 X0.throwInternalOperandError("minLength",Z)}}};Y8={implementation:W$,Node:A5}});var S5,j5;var $8=O(()=>{rZ();nZ();eZ();X8();U8();J8();W8();S5={min:q8.implementation,max:Z8.implementation,minLength:Y8.implementation,maxLength:Q8.implementation,exactLength:tZ.implementation,after:aZ.implementation,before:oZ.implementation},j5={min:q8.Node,max:Z8.Node,minLength:Y8.Node,maxLength:Q8.Node,exactLength:tZ.Node,after:aZ.Node,before:oZ.Node}});var $$,C5,L8;var G8=O(()=>{f0();s();c();$$=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}});C5=class C5 extends B1{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}};L8={implementation:$$,Node:C5}});var f6=(Z,X)=>{let Q=L$(Z);if(X&&!X.includes(Q))return M(`Root of kind ${Q} should be one of ${X}`);return Q},L$=(Z)=>{if(I(Z,"root"))return Z.kind;if(typeof Z==="string")return Z[0]==="$"?"alias":(Z in A0)?"domain":"proto";if(typeof Z==="function")return"proto";if(typeof Z!=="object"||Z===null)return M(N5(Z));if("morphs"in Z)return"morph";if("branches"in Z||n(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 u4)))return"intersection";if("proto"in Z)return"proto";if("domain"in Z)return"domain";return M(N5(Z))},N5=(Z)=>`${g(Z)} is not a valid type schema`,E5,G$=(Z)=>n(Z)?Z.map((X)=>X.collapsibleJson):Z.collapsibleJson,K0,V8=(Z)=>{return E5[Z]??=0,`${Z}${++E5[Z]}`},_8=(Z)=>{let X=y2[Z.kind],Q=X.applyConfig?.(Z.def,Z.$.resolvedConfig)??Z.def,U={},{meta:q,...J}=Q,Y=q===void 0?{}:typeof q==="string"?{description:q}:q,W=KZ(J).sort(([L],[V])=>j2(L)?j2(V)?C2(L)-C2(V):1:j2(V)?-1:L<V?-1:1).filter(([L,V])=>{if(L.startsWith("meta.")){let G=L.slice(5);return Y[G]=V,!1}return!0});for(let L of W){let V=L[0],G=X.keys[V];if(!G)return M(`Key ${V} is not valid on ${Z.kind} schema`);let _=G.parse?G.parse(L[1],Z):L[1];if(_!==S0&&(_!==void 0||G.preserveUndefined))U[V]=_}if(X.reduce&&!Z.prereduced){let L=X.reduce(U,Z.$);if(L){if(L instanceof j)return L.throw();return V$(L,Y)}}return z8({id:Z.id,kind:Z.kind,inner:U,meta:Y,$:Z.$})},z8=({id:Z,kind:X,inner:Q,meta:U,$:q,ignoreCache:J})=>{let Y=y2[X],W=KZ(Q),$=[],L={};for(let[K,w]of W){let P=Y.keys[K],R=P.serialize??(P.child?G$:g0);if(L[K]=R(w),P.child===!0){let S=w;if(n(S))$.push(...S);else $.push(S)}else if(typeof P.child==="function")$.push(...P.child(w))}if(Y.finalizeInnerJson)L=Y.finalizeInnerJson(L);let V={...L},G={};if(!X1(U))G=k(U,(K,w)=>[K,K==="examples"?w:g0(w)]),V.meta=a4(G,"description",!0);L=a4(L,Y.collapsibleKey,!1);let _=JSON.stringify({kind:X,...L});V=a4(V,Y.collapsibleKey,!1);let H=a4(V,Y.collapsibleKey,!0),F=JSON.stringify({kind:X,...V});if(q.nodesByHash[F]&&!J)return q.nodesByHash[F];let z={id:Z,kind:X,impl:Y,inner:Q,innerEntries:W,innerJson:L,innerHash:_,meta:U,metaJson:G,json:V,hash:F,collapsibleJson:H,children:$};if(X!=="intersection"){for(let K in Q)if(K!=="in"&&K!=="out")z[K]=Q[K]}let B=new I5[X](z,q);return q.nodesByHash[F]=B},b5=(Z,X)=>{if(Z.id===X)return Z;if(e(K0[X]))l(`Unexpected attempt to overwrite node id ${X}`);return z8({id:X,kind:Z.kind,inner:Z.inner,meta:Z.meta,$:Z.$,ignoreCache:!0})},V$=(Z,X,Q)=>{if(Q&&e(K0[Q]))l(`Unexpected attempt to overwrite node id ${Q}`);return z8({id:Q??V8(X.alias??Z.kind),kind:Z.kind,inner:Z.inner,meta:X,$:Z.$})},a4=(Z,X,Q)=>{let U=Object.keys(Z);if(U.length===1&&U[0]===X){let q=Z[X];if(Q)return q;if(P0(q,"object")&&(Object.keys(q).length===1||Array.isArray(q)))return q}return Z};var r4=O(()=>{b();o4();q0();s();c();Y0();E5={},K0={};T.nodesByRegisteredId=K0});var y6=(Z,X,Q)=>{if(Z.key!==X.key)return null;let U=Z.key,q=Z0(Z.value,X.value,Q),J=Z.required||X.required?"required":"optional";if(q instanceof j)if(J==="optional")q=T.intrinsic.never.internal;else return q.withPrefixKey(Z.key,Z.required&&X.required?"required":"optional");if(J==="required")return Q.$.node("required",{key:U,value:q});let Y=Z.hasDefault()?X.hasDefault()?Z.default===X.default?Z.default:M(H8(Z.default,X.default)):Z.default:X.hasDefault()?X.default:S0;return Q.$.node("optional",{key:U,value:q,default:Y})},k6,H8=(Z,X)=>`Invalid intersection of default values ${g(Z)} & ${g(X)}`;var g6=O(()=>{b();f0();q2();C1();q0();v0();c();Q1();k6=class k6 extends x0{required=this.kind==="required";optional=this.kind==="optional";impliedBasis=T.intrinsic.object.internal;serializedKey=i0(this.key);compiledKey=typeof this.key==="string"?this.key:this.serializedKey;flatRefs=m(this.value.flatRefs.map((Z)=>a0([this.key,...Z.path],Z.node)),a0([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 N0(this.key,()=>this.value.traverseAllows(Z[this.key],X),X);return this.optional};traverseApply=(Z,X)=>{if(this.key in Z)N0(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 _$,f5,v6,z$,H$=(Z)=>{if(!Z.hasDefault())return;let X=`{${Z.compiledKey}: ${Z.value.id} = ${g0(Z.default)}}`;return z$[X]??=F8(Z.key,Z.value,Z.default)},F8=(Z,X,Q)=>{if(typeof Q==="function")return X.includesTransform?(q,J)=>{return N0(Z,()=>X(q[Z]=Q(),J),J),q}:(q)=>{return q[Z]=Q(),q};let U=X.includesTransform?X.assert(Q):Q;return P0(U,"object")?(q,J)=>{return N0(Z,()=>X(q[Z]=Q,J),J),q}:(q)=>{return q[Z]=U,q}},x6=(Z,X,Q)=>{let U=A1(X);if(P0(X,"object")&&!U)M(F$(Q));let q=Z.in(U?X():X);if(q instanceof C0){if(Q===null)M(`Default ${q.summary}`);let J=q.transform((Y)=>Y.transform((W)=>({...W,prefixPath:[Q]})));M(`Default for ${J.summary}`)}return X},F$=(Z)=>{return`Non-primitive default ${Z===null?"":typeof Z==="number"?`for value at [${Z}] `:`for ${i0(Z)} `}must be specified as a function like () => ({my: 'object'})`};var k2=O(()=>{b();n4();C1();N6();s();c();Q1();g6();_$=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(f.undefined)},{prereduced:!0})}},defaults:{description:(Z)=>`${Z.compiledKey}?: ${Z.value.description}`},intersections:{optional:y6}});f5=class f5 extends k6{constructor(...Z){super(...Z);if("default"in this.inner)x6(this.value,this.inner.default,this.key)}get rawIn(){let Z=super.rawIn;if(!this.hasDefault())return Z;return this.$.node("optional",I4(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=H$(this);defaultValueMorphRef=this.defaultValueMorph&&U0(this.defaultValueMorph)};v6={implementation:_$,Node:f5},z$={}});var h0,B$="Expected a non-empty brand name after #",v5,M$=(Z)=>`JSONSchema target '${Z}' is not supported (must be ${v5.map((X)=>`"${X}"`).join(" or ")})`,y5=(Z)=>{if(!k0(v5,Z))M(M$(Z));return Z},g2=(Z)=>typeof Z==="object"&&!(Z instanceof Date)?{...Z,exclusive:!0}:{rule:Z,exclusive:!0},h6=(Z,X)=>I(X,"root")?I(Z,"root")?Z.extends(X):X.allows(Z):I(Z,"root")?Z.hasUnit(X):X===Z,k5=(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},O$=(Z)=>`Props cannot be extracted from a union. Use .distribute to extract props from each branch instead. Received:
23
+ ${Z}`,g5=(Z,X)=>`${Z} operand must be an object (was ${X})`;var f1=O(()=>{b();N2();f0();q2();q0();N6();s();v0();c();Y0();k2();h0=class h0 extends b6{constructor(Z,X){super(Z,X);Object.defineProperty(this,T0,{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 C0)return X;return{value:X}},jsonSchema:{input:(Z)=>this.rawIn.toJsonSchema({target:y5(Z.target),...Z.libraryOptions}),output:(Z)=>this.rawOut.toJsonSchema({target:y5(Z.target),...Z.libraryOptions})}}}as(){return this}brand(Z){if(Z==="")return M(B$);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=vZ(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,(q,J)=>J.isRoot()&&!J.alwaysExpandJsonSchema?[J.id,J.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 E0(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(uZ(`keyof ${this.expression}`));return this._keyof=this.$.finalize(Z)}get props(){if(this.branches.length!==1)return M(O$(this.expression));return[...this.applyStructuralOperation("props",[])[0]]}merge(Z){let X=this.$.parseDefinition(Z);return this.$.schema(X.distribute((Q)=>this.applyStructuralOperation("merge",[k5(Q)??M(g5("merge",Q.expression))])))}applyStructuralOperation(Z,X){return this.distribute((Q)=>{if(Q.equals(T.intrinsic.object)&&Z!=="merge")return Q;let U=k5(Q);if(!U)M(g5(Z,Q.expression));if(Z==="keyof")return U.keyof();if(Z==="get")return U.get(...X);if(Z==="props")return U.props;let q=Z==="required"?"require":Z==="partial"?"optionalize":Z;return this.$.node("intersection",{domain:"object",structure:U[q](...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 x6(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(I(U,"root")?U:(q,J)=>{try{return U(q,J)}catch(Y){return J.error({code:"predicate",predicate:U,actual:`aborted due to error:
24
24
  ${Y}
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=C6(this,Z,this.$);if(X instanceof A)return X.throw();return X}rawPipeOnce(Z){if(b(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:u(`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 $5(X,U.impliedBasis,this);let q=this.$.node("intersection",{[U.kind]:U}),Y=Z==="out"?C6(this,q,this.$):j0(this,q,this.$);if(Y instanceof A)Y.throw();return this.$.finalize(Y)}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"?S4(J,{undeclared:1}):{...J,undeclared:X}:J,Q?void 0:{shouldTransform:(U)=>!g0(R2,U.kind)}))}hasEqualMorphs(Z){if(!this.includesTransform&&!Z.includesTransform)return!0;if(!z1(this.shallowMorphs,Z.shallowMorphs))return!1;if(!z1(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",E2(Z))}lessThan(Z){return this.constrain("max",E2(Z))}atLeastLength(Z){return this.constrain("minLength",Z)}atMostLength(Z){return this.constrain("maxLength",Z)}moreThanLength(Z){return this.constrain("minLength",E2(Z))}lessThanLength(Z){return this.constrain("maxLength",E2(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",E2(Z))}earlierThan(Z){return this.constrain("before",E2(Z))}};I5=["draft-2020-12","draft-07"]});var q1=(Z,X)=>k(g4(Z),(Q,U)=>[U,X]);var b2=O(()=>{E();d()});var z$=(Z)=>typeof Z==="string"?{reference:Z}:Z,f5=(Z)=>Z instanceof A?R.intrinsic.never.internal:Z,F$,k5,B$=(Z,X)=>`Alias '${Z}' has a shallow resolution cycle: ${[...X,Z].join("->")}`,y6;var _8=O(()=>{E();l4();U0();d();x0();p();J0();k1();b2();F$=g({kind:"alias",hasAssociatedError:!1,collapsibleKey:"reference",keys:{reference:{serialize:(Z)=>Z.startsWith("$")?Z:`$ark.${Z}`},resolve:{}},normalize:z$,defaults:{description:(Z)=>Z.reference},intersections:{alias:(Z,X,Q)=>Q.$.lazilyResolve(()=>f5(n(Z.resolution,X.resolution,Q)),`${Z.reference}${Q.pipe?"=>":"&"}${X.reference}`),...q1("alias",(Z,X,Q)=>{if(X.isUnknown())return Z;if(X.isNever())return X;if(X.isBasis()&&!X.overlaps(R.intrinsic.object))return A.init("assignability",R.intrinsic.object,X);return Q.$.lazilyResolve(()=>f5(n(Z.resolution,X,Q)),`${Z.reference}${Q.pipe?"=>":"&"}${X.id}`)})}});k5=class k5 extends m0{expression=this.reference;structure=void 0;get resolution(){let Z=this._resolve();return R0[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=R0[Z],Q=[];while(b(X,"context")){if(Q.includes(X.id))return M(B$(X.id,Q));Q.push(X.id),X=R0[X.id]}if(!b(X,"root"))return u(`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=I6(this,Z,this.$);if(X instanceof j)return X.throw();return X}rawPipeOnce(Z){if(I(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:l(`Unexpected constraint node ${U}`);let q=Z==="root"?this:Z==="in"?this.rawIn:this.rawOut;if(q.hasKind("morph")||U.impliedBasis&&!q.extends(U.impliedBasis))return z5(X,U.impliedBasis,this);let J=this.$.node("intersection",{[U.kind]:U}),Y=Z==="out"?I6(this,J,this.$):E0(this,J,this.$);if(Y instanceof j)Y.throw();return this.$.finalize(Y)}onUndeclaredKey(Z){let X=typeof Z==="string"?Z:Z.rule,Q=typeof Z==="string"?!1:Z.deep;return this.$.finalize(this.transform((U,q)=>U==="structure"?X==="ignore"?I4(q,{undeclared:1}):{...q,undeclared:X}:q,Q?void 0:{shouldTransform:(U)=>!k0(A2,U.kind)}))}hasEqualMorphs(Z){if(!this.includesTransform&&!Z.includesTransform)return!0;if(!z1(this.shallowMorphs,Z.shallowMorphs))return!1;if(!z1(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",g2(Z))}lessThan(Z){return this.constrain("max",g2(Z))}atLeastLength(Z){return this.constrain("minLength",Z)}atMostLength(Z){return this.constrain("maxLength",Z)}moreThanLength(Z){return this.constrain("minLength",g2(Z))}lessThanLength(Z){return this.constrain("maxLength",g2(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",g2(Z))}earlierThan(Z){return this.constrain("before",g2(Z))}};v5=["draft-2020-12","draft-07"]});var U1=(Z,X)=>k(p4(Z),(Q,U)=>[U,X]);var v2=O(()=>{b();s()});var R$=(Z)=>typeof Z==="string"?{reference:Z}:Z,x5=(Z)=>Z instanceof j?T.intrinsic.never.internal:Z,T$,h5,K$=(Z,X)=>`Alias '${Z}' has a shallow resolution cycle: ${[...X,Z].join("->")}`,m6;var B8=O(()=>{b();r4();q0();s();v0();c();Y0();f1();v2();T$=v({kind:"alias",hasAssociatedError:!1,collapsibleKey:"reference",keys:{reference:{serialize:(Z)=>Z.startsWith("$")?Z:`$ark.${Z}`},resolve:{}},normalize:R$,defaults:{description:(Z)=>Z.reference},intersections:{alias:(Z,X,Q)=>Q.$.lazilyResolve(()=>x5(Z0(Z.resolution,X.resolution,Q)),`${Z.reference}${Q.pipe?"=>":"&"}${X.reference}`),...U1("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(()=>x5(Z0(Z.resolution,X,Q)),`${Z.reference}${Q.pipe?"=>":"&"}${X.id}`)})}});h5=class h5 extends h0{expression=this.reference;structure=void 0;get resolution(){let Z=this._resolve();return K0[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=K0[Z],Q=[];while(I(X,"context")){if(Q.includes(X.id))return M(K$(X.id,Q));Q.push(X.id),X=K0[X.id]}if(!I(X,"root"))return l(`Unexpected resolution for reference ${this.reference}
26
26
  Seen: [${Q.join("->")}]
27
- Resolution: ${y(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(b(X,"root"))return X.id;return u(`Unexpected resolution for reference ${this.reference}: ${y(X)}`)}get defaultShortDescription(){return P0.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]=m(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]=m(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))}};y6={implementation:F$,Node:k5}});var J2;var i4=O(()=>{d();k1();J2=class J2 extends m0{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 E1(this.errorContext)}compile(Z){if(Z.traversalKind==="Allows")Z.return(this.compiledCondition);else Z.if(this.compiledNegation,()=>Z.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`))}}});var M$,y5,s4;var V8=O(()=>{E();U0();d();i4();M$=g({kind:"domain",hasAssociatedError:!0,collapsibleKey:"domain",keys:{domain:{},numberAllowsNaN:{}},normalize:(Z)=>typeof Z==="string"?{domain:Z}:B2(Z,"numberAllowsNaN")&&Z.domain!=="number"?M(s4.writeBadAllowNanMessage(Z.domain)):Z,applyConfig:(Z,X)=>Z.numberAllowsNaN===void 0&&Z.domain==="number"&&X.numberAllowsNaN?{...Z,numberAllowsNaN:!0}:Z,defaults:{description:(Z)=>P0[Z.domain],actual:(Z)=>Number.isNaN(Z)?"NaN":P0[$0(Z)]},intersections:{domain:(Z,X)=>Z.domain==="number"&&X.domain==="number"?Z.numberAllowsNaN?X:Z:A.init("domain",Z,X)}});y5=class y5 extends J2{requiresNaNCheck=this.domain==="number"&&!this.numberAllowsNaN;traverseAllows=this.requiresNaNCheck?(Z)=>typeof Z==="number"&&!Number.isNaN(Z):(Z)=>$0(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 P0[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}}};s4={implementation:M$,Node:y5,writeBadAllowNanMessage:(Z)=>`numberAllowsNaN may only be specified with domain "number" (was ${Z})`}});var O$,v5,H8,R$=(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"},g5=(Z,X,Q)=>{let U={},J=Z.proto??Z.domain,q=X.proto??X.domain,Y=J?q?n(J,q,Q):J:q;if(Y instanceof A)return Y;if(Y)U[Y.kind]=Y;return A2({kind:"intersection",baseInner:U,l:S2(Z),r:S2(X),roots:[],ctx:Q})};var z8=O(()=>{E();I0();U0();d();x0();J0();k1();b2();O$=g({kind:"intersection",hasAssociatedError:!0,normalize:(Z)=>{if(o(Z))return Z;let{structure:X,...Q}=Z,U=!!X,J=X??{},q=k(Q,(Y,W)=>{if(L0(Y,eQ)){if(U)M(`Flattened structure key ${Y} cannot be specified alongside a root 'structure' key.`);return J[Y]=W,[]}return[Y,W]});if(b(J,"constraint")||!U1(J))q.structure=J;return q},finalizeInnerJson:({structure:Z,...X})=>w0(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,q=J.variadic&&Object.keys(J).length===1?J.variadic:J;return{...Q,sequence:q}}},divisor:{child:!0,parse:F0("divisor")},max:{child:!0,parse:F0("max")},min:{child:!0,parse:F0("min")},maxLength:{child:!0,parse:F0("maxLength")},minLength:{child:!0,parse:F0("minLength")},exactLength:{child:!0,parse:F0("exactLength")},before:{child:!0,parse:F0("before")},after:{child:!0,parse:F0("after")},pattern:{child:!0,parse:F0("pattern")},predicate:{child:!0,parse:F0("predicate")}},reduce:(Z,X)=>g5({},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(I(X,"root"))return X.id;return l(`Unexpected resolution for reference ${this.reference}: ${g(X)}`)}get defaultShortDescription(){return A0.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]=m(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]=m(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))}};m6={implementation:T$,Node:h5}});var J2;var t4=O(()=>{s();f1();J2=class J2 extends h0{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 N1(this.errorContext)}compile(Z){if(Z.traversalKind==="Allows")Z.return(this.compiledCondition);else Z.if(this.compiledNegation,()=>Z.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`))}}});var D$,m5,e4;var M8=O(()=>{b();q0();s();t4();D$=v({kind:"domain",hasAssociatedError:!0,collapsibleKey:"domain",keys:{domain:{},numberAllowsNaN:{}},normalize:(Z)=>typeof Z==="string"?{domain:Z}:D2(Z,"numberAllowsNaN")&&Z.domain!=="number"?M(e4.writeBadAllowNanMessage(Z.domain)):Z,applyConfig:(Z,X)=>Z.numberAllowsNaN===void 0&&Z.domain==="number"&&X.numberAllowsNaN?{...Z,numberAllowsNaN:!0}:Z,defaults:{description:(Z)=>A0[Z.domain],actual:(Z)=>Number.isNaN(Z)?"NaN":A0[G0(Z)]},intersections:{domain:(Z,X)=>Z.domain==="number"&&X.domain==="number"?Z.numberAllowsNaN?X:Z:j.init("domain",Z,X)}});m5=class m5 extends J2{requiresNaNCheck=this.domain==="number"&&!this.numberAllowsNaN;traverseAllows=this.requiresNaNCheck?(Z)=>typeof Z==="number"&&!Number.isNaN(Z):(Z)=>G0(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 A0[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}}};e4={implementation:D$,Node:m5,writeBadAllowNanMessage:(Z)=>`numberAllowsNaN may only be specified with domain "number" (was ${Z})`}});var w$,p5,O8,P$=(Z)=>{if(Z.structure?.expression)return Z.structure.expression;let X=Z.basis&&!Z.prestructurals.some((q)=>q.impl.obviatesBasisExpression)?Z.basis.nestableExpression:"",Q=Z.prestructurals.map((q)=>q.expression).join(" & "),U=`${X}${X?" ":""}${Q}`;if(U==="Array == 0")return"[]";return U||"unknown"},u5=(Z,X,Q)=>{let U={},q=Z.proto??Z.domain,J=X.proto??X.domain,Y=q?J?Z0(q,J,Q):q:J;if(Y instanceof j)return Y;if(Y)U[Y.kind]=Y;return b2({kind:"intersection",baseInner:U,l:I2(Z),r:I2(X),roots:[],ctx:Q})};var R8=O(()=>{b();f0();q0();s();v0();Y0();f1();v2();w$=v({kind:"intersection",hasAssociatedError:!0,normalize:(Z)=>{if(e(Z))return Z;let{structure:X,...Q}=Z,U=!!X,q=X??{},J=k(Q,(Y,W)=>{if(V0(Y,q5)){if(U)M(`Flattened structure key ${Y} cannot be specified alongside a root 'structure' key.`);return q[Y]=W,[]}return[Y,W]});if(I(q,"constraint")||!X1(q))J.structure=q;return J},finalizeInnerJson:({structure:Z,...X})=>P0(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,...q}=X,J=q.variadic&&Object.keys(q).length===1?q.variadic:q;return{...Q,sequence:J}}},divisor:{child:!0,parse:R0("divisor")},max:{child:!0,parse:R0("max")},min:{child:!0,parse:R0("min")},maxLength:{child:!0,parse:R0("maxLength")},minLength:{child:!0,parse:R0("minLength")},exactLength:{child:!0,parse:R0("exactLength")},before:{child:!0,parse:R0("before")},after:{child:!0,parse:R0("after")},pattern:{child:!0,parse:R0("pattern")},predicate:{child:!0,parse:R0("predicate")}},reduce:(Z,X)=>u5({},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,q)=>U.kind==="min"&&q.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)=>g5(Z.inner,X.inner,Q),...q1("intersection",(Z,X,Q)=>{if(Z.children.length===0)return X;let{domain:U,proto:J,...q}=Z.inner,Y=J??U,W=Y?n(Y,X,Q):X;return W instanceof A?W:Z?.basis?.equals(W)?Z:Z.$.node("intersection",{...q,[W.kind]:W},{prereduced:!0})})}});v5=class v5 extends m0{basis=this.inner.domain??this.inner.proto??null;prestructurals=[];refinements=this.children.filter((Z)=>{if(!Z.isRefinement())return!1;if(g0(EZ,Z.kind))this.prestructurals.push(Z);return!0});structure=this.inner.structure;expression=R$(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])}}};H8={implementation:O$,Node:v5}});var K$,x5,F8,T$=(Z,X)=>`The intersection of distinct morphs at a single path is indeterminate:
29
+ ${Z.expected}`},intersections:{intersection:(Z,X,Q)=>u5(Z.inner,X.inner,Q),...U1("intersection",(Z,X,Q)=>{if(Z.children.length===0)return X;let{domain:U,proto:q,...J}=Z.inner,Y=q??U,W=Y?Z0(Y,X,Q):X;return W instanceof j?W:Z?.basis?.equals(W)?Z:Z.$.node("intersection",{...J,[W.kind]:W},{prereduced:!0})})}});p5=class p5 extends h0{basis=this.inner.domain??this.inner.proto??null;prestructurals=[];refinements=this.children.filter((Z)=>{if(!Z.isRefinement())return!1;if(k0(kZ,Z.kind))this.prestructurals.push(Z);return!0});structure=this.inner.structure;expression=P$(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])}}};O8={implementation:w$,Node:p5}});var A$,l5,T8,S$=(Z,X)=>`The intersection of distinct morphs at a single path is indeterminate:
30
30
  Left: ${Z}
31
- Right: ${X}`;var B8=O(()=>{E();U0();d();x0();p();J0();k1();b2();K$=g({kind:"morph",hasAssociatedError:!1,keys:{in:{child:!0,parse:(Z,X)=>X.$.parseSchema(Z)},morphs:{parse:A1,serialize:(Z)=>Z.map((X)=>b(X,"root")?X.json:Z0(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(T$(Z.expression,X.expression));let U=n(Z.rawIn,X.rawIn,Q);if(U instanceof A)return U;let J={morphs:Z.morphs};if(Z.declaredIn||X.declaredIn){let q=n(Z.rawIn,X.rawIn,Q);if(q instanceof A)return q.throw();else J.declaredIn=q}if(Z.declaredOut||X.declaredOut){let q=n(Z.rawOut,X.rawOut,Q);if(q instanceof A)return q.throw();else J.declaredOut=q}return U.distribute((q)=>Q.$.node("morph",{...J,in:q}),Q.$.parseSchema)},...q1("morph",(Z,X,Q)=>{let U=Z.inner.in?n(Z.inner.in,X,Q):X;return U instanceof A?U:U.equals(Z.inner.in)?Z:Q.$.node("morph",{...Z.inner,in:U})})}});x5=class x5 extends m0{serializedMorphs=this.morphs.map(Z0);compiledMorphs=`[${this.serializedMorphs}]`;lastMorph=this.inner.morphs[this.inner.morphs.length-1];lastMorphIfNode=b(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??R.intrinsic.unknown.internal}get rawOut(){return this.declaredOut??this.introspectableOut??R.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 z1(this.morphs,Z.morphs,{isEqual:(X,Q)=>X===Q||b(X,"root")&&b(Q,"root")&&X.equals(Q)})}};F8={implementation:K$,Node:x5}});var D$,h5,g6;var M8=O(()=>{E();U0();d();p();J0();i4();D$=g({kind:"proto",hasAssociatedError:!0,collapsibleKey:"proto",keys:{proto:{serialize:(Z)=>z6(Z)??v0(Z)},dateAllowsInvalid:{}},normalize:(Z)=>{let X=typeof Z==="string"?{proto:e1[Z]}:typeof Z==="function"?o(Z)?Z:{proto:Z}:typeof Z.proto==="string"?{...Z,proto:e1[Z.proto]}:Z;if(typeof X.proto!=="function")M(g6.writeInvalidSchemaMessage(X.proto));if(B2(X,"dateAllowsInvalid")&&X.proto!==Date)M(g6.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?BQ[Z.builtinName]:`an instance of ${Z.proto.name}`,actual:(Z)=>Z instanceof Date&&Z.toString()==="Invalid Date"?"an invalid Date":H6(Z)},intersections:{proto:(Z,X)=>Z.proto===Date&&X.proto===Date?Z.dateAllowsInvalid?X:Z:TZ(Z.proto,X.proto)?Z:TZ(X.proto,Z.proto)?X:A.init("proto",Z,X),domain:(Z,X)=>X.domain==="object"?Z:A.init("domain",R.intrinsic.object.internal,X)}});h5=class h5 extends J2{builtinName=z6(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}};g6={implementation:D$,Node:h5,writeBadInvalidDateMessage:(Z)=>`dateAllowsInvalid may only be specified with constructor Date (was ${Z.name})`,writeInvalidSchemaMessage:(Z)=>`instanceOf operand must be a function (was ${$0(Z)})`}});var w$,p5,P$=(Z,X)=>{let U=Z.sort((Y,W)=>Y.path.length===W.path.length?Object.keys(W.cases).length-Object.keys(Y.cases).length:Y.path.length-W.path.length)[0],J={kind:U.kind,path:U.path,optionallyChainedPropString:l5(U.path)},q=X.branches.map((Y,W)=>({originalIndex:W,branch:Y}));return{best:U,location:J,defaultEntries:q,node:X}},A$=(Z,X)=>{let Q=Z.best.cases[X],U=C$(Q.condition,Z.location.path,Z.node.$),J=[],q=[];for(let Y=0;Y<Z.defaultEntries.length;Y++){let W=Z.defaultEntries[Y];if(Q.branchIndices.includes(W.originalIndex)){let $=m5(Z.node.branches[W.originalIndex],Z.location);if($===null)J=null;else J?.push({originalIndex:W.originalIndex,branch:$})}else if(W.branch.hasKind("alias")&&U.hasKind("domain")&&U.domain==="object")J?.push(W);else{if(W.branch.rawIn.overlaps(U)){let $=m5(W.branch,Z.location);J?.push({originalIndex:W.originalIndex,branch:$})}q.push(W)}}return Z.defaultEntries=q,J},S$=(Z,X)=>{return Z.filter((U)=>{let J=Object.values(U.cases).map((q)=>q.branchIndices);for(let q=0;q<J.length-1;q++){let Y=J[q];for(let W=q+1;W<J.length;W++){let $=J[W];for(let L of Y)for(let _ of $)if(L>_){if(X[L].overlaps(X[_]))return!1}}}return!0})},C$=(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 q=X[J];U=Q.node("intersection",typeof q==="number"?{proto:"Array",sequence:[...YQ(q).map((Y)=>({})),U]}:{domain:"object",required:[{key:q,value:U}]})}return U},l5=(Z)=>Z.reduce((X,Q)=>X+jZ(Q,!0),"data"),N$,j$,R8,E$=(Z)=>({kind:Z.kind,path:Z.path.map((X)=>typeof X==="string"?X:a0(X)),cases:k(Z.cases,(X,Q)=>[X,Q===!0?Q:Q.hasKind("union")&&Q.discriminantJson?Q.discriminantJson:Q.json])}),b$,I$=(Z)=>I2(Z,b$),I2=(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={},q=Z.filter((W)=>J[W]?!1:J[W]=!0),Y=q.pop();return`${q.join(Q)}${q.length?U:""}${Y}`},O8=(Z,X,Q)=>{let U=X.map(()=>[]);for(let q=0;q<Z.length;q++){let Y={};for(let W=0;W<X.length;W++){if(U[W]===null)continue;if(Z[q].equals(X[W])){U[W]=null,Y={};break}let $=n(Z[q],X[W],Q);if($ instanceof A)continue;if($.equals(Z[q])){U[W].push(Z[q]),Y={};break}if($.equals(X[W]))U[W]=null;else Y[W]=$}for(let W in Y)U[W][q]=Y[W]}let J=U.flatMap((q,Y)=>q?.flatMap((W)=>W.branches)??X[Y]);return J.length===0?A.init("union",Z,X):J},f$=({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 q=j0(Z[U].rawIn,Z[J].rawIn,Z[0].$);if(q instanceof A)continue;if(!X)k$(Z[U],Z[J]);if(q.equals(Z[U].rawIn))Q[U]=!!X;else if(q.equals(Z[J].rawIn))Q[J]=!1}return Z.filter((U,J)=>Q[J])},k$=(Z,X)=>{if(!Z.includesTransform&&!X.includesTransform)return;if(!z1(Z.shallowMorphs,X.shallowMorphs))M(u5(Z.expression,X.expression));if(!z1(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(u5(Z.expression,X.expression))},m5=(Z,X)=>Z.transform((Q,U)=>{if(Q==="domain"||Q==="unit")return null;return U},{shouldTransform:(Q,U)=>{let J=l5(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"}}),u5=(Z,X)=>`An unordered union of a type including a morph and a type with overlapping input is indeterminate:
31
+ Right: ${X}`;var K8=O(()=>{b();q0();s();v0();c();Y0();f1();v2();A$=v({kind:"morph",hasAssociatedError:!1,keys:{in:{child:!0,parse:(Z,X)=>X.$.parseSchema(Z)},morphs:{parse:P1,serialize:(Z)=>Z.map((X)=>I(X,"root")?X.json:U0(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(S$(Z.expression,X.expression));let U=Z0(Z.rawIn,X.rawIn,Q);if(U instanceof j)return U;let q={morphs:Z.morphs};if(Z.declaredIn||X.declaredIn){let J=Z0(Z.rawIn,X.rawIn,Q);if(J instanceof j)return J.throw();else q.declaredIn=J}if(Z.declaredOut||X.declaredOut){let J=Z0(Z.rawOut,X.rawOut,Q);if(J instanceof j)return J.throw();else q.declaredOut=J}return U.distribute((J)=>Q.$.node("morph",{...q,in:J}),Q.$.parseSchema)},...U1("morph",(Z,X,Q)=>{let U=Z.inner.in?Z0(Z.inner.in,X,Q):X;return U instanceof j?U:U.equals(Z.inner.in)?Z:Q.$.node("morph",{...Z.inner,in:U})})}});l5=class l5 extends h0{serializedMorphs=this.morphs.map(U0);compiledMorphs=`[${this.serializedMorphs}]`;lastMorph=this.inner.morphs[this.inner.morphs.length-1];lastMorphIfNode=I(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 z1(this.morphs,Z.morphs,{isEqual:(X,Q)=>X===Q||I(X,"root")&&I(Q,"root")&&X.equals(Q)})}};T8={implementation:A$,Node:l5}});var j$,c5,u6;var D8=O(()=>{b();q0();s();c();Y0();t4();j$=v({kind:"proto",hasAssociatedError:!0,collapsibleKey:"proto",keys:{proto:{serialize:(Z)=>R6(Z)??g0(Z)},dateAllowsInvalid:{}},normalize:(Z)=>{let X=typeof Z==="string"?{proto:e1[Z]}:typeof Z==="function"?e(Z)?Z:{proto:Z}:typeof Z.proto==="string"?{...Z,proto:e1[Z.proto]}:Z;if(typeof X.proto!=="function")M(u6.writeInvalidSchemaMessage(X.proto));if(D2(X,"dateAllowsInvalid")&&X.proto!==Date)M(u6.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?KQ[Z.builtinName]:`an instance of ${Z.proto.name}`,actual:(Z)=>Z instanceof Date&&Z.toString()==="Invalid Date"?"an invalid Date":O6(Z)},intersections:{proto:(Z,X)=>Z.proto===Date&&X.proto===Date?Z.dateAllowsInvalid?X:Z:SZ(Z.proto,X.proto)?Z:SZ(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)}});c5=class c5 extends J2{builtinName=R6(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}};u6={implementation:j$,Node:c5,writeBadInvalidDateMessage:(Z)=>`dateAllowsInvalid may only be specified with constructor Date (was ${Z.name})`,writeInvalidSchemaMessage:(Z)=>`instanceOf operand must be a function (was ${G0(Z)})`}});var C$,s5,N$=(Z,X)=>{let U=Z.sort((Y,W)=>Y.path.length===W.path.length?Object.keys(W.cases).length-Object.keys(Y.cases).length:Y.path.length-W.path.length)[0],q={kind:U.kind,path:U.path,optionallyChainedPropString:a5(U.path)},J=X.branches.map((Y,W)=>({originalIndex:W,branch:Y}));return{best:U,location:q,defaultEntries:J,node:X}},E$=(Z,X)=>{let Q=Z.best.cases[X],U=I$(Q.condition,Z.location.path,Z.node.$),q=[],J=[];for(let Y=0;Y<Z.defaultEntries.length;Y++){let W=Z.defaultEntries[Y];if(Q.branchIndices.includes(W.originalIndex)){let $=d5(Z.node.branches[W.originalIndex],Z.location);if($===null)q=null;else q?.push({originalIndex:W.originalIndex,branch:$})}else if(W.branch.hasKind("alias")&&U.hasKind("domain")&&U.domain==="object")q?.push(W);else{if(W.branch.rawIn.overlaps(U)){let $=d5(W.branch,Z.location);q?.push({originalIndex:W.originalIndex,branch:$})}J.push(W)}}return Z.defaultEntries=J,q},b$=(Z,X)=>{return Z.filter((U)=>{let q=Object.values(U.cases).map((J)=>J.branchIndices);for(let J=0;J<q.length-1;J++){let Y=q[J];for(let W=J+1;W<q.length;W++){let $=q[W];for(let L of Y)for(let V of $)if(L>V){if(X[L].overlaps(X[V]))return!1}}}return!0})},I$=(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 q=X.length-1;q>=0;q--){let J=X[q];U=Q.node("intersection",typeof J==="number"?{proto:"Array",sequence:[...VQ(J).map((Y)=>({})),U]}:{domain:"object",required:[{key:J,value:U}]})}return U},a5=(Z)=>Z.reduce((X,Q)=>X+yZ(Q,!0),"data"),f$,y$,P8,k$=(Z)=>({kind:Z.kind,path:Z.path.map((X)=>typeof X==="string"?X:i0(X)),cases:k(Z.cases,(X,Q)=>[X,Q===!0?Q:Q.hasKind("union")&&Q.discriminantJson?Q.discriminantJson:Q.json])}),g$,v$=(Z)=>x2(Z,g$),x2=(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 q={},J=Z.filter((W)=>q[W]?!1:q[W]=!0),Y=J.pop();return`${J.join(Q)}${J.length?U:""}${Y}`},w8=(Z,X,Q)=>{let U=X.map(()=>[]);for(let J=0;J<Z.length;J++){let Y={};for(let W=0;W<X.length;W++){if(U[W]===null)continue;if(Z[J].equals(X[W])){U[W]=null,Y={};break}let $=Z0(Z[J],X[W],Q);if($ instanceof j)continue;if($.equals(Z[J])){U[W].push(Z[J]),Y={};break}if($.equals(X[W]))U[W]=null;else Y[W]=$}for(let W in Y)U[W][J]=Y[W]}let q=U.flatMap((J,Y)=>J?.flatMap((W)=>W.branches)??X[Y]);return q.length===0?j.init("union",Z,X):q},x$=({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 q=U+1;q<Z.length&&Q[U]&&Q[q];q++){if(Z[U].equals(Z[q])){Q[q]=!1;continue}let J=E0(Z[U].rawIn,Z[q].rawIn,Z[0].$);if(J instanceof j)continue;if(!X)h$(Z[U],Z[q]);if(J.equals(Z[U].rawIn))Q[U]=!!X;else if(J.equals(Z[q].rawIn))Q[q]=!1}return Z.filter((U,q)=>Q[q])},h$=(Z,X)=>{if(!Z.includesTransform&&!X.includesTransform)return;if(!z1(Z.shallowMorphs,X.shallowMorphs))M(i5(Z.expression,X.expression));if(!z1(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(i5(Z.expression,X.expression))},d5=(Z,X)=>Z.transform((Q,U)=>{if(Q==="domain"||Q==="unit")return null;return U},{shouldTransform:(Q,U)=>{let q=a5(U.path);if(!X.optionallyChainedPropString.startsWith(q))return!1;if(Q.hasKind("domain")&&Q.domain==="object")return!0;if((Q.hasKind("domain")||X.kind==="unit")&&q===X.optionallyChainedPropString)return!0;return Q.children.length!==0&&Q.kind!=="index"}}),i5=(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}`,y$=(Z,X)=>`The intersection of two ordered unions is indeterminate:
33
+ Right: ${X}`,m$=(Z,X)=>`The intersection of two ordered unions is indeterminate:
34
34
  Left: ${Z}
35
- Right: ${X}`;var K8=O(()=>{E();j1();U0();d();x0();p();J1();J0();k1();b2();w$=g({kind:"union",hasAssociatedError:!0,collapsibleKey:"branches",keys:{ordered:{},branches:{child:!0,parse:(Z,X)=>{let Q=[];for(let U of Z){let J=b(U,"root")?U.branches:X.$.parseSchema(U).branches;for(let q of J)if(q.hasKind("morph")){let Y=Q.findIndex((W)=>W.hasKind("morph")&&W.hasEqualMorphs(q));if(Y===-1)Q.push(q);else{let W=Q[Y];Q[Y]=X.$.node("morph",{...W.inner,in:W.rawIn.rawOr(q.rawIn)})}}else Q.push(q)}if(!X.def.ordered)Q.sort((U,J)=>U.hash<J.hash?-1:1);return Q}}},normalize:(Z)=>r(Z)?{branches:Z}:Z,reduce:(Z,X)=>{let Q=f$(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,I2),expected:(Z)=>{let X=$Q(Z.errors,"propString"),Q=Object.entries(X).map(([U,J])=>{let q=[];for(let $ of J)X1(q,$.expected);let Y=I2(q),W=J.every(($)=>$.actual===J[0].actual)?J[0].actual:y(J[0].data);return`${U&&`${U} `}must be ${Y}${W&&` (was ${W})`}`});return I2(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 A.init("presence",Z,X);let U;if(Z.ordered){if(X.ordered)M(y$(Z.expression,X.expression));if(U=O8(X.branches,Z.branches,Q),U instanceof A)U.invert()}else U=O8(Z.branches,X.branches,Q);if(U instanceof A)return U;return Q.$.parseSchema(Z.ordered||X.ordered?{branches:U,ordered:!0}:{branches:U})},...q1("union",(Z,X,Q)=>{let U=O8(Z.branches,[X],Q);if(U instanceof A)return U;if(U.length===1)return U[0];return Q.$.parseSchema(Z.ordered?{branches:U,ordered:!0}:{branches:U})})}});p5=class p5 extends m0{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]=R.intrinsic.boolean;continue}Z.push(Q)}return Z}unitBranches=this.branches.filter((Z)=>Z.rawIn.hasKind("unit"));discriminant=this.discriminate();discriminantJson=this.discriminant?E$(this.discriminant):null;expression=this.distribute((Z)=>Z.nestableExpression,I$);createBranchedOptimisticRootApply(){return(Z,X)=>{let Q=this.traverseOptimistic(Z);if(Q!==A0)return Q;let U=new r0(Z,this.$.resolvedConfig);return this.traverseApply(Z,U),U.finalize(X)}}get shallowMorphs(){return this.branches.reduce((Z,X)=>X1(Z,X.shallowMorphs),[])}get defaultShortDescription(){return this.distribute((Z)=>Z.defaultShortDescription,I2)}innerToJsonSchema(Z){if(this.branchGroups.length===1&&this.branchGroups[0].equals(R.intrinsic.boolean))return{type:"boolean"};let X=this.branchGroups.map((Q)=>Q.toJsonSchemaRecurse(Z));if(X.every((Q)=>Object.keys(Q).length===1&&B2(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 A0};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[L],G=L==="default"?L:`case ${L}`,V;if(_===!0)V=J?"data":"true";else if(J)if(_.rootApplyStrategy==="branchedOptimistic")V=Z.invoke(_,{kind:"Optimistic"});else if(_.contextFreeMorph)V=`${Z.invoke(_)} ? ${Z0(_.contextFreeMorph)}(data) : "${A0}"`;else V=`${Z.invoke(_)} ? data : "${A0}"`;else V=Z.invoke(_);Z.line(`${G}: return ${V}`)}return Z}),Z.traversalKind==="Allows"){Z.return(J?`"${A0}"`:!1);return}let q=I2(this.discriminant.kind==="domain"?U.map((L)=>{let _=L.slice(1,-1);return _==="function"?P0.object:P0[_]}):U),Y=this.discriminant.path.map((L)=>typeof L==="symbol"?Z0(L):JSON.stringify(L)),W=JSON.stringify(q),$=this.discriminant.kind==="domain"?`${N$}[${X}]`:`${j$}(${X})`;Z.line(`ctx.errorFromNodeContext({
35
+ Right: ${X}`;var A8=O(()=>{b();C1();q0();s();v0();c();Q1();Y0();f1();v2();C$=v({kind:"union",hasAssociatedError:!0,collapsibleKey:"branches",keys:{ordered:{},branches:{child:!0,parse:(Z,X)=>{let Q=[];for(let U of Z){let q=I(U,"root")?U.branches:X.$.parseSchema(U).branches;for(let J of q)if(J.hasKind("morph")){let Y=Q.findIndex((W)=>W.hasKind("morph")&&W.hasEqualMorphs(J));if(Y===-1)Q.push(J);else{let W=Q[Y];Q[Y]=X.$.node("morph",{...W.inner,in:W.rawIn.rawOr(J.rawIn)})}}else Q.push(J)}if(!X.def.ordered)Q.sort((U,q)=>U.hash<q.hash?-1:1);return Q}}},normalize:(Z)=>n(Z)?{branches:Z}:Z,reduce:(Z,X)=>{let Q=x$(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,x2),expected:(Z)=>{let X=zQ(Z.errors,"propString"),Q=Object.entries(X).map(([U,q])=>{let J=[];for(let $ of q)e0(J,$.expected);let Y=x2(J),W=q.every(($)=>$.actual===q[0].actual)?q[0].actual:g(q[0].data);return`${U&&`${U} `}must be ${Y}${W&&` (was ${W})`}`});return x2(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(m$(Z.expression,X.expression));if(U=w8(X.branches,Z.branches,Q),U instanceof j)U.invert()}else U=w8(Z.branches,X.branches,Q);if(U instanceof j)return U;return Q.$.parseSchema(Z.ordered||X.ordered?{branches:U,ordered:!0}:{branches:U})},...U1("union",(Z,X,Q)=>{let U=w8(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})})}});s5=class s5 extends h0{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?k$(this.discriminant):null;expression=this.distribute((Z)=>Z.nestableExpression,v$);createBranchedOptimisticRootApply(){return(Z,X)=>{let Q=this.traverseOptimistic(Z);if(Q!==S0)return Q;let U=new s0(Z,this.$.resolvedConfig);return this.traverseApply(Z,U),U.finalize(X)}}get shallowMorphs(){return this.branches.reduce((Z,X)=>e0(Z,X.shallowMorphs),[])}get defaultShortDescription(){return this.distribute((Z)=>Z.defaultShortDescription,x2)}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&&D2(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 S0};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:q}=Z;if(Z.optimistic=!1,Z.block(`switch(${X})`,()=>{for(let L in Q){let V=Q[L],G=L==="default"?L:`case ${L}`,_;if(V===!0)_=q?"data":"true";else if(q)if(V.rootApplyStrategy==="branchedOptimistic")_=Z.invoke(V,{kind:"Optimistic"});else if(V.contextFreeMorph)_=`${Z.invoke(V)} ? ${U0(V.contextFreeMorph)}(data) : "${S0}"`;else _=`${Z.invoke(V)} ? data : "${S0}"`;else _=Z.invoke(V);Z.line(`${G}: return ${_}`)}return Z}),Z.traversalKind==="Allows"){Z.return(q?`"${S0}"`:!1);return}let J=x2(this.discriminant.kind==="domain"?U.map((L)=>{let V=L.slice(1,-1);return V==="function"?A0.object:A0[V]}):U),Y=this.discriminant.path.map((L)=>typeof L==="symbol"?U0(L):JSON.stringify(L)),W=JSON.stringify(J),$=this.discriminant.kind==="domain"?`${f$}[${X}]`:`${y$}(${X})`;Z.line(`ctx.errorFromNodeContext({
36
36
  code: "predicate",
37
37
  expected: ${W},
38
38
  actual: ${$},
39
39
  relativePath: [${Y}],
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?`${Z0(Q.contextFreeMorph)}(data)`:"data":!0));Z.return(X?`"${A0}"`:!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,(q,Y)=>[`${Y.rawIn.serializedValue}`,Y.hasKind("morph")?Y:!0]);return{kind:"unit",path:[],optionallyChainedPropString:"data",cases:J}}let Z=[];for(let J=0;J<this.branches.length-1;J++){let q=this.branches[J];for(let Y=J+1;Y<this.branches.length;Y++){let W=this.branches[Y],$=j0(q.rawIn,W.rawIn,q.$);if(!($ instanceof A))continue;for(let L of $){if(!L.kind||L.optional)continue;let _,G;if(L.kind==="domain"){let{l:z,r:F}=L;_=`"${typeof z==="string"?z:z.domain}"`,G=`"${typeof F==="string"?F:F.domain}"`}else if(L.kind==="unit")_=L.l.serializedValue,G=L.r.serializedValue;else continue;let V=Z.find((z)=>z1(z.path,L.path)&&z.kind===L.kind);if(!V)Z.push({kind:L.kind,cases:{[_]:{branchIndices:[J],condition:L.l},[G]:{branchIndices:[Y],condition:L.r}},path:L.path});else{if(V.cases[_])V.cases[_].branchIndices=X1(V.cases[_].branchIndices,J);else V.cases[_]??={branchIndices:[J],condition:L.l};if(V.cases[G])V.cases[G].branchIndices=X1(V.cases[G].branchIndices,Y);else V.cases[G]??={branchIndices:[Y],condition:L.r}}}}}let X=this.ordered?S$(Z,this.branches):Z;if(!X.length)return null;let Q=P$(X,this),U={};for(let J in Q.best.cases){let q=A$(Q,J);if(q===null){U[J]=!0;continue}if(q.length===this.branches.length)return null;if(this.ordered)q.sort(($,L)=>$.originalIndex-L.originalIndex);let Y=q.map(($)=>$.branch),W=Y.length===1?Y[0]:this.$.node("union",this.ordered?{branches:Y,ordered:!0}:Y);Object.assign(this.referencesById,W.referencesById),U[J]=W}if(Q.defaultEntries.length){let J=Q.defaultEntries.map((q)=>q.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})}};N$=Z0(LQ),j$=Z0(y),R8={implementation:w$,Node:p5},b$={delimiter:" | ",finalDelimiter:" | "}});var g$,c5,T8,d5=(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 D8=O(()=>{E();U0();d();p();i4();b2();g$=g({kind:"unit",hasAssociatedError:!0,keys:{unit:{preserveUndefined:!0,serialize:(Z)=>Z instanceof Date?Z.toISOString():v0(Z)}},normalize:(Z)=>Z,defaults:{description:(Z)=>y(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)=>A.init("unit",Z,X),...q1("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:R.intrinsic.object;if(Z.domain!==U.domain){let J=Z.domain==="undefined"||Z.domain==="null"||Z.domain==="boolean"?Z.domain:R.intrinsic[Z.domain];return A.init("domain",J,U)}}return A.init("assignability",Z,X.hasKind("intersection")?X.children.find((U)=>!U.allows(Z.unit)):X)})}});c5=class c5 extends J2{compiledValue=this.json.unit;serializedValue=typeof this.unit==="string"||this.unit instanceof Date?JSON.stringify(this.compiledValue):`${this.compiledValue}`;compiledCondition=d5(this.unit,this.serializedValue);compiledNegation=d5(this.unit,this.serializedValue,"negated");expression=y(this.unit);domain=$0(this.unit);get defaultShortDescription(){return this.domain==="object"?P0.object:this.description}innerToJsonSchema(Z){return this.unit===null?{type:"null"}:R.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};T8={implementation:g$,Node:c5}});var v$,i5,w8,x$=(Z)=>`Index keys ${Z.join(", ")} should be specified as named props.`,h$=(Z)=>`Indexed key definition '${Z}' must be a string or symbol`;var P8=O(()=>{E();I0();U2();U0();d();x0();p();J1();v$=g({kind:"index",hasAssociatedError:!1,intersectionIsOpen:!0,keys:{signature:{child:!0,parse:(Z,X)=>{let Q=X.$.parseSchema(Z);if(!Q.extends(R.intrinsic.key))return M(h$(Q.expression));let U=Q.branches.filter((J)=>J.hasKind("unit"));if(U.length)return M(x$(U.map((J)=>y(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=n(Z.value,X.value,Q),J=U instanceof A?R.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}}});i5=class i5 extends h0{impliedBasis=R.intrinsic.object.internal;expression=`[${this.signature.expression}]: ${this.value.expression}`;flatRefs=m(this.value.flatRefs.map((Z)=>o0([this.signature,...Z.path],Z.node)),o0([this.signature],this.value));traverseAllows=(Z,X)=>t1(Z).every((Q)=>{if(this.signature.traverseAllows(Q[0],X))return N0(Q[0],()=>this.value.traverseAllows(Q[1],X),X);return!0});traverseApply=(Z,X)=>{for(let Q of t1(Z))if(this.signature.traverseAllows(Q[0],X))N0(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(){}};w8={implementation:v$,Node:i5}});var m$,s5,A8;var S8=O(()=>{d();b6();m$=g({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:j6,optional:j6}});s5=class s5 extends E6{expression=`${this.compiledKey}: ${this.value.expression}`;errorContext=Object.freeze({code:"required",missingValueDescription:this.value.defaultShortDescription,relativePath:[this.key],meta:this.meta});compiledErrorContext=E1(this.errorContext)};A8={implementation:m$,Node:s5}});var u$,o5,p$,l$=(Z)=>{if(!Z.defaultables)return[];let X=[],Q="[",U=Z.prefixLength+Z.defaultablesLength-1;for(let J=Z.prefixLength;J<=U;J++){let[q,Y]=Z.defaultables[J-Z.prefixLength];X.push(G8(J,q,Y)),Q+=`${J}: ${q.id} = ${v0(Y)}, `}return Q+="]",p$[Q]??=X},C8,d$=(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},a5=(Z)=>Z.reduce((X,Q)=>{if(Q.kind==="variadic")X.variadic=Q.node;else if(Q.kind==="defaultables")X.defaultables=m(X.defaultables,[[Q.node,Q.default]]);else X[Q.kind]=m(X[Q.kind],Q.node);return X},{}),N8="A postfix required element cannot follow an optional or defaultable element",c$="A postfix element requires a variadic element",v6=(Z)=>{let[X,...Q]=Z.l,[U,...J]=Z.r;if(!X||!U)return Z;let q=Q[Q.length-1]?.kind==="postfix",Y=J[J.length-1]?.kind==="postfix",W=X.kind==="prefix"||U.kind==="prefix"?"prefix":X.kind==="postfix"||U.kind==="postfix"?"postfix":X.kind==="variadic"&&U.kind==="variadic"?"variadic":q||Y?"prefix":X.kind==="defaultables"||U.kind==="defaultables"?"defaultables":"optionals";if(X.kind==="prefix"&&U.kind==="variadic"&&Y){let G=v6({...Z,fixedVariants:[],r:J.map((V)=>({...V,kind:"prefix"}))});if(G.disjoint.length===0)Z.fixedVariants.push(G)}else if(U.kind==="prefix"&&X.kind==="variadic"&&q){let G=v6({...Z,fixedVariants:[],l:Q.map((V)=>({...V,kind:"prefix"}))});if(G.disjoint.length===0)Z.fixedVariants.push(G)}let $=n(X.node,U.node,Z.ctx);if($ instanceof A)if(W==="prefix"||W==="postfix")Z.disjoint.push(...$.withPrefixKey(W==="prefix"?Z.result.length:`-${Q.length+1}`,r5(X)&&r5(U)?"required":"optional")),Z.result=[...Z.result,{kind:W,node:R.intrinsic.never.internal}];else if(W==="optionals"||W==="defaultables")return Z;else return v6({...Z,fixedVariants:[],l:Q.map((G)=>({...G,kind:"prefix"})),r:Q.map((G)=>({...G,kind:"prefix"}))});else if(W==="defaultables"){if(X.kind==="defaultables"&&U.kind==="defaultables"&&X.default!==U.default)M(L8(X.default,U.default));Z.result=[...Z.result,{kind:W,node:$,default:X.kind==="defaultables"?X.default:U.kind==="defaultables"?U.default:u(`Unexpected defaultable intersection from ${X.kind} and ${U.kind} elements.`)}]}else Z.result=[...Z.result,{kind:W,node:$}];let L=Z.l.length,_=Z.r.length;if(X.kind!=="variadic"||L>=_&&(U.kind==="variadic"||_===1))Z.l=Q;if(U.kind!=="variadic"||_>=L&&(X.kind==="variadic"||L===1))Z.r=J;return v6(Z)},r5=(Z)=>Z.kind==="prefix"||Z.kind==="postfix";var j8=O(()=>{E();I0();U2();U0();d();x0();p();J1();j2();b6();u$=g({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 f6(U,Q[1],null),[U,Q[1]]})},serialize:(Z)=>Z.map((X)=>[X[0].collapsibleJson,v0(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(c$);if(Z.optionals?.length||Z.defaultables?.length)return M(N8)}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()??[],q=Z.optionals?.slice()??[],Y=Z.postfix?.slice()??[];if(Z.variadic){while(q[q.length-1]?.equals(Z.variadic))q.pop();if(q.length===0&&J.length===0)while(U[U.length-1]?.equals(Z.variadic))U.pop(),Q++;while(Y[0]?.equals(Z.variadic))Y.shift(),Q++}else if(q.length===0&&J.length===0)U.push(...Y.splice(0));if(Q!==Z.minVariadicLength||Z.prefix&&Z.prefix.length!==U.length)return X.node("sequence",{...Z,prefix:U,defaultables:J,optionals:q,postfix:Y,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} = ${y(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=v6({l:Z.tuple,r:X.tuple,disjoint:new A,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",a5(J[0].result)):Q.$.node("union",J.map((q)=>({proto:Array,sequence:a5(q.result)})))}}});o5=class o5 extends h0{impliedBasis=R.intrinsic.Array.internal;tuple=d$(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=H1(this.variadic&&[this.variadic],this.postfix);flatRefs=this.addFlatRefs();addFlatRefs(){return kZ(this.flatRefs,this.prevariadic.flatMap((Z,X)=>m(Z.node.flatRefs.map((Q)=>o0([`${X}`,...Q.path],Q.node)),o0([`${X}`],Z.node)))),kZ(this.flatRefs,this.variadicOrPostfix.flatMap((Z)=>m(Z.flatRefs.map((X)=>o0([R.intrinsic.nonNegativeIntegerString.internal,...X.path],X.node)),o0([R.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=l$(this);defaultValueMorphsReference=this.defaultValueMorphs.length?Z0(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??u(`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++)N0(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(R.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 q=J.node.toJsonSchemaRecurse(X);if(J.kind==="defaultables"){let Y=typeof J.default==="function"?J.default():J.default;q.default=R.intrinsic.jsonData.allows(Y)?Y:X.fallback.defaultValue({code:"defaultValue",base:q,value:Y})}return q});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((q)=>q.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}};p$={},C8={implementation:u$,Node:o5}});var ZU=(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??"{}"},i$,s$,n5=(Z,X,Q)=>{let U=Z.required?"required":"optional";if(!X.signature.allows(Z.key))return null;let J=j0(Z.value,X.value,Q);if(J instanceof A)return U==="optional"?Q.node("optional",{key:Z.key,value:R.intrinsic.never.internal}):J.withPrefixKey(Z.key,Z.kind);return null},a$,XU,E8,r$=(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},o$=(Z)=>{let X=r$(Z);if(!X)return;if(E8[X])return E8[X];let Q=(U,J)=>{for(let q=0;q<Z.defaultable.length;q++)if(!(Z.defaultable[q].key in U))Z.defaultable[q].defaultValueMorph(U,J);if(Z.sequence?.defaultables)for(let q=U.length-Z.sequence.prefixLength;q<Z.sequence.defaultables.length;q++)Z.sequence.defaultValueMorphs[q](U,J);if(Z.undeclared==="delete"){for(let q in U)if(!Z.declaresKey(q))delete U[q]}return U};return E8[X]=Q},n$=(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 q=0;q<X.defaultable.length;q++){let{serializedKey:Y,defaultValueMorphRef:W}=X.defaultable[q];J.if(`!(${Y} in data)`,($)=>$.line(`${W}${U}`))}if(X.sequence?.defaultables)J.for(`i < ${X.sequence.defaultables.length}`,(q)=>q.set("data[i]",5),`data.length - ${X.sequence.prefixLength}`);if(X.undeclared==="delete")J.forIn("data",(q)=>q.if(`!(${X._compileDeclaresKey(q)})`,(Y)=>Y.line("delete data[k]")));return J.return("data")})},b8,t$=(Z)=>{if(b(Z,"root")&&Z.hasKind("unit"))Z=Z.unit;if(typeof Z==="number")Z=`${Z}`;return Z},e$=(Z,X)=>`${Z} is not allowed as an array index on ${X}. Use the 'nonNegativeIntegerString' keyword instead.`,a4=(Z,X,Q)=>{let[U,J]=qQ(Z.branches,(Y)=>Y.hasKind("unit"));if(!U.length)return{index:Q.node("index",{signature:Z,value:X})};let q={};for(let Y of U){let W=Q.node("required",{key:Y.unit,value:X});q[W.kind]=m(q[W.kind],W)}if(J.length)q.index=Q.node("index",{signature:J,value:X});return q},ZL=(Z)=>b(Z,"root")?Z.expression:y(Z),t5=(Z,X)=>`Key${X.length===1?"":"s"} ${X.map(ZL).join(", ")} ${X.length===1?"does":"do"} not exist on ${Z}`,e5=(Z)=>`Duplicate key ${a0(Z)}`;var I8=O(()=>{E();I0();c4();k1();j1();U0();d();x0();p();b1();J1();J0();j2();i$=ZU("description"),s$=ZU("expression"),a$=g({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:F0("required"),reduceIo:(Z,X,Q)=>{X.required=m(X.required,Q.map((U)=>Z==="in"?U.rawIn:U.rawOut));return}},optional:{child:!0,parse:F0("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]=m(X[U.outProp.kind],U.outProp.rawOut)}},index:{child:!0,parse:F0("index")},sequence:{child:!0,parse:F0("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:i$},intersections:{structure:(Z,X,Q)=>{let U={...Z.inner},J={...X.inner},q=new A;if(Z.undeclared){let $=Z.keyof();for(let L of X.requiredKeys)if(!$.allows(L))q.add("presence",R.intrinsic.never.internal,X.propsByKey[L].value,{path:[L]});if(J.optional)J.optional=J.optional.filter((L)=>$.allows(L.key));if(J.index)J.index=J.index.flatMap((L)=>{if(L.signature.extends($))return L;let _=j0($,L.signature,Q.$);if(_ instanceof A)return[];let G=a4(_,L.value,Q.$);if(G.required)J.required=H1(J.required,G.required);if(G.optional)J.optional=H1(J.optional,G.optional);return G.index??[]})}if(X.undeclared){let $=X.keyof();for(let L of Z.requiredKeys)if(!$.allows(L))q.add("presence",Z.propsByKey[L].value,R.intrinsic.never.internal,{path:[L]});if(U.optional)U.optional=U.optional.filter((L)=>$.allows(L.key));if(U.index)U.index=U.index.flatMap((L)=>{if(L.signature.extends($))return L;let _=j0($,L.signature,Q.$);if(_ instanceof A)return[];let G=a4(_,L.value,Q.$);if(G.required)U.required=H1(U.required,G.required);if(G.optional)U.optional=H1(U.optional,G.optional);return G.index??[]})}let Y={};if(Z.undeclared||X.undeclared)Y.undeclared=Z.undeclared==="reject"||X.undeclared==="reject"?"reject":"delete";let W=A2({kind:"structure",baseInner:Y,l:S2(U),r:S2(J),roots:[],ctx:Q});if(W instanceof A)q.push(...W);if(q.length)return q;return W}},reduce:(Z,X)=>{if(!Z.required&&!Z.optional)return;let Q={},U=!1,J=Z.optional?[...Z.optional]:[];if(Z.required)for(let q=0;q<Z.required.length;q++){let Y=Z.required[q];if(Y.key in Q)M(e5(Y.key));if(Q[Y.key]=!0,Z.index)for(let W of Z.index){let $=n5(Y,W,X);if($ instanceof A)return $}}if(Z.optional)for(let q=0;q<Z.optional.length;q++){let Y=Z.optional[q];if(Y.key in Q)M(e5(Y.key));if(Q[Y.key]=!0,Z.index)for(let W of Z.index){let $=n5(Y,W,X);if($ instanceof A)return $;if($!==null)J[q]=$,U=!0}}if(U)return X.node("structure",{...Z,optional:J},{prereduced:!0})}});XU=class XU extends h0{impliedBasis=R.intrinsic.object.internal;impliedSiblings=this.children.flatMap((Z)=>Z.impliedSiblings??[]);props=H1(this.required,this.optional);propsByKey=k(this.props,(Z,X)=>[X.key,X]);propsByKeyReference=Z0(this.propsByKey);expression=s$(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(o(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]=m(X[Q.kind],Q),X}let J=Q.kind??U?.kind??"required",q=k(Q,(Y,W)=>(Y in I6.implementation.keys)?[Y,W]:[]);return X[J]=m(X[J],this.$.node(J,q)),X},{}))}assertHasKeys(Z){let X=Z.filter((Q)=>!k6(Q,this.keyof()));if(X.length)return M(t5(this.expression,X))}get(Z,...X){let Q,U=!1,J=t$(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 Y of this.index)if(k6(J,Y.signature))Q=Q?.and(Y.value)??Y.value}if(this.sequence&&k6(J,R.intrinsic.nonNegativeIntegerString))if(b(J,"root")){if(this.sequence.variadic)Q=Q?.and(this.sequence.element)??this.sequence.element}else{let Y=Number.parseInt(J);if(Y<this.sequence.prevariadic.length){let W=this.sequence.prevariadic[Y].node;Q=Q?.and(W)??W,U||=Y<this.sequence.prefixLength}else if(this.sequence.variadic){let W=this.$.node("union",this.sequence.variadicOrPostfix);Q=Q?.and(W)??W}}if(!Q){if(this.sequence?.variadic&&b(J,"root")&&J.extends(R.intrinsic.number))return M(e$(J.expression,this.sequence.expression));return M(t5(this.expression,[J]))}let q=Q.get(...X);return U?q:q.or(R.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=m(X.required,Z.required);if(Z.optional)X.optional=m(X.optional,Z.optional);if(Z.index)X.index=m(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=f4(this.inner),U=(J)=>{let q=X.some((Y)=>k6(J,Y));return Z==="pick"?q:!q};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 q=0;q<J.length;q++){let Y=J[q];if(this.index){for(let W of this.index)if(W.signature.traverseAllows(Y,Q)){if(Z==="Allows"){if(!N0(Y,()=>W.value.traverseAllows(X[Y],Q),Q))return!1}else if(N0(Y,()=>W.value.traverseApply(X[Y],Q),Q),Q.failFast&&Q.currentErrorCount>U)return!1}}if(this.undeclared==="reject"&&!this.declaresKey(Y)){if(Z==="Allows")return!1;if(Q.errorFromNodeContext({code:"predicate",expected:"removed",actual:"",relativePath:[Y],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&&R.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",o$(this))}structuralMorphRef=this.structuralMorph&&Z0(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(["),n$(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 t.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=R.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(R.intrinsic.string)){Z.additionalProperties=U;continue}for(let J of Q.signature.branches){if(!J.extends(R.intrinsic.string)){Z=X.fallback.symbolKey({code:"symbolKey",base:Z,key:null,value:U,optional:!1});continue}let q={type:"string"};if(J.hasKind("morph"))q=X.fallback.morph({code:"morph",base:J.rawIn.toJsonSchemaRecurse(X),out:J.rawOut.toJsonSchemaRecurse(X)});if(!J.hasKind("intersection"))return u(`Unexpected index branch kind ${J.kind}.`);let{pattern:Y}=J.inner;if(Y){let W=Object.assign(q,{pattern:Y[0].rule});for(let $=1;$<Y.length;$++)q=X.fallback.patternIntersection({code:"patternIntersection",base:W,pattern:Y[$].rule});Z.patternProperties??={},Z.patternProperties[W.pattern]=U}}}if(this.undeclared&&!Z.additionalProperties)Z.additionalProperties=!1;return Z}};E8={},b8={implementation:a$,Node:XU}});var N2,C5;var d4=O(()=>{E();w2();mZ();pZ();U8();q8();_8();V8();z8();B8();M8();K8();D8();p();b1();P8();j2();S8();j8();I8();N2={...T5,alias:y6.implementation,domain:s4.implementation,unit:T8.implementation,proto:g6.implementation,union:R8.implementation,morph:F8.implementation,intersection:H8.implementation,divisor:uZ.implementation,pattern:J8.implementation,predicate:hZ.implementation,required:A8.implementation,optional:I6.implementation,index:w8.implementation,sequence:C8.implementation,structure:b8.implementation};R.defaultConfig=zQ(Object.assign(k(N2,(Z,X)=>[Z,X.defaults]),{jitless:DQ(),clone:MQ,onUndeclaredKey:"ignore",exactOptionalPropertyTypes:!0,numberAllowsNaN:!1,dateAllowsInvalid:!1,onFail:null,keywords:{},toJsonSchema:t.defaultConfig}));R.resolvedConfig=w6(R.defaultConfig,R.config);C5={...D5,alias:y6.Node,domain:s4.Node,unit:T8.Node,proto:g6.Node,union:R8.Node,morph:F8.Node,intersection:H8.Node,divisor:uZ.Node,pattern:J8.Node,predicate:hZ.Node,required:A8.Node,optional:I6.Node,index:w8.Node,sequence:C8.Node,structure:b8.Node}});var f2,f8=(Z,X)=>new f2(k(Z,(Q,U)=>[Q,b(U,"module")?f8(U,X):X.bindReference(U)]));var k8=O(()=>{E();J0();f2=class f2 extends MZ{get[O0](){return"module"}}});var XL=(Z)=>r(Z)?Z:("branches"in Z)&&r(Z.branches)?Z.branches:void 0,QL=(Z,X)=>M(`Node of kind ${X} is not valid as a ${Z} definition`),QU=(Z)=>`#${Z} duplicates public alias ${Z}`,y8,UU,qU="function $",UL=(Z)=>YU(Z,WU(Z)),YU=(Z,X)=>{let Q=X.write(qU,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}},WU=(Z)=>new I4().return(Z.reduce((X,Q)=>{let U=new D6({kind:"Allows"}).indent();Q.compile(U);let J=U.write(`${Q.id}Allows`),q=new D6({kind:"Apply"}).indent();Q.compile(q);let Y=q.write(`${Q.id}Apply`),W=`${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?`${U0(Q.contextFreeMorph)}(data)`:"data":!0));Z.return(X?`"${S0}"`:!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 q=k(this.unitBranches,(J,Y)=>[`${Y.rawIn.serializedValue}`,Y.hasKind("morph")?Y:!0]);return{kind:"unit",path:[],optionallyChainedPropString:"data",cases:q}}let Z=[];for(let q=0;q<this.branches.length-1;q++){let J=this.branches[q];for(let Y=q+1;Y<this.branches.length;Y++){let W=this.branches[Y],$=E0(J.rawIn,W.rawIn,J.$);if(!($ instanceof j))continue;for(let L of $){if(!L.kind||L.optional)continue;let V,G;if(L.kind==="domain"){let{l:H,r:F}=L;V=`"${typeof H==="string"?H:H.domain}"`,G=`"${typeof F==="string"?F:F.domain}"`}else if(L.kind==="unit")V=L.l.serializedValue,G=L.r.serializedValue;else continue;let _=Z.find((H)=>z1(H.path,L.path)&&H.kind===L.kind);if(!_)Z.push({kind:L.kind,cases:{[V]:{branchIndices:[q],condition:L.l},[G]:{branchIndices:[Y],condition:L.r}},path:L.path});else{if(_.cases[V])_.cases[V].branchIndices=e0(_.cases[V].branchIndices,q);else _.cases[V]??={branchIndices:[q],condition:L.l};if(_.cases[G])_.cases[G].branchIndices=e0(_.cases[G].branchIndices,Y);else _.cases[G]??={branchIndices:[Y],condition:L.r}}}}}let X=this.ordered?b$(Z,this.branches):Z;if(!X.length)return null;let Q=N$(X,this),U={};for(let q in Q.best.cases){let J=E$(Q,q);if(J===null){U[q]=!0;continue}if(J.length===this.branches.length)return null;if(this.ordered)J.sort(($,L)=>$.originalIndex-L.originalIndex);let Y=J.map(($)=>$.branch),W=Y.length===1?Y[0]:this.$.node("union",this.ordered?{branches:Y,ordered:!0}:Y);Object.assign(this.referencesById,W.referencesById),U[q]=W}if(Q.defaultEntries.length){let q=Q.defaultEntries.map((J)=>J.branch);U.default=this.$.node("union",this.ordered?{branches:q,ordered:!0}:q,{prereduced:!0}),Object.assign(this.referencesById,U.default.referencesById)}return Object.assign(Q.location,{cases:U})}};f$=U0(HQ),y$=U0(g),P8={implementation:C$,Node:s5},g$={delimiter:" | ",finalDelimiter:" | "}});var u$,o5,S8,r5=(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 j8=O(()=>{b();q0();s();c();t4();v2();u$=v({kind:"unit",hasAssociatedError:!0,keys:{unit:{preserveUndefined:!0,serialize:(Z)=>Z instanceof Date?Z.toISOString():g0(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),...U1("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 q=Z.domain==="undefined"||Z.domain==="null"||Z.domain==="boolean"?Z.domain:T.intrinsic[Z.domain];return j.init("domain",q,U)}}return j.init("assignability",Z,X.hasKind("intersection")?X.children.find((U)=>!U.allows(Z.unit)):X)})}});o5=class o5 extends J2{compiledValue=this.json.unit;serializedValue=typeof this.unit==="string"||this.unit instanceof Date?JSON.stringify(this.compiledValue):`${this.compiledValue}`;compiledCondition=r5(this.unit,this.serializedValue);compiledNegation=r5(this.unit,this.serializedValue,"negated");expression=g(this.unit);domain=G0(this.unit);get defaultShortDescription(){return this.domain==="object"?A0.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};S8={implementation:u$,Node:o5}});var p$,n5,C8,l$=(Z)=>`Index keys ${Z.join(", ")} should be specified as named props.`,c$=(Z)=>`Indexed key definition '${Z}' must be a string or symbol`;var N8=O(()=>{b();f0();q2();q0();s();v0();c();Q1();p$=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(c$(Q.expression));let U=Q.branches.filter((q)=>q.hasKind("unit"));if(U.length)return M(l$(U.map((q)=>g(q.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=Z0(Z.value,X.value,Q),q=U instanceof j?T.intrinsic.never.internal:U;return Q.$.node("index",{signature:Z.signature,value:q})}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}}});n5=class n5 extends x0{impliedBasis=T.intrinsic.object.internal;expression=`[${this.signature.expression}]: ${this.value.expression}`;flatRefs=m(this.value.flatRefs.map((Z)=>a0([this.signature,...Z.path],Z.node)),a0([this.signature],this.value));traverseAllows=(Z,X)=>t1(Z).every((Q)=>{if(this.signature.traverseAllows(Q[0],X))return N0(Q[0],()=>this.value.traverseAllows(Q[1],X),X);return!0});traverseApply=(Z,X)=>{for(let Q of t1(Z))if(this.signature.traverseAllows(Q[0],X))N0(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(){}};C8={implementation:p$,Node:n5}});var d$,t5,E8;var b8=O(()=>{s();g6();d$=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:y6,optional:y6}});t5=class t5 extends k6{expression=`${this.compiledKey}: ${this.value.expression}`;errorContext=Object.freeze({code:"required",missingValueDescription:this.value.defaultShortDescription,relativePath:[this.key],meta:this.meta});compiledErrorContext=N1(this.errorContext)};E8={implementation:d$,Node:t5}});var i$,XU,s$,a$=(Z)=>{if(!Z.defaultables)return[];let X=[],Q="[",U=Z.prefixLength+Z.defaultablesLength-1;for(let q=Z.prefixLength;q<=U;q++){let[J,Y]=Z.defaultables[q-Z.prefixLength];X.push(F8(q,J,Y)),Q+=`${q}: ${J.id} = ${g0(Y)}, `}return Q+="]",s$[Q]??=X},I8,r$=(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},e5=(Z)=>Z.reduce((X,Q)=>{if(Q.kind==="variadic")X.variadic=Q.node;else if(Q.kind==="defaultables")X.defaultables=m(X.defaultables,[[Q.node,Q.default]]);else X[Q.kind]=m(X[Q.kind],Q.node);return X},{}),f8="A postfix required element cannot follow an optional or defaultable element",o$="A postfix element requires a variadic element",p6=(Z)=>{let[X,...Q]=Z.l,[U,...q]=Z.r;if(!X||!U)return Z;let J=Q[Q.length-1]?.kind==="postfix",Y=q[q.length-1]?.kind==="postfix",W=X.kind==="prefix"||U.kind==="prefix"?"prefix":X.kind==="postfix"||U.kind==="postfix"?"postfix":X.kind==="variadic"&&U.kind==="variadic"?"variadic":J||Y?"prefix":X.kind==="defaultables"||U.kind==="defaultables"?"defaultables":"optionals";if(X.kind==="prefix"&&U.kind==="variadic"&&Y){let G=p6({...Z,fixedVariants:[],r:q.map((_)=>({..._,kind:"prefix"}))});if(G.disjoint.length===0)Z.fixedVariants.push(G)}else if(U.kind==="prefix"&&X.kind==="variadic"&&J){let G=p6({...Z,fixedVariants:[],l:Q.map((_)=>({..._,kind:"prefix"}))});if(G.disjoint.length===0)Z.fixedVariants.push(G)}let $=Z0(X.node,U.node,Z.ctx);if($ instanceof j)if(W==="prefix"||W==="postfix")Z.disjoint.push(...$.withPrefixKey(W==="prefix"?Z.result.length:`-${Q.length+1}`,ZU(X)&&ZU(U)?"required":"optional")),Z.result=[...Z.result,{kind:W,node:T.intrinsic.never.internal}];else if(W==="optionals"||W==="defaultables")return Z;else return p6({...Z,fixedVariants:[],l:Q.map((G)=>({...G,kind:"prefix"})),r:Q.map((G)=>({...G,kind:"prefix"}))});else if(W==="defaultables"){if(X.kind==="defaultables"&&U.kind==="defaultables"&&X.default!==U.default)M(H8(X.default,U.default));Z.result=[...Z.result,{kind:W,node:$,default:X.kind==="defaultables"?X.default:U.kind==="defaultables"?U.default:l(`Unexpected defaultable intersection from ${X.kind} and ${U.kind} elements.`)}]}else Z.result=[...Z.result,{kind:W,node:$}];let L=Z.l.length,V=Z.r.length;if(X.kind!=="variadic"||L>=V&&(U.kind==="variadic"||V===1))Z.l=Q;if(U.kind!=="variadic"||V>=L&&(X.kind==="variadic"||L===1))Z.r=q;return p6(Z)},ZU=(Z)=>Z.kind==="prefix"||Z.kind==="postfix";var y8=O(()=>{b();f0();q2();q0();s();v0();c();Q1();k2();g6();i$=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 x6(U,Q[1],null),[U,Q[1]]})},serialize:(Z)=>Z.map((X)=>[X[0].collapsibleJson,g0(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(o$);if(Z.optionals?.length||Z.defaultables?.length)return M(f8)}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()??[],q=Z.defaultables?.slice()??[],J=Z.optionals?.slice()??[],Y=Z.postfix?.slice()??[];if(Z.variadic){while(J[J.length-1]?.equals(Z.variadic))J.pop();if(J.length===0&&q.length===0)while(U[U.length-1]?.equals(Z.variadic))U.pop(),Q++;while(Y[0]?.equals(Z.variadic))Y.shift(),Q++}else if(J.length===0&&q.length===0)U.push(...Y.splice(0));if(Q!==Z.minVariadicLength||Z.prefix&&Z.prefix.length!==U.length)return X.node("sequence",{...Z,prefix:U,defaultables:q,optionals:J,postfix:Y,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=p6({l:Z.tuple,r:X.tuple,disjoint:new j,result:[],fixedVariants:[],ctx:Q}),q=U.disjoint.length===0?[U,...U.fixedVariants]:U.fixedVariants;return q.length===0?U.disjoint:q.length===1?Q.$.node("sequence",e5(q[0].result)):Q.$.node("union",q.map((J)=>({proto:Array,sequence:e5(J.result)})))}}});XU=class XU extends x0{impliedBasis=T.intrinsic.Array.internal;tuple=r$(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=_1(this.variadic&&[this.variadic],this.postfix);flatRefs=this.addFlatRefs();addFlatRefs(){return hZ(this.flatRefs,this.prevariadic.flatMap((Z,X)=>m(Z.node.flatRefs.map((Q)=>a0([`${X}`,...Q.path],Q.node)),a0([`${X}`],Z.node)))),hZ(this.flatRefs,this.variadicOrPostfix.flatMap((Z)=>m(Z.flatRefs.map((X)=>a0([T.intrinsic.nonNegativeIntegerString.internal,...X.path],X.node)),a0([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=a$(this);defaultValueMorphsReference=this.defaultValueMorphs.length?U0(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??l(`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++)N0(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((q)=>{let J=q.node.toJsonSchemaRecurse(X);if(q.kind==="defaultables"){let Y=typeof q.default==="function"?q.default():q.default;J.default=T.intrinsic.jsonData.allows(Y)?Y:X.fallback.defaultValue({code:"defaultValue",base:J,value:Y})}return J});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 q=this.postfix.map((J)=>J.toJsonSchemaRecurse(X));Z=X.fallback.arrayPostfix({code:"arrayPostfix",base:Z,elements:q})}}else{if(Q)Z.additionalItems=!1;else Z.items=!1;delete Z.maxItems}return Z}};s$={},I8={implementation:i$,Node:XU}});var JU=(Z)=>(X)=>{if(X.props.length||X.index){let Q=X.index?.map((q)=>q[Z])??[];for(let q of X.props)Q.push(q[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??"{}"},n$,t$,QU=(Z,X,Q)=>{let U=Z.required?"required":"optional";if(!X.signature.allows(Z.key))return null;let q=E0(Z.value,X.value,Q);if(q instanceof j)return U==="optional"?Q.node("optional",{key:Z.key,value:T.intrinsic.never.internal}):q.withPrefixKey(Z.key,Z.kind);return null},e$,YU,k8,ZL=(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+=f.nonNegativeIntegerString.id;else for(let Q=0;Q<Z.sequence.tuple.length;Q++)X+=Q+" | ";X+=")"}return X},XL=(Z)=>{let X=ZL(Z);if(!X)return;if(k8[X])return k8[X];let Q=(U,q)=>{for(let J=0;J<Z.defaultable.length;J++)if(!(Z.defaultable[J].key in U))Z.defaultable[J].defaultValueMorph(U,q);if(Z.sequence?.defaultables)for(let J=U.length-Z.sequence.prefixLength;J<Z.sequence.defaultables.length;J++)Z.sequence.defaultValueMorphs[J](U,q);if(Z.undeclared==="delete"){for(let J in U)if(!Z.declaresKey(J))delete U[J]}return U};return k8[X]=Q},QL=(Z,X)=>{let U=`(data${X.defaultable.some((q)=>q.defaultValueMorph.length===2)||X.sequence?.defaultValueMorphs.some((q)=>q.length===2)?", ctx":""})`;return Z.block(`${U} => `,(q)=>{for(let J=0;J<X.defaultable.length;J++){let{serializedKey:Y,defaultValueMorphRef:W}=X.defaultable[J];q.if(`!(${Y} in data)`,($)=>$.line(`${W}${U}`))}if(X.sequence?.defaultables)q.for(`i < ${X.sequence.defaultables.length}`,(J)=>J.set("data[i]",5),`data.length - ${X.sequence.prefixLength}`);if(X.undeclared==="delete")q.forIn("data",(J)=>J.if(`!(${X._compileDeclaresKey(J)})`,(Y)=>Y.line("delete data[k]")));return q.return("data")})},g8,UL=(Z)=>{if(I(Z,"root")&&Z.hasKind("unit"))Z=Z.unit;if(typeof Z==="number")Z=`${Z}`;return Z},qL=(Z,X)=>`${Z} is not allowed as an array index on ${X}. Use the 'nonNegativeIntegerString' keyword instead.`,Z9=(Z,X,Q)=>{let[U,q]=GQ(Z.branches,(Y)=>Y.hasKind("unit"));if(!U.length)return{index:Q.node("index",{signature:Z,value:X})};let J={};for(let Y of U){let W=Q.node("required",{key:Y.unit,value:X});J[W.kind]=m(J[W.kind],W)}if(q.length)J.index=Q.node("index",{signature:q,value:X});return J},JL=(Z)=>I(Z,"root")?Z.expression:g(Z),UU=(Z,X)=>`Key${X.length===1?"":"s"} ${X.map(JL).join(", ")} ${X.length===1?"does":"do"} not exist on ${Z}`,qU=(Z)=>`Duplicate key ${i0(Z)}`;var v8=O(()=>{b();f0();n4();f1();C1();q0();s();v0();c();E1();Q1();Y0();k2();n$=JU("description"),t$=JU("expression"),e$=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:R0("required"),reduceIo:(Z,X,Q)=>{X.required=m(X.required,Q.map((U)=>Z==="in"?U.rawIn:U.rawOut));return}},optional:{child:!0,parse:R0("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]=m(X[U.outProp.kind],U.outProp.rawOut)}},index:{child:!0,parse:R0("index")},sequence:{child:!0,parse:R0("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:n$},intersections:{structure:(Z,X,Q)=>{let U={...Z.inner},q={...X.inner},J=new j;if(Z.undeclared){let $=Z.keyof();for(let L of X.requiredKeys)if(!$.allows(L))J.add("presence",T.intrinsic.never.internal,X.propsByKey[L].value,{path:[L]});if(q.optional)q.optional=q.optional.filter((L)=>$.allows(L.key));if(q.index)q.index=q.index.flatMap((L)=>{if(L.signature.extends($))return L;let V=E0($,L.signature,Q.$);if(V instanceof j)return[];let G=Z9(V,L.value,Q.$);if(G.required)q.required=_1(q.required,G.required);if(G.optional)q.optional=_1(q.optional,G.optional);return G.index??[]})}if(X.undeclared){let $=X.keyof();for(let L of Z.requiredKeys)if(!$.allows(L))J.add("presence",Z.propsByKey[L].value,T.intrinsic.never.internal,{path:[L]});if(U.optional)U.optional=U.optional.filter((L)=>$.allows(L.key));if(U.index)U.index=U.index.flatMap((L)=>{if(L.signature.extends($))return L;let V=E0($,L.signature,Q.$);if(V instanceof j)return[];let G=Z9(V,L.value,Q.$);if(G.required)U.required=_1(U.required,G.required);if(G.optional)U.optional=_1(U.optional,G.optional);return G.index??[]})}let Y={};if(Z.undeclared||X.undeclared)Y.undeclared=Z.undeclared==="reject"||X.undeclared==="reject"?"reject":"delete";let W=b2({kind:"structure",baseInner:Y,l:I2(U),r:I2(q),roots:[],ctx:Q});if(W instanceof j)J.push(...W);if(J.length)return J;return W}},reduce:(Z,X)=>{if(!Z.required&&!Z.optional)return;let Q={},U=!1,q=Z.optional?[...Z.optional]:[];if(Z.required)for(let J=0;J<Z.required.length;J++){let Y=Z.required[J];if(Y.key in Q)M(qU(Y.key));if(Q[Y.key]=!0,Z.index)for(let W of Z.index){let $=QU(Y,W,X);if($ instanceof j)return $}}if(Z.optional)for(let J=0;J<Z.optional.length;J++){let Y=Z.optional[J];if(Y.key in Q)M(qU(Y.key));if(Q[Y.key]=!0,Z.index)for(let W of Z.index){let $=QU(Y,W,X);if($ instanceof j)return $;if($!==null)q[J]=$,U=!0}}if(U)return X.node("structure",{...Z,optional:q},{prereduced:!0})}});YU=class YU extends x0{impliedBasis=T.intrinsic.object.internal;impliedSiblings=this.children.flatMap((Z)=>Z.impliedSiblings??[]);props=_1(this.required,this.optional);propsByKey=k(this.props,(Z,X)=>[X.key,X]);propsByKeyReference=U0(this.propsByKey);expression=t$(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(e(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]=m(X[Q.kind],Q),X}let q=Q.kind??U?.kind??"required",J=k(Q,(Y,W)=>(Y in v6.implementation.keys)?[Y,W]:[]);return X[q]=m(X[q],this.$.node(q,J)),X},{}))}assertHasKeys(Z){let X=Z.filter((Q)=>!h6(Q,this.keyof()));if(X.length)return M(UU(this.expression,X))}get(Z,...X){let Q,U=!1,q=UL(Z);if((typeof q==="string"||typeof q==="symbol")&&this.propsByKey[q])Q=this.propsByKey[q].value,U=this.propsByKey[q].required;if(this.index){for(let Y of this.index)if(h6(q,Y.signature))Q=Q?.and(Y.value)??Y.value}if(this.sequence&&h6(q,T.intrinsic.nonNegativeIntegerString))if(I(q,"root")){if(this.sequence.variadic)Q=Q?.and(this.sequence.element)??this.sequence.element}else{let Y=Number.parseInt(q);if(Y<this.sequence.prevariadic.length){let W=this.sequence.prevariadic[Y].node;Q=Q?.and(W)??W,U||=Y<this.sequence.prefixLength}else if(this.sequence.variadic){let W=this.$.node("union",this.sequence.variadicOrPostfix);Q=Q?.and(W)??W}}if(!Q){if(this.sequence?.variadic&&I(q,"root")&&q.extends(T.intrinsic.number))return M(qL(q.expression,this.sequence.expression));return M(UU(this.expression,[q]))}let J=Q.get(...X);return U?J:J.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=m(X.required,Z.required);if(Z.optional)X.optional=m(X.optional,Z.optional);if(Z.index)X.index=m(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=h4(this.inner),U=(q)=>{let J=X.some((Y)=>h6(q,Y));return Z==="pick"?J:!J};if(Q.required)Q.required=Q.required.filter((q)=>U(q.key));if(Q.optional)Q.optional=Q.optional.filter((q)=>U(q.key));if(Q.index)Q.index=Q.index.filter((q)=>U(q.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 q=0;q<this.props.length;q++)if(Z==="Allows"){if(!this.props[q].traverseAllows(X,Q))return!1}else if(this.props[q].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 q=Object.keys(X);q.push(...Object.getOwnPropertySymbols(X));for(let J=0;J<q.length;J++){let Y=q[J];if(this.index){for(let W of this.index)if(W.signature.traverseAllows(Y,Q)){if(Z==="Allows"){if(!N0(Y,()=>W.value.traverseAllows(X[Y],Q),Q))return!1}else if(N0(Y,()=>W.value.traverseApply(X[Y],Q),Q),Q.failFast&&Q.currentErrorCount>U)return!1}}if(this.undeclared==="reject"&&!this.declaresKey(Y)){if(Z==="Allows")return!1;if(Q.errorFromNodeContext({code:"predicate",expected:"removed",actual:"",relativePath:[Y],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",XL(this))}structuralMorphRef=this.structuralMorph&&U0(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(["),QL(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 X0.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 q=typeof Q.default==="function"?Q.default():Q.default;U.default=T.intrinsic.jsonData.allows(q)?q:X.fallback.defaultValue({code:"defaultValue",base:U,value:q})}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 q of Q.signature.branches){if(!q.extends(T.intrinsic.string)){Z=X.fallback.symbolKey({code:"symbolKey",base:Z,key:null,value:U,optional:!1});continue}let J={type:"string"};if(q.hasKind("morph"))J=X.fallback.morph({code:"morph",base:q.rawIn.toJsonSchemaRecurse(X),out:q.rawOut.toJsonSchemaRecurse(X)});if(!q.hasKind("intersection"))return l(`Unexpected index branch kind ${q.kind}.`);let{pattern:Y}=q.inner;if(Y){let W=Object.assign(J,{pattern:Y[0].rule});for(let $=1;$<Y.length;$++)J=X.fallback.patternIntersection({code:"patternIntersection",base:W,pattern:Y[$].rule});Z.patternProperties??={},Z.patternProperties[W.pattern]=U}}}if(this.undeclared&&!Z.additionalProperties)Z.additionalProperties=!1;return Z}};k8={},g8={implementation:e$,Node:YU}});var y2,I5;var o4=O(()=>{b();N2();dZ();sZ();$8();G8();B8();M8();R8();K8();D8();A8();j8();c();E1();N8();k2();b8();y8();v8();y2={...S5,alias:m6.implementation,domain:e4.implementation,unit:S8.implementation,proto:u6.implementation,union:P8.implementation,morph:T8.implementation,intersection:O8.implementation,divisor:iZ.implementation,pattern:L8.implementation,predicate:cZ.implementation,required:E8.implementation,optional:v6.implementation,index:C8.implementation,sequence:I8.implementation,structure:g8.implementation};T.defaultConfig=RQ(Object.assign(k(y2,(Z,X)=>[Z,X.defaults]),{jitless:jQ(),clone:DQ,onUndeclaredKey:"ignore",exactOptionalPropertyTypes:!0,numberAllowsNaN:!1,dateAllowsInvalid:!1,onFail:null,keywords:{},toJsonSchema:X0.defaultConfig}));T.resolvedConfig=C6(T.defaultConfig,T.config);I5={...j5,alias:m6.Node,domain:e4.Node,unit:S8.Node,proto:u6.Node,union:P8.Node,morph:T8.Node,intersection:O8.Node,divisor:iZ.Node,pattern:L8.Node,predicate:cZ.Node,required:E8.Node,optional:v6.Node,index:C8.Node,sequence:I8.Node,structure:g8.Node}});var h2,x8=(Z,X)=>new h2(k(Z,(Q,U)=>[Q,I(U,"module")?x8(U,X):X.bindReference(U)]));var h8=O(()=>{b();Y0();h2=class h2 extends DZ{get[T0](){return"module"}}});var YL=(Z)=>n(Z)?Z:("branches"in Z)&&n(Z.branches)?Z.branches:void 0,WL=(Z,X)=>M(`Node of kind ${X} is not valid as a ${Z} definition`),WU=(Z)=>`#${Z} duplicates public alias ${Z}`,m8,$U,GU="function $",$L=(Z)=>VU(Z,_U(Z)),VU=(Z,X)=>{let Q=X.write(GU,4),U=X.compile()();for(let q of Z){if(q.precompilation)continue;if(q.traverseAllows=U[`${q.id}Allows`].bind(U),q.isRoot()&&!q.allowsRequiresContext)q.allows=q.traverseAllows;if(q.traverseApply=U[`${q.id}Apply`].bind(U),U[`${q.id}Optimistic`])q.traverseOptimistic=U[`${q.id}Optimistic`].bind(U);q.precompilation=Q}},_U=(Z)=>new x4().return(Z.reduce((X,Q)=>{let U=new j6({kind:"Allows"}).indent();Q.compile(U);let q=U.write(`${Q.id}Allows`),J=new j6({kind:"Apply"}).indent();Q.compile(J);let Y=J.write(`${Q.id}Apply`),W=`${X}${q},
42
42
  ${Y},
43
- `;if(!Q.hasKind("union"))return W;let $=new D6({kind:"Allows",optimistic:!0}).indent();Q.compile($);let L=$.write(`${Q.id}Optimistic`);return`${W}${L},
43
+ `;if(!Q.hasKind("union"))return W;let $=new j6({kind:"Allows",optimistic:!0}).indent();Q.compile($);let L=$.write(`${Q.id}Optimistic`);return`${W}${L},
44
44
  `},`{
45
- `)+"}"),r4,v8,JU=(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},$U=(Z)=>k(Z,(X,Q)=>[X,b(Q,"root")||b(Q,"generic")?Q.json:b(Q,"module")?$U(Q):u(`Unexpected resolution ${y(Q)}`)]),g8=(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(!b(J,"module"))return M(JL(U));let q=X.slice(Q+1),Y=J[q];if(Y===void 0)return g8(J,q);if(b(Y,"root")||b(Y,"generic"))return Y;if(b(Y,"module"))return Y.root??M(GU(X));u(`Unexpected resolution for alias '${X}': ${y(Y)}`)},o4=(Z,X)=>new v8(Z,X),x6,LU=(Z,X)=>{let Q={};for(let U in X){let J=X[U];if(b(J,"module")){let q=LU(Z,J),Y=k(q,(W,$)=>[`${U}.${W}`,$]);Object.assign(Q,Y)}else if(b(J,"root")||b(J,"generic"))Q[U]=J;else u(`Unexpected scope resolution ${y(J)}`)}return Q},x8=(Z)=>`'${Z}' is unresolvable`,JL=(Z)=>`'${Z}' must reference a module to be accessed using dot syntax`,GU=(Z)=>`Reference to submodule '${Z}' must specify an alias`,c,k2,EC,u0;var h8=O(()=>{E();w2();xZ();d4();k8();l4();_8();j1();p();J1();J0();y8={};R.ambient??={};r4=class r4{config;resolvedConfig;name;get[O0](){return"scope"}referencesById={};references=[];resolutions={};exportedNames=[];aliases={};resolved=!1;nodesByHash={};intrinsic;constructor(Z,X){if(this.config=w6(R.config,X),this.resolvedConfig=w6(R.resolvedConfig,X),this.name=this.resolvedConfig.name??`anonymousScope${Object.keys(y8).length}`,this.name in y8)M(`A Scope already named ${this.name} already exists`);y8[this.name]=this;let Q=Object.entries(Z).map((U)=>this.preparseOwnAliasEntry(...U));for(let[U,J]of Q){let q=U;if(U[0]==="#"){if(q=U.slice(1),q in this.aliases)M(QU(q));this.aliases[q]=J}else{if(q in this.aliases)M(QU(U));this.aliases[q]=J,this.exportedNames.push(q)}if(!b(J,"module")&&!b(J,"generic")&&!S1(J)){let Y=this.preparseOwnDefinitionFormat(J,{alias:q});this.resolutions[q]=b(Y,"root")?this.bindReference(Y):this.createParseContext(Y).id}}UU??=this.node("union",{branches:["string","number","object","bigint","symbol",{unit:!0},{unit:!1},{unit:void 0},{unit:null}]},{prereduced:!0}),this.nodesByHash[UU.hash]=this.node("intersection",{},{prereduced:!0}),this.intrinsic=R.intrinsic?k(R.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 f1(Z,U?new v4(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(N6(Z),Z,X);preparseNode(Z,X,Q){let U=typeof Z==="string"?Z:N6(X,Z);if(o(X)&&X.kind===U)return X;if(U==="alias"&&!Q?.prereduced){let{reference:Y}=y6.implementation.normalize(X,this);if(Y.startsWith("$")){let W=this.resolveRoot(Y.slice(1));X=W,U=W.kind}}else if(U==="union"&&w0(X,"object")){let Y=XL(X);if(Y?.length===1)X=Y[0],U=N6(X)}if(o(X)&&X.kind===U)return X;let q=N2[U].normalize?.(X,this)??X;if(o(q))return q.kind===U?q:QL(U,q.kind);return{...Q,$:this,kind:U,def:q,prefix:Q.alias??U}}bindReference(Z){let X;if(o(Z))X=Z.$===this?Z:new Z.constructor(Z.attachments,this);else X=Z.$===this?Z:new f1(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(x8(Z))}maybeResolveRoot(Z){let X=this.maybeResolve(Z);if(b(X,"generic"))return;return X}maybeResolveSubalias(Z){return g8(this.aliases,Z)??g8(this.ambient,Z)}get ambient(){return R.ambient}maybeResolve(Z){let X=this.resolutions[Z];if(X){if(typeof X!=="string")return this.bindReference(X);let U=R0[X];if(b(U,"root"))return this.resolutions[Z]=U;if(b(U,"context")){if(U.phase==="resolving")return this.node("alias",{reference:`$${Z}`},{prereduced:!0});if(U.phase==="resolved")return u(`Unexpected resolved context for was uncached by its scope: ${y(U)}`);U.phase="resolving";let J=this.bindReference(this.parseOwnDefinitionFormat(U.def,U));return U.phase="resolved",R0[J.id]=J,R0[U.id]=J,this.resolutions[Z]=J}return u(`Unexpected nodesById entry for ${X}: ${y(U)}`)}let Q=this.aliases[Z]??this.ambient?.[Z];if(!Q)return this.maybeResolveSubalias(Z);if(Q=this.normalizeRootScopeValue(Q),b(Q,"generic"))return this.resolutions[Z]=this.bindReference(Q);if(b(Q,"module")){if(!Q.root)M(GU(Z));return this.resolutions[Z]=this.bindReference(Q.root)}return this.resolutions[Z]=this.parse(Q,{alias:Z})}createParseContext(Z){let X=Z.id??Y8(Z.prefix);return R0[X]=Object.assign(Z,{[O0]:"context",$:this,id:X,phase:"unresolved"})}traversal(Z){return new r0(Z,this.resolvedConfig)}import(...Z){return new f2(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]=b(U,"module")?f8(U,this):JU(this.maybeResolve(Q))}for(let Q of this.lazyResolutions)Q.resolution;if(this._exportedResolutions=LU(this,this._exports),this._json=$U(this._exportedResolutions),Object.assign(this.resolutions,this._exportedResolutions),this.references=Object.values(this.referencesById),!this.resolvedConfig.jitless){let Q=WU(this.references);this.precompilation=Q.write(qU,4),YU(this.references,Q)}this.resolved=!0}let X=Z.length?Z:this.exportedNames;return new f2(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(o(U))return this.bindReference(U);let J=this.createParseContext(U),q=W8(J),Y=this.bindReference(q);return R0[J.id]=Y};parse=(Z,X={})=>this.finalize(this.parseDefinition(Z,X));parseDefinition(Z,X={}){if(b(Z,"root"))return this.bindReference(Z);let Q=this.preparseOwnDefinitionFormat(Z,X);if(b(Q,"root"))return this.bindReference(Q);let U=this.createParseContext(Q);R0[U.id]=U;let J=this.bindReference(this.parseOwnDefinitionFormat(Z,U));if(J.isCyclic)J=S5(J,U.id);return R0[U.id]=J,J}finalize(Z){if(JU(Z),!Z.precompilation&&!this.resolvedConfig.jitless)UL(Z.references);return Z}};v8=class v8 extends r4{parseOwnDefinitionFormat(Z,X){return W8(X)}preparseOwnDefinitionFormat(Z,X){return this.preparseNode(N6(Z),Z,X)}preparseOwnAliasEntry(Z,X){return[Z,X]}normalizeRootScopeValue(Z){return Z}};x6=new v8({});x6.export();c=x6.schema,k2=x6.node,EC=x6.defineSchema,u0=x6.generic});var m8="^(?:0|[1-9]\\d*)$",qL,fC;var _U=O(()=>{p();qL=new RegExp(m8),fC=Z0(qL)});var VU,HU,YL,I;var c4=O(()=>{h8();p();_U();VU=o4({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();R.intrinsic={...VU};HU=o4({integer:{domain:"number",divisor:1},lengthBoundable:["string",Array],key:["string","symbol"],nonNegativeIntegerString:{domain:"string",pattern:m8}},{prereducedAliases:!0}).export();Object.assign(R.intrinsic,HU);YL=o4({jsonPrimitive:["string","number",{unit:!0},{unit:!1},{unit:null}],jsonObject:{domain:"object",index:{signature:"string",value:"$jsonData"}},jsonData:["$jsonPrimitive","$jsonObject"]},{prereducedAliases:!0}).export(),I={...VU,...HU,...YL,emptyStructure:k2("structure",{},{prereduced:!0})};R.intrinsic={...I}});var zU=()=>{};var FU=()=>{};var BU=()=>{};var q0=O(()=>{E();w2();I0();xZ();c4();d4();k8();U2();l4();mZ();dZ();iZ();pZ();aZ();U8();oZ();tZ();Z8();Q8();q8();R1();V8();z8();B8();M8();k1();K8();D8();h8();j1();zU();U0();P6();d();x0();FU();p();BU();b1();J1();J0();P8();j2();b6();S8();j8();I8()});var n4=(Z,X)=>new RegExp(Z,X);var MU=O(()=>{Object.assign(n4,{as:n4})});var OU=O(()=>{MU()});var RU=O(()=>{w2()});var TU=(Z)=>typeof Z==="string"&&Z[0]==="d"&&(Z[1]==="'"||Z[1]==='"')&&Z[Z.length-1]===Z[1],KU=(Z)=>Z.toString()!=="Invalid Date",DU=(Z)=>Z.slice(2,-1),u8=(Z)=>`'${Z}' could not be parsed by the Date constructor`,wU=(Z,X)=>WL(Z,X),WL=(Z,X)=>{let Q=new Date(Z);if(KU(Q))return Q;let U=vQ(Z);if(U!==void 0){let J=new Date(U);if(KU(J))return J}return X?M(X===!0?u8(Z):X):void 0};var p8=O(()=>{E()});var $L,t4=(Z,X)=>{let Q=Z.scanner.shiftUntilEscapable(GL[SU[X]]);if(Z.scanner.lookahead==="")return Z.error(VL(Q,X));if(Z.scanner.shift(),X in AU){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:$L})}else if(L0(X,l8))Z.root=Z.ctx.$.node("unit",{unit:Q});else{let U=wU(Q,u8(Q));Z.root=Z.ctx.$.node("unit",{meta:Q,unit:U})}},l8,PU,LL,AU,SU,GL,_L,VL=(Z,X)=>`${X}${Z} requires a closing ${_L[SU[X]]}`;var CU=O(()=>{q0();E();p8();$L=c({proto:"Array",sequence:"string",required:{key:"groups",value:["object",{unit:void 0}]}}),l8={"'":1,'"':1},PU={"/":1,"'":1,'"':1},LL={"d'":"'",'d"':'"',"'":"'",'"':'"'},AU={"/":"/","x/":"/"},SU={...LL,...AU},GL={"'":(Z)=>Z.lookahead==="'",'"':(Z)=>Z.lookahead==='"',"/":(Z)=>Z.lookahead==="/"},_L={'"':"double-quote","'":"single-quote","/":"forward slash"}});var NU=(Z)=>`Private type references should not include '#'. Use '${Z}' instead.`,e4="Optional definitions like 'string?' are only valid as properties in an object or tuple",Z9="Defaultable definitions like 'number = 0' are only valid as properties in an object or tuple";var Y1,jU=(Z,X)=>Z===">"?X[0]==="="?X[1]==="=":X.trimStart()===""||L0(X.trimStart()[0],Y1):Z==="="?X[0]!=="=":Z===","||Z==="?";var y2=O(()=>{E();Y1={"<":1,">":1,"=":1,"|":1,"&":1,")":1,"[":1,"%":1,",":1,":":1,"?":1,"#":1,...C1}});var EU=(Z,X,Q)=>bU(Z,X,Q,[]),bU=(Z,X,Q,U)=>{let J=Q.parseUntilFinalizer();if(U.push(J.root),J.finalizer===">"){if(U.length!==X.params.length)return Q.error(d8(Z,X.names,U.map((q)=>q.expression)));return U}if(J.finalizer===",")return bU(Z,X,Q,U);return J.error(b4(">"))},d8=(Z,X,Q)=>`${Z}<${X.join(", ")}> requires exactly ${X.length} args (got ${Q.length}${Q.length===0?"":`: ${Q.join(", ")}`})`;var IU=O(()=>{E()});var X9=(Z)=>{let X=Z.scanner.shiftUntilLookahead(Y1);if(X==="keyof")Z.addPrefix("keyof");else Z.root=zL(Z,X)},HL=(Z,X,Q)=>{if(Q.scanner.shiftUntilNonWhitespace(),Q.scanner.shift()!=="<")return Q.error(d8(Z,X.names,[]));let J=EU(Z,X,Q);return X(...J)},zL=(Z,X)=>FL(Z,X)??BL(Z,X)??Z.error(X===""?Z.scanner.lookahead==="#"?NU(Z.shiftedBy(1).scanner.shiftUntilLookahead(Y1)):c8(Z):x8(X)),FL=(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(b(Q,"root"))return Q;if(Q===void 0)return;if(b(Q,"generic"))return HL(X,Q,Z);return M(`Unexpected resolution ${y(Q)}`)},BL=(Z,X)=>{let Q=xQ(X);if(Q!==void 0)return Z.ctx.$.node("unit",{unit:Q});let U=mQ(X);if(U!==void 0)return Z.ctx.$.node("unit",{unit:U})},c8=(Z)=>{let X=Z.previousOperator();return X?i8(X,Z.scanner.unscanned):ML(Z.scanner.unscanned)},i8=(Z,X="")=>`Token '${Z}' requires a right operand${X?` before '${X}'`:""}`,ML=(Z)=>`Expected an expression${Z?` before '${Z}'`:""}`;var s8=O(()=>{q0();E();y2();IU()});var a8=(Z)=>Z.scanner.lookahead===""?Z.error(c8(Z)):Z.scanner.lookahead==="("?Z.shiftedBy(1).reduceGroupOpen():Z.scanner.lookaheadIsIn(PU)?t4(Z,Z.scanner.shift()):Z.scanner.lookaheadIsIn(C1)?a8(Z.shiftedBy(1)):Z.scanner.lookahead==="d"?Z.scanner.nextLookahead in l8?t4(Z,`${Z.scanner.shift()}${Z.scanner.shift()}`):X9(Z):Z.scanner.lookahead==="x"?Z.scanner.nextLookahead==="/"?Z.shiftedBy(2)&&t4(Z,"x/"):X9(Z):X9(Z);var fU=O(()=>{E();CU();s8()});var kU,yU,g2,gU=(Z,X)=>`Left bounds are only valid when paired with right bounds (try ...${X}${Z})`,Q9=(Z)=>`Left-bounded expressions must specify their limits using < or <= (was ${Z})`,vU=(Z,X,Q,U)=>`An expression may have at most one left bound (parsed ${Z}${g2[X]}, ${Q}${g2[U]})`;var r8=O(()=>{kU={">":!0,">=":!0},yU={"<":!0,"<=":!0},g2={"<":">",">":"<","<=":">=",">=":"<=","==":"=="}});var hU=(Z,X)=>{let Q=OL(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 KL(Z,Q)},mU,OL=(Z,X)=>Z.scanner.lookaheadIs("=")?`${X}${Z.scanner.shift()}`:X,xU=(Z,X,Q,U)=>{if(Q.extends(R.intrinsic.number)){if(typeof X!=="number")return M(o8(Z,X,U));return Z==="=="?["min","max"]:Z[0]===">"?["min"]:["max"]}if(Q.extends(R.intrinsic.lengthBoundable)){if(typeof X!=="number")return M(o8(Z,X,U));return Z==="=="?["exactLength"]:Z[0]===">"?["minLength"]:["maxLength"]}if(Q.extends(R.intrinsic.Date))return Z==="=="?["after","before"]:Z[0]===">"?["after"]:["before"];return M(H5(Q.expression))},RL=(Z)=>({rule:TU(Z.limit)?DU(Z.limit):Z.limit,exclusive:Z.comparator.length===1}),KL=(Z,X)=>{let Q=Z.unsetRoot(),U=Z.scanner.location;Z.parseOperand();let J=Z.unsetRoot(),q=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(o8(X,q,"right"));let Y=J.unit,W=X.length===1,$=xU(X,typeof Y==="number"?Y:q,Q,"right");for(let _ of $)Z.constrainRoot(_,X==="=="?{rule:Y}:{rule:Y,exclusive:W});if(!Z.branches.leftBound)return;if(!L0(X,yU))return Z.error(Q9(X));let L=xU(Z.branches.leftBound.comparator,Z.branches.leftBound.limit,Q,"left");Z.constrainRoot(L[0],RL(Z.branches.leftBound)),Z.branches.leftBound=null},o8=(Z,X,Q)=>`Comparator ${Q==="left"?g2[Z]:Z} must be ${Q==="left"?"preceded":"followed"} by a corresponding literal (was ${X})`;var uU=O(()=>{q0();E();r8();p8();mU={"<":1,">":1,"=":1}});var pU=(Z)=>{Z.scanner.shiftUntilNonWhitespace();let X=Z.scanner.shiftUntilLookahead(Y1);Z.root=Z.root.brand(X)};var lU=O(()=>{y2()});var cU=(Z)=>{Z.scanner.shiftUntilNonWhitespace();let X=Z.scanner.shiftUntilLookahead(Y1),Q=hQ(X,{errorOnFail:dU(X)});if(Q===0)Z.error(dU(0));Z.root=Z.root.constrain("divisor",Q)},dU=(Z)=>`% operator must be followed by a non-zero integer literal (was ${Z})`;var iU=O(()=>{E();y2()});var n8=(Z)=>{let X=Z.scanner.shift();return X===""?Z.finalize(""):X==="["?Z.scanner.shift()==="]"?Z.setRoot(Z.root.array()):Z.error(TL):X==="|"?Z.scanner.lookahead===">"?Z.shiftedBy(1).pushRootToBranch("|>"):Z.pushRootToBranch(X):X==="&"?Z.pushRootToBranch(X):X===")"?Z.finalizeGroup():jU(X,Z.scanner.unscanned)?Z.finalize(X):L0(X,mU)?hU(Z,X):X==="%"?cU(Z):X==="#"?pU(Z):(X in C1)?n8(Z):Z.error(U9(X))},U9=(Z,X="")=>`'${Z}' is not allowed here${X&&` (should be ${X})`}`,TL="Missing expected ']'";var t8=O(()=>{E();y2();uU();lU();iU()});var sU=(Z)=>{let X=Z.unsetRoot();Z.parseOperand();let Q=Z.unsetRoot();if(!Q.hasKind("unit"))return Z.error(DL(Q.expression));let U=Q.unit instanceof Date?()=>new Date(Q.unit):Q.unit;return[X,"=",U]},DL=(Z)=>`Default value '${Z}' must be a literal value`;var e8=(Z,X)=>{let Q=X.$.maybeResolveRoot(Z);if(Q)return Q;if(Z.endsWith("[]")){let q=X.$.maybeResolveRoot(Z.slice(0,-2));if(q)return q.array()}let U=new v2(new T6(Z),X),J=wL(U);if(U.finalizer===">")M(U9(">"));return J},wL=(Z)=>{Z.parseOperand();let X=h6(Z).root;if(!X)return u(`Root was unexpectedly unset after parsing string '${Z.scanner.scanned}'`);if(Z.finalizer==="=")X=sU(Z);else if(Z.finalizer==="?")X=[X,"?"];if(Z.scanner.shiftUntilNonWhitespace(),Z.scanner.lookahead)M(U9(Z.scanner.lookahead));return X},h6=(Z)=>{while(Z.finalizer===void 0)PL(Z);return Z},PL=(Z)=>Z.hasRoot()?Z.parseOperator():Z.parseOperand();var J9=O(()=>{E();ZX();t8()});class v2{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(b4(")"));this.finalizeBranches(),this.finalizer=Z}reduceLeftBound(Z,X){let Q=g2[X];if(!L0(Q,kU))return this.error(Q9(X));if(this.branches.leftBound)return this.error(vU(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(iQ(")",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():u(`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 h6(new v2(this.scanner,this.ctx))}parseOperator(){return n8(this)}parseOperand(){return a8(this)}assertRangeUnset(){if(this.branches.leftBound)return this.error(gU(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 ZX=O(()=>{E();fU();t8();J9();r8()});var AL="An empty string is not a valid generic parameter name",q9=(Z,X,Q)=>{Z.shiftUntilNonWhitespace();let U=Z.shiftUntilLookahead(Y1);if(U===""){if(Z.lookahead===""&&X.length)return X;return M(AL)}return Z.shiftUntilNonWhitespace(),SL(Z,U,X,Q)},aU="extends ",SL=(Z,X,Q,U)=>{if(Z.shiftUntilNonWhitespace(),Z.unscanned.startsWith(aU))Z.jumpForward(aU.length);else{if(Z.lookahead===",")Z.shift();return Q.push(X),q9(Z,Q,U)}let J=h6(new v2(Z,U));return Q.push([X,J.root]),q9(Z,Q,U)};var XX=O(()=>{q0();E();ZX();y2();J9()});var QX,rU,CL=`":" must be followed by exactly one return type e.g:
46
- fn("string", ":", "number")(s => s.length)`;var oU=O(()=>{E();QX=class QX extends S0{constructor(Z){let X={$:Z,raw:Z.fn};super((...Q)=>{let U=Q.indexOf(":"),J=U===-1?Q.length-1:U-1,q=Q.slice(0,J+1),Y=Z.parse(q).assertHasKind("intersection"),W=Z.intrinsic.unknown;if(U!==-1){if(U!==Q.length-2)return M(CL);W=Z.parse(Q[U+1])}return($)=>new rU($,Y,W)},{attach:X})}};rU=class rU extends S0{raw;params;returns;expression;constructor(Z,X,Q){let U=`typed ${Z.name}`,J={[U]:(...Y)=>{let W=X.assert(Y),$=Z(...W);return Q.assert($)}}[U];super(J);this.raw=Z,this.params=X,this.returns=Q;let q=X.expression;if(q[0]==="["&&q[q.length-1]==="]")q=q.slice(1,-1);else if(q.endsWith("[]"))q=`...${q}`;this.expression=`(${q}) => ${Q?.expression??"unknown"}`}}});var UX,m6,nU=(Z)=>Z.throw(),NL="A key matcher must be specified before the first case i.e. match.at('foo') or match.in<object>().at('bar')",jL="At most one key matcher may be specified per expression";var tU=O(()=>{q0();E();UX=class UX extends S0{$;constructor(Z){super((...X)=>new m6(Z)(...X),{bind:Z});this.$=Z}in(Z){return new m6(this.$,Z===void 0?void 0:this.$.parse(Z))}at(Z,X){return new m6(this.$).at(Z,X)}case(Z,X){return new m6(this.$).case(Z,X)}};m6=class m6 extends S0{$;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(jL);if(this.branches.length)M(NL);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 ${$0(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:nU};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:nU},"self");return this.$.finalize(U)}}});var Y9=(Z,X)=>{if(r(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)},eU="Only required keys may make their values optional, e.g. { [mySymbol]: ['number', '?'] }",Z7="Only required keys may specify default values, e.g. { value: 'number = 0' }";var JX=O(()=>{E();qX()});var X7=(Z,X)=>{let Q,U={},J=t1(Z);for(let[Y,W]of J){let $=IL(Y);if($.kind==="spread"){if(!U1(U))return M(bL);let z=X.$.parseOwnDefinitionFormat(W,X);if(z.equals(I.object))continue;if(!z.hasKind("intersection")||!z.basis?.equals(I.object))return M(fL(z.expression));Q=z.structure;continue}if($.kind==="undeclared"){if(W!=="reject"&&W!=="delete"&&W!=="ignore")M(EL(W));U.undeclared=W;continue}let L=Y9(W,X),_=$;if($.kind==="required"){if(!r(L))YX(U,"required",{key:$.normalized,value:L},X);else YX(U,"optional",L[1]==="="?{key:$.normalized,value:L[0],default:L[2]}:{key:$.normalized,value:L[0]},X);continue}if(r(L)){if(L[1]==="?")M(eU);if(L[1]==="=")M(Z7)}if($.kind==="optional"){YX(U,"optional",{key:$.normalized,value:L},X);continue}let G=X.$.parseOwnDefinitionFormat(_.normalized,X),V=a4(G,L,X.$);if(V.index)U.index=m(U.index,V.index);if(V.required)U.required=m(U.required,V.required)}let q=X.$.node("structure",U);return X.$.parseSchema({domain:"object",structure:Q?.merge(q)??q})},YX=(Z,X,Q,U)=>{Z[X]=m(Z[X],U.$.node(X,Q))},EL=(Z)=>`Value of '+' key must be 'reject', 'delete', or 'ignore' (was ${y(Z)})`,bL="Spread operator may only be used as the first key in an object",IL=(Z)=>typeof Z==="symbol"?{kind:"required",normalized:Z}:Z[Z.length-1]==="?"?Z[Z.length-2]===Z2?{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]===Z2&&Z[1]==="["&&Z[Z.length-1]==="]"?{kind:"required",normalized:Z.slice(1)}:Z==="..."?{kind:"spread"}:Z==="+"?{kind:"undeclared"}:{kind:"required",normalized:Z==="\\..."?"...":Z==="\\+"?"+":Z},fL=(Z)=>`Spread operand must resolve to an object literal type (was ${Z})`;var Q7=O(()=>{q0();E();JX()});var J7=(Z,X)=>lL(Z)?$7[Z[0]](Z,X):uL(Z)?W7[Z[1]](Z,X):null,kL=(Z,X)=>X.$.parseOwnDefinitionFormat(Z[1],X).keyof(),WX=(Z,X)=>{if(Z[2]===void 0)return M(i8(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]==="&"?j0(Q,U,X.$):C6(Q,U,X.$);if(J instanceof A)return J.throw();return J},yL=(Z,X)=>X.$.parseOwnDefinitionFormat(Z[0],X).array(),gL=(Z,X)=>{if(typeof Z[2]!=="function")return M(q7("=>",Z[2]));return X.$.parseOwnDefinitionFormat(Z[0],X).pipe(Z[2])},q7=(Z,X)=>`${Z===":"?"Narrow":"Morph"} expression requires a function following '${Z}' (was ${typeof X})`,vL=(Z,X)=>{if(typeof Z[2]!=="function")return M(q7(":",Z[2]));return X.$.parseOwnDefinitionFormat(Z[0],X).constrain("predicate",Z[2])},xL=(Z,X)=>X.$.parseOwnDefinitionFormat(Z[0],X).configure(Z[2],Z[3]),Y7=(Z)=>Z,hL,mL,W7,uL=(Z)=>W7[Z[1]]!==void 0,pL=(Z)=>Z,$7,lL=(Z)=>$7[Z[0]]!==void 0,U7=(Z)=>`Expected a constructor following 'instanceof' operator (was ${Z})`;var L7=O(()=>{q0();E();s8();hL=Y7({"[]":yL,"?":()=>M(e4)}),mL=Y7({"|":WX,"&":WX,":":vL,"=>":gL,"|>":WX,"@":xL,"=":()=>M(Z9)}),W7={...hL,...mL},$7=pL({keyof:kL,instanceof:(Z,X)=>{if(typeof Z[1]!=="function")return M(U7(H6(Z[1])));let Q=Z.slice(1).map((U)=>typeof U==="function"?X.$.node("proto",{proto:U}):M(U7(H6(U))));return Q.length===1?Q[0]:X.$.node("union",{branches:Q})},"===":(Z,X)=>X.$.units(Z.slice(1))})});var V7=(Z,X)=>{let Q=[{}],U=0;while(U<Z.length){let J=!1;if(Z[U]==="..."&&U<Z.length-1)J=!0,U++;let q=Y9(Z[U],X),[Y,W,$]=!r(q)?[q]:q;if(U++,J){if(!Y.extends(R.intrinsic.Array))return M(iL(Y.expression));Q=Q.flatMap((L)=>Y.distribute((_)=>cL(f4(L),_)))}else Q=Q.map((L)=>{if(W==="?")return H7(L,Y);if(W==="=")return dL(L,Y,$);return $X(L,Y)})}return X.$.parseSchema(Q.map((J)=>U1(J)?{proto:Array,exactLength:0}:{proto:Array,sequence:J}))},$X=(Z,X)=>{if(Z.defaultables||Z.optionals)return M(Z.variadic?N8:sL);if(Z.variadic)Z.postfix=m(Z.postfix,X);else Z.prefix=m(Z.prefix,X);return Z},H7=(Z,X)=>{if(Z.variadic)return M(z7);return Z.optionals=m(Z.optionals,X),Z},dL=(Z,X,Q)=>{if(Z.variadic)return M(z7);if(Z.optionals)return M(aL);return Z.defaultables=m(Z.defaultables,[[X,Q]]),Z},G7=(Z,X)=>{if(Z.postfix)M(_7);if(Z.variadic){if(!Z.variadic.equals(X))M(_7)}else Z.variadic=X.internal;return Z},cL=(Z,X)=>{let Q=X.select({method:"find",kind:"sequence"});if(!Q)return G7(Z,R.intrinsic.unknown);if(Q.prefix)for(let U of Q.prefix)$X(Z,U);if(Q.optionals)for(let U of Q.optionals)H7(Z,U);if(Q.variadic)G7(Z,Q.variadic);if(Q.postfix)for(let U of Q.postfix)$X(Z,U);return Z},iL=(Z)=>`Spread element must be an array (was ${Z})`,_7="A tuple may have at most one variadic element",sL="A required element may not follow an optional element",z7="An optional element may not follow a variadic element",aL="A defaultable element may not follow an optional element without a default";var F7=O(()=>{q0();E();JX()});var rL,W9=(Z,X)=>{if(typeof Z==="string"){if(X.args&&Object.keys(X.args).some((U)=>Z.includes(U)))return e8(Z,X);let Q=rL[X.$.name]??={};return Q[Z]??=e8(Z,X)}return w0(Z,"object")?oL(Z,X):M(LX($0(Z)))},oL=(Z,X)=>{let Q=V6(Z);switch(Q){case void 0:if(b(Z,"root"))return Z;if("~standard"in Z)return nL(Z,X);return X7(Z,X);case"Array":return tL(Z,X);case"RegExp":return X.$.node("intersection",{domain:"string",pattern:Z},{prereduced:!0});case"Function":{let U=S1(Z)?Z():Z;if(b(U,"root"))return U;return M(LX("Function"))}default:return M(LX(Q??y(Z)))}},nL=(Z,X)=>X.$.intrinsic.unknown.pipe((Q,U)=>{let J=Z["~standard"].validate(Q);if(!J.issues)return J.value;for(let{message:q,path:Y}of J.issues)if(Y)if(Y.length)U.error({problem:bQ(q),relativePath:Y.map((W)=>typeof W==="object"?W.key:W)});else U.error({message:q});else U.error({message:q})}),tL=(Z,X)=>J7(Z,X)??V7(Z,X),LX=(Z)=>`Type definitions must be strings or objects (was ${Z})`;var qX=O(()=>{q0();E();Q7();J9();L7();F7();rL={}});var GX;var _X=O(()=>{q0();E();GX=class GX extends S0{constructor(Z){let X=Object.assign({errors:C0,hkt:z0,$: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 f1(J,Q[1],Z,Z,null)}return Z.parse(Q)},{attach:X})}}});var x2,$9,u6,h;var n0=O(()=>{q0();E();oU();XX();tU();qX();_X();x2=R;$9=class $9 extends r4{get ambientAttachments(){if(!x2.typeAttachments)return;return this.cacheGetter("ambientAttachments",k(x2.typeAttachments,(Z,X)=>[Z,this.bindReference(X)]))}preparseOwnAliasEntry(Z,X){let Q=Z.indexOf("<");if(Q===-1){if(b(X,"module")||b(X,"generic"))return[Z,X];let q=this.name==="ark"?Z:Z==="root"?this.name:`${this.name}.${Z}`,Y=this.resolvedConfig.keywords?.[q];if(Y)X=[X,"@",Y];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 q=this.parseGenericParams(J,{alias:U});return G5(q,X,this)}]}parseGenericParams(Z,X){return q9(new T6(Z),[],this.createParseContext({...X,def:Z,prefix:"generic"}))}normalizeRootScopeValue(Z){if(S1(Z)&&!b(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(r(U)){if(U[1]==="=")return M(Z9);if(U[1]==="?")return M(e4)}return U}unit=(Z)=>this.units([Z]);valueOf=(Z)=>this.units(FQ(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 QX(this);match=new UX(this);declare=()=>({type:this.type});define(Z){return Z}type=new GX(this);static scope=(Z,X={})=>new $9(Z,X);static module=(Z,X={})=>this.scope(Z,X).export()};u6=Object.assign($9.scope,{define:(Z)=>Z}),h=$9});var B7,eL,M7;var O7=O(()=>{q0();E();n0();B7=class B7 extends z0{description='merge an object\'s properties onto another like `Merge(User, { isAdmin: "true" })`'};eL=u0(["base",I.object],["props",I.object])((Z)=>Z.base.merge(Z.props),B7),M7=h.module({Key:I.key,Merge:eL})});var R7,ZG,K7;var T7=O(()=>{q0();E();n0();R7=class R7 extends z0{};ZG=u0("element")((Z)=>{let X=Z.element.exclude(I.Array),Q=X.array();return X.rawOr(Q).pipe(A1).distribute((U)=>U.assertHasKind("morph").declareOut(Q),c)},R7),K7=h.module({root:I.Array,readonly:"root",index:I.nonNegativeIntegerString,liftFrom:ZG},{name:"Array"})});var VX,XG,D7,w7;var P7=O(()=>{q0();E();n0();VX=c(["string",X2.FileConstructor]),XG=VX.rawOr(VX.array()),D7=c({meta:"an object representing parsed form data",domain:"object",index:{signature:"string",value:XG}}),w7=h.module({root:["instanceof",FormData],value:VX,parsed:D7,parse:c({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 X2.FileConstructor)X[Q]=[J,U];else J.push(U)}else X[Q]=U;return X},declaredOut:D7})},{name:"FormData"})});var A7;var S7=O(()=>{n0();A7=h.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 QG,C7;var N7=O(()=>{E();n0();T7();P7();S7();QG={Boolean:1,Number:1,String:1},C7=h.module({...k({...OZ,...KZ},(Z,X)=>(Z in QG)?[]:[Z,["instanceof",X]]),Array:K7,TypedArray:A7,FormData:w7})});var UG,JG,L9;var HX=O(()=>{q0();n0();UG=c({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"}),JG=c({domain:"number",divisor:1}),L9=h.module({root:I.number,integer:JG,epoch:UG,safe:c({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 e=(Z,X,Q)=>{let U={domain:"string",pattern:{rule:Z.source,flags:Z.flags,meta:X}};if(Q)U.meta={format:Q};return k2("intersection",U)},j7,u7,qG,YG,E7,WG,$G=(Z)=>{let X=Z.replace(/[ -]+/g,""),Q=0,U,J,q=!1;for(let Y=X.length-1;Y>=0;Y--){if(U=X.substring(Y,Y+1),J=Number.parseInt(U,10),q)J*=2,Q+=J>=10?J%10+1:J;else Q+=J;q=!q}return!!(Q%10===0?X:!1)},LG,GG,_G,VG=(Z)=>!Number.isNaN(new Date(Z).valueOf()),b7,I7,HG,f7,zG,FG,BG,k7="(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])",y1,MG,Y0="(?:[0-9a-fA-F]{1,4})",OG,RG,h2="a JSON string",p7=(Z)=>{if(!(Z instanceof SyntaxError))throw Z;return`must be ${h2} (${Z})`},KG,TG=(Z,X)=>{if(Z.length===0)return X.error({code:"predicate",expected:h2,actual:"empty"});try{return JSON.parse(Z)}catch(Q){return X.error({code:"predicate",expected:h2,problem:p7(Q)})}},DG,y7,wG,l7,p6,G9,PG,AG,SG,CG,NG,g7,jG,v7="a regex pattern",EG,bG,IG,x7,fG,h7,kG,yG=(Z)=>URL.canParse(Z),m7,gG,vG,d7;var c7=O(()=>{q0();E();n0();HX();j7=e(B6,"a well-formed integer string"),u7=h.module({root:j7,parse:c({in:j7,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"}),qG=e(/^[\dA-Fa-f]+$/,"hex characters only"),YG=h.module({root:e(/^(?:[\d+/A-Za-z]{4})*(?:[\d+/A-Za-z]{2}==|[\d+/A-Za-z]{3}=)?$/,"base64-encoded"),url:e(/^(?:[\w-]{4})*(?:[\w-]{2}(?:==|%3D%3D)?|[\w-]{3}(?:=|%3D)?)?$/,"base64url-encoded")},{name:"string.base64"}),E7=e(/^[A-Z].*$/,"capitalized"),WG=h.module({root:c({in:"string",morphs:(Z)=>Z.charAt(0).toUpperCase()+Z.slice(1),declaredOut:E7}),preformatted:E7},{name:"string.capitalize"}),LG=/^(?: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}))$/,GG=c({domain:"string",pattern:{meta:"a credit card number",rule:LG.source},predicate:{meta:"a credit card number",predicate:$G}}),_G=/^([+-]?\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)?)?)?)?$/,b7=c({domain:"string",predicate:{meta:"a parsable date",predicate:VG}}).assertHasKind("intersection"),I7=u7.root.internal.narrow((Z,X)=>{let Q=Number.parseInt(Z),U=L9.epoch(Q);if(U instanceof C0)return X.errors.merge(U),!1;return!0}).configure({description:"an integer string representing a safe Unix timestamp"},"self").assertHasKind("intersection"),HG=h.module({root:I7,parse:c({in:I7,morphs:(Z)=>new Date(Z),declaredOut:I.Date})},{name:"string.date.epoch"}),f7=e(_G,"an ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ) date").internal.assertHasKind("intersection"),zG=h.module({root:f7,parse:c({in:f7,morphs:(Z)=>new Date(Z),declaredOut:I.Date})},{name:"string.date.iso"}),FG=h.module({root:b7,parse:c({declaredIn:b7,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:zG,epoch:HG},{name:"string.date"}),BG=e(/^[\w%+.-]+@[\d.A-Za-z-]+\.[A-Za-z]{2,}$/,"an email address","email"),y1=`(${k7}[.]){3}${k7}`,MG=new RegExp(`^${y1}$`),OG=new RegExp(`^((?:${Y0}:){7}(?:${Y0}|:)|(?:${Y0}:){6}(?:${y1}|:${Y0}|:)|(?:${Y0}:){5}(?::${y1}|(:${Y0}){1,2}|:)|(?:${Y0}:){4}(?:(:${Y0}){0,1}:${y1}|(:${Y0}){1,3}|:)|(?:${Y0}:){3}(?:(:${Y0}){0,2}:${y1}|(:${Y0}){1,4}|:)|(?:${Y0}:){2}(?:(:${Y0}){0,3}:${y1}|(:${Y0}){1,5}|:)|(?:${Y0}:){1}(?:(:${Y0}){0,4}:${y1}|(:${Y0}){1,6}|:)|(?::((?::${Y0}){0,5}:${y1}|(?::${Y0}){1,7}|:)))(%[0-9a-zA-Z.]{1,})?$`),RG=h.module({root:["v4 | v6","@","an IP address"],v4:e(MG,"an IPv4 address","ipv4"),v6:e(OG,"an IPv6 address","ipv6")},{name:"string.ip"}),KG=c({meta:h2,domain:"string",predicate:{meta:h2,predicate:(Z,X)=>{try{return JSON.parse(Z),!0}catch(Q){return X.reject({code:"predicate",expected:h2,problem:p7(Q)})}}}}),DG=h.module({root:KG,parse:c({meta:"safe JSON string parser",in:"string",morphs:TG,declaredOut:I.jsonObject})},{name:"string.json"}),y7=e(/^[a-z]*$/,"only lowercase letters"),wG=h.module({root:c({in:"string",morphs:(Z)=>Z.toLowerCase(),declaredOut:y7}),preformatted:y7},{name:"string.lower"}),l7=["NFC","NFD","NFKC","NFKD"],p6=k(l7,(Z,X)=>[X,c({domain:"string",predicate:(Q)=>Q.normalize(X)===Q,meta:`${X}-normalized unicode`})]),G9=k(l7,(Z,X)=>[X,c({in:"string",morphs:(Q)=>Q.normalize(X),declaredOut:p6[X]})]),PG=h.module({root:G9.NFC,preformatted:p6.NFC},{name:"string.normalize.NFC"}),AG=h.module({root:G9.NFD,preformatted:p6.NFD},{name:"string.normalize.NFD"}),SG=h.module({root:G9.NFKC,preformatted:p6.NFKC},{name:"string.normalize.NFKC"}),CG=h.module({root:G9.NFKD,preformatted:p6.NFKD},{name:"string.normalize.NFKD"}),NG=h.module({root:"NFC",NFC:PG,NFD:AG,NFKC:SG,NFKD:CG},{name:"string.normalize"}),g7=e(N4,"a well-formed numeric string"),jG=h.module({root:g7,parse:c({in:g7,morphs:(Z)=>Number.parseFloat(Z),declaredOut:I.number})},{name:"string.numeric"}),EG=c({domain:"string",predicate:{meta:v7,predicate:(Z,X)=>{try{return new RegExp(Z),!0}catch(Q){return X.reject({code:"predicate",expected:v7,problem:String(Q)})}}},meta:{format:"regex"}}),bG=/^(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-]+)*))?$/,IG=e(bG,"a semantic version (see https://semver.org/)"),x7=e(/^\S.*\S$|^\S?$/,"trimmed"),fG=h.module({root:c({in:"string",morphs:(Z)=>Z.trim(),declaredOut:x7}),preformatted:x7},{name:"string.trim"}),h7=e(/^[A-Z]*$/,"only uppercase letters"),kG=h.module({root:c({in:"string",morphs:(Z)=>Z.toUpperCase(),declaredOut:h7}),preformatted:h7},{name:"string.upper"}),m7=c({domain:"string",predicate:{meta:"a URL string",predicate:yG},meta:{format:"uri"}}),gG=h.module({root:m7,parse:c({declaredIn:m7,in:"string",morphs:(Z,X)=>{try{return new URL(Z)}catch{return X.error("a URL string")}},declaredOut:c(URL)})},{name:"string.url"}),vG=h.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:e(/^[\da-f]{8}-[\da-f]{4}-1[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv1"),v2:e(/^[\da-f]{8}-[\da-f]{4}-2[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv2"),v3:e(/^[\da-f]{8}-[\da-f]{4}-3[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv3"),v4:e(/^[\da-f]{8}-[\da-f]{4}-4[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv4"),v5:e(/^[\da-f]{8}-[\da-f]{4}-5[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv5"),v6:e(/^[\da-f]{8}-[\da-f]{4}-6[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv6"),v7:e(/^[\da-f]{8}-[\da-f]{4}-7[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv7"),v8:e(/^[\da-f]{8}-[\da-f]{4}-8[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv8")},{name:"string.uuid"}),d7=h.module({root:I.string,alpha:e(/^[A-Za-z]*$/,"only letters"),alphanumeric:e(/^[\dA-Za-z]*$/,"only letters and digits 0-9"),hex:qG,base64:YG,capitalize:WG,creditCard:GG,date:FG,digits:e(/^\d*$/,"only digits 0-9"),email:BG,integer:u7,ip:RG,json:DG,lower:wG,normalize:NG,numeric:jG,regex:EG,semver:IG,trim:fG,upper:kG,url:gG,uuid:vG},{name:"string"})});var i7,s7,xG,a7,r7,hG,o7,mG,n7,uG,t7,pG,e7,lG,ZJ,dG,XJ,cG,QJ;var UJ=O(()=>{q0();E();n0();i7=h.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}),s7=h.module({root:I.unknown,any:I.unknown},{name:"unknown"}),xG=h.module({root:I.jsonObject,stringify:k2("morph",{in:I.jsonObject,morphs:(Z)=>JSON.stringify(Z),declaredOut:I.string})},{name:"object.json"}),a7=h.module({root:I.object,json:xG},{name:"object"});r7=class r7 extends z0{description='instantiate an object from an index signature and corresponding value type like `Record("string", "number")`'};hG=u0(["K",I.key],"V")((Z)=>({domain:"object",index:{signature:Z.K,value:Z.V}}),r7);o7=class o7 extends z0{description='pick a set of properties from an object like `Pick(User, "name | age")`'};mG=u0(["T",I.object],["K",I.key])((Z)=>Z.T.pick(Z.K),o7);n7=class n7 extends z0{description='omit a set of properties from an object like `Omit(User, "age")`'};uG=u0(["T",I.object],["K",I.key])((Z)=>Z.T.omit(Z.K),n7);t7=class t7 extends z0{description="make all named properties of an object optional like `Partial(User)`"};pG=u0(["T",I.object])((Z)=>Z.T.partial(),t7);e7=class e7 extends z0{description="make all named properties of an object required like `Required(User)`"};lG=u0(["T",I.object])((Z)=>Z.T.required(),e7);ZJ=class ZJ extends z0{description='exclude branches of a union like `Exclude("boolean", "true")`'};dG=u0("T","U")((Z)=>Z.T.exclude(Z.U),ZJ);XJ=class XJ extends z0{description='extract branches of a union like `Extract("0 | false | 1", "number")`'};cG=u0("T","U")((Z)=>Z.T.extract(Z.U),XJ),QJ=h.module({Exclude:dG,Extract:cG,Omit:uG,Partial:pG,Pick:mG,Record:hG,Required:lG})});var K1,G0,i,iG,sG,aG,_b,rG,oG;var JJ=O(()=>{n0();O7();N7();HX();c7();UJ();K1=u6({...i7,...QJ,...C7,...M7,string:d7,number:L9,object:a7,unknown:s7},{prereducedAliases:!0,name:"ark"}),G0=K1.export();Object.assign(x2.ambient,G0);x2.typeAttachments={string:G0.string.root,number:G0.number.root,bigint:G0.bigint,boolean:G0.boolean,symbol:G0.symbol,undefined:G0.undefined,null:G0.null,object:G0.object.root,unknown:G0.unknown.root,false:G0.false,true:G0.true,never:G0.never,arrayIndex:G0.Array.index,Key:G0.Key,Record:G0.Record,Array:G0.Array.root,Date:G0.Date};i=Object.assign(K1.type,x2.typeAttachments),iG=K1.match,sG=K1.fn,aG=K1.generic,_b=K1.schema,rG=K1.define,oG=K1.declare});var qJ=O(()=>{q0()});var zX=O(()=>{q0();E();OU();XX();JJ();qJ();n0();_X();RU()});class E0{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(_9.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(_9.NESTED_PROPERTY_ACCESS.test(Z))return this.getNestedValue(Z,X);if(_9.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 YJ){let J=`${U}.${Z}`,q=this.getNestedValue(J,X);if(q!==void 0)return q}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(_9.WORD_BOUNDARY,(U)=>{if(tG.includes(U))return U;if(YJ.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 nG,YJ,p0,tG,_9;var V9=O(()=>{nG={DATA:"data",VARS:"vars",REQUEST:"request",COMPUTED:"computed",ENV:"env",STATE:"state",EVENT:"event",TIMESTAMP:"timestamp"},YJ=new Set(Object.values(nG)),p0={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=[p0.RANDOM,p0.FLOOR,p0.CEIL,p0.ROUND,p0.SQRT,p0.ABS,p0.POW,p0.MIN,p0.MAX,p0.SIN,p0.COS,p0.TAN],_9={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}});class FX{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 B0{static instance;state;persistence;constructor(){this.state={},this.persistence=new FX}static getInstance(){if(!B0.instance)B0.instance=new B0;return B0.instance}setPersistence(Z){this.persistence=Z}async initialize(){let Z=await this.persistence.loadState();if(Z instanceof Map)this.state=Object.fromEntries(Z);else this.state=Z||{};console.log(`[StateManager] Initialized with ${Object.keys(this.state).length} root keys.`)}get(Z){return this.state[Z]}async set(Z,X){this.state[Z]=X,await this.persistence.saveState(Z,X)}async increment(Z,X=1){let Q=this.state[Z]||0,U=Number(Q)+X;return this.state[Z]=U,await this.persistence.saveState(Z,U),U}async decrement(Z,X=1){return this.increment(Z,-X)}async delete(Z){if(Z in this.state)return delete this.state[Z],await this.persistence.deleteState(Z),!0;return!1}async clear(){this.state={},await this.persistence.clearState()}async applyConfig(Z){if(!Z.state)return;for(let[X,Q]of Object.entries(Z.state))if(typeof Q!=="object"||Q===null||!("value"in Q)){if(this.state[X]===void 0)await this.set(X,Q)}else{let U=Q;if(this.state[X]===void 0)await this.set(X,U.value);if(U.lifecycle?.ttl)this.setupTTL(X,U.lifecycle.ttl)}}setupTTL(Z,X){let Q=0;if(typeof X==="number")Q=X;else{let U=X.match(/^(\d+)([smhd])$/);if(U&&U[1]&&U[2]){let J=parseInt(U[1]),q=U[2];Q=J*({s:1000,m:60000,h:3600000,d:86400000}[q]||0)}}if(Q>0)setTimeout(()=>{this.delete(Z).catch(console.error)},Q)}getAll(){return{...this.state}}getLiveProxy(){let Z=this;function X(Q,U=[]){return new Proxy(Q,{get(J,q){let Y=J[q];if(Y&&typeof Y==="object"&&!Array.isArray(Y))return X(Y,[...U,q]);return Y},set(J,q,Y){if(typeof q!=="string")return!1;J[q]=Y;let W=U.length>0?U[0]:q;if(W)Z.persistence.saveState(W,Z.state[W]);return!0}})}return X(this.state)}}var l6=()=>{};var BX={};oY(BX,{BuiltInAction:()=>K0,ActionRegistry:()=>d6});class d6{static instance;actions=new Map;constructor(Z=!0){if(Z)this.registerDefaults()}static getInstance(Z=!0){if(!this.instance)this.instance=new d6(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(K0.LOG,{description:"Logs a message to the console with string interpolation support",params:i({"message?":"string","content?":"string"}),returns:i({message:"string"}),handler:(Z,X)=>{let Q=Z.params?.message||Z.params?.content||"Log Trigger",U=typeof Q==="string"?E0.interpolate(Q,X):String(Q);return console.log(`[TriggerLog] ${U}`),{message:U}}}),this.register(K0.MATH,{description:"Evaluates a mathematical expression or performs string concatenation",params:i({expression:"string"}),returns:i("number | string"),handler:(Z,X)=>{let Q=String(Z.params?.expression||"0");return E0.evaluate(Q,X)}}),this.register(K0.RESPONSE,{description:"Constructs a standardized response object (useful for webhooks/APIs)",params:i({"content?":"string","body?":"string","statusCode?":"number","headers?":"Record<string, string>"}),returns:i({statusCode:"number",headers:"Record<string, string>",body:"string"}),handler:(Z,X)=>{let Q=Z.params?.content||Z.params?.body||"",U=typeof Q==="string"?E0.interpolate(Q,X):String(Q);return{statusCode:Z.params?.statusCode||200,headers:Z.params?.headers||{"Content-Type":"application/json"},body:U}}}),this.register(K0.EXECUTE,{description:"Spawns a shell command and returns the output (Bun only)",params:i({"command?":"string","content?":"string","safe?":"boolean"}),returns:i({command:"string",stdout:"string",stderr:"string",exitCode:"number"}).or(i({command:"string",error:"string"})),handler:async(Z,X)=>{let Q=Z.params?.command||Z.params?.content||"",U=typeof Q==="string"?E0.interpolate(Q,X):String(Q);if(!Z.params?.safe)console.warn(`[Trigger] Executing unsafe command: ${U}`);try{if(typeof Bun>"u")return{command:U,error:"Bun is required for 'execute' action"};let J=Bun.spawn(U.split(" "),{stdout:"pipe",stderr:"pipe"}),[q,Y]=await Promise.all([new Response(J.stdout).text(),new Response(J.stderr).text()]);return{command:U,stdout:q,stderr:Y,exitCode:await J.exited}}catch(J){return{command:U,error:String(J)}}}}),this.register(K0.FORWARD,{description:"Forwards the current event data to a remote URL via HTTP",params:i({url:"string","method?":"'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE'","headers?":"Record<string, string>"}),returns:i({url:"string",method:"string",status:"number",headers:"Record<string, string>",body:"string"}).or(i({url:"string",method:"string",error:"string"})),handler:async(Z,X)=>{let Q=Z.params?.url||"",U=typeof Q==="string"?E0.interpolate(Q,X):String(Q),J=String(Z.params?.method||"POST").toUpperCase(),Y=["POST","PUT","PATCH"].includes(J);try{let W=await fetch(U,{method:J,headers:{"Content-Type":"application/json",...typeof Z.params?.headers==="object"&&Z.params.headers!==null&&!Array.isArray(Z.params.headers)?Z.params.headers:{}},...Y?{body:JSON.stringify(X.data)}:{}});return{url:U,method:J,status:W.status,headers:(()=>{let $={};return W.headers.forEach((L,_)=>$[_]=L),$})(),body:await W.text()}}catch(W){return{url:U,method:J,error:String(W)}}}}),this.register(K0.STATE_SET,{description:"Sets a value in the persistent state",params:i({key:"string",value:"unknown"}),returns:i({key:"string",value:"unknown"}),handler:async(Z,X)=>{let Q=String(Z.params?.key||""),U=Z.params?.value;if(!Q)return{error:"Missing key for STATE_SET"};let J=U;if(typeof U==="string"&&U.includes("${"))J=E0.interpolate(U,X);return await B0.getInstance().set(Q,J),{key:Q,value:J}}}),this.register(K0.STATE_INCREMENT,{description:"Increments a numeric value in the persistent state",params:i({key:"string","amount?":"number"}),returns:i({key:"string",newValue:"number"}),handler:async(Z,X)=>{let Q=String(Z.params?.key||""),U=Number(Z.params?.amount)||1;if(!Q)return{error:"Missing key for STATE_INCREMENT"};let J=await B0.getInstance().increment(Q,U);return{key:Q,newValue:J}}}),this.register(K0.STATE_GET,{description:"Reads a value from state and optionally stores it in context.env",params:i({key:"string","as?":"string"}),returns:i({key:"string",value:"unknown","storedAs?":"string"}),handler:async(Z,X)=>{let Q=String(Z.params?.key||""),U=String(Z.params?.as||Q);if(!Q)return{error:"Missing key for STATE_GET"};let J=await B0.getInstance().get(Q);if(!X.env)X.env={};return X.env[U]=J,{key:Q,value:J,storedAs:U}}}),this.register(K0.STATE_DELETE,{description:"Deletes a key from the persistent state",params:i({key:"string"}),returns:i({key:"string",deleted:"boolean"}),handler:async(Z,X)=>{let Q=String(Z.params?.key||"");if(!Q)return{error:"Missing key for STATE_DELETE"};let U=await B0.getInstance().delete(Q);return{key:Q,deleted:U}}}),this.register(K0.EMIT_EVENT,{description:"Emits a new event back into the system",params:i({event:"string","data?":"object"}),returns:i({event:"string",payload:"object"}),handler:(Z,X)=>{return{event:String(Z.params?.event||""),payload:Z.params?.data||{}}}}),this.register(K0.NOTIFY,{description:"Sends a notification to a specific target",params:i({"message?":"string","content?":"string","target?":"string"}),returns:i({target:"string",message:"string"}),handler:(Z,X)=>{let Q=Z.params?.message||Z.params?.content||"Notification",U=Z.params?.target||"default";return console.log(`[Notification] To: ${U}, Msg: ${Q}`),{target:U,message:Q}}}),this.register(K0.STATE_OP,{description:"Executes a custom JavaScript block with access to context and state",params:i({run:"string"}),returns:i("unknown"),handler:(Z,X)=>{if(Z.params?.run)return Function("context","state","data","vars","env","helpers",`with(context) { ${Z.params.run} }`)(X,X.state,X.data,X.vars,X.env,X.helpers);return{warning:"Missing 'run' param for STATE_OP"}}})}}var K0;var m2=O(()=>{zX();V9();l6();K0={LOG:"LOG",MATH:"MATH",RESPONSE:"RESPONSE",EXECUTE:"EXECUTE",FORWARD:"FORWARD",STATE_SET:"STATE_SET",STATE_INCREMENT:"STATE_INCREMENT",STATE_GET:"STATE_GET",STATE_DELETE:"STATE_DELETE",EMIT_EVENT:"EMIT_EVENT",NOTIFY:"NOTIFY",STATE_OP:"STATE_OP"}});var l=C((R_)=>{var bX=Symbol.for("yaml.alias"),TJ=Symbol.for("yaml.document"),D9=Symbol.for("yaml.map"),DJ=Symbol.for("yaml.pair"),IX=Symbol.for("yaml.scalar"),w9=Symbol.for("yaml.seq"),D1=Symbol.for("yaml.node.type"),V_=(Z)=>!!Z&&typeof Z==="object"&&Z[D1]===bX,H_=(Z)=>!!Z&&typeof Z==="object"&&Z[D1]===TJ,z_=(Z)=>!!Z&&typeof Z==="object"&&Z[D1]===D9,F_=(Z)=>!!Z&&typeof Z==="object"&&Z[D1]===DJ,wJ=(Z)=>!!Z&&typeof Z==="object"&&Z[D1]===IX,B_=(Z)=>!!Z&&typeof Z==="object"&&Z[D1]===w9;function PJ(Z){if(Z&&typeof Z==="object")switch(Z[D1]){case D9:case w9:return!0}return!1}function M_(Z){if(Z&&typeof Z==="object")switch(Z[D1]){case bX:case D9:case IX:case w9:return!0}return!1}var O_=(Z)=>(wJ(Z)||PJ(Z))&&!!Z.anchor;R_.ALIAS=bX;R_.DOC=TJ;R_.MAP=D9;R_.NODE_TYPE=D1;R_.PAIR=DJ;R_.SCALAR=IX;R_.SEQ=w9;R_.hasAnchor=O_;R_.isAlias=V_;R_.isCollection=PJ;R_.isDocument=H_;R_.isMap=z_;R_.isNode=M_;R_.isPair=F_;R_.isScalar=wJ;R_.isSeq=B_});var o6=C((g_)=>{var _0=l(),b0=Symbol("break visit"),AJ=Symbol("skip children"),$1=Symbol("remove node");function P9(Z,X){let Q=SJ(X);if(_0.isDocument(Z)){if(d2(null,Z.contents,Q,Object.freeze([Z]))===$1)Z.contents=null}else d2(null,Z,Q,Object.freeze([]))}P9.BREAK=b0;P9.SKIP=AJ;P9.REMOVE=$1;function d2(Z,X,Q,U){let J=CJ(Z,X,Q,U);if(_0.isNode(J)||_0.isPair(J))return NJ(Z,U,J),d2(Z,J,Q,U);if(typeof J!=="symbol"){if(_0.isCollection(X)){U=Object.freeze(U.concat(X));for(let q=0;q<X.items.length;++q){let Y=d2(q,X.items[q],Q,U);if(typeof Y==="number")q=Y-1;else if(Y===b0)return b0;else if(Y===$1)X.items.splice(q,1),q-=1}}else if(_0.isPair(X)){U=Object.freeze(U.concat(X));let q=d2("key",X.key,Q,U);if(q===b0)return b0;else if(q===$1)X.key=null;let Y=d2("value",X.value,Q,U);if(Y===b0)return b0;else if(Y===$1)X.value=null}}return J}async function A9(Z,X){let Q=SJ(X);if(_0.isDocument(Z)){if(await c2(null,Z.contents,Q,Object.freeze([Z]))===$1)Z.contents=null}else await c2(null,Z,Q,Object.freeze([]))}A9.BREAK=b0;A9.SKIP=AJ;A9.REMOVE=$1;async function c2(Z,X,Q,U){let J=await CJ(Z,X,Q,U);if(_0.isNode(J)||_0.isPair(J))return NJ(Z,U,J),c2(Z,J,Q,U);if(typeof J!=="symbol"){if(_0.isCollection(X)){U=Object.freeze(U.concat(X));for(let q=0;q<X.items.length;++q){let Y=await c2(q,X.items[q],Q,U);if(typeof Y==="number")q=Y-1;else if(Y===b0)return b0;else if(Y===$1)X.items.splice(q,1),q-=1}}else if(_0.isPair(X)){U=Object.freeze(U.concat(X));let q=await c2("key",X.key,Q,U);if(q===b0)return b0;else if(q===$1)X.key=null;let Y=await c2("value",X.value,Q,U);if(Y===b0)return b0;else if(Y===$1)X.value=null}}return J}function SJ(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 CJ(Z,X,Q,U){if(typeof Q==="function")return Q(Z,X,U);if(_0.isMap(X))return Q.Map?.(Z,X,U);if(_0.isSeq(X))return Q.Seq?.(Z,X,U);if(_0.isPair(X))return Q.Pair?.(Z,X,U);if(_0.isScalar(X))return Q.Scalar?.(Z,X,U);if(_0.isAlias(X))return Q.Alias?.(Z,X,U);return}function NJ(Z,X,Q){let U=X[X.length-1];if(_0.isCollection(U))U.items[Z]=Q;else if(_0.isPair(U))if(Z==="key")U.key=Q;else U.value=Q;else if(_0.isDocument(U))U.contents=Q;else{let J=_0.isAlias(U)?"alias":"scalar";throw Error(`Cannot replace node with ${J} parent`)}}g_.visit=P9;g_.visitAsync=A9});var fX=C((p_)=>{var jJ=l(),h_=o6(),m_={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},u_=(Z)=>Z.replace(/[!,[\]{}]/g,(X)=>m_[X]);class d0{constructor(Z,X){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},d0.defaultYaml,Z),this.tags=Object.assign({},d0.defaultTags,X)}clone(){let Z=new d0(this.yaml,this.tags);return Z.docStart=this.docStart,Z}atDocument(){let Z=new d0(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:d0.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},d0.defaultTags);break}return Z}add(Z,X){if(this.atNextDocument)this.yaml={explicit:d0.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},d0.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]=Q;return this.tags[J]=q,!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 q=/^\d+\.\d+$/.test(J);return X(6,`Unsupported YAML version ${J}`,q),!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 q=Z.slice(2,-1);if(q==="!"||q==="!!")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 q}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(q){return X(String(q)),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+u_(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&&jJ.isNode(Z.contents)){let J={};h_.visit(Z.contents,(q,Y)=>{if(jJ.isNode(Y)&&Y.tag)J[Y.tag]=!0}),U=Object.keys(J)}else U=[];for(let[J,q]of Q){if(J==="!!"&&q==="tag:yaml.org,2002:")continue;if(!Z||U.some((Y)=>Y.startsWith(q)))X.push(`%TAG ${J} ${q}`)}return X.join(`
47
- `)}}d0.defaultYaml={explicit:!1,version:"1.2"};d0.defaultTags={"!!":"tag:yaml.org,2002:"};p_.Directives=d0});var S9=C((s_)=>{var EJ=l(),d_=o6();function c_(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 bJ(Z){let X=new Set;return d_.visit(Z,{Value(Q,U){if(U.anchor)X.add(U.anchor)}}),X}function IJ(Z,X){for(let Q=1;;++Q){let U=`${Z}${Q}`;if(!X.has(U))return U}}function i_(Z,X){let Q=[],U=new Map,J=null;return{onAnchor:(q)=>{Q.push(q),J??(J=bJ(Z));let Y=IJ(X,J);return J.add(Y),Y},setAnchors:()=>{for(let q of Q){let Y=U.get(q);if(typeof Y==="object"&&Y.anchor&&(EJ.isScalar(Y.node)||EJ.isCollection(Y.node)))Y.node.anchor=Y.anchor;else{let W=Error("Failed to resolve repeated object (this should not happen)");throw W.source=q,W}}},sourceObjects:U}}s_.anchorIsValid=c_;s_.anchorNames=bJ;s_.createNodeAnchors=i_;s_.findNewAnchor=IJ});var kX=C((t_)=>{function n6(Z,X,Q,U){if(U&&typeof U==="object")if(Array.isArray(U))for(let J=0,q=U.length;J<q;++J){let Y=U[J],W=n6(Z,U,String(J),Y);if(W===void 0)delete U[J];else if(W!==Y)U[J]=W}else if(U instanceof Map)for(let J of Array.from(U.keys())){let q=U.get(J),Y=n6(Z,U,J,q);if(Y===void 0)U.delete(J);else if(Y!==q)U.set(J,Y)}else if(U instanceof Set)for(let J of Array.from(U)){let q=n6(Z,U,J,J);if(q===void 0)U.delete(J);else if(q!==J)U.delete(J),U.add(q)}else for(let[J,q]of Object.entries(U)){let Y=n6(Z,U,J,q);if(Y===void 0)delete U[J];else if(Y!==q)U[J]=Y}return Z.call(X,Q,U)}t_.applyReviver=n6});var h1=C((XV)=>{var ZV=l();function fJ(Z,X,Q){if(Array.isArray(Z))return Z.map((U,J)=>fJ(U,String(J),Q));if(Z&&typeof Z.toJSON==="function"){if(!Q||!ZV.hasAnchor(Z))return Z.toJSON(X,Q);let U={aliasCount:0,count:1,res:void 0};Q.anchors.set(Z,U),Q.onCreate=(q)=>{U.res=q,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}XV.toJS=fJ});var C9=C((qV)=>{var UV=kX(),kJ=l(),JV=h1();class yJ{constructor(Z){Object.defineProperty(this,kJ.NODE_TYPE,{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(!kJ.isDocument(Z))throw TypeError("A document argument is required");let q={anchors:new Map,doc:Z,keep:!0,mapAsMap:X===!0,mapKeyWarned:!1,maxAliasCount:typeof Q==="number"?Q:100},Y=JV.toJS(this,"",q);if(typeof U==="function")for(let{count:W,res:$}of q.anchors.values())U($,W);return typeof J==="function"?UV.applyReviver(J,{"":Y},"",Y):Y}}qV.NodeBase=yJ});var t6=C((_V)=>{var WV=S9(),$V=o6(),i2=l(),LV=C9(),GV=h1();class gJ extends LV.NodeBase{constructor(Z){super(i2.ALIAS);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=[],$V.visit(Z,{Node:(J,q)=>{if(i2.isAlias(q)||i2.hasAnchor(q))Q.push(q)}}),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,q=this.resolve(U,X);if(!q){let W=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw ReferenceError(W)}let Y=Q.get(q);if(!Y)GV.toJS(q,null,X),Y=Q.get(q);if(Y?.res===void 0)throw ReferenceError("This should not happen: Alias anchor was not resolved?");if(J>=0){if(Y.count+=1,Y.aliasCount===0)Y.aliasCount=N9(U,q,Q);if(Y.count*Y.aliasCount>J)throw ReferenceError("Excessive alias count indicates a resource exhaustion attack")}return Y.res}toString(Z,X,Q){let U=`*${this.source}`;if(Z){if(WV.anchorIsValid(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 N9(Z,X,Q){if(i2.isAlias(X)){let U=X.resolve(Z),J=Q&&U&&Q.get(U);return J?J.count*J.aliasCount:0}else if(i2.isCollection(X)){let U=0;for(let J of X.items){let q=N9(Z,J,Q);if(q>U)U=q}return U}else if(i2.isPair(X)){let U=N9(Z,X.key,Q),J=N9(Z,X.value,Q);return Math.max(U,J)}return 1}_V.Alias=gJ});var W0=C((MV)=>{var HV=l(),zV=C9(),FV=h1(),BV=(Z)=>!Z||typeof Z!=="function"&&typeof Z!=="object";class Y2 extends zV.NodeBase{constructor(Z){super(HV.SCALAR);this.value=Z}toJSON(Z,X){return X?.keep?this.value:FV.toJS(this.value,Z,X)}toString(){return String(this.value)}}Y2.BLOCK_FOLDED="BLOCK_FOLDED";Y2.BLOCK_LITERAL="BLOCK_LITERAL";Y2.PLAIN="PLAIN";Y2.QUOTE_DOUBLE="QUOTE_DOUBLE";Y2.QUOTE_SINGLE="QUOTE_SINGLE";MV.Scalar=Y2;MV.isScalarValue=BV});var e6=C((PV)=>{var KV=t6(),W2=l(),vJ=W0(),TV="tag:yaml.org,2002:";function DV(Z,X,Q){if(X){let U=Q.filter((q)=>q.tag===X),J=U.find((q)=>!q.format)??U[0];if(!J)throw Error(`Tag ${X} not found`);return J}return Q.find((U)=>U.identify?.(Z)&&!U.format)}function wV(Z,X,Q){if(W2.isDocument(Z))Z=Z.contents;if(W2.isNode(Z))return Z;if(W2.isPair(Z)){let G=Q.schema[W2.MAP].createNode?.(Q.schema,null,Q);return G.items.push(Z),G}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:q,schema:Y,sourceObjects:W}=Q,$=void 0;if(U&&Z&&typeof Z==="object")if($=W.get(Z),$)return $.anchor??($.anchor=J(Z)),new KV.Alias($.anchor);else $={anchor:null,node:null},W.set(Z,$);if(X?.startsWith("!!"))X=TV+X.slice(2);let L=DV(Z,X,Y.tags);if(!L){if(Z&&typeof Z.toJSON==="function")Z=Z.toJSON();if(!Z||typeof Z!=="object"){let G=new vJ.Scalar(Z);if($)$.node=G;return G}L=Z instanceof Map?Y[W2.MAP]:(Symbol.iterator in Object(Z))?Y[W2.SEQ]:Y[W2.MAP]}if(q)q(L),delete Q.onTagObj;let _=L?.createNode?L.createNode(Q.schema,Z,Q):typeof L?.nodeClass?.from==="function"?L.nodeClass.from(Q.schema,Z,Q):new vJ.Scalar(Z);if(X)_.tag=X;else if(!L.default)_.tag=L.tag;if($)$.node=_;return _}PV.createNode=wV});var j9=C((NV)=>{var SV=e6(),L1=l(),CV=C9();function yX(Z,X,Q){let U=Q;for(let J=X.length-1;J>=0;--J){let q=X[J];if(typeof q==="number"&&Number.isInteger(q)&&q>=0){let Y=[];Y[q]=U,U=Y}else U=new Map([[q,U]])}return SV.createNode(U,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw Error("This should not happen, please report a bug.")},schema:Z,sourceObjects:new Map})}var xJ=(Z)=>Z==null||typeof Z==="object"&&!!Z[Symbol.iterator]().next().done;class hJ extends CV.NodeBase{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)=>L1.isNode(Q)||L1.isPair(Q)?Q.clone(Z):Q),this.range)X.range=this.range.slice();return X}addIn(Z,X){if(xJ(Z))this.add(X);else{let[Q,...U]=Z,J=this.get(Q,!0);if(L1.isCollection(J))J.addIn(U,X);else if(J===void 0&&this.schema)this.set(Q,yX(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(L1.isCollection(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&&L1.isScalar(J)?J.value:J;else return L1.isCollection(J)?J.getIn(U,X):void 0}hasAllNullValues(Z){return this.items.every((X)=>{if(!L1.isPair(X))return!1;let Q=X.value;return Q==null||Z&&L1.isScalar(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 L1.isCollection(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(L1.isCollection(J))J.setIn(U,X);else if(J===void 0&&this.schema)this.set(Q,yX(this.schema,U,X));else throw Error(`Expected YAML collection at ${Q}. Remaining path: ${U}`)}}}NV.Collection=hJ;NV.collectionFromPath=yX;NV.isEmptyPath=xJ});var Z4=C((kV)=>{var IV=(Z)=>Z.replace(/^(?!$)(?: $)?/gm,"#");function gX(Z,X){if(/^\n+$/.test(Z))return Z.substring(1);return X?Z.replace(/^(?! *$)/gm,X):Z}var fV=(Z,X,Q)=>Z.endsWith(`
48
- `)?gX(Q,X):Q.includes(`
45
+ `)+"}"),X9,p8,LU=(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},zU=(Z)=>k(Z,(X,Q)=>[X,I(Q,"root")||I(Q,"generic")?Q.json:I(Q,"module")?zU(Q):l(`Unexpected resolution ${g(Q)}`)]),u8=(Z,X)=>{let Q=X.indexOf(".");if(Q===-1)return;let U=X.slice(0,Q),q=Z[U];if(q===void 0)return;if(!I(q,"module"))return M(LL(U));let J=X.slice(Q+1),Y=q[J];if(Y===void 0)return u8(q,J);if(I(Y,"root")||I(Y,"generic"))return Y;if(I(Y,"module"))return Y.root??M(FU(X));l(`Unexpected resolution for alias '${X}': ${g(Y)}`)},Q9=(Z,X)=>new p8(Z,X),l6,HU=(Z,X)=>{let Q={};for(let U in X){let q=X[U];if(I(q,"module")){let J=HU(Z,q),Y=k(J,(W,$)=>[`${U}.${W}`,$]);Object.assign(Q,Y)}else if(I(q,"root")||I(q,"generic"))Q[U]=q;else l(`Unexpected scope resolution ${g(q)}`)}return Q},l8=(Z)=>`'${Z}' is unresolvable`,LL=(Z)=>`'${Z}' must reference a module to be accessed using dot syntax`,FU=(Z)=>`Reference to submodule '${Z}' must specify an alias`,a,m2,vj,m0;var c8=O(()=>{b();N2();lZ();o4();h8();r4();B8();C1();c();Q1();Y0();m8={};T.ambient??={};X9=class X9{config;resolvedConfig;name;get[T0](){return"scope"}referencesById={};references=[];resolutions={};exportedNames=[];aliases={};resolved=!1;nodesByHash={};intrinsic;constructor(Z,X){if(this.config=C6(T.config,X),this.resolvedConfig=C6(T.resolvedConfig,X),this.name=this.resolvedConfig.name??`anonymousScope${Object.keys(m8).length}`,this.name in m8)M(`A Scope already named ${this.name} already exists`);m8[this.name]=this;let Q=Object.entries(Z).map((U)=>this.preparseOwnAliasEntry(...U));for(let[U,q]of Q){let J=U;if(U[0]==="#"){if(J=U.slice(1),J in this.aliases)M(WU(J));this.aliases[J]=q}else{if(J in this.aliases)M(WU(U));this.aliases[J]=q,this.exportedNames.push(J)}if(!I(q,"module")&&!I(q,"generic")&&!A1(q)){let Y=this.preparseOwnDefinitionFormat(q,{alias:J});this.resolutions[J]=I(Y,"root")?this.bindReference(Y):this.createParseContext(Y).id}}$U??=this.node("union",{branches:["string","number","object","bigint","symbol",{unit:!0},{unit:!1},{unit:void 0},{unit:null}]},{prereduced:!0}),this.nodesByHash[$U.hash]=this.node("intersection",{},{prereduced:!0}),this.intrinsic=T.intrinsic?k(T.intrinsic,(U,q)=>U.startsWith("json")?[]:[U,this.bindReference(q)]):{}}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 I1(Z,U?new l4(Q):Q,X,X,U??null)};units=(Z,X)=>{let Q=[];for(let q of Z)if(!Q.includes(q))Q.push(q);let U=Q.map((q)=>this.node("unit",{unit:q},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(f6(Z),Z,X);preparseNode(Z,X,Q){let U=typeof Z==="string"?Z:f6(X,Z);if(e(X)&&X.kind===U)return X;if(U==="alias"&&!Q?.prereduced){let{reference:Y}=m6.implementation.normalize(X,this);if(Y.startsWith("$")){let W=this.resolveRoot(Y.slice(1));X=W,U=W.kind}}else if(U==="union"&&P0(X,"object")){let Y=YL(X);if(Y?.length===1)X=Y[0],U=f6(X)}if(e(X)&&X.kind===U)return X;let J=y2[U].normalize?.(X,this)??X;if(e(J))return J.kind===U?J:WL(U,J.kind);return{...Q,$:this,kind:U,def:J,prefix:Q.alias??U}}bindReference(Z){let X;if(e(Z))X=Z.$===this?Z:new Z.constructor(Z.attachments,this);else X=Z.$===this?Z:new I1(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(l8(Z))}maybeResolveRoot(Z){let X=this.maybeResolve(Z);if(I(X,"generic"))return;return X}maybeResolveSubalias(Z){return u8(this.aliases,Z)??u8(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=K0[X];if(I(U,"root"))return this.resolutions[Z]=U;if(I(U,"context")){if(U.phase==="resolving")return this.node("alias",{reference:`$${Z}`},{prereduced:!0});if(U.phase==="resolved")return l(`Unexpected resolved context for was uncached by its scope: ${g(U)}`);U.phase="resolving";let q=this.bindReference(this.parseOwnDefinitionFormat(U.def,U));return U.phase="resolved",K0[q.id]=q,K0[U.id]=q,this.resolutions[Z]=q}return l(`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),I(Q,"generic"))return this.resolutions[Z]=this.bindReference(Q);if(I(Q,"module")){if(!Q.root)M(FU(Z));return this.resolutions[Z]=this.bindReference(Q.root)}return this.resolutions[Z]=this.parse(Q,{alias:Z})}createParseContext(Z){let X=Z.id??V8(Z.prefix);return K0[X]=Object.assign(Z,{[T0]:"context",$:this,id:X,phase:"unresolved"})}traversal(Z){return new s0(Z,this.resolvedConfig)}import(...Z){return new h2(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]=I(U,"module")?x8(U,this):LU(this.maybeResolve(Q))}for(let Q of this.lazyResolutions)Q.resolution;if(this._exportedResolutions=HU(this,this._exports),this._json=zU(this._exportedResolutions),Object.assign(this.resolutions,this._exportedResolutions),this.references=Object.values(this.referencesById),!this.resolvedConfig.jitless){let Q=_U(this.references);this.precompilation=Q.write(GU,4),VU(this.references,Q)}this.resolved=!0}let X=Z.length?Z:this.exportedNames;return new h2(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(e(U))return this.bindReference(U);let q=this.createParseContext(U),J=_8(q),Y=this.bindReference(J);return K0[q.id]=Y};parse=(Z,X={})=>this.finalize(this.parseDefinition(Z,X));parseDefinition(Z,X={}){if(I(Z,"root"))return this.bindReference(Z);let Q=this.preparseOwnDefinitionFormat(Z,X);if(I(Q,"root"))return this.bindReference(Q);let U=this.createParseContext(Q);K0[U.id]=U;let q=this.bindReference(this.parseOwnDefinitionFormat(Z,U));if(q.isCyclic)q=b5(q,U.id);return K0[U.id]=q,q}finalize(Z){if(LU(Z),!Z.precompilation&&!this.resolvedConfig.jitless)$L(Z.references);return Z}};p8=class p8 extends X9{parseOwnDefinitionFormat(Z,X){return _8(X)}preparseOwnDefinitionFormat(Z,X){return this.preparseNode(f6(Z),Z,X)}preparseOwnAliasEntry(Z,X){return[Z,X]}normalizeRootScopeValue(Z){return Z}};l6=new p8({});l6.export();a=l6.schema,m2=l6.node,vj=l6.defineSchema,m0=l6.generic});var d8="^(?:0|[1-9]\\d*)$",GL,mj;var BU=O(()=>{c();GL=new RegExp(d8),mj=U0(GL)});var MU,OU,VL,f;var n4=O(()=>{c8();c();BU();MU=Q9({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={...MU};OU=Q9({integer:{domain:"number",divisor:1},lengthBoundable:["string",Array],key:["string","symbol"],nonNegativeIntegerString:{domain:"string",pattern:d8}},{prereducedAliases:!0}).export();Object.assign(T.intrinsic,OU);VL=Q9({jsonPrimitive:["string","number",{unit:!0},{unit:!1},{unit:null}],jsonObject:{domain:"object",index:{signature:"string",value:"$jsonData"}},jsonData:["$jsonPrimitive","$jsonObject"]},{prereducedAliases:!0}).export(),f={...MU,...OU,...VL,emptyStructure:m2("structure",{},{prereduced:!0})};T.intrinsic={...f}});var RU=()=>{};var TU=()=>{};var KU=()=>{};var W0=O(()=>{b();N2();f0();lZ();n4();o4();h8();q2();r4();dZ();rZ();nZ();sZ();eZ();$8();X8();U8();J8();W8();G8();M1();M8();R8();K8();D8();f1();A8();j8();c8();C1();RU();q0();N6();s();v0();TU();c();KU();E1();Q1();Y0();N8();k2();g6();b8();y8();v8()});var U9=(Z,X)=>new RegExp(Z,X);var DU=O(()=>{Object.assign(U9,{as:U9})});var wU=O(()=>{DU()});var PU=O(()=>{N2()});var SU=(Z)=>typeof Z==="string"&&Z[0]==="d"&&(Z[1]==="'"||Z[1]==='"')&&Z[Z.length-1]===Z[1],AU=(Z)=>Z.toString()!=="Invalid Date",jU=(Z)=>Z.slice(2,-1),i8=(Z)=>`'${Z}' could not be parsed by the Date constructor`,CU=(Z,X)=>_L(Z,X),_L=(Z,X)=>{let Q=new Date(Z);if(AU(Q))return Q;let U=pQ(Z);if(U!==void 0){let q=new Date(U);if(AU(q))return q}return X?M(X===!0?i8(Z):X):void 0};var s8=O(()=>{b()});var zL,q9=(Z,X)=>{let Q=Z.scanner.shiftUntilEscapable(FL[bU[X]]);if(Z.scanner.lookahead==="")return Z.error(ML(Q,X));if(Z.scanner.shift(),X in EU){let U;try{U=new RegExp(Q)}catch(q){M(String(q))}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:(q)=>U.exec(q),declaredOut:zL})}else if(V0(X,a8))Z.root=Z.ctx.$.node("unit",{unit:Q});else{let U=CU(Q,i8(Q));Z.root=Z.ctx.$.node("unit",{meta:Q,unit:U})}},a8,NU,HL,EU,bU,FL,BL,ML=(Z,X)=>`${X}${Z} requires a closing ${BL[bU[X]]}`;var IU=O(()=>{W0();b();s8();zL=a({proto:"Array",sequence:"string",required:{key:"groups",value:["object",{unit:void 0}]}}),a8={"'":1,'"':1},NU={"/":1,"'":1,'"':1},HL={"d'":"'",'d"':'"',"'":"'",'"':'"'},EU={"/":"/","x/":"/"},bU={...HL,...EU},FL={"'":(Z)=>Z.lookahead==="'",'"':(Z)=>Z.lookahead==='"',"/":(Z)=>Z.lookahead==="/"},BL={'"':"double-quote","'":"single-quote","/":"forward slash"}});var fU=(Z)=>`Private type references should not include '#'. Use '${Z}' instead.`,J9="Optional definitions like 'string?' are only valid as properties in an object or tuple",Y9="Defaultable definitions like 'number = 0' are only valid as properties in an object or tuple";var q1,yU=(Z,X)=>Z===">"?X[0]==="="?X[1]==="=":X.trimStart()===""||V0(X.trimStart()[0],q1):Z==="="?X[0]!=="=":Z===","||Z==="?";var u2=O(()=>{b();q1={"<":1,">":1,"=":1,"|":1,"&":1,")":1,"[":1,"%":1,",":1,":":1,"?":1,"#":1,...S1}});var kU=(Z,X,Q)=>gU(Z,X,Q,[]),gU=(Z,X,Q,U)=>{let q=Q.parseUntilFinalizer();if(U.push(q.root),q.finalizer===">"){if(U.length!==X.params.length)return Q.error(r8(Z,X.names,U.map((J)=>J.expression)));return U}if(q.finalizer===",")return gU(Z,X,Q,U);return q.error(v4(">"))},r8=(Z,X,Q)=>`${Z}<${X.join(", ")}> requires exactly ${X.length} args (got ${Q.length}${Q.length===0?"":`: ${Q.join(", ")}`})`;var vU=O(()=>{b()});var W9=(Z)=>{let X=Z.scanner.shiftUntilLookahead(q1);if(X==="keyof")Z.addPrefix("keyof");else Z.root=RL(Z,X)},OL=(Z,X,Q)=>{if(Q.scanner.shiftUntilNonWhitespace(),Q.scanner.shift()!=="<")return Q.error(r8(Z,X.names,[]));let q=kU(Z,X,Q);return X(...q)},RL=(Z,X)=>TL(Z,X)??KL(Z,X)??Z.error(X===""?Z.scanner.lookahead==="#"?fU(Z.shiftedBy(1).scanner.shiftUntilLookahead(q1)):o8(Z):l8(X)),TL=(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(I(Q,"root"))return Q;if(Q===void 0)return;if(I(Q,"generic"))return OL(X,Q,Z);return M(`Unexpected resolution ${g(Q)}`)},KL=(Z,X)=>{let Q=lQ(X);if(Q!==void 0)return Z.ctx.$.node("unit",{unit:Q});let U=dQ(X);if(U!==void 0)return Z.ctx.$.node("unit",{unit:U})},o8=(Z)=>{let X=Z.previousOperator();return X?n8(X,Z.scanner.unscanned):DL(Z.scanner.unscanned)},n8=(Z,X="")=>`Token '${Z}' requires a right operand${X?` before '${X}'`:""}`,DL=(Z)=>`Expected an expression${Z?` before '${Z}'`:""}`;var t8=O(()=>{W0();b();u2();vU()});var e8=(Z)=>Z.scanner.lookahead===""?Z.error(o8(Z)):Z.scanner.lookahead==="("?Z.shiftedBy(1).reduceGroupOpen():Z.scanner.lookaheadIsIn(NU)?q9(Z,Z.scanner.shift()):Z.scanner.lookaheadIsIn(S1)?e8(Z.shiftedBy(1)):Z.scanner.lookahead==="d"?Z.scanner.nextLookahead in a8?q9(Z,`${Z.scanner.shift()}${Z.scanner.shift()}`):W9(Z):Z.scanner.lookahead==="x"?Z.scanner.nextLookahead==="/"?Z.shiftedBy(2)&&q9(Z,"x/"):W9(Z):W9(Z);var xU=O(()=>{b();IU();t8()});var hU,mU,p2,uU=(Z,X)=>`Left bounds are only valid when paired with right bounds (try ...${X}${Z})`,$9=(Z)=>`Left-bounded expressions must specify their limits using < or <= (was ${Z})`,pU=(Z,X,Q,U)=>`An expression may have at most one left bound (parsed ${Z}${p2[X]}, ${Q}${p2[U]})`;var ZX=O(()=>{hU={">":!0,">=":!0},mU={"<":!0,"<=":!0},p2={"<":">",">":"<","<=":">=",">=":"<=","==":"=="}});var cU=(Z,X)=>{let Q=wL(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 AL(Z,Q)},dU,wL=(Z,X)=>Z.scanner.lookaheadIs("=")?`${X}${Z.scanner.shift()}`:X,lU=(Z,X,Q,U)=>{if(Q.extends(T.intrinsic.number)){if(typeof X!=="number")return M(XX(Z,X,U));return Z==="=="?["min","max"]:Z[0]===">"?["min"]:["max"]}if(Q.extends(T.intrinsic.lengthBoundable)){if(typeof X!=="number")return M(XX(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(O5(Q.expression))},PL=(Z)=>({rule:SU(Z.limit)?jU(Z.limit):Z.limit,exclusive:Z.comparator.length===1}),AL=(Z,X)=>{let Q=Z.unsetRoot(),U=Z.scanner.location;Z.parseOperand();let q=Z.unsetRoot(),J=Z.scanner.sliceChars(U,Z.scanner.location);if(Z.root=Q,!q.hasKind("unit")||typeof q.unit!=="number"&&!(q.unit instanceof Date))return Z.error(XX(X,J,"right"));let Y=q.unit,W=X.length===1,$=lU(X,typeof Y==="number"?Y:J,Q,"right");for(let V of $)Z.constrainRoot(V,X==="=="?{rule:Y}:{rule:Y,exclusive:W});if(!Z.branches.leftBound)return;if(!V0(X,mU))return Z.error($9(X));let L=lU(Z.branches.leftBound.comparator,Z.branches.leftBound.limit,Q,"left");Z.constrainRoot(L[0],PL(Z.branches.leftBound)),Z.branches.leftBound=null},XX=(Z,X,Q)=>`Comparator ${Q==="left"?p2[Z]:Z} must be ${Q==="left"?"preceded":"followed"} by a corresponding literal (was ${X})`;var iU=O(()=>{W0();b();ZX();s8();dU={"<":1,">":1,"=":1}});var sU=(Z)=>{Z.scanner.shiftUntilNonWhitespace();let X=Z.scanner.shiftUntilLookahead(q1);Z.root=Z.root.brand(X)};var aU=O(()=>{u2()});var oU=(Z)=>{Z.scanner.shiftUntilNonWhitespace();let X=Z.scanner.shiftUntilLookahead(q1),Q=cQ(X,{errorOnFail:rU(X)});if(Q===0)Z.error(rU(0));Z.root=Z.root.constrain("divisor",Q)},rU=(Z)=>`% operator must be followed by a non-zero integer literal (was ${Z})`;var nU=O(()=>{b();u2()});var QX=(Z)=>{let X=Z.scanner.shift();return X===""?Z.finalize(""):X==="["?Z.scanner.shift()==="]"?Z.setRoot(Z.root.array()):Z.error(SL):X==="|"?Z.scanner.lookahead===">"?Z.shiftedBy(1).pushRootToBranch("|>"):Z.pushRootToBranch(X):X==="&"?Z.pushRootToBranch(X):X===")"?Z.finalizeGroup():yU(X,Z.scanner.unscanned)?Z.finalize(X):V0(X,dU)?cU(Z,X):X==="%"?oU(Z):X==="#"?sU(Z):(X in S1)?QX(Z):Z.error(L9(X))},L9=(Z,X="")=>`'${Z}' is not allowed here${X&&` (should be ${X})`}`,SL="Missing expected ']'";var UX=O(()=>{b();u2();iU();aU();nU()});var tU=(Z)=>{let X=Z.unsetRoot();Z.parseOperand();let Q=Z.unsetRoot();if(!Q.hasKind("unit"))return Z.error(jL(Q.expression));let U=Q.unit instanceof Date?()=>new Date(Q.unit):Q.unit;return[X,"=",U]},jL=(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 J=X.$.maybeResolveRoot(Z.slice(0,-2));if(J)return J.array()}let U=new l2(new S6(Z),X),q=CL(U);if(U.finalizer===">")M(L9(">"));return q},CL=(Z)=>{Z.parseOperand();let X=c6(Z).root;if(!X)return l(`Root was unexpectedly unset after parsing string '${Z.scanner.scanned}'`);if(Z.finalizer==="=")X=tU(Z);else if(Z.finalizer==="?")X=[X,"?"];if(Z.scanner.shiftUntilNonWhitespace(),Z.scanner.lookahead)M(L9(Z.scanner.lookahead));return X},c6=(Z)=>{while(Z.finalizer===void 0)NL(Z);return Z},NL=(Z)=>Z.hasRoot()?Z.parseOperator():Z.parseOperand();var G9=O(()=>{b();JX();UX()});class l2{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(v4(")"));this.finalizeBranches(),this.finalizer=Z}reduceLeftBound(Z,X){let Q=p2[X];if(!V0(Q,hU))return this.error($9(X));if(this.branches.leftBound)return this.error(pU(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(nQ(")",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():l(`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 c6(new l2(this.scanner,this.ctx))}parseOperator(){return QX(this)}parseOperand(){return e8(this)}assertRangeUnset(){if(this.branches.leftBound)return this.error(uU(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 JX=O(()=>{b();xU();UX();G9();ZX()});var EL="An empty string is not a valid generic parameter name",V9=(Z,X,Q)=>{Z.shiftUntilNonWhitespace();let U=Z.shiftUntilLookahead(q1);if(U===""){if(Z.lookahead===""&&X.length)return X;return M(EL)}return Z.shiftUntilNonWhitespace(),bL(Z,U,X,Q)},eU="extends ",bL=(Z,X,Q,U)=>{if(Z.shiftUntilNonWhitespace(),Z.unscanned.startsWith(eU))Z.jumpForward(eU.length);else{if(Z.lookahead===",")Z.shift();return Q.push(X),V9(Z,Q,U)}let q=c6(new l2(Z,U));return Q.push([X,q.root]),V9(Z,Q,U)};var YX=O(()=>{W0();b();JX();u2();G9()});var WX,Z7,IL=`":" must be followed by exactly one return type e.g:
46
+ fn("string", ":", "number")(s => s.length)`;var X7=O(()=>{b();WX=class WX extends j0{constructor(Z){let X={$:Z,raw:Z.fn};super((...Q)=>{let U=Q.indexOf(":"),q=U===-1?Q.length-1:U-1,J=Q.slice(0,q+1),Y=Z.parse(J).assertHasKind("intersection"),W=Z.intrinsic.unknown;if(U!==-1){if(U!==Q.length-2)return M(IL);W=Z.parse(Q[U+1])}return($)=>new Z7($,Y,W)},{attach:X})}};Z7=class Z7 extends j0{raw;params;returns;expression;constructor(Z,X,Q){let U=`typed ${Z.name}`,q={[U]:(...Y)=>{let W=X.assert(Y),$=Z(...W);return Q.assert($)}}[U];super(q);this.raw=Z,this.params=X,this.returns=Q;let J=X.expression;if(J[0]==="["&&J[J.length-1]==="]")J=J.slice(1,-1);else if(J.endsWith("[]"))J=`...${J}`;this.expression=`(${J}) => ${Q?.expression??"unknown"}`}}});var $X,d6,Q7=(Z)=>Z.throw(),fL="A key matcher must be specified before the first case i.e. match.at('foo') or match.in<object>().at('bar')",yL="At most one key matcher may be specified per expression";var U7=O(()=>{W0();b();$X=class $X extends j0{$;constructor(Z){super((...X)=>new d6(Z)(...X),{bind:Z});this.$=Z}in(Z){return new d6(this.$,Z===void 0?void 0:this.$.parse(Z))}at(Z,X){return new d6(this.$).at(Z,X)}case(Z,X){return new d6(this.$).case(Z,X)}};d6=class d6 extends j0{$;in;key;branches=[];constructor(Z,X){super((Q)=>this.caseEntries(Object.entries(Q).map(([U,q])=>U==="default"?[U,q]:[this.$.parse(U),q])));this.$=Z,this.in=X}at(Z,X){if(this.key)M(yL);if(this.branches.length)M(fL);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 ${G0(U)})`);this.caseEntry(Q,U)}return this}default(Z){if(typeof Z==="function")this.case(f.unknown,Z);let X={branches:this.branches,ordered:!0};if(Z==="never"||Z==="assert")X.meta={onFail:Q7};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:Q7},"self");return this.$.finalize(U)}}});var _9=(Z,X)=>{if(n(Z)){if(Z[1]==="=")return[X.$.parseOwnDefinitionFormat(Z[0],X),"=",Z[2]];if(Z[1]==="?")return[X.$.parseOwnDefinitionFormat(Z[0],X),"?"]}return z9(Z,X)},q7="Only required keys may make their values optional, e.g. { [mySymbol]: ['number', '?'] }",J7="Only required keys may specify default values, e.g. { value: 'number = 0' }";var LX=O(()=>{b();GX()});var Y7=(Z,X)=>{let Q,U={},q=t1(Z);for(let[Y,W]of q){let $=vL(Y);if($.kind==="spread"){if(!X1(U))return M(gL);let H=X.$.parseOwnDefinitionFormat(W,X);if(H.equals(f.object))continue;if(!H.hasKind("intersection")||!H.basis?.equals(f.object))return M(xL(H.expression));Q=H.structure;continue}if($.kind==="undeclared"){if(W!=="reject"&&W!=="delete"&&W!=="ignore")M(kL(W));U.undeclared=W;continue}let L=_9(W,X),V=$;if($.kind==="required"){if(!n(L))VX(U,"required",{key:$.normalized,value:L},X);else VX(U,"optional",L[1]==="="?{key:$.normalized,value:L[0],default:L[2]}:{key:$.normalized,value:L[0]},X);continue}if(n(L)){if(L[1]==="?")M(q7);if(L[1]==="=")M(J7)}if($.kind==="optional"){VX(U,"optional",{key:$.normalized,value:L},X);continue}let G=X.$.parseOwnDefinitionFormat(V.normalized,X),_=Z9(G,L,X.$);if(_.index)U.index=m(U.index,_.index);if(_.required)U.required=m(U.required,_.required)}let J=X.$.node("structure",U);return X.$.parseSchema({domain:"object",structure:Q?.merge(J)??J})},VX=(Z,X,Q,U)=>{Z[X]=m(Z[X],U.$.node(X,Q))},kL=(Z)=>`Value of '+' key must be 'reject', 'delete', or 'ignore' (was ${g(Z)})`,gL="Spread operator may only be used as the first key in an object",vL=(Z)=>typeof Z==="symbol"?{kind:"required",normalized:Z}:Z[Z.length-1]==="?"?Z[Z.length-2]===X2?{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]===X2&&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 W7=O(()=>{W0();b();LX()});var L7=(Z,X)=>aL(Z)?z7[Z[0]](Z,X):iL(Z)?_7[Z[1]](Z,X):null,hL=(Z,X)=>X.$.parseOwnDefinitionFormat(Z[1],X).keyof(),_X=(Z,X)=>{if(Z[2]===void 0)return M(n8(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 q=Z[1]==="&"?E0(Q,U,X.$):I6(Q,U,X.$);if(q instanceof j)return q.throw();return q},mL=(Z,X)=>X.$.parseOwnDefinitionFormat(Z[0],X).array(),uL=(Z,X)=>{if(typeof Z[2]!=="function")return M(G7("=>",Z[2]));return X.$.parseOwnDefinitionFormat(Z[0],X).pipe(Z[2])},G7=(Z,X)=>`${Z===":"?"Narrow":"Morph"} expression requires a function following '${Z}' (was ${typeof X})`,pL=(Z,X)=>{if(typeof Z[2]!=="function")return M(G7(":",Z[2]));return X.$.parseOwnDefinitionFormat(Z[0],X).constrain("predicate",Z[2])},lL=(Z,X)=>X.$.parseOwnDefinitionFormat(Z[0],X).configure(Z[2],Z[3]),V7=(Z)=>Z,cL,dL,_7,iL=(Z)=>_7[Z[1]]!==void 0,sL=(Z)=>Z,z7,aL=(Z)=>z7[Z[0]]!==void 0,$7=(Z)=>`Expected a constructor following 'instanceof' operator (was ${Z})`;var H7=O(()=>{W0();b();t8();cL=V7({"[]":mL,"?":()=>M(J9)}),dL=V7({"|":_X,"&":_X,":":pL,"=>":uL,"|>":_X,"@":lL,"=":()=>M(Y9)}),_7={...cL,...dL},z7=sL({keyof:hL,instanceof:(Z,X)=>{if(typeof Z[1]!=="function")return M($7(O6(Z[1])));let Q=Z.slice(1).map((U)=>typeof U==="function"?X.$.node("proto",{proto:U}):M($7(O6(U))));return Q.length===1?Q[0]:X.$.node("union",{branches:Q})},"===":(Z,X)=>X.$.units(Z.slice(1))})});var M7=(Z,X)=>{let Q=[{}],U=0;while(U<Z.length){let q=!1;if(Z[U]==="..."&&U<Z.length-1)q=!0,U++;let J=_9(Z[U],X),[Y,W,$]=!n(J)?[J]:J;if(U++,q){if(!Y.extends(T.intrinsic.Array))return M(nL(Y.expression));Q=Q.flatMap((L)=>Y.distribute((V)=>oL(h4(L),V)))}else Q=Q.map((L)=>{if(W==="?")return O7(L,Y);if(W==="=")return rL(L,Y,$);return zX(L,Y)})}return X.$.parseSchema(Q.map((q)=>X1(q)?{proto:Array,exactLength:0}:{proto:Array,sequence:q}))},zX=(Z,X)=>{if(Z.defaultables||Z.optionals)return M(Z.variadic?f8:tL);if(Z.variadic)Z.postfix=m(Z.postfix,X);else Z.prefix=m(Z.prefix,X);return Z},O7=(Z,X)=>{if(Z.variadic)return M(R7);return Z.optionals=m(Z.optionals,X),Z},rL=(Z,X,Q)=>{if(Z.variadic)return M(R7);if(Z.optionals)return M(eL);return Z.defaultables=m(Z.defaultables,[[X,Q]]),Z},F7=(Z,X)=>{if(Z.postfix)M(B7);if(Z.variadic){if(!Z.variadic.equals(X))M(B7)}else Z.variadic=X.internal;return Z},oL=(Z,X)=>{let Q=X.select({method:"find",kind:"sequence"});if(!Q)return F7(Z,T.intrinsic.unknown);if(Q.prefix)for(let U of Q.prefix)zX(Z,U);if(Q.optionals)for(let U of Q.optionals)O7(Z,U);if(Q.variadic)F7(Z,Q.variadic);if(Q.postfix)for(let U of Q.postfix)zX(Z,U);return Z},nL=(Z)=>`Spread element must be an array (was ${Z})`,B7="A tuple may have at most one variadic element",tL="A required element may not follow an optional element",R7="An optional element may not follow a variadic element",eL="A defaultable element may not follow an optional element without a default";var T7=O(()=>{W0();b();LX()});var ZG,z9=(Z,X)=>{if(typeof Z==="string"){if(X.args&&Object.keys(X.args).some((U)=>Z.includes(U)))return qX(Z,X);let Q=ZG[X.$.name]??={};return Q[Z]??=qX(Z,X)}return P0(Z,"object")?XG(Z,X):M(HX(G0(Z)))},XG=(Z,X)=>{let Q=M6(Z);switch(Q){case void 0:if(I(Z,"root"))return Z;if("~standard"in Z)return QG(Z,X);return Y7(Z,X);case"Array":return UG(Z,X);case"RegExp":return X.$.node("intersection",{domain:"string",pattern:Z},{prereduced:!0});case"Function":{let U=A1(Z)?Z():Z;if(I(U,"root"))return U;return M(HX("Function"))}default:return M(HX(Q??g(Z)))}},QG=(Z,X)=>X.$.intrinsic.unknown.pipe((Q,U)=>{let q=Z["~standard"].validate(Q);if(!q.issues)return q.value;for(let{message:J,path:Y}of q.issues)if(Y)if(Y.length)U.error({problem:gQ(J),relativePath:Y.map((W)=>typeof W==="object"?W.key:W)});else U.error({message:J});else U.error({message:J})}),UG=(Z,X)=>L7(Z,X)??M7(Z,X),HX=(Z)=>`Type definitions must be strings or objects (was ${Z})`;var GX=O(()=>{W0();b();W7();G9();H7();T7();ZG={}});var FX;var BX=O(()=>{W0();b();FX=class FX extends j0{constructor(Z){let X=Object.assign({errors:C0,hkt:O0,$: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),q=Z.parseGenericParams(U,{});return new I1(q,Q[1],Z,Z,null)}return Z.parse(Q)},{attach:X})}}});var c2,H9,i6,h;var r0=O(()=>{W0();b();X7();YX();U7();GX();BX();c2=T;H9=class H9 extends X9{get ambientAttachments(){if(!c2.typeAttachments)return;return this.cacheGetter("ambientAttachments",k(c2.typeAttachments,(Z,X)=>[Z,this.bindReference(X)]))}preparseOwnAliasEntry(Z,X){let Q=Z.indexOf("<");if(Q===-1){if(I(X,"module")||I(X,"generic"))return[Z,X];let J=this.name==="ark"?Z:Z==="root"?this.name:`${this.name}.${Z}`,Y=this.resolvedConfig.keywords?.[J];if(Y)X=[X,"@",Y];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),q=Z.slice(Q+1,-1);return[U,()=>{let J=this.parseGenericParams(q,{alias:U});return F5(J,X,this)}]}parseGenericParams(Z,X){return V9(new S6(Z),[],this.createParseContext({...X,def:Z,prefix:"generic"}))}normalizeRootScopeValue(Z){if(A1(Z)&&!I(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=z9(Z,X);if(n(U)){if(U[1]==="=")return M(Y9);if(U[1]==="?")return M(J9)}return U}unit=(Z)=>this.units([Z]);valueOf=(Z)=>this.units(TQ(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 WX(this);match=new $X(this);declare=()=>({type:this.type});define(Z){return Z}type=new FX(this);static scope=(Z,X={})=>new H9(Z,X);static module=(Z,X={})=>this.scope(Z,X).export()};i6=Object.assign(H9.scope,{define:(Z)=>Z}),h=H9});var K7,qG,D7;var w7=O(()=>{W0();b();r0();K7=class K7 extends O0{description='merge an object\'s properties onto another like `Merge(User, { isAdmin: "true" })`'};qG=m0(["base",f.object],["props",f.object])((Z)=>Z.base.merge(Z.props),K7),D7=h.module({Key:f.key,Merge:qG})});var P7,JG,A7;var S7=O(()=>{W0();b();r0();P7=class P7 extends O0{};JG=m0("element")((Z)=>{let X=Z.element.exclude(f.Array),Q=X.array();return X.rawOr(Q).pipe(P1).distribute((U)=>U.assertHasKind("morph").declareOut(Q),a)},P7),A7=h.module({root:f.Array,readonly:"root",index:f.nonNegativeIntegerString,liftFrom:JG},{name:"Array"})});var MX,YG,j7,C7;var N7=O(()=>{W0();b();r0();MX=a(["string",Q2.FileConstructor]),YG=MX.rawOr(MX.array()),j7=a({meta:"an object representing parsed form data",domain:"object",index:{signature:"string",value:YG}}),C7=h.module({root:["instanceof",FormData],value:MX,parsed:j7,parse:a({in:FormData,morphs:(Z)=>{let X={};for(let[Q,U]of Z)if(Q in X){let q=X[Q];if(typeof q==="string"||q instanceof Q2.FileConstructor)X[Q]=[q,U];else q.push(U)}else X[Q]=U;return X},declaredOut:j7})},{name:"FormData"})});var E7;var b7=O(()=>{r0();E7=h.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,I7;var f7=O(()=>{b();r0();S7();N7();b7();WG={Boolean:1,Number:1,String:1},I7=h.module({...k({...wZ,...AZ},(Z,X)=>(Z in WG)?[]:[Z,["instanceof",X]]),Array:A7,TypedArray:E7,FormData:C7})});var $G,LG,F9;var OX=O(()=>{W0();r0();$G=a({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"}),LG=a({domain:"number",divisor:1}),F9=h.module({root:f.number,integer:LG,epoch:$G,safe:a({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 Q0=(Z,X,Q)=>{let U={domain:"string",pattern:{rule:Z.source,flags:Z.flags,meta:X}};if(Q)U.meta={format:Q};return m2("intersection",U)},y7,i7,GG,VG,k7,_G,zG=(Z)=>{let X=Z.replace(/[ -]+/g,""),Q=0,U,q,J=!1;for(let Y=X.length-1;Y>=0;Y--){if(U=X.substring(Y,Y+1),q=Number.parseInt(U,10),J)q*=2,Q+=q>=10?q%10+1:q;else Q+=q;J=!J}return!!(Q%10===0?X:!1)},HG,FG,BG,MG=(Z)=>!Number.isNaN(new Date(Z).valueOf()),g7,v7,OG,x7,RG,TG,KG,h7="(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])",y1,DG,$0="(?:[0-9a-fA-F]{1,4})",wG,PG,d2="a JSON string",s7=(Z)=>{if(!(Z instanceof SyntaxError))throw Z;return`must be ${d2} (${Z})`},AG,SG=(Z,X)=>{if(Z.length===0)return X.error({code:"predicate",expected:d2,actual:"empty"});try{return JSON.parse(Z)}catch(Q){return X.error({code:"predicate",expected:d2,problem:s7(Q)})}},jG,m7,CG,a7,s6,B9,NG,EG,bG,IG,fG,u7,yG,p7="a regex pattern",kG,gG,vG,l7,xG,c7,hG,mG=(Z)=>URL.canParse(Z),d7,uG,pG,r7;var o7=O(()=>{W0();b();r0();OX();y7=Q0(K6,"a well-formed integer string"),i7=h.module({root:y7,parse:a({in:y7,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:f.integer})},{name:"string.integer"}),GG=Q0(/^[\dA-Fa-f]+$/,"hex characters only"),VG=h.module({root:Q0(/^(?:[\d+/A-Za-z]{4})*(?:[\d+/A-Za-z]{2}==|[\d+/A-Za-z]{3}=)?$/,"base64-encoded"),url:Q0(/^(?:[\w-]{4})*(?:[\w-]{2}(?:==|%3D%3D)?|[\w-]{3}(?:=|%3D)?)?$/,"base64url-encoded")},{name:"string.base64"}),k7=Q0(/^[A-Z].*$/,"capitalized"),_G=h.module({root:a({in:"string",morphs:(Z)=>Z.charAt(0).toUpperCase()+Z.slice(1),declaredOut:k7}),preformatted:k7},{name:"string.capitalize"}),HG=/^(?: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}))$/,FG=a({domain:"string",pattern:{meta:"a credit card number",rule:HG.source},predicate:{meta:"a credit card number",predicate:zG}}),BG=/^([+-]?\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)?)?)?)?$/,g7=a({domain:"string",predicate:{meta:"a parsable date",predicate:MG}}).assertHasKind("intersection"),v7=i7.root.internal.narrow((Z,X)=>{let Q=Number.parseInt(Z),U=F9.epoch(Q);if(U instanceof C0)return X.errors.merge(U),!1;return!0}).configure({description:"an integer string representing a safe Unix timestamp"},"self").assertHasKind("intersection"),OG=h.module({root:v7,parse:a({in:v7,morphs:(Z)=>new Date(Z),declaredOut:f.Date})},{name:"string.date.epoch"}),x7=Q0(BG,"an ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ) date").internal.assertHasKind("intersection"),RG=h.module({root:x7,parse:a({in:x7,morphs:(Z)=>new Date(Z),declaredOut:f.Date})},{name:"string.date.iso"}),TG=h.module({root:g7,parse:a({declaredIn:g7,in:"string",morphs:(Z,X)=>{let Q=new Date(Z);if(Number.isNaN(Q.valueOf()))return X.error("a parsable date");return Q},declaredOut:f.Date}),iso:RG,epoch:OG},{name:"string.date"}),KG=Q0(/^[\w%+.-]+@[\d.A-Za-z-]+\.[A-Za-z]{2,}$/,"an email address","email"),y1=`(${h7}[.]){3}${h7}`,DG=new RegExp(`^${y1}$`),wG=new RegExp(`^((?:${$0}:){7}(?:${$0}|:)|(?:${$0}:){6}(?:${y1}|:${$0}|:)|(?:${$0}:){5}(?::${y1}|(:${$0}){1,2}|:)|(?:${$0}:){4}(?:(:${$0}){0,1}:${y1}|(:${$0}){1,3}|:)|(?:${$0}:){3}(?:(:${$0}){0,2}:${y1}|(:${$0}){1,4}|:)|(?:${$0}:){2}(?:(:${$0}){0,3}:${y1}|(:${$0}){1,5}|:)|(?:${$0}:){1}(?:(:${$0}){0,4}:${y1}|(:${$0}){1,6}|:)|(?::((?::${$0}){0,5}:${y1}|(?::${$0}){1,7}|:)))(%[0-9a-zA-Z.]{1,})?$`),PG=h.module({root:["v4 | v6","@","an IP address"],v4:Q0(DG,"an IPv4 address","ipv4"),v6:Q0(wG,"an IPv6 address","ipv6")},{name:"string.ip"}),AG=a({meta:d2,domain:"string",predicate:{meta:d2,predicate:(Z,X)=>{try{return JSON.parse(Z),!0}catch(Q){return X.reject({code:"predicate",expected:d2,problem:s7(Q)})}}}}),jG=h.module({root:AG,parse:a({meta:"safe JSON string parser",in:"string",morphs:SG,declaredOut:f.jsonObject})},{name:"string.json"}),m7=Q0(/^[a-z]*$/,"only lowercase letters"),CG=h.module({root:a({in:"string",morphs:(Z)=>Z.toLowerCase(),declaredOut:m7}),preformatted:m7},{name:"string.lower"}),a7=["NFC","NFD","NFKC","NFKD"],s6=k(a7,(Z,X)=>[X,a({domain:"string",predicate:(Q)=>Q.normalize(X)===Q,meta:`${X}-normalized unicode`})]),B9=k(a7,(Z,X)=>[X,a({in:"string",morphs:(Q)=>Q.normalize(X),declaredOut:s6[X]})]),NG=h.module({root:B9.NFC,preformatted:s6.NFC},{name:"string.normalize.NFC"}),EG=h.module({root:B9.NFD,preformatted:s6.NFD},{name:"string.normalize.NFD"}),bG=h.module({root:B9.NFKC,preformatted:s6.NFKC},{name:"string.normalize.NFKC"}),IG=h.module({root:B9.NFKD,preformatted:s6.NFKD},{name:"string.normalize.NFKD"}),fG=h.module({root:"NFC",NFC:NG,NFD:EG,NFKC:bG,NFKD:IG},{name:"string.normalize"}),u7=Q0(y4,"a well-formed numeric string"),yG=h.module({root:u7,parse:a({in:u7,morphs:(Z)=>Number.parseFloat(Z),declaredOut:f.number})},{name:"string.numeric"}),kG=a({domain:"string",predicate:{meta:p7,predicate:(Z,X)=>{try{return new RegExp(Z),!0}catch(Q){return X.reject({code:"predicate",expected:p7,problem:String(Q)})}}},meta:{format:"regex"}}),gG=/^(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-]+)*))?$/,vG=Q0(gG,"a semantic version (see https://semver.org/)"),l7=Q0(/^\S.*\S$|^\S?$/,"trimmed"),xG=h.module({root:a({in:"string",morphs:(Z)=>Z.trim(),declaredOut:l7}),preformatted:l7},{name:"string.trim"}),c7=Q0(/^[A-Z]*$/,"only uppercase letters"),hG=h.module({root:a({in:"string",morphs:(Z)=>Z.toUpperCase(),declaredOut:c7}),preformatted:c7},{name:"string.upper"}),d7=a({domain:"string",predicate:{meta:"a URL string",predicate:mG},meta:{format:"uri"}}),uG=h.module({root:d7,parse:a({declaredIn:d7,in:"string",morphs:(Z,X)=>{try{return new URL(Z)}catch{return X.error("a URL string")}},declaredOut:a(URL)})},{name:"string.url"}),pG=h.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:Q0(/^[\da-f]{8}-[\da-f]{4}-1[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv1"),v2:Q0(/^[\da-f]{8}-[\da-f]{4}-2[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv2"),v3:Q0(/^[\da-f]{8}-[\da-f]{4}-3[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv3"),v4:Q0(/^[\da-f]{8}-[\da-f]{4}-4[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv4"),v5:Q0(/^[\da-f]{8}-[\da-f]{4}-5[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv5"),v6:Q0(/^[\da-f]{8}-[\da-f]{4}-6[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv6"),v7:Q0(/^[\da-f]{8}-[\da-f]{4}-7[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv7"),v8:Q0(/^[\da-f]{8}-[\da-f]{4}-8[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv8")},{name:"string.uuid"}),r7=h.module({root:f.string,alpha:Q0(/^[A-Za-z]*$/,"only letters"),alphanumeric:Q0(/^[\dA-Za-z]*$/,"only letters and digits 0-9"),hex:GG,base64:VG,capitalize:_G,creditCard:FG,date:TG,digits:Q0(/^\d*$/,"only digits 0-9"),email:KG,integer:i7,ip:PG,json:jG,lower:CG,normalize:fG,numeric:yG,regex:kG,semver:vG,trim:xG,upper:hG,url:uG,uuid:pG},{name:"string"})});var n7,t7,lG,e7,Zq,cG,Xq,dG,Qq,iG,Uq,sG,qq,aG,Jq,rG,Yq,oG,Wq;var $q=O(()=>{W0();b();r0();n7=h.module({bigint:f.bigint,boolean:f.boolean,false:f.false,never:f.never,null:f.null,number:f.number,object:f.object,string:f.string,symbol:f.symbol,true:f.true,unknown:f.unknown,undefined:f.undefined}),t7=h.module({root:f.unknown,any:f.unknown},{name:"unknown"}),lG=h.module({root:f.jsonObject,stringify:m2("morph",{in:f.jsonObject,morphs:(Z)=>JSON.stringify(Z),declaredOut:f.string})},{name:"object.json"}),e7=h.module({root:f.object,json:lG},{name:"object"});Zq=class Zq extends O0{description='instantiate an object from an index signature and corresponding value type like `Record("string", "number")`'};cG=m0(["K",f.key],"V")((Z)=>({domain:"object",index:{signature:Z.K,value:Z.V}}),Zq);Xq=class Xq extends O0{description='pick a set of properties from an object like `Pick(User, "name | age")`'};dG=m0(["T",f.object],["K",f.key])((Z)=>Z.T.pick(Z.K),Xq);Qq=class Qq extends O0{description='omit a set of properties from an object like `Omit(User, "age")`'};iG=m0(["T",f.object],["K",f.key])((Z)=>Z.T.omit(Z.K),Qq);Uq=class Uq extends O0{description="make all named properties of an object optional like `Partial(User)`"};sG=m0(["T",f.object])((Z)=>Z.T.partial(),Uq);qq=class qq extends O0{description="make all named properties of an object required like `Required(User)`"};aG=m0(["T",f.object])((Z)=>Z.T.required(),qq);Jq=class Jq extends O0{description='exclude branches of a union like `Exclude("boolean", "true")`'};rG=m0("T","U")((Z)=>Z.T.exclude(Z.U),Jq);Yq=class Yq extends O0{description='extract branches of a union like `Extract("0 | false | 1", "number")`'};oG=m0("T","U")((Z)=>Z.T.extract(Z.U),Yq),Wq=h.module({Exclude:rG,Extract:oG,Omit:iG,Partial:sG,Pick:dG,Record:cG,Required:aG})});var O1,_0,o0,nG,tG,eG,Ob,ZV,XV;var Lq=O(()=>{r0();w7();f7();OX();o7();$q();O1=i6({...n7,...Wq,...I7,...D7,string:r7,number:F9,object:e7,unknown:t7},{prereducedAliases:!0,name:"ark"}),_0=O1.export();Object.assign(c2.ambient,_0);c2.typeAttachments={string:_0.string.root,number:_0.number.root,bigint:_0.bigint,boolean:_0.boolean,symbol:_0.symbol,undefined:_0.undefined,null:_0.null,object:_0.object.root,unknown:_0.unknown.root,false:_0.false,true:_0.true,never:_0.never,arrayIndex:_0.Array.index,Key:_0.Key,Record:_0.Record,Array:_0.Array.root,Date:_0.Date};o0=Object.assign(O1.type,c2.typeAttachments),nG=O1.match,tG=O1.fn,eG=O1.generic,Ob=O1.schema,ZV=O1.define,XV=O1.declare});var Gq=O(()=>{W0()});var RX=O(()=>{W0();b();wU();YX();Lq();Gq();r0();BX();PU()});class D0{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(M9.TEMPLATE_INTERPOLATION,(Q,U)=>{try{let q=this.evaluateExpression(U,X);if(q===void 0||q===null)return"undefined";return String(q)}catch(q){return console.error(`Error in interpolation: ${Q}`,q),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(M9.NESTED_PROPERTY_ACCESS.test(Z))return this.getNestedValue(Z,X);if(M9.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 q of Q){if(U===null||U===void 0||typeof U!=="object"||!(q in U))return;U=U[q]}return U}static findVariableInContext(Z,X){let Q=this.getNestedValue(Z,X);if(Q!==void 0)return Q;for(let U of Vq){let q=`${U}.${Z}`,J=this.getNestedValue(q,X);if(J!==void 0)return J}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 q=this.getNestedValue(U,X);if(q!==void 0)return typeof q==="string"?`"${q}"`:String(q);return U}),Q=Q.replace(M9.WORD_BOUNDARY,(U)=>{if(UV.includes(U))return U;if(Vq.has(U))return U;let q=this.findVariableInContext(U,X);if(q!==void 0)return typeof q==="string"?`"${q}"`:String(q);return U});try{return this.evaluateMathExpression(Q)}catch(U){return console.error(`Error in mathematical evaluation: ${Z}`,U),NaN}}}var QV,Vq,u0,UV,M9;var a6=O(()=>{QV={DATA:"data",VARS:"vars",REQUEST:"request",COMPUTED:"computed",ENV:"env",EVENT:"event",TIMESTAMP:"timestamp"},Vq=new Set(Object.values(QV)),u0={RANDOM:"random",FLOOR:"floor",CEIL:"ceil",ROUND:"round",SQRT:"sqrt",ABS:"abs",POW:"pow",MIN:"min",MAX:"max",SIN:"sin",COS:"cos",TAN:"tan"},UV=[u0.RANDOM,u0.FLOOR,u0.CEIL,u0.ROUND,u0.SQRT,u0.ABS,u0.POW,u0.MIN,u0.MAX,u0.SIN,u0.COS,u0.TAN],M9={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 TX={};XW(TX,{BuiltInAction:()=>Y2,ActionRegistry:()=>r6});class r6{static instance;actions=new Map;constructor(Z=!0){if(Z)this.registerDefaults()}static getInstance(Z=!0){if(!this.instance)this.instance=new r6(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(Y2.LOG,{description:"Logs a message to the console with string interpolation support",params:o0({"message?":"string","content?":"string"}),returns:o0({message:"string"}),handler:(Z,X)=>{let Q=Z.params?.message||Z.params?.content||"Log Trigger",U=typeof Q==="string"?D0.interpolate(Q,X):String(Q);return console.log(`[TriggerLog] ${U}`),{message:U}}}),this.register(Y2.MATH,{description:"Evaluates a mathematical expression or performs string concatenation",params:o0({expression:"string"}),returns:o0("number | string"),handler:(Z,X)=>{let Q=String(Z.params?.expression||"0");return D0.evaluate(Q,X)}}),this.register(Y2.FORWARD,_q),this.register(Y2.FETCH,_q)}}var Y2,qV=async(Z,X)=>{let Q=Z.params?.url||"",U=typeof Q==="string"?D0.interpolate(Q,X):String(Q),q=String(Z.params?.method||"POST").toUpperCase();if(Z.params?.query&&typeof Z.params.query==="object"){let L=new URLSearchParams;for(let[G,_]of Object.entries(Z.params.query))if(_!==void 0&&_!==null){let H=typeof _==="string"?D0.interpolate(_,X):typeof _==="object"?JSON.stringify(_):String(_);L.append(G,H)}let V=L.toString();if(V)U+=(U.includes("?")?"&":"?")+V}let Y=["POST","PUT","PATCH"].includes(q),{bodyContent:W,defaultContentType:$}=(()=>{if(!Y||Z.params?.body==null)return{bodyContent:Y?JSON.stringify(X.data):void 0,defaultContentType:"application/json"};let L=Z.params.body;if(typeof L==="string"){let V=D0.interpolate(L,X),G=V.trimStart().startsWith("{")||V.trimStart().startsWith("[");return{bodyContent:V,defaultContentType:G?"application/json":"text/plain"}}return{bodyContent:JSON.stringify(L),defaultContentType:"application/json"}})();try{let L=await fetch(U,{method:q,headers:{"Content-Type":$,...typeof Z.params?.headers==="object"&&Z.params.headers!==null&&!Array.isArray(Z.params.headers)?Z.params.headers:{}},...Y&&W!==void 0?{body:W}:{}});return{url:U,method:q,status:L.status,headers:(()=>{let V={};return L.headers.forEach((G,_)=>V[_]=G),V})(),body:await L.text()}}catch(L){return{url:U,method:q,error:String(L)}}},_q;var i2=O(()=>{RX();a6();Y2={LOG:"LOG",MATH:"MATH",FORWARD:"FORWARD",FETCH:"FETCH",EMIT_EVENT:"EMIT_EVENT"},_q={description:"Forwards the current event data to a remote URL via HTTP",params:o0({url:"string","method?":"'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE'","query?":"Record<string, unknown>","headers?":"Record<string, string>","body?":"string | Record<string, unknown>"}),returns:o0({url:"string",method:"string",status:"number",headers:"Record<string, string>",body:"string"}).or(o0({url:"string",method:"string",error:"string"})),handler:qV}});var d=C((SV)=>{var gX=Symbol.for("yaml.alias"),jq=Symbol.for("yaml.document"),S9=Symbol.for("yaml.map"),Cq=Symbol.for("yaml.pair"),vX=Symbol.for("yaml.scalar"),j9=Symbol.for("yaml.seq"),T1=Symbol.for("yaml.node.type"),RV=(Z)=>!!Z&&typeof Z==="object"&&Z[T1]===gX,TV=(Z)=>!!Z&&typeof Z==="object"&&Z[T1]===jq,KV=(Z)=>!!Z&&typeof Z==="object"&&Z[T1]===S9,DV=(Z)=>!!Z&&typeof Z==="object"&&Z[T1]===Cq,Nq=(Z)=>!!Z&&typeof Z==="object"&&Z[T1]===vX,wV=(Z)=>!!Z&&typeof Z==="object"&&Z[T1]===j9;function Eq(Z){if(Z&&typeof Z==="object")switch(Z[T1]){case S9:case j9:return!0}return!1}function PV(Z){if(Z&&typeof Z==="object")switch(Z[T1]){case gX:case S9:case vX:case j9:return!0}return!1}var AV=(Z)=>(Nq(Z)||Eq(Z))&&!!Z.anchor;SV.ALIAS=gX;SV.DOC=jq;SV.MAP=S9;SV.NODE_TYPE=T1;SV.PAIR=Cq;SV.SCALAR=vX;SV.SEQ=j9;SV.hasAnchor=AV;SV.isAlias=RV;SV.isCollection=Eq;SV.isDocument=TV;SV.isMap=KV;SV.isNode=PV;SV.isPair=DV;SV.isScalar=Nq;SV.isSeq=wV});var U4=C((lV)=>{var H0=d(),I0=Symbol("break visit"),bq=Symbol("skip children"),$1=Symbol("remove node");function C9(Z,X){let Q=Iq(X);if(H0.isDocument(Z)){if(r2(null,Z.contents,Q,Object.freeze([Z]))===$1)Z.contents=null}else r2(null,Z,Q,Object.freeze([]))}C9.BREAK=I0;C9.SKIP=bq;C9.REMOVE=$1;function r2(Z,X,Q,U){let q=fq(Z,X,Q,U);if(H0.isNode(q)||H0.isPair(q))return yq(Z,U,q),r2(Z,q,Q,U);if(typeof q!=="symbol"){if(H0.isCollection(X)){U=Object.freeze(U.concat(X));for(let J=0;J<X.items.length;++J){let Y=r2(J,X.items[J],Q,U);if(typeof Y==="number")J=Y-1;else if(Y===I0)return I0;else if(Y===$1)X.items.splice(J,1),J-=1}}else if(H0.isPair(X)){U=Object.freeze(U.concat(X));let J=r2("key",X.key,Q,U);if(J===I0)return I0;else if(J===$1)X.key=null;let Y=r2("value",X.value,Q,U);if(Y===I0)return I0;else if(Y===$1)X.value=null}}return q}async function N9(Z,X){let Q=Iq(X);if(H0.isDocument(Z)){if(await o2(null,Z.contents,Q,Object.freeze([Z]))===$1)Z.contents=null}else await o2(null,Z,Q,Object.freeze([]))}N9.BREAK=I0;N9.SKIP=bq;N9.REMOVE=$1;async function o2(Z,X,Q,U){let q=await fq(Z,X,Q,U);if(H0.isNode(q)||H0.isPair(q))return yq(Z,U,q),o2(Z,q,Q,U);if(typeof q!=="symbol"){if(H0.isCollection(X)){U=Object.freeze(U.concat(X));for(let J=0;J<X.items.length;++J){let Y=await o2(J,X.items[J],Q,U);if(typeof Y==="number")J=Y-1;else if(Y===I0)return I0;else if(Y===$1)X.items.splice(J,1),J-=1}}else if(H0.isPair(X)){U=Object.freeze(U.concat(X));let J=await o2("key",X.key,Q,U);if(J===I0)return I0;else if(J===$1)X.key=null;let Y=await o2("value",X.value,Q,U);if(Y===I0)return I0;else if(Y===$1)X.value=null}}return q}function Iq(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 fq(Z,X,Q,U){if(typeof Q==="function")return Q(Z,X,U);if(H0.isMap(X))return Q.Map?.(Z,X,U);if(H0.isSeq(X))return Q.Seq?.(Z,X,U);if(H0.isPair(X))return Q.Pair?.(Z,X,U);if(H0.isScalar(X))return Q.Scalar?.(Z,X,U);if(H0.isAlias(X))return Q.Alias?.(Z,X,U);return}function yq(Z,X,Q){let U=X[X.length-1];if(H0.isCollection(U))U.items[Z]=Q;else if(H0.isPair(U))if(Z==="key")U.key=Q;else U.value=Q;else if(H0.isDocument(U))U.contents=Q;else{let q=H0.isAlias(U)?"alias":"scalar";throw Error(`Cannot replace node with ${q} parent`)}}lV.visit=C9;lV.visitAsync=N9});var xX=C((rV)=>{var kq=d(),iV=U4(),sV={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},aV=(Z)=>Z.replace(/[!,[\]{}]/g,(X)=>sV[X]);class l0{constructor(Z,X){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},l0.defaultYaml,Z),this.tags=Object.assign({},l0.defaultTags,X)}clone(){let Z=new l0(this.yaml,this.tags);return Z.docStart=this.docStart,Z}atDocument(){let Z=new l0(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:l0.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},l0.defaultTags);break}return Z}add(Z,X){if(this.atNextDocument)this.yaml={explicit:l0.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},l0.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[q,J]=Q;return this.tags[q]=J,!0}case"%YAML":{if(this.yaml.explicit=!0,Q.length!==1)return X(0,"%YAML directive should contain exactly one part"),!1;let[q]=Q;if(q==="1.1"||q==="1.2")return this.yaml.version=q,!0;else{let J=/^\d+\.\d+$/.test(q);return X(6,`Unsupported YAML version ${q}`,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 J=Z.slice(2,-1);if(J==="!"||J==="!!")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 J}let[,Q,U]=Z.match(/^(.*!)([^!]*)$/s);if(!U)X(`The ${Z} tag has no suffix`);let q=this.tags[Q];if(q)try{return q+decodeURIComponent(U)}catch(J){return X(String(J)),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+aV(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&&kq.isNode(Z.contents)){let q={};iV.visit(Z.contents,(J,Y)=>{if(kq.isNode(Y)&&Y.tag)q[Y.tag]=!0}),U=Object.keys(q)}else U=[];for(let[q,J]of Q){if(q==="!!"&&J==="tag:yaml.org,2002:")continue;if(!Z||U.some((Y)=>Y.startsWith(J)))X.push(`%TAG ${q} ${J}`)}return X.join(`
47
+ `)}}l0.defaultYaml={explicit:!1,version:"1.2"};l0.defaultTags={"!!":"tag:yaml.org,2002:"};rV.Directives=l0});var E9=C((Z_)=>{var gq=d(),nV=U4();function tV(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 vq(Z){let X=new Set;return nV.visit(Z,{Value(Q,U){if(U.anchor)X.add(U.anchor)}}),X}function xq(Z,X){for(let Q=1;;++Q){let U=`${Z}${Q}`;if(!X.has(U))return U}}function eV(Z,X){let Q=[],U=new Map,q=null;return{onAnchor:(J)=>{Q.push(J),q??(q=vq(Z));let Y=xq(X,q);return q.add(Y),Y},setAnchors:()=>{for(let J of Q){let Y=U.get(J);if(typeof Y==="object"&&Y.anchor&&(gq.isScalar(Y.node)||gq.isCollection(Y.node)))Y.node.anchor=Y.anchor;else{let W=Error("Failed to resolve repeated object (this should not happen)");throw W.source=J,W}}},sourceObjects:U}}Z_.anchorIsValid=tV;Z_.anchorNames=vq;Z_.createNodeAnchors=eV;Z_.findNewAnchor=xq});var hX=C((J_)=>{function q4(Z,X,Q,U){if(U&&typeof U==="object")if(Array.isArray(U))for(let q=0,J=U.length;q<J;++q){let Y=U[q],W=q4(Z,U,String(q),Y);if(W===void 0)delete U[q];else if(W!==Y)U[q]=W}else if(U instanceof Map)for(let q of Array.from(U.keys())){let J=U.get(q),Y=q4(Z,U,q,J);if(Y===void 0)U.delete(q);else if(Y!==J)U.set(q,Y)}else if(U instanceof Set)for(let q of Array.from(U)){let J=q4(Z,U,q,q);if(J===void 0)U.delete(q);else if(J!==q)U.delete(q),U.add(J)}else for(let[q,J]of Object.entries(U)){let Y=q4(Z,U,q,J);if(Y===void 0)delete U[q];else if(Y!==J)U[q]=Y}return Z.call(X,Q,U)}J_.applyReviver=q4});var h1=C(($_)=>{var W_=d();function hq(Z,X,Q){if(Array.isArray(Z))return Z.map((U,q)=>hq(U,String(q),Q));if(Z&&typeof Z.toJSON==="function"){if(!Q||!W_.hasAnchor(Z))return Z.toJSON(X,Q);let U={aliasCount:0,count:1,res:void 0};Q.anchors.set(Z,U),Q.onCreate=(J)=>{U.res=J,delete Q.onCreate};let q=Z.toJSON(X,Q);if(Q.onCreate)Q.onCreate(q);return q}if(typeof Z==="bigint"&&!Q?.keep)return Number(Z);return Z}$_.toJS=hq});var b9=C((__)=>{var G_=hX(),mq=d(),V_=h1();class uq{constructor(Z){Object.defineProperty(this,mq.NODE_TYPE,{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:q}={}){if(!mq.isDocument(Z))throw TypeError("A document argument is required");let J={anchors:new Map,doc:Z,keep:!0,mapAsMap:X===!0,mapKeyWarned:!1,maxAliasCount:typeof Q==="number"?Q:100},Y=V_.toJS(this,"",J);if(typeof U==="function")for(let{count:W,res:$}of J.anchors.values())U($,W);return typeof q==="function"?G_.applyReviver(q,{"":Y},"",Y):Y}}__.NodeBase=uq});var J4=C((O_)=>{var H_=E9(),F_=U4(),n2=d(),B_=b9(),M_=h1();class pq extends B_.NodeBase{constructor(Z){super(n2.ALIAS);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=[],F_.visit(Z,{Node:(q,J)=>{if(n2.isAlias(J)||n2.hasAnchor(J))Q.push(J)}}),X)X.aliasResolveCache=Q;let U=void 0;for(let q of Q){if(q===this)break;if(q.anchor===this.source)U=q}return U}toJSON(Z,X){if(!X)return{source:this.source};let{anchors:Q,doc:U,maxAliasCount:q}=X,J=this.resolve(U,X);if(!J){let W=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw ReferenceError(W)}let Y=Q.get(J);if(!Y)M_.toJS(J,null,X),Y=Q.get(J);if(Y?.res===void 0)throw ReferenceError("This should not happen: Alias anchor was not resolved?");if(q>=0){if(Y.count+=1,Y.aliasCount===0)Y.aliasCount=I9(U,J,Q);if(Y.count*Y.aliasCount>q)throw ReferenceError("Excessive alias count indicates a resource exhaustion attack")}return Y.res}toString(Z,X,Q){let U=`*${this.source}`;if(Z){if(H_.anchorIsValid(this.source),Z.options.verifyAliasOrder&&!Z.anchors.has(this.source)){let q=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw Error(q)}if(Z.implicitKey)return`${U} `}return U}}function I9(Z,X,Q){if(n2.isAlias(X)){let U=X.resolve(Z),q=Q&&U&&Q.get(U);return q?q.count*q.aliasCount:0}else if(n2.isCollection(X)){let U=0;for(let q of X.items){let J=I9(Z,q,Q);if(J>U)U=J}return U}else if(n2.isPair(X)){let U=I9(Z,X.key,Q),q=I9(Z,X.value,Q);return Math.max(U,q)}return 1}O_.Alias=pq});var L0=C((P_)=>{var T_=d(),K_=b9(),D_=h1(),w_=(Z)=>!Z||typeof Z!=="function"&&typeof Z!=="object";class L2 extends K_.NodeBase{constructor(Z){super(T_.SCALAR);this.value=Z}toJSON(Z,X){return X?.keep?this.value:D_.toJS(this.value,Z,X)}toString(){return String(this.value)}}L2.BLOCK_FOLDED="BLOCK_FOLDED";L2.BLOCK_LITERAL="BLOCK_LITERAL";L2.PLAIN="PLAIN";L2.QUOTE_DOUBLE="QUOTE_DOUBLE";L2.QUOTE_SINGLE="QUOTE_SINGLE";P_.Scalar=L2;P_.isScalarValue=w_});var Y4=C((b_)=>{var j_=J4(),G2=d(),lq=L0(),C_="tag:yaml.org,2002:";function N_(Z,X,Q){if(X){let U=Q.filter((J)=>J.tag===X),q=U.find((J)=>!J.format)??U[0];if(!q)throw Error(`Tag ${X} not found`);return q}return Q.find((U)=>U.identify?.(Z)&&!U.format)}function E_(Z,X,Q){if(G2.isDocument(Z))Z=Z.contents;if(G2.isNode(Z))return Z;if(G2.isPair(Z)){let G=Q.schema[G2.MAP].createNode?.(Q.schema,null,Q);return G.items.push(Z),G}if(Z instanceof String||Z instanceof Number||Z instanceof Boolean||typeof BigInt<"u"&&Z instanceof BigInt)Z=Z.valueOf();let{aliasDuplicateObjects:U,onAnchor:q,onTagObj:J,schema:Y,sourceObjects:W}=Q,$=void 0;if(U&&Z&&typeof Z==="object")if($=W.get(Z),$)return $.anchor??($.anchor=q(Z)),new j_.Alias($.anchor);else $={anchor:null,node:null},W.set(Z,$);if(X?.startsWith("!!"))X=C_+X.slice(2);let L=N_(Z,X,Y.tags);if(!L){if(Z&&typeof Z.toJSON==="function")Z=Z.toJSON();if(!Z||typeof Z!=="object"){let G=new lq.Scalar(Z);if($)$.node=G;return G}L=Z instanceof Map?Y[G2.MAP]:(Symbol.iterator in Object(Z))?Y[G2.SEQ]:Y[G2.MAP]}if(J)J(L),delete Q.onTagObj;let V=L?.createNode?L.createNode(Q.schema,Z,Q):typeof L?.nodeClass?.from==="function"?L.nodeClass.from(Q.schema,Z,Q):new lq.Scalar(Z);if(X)V.tag=X;else if(!L.default)V.tag=L.tag;if($)$.node=V;return V}b_.createNode=E_});var f9=C((k_)=>{var f_=Y4(),L1=d(),y_=b9();function mX(Z,X,Q){let U=Q;for(let q=X.length-1;q>=0;--q){let J=X[q];if(typeof J==="number"&&Number.isInteger(J)&&J>=0){let Y=[];Y[J]=U,U=Y}else U=new Map([[J,U]])}return f_.createNode(U,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw Error("This should not happen, please report a bug.")},schema:Z,sourceObjects:new Map})}var cq=(Z)=>Z==null||typeof Z==="object"&&!!Z[Symbol.iterator]().next().done;class dq extends y_.NodeBase{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)=>L1.isNode(Q)||L1.isPair(Q)?Q.clone(Z):Q),this.range)X.range=this.range.slice();return X}addIn(Z,X){if(cq(Z))this.add(X);else{let[Q,...U]=Z,q=this.get(Q,!0);if(L1.isCollection(q))q.addIn(U,X);else if(q===void 0&&this.schema)this.set(Q,mX(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(L1.isCollection(U))return U.deleteIn(Q);else throw Error(`Expected YAML collection at ${X}. Remaining path: ${Q}`)}getIn(Z,X){let[Q,...U]=Z,q=this.get(Q,!0);if(U.length===0)return!X&&L1.isScalar(q)?q.value:q;else return L1.isCollection(q)?q.getIn(U,X):void 0}hasAllNullValues(Z){return this.items.every((X)=>{if(!L1.isPair(X))return!1;let Q=X.value;return Q==null||Z&&L1.isScalar(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 L1.isCollection(U)?U.hasIn(Q):!1}setIn(Z,X){let[Q,...U]=Z;if(U.length===0)this.set(Q,X);else{let q=this.get(Q,!0);if(L1.isCollection(q))q.setIn(U,X);else if(q===void 0&&this.schema)this.set(Q,mX(this.schema,U,X));else throw Error(`Expected YAML collection at ${Q}. Remaining path: ${U}`)}}}k_.Collection=dq;k_.collectionFromPath=mX;k_.isEmptyPath=cq});var W4=C((u_)=>{var h_=(Z)=>Z.replace(/^(?!$)(?: $)?/gm,"#");function uX(Z,X){if(/^\n+$/.test(Z))return Z.substring(1);return X?Z.replace(/^(?! *$)/gm,X):Z}var m_=(Z,X,Q)=>Z.endsWith(`
48
+ `)?uX(Q,X):Q.includes(`
49
49
  `)?`
50
- `+gX(Q,X):(Z.endsWith(" ")?"":" ")+Q;kV.indentComment=gX;kV.lineComment=fV;kV.stringifyComment=IV});var uJ=C((hV)=>{function xV(Z,X,Q="flow",{indentAtStart:U,lineWidth:J=80,minContentWidth:q=20,onFold:Y,onOverflow:W}={}){if(!J||J<0)return Z;if(J<q)q=0;let $=Math.max(1+q,1+J-X.length);if(Z.length<=$)return Z;let L=[],_={},G=J-X.length;if(typeof U==="number")if(U>J-Math.max(2,q))L.push(0);else G=J-U;let V=void 0,z=void 0,F=!1,H=-1,B=-1,T=-1;if(Q==="block"){if(H=mJ(Z,H,X.length),H!==-1)G=H+$}for(let K;K=Z[H+=1];){if(Q==="quoted"&&K==="\\"){switch(B=H,Z[H+1]){case"x":H+=3;break;case"u":H+=5;break;case"U":H+=9;break;default:H+=1}T=H}if(K===`
51
- `){if(Q==="block")H=mJ(Z,H,X.length);G=H+X.length+$,V=void 0}else{if(K===" "&&z&&z!==" "&&z!==`
52
- `&&z!=="\t"){let w=Z[H+1];if(w&&w!==" "&&w!==`
53
- `&&w!=="\t")V=H}if(H>=G)if(V)L.push(V),G=V+$,V=void 0;else if(Q==="quoted"){while(z===" "||z==="\t")z=K,K=Z[H+=1],F=!0;let w=H>T+1?H-2:B-1;if(_[w])return Z;L.push(w),_[w]=!0,G=w+$,V=void 0}else F=!0}z=K}if(F&&W)W();if(L.length===0)return Z;if(Y)Y();let D=Z.slice(0,L[0]);for(let K=0;K<L.length;++K){let w=L[K],S=L[K+1]||Z.length;if(w===0)D=`
54
- ${X}${Z.slice(0,S)}`;else{if(Q==="quoted"&&_[w])D+=`${Z[w]}\\`;D+=`
55
- ${X}${Z.slice(w+1,S)}`}}return D}function mJ(Z,X,Q){let U=X,J=X+1,q=Z[J];while(q===" "||q==="\t")if(X<J+Q)q=Z[++X];else{do q=Z[++X];while(q&&q!==`
56
- `);U=X,J=X+1,q=Z[J]}return U}hV.FOLD_BLOCK="block";hV.FOLD_FLOW="flow";hV.FOLD_QUOTED="quoted";hV.foldFlowLines=xV});var Q4=C((sV)=>{var e0=W0(),m1=uJ(),b9=(Z,X)=>({indentAtStart:X?Z.indent.length:Z.indentAtStart,lineWidth:Z.options.lineWidth,minContentWidth:Z.options.minContentWidth}),I9=(Z)=>/^(%|---|\.\.\.)/m.test(Z);function dV(Z,X,Q){if(!X||X<0)return!1;let U=X-Q,J=Z.length;if(J<=U)return!1;for(let q=0,Y=0;q<J;++q)if(Z[q]===`
57
- `){if(q-Y>U)return!0;if(Y=q+1,J-Y<=U)return!1}return!0}function X4(Z,X){let Q=JSON.stringify(Z);if(X.options.doubleQuotedAsJSON)return Q;let{implicitKey:U}=X,J=X.options.doubleQuotedMinMultiLineLength,q=X.indent||(I9(Z)?" ":""),Y="",W=0;for(let $=0,L=Q[$];L;L=Q[++$]){if(L===" "&&Q[$+1]==="\\"&&Q[$+2]==="n")Y+=Q.slice(W,$)+"\\ ",$+=1,W=$,L="\\";if(L==="\\")switch(Q[$+1]){case"u":{Y+=Q.slice(W,$);let _=Q.substr($+2,4);switch(_){case"0000":Y+="\\0";break;case"0007":Y+="\\a";break;case"000b":Y+="\\v";break;case"001b":Y+="\\e";break;case"0085":Y+="\\N";break;case"00a0":Y+="\\_";break;case"2028":Y+="\\L";break;case"2029":Y+="\\P";break;default:if(_.substr(0,2)==="00")Y+="\\x"+_.substr(2);else Y+=Q.substr($,6)}$+=5,W=$+1}break;case"n":if(U||Q[$+2]==='"'||Q.length<J)$+=1;else{Y+=Q.slice(W,$)+`
50
+ `+uX(Q,X):(Z.endsWith(" ")?"":" ")+Q;u_.indentComment=uX;u_.lineComment=m_;u_.stringifyComment=h_});var sq=C((i_)=>{function d_(Z,X,Q="flow",{indentAtStart:U,lineWidth:q=80,minContentWidth:J=20,onFold:Y,onOverflow:W}={}){if(!q||q<0)return Z;if(q<J)J=0;let $=Math.max(1+J,1+q-X.length);if(Z.length<=$)return Z;let L=[],V={},G=q-X.length;if(typeof U==="number")if(U>q-Math.max(2,J))L.push(0);else G=q-U;let _=void 0,H=void 0,F=!1,z=-1,B=-1,K=-1;if(Q==="block"){if(z=iq(Z,z,X.length),z!==-1)G=z+$}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=iq(Z,z,X.length);G=z+X.length+$,_=void 0}else{if(P===" "&&H&&H!==" "&&H!==`
52
+ `&&H!=="\t"){let R=Z[z+1];if(R&&R!==" "&&R!==`
53
+ `&&R!=="\t")_=z}if(z>=G)if(_)L.push(_),G=_+$,_=void 0;else if(Q==="quoted"){while(H===" "||H==="\t")H=P,P=Z[z+=1],F=!0;let R=z>K+1?z-2:B-1;if(V[R])return Z;L.push(R),V[R]=!0,G=R+$,_=void 0}else F=!0}H=P}if(F&&W)W();if(L.length===0)return Z;if(Y)Y();let w=Z.slice(0,L[0]);for(let P=0;P<L.length;++P){let R=L[P],S=L[P+1]||Z.length;if(R===0)w=`
54
+ ${X}${Z.slice(0,S)}`;else{if(Q==="quoted"&&V[R])w+=`${Z[R]}\\`;w+=`
55
+ ${X}${Z.slice(R+1,S)}`}}return w}function iq(Z,X,Q){let U=X,q=X+1,J=Z[q];while(J===" "||J==="\t")if(X<q+Q)J=Z[++X];else{do J=Z[++X];while(J&&J!==`
56
+ `);U=X,q=X+1,J=Z[q]}return U}i_.FOLD_BLOCK="block";i_.FOLD_FLOW="flow";i_.FOLD_QUOTED="quoted";i_.foldFlowLines=d_});var L4=C((Zz)=>{var n0=L0(),m1=sq(),k9=(Z,X)=>({indentAtStart:X?Z.indent.length:Z.indentAtStart,lineWidth:Z.options.lineWidth,minContentWidth:Z.options.minContentWidth}),g9=(Z)=>/^(%|---|\.\.\.)/m.test(Z);function n_(Z,X,Q){if(!X||X<0)return!1;let U=X-Q,q=Z.length;if(q<=U)return!1;for(let J=0,Y=0;J<q;++J)if(Z[J]===`
57
+ `){if(J-Y>U)return!0;if(Y=J+1,q-Y<=U)return!1}return!0}function $4(Z,X){let Q=JSON.stringify(Z);if(X.options.doubleQuotedAsJSON)return Q;let{implicitKey:U}=X,q=X.options.doubleQuotedMinMultiLineLength,J=X.indent||(g9(Z)?" ":""),Y="",W=0;for(let $=0,L=Q[$];L;L=Q[++$]){if(L===" "&&Q[$+1]==="\\"&&Q[$+2]==="n")Y+=Q.slice(W,$)+"\\ ",$+=1,W=$,L="\\";if(L==="\\")switch(Q[$+1]){case"u":{Y+=Q.slice(W,$);let V=Q.substr($+2,4);switch(V){case"0000":Y+="\\0";break;case"0007":Y+="\\a";break;case"000b":Y+="\\v";break;case"001b":Y+="\\e";break;case"0085":Y+="\\N";break;case"00a0":Y+="\\_";break;case"2028":Y+="\\L";break;case"2029":Y+="\\P";break;default:if(V.substr(0,2)==="00")Y+="\\x"+V.substr(2);else Y+=Q.substr($,6)}$+=5,W=$+1}break;case"n":if(U||Q[$+2]==='"'||Q.length<q)$+=1;else{Y+=Q.slice(W,$)+`
58
58
 
59
59
  `;while(Q[$+2]==="\\"&&Q[$+3]==="n"&&Q[$+4]!=='"')Y+=`
60
- `,$+=2;if(Y+=q,Q[$+2]===" ")Y+="\\";$+=1,W=$+1}break;default:$+=1}}return Y=W?Y+Q.slice(W):Q,U?Y:m1.foldFlowLines(Y,q,m1.FOLD_QUOTED,b9(X,!1))}function vX(Z,X){if(X.options.singleQuote===!1||X.implicitKey&&Z.includes(`
61
- `)||/[ \t]\n|\n[ \t]/.test(Z))return X4(Z,X);let Q=X.indent||(I9(Z)?" ":""),U="'"+Z.replace(/'/g,"''").replace(/\n+/g,`$&
62
- ${Q}`)+"'";return X.implicitKey?U:m1.foldFlowLines(U,Q,m1.FOLD_FLOW,b9(X,!1))}function s2(Z,X){let{singleQuote:Q}=X.options,U;if(Q===!1)U=X4;else{let J=Z.includes('"'),q=Z.includes("'");if(J&&!q)U=vX;else if(q&&!J)U=X4;else U=Q?vX:X4}return U(Z,X)}var xX;try{xX=new RegExp(`(^|(?<!
60
+ `,$+=2;if(Y+=J,Q[$+2]===" ")Y+="\\";$+=1,W=$+1}break;default:$+=1}}return Y=W?Y+Q.slice(W):Q,U?Y:m1.foldFlowLines(Y,J,m1.FOLD_QUOTED,k9(X,!1))}function pX(Z,X){if(X.options.singleQuote===!1||X.implicitKey&&Z.includes(`
61
+ `)||/[ \t]\n|\n[ \t]/.test(Z))return $4(Z,X);let Q=X.indent||(g9(Z)?" ":""),U="'"+Z.replace(/'/g,"''").replace(/\n+/g,`$&
62
+ ${Q}`)+"'";return X.implicitKey?U:m1.foldFlowLines(U,Q,m1.FOLD_FLOW,k9(X,!1))}function t2(Z,X){let{singleQuote:Q}=X.options,U;if(Q===!1)U=$4;else{let q=Z.includes('"'),J=Z.includes("'");if(q&&!J)U=pX;else if(J&&!q)U=$4;else U=Q?pX:$4}return U(Z,X)}var lX;try{lX=new RegExp(`(^|(?<!
63
63
  ))
64
64
  +(?!
65
- |$)`,"g")}catch{xX=/\n+(?!\n|$)/g}function E9({comment:Z,type:X,value:Q},U,J,q){let{blockQuote:Y,commentString:W,lineWidth:$}=U.options;if(!Y||/\n[\t ]+$/.test(Q))return s2(Q,U);let L=U.indent||(U.forceBlockIndent||I9(Q)?" ":""),_=Y==="literal"?!0:Y==="folded"||X===e0.Scalar.BLOCK_FOLDED?!1:X===e0.Scalar.BLOCK_LITERAL?!0:!dV(Q,$,L.length);if(!Q)return _?`|
65
+ |$)`,"g")}catch{lX=/\n+(?!\n|$)/g}function y9({comment:Z,type:X,value:Q},U,q,J){let{blockQuote:Y,commentString:W,lineWidth:$}=U.options;if(!Y||/\n[\t ]+$/.test(Q))return t2(Q,U);let L=U.indent||(U.forceBlockIndent||g9(Q)?" ":""),V=Y==="literal"?!0:Y==="folded"||X===n0.Scalar.BLOCK_FOLDED?!1:X===n0.Scalar.BLOCK_LITERAL?!0:!n_(Q,$,L.length);if(!Q)return V?`|
66
66
  `:`>
67
- `;let G,V;for(V=Q.length;V>0;--V){let S=Q[V-1];if(S!==`
68
- `&&S!=="\t"&&S!==" ")break}let z=Q.substring(V),F=z.indexOf(`
69
- `);if(F===-1)G="-";else if(Q===z||F!==z.length-1){if(G="+",q)q()}else G="";if(z){if(Q=Q.slice(0,-z.length),z[z.length-1]===`
70
- `)z=z.slice(0,-1);z=z.replace(xX,`$&${L}`)}let H=!1,B,T=-1;for(B=0;B<Q.length;++B){let S=Q[B];if(S===" ")H=!0;else if(S===`
71
- `)T=B;else break}let D=Q.substring(0,T<B?T+1:B);if(D)Q=Q.substring(D.length),D=D.replace(/\n+/g,`$&${L}`);let w=(H?L?"2":"1":"")+G;if(Z){if(w+=" "+W(Z.replace(/ ?[\r\n]+/g," ")),J)J()}if(!_){let S=Q.replace(/\n+/g,`
72
- $&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${L}`),j=!1,v=b9(U,!0);if(Y!=="folded"&&X!==e0.Scalar.BLOCK_FOLDED)v.onOverflow=()=>{j=!0};let N=m1.foldFlowLines(`${D}${S}${z}`,L,m1.FOLD_BLOCK,v);if(!j)return`>${w}
73
- ${L}${N}`}return Q=Q.replace(/\n+/g,`$&${L}`),`|${w}
74
- ${L}${D}${Q}${z}`}function cV(Z,X,Q,U){let{type:J,value:q}=Z,{actualString:Y,implicitKey:W,indent:$,indentStep:L,inFlow:_}=X;if(W&&q.includes(`
75
- `)||_&&/[[\]{},]/.test(q))return s2(q,X);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(q))return W||_||!q.includes(`
76
- `)?s2(q,X):E9(Z,X,Q,U);if(!W&&!_&&J!==e0.Scalar.PLAIN&&q.includes(`
77
- `))return E9(Z,X,Q,U);if(I9(q)){if($==="")return X.forceBlockIndent=!0,E9(Z,X,Q,U);else if(W&&$===L)return s2(q,X)}let G=q.replace(/\n+/g,`$&
78
- ${$}`);if(Y){let V=(H)=>H.default&&H.tag!=="tag:yaml.org,2002:str"&&H.test?.test(G),{compat:z,tags:F}=X.doc.schema;if(F.some(V)||z?.some(V))return s2(q,X)}return W?G:m1.foldFlowLines(G,$,m1.FOLD_FLOW,b9(X,!1))}function iV(Z,X,Q,U){let{implicitKey:J,inFlow:q}=X,Y=typeof Z.value==="string"?Z:Object.assign({},Z,{value:String(Z.value)}),{type:W}=Z;if(W!==e0.Scalar.QUOTE_DOUBLE){if(/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(Y.value))W=e0.Scalar.QUOTE_DOUBLE}let $=(_)=>{switch(_){case e0.Scalar.BLOCK_FOLDED:case e0.Scalar.BLOCK_LITERAL:return J||q?s2(Y.value,X):E9(Y,X,Q,U);case e0.Scalar.QUOTE_DOUBLE:return X4(Y.value,X);case e0.Scalar.QUOTE_SINGLE:return vX(Y.value,X);case e0.Scalar.PLAIN:return cV(Y,X,Q,U);default:return null}},L=$(W);if(L===null){let{defaultKeyType:_,defaultStringType:G}=X.options,V=J&&_||G;if(L=$(V),L===null)throw Error(`Unsupported default string type ${V}`)}return L}sV.stringifyString=iV});var U4=C((QH)=>{var rV=S9(),u1=l(),oV=Z4(),nV=Q4();function tV(Z,X){let Q=Object.assign({blockQuote:!0,commentString:oV.stringifyComment,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 eV(Z,X){if(X.tag){let J=Z.filter((q)=>q.tag===X.tag);if(J.length>0)return J.find((q)=>q.format===X.format)??J[0]}let Q=void 0,U;if(u1.isScalar(X)){U=X.value;let J=Z.filter((q)=>q.identify?.(U));if(J.length>1){let q=J.filter((Y)=>Y.test);if(q.length>0)J=q}Q=J.find((q)=>q.format===X.format)??J.find((q)=>!q.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 ZH(Z,X,{anchors:Q,doc:U}){if(!U.directives)return"";let J=[],q=(u1.isScalar(Z)||u1.isCollection(Z))&&Z.anchor;if(q&&rV.anchorIsValid(q))Q.add(q),J.push(`&${q}`);let Y=Z.tag??(X.default?null:X.tag);if(Y)J.push(U.directives.tagString(Y));return J.join(" ")}function XH(Z,X,Q,U){if(u1.isPair(Z))return Z.toString(X,Q,U);if(u1.isAlias(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,q=u1.isNode(Z)?Z:X.doc.createNode(Z,{onTagObj:($)=>J=$});J??(J=eV(X.doc.schema.tags,q));let Y=ZH(q,J,X);if(Y.length>0)X.indentAtStart=(X.indentAtStart??0)+Y.length+1;let W=typeof J.stringify==="function"?J.stringify(q,X,Q,U):u1.isScalar(q)?nV.stringifyString(q,X,Q,U):q.toString(X,Q,U);if(!Y)return W;return u1.isScalar(q)||W[0]==="{"||W[0]==="["?`${Y} ${W}`:`${Y}
79
- ${X.indent}${W}`}QH.createStringifyContext=tV;QH.stringify=XH});var dJ=C((YH)=>{var w1=l(),pJ=W0(),lJ=U4(),J4=Z4();function qH({key:Z,value:X},Q,U,J){let{allNullValues:q,doc:Y,indent:W,indentStep:$,options:{commentString:L,indentSeq:_,simpleKeys:G}}=Q,V=w1.isNode(Z)&&Z.comment||null;if(G){if(V)throw Error("With simple keys, key nodes cannot have comments");if(w1.isCollection(Z)||!w1.isNode(Z)&&typeof Z==="object")throw Error("With simple keys, collection cannot be used as a key value")}let z=!G&&(!Z||V&&X==null&&!Q.inFlow||w1.isCollection(Z)||(w1.isScalar(Z)?Z.type===pJ.Scalar.BLOCK_FOLDED||Z.type===pJ.Scalar.BLOCK_LITERAL:typeof Z==="object"));Q=Object.assign({},Q,{allNullValues:!1,implicitKey:!z&&(G||!q),indent:W+$});let F=!1,H=!1,B=lJ.stringify(Z,Q,()=>F=!0,()=>H=!0);if(!z&&!Q.inFlow&&B.length>1024){if(G)throw Error("With simple keys, single line scalar must not span more than 1024 characters");z=!0}if(Q.inFlow){if(q||X==null){if(F&&U)U();return B===""?"?":z?`? ${B}`:B}}else if(q&&!G||X==null&&z){if(B=`? ${B}`,V&&!F)B+=J4.lineComment(B,Q.indent,L(V));else if(H&&J)J();return B}if(F)V=null;if(z){if(V)B+=J4.lineComment(B,Q.indent,L(V));B=`? ${B}
80
- ${W}:`}else if(B=`${B}:`,V)B+=J4.lineComment(B,Q.indent,L(V));let T,D,K;if(w1.isNode(X))T=!!X.spaceBefore,D=X.commentBefore,K=X.comment;else if(T=!1,D=null,K=null,X&&typeof X==="object")X=Y.createNode(X);if(Q.implicitKey=!1,!z&&!V&&w1.isScalar(X))Q.indentAtStart=B.length+1;if(H=!1,!_&&$.length>=2&&!Q.inFlow&&!z&&w1.isSeq(X)&&!X.flow&&!X.tag&&!X.anchor)Q.indent=Q.indent.substring(2);let w=!1,S=lJ.stringify(X,Q,()=>w=!0,()=>H=!0),j=" ";if(V||T||D){if(j=T?`
81
- `:"",D){let v=L(D);j+=`
82
- ${J4.indentComment(v,Q.indent)}`}if(S===""&&!Q.inFlow){if(j===`
83
- `&&K)j=`
67
+ `;let G,_;for(_=Q.length;_>0;--_){let S=Q[_-1];if(S!==`
68
+ `&&S!=="\t"&&S!==" ")break}let H=Q.substring(_),F=H.indexOf(`
69
+ `);if(F===-1)G="-";else if(Q===H||F!==H.length-1){if(G="+",J)J()}else G="";if(H){if(Q=Q.slice(0,-H.length),H[H.length-1]===`
70
+ `)H=H.slice(0,-1);H=H.replace(lX,`$&${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 R=(z?L?"2":"1":"")+G;if(Z){if(R+=" "+W(Z.replace(/ ?[\r\n]+/g," ")),q)q()}if(!V){let S=Q.replace(/\n+/g,`
72
+ $&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${L}`),N=!1,y=k9(U,!0);if(Y!=="folded"&&X!==n0.Scalar.BLOCK_FOLDED)y.onOverflow=()=>{N=!0};let A=m1.foldFlowLines(`${w}${S}${H}`,L,m1.FOLD_BLOCK,y);if(!N)return`>${R}
73
+ ${L}${A}`}return Q=Q.replace(/\n+/g,`$&${L}`),`|${R}
74
+ ${L}${w}${Q}${H}`}function t_(Z,X,Q,U){let{type:q,value:J}=Z,{actualString:Y,implicitKey:W,indent:$,indentStep:L,inFlow:V}=X;if(W&&J.includes(`
75
+ `)||V&&/[[\]{},]/.test(J))return t2(J,X);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(J))return W||V||!J.includes(`
76
+ `)?t2(J,X):y9(Z,X,Q,U);if(!W&&!V&&q!==n0.Scalar.PLAIN&&J.includes(`
77
+ `))return y9(Z,X,Q,U);if(g9(J)){if($==="")return X.forceBlockIndent=!0,y9(Z,X,Q,U);else if(W&&$===L)return t2(J,X)}let G=J.replace(/\n+/g,`$&
78
+ ${$}`);if(Y){let _=(z)=>z.default&&z.tag!=="tag:yaml.org,2002:str"&&z.test?.test(G),{compat:H,tags:F}=X.doc.schema;if(F.some(_)||H?.some(_))return t2(J,X)}return W?G:m1.foldFlowLines(G,$,m1.FOLD_FLOW,k9(X,!1))}function e_(Z,X,Q,U){let{implicitKey:q,inFlow:J}=X,Y=typeof Z.value==="string"?Z:Object.assign({},Z,{value:String(Z.value)}),{type:W}=Z;if(W!==n0.Scalar.QUOTE_DOUBLE){if(/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(Y.value))W=n0.Scalar.QUOTE_DOUBLE}let $=(V)=>{switch(V){case n0.Scalar.BLOCK_FOLDED:case n0.Scalar.BLOCK_LITERAL:return q||J?t2(Y.value,X):y9(Y,X,Q,U);case n0.Scalar.QUOTE_DOUBLE:return $4(Y.value,X);case n0.Scalar.QUOTE_SINGLE:return pX(Y.value,X);case n0.Scalar.PLAIN:return t_(Y,X,Q,U);default:return null}},L=$(W);if(L===null){let{defaultKeyType:V,defaultStringType:G}=X.options,_=q&&V||G;if(L=$(_),L===null)throw Error(`Unsupported default string type ${_}`)}return L}Zz.stringifyString=e_});var G4=C((Lz)=>{var Qz=E9(),u1=d(),Uz=W4(),qz=L4();function Jz(Z,X){let Q=Object.assign({blockQuote:!0,commentString:Uz.stringifyComment,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 Yz(Z,X){if(X.tag){let q=Z.filter((J)=>J.tag===X.tag);if(q.length>0)return q.find((J)=>J.format===X.format)??q[0]}let Q=void 0,U;if(u1.isScalar(X)){U=X.value;let q=Z.filter((J)=>J.identify?.(U));if(q.length>1){let J=q.filter((Y)=>Y.test);if(J.length>0)q=J}Q=q.find((J)=>J.format===X.format)??q.find((J)=>!J.format)}else U=X,Q=Z.find((q)=>q.nodeClass&&U instanceof q.nodeClass);if(!Q){let q=U?.constructor?.name??(U===null?"null":typeof U);throw Error(`Tag not resolved for ${q} value`)}return Q}function Wz(Z,X,{anchors:Q,doc:U}){if(!U.directives)return"";let q=[],J=(u1.isScalar(Z)||u1.isCollection(Z))&&Z.anchor;if(J&&Qz.anchorIsValid(J))Q.add(J),q.push(`&${J}`);let Y=Z.tag??(X.default?null:X.tag);if(Y)q.push(U.directives.tagString(Y));return q.join(" ")}function $z(Z,X,Q,U){if(u1.isPair(Z))return Z.toString(X,Q,U);if(u1.isAlias(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 q=void 0,J=u1.isNode(Z)?Z:X.doc.createNode(Z,{onTagObj:($)=>q=$});q??(q=Yz(X.doc.schema.tags,J));let Y=Wz(J,q,X);if(Y.length>0)X.indentAtStart=(X.indentAtStart??0)+Y.length+1;let W=typeof q.stringify==="function"?q.stringify(J,X,Q,U):u1.isScalar(J)?qz.stringifyString(J,X,Q,U):J.toString(X,Q,U);if(!Y)return W;return u1.isScalar(J)||W[0]==="{"||W[0]==="["?`${Y} ${W}`:`${Y}
79
+ ${X.indent}${W}`}Lz.createStringifyContext=Jz;Lz.stringify=$z});var oq=C((zz)=>{var K1=d(),aq=L0(),rq=G4(),V4=W4();function _z({key:Z,value:X},Q,U,q){let{allNullValues:J,doc:Y,indent:W,indentStep:$,options:{commentString:L,indentSeq:V,simpleKeys:G}}=Q,_=K1.isNode(Z)&&Z.comment||null;if(G){if(_)throw Error("With simple keys, key nodes cannot have comments");if(K1.isCollection(Z)||!K1.isNode(Z)&&typeof Z==="object")throw Error("With simple keys, collection cannot be used as a key value")}let H=!G&&(!Z||_&&X==null&&!Q.inFlow||K1.isCollection(Z)||(K1.isScalar(Z)?Z.type===aq.Scalar.BLOCK_FOLDED||Z.type===aq.Scalar.BLOCK_LITERAL:typeof Z==="object"));Q=Object.assign({},Q,{allNullValues:!1,implicitKey:!H&&(G||!J),indent:W+$});let F=!1,z=!1,B=rq.stringify(Z,Q,()=>F=!0,()=>z=!0);if(!H&&!Q.inFlow&&B.length>1024){if(G)throw Error("With simple keys, single line scalar must not span more than 1024 characters");H=!0}if(Q.inFlow){if(J||X==null){if(F&&U)U();return B===""?"?":H?`? ${B}`:B}}else if(J&&!G||X==null&&H){if(B=`? ${B}`,_&&!F)B+=V4.lineComment(B,Q.indent,L(_));else if(z&&q)q();return B}if(F)_=null;if(H){if(_)B+=V4.lineComment(B,Q.indent,L(_));B=`? ${B}
80
+ ${W}:`}else if(B=`${B}:`,_)B+=V4.lineComment(B,Q.indent,L(_));let K,w,P;if(K1.isNode(X))K=!!X.spaceBefore,w=X.commentBefore,P=X.comment;else if(K=!1,w=null,P=null,X&&typeof X==="object")X=Y.createNode(X);if(Q.implicitKey=!1,!H&&!_&&K1.isScalar(X))Q.indentAtStart=B.length+1;if(z=!1,!V&&$.length>=2&&!Q.inFlow&&!H&&K1.isSeq(X)&&!X.flow&&!X.tag&&!X.anchor)Q.indent=Q.indent.substring(2);let R=!1,S=rq.stringify(X,Q,()=>R=!0,()=>z=!0),N=" ";if(_||K||w){if(N=K?`
81
+ `:"",w){let y=L(w);N+=`
82
+ ${V4.indentComment(y,Q.indent)}`}if(S===""&&!Q.inFlow){if(N===`
83
+ `&&P)N=`
84
84
 
85
- `}else j+=`
86
- ${Q.indent}`}else if(!z&&w1.isCollection(X)){let v=S[0],N=S.indexOf(`
87
- `),x=N!==-1,s=Q.inFlow??X.flow??X.items.length===0;if(x||!s){let Q0=!1;if(x&&(v==="&"||v==="!")){let a=S.indexOf(" ");if(v==="&"&&a!==-1&&a<N&&S[a+1]==="!")a=S.indexOf(" ",a+1);if(a===-1||N<a)Q0=!0}if(!Q0)j=`
85
+ `}else N+=`
86
+ ${Q.indent}`}else if(!H&&K1.isCollection(X)){let y=S[0],A=S.indexOf(`
87
+ `),u=A!==-1,o=Q.inFlow??X.flow??X.items.length===0;if(u||!o){let t=!1;if(u&&(y==="&"||y==="!")){let x=S.indexOf(" ");if(y==="&"&&x!==-1&&x<A&&S[x+1]==="!")x=S.indexOf(" ",x+1);if(x===-1||A<x)t=!0}if(!t)N=`
88
88
  ${Q.indent}`}}else if(S===""||S[0]===`
89
- `)j="";if(B+=j+S,Q.inFlow){if(w&&U)U()}else if(K&&!w)B+=J4.lineComment(B,Q.indent,L(K));else if(H&&J)J();return B}YH.stringifyPair=qH});var hX=C((GH)=>{var cJ=z2("process");function $H(Z,...X){if(Z==="debug")console.log(...X)}function LH(Z,X){if(Z==="debug"||Z==="warn")if(typeof cJ.emitWarning==="function")cJ.emitWarning(X);else console.warn(X)}GH.debug=$H;GH.warn=LH});var y9=C((zH)=>{var q4=l(),iJ=W0(),f9="<<",k9={identify:(Z)=>Z===f9||typeof Z==="symbol"&&Z.description===f9,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new iJ.Scalar(Symbol(f9)),{addToJSMap:sJ}),stringify:()=>f9},HH=(Z,X)=>(k9.identify(X)||q4.isScalar(X)&&(!X.type||X.type===iJ.Scalar.PLAIN)&&k9.identify(X.value))&&Z?.doc.schema.tags.some((Q)=>Q.tag===k9.tag&&Q.default);function sJ(Z,X,Q){if(Q=Z&&q4.isAlias(Q)?Q.resolve(Z.doc):Q,q4.isSeq(Q))for(let U of Q.items)mX(Z,X,U);else if(Array.isArray(Q))for(let U of Q)mX(Z,X,U);else mX(Z,X,Q)}function mX(Z,X,Q){let U=Z&&q4.isAlias(Q)?Q.resolve(Z.doc):Q;if(!q4.isMap(U))throw Error("Merge sources must be maps or map aliases");let J=U.toJSON(null,Z,Map);for(let[q,Y]of J)if(X instanceof Map){if(!X.has(q))X.set(q,Y)}else if(X instanceof Set)X.add(q);else if(!Object.prototype.hasOwnProperty.call(X,q))Object.defineProperty(X,q,{value:Y,writable:!0,enumerable:!0,configurable:!0});return X}zH.addMergeToJSMap=sJ;zH.isMergeKey=HH;zH.merge=k9});var pX=C((DH)=>{var OH=hX(),aJ=y9(),RH=U4(),rJ=l(),uX=h1();function KH(Z,X,{key:Q,value:U}){if(rJ.isNode(Q)&&Q.addToJSMap)Q.addToJSMap(Z,X,U);else if(aJ.isMergeKey(Z,Q))aJ.addMergeToJSMap(Z,X,U);else{let J=uX.toJS(Q,"",Z);if(X instanceof Map)X.set(J,uX.toJS(U,J,Z));else if(X instanceof Set)X.add(J);else{let q=TH(Q,J,Z),Y=uX.toJS(U,q,Z);if(q in X)Object.defineProperty(X,q,{value:Y,writable:!0,enumerable:!0,configurable:!0});else X[q]=Y}}return X}function TH(Z,X,Q){if(X===null)return"";if(typeof X!=="object")return String(X);if(rJ.isNode(Z)&&Q?.doc){let U=RH.createStringifyContext(Q.doc,{});U.anchors=new Set;for(let q of Q.anchors.keys())U.anchors.add(q.anchor);U.inFlow=!0,U.inStringifyKey=!0;let J=Z.toString(U);if(!Q.mapKeyWarned){let q=JSON.stringify(J);if(q.length>40)q=q.substring(0,36)+'..."';OH.warn(Q.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${q}. Set mapAsMap: true to use object keys.`),Q.mapKeyWarned=!0}return J}return JSON.stringify(X)}DH.addPairToJSMap=KH});var p1=C((CH)=>{var oJ=e6(),PH=dJ(),AH=pX(),g9=l();function SH(Z,X,Q){let U=oJ.createNode(Z,void 0,Q),J=oJ.createNode(X,void 0,Q);return new v9(U,J)}class v9{constructor(Z,X=null){Object.defineProperty(this,g9.NODE_TYPE,{value:g9.PAIR}),this.key=Z,this.value=X}clone(Z){let{key:X,value:Q}=this;if(g9.isNode(X))X=X.clone(Z);if(g9.isNode(Q))Q=Q.clone(Z);return new v9(X,Q)}toJSON(Z,X){let Q=X?.mapAsMap?new Map:{};return AH.addPairToJSMap(X,Q,this)}toString(Z,X,Q){return Z?.doc?PH.stringifyPair(this,Z,X,Q):JSON.stringify(this)}}CH.Pair=v9;CH.createPair=SH});var lX=C((fH)=>{var $2=l(),nJ=U4(),x9=Z4();function EH(Z,X,Q){return(X.inFlow??Z.flow?IH:bH)(Z,X,Q)}function bH({comment:Z,items:X},Q,{blockItemPrefix:U,flowChars:J,itemIndent:q,onChompKeep:Y,onComment:W}){let{indent:$,options:{commentString:L}}=Q,_=Object.assign({},Q,{indent:q,type:null}),G=!1,V=[];for(let F=0;F<X.length;++F){let H=X[F],B=null;if($2.isNode(H)){if(!G&&H.spaceBefore)V.push("");if(h9(Q,V,H.commentBefore,G),H.comment)B=H.comment}else if($2.isPair(H)){let D=$2.isNode(H.key)?H.key:null;if(D){if(!G&&D.spaceBefore)V.push("");h9(Q,V,D.commentBefore,G)}}G=!1;let T=nJ.stringify(H,_,()=>B=null,()=>G=!0);if(B)T+=x9.lineComment(T,q,L(B));if(G&&B)G=!1;V.push(U+T)}let z;if(V.length===0)z=J.start+J.end;else{z=V[0];for(let F=1;F<V.length;++F){let H=V[F];z+=H?`
90
- ${$}${H}`:`
91
- `}}if(Z){if(z+=`
92
- `+x9.indentComment(L(Z),$),W)W()}else if(G&&Y)Y();return z}function IH({items:Z},X,{flowChars:Q,itemIndent:U}){let{indent:J,indentStep:q,flowCollectionPadding:Y,options:{commentString:W}}=X;U+=q;let $=Object.assign({},X,{indent:U,inFlow:!0,type:null}),L=!1,_=0,G=[];for(let F=0;F<Z.length;++F){let H=Z[F],B=null;if($2.isNode(H)){if(H.spaceBefore)G.push("");if(h9(X,G,H.commentBefore,!1),H.comment)B=H.comment}else if($2.isPair(H)){let D=$2.isNode(H.key)?H.key:null;if(D){if(D.spaceBefore)G.push("");if(h9(X,G,D.commentBefore,!1),D.comment)L=!0}let K=$2.isNode(H.value)?H.value:null;if(K){if(K.comment)B=K.comment;if(K.commentBefore)L=!0}else if(H.value==null&&D?.comment)B=D.comment}if(B)L=!0;let T=nJ.stringify(H,$,()=>B=null);if(F<Z.length-1)T+=",";if(B)T+=x9.lineComment(T,U,W(B));if(!L&&(G.length>_||T.includes(`
93
- `)))L=!0;G.push(T),_=G.length}let{start:V,end:z}=Q;if(G.length===0)return V+z;else{if(!L){let F=G.reduce((H,B)=>H+B.length+2,2);L=X.options.lineWidth>0&&F>X.options.lineWidth}if(L){let F=V;for(let H of G)F+=H?`
94
- ${q}${J}${H}`:`
89
+ `)N="";if(B+=N+S,Q.inFlow){if(R&&U)U()}else if(P&&!R)B+=V4.lineComment(B,Q.indent,L(P));else if(z&&q)q();return B}zz.stringifyPair=_z});var cX=C((Mz)=>{var nq=T2("process");function Fz(Z,...X){if(Z==="debug")console.log(...X)}function Bz(Z,X){if(Z==="debug"||Z==="warn")if(typeof nq.emitWarning==="function")nq.emitWarning(X);else console.warn(X)}Mz.debug=Fz;Mz.warn=Bz});var h9=C((Kz)=>{var _4=d(),tq=L0(),v9="<<",x9={identify:(Z)=>Z===v9||typeof Z==="symbol"&&Z.description===v9,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new tq.Scalar(Symbol(v9)),{addToJSMap:eq}),stringify:()=>v9},Tz=(Z,X)=>(x9.identify(X)||_4.isScalar(X)&&(!X.type||X.type===tq.Scalar.PLAIN)&&x9.identify(X.value))&&Z?.doc.schema.tags.some((Q)=>Q.tag===x9.tag&&Q.default);function eq(Z,X,Q){if(Q=Z&&_4.isAlias(Q)?Q.resolve(Z.doc):Q,_4.isSeq(Q))for(let U of Q.items)dX(Z,X,U);else if(Array.isArray(Q))for(let U of Q)dX(Z,X,U);else dX(Z,X,Q)}function dX(Z,X,Q){let U=Z&&_4.isAlias(Q)?Q.resolve(Z.doc):Q;if(!_4.isMap(U))throw Error("Merge sources must be maps or map aliases");let q=U.toJSON(null,Z,Map);for(let[J,Y]of q)if(X instanceof Map){if(!X.has(J))X.set(J,Y)}else if(X instanceof Set)X.add(J);else if(!Object.prototype.hasOwnProperty.call(X,J))Object.defineProperty(X,J,{value:Y,writable:!0,enumerable:!0,configurable:!0});return X}Kz.addMergeToJSMap=eq;Kz.isMergeKey=Tz;Kz.merge=x9});var sX=C((Nz)=>{var Az=cX(),ZJ=h9(),Sz=G4(),XJ=d(),iX=h1();function jz(Z,X,{key:Q,value:U}){if(XJ.isNode(Q)&&Q.addToJSMap)Q.addToJSMap(Z,X,U);else if(ZJ.isMergeKey(Z,Q))ZJ.addMergeToJSMap(Z,X,U);else{let q=iX.toJS(Q,"",Z);if(X instanceof Map)X.set(q,iX.toJS(U,q,Z));else if(X instanceof Set)X.add(q);else{let J=Cz(Q,q,Z),Y=iX.toJS(U,J,Z);if(J in X)Object.defineProperty(X,J,{value:Y,writable:!0,enumerable:!0,configurable:!0});else X[J]=Y}}return X}function Cz(Z,X,Q){if(X===null)return"";if(typeof X!=="object")return String(X);if(XJ.isNode(Z)&&Q?.doc){let U=Sz.createStringifyContext(Q.doc,{});U.anchors=new Set;for(let J of Q.anchors.keys())U.anchors.add(J.anchor);U.inFlow=!0,U.inStringifyKey=!0;let q=Z.toString(U);if(!Q.mapKeyWarned){let J=JSON.stringify(q);if(J.length>40)J=J.substring(0,36)+'..."';Az.warn(Q.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${J}. Set mapAsMap: true to use object keys.`),Q.mapKeyWarned=!0}return q}return JSON.stringify(X)}Nz.addPairToJSMap=jz});var p1=C((yz)=>{var QJ=Y4(),bz=oq(),Iz=sX(),m9=d();function fz(Z,X,Q){let U=QJ.createNode(Z,void 0,Q),q=QJ.createNode(X,void 0,Q);return new u9(U,q)}class u9{constructor(Z,X=null){Object.defineProperty(this,m9.NODE_TYPE,{value:m9.PAIR}),this.key=Z,this.value=X}clone(Z){let{key:X,value:Q}=this;if(m9.isNode(X))X=X.clone(Z);if(m9.isNode(Q))Q=Q.clone(Z);return new u9(X,Q)}toJSON(Z,X){let Q=X?.mapAsMap?new Map:{};return Iz.addPairToJSMap(X,Q,this)}toString(Z,X,Q){return Z?.doc?bz.stringifyPair(this,Z,X,Q):JSON.stringify(this)}}yz.Pair=u9;yz.createPair=fz});var aX=C((mz)=>{var V2=d(),UJ=G4(),p9=W4();function vz(Z,X,Q){return(X.inFlow??Z.flow?hz:xz)(Z,X,Q)}function xz({comment:Z,items:X},Q,{blockItemPrefix:U,flowChars:q,itemIndent:J,onChompKeep:Y,onComment:W}){let{indent:$,options:{commentString:L}}=Q,V=Object.assign({},Q,{indent:J,type:null}),G=!1,_=[];for(let F=0;F<X.length;++F){let z=X[F],B=null;if(V2.isNode(z)){if(!G&&z.spaceBefore)_.push("");if(l9(Q,_,z.commentBefore,G),z.comment)B=z.comment}else if(V2.isPair(z)){let w=V2.isNode(z.key)?z.key:null;if(w){if(!G&&w.spaceBefore)_.push("");l9(Q,_,w.commentBefore,G)}}G=!1;let K=UJ.stringify(z,V,()=>B=null,()=>G=!0);if(B)K+=p9.lineComment(K,J,L(B));if(G&&B)G=!1;_.push(U+K)}let H;if(_.length===0)H=q.start+q.end;else{H=_[0];for(let F=1;F<_.length;++F){let z=_[F];H+=z?`
90
+ ${$}${z}`:`
91
+ `}}if(Z){if(H+=`
92
+ `+p9.indentComment(L(Z),$),W)W()}else if(G&&Y)Y();return H}function hz({items:Z},X,{flowChars:Q,itemIndent:U}){let{indent:q,indentStep:J,flowCollectionPadding:Y,options:{commentString:W}}=X;U+=J;let $=Object.assign({},X,{indent:U,inFlow:!0,type:null}),L=!1,V=0,G=[];for(let F=0;F<Z.length;++F){let z=Z[F],B=null;if(V2.isNode(z)){if(z.spaceBefore)G.push("");if(l9(X,G,z.commentBefore,!1),z.comment)B=z.comment}else if(V2.isPair(z)){let w=V2.isNode(z.key)?z.key:null;if(w){if(w.spaceBefore)G.push("");if(l9(X,G,w.commentBefore,!1),w.comment)L=!0}let P=V2.isNode(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=UJ.stringify(z,$,()=>B=null);if(F<Z.length-1)K+=",";if(B)K+=p9.lineComment(K,U,W(B));if(!L&&(G.length>V||K.includes(`
93
+ `)))L=!0;G.push(K),V=G.length}let{start:_,end:H}=Q;if(G.length===0)return _+H;else{if(!L){let F=G.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 G)F+=z?`
94
+ ${J}${q}${z}`:`
95
95
  `;return`${F}
96
- ${J}${z}`}else return`${V}${Y}${G.join(" ")}${Y}${z}`}}function h9({indent:Z,options:{commentString:X}},Q,U,J){if(U&&J)U=U.replace(/^\n+/,"");if(U){let q=x9.indentComment(X(U),Z);Q.push(q.trimStart())}}fH.stringifyCollection=EH});var d1=C((hH)=>{var yH=lX(),gH=pX(),vH=j9(),l1=l(),m9=p1(),xH=W0();function Y4(Z,X){let Q=l1.isScalar(X)?X.value:X;for(let U of Z)if(l1.isPair(U)){if(U.key===X||U.key===Q)return U;if(l1.isScalar(U.key)&&U.key.value===Q)return U}return}class tJ extends vH.Collection{static get tagName(){return"tag:yaml.org,2002:map"}constructor(Z){super(l1.MAP,Z);this.items=[]}static from(Z,X,Q){let{keepUndefined:U,replacer:J}=Q,q=new this(Z),Y=(W,$)=>{if(typeof J==="function")$=J.call(X,W,$);else if(Array.isArray(J)&&!J.includes(W))return;if($!==void 0||U)q.items.push(m9.createPair(W,$,Q))};if(X instanceof Map)for(let[W,$]of X)Y(W,$);else if(X&&typeof X==="object")for(let W of Object.keys(X))Y(W,X[W]);if(typeof Z.sortMapEntries==="function")q.items.sort(Z.sortMapEntries);return q}add(Z,X){let Q;if(l1.isPair(Z))Q=Z;else if(!Z||typeof Z!=="object"||!("key"in Z))Q=new m9.Pair(Z,Z?.value);else Q=new m9.Pair(Z.key,Z.value);let U=Y4(this.items,Q.key),J=this.schema?.sortMapEntries;if(U){if(!X)throw Error(`Key ${Q.key} already set`);if(l1.isScalar(U.value)&&xH.isScalarValue(Q.value))U.value.value=Q.value;else U.value=Q.value}else if(J){let q=this.items.findIndex((Y)=>J(Q,Y)<0);if(q===-1)this.items.push(Q);else this.items.splice(q,0,Q)}else this.items.push(Q)}delete(Z){let X=Y4(this.items,Z);if(!X)return!1;return this.items.splice(this.items.indexOf(X),1).length>0}get(Z,X){let U=Y4(this.items,Z)?.value;return(!X&&l1.isScalar(U)?U.value:U)??void 0}has(Z){return!!Y4(this.items,Z)}set(Z,X){this.add(new m9.Pair(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)gH.addPairToJSMap(X,U,J);return U}toString(Z,X,Q){if(!Z)return JSON.stringify(this);for(let U of this.items)if(!l1.isPair(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 yH.stringifyCollection(this,Z,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:Z.indent||"",onChompKeep:Q,onComment:X})}}hH.YAMLMap=tJ;hH.findPair=Y4});var a2=C((dH)=>{var pH=l(),eJ=d1(),lH={collection:"map",default:!0,nodeClass:eJ.YAMLMap,tag:"tag:yaml.org,2002:map",resolve(Z,X){if(!pH.isMap(Z))X("Expected a mapping for this tag");return Z},createNode:(Z,X,Q)=>eJ.YAMLMap.from(Z,X,Q)};dH.map=lH});var c1=C((nH)=>{var iH=e6(),sH=lX(),aH=j9(),p9=l(),rH=W0(),oH=h1();class Zq extends aH.Collection{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(Z){super(p9.SEQ,Z);this.items=[]}add(Z){this.items.push(Z)}delete(Z){let X=u9(Z);if(typeof X!=="number")return!1;return this.items.splice(X,1).length>0}get(Z,X){let Q=u9(Z);if(typeof Q!=="number")return;let U=this.items[Q];return!X&&p9.isScalar(U)?U.value:U}has(Z){let X=u9(Z);return typeof X==="number"&&X<this.items.length}set(Z,X){let Q=u9(Z);if(typeof Q!=="number")throw Error(`Expected a valid index, not ${Z}.`);let U=this.items[Q];if(p9.isScalar(U)&&rH.isScalarValue(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(oH.toJS(J,String(U++),X));return Q}toString(Z,X,Q){if(!Z)return JSON.stringify(this);return sH.stringifyCollection(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 q=0;for(let Y of X){if(typeof U==="function"){let W=X instanceof Set?Y:String(q++);Y=U.call(X,W,Y)}J.items.push(iH.createNode(Y,void 0,Q))}}return J}}function u9(Z){let X=p9.isScalar(Z)?Z.value:Z;if(X&&typeof X==="string")X=Number(X);return typeof X==="number"&&Number.isInteger(X)&&X>=0?X:null}nH.YAMLSeq=Zq});var r2=C((Xz)=>{var eH=l(),Xq=c1(),Zz={collection:"seq",default:!0,nodeClass:Xq.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve(Z,X){if(!eH.isSeq(Z))X("Expected a sequence for this tag");return Z},createNode:(Z,X,Q)=>Xq.YAMLSeq.from(Z,X,Q)};Xz.seq=Zz});var W4=C((qz)=>{var Uz=Q4(),Jz={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),Uz.stringifyString(Z,X,Q,U)}};qz.string=Jz});var l9=C((Wz)=>{var Qq=W0(),Uq={identify:(Z)=>Z==null,createNode:()=>new Qq.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new Qq.Scalar(null),stringify:({source:Z},X)=>typeof Z==="string"&&Uq.test.test(Z)?Z:X.options.nullStr};Wz.nullTag=Uq});var dX=C((Gz)=>{var Lz=W0(),Jq={identify:(Z)=>typeof Z==="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:(Z)=>new Lz.Scalar(Z[0]==="t"||Z[0]==="T"),stringify({source:Z,value:X},Q){if(Z&&Jq.test.test(Z)){let U=Z[0]==="t"||Z[0]==="T";if(X===U)return Z}return X?Q.options.trueStr:Q.options.falseStr}};Gz.boolTag=Jq});var o2=C((Hz)=>{function Vz({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 q=Object.is(U,-0)?"-0":JSON.stringify(U);if(!Z&&X&&(!Q||Q==="tag:yaml.org,2002:float")&&/^\d/.test(q)){let Y=q.indexOf(".");if(Y<0)Y=q.length,q+=".";let W=X-(q.length-Y-1);while(W-- >0)q+="0"}return q}Hz.stringifyNumber=Vz});var iX=C((Rz)=>{var Fz=W0(),cX=o2(),Bz={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:cX.stringifyNumber},Mz={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():cX.stringifyNumber(Z)}},Oz={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 Fz.Scalar(parseFloat(Z)),Q=Z.indexOf(".");if(Q!==-1&&Z[Z.length-1]==="0")X.minFractionDigits=Z.length-Q-1;return X},stringify:cX.stringifyNumber};Rz.float=Oz;Rz.floatExp=Mz;Rz.floatNaN=Bz});var aX=C((Sz)=>{var qq=o2(),d9=(Z)=>typeof Z==="bigint"||Number.isInteger(Z),sX=(Z,X,Q,{intAsBigInt:U})=>U?BigInt(Z):parseInt(Z.substring(X),Q);function Yq(Z,X,Q){let{value:U}=Z;if(d9(U)&&U>=0)return Q+U.toString(X);return qq.stringifyNumber(Z)}var wz={identify:(Z)=>d9(Z)&&Z>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(Z,X,Q)=>sX(Z,2,8,Q),stringify:(Z)=>Yq(Z,8,"0o")},Pz={identify:d9,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(Z,X,Q)=>sX(Z,0,10,Q),stringify:qq.stringifyNumber},Az={identify:(Z)=>d9(Z)&&Z>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(Z,X,Q)=>sX(Z,2,16,Q),stringify:(Z)=>Yq(Z,16,"0x")};Sz.int=Pz;Sz.intHex=Az;Sz.intOct=wz});var Wq=C((gz)=>{var Ez=a2(),bz=l9(),Iz=r2(),fz=W4(),kz=dX(),rX=iX(),oX=aX(),yz=[Ez.map,Iz.seq,fz.string,bz.nullTag,kz.boolTag,oX.intOct,oX.int,oX.intHex,rX.floatNaN,rX.floatExp,rX.float];gz.schema=yz});var Lq=C((dz)=>{var xz=W0(),hz=a2(),mz=r2();function $q(Z){return typeof Z==="bigint"||Number.isInteger(Z)}var c9=({value:Z})=>JSON.stringify(Z),uz=[{identify:(Z)=>typeof Z==="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:(Z)=>Z,stringify:c9},{identify:(Z)=>Z==null,createNode:()=>new xz.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:c9},{identify:(Z)=>typeof Z==="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:(Z)=>Z==="true",stringify:c9},{identify:$q,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})=>$q(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:c9}],pz={default:!0,tag:"",test:/^/,resolve(Z,X){return X(`Unresolved plain scalar ${JSON.stringify(Z)}`),Z}},lz=[hz.map,mz.seq].concat(uz,pz);dz.schema=lz});var tX=C((az)=>{var $4=z2("buffer"),nX=W0(),iz=Q4(),sz={identify:(Z)=>Z instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(Z,X){if(typeof $4.Buffer==="function")return $4.Buffer.from(Z,"base64");else 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,q){if(!Q)return"";let Y=Q,W;if(typeof $4.Buffer==="function")W=Y instanceof $4.Buffer?Y.toString("base64"):$4.Buffer.from(Y.buffer).toString("base64");else if(typeof btoa==="function"){let $="";for(let L=0;L<Y.length;++L)$+=String.fromCharCode(Y[L]);W=btoa($)}else throw Error("This environment does not support writing binary tags; either Buffer or btoa is required");if(X??(X=nX.Scalar.BLOCK_LITERAL),X!==nX.Scalar.QUOTE_DOUBLE){let $=Math.max(U.options.lineWidth-U.indent.length,U.options.minContentWidth),L=Math.ceil(W.length/$),_=Array(L);for(let G=0,V=0;G<L;++G,V+=$)_[G]=W.substr(V,$);W=_.join(X===nX.Scalar.BLOCK_LITERAL?`
97
- `:" ")}return iz.stringifyString({comment:Z,type:X,value:W},U,J,q)}};az.binary=sz});var s9=C((ez)=>{var i9=l(),eX=p1(),oz=W0(),nz=c1();function Gq(Z,X){if(i9.isSeq(Z))for(let Q=0;Q<Z.items.length;++Q){let U=Z.items[Q];if(i9.isPair(U))continue;else if(i9.isMap(U)){if(U.items.length>1)X("Each pair must have its own sequence indicator");let J=U.items[0]||new eX.Pair(new oz.Scalar(null));if(U.commentBefore)J.key.commentBefore=J.key.commentBefore?`${U.commentBefore}
98
- ${J.key.commentBefore}`:U.commentBefore;if(U.comment){let q=J.value??J.key;q.comment=q.comment?`${U.comment}
99
- ${q.comment}`:U.comment}U=J}Z.items[Q]=i9.isPair(U)?U:new eX.Pair(U)}else X("Expected a sequence for this tag");return Z}function _q(Z,X,Q){let{replacer:U}=Q,J=new nz.YAMLSeq(Z);J.tag="tag:yaml.org,2002:pairs";let q=0;if(X&&Symbol.iterator in Object(X))for(let Y of X){if(typeof U==="function")Y=U.call(X,String(q++),Y);let W,$;if(Array.isArray(Y))if(Y.length===2)W=Y[0],$=Y[1];else throw TypeError(`Expected [key, value] tuple: ${Y}`);else if(Y&&Y instanceof Object){let L=Object.keys(Y);if(L.length===1)W=L[0],$=Y[W];else throw TypeError(`Expected tuple with one key, not ${L.length} keys`)}else W=Y;J.items.push(eX.createPair(W,$,Q))}return J}var tz={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:Gq,createNode:_q};ez.createPairs=_q;ez.pairs=tz;ez.resolvePairs=Gq});var X3=C((qF)=>{var Vq=l(),Z3=h1(),L4=d1(),UF=c1(),Hq=s9();class L2 extends UF.YAMLSeq{constructor(){super();this.add=L4.YAMLMap.prototype.add.bind(this),this.delete=L4.YAMLMap.prototype.delete.bind(this),this.get=L4.YAMLMap.prototype.get.bind(this),this.has=L4.YAMLMap.prototype.has.bind(this),this.set=L4.YAMLMap.prototype.set.bind(this),this.tag=L2.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,q;if(Vq.isPair(U))J=Z3.toJS(U.key,"",X),q=Z3.toJS(U.value,J,X);else J=Z3.toJS(U,"",X);if(Q.has(J))throw Error("Ordered maps must not include duplicate keys");Q.set(J,q)}return Q}static from(Z,X,Q){let U=Hq.createPairs(Z,X,Q),J=new this;return J.items=U.items,J}}L2.tag="tag:yaml.org,2002:omap";var JF={collection:"seq",identify:(Z)=>Z instanceof Map,nodeClass:L2,default:!1,tag:"tag:yaml.org,2002:omap",resolve(Z,X){let Q=Hq.resolvePairs(Z,X),U=[];for(let{key:J}of Q.items)if(Vq.isScalar(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 L2,Q)},createNode:(Z,X,Q)=>L2.from(Z,X,Q)};qF.YAMLOMap=L2;qF.omap=JF});var Oq=C(($F)=>{var zq=W0();function Fq({value:Z,source:X},Q){if(X&&(Z?Bq:Mq).test.test(X))return X;return Z?Q.options.trueStr:Q.options.falseStr}var Bq={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 zq.Scalar(!0),stringify:Fq},Mq={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 zq.Scalar(!1),stringify:Fq};$F.falseTag=Mq;$F.trueTag=Bq});var Rq=C((FF)=>{var _F=W0(),Q3=o2(),VF={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:Q3.stringifyNumber},HF={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():Q3.stringifyNumber(Z)}},zF={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.Scalar(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:Q3.stringifyNumber};FF.float=zF;FF.floatExp=HF;FF.floatNaN=VF});var Tq=C((wF)=>{var Kq=o2(),G4=(Z)=>typeof Z==="bigint"||Number.isInteger(Z);function a9(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 Y=BigInt(Z);return J==="-"?BigInt(-1)*Y:Y}let q=parseInt(Z,Q);return J==="-"?-1*q:q}function U3(Z,X,Q){let{value:U}=Z;if(G4(U)){let J=U.toString(X);return U<0?"-"+Q+J.substr(1):Q+J}return Kq.stringifyNumber(Z)}var RF={identify:G4,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(Z,X,Q)=>a9(Z,2,2,Q),stringify:(Z)=>U3(Z,2,"0b")},KF={identify:G4,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(Z,X,Q)=>a9(Z,1,8,Q),stringify:(Z)=>U3(Z,8,"0")},TF={identify:G4,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(Z,X,Q)=>a9(Z,0,10,Q),stringify:Kq.stringifyNumber},DF={identify:G4,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(Z,X,Q)=>a9(Z,2,16,Q),stringify:(Z)=>U3(Z,16,"0x")};wF.int=TF;wF.intBin=RF;wF.intHex=DF;wF.intOct=KF});var J3=C((jF)=>{var n9=l(),r9=p1(),o9=d1();class G2 extends o9.YAMLMap{constructor(Z){super(Z);this.tag=G2.tag}add(Z){let X;if(n9.isPair(Z))X=Z;else if(Z&&typeof Z==="object"&&"key"in Z&&"value"in Z&&Z.value===null)X=new r9.Pair(Z.key,null);else X=new r9.Pair(Z,null);if(!o9.findPair(this.items,X.key))this.items.push(X)}get(Z,X){let Q=o9.findPair(this.items,Z);return!X&&n9.isPair(Q)?n9.isScalar(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=o9.findPair(this.items,Z);if(Q&&!X)this.items.splice(this.items.indexOf(Q),1);else if(!Q&&X)this.items.push(new r9.Pair(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 q of X){if(typeof U==="function")q=U.call(X,q,q);J.items.push(r9.createPair(q,null,Q))}return J}}G2.tag="tag:yaml.org,2002:set";var NF={collection:"map",identify:(Z)=>Z instanceof Set,nodeClass:G2,default:!1,tag:"tag:yaml.org,2002:set",createNode:(Z,X,Q)=>G2.from(Z,X,Q),resolve(Z,X){if(n9.isMap(Z))if(Z.hasAllNullValues(!0))return Object.assign(new G2,Z);else X("Set items must all have null values");else X("Expected a mapping for this tag");return Z}};jF.YAMLSet=G2;jF.set=NF});var Y3=C((yF)=>{var IF=o2();function q3(Z,X){let Q=Z[0],U=Q==="-"||Q==="+"?Z.substring(1):Z,J=(Y)=>X?BigInt(Y):Number(Y),q=U.replace(/_/g,"").split(":").reduce((Y,W)=>Y*J(60)+J(W),J(0));return Q==="-"?J(-1)*q:q}function Dq(Z){let{value:X}=Z,Q=(Y)=>Y;if(typeof X==="bigint")Q=(Y)=>BigInt(Y);else if(isNaN(X)||!isFinite(X))return IF.stringifyNumber(Z);let U="";if(X<0)U="-",X*=Q(-1);let J=Q(60),q=[X%J];if(X<60)q.unshift(0);else if(X=(X-q[0])/J,q.unshift(X%J),X>=60)X=(X-q[0])/J,q.unshift(X);return U+q.map((Y)=>String(Y).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}var fF={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})=>q3(Z,Q),stringify:Dq},kF={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)=>q3(Z,!1),stringify:Dq},wq={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(wq.test);if(!X)throw Error("!!timestamp expects a date, starting with yyyy-mm-dd");let[,Q,U,J,q,Y,W]=X.map(Number),$=X[7]?Number((X[7]+"00").substr(1,3)):0,L=Date.UTC(Q,U-1,J,q||0,Y||0,W||0,$),_=X[8];if(_&&_!=="Z"){let G=q3(_,!1);if(Math.abs(G)<30)G*=60;L-=60000*G}return new Date(L)},stringify:({value:Z})=>Z?.toISOString().replace(/(T00:00:00)?\.000Z$/,"")??""};yF.floatTime=kF;yF.intTime=fF;yF.timestamp=wq});var Aq=C((rF)=>{var hF=a2(),mF=l9(),uF=r2(),pF=W4(),lF=tX(),Pq=Oq(),W3=Rq(),t9=Tq(),dF=y9(),cF=X3(),iF=s9(),sF=J3(),$3=Y3(),aF=[hF.map,uF.seq,pF.string,mF.nullTag,Pq.trueTag,Pq.falseTag,t9.intBin,t9.intOct,t9.int,t9.intHex,W3.floatNaN,W3.floatExp,W3.float,lF.binary,dF.merge,cF.omap,iF.pairs,sF.set,$3.intTime,$3.floatTime,$3.timestamp];rF.schema=aF});var yq=C((JB)=>{var jq=a2(),nF=l9(),Eq=r2(),tF=W4(),eF=dX(),L3=iX(),G3=aX(),ZB=Wq(),XB=Lq(),bq=tX(),_4=y9(),Iq=X3(),fq=s9(),Sq=Aq(),kq=J3(),e9=Y3(),Cq=new Map([["core",ZB.schema],["failsafe",[jq.map,Eq.seq,tF.string]],["json",XB.schema],["yaml11",Sq.schema],["yaml-1.1",Sq.schema]]),Nq={binary:bq.binary,bool:eF.boolTag,float:L3.float,floatExp:L3.floatExp,floatNaN:L3.floatNaN,floatTime:e9.floatTime,int:G3.int,intHex:G3.intHex,intOct:G3.intOct,intTime:e9.intTime,map:jq.map,merge:_4.merge,null:nF.nullTag,omap:Iq.omap,pairs:fq.pairs,seq:Eq.seq,set:kq.set,timestamp:e9.timestamp},QB={"tag:yaml.org,2002:binary":bq.binary,"tag:yaml.org,2002:merge":_4.merge,"tag:yaml.org,2002:omap":Iq.omap,"tag:yaml.org,2002:pairs":fq.pairs,"tag:yaml.org,2002:set":kq.set,"tag:yaml.org,2002:timestamp":e9.timestamp};function UB(Z,X,Q){let U=Cq.get(X);if(U&&!Z)return Q&&!U.includes(_4.merge)?U.concat(_4.merge):U.slice();let J=U;if(!J)if(Array.isArray(Z))J=[];else{let q=Array.from(Cq.keys()).filter((Y)=>Y!=="yaml11").map((Y)=>JSON.stringify(Y)).join(", ");throw Error(`Unknown schema "${X}"; use one of ${q} or define customTags array`)}if(Array.isArray(Z))for(let q of Z)J=J.concat(q);else if(typeof Z==="function")J=Z(J.slice());if(Q)J=J.concat(_4.merge);return J.reduce((q,Y)=>{let W=typeof Y==="string"?Nq[Y]:Y;if(!W){let $=JSON.stringify(Y),L=Object.keys(Nq).map((_)=>JSON.stringify(_)).join(", ");throw Error(`Unknown custom tag ${$}; use one of ${L}`)}if(!q.includes(W))q.push(W);return q},[])}JB.coreKnownTags=QB;JB.getTags=UB});var H3=C((_B)=>{var _3=l(),WB=a2(),$B=r2(),LB=W4(),ZZ=yq(),GB=(Z,X)=>Z.key<X.key?-1:Z.key>X.key?1:0;class V3{constructor({compat:Z,customTags:X,merge:Q,resolveKnownTags:U,schema:J,sortMapEntries:q,toStringDefaults:Y}){this.compat=Array.isArray(Z)?ZZ.getTags(Z,"compat"):Z?ZZ.getTags(null,Z):null,this.name=typeof J==="string"&&J||"core",this.knownTags=U?ZZ.coreKnownTags:{},this.tags=ZZ.getTags(X,this.name,Q),this.toStringOptions=Y??null,Object.defineProperty(this,_3.MAP,{value:WB.map}),Object.defineProperty(this,_3.SCALAR,{value:LB.string}),Object.defineProperty(this,_3.SEQ,{value:$B.seq}),this.sortMapEntries=typeof q==="function"?q:q===!0?GB:null}clone(){let Z=Object.create(V3.prototype,Object.getOwnPropertyDescriptors(this));return Z.tags=this.tags.slice(),Z}}_B.Schema=V3});var gq=C((FB)=>{var HB=l(),z3=U4(),V4=Z4();function zB(Z,X){let Q=[],U=X.directives===!0;if(X.directives!==!1&&Z.directives){let $=Z.directives.toString(Z);if($)Q.push($),U=!0;else if(Z.directives.docStart)U=!0}if(U)Q.push("---");let J=z3.createStringifyContext(Z,X),{commentString:q}=J.options;if(Z.commentBefore){if(Q.length!==1)Q.unshift("");let $=q(Z.commentBefore);Q.unshift(V4.indentComment($,""))}let Y=!1,W=null;if(Z.contents){if(HB.isNode(Z.contents)){if(Z.contents.spaceBefore&&U)Q.push("");if(Z.contents.commentBefore){let _=q(Z.contents.commentBefore);Q.push(V4.indentComment(_,""))}J.forceBlockIndent=!!Z.comment,W=Z.contents.comment}let $=W?void 0:()=>Y=!0,L=z3.stringify(Z.contents,J,()=>W=null,$);if(W)L+=V4.lineComment(L,"",q(W));if((L[0]==="|"||L[0]===">")&&Q[Q.length-1]==="---")Q[Q.length-1]=`--- ${L}`;else Q.push(L)}else Q.push(z3.stringify(Z.contents,J));if(Z.directives?.docEnd)if(Z.comment){let $=q(Z.comment);if($.includes(`
100
- `))Q.push("..."),Q.push(V4.indentComment($,""));else Q.push(`... ${$}`)}else Q.push("...");else{let $=Z.comment;if($&&Y)$=$.replace(/^\n+/,"");if($){if((!Y||W)&&Q[Q.length-1]!=="")Q.push("");Q.push(V4.indentComment(q($),""))}}return Q.join(`
96
+ ${q}${H}`}else return`${_}${Y}${G.join(" ")}${Y}${H}`}}function l9({indent:Z,options:{commentString:X}},Q,U,q){if(U&&q)U=U.replace(/^\n+/,"");if(U){let J=p9.indentComment(X(U),Z);Q.push(J.trimStart())}}mz.stringifyCollection=vz});var c1=C((iz)=>{var pz=aX(),lz=sX(),cz=f9(),l1=d(),c9=p1(),dz=L0();function z4(Z,X){let Q=l1.isScalar(X)?X.value:X;for(let U of Z)if(l1.isPair(U)){if(U.key===X||U.key===Q)return U;if(l1.isScalar(U.key)&&U.key.value===Q)return U}return}class qJ extends cz.Collection{static get tagName(){return"tag:yaml.org,2002:map"}constructor(Z){super(l1.MAP,Z);this.items=[]}static from(Z,X,Q){let{keepUndefined:U,replacer:q}=Q,J=new this(Z),Y=(W,$)=>{if(typeof q==="function")$=q.call(X,W,$);else if(Array.isArray(q)&&!q.includes(W))return;if($!==void 0||U)J.items.push(c9.createPair(W,$,Q))};if(X instanceof Map)for(let[W,$]of X)Y(W,$);else if(X&&typeof X==="object")for(let W of Object.keys(X))Y(W,X[W]);if(typeof Z.sortMapEntries==="function")J.items.sort(Z.sortMapEntries);return J}add(Z,X){let Q;if(l1.isPair(Z))Q=Z;else if(!Z||typeof Z!=="object"||!("key"in Z))Q=new c9.Pair(Z,Z?.value);else Q=new c9.Pair(Z.key,Z.value);let U=z4(this.items,Q.key),q=this.schema?.sortMapEntries;if(U){if(!X)throw Error(`Key ${Q.key} already set`);if(l1.isScalar(U.value)&&dz.isScalarValue(Q.value))U.value.value=Q.value;else U.value=Q.value}else if(q){let J=this.items.findIndex((Y)=>q(Q,Y)<0);if(J===-1)this.items.push(Q);else this.items.splice(J,0,Q)}else this.items.push(Q)}delete(Z){let X=z4(this.items,Z);if(!X)return!1;return this.items.splice(this.items.indexOf(X),1).length>0}get(Z,X){let U=z4(this.items,Z)?.value;return(!X&&l1.isScalar(U)?U.value:U)??void 0}has(Z){return!!z4(this.items,Z)}set(Z,X){this.add(new c9.Pair(Z,X),!0)}toJSON(Z,X,Q){let U=Q?new Q:X?.mapAsMap?new Map:{};if(X?.onCreate)X.onCreate(U);for(let q of this.items)lz.addPairToJSMap(X,U,q);return U}toString(Z,X,Q){if(!Z)return JSON.stringify(this);for(let U of this.items)if(!l1.isPair(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 pz.stringifyCollection(this,Z,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:Z.indent||"",onChompKeep:Q,onComment:X})}}iz.YAMLMap=qJ;iz.findPair=z4});var e2=C((nz)=>{var rz=d(),JJ=c1(),oz={collection:"map",default:!0,nodeClass:JJ.YAMLMap,tag:"tag:yaml.org,2002:map",resolve(Z,X){if(!rz.isMap(Z))X("Expected a mapping for this tag");return Z},createNode:(Z,X,Q)=>JJ.YAMLMap.from(Z,X,Q)};nz.map=oz});var d1=C((qH)=>{var ez=Y4(),ZH=aX(),XH=f9(),i9=d(),QH=L0(),UH=h1();class YJ extends XH.Collection{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(Z){super(i9.SEQ,Z);this.items=[]}add(Z){this.items.push(Z)}delete(Z){let X=d9(Z);if(typeof X!=="number")return!1;return this.items.splice(X,1).length>0}get(Z,X){let Q=d9(Z);if(typeof Q!=="number")return;let U=this.items[Q];return!X&&i9.isScalar(U)?U.value:U}has(Z){let X=d9(Z);return typeof X==="number"&&X<this.items.length}set(Z,X){let Q=d9(Z);if(typeof Q!=="number")throw Error(`Expected a valid index, not ${Z}.`);let U=this.items[Q];if(i9.isScalar(U)&&QH.isScalarValue(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 q of this.items)Q.push(UH.toJS(q,String(U++),X));return Q}toString(Z,X,Q){if(!Z)return JSON.stringify(this);return ZH.stringifyCollection(this,Z,{blockItemPrefix:"- ",flowChars:{start:"[",end:"]"},itemIndent:(Z.indent||"")+" ",onChompKeep:Q,onComment:X})}static from(Z,X,Q){let{replacer:U}=Q,q=new this(Z);if(X&&Symbol.iterator in Object(X)){let J=0;for(let Y of X){if(typeof U==="function"){let W=X instanceof Set?Y:String(J++);Y=U.call(X,W,Y)}q.items.push(ez.createNode(Y,void 0,Q))}}return q}}function d9(Z){let X=i9.isScalar(Z)?Z.value:Z;if(X&&typeof X==="string")X=Number(X);return typeof X==="number"&&Number.isInteger(X)&&X>=0?X:null}qH.YAMLSeq=YJ});var Z6=C(($H)=>{var YH=d(),WJ=d1(),WH={collection:"seq",default:!0,nodeClass:WJ.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve(Z,X){if(!YH.isSeq(Z))X("Expected a sequence for this tag");return Z},createNode:(Z,X,Q)=>WJ.YAMLSeq.from(Z,X,Q)};$H.seq=WH});var H4=C((_H)=>{var GH=L4(),VH={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),GH.stringifyString(Z,X,Q,U)}};_H.string=VH});var s9=C((HH)=>{var $J=L0(),LJ={identify:(Z)=>Z==null,createNode:()=>new $J.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new $J.Scalar(null),stringify:({source:Z},X)=>typeof Z==="string"&&LJ.test.test(Z)?Z:X.options.nullStr};HH.nullTag=LJ});var rX=C((MH)=>{var BH=L0(),GJ={identify:(Z)=>typeof Z==="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:(Z)=>new BH.Scalar(Z[0]==="t"||Z[0]==="T"),stringify({source:Z,value:X},Q){if(Z&&GJ.test.test(Z)){let U=Z[0]==="t"||Z[0]==="T";if(X===U)return Z}return X?Q.options.trueStr:Q.options.falseStr}};MH.boolTag=GJ});var X6=C((TH)=>{function RH({format:Z,minFractionDigits:X,tag:Q,value:U}){if(typeof U==="bigint")return String(U);let q=typeof U==="number"?U:Number(U);if(!isFinite(q))return isNaN(q)?".nan":q<0?"-.inf":".inf";let J=Object.is(U,-0)?"-0":JSON.stringify(U);if(!Z&&X&&(!Q||Q==="tag:yaml.org,2002:float")&&/^\d/.test(J)){let Y=J.indexOf(".");if(Y<0)Y=J.length,J+=".";let W=X-(J.length-Y-1);while(W-- >0)J+="0"}return J}TH.stringifyNumber=RH});var nX=C((SH)=>{var DH=L0(),oX=X6(),wH={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:oX.stringifyNumber},PH={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():oX.stringifyNumber(Z)}},AH={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 DH.Scalar(parseFloat(Z)),Q=Z.indexOf(".");if(Q!==-1&&Z[Z.length-1]==="0")X.minFractionDigits=Z.length-Q-1;return X},stringify:oX.stringifyNumber};SH.float=AH;SH.floatExp=PH;SH.floatNaN=wH});var eX=C((fH)=>{var VJ=X6(),a9=(Z)=>typeof Z==="bigint"||Number.isInteger(Z),tX=(Z,X,Q,{intAsBigInt:U})=>U?BigInt(Z):parseInt(Z.substring(X),Q);function _J(Z,X,Q){let{value:U}=Z;if(a9(U)&&U>=0)return Q+U.toString(X);return VJ.stringifyNumber(Z)}var EH={identify:(Z)=>a9(Z)&&Z>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(Z,X,Q)=>tX(Z,2,8,Q),stringify:(Z)=>_J(Z,8,"0o")},bH={identify:a9,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(Z,X,Q)=>tX(Z,0,10,Q),stringify:VJ.stringifyNumber},IH={identify:(Z)=>a9(Z)&&Z>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(Z,X,Q)=>tX(Z,2,16,Q),stringify:(Z)=>_J(Z,16,"0x")};fH.int=bH;fH.intHex=IH;fH.intOct=EH});var zJ=C((lH)=>{var vH=e2(),xH=s9(),hH=Z6(),mH=H4(),uH=rX(),Z3=nX(),X3=eX(),pH=[vH.map,hH.seq,mH.string,xH.nullTag,uH.boolTag,X3.intOct,X3.int,X3.intHex,Z3.floatNaN,Z3.floatExp,Z3.float];lH.schema=pH});var FJ=C((nH)=>{var dH=L0(),iH=e2(),sH=Z6();function HJ(Z){return typeof Z==="bigint"||Number.isInteger(Z)}var r9=({value:Z})=>JSON.stringify(Z),aH=[{identify:(Z)=>typeof Z==="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:(Z)=>Z,stringify:r9},{identify:(Z)=>Z==null,createNode:()=>new dH.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:r9},{identify:(Z)=>typeof Z==="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:(Z)=>Z==="true",stringify:r9},{identify:HJ,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})=>HJ(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:r9}],rH={default:!0,tag:"",test:/^/,resolve(Z,X){return X(`Unresolved plain scalar ${JSON.stringify(Z)}`),Z}},oH=[iH.map,sH.seq].concat(aH,rH);nH.schema=oH});var U3=C((XF)=>{var F4=T2("buffer"),Q3=L0(),eH=L4(),ZF={identify:(Z)=>Z instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(Z,X){if(typeof F4.Buffer==="function")return F4.Buffer.from(Z,"base64");else if(typeof atob==="function"){let Q=atob(Z.replace(/[\n\r]/g,"")),U=new Uint8Array(Q.length);for(let q=0;q<Q.length;++q)U[q]=Q.charCodeAt(q);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,q,J){if(!Q)return"";let Y=Q,W;if(typeof F4.Buffer==="function")W=Y instanceof F4.Buffer?Y.toString("base64"):F4.Buffer.from(Y.buffer).toString("base64");else if(typeof btoa==="function"){let $="";for(let L=0;L<Y.length;++L)$+=String.fromCharCode(Y[L]);W=btoa($)}else throw Error("This environment does not support writing binary tags; either Buffer or btoa is required");if(X??(X=Q3.Scalar.BLOCK_LITERAL),X!==Q3.Scalar.QUOTE_DOUBLE){let $=Math.max(U.options.lineWidth-U.indent.length,U.options.minContentWidth),L=Math.ceil(W.length/$),V=Array(L);for(let G=0,_=0;G<L;++G,_+=$)V[G]=W.substr(_,$);W=V.join(X===Q3.Scalar.BLOCK_LITERAL?`
97
+ `:" ")}return eH.stringifyString({comment:Z,type:X,value:W},U,q,J)}};XF.binary=ZF});var n9=C((YF)=>{var o9=d(),q3=p1(),UF=L0(),qF=d1();function BJ(Z,X){if(o9.isSeq(Z))for(let Q=0;Q<Z.items.length;++Q){let U=Z.items[Q];if(o9.isPair(U))continue;else if(o9.isMap(U)){if(U.items.length>1)X("Each pair must have its own sequence indicator");let q=U.items[0]||new q3.Pair(new UF.Scalar(null));if(U.commentBefore)q.key.commentBefore=q.key.commentBefore?`${U.commentBefore}
98
+ ${q.key.commentBefore}`:U.commentBefore;if(U.comment){let J=q.value??q.key;J.comment=J.comment?`${U.comment}
99
+ ${J.comment}`:U.comment}U=q}Z.items[Q]=o9.isPair(U)?U:new q3.Pair(U)}else X("Expected a sequence for this tag");return Z}function MJ(Z,X,Q){let{replacer:U}=Q,q=new qF.YAMLSeq(Z);q.tag="tag:yaml.org,2002:pairs";let J=0;if(X&&Symbol.iterator in Object(X))for(let Y of X){if(typeof U==="function")Y=U.call(X,String(J++),Y);let W,$;if(Array.isArray(Y))if(Y.length===2)W=Y[0],$=Y[1];else throw TypeError(`Expected [key, value] tuple: ${Y}`);else if(Y&&Y instanceof Object){let L=Object.keys(Y);if(L.length===1)W=L[0],$=Y[W];else throw TypeError(`Expected tuple with one key, not ${L.length} keys`)}else W=Y;q.items.push(q3.createPair(W,$,Q))}return q}var JF={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:BJ,createNode:MJ};YF.createPairs=MJ;YF.pairs=JF;YF.resolvePairs=BJ});var Y3=C((_F)=>{var OJ=d(),J3=h1(),B4=c1(),GF=d1(),RJ=n9();class _2 extends GF.YAMLSeq{constructor(){super();this.add=B4.YAMLMap.prototype.add.bind(this),this.delete=B4.YAMLMap.prototype.delete.bind(this),this.get=B4.YAMLMap.prototype.get.bind(this),this.has=B4.YAMLMap.prototype.has.bind(this),this.set=B4.YAMLMap.prototype.set.bind(this),this.tag=_2.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 q,J;if(OJ.isPair(U))q=J3.toJS(U.key,"",X),J=J3.toJS(U.value,q,X);else q=J3.toJS(U,"",X);if(Q.has(q))throw Error("Ordered maps must not include duplicate keys");Q.set(q,J)}return Q}static from(Z,X,Q){let U=RJ.createPairs(Z,X,Q),q=new this;return q.items=U.items,q}}_2.tag="tag:yaml.org,2002:omap";var VF={collection:"seq",identify:(Z)=>Z instanceof Map,nodeClass:_2,default:!1,tag:"tag:yaml.org,2002:omap",resolve(Z,X){let Q=RJ.resolvePairs(Z,X),U=[];for(let{key:q}of Q.items)if(OJ.isScalar(q))if(U.includes(q.value))X(`Ordered maps must not include duplicate keys: ${q.value}`);else U.push(q.value);return Object.assign(new _2,Q)},createNode:(Z,X,Q)=>_2.from(Z,X,Q)};_F.YAMLOMap=_2;_F.omap=VF});var PJ=C((FF)=>{var TJ=L0();function KJ({value:Z,source:X},Q){if(X&&(Z?DJ:wJ).test.test(X))return X;return Z?Q.options.trueStr:Q.options.falseStr}var DJ={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 TJ.Scalar(!0),stringify:KJ},wJ={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 TJ.Scalar(!1),stringify:KJ};FF.falseTag=wJ;FF.trueTag=DJ});var AJ=C((DF)=>{var OF=L0(),W3=X6(),RF={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:W3.stringifyNumber},TF={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():W3.stringifyNumber(Z)}},KF={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 OF.Scalar(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:W3.stringifyNumber};DF.float=KF;DF.floatExp=TF;DF.floatNaN=RF});var jJ=C((EF)=>{var SJ=X6(),M4=(Z)=>typeof Z==="bigint"||Number.isInteger(Z);function t9(Z,X,Q,{intAsBigInt:U}){let q=Z[0];if(q==="-"||q==="+")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 Y=BigInt(Z);return q==="-"?BigInt(-1)*Y:Y}let J=parseInt(Z,Q);return q==="-"?-1*J:J}function $3(Z,X,Q){let{value:U}=Z;if(M4(U)){let q=U.toString(X);return U<0?"-"+Q+q.substr(1):Q+q}return SJ.stringifyNumber(Z)}var SF={identify:M4,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(Z,X,Q)=>t9(Z,2,2,Q),stringify:(Z)=>$3(Z,2,"0b")},jF={identify:M4,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(Z,X,Q)=>t9(Z,1,8,Q),stringify:(Z)=>$3(Z,8,"0")},CF={identify:M4,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(Z,X,Q)=>t9(Z,0,10,Q),stringify:SJ.stringifyNumber},NF={identify:M4,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(Z,X,Q)=>t9(Z,2,16,Q),stringify:(Z)=>$3(Z,16,"0x")};EF.int=CF;EF.intBin=SF;EF.intHex=NF;EF.intOct=jF});var L3=C((gF)=>{var XZ=d(),e9=p1(),ZZ=c1();class z2 extends ZZ.YAMLMap{constructor(Z){super(Z);this.tag=z2.tag}add(Z){let X;if(XZ.isPair(Z))X=Z;else if(Z&&typeof Z==="object"&&"key"in Z&&"value"in Z&&Z.value===null)X=new e9.Pair(Z.key,null);else X=new e9.Pair(Z,null);if(!ZZ.findPair(this.items,X.key))this.items.push(X)}get(Z,X){let Q=ZZ.findPair(this.items,Z);return!X&&XZ.isPair(Q)?XZ.isScalar(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=ZZ.findPair(this.items,Z);if(Q&&!X)this.items.splice(this.items.indexOf(Q),1);else if(!Q&&X)this.items.push(new e9.Pair(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,q=new this(Z);if(X&&Symbol.iterator in Object(X))for(let J of X){if(typeof U==="function")J=U.call(X,J,J);q.items.push(e9.createPair(J,null,Q))}return q}}z2.tag="tag:yaml.org,2002:set";var kF={collection:"map",identify:(Z)=>Z instanceof Set,nodeClass:z2,default:!1,tag:"tag:yaml.org,2002:set",createNode:(Z,X,Q)=>z2.from(Z,X,Q),resolve(Z,X){if(XZ.isMap(Z))if(Z.hasAllNullValues(!0))return Object.assign(new z2,Z);else X("Set items must all have null values");else X("Expected a mapping for this tag");return Z}};gF.YAMLSet=z2;gF.set=kF});var V3=C((pF)=>{var hF=X6();function G3(Z,X){let Q=Z[0],U=Q==="-"||Q==="+"?Z.substring(1):Z,q=(Y)=>X?BigInt(Y):Number(Y),J=U.replace(/_/g,"").split(":").reduce((Y,W)=>Y*q(60)+q(W),q(0));return Q==="-"?q(-1)*J:J}function CJ(Z){let{value:X}=Z,Q=(Y)=>Y;if(typeof X==="bigint")Q=(Y)=>BigInt(Y);else if(isNaN(X)||!isFinite(X))return hF.stringifyNumber(Z);let U="";if(X<0)U="-",X*=Q(-1);let q=Q(60),J=[X%q];if(X<60)J.unshift(0);else if(X=(X-J[0])/q,J.unshift(X%q),X>=60)X=(X-J[0])/q,J.unshift(X);return U+J.map((Y)=>String(Y).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}var mF={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})=>G3(Z,Q),stringify:CJ},uF={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)=>G3(Z,!1),stringify:CJ},NJ={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(NJ.test);if(!X)throw Error("!!timestamp expects a date, starting with yyyy-mm-dd");let[,Q,U,q,J,Y,W]=X.map(Number),$=X[7]?Number((X[7]+"00").substr(1,3)):0,L=Date.UTC(Q,U-1,q,J||0,Y||0,W||0,$),V=X[8];if(V&&V!=="Z"){let G=G3(V,!1);if(Math.abs(G)<30)G*=60;L-=60000*G}return new Date(L)},stringify:({value:Z})=>Z?.toISOString().replace(/(T00:00:00)?\.000Z$/,"")??""};pF.floatTime=uF;pF.intTime=mF;pF.timestamp=NJ});var bJ=C((QB)=>{var iF=e2(),sF=s9(),aF=Z6(),rF=H4(),oF=U3(),EJ=PJ(),_3=AJ(),QZ=jJ(),nF=h9(),tF=Y3(),eF=n9(),ZB=L3(),z3=V3(),XB=[iF.map,aF.seq,rF.string,sF.nullTag,EJ.trueTag,EJ.falseTag,QZ.intBin,QZ.intOct,QZ.int,QZ.intHex,_3.floatNaN,_3.floatExp,_3.float,oF.binary,nF.merge,tF.omap,eF.pairs,ZB.set,z3.intTime,z3.floatTime,z3.timestamp];QB.schema=XB});var uJ=C((VB)=>{var kJ=e2(),qB=s9(),gJ=Z6(),JB=H4(),YB=rX(),H3=nX(),F3=eX(),WB=zJ(),$B=FJ(),vJ=U3(),O4=h9(),xJ=Y3(),hJ=n9(),IJ=bJ(),mJ=L3(),UZ=V3(),fJ=new Map([["core",WB.schema],["failsafe",[kJ.map,gJ.seq,JB.string]],["json",$B.schema],["yaml11",IJ.schema],["yaml-1.1",IJ.schema]]),yJ={binary:vJ.binary,bool:YB.boolTag,float:H3.float,floatExp:H3.floatExp,floatNaN:H3.floatNaN,floatTime:UZ.floatTime,int:F3.int,intHex:F3.intHex,intOct:F3.intOct,intTime:UZ.intTime,map:kJ.map,merge:O4.merge,null:qB.nullTag,omap:xJ.omap,pairs:hJ.pairs,seq:gJ.seq,set:mJ.set,timestamp:UZ.timestamp},LB={"tag:yaml.org,2002:binary":vJ.binary,"tag:yaml.org,2002:merge":O4.merge,"tag:yaml.org,2002:omap":xJ.omap,"tag:yaml.org,2002:pairs":hJ.pairs,"tag:yaml.org,2002:set":mJ.set,"tag:yaml.org,2002:timestamp":UZ.timestamp};function GB(Z,X,Q){let U=fJ.get(X);if(U&&!Z)return Q&&!U.includes(O4.merge)?U.concat(O4.merge):U.slice();let q=U;if(!q)if(Array.isArray(Z))q=[];else{let J=Array.from(fJ.keys()).filter((Y)=>Y!=="yaml11").map((Y)=>JSON.stringify(Y)).join(", ");throw Error(`Unknown schema "${X}"; use one of ${J} or define customTags array`)}if(Array.isArray(Z))for(let J of Z)q=q.concat(J);else if(typeof Z==="function")q=Z(q.slice());if(Q)q=q.concat(O4.merge);return q.reduce((J,Y)=>{let W=typeof Y==="string"?yJ[Y]:Y;if(!W){let $=JSON.stringify(Y),L=Object.keys(yJ).map((V)=>JSON.stringify(V)).join(", ");throw Error(`Unknown custom tag ${$}; use one of ${L}`)}if(!J.includes(W))J.push(W);return J},[])}VB.coreKnownTags=LB;VB.getTags=GB});var O3=C((OB)=>{var B3=d(),HB=e2(),FB=Z6(),BB=H4(),qZ=uJ(),MB=(Z,X)=>Z.key<X.key?-1:Z.key>X.key?1:0;class M3{constructor({compat:Z,customTags:X,merge:Q,resolveKnownTags:U,schema:q,sortMapEntries:J,toStringDefaults:Y}){this.compat=Array.isArray(Z)?qZ.getTags(Z,"compat"):Z?qZ.getTags(null,Z):null,this.name=typeof q==="string"&&q||"core",this.knownTags=U?qZ.coreKnownTags:{},this.tags=qZ.getTags(X,this.name,Q),this.toStringOptions=Y??null,Object.defineProperty(this,B3.MAP,{value:HB.map}),Object.defineProperty(this,B3.SCALAR,{value:BB.string}),Object.defineProperty(this,B3.SEQ,{value:FB.seq}),this.sortMapEntries=typeof J==="function"?J:J===!0?MB:null}clone(){let Z=Object.create(M3.prototype,Object.getOwnPropertyDescriptors(this));return Z.tags=this.tags.slice(),Z}}OB.Schema=M3});var pJ=C((DB)=>{var TB=d(),R3=G4(),R4=W4();function KB(Z,X){let Q=[],U=X.directives===!0;if(X.directives!==!1&&Z.directives){let $=Z.directives.toString(Z);if($)Q.push($),U=!0;else if(Z.directives.docStart)U=!0}if(U)Q.push("---");let q=R3.createStringifyContext(Z,X),{commentString:J}=q.options;if(Z.commentBefore){if(Q.length!==1)Q.unshift("");let $=J(Z.commentBefore);Q.unshift(R4.indentComment($,""))}let Y=!1,W=null;if(Z.contents){if(TB.isNode(Z.contents)){if(Z.contents.spaceBefore&&U)Q.push("");if(Z.contents.commentBefore){let V=J(Z.contents.commentBefore);Q.push(R4.indentComment(V,""))}q.forceBlockIndent=!!Z.comment,W=Z.contents.comment}let $=W?void 0:()=>Y=!0,L=R3.stringify(Z.contents,q,()=>W=null,$);if(W)L+=R4.lineComment(L,"",J(W));if((L[0]==="|"||L[0]===">")&&Q[Q.length-1]==="---")Q[Q.length-1]=`--- ${L}`;else Q.push(L)}else Q.push(R3.stringify(Z.contents,q));if(Z.directives?.docEnd)if(Z.comment){let $=J(Z.comment);if($.includes(`
100
+ `))Q.push("..."),Q.push(R4.indentComment($,""));else Q.push(`... ${$}`)}else Q.push("...");else{let $=Z.comment;if($&&Y)$=$.replace(/^\n+/,"");if($){if((!Y||W)&&Q[Q.length-1]!=="")Q.push("");Q.push(R4.indentComment(J($),""))}}return Q.join(`
101
101
  `)+`
102
- `}FB.stringifyDocument=zB});var H4=C((PB)=>{var MB=t6(),n2=j9(),c0=l(),OB=p1(),RB=h1(),KB=H3(),TB=gq(),F3=S9(),DB=kX(),wB=e6(),B3=fX();class M3{constructor(Z,X,Q){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,c0.NODE_TYPE,{value:c0.DOC});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:q}=J;if(Q?._directives){if(this.directives=Q._directives.atDocument(),this.directives.yaml.explicit)q=this.directives.yaml.version}else this.directives=new B3.Directives({version:q});this.setSchema(q,Q),this.contents=Z===void 0?null:this.createNode(Z,U,Q)}clone(){let Z=Object.create(M3.prototype,{[c0.NODE_TYPE]:{value:c0.DOC}});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=c0.isNode(this.contents)?this.contents.clone(Z.schema):this.contents,this.range)Z.range=this.range.slice();return Z}add(Z){if(t2(this.contents))this.contents.add(Z)}addIn(Z,X){if(t2(this.contents))this.contents.addIn(Z,X)}createAlias(Z,X){if(!Z.anchor){let Q=F3.anchorNames(this);Z.anchor=!X||Q.has(X)?F3.findNewAnchor(X||"a",Q):X}return new MB.Alias(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 H=(T)=>typeof T==="number"||T instanceof String||T instanceof Number,B=X.filter(H).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:q,flow:Y,keepUndefined:W,onTagObj:$,tag:L}=Q??{},{onAnchor:_,setAnchors:G,sourceObjects:V}=F3.createNodeAnchors(this,q||"a"),z={aliasDuplicateObjects:J??!0,keepUndefined:W??!1,onAnchor:_,onTagObj:$,replacer:U,schema:this.schema,sourceObjects:V},F=wB.createNode(Z,L,z);if(Y&&c0.isCollection(F))F.flow=!0;return G(),F}createPair(Z,X,Q={}){let U=this.createNode(Z,null,Q),J=this.createNode(X,null,Q);return new OB.Pair(U,J)}delete(Z){return t2(this.contents)?this.contents.delete(Z):!1}deleteIn(Z){if(n2.isEmptyPath(Z)){if(this.contents==null)return!1;return this.contents=null,!0}return t2(this.contents)?this.contents.deleteIn(Z):!1}get(Z,X){return c0.isCollection(this.contents)?this.contents.get(Z,X):void 0}getIn(Z,X){if(n2.isEmptyPath(Z))return!X&&c0.isScalar(this.contents)?this.contents.value:this.contents;return c0.isCollection(this.contents)?this.contents.getIn(Z,X):void 0}has(Z){return c0.isCollection(this.contents)?this.contents.has(Z):!1}hasIn(Z){if(n2.isEmptyPath(Z))return this.contents!==void 0;return c0.isCollection(this.contents)?this.contents.hasIn(Z):!1}set(Z,X){if(this.contents==null)this.contents=n2.collectionFromPath(this.schema,[Z],X);else if(t2(this.contents))this.contents.set(Z,X)}setIn(Z,X){if(n2.isEmptyPath(Z))this.contents=X;else if(this.contents==null)this.contents=n2.collectionFromPath(this.schema,Array.from(Z),X);else if(t2(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 B3.Directives({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 B3.Directives({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 KB.Schema(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:q}={}){let Y={anchors:new Map,doc:this,keep:!Z,mapAsMap:Q===!0,mapKeyWarned:!1,maxAliasCount:typeof U==="number"?U:100},W=RB.toJS(this.contents,X??"",Y);if(typeof J==="function")for(let{count:$,res:L}of Y.anchors.values())J(L,$);return typeof q==="function"?DB.applyReviver(q,{"":W},"",W):W}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 TB.stringifyDocument(this,Z)}}function t2(Z){if(c0.isCollection(Z))return!0;throw Error("Expected a YAML collection as document contents")}PB.Document=M3});var z4=C((CB)=>{class XZ extends Error{constructor(Z,X,Q,U){super();this.name=Z,this.code=Q,this.message=U,this.pos=X}}class vq extends XZ{constructor(Z,X,Q){super("YAMLParseError",Z,X,Q)}}class xq extends XZ{constructor(Z,X,Q){super("YAMLWarning",Z,X,Q)}}var SB=(Z,X)=>(Q)=>{if(Q.pos[0]===-1)return;Q.linePos=Q.pos.map((W)=>X.linePos(W));let{line:U,col:J}=Q.linePos[0];Q.message+=` at line ${U}, column ${J}`;let q=J-1,Y=Z.substring(X.lineStarts[U-1],X.lineStarts[U]).replace(/[\n\r]+$/,"");if(q>=60&&Y.length>80){let W=Math.min(q-39,Y.length-79);Y="…"+Y.substring(W),q-=W-1}if(Y.length>80)Y=Y.substring(0,79)+"…";if(U>1&&/^ *$/.test(Y.substring(0,q))){let W=Z.substring(X.lineStarts[U-2],X.lineStarts[U-1]);if(W.length>80)W=W.substring(0,79)+`…
103
- `;Y=W+Y}if(/[^ ]/.test(Y)){let W=1,$=Q.linePos[1];if($?.line===U&&$.col>J)W=Math.max(1,Math.min($.col-J,80-q));let L=" ".repeat(q)+"^".repeat(W);Q.message+=`:
102
+ `}DB.stringifyDocument=KB});var T4=C((bB)=>{var PB=J4(),Q6=f9(),c0=d(),AB=p1(),SB=h1(),jB=O3(),CB=pJ(),T3=E9(),NB=hX(),EB=Y4(),K3=xX();class D3{constructor(Z,X,Q){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,c0.NODE_TYPE,{value:c0.DOC});let U=null;if(typeof X==="function"||Array.isArray(X))U=X;else if(Q===void 0&&X)Q=X,X=void 0;let q=Object.assign({intAsBigInt:!1,keepSourceTokens:!1,logLevel:"warn",prettyErrors:!0,strict:!0,stringKeys:!1,uniqueKeys:!0,version:"1.2"},Q);this.options=q;let{version:J}=q;if(Q?._directives){if(this.directives=Q._directives.atDocument(),this.directives.yaml.explicit)J=this.directives.yaml.version}else this.directives=new K3.Directives({version:J});this.setSchema(J,Q),this.contents=Z===void 0?null:this.createNode(Z,U,Q)}clone(){let Z=Object.create(D3.prototype,{[c0.NODE_TYPE]:{value:c0.DOC}});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=c0.isNode(this.contents)?this.contents.clone(Z.schema):this.contents,this.range)Z.range=this.range.slice();return Z}add(Z){if(U6(this.contents))this.contents.add(Z)}addIn(Z,X){if(U6(this.contents))this.contents.addIn(Z,X)}createAlias(Z,X){if(!Z.anchor){let Q=T3.anchorNames(this);Z.anchor=!X||Q.has(X)?T3.findNewAnchor(X||"a",Q):X}return new PB.Alias(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:q,anchorPrefix:J,flow:Y,keepUndefined:W,onTagObj:$,tag:L}=Q??{},{onAnchor:V,setAnchors:G,sourceObjects:_}=T3.createNodeAnchors(this,J||"a"),H={aliasDuplicateObjects:q??!0,keepUndefined:W??!1,onAnchor:V,onTagObj:$,replacer:U,schema:this.schema,sourceObjects:_},F=EB.createNode(Z,L,H);if(Y&&c0.isCollection(F))F.flow=!0;return G(),F}createPair(Z,X,Q={}){let U=this.createNode(Z,null,Q),q=this.createNode(X,null,Q);return new AB.Pair(U,q)}delete(Z){return U6(this.contents)?this.contents.delete(Z):!1}deleteIn(Z){if(Q6.isEmptyPath(Z)){if(this.contents==null)return!1;return this.contents=null,!0}return U6(this.contents)?this.contents.deleteIn(Z):!1}get(Z,X){return c0.isCollection(this.contents)?this.contents.get(Z,X):void 0}getIn(Z,X){if(Q6.isEmptyPath(Z))return!X&&c0.isScalar(this.contents)?this.contents.value:this.contents;return c0.isCollection(this.contents)?this.contents.getIn(Z,X):void 0}has(Z){return c0.isCollection(this.contents)?this.contents.has(Z):!1}hasIn(Z){if(Q6.isEmptyPath(Z))return this.contents!==void 0;return c0.isCollection(this.contents)?this.contents.hasIn(Z):!1}set(Z,X){if(this.contents==null)this.contents=Q6.collectionFromPath(this.schema,[Z],X);else if(U6(this.contents))this.contents.set(Z,X)}setIn(Z,X){if(Q6.isEmptyPath(Z))this.contents=X;else if(this.contents==null)this.contents=Q6.collectionFromPath(this.schema,Array.from(Z),X);else if(U6(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 K3.Directives({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 K3.Directives({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 jB.Schema(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:q,reviver:J}={}){let Y={anchors:new Map,doc:this,keep:!Z,mapAsMap:Q===!0,mapKeyWarned:!1,maxAliasCount:typeof U==="number"?U:100},W=SB.toJS(this.contents,X??"",Y);if(typeof q==="function")for(let{count:$,res:L}of Y.anchors.values())q(L,$);return typeof J==="function"?NB.applyReviver(J,{"":W},"",W):W}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 CB.stringifyDocument(this,Z)}}function U6(Z){if(c0.isCollection(Z))return!0;throw Error("Expected a YAML collection as document contents")}bB.Document=D3});var K4=C((yB)=>{class JZ extends Error{constructor(Z,X,Q,U){super();this.name=Z,this.code=Q,this.message=U,this.pos=X}}class lJ extends JZ{constructor(Z,X,Q){super("YAMLParseError",Z,X,Q)}}class cJ extends JZ{constructor(Z,X,Q){super("YAMLWarning",Z,X,Q)}}var fB=(Z,X)=>(Q)=>{if(Q.pos[0]===-1)return;Q.linePos=Q.pos.map((W)=>X.linePos(W));let{line:U,col:q}=Q.linePos[0];Q.message+=` at line ${U}, column ${q}`;let J=q-1,Y=Z.substring(X.lineStarts[U-1],X.lineStarts[U]).replace(/[\n\r]+$/,"");if(J>=60&&Y.length>80){let W=Math.min(J-39,Y.length-79);Y="…"+Y.substring(W),J-=W-1}if(Y.length>80)Y=Y.substring(0,79)+"…";if(U>1&&/^ *$/.test(Y.substring(0,J))){let W=Z.substring(X.lineStarts[U-2],X.lineStarts[U-1]);if(W.length>80)W=W.substring(0,79)+`…
103
+ `;Y=W+Y}if(/[^ ]/.test(Y)){let W=1,$=Q.linePos[1];if($?.line===U&&$.col>q)W=Math.max(1,Math.min($.col-q,80-J));let L=" ".repeat(J)+"^".repeat(W);Q.message+=`:
104
104
 
105
105
  ${Y}
106
106
  ${L}
107
- `}};CB.YAMLError=XZ;CB.YAMLParseError=vq;CB.YAMLWarning=xq;CB.prettifyError=SB});var F4=C((fB)=>{function IB(Z,{flow:X,indicator:Q,next:U,offset:J,onError:q,parentIndent:Y,startOnNewline:W}){let $=!1,L=W,_=W,G="",V="",z=!1,F=!1,H=null,B=null,T=null,D=null,K=null,w=null,S=null;for(let N of Z){if(F){if(N.type!=="space"&&N.type!=="newline"&&N.type!=="comma")q(N.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space");F=!1}if(H){if(L&&N.type!=="comment"&&N.type!=="newline")q(H,"TAB_AS_INDENT","Tabs are not allowed as indentation");H=null}switch(N.type){case"space":if(!X&&(Q!=="doc-start"||U?.type!=="flow-collection")&&N.source.includes("\t"))H=N;_=!0;break;case"comment":{if(!_)q(N,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let x=N.source.substring(1)||" ";if(!G)G=x;else G+=V+x;V="",L=!1;break}case"newline":if(L){if(G)G+=N.source;else if(!w||Q!=="seq-item-ind")$=!0}else V+=N.source;if(L=!0,z=!0,B||T)D=N;_=!0;break;case"anchor":if(B)q(N,"MULTIPLE_ANCHORS","A node can have at most one anchor");if(N.source.endsWith(":"))q(N.offset+N.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0);B=N,S??(S=N.offset),L=!1,_=!1,F=!0;break;case"tag":{if(T)q(N,"MULTIPLE_TAGS","A node can have at most one tag");T=N,S??(S=N.offset),L=!1,_=!1,F=!0;break}case Q:if(B||T)q(N,"BAD_PROP_ORDER",`Anchors and tags must be after the ${N.source} indicator`);if(w)q(N,"UNEXPECTED_TOKEN",`Unexpected ${N.source} in ${X??"collection"}`);w=N,L=Q==="seq-item-ind"||Q==="explicit-key-ind",_=!1;break;case"comma":if(X){if(K)q(N,"UNEXPECTED_TOKEN",`Unexpected , in ${X}`);K=N,L=!1,_=!1;break}default:q(N,"UNEXPECTED_TOKEN",`Unexpected ${N.type} token`),L=!1,_=!1}}let j=Z[Z.length-1],v=j?j.offset+j.source.length:J;if(F&&U&&U.type!=="space"&&U.type!=="newline"&&U.type!=="comma"&&(U.type!=="scalar"||U.source!==""))q(U.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space");if(H&&(L&&H.indent<=Y||U?.type==="block-map"||U?.type==="block-seq"))q(H,"TAB_AS_INDENT","Tabs are not allowed as indentation");return{comma:K,found:w,spaceBefore:$,comment:G,hasNewline:z,anchor:B,tag:T,newlineAfterProp:D,end:v,start:S??v}}fB.resolveProps=IB});var QZ=C((yB)=>{function O3(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(O3(X.key)||O3(X.value))return!0}return!1;default:return!0}}yB.containsNewline=O3});var R3=C((hB)=>{var vB=QZ();function xB(Z,X,Q){if(X?.type==="flow-collection"){let U=X.end[0];if(U.indent===Z&&(U.source==="]"||U.source==="}")&&vB.containsNewline(X))Q(U,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}hB.flowIndentCheck=xB});var K3=C((pB)=>{var hq=l();function uB(Z,X,Q){let{uniqueKeys:U}=Z.options;if(U===!1)return!1;let J=typeof U==="function"?U:(q,Y)=>q===Y||hq.isScalar(q)&&hq.isScalar(Y)&&q.value===Y.value;return X.some((q)=>J(q.key,Q))}pB.mapIncludes=uB});var dq=C((aB)=>{var mq=p1(),dB=d1(),uq=F4(),cB=QZ(),pq=R3(),iB=K3(),lq="All mapping items must start at the same column";function sB({composeNode:Z,composeEmptyNode:X},Q,U,J,q){let W=new(q?.nodeClass??dB.YAMLMap)(Q.schema);if(Q.atRoot)Q.atRoot=!1;let $=U.offset,L=null;for(let _ of U.items){let{start:G,key:V,sep:z,value:F}=_,H=uq.resolveProps(G,{indicator:"explicit-key-ind",next:V??z?.[0],offset:$,onError:J,parentIndent:U.indent,startOnNewline:!0}),B=!H.found;if(B){if(V){if(V.type==="block-seq")J($,"BLOCK_AS_IMPLICIT_KEY","A block sequence may not be used as an implicit map key");else if("indent"in V&&V.indent!==U.indent)J($,"BAD_INDENT",lq)}if(!H.anchor&&!H.tag&&!z){if(L=H.end,H.comment)if(W.comment)W.comment+=`
109
- `+H.comment;else W.comment=H.comment;continue}if(H.newlineAfterProp||cB.containsNewline(V))J(V??G[G.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else if(H.found?.indent!==U.indent)J($,"BAD_INDENT",lq);Q.atKey=!0;let T=H.end,D=V?Z(Q,V,H,J):X(Q,T,G,null,H,J);if(Q.schema.compat)pq.flowIndentCheck(U.indent,V,J);if(Q.atKey=!1,iB.mapIncludes(Q,W.items,D))J(T,"DUPLICATE_KEY","Map keys must be unique");let K=uq.resolveProps(z??[],{indicator:"map-value-ind",next:F,offset:D.range[2],onError:J,parentIndent:U.indent,startOnNewline:!V||V.type==="block-scalar"});if($=K.end,K.found){if(B){if(F?.type==="block-map"&&!K.hasNewline)J($,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings");if(Q.options.strict&&H.start<K.found.offset-1024)J(D.range,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit block mapping key")}let w=F?Z(Q,F,K,J):X(Q,$,z,null,K,J);if(Q.schema.compat)pq.flowIndentCheck(U.indent,F,J);$=w.range[2];let S=new mq.Pair(D,w);if(Q.options.keepSourceTokens)S.srcToken=_;W.items.push(S)}else{if(B)J(D.range,"MISSING_CHAR","Implicit map keys need to be followed by map values");if(K.comment)if(D.comment)D.comment+=`
110
- `+K.comment;else D.comment=K.comment;let w=new mq.Pair(D);if(Q.options.keepSourceTokens)w.srcToken=_;W.items.push(w)}}if(L&&L<$)J(L,"IMPOSSIBLE","Map comment with trailing content");return W.range=[U.offset,$,L??$],W}aB.resolveBlockMap=sB});var cq=C((ZM)=>{var oB=c1(),nB=F4(),tB=R3();function eB({composeNode:Z,composeEmptyNode:X},Q,U,J,q){let W=new(q?.nodeClass??oB.YAMLSeq)(Q.schema);if(Q.atRoot)Q.atRoot=!1;if(Q.atKey)Q.atKey=!1;let $=U.offset,L=null;for(let{start:_,value:G}of U.items){let V=nB.resolveProps(_,{indicator:"seq-item-ind",next:G,offset:$,onError:J,parentIndent:U.indent,startOnNewline:!0});if(!V.found)if(V.anchor||V.tag||G)if(G?.type==="block-seq")J(V.end,"BAD_INDENT","All sequence items must start at the same column");else J($,"MISSING_CHAR","Sequence item without - indicator");else{if(L=V.end,V.comment)W.comment=V.comment;continue}let z=G?Z(Q,G,V,J):X(Q,V.end,_,null,V,J);if(Q.schema.compat)tB.flowIndentCheck(U.indent,G,J);$=z.range[2],W.items.push(z)}return W.range=[U.offset,$,L??$],W}ZM.resolveBlockSeq=eB});var e2=C((UM)=>{function QM(Z,X,Q,U){let J="";if(Z){let q=!1,Y="";for(let W of Z){let{source:$,type:L}=W;switch(L){case"space":q=!0;break;case"comment":{if(Q&&!q)U(W,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let _=$.substring(1)||" ";if(!J)J=_;else J+=Y+_;Y="";break}case"newline":if(J)Y+=$;q=!0;break;default:U(W,"UNEXPECTED_TOKEN",`Unexpected ${L} at node end`)}X+=$.length}}return{comment:J,offset:X}}UM.resolveEnd=QM});var aq=C((VM)=>{var qM=l(),YM=p1(),iq=d1(),WM=c1(),$M=e2(),sq=F4(),LM=QZ(),GM=K3(),T3="Block collections are not allowed within flow collections",D3=(Z)=>Z&&(Z.type==="block-map"||Z.type==="block-seq");function _M({composeNode:Z,composeEmptyNode:X},Q,U,J,q){let Y=U.start.source==="{",W=Y?"flow map":"flow sequence",L=new(q?.nodeClass??(Y?iq.YAMLMap:WM.YAMLSeq))(Q.schema);L.flow=!0;let _=Q.atRoot;if(_)Q.atRoot=!1;if(Q.atKey)Q.atKey=!1;let G=U.offset+U.start.source.length;for(let B=0;B<U.items.length;++B){let T=U.items[B],{start:D,key:K,sep:w,value:S}=T,j=sq.resolveProps(D,{flow:W,indicator:"explicit-key-ind",next:K??w?.[0],offset:G,onError:J,parentIndent:U.indent,startOnNewline:!1});if(!j.found){if(!j.anchor&&!j.tag&&!w&&!S){if(B===0&&j.comma)J(j.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${W}`);else if(B<U.items.length-1)J(j.start,"UNEXPECTED_TOKEN",`Unexpected empty item in ${W}`);if(j.comment)if(L.comment)L.comment+=`
111
- `+j.comment;else L.comment=j.comment;G=j.end;continue}if(!Y&&Q.options.strict&&LM.containsNewline(K))J(K,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line")}if(B===0){if(j.comma)J(j.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${W}`)}else{if(!j.comma)J(j.start,"MISSING_CHAR",`Missing , between ${W} items`);if(j.comment){let v="";Z:for(let N of D)switch(N.type){case"comma":case"space":break;case"comment":v=N.source.substring(1);break Z;default:break Z}if(v){let N=L.items[L.items.length-1];if(qM.isPair(N))N=N.value??N.key;if(N.comment)N.comment+=`
112
- `+v;else N.comment=v;j.comment=j.comment.substring(v.length+1)}}}if(!Y&&!w&&!j.found){let v=S?Z(Q,S,j,J):X(Q,j.end,w,null,j,J);if(L.items.push(v),G=v.range[2],D3(S))J(v.range,"BLOCK_IN_FLOW",T3)}else{Q.atKey=!0;let v=j.end,N=K?Z(Q,K,j,J):X(Q,v,D,null,j,J);if(D3(K))J(N.range,"BLOCK_IN_FLOW",T3);Q.atKey=!1;let x=sq.resolveProps(w??[],{flow:W,indicator:"map-value-ind",next:S,offset:N.range[2],onError:J,parentIndent:U.indent,startOnNewline:!1});if(x.found){if(!Y&&!j.found&&Q.options.strict){if(w)for(let a of w){if(a===x.found)break;if(a.type==="newline"){J(a,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line");break}}if(j.start<x.found.offset-1024)J(x.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 ${W}`);else J(x.start,"MISSING_CHAR",`Missing , or : between ${W} items`);let s=S?Z(Q,S,x,J):x.found?X(Q,x.end,w,null,x,J):null;if(s){if(D3(S))J(s.range,"BLOCK_IN_FLOW",T3)}else if(x.comment)if(N.comment)N.comment+=`
113
- `+x.comment;else N.comment=x.comment;let Q0=new YM.Pair(N,s);if(Q.options.keepSourceTokens)Q0.srcToken=T;if(Y){let a=L;if(GM.mapIncludes(Q,a.items,N))J(v,"DUPLICATE_KEY","Map keys must be unique");a.items.push(Q0)}else{let a=new iq.YAMLMap(Q.schema);a.flow=!0,a.items.push(Q0);let H0=(s??N).range;a.range=[N.range[0],H0[1],H0[2]],L.items.push(a)}G=s?s.range[2]:x.end}}let V=Y?"}":"]",[z,...F]=U.end,H=G;if(z?.source===V)H=z.offset+z.source.length;else{let B=W[0].toUpperCase()+W.substring(1),T=_?`${B} must end with a ${V}`:`${B} in block collection must be sufficiently indented and end with a ${V}`;if(J(G,_?"MISSING_CHAR":"BAD_INDENT",T),z&&z.source.length!==1)F.unshift(z)}if(F.length>0){let B=$M.resolveEnd(F,H,Q.options.strict,J);if(B.comment)if(L.comment)L.comment+=`
114
- `+B.comment;else L.comment=B.comment;L.range=[U.offset,H,B.offset]}else L.range=[U.offset,H,H];return L}VM.resolveFlowCollection=_M});var rq=C((DM)=>{var zM=l(),FM=W0(),BM=d1(),MM=c1(),OM=dq(),RM=cq(),KM=aq();function w3(Z,X,Q,U,J,q){let Y=Q.type==="block-map"?OM.resolveBlockMap(Z,X,Q,U,q):Q.type==="block-seq"?RM.resolveBlockSeq(Z,X,Q,U,q):KM.resolveFlowCollection(Z,X,Q,U,q),W=Y.constructor;if(J==="!"||J===W.tagName)return Y.tag=W.tagName,Y;if(J)Y.tag=J;return Y}function TM(Z,X,Q,U,J){let q=U.tag,Y=!q?null:X.directives.tagName(q.source,(V)=>J(q,"TAG_RESOLVE_FAILED",V));if(Q.type==="block-seq"){let{anchor:V,newlineAfterProp:z}=U,F=V&&q?V.offset>q.offset?V:q:V??q;if(F&&(!z||z.offset<F.offset))J(F,"MISSING_CHAR","Missing newline after block sequence props")}let W=Q.type==="block-map"?"map":Q.type==="block-seq"?"seq":Q.start.source==="{"?"map":"seq";if(!q||!Y||Y==="!"||Y===BM.YAMLMap.tagName&&W==="map"||Y===MM.YAMLSeq.tagName&&W==="seq")return w3(Z,X,Q,J,Y);let $=X.schema.tags.find((V)=>V.tag===Y&&V.collection===W);if(!$){let V=X.schema.knownTags[Y];if(V?.collection===W)X.schema.tags.push(Object.assign({},V,{default:!1})),$=V;else{if(V)J(q,"BAD_COLLECTION_TYPE",`${V.tag} used for ${W} collection, but expects ${V.collection??"scalar"}`,!0);else J(q,"TAG_RESOLVE_FAILED",`Unresolved tag: ${Y}`,!0);return w3(Z,X,Q,J,Y)}}let L=w3(Z,X,Q,J,Y,$),_=$.resolve?.(L,(V)=>J(q,"TAG_RESOLVE_FAILED",V),X.options)??L,G=zM.isNode(_)?_:new FM.Scalar(_);if(G.range=L.range,G.tag=Y,$?.format)G.format=$.format;return G}DM.composeCollection=TM});var A3=C((CM)=>{var P3=W0();function PM(Z,X,Q){let U=X.offset,J=AM(X,Z.options.strict,Q);if(!J)return{value:"",type:null,comment:"",range:[U,U,U]};let q=J.mode===">"?P3.Scalar.BLOCK_FOLDED:P3.Scalar.BLOCK_LITERAL,Y=X.source?SM(X.source):[],W=Y.length;for(let H=Y.length-1;H>=0;--H){let B=Y[H][1];if(B===""||B==="\r")W=H;else break}if(W===0){let H=J.chomp==="+"&&Y.length>0?`
115
- `.repeat(Math.max(1,Y.length-1)):"",B=U+J.length;if(X.source)B+=X.source.length;return{value:H,type:q,comment:J.comment,range:[U,B,B]}}let $=X.indent+J.indent,L=X.offset+J.length,_=0;for(let H=0;H<W;++H){let[B,T]=Y[H];if(T===""||T==="\r"){if(J.indent===0&&B.length>$)$=B.length}else{if(B.length<$)Q(L+B.length,"MISSING_CHAR","Block scalars with more-indented leading empty lines must use an explicit indentation indicator");if(J.indent===0)$=B.length;if(_=H,$===0&&!Z.atRoot)Q(L,"BAD_INDENT","Block scalar values in collections must be indented");break}L+=B.length+T.length+1}for(let H=Y.length-1;H>=W;--H)if(Y[H][0].length>$)W=H+1;let G="",V="",z=!1;for(let H=0;H<_;++H)G+=Y[H][0].slice($)+`
116
- `;for(let H=_;H<W;++H){let[B,T]=Y[H];L+=B.length+T.length+1;let D=T[T.length-1]==="\r";if(D)T=T.slice(0,-1);if(T&&B.length<$){let w=`Block scalar lines must not be less indented than their ${J.indent?"explicit indentation indicator":"first line"}`;Q(L-T.length-(D?2:1),"BAD_INDENT",w),B=""}if(q===P3.Scalar.BLOCK_LITERAL)G+=V+B.slice($)+T,V=`
117
- `;else if(B.length>$||T[0]==="\t"){if(V===" ")V=`
118
- `;else if(!z&&V===`
119
- `)V=`
107
+ `}};yB.YAMLError=JZ;yB.YAMLParseError=lJ;yB.YAMLWarning=cJ;yB.prettifyError=fB});var D4=C((mB)=>{function hB(Z,{flow:X,indicator:Q,next:U,offset:q,onError:J,parentIndent:Y,startOnNewline:W}){let $=!1,L=W,V=W,G="",_="",H=!1,F=!1,z=null,B=null,K=null,w=null,P=null,R=null,S=null;for(let A of Z){if(F){if(A.type!=="space"&&A.type!=="newline"&&A.type!=="comma")J(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")J(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)J(A,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let u=A.source.substring(1)||" ";if(!G)G=u;else G+=_+u;_="",L=!1;break}case"newline":if(L){if(G)G+=A.source;else if(!R||Q!=="seq-item-ind")$=!0}else _+=A.source;if(L=!0,H=!0,B||K)w=A;V=!0;break;case"anchor":if(B)J(A,"MULTIPLE_ANCHORS","A node can have at most one anchor");if(A.source.endsWith(":"))J(A.offset+A.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0);B=A,S??(S=A.offset),L=!1,V=!1,F=!0;break;case"tag":{if(K)J(A,"MULTIPLE_TAGS","A node can have at most one tag");K=A,S??(S=A.offset),L=!1,V=!1,F=!0;break}case Q:if(B||K)J(A,"BAD_PROP_ORDER",`Anchors and tags must be after the ${A.source} indicator`);if(R)J(A,"UNEXPECTED_TOKEN",`Unexpected ${A.source} in ${X??"collection"}`);R=A,L=Q==="seq-item-ind"||Q==="explicit-key-ind",V=!1;break;case"comma":if(X){if(P)J(A,"UNEXPECTED_TOKEN",`Unexpected , in ${X}`);P=A,L=!1,V=!1;break}default:J(A,"UNEXPECTED_TOKEN",`Unexpected ${A.type} token`),L=!1,V=!1}}let N=Z[Z.length-1],y=N?N.offset+N.source.length:q;if(F&&U&&U.type!=="space"&&U.type!=="newline"&&U.type!=="comma"&&(U.type!=="scalar"||U.source!==""))J(U.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space");if(z&&(L&&z.indent<=Y||U?.type==="block-map"||U?.type==="block-seq"))J(z,"TAB_AS_INDENT","Tabs are not allowed as indentation");return{comma:P,found:R,spaceBefore:$,comment:G,hasNewline:H,anchor:B,tag:K,newlineAfterProp:w,end:y,start:S??y}}mB.resolveProps=hB});var YZ=C((pB)=>{function w3(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(w3(X.key)||w3(X.value))return!0}return!1;default:return!0}}pB.containsNewline=w3});var P3=C((iB)=>{var cB=YZ();function dB(Z,X,Q){if(X?.type==="flow-collection"){let U=X.end[0];if(U.indent===Z&&(U.source==="]"||U.source==="}")&&cB.containsNewline(X))Q(U,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}iB.flowIndentCheck=dB});var A3=C((rB)=>{var dJ=d();function aB(Z,X,Q){let{uniqueKeys:U}=Z.options;if(U===!1)return!1;let q=typeof U==="function"?U:(J,Y)=>J===Y||dJ.isScalar(J)&&dJ.isScalar(Y)&&J.value===Y.value;return X.some((J)=>q(J.key,Q))}rB.mapIncludes=aB});var oJ=C((XM)=>{var iJ=p1(),nB=c1(),sJ=D4(),tB=YZ(),aJ=P3(),eB=A3(),rJ="All mapping items must start at the same column";function ZM({composeNode:Z,composeEmptyNode:X},Q,U,q,J){let W=new(J?.nodeClass??nB.YAMLMap)(Q.schema);if(Q.atRoot)Q.atRoot=!1;let $=U.offset,L=null;for(let V of U.items){let{start:G,key:_,sep:H,value:F}=V,z=sJ.resolveProps(G,{indicator:"explicit-key-ind",next:_??H?.[0],offset:$,onError:q,parentIndent:U.indent,startOnNewline:!0}),B=!z.found;if(B){if(_){if(_.type==="block-seq")q($,"BLOCK_AS_IMPLICIT_KEY","A block sequence may not be used as an implicit map key");else if("indent"in _&&_.indent!==U.indent)q($,"BAD_INDENT",rJ)}if(!z.anchor&&!z.tag&&!H){if(L=z.end,z.comment)if(W.comment)W.comment+=`
109
+ `+z.comment;else W.comment=z.comment;continue}if(z.newlineAfterProp||tB.containsNewline(_))q(_??G[G.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else if(z.found?.indent!==U.indent)q($,"BAD_INDENT",rJ);Q.atKey=!0;let K=z.end,w=_?Z(Q,_,z,q):X(Q,K,G,null,z,q);if(Q.schema.compat)aJ.flowIndentCheck(U.indent,_,q);if(Q.atKey=!1,eB.mapIncludes(Q,W.items,w))q(K,"DUPLICATE_KEY","Map keys must be unique");let P=sJ.resolveProps(H??[],{indicator:"map-value-ind",next:F,offset:w.range[2],onError:q,parentIndent:U.indent,startOnNewline:!_||_.type==="block-scalar"});if($=P.end,P.found){if(B){if(F?.type==="block-map"&&!P.hasNewline)q($,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings");if(Q.options.strict&&z.start<P.found.offset-1024)q(w.range,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit block mapping key")}let R=F?Z(Q,F,P,q):X(Q,$,H,null,P,q);if(Q.schema.compat)aJ.flowIndentCheck(U.indent,F,q);$=R.range[2];let S=new iJ.Pair(w,R);if(Q.options.keepSourceTokens)S.srcToken=V;W.items.push(S)}else{if(B)q(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 R=new iJ.Pair(w);if(Q.options.keepSourceTokens)R.srcToken=V;W.items.push(R)}}if(L&&L<$)q(L,"IMPOSSIBLE","Map comment with trailing content");return W.range=[U.offset,$,L??$],W}XM.resolveBlockMap=ZM});var nJ=C((WM)=>{var UM=d1(),qM=D4(),JM=P3();function YM({composeNode:Z,composeEmptyNode:X},Q,U,q,J){let W=new(J?.nodeClass??UM.YAMLSeq)(Q.schema);if(Q.atRoot)Q.atRoot=!1;if(Q.atKey)Q.atKey=!1;let $=U.offset,L=null;for(let{start:V,value:G}of U.items){let _=qM.resolveProps(V,{indicator:"seq-item-ind",next:G,offset:$,onError:q,parentIndent:U.indent,startOnNewline:!0});if(!_.found)if(_.anchor||_.tag||G)if(G?.type==="block-seq")q(_.end,"BAD_INDENT","All sequence items must start at the same column");else q($,"MISSING_CHAR","Sequence item without - indicator");else{if(L=_.end,_.comment)W.comment=_.comment;continue}let H=G?Z(Q,G,_,q):X(Q,_.end,V,null,_,q);if(Q.schema.compat)JM.flowIndentCheck(U.indent,G,q);$=H.range[2],W.items.push(H)}return W.range=[U.offset,$,L??$],W}WM.resolveBlockSeq=YM});var q6=C((GM)=>{function LM(Z,X,Q,U){let q="";if(Z){let J=!1,Y="";for(let W of Z){let{source:$,type:L}=W;switch(L){case"space":J=!0;break;case"comment":{if(Q&&!J)U(W,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let V=$.substring(1)||" ";if(!q)q=V;else q+=Y+V;Y="";break}case"newline":if(q)Y+=$;J=!0;break;default:U(W,"UNEXPECTED_TOKEN",`Unexpected ${L} at node end`)}X+=$.length}}return{comment:q,offset:X}}GM.resolveEnd=LM});var ZY=C((RM)=>{var _M=d(),zM=p1(),tJ=c1(),HM=d1(),FM=q6(),eJ=D4(),BM=YZ(),MM=A3(),S3="Block collections are not allowed within flow collections",j3=(Z)=>Z&&(Z.type==="block-map"||Z.type==="block-seq");function OM({composeNode:Z,composeEmptyNode:X},Q,U,q,J){let Y=U.start.source==="{",W=Y?"flow map":"flow sequence",L=new(J?.nodeClass??(Y?tJ.YAMLMap:HM.YAMLSeq))(Q.schema);L.flow=!0;let V=Q.atRoot;if(V)Q.atRoot=!1;if(Q.atKey)Q.atKey=!1;let G=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:R,value:S}=K,N=eJ.resolveProps(w,{flow:W,indicator:"explicit-key-ind",next:P??R?.[0],offset:G,onError:q,parentIndent:U.indent,startOnNewline:!1});if(!N.found){if(!N.anchor&&!N.tag&&!R&&!S){if(B===0&&N.comma)q(N.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${W}`);else if(B<U.items.length-1)q(N.start,"UNEXPECTED_TOKEN",`Unexpected empty item in ${W}`);if(N.comment)if(L.comment)L.comment+=`
111
+ `+N.comment;else L.comment=N.comment;G=N.end;continue}if(!Y&&Q.options.strict&&BM.containsNewline(P))q(P,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line")}if(B===0){if(N.comma)q(N.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${W}`)}else{if(!N.comma)q(N.start,"MISSING_CHAR",`Missing , between ${W} items`);if(N.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(_M.isPair(A))A=A.value??A.key;if(A.comment)A.comment+=`
112
+ `+y;else A.comment=y;N.comment=N.comment.substring(y.length+1)}}}if(!Y&&!R&&!N.found){let y=S?Z(Q,S,N,q):X(Q,N.end,R,null,N,q);if(L.items.push(y),G=y.range[2],j3(S))q(y.range,"BLOCK_IN_FLOW",S3)}else{Q.atKey=!0;let y=N.end,A=P?Z(Q,P,N,q):X(Q,y,w,null,N,q);if(j3(P))q(A.range,"BLOCK_IN_FLOW",S3);Q.atKey=!1;let u=eJ.resolveProps(R??[],{flow:W,indicator:"map-value-ind",next:S,offset:A.range[2],onError:q,parentIndent:U.indent,startOnNewline:!1});if(u.found){if(!Y&&!N.found&&Q.options.strict){if(R)for(let x of R){if(x===u.found)break;if(x.type==="newline"){q(x,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line");break}}if(N.start<u.found.offset-1024)q(u.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]===":")q(S,"MISSING_CHAR",`Missing space after : in ${W}`);else q(u.start,"MISSING_CHAR",`Missing , or : between ${W} items`);let o=S?Z(Q,S,u,q):u.found?X(Q,u.end,R,null,u,q):null;if(o){if(j3(S))q(o.range,"BLOCK_IN_FLOW",S3)}else if(u.comment)if(A.comment)A.comment+=`
113
+ `+u.comment;else A.comment=u.comment;let t=new zM.Pair(A,o);if(Q.options.keepSourceTokens)t.srcToken=K;if(Y){let x=L;if(MM.mapIncludes(Q,x.items,A))q(y,"DUPLICATE_KEY","Map keys must be unique");x.items.push(t)}else{let x=new tJ.YAMLMap(Q.schema);x.flow=!0,x.items.push(t);let r=(o??A).range;x.range=[A.range[0],r[1],r[2]],L.items.push(x)}G=o?o.range[2]:u.end}}let _=Y?"}":"]",[H,...F]=U.end,z=G;if(H?.source===_)z=H.offset+H.source.length;else{let B=W[0].toUpperCase()+W.substring(1),K=V?`${B} must end with a ${_}`:`${B} in block collection must be sufficiently indented and end with a ${_}`;if(q(G,V?"MISSING_CHAR":"BAD_INDENT",K),H&&H.source.length!==1)F.unshift(H)}if(F.length>0){let B=FM.resolveEnd(F,z,Q.options.strict,q);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}RM.resolveFlowCollection=OM});var XY=C((NM)=>{var KM=d(),DM=L0(),wM=c1(),PM=d1(),AM=oJ(),SM=nJ(),jM=ZY();function C3(Z,X,Q,U,q,J){let Y=Q.type==="block-map"?AM.resolveBlockMap(Z,X,Q,U,J):Q.type==="block-seq"?SM.resolveBlockSeq(Z,X,Q,U,J):jM.resolveFlowCollection(Z,X,Q,U,J),W=Y.constructor;if(q==="!"||q===W.tagName)return Y.tag=W.tagName,Y;if(q)Y.tag=q;return Y}function CM(Z,X,Q,U,q){let J=U.tag,Y=!J?null:X.directives.tagName(J.source,(_)=>q(J,"TAG_RESOLVE_FAILED",_));if(Q.type==="block-seq"){let{anchor:_,newlineAfterProp:H}=U,F=_&&J?_.offset>J.offset?_:J:_??J;if(F&&(!H||H.offset<F.offset))q(F,"MISSING_CHAR","Missing newline after block sequence props")}let W=Q.type==="block-map"?"map":Q.type==="block-seq"?"seq":Q.start.source==="{"?"map":"seq";if(!J||!Y||Y==="!"||Y===wM.YAMLMap.tagName&&W==="map"||Y===PM.YAMLSeq.tagName&&W==="seq")return C3(Z,X,Q,q,Y);let $=X.schema.tags.find((_)=>_.tag===Y&&_.collection===W);if(!$){let _=X.schema.knownTags[Y];if(_?.collection===W)X.schema.tags.push(Object.assign({},_,{default:!1})),$=_;else{if(_)q(J,"BAD_COLLECTION_TYPE",`${_.tag} used for ${W} collection, but expects ${_.collection??"scalar"}`,!0);else q(J,"TAG_RESOLVE_FAILED",`Unresolved tag: ${Y}`,!0);return C3(Z,X,Q,q,Y)}}let L=C3(Z,X,Q,q,Y,$),V=$.resolve?.(L,(_)=>q(J,"TAG_RESOLVE_FAILED",_),X.options)??L,G=KM.isNode(V)?V:new DM.Scalar(V);if(G.range=L.range,G.tag=Y,$?.format)G.format=$.format;return G}NM.composeCollection=CM});var E3=C((yM)=>{var N3=L0();function bM(Z,X,Q){let U=X.offset,q=IM(X,Z.options.strict,Q);if(!q)return{value:"",type:null,comment:"",range:[U,U,U]};let J=q.mode===">"?N3.Scalar.BLOCK_FOLDED:N3.Scalar.BLOCK_LITERAL,Y=X.source?fM(X.source):[],W=Y.length;for(let z=Y.length-1;z>=0;--z){let B=Y[z][1];if(B===""||B==="\r")W=z;else break}if(W===0){let z=q.chomp==="+"&&Y.length>0?`
115
+ `.repeat(Math.max(1,Y.length-1)):"",B=U+q.length;if(X.source)B+=X.source.length;return{value:z,type:J,comment:q.comment,range:[U,B,B]}}let $=X.indent+q.indent,L=X.offset+q.length,V=0;for(let z=0;z<W;++z){let[B,K]=Y[z];if(K===""||K==="\r"){if(q.indent===0&&B.length>$)$=B.length}else{if(B.length<$)Q(L+B.length,"MISSING_CHAR","Block scalars with more-indented leading empty lines must use an explicit indentation indicator");if(q.indent===0)$=B.length;if(V=z,$===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=Y.length-1;z>=W;--z)if(Y[z][0].length>$)W=z+1;let G="",_="",H=!1;for(let z=0;z<V;++z)G+=Y[z][0].slice($)+`
116
+ `;for(let z=V;z<W;++z){let[B,K]=Y[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<$){let R=`Block scalar lines must not be less indented than their ${q.indent?"explicit indentation indicator":"first line"}`;Q(L-K.length-(w?2:1),"BAD_INDENT",R),B=""}if(J===N3.Scalar.BLOCK_LITERAL)G+=_+B.slice($)+K,_=`
117
+ `;else if(B.length>$||K[0]==="\t"){if(_===" ")_=`
118
+ `;else if(!H&&_===`
119
+ `)_=`
120
120
 
121
- `;G+=V+B.slice($)+T,V=`
122
- `,z=!0}else if(T==="")if(V===`
121
+ `;G+=_+B.slice($)+K,_=`
122
+ `,H=!0}else if(K==="")if(_===`
123
123
  `)G+=`
124
- `;else V=`
125
- `;else G+=V+T,V=" ",z=!1}switch(J.chomp){case"-":break;case"+":for(let H=W;H<Y.length;++H)G+=`
126
- `+Y[H][0].slice($);if(G[G.length-1]!==`
124
+ `;else _=`
125
+ `;else G+=_+K,_=" ",H=!1}switch(q.chomp){case"-":break;case"+":for(let z=W;z<Y.length;++z)G+=`
126
+ `+Y[z][0].slice($);if(G[G.length-1]!==`
127
127
  `)G+=`
128
128
  `;break;default:G+=`
129
- `}let F=U+J.length+X.source.length;return{value:G,type:q,comment:J.comment,range:[U,F,F]}}function AM({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],q=J[0],Y=0,W="",$=-1;for(let V=1;V<J.length;++V){let z=J[V];if(!W&&(z==="-"||z==="+"))W=z;else{let F=Number(z);if(!Y&&F)Y=F;else if($===-1)$=Z+V}}if($!==-1)U($,"UNEXPECTED_TOKEN",`Block scalar header includes extra characters: ${J}`);let L=!1,_="",G=J.length;for(let V=1;V<X.length;++V){let z=X[V];switch(z.type){case"space":L=!0;case"newline":G+=z.source.length;break;case"comment":if(Q&&!L)U(z,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");G+=z.source.length,_=z.source.substring(1);break;case"error":U(z,"UNEXPECTED_TOKEN",z.message),G+=z.source.length;break;default:{let F=`Unexpected token in block scalar header: ${z.type}`;U(z,"UNEXPECTED_TOKEN",F);let H=z.source;if(H&&typeof H==="string")G+=H.length}}}return{mode:q,indent:Y,chomp:W,comment:_,length:G}}function SM(Z){let X=Z.split(/\n( *)/),Q=X[0],U=Q.match(/^( *)/),q=[U?.[1]?[U[1],Q.slice(U[1].length)]:["",Q]];for(let Y=1;Y<X.length;Y+=2)q.push([X[Y],X[Y+1]]);return q}CM.resolveBlockScalar=PM});var C3=C((vM)=>{var S3=W0(),jM=e2();function EM(Z,X,Q){let{offset:U,type:J,source:q,end:Y}=Z,W,$,L=(V,z,F)=>Q(U+V,z,F);switch(J){case"scalar":W=S3.Scalar.PLAIN,$=bM(q,L);break;case"single-quoted-scalar":W=S3.Scalar.QUOTE_SINGLE,$=IM(q,L);break;case"double-quoted-scalar":W=S3.Scalar.QUOTE_DOUBLE,$=fM(q,L);break;default:return Q(Z,"UNEXPECTED_TOKEN",`Expected a flow scalar value, but found: ${J}`),{value:"",type:null,comment:"",range:[U,U+q.length,U+q.length]}}let _=U+q.length,G=jM.resolveEnd(Y,_,X,Q);return{value:$,type:W,comment:G.comment,range:[U,_,G.offset]}}function bM(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 oq(Z)}function IM(Z,X){if(Z[Z.length-1]!=="'"||Z.length===1)X(Z.length,"MISSING_CHAR","Missing closing 'quote");return oq(Z.slice(1,-1)).replace(/''/g,"'")}function oq(Z){let X,Q;try{X=new RegExp(`(.*?)(?<![ ])[ ]*\r?
129
+ `}let F=U+q.length+X.source.length;return{value:G,type:J,comment:q.comment,range:[U,F,F]}}function IM({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:q}=X[0],J=q[0],Y=0,W="",$=-1;for(let _=1;_<q.length;++_){let H=q[_];if(!W&&(H==="-"||H==="+"))W=H;else{let F=Number(H);if(!Y&&F)Y=F;else if($===-1)$=Z+_}}if($!==-1)U($,"UNEXPECTED_TOKEN",`Block scalar header includes extra characters: ${q}`);let L=!1,V="",G=q.length;for(let _=1;_<X.length;++_){let H=X[_];switch(H.type){case"space":L=!0;case"newline":G+=H.source.length;break;case"comment":if(Q&&!L)U(H,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");G+=H.source.length,V=H.source.substring(1);break;case"error":U(H,"UNEXPECTED_TOKEN",H.message),G+=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")G+=z.length}}}return{mode:J,indent:Y,chomp:W,comment:V,length:G}}function fM(Z){let X=Z.split(/\n( *)/),Q=X[0],U=Q.match(/^( *)/),J=[U?.[1]?[U[1],Q.slice(U[1].length)]:["",Q]];for(let Y=1;Y<X.length;Y+=2)J.push([X[Y],X[Y+1]]);return J}yM.resolveBlockScalar=bM});var I3=C((cM)=>{var b3=L0(),gM=q6();function vM(Z,X,Q){let{offset:U,type:q,source:J,end:Y}=Z,W,$,L=(_,H,F)=>Q(U+_,H,F);switch(q){case"scalar":W=b3.Scalar.PLAIN,$=xM(J,L);break;case"single-quoted-scalar":W=b3.Scalar.QUOTE_SINGLE,$=hM(J,L);break;case"double-quoted-scalar":W=b3.Scalar.QUOTE_DOUBLE,$=mM(J,L);break;default:return Q(Z,"UNEXPECTED_TOKEN",`Expected a flow scalar value, but found: ${q}`),{value:"",type:null,comment:"",range:[U,U+J.length,U+J.length]}}let V=U+J.length,G=gM.resolveEnd(Y,V,X,Q);return{value:$,type:W,comment:G.comment,range:[U,V,G.offset]}}function xM(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 QY(Z)}function hM(Z,X){if(Z[Z.length-1]!=="'"||Z.length===1)X(Z.length,"MISSING_CHAR","Missing closing 'quote");return QY(Z.slice(1,-1)).replace(/''/g,"'")}function QY(Z){let X,Q;try{X=new RegExp(`(.*?)(?<![ ])[ ]*\r?
130
130
  `,"sy"),Q=new RegExp(`[ ]*(.*?)(?:(?<![ ])[ ]*)?\r?
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],q=" ",Y=X.lastIndex;Q.lastIndex=Y;while(U=Q.exec(Z)){if(U[1]==="")if(q===`
132
- `)J+=q;else q=`
133
- `;else J+=q+U[1],q=" ";Y=Q.lastIndex}let W=/[ \t]*(.*)/sy;return W.lastIndex=Y,U=W.exec(Z),J+q+(U?.[1]??"")}function fM(Z,X){let Q="";for(let U=1;U<Z.length-1;++U){let J=Z[U];if(J==="\r"&&Z[U+1]===`
134
- `)continue;if(J===`
135
- `){let{fold:q,offset:Y}=kM(Z,U);Q+=q,U=Y}else if(J==="\\"){let q=Z[++U],Y=yM[q];if(Y)Q+=Y;else if(q===`
136
- `){q=Z[U+1];while(q===" "||q==="\t")q=Z[++U+1]}else if(q==="\r"&&Z[U+1]===`
137
- `){q=Z[++U+1];while(q===" "||q==="\t")q=Z[++U+1]}else if(q==="x"||q==="u"||q==="U"){let W={x:2,u:4,U:8}[q];Q+=gM(Z,U+1,W,X),U+=W}else{let W=Z.substr(U-1,2);X(U-1,"BAD_DQ_ESCAPE",`Invalid escape sequence ${W}`),Q+=W}}else if(J===" "||J==="\t"){let q=U,Y=Z[U+1];while(Y===" "||Y==="\t")Y=Z[++U+1];if(Y!==`
131
+ `,"sy")}catch{X=/(.*?)[ \t]*\r?\n/sy,Q=/[ \t]*(.*?)[ \t]*\r?\n/sy}let U=X.exec(Z);if(!U)return Z;let q=U[1],J=" ",Y=X.lastIndex;Q.lastIndex=Y;while(U=Q.exec(Z)){if(U[1]==="")if(J===`
132
+ `)q+=J;else J=`
133
+ `;else q+=J+U[1],J=" ";Y=Q.lastIndex}let W=/[ \t]*(.*)/sy;return W.lastIndex=Y,U=W.exec(Z),q+J+(U?.[1]??"")}function mM(Z,X){let Q="";for(let U=1;U<Z.length-1;++U){let q=Z[U];if(q==="\r"&&Z[U+1]===`
134
+ `)continue;if(q===`
135
+ `){let{fold:J,offset:Y}=uM(Z,U);Q+=J,U=Y}else if(q==="\\"){let J=Z[++U],Y=pM[J];if(Y)Q+=Y;else if(J===`
136
+ `){J=Z[U+1];while(J===" "||J==="\t")J=Z[++U+1]}else if(J==="\r"&&Z[U+1]===`
137
+ `){J=Z[++U+1];while(J===" "||J==="\t")J=Z[++U+1]}else if(J==="x"||J==="u"||J==="U"){let W={x:2,u:4,U:8}[J];Q+=lM(Z,U+1,W,X),U+=W}else{let W=Z.substr(U-1,2);X(U-1,"BAD_DQ_ESCAPE",`Invalid escape sequence ${W}`),Q+=W}}else if(q===" "||q==="\t"){let J=U,Y=Z[U+1];while(Y===" "||Y==="\t")Y=Z[++U+1];if(Y!==`
138
138
  `&&!(Y==="\r"&&Z[U+2]===`
139
- `))Q+=U>q?Z.slice(q,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 kM(Z,X){let Q="",U=Z[X+1];while(U===" "||U==="\t"||U===`
139
+ `))Q+=U>J?Z.slice(J,U+1):q}else Q+=q}if(Z[Z.length-1]!=='"'||Z.length===1)X(Z.length,"MISSING_CHAR",'Missing closing "quote');return Q}function uM(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 yM={"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 gM(Z,X,Q,U){let J=Z.substr(X,Q),Y=J.length===Q&&/^[0-9a-fA-F]+$/.test(J)?parseInt(J,16):NaN;if(isNaN(Y)){let W=Z.substr(X-2,Q+2);return U(X-2,"BAD_DQ_ESCAPE",`Invalid escape sequence ${W}`),W}return String.fromCodePoint(Y)}vM.resolveFlowScalar=EM});var tq=C((dM)=>{var _2=l(),nq=W0(),hM=A3(),mM=C3();function uM(Z,X,Q,U){let{value:J,type:q,comment:Y,range:W}=X.type==="block-scalar"?hM.resolveBlockScalar(Z,X,U):mM.resolveFlowScalar(X,Z.options.strict,U),$=Q?Z.directives.tagName(Q.source,(G)=>U(Q,"TAG_RESOLVE_FAILED",G)):null,L;if(Z.options.stringKeys&&Z.atKey)L=Z.schema[_2.SCALAR];else if($)L=pM(Z.schema,J,$,Q,U);else if(X.type==="scalar")L=lM(Z,J,X,U);else L=Z.schema[_2.SCALAR];let _;try{let G=L.resolve(J,(V)=>U(Q??X,"TAG_RESOLVE_FAILED",V),Z.options);_=_2.isScalar(G)?G:new nq.Scalar(G)}catch(G){let V=G instanceof Error?G.message:String(G);U(Q??X,"TAG_RESOLVE_FAILED",V),_=new nq.Scalar(J)}if(_.range=W,_.source=J,q)_.type=q;if($)_.tag=$;if(L.format)_.format=L.format;if(Y)_.comment=Y;return _}function pM(Z,X,Q,U,J){if(Q==="!")return Z[_2.SCALAR];let q=[];for(let W of Z.tags)if(!W.collection&&W.tag===Q)if(W.default&&W.test)q.push(W);else return W;for(let W of q)if(W.test?.test(X))return W;let Y=Z.knownTags[Q];if(Y&&!Y.collection)return Z.tags.push(Object.assign({},Y,{default:!1,test:void 0})),Y;return J(U,"TAG_RESOLVE_FAILED",`Unresolved tag: ${Q}`,Q!=="tag:yaml.org,2002:str"),Z[_2.SCALAR]}function lM({atKey:Z,directives:X,schema:Q},U,J,q){let Y=Q.tags.find((W)=>(W.default===!0||Z&&W.default==="key")&&W.test?.test(U))||Q[_2.SCALAR];if(Q.compat){let W=Q.compat.find(($)=>$.default&&$.test?.test(U))??Q[_2.SCALAR];if(Y.tag!==W.tag){let $=X.tagString(Y.tag),L=X.tagString(W.tag),_=`Value may be parsed as either ${$} or ${L}`;q(J,"TAG_RESOLVE_FAILED",_,!0)}}return Y}dM.composeScalar=uM});var eq=C((sM)=>{function iM(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}sM.emptyScalarPosition=iM});var QY=C((QO)=>{var rM=t6(),oM=l(),nM=rq(),ZY=tq(),tM=e2(),eM=eq(),ZO={composeNode:XY,composeEmptyNode:N3};function XY(Z,X,Q,U){let J=Z.atKey,{spaceBefore:q,comment:Y,anchor:W,tag:$}=Q,L,_=!0;switch(X.type){case"alias":if(L=XO(Z,X,U),W||$)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=ZY.composeScalar(Z,X,$,U),W)L.anchor=W.source.substring(1);break;case"block-map":case"block-seq":case"flow-collection":if(L=nM.composeCollection(ZO,Z,X,Q,U),W)L.anchor=W.source.substring(1);break;default:{let G=X.type==="error"?X.message:`Unsupported token (type: ${X.type})`;U(X,"UNEXPECTED_TOKEN",G),L=N3(Z,X.offset,void 0,null,Q,U),_=!1}}if(W&&L.anchor==="")U(W,"BAD_ALIAS","Anchor cannot be an empty string");if(J&&Z.options.stringKeys&&(!oM.isScalar(L)||typeof L.value!=="string"||L.tag&&L.tag!=="tag:yaml.org,2002:str"))U($??X,"NON_STRING_KEY","With stringKeys, all keys must be strings");if(q)L.spaceBefore=!0;if(Y)if(X.type==="scalar"&&X.source==="")L.comment=Y;else L.commentBefore=Y;if(Z.options.keepSourceTokens&&_)L.srcToken=X;return L}function N3(Z,X,Q,U,{spaceBefore:J,comment:q,anchor:Y,tag:W,end:$},L){let _={type:"scalar",offset:eM.emptyScalarPosition(X,Q,U),indent:-1,source:""},G=ZY.composeScalar(Z,_,W,L);if(Y){if(G.anchor=Y.source.substring(1),G.anchor==="")L(Y,"BAD_ALIAS","Anchor cannot be an empty string")}if(J)G.spaceBefore=!0;if(q)G.comment=q,G.range[2]=$;return G}function XO({options:Z},{offset:X,source:Q,end:U},J){let q=new rM.Alias(Q.substring(1));if(q.source==="")J(X,"BAD_ALIAS","Alias cannot be an empty string");if(q.source.endsWith(":"))J(X+Q.length-1,"BAD_ALIAS","Alias ending in : is ambiguous",!0);let Y=X+Q.length,W=tM.resolveEnd(U,Y,Z.strict,J);if(q.range=[X,Y,W.offset],W.comment)q.comment=W.comment;return q}QO.composeEmptyNode=N3;QO.composeNode=XY});var JY=C((LO)=>{var qO=H4(),UY=QY(),YO=e2(),WO=F4();function $O(Z,X,{offset:Q,start:U,value:J,end:q},Y){let W=Object.assign({_directives:X},Z),$=new qO.Document(void 0,W),L={atKey:!1,atRoot:!0,directives:$.directives,options:$.options,schema:$.schema},_=WO.resolveProps(U,{indicator:"doc-start",next:J??q?.[0],offset:Q,onError:Y,parentIndent:0,startOnNewline:!0});if(_.found){if($.directives.docStart=!0,J&&(J.type==="block-map"||J.type==="block-seq")&&!_.hasNewline)Y(_.end,"MISSING_CHAR","Block collection cannot start on same line with directives-end marker")}$.contents=J?UY.composeNode(L,J,_,Y):UY.composeEmptyNode(L,_.end,U,null,_,Y);let G=$.contents.range[2],V=YO.resolveEnd(q,G,!1,Y);if(V.comment)$.comment=V.comment;return $.range=[Q,G,V.offset],$}LO.composeDoc=$O});var j3=C((BO)=>{var _O=z2("process"),VO=fX(),HO=H4(),B4=z4(),qY=l(),zO=JY(),FO=e2();function M4(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 YY(Z){let X="",Q=!1,U=!1;for(let J=0;J<Z.length;++J){let q=Z[J];switch(q[0]){case"#":X+=(X===""?"":U?`
143
+ `;X+=1,U=Z[X+1]}if(!Q)Q=" ";return{fold:Q,offset:X}}var pM={"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 lM(Z,X,Q,U){let q=Z.substr(X,Q),Y=q.length===Q&&/^[0-9a-fA-F]+$/.test(q)?parseInt(q,16):NaN;if(isNaN(Y)){let W=Z.substr(X-2,Q+2);return U(X-2,"BAD_DQ_ESCAPE",`Invalid escape sequence ${W}`),W}return String.fromCodePoint(Y)}cM.resolveFlowScalar=vM});var qY=C((nM)=>{var H2=d(),UY=L0(),iM=E3(),sM=I3();function aM(Z,X,Q,U){let{value:q,type:J,comment:Y,range:W}=X.type==="block-scalar"?iM.resolveBlockScalar(Z,X,U):sM.resolveFlowScalar(X,Z.options.strict,U),$=Q?Z.directives.tagName(Q.source,(G)=>U(Q,"TAG_RESOLVE_FAILED",G)):null,L;if(Z.options.stringKeys&&Z.atKey)L=Z.schema[H2.SCALAR];else if($)L=rM(Z.schema,q,$,Q,U);else if(X.type==="scalar")L=oM(Z,q,X,U);else L=Z.schema[H2.SCALAR];let V;try{let G=L.resolve(q,(_)=>U(Q??X,"TAG_RESOLVE_FAILED",_),Z.options);V=H2.isScalar(G)?G:new UY.Scalar(G)}catch(G){let _=G instanceof Error?G.message:String(G);U(Q??X,"TAG_RESOLVE_FAILED",_),V=new UY.Scalar(q)}if(V.range=W,V.source=q,J)V.type=J;if($)V.tag=$;if(L.format)V.format=L.format;if(Y)V.comment=Y;return V}function rM(Z,X,Q,U,q){if(Q==="!")return Z[H2.SCALAR];let J=[];for(let W of Z.tags)if(!W.collection&&W.tag===Q)if(W.default&&W.test)J.push(W);else return W;for(let W of J)if(W.test?.test(X))return W;let Y=Z.knownTags[Q];if(Y&&!Y.collection)return Z.tags.push(Object.assign({},Y,{default:!1,test:void 0})),Y;return q(U,"TAG_RESOLVE_FAILED",`Unresolved tag: ${Q}`,Q!=="tag:yaml.org,2002:str"),Z[H2.SCALAR]}function oM({atKey:Z,directives:X,schema:Q},U,q,J){let Y=Q.tags.find((W)=>(W.default===!0||Z&&W.default==="key")&&W.test?.test(U))||Q[H2.SCALAR];if(Q.compat){let W=Q.compat.find(($)=>$.default&&$.test?.test(U))??Q[H2.SCALAR];if(Y.tag!==W.tag){let $=X.tagString(Y.tag),L=X.tagString(W.tag),V=`Value may be parsed as either ${$} or ${L}`;J(q,"TAG_RESOLVE_FAILED",V,!0)}}return Y}nM.composeScalar=aM});var JY=C((ZO)=>{function eM(Z,X,Q){if(X){Q??(Q=X.length);for(let U=Q-1;U>=0;--U){let q=X[U];switch(q.type){case"space":case"comment":case"newline":Z-=q.source.length;continue}q=X[++U];while(q?.type==="space")Z+=q.source.length,q=X[++U];break}}return Z}ZO.emptyScalarPosition=eM});var $Y=C((LO)=>{var QO=J4(),UO=d(),qO=XY(),YY=qY(),JO=q6(),YO=JY(),WO={composeNode:WY,composeEmptyNode:f3};function WY(Z,X,Q,U){let q=Z.atKey,{spaceBefore:J,comment:Y,anchor:W,tag:$}=Q,L,V=!0;switch(X.type){case"alias":if(L=$O(Z,X,U),W||$)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=YY.composeScalar(Z,X,$,U),W)L.anchor=W.source.substring(1);break;case"block-map":case"block-seq":case"flow-collection":if(L=qO.composeCollection(WO,Z,X,Q,U),W)L.anchor=W.source.substring(1);break;default:{let G=X.type==="error"?X.message:`Unsupported token (type: ${X.type})`;U(X,"UNEXPECTED_TOKEN",G),L=f3(Z,X.offset,void 0,null,Q,U),V=!1}}if(W&&L.anchor==="")U(W,"BAD_ALIAS","Anchor cannot be an empty string");if(q&&Z.options.stringKeys&&(!UO.isScalar(L)||typeof L.value!=="string"||L.tag&&L.tag!=="tag:yaml.org,2002:str"))U($??X,"NON_STRING_KEY","With stringKeys, all keys must be strings");if(J)L.spaceBefore=!0;if(Y)if(X.type==="scalar"&&X.source==="")L.comment=Y;else L.commentBefore=Y;if(Z.options.keepSourceTokens&&V)L.srcToken=X;return L}function f3(Z,X,Q,U,{spaceBefore:q,comment:J,anchor:Y,tag:W,end:$},L){let V={type:"scalar",offset:YO.emptyScalarPosition(X,Q,U),indent:-1,source:""},G=YY.composeScalar(Z,V,W,L);if(Y){if(G.anchor=Y.source.substring(1),G.anchor==="")L(Y,"BAD_ALIAS","Anchor cannot be an empty string")}if(q)G.spaceBefore=!0;if(J)G.comment=J,G.range[2]=$;return G}function $O({options:Z},{offset:X,source:Q,end:U},q){let J=new QO.Alias(Q.substring(1));if(J.source==="")q(X,"BAD_ALIAS","Alias cannot be an empty string");if(J.source.endsWith(":"))q(X+Q.length-1,"BAD_ALIAS","Alias ending in : is ambiguous",!0);let Y=X+Q.length,W=JO.resolveEnd(U,Y,Z.strict,q);if(J.range=[X,Y,W.offset],W.comment)J.comment=W.comment;return J}LO.composeEmptyNode=f3;LO.composeNode=WY});var GY=C((BO)=>{var _O=T4(),LY=$Y(),zO=q6(),HO=D4();function FO(Z,X,{offset:Q,start:U,value:q,end:J},Y){let W=Object.assign({_directives:X},Z),$=new _O.Document(void 0,W),L={atKey:!1,atRoot:!0,directives:$.directives,options:$.options,schema:$.schema},V=HO.resolveProps(U,{indicator:"doc-start",next:q??J?.[0],offset:Q,onError:Y,parentIndent:0,startOnNewline:!0});if(V.found){if($.directives.docStart=!0,q&&(q.type==="block-map"||q.type==="block-seq")&&!V.hasNewline)Y(V.end,"MISSING_CHAR","Block collection cannot start on same line with directives-end marker")}$.contents=q?LY.composeNode(L,q,V,Y):LY.composeEmptyNode(L,V.end,U,null,V,Y);let G=$.contents.range[2],_=zO.resolveEnd(J,G,!1,Y);if(_.comment)$.comment=_.comment;return $.range=[Q,G,_.offset],$}BO.composeDoc=FO});var y3=C((wO)=>{var OO=T2("process"),RO=xX(),TO=T4(),w4=K4(),VY=d(),KO=GY(),DO=q6();function P4(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 _Y(Z){let X="",Q=!1,U=!1;for(let q=0;q<Z.length;++q){let J=Z[q];switch(J[0]){case"#":X+=(X===""?"":U?`
145
145
 
146
146
  `:`
147
- `)+(q.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 WY{constructor(Z={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=(X,Q,U,J)=>{let q=M4(X);if(J)this.warnings.push(new B4.YAMLWarning(q,Q,U));else this.errors.push(new B4.YAMLParseError(q,Q,U))},this.directives=new VO.Directives({version:Z.version||"1.2"}),this.options=Z}decorate(Z,X){let{comment:Q,afterEmptyLine:U}=YY(this.prelude);if(Q){let J=Z.contents;if(X)Z.comment=Z.comment?`${Z.comment}
148
- ${Q}`:Q;else if(U||Z.directives.docStart||!J)Z.commentBefore=Q;else if(qY.isCollection(J)&&!J.flow&&J.items.length>0){let q=J.items[0];if(qY.isPair(q))q=q.key;let Y=q.commentBefore;q.commentBefore=Y?`${Q}
149
- ${Y}`:Q}else{let q=J.commentBefore;J.commentBefore=q?`${Q}
150
- ${q}`: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:YY(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){if(_O.env.LOG_STREAM)console.dir(Z,{depth:null});switch(Z.type){case"directive":this.directives.add(Z.source,(X,Q,U)=>{let J=M4(Z);J[0]+=X,this.onError(J,"BAD_DIRECTIVE",Q,U)}),this.prelude.push(Z.source),this.atDirectives=!0;break;case"document":{let X=zO.composeDoc(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 B4.YAMLParseError(M4(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 B4.YAMLParseError(M4(Z),"UNEXPECTED_TOKEN","Unexpected doc-end without preceding document"));break}this.doc.directives.docEnd=!0;let X=FO.resolveEnd(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 B4.YAMLParseError(M4(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 HO.Document(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}}}BO.Composer=WY});var GY=C((AO)=>{var OO=A3(),RO=C3(),KO=z4(),$Y=Q4();function TO(Z,X=!0,Q){if(Z){let U=(J,q,Y)=>{let W=typeof J==="number"?J:Array.isArray(J)?J[0]:J.offset;if(Q)Q(W,q,Y);else throw new KO.YAMLParseError([W,W+1],q,Y)};switch(Z.type){case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return RO.resolveFlowScalar(Z,X,U);case"block-scalar":return OO.resolveBlockScalar({options:{strict:X}},Z,U)}}return null}function DO(Z,X){let{implicitKey:Q=!1,indent:U,inFlow:J=!1,offset:q=-1,type:Y="PLAIN"}=X,W=$Y.stringifyString({type:Y,value:Z},{implicitKey:Q,indent:U>0?" ".repeat(U):"",inFlow:J,options:{blockQuote:!0,lineWidth:-1}}),$=X.end??[{type:"newline",offset:-1,indent:U,source:`
147
+ `)+(J.substring(1)||" "),Q=!0,U=!1;break;case"%":if(Z[q+1]?.[0]!=="#")q+=1;Q=!1;break;default:if(!Q)U=!0;Q=!1}}return{comment:X,afterEmptyLine:U}}class zY{constructor(Z={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=(X,Q,U,q)=>{let J=P4(X);if(q)this.warnings.push(new w4.YAMLWarning(J,Q,U));else this.errors.push(new w4.YAMLParseError(J,Q,U))},this.directives=new RO.Directives({version:Z.version||"1.2"}),this.options=Z}decorate(Z,X){let{comment:Q,afterEmptyLine:U}=_Y(this.prelude);if(Q){let q=Z.contents;if(X)Z.comment=Z.comment?`${Z.comment}
148
+ ${Q}`:Q;else if(U||Z.directives.docStart||!q)Z.commentBefore=Q;else if(VY.isCollection(q)&&!q.flow&&q.items.length>0){let J=q.items[0];if(VY.isPair(J))J=J.key;let Y=J.commentBefore;J.commentBefore=Y?`${Q}
149
+ ${Y}`:Q}else{let J=q.commentBefore;q.commentBefore=J?`${Q}
150
+ ${J}`: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:_Y(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){if(OO.env.LOG_STREAM)console.dir(Z,{depth:null});switch(Z.type){case"directive":this.directives.add(Z.source,(X,Q,U)=>{let q=P4(Z);q[0]+=X,this.onError(q,"BAD_DIRECTIVE",Q,U)}),this.prelude.push(Z.source),this.atDirectives=!0;break;case"document":{let X=KO.composeDoc(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 w4.YAMLParseError(P4(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 w4.YAMLParseError(P4(Z),"UNEXPECTED_TOKEN","Unexpected doc-end without preceding document"));break}this.doc.directives.docEnd=!0;let X=DO.resolveEnd(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 w4.YAMLParseError(P4(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 TO.Document(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}}}wO.Composer=zY});var BY=C((IO)=>{var AO=E3(),SO=I3(),jO=K4(),HY=L4();function CO(Z,X=!0,Q){if(Z){let U=(q,J,Y)=>{let W=typeof q==="number"?q:Array.isArray(q)?q[0]:q.offset;if(Q)Q(W,J,Y);else throw new jO.YAMLParseError([W,W+1],J,Y)};switch(Z.type){case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return SO.resolveFlowScalar(Z,X,U);case"block-scalar":return AO.resolveBlockScalar({options:{strict:X}},Z,U)}}return null}function NO(Z,X){let{implicitKey:Q=!1,indent:U,inFlow:q=!1,offset:J=-1,type:Y="PLAIN"}=X,W=HY.stringifyString({type:Y,value:Z},{implicitKey:Q,indent:U>0?" ".repeat(U):"",inFlow:q,options:{blockQuote:!0,lineWidth:-1}}),$=X.end??[{type:"newline",offset:-1,indent:U,source:`
152
152
  `}];switch(W[0]){case"|":case">":{let L=W.indexOf(`
153
- `),_=W.substring(0,L),G=W.substring(L+1)+`
154
- `,V=[{type:"block-scalar-header",offset:q,indent:U,source:_}];if(!LY(V,$))V.push({type:"newline",offset:-1,indent:U,source:`
155
- `});return{type:"block-scalar",offset:q,indent:U,props:V,source:G}}case'"':return{type:"double-quoted-scalar",offset:q,indent:U,source:W,end:$};case"'":return{type:"single-quoted-scalar",offset:q,indent:U,source:W,end:$};default:return{type:"scalar",offset:q,indent:U,source:W,end:$}}}function wO(Z,X,Q={}){let{afterKey:U=!1,implicitKey:J=!1,inFlow:q=!1,type:Y}=Q,W="indent"in Z?Z.indent:null;if(U&&typeof W==="number")W+=2;if(!Y)switch(Z.type){case"single-quoted-scalar":Y="QUOTE_SINGLE";break;case"double-quoted-scalar":Y="QUOTE_DOUBLE";break;case"block-scalar":{let L=Z.props[0];if(L.type!=="block-scalar-header")throw Error("Invalid block scalar header");Y=L.source[0]===">"?"BLOCK_FOLDED":"BLOCK_LITERAL";break}default:Y="PLAIN"}let $=$Y.stringifyString({type:Y,value:X},{implicitKey:J||W===null,indent:W!==null&&W>0?" ".repeat(W):"",inFlow:q,options:{blockQuote:!0,lineWidth:-1}});switch($[0]){case"|":case">":PO(Z,$);break;case'"':E3(Z,$,"double-quoted-scalar");break;case"'":E3(Z,$,"single-quoted-scalar");break;default:E3(Z,$,"scalar")}}function PO(Z,X){let Q=X.indexOf(`
156
- `),U=X.substring(0,Q),J=X.substring(Q+1)+`
157
- `;if(Z.type==="block-scalar"){let q=Z.props[0];if(q.type!=="block-scalar-header")throw Error("Invalid block scalar header");q.source=U,Z.source=J}else{let{offset:q}=Z,Y="indent"in Z?Z.indent:-1,W=[{type:"block-scalar-header",offset:q,indent:Y,source:U}];if(!LY(W,"end"in Z?Z.end:void 0))W.push({type:"newline",offset:-1,indent:Y,source:`
158
- `});for(let $ of Object.keys(Z))if($!=="type"&&$!=="offset")delete Z[$];Object.assign(Z,{type:"block-scalar",indent:Y,props:W,source:J})}}function LY(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 E3(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 q of U)q.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((q)=>q.type==="space"||q.type==="comment"||q.type==="newline"):[];for(let q of Object.keys(Z))if(q!=="type"&&q!=="offset")delete Z[q];Object.assign(Z,{type:Q,indent:U,source:X,end:J})}}}AO.createScalarToken=DO;AO.resolveAsScalar=TO;AO.setScalarValue=wO});var _Y=C((EO)=>{var jO=(Z)=>("type"in Z)?JZ(Z):UZ(Z);function JZ(Z){switch(Z.type){case"block-scalar":{let X="";for(let Q of Z.props)X+=JZ(Q);return X+Z.source}case"block-map":case"block-seq":{let X="";for(let Q of Z.items)X+=UZ(Q);return X}case"flow-collection":{let X=Z.start.source;for(let Q of Z.items)X+=UZ(Q);for(let Q of Z.end)X+=Q.source;return X}case"document":{let X=UZ(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 UZ({start:Z,key:X,sep:Q,value:U}){let J="";for(let q of Z)J+=q.source;if(X)J+=JZ(X);if(Q)for(let q of Q)J+=q.source;if(U)J+=JZ(U);return J}EO.stringify=jO});var zY=C((fO)=>{var b3=Symbol("break visit"),IO=Symbol("skip children"),VY=Symbol("remove item");function V2(Z,X){if("type"in Z&&Z.type==="document")Z={start:Z.start,value:Z.value};HY(Object.freeze([]),Z,X)}V2.BREAK=b3;V2.SKIP=IO;V2.REMOVE=VY;V2.itemAtPath=(Z,X)=>{let Q=Z;for(let[U,J]of X){let q=Q?.[U];if(q&&"items"in q)Q=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 HY(Z,X,Q){let U=Q(X,Z);if(typeof U==="symbol")return U;for(let J of["key","value"]){let q=X[J];if(q&&"items"in q){for(let Y=0;Y<q.items.length;++Y){let W=HY(Object.freeze(Z.concat([[J,Y]])),q.items[Y],Q);if(typeof W==="number")Y=W-1;else if(W===b3)return b3;else if(W===VY)q.items.splice(Y,1),Y-=1}if(typeof U==="function"&&J==="key")U=U(X,Z)}}return typeof U==="function"?U(X,Z):U}fO.visit=V2});var qZ=C((uO)=>{var I3=GY(),yO=_Y(),gO=zY(),f3="\uFEFF",k3="\x02",y3="\x18",g3="\x1F",vO=(Z)=>!!Z&&("items"in Z),xO=(Z)=>!!Z&&(Z.type==="scalar"||Z.type==="single-quoted-scalar"||Z.type==="double-quoted-scalar"||Z.type==="block-scalar");function hO(Z){switch(Z){case f3:return"<BOM>";case k3:return"<DOC>";case y3:return"<FLOW_END>";case g3:return"<SCALAR>";default:return JSON.stringify(Z)}}function mO(Z){switch(Z){case f3:return"byte-order-mark";case k3:return"doc-mode";case y3:return"flow-error-end";case g3:return"scalar";case"---":return"doc-start";case"...":return"doc-end";case"":case`
153
+ `),V=W.substring(0,L),G=W.substring(L+1)+`
154
+ `,_=[{type:"block-scalar-header",offset:J,indent:U,source:V}];if(!FY(_,$))_.push({type:"newline",offset:-1,indent:U,source:`
155
+ `});return{type:"block-scalar",offset:J,indent:U,props:_,source:G}}case'"':return{type:"double-quoted-scalar",offset:J,indent:U,source:W,end:$};case"'":return{type:"single-quoted-scalar",offset:J,indent:U,source:W,end:$};default:return{type:"scalar",offset:J,indent:U,source:W,end:$}}}function EO(Z,X,Q={}){let{afterKey:U=!1,implicitKey:q=!1,inFlow:J=!1,type:Y}=Q,W="indent"in Z?Z.indent:null;if(U&&typeof W==="number")W+=2;if(!Y)switch(Z.type){case"single-quoted-scalar":Y="QUOTE_SINGLE";break;case"double-quoted-scalar":Y="QUOTE_DOUBLE";break;case"block-scalar":{let L=Z.props[0];if(L.type!=="block-scalar-header")throw Error("Invalid block scalar header");Y=L.source[0]===">"?"BLOCK_FOLDED":"BLOCK_LITERAL";break}default:Y="PLAIN"}let $=HY.stringifyString({type:Y,value:X},{implicitKey:q||W===null,indent:W!==null&&W>0?" ".repeat(W):"",inFlow:J,options:{blockQuote:!0,lineWidth:-1}});switch($[0]){case"|":case">":bO(Z,$);break;case'"':k3(Z,$,"double-quoted-scalar");break;case"'":k3(Z,$,"single-quoted-scalar");break;default:k3(Z,$,"scalar")}}function bO(Z,X){let Q=X.indexOf(`
156
+ `),U=X.substring(0,Q),q=X.substring(Q+1)+`
157
+ `;if(Z.type==="block-scalar"){let J=Z.props[0];if(J.type!=="block-scalar-header")throw Error("Invalid block scalar header");J.source=U,Z.source=q}else{let{offset:J}=Z,Y="indent"in Z?Z.indent:-1,W=[{type:"block-scalar-header",offset:J,indent:Y,source:U}];if(!FY(W,"end"in Z?Z.end:void 0))W.push({type:"newline",offset:-1,indent:Y,source:`
158
+ `});for(let $ of Object.keys(Z))if($!=="type"&&$!=="offset")delete Z[$];Object.assign(Z,{type:"block-scalar",indent:Y,props:W,source:q})}}function FY(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 k3(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),q=X.length;if(Z.props[0].type==="block-scalar-header")q-=Z.props[0].source.length;for(let J of U)J.offset+=q;delete Z.props,Object.assign(Z,{type:Q,source:X,end:U});break}case"block-map":case"block-seq":{let q={type:"newline",offset:Z.offset+X.length,indent:Z.indent,source:`
159
+ `};delete Z.items,Object.assign(Z,{type:Q,source:X,end:[q]});break}default:{let U="indent"in Z?Z.indent:-1,q="end"in Z&&Array.isArray(Z.end)?Z.end.filter((J)=>J.type==="space"||J.type==="comment"||J.type==="newline"):[];for(let J of Object.keys(Z))if(J!=="type"&&J!=="offset")delete Z[J];Object.assign(Z,{type:Q,indent:U,source:X,end:q})}}}IO.createScalarToken=NO;IO.resolveAsScalar=CO;IO.setScalarValue=EO});var MY=C((vO)=>{var gO=(Z)=>("type"in Z)?$Z(Z):WZ(Z);function $Z(Z){switch(Z.type){case"block-scalar":{let X="";for(let Q of Z.props)X+=$Z(Q);return X+Z.source}case"block-map":case"block-seq":{let X="";for(let Q of Z.items)X+=WZ(Q);return X}case"flow-collection":{let X=Z.start.source;for(let Q of Z.items)X+=WZ(Q);for(let Q of Z.end)X+=Q.source;return X}case"document":{let X=WZ(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 WZ({start:Z,key:X,sep:Q,value:U}){let q="";for(let J of Z)q+=J.source;if(X)q+=$Z(X);if(Q)for(let J of Q)q+=J.source;if(U)q+=$Z(U);return q}vO.stringify=gO});var TY=C((mO)=>{var g3=Symbol("break visit"),hO=Symbol("skip children"),OY=Symbol("remove item");function F2(Z,X){if("type"in Z&&Z.type==="document")Z={start:Z.start,value:Z.value};RY(Object.freeze([]),Z,X)}F2.BREAK=g3;F2.SKIP=hO;F2.REMOVE=OY;F2.itemAtPath=(Z,X)=>{let Q=Z;for(let[U,q]of X){let J=Q?.[U];if(J&&"items"in J)Q=J.items[q];else return}return Q};F2.parentCollection=(Z,X)=>{let Q=F2.itemAtPath(Z,X.slice(0,-1)),U=X[X.length-1][0],q=Q?.[U];if(q&&"items"in q)return q;throw Error("Parent collection not found")};function RY(Z,X,Q){let U=Q(X,Z);if(typeof U==="symbol")return U;for(let q of["key","value"]){let J=X[q];if(J&&"items"in J){for(let Y=0;Y<J.items.length;++Y){let W=RY(Object.freeze(Z.concat([[q,Y]])),J.items[Y],Q);if(typeof W==="number")Y=W-1;else if(W===g3)return g3;else if(W===OY)J.items.splice(Y,1),Y-=1}if(typeof U==="function"&&q==="key")U=U(X,Z)}}return typeof U==="function"?U(X,Z):U}mO.visit=F2});var LZ=C((aO)=>{var v3=BY(),pO=MY(),lO=TY(),x3="\uFEFF",h3="\x02",m3="\x18",u3="\x1F",cO=(Z)=>!!Z&&("items"in Z),dO=(Z)=>!!Z&&(Z.type==="scalar"||Z.type==="single-quoted-scalar"||Z.type==="double-quoted-scalar"||Z.type==="block-scalar");function iO(Z){switch(Z){case x3:return"<BOM>";case h3:return"<DOC>";case m3:return"<FLOW_END>";case u3:return"<SCALAR>";default:return JSON.stringify(Z)}}function sO(Z){switch(Z){case x3:return"byte-order-mark";case h3:return"doc-mode";case m3:return"flow-error-end";case u3: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}uO.createScalarToken=I3.createScalarToken;uO.resolveAsScalar=I3.resolveAsScalar;uO.setScalarValue=I3.setScalarValue;uO.stringify=yO.stringify;uO.visit=gO.visit;uO.BOM=f3;uO.DOCUMENT=k3;uO.FLOW_END=y3;uO.SCALAR=g3;uO.isCollection=vO;uO.isScalar=xO;uO.prettyToken=hO;uO.tokenType=mO});var x3=C((UR)=>{var O4=qZ();function Z1(Z){switch(Z){case void 0:case" ":case`
162
- `:case"\r":case"\t":return!0;default:return!1}}var FY=new Set("0123456789ABCDEFabcdef"),XR=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),YZ=new Set(",[]{}"),QR=new Set(` ,[]{}
163
- \r `),v3=(Z)=>!Z||QR.has(Z);class BY{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}aO.createScalarToken=v3.createScalarToken;aO.resolveAsScalar=v3.resolveAsScalar;aO.setScalarValue=v3.setScalarValue;aO.stringify=pO.stringify;aO.visit=lO.visit;aO.BOM=x3;aO.DOCUMENT=h3;aO.FLOW_END=m3;aO.SCALAR=u3;aO.isCollection=cO;aO.isScalar=dO;aO.prettyToken=iO;aO.tokenType=sO});var l3=C((GR)=>{var A4=LZ();function t0(Z){switch(Z){case void 0:case" ":case`
162
+ `:case"\r":case"\t":return!0;default:return!1}}var KY=new Set("0123456789ABCDEFabcdef"),$R=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),GZ=new Set(",[]{}"),LR=new Set(` ,[]{}
163
+ \r `),p3=(Z)=>!Z||LR.has(Z);class DY{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==="...")&&Z1(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]===O4.BOM)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 O4.DOCUMENT,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==="...")&&Z1(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&&!Z1(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===":")&&Z1(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(v3),"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("..."))&&Z1(U[3])){if(!(Q===this.indentNext-1&&this.flowLevel===1&&(U[0]==="]"||U[0]==="}")))return this.flowLevel=0,yield O4.FLOW_END,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(v3),"flow";case'"':case"'":return this.flowKey=!0,yield*this.parseQuotedScalar();case":":{let q=this.charAt(1);if(this.flowKey||Z1(q)||q===",")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
- `,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)=>Z1(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
- `:Z=J,X=0;break;case"\r":{let q=this.buffer[J+1];if(!q&&!this.atEnd)return this.setNext("block-scalar");if(q===`
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
- `,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
- `)Q=this.buffer[++U];Z=U-1}else if(!this.blockScalarKeep)do{let J=Z-1,q=this.buffer[J];if(q==="\r")q=this.buffer[--J];let Y=J;while(q===" ")q=this.buffer[--J];if(q===`
175
- `&&J>=this.pos&&J+1+X>Y)Z=J;else break}while(!0);return yield O4.SCALAR,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(Z1(J)||Z&&YZ.has(J))break;X=Q}else if(Z1(U)){let J=this.buffer[Q+1];if(U==="\r")if(J===`
167
+ `||Q>=this.indentNext||!X&&!this.atEnd?Z+Q:-1}if(X==="-"||X==="."){let Q=this.buffer.substr(Z,3);if((Q==="---"||Q==="...")&&t0(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]===A4.BOM)yield*this.pushCount(1),Z=Z.substring(1);if(Z[0]==="%"){let X=Z.length,Q=Z.indexOf("#");while(Q!==-1){let q=Z[Q-1];if(q===" "||q==="\t"){X=Q-1;break}else Q=Z.indexOf("#",Q+1)}while(!0){let q=Z[X-1];if(q===" "||q==="\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 A4.DOCUMENT,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==="...")&&t0(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&&!t0(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===":")&&t0(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(p3),"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("..."))&&t0(U[3])){if(!(Q===this.indentNext-1&&this.flowLevel===1&&(U[0]==="]"||U[0]==="}")))return this.flowLevel=0,yield A4.FLOW_END,yield*this.parseLineStart()}let q=0;while(U[q]===",")q+=yield*this.pushCount(1),q+=yield*this.pushSpaces(!0),this.flowKey=!1;switch(q+=yield*this.pushIndicators(),U[q]){case void 0:return"flow";case"#":return yield*this.pushCount(U.length-q),"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(p3),"flow";case'"':case"'":return this.flowKey=!0,yield*this.parseQuotedScalar();case":":{let J=this.charAt(1);if(this.flowKey||t0(J)||J===",")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 q=0;while(this.buffer[X-1-q]==="\\")q+=1;if(q%2===0)break;X=this.buffer.indexOf('"',X+1)}let Q=this.buffer.substring(0,X),U=Q.indexOf(`
169
+ `,this.pos);if(U!==-1){while(U!==-1){let q=this.continueScalar(U+1);if(q===-1)break;U=Q.indexOf(`
170
+ `,q)}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)=>t0(X)||X==="#")}*parseBlockScalar(){let Z=this.pos-1,X=0,Q;Z:for(let q=this.pos;Q=this.buffer[q];++q)switch(Q){case" ":X+=1;break;case`
171
+ `:Z=q,X=0;break;case"\r":{let J=this.buffer[q+1];if(!J&&!this.atEnd)return this.setNext("block-scalar");if(J===`
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 q=this.continueScalar(Z+1);if(q===-1)break;Z=this.buffer.indexOf(`
173
+ `,q)}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
+ `)Q=this.buffer[++U];Z=U-1}else if(!this.blockScalarKeep)do{let q=Z-1,J=this.buffer[q];if(J==="\r")J=this.buffer[--q];let Y=q;while(J===" ")J=this.buffer[--q];if(J===`
175
+ `&&q>=this.pos&&q+1+X>Y)Z=q;else break}while(!0);return yield A4.SCALAR,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 q=this.buffer[Q+1];if(t0(q)||Z&&GZ.has(q))break;X=Q}else if(t0(U)){let q=this.buffer[Q+1];if(U==="\r")if(q===`
176
176
  `)Q+=1,U=`
177
- `,J=this.buffer[Q+1];else X=Q;if(J==="#"||Z&&YZ.has(J))break;if(U===`
178
- `){let q=this.continueScalar(Q+1);if(q===-1)break;Q=Math.max(Q,q-2)}}else{if(Z&&YZ.has(U))break;X=Q}if(!U&&!this.atEnd)return this.setNext("plain-scalar");return yield O4.SCALAR,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(v3))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"-":case"?":case":":{let Z=this.flowLevel>0,X=this.charAt(1);if(Z1(X)||Z&&YZ.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(!Z1(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(XR.has(X))X=this.buffer[++Z];else if(X==="%"&&FY.has(this.buffer[Z+1])&&FY.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===`
177
+ `,q=this.buffer[Q+1];else X=Q;if(q==="#"||Z&&GZ.has(q))break;if(U===`
178
+ `){let J=this.continueScalar(Q+1);if(J===-1)break;Q=Math.max(Q,J-2)}}else{if(Z&&GZ.has(U))break;X=Q}if(!U&&!this.atEnd)return this.setNext("plain-scalar");return yield A4.SCALAR,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(p3))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"-":case"?":case":":{let Z=this.flowLevel>0,X=this.charAt(1);if(t0(X)||Z&&GZ.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(!t0(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($R.has(X))X=this.buffer[++Z];else if(X==="%"&&KY.has(this.buffer[Z+1])&&KY.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)}}UR.Lexer=BY});var h3=C((qR)=>{class MY{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}}}}qR.LineCounter=MY});var m3=C((LR)=>{var WR=z2("process"),OY=qZ(),$R=x3();function i1(Z,X){for(let Q=0;Q<Z.length;++Q)if(Z[Q].type===X)return!0;return!1}function RY(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 TY(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 WZ(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 Z6(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 KY(Z){if(Z.start.type==="flow-seq-start"){for(let X of Z.items)if(X.sep&&!X.value&&!i1(X.start,"explicit-key-ind")&&!i1(X.sep,"map-value-ind")){if(X.key)X.value=X.key;if(delete X.key,TY(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 DY{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 $R.Lexer,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,WR.env.LOG_TOKENS)console.log("|",OY.prettyToken(Z));if(this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=Z.length;return}let X=OY.tokenType(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")KY(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&&RY(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(RY(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=WZ(this.peek(2)),Q=Z6(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)}}GR.Lexer=DY});var c3=C((_R)=>{class wY{constructor(){this.lineStarts=[],this.addNewLine=(Z)=>this.lineStarts.push(Z),this.linePos=(Z)=>{let X=0,Q=this.lineStarts.length;while(X<Q){let q=X+Q>>1;if(this.lineStarts[q]<Z)X=q+1;else Q=q}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}}}}_R.LineCounter=wY});var d3=C((BR)=>{var HR=T2("process"),PY=LZ(),FR=l3();function i1(Z,X){for(let Q=0;Q<Z.length;++Q)if(Z[Q].type===X)return!0;return!1}function AY(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 jY(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 VZ(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 J6(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 SY(Z){if(Z.start.type==="flow-seq-start"){for(let X of Z.items)if(X.sep&&!X.value&&!i1(X.start,"explicit-key-ind")&&!i1(X.sep,"map-value-ind")){if(X.key)X.value=X.key;if(delete X.key,jY(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 CY{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 FR.Lexer,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,HR.env.LOG_TOKENS)console.log("|",PY.prettyToken(Z));if(this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=Z.length;return}let X=PY.tokenType(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")SY(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&&AY(U.start)===-1&&(X.indent===0||U.start.every((q)=>q.type!=="comment"||q.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(AY(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=VZ(this.peek(2)),Q=J6(X),U;if(Z.end)U=Z.end,U.push(this.sourceToken),delete Z.end;else U=[this.sourceToken];let q={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]=q}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 q=[];for(let Y=0;Y<X.sep.length;++Y){let W=X.sep[Y];switch(W.type){case"newline":q.push(Y);break;case"space":break;case"comment":if(W.indent>Z.indent)q.length=0;break;default:q.length=0}}if(q.length>=2)J=X.sep.splice(q[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(i1(X.start,"newline"))Object.assign(X,{key:null,sep:[this.sourceToken]});else{let q=Z6(X.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:q,key:null,sep:[this.sourceToken]}]})}else if(X.value)Z.items.push({start:[],key:null,sep:[this.sourceToken]});else if(i1(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(TY(X.key)&&!i1(X.sep,"newline")){let q=Z6(X.start),Y=X.key,W=X.sep;W.push(this.sourceToken),delete X.key,delete X.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:q,key:Y,sep:W}]})}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(i1(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 q=this.flowScalar(this.type);if(U||X.value)Z.items.push({start:J,key:q,sep:[]}),this.onKeyLine=!0;else if(X.sep)this.stack.push(q);else Object.assign(X,{key:q,sep:[]}),this.onKeyLine=!0;return}default:{let q=this.startBlockValue(Z);if(q){if(q.type==="block-seq"){if(!X.explicitKey&&X.sep&&!i1(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(q);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||i1(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=WZ(Q),J=Z6(U);KY(Z);let q=Z.end.splice(1,Z.end.length);q.push(this.sourceToken);let Y={type:"block-map",offset:Z.offset,indent:Z.indent,items:[{start:J,key:Z,sep:q}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=Y}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",q=[];if(U&&X.sep&&!X.value){let J=[];for(let Y=0;Y<X.sep.length;++Y){let W=X.sep[Y];switch(W.type){case"newline":J.push(Y);break;case"space":break;case"comment":if(W.indent>Z.indent)J.length=0;break;default:J.length=0}}if(J.length>=2)q=X.sep.splice(J[1])}switch(this.type){case"anchor":case"tag":if(U||X.value)q.push(this.sourceToken),Z.items.push({start:q}),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)q.push(this.sourceToken),Z.items.push({start:q,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(i1(X.start,"newline"))Object.assign(X,{key:null,sep:[this.sourceToken]});else{let J=J6(X.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:J,key:null,sep:[this.sourceToken]}]})}else if(X.value)Z.items.push({start:[],key:null,sep:[this.sourceToken]});else if(i1(X.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:q,key:null,sep:[this.sourceToken]}]});else if(jY(X.key)&&!i1(X.sep,"newline")){let J=J6(X.start),Y=X.key,W=X.sep;W.push(this.sourceToken),delete X.key,delete X.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:J,key:Y,sep:W}]})}else if(q.length>0)X.sep=X.sep.concat(q,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:q,key:null,sep:[this.sourceToken]});else if(i1(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 J=this.flowScalar(this.type);if(U||X.value)Z.items.push({start:q,key:J,sep:[]}),this.onKeyLine=!0;else if(X.sep)this.stack.push(J);else Object.assign(X,{key:J,sep:[]}),this.onKeyLine=!0;return}default:{let J=this.startBlockValue(Z);if(J){if(J.type==="block-seq"){if(!X.explicitKey&&X.sep&&!i1(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:q});this.stack.push(J);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||i1(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=VZ(Q),q=J6(U);SY(Z);let J=Z.end.splice(1,Z.end.length);J.push(this.sourceToken);let Y={type:"block-map",offset:Z.offset,indent:Z.indent,items:[{start:q,key:Z,sep:J}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=Y}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=WZ(Z),Q=Z6(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=WZ(Z),Q=Z6(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()}}}LR.Parser=DY});var CY=C((OR)=>{var wY=j3(),_R=H4(),R4=z4(),VR=hX(),HR=l(),zR=h3(),PY=m3();function AY(Z){let X=Z.prettyErrors!==!1;return{lineCounter:Z.lineCounter||X&&new zR.LineCounter||null,prettyErrors:X}}function FR(Z,X={}){let{lineCounter:Q,prettyErrors:U}=AY(X),J=new PY.Parser(Q?.addNewLine),q=new wY.Composer(X),Y=Array.from(q.compose(J.parse(Z)));if(U&&Q)for(let W of Y)W.errors.forEach(R4.prettifyError(Z,Q)),W.warnings.forEach(R4.prettifyError(Z,Q));if(Y.length>0)return Y;return Object.assign([],{empty:!0},q.streamInfo())}function SY(Z,X={}){let{lineCounter:Q,prettyErrors:U}=AY(X),J=new PY.Parser(Q?.addNewLine),q=new wY.Composer(X),Y=null;for(let W of q.compose(J.parse(Z),!0,Z.length))if(!Y)Y=W;else if(Y.options.logLevel!=="silent"){Y.errors.push(new R4.YAMLParseError(W.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}if(U&&Q)Y.errors.forEach(R4.prettifyError(Z,Q)),Y.warnings.forEach(R4.prettifyError(Z,Q));return Y}function BR(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=SY(Z,Q);if(!J)return null;if(J.warnings.forEach((q)=>VR.warn(J.options.logLevel,q)),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 MR(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(HR.isDocument(Z)&&!U)return Z.toString(Q);return new _R.Document(Z,U,Q).toString(Q)}OR.parse=BR;OR.parseAllDocuments=FR;OR.parseDocument=SY;OR.stringify=MR});var p3=C((yR)=>{var wR=j3(),PR=H4(),AR=H3(),u3=z4(),SR=t6(),s1=l(),CR=p1(),NR=W0(),jR=d1(),ER=c1(),bR=qZ(),IR=x3(),fR=h3(),kR=m3(),$Z=CY(),NY=o6();yR.Composer=wR.Composer;yR.Document=PR.Document;yR.Schema=AR.Schema;yR.YAMLError=u3.YAMLError;yR.YAMLParseError=u3.YAMLParseError;yR.YAMLWarning=u3.YAMLWarning;yR.Alias=SR.Alias;yR.isAlias=s1.isAlias;yR.isCollection=s1.isCollection;yR.isDocument=s1.isDocument;yR.isMap=s1.isMap;yR.isNode=s1.isNode;yR.isPair=s1.isPair;yR.isScalar=s1.isScalar;yR.isSeq=s1.isSeq;yR.Pair=CR.Pair;yR.Scalar=NR.Scalar;yR.YAMLMap=jR.YAMLMap;yR.YAMLSeq=ER.YAMLSeq;yR.CST=bR;yR.Lexer=IR.Lexer;yR.LineCounter=fR.LineCounter;yR.Parser=kR.Parser;yR.parse=$Z.parse;yR.parseAllDocuments=$Z.parseAllDocuments;yR.parseDocument=$Z.parseDocument;yR.stringify=$Z.stringify;yR.visit=NY.visit;yR.visitAsync=NY.visitAsync});m2();var u2;((q)=>{q.ENGINE_START="engine:start";q.ENGINE_DONE="engine:done";q.RULE_MATCH="rule:match";q.ACTION_SUCCESS="action:success";q.ACTION_ERROR="action:error"})(u2||={});var H9;((U)=>{U.RULE_ADDED="rule:added";U.RULE_REMOVED="rule:removed";U.RULE_UPDATED="rule:updated"})(H9||={});var yb=u2,z9=H9;class MX{static instance;handlers=new Map;constructor(){}static getInstance(){if(!this.instance)this.instance=new MX;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(q){console.error(`Error in event handler for ${Q}:`,q)}})}}var l0=MX.getInstance();var eG=K0,Z_=u2,X_=H9,OX={IF:"if",THEN:"then",ELSE:"else",BREAK:"break",CONTINUE:"continue",MODE:"mode",ACTIONS:"actions",RUN:"run",DELAY:"delay",PROBABILITY:"probability",PARAMS:"params",TYPE:"type",ON:"on"},RX={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"},F9={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}`},hb={Actions:eG,Events:Z_,RuleEvents:X_,ControlFlow:OX,ErrorMessages:RX,DebugMessages:F9};V9();class Q_{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 U_{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 KX{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=(q)=>{if(q instanceof Date)return q.getTime();if(typeof q==="number")return q;if(typeof q==="string"){let Y=new Date(q);return isNaN(Y.getTime())?0:Y.getTime()}return 0},J=(q)=>{if(typeof q==="number")return q;if(q===null||q===void 0||q==="")return null;let Y=Number(q);return isNaN(Y)?null:Y};switch(X){case"EQ":case"==":return Z==Q;case"NEQ":case"!=":return Z!=Q;case"GT":case">":{let q=J(Z),Y=J(Q);return q!==null&&Y!==null&&q>Y}case"GTE":case">=":{let q=J(Z),Y=J(Q);return q!==null&&Y!==null&&q>=Y}case"LT":case"<":{let q=J(Z),Y=J(Q);return q!==null&&Y!==null&&q<Y}case"LTE":case"<=":{let q=J(Z),Y=J(Q);return q!==null&&Y!==null&&q<=Y}case"IN":return Array.isArray(Q)&&Q.some((q)=>q===Z);case"NOT_IN":return Array.isArray(Q)&&!Q.some((q)=>q===Z);case"CONTAINS":if(Array.isArray(Q))return Q.some((q)=>String(Z).includes(String(q)));if(Array.isArray(Z)||typeof Z==="string")return Z.includes(Q);return!1;case"NOT_CONTAINS":if(Array.isArray(Q))return!Q.some((q)=>String(Z).includes(String(q)));if(Array.isArray(Z)||typeof Z==="string")return!Z.includes(Q);return!1;case"STARTS_WITH":if(Array.isArray(Q))return Q.some((q)=>String(Z).startsWith(String(q)));if(typeof Z==="string"&&typeof Q==="string")return Z.startsWith(Q);return!1;case"ENDS_WITH":if(Array.isArray(Q))return Q.some((q)=>String(Z).endsWith(String(q)));if(typeof Z==="string"&&typeof Q==="string")return Z.endsWith(Q);return!1;case"IS_EMPTY":{let q=!1;if(typeof Z==="string")q=Z==="";else if(Array.isArray(Z))q=Z.length===0;else if(Z===null||Z===void 0)q=!0;else if(typeof Z==="object")q=Object.keys(Z).length===0;return Q===!1?!q:q}case"IS_NULL":case"IS_NONE":{let q=Z===null||Z===void 0;return Q===!1?!q:q}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 q=J(Z),Y=J(Q[0]),W=J(Q[1]);return q!==null&&Y!==null&&W!==null&&q>=Y&&q<=W}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}}}V9();class g1{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=E0.evaluate(Q.field,X),J=Q.value;if(typeof J==="string"&&J.includes("${"))J=E0.interpolate(J,X);return KX.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 Y=Object.values(OX),W=Object.keys(U).filter(($)=>!Y.includes($));for(let $ of W)if(Q?!!Q.get($):!0){U.type=$;let _=U[$];if(typeof _==="string")U.params={...U.params,message:_,content:_};else if(typeof _==="object"&&_!==null)U.params={...U.params,..._};break}}if(U.run)try{return{shouldExecute:!1,executedAction:{type:"RUN",result:Function("context","state","data","vars","env","helpers",`with(context) { ${U.run} }`)(X,X.state,X.data,X.vars,X.env,X.helpers),timestamp:Date.now()},normalizedAction:U}}catch(Y){return{shouldExecute:!1,executedAction:{type:"RUN",error:String(Y),timestamp:Date.now()},normalizedAction:U}}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 Y=E0.evaluate(J,X);J=typeof Y==="number"?Y:Number(Y)}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 q=U.delay;if(typeof q==="string"){let Y=E0.evaluate(q,X);q=typeof Y==="number"?Y:Number(Y)}if(q&&q>0)await new Promise((Y)=>setTimeout(Y,q));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=(W)=>("probability"in W)?W.probability:1,J=X.reduce((W,$)=>W+U($),0),q=Math.random()*J;for(let W of X){let $=U(W);if(q-=$,q<=0)return{actionsToExecute:[W],mode:Q}}let Y=X[X.length-1];return{actionsToExecute:Y?[Y]:[],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 E0.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}}class c6{_rules=[];actionHandlers=new Map;lastExecution=new Map;_config;constructor(Z=[]){if(Array.isArray(Z))this._rules=Z;else this._config=Z,this._rules=[...Z.rules];try{let{ActionRegistry:X}=(m2(),JQ(BX));X.getInstance(!0)}catch{}this.sortRules()}sortRules(){this._rules.sort((Z,X)=>(X.priority||0)-(Z.priority||0))}registerAction(Z,X){this.actionHandlers.set(Z,X)}async processEvent(Z){let X=[];if(!Z.state)Z.state=this.getStateContext?this.getStateContext():{};let Q=this._rules.filter((U)=>U.enabled!==!1&&U.on===Z.event);for(let U of Q){if(U.cooldown&&this.checkCooldown(U.id,U.cooldown))continue;let J=g1.evaluateConditions(U.if,Z),q;if(J)l0.emit("rule:match",{rule:U,context:Z}),q=U.do;else if(U.else)q=U.else;if(q){let Y=await this.executeRuleActions(q,Z);this.lastExecution.set(U.id,Date.now()),X.push({ruleId:U.id,success:!0,executedActions:Y})}if(!J&&!U.else&&!this.shouldEvaluateAll())break;if(J&&!this.shouldEvaluateAll())break}return X}async processEventSimple(Z,X={},Q={}){let U={event:Z,data:X,vars:Q,timestamp:Date.now(),state:this.getStateContext?this.getStateContext():{}};return this.processEvent(U)}updateRules(Z){let X=this.getRules(),Q=new Set(X.map((Y)=>Y.id)),U=new Set(Z.map((Y)=>Y.id)),J=Z.filter((Y)=>!Q.has(Y.id)),q=X.filter((Y)=>!U.has(Y.id));this._rules=[...Z],this.sortRules(),J.forEach((Y)=>{this.emitRuleEvent(z9.RULE_ADDED,{ruleId:Y.id,timestamp:Date.now()})}),q.forEach((Y)=>{this.emitRuleEvent(z9.RULE_REMOVED,{ruleId:Y.id,timestamp:Date.now()})}),this.emitRuleEvent(z9.RULE_UPDATED,{count:Z.length,added:J.length,removed:q.length,unchanged:Z.length-J.length,timestamp:Date.now()})}emitRuleEvent(Z,X){try{if(l0)l0.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}getStateContext(){return{}}evaluateConditions(Z,X){return g1.evaluateConditions(Z,X)}evaluateSingleCondition(Z,X){return g1.evaluateConditions(Z,X)}async executeRuleActions(Z,X){let{actionsToExecute:Q}=g1.selectActions(Z),U=[];for(let J of Q){if("actions"in J&&"mode"in J){U.push(...await this.executeRuleActions(J,X));continue}let q=J;if("if"in q&&q.if&&(q.then||q.else||q.do)){let W=this.evaluateConditions(q.if,X),$=q.then||q.do;if(W&&$)U.push(...await this.executeRuleActions($,X));else if(!W&&q.else)U.push(...await this.executeRuleActions(q.else,X));continue}if("if"in q&&q.if){if(!this.evaluateConditions(q.if,X))continue}let Y=await this.executeSingleAction(q,X);if(U.push(Y),Y.type==="BREAK")break}return U}async executeSingleAction(Z,X){let{shouldExecute:Q,executedAction:U,normalizedAction:J}=await g1.processSingleActionBase(Z,X);if(!Q)return U;try{let q=this.actionHandlers.get(J.type);if(q){let W=await q(J.params||{},X);return l0.emit("action:success",{action:J,context:X,result:W}),{type:J.type,result:W,timestamp:Date.now()}}try{let{ActionRegistry:W}=(m2(),JQ(BX)),$=W.getInstance().get(J.type);if($){let L=await $(J,X);return l0.emit("action:success",{action:J,context:X,result:L}),{type:J.type,result:L,timestamp:Date.now()}}}catch{}let Y=`${RX.UNKNOWN_ACTION}: ${J.type}`;if(this._config?.globalSettings?.strictActions)throw Error(Y);return console.warn(Y),{type:J.type,result:{warning:Y},timestamp:Date.now()}}catch(q){return console.error(`Error executing action ${J.type}:`,q),l0.emit("action:error",{action:J,context:X,error:String(q)}),{type:J.type,error:String(q),timestamp:Date.now()}}}interpolateParams(Z,X){return g1.interpolateParams(Z,X)}get rules(){return[...this._rules]}get config(){return this._config}set rules(Z){this._rules=[...Z],this.sortRules()}}m2();l6();class WJ extends c6{actionRegistry;stateManager;constructor(Z){super(Z);this.actionRegistry=d6.getInstance(!0),this.stateManager=B0.getInstance()}async evaluateContext(Z){if(!Z.state)Z.state=this.stateManager.getLiveProxy();if(this._config?.stateConfig)await this.stateManager.applyConfig(this._config.stateConfig);if(!Z.env)Z.env={};if(this._config?.globalSettings?.debugMode)console.log(F9.RULE_ENGINE_EVALUATING(this._rules.length,Z.event));l0.emit("engine:start",{context:Z,rulesCount:this._rules.length});let X=await this.processEvent(Z);return l0.emit("engine:done",{results:X,context:Z}),X}async processEvent(Z,X={},Q={}){if(typeof Z==="string"){let q={event:Z,data:X,vars:Q,timestamp:Date.now(),state:this.stateManager.getLiveProxy()};return this.processEvent(q)}let U=Z;if(U.state=this.stateManager.getLiveProxy(),this._config?.stateConfig)await this.stateManager.applyConfig(this._config.stateConfig);if(l0.emit("engine:start",{context:U,rulesCount:this._rules.length}),this._config?.globalSettings?.debugMode)console.log(F9.RULE_ENGINE_EVALUATING(this._rules.length,U.event));let J=await super.processEvent(U);return l0.emit("engine:done",{results:J,context:U}),J}getStateContext(){return this.stateManager.getLiveProxy()}get ActionRegistry(){return this.actionRegistry}get StateManager(){return this.stateManager}}m2();l6();class J_{static create(Z,X,Q={}){return{event:Z,timestamp:Date.now(),data:typeof X==="object"&&X!==null?X:{value:X},vars:Q,state:B0.getInstance().getLiveProxy(),helpers:this.getDefaultHelpers()}}static fromRequest(Z,X,Q={}){let U=new URL(Z.url);return{event:"HTTP_REQUEST",timestamp:Date.now(),data:{method:Z.method,path:U.pathname,query:Object.fromEntries(U.searchParams),headers:(()=>{let J={};return Z.headers.forEach((q,Y)=>J[Y]=q),J})(),body:X||{}},vars:{...Q,ip:Z.headers.get("x-forwarded-for")||"unknown"},state:B0.getInstance().getLiveProxy(),helpers:this.getDefaultHelpers()}}static fromWebhook(Z,X,Q,U={}){return{event:`WEBHOOK_${Z.toUpperCase()}_${X.toUpperCase()}`,timestamp:Date.now(),data:Q,vars:{...U,provider:Z},state:B0.getInstance().getLiveProxy(),helpers:this.getDefaultHelpers()}}static getDefaultHelpers(){return{now:()=>Date.now(),uuid:()=>crypto.randomUUID(),jsonParse:(Z)=>{try{return typeof Z==="string"?JSON.parse(Z):null}catch{return null}},jsonStringify:(Z)=>{try{return JSON.stringify(Z)}catch{return null}}}}}l6();zX();var q_=["EQ","==","NEQ","!="],$J=["GT",">","GTE",">=","LT","<","LTE","<="],LJ=["IN","NOT_IN","RANGE"],GJ=["CONTAINS","NOT_CONTAINS","STARTS_WITH","ENDS_WITH"],Y_=["IS_NULL","IS_NONE"],W_=["IS_EMPTY","HAS_KEY","MATCHES","SINCE","AFTER","BEFORE","UNTIL"],RI=[...q_,...$J,...LJ,...GJ,...Y_,...W_];function _J(Z){return LJ.includes(Z)}function VJ(Z){return GJ.includes(Z)}function HJ(Z){return $J.includes(Z)}var v1=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(),SI=v1.Operator,CI=v1.Condition,NI=v1.ConditionGroup,jI=v1.RuleCondition,EI=v1.Action,bI=v1.ActionGroup,II=v1.InlineConditionalAction,$_=v1.TriggerRule;class TX{static validate(Z){let X=$_(Z);if(X instanceof i.errors){let J=[];for(let q of X){let Y=q.path.join("."),W=q.message,$=void 0;if(Y.endsWith("on")&&(W.includes("string")||W.includes("must be")))if(typeof Z==="object"&&Z!==null&&"on"in Z&&Z.on===!0)W="The 'on' field is incorrect (boolean true found).",$=`In YAML, 'on' is a boolean keyword (true). Quote it: "on": "EventName"`;else $="Ensure 'on' is a string event name.";J.push({path:Y,message:W,suggestion:$,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,q)=>{this.validateInlineConditionalRecursive(J,X,`${Q}.actions.${q}`)});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,q=U;if(_J(q)){if(!Array.isArray(J)){X.push({path:`${Q}.value`,message:`Incorrect value type: Operator '${q}' expects a List (Array), but received ${typeof J}.`,suggestion:q==="RANGE"?"Use format [min, max]":"Use format [item1, item2]",severity:"error"});return}if(q==="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(q==="CONTAINS"||q==="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(VJ(q)){if(typeof J!=="string"&&!Array.isArray(J))X.push({path:`${Q}.value`,message:`Incorrect value type: Operator '${q}' 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(q==="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(Y){X.push({path:`${Q}.value`,message:`Invalid Regex pattern: ${Y.message}`,severity:"error"})}else if(HJ(q)){if(typeof J!=="number"&&typeof J!=="string")X.push({path:`${Q}.value`,message:`Incorrect value type: Operator '${q}' expects a number or expression string, but received ${typeof J}.`,severity:"error"})}else if(q==="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 B9(Z,X){let Q=new Map,U=[];for(let q of Z){let W=q[X];if(W!==void 0&&W!==null){let $=String(W);if(!Q.has($))Q.set($,q)}else U.push(q)}let J=Array.from(new Set(U.map((q)=>JSON.stringify(q)))).map((q)=>JSON.parse(q));return[...Array.from(Q.values()),...J]}function i6(Z,X={}){let{deduplicate:Q=!0,uniqueIdField:U}=X;if(!Z)return;if(Array.isArray(Z)){let J=Z.map((Y)=>i6(Y,X)).filter((Y)=>Y!==void 0);if(!Q)return J.length===0?void 0:J.length===1?J[0]:J;let q=U?B9(J,U):Array.from(new Set(J.map((Y)=>JSON.stringify(Y)))).map((Y)=>JSON.parse(Y));return q.length===0?void 0:q.length===1?q[0]:q}if("operator"in Z&&"conditions"in Z){let J=Z,q=i6(J.conditions,X);if(!q)return;if(!Array.isArray(q))q=[q];let Y=[];for(let $ of q)if("operator"in $&&"conditions"in $&&$.operator===J.operator)Y.push(...$.conditions);else Y.push($);let W;if(!Q)W=Y;else if(U)W=B9(Y,U);else W=Array.from(new Set(Y.map(($)=>JSON.stringify($)))).map(($)=>JSON.parse($));if(W.length===0)return;if(W.length===1)return W[0];return{operator:J.operator,conditions:W}}return Z}function s6(Z,X={}){let{deduplicate:Q=!1,uniqueIdField:U}=X;if(!Z)return;if(Array.isArray(Z)){let J=Z.map(($)=>s6($,X)).filter(($)=>$!==void 0);if(!Q){let $=J.flatMap((_)=>Array.isArray(_)?_:[_]),L=[];for(let _ of $)if("mode"in _&&"actions"in _&&_.mode==="ALL")L.push(..._.actions);else L.push(_);if(L.length===0)return;if(L.length===1)return L[0];return L}let q=J.flatMap(($)=>Array.isArray($)?$:[$]),Y=[];for(let $ of q)if("mode"in $&&"actions"in $&&$.mode==="ALL")Y.push(...$.actions);else Y.push($);if(Y.length===0)return;if(Y.length===1)return Y[0];let W;if(U)W=B9(Y,U);else W=Array.from(new Set(Y.map(($)=>JSON.stringify($)))).map(($)=>JSON.parse($));return W}if("mode"in Z&&"actions"in Z){let J=Z,q=s6(J.actions,X);if(!q)return;if(!Array.isArray(q))q=[q];let Y=[];for(let $ of q)if("mode"in $&&"actions"in $&&$.mode===J.mode)Y.push(...$.actions);else Y.push($);if(Y.length===0)return;if(Y.length===1)return Y[0];let W;if(!Q)W=Y;else if(U)W=B9(Y,U);else W=Array.from(new Set(Y.map(($)=>JSON.stringify($)))).map(($)=>JSON.parse($));return{mode:J.mode,actions:W}}return Z}class x1{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 x1("AND");return this.conditions.push(Z(X).build()),this}or(Z){let X=new x1("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 a6{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 DX{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 q=0;q<Q.length-1;q++){let Y=Q[q];if(!Y)continue;if(!(Y in U))U[Y]={};U=U[Y]}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 f={EVENT:"event",CONDITION:"condition",CONDITION_GROUP:"condition_group",ACTION:"action",ACTION_GROUP:"action_group",DO:"do"},P={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"},k0={DO:"do",ELSE:"else"},wX={AND:"AND",OR:"OR"};var O9=(Z)=>Z.type===f.EVENT,T1=(Z)=>Z.type===f.CONDITION||Z.type===f.CONDITION_GROUP,W1=(Z)=>Z.type===f.ACTION||Z.type===f.ACTION_GROUP||Z.type===f.DO,R9=(Z)=>Z.type===f.DO;var p2=(Z)=>{return Z.data?.branchType===k0.ELSE?k0.ELSE:k0.DO};function PX(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 X0(Z,X,Q){let U=[...Q];return Z.edges.filter((J)=>J.source===X&&U.includes(J.sourceHandle||""))}var t0={CONDITION_OUTPUT:[P.CONDITION_OUTPUT,P.CONDITION_OUTPUT_LEGACY],ACTION_OUTPUT:[P.ACTION_OUTPUT,P.ACTION_OUTPUT_LEGACY],DO_OUTPUT:[P.DO_OUTPUT,""],THEN_ELSE:[P.THEN_OUTPUT,P.ELSE_OUTPUT],DO_CONDITION:[P.DO_CONDITION_OUTPUT],CONDITION_CHAIN:[P.CONDITION_OUTPUT,P.CONDITION_OUTPUT_LEGACY,P.THEN_OUTPUT,P.ELSE_OUTPUT],ANY:[P.CONDITION_OUTPUT,P.CONDITION_OUTPUT_LEGACY,""]};class zJ{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 FJ{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 BJ{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 MJ{conditionConverter=new zJ;actionConverter=new FJ;eventConverter=new BJ;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 OJ=new MJ;function AX(Z){let X=Z.data||{};return OJ.getConditionConverter().convert(X,{nodes:[],edges:[]})}function SX(Z){let X=Z.data||{};return OJ.getActionConverter().convert(X,{nodes:[],edges:[]})}function K9(Z,X){let Q=X.options.isCondNode||T1,U=X.nodes.find((L)=>L.id===Z);if(!U||U.type!==f.CONDITION_GROUP)return{conditions:[],operator:wX.AND};let J=U.data.operator||wX.AND,q=[],Y=new Set;function W(L){if(Y.has(L))return;Y.add(L);let _=X.nodes.find((z)=>z.id===L);if(!_||!Q(_)||_.type===f.CONDITION_GROUP)return;let G=AX(_);q.push(G);let V=X0(X,L,[...t0.CONDITION_OUTPUT,P.THEN_OUTPUT]).filter((z)=>{let F=X.nodes.find((H)=>H.id===z.target);return F&&Q(F)});for(let z of V)W(z.target)}let $=X0(X,Z,[P.CONDITION_GROUP_OUTPUT]).filter((L)=>{let _=X.nodes.find((G)=>G.id===L.target);return _&&Q(_)});for(let L of $)W(L.target);return{conditions:q,operator:J}}function q2(Z,X){if(X.options.resolveCondition&&X.options.resolveCondition!==q2)return X.options.resolveCondition(Z,X);if(X.visitedConds.has(Z))return null;X.visitedConds.add(Z);let Q=X.nodes.find((Y)=>Y.id===Z),U=X.options.isCondNode||T1;if(!Q||!U(Q))return null;if(Q.type===f.CONDITION_GROUP){let{conditions:Y,operator:W}=K9(Z,X);if(Y.length===0)return null;if(Y.length===1)return Y[0];return{operator:W,conditions:Y}}let J=AX(Q);if(X.transformers?.condition){let Y=X.transformers.condition(J,Q);if(Y===null)return null;return Y}let q=X0(X,Z,t0.CONDITION_OUTPUT).filter((Y)=>{let W=X.nodes.find(($)=>$.id===Y.target);return W&&U(W)});if(q.length>0){let Y=q.map((W)=>q2(W.target,X)).filter((W)=>W!==null);if(Y.length>0)return{operator:"AND",conditions:[J,...Y]}}return J}function CX(Z,X){let Q=X.options.isCondNode||T1,U,J;function q(Y){let W=X.nodes.find((_)=>_.id===Y);if(!W||!Q(W))return;let $=X.edges.filter((_)=>_.source===Y);for(let _ of $){let G=X.nodes.find((V)=>V.id===_.target);if(!G)continue;if(G.type===f.ACTION||G.type===f.ACTION_GROUP||G.type===f.DO)if(_.sourceHandle===P.ELSE_OUTPUT)J=_.target;else U=_.target}let L=X0(X,Y,t0.CONDITION_OUTPUT).filter((_)=>{let G=X.nodes.find((V)=>V.id===_.target);return G&&Q(G)});for(let _ of L)q(_.target)}return q(Z),{thenActionId:U,elseActionId:J}}function l2(Z,X){let Q=X.options.isActNode||W1,U=X.nodes.find((_)=>_.id===Z);if(!U||U.type!==f.ACTION_GROUP)return{actions:[],mode:"ALL"};let J=U.data.mode||"ALL",q=[],Y=new Set;function W(_){if(Y.has(_))return;Y.add(_);let G=X.nodes.find((F)=>F.id===_);if(!G||!Q(G)||G.type===f.ACTION_GROUP)return;let V=SX(G);q.push(V);let z=X0(X,_,t0.ACTION_OUTPUT).filter((F)=>{let H=X.nodes.find((B)=>B.id===F.target);return H&&Q(H)});for(let F of z)W(F.target)}let $=X0(X,Z,[P.ACTION_GROUP_OUTPUT,P.DO_OUTPUT,"do-output","action-output","action-group-output"]).filter((_)=>{let G=X.nodes.find((V)=>V.id===_.target);return G&&Q(G)});for(let _ of $)W(_.target);let L=X0(X,Z,[P.ACTION_GROUP_CONDITION_OUTPUT,"condition-output"]);for(let _ of L){let G=M0(_.target,X);if(G)q.push(G)}return{actions:q,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((q)=>q.id===Z);if(!Q)return null;if(Q.type===f.ACTION_GROUP){if(X.visitedActs?.has(Z))return null;X.visitedActs?.add(Z);let{actions:q,mode:Y}=l2(Z,X);if(q.length===0)return null;return{mode:Y,actions:q}}if(Q.type===f.CONDITION){if(X.options.resolveCondition){let q=X.options.resolveCondition(Z,X);if(q){let{doBranches:Y,elseBranches:W}=r6(Z,X),$=null,L=null;if(Y.length>0){let _=Y[0],G=RJ(_,X);if(G.length>0)$=G.length===1?G[0]:{mode:"ALL",actions:G}}if(W.length>0){let _=W[0],G=RJ(_,X);if(G.length>0)L=G.length===1?G[0]:{mode:"ALL",actions:G}}if(!$&&!L){let _=CX(Z,X);if(_.thenActionId)$=M0(_.thenActionId,X);if(_.elseActionId)L=M0(_.elseActionId,X)}if($||L)return{if:q,then:$??void 0,do:$??void 0,else:L??void 0}}}}if(!(X.options.isActNode||W1)(Q))return null;if(X.visitedActs?.has(Z))return null;X.visitedActs?.add(Z);let J=SX(Q);if(X.transformers?.action){let q=X.transformers.action(J,Q);if(q===null)return null;return q}return J}function RJ(Z,X){let Q=X.options.isActNode||W1,U=[],J=X0(X,Z,[P.DO_OUTPUT,P.ELSE_OUTPUT,"do-output","else-output","action-output",""]).filter((q)=>{let Y=X.nodes.find((W)=>W.id===q.target);return Y&&Q(Y)});for(let q of J){let Y=M0(q.target,X);if(Y)U.push(Y)}return U}function r6(Z,X){let Q=X.options.isActNode?($)=>$.type===f.CONDITION||$.type===f.CONDITION_GROUP:($)=>$.type===f.CONDITION||$.type===f.CONDITION_GROUP,U=($)=>$.type===f.DO,J=[],q=[],Y=new Set;function W($){if(Y.has($))return;Y.add($);let L=X0(X,$,[...t0.CONDITION_OUTPUT,P.THEN_OUTPUT]).filter((G)=>{let V=X.nodes.find((z)=>z.id===G.target);return V&&U(V)});for(let G of L){let V=X.nodes.find((F)=>F.id===G.target);if(!V)continue;if(p2(V)===k0.ELSE){if(!q.includes(G.target))q.push(G.target)}else if(!J.includes(G.target))J.push(G.target)}let _=X0(X,$,t0.CONDITION_OUTPUT).filter((G)=>{let V=X.nodes.find((z)=>z.id===G.target);return V&&Q(V)});for(let G of _)W(G.target)}return W(Z),{doBranches:J,elseBranches:q}}function L_(Z,X,Q={},U){let J={...Q,resolveCondition:Q.resolveCondition||q2,resolveAction:Q.resolveAction||M0};return{nodes:Z,edges:X,visitedConds:new Set,visitedActs:new Set,options:J,transformers:U}}var Nf=p2,G_=PX;function __(Z,X,Q){let U=X.options.isCondNode||T1,J=R9,q=X0(X,Z,[P.DO_CONDITION_OUTPUT]).find((F)=>{let H=X.nodes.find((B)=>B.id===F.target);return H&&U(H)}),Y;if(q)Y=q.target;if(!Y)return null;let W=new Set(X.visitedConds);X.visitedConds.clear();let $=q2(Y,X);if(X.visitedConds=W,!$)return null;let{thenActionId:L,elseActionId:_}=NX(Y,X),G=X0(X,Z,[P.DO_CONDITION_OUTPUT]).find((F)=>{let H=X.nodes.find((B)=>B.id===F.target);return H&&(X.options.isActNode?.(H)??W1(H))});if(G&&!_)_=G.target;let V=L?M0(L,X):void 0,z=_?M0(_,X):void 0;return{if:$,do:V??void 0,else:z??void 0}}function T9(Z,X,Q){let U=X.options.isActNode||W1,J=[],q=X0(X,Z,t0.DO_OUTPUT).filter((W)=>{let $=X.nodes.find((L)=>L.id===W.target);return $&&U($)});for(let W of q){let $=M0(W.target,X);if($)J.push($)}let Y=__(Z,X,Q);if(Y)J.push(Y);return J}function NX(Z,X){let Q=X.options.isCondNode||T1,U=X.options.isActNode||W1,J=R9,q,Y;function W($){let L=X.nodes.find((V)=>V.id===$);if(!L||!Q(L))return;let _=X0(X,$,[P.THEN_OUTPUT,P.ELSE_OUTPUT,P.CONDITION_OUTPUT,P.CONDITION_OUTPUT_LEGACY,P.DO_OUTPUT,""]);for(let V of _){let z=X.nodes.find((F)=>F.id===V.target);if(!z)continue;if(J(z)){let F=X0(X,z.id,[P.DO_OUTPUT,""]).filter((K)=>{let w=X.nodes.find((S)=>S.id===K.target);return w&&U(w)}),H=p2(z);for(let K of F)if(H===k0.ELSE)Y=K.target;else q=K.target;let B=X0(X,z.id,[P.DO_CONDITION_OUTPUT]),T=B.find((K)=>{let w=X.nodes.find((S)=>S.id===K.target);return w&&Q(w)}),D=B.find((K)=>{let w=X.nodes.find((S)=>S.id===K.target);return w&&U(w)});if(D&&!Y)Y=D.target;continue}if(z.type===f.ACTION_GROUP){q=V.target;continue}if(!U(z))continue;if(V.sourceHandle===P.ELSE_OUTPUT)Y=V.target;else q=V.target}let G=X0(X,$,t0.CONDITION_OUTPUT).filter((V)=>{let z=X.nodes.find((F)=>F.id===V.target);return z&&Q(z)});for(let V of G)W(V.target)}return W(Z),{thenActionId:q,elseActionId:Y}}function jX(Z,X,Q={},U){let J=new EX;if(Q.optimizeOptions)J.withOptimizeOptions(Q.optimizeOptions);let q=Q.isEventNode||O9,Y=Q.isCondNode||T1,W=Q.isActNode||W1,$=Q.extractEventData||G_,L=Z.find((K)=>q(K));if(!L)throw Error("Missing Event Trigger node");let _=$(L);if(!_.id||!_.on)throw Error("Rule ID and Event Name are required");if(J.id(_.id).on(_.on),_.name)J.name(_.name);if(_.description)J.description(_.description);if(_.priority!==void 0)J.priority(Number(_.priority));if(_.enabled!==void 0)J.enabled(!!_.enabled);if(_.cooldown!==void 0)J.cooldown(Number(_.cooldown));if(_.tags)J.tags(_.tags);let G=L_(Z,X,Q,U),V=X.filter((K)=>K.source===L.id),z=[],F=[],H=[],B=[];for(let K of V){let w=G.nodes.find((S)=>S.id===K.target);if(!w)continue;if(w.type===f.CONDITION_GROUP)z.push(K.target);else if(Y(w))F.push(K.target);else if(w.type===f.ACTION_GROUP)H.push(K.target);else if(W(w))B.push(K.target)}for(let K of z){let{conditions:w,operator:S}=K9(K,G);if(w.length>0){let j={operator:S,conditions:w};J.withIf(j);let v=G.edges.filter((s)=>s.source===K&&s.sourceHandle?.startsWith("cond")).map((s)=>s.target),N=null,x=null;for(let s of v){let Q0=NX(s,G),a=Q0.thenActionId?M0(Q0.thenActionId,G):null,H0=Q0.elseActionId?M0(Q0.elseActionId,G):null,{doBranches:D0,elseBranches:y0}=r6(s,G),_1=[];for(let $6 of D0){let zZ=T9($6,G,s);_1.push(...zZ)}if(_1.length>0)a=_1.length===1?_1[0]:{mode:"ALL",actions:_1};let V1=[];for(let $6 of y0){let zZ=T9($6,G,s);V1.push(...zZ)}if(V1.length>0)H0=V1.length===1?V1[0]:{mode:"ALL",actions:V1};if(a)N=a;if(H0)x=H0}if(N)J.withDo(N);if(x)J.elseRule(x)}}if(F.length>0&&z.length===0){let K=[],w,S;for(let H0 of F){let D0=q2(H0,G);if(D0)K.push(D0);let y0=NX(H0,G);if(y0.thenActionId)w=y0.thenActionId;if(y0.elseActionId)S=y0.elseActionId}if(K.length===1)J.withIf(K[0]);else if(K.length>1)J.withIf({operator:"AND",conditions:K});let j=F[0];if(!j)return J;let{doBranches:v,elseBranches:N}=r6(j,G),x=[];for(let H0 of v){let D0=T9(H0,G,j);x.push(...D0)}let s=x.length===1?x[0]:x.length>1?{mode:"ALL",actions:x}:w?M0(w,G):null,Q0=[];for(let H0 of N){let D0=T9(H0,G,j);Q0.push(...D0)}let a=Q0.length===1?Q0[0]:Q0.length>1?{mode:"ALL",actions:Q0}:S?M0(S,G):null;if(s)J.withDo(s);if(a)J.elseRule(a);if(!w&&!x.length)for(let H0 of F){let D0=X0(G,H0,[P.THEN_OUTPUT,P.CONDITION_OUTPUT,"condition-output","then-output","output",""]).filter((y0)=>{return G.nodes.find((V1)=>V1.id===y0.target)?.type===f.ACTION_GROUP});for(let y0 of D0){let{actions:_1,mode:V1}=l2(y0.target,G);if(_1.length>0){let $6={mode:V1,actions:_1};J.withDo($6);break}}}}let T=new Set;if(F.length>0&&z.length===0)for(let K of F){let w=X0(G,K,[P.THEN_OUTPUT,P.CONDITION_OUTPUT,"condition-output","then-output","output",""]).filter((S)=>{return G.nodes.find((v)=>v.id===S.target)?.type===f.ACTION_GROUP});for(let S of w)T.add(S.target)}let D=H.filter((K)=>!T.has(K));if(D.length>0)for(let K of D)if(X0(G,K,[P.ACTION_GROUP_CONDITION_OUTPUT,"condition-output"]).filter((S)=>{let j=G.nodes.find((v)=>v.id===S.target);return j&&Y(j)}).length>0){let{actions:S,mode:j}=l2(K,G);if(S.length>0){let v={mode:j,actions:S};J.withDo(v)}}else{let{actions:S,mode:j}=l2(K,G);if(S.length>0)J.withDo({mode:j,actions:S})}if(B.length>0&&F.length===0&&z.length===0)for(let K of B){let w=M0(K,G);if(w)J.withDo(w)}return J}function KJ(Z,X,Q={},U){let J=Q.isEventNode||O9,q=Z.filter(($)=>J($));if(q.length===0)return{rules:[],errors:["No Event nodes found in the graph"]};let Y=[],W=[];for(let $ of q)try{let L=$.id,_=new Set([L]),G=[L];while(G.length>0){let B=G.shift(),T=X.filter((D)=>D.source===B);for(let D of T)if(!_.has(D.target))_.add(D.target),G.push(D.target)}let V=Z.filter((B)=>_.has(B.id)),z=X.filter((B)=>_.has(B.source)&&_.has(B.target)),H=jX(V,z,Q,U).build();Y.push(H)}catch(L){let _=L instanceof Error?L.message:String(L);W.push(`Failed to parse rule for event ${$.id}: ${_}`)}return{rules:Y,errors:W}}class EX{rule={enabled:!0,priority:0};optimizeOptions={};static fromGraph(Z,X,Q,U){return jX(Z,X,Q,U)}static fromGraphMultiple(Z,X,Q,U){return KJ(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 x1,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 a6,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 M9(this,Z,X,Q)}whenComplex(Z){let X=new x1,Q=Z(X).build();return new M9(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=(q)=>({...q,if:{field:Z,operator:X,value:Q}});if(Array.isArray(U)){let q=U.length-1,Y=U[q];if(Y&&"actions"in Y){let W=Y.actions,$=W.length-1;if($>=0)W[$]=J(W[$])}else if(Y)U[q]=J(Y)}else if(U&&"actions"in U){let q=U.actions,Y=q.length-1;if(Y>=0)q[Y]=J(q[Y])}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 q=J.actions,Y=q.length-1;if(Y>=0)q[Y]=Q(q[Y])}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 q=J.actions,Y=q.length-1;if(Y>=0)q[Y]=Q(q[Y])}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 Error("Rule ID is required");if(!this.rule.on)throw Error("Rule 'on' event is required");if(!this.rule.do)throw Error("Rule 'do' action is required");if(this.rule.if)this.rule.if=i6(this.rule.if,this.optimizeOptions);if(this.rule.do){let Z=s6(this.rule.do,this.optimizeOptions);this.rule.do=Z?Z:this.rule.do}return this.rule}}class M9{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 l3=UQ(p3(),1);class LZ{static toYaml(Z){let X=Array.isArray(Z)?Z:[Z];return l3.default.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 l3.default.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"),q=(await import("path")).dirname(X);await U.mkdir(q,{recursive:!0}),await U.writeFile(X,Q,"utf8")}else throw Error("saveToFile is only supported in Node.js/Bun environments")}}var VZ=UQ(p3(),1);var _K=["EQ","==","NEQ","!="],VK=["GT",">","GTE",">=","LT","<","LTE","<="],HK=["IN","NOT_IN","RANGE"],zK=["CONTAINS","NOT_CONTAINS","STARTS_WITH","ENDS_WITH"];var jY=[..._K,...VK,...HK,...zK,"IS_EMPTY","HAS_KEY","MATCHES","SINCE","AFTER","BEFORE","UNTIL","RANGE"],EY=["AND","OR"],bY=["ALL","EITHER","SEQUENCE"];function T0(Z){return typeof Z==="object"&&Z!==null&&!Array.isArray(Z)}function FK(Z){return typeof Z==="string"&&Z.length>0}function BK(Z){return typeof Z==="number"&&!isNaN(Z)}function MK(Z){return typeof Z==="boolean"}function a1(Z){return"operator"in Z&&"conditions"in Z&&(Z.operator==="AND"||Z.operator==="OR")}function r1(Z){return"field"in Z&&"operator"in Z}function d3(Z){return typeof Z==="object"&&Z!==null&&"mode"in Z&&"actions"in Z&&Array.isArray(Z.actions)}function GZ(Z){return typeof Z==="object"&&Z!==null&&"if"in Z}function OK(Z){return typeof Z==="object"&&Z!==null&&"type"in Z}function c3(Z){return typeof Z==="string"&&bY.includes(Z)}function RK(Z){return typeof Z==="string"&&EY.includes(Z)}function KK(Z){return typeof Z==="string"&&SK(jY,Z)}function K4(Z){return Z.type||"log"}function T4(Z){if(!Z.params)return"{}";return typeof Z.params==="string"?Z.params:JSON.stringify(Z.params)}function X6(Z){if(r1(Z))return Z.field||"data";return"data"}function Q6(Z){if(r1(Z))return Z.operator||"EQ";if(a1(Z))return Z.operator==="OR"?"OR":"AND";return"EQ"}function U6(Z){if(r1(Z))return Z.value;return}function i3(Z=0){let X=Z;return()=>`node_${X++}`}function s3(){let Z=0;return()=>`edge_${Date.now()}_${Z++}`}function a3(Z=100,X=100,Q=300,U=150){return(J,q,Y)=>({x:Z+J*Q,y:X+q*U-Y*U/2})}function J6(Z){if(Z===void 0)return[];if(Array.isArray(Z))return Z;return[Z]}function TK(Z){if(!Z)return[];if(Array.isArray(Z))return Z;return[Z]}function DK(Z){if(!Z)return[];if(Array.isArray(Z))return Z;return[Z]}function wK(Z){return Z.replace(/\.(ya?ml)$/i,"")}function PK(Z){return{"==":"EQ","!=":"NEQ",">":"GT",">=":"GTE","<":"LT","<=":"LTE"}[Z]||Z}function AK(Z,X){if(!(X in Z)||Z[X]===void 0||Z[X]===null)throw Error(`Missing required field: ${X}`)}function SK(Z,X){return Z.includes(X)}function CK(Z,X,Q){let U=typeof Z;if(U!==X)throw Error(`Field "${Q}" expected type "${X}", got "${U}"`)}function NK(Z,X,Q){if(typeof Z!=="string"||!X.includes(Z))throw Error(`Field "${Q}" must be one of: ${X.join(", ")}`)}function D4(Z,X,Q,U){if(!T0(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=Q.replace(/\.(ya?ml)$/i,"");J.id=q}else if(typeof U==="string")J.id=`${U}-${X}`}if("if"in J&&J.if!==void 0)J.if=_Z(J.if);if("do"in J&&J.do!==void 0)J.do=kY(J.do);if("else"in J&&J.else!==void 0)J.else=yY(J.else);return J}function _Z(Z){if(!Z)return[];if(T0(Z))return IY(Z);if(Array.isArray(Z))return Z.map((X,Q)=>{if(T0(X))return IY(X);throw Error(`Invalid condition at index ${Q}: expected object`)});throw Error("Invalid condition format: expected object or array")}function IY(Z){let X="operator"in Z&&(Z.operator==="AND"||Z.operator==="OR"),Q="conditions"in Z&&Array.isArray(Z.conditions);if(X&&Q){let Y=Z.operator,W=_Z(Z.conditions);return{operator:Y,conditions:Array.isArray(W)?W:[W]}}let{field:U,operator:J,value:q}=Z;return{field:U||"data",operator:J||"EQ",value:q}}function kY(Z){if(!Z)return[];if(T0(Z)&&"mode"in Z&&"actions"in Z)return H2(Z);if(T0(Z))return o1(Z);if(Array.isArray(Z))return Z.map((X,Q)=>{if(T0(X)){if("mode"in X&&"actions"in X)return H2(X);return o1(X)}throw Error(`Invalid action at index ${Q}: expected object`)});throw Error("Invalid do field format: expected object or array")}function yY(Z){if(!Z)return[];if(T0(Z)&&"mode"in Z&&"actions"in Z)return H2(Z);if(T0(Z))return o1(Z);if(Array.isArray(Z))return Z.map((X,Q)=>{if(T0(X)){if("mode"in X&&"actions"in X)return H2(X);return o1(X)}throw Error(`Invalid action at index ${Q}: expected object`)});throw Error("Invalid else field format: expected object or array")}function o1(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:_Z(X.if)};if("then"in X&&X.then!==void 0)U.then=fY(X.then);if("else"in X&&X.else!==void 0)U.else=fY(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 fY(Z){if(!Z)return[];if(T0(Z)&&"mode"in Z&&"actions"in Z)return H2(Z);if(T0(Z))return o1(Z);if(Array.isArray(Z)){let X=[];for(let Q=0;Q<Z.length;Q++){let U=Z[Q];if(T0(U))if("mode"in U&&"actions"in U){let J=H2(U);for(let q of J.actions)X.push(q)}else X.push(o1(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 H2(Z){let X=Z.mode||"ALL";if(!c3(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,q)=>{if(T0(J)){if("mode"in J&&"actions"in J)return H2(J);return o1(J)}throw Error(`Invalid action in group at index ${q}: expected object`)});return{mode:X,actions:U}}function jK(Z,X,Q,U){let J=D4(Z,X,Q,U);if(!J.on)throw Error(`Rule at index ${X} missing required field: on`);return J}function EK(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 gY(Z,X,Q){return{id:X,type:f.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 vY(Z,X,Q){return{id:X,type:f.CONDITION_GROUP,position:Q,data:{operator:Z}}}function w4(Z,X,Q,U,J){return{id:U,type:f.CONDITION,position:J,data:{field:Z||"data",operator:X||"EQ",value:Q??""}}}function r3(Z,X,Q){return{id:X,type:f.DO,position:Q,data:{branchType:Z}}}function xY(Z,X,Q){let U,J,q,Y,W,$,L;if(GZ(Z)){let G=Z.if;if(G){let H=(Array.isArray(G)?G:[G])[0];if(H&&r1(H))U=H.field,J=H.operator,q=H.value!==void 0?typeof H.value==="string"?H.value:JSON.stringify(H.value):void 0}let V=Z.then;if(V){let F=Array.isArray(V)?V:[V];if(F[0])Y=K4(F[0]),W=T4(F[0])}let z=Z.else;if(z){let F=Array.isArray(z)?z:[z];if(F[0])$=K4(F[0]),L=T4(F[0])}}let _={type:K4(Z),params:T4(Z)};if(U)_.conditionField=U;if(J)_.conditionOperator=J;if(q!==void 0)_.conditionValue=q;if(Y)_.thenType=Y;if(W)_.thenParams=W;if($)_.elseType=$;if(L)_.elseParams=L;return{id:X,type:f.ACTION,position:Q,data:_}}function hY(Z,X,Q){return{id:X,type:f.ACTION_GROUP,position:Q,data:{mode:Z||"SEQUENCE"}}}function i0(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 bK(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 q=X.startNodeId||"event-node",Y=i3(0),W=s3(),$=a3();try{let L=gY(Z,q,X.startPosition||{x:100,y:300});Q.push(L);let _=J6(Z.if);if(_.length>0){let{conditionNodes:G,groupNodeId:V}=IK(_,Q,U,L.id,Y,$),z=J6(Z.do);if(z.length>0){let H=G.length>0?G[G.length-1].id:V||L.id;q6(z,Q,U,H,Y,W,$,"do")}let F=J6(Z.else);if(F.length>0){let H=G.length>0?G[G.length-1].id:V||L.id;q6(F,Q,U,H,Y,W,$,"else")}}else{let G=J6(Z.do);if(G.length>0)q6(G,Q,U,L.id,Y,W,$,"do")}return{nodes:Q,edges:U,valid:!0,errors:[]}}catch(L){let _=L instanceof Error?L.message:"Unknown error during conversion";return J.push(_),{nodes:Q,edges:U,valid:!1,errors:J}}}function IK(Z,X,Q,U,J,q){let Y=[],W,$=Z.length>1,L=Z.some(a1);if($||L){W=J();let _="AND",G=Z.find(a1);if(G&&a1(G))_=G.operator;let V=vY(_,W,q(1,0,1));X.push(V),Q.push(i0(U,W,null,P.CONDITION_GROUP_INPUT,void 0));let z=null;Z.forEach((F,H)=>{let B,T;if(a1(F)){if(F.conditions)F.conditions.forEach((D,K)=>{if(a1(D))return;if(B=J(),T=w4(X6(D),Q6(D),U6(D),B,q(2,H*2+K,Z.length*2)),X.push(T),Y.push(T),z)Q.push(i0(z,B,P.CONDITION_OUTPUT,P.CONDITION_INPUT,void 0));else Q.push(i0(W,B,P.CONDITION_GROUP_OUTPUT,P.CONDITION_INPUT,void 0));z=B})}else{if(B=J(),T=w4(X6(F),Q6(F),U6(F),B,q(2,H,Z.length)),X.push(T),Y.push(T),z)Q.push(i0(z,B,P.CONDITION_OUTPUT,P.CONDITION_INPUT,void 0));else Q.push(i0(W,B,P.CONDITION_GROUP_OUTPUT,P.CONDITION_INPUT,void 0));z=B}})}else{let _=J(),G=w4(X6(Z[0]),Q6(Z[0]),U6(Z[0]),_,q(1,0,1));X.push(G),Y.push(G),Q.push(i0(U,_,null,P.CONDITION_INPUT,void 0))}return{conditionNodes:Y,groupNodeId:W}}function q6(Z,X,Q,U,J,q,Y,W){Z.forEach(($,L)=>{if(d3($)){let H=J(),B=X.find((w)=>w.id===U)?.position||{x:100,y:100},T=hY($.mode,H,{x:B.x+300,y:B.y+L*75});X.push(T);let D=X.find((w)=>w.id===U),K;if(D?.type===f.EVENT)K=P.EVENT_OUTPUT;else if(D?.type===f.CONDITION)K=P.CONDITION_OUTPUT;else if(D?.type===f.CONDITION_GROUP)K=P.CONDITION_GROUP_OUTPUT;else if(D?.type===f.ACTION_GROUP)K=P.ACTION_GROUP_OUTPUT;else if(D?.type===f.DO)K=P.DO_OUTPUT;else K=W===k0.ELSE?P.ELSE_OUTPUT:P.THEN_OUTPUT;Q.push(i0(U,H,K,P.ACTION_GROUP_INPUT,q)),q6($.actions,X,Q,H,J,q,Y,W);return}if(GZ($)){let B=$.if,T=Array.isArray(B)?B[0]:B;if(T&&r1(T)){let D=J(),K=Y(2,L,Z.length),w=w4(X6(T),Q6(T),U6(T),D,{x:K.x+300,y:K.y});X.push(w);let S=X.find((x)=>x.id===U),j;if(S?.type===f.EVENT)j=P.EVENT_OUTPUT;else if(S?.type===f.ACTION_GROUP)j=P.ACTION_GROUP_CONDITION_OUTPUT;else if(S?.type===f.CONDITION)j=P.CONDITION_OUTPUT;else if(S?.type===f.DO)j=P.DO_OUTPUT;else j=W===k0.ELSE?P.CONDITION_OUTPUT:P.CONDITION_OUTPUT;Q.push(i0(U,D,j,P.CONDITION_INPUT,q));let v=$.then;if(v){let x=J(),s=r3("do",x,{x:w.position.x+300,y:w.position.y-100});X.push(s),Q.push(i0(D,x,P.CONDITION_OUTPUT,P.DO_INPUT,q));let Q0=Array.isArray(v)?v:[v];q6(Q0,X,Q,x,J,q,(H0,D0,y0)=>{return{x:s.position.x+300,y:s.position.y-D0*150}},"do")}let N=$.else;if(N){let x=J(),s=r3("else",x,{x:w.position.x+300,y:w.position.y+100});X.push(s),Q.push(i0(D,x,P.CONDITION_OUTPUT,P.DO_INPUT,q));let Q0=Array.isArray(N)?N:[N];q6(Q0,X,Q,x,J,q,(H0,D0,y0)=>{return{x:s.position.x+300,y:s.position.y+D0*150}},"else")}}return}let _=J(),G=X.find((H)=>H.id===U)?.position||{x:700,y:100},V=xY($,_,{x:G.x+300,y:G.y+L*150});X.push(V);let z=X.find((H)=>H.id===U),F;if(z?.type===f.EVENT)F=P.EVENT_OUTPUT;else if(z?.type===f.CONDITION)F=P.CONDITION_OUTPUT;else if(z?.type===f.CONDITION_GROUP)F=P.CONDITION_GROUP_OUTPUT;else if(z?.type===f.ACTION_GROUP)F=P.ACTION_GROUP_OUTPUT;else if(z?.type===f.DO)F=P.DO_OUTPUT;else F=W===k0.ELSE?P.CONDITION_OUTPUT:P.CONDITION_OUTPUT;Q.push(i0(U,_,F,P.ACTION_INPUT,q))})}function Y6(Z,X={}){let{autoId:Q=!1,filename:U,throwOnError:J=!1,multiDocument:q=!0}=X,Y=[],W=[];try{let L;if(q){let G=VZ.parseAllDocuments(Z);for(let V of G)if(V.errors&&V.errors.length>0){let z=V.errors.map((F)=>F.message).join(", ");throw Error(`YAML syntax error: ${z}`)}L=G.map((V)=>V.toJS())}else{let G=VZ.parse(Z);L=Array.isArray(G)?[G]:[G]}let _=[];L.forEach((G)=>{if(Array.isArray(G))_.push(...G);else _.push(G)}),_.forEach((G,V)=>{try{let z;if(Q&&!U)z={...D4(G,V),id:`rule-${V}`};else z=D4(G,V,U,Q);let F=TX.validate(z);if(F.valid)W.push(F.rule);else Y.push({index:V,message:`Validation failed for rule at index ${V}`,issues:F.issues.map((H)=>({path:H.path,message:H.message,suggestion:H.suggestion}))})}catch(z){let F=z instanceof Error?z.message:`Unknown error at index ${V}`;Y.push({index:V,message:F})}})}catch(L){let _=L instanceof Error?L.message:"Unknown parsing error";Y.push({index:-1,message:`Failed to parse YAML: ${_}`})}let $={rules:W,errors:Y,valid:Y.length===0&&W.length>0};if(J&&!$.valid){let L=$.errors.map((_)=>{let G=`Rule ${_.index}: ${_.message}`;if(_.issues)G+=`
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=VZ(Z),Q=J6(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=VZ(Z),Q=J6(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()}}}BR.Parser=CY});var fY=C((AR)=>{var NY=y3(),OR=T4(),S4=K4(),RR=cX(),TR=d(),KR=c3(),EY=d3();function bY(Z){let X=Z.prettyErrors!==!1;return{lineCounter:Z.lineCounter||X&&new KR.LineCounter||null,prettyErrors:X}}function DR(Z,X={}){let{lineCounter:Q,prettyErrors:U}=bY(X),q=new EY.Parser(Q?.addNewLine),J=new NY.Composer(X),Y=Array.from(J.compose(q.parse(Z)));if(U&&Q)for(let W of Y)W.errors.forEach(S4.prettifyError(Z,Q)),W.warnings.forEach(S4.prettifyError(Z,Q));if(Y.length>0)return Y;return Object.assign([],{empty:!0},J.streamInfo())}function IY(Z,X={}){let{lineCounter:Q,prettyErrors:U}=bY(X),q=new EY.Parser(Q?.addNewLine),J=new NY.Composer(X),Y=null;for(let W of J.compose(q.parse(Z),!0,Z.length))if(!Y)Y=W;else if(Y.options.logLevel!=="silent"){Y.errors.push(new S4.YAMLParseError(W.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}if(U&&Q)Y.errors.forEach(S4.prettifyError(Z,Q)),Y.warnings.forEach(S4.prettifyError(Z,Q));return Y}function wR(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 q=IY(Z,Q);if(!q)return null;if(q.warnings.forEach((J)=>RR.warn(q.options.logLevel,J)),q.errors.length>0)if(q.options.logLevel!=="silent")throw q.errors[0];else q.errors=[];return q.toJS(Object.assign({reviver:U},Q))}function PR(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 q=Math.round(Q);Q=q<1?void 0:q>8?{indent:8}:{indent:q}}if(Z===void 0){let{keepUndefined:q}=Q??X??{};if(!q)return}if(TR.isDocument(Z)&&!U)return Z.toString(Q);return new OR.Document(Z,U,Q).toString(Q)}AR.parse=wR;AR.parseAllDocuments=DR;AR.parseDocument=IY;AR.stringify=PR});var s3=C((pR)=>{var ER=y3(),bR=T4(),IR=O3(),i3=K4(),fR=J4(),s1=d(),yR=p1(),kR=L0(),gR=c1(),vR=d1(),xR=LZ(),hR=l3(),mR=c3(),uR=d3(),_Z=fY(),yY=U4();pR.Composer=ER.Composer;pR.Document=bR.Document;pR.Schema=IR.Schema;pR.YAMLError=i3.YAMLError;pR.YAMLParseError=i3.YAMLParseError;pR.YAMLWarning=i3.YAMLWarning;pR.Alias=fR.Alias;pR.isAlias=s1.isAlias;pR.isCollection=s1.isCollection;pR.isDocument=s1.isDocument;pR.isMap=s1.isMap;pR.isNode=s1.isNode;pR.isPair=s1.isPair;pR.isScalar=s1.isScalar;pR.isSeq=s1.isSeq;pR.Pair=yR.Pair;pR.Scalar=kR.Scalar;pR.YAMLMap=gR.YAMLMap;pR.YAMLSeq=vR.YAMLSeq;pR.CST=xR;pR.Lexer=hR.Lexer;pR.LineCounter=mR.LineCounter;pR.Parser=uR.Parser;pR.parse=_Z.parse;pR.parseAllDocuments=_Z.parseAllDocuments;pR.parseDocument=_Z.parseDocument;pR.stringify=_Z.stringify;pR.visit=yY.visit;pR.visitAsync=yY.visitAsync});i2();var s2;((J)=>{J.ENGINE_START="engine:start";J.ENGINE_DONE="engine:done";J.RULE_MATCH="rule:match";J.ACTION_SUCCESS="action:success";J.ACTION_ERROR="action:error"})(s2||={});var O9;((U)=>{U.RULE_ADDED="rule:added";U.RULE_REMOVED="rule:removed";U.RULE_UPDATED="rule:updated"})(O9||={});var xb=s2,R9=O9;class KX{static instance;handlers=new Map;constructor(){}static getInstance(){if(!this.instance)this.instance=new KX;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((q)=>{try{q(X)}catch(J){console.error(`Error in event handler for ${Q}:`,J)}})}}var p0=KX.getInstance();var JV=Y2,YV=s2,WV=O9,DX={IF:"if",THEN:"then",ELSE:"else",BREAK:"break",CONTINUE:"continue",MODE:"mode",ACTIONS:"actions",DELAY:"delay",PROBABILITY:"probability",PARAMS:"params",TYPE:"type",ON:"on"},wX={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"},T9={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}`},pb={Actions:JV,Events:YV,RuleEvents:WV,ControlFlow:DX,ErrorMessages:wX,DebugMessages:T9};a6();class $V{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 LV{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 GV{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 PX{static getNestedValue(Z,X){let Q=Z.split("."),U=X;for(let q of Q){if(U===null||U===void 0)return;if(typeof U==="object"&&U!==null&&q in U)U=U[q];else return}return U}static interpolate(Z,X){if(typeof Z!=="string")return Z;return Z.replace(/\$\{([^}]+)\}/g,(Q,U)=>{let q=this.getNestedValue(U,X);if(q!==void 0)return String(q);return Q})}static compare(Z,X,Q){let U=(J)=>{if(J instanceof Date)return J.getTime();if(typeof J==="number")return J;if(typeof J==="string"){let Y=new Date(J);return isNaN(Y.getTime())?0:Y.getTime()}return 0},q=(J)=>{if(typeof J==="number")return J;if(J===null||J===void 0||J==="")return null;let Y=Number(J);return isNaN(Y)?null:Y};switch(X){case"EQ":case"==":return Z==Q;case"NEQ":case"!=":return Z!=Q;case"GT":case">":{let J=q(Z),Y=q(Q);return J!==null&&Y!==null&&J>Y}case"GTE":case">=":{let J=q(Z),Y=q(Q);return J!==null&&Y!==null&&J>=Y}case"LT":case"<":{let J=q(Z),Y=q(Q);return J!==null&&Y!==null&&J<Y}case"LTE":case"<=":{let J=q(Z),Y=q(Q);return J!==null&&Y!==null&&J<=Y}case"IN":return Array.isArray(Q)&&Q.some((J)=>J===Z);case"NOT_IN":return Array.isArray(Q)&&!Q.some((J)=>J===Z);case"CONTAINS":if(Array.isArray(Q))return Q.some((J)=>String(Z).includes(String(J)));if(Array.isArray(Z)||typeof Z==="string")return Z.includes(Q);return!1;case"NOT_CONTAINS":if(Array.isArray(Q))return!Q.some((J)=>String(Z).includes(String(J)));if(Array.isArray(Z)||typeof Z==="string")return!Z.includes(Q);return!1;case"STARTS_WITH":if(Array.isArray(Q))return Q.some((J)=>String(Z).startsWith(String(J)));if(typeof Z==="string"&&typeof Q==="string")return Z.startsWith(Q);return!1;case"ENDS_WITH":if(Array.isArray(Q))return Q.some((J)=>String(Z).endsWith(String(J)));if(typeof Z==="string"&&typeof Q==="string")return Z.endsWith(Q);return!1;case"IS_EMPTY":{let J=!1;if(typeof Z==="string")J=Z==="";else if(Array.isArray(Z))J=Z.length===0;else if(Z===null||Z===void 0)J=!0;else if(typeof Z==="object")J=Object.keys(Z).length===0;return Q===!1?!J:J}case"IS_NULL":case"IS_NONE":{let J=Z===null||Z===void 0;return Q===!1?!J:J}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=q(Z),Y=q(Q[0]),W=q(Q[1]);return J!==null&&Y!==null&&W!==null&&J>=Y&&J<=W}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}}}a6();class k1{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((q)=>this.evaluateRecursiveCondition(q,X));else return U.conditions.every((q)=>this.evaluateRecursiveCondition(q,X))}let Q=Z;try{let U=D0.evaluate(Q.field,X),q=Q.value;if(typeof q==="string"&&q.includes("${"))q=D0.interpolate(q,X);return PX.compare(U,Q.operator,q)}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 Y=Object.values(DX),W=Object.keys(U).filter(($)=>!Y.includes($));for(let $ of W)if(Q?!!Q.get($):!0){U.type=$;let V=U[$];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 q=U.probability;if(typeof q==="string"){let Y=D0.evaluate(q,X);q=typeof Y==="number"?Y:Number(Y)}if(q!==void 0&&Math.random()>q)return{shouldExecute:!1,executedAction:{type:U.type||"skipped",result:{skipped:"probability check failed"},timestamp:Date.now()},normalizedAction:U};let J=U.delay;if(typeof J==="string"){let Y=D0.evaluate(J,X);J=typeof Y==="number"?Y:Number(Y)}if(J&&J>0)await new Promise((Y)=>setTimeout(Y,J));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=(W)=>("probability"in W)?W.probability:1,q=X.reduce((W,$)=>W+U($),0),J=Math.random()*q;for(let W of X){let $=U(W);if(J-=$,J<=0)return{actionsToExecute:[W],mode:Q}}let Y=X[X.length-1];return{actionsToExecute:Y?[Y]:[],mode:Q}}return{actionsToExecute:X,mode:Q}}static interpolateParams(Z,X){let Q={};for(let[U,q]of Object.entries(Z))Q[U]=this.interpolateDeep(q,X);return Q}static interpolateDeep(Z,X){if(typeof Z==="string"&&Z.includes("${"))return D0.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,q]of Object.entries(Z))Q[U]=this.interpolateDeep(q,X);return Q}return Z}}a6();var W2=new Set(["merge","mergeCallbacks","set","setCallback","delete","has","get","getCallback","call","interpolate","increment","decrement","snapshot","snapshotCallbacks","snapshotWithCallbacks","reset","keys","callbackKeys","toContext"]),K9=()=>{let Z=Object.create(null),X=Object.create(null);function Q(Y,W){if(W2.has(Y))return console.warn(`[VarsContext] ${W}: "${Y}" is a reserved API key and cannot be used.`),!1;return!0}function U(Y,W,$){return(typeof W==="boolean"?W:W?.overwrite??!1)||!(Y in $)}function q(Y){let W={...Z};for(let[$,L]of Object.entries(X))W[$]=L;return{event:Y?.event??"",timestamp:Y?.timestamp??Date.now(),data:Y?.data??{},vars:W,env:Y?.env,id:Y?.id}}let J={merge(Y,W){for(let $ of Object.keys(Y)){if(!Q($,"merge"))continue;let L=Y[$];if(typeof L==="function"){console.warn(`[VarsContext] merge(): "${$}" is a function — use mergeCallbacks() instead. Skipped.`);continue}if(U($,W,Z))Z[$]=L}},mergeCallbacks(Y,W){for(let $ of Object.keys(Y)){if(!Q($,"mergeCallbacks"))continue;let L=Y[$];if(typeof L!=="function"){console.warn(`[VarsContext] mergeCallbacks(): "${$}" is not a function. Skipped.`);continue}if(U($,W,X))X[$]=L}},set(Y,W){if(!Q(Y,"set"))return;if(typeof W==="function"){console.warn(`[VarsContext] set(): "${Y}" is a function — use setCallback() instead.`);return}Z[Y]=W},setCallback(Y,W){if(!Q(Y,"setCallback"))return;if(typeof W!=="function"){console.warn(`[VarsContext] setCallback(): "${Y}" value is not a function.`);return}X[Y]=W},delete(Y){if(!Q(Y,"delete"))return!1;let W=Y in Z,$=Y in X;if(W)delete Z[Y];if($)delete X[Y];return W||$},has(Y){return Y in Z||Y in X},get(Y){return Z[Y]},getCallback(Y){return X[Y]},call(Y,...W){let $=X[Y];if(typeof $!=="function")throw TypeError(`[VarsContext] call(): "${Y}" is not a registered callback (got ${typeof(Z[Y]??$)}).`);return $(...W)},interpolate(Y){return D0.interpolate(Y,q())},increment(Y,W=1){let L=(typeof Z[Y]==="number"?Z[Y]:0)+W;return Z[Y]=L,L},decrement(Y,W=1){let L=(typeof Z[Y]==="number"?Z[Y]:0)-W;return Z[Y]=L,L},snapshot(){return{...Z}},snapshotCallbacks(){return{...X}},snapshotWithCallbacks(){let Y={...Z};for(let[W,$]of Object.entries(X))Y[W]=$;return Y},reset(Y={},W=!1){for(let $ of Object.keys(Z))delete Z[$];if(W)for(let $ of Object.keys(X))delete X[$];for(let[$,L]of Object.entries(Y))if(!W2.has($)&&typeof L!=="function")Z[$]=L},keys(){return Object.keys(Z)},callbackKeys(){return Object.keys(X)},toContext(Y){return q(Y)}};return new Proxy(J,{get(Y,W){if(typeof W==="symbol")return;let $=W;if(W2.has($))return J[$];if($ in X)return X[$];return Z[$]},set(Y,W,$){if(typeof W==="symbol")return!1;let L=W;if(W2.has(L))return console.warn(`[VarsContext] "${L}" is a reserved API method and cannot be overwritten.`),!1;if(typeof $==="function")X[L]=$;else Z[L]=$;return!0},has(Y,W){let $=String(W);return W2.has($)||$ in Z||$ in X},deleteProperty(Y,W){return console.warn(`[VarsContext] Use vars.delete("${String(W)}") instead of \`delete vars.${String(W)}\`.`),!1},ownKeys(){return[...new Set([...W2,...Object.keys(Z),...Object.keys(X)])]},getOwnPropertyDescriptor(Y,W){let $=String(W);if(W2.has($))return{configurable:!0,enumerable:!1,writable:!1,value:J[$]};if($ in Z)return{configurable:!0,enumerable:!0,writable:!0,value:Z[$]};if($ in X)return{configurable:!0,enumerable:!0,writable:!0,value:X[$]};return}})},VV=K9();class o6{_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=K9();try{let{ActionRegistry:X}=(i2(),LQ(TX));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):"",q=X.vars??{};switch(Q){case"set":{let J=Z.value;return this._vars.set(U,J),q[U]=J,{op:Q,key:U,value:J}}case"increment":{let J=typeof Z.delta==="number"?Z.delta:1,Y=this._vars.increment(U,J);return q[U]=Y,{op:Q,key:U,value:Y}}case"decrement":{let J=typeof Z.delta==="number"?Z.delta:1,Y=this._vars.decrement(U,J);return q[U]=Y,{op:Q,key:U,value:Y}}case"delete":return this._vars.delete(U),delete q[U],{op:Q,key:U,deleted:!0};case"merge":{let J=Z.overwrite===!0,Y={},W=Z.data??Z;for(let[$,L]of Object.entries(W)){if($==="op"||$==="overwrite"||$==="data"||typeof L==="function")continue;Y[$]=L}this._vars.merge(Y,{overwrite:J});for(let[$,L]of Object.entries(Y))if(J||!($ in q))q[$]=L;return{op:Q,merged:Object.keys(Y),overwrite:J}}case"reset":{let J=Z.data??{};this._vars.reset(J);for(let Y of Object.keys(q))delete q[Y];return Object.assign(q,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[q,J]of Object.entries(Z))if(typeof J==="function")U[q]=J;else Q[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[q,J]of Object.entries(Z.vars??{}))if(typeof J!=="function")X[q]=J;Z.vars={...this._vars.snapshotWithCallbacks(),...X};let Q=[],U=this._rules.filter((q)=>q.enabled!==!1&&q.on===Z.event);for(let q of U){if(q.cooldown&&this.checkCooldown(q.id,q.cooldown))continue;let J=k1.evaluateConditions(q.if,Z),Y;if(J)p0.emit("rule:match",{rule:q,context:Z}),Y=q.do;else if(q.else)Y=q.else;if(Y){let W=await this.executeRuleActions(Y,Z);this.lastExecution.set(q.id,Date.now());let $=this._vars.snapshotWithCallbacks();for(let[L,V]of Object.entries($))Z.vars[L]=V;Q.push({ruleId:q.id,success:!0,executedActions:W})}if(!J&&!q.else&&!this.shouldEvaluateAll())break;if(J&&!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((Y)=>Y.id)),U=new Set(Z.map((Y)=>Y.id)),q=Z.filter((Y)=>!Q.has(Y.id)),J=X.filter((Y)=>!U.has(Y.id));this._rules=[...Z],this.sortRules(),q.forEach((Y)=>{this.emitRuleEvent(R9.RULE_ADDED,{ruleId:Y.id,timestamp:Date.now()})}),J.forEach((Y)=>{this.emitRuleEvent(R9.RULE_REMOVED,{ruleId:Y.id,timestamp:Date.now()})}),this.emitRuleEvent(R9.RULE_UPDATED,{count:Z.length,added:q.length,removed:J.length,unchanged:Z.length-q.length,timestamp:Date.now()})}emitRuleEvent(Z,X){try{if(p0)p0.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 k1.evaluateConditions(Z,X)}evaluateSingleCondition(Z,X){return k1.evaluateConditions(Z,X)}async executeRuleActions(Z,X){let{actionsToExecute:Q}=k1.selectActions(Z),U=[];for(let q of Q){if("actions"in q&&"mode"in q){U.push(...await this.executeRuleActions(q,X));continue}let J=q;if("if"in J&&J.if&&(J.then||J.else||J.do)){let W=this.evaluateConditions(J.if,X),$=J.then||J.do;if(W&&$)U.push(...await this.executeRuleActions($,X));else if(!W&&J.else)U.push(...await this.executeRuleActions(J.else,X));continue}if("if"in J&&J.if){if(!this.evaluateConditions(J.if,X))continue}let Y=await this.executeSingleAction(J,X);if(U.push(Y),Y.type==="BREAK")break}return U}async executeSingleAction(Z,X){let{shouldExecute:Q,executedAction:U,normalizedAction:q}=await k1.processSingleActionBase(Z,X);if(!Q)return U;try{let J=this.actionHandlers.get(q.type);if(J){let W=await J(q.params||{},X);return p0.emit("action:success",{action:q,context:X,result:W}),{type:q.type,result:W,timestamp:Date.now()}}try{let{ActionRegistry:W}=(i2(),LQ(TX)),$=W.getInstance().get(q.type);if($){let L=await $(q,X);return p0.emit("action:success",{action:q,context:X,result:L}),{type:q.type,result:L,timestamp:Date.now()}}}catch{}let Y=`${wX.UNKNOWN_ACTION}: ${q.type}`;if(this._config?.globalSettings?.strictActions)throw Error(Y);return console.warn(Y),{type:q.type,result:{warning:Y},timestamp:Date.now()}}catch(J){return console.error(`Error executing action ${q.type}:`,J),p0.emit("action:error",{action:q,context:X,error:String(J)}),{type:q.type,error:String(J),timestamp:Date.now()}}}interpolateParams(Z,X){return k1.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()}}i2();class zq extends o6{actionRegistry;constructor(Z){super(Z);this.actionRegistry=r6.getInstance(!0)}async evaluateContext(Z){if(!Z.env)Z.env={};if(this._config?.globalSettings?.debugMode)console.log(T9.RULE_ENGINE_EVALUATING(this._rules.length,Z.event));p0.emit("engine:start",{context:Z,rulesCount:this._rules.length});let X=await this.processEvent(Z);return p0.emit("engine:done",{results:X,context:Z}),X}async processEvent(Z,X={},Q={}){if(typeof Z==="string"){let J={event:Z,data:X,vars:Q,timestamp:Date.now()};return this.processEvent(J)}let U=Z;if(p0.emit("engine:start",{context:U,rulesCount:this._rules.length}),this._config?.globalSettings?.debugMode)console.log(T9.RULE_ENGINE_EVALUATING(this._rules.length,U.event));let q=await super.processEvent(U);return p0.emit("engine:done",{results:q,context:U}),q}get ActionRegistry(){return this.actionRegistry}}i2();RX();var _V=["EQ","==","NEQ","!="],Hq=["GT",">","GTE",">=","LT","<","LTE","<="],Fq=["IN","NOT_IN","RANGE"],Bq=["CONTAINS","NOT_CONTAINS","STARTS_WITH","ENDS_WITH"],zV=["IS_NULL","IS_NONE"],HV=["IS_EMPTY","HAS_KEY","MATCHES","SINCE","AFTER","BEFORE","UNTIL"],DI=[..._V,...Hq,...Fq,...Bq,...zV,...HV];function Mq(Z){return Fq.includes(Z)}function Oq(Z){return Bq.includes(Z)}function Rq(Z){return Hq.includes(Z)}var g1=i6({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(),NI=g1.Operator,EI=g1.Condition,bI=g1.ConditionGroup,II=g1.RuleCondition,fI=g1.Action,yI=g1.ActionGroup,kI=g1.InlineConditionalAction,FV=g1.TriggerRule;class AX{static validate(Z){let X=FV(Z);if(X instanceof o0.errors){let q=[];for(let J of X){let Y=J.path.join("."),W=J.message,$=void 0;if(Y.endsWith("on")&&(W.includes("string")||W.includes("must be")))if(typeof Z==="object"&&Z!==null&&"on"in Z&&Z.on===!0)W="The 'on' field is incorrect (boolean true found).",$=`In YAML, 'on' is a boolean keyword (true). Quote it: "on": "EventName"`;else $="Ensure 'on' is a string event name.";q.push({path:Y,message:W,suggestion:$,severity:"error"})}return{valid:!1,issues:q}}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,q)=>{this.validateInlineConditionalRecursive(U,X,`${Q}.${q}`)});return}if(typeof Z==="object"&&Z!==null&&"mode"in Z&&"actions"in Z){let U=Z;if(Array.isArray(U.actions))U.actions.forEach((q,J)=>{this.validateInlineConditionalRecursive(q,X,`${Q}.actions.${J}`)});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,q)=>{this.validateConditionsRecursive(U,X,`${Q}.${q}`)});return}if(typeof Z==="object"&&Z!==null&&"conditions"in Z&&Array.isArray(Z.conditions)){Z.conditions.forEach((U,q)=>{this.validateConditionsRecursive(U,X,`${Q}.conditions.${q}`)});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:q}=Z,J=U;if(Mq(J)){if(!Array.isArray(q)){X.push({path:`${Q}.value`,message:`Incorrect value type: Operator '${J}' expects a List (Array), but received ${typeof q}.`,suggestion:J==="RANGE"?"Use format [min, max]":"Use format [item1, item2]",severity:"error"});return}if(J==="RANGE"){if(q.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 q[0]!=="number"&&typeof q[0]!=="string")X.push({path:`${Q}.value`,message:"Incorrect range type: Range values must be numbers or expression strings.",severity:"error"})}}else if(J==="CONTAINS"||J==="NOT_CONTAINS"){if(typeof q!=="string"&&!Array.isArray(q))X.push({path:`${Q}.value`,message:`Incorrect value type: Operator 'CONTAINS' expects a String or List (Array), but received ${typeof q}.`,suggestion:"Use a substring or a list of items.",severity:"error"})}else if(Oq(J)){if(typeof q!=="string"&&!Array.isArray(q))X.push({path:`${Q}.value`,message:`Incorrect value type: Operator '${J}' expects a String or List (Array), but received ${typeof q}.`,suggestion:"Use a string prefix/suffix or a list of prefixes/suffixes.",severity:"error"})}else if(J==="MATCHES")if(typeof q!=="string")X.push({path:`${Q}.value`,message:`Incorrect value type: Operator 'MATCHES' expects a string (regex pattern), but received ${typeof q}.`,severity:"error"});else try{new RegExp(q)}catch(Y){X.push({path:`${Q}.value`,message:`Invalid Regex pattern: ${Y.message}`,severity:"error"})}else if(Rq(J)){if(typeof q!=="number"&&typeof q!=="string")X.push({path:`${Q}.value`,message:`Incorrect value type: Operator '${J}' expects a number or expression string, but received ${typeof q}.`,severity:"error"})}else if(J==="HAS_KEY"){if(typeof q!=="string")X.push({path:`${Q}.value`,message:`Incorrect value type: Operator 'HAS_KEY' expects a string (key name), but received ${typeof q}.`,severity:"error"})}}}function D9(Z,X){let Q=new Map,U=[];for(let J of Z){let W=J[X];if(W!==void 0&&W!==null){let $=String(W);if(!Q.has($))Q.set($,J)}else U.push(J)}let q=Array.from(new Set(U.map((J)=>JSON.stringify(J)))).map((J)=>JSON.parse(J));return[...Array.from(Q.values()),...q]}function n6(Z,X={}){let{deduplicate:Q=!0,uniqueIdField:U}=X;if(!Z)return;if(Array.isArray(Z)){let q=Z.map((Y)=>n6(Y,X)).filter((Y)=>Y!==void 0);if(!Q)return q.length===0?void 0:q.length===1?q[0]:q;let J=U?D9(q,U):Array.from(new Set(q.map((Y)=>JSON.stringify(Y)))).map((Y)=>JSON.parse(Y));return J.length===0?void 0:J.length===1?J[0]:J}if("operator"in Z&&"conditions"in Z){let q=Z,J=n6(q.conditions,X);if(!J)return;if(!Array.isArray(J))J=[J];let Y=[];for(let $ of J)if("operator"in $&&"conditions"in $&&$.operator===q.operator)Y.push(...$.conditions);else Y.push($);let W;if(!Q)W=Y;else if(U)W=D9(Y,U);else W=Array.from(new Set(Y.map(($)=>JSON.stringify($)))).map(($)=>JSON.parse($));if(W.length===0)return;if(W.length===1)return W[0];return{operator:q.operator,conditions:W}}return Z}function t6(Z,X={}){let{deduplicate:Q=!1,uniqueIdField:U}=X;if(!Z)return;if(Array.isArray(Z)){let q=Z.map(($)=>t6($,X)).filter(($)=>$!==void 0);if(!Q){let $=q.flatMap((V)=>Array.isArray(V)?V:[V]),L=[];for(let V of $)if("mode"in V&&"actions"in V&&V.mode==="ALL")L.push(...V.actions);else L.push(V);if(L.length===0)return;if(L.length===1)return L[0];return L}let J=q.flatMap(($)=>Array.isArray($)?$:[$]),Y=[];for(let $ of J)if("mode"in $&&"actions"in $&&$.mode==="ALL")Y.push(...$.actions);else Y.push($);if(Y.length===0)return;if(Y.length===1)return Y[0];let W;if(U)W=D9(Y,U);else W=Array.from(new Set(Y.map(($)=>JSON.stringify($)))).map(($)=>JSON.parse($));return W}if("mode"in Z&&"actions"in Z){let q=Z,J=t6(q.actions,X);if(!J)return;if(!Array.isArray(J))J=[J];let Y=[];for(let $ of J)if("mode"in $&&"actions"in $&&$.mode===q.mode)Y.push(...$.actions);else Y.push($);if(Y.length===0)return;if(Y.length===1)return Y[0];let W;if(!Q)W=Y;else if(U)W=D9(Y,U);else W=Array.from(new Set(Y.map(($)=>JSON.stringify($)))).map(($)=>JSON.parse($));return{mode:q.mode,actions:W}}return Z}class v1{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 v1("AND");return this.conditions.push(Z(X).build()),this}or(Z){let X=new v1("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 e6{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 SX{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 J=0;J<Q.length-1;J++){let Y=Q[J];if(!Y)continue;if(!(Y in U))U[Y]={};U=U[Y]}let q=Q[Q.length-1];if(q)U[q]=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 E={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"},b0={DO:"do",ELSE:"else"},jX={AND:"AND",OR:"OR"};var P9=(Z)=>Z.type===E.EVENT,R1=(Z)=>Z.type===E.CONDITION||Z.type===E.CONDITION_GROUP,J1=(Z)=>Z.type===E.ACTION||Z.type===E.ACTION_GROUP||Z.type===E.DO,Z4=(Z)=>Z.type===E.DO;var x1=(Z)=>{return Z.data?.branchType===b0.ELSE?b0.ELSE:b0.DO};function CX(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 J0(Z,X,Q){let U=[...Q];return Z.edges.filter((q)=>q.source===X&&U.includes(q.sourceHandle||""))}var Y1={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 Tq{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 Kq{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 Dq{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 wq{conditionConverter=new Tq;actionConverter=new Kq;eventConverter=new Dq;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 Pq=new wq;function NX(Z){let X=Z.data||{};return Pq.getConditionConverter().convert(X,{nodes:[],edges:[]})}function EX(Z){let X=Z.data||{};return Pq.getActionConverter().convert(X,{nodes:[],edges:[]})}function A9(Z,X){let Q=X.options.isCondNode||R1,U=X.nodes.find((L)=>L.id===Z);if(!U||U.type!==E.CONDITION_GROUP)return{conditions:[],operator:jX.AND};let q=U.data.operator||jX.AND,J=[],Y=new Set;function W(L){if(Y.has(L))return;Y.add(L);let V=X.nodes.find((H)=>H.id===L);if(!V||!Q(V)||V.type===E.CONDITION_GROUP)return;let G=NX(V);J.push(G);let _=J0(X,L,[...Y1.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 _)W(H.target)}let $=J0(X,Z,[D.CONDITION_GROUP_OUTPUT]).filter((L)=>{let V=X.nodes.find((G)=>G.id===L.target);return V&&Q(V)});for(let L of $)W(L.target);return{conditions:J,operator:q}}function $2(Z,X){if(X.options.resolveCondition&&X.options.resolveCondition!==$2)return X.options.resolveCondition(Z,X);if(X.visitedConds.has(Z))return null;X.visitedConds.add(Z);let Q=X.nodes.find((Y)=>Y.id===Z),U=X.options.isCondNode||R1;if(!Q||!U(Q))return null;if(Q.type===E.CONDITION_GROUP){let{conditions:Y,operator:W}=A9(Z,X);if(Y.length===0)return null;if(Y.length===1)return Y[0];return{operator:W,conditions:Y}}let q=NX(Q);if(X.transformers?.condition){let Y=X.transformers.condition(q,Q);if(Y===null)return null;return Y}let J=J0(X,Z,Y1.CONDITION_OUTPUT).filter((Y)=>{let W=X.nodes.find(($)=>$.id===Y.target);return W&&U(W)});if(J.length>0){let Y=J.map((W)=>$2(W.target,X)).filter((W)=>W!==null);if(Y.length>0)return{operator:"AND",conditions:[q,...Y]}}return q}function bX(Z,X){let Q=X.options.isCondNode||R1,U,q;function J(Y){let W=X.nodes.find((V)=>V.id===Y);if(!W||!Q(W))return;let $=X.edges.filter((V)=>V.source===Y);for(let V of $){let G=X.nodes.find((_)=>_.id===V.target);if(!G)continue;if(G.type===E.ACTION||G.type===E.ACTION_GROUP||G.type===E.DO)if(G.type===E.DO?G.data?.branchType==="else":V.sourceHandle===D.ELSE_OUTPUT)q=V.target;else U=V.target}let L=J0(X,Y,Y1.CONDITION_OUTPUT).filter((V)=>{let G=X.nodes.find((_)=>_.id===V.target);return G&&Q(G)});for(let V of L)J(V.target)}return J(Z),{thenActionId:U,elseActionId:q}}function a2(Z,X){let Q=X.options.isActNode||J1,U=X.nodes.find((V)=>V.id===Z);if(!U||U.type!==E.ACTION_GROUP)return{actions:[],mode:"ALL"};let q=U.data.mode||"ALL",J=[],Y=new Set;function W(V){if(Y.has(V))return;Y.add(V);let G=X.nodes.find((F)=>F.id===V);if(!G||!Q(G)||G.type===E.ACTION_GROUP)return;let _=EX(G);J.push(_);let H=J0(X,V,Y1.ACTION_OUTPUT).filter((F)=>{let z=X.nodes.find((B)=>B.id===F.target);return z&&Q(z)});for(let F of H)W(F.target)}let $=J0(X,Z,[D.ACTION_GROUP_OUTPUT,D.DO_OUTPUT,"do-output","action-output","action-group-output"]).filter((V)=>{let G=X.nodes.find((_)=>_.id===V.target);return G&&Q(G)});for(let V of $)W(V.target);let L=J0(X,Z,[D.ACTION_GROUP_CONDITION_OUTPUT,"condition-output",D.ACTION_GROUP_OUTPUT,"action-output",""]).filter((V)=>{let G=X.nodes.find((_)=>_.id===V.target);return G&&(G.type===E.CONDITION||G.type===E.CONDITION_GROUP)});for(let V of L){let G=z0(V.target,X);if(G)J.push(G)}return{actions:J,mode:q}}function z0(Z,X){if(X.options.resolveAction&&X.options.resolveAction!==z0)return X.options.resolveAction(Z,X);let Q=X.nodes.find((Y)=>Y.id===Z);if(!Q)return null;if(Q.type===E.ACTION_GROUP){if(X.visitedActs?.has(Z))return null;X.visitedActs?.add(Z);let{actions:Y,mode:W}=a2(Z,X);if(Y.length===0)return null;return{mode:W,actions:Y}}if(Q.type===E.DO){if(X.visitedActs?.has(Z))return null;X.visitedActs?.add(Z);let Y=IX(Z,X);if(Y.length===0)return null;if(Y.length===1)return Y[0];return{mode:"ALL",actions:Y}}if(Q.type===E.CONDITION||Q.type===E.CONDITION_GROUP){if(X.options.resolveCondition){let Y=X.options.resolveCondition(Z,X);if(Y){let{doBranches:W,elseBranches:$}=X4(Z,X),L=null,V=null;if(W.length>0){let G=W[0],_=IX(G,X);if(_.length>0)L=_.length===1?_[0]:{mode:"ALL",actions:_}}if($.length>0){let G=$[0],_=IX(G,X);if(_.length>0)V=_.length===1?_[0]:{mode:"ALL",actions:_}}if(!L&&!V){let G=bX(Z,X);if(G.thenActionId)L=z0(G.thenActionId,X);if(G.elseActionId)V=z0(G.elseActionId,X)}if(L||V)return{if:Y,do:L??void 0,else:V??void 0}}}}let U=X.options.isActNode||J1;if(!U(Q))return null;if(X.visitedActs?.has(Z))return null;X.visitedActs?.add(Z);let q=EX(Q);if(X.transformers?.action){let Y=X.transformers.action(q,Q);if(Y===null)return null;let W=J0(X,Z,Y1.ACTION_OUTPUT).filter(($)=>{let L=X.nodes.find((V)=>V.id===$.target);return L&&U(L)});if(W.length>0){let $=[Y];for(let L of W){let V=z0(L.target,X);if(V)$.push(V)}return{mode:"ALL",actions:$}}return Y}let J=J0(X,Z,Y1.ACTION_OUTPUT).filter((Y)=>{let W=X.nodes.find(($)=>$.id===Y.target);return W&&U(W)});if(J.length>0){let Y=[q];for(let W of J){let $=z0(W.target,X);if($)Y.push($)}return{mode:"SEQUENCE",actions:Y}}return q}function IX(Z,X){let Q=X.options.isActNode||J1,U=[],q=J0(X,Z,[D.DO_OUTPUT,D.ELSE_OUTPUT,"do-output","else-output","action-output",""]).filter((J)=>{let Y=X.nodes.find((W)=>W.id===J.target);return Y&&Q(Y)});for(let J of q){let Y=z0(J.target,X);if(Y)U.push(Y)}return U}function X4(Z,X){let Q=($)=>$.type===E.CONDITION||$.type===E.CONDITION_GROUP,U=($)=>$.type===E.DO,q=[],J=[],Y=new Set;function W($){if(Y.has($))return;Y.add($);let L=X.nodes.find((G)=>G.id===$);if(!L)return;if(L.type===E.CONDITION_GROUP){let G=J0(X,$,[D.CONDITION_GROUP_OUTPUT,"cond-output","output",""]);for(let _ of G){let H=X.nodes.find((F)=>F.id===_.target);if(H){if(U(H)){if(x1(H)===b0.ELSE){if(!J.includes(H.id))J.push(H.id)}else if(!q.includes(H.id))q.push(H.id)}else if(Q(H))W(H.id)}}return}let V=X.edges.filter((G)=>G.source===$);for(let G of V){let _=X.nodes.find((H)=>H.id===G.target);if(!_)continue;if(U(_)){if(x1(_)===b0.ELSE){if(!J.includes(_.id))J.push(_.id)}else if(!q.includes(_.id))q.push(_.id)}else if(Q(_))W(_.id)}}return W(Z),{doBranches:q,elseBranches:J}}var Aq;((W)=>{W.MISSING_EVENT_NODE="MISSING_EVENT_NODE";W.MISSING_RULE_ID_OR_EVENT_NAME="MISSING_RULE_ID_OR_EVENT_NAME";W.NO_EVENTS_FOUND="NO_EVENTS_FOUND";W.RULE_ID_REQUIRED="RULE_ID_REQUIRED";W.RULE_ON_EVENT_REQUIRED="RULE_ON_EVENT_REQUIRED";W.RULE_DO_ACTION_REQUIRED="RULE_DO_ACTION_REQUIRED";W.PARSE_FAILED="PARSE_FAILED"})(Aq||={});class W1 extends Error{code;eventId;constructor(Z,X,Q){super(Z);this.name="GraphParserError",this.code=X,this.eventId=Q}}function BV(Z,X,Q={},U){let q={...Q,resolveCondition:Q.resolveCondition||$2,resolveAction:Q.resolveAction||z0};return{nodes:Z,edges:X,visitedConds:new Set,visitedActs:new Set,options:q,transformers:U}}var bf=x1,MV=CX;function OV(Z,X,Q){let U=X.options.isCondNode||R1,q=Z4,J=X.edges.filter((F)=>F.source===Z).find((F)=>{let z=X.nodes.find((B)=>B.id===F.target);return z&&U(z)}),Y;if(J)Y=J.target;if(!Y)return null;let W=new Set(X.visitedConds);X.visitedConds.clear();let $=$2(Y,X);if(X.visitedConds=W,!$)return null;let{thenActionId:L,elseActionId:V}=fX(Y,X),G=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)??J1(z))&&z.type!==E.DO});if(G&&!V)V=G.target;let _=L?z0(L,X):void 0,H=V?z0(V,X):void 0;return{if:$,do:_??void 0,else:H??void 0}}function Q4(Z,X,Q){let U=X.options.isActNode||J1,q=[],J=X.edges.filter((W)=>W.source===Z).filter((W)=>{let $=X.nodes.find((L)=>L.id===W.target);return $&&(U($)&&$.type!==E.DO&&$.type!==E.CONDITION&&$.type!==E.CONDITION_GROUP)});for(let W of J){let $=z0(W.target,X);if($)q.push($)}let Y=OV(Z,X,Q);if(Y)q.push(Y);return q}function fX(Z,X){let Q=X.options.isCondNode||R1,U=X.options.isActNode||J1,q=Z4,J,Y;function W($){let L=X.nodes.find((_)=>_.id===$);if(!L||!Q(L))return;let V=J0(X,$,[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(q(H)){let F=J0(X,H.id,[D.DO_OUTPUT,""]).filter((P)=>{let R=X.nodes.find((S)=>S.id===P.target);return R&&U(R)}),z=x1(H);for(let P of F)if(z===b0.ELSE)Y=P.target;else J=P.target;let B=J0(X,H.id,[D.DO_CONDITION_OUTPUT]),K=B.find((P)=>{let R=X.nodes.find((S)=>S.id===P.target);return R&&Q(R)}),w=B.find((P)=>{let R=X.nodes.find((S)=>S.id===P.target);return R&&U(R)});if(w&&!Y)Y=w.target;continue}if(H.type===E.ACTION_GROUP){J=_.target;continue}if(!U(H))continue;if(_.sourceHandle===D.ELSE_OUTPUT)Y=_.target;else J=_.target}let G=J0(X,$,Y1.CONDITION_OUTPUT).filter((_)=>{let H=X.nodes.find((F)=>F.id===_.target);return H&&Q(H)});for(let _ of G)W(_.target)}return W(Z),{thenActionId:J,elseActionId:Y}}function yX(Z,X,Q={},U){let q=new kX;if(Q.optimizeOptions)q.withOptimizeOptions(Q.optimizeOptions);let J=Q.isEventNode||P9,Y=Q.isCondNode||R1,W=Q.isActNode||J1,$=Z4,L=Q.extractEventData||MV,V=Z.find((R)=>J(R));if(!V)throw new W1("Missing Event Trigger node","MISSING_EVENT_NODE");let G=L(V);if(!G.id||!G.on)throw new W1("Rule ID and Event Name are required","MISSING_RULE_ID_OR_EVENT_NAME",G.id);if(q.id(G.id).on(G.on),G.name)q.name(G.name);if(G.description)q.description(G.description);if(G.priority!==void 0)q.priority(Number(G.priority));if(G.enabled!==void 0)q.enabled(!!G.enabled);if(G.cooldown!==void 0)q.cooldown(Number(G.cooldown));if(G.tags)q.tags(G.tags);let _=BV(Z,X,Q,U),H=X.filter((R)=>R.source===V.id),F=[],z=[],B=[],K=[];for(let R of H){let S=_.nodes.find((N)=>N.id===R.target);if(!S)continue;if(S.type===E.CONDITION_GROUP)F.push(R.target);else if(Y(S))z.push(R.target);else if(S.type===E.ACTION_GROUP)B.push(R.target);else if(W(S))K.push(R.target)}for(let R of F){let{conditions:S,operator:N}=A9(R,_);if(S.length>0){let y={operator:N,conditions:S};q.withIf(y);let A=X.filter((r)=>r.source===R),u=A.filter((r)=>{let p=_.nodes.find((i)=>i.id===r.target);return p&&Y(p)&&(r.sourceHandle?.startsWith("cond")||r.sourceHandle===D.CONDITION_GROUP_OUTPUT)}).map((r)=>r.target),o=A.filter((r)=>{let p=_.nodes.find((i)=>i.id===r.target);return p&&W(p)}).map((r)=>r.target),t=null,x=null;for(let r of o){let p=_.nodes.find((i)=>i.id===r);if(!p)continue;if($(p)){let i=Q4(p.id,_,R),M0=x1(p);if(i.length>0){let w1=i.length===1?i[0]:{mode:"ALL",actions:i};if(M0===b0.ELSE)x=w1;else t=w1}}else{let i=z0(r,_);if(i)t=i}}if(!t||!x)for(let r of u){let p=fX(r,_),i=p.thenActionId?z0(p.thenActionId,_):null,M0=p.elseActionId?z0(p.elseActionId,_):null,{doBranches:w1,elseBranches:_6}=X4(r,_),o1=[];for(let OZ of w1){let RZ=Q4(OZ,_,r);o1.push(...RZ)}if(o1.length>0&&!i)i=o1.length===1?o1[0]:{mode:"ALL",actions:o1};let z6=[];for(let OZ of _6){let RZ=Q4(OZ,_,r);z6.push(...RZ)}if(z6.length>0&&!M0)M0=z6.length===1?z6[0]:{mode:"ALL",actions:z6};if(i&&!t)t=i;if(M0&&!x)x=M0}if(t)q.withDo(t);if(x)q.elseRule(x)}}if(z.length>0&&F.length===0){let R=[],S,N;for(let p of z){let i=$2(p,_);if(i)R.push(i);let M0=fX(p,_);if(M0.thenActionId)S=M0.thenActionId;if(M0.elseActionId)N=M0.elseActionId}if(R.length===1)q.withIf(R[0]);else if(R.length>1)q.withIf({operator:"AND",conditions:R});let y=z[0];if(!y)return q;let{doBranches:A,elseBranches:u}=X4(y,_),o=[];for(let p of A){let i=Q4(p,_,y);o.push(...i)}let t=o.length===1?o[0]:o.length>1?{mode:"ALL",actions:o}:S?z0(S,_):null,x=[];for(let p of u){let i=Q4(p,_,y);x.push(...i)}let r=x.length===1?x[0]:x.length>1?{mode:"ALL",actions:x}:N?z0(N,_):null;if(t)q.withDo(t);if(r)q.elseRule(r);if(!S&&!o.length)for(let p of z){let i=J0(_,p,[D.THEN_OUTPUT,D.CONDITION_OUTPUT,"condition-output","then-output","output",""]).filter((M0)=>{return _.nodes.find((_6)=>_6.id===M0.target)?.type===E.ACTION_GROUP});for(let M0 of i){let{actions:w1,mode:_6}=a2(M0.target,_);if(w1.length>0){let o1={mode:_6,actions:w1};q.withDo(o1);break}}}}let w=new Set;if(z.length>0&&F.length===0)for(let R of z){let S=J0(_,R,[D.THEN_OUTPUT,D.CONDITION_OUTPUT,"condition-output","then-output","output",""]).filter((N)=>{return _.nodes.find((A)=>A.id===N.target)?.type===E.ACTION_GROUP});for(let N of S)w.add(N.target)}let P=B.filter((R)=>!w.has(R));if(P.length>0)for(let R of P)if(J0(_,R,[D.ACTION_GROUP_CONDITION_OUTPUT,"condition-output"]).filter((N)=>{let y=_.nodes.find((A)=>A.id===N.target);return y&&Y(y)}).length>0){let{actions:N,mode:y}=a2(R,_);if(N.length>0){let A={mode:y,actions:N};q.withDo(A)}}else{let{actions:N,mode:y}=a2(R,_);if(N.length>0)q.withDo({mode:y,actions:N})}if(K.length>0&&z.length===0&&F.length===0)for(let R of K){let S=z0(R,_);if(S)q.withDo(S)}return q}function Sq(Z,X,Q={},U){let q=Q.isEventNode||P9,J=Z.filter(($)=>q($));if(J.length===0)return{rules:[],errors:[new W1("No Event nodes found in the graph","NO_EVENTS_FOUND")]};let Y=[],W=[];for(let $ of J)try{let L=$.id,V=new Set([L]),G=[L];while(G.length>0){let B=G.shift(),K=X.filter((w)=>w.source===B);for(let w of K)if(!V.has(w.target))V.add(w.target),G.push(w.target)}let _=Z.filter((B)=>V.has(B.id)),H=X.filter((B)=>V.has(B.source)&&V.has(B.target)),z=yX(_,H,Q,U).build();Y.push(z)}catch(L){if(L instanceof W1){if(!L.eventId)L.eventId=$.id;W.push(L)}else{let V=L instanceof Error?L.message:String(L);W.push(new W1(`Failed to parse rule for event ${$.id}: ${V}`,"PARSE_FAILED",$.id))}}return{rules:Y,errors:W}}class kX{rule={enabled:!0,priority:0};optimizeOptions={};static fromGraph(Z,X,Q,U){return yX(Z,X,Q,U)}static fromGraphMultiple(Z,X,Q,U){return Sq(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 v1,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 e6,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 w9(this,Z,X,Q)}whenComplex(Z){let X=new v1,Q=Z(X).build();return new w9(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 q=(J)=>({...J,if:{field:Z,operator:X,value:Q}});if(Array.isArray(U)){let J=U.length-1,Y=U[J];if(Y&&"actions"in Y){let W=Y.actions,$=W.length-1;if($>=0)W[$]=q(W[$])}else if(Y)U[J]=q(Y)}else if(U&&"actions"in U){let J=U.actions,Y=J.length-1;if(Y>=0)J[Y]=q(J[Y])}else if(U)this.rule.do=q(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,q=X[U];if(q&&"actions"in q){let J=q.actions,Y=J.length-1;if(Y>=0)J[Y]=Q(J[Y])}else if(q)X[U]=Q(q)}else if(X&&"actions"in X){let U=X.actions,q=U.length-1;if(q>=0)U[q]=Q(U[q])}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,q=X[U];if(q&&"actions"in q){let J=q.actions,Y=J.length-1;if(Y>=0)J[Y]=Q(J[Y])}else if(q)X[U]=Q(q)}else if(X&&"actions"in X){let U=X.actions,q=U.length-1;if(q>=0)U[q]=Q(U[q])}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=n6(this.rule.if,this.optimizeOptions);if(this.rule.do){let Z=t6(this.rule.do,this.optimizeOptions);this.rule.do=Z?Z:this.rule.do}return this.rule}}class w9{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 a3=$Q(s3(),1);class zZ{static toYaml(Z){let X=Array.isArray(Z)?Z:[Z];return a3.default.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 a3.default.stringify(Q,{indent:2,lineWidth:0})}static toCleanJson(Z,X=!0){let U=(Array.isArray(Z)?Z:[Z]).map((q)=>this.cleanRule(q));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"),J=(await import("path")).dirname(X);await U.mkdir(J,{recursive:!0}),await U.writeFile(X,Q,"utf8")}else throw Error("saveToFile is only supported in Node.js/Bun environments")}}var BZ=$Q(s3(),1);var OT=["EQ","==","NEQ","!="],RT=["GT",">","GTE",">=","LT","<","LTE","<="],TT=["IN","NOT_IN","RANGE"],KT=["CONTAINS","NOT_CONTAINS","STARTS_WITH","ENDS_WITH"];var kY=[...OT,...RT,...TT,...KT,"IS_EMPTY","HAS_KEY","MATCHES","SINCE","AFTER","BEFORE","UNTIL","RANGE"],gY=["AND","OR"],vY=["ALL","EITHER","SEQUENCE"];function w0(Z){return typeof Z==="object"&&Z!==null&&!Array.isArray(Z)}function DT(Z){return typeof Z==="string"&&Z.length>0}function wT(Z){return typeof Z==="number"&&!isNaN(Z)}function PT(Z){return typeof Z==="boolean"}function G1(Z){return"operator"in Z&&"conditions"in Z&&(Z.operator==="AND"||Z.operator==="OR")}function a1(Z){return"field"in Z&&"operator"in Z}function r3(Z){return typeof Z==="object"&&Z!==null&&"mode"in Z&&"actions"in Z&&Array.isArray(Z.actions)}function HZ(Z){return typeof Z==="object"&&Z!==null&&"if"in Z}function AT(Z){return typeof Z==="object"&&Z!==null&&"type"in Z}function o3(Z){return typeof Z==="string"&&vY.includes(Z)}function ST(Z){return typeof Z==="string"&&gY.includes(Z)}function jT(Z){return typeof Z==="string"&&fT(kY,Z)}function j4(Z){return Z.type||"log"}function C4(Z){if(!Z.params)return"{}";return typeof Z.params==="string"?Z.params:JSON.stringify(Z.params)}function B2(Z){if(a1(Z))return Z.field||"data";return"data"}function M2(Z){if(a1(Z))return Z.operator||"EQ";if(G1(Z))return Z.operator==="OR"?"OR":"AND";return"EQ"}function O2(Z){if(a1(Z))return Z.value;return}function n3(Z=0){let X=Z;return()=>`node_${X++}`}function t3(){let Z=0;return()=>`edge_${Date.now()}_${Z++}`}function e3(Z=100,X=100,Q=300,U=150){return(q,J,Y)=>({x:Z+q*Q,y:X+J*U-Y*U/2})}function Y6(Z){if(Z===void 0)return[];if(Array.isArray(Z))return Z;return[Z]}function CT(Z){if(!Z)return[];if(Array.isArray(Z))return Z;return[Z]}function NT(Z){if(!Z)return[];if(Array.isArray(Z))return Z;return[Z]}function ET(Z){return Z.replace(/\.(ya?ml)$/i,"")}function bT(Z){return{"==":"EQ","!=":"NEQ",">":"GT",">=":"GTE","<":"LT","<=":"LTE"}[Z]||Z}function IT(Z,X){if(!(X in Z)||Z[X]===void 0||Z[X]===null)throw Error(`Missing required field: ${X}`)}function fT(Z,X){return Z.includes(X)}function yT(Z,X,Q){let U=typeof Z;if(U!==X)throw Error(`Field "${Q}" expected type "${X}", got "${U}"`)}function kT(Z,X,Q){if(typeof Z!=="string"||!X.includes(Z))throw Error(`Field "${Q}" must be one of: ${X.join(", ")}`)}function N4(Z,X,Q,U){if(!w0(Z))throw Error(`Rule at index ${X} is not an object`);let q={...Z};if("actions"in q&&!("do"in q))q.do=q.actions,delete q.actions;if(!("enabled"in q))q.enabled=!0;if(!("priority"in q))q.priority=0;if(!q.id){if(U===!0&&Q){let J=Q.replace(/\.(ya?ml)$/i,"");q.id=J}else if(typeof U==="string")q.id=`${U}-${X}`}if("if"in q&&q.if!==void 0)q.if=FZ(q.if);if("do"in q&&q.do!==void 0)q.do=mY(q.do);if("else"in q&&q.else!==void 0)q.else=uY(q.else);return q}function FZ(Z){if(!Z)return[];if(w0(Z))return xY(Z);if(Array.isArray(Z))return Z.map((X,Q)=>{if(w0(X))return xY(X);throw Error(`Invalid condition at index ${Q}: expected object`)});throw Error("Invalid condition format: expected object or array")}function xY(Z){let X="operator"in Z&&(Z.operator==="AND"||Z.operator==="OR"),Q="conditions"in Z&&Array.isArray(Z.conditions);if(X&&Q){let Y=Z.operator,W=FZ(Z.conditions);return{operator:Y,conditions:Array.isArray(W)?W:[W]}}let{field:U,operator:q,value:J}=Z;return{field:U||"data",operator:q||"EQ",value:J}}function mY(Z){if(!Z)return[];if(w0(Z)&&"mode"in Z&&"actions"in Z)return R2(Z);if(w0(Z))return r1(Z);if(Array.isArray(Z))return Z.map((X,Q)=>{if(w0(X)){if("mode"in X&&"actions"in X)return R2(X);return r1(X)}throw Error(`Invalid action at index ${Q}: expected object`)});throw Error("Invalid do field format: expected object or array")}function uY(Z){if(!Z)return[];if(w0(Z)&&"mode"in Z&&"actions"in Z)return R2(Z);if(w0(Z))return r1(Z);if(Array.isArray(Z))return Z.map((X,Q)=>{if(w0(X)){if("mode"in X&&"actions"in X)return R2(X);return r1(X)}throw Error(`Invalid action at index ${Q}: expected object`)});throw Error("Invalid else field format: expected object or array")}function r1(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:FZ(X.if)};if("then"in X&&X.then!==void 0)U.then=hY(X.then);if("else"in X&&X.else!==void 0)U.else=hY(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 hY(Z){if(!Z)return[];if(w0(Z)&&"mode"in Z&&"actions"in Z)return R2(Z);if(w0(Z))return r1(Z);if(Array.isArray(Z)){let X=[];for(let Q=0;Q<Z.length;Q++){let U=Z[Q];if(w0(U))if("mode"in U&&"actions"in U){let q=R2(U);for(let J of q.actions)X.push(J)}else X.push(r1(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 R2(Z){let X=Z.mode||"ALL";if(!o3(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((q,J)=>{if(w0(q)){if("mode"in q&&"actions"in q)return R2(q);return r1(q)}throw Error(`Invalid action in group at index ${J}: expected object`)});return{mode:X,actions:U}}function gT(Z,X,Q,U){let q=N4(Z,X,Q,U);if(!q.on)throw Error(`Rule at index ${X} missing required field: on`);return q}function vT(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 pY(Z,X,Q){return{id:X,type:E.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 ZQ(Z,X,Q){return{id:X,type:E.CONDITION_GROUP,position:Q,data:{operator:Z}}}function W6(Z,X,Q,U,q){return{id:U,type:E.CONDITION,position:q,data:{field:Z||"data",operator:X||"EQ",value:Q??""}}}function $6(Z,X,Q){return{id:X,type:E.DO,position:Q,data:{branchType:Z}}}function lY(Z,X,Q){let U,q,J,Y,W,$,L;if(HZ(Z)){let G=Z.if;if(G){let z=(Array.isArray(G)?G:[G])[0];if(z&&a1(z))U=z.field,q=z.operator,J=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])Y=j4(F[0]),W=C4(F[0])}let H=Z.else;if(H){let F=Array.isArray(H)?H:[H];if(F[0])$=j4(F[0]),L=C4(F[0])}}let V={type:j4(Z),params:C4(Z)};if(U)V.conditionField=U;if(q)V.conditionOperator=q;if(J!==void 0)V.conditionValue=J;if(Y)V.thenType=Y;if(W)V.thenParams=W;if($)V.elseType=$;if(L)V.elseParams=L;return{id:X,type:E.ACTION,position:Q,data:V}}function cY(Z,X,Q){return{id:X,type:E.ACTION_GROUP,position:Q,data:{mode:Z||"SEQUENCE"}}}function B0(Z,X,Q,U,q){return{id:q?q():`edge_${Z}_${X}_${Date.now()}`,source:Z,target:X,sourceHandle:Q??null,targetHandle:U??null}}function xT(Z,X={}){let Q=[],U=[],q=[];if(!Z.id)q.push("Missing required field: id");if(!Z.on)q.push("Missing required field: on (event trigger)");if(!Z.do&&Z.do!=="")q.push("Missing required field: do (actions)");if(q.length>0)return{nodes:[],edges:[],valid:!1,errors:q};let J=X.startNodeId||"event-node",Y=n3(0),W=t3(),$=e3();try{let L=pY(Z,J,X.startPosition||{x:100,y:300});Q.push(L);let V=Y6(Z.if);if(V.length>0){let{conditionNodes:G,groupNodeId:_}=hT(V,Q,U,L.id,Y,$),H=Y6(Z.do);if(H.length>0){let z=G.length>0?G[G.length-1].id:_||L.id,K=Q.find((S)=>S.id===z)?.position||{x:300,y:300},w=Y(),P=$6("do",w,{x:K.x+300,y:K.y-100});Q.push(P);let R=null;if(z===L.id)R=D.EVENT_OUTPUT;else if(z===_)R=D.CONDITION_GROUP_OUTPUT;else R=D.CONDITION_OUTPUT;U.push(B0(z,w,R,D.DO_INPUT,W)),L6(H,Q,U,w,Y,W,(S,N,y)=>({x:P.position.x+300,y:P.position.y+N*150}),"do")}let F=Y6(Z.else);if(F.length>0){let z=G.length>0?G[G.length-1].id:_||L.id,K=Q.find((S)=>S.id===z)?.position||{x:300,y:300},w=Y(),P=$6("else",w,{x:K.x+300,y:K.y+100});Q.push(P);let R=null;if(z===L.id)R=D.EVENT_OUTPUT;else if(z===_)R=D.CONDITION_GROUP_OUTPUT;else R=D.CONDITION_OUTPUT;U.push(B0(z,w,R,D.DO_INPUT,W)),L6(F,Q,U,w,Y,W,(S,N,y)=>({x:P.position.x+300,y:P.position.y+N*150}),"else")}}else{let G=Y6(Z.do);if(G.length>0){let _=Y(),H=L.position,F=$6("do",_,{x:H.x+300,y:H.y});Q.push(F),U.push(B0(L.id,_,D.EVENT_OUTPUT,D.DO_INPUT,W)),L6(G,Q,U,_,Y,W,(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 V=L instanceof Error?L.message:"Unknown error during conversion";return q.push(V),{nodes:Q,edges:U,valid:!1,errors:q}}}function hT(Z,X,Q,U,q,J){let Y=[],W,$=Z.length>1,L=Z.some(G1);if($||L){W=q();let V="AND",G=Z.find(G1);if(G&&G1(G))V=G.operator;let _=ZQ(V,W,J(1,0,1));X.push(_),Q.push(B0(U,W,null,D.CONDITION_GROUP_INPUT,void 0));let H=null;Z.forEach((F,z)=>{let B,K;if(G1(F)){if(F.conditions)F.conditions.forEach((w,P)=>{if(G1(w))return;if(B=q(),K=W6(B2(w),M2(w),O2(w),B,J(2,z*2+P,Z.length*2)),X.push(K),Y.push(K),H)Q.push(B0(H,B,D.CONDITION_OUTPUT,D.CONDITION_INPUT,void 0));else Q.push(B0(W,B,D.CONDITION_GROUP_OUTPUT,D.CONDITION_INPUT,void 0));H=B})}else{if(B=q(),K=W6(B2(F),M2(F),O2(F),B,J(2,z,Z.length)),X.push(K),Y.push(K),H)Q.push(B0(H,B,D.CONDITION_OUTPUT,D.CONDITION_INPUT,void 0));else Q.push(B0(W,B,D.CONDITION_GROUP_OUTPUT,D.CONDITION_INPUT,void 0));H=B}})}else{let V=q(),G=W6(B2(Z[0]),M2(Z[0]),O2(Z[0]),V,J(1,0,1));X.push(G),Y.push(G),Q.push(B0(U,V,null,D.CONDITION_INPUT,void 0))}return{conditionNodes:Y,groupNodeId:W}}function L6(Z,X,Q,U,q,J,Y,W){Z.forEach(($,L)=>{if(r3($)){let z=q(),B=X.find((R)=>R.id===U)?.position||{x:100,y:100},K=cY($.mode,z,{x:B.x+300,y:B.y+L*75});X.push(K);let w=X.find((R)=>R.id===U),P;if(w?.type===E.EVENT)P=D.EVENT_OUTPUT;else if(w?.type===E.CONDITION)P=D.CONDITION_OUTPUT;else if(w?.type===E.CONDITION_GROUP)P=D.CONDITION_GROUP_OUTPUT;else if(w?.type===E.ACTION_GROUP)P=D.ACTION_GROUP_OUTPUT;else if(w?.type===E.DO)P=D.DO_OUTPUT;else P=W===b0.ELSE?D.ELSE_OUTPUT:D.THEN_OUTPUT;Q.push(B0(U,z,P,D.ACTION_GROUP_INPUT,J)),L6($.actions,X,Q,z,q,J,Y,W);return}if(HZ($)){let B=$.if,K=Array.isArray(B)?B[0]:B;if(K){let w=X.find((A)=>A.id===U),P;if(w?.type===E.EVENT)P=D.EVENT_OUTPUT;else if(w?.type===E.ACTION_GROUP)P=D.ACTION_GROUP_CONDITION_OUTPUT;else if(w?.type===E.CONDITION)P=D.CONDITION_OUTPUT;else if(w?.type===E.DO)P=D.DO_CONDITION_OUTPUT;else P=D.CONDITION_OUTPUT;let R,S=Y(2,L,Z.length);if(G1(K)){let A=q(),u=K.operator||"AND",o=ZQ(u,A,{x:S.x+300,y:S.y-75});X.push(o),Q.push(B0(U,A,P,D.CONDITION_GROUP_INPUT,J));let t=null;if(K.conditions)K.conditions.forEach((x,r)=>{if(G1(x))return;let p=q(),i=W6(B2(x),M2(x),O2(x),p,{x:S.x+600,y:S.y+r*100});if(X.push(i),t)Q.push(B0(t,p,D.CONDITION_OUTPUT,D.CONDITION_INPUT,J));else Q.push(B0(A,p,D.CONDITION_GROUP_OUTPUT,D.CONDITION_INPUT,J));t=p});R=t||A}else if(a1(K)){let A=q(),u=W6(B2(K),M2(K),O2(K),A,{x:S.x+300,y:S.y});X.push(u),Q.push(B0(U,A,P,D.CONDITION_INPUT,J)),R=A}else return;let N=$.then;if(N){let A=q(),u=X.find((p)=>p.id===R),o=$6("do",A,{x:(u?.position.x||0)+300,y:(u?.position.y||0)-100});X.push(o);let t=u?.type===E.CONDITION_GROUP?D.CONDITION_GROUP_OUTPUT:D.CONDITION_OUTPUT;Q.push(B0(R,A,t,D.DO_INPUT,J));let x=Array.isArray(N)?N:[N];L6(x,X,Q,A,q,J,(p,i,M0)=>{return{x:o.position.x+300,y:o.position.y-i*150}},"do")}let y=$.else;if(y){let A=q(),u=X.find((p)=>p.id===R),o=$6("else",A,{x:(u?.position.x||0)+300,y:(u?.position.y||0)+100});X.push(o);let t=u?.type===E.CONDITION_GROUP?D.CONDITION_GROUP_OUTPUT:D.CONDITION_OUTPUT;Q.push(B0(R,A,t,D.DO_INPUT,J));let x=Array.isArray(y)?y:[y];L6(x,X,Q,A,q,J,(p,i,M0)=>{return{x:o.position.x+300,y:o.position.y+i*150}},"else")}}return}let V=q(),G=X.find((z)=>z.id===U)?.position||{x:700,y:100},_=lY($,V,{x:G.x+300,y:G.y+L*150});X.push(_);let H=X.find((z)=>z.id===U),F;if(H?.type===E.EVENT)F=D.EVENT_OUTPUT;else if(H?.type===E.CONDITION)F=D.CONDITION_OUTPUT;else if(H?.type===E.CONDITION_GROUP)F=D.CONDITION_GROUP_OUTPUT;else if(H?.type===E.ACTION_GROUP)F=D.ACTION_GROUP_OUTPUT;else if(H?.type===E.DO)F=D.DO_OUTPUT;else F=D.CONDITION_OUTPUT;Q.push(B0(U,V,F,D.ACTION_INPUT,J))})}function G6(Z,X={}){let{autoId:Q=!1,filename:U,throwOnError:q=!1,multiDocument:J=!0}=X,Y=[],W=[];try{let L;if(J){let G=BZ.parseAllDocuments(Z);for(let _ of G)if(_.errors&&_.errors.length>0){let H=_.errors.map((F)=>F.message).join(", ");throw Error(`YAML syntax error: ${H}`)}L=G.map((_)=>_.toJS())}else{let G=BZ.parse(Z);L=Array.isArray(G)?[G]:[G]}let V=[];L.forEach((G)=>{if(Array.isArray(G))V.push(...G);else V.push(G)}),V.forEach((G,_)=>{try{let H;if(Q&&!U)H={...N4(G,_),id:`rule-${_}`};else H=N4(G,_,U,Q);let F=AX.validate(H);if(F.valid)W.push(F.rule);else Y.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 ${_}`;Y.push({index:_,message:F})}})}catch(L){let V=L instanceof Error?L.message:"Unknown parsing error";Y.push({index:-1,message:`Failed to parse YAML: ${V}`})}let $={rules:W,errors:Y,valid:Y.length===0&&W.length>0};if(q&&!$.valid){let L=$.errors.map((V)=>{let G=`Rule ${V.index}: ${V.message}`;if(V.issues)G+=`
185
185
  Issues:
186
- `+_.issues.map((V)=>` - [${V.path}] ${V.message}`).join(`
186
+ `+V.issues.map((_)=>` - [${_.path}] ${_.message}`).join(`
187
187
  `);return G}).join(`
188
188
  `);throw Error(`YAML parsing failed:
189
- ${L}`)}return $}function Py(Z,X={}){return Y6(Z,{...X,multiDocument:!1})}function Ay(Z,X={}){let Q=Y6(Z,{...X,throwOnError:!0});if(Q.rules.length===0)throw Error("No valid rules found in YAML");return Q.rules[0]}var xy={id:{description:"Unique identifier for this rule",examples:["my-rule-1","donation-handler","user-login-tracker"]},name:{description:"Human-readable name for the rule",examples:["Donation Handler","User Login Tracker"]},description:{description:"Detailed description of what this rule does"},on:{description:"The event name that triggers this rule",values:"String event name (e.g., `Donation`, `UserLogin`, `minecraft:player_join`)",examples:["Donation","UserLogin","minecraft:player_join","COMMAND"]},if:{description:"Condition(s) that must be met for the rule to execute",values:"Single condition object, array of conditions, or condition group with AND/OR operator"},do:{description:"Action(s) to execute when conditions are met",values:"Single action object, array of actions, or action group with mode (ALL, SEQUENCE, EITHER)"},priority:{description:"Execution priority (higher values execute first)",values:"Integer number",examples:["1","10","100"]},enabled:{description:"Whether this rule is active",values:"Boolean: `true` or `false`",examples:["true","false"]},cooldown:{description:"Minimum time in milliseconds between executions",values:"Non-negative integer (milliseconds)",examples:["1000","5000","60000"]},tags:{description:"Tags for categorizing and organizing rules",values:"Array of strings",examples:['["gameplay", "monetization"]','["debug", "test"]']},comment:{description:"Internal developer note (not used in execution)"}},hy={EQ:{description:"Equal to (==)",valueType:"Any value",examples:["value: 100",'value: "hello"',"value: true"]},"==":{description:"Equal to (same as EQ)",valueType:"Any value",examples:["value: 100",'value: "hello"']},NEQ:{description:"Not equal to (!=)",valueType:"Any value",examples:["value: 0",'value: "goodbye"']},"!=":{description:"Not equal to (same as NEQ)",valueType:"Any value",examples:["value: 0"]},GT:{description:"Greater than (>)",valueType:"Number or expression string",examples:["value: 100",'value: "${state.count}"']},">":{description:"Greater than (same as GT)",valueType:"Number or expression string",examples:["value: 50"]},GTE:{description:"Greater than or equal to (>=)",valueType:"Number or expression string",examples:["value: 100"]},">=":{description:"Greater than or equal to (same as GTE)",valueType:"Number or expression string",examples:["value: 100"]},LT:{description:"Less than (<)",valueType:"Number or expression string",examples:["value: 100"]},"<":{description:"Less than (same as LT)",valueType:"Number or expression string",examples:["value: 50"]},LTE:{description:"Less than or equal to (<=)",valueType:"Number or expression string",examples:["value: 100"]},"<=":{description:"Less than or equal to (same as LTE)",valueType:"Number or expression string",examples:["value: 100"]},IN:{description:"Value is in the given list",valueType:"Array of values",examples:["value: [1, 2, 3]",'value: ["a", "b", "c"]']},NOT_IN:{description:"Value is not in the given list",valueType:"Array of values",examples:["value: [0, null]"]},CONTAINS:{description:"String contains substring, or array includes item",valueType:"String (for substring) or Array (for item check)",examples:['value: "hello"','value: ["item1", "item2"]']},NOT_CONTAINS:{description:"String does not contain substring, or array does not include item",valueType:"String (for substring) or Array (for item check)",examples:['value: "spam"','value: ["excluded"]']},STARTS_WITH:{description:"String starts with the specified prefix",valueType:"String",examples:['value: "https://"','value: "user_"']},ENDS_WITH:{description:"String ends with the specified suffix",valueType:"String",examples:['value: ".com"','value: "_admin"']},IS_EMPTY:{description:"Value is empty (string, array, object, or null)",valueType:"No value required",examples:["(no value needed)"]},IS_NULL:{description:"Value is null or undefined",valueType:"No value required",examples:["(no value needed)"]},IS_NONE:{description:"Alias for IS_NULL",valueType:"No value required",examples:["(no value needed)"]},HAS_KEY:{description:"Object has the specified key",valueType:"String (key name)",examples:['value: "userId"','value: "role"']},MATCHES:{description:"Value matches the regular expression pattern",valueType:"String (regex pattern)",examples:['value: "^[A-Z].*"','value: "\\\\d{3}-\\\\d{4}"']},RANGE:{description:"Value is within the specified range [min, max] (inclusive)",valueType:"Array of exactly 2 numbers: [min, max]",examples:["value: [0, 100]","value: [1, 10]"]},SINCE:{description:"Date/time is after or equal to the specified value",valueType:"Date string or timestamp",examples:['value: "2024-01-01"']},AFTER:{description:"Date/time is after the specified value (alias for SINCE)",valueType:"Date string or timestamp",examples:['value: "2024-01-01T00:00:00Z"']},BEFORE:{description:"Date/time is before the specified value",valueType:"Date string or timestamp",examples:['value: "2024-12-31"']},UNTIL:{description:"Date/time is before or equal to the specified value (alias for BEFORE)",valueType:"Date string or timestamp",examples:['value: "2024-12-31T23:59:59Z"']},AND:{description:"Logical AND - all conditions must be true",valueType:"Used in condition groups",examples:[`operator: AND
189
+ ${L}`)}return $}function jk(Z,X={}){return G6(Z,{...X,multiDocument:!1})}function Ck(Z,X={}){let Q=G6(Z,{...X,throwOnError:!0});if(Q.rules.length===0)throw Error("No valid rules found in YAML");return Q.rules[0]}var uk={id:{description:"Unique identifier for this rule",examples:["my-rule-1","donation-handler","user-login-tracker"]},name:{description:"Human-readable name for the rule",examples:["Donation Handler","User Login Tracker"]},description:{description:"Detailed description of what this rule does"},on:{description:"The event name that triggers this rule",values:"String event name (e.g., `Donation`, `UserLogin`, `minecraft:player_join`)",examples:["Donation","UserLogin","minecraft:player_join","COMMAND"]},if:{description:"Condition(s) that must be met for the rule to execute",values:"Single condition object, array of conditions, or condition group with AND/OR operator"},do:{description:"Action(s) to execute when conditions are met",values:"Single action object, array of actions, or action group with mode (ALL, SEQUENCE, EITHER)"},priority:{description:"Execution priority (higher values execute first)",values:"Integer number",examples:["1","10","100"]},enabled:{description:"Whether this rule is active",values:"Boolean: `true` or `false`",examples:["true","false"]},cooldown:{description:"Minimum time in milliseconds between executions",values:"Non-negative integer (milliseconds)",examples:["1000","5000","60000"]},tags:{description:"Tags for categorizing and organizing rules",values:"Array of strings",examples:['["gameplay", "monetization"]','["debug", "test"]']},comment:{description:"Internal developer note (not used in execution)"}},pk={EQ:{description:"Equal to (==)",valueType:"Any value",examples:["value: 100",'value: "hello"',"value: true"]},"==":{description:"Equal to (same as EQ)",valueType:"Any value",examples:["value: 100",'value: "hello"']},NEQ:{description:"Not equal to (!=)",valueType:"Any value",examples:["value: 0",'value: "goodbye"']},"!=":{description:"Not equal to (same as NEQ)",valueType:"Any value",examples:["value: 0"]},GT:{description:"Greater than (>)",valueType:"Number or expression string",examples:["value: 100",'value: "${vars.count}"']},">":{description:"Greater than (same as GT)",valueType:"Number or expression string",examples:["value: 50"]},GTE:{description:"Greater than or equal to (>=)",valueType:"Number or expression string",examples:["value: 100"]},">=":{description:"Greater than or equal to (same as GTE)",valueType:"Number or expression string",examples:["value: 100"]},LT:{description:"Less than (<)",valueType:"Number or expression string",examples:["value: 100"]},"<":{description:"Less than (same as LT)",valueType:"Number or expression string",examples:["value: 50"]},LTE:{description:"Less than or equal to (<=)",valueType:"Number or expression string",examples:["value: 100"]},"<=":{description:"Less than or equal to (same as LTE)",valueType:"Number or expression string",examples:["value: 100"]},IN:{description:"Value is in the given list",valueType:"Array of values",examples:["value: [1, 2, 3]",'value: ["a", "b", "c"]']},NOT_IN:{description:"Value is not in the given list",valueType:"Array of values",examples:["value: [0, null]"]},CONTAINS:{description:"String contains substring, or array includes item",valueType:"String (for substring) or Array (for item check)",examples:['value: "hello"','value: ["item1", "item2"]']},NOT_CONTAINS:{description:"String does not contain substring, or array does not include item",valueType:"String (for substring) or Array (for item check)",examples:['value: "spam"','value: ["excluded"]']},STARTS_WITH:{description:"String starts with the specified prefix",valueType:"String",examples:['value: "https://"','value: "user_"']},ENDS_WITH:{description:"String ends with the specified suffix",valueType:"String",examples:['value: ".com"','value: "_admin"']},IS_EMPTY:{description:"Value is empty (string, array, object, or null)",valueType:"No value required",examples:["(no value needed)"]},IS_NULL:{description:"Value is null or undefined",valueType:"No value required",examples:["(no value needed)"]},IS_NONE:{description:"Alias for IS_NULL",valueType:"No value required",examples:["(no value needed)"]},HAS_KEY:{description:"Object has the specified key",valueType:"String (key name)",examples:['value: "userId"','value: "role"']},MATCHES:{description:"Value matches the regular expression pattern",valueType:"String (regex pattern)",examples:['value: "^[A-Z].*"','value: "\\\\d{3}-\\\\d{4}"']},RANGE:{description:"Value is within the specified range [min, max] (inclusive)",valueType:"Array of exactly 2 numbers: [min, max]",examples:["value: [0, 100]","value: [1, 10]"]},SINCE:{description:"Date/time is after or equal to the specified value",valueType:"Date string or timestamp",examples:['value: "2024-01-01"']},AFTER:{description:"Date/time is after the specified value (alias for SINCE)",valueType:"Date string or timestamp",examples:['value: "2024-01-01T00:00:00Z"']},BEFORE:{description:"Date/time is before the specified value",valueType:"Date string or timestamp",examples:['value: "2024-12-31"']},UNTIL:{description:"Date/time is before or equal to the specified value (alias for BEFORE)",valueType:"Date string or timestamp",examples:['value: "2024-12-31T23:59:59Z"']},AND:{description:"Logical AND - all conditions must be true",valueType:"Used in condition groups",examples:[`operator: AND
190
190
  conditions:
191
191
  - field: data.x
192
192
  operator: GT
@@ -194,6 +194,6 @@ conditions:
194
194
  conditions:
195
195
  - field: data.x
196
196
  operator: EQ
197
- value: 1`]}},my={field:{description:"The field path to check (e.g., `data.amount`, `event.user.id`)",values:"String path using dot notation"},operator:{description:"The comparison operator to use",values:"One of: EQ, ==, NEQ, !=, GT, >, GTE, >=, LT, <, LTE, <=, IN, NOT_IN, CONTAINS, NOT_CONTAINS, STARTS_WITH, ENDS_WITH, IS_EMPTY, IS_NULL, HAS_KEY, MATCHES, RANGE, SINCE, AFTER, BEFORE, UNTIL"},value:{description:"The value to compare against (type depends on operator)",values:"Varies by operator - see operator documentation for details"},conditions:{description:"Array of sub-conditions for AND/OR groups",values:"Array of condition objects"}},uy={type:{description:"The type of action to perform",values:"String action type (e.g., `log`, `execute`, `notify`, `STATE_SET`, `EMIT_EVENT`)"},params:{description:"Parameters for the action (varies by action type)",values:"Object with action-specific parameters"},run:{description:"Direct script execution block (JavaScript-like syntax)",values:"String block of code"},delay:{description:"Delay in milliseconds before executing this action",values:"Non-negative integer (milliseconds)"},probability:{description:"Probability of executing this action (0.0 to 1.0)"},mode:{description:"Execution mode for action groups",values:"ALL (execute all), SEQUENCE (execute in order), or EITHER (execute one randomly)"},actions:{description:"Array of sub-actions for action groups",values:"Array of action objects"},then:{description:"Actions to execute when condition is true",values:"Action object or array of actions"},else:{description:"Actions to execute when condition is false",values:"Action object or array of actions"}},py={log:{description:"Prints a message to the engine console for debugging",params:["message: string (supports interpolation)"]},math:{description:`Expression to evaluate (e.g. "1 + 2" or "'Hi ' + data.user")`,params:[`expression: string (e.g. "1 + 2" or "'Hello ' + data.name")`]},execute:{description:"Runs a shell command on the host (Node.js only)",params:["command: string","safe: boolean"]},notify:{description:"Sends a notification to a specified target",params:["message: string","target: string"]},STATE_SET:{description:"Updates a value in the global state manager",params:["key: string","value: any"]},STATE_OP:{description:"Performs direct operations on state using a script",params:["run: string"]}};import{existsSync as mY,mkdirSync as fK,readFileSync as kK,writeFileSync as yK}from"fs";import{dirname as gK}from"path";class vK{filePath;cache=new Map;isLoaded=!1;pendingWrite=null;writeDelay;dirty=!1;constructor(Z,X){this.filePath=Z,this.writeDelay=X?.writeDelay??0}flush(){this.dirty=!0,this.persist()}getCache(){return this.ensureLoaded(),new Map(this.cache)}isDirty(){return this.dirty}ensureLoaded(){if(this.isLoaded)return;try{if(mY(this.filePath)){let Z=kK(this.filePath,"utf-8"),X=JSON.parse(Z);this.cache=new Map(Object.entries(X))}}catch(Z){console.error(`[FilePersistence] Failed to load state from ${this.filePath}:`,Z),this.cache=new Map}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;try{let Z=gK(this.filePath);if(!mY(Z))fK(Z,{recursive:!0});let X=Object.fromEntries(this.cache);yK(this.filePath,JSON.stringify(X,null,2),"utf-8"),this.dirty=!1}catch(Z){console.error(`[FilePersistence] Failed to save state to ${this.filePath}:`,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()}}import*as W6 from"path";import*as G1 from"fs";class o3{registry=new Map;fileRegistry=new Map;defaultDir="./rules";clear(){this.registry.clear(),this.fileRegistry.clear(),console.log("[RuleRegistry] Cleared")}setDefaultDir(Z){this.defaultDir=Z}getDefaultDir(){return this.defaultDir}register(Z,X,Q){if(!Z.id)throw Error("[RuleRegistry] Cannot register rule without ID");let U={rule:{...Z},filePath:X,loadedAt:Date.now(),modified:!1,ruleIndex:Q};if(this.registry.set(Z.id,U),X){let J=this.fileRegistry.get(X);if(J){let q=J.rules.findIndex((Y)=>Y.id===Z.id);if(q>=0)J.rules[q]={...Z};else J.rules.push({...Z});J.loadedAt=Date.now()}else this.fileRegistry.set(X,{filePath:X,rules:[{...Z}],loadedAt:Date.now(),modified:!1})}}registerAll(Z,X){if(Z.length===0)return;if(X){let Q=this.fileRegistry.get(X);if(Q){for(let J of Z){let q=Q.rules.findIndex((Y)=>Y.id===J.id);if(q>=0)Q.rules[q]={...J};else Q.rules.push({...J})}Q.loadedAt=Date.now()}else this.fileRegistry.set(X,{filePath:X,rules:Z.map((J)=>({...J})),loadedAt:Date.now(),modified:!1});this.fileRegistry.get(X).rules.forEach((J,q)=>{if(J.id)this.register(J,X,q)})}else for(let Q of Z)if(Q.id)this.register(Q)}get(Z){return this.registry.get(Z)?.rule}getAll(){return Array.from(this.registry.values()).map((Z)=>Z.rule)}has(Z){return this.registry.has(Z)}size(){return this.registry.size}getEntry(Z){return this.registry.get(Z)}getFileEntry(Z){return this.fileRegistry.get(Z)}getRulesByFile(Z){let X=this.fileRegistry.get(Z);return X?X.rules:[]}getAllFileEntries(){return Array.from(this.fileRegistry.values())}getFilePath(Z){return this.registry.get(Z)?.filePath}isMultiRuleFile(Z){let X=this.fileRegistry.get(Z);return X?X.rules.length>1:!1}add(Z,X){if(!Z.id)Z.id=this.generateId();if(this.has(Z.id))throw Error(`[RuleRegistry] Rule "${Z.id}" already exists`);let Q=X||(Z.id?`${this.defaultDir}/${Z.id}.yaml`:void 0);return this.register(Z,Q),Z}update(Z,X){let Q=this.registry.get(Z);if(!Q)throw Error(`[RuleRegistry] Rule "${Z}" not found`);let U={...Q.rule,...X};return U.id=Z,this.registry.set(Z,{...Q,rule:U,modified:!0,loadedAt:Date.now()}),U}remove(Z){return this.registry.delete(Z)}getModified(){return Array.from(this.registry.values()).filter((Z)=>Z.modified).map((Z)=>Z.rule)}hasModified(){return Array.from(this.registry.values()).some((Z)=>Z.modified)}markAsSaved(Z,X){let Q=this.registry.get(Z);if(Q){let U=X||Q.filePath;if(this.registry.set(Z,{...Q,filePath:U,modified:!1}),U){let J=this.fileRegistry.get(U);if(J)J.modified=!1}}}markFileAsSaved(Z){let X=this.fileRegistry.get(Z);if(X)X.modified=!1,X.rules.forEach((Q)=>{if(Q.id){let U=this.registry.get(Q.id);if(U)this.registry.set(Q.id,{...U,modified:!1})}})}markFileAsModified(Z){let X=this.fileRegistry.get(Z);if(X)X.modified=!0}generateId(){return`rule-${Date.now()}-${Math.random().toString(36).substring(2,9)}`}entries(){return this.registry.entries()}values(){return this.registry.values()}fileEntries(){return this.fileRegistry.values()}fileCount(){return this.fileRegistry.size}}import*as P1 from"path";import*as V0 from"fs";class HZ{static async loadFromDir(Z){let X=[],Q=async(U)=>{let J;try{J=await V0.promises.readdir(U,{withFileTypes:!0})}catch(q){console.error(`[RulePersistence] Failed to readdir ${U}:`,q);return}for(let q of J){let Y=P1.resolve(U,q.name);if(q.isDirectory())await Q(Y);else if(Y.toLowerCase().endsWith(".yaml")||Y.toLowerCase().endsWith(".yml"))try{let W=await HZ.loadFile(Y);X.push(...W)}catch(W){console.error(`Failed to load rule from ${Y}:`,W)}}};if(V0.existsSync(Z))await Q(Z);else console.warn(`[RulePersistence] Directory not found: ${Z}`);return X}static async loadFile(Z,X=()=>{}){let Q=await V0.promises.readFile(Z,"utf-8"),U=Y6(Q,{filename:Z,throwOnError:!1});if(U.errors.length>0)console.error(`Validation rule path: ${Z}`),U.errors.forEach((J)=>X(J));return U.rules.map((J,q)=>{if(!J.id){let Y=P1.basename(Z,P1.extname(Z));J.id=U.rules.length>1?`${Y}-${q}`:Y}return J})}static async saveRule(Z,X){let Q=P1.dirname(X);if(!V0.existsSync(Q))V0.mkdirSync(Q,{recursive:!0});let U=LZ.toCleanYaml(Z);await V0.promises.writeFile(X,U,"utf-8")}static async saveRulesToFile(Z,X){if(Z.length===0)return;let Q=P1.dirname(X);if(!V0.existsSync(Q))V0.mkdirSync(Q,{recursive:!0});let U=LZ.toCleanYaml(Z);await V0.promises.writeFile(X,U,"utf-8")}static async saveAll(Z,X,Q=(U)=>`${X}/${U}.yaml`){if(!V0.existsSync(X))V0.mkdirSync(X,{recursive:!0});let U=new Map;for(let q of Z){let Y=Q(q.id),W=U.get(Y)||[];W.push(q),U.set(Y,W)}let J=[];for(let[q,Y]of U)await this.saveRulesToFile(Y,q),J.push(q);return J}static async saveFile(Z,X){await this.saveRulesToFile(Z,X)}static async deleteFile(Z){if(!V0.existsSync(Z))return!1;return await V0.promises.unlink(Z),!0}static fileExists(Z){return V0.existsSync(Z)}static ensureDir(Z){if(!V0.existsSync(Z))V0.mkdirSync(Z,{recursive:!0})}}class n3{static findByTag(Z,X){let Q=[],U=X.toLowerCase();for(let J of Z)if(J.rule.tags){for(let q of J.rule.tags)if(q.toLowerCase()===U){Q.push(J.rule);break}}return Q}static findByEvent(Z,X){let Q=[],U=X.toLowerCase();for(let J of Z)if(J.rule.on&&J.rule.on.toLowerCase()===U)Q.push(J.rule);return Q}static findByName(Z,X){let Q=[],U=X.toLowerCase();for(let J of Z)if(J.rule.name&&J.rule.name.toLowerCase().includes(U))Q.push(J.rule);return Q}static find(Z,X){let Q=[];for(let U of Z)if(X(U.rule))Q.push(U.rule);return Q}static groupByTag(Z){let X=new Map;for(let Q of Z){let U=Q.rule;if(U.tags)for(let J of U.tags){let q=X.get(J)||[];q.push(U),X.set(J,q)}}return X}static groupByEvent(Z){let X=new Map;for(let Q of Z){let U=Q.rule;if(U.on){let J=X.get(U.on)||[];J.push(U),X.set(U.on,J)}}return X}static enable(Z,X){let Q=Z.get(X);if(!Q)throw Error(`[RuleQuery] Rule "${X}" not found`);let U={...Q.rule,enabled:!0};return Z.set(X,{...Q,rule:U,modified:!0}),U}static disable(Z,X){let Q=Z.get(X);if(!Q)throw Error(`[RuleQuery] Rule "${X}" not found`);let U={...Q.rule,enabled:!1};return Z.set(X,{...Q,rule:U,modified:!0}),U}static toggle(Z,X){let Q=Z.get(X);if(!Q)throw Error(`[RuleQuery] Rule "${X}" not found`);let U={...Q.rule,enabled:!Q.rule.enabled};return Z.set(X,{...Q,rule:U,modified:!0}),U}}import*as uY from"fs";class t3{watcher=null;dirPath="";callback=null;loadFn=null;start(Z,X,Q){this.stop(),this.dirPath=Z,this.loadFn=X,this.callback=Q||null,X(Z).then((U)=>{if(this.callback)this.callback(U)}),console.log(`[RuleWatcher] Watching: ${Z}`),this.watcher=uY.watch(Z,{recursive:!0},async(U,J)=>{if(J&&(String(J).endsWith(".yaml")||String(J).endsWith(".yml"))){console.log(`[RuleWatcher] Change detected: ${J} (${U})`);try{let q=await X(Z);if(this.callback)this.callback(q)}catch(q){console.error("[RuleWatcher] Failed to reload:",q)}}})}stop(){if(this.watcher)this.watcher.close(),this.watcher=null,console.log("[RuleWatcher] Stopped")}isWatching(){return this.watcher!==null}getWatchPath(){return this.dirPath}}class pY{static defaultDir="./rules";static watcher=null;static setDefaultDir(Z){if(this.defaultDir=Z,!G1.existsSync(Z))G1.mkdirSync(Z,{recursive:!0});console.log(`[TriggerLoader] Default directory set to: ${Z}`)}static getDefaultDir(){return this.defaultDir}static async loadRulesFromDir(Z){let X=[],Q=async(U)=>{let J;try{J=await G1.promises.readdir(U,{withFileTypes:!0})}catch(q){console.error(`[TriggerLoader] Failed to readdir ${U}:`,q);return}for(let q of J){let Y=W6.resolve(U,q.name);if(q.isDirectory())await Q(Y);else if(Y.toLowerCase().endsWith(".yaml")||Y.toLowerCase().endsWith(".yml"))try{let W=await this.loadRule(Y);X.push(...W)}catch(W){console.error(`Failed to load rule from ${Y}:`,W)}}};if(G1.existsSync(Z))await Q(Z);else console.warn(`[TriggerLoader] Directory not found: ${Z}`);return X}static async loadRule(Z,X=(Q)=>{}){try{let Q=await G1.promises.readFile(Z,"utf-8"),U=Y6(Q,{filename:Z,throwOnError:!1});if(U.errors.length>0)console.error(`Validation rule path: ${Z}`),U.errors.forEach((q)=>X(q));return U.rules.map((q,Y)=>{if(!q.id){let W=W6.basename(Z,W6.extname(Z));q.id=U.rules.length>1?`${W}-${Y}`:W}return q})}catch(Q){throw X({error:Q,filePath:Z}),Q}}static watchRules(Z,X){return this.loadRulesFromDir(Z).then(X),console.log(`[TriggerLoader] Watching for changes in ${Z}...`),G1.watch(Z,{recursive:!0},async(U,J)=>{if(J&&(String(J).endsWith(".yaml")||String(J).endsWith(".yml"))){console.log(`[TriggerLoader] Detected change in ${J} (${U}). Reloading rules...`);try{let q=await this.loadRulesFromDir(Z);X(q),console.log(`[TriggerLoader] Reloaded ${q.length} rules.`)}catch(q){console.error("[TriggerLoader] Failed to reload rules:",q)}}})}static stopWatching(){if(this.watcher)this.watcher.close(),this.watcher=null,console.log("[TriggerLoader] Stopped watching")}}export{EK as validateRule,NK as validateFieldValue,CK as validateFieldType,bK as triggerRuleToNodes,l0 as triggerEmitter,z9 as ruleEvents,AK as requireField,Y6 as parseYamlRules,Ay as parseYamlRuleStrict,Py as parseYamlRule,KJ as parseGraphToRules,jX as parseGraph,i6 as optimizeCondition,s6 as optimizeAction,jK as normalizeRuleAdvanced,D4 as normalizeRule,PK as normalizeOperator,yY as normalizeElseField,kY as normalizeDoField,DK as normalizeConditionsUtils,_Z as normalizeConditions,TK as normalizeActions,o1 as normalizeAction,BK as isValidNumber,c3 as isValidExecutionMode,RK as isValidConditionOperator,KK as isValidComparisonOperator,r1 as isSimpleCondition,OK as isSimpleAction,T0 as isObject,FK as isNonEmptyString,a1 as isConditionGroup,MK as isBoolean,d3 as isActionGroup,GZ as hasConditionalExecution,U6 as getConditionValue,Q6 as getConditionOperator,X6 as getConditionField,K4 as getActionType,T4 as getActionParams,wK as generateRuleIdFromFilename,NX as findTerminalActions,J6 as ensureArray,yb as engineEvents,Nf as defaultGetDoBranchType,G_ as defaultExtractEventData,a3 as createPositionCalculator,L_ as createParserContext,i3 as createNodeIdGenerator,s3 as createEdgeIdGenerator,T9 as collectDoActions,gY as buildEventNode,i0 as buildEdge,r3 as buildDoNode,w4 as buildConditionNode,vY as buildConditionGroupNode,xY as buildActionNode,hY as buildActionGroupNode,TX as TriggerValidator,KX as TriggerUtils,hb as TriggerSystem,$_ as TriggerRuleSchema,pY as TriggerLoader,c6 as TriggerEngine,MX as TriggerEmitter,B0 as StateManager,t3 as RuleWatcher,o3 as RuleRegistry,n3 as RuleQuery,HZ as RulePersistence,LZ as RuleExporter,X_ as RuleEvents,H9 as RuleEvent,WJ as RuleEngine,jI as RuleConditionSchema,EX as RuleBuilder,DX as ParamsBuilder,hy as OPERATOR_DOCS,f as NodeType,p0 as MathFunctions,II as InlineConditionalActionSchema,FX as InMemoryPersistence,P as HandleId,vK as FilePersistence,xy as FIELD_DOCS,E0 as ExpressionEngine,Z_ as Events,Q_ as EventQueue,RX as ErrorMessages,u2 as EngineEvent,c6 as Engine,F9 as DebugMessages,OX as ControlFlow,nG as ContextKeys,J_ as ContextAdapter,M9 as ConditionalActionBuilder,CI as ConditionSchema,wX as ConditionOperator,NI as ConditionGroupSchema,x1 as ConditionBuilder,SI as ComparisonOperatorSchema,my as CONDITION_FIELD_DOCS,K0 as BuiltInAction,U_ as BrowserPersistence,k0 as BranchType,eG as Actions,EI as ActionSchema,d6 as ActionRegistry,bI as ActionGroupSchema,a6 as ActionBuilder,py as ACTION_TYPE_DOCS,uy as ACTION_FIELD_DOCS};
197
+ value: 1`]}},lk={field:{description:"The field path to check (e.g., `data.amount`, `event.user.id`)",values:"String path using dot notation"},operator:{description:"The comparison operator to use",values:"One of: EQ, ==, NEQ, !=, GT, >, GTE, >=, LT, <, LTE, <=, IN, NOT_IN, CONTAINS, NOT_CONTAINS, STARTS_WITH, ENDS_WITH, IS_EMPTY, IS_NULL, HAS_KEY, MATCHES, RANGE, SINCE, AFTER, BEFORE, UNTIL"},value:{description:"The value to compare against (type depends on operator)",values:"Varies by operator - see operator documentation for details"},conditions:{description:"Array of sub-conditions for AND/OR groups",values:"Array of condition objects"}},ck={type:{description:"The type of action to perform",values:"String action type (e.g., `log`, `execute`, `notify`, `FORWARD`, `EMIT_EVENT`)"},params:{description:"Parameters for the action (varies by action type)",values:"Object with action-specific parameters"},delay:{description:"Delay in milliseconds before executing this action",values:"Non-negative integer (milliseconds)"},probability:{description:"Probability of executing this action (0.0 to 1.0)"},mode:{description:"Execution mode for action groups",values:"ALL (execute all), SEQUENCE (execute in order), or EITHER (execute one randomly)"},actions:{description:"Array of sub-actions for action groups",values:"Array of action objects"},then:{description:"Actions to execute when condition is true",values:"Action object or array of actions"},else:{description:"Actions to execute when condition is false",values:"Action object or array of actions"}},dk={log:{description:"Prints a message to the engine console for debugging",params:["message: string (supports interpolation)"]},math:{description:`Expression to evaluate (e.g. "1 + 2" or "'Hi ' + data.user")`,params:[`expression: string (e.g. "1 + 2" or "'Hello ' + data.name")`]},execute:{description:"Runs a shell command on the host (Node.js only)",params:["command: string","safe: boolean"]},notify:{description:"Sends a notification to a specified target",params:["message: string","target: string"]}};import{existsSync as dY,mkdirSync as mT,readFileSync as uT,writeFileSync as pT}from"fs";import{dirname as lT}from"path";class cT{filePath;cache=new Map;isLoaded=!1;pendingWrite=null;writeDelay;dirty=!1;constructor(Z,X){this.filePath=Z,this.writeDelay=X?.writeDelay??0}flush(){this.dirty=!0,this.persist()}getCache(){return this.ensureLoaded(),new Map(this.cache)}isDirty(){return this.dirty}ensureLoaded(){if(this.isLoaded)return;try{if(dY(this.filePath)){let Z=uT(this.filePath,"utf-8"),X=JSON.parse(Z);this.cache=new Map(Object.entries(X))}}catch(Z){console.error(`[FilePersistence] Failed to load state from ${this.filePath}:`,Z),this.cache=new Map}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;try{let Z=lT(this.filePath);if(!dY(Z))mT(Z,{recursive:!0});let X=Object.fromEntries(this.cache);pT(this.filePath,JSON.stringify(X,null,2),"utf-8"),this.dirty=!1}catch(Z){console.error(`[FilePersistence] Failed to save state to ${this.filePath}:`,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()}}import*as V6 from"path";import*as V1 from"fs";class XQ{registry=new Map;fileRegistry=new Map;defaultDir="./rules";clear(){this.registry.clear(),this.fileRegistry.clear(),console.log("[RuleRegistry] Cleared")}setDefaultDir(Z){this.defaultDir=Z}getDefaultDir(){return this.defaultDir}register(Z,X,Q){if(!Z.id)throw Error("[RuleRegistry] Cannot register rule without ID");let U={rule:{...Z},filePath:X,loadedAt:Date.now(),modified:!1,ruleIndex:Q};if(this.registry.set(Z.id,U),X){let q=this.fileRegistry.get(X);if(q){let J=q.rules.findIndex((Y)=>Y.id===Z.id);if(J>=0)q.rules[J]={...Z};else q.rules.push({...Z});q.loadedAt=Date.now()}else this.fileRegistry.set(X,{filePath:X,rules:[{...Z}],loadedAt:Date.now(),modified:!1})}}registerAll(Z,X){if(Z.length===0)return;if(X){let Q=this.fileRegistry.get(X);if(Q){for(let q of Z){let J=Q.rules.findIndex((Y)=>Y.id===q.id);if(J>=0)Q.rules[J]={...q};else Q.rules.push({...q})}Q.loadedAt=Date.now()}else this.fileRegistry.set(X,{filePath:X,rules:Z.map((q)=>({...q})),loadedAt:Date.now(),modified:!1});this.fileRegistry.get(X).rules.forEach((q,J)=>{if(q.id)this.register(q,X,J)})}else for(let Q of Z)if(Q.id)this.register(Q)}get(Z){return this.registry.get(Z)?.rule}getAll(){return Array.from(this.registry.values()).map((Z)=>Z.rule)}has(Z){return this.registry.has(Z)}size(){return this.registry.size}getEntry(Z){return this.registry.get(Z)}getFileEntry(Z){return this.fileRegistry.get(Z)}getRulesByFile(Z){let X=this.fileRegistry.get(Z);return X?X.rules:[]}getAllFileEntries(){return Array.from(this.fileRegistry.values())}getFilePath(Z){return this.registry.get(Z)?.filePath}isMultiRuleFile(Z){let X=this.fileRegistry.get(Z);return X?X.rules.length>1:!1}add(Z,X){if(!Z.id)Z.id=this.generateId();if(this.has(Z.id))throw Error(`[RuleRegistry] Rule "${Z.id}" already exists`);let Q=X||(Z.id?`${this.defaultDir}/${Z.id}.yaml`:void 0);return this.register(Z,Q),Z}update(Z,X){let Q=this.registry.get(Z);if(!Q)throw Error(`[RuleRegistry] Rule "${Z}" not found`);let U={...Q.rule,...X};return U.id=Z,this.registry.set(Z,{...Q,rule:U,modified:!0,loadedAt:Date.now()}),U}remove(Z){return this.registry.delete(Z)}getModified(){return Array.from(this.registry.values()).filter((Z)=>Z.modified).map((Z)=>Z.rule)}hasModified(){return Array.from(this.registry.values()).some((Z)=>Z.modified)}markAsSaved(Z,X){let Q=this.registry.get(Z);if(Q){let U=X||Q.filePath;if(this.registry.set(Z,{...Q,filePath:U,modified:!1}),U){let q=this.fileRegistry.get(U);if(q)q.modified=!1}}}markFileAsSaved(Z){let X=this.fileRegistry.get(Z);if(X)X.modified=!1,X.rules.forEach((Q)=>{if(Q.id){let U=this.registry.get(Q.id);if(U)this.registry.set(Q.id,{...U,modified:!1})}})}markFileAsModified(Z){let X=this.fileRegistry.get(Z);if(X)X.modified=!0}generateId(){return`rule-${Date.now()}-${Math.random().toString(36).substring(2,9)}`}entries(){return this.registry.entries()}values(){return this.registry.values()}fileEntries(){return this.fileRegistry.values()}fileCount(){return this.fileRegistry.size}}import*as D1 from"path";import*as F0 from"fs";class MZ{static async loadFromDir(Z){let X=[],Q=async(U)=>{let q;try{q=await F0.promises.readdir(U,{withFileTypes:!0})}catch(J){console.error(`[RulePersistence] Failed to readdir ${U}:`,J);return}for(let J of q){let Y=D1.resolve(U,J.name);if(J.isDirectory())await Q(Y);else if(Y.toLowerCase().endsWith(".yaml")||Y.toLowerCase().endsWith(".yml"))try{let W=await MZ.loadFile(Y);X.push(...W)}catch(W){console.error(`Failed to load rule from ${Y}:`,W)}}};if(F0.existsSync(Z))await Q(Z);else console.warn(`[RulePersistence] Directory not found: ${Z}`);return X}static async loadFile(Z,X=()=>{}){let Q=await F0.promises.readFile(Z,"utf-8"),U=G6(Q,{filename:Z,throwOnError:!1});if(U.errors.length>0)console.error(`Validation rule path: ${Z}`),U.errors.forEach((q)=>X(q));return U.rules.map((q,J)=>{if(!q.id){let Y=D1.basename(Z,D1.extname(Z));q.id=U.rules.length>1?`${Y}-${J}`:Y}return q})}static async saveRule(Z,X){let Q=D1.dirname(X);if(!F0.existsSync(Q))F0.mkdirSync(Q,{recursive:!0});let U=zZ.toCleanYaml(Z);await F0.promises.writeFile(X,U,"utf-8")}static async saveRulesToFile(Z,X){if(Z.length===0)return;let Q=D1.dirname(X);if(!F0.existsSync(Q))F0.mkdirSync(Q,{recursive:!0});let U=zZ.toCleanYaml(Z);await F0.promises.writeFile(X,U,"utf-8")}static async saveAll(Z,X,Q=(U)=>`${X}/${U}.yaml`){if(!F0.existsSync(X))F0.mkdirSync(X,{recursive:!0});let U=new Map;for(let J of Z){let Y=Q(J.id),W=U.get(Y)||[];W.push(J),U.set(Y,W)}let q=[];for(let[J,Y]of U)await this.saveRulesToFile(Y,J),q.push(J);return q}static async saveFile(Z,X){await this.saveRulesToFile(Z,X)}static async deleteFile(Z){if(!F0.existsSync(Z))return!1;return await F0.promises.unlink(Z),!0}static fileExists(Z){return F0.existsSync(Z)}static ensureDir(Z){if(!F0.existsSync(Z))F0.mkdirSync(Z,{recursive:!0})}}class QQ{static findByTag(Z,X){let Q=[],U=X.toLowerCase();for(let q of Z)if(q.rule.tags){for(let J of q.rule.tags)if(J.toLowerCase()===U){Q.push(q.rule);break}}return Q}static findByEvent(Z,X){let Q=[],U=X.toLowerCase();for(let q of Z)if(q.rule.on&&q.rule.on.toLowerCase()===U)Q.push(q.rule);return Q}static findByName(Z,X){let Q=[],U=X.toLowerCase();for(let q of Z)if(q.rule.name&&q.rule.name.toLowerCase().includes(U))Q.push(q.rule);return Q}static find(Z,X){let Q=[];for(let U of Z)if(X(U.rule))Q.push(U.rule);return Q}static groupByTag(Z){let X=new Map;for(let Q of Z){let U=Q.rule;if(U.tags)for(let q of U.tags){let J=X.get(q)||[];J.push(U),X.set(q,J)}}return X}static groupByEvent(Z){let X=new Map;for(let Q of Z){let U=Q.rule;if(U.on){let q=X.get(U.on)||[];q.push(U),X.set(U.on,q)}}return X}static enable(Z,X){let Q=Z.get(X);if(!Q)throw Error(`[RuleQuery] Rule "${X}" not found`);let U={...Q.rule,enabled:!0};return Z.set(X,{...Q,rule:U,modified:!0}),U}static disable(Z,X){let Q=Z.get(X);if(!Q)throw Error(`[RuleQuery] Rule "${X}" not found`);let U={...Q.rule,enabled:!1};return Z.set(X,{...Q,rule:U,modified:!0}),U}static toggle(Z,X){let Q=Z.get(X);if(!Q)throw Error(`[RuleQuery] Rule "${X}" not found`);let U={...Q.rule,enabled:!Q.rule.enabled};return Z.set(X,{...Q,rule:U,modified:!0}),U}}import*as iY from"fs";class UQ{watcher=null;dirPath="";callback=null;loadFn=null;start(Z,X,Q){this.stop(),this.dirPath=Z,this.loadFn=X,this.callback=Q||null,X(Z).then((U)=>{if(this.callback)this.callback(U)}),console.log(`[RuleWatcher] Watching: ${Z}`),this.watcher=iY.watch(Z,{recursive:!0},async(U,q)=>{if(q&&(String(q).endsWith(".yaml")||String(q).endsWith(".yml"))){console.log(`[RuleWatcher] Change detected: ${q} (${U})`);try{let J=await X(Z);if(this.callback)this.callback(J)}catch(J){console.error("[RuleWatcher] Failed to reload:",J)}}})}stop(){if(this.watcher)this.watcher.close(),this.watcher=null,console.log("[RuleWatcher] Stopped")}isWatching(){return this.watcher!==null}getWatchPath(){return this.dirPath}}class sY{static defaultDir="./rules";static watcher=null;static setDefaultDir(Z){if(this.defaultDir=Z,!V1.existsSync(Z))V1.mkdirSync(Z,{recursive:!0});console.log(`[TriggerLoader] Default directory set to: ${Z}`)}static getDefaultDir(){return this.defaultDir}static async loadRulesFromDir(Z){let X=[],Q=async(U)=>{let q;try{q=await V1.promises.readdir(U,{withFileTypes:!0})}catch(J){console.error(`[TriggerLoader] Failed to readdir ${U}:`,J);return}for(let J of q){let Y=V6.resolve(U,J.name);if(J.isDirectory())await Q(Y);else if(Y.toLowerCase().endsWith(".yaml")||Y.toLowerCase().endsWith(".yml"))try{let W=await this.loadRule(Y);X.push(...W)}catch(W){console.error(`Failed to load rule from ${Y}:`,W)}}};if(V1.existsSync(Z))await Q(Z);else console.warn(`[TriggerLoader] Directory not found: ${Z}`);return X}static async loadRule(Z,X=(Q)=>{}){try{let Q=await V1.promises.readFile(Z,"utf-8"),U=G6(Q,{filename:Z,throwOnError:!1});if(U.errors.length>0)console.error(`Validation rule path: ${Z}`),U.errors.forEach((J)=>X(J));return U.rules.map((J,Y)=>{if(!J.id){let W=V6.basename(Z,V6.extname(Z));J.id=U.rules.length>1?`${W}-${Y}`:W}return J})}catch(Q){throw X({error:Q,filePath:Z}),Q}}static watchRules(Z,X){return this.loadRulesFromDir(Z).then(X),console.log(`[TriggerLoader] Watching for changes in ${Z}...`),V1.watch(Z,{recursive:!0},async(U,q)=>{if(q&&(String(q).endsWith(".yaml")||String(q).endsWith(".yml"))){console.log(`[TriggerLoader] Detected change in ${q} (${U}). Reloading rules...`);try{let J=await this.loadRulesFromDir(Z);X(J),console.log(`[TriggerLoader] Reloaded ${J.length} rules.`)}catch(J){console.error("[TriggerLoader] Failed to reload rules:",J)}}})}static stopWatching(){if(this.watcher)this.watcher.close(),this.watcher=null,console.log("[TriggerLoader] Stopped watching")}}export{VV as vars,vT as validateRule,kT as validateFieldValue,yT as validateFieldType,xT as triggerRuleToNodes,p0 as triggerEmitter,R9 as ruleEvents,IT as requireField,G6 as parseYamlRules,Ck as parseYamlRuleStrict,jk as parseYamlRule,Sq as parseGraphToRules,yX as parseGraph,n6 as optimizeCondition,t6 as optimizeAction,gT as normalizeRuleAdvanced,N4 as normalizeRule,bT as normalizeOperator,uY as normalizeElseField,mY as normalizeDoField,NT as normalizeConditionsUtils,FZ as normalizeConditions,CT as normalizeActions,r1 as normalizeAction,wT as isValidNumber,o3 as isValidExecutionMode,ST as isValidConditionOperator,jT as isValidComparisonOperator,a1 as isSimpleCondition,AT as isSimpleAction,w0 as isObject,DT as isNonEmptyString,G1 as isConditionGroup,PT as isBoolean,r3 as isActionGroup,HZ as hasConditionalExecution,O2 as getConditionValue,M2 as getConditionOperator,B2 as getConditionField,j4 as getActionType,C4 as getActionParams,ET as generateRuleIdFromFilename,fX as findTerminalActions,Y6 as ensureArray,xb as engineEvents,bf as defaultGetDoBranchType,MV as defaultExtractEventData,K9 as createVarsContext,e3 as createPositionCalculator,BV as createParserContext,n3 as createNodeIdGenerator,t3 as createEdgeIdGenerator,Q4 as collectDoActions,pY as buildEventNode,B0 as buildEdge,$6 as buildDoNode,W6 as buildConditionNode,ZQ as buildConditionGroupNode,lY as buildActionNode,cY as buildActionGroupNode,AX as TriggerValidator,PX as TriggerUtils,pb as TriggerSystem,FV as TriggerRuleSchema,sY as TriggerLoader,o6 as TriggerEngine,KX as TriggerEmitter,UQ as RuleWatcher,XQ as RuleRegistry,QQ as RuleQuery,MZ as RulePersistence,zZ as RuleExporter,WV as RuleEvents,O9 as RuleEvent,zq as RuleEngine,II as RuleConditionSchema,kX as RuleBuilder,SX as ParamsBuilder,pk as OPERATOR_DOCS,E as NodeType,u0 as MathFunctions,kI as InlineConditionalActionSchema,LV as InMemoryPersistence,D as HandleId,Aq as GraphParserErrorCode,W1 as GraphParserError,cT as FilePersistence,uk as FIELD_DOCS,D0 as ExpressionEngine,YV as Events,$V as EventQueue,wX as ErrorMessages,s2 as EngineEvent,o6 as Engine,T9 as DebugMessages,DX as ControlFlow,QV as ContextKeys,w9 as ConditionalActionBuilder,EI as ConditionSchema,jX as ConditionOperator,bI as ConditionGroupSchema,v1 as ConditionBuilder,NI as ComparisonOperatorSchema,lk as CONDITION_FIELD_DOCS,Y2 as BuiltInAction,GV as BrowserPersistence,b0 as BranchType,JV as Actions,fI as ActionSchema,r6 as ActionRegistry,yI as ActionGroupSchema,e6 as ActionBuilder,dk as ACTION_TYPE_DOCS,ck as ACTION_FIELD_DOCS};
198
198
 
199
- //# debugId=64525E649BD5C24864756E2164756E21
199
+ //# debugId=C41133FD0669A84A64756E2164756E21