@codesys/mcp-toolkit 2.6.0 → 2.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/README.md +11 -8
  3. package/README.zh-CN.md +7 -6
  4. package/dist/codesys/compare.d.ts +17 -0
  5. package/dist/codesys/compare.js +105 -0
  6. package/dist/codesys/compare.js.map +1 -0
  7. package/dist/codesys/debug.d.ts +2 -0
  8. package/dist/codesys/debug.js +96 -2
  9. package/dist/codesys/debug.js.map +1 -1
  10. package/dist/codesys/graphical-read.d.ts +7 -4
  11. package/dist/codesys/graphical-read.js +103 -3
  12. package/dist/codesys/graphical-read.js.map +1 -1
  13. package/dist/codesys/graphical.d.ts +51 -4
  14. package/dist/codesys/graphical.js +247 -44
  15. package/dist/codesys/graphical.js.map +1 -1
  16. package/dist/codesys/recipes.d.ts +45 -0
  17. package/dist/codesys/recipes.js +130 -0
  18. package/dist/codesys/recipes.js.map +1 -0
  19. package/dist/hmi/native.d.ts +1 -1
  20. package/dist/hmi/native.js +20 -1
  21. package/dist/hmi/native.js.map +1 -1
  22. package/dist/hmi/render.d.ts +4 -0
  23. package/dist/hmi/render.js +13 -1
  24. package/dist/hmi/render.js.map +1 -1
  25. package/dist/hmi/service.d.ts +3 -0
  26. package/dist/hmi/service.js +29 -2
  27. package/dist/hmi/service.js.map +1 -1
  28. package/dist/hmi/spec.d.ts +18 -0
  29. package/dist/hmi/spec.js +45 -0
  30. package/dist/hmi/spec.js.map +1 -1
  31. package/dist/hmi/tools.js +50 -5
  32. package/dist/hmi/tools.js.map +1 -1
  33. package/dist/hmi/value.js +3 -0
  34. package/dist/hmi/value.js.map +1 -1
  35. package/dist/panel/hmi.js +66 -61
  36. package/dist/panel.js +1 -1
  37. package/dist/panel.js.map +1 -1
  38. package/dist/server.d.ts +1 -1
  39. package/dist/server.js +2 -2
  40. package/dist/tools.d.ts +2 -0
  41. package/dist/tools.js +100 -13
  42. package/dist/tools.js.map +1 -1
  43. package/package.json +1 -1
  44. package/watcher/mcp_alarms.py +42 -0
  45. package/watcher/mcp_caps.py +66 -0
  46. package/watcher/mcp_debug.py +54 -2
  47. package/watcher/mcp_lang.py +13 -1
  48. package/watcher/watcher.py +2 -0
package/dist/panel/hmi.js CHANGED
@@ -1,46 +1,46 @@
1
- "use strict";(()=>{var yc=Object.defineProperty;var _c=(e,t)=>{for(var r in t)yc(e,r,{get:t[r],enumerable:!0})};var S={};_c(S,{BIGINT_FORMAT_RANGES:()=>Xe,CONSTANT_CATCH:()=>Qr,Class:()=>Nt,NUMBER_FORMAT_RANGES:()=>Pe,aborted:()=>U,allowsEval:()=>Dt,assert:()=>Pc,assertEqual:()=>$c,assertIs:()=>zc,assertNever:()=>Sc,assertNotEqual:()=>kc,assignProp:()=>K,attachSchema:()=>Ze,base64ToUint8Array:()=>Xr,base64urlToUint8Array:()=>Kc,cached:()=>we,captureStackTrace:()=>We,cleanEnum:()=>Vc,cleanRegex:()=>ze,clone:()=>G,cloneDef:()=>Ic,codePointLength:()=>Oe,constantCatch:()=>en,createTransparentProxy:()=>Mc,defineLazy:()=>Jr,defineLazyInternal:()=>Z,derived:()=>qc,esc:()=>Rt,escapeRegex:()=>ie,explicitlyAborted:()=>Bt,extend:()=>jc,finalizeIssue:()=>W,floatSafeRemainder:()=>Lt,getElementAtPath:()=>Ec,getEnumValues:()=>me,getLengthableOrigin:()=>Ie,getParsedType:()=>Nc,getSizableOrigin:()=>qr,hexToUint8Array:()=>Hc,hide:()=>et,installLazyProp:()=>ea,isObject:()=>fe,isPlainObject:()=>re,issue:()=>ge,joinValues:()=>He,jsonStringifyReplacer:()=>he,members:()=>Vt,merge:()=>Fc,mergeDefs:()=>Q,normalizeParams:()=>k,nullish:()=>Mt,numKeys:()=>Cc,objectClone:()=>Zc,omit:()=>Rc,optionalKeys:()=>Ut,own:()=>te,parsedType:()=>Jt,partial:()=>Uc,pick:()=>Lc,prefixIssues:()=>H,primitiveTypes:()=>Hr,promiseAllObject:()=>Ac,propertyKeyTypes:()=>Ft,randomString:()=>Tc,rawShape:()=>Se,required:()=>Bc,safeExtend:()=>Dc,shallowClone:()=>Gr,sizeCaps:()=>Qe,slugify:()=>jt,stringifyPrimitive:()=>qe,toZod:()=>wc,uint8ArrayToBase64:()=>Yr,uint8ArrayToBase64url:()=>Gc,uint8ArrayToHex:()=>Wc,unwrapMessage:()=>de});function $c(e){return e}function kc(e){return e}function wc(){return e=>e}function zc(e){}function Sc(e){throw new Error("Unexpected value in exhaustive check")}function Pc(e){}function me(e){let t=Object.values(e).filter(n=>typeof n=="number");return Object.entries(e).filter(([n,o])=>t.indexOf(+n)===-1).map(([n,o])=>o)}function He(e,t="|"){return e.map(r=>qe(r)).join(t)}function he(e,t){return typeof t=="bigint"?t.toString():t}var Ct=class{constructor(t){this._getter=t,this._value=void 0}get value(){let t=this._getter;return t!==void 0&&(this._value=t(),this._getter=void 0),this._value}};function we(e){return new Ct(e)}function Mt(e){return e==null}function ze(e){let t=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(t,r)}function Lt(e,t){let r=e/t,n=Math.round(r),o=4*Number.EPSILON*Math.max(Math.abs(r),1);return Math.abs(r-n)<o?0:r-n}var Br=Symbol("evaluating");function Jr(e,t,r){let n;Object.defineProperty(e,t,{get(){if(n!==Br)return n===void 0&&(n=Br,n=r()),n},set(o){Object.defineProperty(e,t,{value:o})},configurable:!0})}function Zc(e){return Object.create(Object.getPrototypeOf(e),Object.getOwnPropertyDescriptors(e))}function K(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}function Se(e){let t=Object.getOwnPropertyDescriptor(e,"shape");return t?.get?t.get.raw:t?.value}function Y(e){return Se(e._zod.def)??e._zod.def.shape}function Vr(e,t,r){Object.defineProperty(e,t,{get(){let n=r();return K(this,t,n),n},enumerable:!0,configurable:!0})}function Kr(e,t,r){t in e?K(e,t,r):e[t]=r}function se(e,t,r,n){let o=Y(t);for(let s of r){let i=Object.getOwnPropertyDescriptor(o,s);i.enumerable&&(i.get?Vr(e,s,()=>{let c=t._zod.def.shape[s];return n?n(c,s):c}):Kr(e,s,n?n(i.value,s):i.value))}}function Oc(e,t){for(let r of Reflect.ownKeys(t)){let n=Object.getOwnPropertyDescriptor(t,r);n.enumerable&&(n.get?Vr(e,r,()=>t[r]):Kr(e,r,n.value))}}function Q(...e){let t={};for(let r of e){let n=Object.getOwnPropertyDescriptors(r);Object.assign(t,n)}return Object.defineProperties({},t)}function Ic(e){return Q(e._zod.def)}function Ec(e,t){return t?t.reduce((r,n)=>r?.[n],e):e}function Ac(e){let t=Object.keys(e),r=t.map(n=>e[n]);return Promise.all(r).then(n=>{let o={};for(let s=0;s<t.length;s++)o[t[s]]=n[s];return o})}function Tc(e=10){let t="abcdefghijklmnopqrstuvwxyz",r="";for(let n=0;n<e;n++)r+=t[Math.floor(Math.random()*t.length)];return r}function Rt(e){return JSON.stringify(e)}function jt(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}var We="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function fe(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var Dt=we(()=>{if(j.jitless||typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let e=Function;return new e(""),!0}catch{return!1}});function re(e){if(fe(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!="function")return!0;let r=t.prototype;return!(fe(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function Gr(e){return re(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}function Cc(e){let t=0;for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&t++;return t}var Nc=e=>{let t=typeof e;switch(t){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(e)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":return Array.isArray(e)?"array":e===null?"null":e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?"promise":typeof Map<"u"&&e instanceof Map?"map":typeof Set<"u"&&e instanceof Set?"set":typeof Date<"u"&&e instanceof Date?"date":typeof File<"u"&&e instanceof File?"file":"object";default:throw new Error(`Unknown data type: ${t}`)}},Ft=new Set(["string","number","symbol"]),Hr=new Set(["string","number","bigint","boolean","symbol","undefined"]);function ie(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function G(e,t,r){let n=new e._zod.constr(t??e._zod.def);return(!t||r?.parent)&&(n._zod.parent=e),n}function k(e){let t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function Mc(e){let t;return new Proxy({},{get(r,n,o){return t??(t=e()),Reflect.get(t,n,o)},set(r,n,o,s){return t??(t=e()),Reflect.set(t,n,o,s)},has(r,n){return t??(t=e()),Reflect.has(t,n)},deleteProperty(r,n){return t??(t=e()),Reflect.deleteProperty(t,n)},ownKeys(r){return t??(t=e()),Reflect.ownKeys(t)},getOwnPropertyDescriptor(r,n){return t??(t=e()),Reflect.getOwnPropertyDescriptor(t,n)},defineProperty(r,n,o){return t??(t=e()),Reflect.defineProperty(t,n,o)}})}function qe(e){return typeof e=="bigint"?e.toString()+"n":typeof e=="string"?`"${e}"`:`${e}`}function Ut(e){return Object.keys(e).filter(t=>e[t]._zod.optin!==void 0&&e[t]._zod.optout==="optional")}var Pe={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},Xe={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function Lc(e,t){let r=e._zod.def,n=r.checks;if(n&&n.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");let s={};return se(s,e,Ye(e,t)),G(e,Q(r,{shape:s,checks:[]}))}function Ye(e,t){let r=Y(e),n=[];for(let o of Reflect.ownKeys(t)){if(!Object.getOwnPropertyDescriptor(r,o)?.enumerable)throw new Error(`Unrecognized key: "${String(o)}"`);t[o]&&n.push(o)}return n}function Rc(e,t){let r=e._zod.def,n=r.checks;if(n&&n.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");let s=new Set(Ye(e,t)),i={};return se(i,e,Reflect.ownKeys(Y(e)).filter(c=>!s.has(c))),G(e,Q(r,{shape:i,checks:[]}))}function jc(e,t){if(!re(t))throw new Error("Invalid input to extend: expected a plain object");let r=e._zod.def.checks;if(r&&r.length>0){let o=Y(e);for(let s of Reflect.ownKeys(t))if(Object.getOwnPropertyDescriptor(o,s)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return G(e,Q(e._zod.def,{shape:Wr(e,t)}))}function Wr(e,t){let r={};return se(r,e,Reflect.ownKeys(Y(e))),Oc(r,t),r}function Dc(e,t){if(!re(t))throw new Error("Invalid input to safeExtend: expected a plain object");return G(e,Q(e._zod.def,{shape:Wr(e,t)}))}function Fc(e,t){if(!t?._zod?.def)throw new Error("Invalid input to merge: expected an object schema. To merge a plain shape, use `.extend()`.");if(e._zod.def.checks?.length)throw new Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");let r={};se(r,e,Reflect.ownKeys(Y(e))),se(r,t,Reflect.ownKeys(Y(t)));let n=Q(e._zod.def,{shape:r,get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]});return G(e,n)}function Uc(e,t,r,n="partial"){let s=t._zod.def.checks;if(s&&s.length>0)throw new Error(`.${n}() cannot be used on object schemas containing refinements`);let c=r?new Set(Ye(t,r)):void 0,a={};return se(a,t,Reflect.ownKeys(Y(t)),e&&((l,u)=>c&&!c.has(u)?l:new e({type:"optional",innerType:l}))),G(t,Q(t._zod.def,{shape:a,checks:[]}))}function Bc(e,t,r){let n=r?new Set(Ye(t,r)):void 0,o={};return se(o,t,Reflect.ownKeys(Y(t)),(s,i)=>n&&!n.has(i)?s:new e({type:"nonoptional",innerType:s})),G(t,Q(t._zod.def,{shape:o}))}function U(e,t=0){if(e.aborted===!0)return!0;for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue!==!0)return!0;return!1}function Bt(e,t=0){if(e.aborted===!0)return!0;for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue===!1)return!0;return!1}function H(e,t){return t.map(r=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(e),r})}function de(e){return typeof e=="string"?e:e?.message}function Qe(e){let t=[];for(let r of e??[]){let n=r._zod.def;if(!/_(length|size)$|_equals$/.test(n.check))break;let o=n.maximum??n.length??n.size;o>=0&&t.push([o,r])}return t}function Ze(e,t,r){var n;for(let o=t;o<e.length;o++)(n=e[o]).schema??(n.schema=r)}function W(e,t,r){var n;let o=e.inst?._zod?.traits;o?.has("$ZodType")&&(o.has("$ZodCheck")?(n=e).schema??(n.schema=e.inst):e.schema=e.inst);let s=e.schema!==e.inst?e.schema?._zod.def?.error:void 0,i=e.message?e.message:de(e.inst?._zod.def?.error?.(e))??de(s?.(e))??de(t?.error?.(e))??de(r.customError?.(e))??de(r.localeError?.(e))??"Invalid input",c={};for(let a of Object.keys(e))a==="inst"||a==="schema"||a==="continue"||a==="input"||a==="__proto__"||(c[a]=e[a]);return c.path??(c.path=[]),c.message=i,t?.reportInput&&(c.input=e.input),c}function qr(e){return e instanceof Set?"set":e instanceof Map?"map":e instanceof File?"file":"unknown"}var Jc=/[\uD800-\uDBFF]/;function Oe(e){let t=e.length;if(!Jc.test(e))return t;let r=t;for(let n=0;n<t-1;n++)(e.charCodeAt(n)&64512)===55296&&(e.charCodeAt(n+1)&64512)===56320&&(r--,n++);return r}function Ie(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function Jt(e){let t=typeof e;switch(t){case"number":return Number.isNaN(e)?"nan":"number";case"object":{if(e===null)return"null";if(Array.isArray(e))return"array";let r=e;if(r&&Object.getPrototypeOf(r)!==Object.prototype&&"constructor"in r&&r.constructor)return r.constructor.name}}return t}function ge(...e){let[t,r,n]=e;return typeof t=="string"?{message:t,code:"custom",input:r,inst:n}:{...t}}function Vc(e){return Object.entries(e).filter(([t,r])=>Number.isNaN(Number.parseInt(t,10))).map(t=>t[1])}function Xr(e){let t=atob(e),r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r}function Yr(e){let t="";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return btoa(t)}function Kc(e){let t=e.replace(/-/g,"+").replace(/_/g,"/"),r="=".repeat((4-t.length%4)%4);return Xr(t+r)}function Gc(e){return Yr(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function Hc(e){let t=e.replace(/^0x/,"");if(t.length%2!==0)throw new Error("Invalid hex string length");let r=new Uint8Array(t.length/2);for(let n=0;n<t.length;n+=2)r[n/2]=Number.parseInt(t.slice(n,n+2),16);return r}function Wc(e){return Array.from(e).map(t=>t.toString(16).padStart(2,"0")).join("")}var Nt=class{constructor(...t){}};function Vt(e,t){for(let r in t){let n=Object.getOwnPropertyDescriptor(t,r);n.get?Object.defineProperty(e,r,{...n,enumerable:!1}):Xc(e,r,n.value)}}function te(e,t,r,n=!0){return Object.defineProperty(e,t,{configurable:!0,writable:!0,enumerable:n,value:r}),r}function et(e,t,r){return te(e,t,r,!1)}function qc(e,t){for(let r in e){let n=e[r];Object.defineProperty(t,r,{configurable:!0,enumerable:!0,get(){return te(this,r,n(this))},set(o){te(this,r,o)}})}return t}function Xc(e,t,r){Object.defineProperty(e,t,{configurable:!0,get(){return this==null?r:te(this,t,r.bind(this))},set(n){te(this,t,n)}})}function Yc(e,t){let r=Object.getPrototypeOf(e);return t in r?void 0:r}var Tt,ee=!1,Qc={configurable:!0,get(){ee=!0}};function Z(e,t,r){let n=Object.getPrototypeOf(e._zod);if(t in n&&Tt!==e._zod){Tt=void 0;return}Tt=e._zod,Object.defineProperty(n,t,{configurable:!0,get(){Object.defineProperty(this,t,Qc);let o=ee;ee=!1;try{let s=r(this);return ee?delete this[t]:Object.defineProperty(this,t,{configurable:!0,writable:!0,value:s}),ee=ee||o,s}catch(s){throw delete this[t],ee=ee||o,s}},set(o){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:o})}})}function ea(e,t,r,n){let o=Yc(e,t);o&&Object.defineProperty(o,t,{configurable:!0,get(){let s={configurable:!0,writable:!0,enumerable:n,value:void 0};return Object.defineProperty(this,t,s),s.value=r(this),Object.defineProperty(this,t,s),s.value},set(s){Object.defineProperty(this,t,{configurable:!0,writable:!0,enumerable:n,value:s})}})}var Qr="~constantCatch";function en(e){let t=()=>e;return t[Qr]=!0,t}var tn;var Kt={value:void 0,enumerable:!1},rn="captureStackTrace"in Error?Error:null;function ta(e){let t=rn;if(t){let r=t.stackTraceLimit;if(typeof r=="number"){try{t.stackTraceLimit=0}catch{return rn=null,new e}try{return new e}finally{t.stackTraceLimit=r}}}return new e}function h(e,t,r,n){let o={};function s(d){this.def=d,this.constr=p,this.traits=new Set}s.prototype=o;let i=r,c=i&&new WeakSet;function a(d,f){if(d._zod){if(d._zod.traits.has(e))return}else{Kt.value=new s(f);try{Object.defineProperty(d,"_zod",Kt)}finally{Kt.value=void 0}}if(d._zod.traits.add(e),t(d,f),c){let x=Object.getPrototypeOf(d),_=d._zod.constr.prototype,y=x;for(;y&&y!==_;)y=Object.getPrototypeOf(y);let I=y??x;c.has(I)||(c.add(I),Vt(I,i))}let m=p.prototype;for(let x in m)Object.prototype.hasOwnProperty.call(m,x)&&(x in d||(d[x]=m[x].bind(d)))}let l=n?.Parent??Object;class u extends l{}Object.defineProperty(u,"name",{value:e});function p(d){let f=n?.Parent?ta(u):this;a(f,d);let m=f._zod.deferred;if(m){for(let _ of m)_();f._zod.deferred=void 0}let x=globalThis.__zod_globalConfig?.postProcessor;return x&&x(f),f}return Object.defineProperty(p,"init",{value:a}),Object.defineProperty(p,Symbol.hasInstance,{value:d=>n?.Parent&&d instanceof n.Parent?!0:d?._zod?.traits?.has(e)}),Object.defineProperty(p,"name",{value:e}),p}var q=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},xe=class extends Error{constructor(t){super(`Encountered unidirectional transform during encode: ${t}`),this.name="ZodEncodeError"}};(tn=globalThis).__zod_globalConfig??(tn.__zod_globalConfig={});var j=globalThis.__zod_globalConfig;function B(e){return e&&Object.assign(j,e),j}function ra(){let e=this._zod;return e.message??(e.message=JSON.stringify(e.def,he,2)),e.message}function na(e){this._zod.message=e}var oa={get:ra,set:na,enumerable:!0,configurable:!0},Ht={value:void 0,enumerable:!1},nn=new WeakSet([Object.prototype,Error.prototype]),on=(e,t)=>{e.name="$ZodError",Ht.value=t,Object.defineProperty(e,"issues",Ht),Ht.value=void 0,Object.defineProperty(e,"message",oa);let r=Object.getPrototypeOf(e);nn.has(r)||(nn.add(r),Object.defineProperty(r,"toString",{configurable:!0,enumerable:!1,get(){let n=()=>this.message;return Object.defineProperty(this,"toString",{value:n,configurable:!0,writable:!0}),n},set(n){Object.defineProperty(this,"toString",{value:n,configurable:!0,writable:!0})}}))},sn=h("$ZodError",on),gl=h("$ZodError",on,void 0,{Parent:Error});function sa(e,t,r){return Object.prototype.hasOwnProperty.call(e,t)||(t==="__proto__"?Object.defineProperty(e,t,{value:r(),writable:!0,enumerable:!0,configurable:!0}):e[t]=r()),e[t]}function cn(e,t=r=>r.message){let r={},n=[];for(let o of e.issues)o.path.length>0?sa(r,o.path[0],()=>[]).push(t(o)):n.push(t(o));return{formErrors:n,fieldErrors:r}}function an(e,t=r=>r.message){let r={_errors:[]},n=(o,s=[])=>{for(let i of o.issues)if(i.code==="invalid_union"&&i.errors.length)i.errors.map(c=>n({issues:c},[...s,...i.path]));else if(i.code==="invalid_key")n({issues:i.issues},[...s,...i.path]);else if(i.code==="invalid_element")n({issues:i.issues},[...s,...i.path]);else{let c=[...s,...i.path];if(c.length===0)r._errors.push(t(i));else{let a=r,l=0;for(;l<c.length;){let u=c[l],p=l===c.length-1;if(u==="_errors"){p&&a._errors.push(t(i)),l++;continue}Object.prototype.hasOwnProperty.call(a,u)||Object.defineProperty(a,u,{value:{_errors:[]},enumerable:!0,writable:!0,configurable:!0});let d=a[u];p&&d._errors.push(t(i)),a=d,l++}}}};return n(e),r}function tt(e,t){return{callee:t?.callee??e,Err:t?.Err}}var rt=e=>{let t=(r,n,o,s)=>{let i=o?{...o,async:!1}:{async:!1},c=r._zod.run({value:n,issues:[]},i);if(c instanceof Promise)throw new q;if(c.issues.length){let a=new(s?.Err??e)(c.issues.map(l=>W(l,i,B())));throw We(a,s?.callee??t),a}return c.value};return t};var nt=e=>{let t=async(r,n,o,s)=>{let i=o?{...o,async:!0}:{async:!0},c=r._zod.run({value:n,issues:[]},i);if(c instanceof Promise&&(c=await c),c.issues.length){let a=new(s?.Err??e)(c.issues.map(l=>W(l,i,B())));throw We(a,s?.callee??t),a}return c.value};return t};var ot=e=>(t,r,n)=>{let o=n?{...n,async:!1}:{async:!1},s=t._zod.run({value:r,issues:[]},o);if(s instanceof Promise)throw new q;return s.issues.length?un(e,s.issues,o):{success:!0,data:s.value}};function un(e,t,r){let n;return{success:!1,get error(){return n||(n=new e(t.map(o=>W(o,r,B()))),t=void 0,r=void 0),n},set error(o){n=o,t=void 0,r=void 0}}}var st=e=>async(t,r,n)=>{let o=n?{...n,async:!0}:{async:!0},s=t._zod.run({value:r,issues:[]},o);return s instanceof Promise&&(s=await s),s.issues.length?un(e,s.issues,o):{success:!0,data:s.value}};var ia=Symbol.for("zod.compile.invalid"),ca=Symbol.for("zod.compile.fallback"),Wt=((e,t,r)=>{let n=e._zod.bag.validator;if(n!==void 0){if(n(t)!==ia)return!0;if(n.definite===!0&&r===void 0)return!1}return aa(e,t,r)});function aa(e,t,r){let n=r?{...r,async:!1,abortEarly:!0}:{async:!1,abortEarly:!0},o=e._zod.bag.fallbackRun,s;if(o?(n[ca]=!0,s=o({value:t,issues:[]},n)):s=e._zod.run({value:t,issues:[]},n),s instanceof Promise)throw new q;return s.issues.length===0}var qt=async(e,t,r)=>{let n=r?{...r,async:!0,abortEarly:!0}:{async:!0,abortEarly:!0},o=e._zod.run({value:t,issues:[]},n);return o instanceof Promise&&(o=await o),o.issues.length===0},ln=e=>{let t=rt(e),r=(n,o,s,i)=>{let c=s?{...s,direction:"backward"}:{direction:"backward"};return t(n,o,c,tt(r,i))};return r};var pn=e=>{let t=rt(e),r=(n,o,s,i)=>t(n,o,s,tt(r,i));return r};var dn=e=>{let t=nt(e),r=async(n,o,s,i)=>{let c=s?{...s,direction:"backward"}:{direction:"backward"};return await t(n,o,c,tt(r,i))};return r};var fn=e=>{let t=nt(e),r=async(n,o,s,i)=>await t(n,o,s,tt(r,i));return r};var mn=e=>(t,r,n)=>{let o=n?{...n,direction:"backward"}:{direction:"backward"};return ot(e)(t,r,o)};var hn=e=>(t,r,n)=>ot(e)(t,r,n);var gn=e=>async(t,r,n)=>{let o=n?{...n,direction:"backward"}:{direction:"backward"};return st(e)(t,r,o)};var xn=e=>async(t,r,n)=>st(e)(t,r,n);var bn=/^[cC][0-9a-z]{6,}$/,vn=/^[0-9a-z]+$/,yn=/^[0-7][0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{25}$/,_n=/^[0-9a-vA-V]{20}$/,$n=/^[A-Za-z0-9]{27}$/,kn=/^[a-zA-Z0-9_-]{21}$/;function wn(e){return new RegExp(`^[a-zA-Z0-9_-]{${e}}$`)}var zn=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var Sn=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,Yt=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/;var Pn=/^(?:[A-Za-z0-9_'+\-]+\.)*[A-Za-z0-9_'+\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;var ua="^(?=[\\s\\S]*[\\p{Extended_Pictographic}\\p{Regional_Indicator}\\u20E3])[\\p{Extended_Pictographic}\\p{Emoji_Component}]+$";function Zn(){return new RegExp(ua,"u")}var On=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,In=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/;var En=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,An=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Tn=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Cn=/^(?:[A-Za-z0-9_-]{4})*(?:[A-Za-z0-9_-]{2,3})?$/;var Nn=/^https?$/,Mn=/^\+[1-9]\d{6,14}$/;var Ln="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))";function la(e){return new RegExp(`^${e}$`)}var Rn=la(Ln);function Xt(e){let t="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:e.seconds?`${t}:[0-5]\\d(?:\\.\\d+)?`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function jn(e){return new RegExp(`^${Xt(e)}$`)}function Dn(e){let t=["Z"];e.offset&&t.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let r=`${Xt({precision:e.precision,seconds:!0})}(?:${t.join("|")})`,n=e.local?`${r}|${Xt({precision:e.precision})}`:r;return new RegExp(`^${Ln}T(?:${n})$`)}var Fn=/^[\s\S]{0,}$/;var Qt=/^-?\d+$/,Ee=/^-?\d+(?:\.\d+)?$/;var Un=/^[^A-Z]*$/,Bn=/^[^a-z]*$/;var R=h("$ZodCheck",(e,t)=>{var r;e._zod??(e._zod={}),e._zod.def=t,(r=e._zod).onattach??(r.onattach=[])});var er=e=>{let t=e.value;return!Mt(t)&&t.length!==void 0},it={number:"number",bigint:"bigint",object:"date"},tr=h("$ZodCheckLessThan",(e,t)=>{R.init(e,t);let r=it[typeof t.value];e._zod.check=n=>{(t.inclusive?n.value<=t.value:n.value<t.value)||n.issues.push({origin:it[typeof n.value]??r,code:"too_big",maximum:typeof t.value=="object"?t.value.getTime():t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),rr=h("$ZodCheckGreaterThan",(e,t)=>{R.init(e,t);let r=it[typeof t.value];e._zod.check=n=>{(t.inclusive?n.value>=t.value:n.value>t.value)||n.issues.push({origin:it[typeof n.value]??r,code:"too_small",minimum:typeof t.value=="object"?t.value.getTime():t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Jn=h("$ZodCheckMultipleOf",(e,t)=>{R.init(e,t),e._zod.check=r=>{if(typeof r.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof r.value=="bigint"?t.value!==BigInt(0)&&r.value%t.value===BigInt(0):Lt(r.value,t.value)===0)||r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:t.value,input:r.value,inst:e,continue:!t.abort})}}),Vn=h("$ZodCheckNumberFormat",(e,t)=>{R.init(e,t),t.format=t.format||"float64";let r=t.format?.includes("int"),n=r?"int":"number",[o,s]=Pe[t.format];e._zod.check=i=>{let c=i.value;if(r){if(!Number.isInteger(c)){i.issues.push({expected:n,format:t.format,code:"invalid_type",continue:!1,input:c,inst:e});return}if(!Number.isSafeInteger(c)){c>0?i.issues.push({input:c,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,inclusive:!0,continue:!t.abort}):i.issues.push({input:c,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,inclusive:!0,continue:!t.abort});return}}c<o&&i.issues.push({origin:"number",input:c,code:"too_small",minimum:o,inclusive:!0,inst:e,continue:!t.abort}),c>s&&i.issues.push({origin:"number",input:c,code:"too_big",maximum:s,inclusive:!0,inst:e,continue:!t.abort})}});var Kn=h("$ZodCheckMaxLength",(e,t)=>{var r;R.init(e,t),(r=e._zod.def).when??(r.when=er),e._zod.check=n=>{let o=n.value,s=o.length;if((typeof o=="string"&&s>t.maximum?Oe(o):s)<=t.maximum)return;let c=Ie(o);n.issues.push({origin:c,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Gn=h("$ZodCheckMinLength",(e,t)=>{var r;R.init(e,t),(r=e._zod.def).when??(r.when=er),e._zod.check=n=>{let o=n.value,s=o.length;if((typeof o=="string"&&s>=t.minimum&&s<t.minimum*2?Oe(o):s)>=t.minimum)return;let c=Ie(o);n.issues.push({origin:c,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Hn=h("$ZodCheckLengthEquals",(e,t)=>{var r;R.init(e,t),(r=e._zod.def).when??(r.when=er),e._zod.check=n=>{let o=n.value,s=o.length,i=typeof o=="string"&&s>=t.length&&s<=t.length*2?Oe(o):s;if(i===t.length)return;let c=Ie(o),a=i>t.length;n.issues.push({origin:c,...a?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),Te=h("$ZodCheckStringFormat",(e,t)=>{var r,n;R.init(e,t),t.pattern?(r=e._zod).check??(r.check=o=>{t.pattern.lastIndex=0,!t.pattern.test(o.value)&&o.issues.push({origin:"string",code:"invalid_format",format:t.format,input:o.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(n=e._zod).check??(n.check=()=>{})}),Wn=h("$ZodCheckRegex",(e,t)=>{Te.init(e,t),e._zod.check=r=>{t.pattern.lastIndex=0,!t.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),qn=h("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=Un),Te.init(e,t)}),Xn=h("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=Bn),Te.init(e,t)}),Yn=h("$ZodCheckIncludes",(e,t)=>{R.init(e,t);let r=ie(t.includes),n=new RegExp(typeof t.position=="number"?`^.{${t.position},}${r}`:r);t.pattern=n,e._zod.check=o=>{o.value.includes(t.includes,t.position)||o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:o.value,inst:e,continue:!t.abort})}}),Qn=h("$ZodCheckStartsWith",(e,t)=>{R.init(e,t);let r=new RegExp(`^${ie(t.prefix)}.*`);t.pattern??(t.pattern=r),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),eo=h("$ZodCheckEndsWith",(e,t)=>{R.init(e,t);let r=new RegExp(`.*${ie(t.suffix)}$`);t.pattern??(t.pattern=r),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}});var to=h("$ZodCheckOverwrite",(e,t)=>{R.init(e,t),e._zod.check=r=>{r.value=t.tx(r.value)}});var ct=class{constructor(t=[],r={}){this.content=[],this.indent=0,this.args=t,this.closed=r}indented(t){this.indent+=1;try{t(this)}finally{this.indent-=1}}write(t){if(typeof t=="function"){t(this,{execution:"sync"}),t(this,{execution:"async"});return}let n=t.split(`
1
+ "use strict";(()=>{var Ja=Object.defineProperty;var Va=(e,t)=>{for(var r in t)Ja(e,r,{get:t[r],enumerable:!0})};var z={};Va(z,{BIGINT_FORMAT_RANGES:()=>ut,CONSTANT_CATCH:()=>hn,Class:()=>qt,NUMBER_FORMAT_RANGES:()=>Re,aborted:()=>X,allowsEval:()=>tr,assert:()=>Xa,assertEqual:()=>Ka,assertIs:()=>Ha,assertNever:()=>qa,assertNotEqual:()=>Ga,assignProp:()=>q,attachSchema:()=>De,base64ToUint8Array:()=>fn,base64urlToUint8Array:()=>gc,cached:()=>Ze,captureStackTrace:()=>at,cleanEnum:()=>hc,cleanRegex:()=>Me,clone:()=>re,cloneDef:()=>ec,codePointLength:()=>Fe,constantCatch:()=>gn,createTransparentProxy:()=>ic,defineLazy:()=>sn,defineLazyInternal:()=>I,derived:()=>yc,esc:()=>Qt,escapeRegex:()=>ue,explicitlyAborted:()=>or,extend:()=>uc,finalizeIssue:()=>oe,floatSafeRemainder:()=>Yt,getElementAtPath:()=>tc,getEnumValues:()=>Se,getLengthableOrigin:()=>Ue,getParsedType:()=>sc,getSizableOrigin:()=>dn,hexToUint8Array:()=>xc,hide:()=>dt,installLazyProp:()=>zc,isObject:()=>ve,isPlainObject:()=>me,issue:()=>Ee,joinValues:()=>it,jsonStringifyReplacer:()=>Pe,members:()=>ir,merge:()=>pc,mergeDefs:()=>ce,normalizeParams:()=>k,nullish:()=>Xt,numKeys:()=>oc,objectClone:()=>Ya,omit:()=>cc,optionalKeys:()=>nr,own:()=>fe,parsedType:()=>sr,partial:()=>dc,pick:()=>ac,prefixIssues:()=>ne,primitiveTypes:()=>ln,promiseAllObject:()=>rc,propertyKeyTypes:()=>rr,randomString:()=>nc,rawShape:()=>Oe,required:()=>fc,safeExtend:()=>lc,shallowClone:()=>un,sizeCaps:()=>pt,slugify:()=>er,stringifyPrimitive:()=>ct,toZod:()=>Wa,uint8ArrayToBase64:()=>mn,uint8ArrayToBase64url:()=>bc,uint8ArrayToHex:()=>vc,unwrapMessage:()=>we});function Ka(e){return e}function Ga(e){return e}function Wa(){return e=>e}function Ha(e){}function qa(e){throw new Error("Unexpected value in exhaustive check")}function Xa(e){}function Se(e){let t=Object.values(e).filter(n=>typeof n=="number");return Object.entries(e).filter(([n,o])=>t.indexOf(+n)===-1).map(([n,o])=>o)}function it(e,t="|"){return e.map(r=>ct(r)).join(t)}function Pe(e,t){return typeof t=="bigint"?t.toString():t}var Ht=class{constructor(t){this._getter=t,this._value=void 0}get value(){let t=this._getter;return t!==void 0&&(this._value=t(),this._getter=void 0),this._value}};function Ze(e){return new Ht(e)}function Xt(e){return e==null}function Me(e){let t=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(t,r)}function Yt(e,t){let r=e/t,n=Math.round(r),o=4*Number.EPSILON*Math.max(Math.abs(r),1);return Math.abs(r-n)<o?0:r-n}var on=Symbol("evaluating");function sn(e,t,r){let n;Object.defineProperty(e,t,{get(){if(n!==on)return n===void 0&&(n=on,n=r()),n},set(o){Object.defineProperty(e,t,{value:o})},configurable:!0})}function Ya(e){return Object.create(Object.getPrototypeOf(e),Object.getOwnPropertyDescriptors(e))}function q(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}function Oe(e){let t=Object.getOwnPropertyDescriptor(e,"shape");return t?.get?t.get.raw:t?.value}function ae(e){return Oe(e._zod.def)??e._zod.def.shape}function an(e,t,r){Object.defineProperty(e,t,{get(){let n=r();return q(this,t,n),n},enumerable:!0,configurable:!0})}function cn(e,t,r){t in e?q(e,t,r):e[t]=r}function xe(e,t,r,n){let o=ae(t);for(let s of r){let i=Object.getOwnPropertyDescriptor(o,s);i.enumerable&&(i.get?an(e,s,()=>{let a=t._zod.def.shape[s];return n?n(a,s):a}):cn(e,s,n?n(i.value,s):i.value))}}function Qa(e,t){for(let r of Reflect.ownKeys(t)){let n=Object.getOwnPropertyDescriptor(t,r);n.enumerable&&(n.get?an(e,r,()=>t[r]):cn(e,r,n.value))}}function ce(...e){let t={};for(let r of e){let n=Object.getOwnPropertyDescriptors(r);Object.assign(t,n)}return Object.defineProperties({},t)}function ec(e){return ce(e._zod.def)}function tc(e,t){return t?t.reduce((r,n)=>r?.[n],e):e}function rc(e){let t=Object.keys(e),r=t.map(n=>e[n]);return Promise.all(r).then(n=>{let o={};for(let s=0;s<t.length;s++)o[t[s]]=n[s];return o})}function nc(e=10){let t="abcdefghijklmnopqrstuvwxyz",r="";for(let n=0;n<e;n++)r+=t[Math.floor(Math.random()*t.length)];return r}function Qt(e){return JSON.stringify(e)}function er(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}var at="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function ve(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var tr=Ze(()=>{if(G.jitless||typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let e=Function;return new e(""),!0}catch{return!1}});function me(e){if(ve(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!="function")return!0;let r=t.prototype;return!(ve(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function un(e){return me(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}function oc(e){let t=0;for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&t++;return t}var sc=e=>{let t=typeof e;switch(t){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(e)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":return Array.isArray(e)?"array":e===null?"null":e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?"promise":typeof Map<"u"&&e instanceof Map?"map":typeof Set<"u"&&e instanceof Set?"set":typeof Date<"u"&&e instanceof Date?"date":typeof File<"u"&&e instanceof File?"file":"object";default:throw new Error(`Unknown data type: ${t}`)}},rr=new Set(["string","number","symbol"]),ln=new Set(["string","number","bigint","boolean","symbol","undefined"]);function ue(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function re(e,t,r){let n=new e._zod.constr(t??e._zod.def);return(!t||r?.parent)&&(n._zod.parent=e),n}function k(e){let t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function ic(e){let t;return new Proxy({},{get(r,n,o){return t??(t=e()),Reflect.get(t,n,o)},set(r,n,o,s){return t??(t=e()),Reflect.set(t,n,o,s)},has(r,n){return t??(t=e()),Reflect.has(t,n)},deleteProperty(r,n){return t??(t=e()),Reflect.deleteProperty(t,n)},ownKeys(r){return t??(t=e()),Reflect.ownKeys(t)},getOwnPropertyDescriptor(r,n){return t??(t=e()),Reflect.getOwnPropertyDescriptor(t,n)},defineProperty(r,n,o){return t??(t=e()),Reflect.defineProperty(t,n,o)}})}function ct(e){return typeof e=="bigint"?e.toString()+"n":typeof e=="string"?`"${e}"`:`${e}`}function nr(e){return Object.keys(e).filter(t=>e[t]._zod.optin!==void 0&&e[t]._zod.optout==="optional")}var Re={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},ut={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function ac(e,t){let r=e._zod.def,n=r.checks;if(n&&n.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");let s={};return xe(s,e,lt(e,t)),re(e,ce(r,{shape:s,checks:[]}))}function lt(e,t){let r=ae(e),n=[];for(let o of Reflect.ownKeys(t)){if(!Object.getOwnPropertyDescriptor(r,o)?.enumerable)throw new Error(`Unrecognized key: "${String(o)}"`);t[o]&&n.push(o)}return n}function cc(e,t){let r=e._zod.def,n=r.checks;if(n&&n.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");let s=new Set(lt(e,t)),i={};return xe(i,e,Reflect.ownKeys(ae(e)).filter(a=>!s.has(a))),re(e,ce(r,{shape:i,checks:[]}))}function uc(e,t){if(!me(t))throw new Error("Invalid input to extend: expected a plain object");let r=e._zod.def.checks;if(r&&r.length>0){let o=ae(e);for(let s of Reflect.ownKeys(t))if(Object.getOwnPropertyDescriptor(o,s)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return re(e,ce(e._zod.def,{shape:pn(e,t)}))}function pn(e,t){let r={};return xe(r,e,Reflect.ownKeys(ae(e))),Qa(r,t),r}function lc(e,t){if(!me(t))throw new Error("Invalid input to safeExtend: expected a plain object");return re(e,ce(e._zod.def,{shape:pn(e,t)}))}function pc(e,t){if(!t?._zod?.def)throw new Error("Invalid input to merge: expected an object schema. To merge a plain shape, use `.extend()`.");if(e._zod.def.checks?.length)throw new Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");let r={};xe(r,e,Reflect.ownKeys(ae(e))),xe(r,t,Reflect.ownKeys(ae(t)));let n=ce(e._zod.def,{shape:r,get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]});return re(e,n)}function dc(e,t,r,n="partial"){let s=t._zod.def.checks;if(s&&s.length>0)throw new Error(`.${n}() cannot be used on object schemas containing refinements`);let a=r?new Set(lt(t,r)):void 0,c={};return xe(c,t,Reflect.ownKeys(ae(t)),e&&((u,l)=>a&&!a.has(l)?u:new e({type:"optional",innerType:u}))),re(t,ce(t._zod.def,{shape:c,checks:[]}))}function fc(e,t,r){let n=r?new Set(lt(t,r)):void 0,o={};return xe(o,t,Reflect.ownKeys(ae(t)),(s,i)=>n&&!n.has(i)?s:new e({type:"nonoptional",innerType:s})),re(t,ce(t._zod.def,{shape:o}))}function X(e,t=0){if(e.aborted===!0)return!0;for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue!==!0)return!0;return!1}function or(e,t=0){if(e.aborted===!0)return!0;for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue===!1)return!0;return!1}function ne(e,t){return t.map(r=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(e),r})}function we(e){return typeof e=="string"?e:e?.message}function pt(e){let t=[];for(let r of e??[]){let n=r._zod.def;if(!/_(length|size)$|_equals$/.test(n.check))break;let o=n.maximum??n.length??n.size;o>=0&&t.push([o,r])}return t}function De(e,t,r){var n;for(let o=t;o<e.length;o++)(n=e[o]).schema??(n.schema=r)}function oe(e,t,r){var n;let o=e.inst?._zod?.traits;o?.has("$ZodType")&&(o.has("$ZodCheck")?(n=e).schema??(n.schema=e.inst):e.schema=e.inst);let s=e.schema!==e.inst?e.schema?._zod.def?.error:void 0,i=e.message?e.message:we(e.inst?._zod.def?.error?.(e))??we(s?.(e))??we(t?.error?.(e))??we(r.customError?.(e))??we(r.localeError?.(e))??"Invalid input",a={};for(let c of Object.keys(e))c==="inst"||c==="schema"||c==="continue"||c==="input"||c==="__proto__"||(a[c]=e[c]);return a.path??(a.path=[]),a.message=i,t?.reportInput&&(a.input=e.input),a}function dn(e){return e instanceof Set?"set":e instanceof Map?"map":e instanceof File?"file":"unknown"}var mc=/[\uD800-\uDBFF]/;function Fe(e){let t=e.length;if(!mc.test(e))return t;let r=t;for(let n=0;n<t-1;n++)(e.charCodeAt(n)&64512)===55296&&(e.charCodeAt(n+1)&64512)===56320&&(r--,n++);return r}function Ue(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function sr(e){let t=typeof e;switch(t){case"number":return Number.isNaN(e)?"nan":"number";case"object":{if(e===null)return"null";if(Array.isArray(e))return"array";let r=e;if(r&&Object.getPrototypeOf(r)!==Object.prototype&&"constructor"in r&&r.constructor)return r.constructor.name}}return t}function Ee(...e){let[t,r,n]=e;return typeof t=="string"?{message:t,code:"custom",input:r,inst:n}:{...t}}function hc(e){return Object.entries(e).filter(([t,r])=>Number.isNaN(Number.parseInt(t,10))).map(t=>t[1])}function fn(e){let t=atob(e),r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r}function mn(e){let t="";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return btoa(t)}function gc(e){let t=e.replace(/-/g,"+").replace(/_/g,"/"),r="=".repeat((4-t.length%4)%4);return fn(t+r)}function bc(e){return mn(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function xc(e){let t=e.replace(/^0x/,"");if(t.length%2!==0)throw new Error("Invalid hex string length");let r=new Uint8Array(t.length/2);for(let n=0;n<t.length;n+=2)r[n/2]=Number.parseInt(t.slice(n,n+2),16);return r}function vc(e){return Array.from(e).map(t=>t.toString(16).padStart(2,"0")).join("")}var qt=class{constructor(...t){}};function ir(e,t){for(let r in t){let n=Object.getOwnPropertyDescriptor(t,r);n.get?Object.defineProperty(e,r,{...n,enumerable:!1}):_c(e,r,n.value)}}function fe(e,t,r,n=!0){return Object.defineProperty(e,t,{configurable:!0,writable:!0,enumerable:n,value:r}),r}function dt(e,t,r){return fe(e,t,r,!1)}function yc(e,t){for(let r in e){let n=e[r];Object.defineProperty(t,r,{configurable:!0,enumerable:!0,get(){return fe(this,r,n(this))},set(o){fe(this,r,o)}})}return t}function _c(e,t,r){Object.defineProperty(e,t,{configurable:!0,get(){return this==null?r:fe(this,t,r.bind(this))},set(n){fe(this,t,n)}})}function $c(e,t){let r=Object.getPrototypeOf(e);return t in r?void 0:r}var Wt,de=!1,kc={configurable:!0,get(){de=!0}};function I(e,t,r){let n=Object.getPrototypeOf(e._zod);if(t in n&&Wt!==e._zod){Wt=void 0;return}Wt=e._zod,Object.defineProperty(n,t,{configurable:!0,get(){Object.defineProperty(this,t,kc);let o=de;de=!1;try{let s=r(this);return de?delete this[t]:Object.defineProperty(this,t,{configurable:!0,writable:!0,value:s}),de=de||o,s}catch(s){throw delete this[t],de=de||o,s}},set(o){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:o})}})}function zc(e,t,r,n){let o=$c(e,t);o&&Object.defineProperty(o,t,{configurable:!0,get(){let s={configurable:!0,writable:!0,enumerable:n,value:void 0};return Object.defineProperty(this,t,s),s.value=r(this),Object.defineProperty(this,t,s),s.value},set(s){Object.defineProperty(this,t,{configurable:!0,writable:!0,enumerable:n,value:s})}})}var hn="~constantCatch";function gn(e){let t=()=>e;return t[hn]=!0,t}var bn;var ar={value:void 0,enumerable:!1},xn="captureStackTrace"in Error?Error:null;function wc(e){let t=xn;if(t){let r=t.stackTraceLimit;if(typeof r=="number"){try{t.stackTraceLimit=0}catch{return xn=null,new e}try{return new e}finally{t.stackTraceLimit=r}}}return new e}function h(e,t,r,n){let o={};function s(d){this.def=d,this.constr=p,this.traits=new Set}s.prototype=o;let i=r,a=i&&new WeakSet;function c(d,f){if(d._zod){if(d._zod.traits.has(e))return}else{ar.value=new s(f);try{Object.defineProperty(d,"_zod",ar)}finally{ar.value=void 0}}if(d._zod.traits.add(e),t(d,f),a){let g=Object.getPrototypeOf(d),y=d._zod.constr.prototype,_=g;for(;_&&_!==y;)_=Object.getPrototypeOf(_);let A=_??g;a.has(A)||(a.add(A),ir(A,i))}let m=p.prototype;for(let g in m)Object.prototype.hasOwnProperty.call(m,g)&&(g in d||(d[g]=m[g].bind(d)))}let u=n?.Parent??Object;class l extends u{}Object.defineProperty(l,"name",{value:e});function p(d){let f=n?.Parent?wc(l):this;c(f,d);let m=f._zod.deferred;if(m){for(let y of m)y();f._zod.deferred=void 0}let g=globalThis.__zod_globalConfig?.postProcessor;return g&&g(f),f}return Object.defineProperty(p,"init",{value:c}),Object.defineProperty(p,Symbol.hasInstance,{value:d=>n?.Parent&&d instanceof n.Parent?!0:d?._zod?.traits?.has(e)}),Object.defineProperty(p,"name",{value:e}),p}var se=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},Ie=class extends Error{constructor(t){super(`Encountered unidirectional transform during encode: ${t}`),this.name="ZodEncodeError"}};(bn=globalThis).__zod_globalConfig??(bn.__zod_globalConfig={});var G=globalThis.__zod_globalConfig;function Y(e){return e&&Object.assign(G,e),G}function Sc(){let e=this._zod;return e.message??(e.message=JSON.stringify(e.def,Pe,2)),e.message}function Pc(e){this._zod.message=e}var Zc={get:Sc,set:Pc,enumerable:!0,configurable:!0},ur={value:void 0,enumerable:!1},vn=new WeakSet([Object.prototype,Error.prototype]),yn=(e,t)=>{e.name="$ZodError",ur.value=t,Object.defineProperty(e,"issues",ur),ur.value=void 0,Object.defineProperty(e,"message",Zc);let r=Object.getPrototypeOf(e);vn.has(r)||(vn.add(r),Object.defineProperty(r,"toString",{configurable:!0,enumerable:!1,get(){let n=()=>this.message;return Object.defineProperty(this,"toString",{value:n,configurable:!0,writable:!0}),n},set(n){Object.defineProperty(this,"toString",{value:n,configurable:!0,writable:!0})}}))},_n=h("$ZodError",yn),Gl=h("$ZodError",yn,void 0,{Parent:Error});function Oc(e,t,r){return Object.prototype.hasOwnProperty.call(e,t)||(t==="__proto__"?Object.defineProperty(e,t,{value:r(),writable:!0,enumerable:!0,configurable:!0}):e[t]=r()),e[t]}function $n(e,t=r=>r.message){let r={},n=[];for(let o of e.issues)o.path.length>0?Oc(r,o.path[0],()=>[]).push(t(o)):n.push(t(o));return{formErrors:n,fieldErrors:r}}function kn(e,t=r=>r.message){let r={_errors:[]},n=(o,s=[])=>{for(let i of o.issues)if(i.code==="invalid_union"&&i.errors.length)i.errors.map(a=>n({issues:a},[...s,...i.path]));else if(i.code==="invalid_key")n({issues:i.issues},[...s,...i.path]);else if(i.code==="invalid_element")n({issues:i.issues},[...s,...i.path]);else{let a=[...s,...i.path];if(a.length===0)r._errors.push(t(i));else{let c=r,u=0;for(;u<a.length;){let l=a[u],p=u===a.length-1;if(l==="_errors"){p&&c._errors.push(t(i)),u++;continue}Object.prototype.hasOwnProperty.call(c,l)||Object.defineProperty(c,l,{value:{_errors:[]},enumerable:!0,writable:!0,configurable:!0});let d=c[l];p&&d._errors.push(t(i)),c=d,u++}}}};return n(e),r}function ft(e,t){return{callee:t?.callee??e,Err:t?.Err}}var mt=e=>{let t=(r,n,o,s)=>{let i=o?{...o,async:!1}:{async:!1},a=r._zod.run({value:n,issues:[]},i);if(a instanceof Promise)throw new se;if(a.issues.length){let c=new(s?.Err??e)(a.issues.map(u=>oe(u,i,Y())));throw at(c,s?.callee??t),c}return a.value};return t};var ht=e=>{let t=async(r,n,o,s)=>{let i=o?{...o,async:!0}:{async:!0},a=r._zod.run({value:n,issues:[]},i);if(a instanceof Promise&&(a=await a),a.issues.length){let c=new(s?.Err??e)(a.issues.map(u=>oe(u,i,Y())));throw at(c,s?.callee??t),c}return a.value};return t};var gt=e=>(t,r,n)=>{let o=n?{...n,async:!1}:{async:!1},s=t._zod.run({value:r,issues:[]},o);if(s instanceof Promise)throw new se;return s.issues.length?zn(e,s.issues,o):{success:!0,data:s.value}};function zn(e,t,r){let n;return{success:!1,get error(){return n||(n=new e(t.map(o=>oe(o,r,Y()))),t=void 0,r=void 0),n},set error(o){n=o,t=void 0,r=void 0}}}var bt=e=>async(t,r,n)=>{let o=n?{...n,async:!0}:{async:!0},s=t._zod.run({value:r,issues:[]},o);return s instanceof Promise&&(s=await s),s.issues.length?zn(e,s.issues,o):{success:!0,data:s.value}};var Ec=Symbol.for("zod.compile.invalid"),Ic=Symbol.for("zod.compile.fallback"),lr=((e,t,r)=>{let n=e._zod.bag.validator;if(n!==void 0){if(n(t)!==Ec)return!0;if(n.definite===!0&&r===void 0)return!1}return Ac(e,t,r)});function Ac(e,t,r){let n=r?{...r,async:!1,abortEarly:!0}:{async:!1,abortEarly:!0},o=e._zod.bag.fallbackRun,s;if(o?(n[Ic]=!0,s=o({value:t,issues:[]},n)):s=e._zod.run({value:t,issues:[]},n),s instanceof Promise)throw new se;return s.issues.length===0}var pr=async(e,t,r)=>{let n=r?{...r,async:!0,abortEarly:!0}:{async:!0,abortEarly:!0},o=e._zod.run({value:t,issues:[]},n);return o instanceof Promise&&(o=await o),o.issues.length===0},wn=e=>{let t=mt(e),r=(n,o,s,i)=>{let a=s?{...s,direction:"backward"}:{direction:"backward"};return t(n,o,a,ft(r,i))};return r};var Sn=e=>{let t=mt(e),r=(n,o,s,i)=>t(n,o,s,ft(r,i));return r};var Pn=e=>{let t=ht(e),r=async(n,o,s,i)=>{let a=s?{...s,direction:"backward"}:{direction:"backward"};return await t(n,o,a,ft(r,i))};return r};var Zn=e=>{let t=ht(e),r=async(n,o,s,i)=>await t(n,o,s,ft(r,i));return r};var On=e=>(t,r,n)=>{let o=n?{...n,direction:"backward"}:{direction:"backward"};return gt(e)(t,r,o)};var En=e=>(t,r,n)=>gt(e)(t,r,n);var In=e=>async(t,r,n)=>{let o=n?{...n,direction:"backward"}:{direction:"backward"};return bt(e)(t,r,o)};var An=e=>async(t,r,n)=>bt(e)(t,r,n);var Tn=/^[cC][0-9a-z]{6,}$/,Cn=/^[0-9a-z]+$/,Nn=/^[0-7][0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{25}$/,jn=/^[0-9a-vA-V]{20}$/,Ln=/^[A-Za-z0-9]{27}$/,Mn=/^[a-zA-Z0-9_-]{21}$/;function Rn(e){return new RegExp(`^[a-zA-Z0-9_-]{${e}}$`)}var Dn=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var Fn=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,fr=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/;var Un=/^(?:[A-Za-z0-9_'+\-]+\.)*[A-Za-z0-9_'+\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;var Tc="^(?=[\\s\\S]*[\\p{Extended_Pictographic}\\p{Regional_Indicator}\\u20E3])[\\p{Extended_Pictographic}\\p{Emoji_Component}]+$";function Bn(){return new RegExp(Tc,"u")}var Jn=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Vn=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/;var Kn=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,Gn=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Wn=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Hn=/^(?:[A-Za-z0-9_-]{4})*(?:[A-Za-z0-9_-]{2,3})?$/;var qn=/^https?$/,Xn=/^\+[1-9]\d{6,14}$/;var Yn="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))";function Cc(e){return new RegExp(`^${e}$`)}var Qn=Cc(Yn);function dr(e){let t="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:e.seconds?`${t}:[0-5]\\d(?:\\.\\d+)?`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function eo(e){return new RegExp(`^${dr(e)}$`)}function to(e){let t=["Z"];e.offset&&t.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let r=`${dr({precision:e.precision,seconds:!0})}(?:${t.join("|")})`,n=e.local?`${r}|${dr({precision:e.precision})}`:r;return new RegExp(`^${Yn}T(?:${n})$`)}var ro=/^[\s\S]{0,}$/;var mr=/^-?\d+$/,Be=/^-?\d+(?:\.\d+)?$/,no=/^(?:true|false)$/i;var oo=/^[^A-Z]*$/,so=/^[^a-z]*$/;var V=h("$ZodCheck",(e,t)=>{var r;e._zod??(e._zod={}),e._zod.def=t,(r=e._zod).onattach??(r.onattach=[])});var hr=e=>{let t=e.value;return!Xt(t)&&t.length!==void 0},xt={number:"number",bigint:"bigint",object:"date"},gr=h("$ZodCheckLessThan",(e,t)=>{V.init(e,t);let r=xt[typeof t.value];e._zod.check=n=>{(t.inclusive?n.value<=t.value:n.value<t.value)||n.issues.push({origin:xt[typeof n.value]??r,code:"too_big",maximum:typeof t.value=="object"?t.value.getTime():t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),br=h("$ZodCheckGreaterThan",(e,t)=>{V.init(e,t);let r=xt[typeof t.value];e._zod.check=n=>{(t.inclusive?n.value>=t.value:n.value>t.value)||n.issues.push({origin:xt[typeof n.value]??r,code:"too_small",minimum:typeof t.value=="object"?t.value.getTime():t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),io=h("$ZodCheckMultipleOf",(e,t)=>{V.init(e,t),e._zod.check=r=>{if(typeof r.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof r.value=="bigint"?t.value!==BigInt(0)&&r.value%t.value===BigInt(0):Yt(r.value,t.value)===0)||r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:t.value,input:r.value,inst:e,continue:!t.abort})}}),ao=h("$ZodCheckNumberFormat",(e,t)=>{V.init(e,t),t.format=t.format||"float64";let r=t.format?.includes("int"),n=r?"int":"number",[o,s]=Re[t.format];e._zod.check=i=>{let a=i.value;if(r){if(!Number.isInteger(a)){i.issues.push({expected:n,format:t.format,code:"invalid_type",continue:!1,input:a,inst:e});return}if(!Number.isSafeInteger(a)){a>0?i.issues.push({input:a,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,inclusive:!0,continue:!t.abort}):i.issues.push({input:a,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,inclusive:!0,continue:!t.abort});return}}a<o&&i.issues.push({origin:"number",input:a,code:"too_small",minimum:o,inclusive:!0,inst:e,continue:!t.abort}),a>s&&i.issues.push({origin:"number",input:a,code:"too_big",maximum:s,inclusive:!0,inst:e,continue:!t.abort})}});var co=h("$ZodCheckMaxLength",(e,t)=>{var r;V.init(e,t),(r=e._zod.def).when??(r.when=hr),e._zod.check=n=>{let o=n.value,s=o.length;if((typeof o=="string"&&s>t.maximum?Fe(o):s)<=t.maximum)return;let a=Ue(o);n.issues.push({origin:a,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),uo=h("$ZodCheckMinLength",(e,t)=>{var r;V.init(e,t),(r=e._zod.def).when??(r.when=hr),e._zod.check=n=>{let o=n.value,s=o.length;if((typeof o=="string"&&s>=t.minimum&&s<t.minimum*2?Fe(o):s)>=t.minimum)return;let a=Ue(o);n.issues.push({origin:a,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),lo=h("$ZodCheckLengthEquals",(e,t)=>{var r;V.init(e,t),(r=e._zod.def).when??(r.when=hr),e._zod.check=n=>{let o=n.value,s=o.length,i=typeof o=="string"&&s>=t.length&&s<=t.length*2?Fe(o):s;if(i===t.length)return;let a=Ue(o),c=i>t.length;n.issues.push({origin:a,...c?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),Ve=h("$ZodCheckStringFormat",(e,t)=>{var r,n;V.init(e,t),t.pattern?(r=e._zod).check??(r.check=o=>{t.pattern.lastIndex=0,!t.pattern.test(o.value)&&o.issues.push({origin:"string",code:"invalid_format",format:t.format,input:o.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(n=e._zod).check??(n.check=()=>{})}),po=h("$ZodCheckRegex",(e,t)=>{Ve.init(e,t),e._zod.check=r=>{t.pattern.lastIndex=0,!t.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),fo=h("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=oo),Ve.init(e,t)}),mo=h("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=so),Ve.init(e,t)}),ho=h("$ZodCheckIncludes",(e,t)=>{V.init(e,t);let r=ue(t.includes),n=new RegExp(typeof t.position=="number"?`^.{${t.position},}${r}`:r);t.pattern=n,e._zod.check=o=>{o.value.includes(t.includes,t.position)||o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:o.value,inst:e,continue:!t.abort})}}),go=h("$ZodCheckStartsWith",(e,t)=>{V.init(e,t);let r=new RegExp(`^${ue(t.prefix)}.*`);t.pattern??(t.pattern=r),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),bo=h("$ZodCheckEndsWith",(e,t)=>{V.init(e,t);let r=new RegExp(`.*${ue(t.suffix)}$`);t.pattern??(t.pattern=r),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}});var xo=h("$ZodCheckOverwrite",(e,t)=>{V.init(e,t),e._zod.check=r=>{r.value=t.tx(r.value)}});var vt=class{constructor(t=[],r={}){this.content=[],this.indent=0,this.args=t,this.closed=r}indented(t){this.indent+=1;try{t(this)}finally{this.indent-=1}}write(t){if(typeof t=="function"){t(this,{execution:"sync"}),t(this,{execution:"async"});return}let n=t.split(`
2
2
  `).filter(i=>i),o=Math.min(...n.map(i=>i.length-i.trimStart().length)),s=n.map(i=>i.slice(o)).map(i=>" ".repeat(this.indent*2)+i);for(let i of s)this.content.push(i)}compile(){let t=Function,r=this?.content??[""];return new t(...Object.keys(this.closed),`return function (${this.args.join(", ")}) {
3
3
  ${r.join(`
4
4
  `)}
5
- };`)(...Object.values(this.closed))}};var no={major:4,minor:6,patch:7};var A=h("$ZodType",(e,t)=>{var r;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=no;let n=e._zod.def.checks,o=e._zod.traits.has("$ZodCheck")?[e,...n??[]]:n?.length?[...n]:[];for(let s of o)for(let i of s._zod.onattach)i(e);if(o.length===0)(r=e._zod).deferred??(r.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let s=(c,a,l)=>{if(c.memo)return c;let u=U(c),p;for(let d of a){if(d._zod.def.when){if(Bt(c)||!d._zod.def.when(c))continue}else if(u)continue;let f=c.issues.length,m=d._zod.check(c);if(m instanceof Promise&&l?.async===!1)throw new q;if(p||m instanceof Promise)p=(p??Promise.resolve()).then(async()=>{await m,c.issues.length!==f&&(Ze(c.issues,f,e),u||(u=U(c,f)))});else{if(c.issues.length===f)continue;Ze(c.issues,f,e),u||(u=U(c,f))}}return p?p.then(()=>c):c},i=(c,a,l)=>{if(U(c))return c.aborted=!0,c;let u=s(a,o,l);if(u instanceof Promise){if(l.async===!1)throw new q;return u.then(p=>e._zod.parse(p,l))}return e._zod.parse(u,l)};e._zod.run=(c,a)=>{if(a.skipChecks)return e._zod.parse(c,a);if(a.direction==="backward"){let u=e._zod.parse({value:c.value,issues:[]},{...a,skipChecks:!0});return u instanceof Promise?u.then(p=>i(p,c,a)):i(u,c,a)}let l=e._zod.parse(c,a);if(l instanceof Promise){if(a.async===!1)throw new q;return l.then(u=>s(u,o,a))}return s(l,o,a)}}},{get"~standard"(){return et(this,"~standard",or(this))},set"~standard"(e){te(this,"~standard",e)}}),bo=(e,t)=>e.issues.length?{issues:e.issues.map(r=>W(r,t,B()))}:{value:e.value};async function pa(e,t){let r={async:!0};return bo(await e._zod.run({value:t,issues:[]},r),r)}function or(e){return{validate:t=>{let r={async:!1};try{let n=e._zod.run({value:t,issues:[]},r);if(!(n instanceof Promise))return bo(n,r)}catch{}return pa(e,t)},vendor:"zod",version:1}}var pt=h("$ZodString",(e,t)=>{A.init(e,t),e._zod.pattern=t.pattern??Fn,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=String(r.value)}catch{}return typeof r.value=="string"||r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:e}),r}}),E=h("$ZodStringFormat",(e,t)=>{Te.init(e,t),pt.init(e,t)}),vo=h("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=Sn),E.init(e,t)}),yo=h("$ZodUUID",(e,t)=>{if(t.version){let n={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(n===void 0)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=Yt(n))}else t.pattern??(t.pattern=Yt());E.init(e,t)}),_o=h("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=Pn),E.init(e,t)}),$o=1,ut=2;function ko(e){try{return typeof URL<"u"&&typeof URL.canParse=="function"?URL.canParse(e):(new URL(e),!0)}catch{return!1}}function da(e,t){return!("normalize"in t)&&!("hostname"in t)&&!("protocol"in t)?ko(e)||ut:fa(e,t)}function fa(e,t){if(!t.normalize&&t.protocol?.source===Nn.source&&!/^https?:\/\//i.test(e))return $o;try{if(typeof URL<"u"){let r=URL;if(typeof r.parse=="function")return r.parse(e)??ut}return new URL(e)}catch{return ut}}var ma=/[\t\n\r]/g;function oo(e){return e.replace(ma,"")}function ha(e,t){return t.lastIndex=0,t.test(e.hostname)}function ga(e,t){return t.lastIndex=0,t.test(e.protocol.endsWith(":")?e.protocol.slice(0,-1):e.protocol)}var wo=h("$ZodURL",(e,t)=>{E.init(e,t),e._zod.check=r=>{try{let n=r.value.trim(),o=da(n,t);if(o===$o){r.issues.push({code:"invalid_format",format:"url",note:"Invalid URL format",input:r.value,inst:e,continue:!t.abort});return}if(o===ut){r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:e,continue:!t.abort});return}if(o===!0){r.value=oo(n);return}t.hostname&&!ha(o,t.hostname)&&r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:t.hostname.source,input:r.value,inst:e,continue:!t.abort}),t.protocol&&!ga(o,t.protocol)&&r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:r.value,inst:e,continue:!t.abort}),r.value=t.normalize?o.href:oo(n);return}catch{r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:e,continue:!t.abort})}}}),zo=h("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=Zn()),E.init(e,t)}),So=h("$ZodNanoID",(e,t)=>{if(t.length!==void 0&&(!Number.isInteger(t.length)||t.length<1))throw new Error(`Invalid nanoid length: ${t.length}`);t.pattern??(t.pattern=t.length===void 0?kn:wn(t.length)),E.init(e,t)}),Po=h("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=bn),E.init(e,t)}),Zo=h("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=vn),E.init(e,t)}),Oo=h("$ZodULID",(e,t)=>{t.pattern??(t.pattern=yn),E.init(e,t)}),Io=h("$ZodXID",(e,t)=>{t.pattern??(t.pattern=_n),E.init(e,t)}),Eo=h("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=$n),E.init(e,t)}),Ao=h("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=Dn(t)),E.init(e,t)}),To=h("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=Rn),E.init(e,t)}),Co=h("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=jn(t)),E.init(e,t)}),No=h("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=zn),E.init(e,t)}),Mo=h("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=On),E.init(e,t)}),xa=/^[0-9a-fA-F:.]+$/;function Lo(e){return xa.test(e)?ko(`http://[${e}]`):!1}var Ro=h("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=In),E.init(e,t),e._zod.check=r=>{Lo(r.value)||r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:e,continue:!t.abort})}});var jo=h("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=En),E.init(e,t)});function ba(e){let t=e.split("/");if(t.length!==2)return!1;let[r,n]=t;if(!n)return!1;let o=Number(n);return`${o}`!==n||o<0||o>128?!1:Lo(r)}var Do=h("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=An),E.init(e,t),e._zod.check=r=>{ba(r.value)||r.issues.push({code:"invalid_format",format:"cidrv6",input:r.value,inst:e,continue:!t.abort})}});function Fo(e){if(e==="")return!0;if(/\s/.test(e)||e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}var sr=/^[0-9a-zA-Z+/]*={0,2}$/,Uo=h("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=sr),E.init(e,t),e._zod.check=r=>{Fo(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:e,continue:!t.abort})}}),dt=/^[A-Za-z0-9_-]*$/;function va(e){if(!dt.test(e))return!1;let t=e.replace(/[-_]/g,n=>n==="-"?"+":"/"),r=t.padEnd(Math.ceil(t.length/4)*4,"=");return Fo(r)}var Bo=h("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=dt),E.init(e,t),e._zod.check=r=>{va(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:e,continue:!t.abort})}}),Jo=h("$ZodE164",(e,t)=>{t.pattern??(t.pattern=Mn),E.init(e,t)});function ya(e,t=null){try{let r=e.split(".");if(r.length!==3)return!1;let[n]=r;if(!n)return!1;let o=JSON.parse(atob(n));return!("typ"in o&&o?.typ!=="JWT"||!o.alg||t&&(!("alg"in o)||o.alg!==t))}catch{return!1}}var Vo=h("$ZodJWT",(e,t)=>{E.init(e,t),e._zod.check=r=>{ya(r.value,t.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:e,continue:!t.abort})}});var ir=h("$ZodNumber",(e,t)=>{A.init(e,t),e._zod.pattern=Ee,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=Number(r.value)}catch{}let o=r.value;if(typeof o=="number"&&!Number.isNaN(o)&&Number.isFinite(o))return r;let s=typeof o=="number"?Number.isNaN(o)?"NaN":Number.isFinite(o)?void 0:String(o):void 0;return r.issues.push({expected:"number",code:"invalid_type",input:o,inst:e,...s?{received:s}:{}}),r}}),Ko=h("$ZodNumberFormat",(e,t)=>{Vn.init(e,t),ir.init(e,t)});var Go=h("$ZodUnknown",(e,t)=>{A.init(e,t),e._zod.parse=r=>r}),Ho=h("$ZodNever",(e,t)=>{A.init(e,t),e._zod.parse=(r,n)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:e}),r)});function _a(e,t){let r=Qe(e._zod.def.checks);if(!r.length)return;let n=Math.min(...r.map(s=>s[0])),o=e._zod.parse;e._zod.parse=(s,i)=>{let c=t(s.value);if(c>n&&!i?.skipChecks&&i?.direction!=="backward"){for(let[a,l]of Qe(e._zod.def.checks))if(c>a&&l._zod.def.when(s)){let u=s.issues.length;return l._zod.check(s),s.issues[u].continue=!1,Ze(s.issues,u,e),s}}return o(s,i)}}var $a=e=>Array.isArray(e)?e.length:-1;function so(e,t,r){e.issues.length&&t.issues.push(...H(r,e.issues)),t.value[r]=e.value}var Wo=h("$ZodArray",(e,t)=>{A.init(e,t);let r=j.memoizer;r?.attach(e),e._zod.parse=(n,o)=>{let s=n.value;if(!Array.isArray(s))return n.issues.push({expected:"array",code:"invalid_type",input:s,inst:e}),n;n.value=r?r.alloc(e,n,Array(s.length),o):Array(s.length);let i=[],c=o?.abortEarly;for(let a=0;a<s.length;a++){let l=s[a],u=t.element._zod.run({value:l,issues:[]},o);if(u instanceof Promise)i.push(u.then(p=>so(p,n,a)));else if(so(u,n,a),c&&u.issues.length!==0&&U(u))break}return i.length?Promise.all(i).then(()=>n):n},_a(e,$a)});function lt(e,t,r,n,o,s){let i=r in n,c=s==="optional";if(!(!i&&c&&o==="optional")){if(e.issues.length){if(o!==void 0&&c&&!i)return;t.issues.push(...H(r,e.issues))}if(!i&&o===void 0){e.issues.length||t.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[r]});return}e.value===void 0?(i||o==="defaulted"&&!c)&&(t.value[r]=void 0):t.value[r]=e.value}}var ka=[];function qo(e){let t=Object.keys(e.shape),r=Object.getOwnPropertySymbols(e.shape),n=r.length?r:ka,o=n.length?[...t,...n]:t;for(let i of o)if(!e.shape?.[i]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${String(i)}": expected a Zod schema`);let s=Ut(e.shape);return{...e,allKeys:o,symbolKeys:n,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(s)}}function Xo(e,t,r,n,o,s,i){let c=[],a=o.keySet,l=o.catchall._zod,u=l.def.type,p=l.optin,d=l.optout,f=0;for(let m in t){if(i&&r.issues.length!==f){if(U(r,f))break;f=r.issues.length}if(a.has(m))continue;if(m==="__proto__"){u==="never"&&c.push(m);continue}if(u==="never"){c.push(m);continue}let x=l.run({value:t[m],issues:[]},n);x instanceof Promise?e.push(x.then(_=>lt(_,r,m,t,p,d))):lt(x,r,m,t,p,d)}return c.length&&r.issues.push({code:"unrecognized_keys",keys:c,input:t,inst:s,continue:!0}),e.length?Promise.all(e).then(()=>r):r}var wa=h("$ZodObject",(e,t)=>{A.init(e,t);let r=Object.getOwnPropertyDescriptor(t,"shape"),n=r?.get?r.get.raw:t.shape??{};if(n){let l=()=>{let u={...n};return Object.defineProperty(t,"shape",{value:u}),l.raw=u,u};l.raw=n,Object.defineProperty(t,"shape",{get:l})}let o=we(()=>qo(t));Z(e,"propValues",l=>{let u=l.def.shape,p={};for(let d in u){let f=u[d]._zod;if(f.values){Object.prototype.hasOwnProperty.call(p,d)||K(p,d,new Set);for(let m of f.values)p[d].add(m);f.optin!==void 0&&p[d].add(void 0)}}return p});let s=fe,i=t.catchall,c,a=j.memoizer;a?.attach(e),e._zod.parse=(l,u)=>{c??(c=o.value);let p=l.value;if(!s(p))return l.issues.push({expected:"object",code:"invalid_type",input:p,inst:e}),l;l.value=a?a.alloc(e,l,{},u):{};let d=[],f=c.shape,m=u?.abortEarly,x=l.issues.length;for(let _ of c.allKeys){if(m&&l.issues.length!==x){if(U(l,x))break;x=l.issues.length}if(_==="__proto__")continue;let y=f[_],I=y._zod.optin,F=y._zod.optout,$=y._zod.run({value:p[_],issues:[]},u);$ instanceof Promise?d.push($.then(b=>lt(b,l,_,p,I,F))):lt($,l,_,p,I,F)}return i?Xo(d,p,l,u,o.value,e,m===!0):d.length?Promise.all(d).then(()=>l):l}}),Yo=h("$ZodObjectJIT",(e,t)=>{wa.init(e,t);let r=e._zod.parse,n=we(()=>qo(t)),o=j.memoizer,s=f=>{let m=n.value,x=m.symbolKeys,_=new ct(["payload","ctx"],{shape:f,inst:e,memo:o,syms:x}),y=b=>`shape[${b}]._zod.run({ value: input[${b}], issues: [] }, ctx)`,I=(b,v)=>`
6
- let ${b}_ab = false;
7
- for (let i = 0; i < ${b}.issues.length; i++) {
8
- const iss = ${b}.issues[i];
9
- iss.path = iss.path ? [${v}, ...iss.path] : [${v}];
5
+ };`)(...Object.values(this.closed))}};var yo={major:4,minor:6,patch:7};var j=h("$ZodType",(e,t)=>{var r;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=yo;let n=e._zod.def.checks,o=e._zod.traits.has("$ZodCheck")?[e,...n??[]]:n?.length?[...n]:[];for(let s of o)for(let i of s._zod.onattach)i(e);if(o.length===0)(r=e._zod).deferred??(r.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let s=(a,c,u)=>{if(a.memo)return a;let l=X(a),p;for(let d of c){if(d._zod.def.when){if(or(a)||!d._zod.def.when(a))continue}else if(l)continue;let f=a.issues.length,m=d._zod.check(a);if(m instanceof Promise&&u?.async===!1)throw new se;if(p||m instanceof Promise)p=(p??Promise.resolve()).then(async()=>{await m,a.issues.length!==f&&(De(a.issues,f,e),l||(l=X(a,f)))});else{if(a.issues.length===f)continue;De(a.issues,f,e),l||(l=X(a,f))}}return p?p.then(()=>a):a},i=(a,c,u)=>{if(X(a))return a.aborted=!0,a;let l=s(c,o,u);if(l instanceof Promise){if(u.async===!1)throw new se;return l.then(p=>e._zod.parse(p,u))}return e._zod.parse(l,u)};e._zod.run=(a,c)=>{if(c.skipChecks)return e._zod.parse(a,c);if(c.direction==="backward"){let l=e._zod.parse({value:a.value,issues:[]},{...c,skipChecks:!0});return l instanceof Promise?l.then(p=>i(p,a,c)):i(l,a,c)}let u=e._zod.parse(a,c);if(u instanceof Promise){if(c.async===!1)throw new se;return u.then(l=>s(l,o,c))}return s(u,o,c)}}},{get"~standard"(){return dt(this,"~standard",vr(this))},set"~standard"(e){fe(this,"~standard",e)}}),Co=(e,t)=>e.issues.length?{issues:e.issues.map(r=>oe(r,t,Y()))}:{value:e.value};async function Nc(e,t){let r={async:!0};return Co(await e._zod.run({value:t,issues:[]},r),r)}function vr(e){return{validate:t=>{let r={async:!1};try{let n=e._zod.run({value:t,issues:[]},r);if(!(n instanceof Promise))return Co(n,r)}catch{}return Nc(e,t)},vendor:"zod",version:1}}var kt=h("$ZodString",(e,t)=>{j.init(e,t),e._zod.pattern=t.pattern??ro,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=String(r.value)}catch{}return typeof r.value=="string"||r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:e}),r}}),L=h("$ZodStringFormat",(e,t)=>{Ve.init(e,t),kt.init(e,t)}),No=h("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=Fn),L.init(e,t)}),jo=h("$ZodUUID",(e,t)=>{if(t.version){let n={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(n===void 0)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=fr(n))}else t.pattern??(t.pattern=fr());L.init(e,t)}),Lo=h("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=Un),L.init(e,t)}),Mo=1,_t=2;function Ro(e){try{return typeof URL<"u"&&typeof URL.canParse=="function"?URL.canParse(e):(new URL(e),!0)}catch{return!1}}function jc(e,t){return!("normalize"in t)&&!("hostname"in t)&&!("protocol"in t)?Ro(e)||_t:Lc(e,t)}function Lc(e,t){if(!t.normalize&&t.protocol?.source===qn.source&&!/^https?:\/\//i.test(e))return Mo;try{if(typeof URL<"u"){let r=URL;if(typeof r.parse=="function")return r.parse(e)??_t}return new URL(e)}catch{return _t}}var Mc=/[\t\n\r]/g;function _o(e){return e.replace(Mc,"")}function Rc(e,t){return t.lastIndex=0,t.test(e.hostname)}function Dc(e,t){return t.lastIndex=0,t.test(e.protocol.endsWith(":")?e.protocol.slice(0,-1):e.protocol)}var Do=h("$ZodURL",(e,t)=>{L.init(e,t),e._zod.check=r=>{try{let n=r.value.trim(),o=jc(n,t);if(o===Mo){r.issues.push({code:"invalid_format",format:"url",note:"Invalid URL format",input:r.value,inst:e,continue:!t.abort});return}if(o===_t){r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:e,continue:!t.abort});return}if(o===!0){r.value=_o(n);return}t.hostname&&!Rc(o,t.hostname)&&r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:t.hostname.source,input:r.value,inst:e,continue:!t.abort}),t.protocol&&!Dc(o,t.protocol)&&r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:r.value,inst:e,continue:!t.abort}),r.value=t.normalize?o.href:_o(n);return}catch{r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:e,continue:!t.abort})}}}),Fo=h("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=Bn()),L.init(e,t)}),Uo=h("$ZodNanoID",(e,t)=>{if(t.length!==void 0&&(!Number.isInteger(t.length)||t.length<1))throw new Error(`Invalid nanoid length: ${t.length}`);t.pattern??(t.pattern=t.length===void 0?Mn:Rn(t.length)),L.init(e,t)}),Bo=h("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=Tn),L.init(e,t)}),Jo=h("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=Cn),L.init(e,t)}),Vo=h("$ZodULID",(e,t)=>{t.pattern??(t.pattern=Nn),L.init(e,t)}),Ko=h("$ZodXID",(e,t)=>{t.pattern??(t.pattern=jn),L.init(e,t)}),Go=h("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=Ln),L.init(e,t)}),Wo=h("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=to(t)),L.init(e,t)}),Ho=h("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=Qn),L.init(e,t)}),qo=h("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=eo(t)),L.init(e,t)}),Xo=h("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=Dn),L.init(e,t)}),Yo=h("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=Jn),L.init(e,t)}),Fc=/^[0-9a-fA-F:.]+$/;function Qo(e){return Fc.test(e)?Ro(`http://[${e}]`):!1}var es=h("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=Vn),L.init(e,t),e._zod.check=r=>{Qo(r.value)||r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:e,continue:!t.abort})}});var ts=h("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=Kn),L.init(e,t)});function Uc(e){let t=e.split("/");if(t.length!==2)return!1;let[r,n]=t;if(!n)return!1;let o=Number(n);return`${o}`!==n||o<0||o>128?!1:Qo(r)}var rs=h("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=Gn),L.init(e,t),e._zod.check=r=>{Uc(r.value)||r.issues.push({code:"invalid_format",format:"cidrv6",input:r.value,inst:e,continue:!t.abort})}});function ns(e){if(e==="")return!0;if(/\s/.test(e)||e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}var yr=/^[0-9a-zA-Z+/]*={0,2}$/,os=h("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=yr),L.init(e,t),e._zod.check=r=>{ns(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:e,continue:!t.abort})}}),zt=/^[A-Za-z0-9_-]*$/;function Bc(e){if(!zt.test(e))return!1;let t=e.replace(/[-_]/g,n=>n==="-"?"+":"/"),r=t.padEnd(Math.ceil(t.length/4)*4,"=");return ns(r)}var ss=h("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=zt),L.init(e,t),e._zod.check=r=>{Bc(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:e,continue:!t.abort})}}),is=h("$ZodE164",(e,t)=>{t.pattern??(t.pattern=Xn),L.init(e,t)});function Jc(e,t=null){try{let r=e.split(".");if(r.length!==3)return!1;let[n]=r;if(!n)return!1;let o=JSON.parse(atob(n));return!("typ"in o&&o?.typ!=="JWT"||!o.alg||t&&(!("alg"in o)||o.alg!==t))}catch{return!1}}var as=h("$ZodJWT",(e,t)=>{L.init(e,t),e._zod.check=r=>{Jc(r.value,t.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:e,continue:!t.abort})}});var _r=h("$ZodNumber",(e,t)=>{j.init(e,t),e._zod.pattern=Be,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=Number(r.value)}catch{}let o=r.value;if(typeof o=="number"&&!Number.isNaN(o)&&Number.isFinite(o))return r;let s=typeof o=="number"?Number.isNaN(o)?"NaN":Number.isFinite(o)?void 0:String(o):void 0;return r.issues.push({expected:"number",code:"invalid_type",input:o,inst:e,...s?{received:s}:{}}),r}}),cs=h("$ZodNumberFormat",(e,t)=>{ao.init(e,t),_r.init(e,t)}),us=h("$ZodBoolean",(e,t)=>{j.init(e,t),e._zod.pattern=no,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=!!r.value}catch{}let o=r.value;return typeof o=="boolean"||r.issues.push({expected:"boolean",code:"invalid_type",input:o,inst:e}),r}});var ls=h("$ZodUnknown",(e,t)=>{j.init(e,t),e._zod.parse=r=>r}),ps=h("$ZodNever",(e,t)=>{j.init(e,t),e._zod.parse=(r,n)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:e}),r)});function Vc(e,t){let r=pt(e._zod.def.checks);if(!r.length)return;let n=Math.min(...r.map(s=>s[0])),o=e._zod.parse;e._zod.parse=(s,i)=>{let a=t(s.value);if(a>n&&!i?.skipChecks&&i?.direction!=="backward"){for(let[c,u]of pt(e._zod.def.checks))if(a>c&&u._zod.def.when(s)){let l=s.issues.length;return u._zod.check(s),s.issues[l].continue=!1,De(s.issues,l,e),s}}return o(s,i)}}var Kc=e=>Array.isArray(e)?e.length:-1;function $o(e,t,r){e.issues.length&&t.issues.push(...ne(r,e.issues)),t.value[r]=e.value}var ds=h("$ZodArray",(e,t)=>{j.init(e,t);let r=G.memoizer;r?.attach(e),e._zod.parse=(n,o)=>{let s=n.value;if(!Array.isArray(s))return n.issues.push({expected:"array",code:"invalid_type",input:s,inst:e}),n;n.value=r?r.alloc(e,n,Array(s.length),o):Array(s.length);let i=[],a=o?.abortEarly;for(let c=0;c<s.length;c++){let u=s[c],l=t.element._zod.run({value:u,issues:[]},o);if(l instanceof Promise)i.push(l.then(p=>$o(p,n,c)));else if($o(l,n,c),a&&l.issues.length!==0&&X(l))break}return i.length?Promise.all(i).then(()=>n):n},Vc(e,Kc)});function $t(e,t,r,n,o,s){let i=r in n,a=s==="optional";if(!(!i&&a&&o==="optional")){if(e.issues.length){if(o!==void 0&&a&&!i)return;t.issues.push(...ne(r,e.issues))}if(!i&&o===void 0){e.issues.length||t.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[r]});return}e.value===void 0?(i||o==="defaulted"&&!a)&&(t.value[r]=void 0):t.value[r]=e.value}}var Gc=[];function fs(e){let t=Object.keys(e.shape),r=Object.getOwnPropertySymbols(e.shape),n=r.length?r:Gc,o=n.length?[...t,...n]:t;for(let i of o)if(!e.shape?.[i]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${String(i)}": expected a Zod schema`);let s=nr(e.shape);return{...e,allKeys:o,symbolKeys:n,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(s)}}function ms(e,t,r,n,o,s,i){let a=[],c=o.keySet,u=o.catchall._zod,l=u.def.type,p=u.optin,d=u.optout,f=0;for(let m in t){if(i&&r.issues.length!==f){if(X(r,f))break;f=r.issues.length}if(c.has(m))continue;if(m==="__proto__"){l==="never"&&a.push(m);continue}if(l==="never"){a.push(m);continue}let g=u.run({value:t[m],issues:[]},n);g instanceof Promise?e.push(g.then(y=>$t(y,r,m,t,p,d))):$t(g,r,m,t,p,d)}return a.length&&r.issues.push({code:"unrecognized_keys",keys:a,input:t,inst:s,continue:!0}),e.length?Promise.all(e).then(()=>r):r}var Wc=h("$ZodObject",(e,t)=>{j.init(e,t);let r=Object.getOwnPropertyDescriptor(t,"shape"),n=r?.get?r.get.raw:t.shape??{};if(n){let u=()=>{let l={...n};return Object.defineProperty(t,"shape",{value:l}),u.raw=l,l};u.raw=n,Object.defineProperty(t,"shape",{get:u})}let o=Ze(()=>fs(t));I(e,"propValues",u=>{let l=u.def.shape,p={};for(let d in l){let f=l[d]._zod;if(f.values){Object.prototype.hasOwnProperty.call(p,d)||q(p,d,new Set);for(let m of f.values)p[d].add(m);f.optin!==void 0&&p[d].add(void 0)}}return p});let s=ve,i=t.catchall,a,c=G.memoizer;c?.attach(e),e._zod.parse=(u,l)=>{a??(a=o.value);let p=u.value;if(!s(p))return u.issues.push({expected:"object",code:"invalid_type",input:p,inst:e}),u;u.value=c?c.alloc(e,u,{},l):{};let d=[],f=a.shape,m=l?.abortEarly,g=u.issues.length;for(let y of a.allKeys){if(m&&u.issues.length!==g){if(X(u,g))break;g=u.issues.length}if(y==="__proto__")continue;let _=f[y],A=_._zod.optin,M=_._zod.optout,H=_._zod.run({value:p[y],issues:[]},l);H instanceof Promise?d.push(H.then(v=>$t(v,u,y,p,A,M))):$t(H,u,y,p,A,M)}return i?ms(d,p,u,l,o.value,e,m===!0):d.length?Promise.all(d).then(()=>u):u}}),hs=h("$ZodObjectJIT",(e,t)=>{Wc.init(e,t);let r=e._zod.parse,n=Ze(()=>fs(t)),o=G.memoizer,s=f=>{let m=n.value,g=m.symbolKeys,y=new vt(["payload","ctx"],{shape:f,inst:e,memo:o,syms:g}),_=v=>`shape[${v}]._zod.run({ value: input[${v}], issues: [] }, ctx)`,A=(v,x)=>`
6
+ let ${v}_ab = false;
7
+ for (let i = 0; i < ${v}.issues.length; i++) {
8
+ const iss = ${v}.issues[i];
9
+ iss.path = iss.path ? [${x}, ...iss.path] : [${x}];
10
10
  payload.issues.push(iss);
11
- if (iss.continue !== true) ${b}_ab = true;
11
+ if (iss.continue !== true) ${v}_ab = true;
12
12
  }
13
- if (${b}_ab && ctx && ctx.abortEarly) {
13
+ if (${v}_ab && ctx && ctx.abortEarly) {
14
14
  payload.value = newResult;
15
15
  return payload;
16
- }`;_.write("const input = payload.value;");let F=Object.create(null),$=0;for(let b of m.allKeys)F[b]=`key_${$++}`;_.write(o?"const newResult = memo.alloc(inst, payload, {}, ctx);":"const newResult = {};");for(let b of m.allKeys){if(b==="__proto__")continue;let v=F[b],w=typeof b=="symbol"?`syms[${x.indexOf(b)}]`:Rt(b),z=`${w} in input`,O=f[b],M=O?._zod?.optin,L=M!==void 0,Ge=O?._zod?.optout==="optional";if(_.write(`const ${v} = ${y(w)};`),L&&Ge){let ue=M==="optional"?`${v}_present`:`${v}.value !== undefined || ${v}_present`;_.write(`
17
- const ${v}_present = ${z};
18
- if (!${v}.issues.length || ${v}_present) {
19
- if (${v}.issues.length) {${I(v,w)}
16
+ }`;y.write("const input = payload.value;");let M=Object.create(null),H=0;for(let v of m.allKeys)M[v]=`key_${H++}`;y.write(o?"const newResult = memo.alloc(inst, payload, {}, ctx);":"const newResult = {};");for(let v of m.allKeys){if(v==="__proto__")continue;let x=M[v],$=typeof v=="symbol"?`syms[${g.indexOf(v)}]`:Qt(v),P=`${$} in input`,w=f[v],T=w?._zod?.optin,B=T!==void 0,U=w?._zod?.optout==="optional";if(y.write(`const ${x} = ${_($)};`),B&&U){let $e=T==="optional"?`${x}_present`:`${x}.value !== undefined || ${x}_present`;y.write(`
17
+ const ${x}_present = ${P};
18
+ if (!${x}.issues.length || ${x}_present) {
19
+ if (${x}.issues.length) {${A(x,$)}
20
20
  }
21
21
 
22
- if (${ue}) {
23
- newResult[${w}] = ${v}.value;
22
+ if (${$e}) {
23
+ newResult[${$}] = ${x}.value;
24
24
  }
25
25
  }
26
26
 
27
- `)}else L?(_.write(`
28
- if (${v}.issues.length) {${I(v,w)}
27
+ `)}else B?(y.write(`
28
+ if (${x}.issues.length) {${A(x,$)}
29
29
  }
30
- `),M==="defaulted"?_.write(`newResult[${w}] = ${v}.value;`):_.write(`
31
- if (${v}.value !== undefined || ${z}) {
32
- newResult[${w}] = ${v}.value;
30
+ `),T==="defaulted"?y.write(`newResult[${$}] = ${x}.value;`):y.write(`
31
+ if (${x}.value !== undefined || ${P}) {
32
+ newResult[${$}] = ${x}.value;
33
33
  }
34
- `)):_.write(`
35
- const ${v}_present = ${z};
36
- if (${v}.issues.length) {${I(v,w)}
34
+ `)):y.write(`
35
+ const ${x}_present = ${P};
36
+ if (${x}.issues.length) {${A(x,$)}
37
37
  }
38
- if (!${v}_present && !${v}.issues.length) {
38
+ if (!${x}_present && !${x}.issues.length) {
39
39
  payload.issues.push({
40
40
  code: "invalid_type",
41
41
  expected: "nonoptional",
42
42
  input: undefined,
43
- path: [${w}]
43
+ path: [${$}]
44
44
  });
45
45
  if (ctx && ctx.abortEarly) {
46
46
  payload.value = newResult;
@@ -48,71 +48,71 @@ ${r.join(`
48
48
  }
49
49
  }
50
50
 
51
- if (${v}_present) {
52
- newResult[${w}] = ${v}.value;
51
+ if (${x}_present) {
52
+ newResult[${$}] = ${x}.value;
53
53
  }
54
54
 
55
- `)}return _.write("payload.value = newResult;"),_.write("return payload;"),_.compile()},i,c=fe,a=!j.jitless,u=a&&Dt.value,p=t.catchall,d;e._zod.parse=(f,m)=>{d??(d=n.value);let x=f.value;return c(x)?a&&u&&m?.async===!1&&m.jitless!==!0?(i||(i=s(t.shape)),f=i(f,m),p?Xo([],x,f,m,d,e,m?.abortEarly===!0):f):r(f,m):(f.issues.push({expected:"object",code:"invalid_type",input:x,inst:e}),f)}});function io(e,t,r,n){for(let s of e)if(s.issues.length===0)return t.value=s.value,t;let o=e.filter(s=>!U(s));return o.length===1?(t.value=o[0].value,o[0]):(t.issues.push({code:"invalid_union",input:t.value,inst:r,errors:e.map(s=>s.issues.map(i=>W(i,n,B())))}),t)}var Qo=h("$ZodUnion",(e,t)=>{A.init(e,t),Z(e,"optin",n=>n.def.options.some(o=>o._zod.optin==="defaulted")?"defaulted":n.def.options.some(o=>o._zod.optin!==void 0)?"optional":void 0),Z(e,"optout",n=>n.def.options.some(o=>o._zod.optout==="optional")?"optional":void 0),Z(e,"values",n=>{if(n.def.options.every(o=>o._zod.values))return new Set(n.def.options.flatMap(o=>Array.from(o._zod.values)))}),Z(e,"pattern",n=>{if(n.def.options.every(o=>o._zod.pattern)){let o=n.def.options.map(s=>s._zod.pattern);return new RegExp(`^(${o.map(s=>ze(s.source)).join("|")})$`)}});let r=t.options.length===1?t.options[0]._zod.run:null;e._zod.parse=(n,o)=>{if(r)return r(n,o);let s=!1,i=[];for(let c of t.options){let a=c._zod.run({value:n.value,issues:[]},o);if(a instanceof Promise)i.push(a),s=!0;else{if(a.issues.length===0)return a;i.push(a)}}return s?Promise.all(i).then(c=>io(c,n,e,o)):io(i,n,e,o)}});var es=h("$ZodIntersection",(e,t)=>{A.init(e,t),e._zod.parse=(r,n)=>{let o=r.value,s=t.left._zod.run({value:o,issues:[]},n),i=t.right._zod.run({value:o,issues:[]},n);return s instanceof Promise||i instanceof Promise?Promise.all([s,i]).then(([a,l])=>co(r,a,l)):co(r,s,i)}});function nr(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(re(e)&&re(t)){let r=Object.keys(t),n=Object.keys(e).filter(s=>r.indexOf(s)!==-1),o={...e,...t};Object.prototype.hasOwnProperty.call(o,"__proto__")&&delete o.__proto__;for(let s of n){if(s==="__proto__")continue;let i=nr(e[s],t[s]);if(!i.valid)return{valid:!1,mergeErrorPath:[s,...i.mergeErrorPath]};o[s]=i.data}return{valid:!0,data:o}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let r=[];for(let n=0;n<e.length;n++){let o=e[n],s=t[n],i=nr(o,s);if(!i.valid)return{valid:!1,mergeErrorPath:[n,...i.mergeErrorPath]};r.push(i.data)}return{valid:!0,data:r}}return{valid:!1,mergeErrorPath:[]}}function co(e,t,r){let n=new Map,o,s=new Map,i=(l,u)=>{let p;if(l.code==="unrecognized_keys"&&!l.path?.length)o??(o=l),p=l.keys;else if(l.code==="invalid_key"&&l.origin==="record"&&l.path?.length===1){let d=String(l.path[0]);s.has(d)||s.set(d,l),p=[d]}else return!1;for(let d of p)n.has(d)||n.set(d,{}),n.get(d)[u]=!0;return!0};for(let l of t.issues)i(l,"l")||e.issues.push(l);for(let l of r.issues)i(l,"r")||e.issues.push(l);let c=[...n].filter(([,l])=>l.l&&l.r).map(([l])=>l);if(c.length){let l=o?c.filter(u=>o.keys.includes(u)):[];l.length&&e.issues.push({...o,keys:l});for(let u of c)!l.includes(u)&&s.has(u)&&e.issues.push(s.get(u))}let a=nr(t.value,r.value);if(!a.valid){if(U(e))return e;throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(a.mergeErrorPath)}`)}return e.value=a.data,e}var ts=h("$ZodTuple",(e,t)=>{A.init(e,t);let r=t.items,n=j.memoizer;n?.attach(e),e._zod.parse=(o,s)=>{let i=o.value;if(!Array.isArray(i))return o.issues.push({input:i,inst:e,expected:"tuple",code:"invalid_type"}),o;o.value=n?n.alloc(e,o,[],s):[];let c=[],a=ao(r,"optin"),l=ao(r,"optout");if(!t.rest){if(i.length<a)return o.issues.push({code:"too_small",minimum:a,inclusive:!0,input:i,inst:e,origin:"array"}),o;i.length>r.length&&o.issues.push({code:"too_big",maximum:r.length,inclusive:!0,input:i,inst:e,origin:"array"})}let u=new Array(r.length),p=t.rest?s?.abortEarly:void 0,d=!1;for(let f=0;f<r.length;f++){let m=r[f]._zod.run({value:i[f],issues:[]},s);m instanceof Promise?c.push(m.then(x=>{u[f]=x})):(u[f]=m,p&&!d&&m.issues.length&&(d=U(m)))}if(t.rest&&!d){let f=r.length-1,m=i.slice(r.length),x=o.issues.length;for(let _ of m){if(p&&o.issues.length!==x){if(U(o,x))break;x=o.issues.length}f++;let y=t.rest._zod.run({value:_,issues:[]},s);y instanceof Promise?c.push(y.then(I=>uo(I,o,f))):uo(y,o,f)}}return c.length?Promise.all(c).then(()=>lo(u,o,r,i,l)):lo(u,o,r,i,l)}});function ao(e,t){for(let r=e.length-1;r>=0;r--)if(!(t==="optin"?e[r]._zod.optin!==void 0:e[r]._zod.optout==="optional"))return r+1;return 0}function uo(e,t,r){e.issues.length&&t.issues.push(...H(r,e.issues)),t.value[r]=e.value}function lo(e,t,r,n,o){for(let s=0;s<r.length;s++){let i=e[s],c=s<n.length;if(!c&&s>=o&&r[s]._zod.optin==="optional"){t.value.length=s;break}if(i.issues.length){if(!c&&s>=o){t.value.length=s;break}t.issues.push(...H(s,i.issues))}t.value[s]=i.value}for(let s=t.value.length-1;s>=n.length&&(r[s]._zod.optout==="optional"&&t.value[s]===void 0);s--)t.value.length=s;return t}var rs=h("$ZodRecord",(e,t)=>{A.init(e,t);let r=j.memoizer;r?.attach(e),e._zod.parse=(n,o)=>{let s=n.value;if(!re(s))return n.issues.push({expected:"record",code:"invalid_type",input:s,inst:e}),n;let i=[],c=t.keyType._zod.values;if(c&&!t.partial){n.value=r?r.alloc(e,n,{},o):{};let a=new Set;for(let u of c)if(typeof u=="string"||typeof u=="number"||typeof u=="symbol"){if(a.add(typeof u=="number"?u.toString():u),u==="__proto__")continue;let p=t.keyType._zod.run({value:u,issues:[]},o);if(p instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(p.issues.length){n.issues.push({code:"invalid_key",origin:"record",issues:p.issues.map(m=>W(m,o,B())),input:u,path:[u],inst:e});continue}let d=p.value;if(d==="__proto__")continue;let f=t.valueType._zod.run({value:s[u],issues:[]},o);f instanceof Promise?i.push(f.then(m=>{m.issues.length&&n.issues.push(...H(u,m.issues)),n.value[d]=m.value})):(f.issues.length&&n.issues.push(...H(u,f.issues)),n.value[d]=f.value)}let l;for(let u in s)if(!a.has(u))if(t.mode==="loose"){if(u==="__proto__")continue;n.value[u]=s[u]}else l=l??[],l.push(u);l&&l.length>0&&n.issues.push({code:"unrecognized_keys",input:s,inst:e,keys:l,continue:!0})}else{n.value=r?r.alloc(e,n,{},o):{};let a;for(let l of Reflect.ownKeys(s)){if(l==="__proto__"||!Object.prototype.propertyIsEnumerable.call(s,l))continue;let u=t.keyType._zod.run({value:l,issues:[]},o);if(u instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(typeof l=="string"&&Ee.test(l)&&u.issues.length){let m=t.keyType._zod.run({value:Number(l),issues:[]},o);if(m instanceof Promise)throw new Error("Async schemas not supported in object keys currently");m.issues.length===0&&(u=m)}if(u.issues.length){t.mode==="loose"?n.value[l]=s[l]:c?(a=a??[],a.push(l)):n.issues.push({code:"invalid_key",origin:"record",issues:u.issues.map(m=>W(m,o,B())),input:l,path:[l],inst:e});continue}let d=u.value;if(d==="__proto__")continue;let f=t.valueType._zod.run({value:s[l],issues:[]},o);f instanceof Promise?i.push(f.then(m=>{m.issues.length&&n.issues.push(...H(l,m.issues)),n.value[d]=m.value})):(f.issues.length&&n.issues.push(...H(l,f.issues)),n.value[d]=f.value)}a&&a.length>0&&n.issues.push({code:"unrecognized_keys",input:s,inst:e,keys:a,continue:!0})}return i.length?Promise.all(i).then(()=>n):n}});var ns=h("$ZodEnum",(e,t)=>{A.init(e,t);let r=me(t.entries),n=new Set(r);e._zod.values=n,Z(e,"pattern",o=>{let s=me(o.def.entries).filter(i=>Ft.has(typeof i));return new RegExp(s.length?`^(${s.map(i=>ie(i.toString())).join("|")})$`:"^[^\\s\\S]$")}),e._zod.parse=(o,s)=>{let i=o.value;return n.has(i)||o.issues.push({code:"invalid_value",values:r,input:i,inst:e}),o}});var os=h("$ZodTransform",(e,t)=>{A.init(e,t),e._zod.optin="optional",j.memoizer?.guard(e),e._zod.parse=(r,n)=>{if(n.direction==="backward")throw new xe(e.constructor.name);let o=t.transform(r.value,r);if(n.async)return(o instanceof Promise?o:Promise.resolve(o)).then(i=>(r.value=i,r));if(o instanceof Promise)throw new q;return r.value=o,r}});function po(e,t){return e.value=t.issues.length?void 0:t.value,e}var cr=h("$ZodOptional",(e,t)=>{A.init(e,t),Z(e,"optin",r=>r.def.innerType._zod.optin==="defaulted"?"defaulted":"optional"),e._zod.optout="optional",Z(e,"values",r=>{let n=r.def.innerType._zod.values;return n?new Set([...n,void 0]):void 0}),Z(e,"pattern",r=>{let n=r.def.innerType._zod.pattern;return n?new RegExp(`^(${ze(n.source)})?$`):void 0}),e._zod.parse=(r,n)=>{if(r.value===void 0){if(t.innerType._zod.optin!=="defaulted")return r;let o=t.innerType._zod.run({value:r.value,issues:[]},n);return o instanceof Promise?o.then(s=>po(r,s)):po(r,o)}return t.innerType._zod.run(r,n)}}),ss=h("$ZodExactOptional",(e,t)=>{cr.init(e,t),Z(e,"values",r=>r.def.innerType._zod.values),Z(e,"pattern",r=>r.def.innerType._zod.pattern),e._zod.parse=(r,n)=>t.innerType._zod.run(r,n)}),is=h("$ZodNullable",(e,t)=>{A.init(e,t),Z(e,"optin",r=>r.def.innerType._zod.optin),Z(e,"optout",r=>r.def.innerType._zod.optout),Z(e,"pattern",r=>{let n=r.def.innerType._zod.pattern;return n?new RegExp(`^(${ze(n.source)}|null)$`):void 0}),Z(e,"values",r=>r.def.innerType._zod.values?new Set([...r.def.innerType._zod.values,null]):void 0),e._zod.parse=(r,n)=>r.value===null?r:t.innerType._zod.run(r,n)}),cs=h("$ZodDefault",(e,t)=>{A.init(e,t),e._zod.optin="defaulted",Z(e,"values",r=>r.def.innerType._zod.values),e._zod.parse=(r,n)=>{if(n.direction==="backward")return t.innerType._zod.run(r,n);if(r.value===void 0)return r.value=t.defaultValue,r;let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(s=>fo(s,t)):fo(o,t)}});function fo(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var as=h("$ZodPrefault",(e,t)=>{A.init(e,t),e._zod.optin="defaulted",Z(e,"values",r=>r.def.innerType._zod.values),e._zod.parse=(r,n)=>(n.direction==="backward"||r.value===void 0&&(r.value=t.defaultValue),t.innerType._zod.run(r,n))}),us=h("$ZodNonOptional",(e,t)=>{A.init(e,t),Z(e,"values",r=>{let n=r.def.innerType._zod.values;return n?new Set([...n].filter(o=>o!==void 0)):void 0}),e._zod.parse=(r,n)=>{let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(s=>mo(s,e)):mo(o,e)}});function mo(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}function ho(e,t,r,n){return t.issues.length?(e.value=r.catchValue({...t,value:e.value,error:{issues:t.issues.map(o=>W(o,n,B()))},input:e.value}),e):(e.value=t.value,t.memo&&(e.memo=!0),e)}var ls=h("$ZodCatch",(e,t)=>{A.init(e,t),Z(e,"optin",r=>r.def.innerType._zod.optin==="defaulted"?"defaulted":"optional"),Z(e,"optout",r=>r.def.innerType._zod.optout),Z(e,"values",r=>r.def.innerType._zod.values),e._zod.parse=(r,n)=>{if(n.direction==="backward")return t.innerType._zod.run(r,n);let o=t.innerType._zod.run({value:r.value,issues:[]},n);return o instanceof Promise?o.then(s=>ho(r,s,t,n)):ho(r,o,t,n)}});var ps=h("$ZodPipe",(e,t)=>{A.init(e,t),Z(e,"values",r=>r.def.in._zod.values),Z(e,"optin",r=>r.def.in._zod.optin),Z(e,"optout",r=>r.def.out._zod.optout),Z(e,"propValues",r=>r.def.in._zod.propValues),e._zod.parse=(r,n)=>{if(n.direction==="backward"){let s=t.out._zod.run(r,n);return s instanceof Promise?s.then(i=>at(i,t.in,n)):at(s,t.in,n)}let o=t.in._zod.run(r,n);return o instanceof Promise?o.then(s=>at(s,t.out,n)):at(o,t.out,n)}});function at(e,t,r){return e.issues.some(n=>n.code!=="unrecognized_keys")?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},r)}var ds=h("$ZodReadonly",(e,t)=>{A.init(e,t),Z(e,"propValues",r=>r.def.innerType._zod.propValues),Z(e,"values",r=>r.def.innerType._zod.values),Z(e,"optin",r=>r.def.innerType?._zod?.optin),Z(e,"optout",r=>r.def.innerType?._zod?.optout),e._zod.parse=(r,n)=>{if(n.direction==="backward")return t.innerType._zod.run(r,n);let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(go):go(o)}});function go(e){return e.memo||(e.value=Object.freeze(e.value)),e}var fs=h("$ZodCustom",(e,t)=>{R.init(e,t),A.init(e,t),e._zod.parse=(r,n)=>r,e._zod.check=r=>{let n=r.value,o=t.fn(n);if(o instanceof Promise)return o.then(s=>xo(s,r,n,e));xo(o,r,n,e)}});function xo(e,t,r,n){if(!e){let o={code:"custom",input:r,inst:n,path:[...n._zod.def.path??[]],continue:!n._zod.def.abort};n._zod.def.params&&(o.params=n._zod.def.params),t.issues.push(ge(o))}}var ur=class extends Error{constructor(){super("Cannot parse a reference cycle that closes through a transform"),this.name="ZodCyclicError"}},lr="~memo",ms=[];function hs(e){return e!==null&&typeof e=="object"}function ar(e){return e.map(t=>t.path?{...t,path:t.path.slice()}:{...t})}var gs=new WeakMap,Ce=0,ht=1,Ne=2;function gt(e,t,r){let n=gs.get(e);if(n!==void 0)return n?Ne:Ce;if(t.has(e))return Ne;t.add(e);let o=Ce,s=u=>{if(o!==Ne&&u?._zod){let p=gt(u,t,r);p>o&&(o=p)}},i=(u,p)=>{let d=Ce;for(let f of Reflect.ownKeys(u)){let m=Object.getOwnPropertyDescriptor(u,f);if(p&&!m.enumerable)continue;let x=m.get?ht:m.value?._zod?gt(m.value,t,r):Ce;x>d&&(d=x)}return d},c=u=>{u>o&&(o=u)},a=e._zod.def,l=a.type;switch(l){case"object":{let u=Se(a);c(u?i(u,!0):ht),s(a.catchall);break}case"array":s(a.element);break;case"tuple":for(let u of a.items)s(u);s(a.rest);break;case"record":case"map":s(a.keyType),s(a.valueType);break;case"set":s(a.valueType);break;case"union":for(let u of a.options)s(u);break;case"intersection":s(a.left),s(a.right);break;case"optional":case"nullable":case"default":case"prefault":case"catch":case"readonly":case"nonoptional":case"promise":case"success":s(a.innerType);break;case"pipe":s(a.in),s(a.out);break;case"function":s(a.input),s(a.output);break;case"lazy":{let u=a._cachedInner??(r?e._zod.innerType:void 0);c(u?gt(u,t,!1):ht);break}case"template_literal":case"string":case"number":case"int":case"boolean":case"bigint":case"symbol":case"undefined":case"null":case"void":case"never":case"any":case"unknown":case"date":case"nan":case"enum":case"literal":case"file":case"transform":case"custom":break;default:for(let u in a){let p=Object.getOwnPropertyDescriptor(a,u);if(!p||p.get)continue;let d=p.value;if(!(!d||typeof d!="object")){if(d._zod)s(d);else if(Array.isArray(d))for(let f of d)s(f)}}}return t.delete(e),za(e,o)}function za(e,t){return t!==ht&&gs.set(e,t===Ne),t}function Sa(e,t){let r=e.buckets.get(t);return r||(r=new WeakMap,e.buckets.set(t,r)),r}var ft,mt=[],Pa={alloc(e,t,r){let n=ft;if(!n)return r;ft=void 0;let o={value:r,issues:null};return n.set(t.value,o),mt.push(o),r},guard(e){var t;(t=e._zod).deferred??(t.deferred=[]),e._zod.deferred.push(()=>{let r=e._zod.parse,n=(o,s)=>{if(s.direction!=="backward"&&Za(s,o.value))throw new ur;return r(o,s)};e._zod.parse=n,e._zod.run===r&&(e._zod.run=n)})},attach(e){var t;let r,n=!1,o,s;(t=e._zod).deferred??(t.deferred=[]),e._zod.deferred.push(()=>{let i=e._zod.parse,c=(a,l)=>{if(r===void 0){let y=gt(e,new Set,!1);if(y===Ce)return e._zod.parse=i,e._zod.run===c&&(e._zod.run=i),i(a,l);y===Ne||n?r=!0:n=!0}let u=a.value;if(!hs(u))return i(a,l);let p=l[lr];p||(p={buckets:new WeakMap,backEdges:void 0},l[lr]=p);let d;o===l?d=s:(d=Sa(p,e),o=l,s=d);let f=d.get(u);if(f)return a.value=f.value,f.issues?f.issues.length&&a.issues.push(...ar(f.issues)):(a.memo=!0,p.backEdges??(p.backEdges=new WeakSet),p.backEdges.add(f.value)),a;ft=d;let m=mt.length,x=i(a,l);ft=void 0;let _=mt.length>m?mt.pop():void 0;return x instanceof Promise?x.then(y=>(_&&(_.issues=y.issues.length?ar(y.issues):ms),y)):(_&&(_.issues=x.issues.length?ar(x.issues):ms),x)};e._zod.parse=c,e._zod.run===i&&(e._zod.run=c)})}};function xs(){return Pa}function Za(e,t){let r=e[lr]?.backEdges;return r!==void 0&&hs(t)&&r.has(t)}var Oa=()=>{let e={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"},map:{unit:"entries",verb:"to have"}};function t(s){return e[s]??null}let r={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",mac:"MAC address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",currency_code:"currency code",credit_card:"credit card number",iban:"IBAN",jwt:"JWT",template_literal:"input"},n={nan:"NaN"};function o(s,i){return s==="number"&&typeof i=="number"&&!Number.isFinite(i)?String(i):n[s]??s}return s=>{switch(s.code){case"invalid_type":{let i=o(s.expected),c=Jt(s.input),a=o(c,s.input);return`Invalid input: expected ${i}, received ${a}`}case"invalid_value":return s.values.length===1?`Invalid input: expected ${qe(s.values[0])}`:`Invalid option: expected one of ${He(s.values,"|")}`;case"too_big":{let i=s.exact?"exactly ":s.inclusive?"<=":"<",c=t(s.origin);return c?`Too big: expected ${s.origin??"value"} to have ${i}${s.maximum.toString()} ${c.unit??"elements"}`:`Too big: expected ${s.origin??"value"} to be ${i}${s.maximum.toString()}`}case"too_small":{let i=s.exact?"exactly ":s.inclusive?">=":">",c=t(s.origin);return c?`Too small: expected ${s.origin} to have ${i}${s.minimum.toString()} ${c.unit}`:`Too small: expected ${s.origin} to be ${i}${s.minimum.toString()}`}case"invalid_format":{let i=s;return i.format==="starts_with"?`Invalid string: must start with "${i.prefix}"`:i.format==="ends_with"?`Invalid string: must end with "${i.suffix}"`:i.format==="includes"?`Invalid string: must include "${i.includes}"`:i.format==="regex"?`Invalid string: must match pattern ${i.pattern}`:`Invalid ${r[i.format]??s.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${s.divisor}`;case"unrecognized_keys":return`Unrecognized key${s.keys.length>1?"s":""}: ${He(s.keys,", ")}`;case"invalid_key":return`Invalid key in ${s.origin}`;case"invalid_union":return s.options&&Array.isArray(s.options)&&s.options.length>0?`Invalid discriminator value. Expected ${s.options.map(c=>`'${c}'`).join(" | ")}`:s.inclusive===!1?"Invalid input: more than one option matched":"Invalid input";case"invalid_element":return`Invalid value in ${s.origin}`;default:return"Invalid input"}}};function bs(){return{localeError:Oa()}}var vs;var pr=class{constructor(){this._map=new WeakMap,this._idmap=new Map}add(t,...r){let n=r[0];return this._map.set(t,n),n&&typeof n=="object"&&"id"in n&&this._idmap.set(n.id,t),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(t){let r=this._map.get(t);return r&&typeof r=="object"&&"id"in r&&this._idmap.delete(r.id),this._map.delete(t),this}get(t){let r=t._zod.parent;if(r){let n={...this.get(r)??{}};delete n.id;let o={...n,...this._map.get(t)};return Object.keys(o).length?o:void 0}return this._map.get(t)}has(t){return this._map.has(t)}};function Ia(){return new pr}(vs=globalThis).__zod_globalRegistry??(vs.__zod_globalRegistry=Ia());var ce=globalThis.__zod_globalRegistry;function ys(e){return e.checks&&(e.checks=[...e.checks]),e}function _s(e,t){return new e(ys({type:"string",...k(t)}))}function $s(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...k(t)})}function ks(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...k(t)})}function ws(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...k(t)})}function zs(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...k(t)})}function Ss(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...k(t)})}function Ps(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...k(t)})}function Zs(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...k(t)})}function Os(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...k(t)})}function Is(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...k(t)})}function Es(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...k(t)})}function As(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...k(t)})}function Ts(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...k(t)})}function Cs(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...k(t)})}function Ns(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...k(t)})}function Ms(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...k(t)})}function Ls(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...k(t)})}function Rs(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...k(t)})}function js(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...k(t)})}function Ds(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...k(t)})}function Fs(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...k(t)})}function Us(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...k(t)})}function Bs(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...k(t)})}function Js(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...k(t)})}function Vs(e,t){return new e({type:"string",format:"date",check:"string_format",...k(t)})}function Ks(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...k(t)})}function Gs(e,t){return new e({type:"string",format:"duration",check:"string_format",...k(t)})}function Hs(e,t){return new e(ys({type:"number",checks:[],...k(t)}))}function Ws(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...k(t)})}function qs(e){return new e({type:"unknown"})}function Xs(e,t){return new e({type:"never",...k(t)})}function xt(e,t){return new tr({check:"less_than",...k(t),value:e,inclusive:!1})}function Me(e,t){return new tr({check:"less_than",...k(t),value:e,inclusive:!0})}function bt(e,t){return new rr({check:"greater_than",...k(t),value:e,inclusive:!1})}function Le(e,t){return new rr({check:"greater_than",...k(t),value:e,inclusive:!0})}function vt(e,t){return new Jn({check:"multiple_of",...k(t),value:e})}function yt(e,t){return new Kn({check:"max_length",...k(t),maximum:e})}function be(e,t){return new Gn({check:"min_length",...k(t),minimum:e})}function _t(e,t){return new Hn({check:"length_equals",...k(t),length:e})}function dr(e,t){return new Wn({check:"string_format",format:"regex",...k(t),pattern:e})}function fr(e){return new qn({check:"string_format",format:"lowercase",...k(e)})}function mr(e){return new Xn({check:"string_format",format:"uppercase",...k(e)})}function hr(e,t){return new Yn({check:"string_format",format:"includes",...k(t),includes:e})}function gr(e,t){return new Qn({check:"string_format",format:"starts_with",...k(t),prefix:e})}function xr(e,t){return new eo({check:"string_format",format:"ends_with",...k(t),suffix:e})}function ne(e){return new to({check:"overwrite",tx:e})}function br(e){return ne(t=>t.normalize(e))}function vr(){return ne(e=>e.trim())}function yr(){return ne(e=>e.toLowerCase())}function _r(){return ne(e=>e.toUpperCase())}function $r(){return ne(e=>jt(e))}function Ys(e,t,r){return new e({type:"array",element:t,...k(r)})}function Qs(e,t,r){return new e({type:"custom",check:"custom",fn:t,...k(r)})}function ei(e,t){let r=Ea(n=>(n.addIssue=o=>{if(typeof o=="string")n.issues.push(ge(o,n.value,r._zod.def));else{let s=o;s.fatal&&(s.continue=!1),s.code??(s.code="custom"),"input"in s||(s.input=n.value),s.inst??(s.inst=r),s.continue??(s.continue=!r._zod.def.abort),n.issues.push(ge(s))}},e(n.value,n)),t);return r}function Ea(e,t){let r=new R({check:"custom",...k(t)});return r._zod.check=e,r}function Re(e,...t){for(let r of t)for(let n of Reflect.ownKeys(r))Object.prototype.propertyIsEnumerable.call(r,n)&&K(e,n,r[n]);return e}function wr(e){let t=e?.target??"draft-2020-12";return t==="draft-4"&&(t="draft-04"),t==="draft-7"&&(t="draft-07"),{processors:e.processors??{},metadataRegistry:e?.metadata??ce,target:t,unrepresentable:e?.unrepresentable??"throw",override:e?.override??(()=>{}),io:e?.io??"output",counter:0,seen:new Map,sharedDefsExtractedFor:void 0,sharedEmitDoneFor:void 0,cycles:e?.cycles??"ref",reused:e?.reused??"inline",intersections:[],deferred:[],external:e?.external??void 0}}function ae(e,t,r,n,o){let s=typeof t.unrepresentable=="function"?t.unrepresentable({zodSchema:e,path:n.path,message:o}):t.unrepresentable;if(s==="any")return!1;if(s===void 0||s==="throw")throw new Error(o);return Object.assign(r,s),!0}function T(e,t,r={path:[],schemaPath:[]}){var n;let o=e._zod.def,s=t.seen.get(e);if(s)return s.count++,r.schemaPath.includes(e)&&(s.cycle=r.path),s.schema;let i={schema:{},count:1,cycle:void 0,path:r.path};t.seen.set(e,i),t.sharedDefsExtractedFor=void 0,t.sharedEmitDoneFor=void 0;let c=e._zod.toJSONSchema?.();if(c)i.schema=c;else{let u={...r,schemaPath:[...r.schemaPath,e],path:r.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,i.schema,u);else{let d=i.schema,f=t.processors[o.type];if(!f)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${o.type}`);f(e,t,d,u)}let p=e._zod.parent;p&&(i.ref||(i.ref=p),T(p,t,u),t.seen.get(p).isParent=!0)}let a=t.metadataRegistry.get(e);return a&&Re(i.schema,a),t.io==="input"&&D(e)&&(delete i.schema.examples,delete i.schema.default),t.io==="input"&&"_prefault"in i.schema&&((n=i.schema).default??(n.default=i.schema._prefault)),delete i.schema._prefault,t.seen.get(e).schema}function ti(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}function zr(e,t){let r=e.seen.get(t);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");if(e.external&&e.sharedDefsExtractedFor===e.external)return;let n=new Map;for(let i of e.seen.entries()){let c=e.metadataRegistry.get(i[0])?.id;if(c){let a=n.get(c);if(a&&a!==i[0])throw new Error(`Duplicate schema id "${c}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);n.set(c,i[0])}}let o=i=>{let c=e.target==="draft-2020-12"?"$defs":"definitions";if(e.external){let p=e.external.registry.get(i[0])?.id,d=e.external.uri??(m=>m);if(p)return{ref:d(p)};let f=i[1].defId??i[1].schema.id??`schema${e.counter++}`;return i[1].defId=f,{defId:f,ref:`${d("__shared")}#/${c}/${ti(f)}`}}let a="#",l=`${a}/${c}/`;if(i[1]===r&&!i[1].schema.id)return{ref:a};let u=i[1].schema.id??`__schema${e.counter++}`;return{defId:u,ref:l+ti(u)}},s=i=>{if(i[1].schema.$ref)return;let c=i[1],{ref:a,defId:l}=o(i);c.def={...c.schema},l&&(c.defId=l);let u=c.schema;for(let p in u)delete u[p];u.$ref=a};if(e.cycles==="throw")for(let i of e.seen.entries()){let c=i[1];if(c.cycle)throw new Error(`Cycle detected: #/${c.cycle?.join("/")}/<root>
55
+ `)}return y.write("payload.value = newResult;"),y.write("return payload;"),y.compile()},i,a=ve,c=!G.jitless,l=c&&tr.value,p=t.catchall,d;e._zod.parse=(f,m)=>{d??(d=n.value);let g=f.value;return a(g)?c&&l&&m?.async===!1&&m.jitless!==!0?(i||(i=s(t.shape)),f=i(f,m),p?ms([],g,f,m,d,e,m?.abortEarly===!0):f):r(f,m):(f.issues.push({expected:"object",code:"invalid_type",input:g,inst:e}),f)}});function ko(e,t,r,n){for(let s of e)if(s.issues.length===0)return t.value=s.value,t;let o=e.filter(s=>!X(s));return o.length===1?(t.value=o[0].value,o[0]):(t.issues.push({code:"invalid_union",input:t.value,inst:r,errors:e.map(s=>s.issues.map(i=>oe(i,n,Y())))}),t)}var $r=h("$ZodUnion",(e,t)=>{j.init(e,t),I(e,"optin",n=>n.def.options.some(o=>o._zod.optin==="defaulted")?"defaulted":n.def.options.some(o=>o._zod.optin!==void 0)?"optional":void 0),I(e,"optout",n=>n.def.options.some(o=>o._zod.optout==="optional")?"optional":void 0),I(e,"values",n=>{if(n.def.options.every(o=>o._zod.values))return new Set(n.def.options.flatMap(o=>Array.from(o._zod.values)))}),I(e,"pattern",n=>{if(n.def.options.every(o=>o._zod.pattern)){let o=n.def.options.map(s=>s._zod.pattern);return new RegExp(`^(${o.map(s=>Me(s.source)).join("|")})$`)}});let r=t.options.length===1?t.options[0]._zod.run:null;e._zod.parse=(n,o)=>{if(r)return r(n,o);let s=!1,i=[];for(let a of t.options){let c=a._zod.run({value:n.value,issues:[]},o);if(c instanceof Promise)i.push(c),s=!0;else{if(c.issues.length===0)return c;i.push(c)}}return s?Promise.all(i).then(a=>ko(a,n,e,o)):ko(i,n,e,o)}});function Hc(e){let t=new Map;for(let r of e.options){let n=r._zod.propValues?.[e.discriminator];if(!n||n.size===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(r)}"`);for(let o of n)if(t.has(o)){if(o!==void 0)throw new Error(`Duplicate discriminator value "${String(o)}"`);t.set(o,null)}else t.set(o,r)}return t}var gs=h("$ZodDiscriminatedUnion",(e,t)=>{t.inclusive=!1,$r.init(e,t);let r=e._zod.parse;I(e,"propValues",o=>{let s={},i=0;for(let a of o.def.options){let c=a._zod.propValues;if(!c||Object.keys(c).length===0)throw new Error(`Invalid discriminated union option at index "${o.def.options.indexOf(a)}"`);c[o.def.discriminator]?.has(void 0)&&i++;for(let[u,l]of Object.entries(c)){Object.prototype.hasOwnProperty.call(s,u)||q(s,u,new Set);for(let p of l)s[u].add(p)}}return!o.def.unionFallback&&i>1&&s[o.def.discriminator]?.delete(void 0),s}),t.options.forEach((o,s)=>{let i=Oe(o._zod.def);if(i&&!Object.prototype.hasOwnProperty.call(i,t.discriminator))throw new Error(`Invalid discriminated union option at index "${s}"`)});let n=Ze(()=>Hc(t));e._zod.parse=(o,s)=>{let i=o.value;if(!ve(i))return o.issues.push({code:"invalid_type",expected:"object",input:i,inst:e}),o;let a=i?.[t.discriminator],c=n.value.get(a);return c&&(a!==void 0||s.direction!=="backward")?c._zod.run(o,s):t.unionFallback||s.direction==="backward"?r(o,s):(o.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:t.discriminator,options:Array.from(n.value.keys()).filter(u=>n.value.get(u)!==null),input:i,path:[t.discriminator],inst:e}),o)}}),bs=h("$ZodIntersection",(e,t)=>{j.init(e,t),e._zod.parse=(r,n)=>{let o=r.value,s=t.left._zod.run({value:o,issues:[]},n),i=t.right._zod.run({value:o,issues:[]},n);return s instanceof Promise||i instanceof Promise?Promise.all([s,i]).then(([c,u])=>zo(r,c,u)):zo(r,s,i)}});function xr(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(me(e)&&me(t)){let r=Object.keys(t),n=Object.keys(e).filter(s=>r.indexOf(s)!==-1),o={...e,...t};Object.prototype.hasOwnProperty.call(o,"__proto__")&&delete o.__proto__;for(let s of n){if(s==="__proto__")continue;let i=xr(e[s],t[s]);if(!i.valid)return{valid:!1,mergeErrorPath:[s,...i.mergeErrorPath]};o[s]=i.data}return{valid:!0,data:o}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let r=[];for(let n=0;n<e.length;n++){let o=e[n],s=t[n],i=xr(o,s);if(!i.valid)return{valid:!1,mergeErrorPath:[n,...i.mergeErrorPath]};r.push(i.data)}return{valid:!0,data:r}}return{valid:!1,mergeErrorPath:[]}}function zo(e,t,r){let n=new Map,o,s=new Map,i=(u,l)=>{let p;if(u.code==="unrecognized_keys"&&!u.path?.length)o??(o=u),p=u.keys;else if(u.code==="invalid_key"&&u.origin==="record"&&u.path?.length===1){let d=String(u.path[0]);s.has(d)||s.set(d,u),p=[d]}else return!1;for(let d of p)n.has(d)||n.set(d,{}),n.get(d)[l]=!0;return!0};for(let u of t.issues)i(u,"l")||e.issues.push(u);for(let u of r.issues)i(u,"r")||e.issues.push(u);let a=[...n].filter(([,u])=>u.l&&u.r).map(([u])=>u);if(a.length){let u=o?a.filter(l=>o.keys.includes(l)):[];u.length&&e.issues.push({...o,keys:u});for(let l of a)!u.includes(l)&&s.has(l)&&e.issues.push(s.get(l))}let c=xr(t.value,r.value);if(!c.valid){if(X(e))return e;throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(c.mergeErrorPath)}`)}return e.value=c.data,e}var xs=h("$ZodTuple",(e,t)=>{j.init(e,t);let r=t.items,n=G.memoizer;n?.attach(e),e._zod.parse=(o,s)=>{let i=o.value;if(!Array.isArray(i))return o.issues.push({input:i,inst:e,expected:"tuple",code:"invalid_type"}),o;o.value=n?n.alloc(e,o,[],s):[];let a=[],c=wo(r,"optin"),u=wo(r,"optout");if(!t.rest){if(i.length<c)return o.issues.push({code:"too_small",minimum:c,inclusive:!0,input:i,inst:e,origin:"array"}),o;i.length>r.length&&o.issues.push({code:"too_big",maximum:r.length,inclusive:!0,input:i,inst:e,origin:"array"})}let l=new Array(r.length),p=t.rest?s?.abortEarly:void 0,d=!1;for(let f=0;f<r.length;f++){let m=r[f]._zod.run({value:i[f],issues:[]},s);m instanceof Promise?a.push(m.then(g=>{l[f]=g})):(l[f]=m,p&&!d&&m.issues.length&&(d=X(m)))}if(t.rest&&!d){let f=r.length-1,m=i.slice(r.length),g=o.issues.length;for(let y of m){if(p&&o.issues.length!==g){if(X(o,g))break;g=o.issues.length}f++;let _=t.rest._zod.run({value:y,issues:[]},s);_ instanceof Promise?a.push(_.then(A=>So(A,o,f))):So(_,o,f)}}return a.length?Promise.all(a).then(()=>Po(l,o,r,i,u)):Po(l,o,r,i,u)}});function wo(e,t){for(let r=e.length-1;r>=0;r--)if(!(t==="optin"?e[r]._zod.optin!==void 0:e[r]._zod.optout==="optional"))return r+1;return 0}function So(e,t,r){e.issues.length&&t.issues.push(...ne(r,e.issues)),t.value[r]=e.value}function Po(e,t,r,n,o){for(let s=0;s<r.length;s++){let i=e[s],a=s<n.length;if(!a&&s>=o&&r[s]._zod.optin==="optional"){t.value.length=s;break}if(i.issues.length){if(!a&&s>=o){t.value.length=s;break}t.issues.push(...ne(s,i.issues))}t.value[s]=i.value}for(let s=t.value.length-1;s>=n.length&&(r[s]._zod.optout==="optional"&&t.value[s]===void 0);s--)t.value.length=s;return t}var vs=h("$ZodRecord",(e,t)=>{j.init(e,t);let r=G.memoizer;r?.attach(e),e._zod.parse=(n,o)=>{let s=n.value;if(!me(s))return n.issues.push({expected:"record",code:"invalid_type",input:s,inst:e}),n;let i=[],a=t.keyType._zod.values;if(a&&!t.partial){n.value=r?r.alloc(e,n,{},o):{};let c=new Set;for(let l of a)if(typeof l=="string"||typeof l=="number"||typeof l=="symbol"){if(c.add(typeof l=="number"?l.toString():l),l==="__proto__")continue;let p=t.keyType._zod.run({value:l,issues:[]},o);if(p instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(p.issues.length){n.issues.push({code:"invalid_key",origin:"record",issues:p.issues.map(m=>oe(m,o,Y())),input:l,path:[l],inst:e});continue}let d=p.value;if(d==="__proto__")continue;let f=t.valueType._zod.run({value:s[l],issues:[]},o);f instanceof Promise?i.push(f.then(m=>{m.issues.length&&n.issues.push(...ne(l,m.issues)),n.value[d]=m.value})):(f.issues.length&&n.issues.push(...ne(l,f.issues)),n.value[d]=f.value)}let u;for(let l in s)if(!c.has(l))if(t.mode==="loose"){if(l==="__proto__")continue;n.value[l]=s[l]}else u=u??[],u.push(l);u&&u.length>0&&n.issues.push({code:"unrecognized_keys",input:s,inst:e,keys:u,continue:!0})}else{n.value=r?r.alloc(e,n,{},o):{};let c;for(let u of Reflect.ownKeys(s)){if(u==="__proto__"||!Object.prototype.propertyIsEnumerable.call(s,u))continue;let l=t.keyType._zod.run({value:u,issues:[]},o);if(l instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(typeof u=="string"&&Be.test(u)&&l.issues.length){let m=t.keyType._zod.run({value:Number(u),issues:[]},o);if(m instanceof Promise)throw new Error("Async schemas not supported in object keys currently");m.issues.length===0&&(l=m)}if(l.issues.length){t.mode==="loose"?n.value[u]=s[u]:a?(c=c??[],c.push(u)):n.issues.push({code:"invalid_key",origin:"record",issues:l.issues.map(m=>oe(m,o,Y())),input:u,path:[u],inst:e});continue}let d=l.value;if(d==="__proto__")continue;let f=t.valueType._zod.run({value:s[u],issues:[]},o);f instanceof Promise?i.push(f.then(m=>{m.issues.length&&n.issues.push(...ne(u,m.issues)),n.value[d]=m.value})):(f.issues.length&&n.issues.push(...ne(u,f.issues)),n.value[d]=f.value)}c&&c.length>0&&n.issues.push({code:"unrecognized_keys",input:s,inst:e,keys:c,continue:!0})}return i.length?Promise.all(i).then(()=>n):n}});var ys=h("$ZodEnum",(e,t)=>{j.init(e,t);let r=Se(t.entries),n=new Set(r);e._zod.values=n,I(e,"pattern",o=>{let s=Se(o.def.entries).filter(i=>rr.has(typeof i));return new RegExp(s.length?`^(${s.map(i=>ue(i.toString())).join("|")})$`:"^[^\\s\\S]$")}),e._zod.parse=(o,s)=>{let i=o.value;return n.has(i)||o.issues.push({code:"invalid_value",values:r,input:i,inst:e}),o}}),_s=h("$ZodLiteral",(e,t)=>{j.init(e,t);let r=new Set(t.values);e._zod.values=r,I(e,"pattern",n=>{let o=n.def.values;return new RegExp(o.length?`^(${o.map(s=>typeof s=="string"?ue(s):s?ue(s.toString()):String(s)).join("|")})$`:"^[^\\s\\S]$")}),e._zod.parse=(n,o)=>{let s=n.value;return r.has(s)||n.issues.push({code:"invalid_value",values:t.values,input:s,inst:e}),n}});var $s=h("$ZodTransform",(e,t)=>{j.init(e,t),e._zod.optin="optional",G.memoizer?.guard(e),e._zod.parse=(r,n)=>{if(n.direction==="backward")throw new Ie(e.constructor.name);let o=t.transform(r.value,r);if(n.async)return(o instanceof Promise?o:Promise.resolve(o)).then(i=>(r.value=i,r));if(o instanceof Promise)throw new se;return r.value=o,r}});function Zo(e,t){return e.value=t.issues.length?void 0:t.value,e}var kr=h("$ZodOptional",(e,t)=>{j.init(e,t),I(e,"optin",r=>r.def.innerType._zod.optin==="defaulted"?"defaulted":"optional"),e._zod.optout="optional",I(e,"values",r=>{let n=r.def.innerType._zod.values;return n?new Set([...n,void 0]):void 0}),I(e,"pattern",r=>{let n=r.def.innerType._zod.pattern;return n?new RegExp(`^(${Me(n.source)})?$`):void 0}),e._zod.parse=(r,n)=>{if(r.value===void 0){if(t.innerType._zod.optin!=="defaulted")return r;let o=t.innerType._zod.run({value:r.value,issues:[]},n);return o instanceof Promise?o.then(s=>Zo(r,s)):Zo(r,o)}return t.innerType._zod.run(r,n)}}),ks=h("$ZodExactOptional",(e,t)=>{kr.init(e,t),I(e,"values",r=>r.def.innerType._zod.values),I(e,"pattern",r=>r.def.innerType._zod.pattern),e._zod.parse=(r,n)=>t.innerType._zod.run(r,n)}),zs=h("$ZodNullable",(e,t)=>{j.init(e,t),I(e,"optin",r=>r.def.innerType._zod.optin),I(e,"optout",r=>r.def.innerType._zod.optout),I(e,"pattern",r=>{let n=r.def.innerType._zod.pattern;return n?new RegExp(`^(${Me(n.source)}|null)$`):void 0}),I(e,"values",r=>r.def.innerType._zod.values?new Set([...r.def.innerType._zod.values,null]):void 0),e._zod.parse=(r,n)=>r.value===null?r:t.innerType._zod.run(r,n)}),ws=h("$ZodDefault",(e,t)=>{j.init(e,t),e._zod.optin="defaulted",I(e,"values",r=>r.def.innerType._zod.values),e._zod.parse=(r,n)=>{if(n.direction==="backward")return t.innerType._zod.run(r,n);if(r.value===void 0)return r.value=t.defaultValue,r;let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(s=>Oo(s,t)):Oo(o,t)}});function Oo(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var Ss=h("$ZodPrefault",(e,t)=>{j.init(e,t),e._zod.optin="defaulted",I(e,"values",r=>r.def.innerType._zod.values),e._zod.parse=(r,n)=>(n.direction==="backward"||r.value===void 0&&(r.value=t.defaultValue),t.innerType._zod.run(r,n))}),Ps=h("$ZodNonOptional",(e,t)=>{j.init(e,t),I(e,"values",r=>{let n=r.def.innerType._zod.values;return n?new Set([...n].filter(o=>o!==void 0)):void 0}),e._zod.parse=(r,n)=>{let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(s=>Eo(s,e)):Eo(o,e)}});function Eo(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}function Io(e,t,r,n){return t.issues.length?(e.value=r.catchValue({...t,value:e.value,error:{issues:t.issues.map(o=>oe(o,n,Y()))},input:e.value}),e):(e.value=t.value,t.memo&&(e.memo=!0),e)}var Zs=h("$ZodCatch",(e,t)=>{j.init(e,t),I(e,"optin",r=>r.def.innerType._zod.optin==="defaulted"?"defaulted":"optional"),I(e,"optout",r=>r.def.innerType._zod.optout),I(e,"values",r=>r.def.innerType._zod.values),e._zod.parse=(r,n)=>{if(n.direction==="backward")return t.innerType._zod.run(r,n);let o=t.innerType._zod.run({value:r.value,issues:[]},n);return o instanceof Promise?o.then(s=>Io(r,s,t,n)):Io(r,o,t,n)}});var Os=h("$ZodPipe",(e,t)=>{j.init(e,t),I(e,"values",r=>r.def.in._zod.values),I(e,"optin",r=>r.def.in._zod.optin),I(e,"optout",r=>r.def.out._zod.optout),I(e,"propValues",r=>r.def.in._zod.propValues),e._zod.parse=(r,n)=>{if(n.direction==="backward"){let s=t.out._zod.run(r,n);return s instanceof Promise?s.then(i=>yt(i,t.in,n)):yt(s,t.in,n)}let o=t.in._zod.run(r,n);return o instanceof Promise?o.then(s=>yt(s,t.out,n)):yt(o,t.out,n)}});function yt(e,t,r){return e.issues.some(n=>n.code!=="unrecognized_keys")?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},r)}var Es=h("$ZodReadonly",(e,t)=>{j.init(e,t),I(e,"propValues",r=>r.def.innerType._zod.propValues),I(e,"values",r=>r.def.innerType._zod.values),I(e,"optin",r=>r.def.innerType?._zod?.optin),I(e,"optout",r=>r.def.innerType?._zod?.optout),e._zod.parse=(r,n)=>{if(n.direction==="backward")return t.innerType._zod.run(r,n);let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(Ao):Ao(o)}});function Ao(e){return e.memo||(e.value=Object.freeze(e.value)),e}var Is=h("$ZodCustom",(e,t)=>{V.init(e,t),j.init(e,t),e._zod.parse=(r,n)=>r,e._zod.check=r=>{let n=r.value,o=t.fn(n);if(o instanceof Promise)return o.then(s=>To(s,r,n,e));To(o,r,n,e)}});function To(e,t,r,n){if(!e){let o={code:"custom",input:r,inst:n,path:[...n._zod.def.path??[]],continue:!n._zod.def.abort};n._zod.def.params&&(o.params=n._zod.def.params),t.issues.push(Ee(o))}}var wr=class extends Error{constructor(){super("Cannot parse a reference cycle that closes through a transform"),this.name="ZodCyclicError"}},Sr="~memo",As=[];function Ts(e){return e!==null&&typeof e=="object"}function zr(e){return e.map(t=>t.path?{...t,path:t.path.slice()}:{...t})}var Cs=new WeakMap,Ke=0,Pt=1,Ge=2;function Zt(e,t,r){let n=Cs.get(e);if(n!==void 0)return n?Ge:Ke;if(t.has(e))return Ge;t.add(e);let o=Ke,s=l=>{if(o!==Ge&&l?._zod){let p=Zt(l,t,r);p>o&&(o=p)}},i=(l,p)=>{let d=Ke;for(let f of Reflect.ownKeys(l)){let m=Object.getOwnPropertyDescriptor(l,f);if(p&&!m.enumerable)continue;let g=m.get?Pt:m.value?._zod?Zt(m.value,t,r):Ke;g>d&&(d=g)}return d},a=l=>{l>o&&(o=l)},c=e._zod.def,u=c.type;switch(u){case"object":{let l=Oe(c);a(l?i(l,!0):Pt),s(c.catchall);break}case"array":s(c.element);break;case"tuple":for(let l of c.items)s(l);s(c.rest);break;case"record":case"map":s(c.keyType),s(c.valueType);break;case"set":s(c.valueType);break;case"union":for(let l of c.options)s(l);break;case"intersection":s(c.left),s(c.right);break;case"optional":case"nullable":case"default":case"prefault":case"catch":case"readonly":case"nonoptional":case"promise":case"success":s(c.innerType);break;case"pipe":s(c.in),s(c.out);break;case"function":s(c.input),s(c.output);break;case"lazy":{let l=c._cachedInner??(r?e._zod.innerType:void 0);a(l?Zt(l,t,!1):Pt);break}case"template_literal":case"string":case"number":case"int":case"boolean":case"bigint":case"symbol":case"undefined":case"null":case"void":case"never":case"any":case"unknown":case"date":case"nan":case"enum":case"literal":case"file":case"transform":case"custom":break;default:for(let l in c){let p=Object.getOwnPropertyDescriptor(c,l);if(!p||p.get)continue;let d=p.value;if(!(!d||typeof d!="object")){if(d._zod)s(d);else if(Array.isArray(d))for(let f of d)s(f)}}}return t.delete(e),qc(e,o)}function qc(e,t){return t!==Pt&&Cs.set(e,t===Ge),t}function Xc(e,t){let r=e.buckets.get(t);return r||(r=new WeakMap,e.buckets.set(t,r)),r}var wt,St=[],Yc={alloc(e,t,r){let n=wt;if(!n)return r;wt=void 0;let o={value:r,issues:null};return n.set(t.value,o),St.push(o),r},guard(e){var t;(t=e._zod).deferred??(t.deferred=[]),e._zod.deferred.push(()=>{let r=e._zod.parse,n=(o,s)=>{if(s.direction!=="backward"&&Qc(s,o.value))throw new wr;return r(o,s)};e._zod.parse=n,e._zod.run===r&&(e._zod.run=n)})},attach(e){var t;let r,n=!1,o,s;(t=e._zod).deferred??(t.deferred=[]),e._zod.deferred.push(()=>{let i=e._zod.parse,a=(c,u)=>{if(r===void 0){let _=Zt(e,new Set,!1);if(_===Ke)return e._zod.parse=i,e._zod.run===a&&(e._zod.run=i),i(c,u);_===Ge||n?r=!0:n=!0}let l=c.value;if(!Ts(l))return i(c,u);let p=u[Sr];p||(p={buckets:new WeakMap,backEdges:void 0},u[Sr]=p);let d;o===u?d=s:(d=Xc(p,e),o=u,s=d);let f=d.get(l);if(f)return c.value=f.value,f.issues?f.issues.length&&c.issues.push(...zr(f.issues)):(c.memo=!0,p.backEdges??(p.backEdges=new WeakSet),p.backEdges.add(f.value)),c;wt=d;let m=St.length,g=i(c,u);wt=void 0;let y=St.length>m?St.pop():void 0;return g instanceof Promise?g.then(_=>(y&&(y.issues=_.issues.length?zr(_.issues):As),_)):(y&&(y.issues=g.issues.length?zr(g.issues):As),g)};e._zod.parse=a,e._zod.run===i&&(e._zod.run=a)})}};function Ns(){return Yc}function Qc(e,t){let r=e[Sr]?.backEdges;return r!==void 0&&Ts(t)&&r.has(t)}var eu=()=>{let e={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"},map:{unit:"entries",verb:"to have"}};function t(s){return e[s]??null}let r={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",mac:"MAC address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",currency_code:"currency code",credit_card:"credit card number",iban:"IBAN",jwt:"JWT",template_literal:"input"},n={nan:"NaN"};function o(s,i){return s==="number"&&typeof i=="number"&&!Number.isFinite(i)?String(i):n[s]??s}return s=>{switch(s.code){case"invalid_type":{let i=o(s.expected),a=sr(s.input),c=o(a,s.input);return`Invalid input: expected ${i}, received ${c}`}case"invalid_value":return s.values.length===1?`Invalid input: expected ${ct(s.values[0])}`:`Invalid option: expected one of ${it(s.values,"|")}`;case"too_big":{let i=s.exact?"exactly ":s.inclusive?"<=":"<",a=t(s.origin);return a?`Too big: expected ${s.origin??"value"} to have ${i}${s.maximum.toString()} ${a.unit??"elements"}`:`Too big: expected ${s.origin??"value"} to be ${i}${s.maximum.toString()}`}case"too_small":{let i=s.exact?"exactly ":s.inclusive?">=":">",a=t(s.origin);return a?`Too small: expected ${s.origin} to have ${i}${s.minimum.toString()} ${a.unit}`:`Too small: expected ${s.origin} to be ${i}${s.minimum.toString()}`}case"invalid_format":{let i=s;return i.format==="starts_with"?`Invalid string: must start with "${i.prefix}"`:i.format==="ends_with"?`Invalid string: must end with "${i.suffix}"`:i.format==="includes"?`Invalid string: must include "${i.includes}"`:i.format==="regex"?`Invalid string: must match pattern ${i.pattern}`:`Invalid ${r[i.format]??s.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${s.divisor}`;case"unrecognized_keys":return`Unrecognized key${s.keys.length>1?"s":""}: ${it(s.keys,", ")}`;case"invalid_key":return`Invalid key in ${s.origin}`;case"invalid_union":return s.options&&Array.isArray(s.options)&&s.options.length>0?`Invalid discriminator value. Expected ${s.options.map(a=>`'${a}'`).join(" | ")}`:s.inclusive===!1?"Invalid input: more than one option matched":"Invalid input";case"invalid_element":return`Invalid value in ${s.origin}`;default:return"Invalid input"}}};function js(){return{localeError:eu()}}var Ls;var Pr=class{constructor(){this._map=new WeakMap,this._idmap=new Map}add(t,...r){let n=r[0];return this._map.set(t,n),n&&typeof n=="object"&&"id"in n&&this._idmap.set(n.id,t),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(t){let r=this._map.get(t);return r&&typeof r=="object"&&"id"in r&&this._idmap.delete(r.id),this._map.delete(t),this}get(t){let r=t._zod.parent;if(r){let n={...this.get(r)??{}};delete n.id;let o={...n,...this._map.get(t)};return Object.keys(o).length?o:void 0}return this._map.get(t)}has(t){return this._map.has(t)}};function tu(){return new Pr}(Ls=globalThis).__zod_globalRegistry??(Ls.__zod_globalRegistry=tu());var ye=globalThis.__zod_globalRegistry;function Ms(e){return e.checks&&(e.checks=[...e.checks]),e}function Rs(e,t){return new e(Ms({type:"string",...k(t)}))}function Ds(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...k(t)})}function Fs(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...k(t)})}function Us(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...k(t)})}function Bs(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...k(t)})}function Js(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...k(t)})}function Vs(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...k(t)})}function Ks(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...k(t)})}function Gs(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...k(t)})}function Ws(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...k(t)})}function Hs(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...k(t)})}function qs(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...k(t)})}function Xs(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...k(t)})}function Ys(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...k(t)})}function Qs(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...k(t)})}function ei(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...k(t)})}function ti(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...k(t)})}function ri(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...k(t)})}function ni(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...k(t)})}function oi(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...k(t)})}function si(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...k(t)})}function ii(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...k(t)})}function ai(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...k(t)})}function ci(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...k(t)})}function ui(e,t){return new e({type:"string",format:"date",check:"string_format",...k(t)})}function li(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...k(t)})}function pi(e,t){return new e({type:"string",format:"duration",check:"string_format",...k(t)})}function di(e,t){return new e(Ms({type:"number",checks:[],...k(t)}))}function fi(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...k(t)})}function mi(e,t){return new e({type:"boolean",...k(t)})}function hi(e){return new e({type:"unknown"})}function gi(e,t){return new e({type:"never",...k(t)})}function Ot(e,t){return new gr({check:"less_than",...k(t),value:e,inclusive:!1})}function We(e,t){return new gr({check:"less_than",...k(t),value:e,inclusive:!0})}function Et(e,t){return new br({check:"greater_than",...k(t),value:e,inclusive:!1})}function He(e,t){return new br({check:"greater_than",...k(t),value:e,inclusive:!0})}function It(e,t){return new io({check:"multiple_of",...k(t),value:e})}function At(e,t){return new co({check:"max_length",...k(t),maximum:e})}function Ae(e,t){return new uo({check:"min_length",...k(t),minimum:e})}function Tt(e,t){return new lo({check:"length_equals",...k(t),length:e})}function Zr(e,t){return new po({check:"string_format",format:"regex",...k(t),pattern:e})}function Or(e){return new fo({check:"string_format",format:"lowercase",...k(e)})}function Er(e){return new mo({check:"string_format",format:"uppercase",...k(e)})}function Ir(e,t){return new ho({check:"string_format",format:"includes",...k(t),includes:e})}function Ar(e,t){return new go({check:"string_format",format:"starts_with",...k(t),prefix:e})}function Tr(e,t){return new bo({check:"string_format",format:"ends_with",...k(t),suffix:e})}function he(e){return new xo({check:"overwrite",tx:e})}function Cr(e){return he(t=>t.normalize(e))}function Nr(){return he(e=>e.trim())}function jr(){return he(e=>e.toLowerCase())}function Lr(){return he(e=>e.toUpperCase())}function Mr(){return he(e=>er(e))}function bi(e,t,r){return new e({type:"array",element:t,...k(r)})}function xi(e,t,r){return new e({type:"custom",check:"custom",fn:t,...k(r)})}function vi(e,t){let r=ru(n=>(n.addIssue=o=>{if(typeof o=="string")n.issues.push(Ee(o,n.value,r._zod.def));else{let s=o;s.fatal&&(s.continue=!1),s.code??(s.code="custom"),"input"in s||(s.input=n.value),s.inst??(s.inst=r),s.continue??(s.continue=!r._zod.def.abort),n.issues.push(Ee(s))}},e(n.value,n)),t);return r}function ru(e,t){let r=new V({check:"custom",...k(t)});return r._zod.check=e,r}function qe(e,...t){for(let r of t)for(let n of Reflect.ownKeys(r))Object.prototype.propertyIsEnumerable.call(r,n)&&q(e,n,r[n]);return e}function Dr(e){let t=e?.target??"draft-2020-12";return t==="draft-4"&&(t="draft-04"),t==="draft-7"&&(t="draft-07"),{processors:e.processors??{},metadataRegistry:e?.metadata??ye,target:t,unrepresentable:e?.unrepresentable??"throw",override:e?.override??(()=>{}),io:e?.io??"output",counter:0,seen:new Map,sharedDefsExtractedFor:void 0,sharedEmitDoneFor:void 0,cycles:e?.cycles??"ref",reused:e?.reused??"inline",intersections:[],deferred:[],external:e?.external??void 0}}function le(e,t,r,n,o){let s=typeof t.unrepresentable=="function"?t.unrepresentable({zodSchema:e,path:n.path,message:o}):t.unrepresentable;if(s==="any")return!1;if(s===void 0||s==="throw")throw new Error(o);return Object.assign(r,s),!0}function D(e,t,r={path:[],schemaPath:[]}){var n;let o=e._zod.def,s=t.seen.get(e);if(s)return s.count++,r.schemaPath.includes(e)&&(s.cycle=r.path),s.schema;let i={schema:{},count:1,cycle:void 0,path:r.path};t.seen.set(e,i),t.sharedDefsExtractedFor=void 0,t.sharedEmitDoneFor=void 0;let a=e._zod.toJSONSchema?.();if(a)i.schema=a;else{let l={...r,schemaPath:[...r.schemaPath,e],path:r.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,i.schema,l);else{let d=i.schema,f=t.processors[o.type];if(!f)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${o.type}`);f(e,t,d,l)}let p=e._zod.parent;p&&(i.ref||(i.ref=p),D(p,t,l),t.seen.get(p).isParent=!0)}let c=t.metadataRegistry.get(e);return c&&qe(i.schema,c),t.io==="input"&&W(e)&&(delete i.schema.examples,delete i.schema.default),t.io==="input"&&"_prefault"in i.schema&&((n=i.schema).default??(n.default=i.schema._prefault)),delete i.schema._prefault,t.seen.get(e).schema}function yi(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}function Fr(e,t){let r=e.seen.get(t);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");if(e.external&&e.sharedDefsExtractedFor===e.external)return;let n=new Map;for(let i of e.seen.entries()){let a=e.metadataRegistry.get(i[0])?.id;if(a){let c=n.get(a);if(c&&c!==i[0])throw new Error(`Duplicate schema id "${a}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);n.set(a,i[0])}}let o=i=>{let a=e.target==="draft-2020-12"?"$defs":"definitions";if(e.external){let p=e.external.registry.get(i[0])?.id,d=e.external.uri??(m=>m);if(p)return{ref:d(p)};let f=i[1].defId??i[1].schema.id??`schema${e.counter++}`;return i[1].defId=f,{defId:f,ref:`${d("__shared")}#/${a}/${yi(f)}`}}let c="#",u=`${c}/${a}/`;if(i[1]===r&&!i[1].schema.id)return{ref:c};let l=i[1].schema.id??`__schema${e.counter++}`;return{defId:l,ref:u+yi(l)}},s=i=>{if(i[1].schema.$ref)return;let a=i[1],{ref:c,defId:u}=o(i);a.def={...a.schema},u&&(a.defId=u);let l=a.schema;for(let p in l)delete l[p];l.$ref=c};if(e.cycles==="throw")for(let i of e.seen.entries()){let a=i[1];if(a.cycle)throw new Error(`Cycle detected: #/${a.cycle?.join("/")}/<root>
56
56
 
57
- Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let i of e.seen.entries()){let c=i[1];if(t===i[0]){s(i);continue}if(e.external){let l=e.external.registry.get(i[0])?.id;if(t!==i[0]&&l){s(i);continue}}if(e.metadataRegistry.get(i[0])?.id){s(i);continue}if(c.cycle){s(i);continue}c.count>1&&e.reused==="ref"&&s(i)}e.external&&(e.sharedDefsExtractedFor=e.external)}function oi(e){let t=e.anyOf;if(!Array.isArray(t)||t.length===0||e.type!==void 0)return;let r=[];for(let n of t){if(!n||typeof n!="object")return;oi(n);let o=Object.keys(n);if(o.length!==1||o[0]!=="type")return;let s=n.type;for(let i of Array.isArray(s)?s:[s]){if(typeof i!="string")return;r.includes(i)||r.push(i)}}delete e.anyOf,e.type=r.length===1?r[0]:r}var si=new Set(["type","properties","required","additionalProperties"]),ri=["oneOf","anyOf"];function ni(e){let t=e.additionalProperties;return t===void 0||t===!1||typeof t!="object"||t===null?null:Object.keys(t).length?t:null}function kr(e){let t=[];for(let s of e){if(typeof s!="object"||s.type!=="object")return null;for(let i in s)if(!si.has(i))return null;t.push(s)}let r={},n=new Set;for(let s of t){for(let i in s.properties){if(Object.prototype.hasOwnProperty.call(r,i))continue;let c=[];for(let l of t){let u=l.properties?.[i]??ni(l);u!=null&&(c.some(p=>JSON.stringify(p)===JSON.stringify(u))||c.push(u))}let a=c.length===1?c[0]:kr(c)??{allOf:c};K(r,i,a)}for(let i of s.required??[])n.add(i)}let o={type:"object",properties:r};if(n.size&&(o.required=[...n]),t.every(s=>s.additionalProperties===!1))o.additionalProperties=!1;else{let s=[];for(let i of t){let c=ni(i);c&&!s.some(a=>JSON.stringify(a)===JSON.stringify(c))&&s.push(c)}s.length===1?o.additionalProperties=s[0]:s.length>1&&(o.additionalProperties={allOf:s})}return o}function Aa(e){let t=e.allOf;if(!Array.isArray(t)||t.length<2)return;for(let o of si)if(o in e)return;let r=t.filter(o=>ri.some(s=>Array.isArray(o[s]))),n=null;if(!r.length)n=kr(t);else{let o=r[0],s=ri.find(a=>Array.isArray(o[a]));if(Object.keys(o).length!==1)return;let i=t.filter(a=>a!==o),c=o[s].map(a=>kr([...i,a]));if(c.some(a=>!a))return;n={[s]:c}}n&&(delete e.allOf,Re(e,n))}function Sr(e,t){let r=e.seen.get(t);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");let n=c=>{let a=e.seen.get(c);if(a.ref===null)return;let l=a.def??a.schema,u={...l},p=a.ref;if(a.ref=null,p){n(p);let f=e.seen.get(p),m=f.schema;if(m.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0")?(l.allOf=l.allOf??[],l.allOf.push(m)):Re(l,m),Re(l,u),c._zod.parent===p)for(let _ in l)_==="$ref"||_==="allOf"||_ in u||delete l[_];if(m.$ref&&f.def)for(let _ in l)_==="$ref"||_==="allOf"||_ in f.def&&JSON.stringify(l[_])===JSON.stringify(f.def[_])&&delete l[_]}let d=c._zod.parent;if(d&&d!==p){n(d);let f=e.seen.get(d);if(f?.schema.$ref&&(l.$ref=f.schema.$ref,f.def))for(let m in l)m==="$ref"||m==="allOf"||m in f.def&&JSON.stringify(l[m])===JSON.stringify(f.def[m])&&delete l[m]}e.override({zodSchema:c,jsonSchema:l,path:a.path??[]})};if(!e.external||e.sharedEmitDoneFor!==e.external){for(let c of[...e.seen.entries()].reverse())n(c[0]);if(e.target!=="openapi-3.0")for(let c of e.seen.entries())oi(c[1].def??c[1].schema);for(let c of e.deferred)c();if(e.intersections.length){let c=new Map;for(let a of e.seen.values())for(let l of[a.schema,a.def]){let u=l?.allOf;if(!Array.isArray(u))continue;let p=c.get(u);p?p.push(l):c.set(u,[l])}for(let a of e.intersections)for(let l of c.get(a)??[])Aa(l)}}let o={};if(e.target==="draft-2020-12"?o.$schema="https://json-schema.org/draft/2020-12/schema":e.target==="draft-07"?o.$schema="http://json-schema.org/draft-07/schema#":e.target==="draft-04"?o.$schema="http://json-schema.org/draft-04/schema#":e.target,e.external?.uri){let c=e.external.registry.get(t)?.id;if(!c)throw new Error("Schema is missing an `id` property");o.$id=e.external.uri(c)}Re(o,r.defId?r.schema:r.def??r.schema);let s=e.metadataRegistry.get(t)?.id;s!==void 0&&o.id===s&&delete o.id;let i=e.external?.defs??{};if(!e.external||e.sharedEmitDoneFor!==e.external)for(let c of e.seen.entries()){let a=c[1];a.def&&a.defId&&(a.def.id===a.defId&&delete a.def.id,K(i,a.defId,a.def))}e.external&&(e.sharedEmitDoneFor=e.external),e.external||Object.keys(i).length>0&&(e.target==="draft-2020-12"?o.$defs=i:o.definitions=i);try{let c=JSON.parse(JSON.stringify(o));return Object.defineProperty(c,"~standard",{value:{...t["~standard"],jsonSchema:{input:je(t,"input",e.processors),output:je(t,"output",e.processors)}},enumerable:!1,writable:!1}),c}catch{throw new Error("Error converting schema to JSON.")}}function D(e,t){let r=t??{seen:new Set};if(r.seen.has(e))return!1;r.seen.add(e);let n=e._zod.def;if(n.type==="transform")return!0;if(n.type==="array")return D(n.element,r);if(n.type==="set")return D(n.valueType,r);if(n.type==="lazy")return D(n.getter(),r);if(n.type==="promise"||n.type==="optional"||n.type==="nonoptional"||n.type==="nullable"||n.type==="readonly"||n.type==="default"||n.type==="prefault"||n.type==="catch")return D(n.innerType,r);if(n.type==="intersection")return D(n.left,r)||D(n.right,r);if(n.type==="record"||n.type==="map")return D(n.keyType,r)||D(n.valueType,r);if(n.type==="pipe")return e._zod.traits.has("$ZodCodec")?!0:D(n.in,r)||D(n.out,r);if(n.type==="object"){for(let o in n.shape)if(D(n.shape[o],r))return!0;return!1}if(n.type==="union"){for(let o of n.options)if(D(o,r))return!0;return!1}if(n.type==="tuple"){for(let o of n.items)if(D(o,r))return!0;return!!(n.rest&&D(n.rest,r))}return!1}var ii=(e,t={})=>r=>{let n=wr({...r,processors:t});return T(e,n),zr(n,e),Sr(n,e)},je=(e,t,r={})=>n=>{let{libraryOptions:o,target:s}=n??{},i=wr({...o??{},target:s,io:t,processors:r});return T(e,i),zr(i,e),Sr(i,e)};var ve=(e,t,r)=>{(e[t]===void 0||r>e[t])&&(e[t]=r)},ye=(e,t,r)=>{(e[t]===void 0||r<e[t])&&(e[t]=r)},ci=(e,t)=>{ve(e,"minimum",t),ye(e,"maximum",t)},pi=(e,t)=>{e.multipleOf??(e.multipleOf=[]),e.multipleOf.includes(t)||e.multipleOf.push(t)},di=(e,t)=>{e.patterns??(e.patterns=new Set),e.patterns.add(t)},fi=(e,t)=>{e.mime=e.mime?e.mime.filter(r=>t.includes(r)):[...t]},mi=(e,t)=>{e.format=t,t.includes("int")&&(e.isInt=!0)},ai=(e,t)=>ve(e,"minimum",t.minimum),ui=(e,t)=>ye(e,"maximum",t.maximum),li=e=>(t,r)=>{mi(t,r.format);let[n,o]=e[r.format];ve(t,"minimum",n),ye(t,"maximum",o)},Ta={greater_than:(e,t)=>ve(e,t.inclusive?"minimum":"exclusiveMinimum",t.value),less_than:(e,t)=>ye(e,t.inclusive?"maximum":"exclusiveMaximum",t.value),multiple_of:(e,t)=>pi(e,t.value),number_format:li(Pe),bigint_format:li(Xe),min_length:ai,max_length:ui,length_equals:(e,t)=>ci(e,t.length),min_size:ai,max_size:ui,size_equals:(e,t)=>ci(e,t.size),string_format:(e,t)=>{mi(e,t.format),t.pattern&&di(e,t.pattern),(t.format==="base64"||t.format==="base64url")&&(e.contentEncoding=t.format),(t.local||t.precision===-1)&&(e.laxFormat=!0)},mime_type:(e,t)=>fi(e,t.mime)};function J(e){let t={},r=e._zod.def,n=e._zod.traits.has("$ZodCheck")?[e,...r.checks??[]]:r.checks??[];for(let s of n)Ta[s._zod.def.check]?.(t,s._zod.def);let o=e._zod.bag;o.minimum!==void 0&&ve(t,"minimum",o.minimum),o.exclusiveMinimum!==void 0&&ve(t,"exclusiveMinimum",o.exclusiveMinimum),o.maximum!==void 0&&ye(t,"maximum",o.maximum),o.exclusiveMaximum!==void 0&&ye(t,"exclusiveMaximum",o.exclusiveMaximum),o.multipleOf!==void 0&&pi(t,o.multipleOf),o.format!==void 0&&(t.format??(t.format=o.format),o.format.includes("int")&&(t.isInt=!0)),o.mime&&fi(t,o.mime);for(let s of o.patterns??[])di(t,s);return t}var Ca={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},Na=new Map([[sr,Tn],[dt,Cn]]),hi=e=>Na.get(e)??e,gi=(e,t,r,n)=>{let o=r;o.type="string";let{minimum:s,maximum:i,format:c,patterns:a,contentEncoding:l,laxFormat:u}=J(e);if(typeof s=="number"&&(o.minLength=s),typeof i=="number"&&(o.maxLength=i),c&&(o.format=Ca[c]??c,o.format===""&&delete o.format,(c==="time"||u)&&delete o.format),l&&(o.contentEncoding=l),a&&a.size>0){let p=[...a].map(hi);p.length===1?o.pattern=p[0].source:p.length>1&&(o.allOf=[...p.map(d=>({...t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0"?{type:"string"}:{},pattern:d.source}))])}},xi=(e,t,r,n)=>{let o=r,{minimum:s,maximum:i,multipleOf:c,exclusiveMaximum:a,exclusiveMinimum:l,isInt:u}=J(e);o.type=u?"integer":"number";let p=typeof l=="number"&&l>=(s??Number.NEGATIVE_INFINITY),d=typeof a=="number"&&a<=(i??Number.POSITIVE_INFINITY),f=t.target==="draft-04"||t.target==="openapi-3.0";if(p?f?(o.minimum=l,o.exclusiveMinimum=!0):o.exclusiveMinimum=l:typeof s=="number"&&(o.minimum=s),d?f?(o.maximum=a,o.exclusiveMaximum=!0):o.exclusiveMaximum=a:typeof i=="number"&&(o.maximum=i),c){let m=new Set;for(let y of c)Number.isFinite(y)&&y!==0?m.add(Math.abs(y)):ae(e,t,o,n,`A multipleOf divisor of ${y} cannot be represented in JSON Schema`);let[x,..._]=m;x!==void 0&&(o.multipleOf=x),_.length&&(o.allOf=[...o.allOf??[],..._.map(y=>({multipleOf:y}))])}};var bi=(e,t,r,n)=>{r.not={}};var vi=(e,t,r,n)=>{};var yi=(e,t,r,n)=>{let o=e._zod.def,s=me(o.entries);if(s.length===0){r.not={};return}s.every(i=>typeof i=="number")&&(r.type="number"),s.every(i=>typeof i=="string")&&(r.type="string"),r.enum=s};var _i=(e,t,r,n)=>{ae(e,t,r,n,"Custom types cannot be represented in JSON Schema")};var $i=(e,t,r,n)=>{ae(e,t,r,n,"Transforms cannot be represented in JSON Schema")};var ki=(e,t,r,n)=>{let o=r,s=e._zod.def,{minimum:i,maximum:c}=J(e);typeof i=="number"&&(o.minItems=i),typeof c=="number"&&(o.maxItems=c),o.type="array",o.items=T(s.element,t,{...n,path:[...n.path,"items"]})};function De(e){let t=e._zod.def;return t.type==="pipe"&&t.in._zod.traits.has("$ZodTransform")?De(t.out):t.type==="catch"?De(t.innerType):e._zod.optin}var wi=(e,t,r,n)=>{let o=r,s=e._zod.def,i=s.shape;if(Object.getOwnPropertySymbols(i).length&&ae(e,t,o,n,"Symbol keys cannot be represented in JSON Schema"))return;o.type="object",o.properties={};for(let l in i)K(o.properties,l,T(i[l],t,{...n,path:[...n.path,"properties",l]}));let a=[];for(let l of Object.keys(i)){let u=s.shape[l];(t.io==="input"?De(u)===void 0:u._zod.optout===void 0)&&a.push(l)}a.length>0&&(o.required=a),s.catchall?._zod.def.type==="never"?o.additionalProperties=!1:s.catchall?s.catchall&&(o.additionalProperties=T(s.catchall,t,{...n,path:[...n.path,"additionalProperties"]})):t.io==="output"&&(o.additionalProperties=!1)},zi=(e,t,r,n)=>{let o=e._zod.def,s=o.inclusive===!1,i=o.options.map((c,a)=>T(c,t,{...n,path:[...n.path,s?"oneOf":"anyOf",a]}));s?r.oneOf=i:r.anyOf=i},Si=(e,t,r,n)=>{let o=e._zod.def,s=T(o.left,t,{...n,path:[...n.path,"allOf",0]}),i=T(o.right,t,{...n,path:[...n.path,"allOf",1]}),c=l=>"allOf"in l&&Object.keys(l).length===1,a=[...c(s)?s.allOf:[s],...c(i)?i.allOf:[i]];r.allOf=a,t.intersections.push(a)},Pi=(e,t,r,n)=>{let o=r,s=e._zod.def;o.type="array";let i=t.target==="draft-2020-12"?"prefixItems":"items",c=t.target==="draft-2020-12"||t.target==="openapi-3.0"?"items":"additionalItems",a=s.items.map((x,_)=>T(x,t,{...n,path:[...n.path,i,_]})),l=s.rest?T(s.rest,t,{...n,path:[...n.path,c,...t.target==="openapi-3.0"?[s.items.length]:[]]}):null,u=s.items.length;for(;u>0;){let x=s.items[u-1];if(!(t.io==="input"?De(x)!==void 0:x._zod.optout==="optional"))break;u--}let p=s.items.length,d=!s.rest;t.target==="draft-2020-12"?(o.prefixItems=a,d?o.items=!1:l&&(o.items=l),u>0&&(o.minItems=u),d&&(o.maxItems=p)):t.target==="openapi-3.0"?(o.items={anyOf:a},l&&o.items.anyOf.push(l),u>0&&(o.minItems=u),d&&(o.maxItems=p)):(o.items=a,d?o.additionalItems=!1:l&&(o.additionalItems=l),u>0&&(o.minItems=u),d&&(o.maxItems=p));let{minimum:f,maximum:m}=J(e);typeof f=="number"&&(o.minItems=f),typeof m=="number"&&(o.maxItems=m)};function Pr(e,t,r){if(t.$ref){if(r.has(t))return t;r.add(t);let m=e.get(t)?.def;if(!m)return t;let x=Pr(e,m,r);return x===m?t:x}for(let m of["anyOf","oneOf"]){let x=t[m];if(!Array.isArray(x))continue;let _=x.map(y=>Pr(e,y,r));_.some((y,I)=>y!==x[I])&&(t={...t,[m]:_})}let n=Array.isArray(t.type)?t.type:[t.type],o=!n.includes("string")&&n.some(m=>m==="number"||m==="integer"),s=t.enum??(t.const!==void 0?[t.const]:void 0);if(!o&&!s?.some(m=>typeof m=="number"))return t;let{minimum:i,maximum:c,exclusiveMinimum:a,exclusiveMaximum:l,multipleOf:u,format:p,id:d,...f}=t;return f.enum?f.enum=f.enum.map(m=>typeof m=="number"?String(m):m):typeof f.const=="number"&&(f.const=String(f.const)),o&&(f.type="string",s||(f.pattern=(n.includes("number")?Ee:Qt).source)),f}var Zr=new WeakMap;function Ma(e){let t=new Map;for(let n of e.seen.values())n.def&&!t.has(n.schema)&&t.set(n.schema,n);let r=new Map;for(let n of Zr.get(e)??[]){let o=e.seen.get(n),s=(o?.def??o?.schema)?.propertyNames;if(!s||s===!0||r.has(s))continue;let i=Pr(t,s,new Set);i!==s&&r.set(s,i)}if(r.size)for(let n of e.seen.values())for(let o of[n.schema,n.def]){let s=o&&r.get(o.propertyNames);s&&(o.propertyNames=s)}}var Zi=(e,t,r,n)=>{let o=r,s=e._zod.def;o.type="object";let i=s.keyType,c=J(i).patterns;if(s.mode==="loose"&&c&&c.size>0){let u=T(s.valueType,t,{...n,path:[...n.path,"patternProperties","*"]});o.patternProperties={};for(let p of c)K(o.patternProperties,hi(p).source,u)}else{if(t.target==="draft-07"||t.target==="draft-2020-12"){o.propertyNames=T(s.keyType,t,{...n,path:[...n.path,"propertyNames"]});let u=Zr.get(t);u||(u=[],Zr.set(t,u),t.deferred.push(()=>Ma(t))),u.push(e)}o.additionalProperties=T(s.valueType,t,{...n,path:[...n.path,"additionalProperties"]})}let a=i._zod.values,l=t.io==="input"&&De(s.valueType)!==void 0;if(a&&!s.partial&&!l){let u=[...a].filter(p=>typeof p=="string"||typeof p=="number");u.length>0&&(o.required=u.map(String))}},Oi=(e,t,r,n)=>{let o=e._zod.def,s=T(o.innerType,t,n),i=t.seen.get(e);t.target==="openapi-3.0"?(i.ref=o.innerType,r.nullable=!0):r.anyOf=[s,{type:"null"}]},Ii=(e,t,r,n)=>{let o=e._zod.def;T(o.innerType,t,n);let s=t.seen.get(e);s.ref=o.innerType},Or=Symbol();function Ei(e,t,r,n,o){let s=!1,i=JSON.stringify(e,(c,a)=>typeof a!="bigint"?a:(s=!0,null));return s?(ae(t,r,n,o,"BigInt defaults cannot be represented in JSON Schema"),Or):JSON.parse(i)}var Ai=(e,t,r,n)=>{let o=e._zod.def;T(o.innerType,t,n);let s=t.seen.get(e);s.ref=o.innerType;let i=Ei(o.defaultValue,e,t,r,n);i!==Or&&(r.default=i)},Ti=(e,t,r,n)=>{let o=e._zod.def;T(o.innerType,t,n);let s=t.seen.get(e);if(s.ref=o.innerType,t.io!=="input")return;let i=Ei(o.defaultValue,e,t,r,n);i!==Or&&(r._prefault=i)},Ci=(e,t,r,n)=>{let o=e._zod.def;T(o.innerType,t,n);let s=t.seen.get(e);s.ref=o.innerType;let i;try{i=o.catchValue(void 0)}catch{ae(e,t,r,n,"Dynamic catch values are not supported in JSON Schema");return}r.default=i},Ni=(e,t,r,n)=>{let o=e._zod.def,s=o.in._zod.traits.has("$ZodTransform"),i=t.io==="input"?s?o.out:o.in:o.out;T(i,t,n);let c=t.seen.get(e);c.ref=i},Mi=(e,t,r,n)=>{let o=e._zod.def;T(o.innerType,t,n);let s=t.seen.get(e);s.ref=o.innerType,r.readOnly=!0};var Ir=(e,t,r,n)=>{let o=e._zod.def;T(o.innerType,t,n);let s=t.seen.get(e);s.ref=o.innerType};var Li=new WeakSet([Object.prototype,Error.prototype]);function $t(e,t,r){Object.defineProperty(e,t,{configurable:!0,enumerable:!1,get(){let n=r(this);return Object.defineProperty(this,t,{value:n,configurable:!0,writable:!0}),n},set(n){Object.defineProperty(this,t,{value:n,configurable:!0,writable:!0})}})}var Ja=(e,t)=>{sn.init(e,t),e.name="ZodError";let r=Object.getPrototypeOf(e);Li.has(r)||(Li.add(r),$t(r,"format",n=>o=>an(n,o)),$t(r,"flatten",n=>o=>cn(n,o)),$t(r,"addIssue",n=>o=>{n.issues.push(o),n.message=JSON.stringify(n.issues,he,2)}),$t(r,"addIssues",n=>o=>{n.issues.push(...o),n.message=JSON.stringify(n.issues,he,2)}),Object.defineProperty(r,"isEmpty",{configurable:!0,enumerable:!1,get(){return this.issues.length===0}}))};var V=h("ZodError",Ja,void 0,{Parent:Error});var Ri=rt(V),ji=nt(V),Di=ot(V),Fi=st(V),Ui=ln(V),Bi=pn(V),Ji=dn(V),Vi=fn(V),Ki=mn(V),Gi=hn(V),Hi=gn(V),Wi=xn(V);function Ka(){j.localeError||B(bs())}function Fe(){j.memoizer||B({memoizer:xs()})}var N=h("ZodType",(e,t)=>(Ka(),A.init(e,t),e.def=t,e.type=t.type,e),{check(...e){let t=this.def;return this.clone(S.mergeDefs(t,{checks:[...t.checks??[],...e.map(r=>typeof r=="function"?{_zod:{check:r,def:{check:"custom"},onattach:[]}}:r)]}),{parent:!0})},with(...e){return this.check(...e)},clone(e,t){return G(this,e,t)},brand(){return this},register(e,t){return e.add(this,t),this},refine(e,t){return this.check(Bu(e,t))},superRefine(e,t){return this.check(Ju(e,t))},overwrite(e){return this.check(ne(e))},optional(){return Qi(this)},exactOptional(){return Iu(this)},nullable(){return ec(this)},nullish(){return Qi(ec(this))},nonoptional(e){return Mu(this,e)},array(){return _u(this)},or(e){return wu([this,e])},and(e){return Su(this,e)},transform(e){return tc(this,Ou(e))},default(e){return Tu(this,e)},prefault(e){return Nu(this,e)},catch(e){return Ru(this,e)},pipe(e){return tc(this,e)},readonly(){return Fu(this)},describe(e){let t=this.clone();return ce.add(t,{description:e}),t},meta(...e){if(e.length===0)return ce.get(this);let t=this.clone();return ce.add(t,e[0]),t},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(e,...t){return t.length===0?e(this):e(this,...t)},get"~standard"(){return S.hide(this,"~standard",{...or(this),jsonSchema:{input:je(this,"input"),output:je(this,"output")}})},set"~standard"(e){S.own(this,"~standard",e)},parse:function e(t,r){return Ri(this,t,r,{callee:e})},parseAsync:async function e(t,r){return await ji(this,t,r,{callee:e})},safeParse(e,t){return Di(this,e,t)},async safeParseAsync(e,t){return Fi(this,e,t)},get spa(){return this?.safeParseAsync},set spa(e){S.own(this,"spa",e)},validate(e,t){return Wt(this,e,t)},validateAsync(e,t){return qt(this,e,t)},encode:function e(t,r){return Ui(this,t,r,{callee:e})},decode:function e(t,r){return Bi(this,t,r,{callee:e})},encodeAsync:async function e(t,r){return await Ji(this,t,r,{callee:e})},decodeAsync:async function e(t,r){return await Vi(this,t,r,{callee:e})},safeEncode(e,t){return Ki(this,e,t)},safeDecode(e,t){return Gi(this,e,t)},async safeEncodeAsync(e,t){return Hi(this,e,t)},async safeDecodeAsync(e,t){return Wi(this,e,t)},toJSONSchema(e){return ii(this,{})(e)},get description(){return ce.get(this)?.description},get _def(){return this._zod.def}}),rc=h("_ZodString",(e,t)=>{pt.init(e,t),N.init(e,t),e._zod.processJSONSchema=(r,n,o)=>gi(e,r,n,o)},S.derived({format:e=>J(e).format??null,minLength:e=>J(e).minimum??null,maxLength:e=>J(e).maximum??null},{regex(...e){return this.check(dr(...e))},includes(...e){return this.check(hr(...e))},startsWith(...e){return this.check(gr(...e))},endsWith(...e){return this.check(xr(...e))},min(...e){return this.check(be(...e))},max(...e){return this.check(yt(...e))},length(...e){return this.check(_t(...e))},nonempty(...e){return this.check(be(1,...e))},lowercase(e){return this.check(fr(e))},uppercase(e){return this.check(mr(e))},trim(){return this.check(vr())},normalize(...e){return this.check(br(...e))},toLowerCase(){return this.check(yr())},toUpperCase(){return this.check(_r())},slugify(){return this.check($r())}})),Ga=h("ZodString",(e,t)=>{pt.init(e,t),rc.init(e,t)},{email(e){return this.check($s(Ya,e))},url(e){return this.check(Zs(eu,e))},jwt(e){return this.check(Bs(hu,e))},emoji(e){return this.check(Os(tu,e))},guid(e){return this.check(ks(Qa,e))},uuid(e){return this.check(ws(kt,e))},uuidv4(e){return this.check(zs(kt,e))},uuidv6(e){return this.check(Ss(kt,e))},uuidv7(e){return this.check(Ps(kt,e))},nanoid(e){return this.check(Is(ru,e))},cuid(e){return this.check(Es(nu,e))},cuid2(e){return this.check(As(ou,e))},ulid(e){return this.check(Ts(su,e))},base64(e){return this.check(Ds(du,e))},base64url(e){return this.check(Fs(fu,e))},xid(e){return this.check(Cs(iu,e))},ksuid(e){return this.check(Ns(cu,e))},ipv4(e){return this.check(Ms(au,e))},ipv6(e){return this.check(Ls(uu,e))},cidrv4(e){return this.check(Rs(lu,e))},cidrv6(e){return this.check(js(pu,e))},e164(e){return this.check(Us(mu,e))},datetime(e){return this.check(Js(Ha,e))},date(e){return this.check(Vs(Wa,e))},time(e){return this.check(Ks(qa,e))},duration(e){return this.check(Gs(Xa,e))}});function Ue(e){return _s(Ga,e)}var C=h("ZodStringFormat",(e,t)=>{E.init(e,t),rc.init(e,t)}),Ha=h("ZodISODateTime",(e,t)=>{Ao.init(e,t),C.init(e,t)}),Wa=h("ZodISODate",(e,t)=>{To.init(e,t),C.init(e,t)}),qa=h("ZodISOTime",(e,t)=>{Co.init(e,t),C.init(e,t)}),Xa=h("ZodISODuration",(e,t)=>{No.init(e,t),C.init(e,t)}),Ya=h("ZodEmail",(e,t)=>{_o.init(e,t),C.init(e,t)});var Qa=h("ZodGUID",(e,t)=>{vo.init(e,t),C.init(e,t)});var kt=h("ZodUUID",(e,t)=>{yo.init(e,t),C.init(e,t)});var eu=h("ZodURL",(e,t)=>{wo.init(e,t),C.init(e,t)});var tu=h("ZodEmoji",(e,t)=>{zo.init(e,t),C.init(e,t)});var ru=h("ZodNanoID",(e,t)=>{So.init(e,t),C.init(e,t)});var nu=h("ZodCUID",(e,t)=>{Po.init(e,t),C.init(e,t)});var ou=h("ZodCUID2",(e,t)=>{Zo.init(e,t),C.init(e,t)});var su=h("ZodULID",(e,t)=>{Oo.init(e,t),C.init(e,t)});var iu=h("ZodXID",(e,t)=>{Io.init(e,t),C.init(e,t)});var cu=h("ZodKSUID",(e,t)=>{Eo.init(e,t),C.init(e,t)});var au=h("ZodIPv4",(e,t)=>{Mo.init(e,t),C.init(e,t)});var uu=h("ZodIPv6",(e,t)=>{Ro.init(e,t),C.init(e,t)});var lu=h("ZodCIDRv4",(e,t)=>{jo.init(e,t),C.init(e,t)});var pu=h("ZodCIDRv6",(e,t)=>{Do.init(e,t),C.init(e,t)});var du=h("ZodBase64",(e,t)=>{Uo.init(e,t),C.init(e,t)});var fu=h("ZodBase64URL",(e,t)=>{Bo.init(e,t),C.init(e,t)});var mu=h("ZodE164",(e,t)=>{Jo.init(e,t),C.init(e,t)});var hu=h("ZodJWT",(e,t)=>{Vo.init(e,t),C.init(e,t)});var nc=h("ZodNumber",(e,t)=>{ir.init(e,t),N.init(e,t),e._zod.processJSONSchema=(r,n,o)=>xi(e,r,n,o),e.isFinite=!0},S.derived({minValue:e=>{let{minimum:t,exclusiveMinimum:r}=J(e);return Math.max(t??Number.NEGATIVE_INFINITY,r??Number.NEGATIVE_INFINITY)},maxValue:e=>{let{maximum:t,exclusiveMaximum:r}=J(e);return Math.min(t??Number.POSITIVE_INFINITY,r??Number.POSITIVE_INFINITY)},isInt:e=>{let{isInt:t,multipleOf:r}=J(e);return!!t||!!r?.some(Number.isSafeInteger)},format:e=>J(e).format??null},{gt(e,t){return this.check(bt(e,t))},gte(e,t){return this.check(Le(e,t))},min(e,t){return this.check(Le(e,t))},lt(e,t){return this.check(xt(e,t))},lte(e,t){return this.check(Me(e,t))},max(e,t){return this.check(Me(e,t))},int(e){return this.check(qi(e))},safe(e){return this.check(qi(e))},positive(e){return this.check(bt(0,e))},nonnegative(e){return this.check(Le(0,e))},negative(e){return this.check(xt(0,e))},nonpositive(e){return this.check(Me(0,e))},multipleOf(e,t){return this.check(vt(e,t))},step(e,t){return this.check(vt(e,t))},finite(){return this}}));function Be(e){return Hs(nc,e)}var gu=h("ZodNumberFormat",(e,t)=>{Ko.init(e,t),nc.init(e,t)});function qi(e){return Ws(gu,e)}var xu=h("ZodUnknown",(e,t)=>{Go.init(e,t),N.init(e,t),e._zod.processJSONSchema=(r,n,o)=>vi(e,r,n,o)});function Xi(){return qs(xu)}var bu=h("ZodNever",(e,t)=>{Ho.init(e,t),N.init(e,t),e._zod.processJSONSchema=(r,n,o)=>bi(e,r,n,o)});function vu(e){return Xs(bu,e)}var yu=h("ZodArray",(e,t)=>{Fe(),Wo.init(e,t),N.init(e,t),e._zod.processJSONSchema=(r,n,o)=>ki(e,r,n,o),e.element=t.element},{min(e,t){return this.check(be(e,t))},nonempty(e){return this.check(be(1,e))},max(e,t){return this.check(yt(e,t))},length(e,t){return this.check(_t(e,t))},unwrap(){return this.element}});function _u(e,t){return Ys(yu,e,t)}var $u=h("ZodObject",(e,t)=>{Fe(),Yo.init(e,t),N.init(e,t),e._zod.processJSONSchema=(r,n,o)=>wi(e,r,n,o),S.installLazyProp(e,"shape",r=>r._zod.def.shape,!1)},{keyof(){return Cr(Object.keys(this._zod.def.shape))},catchall(e){return this.clone(S.mergeDefs(this._zod.def,{catchall:e}))},passthrough(){return this.clone(S.mergeDefs(this._zod.def,{catchall:Xi()}))},loose(){return this.clone(S.mergeDefs(this._zod.def,{catchall:Xi()}))},strict(){return this.clone(S.mergeDefs(this._zod.def,{catchall:vu()}))},strip(){return this.clone(S.mergeDefs(this._zod.def,{catchall:void 0}))},extend(e){return S.extend(this,e)},safeExtend(e){return S.safeExtend(this,e)},merge(e){return S.merge(this,e)},pick(e){return S.pick(this,e)},omit(e){return S.omit(this,e)},partial(...e){return S.partial(Nr,this,e[0])},exactPartial(...e){return S.partial(ic,this,e[0],"exactPartial")},required(...e){return S.required(cc,this,e[0])}});function Tr(e,t){let r={type:"object",shape:e??{},...S.normalizeParams(t)};return new $u(r)}var ku=h("ZodUnion",(e,t)=>{Qo.init(e,t),N.init(e,t),e._zod.processJSONSchema=(r,n,o)=>zi(e,r,n,o),e.options=t.options});function wu(e,t){return new ku({type:"union",options:e,...S.normalizeParams(t)})}var zu=h("ZodIntersection",(e,t)=>{es.init(e,t),N.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Si(e,r,n,o)});function Su(e,t){return new zu({type:"intersection",left:e,right:t})}var Pu=h("ZodTuple",(e,t)=>{Fe(),ts.init(e,t),N.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Pi(e,r,n,o)},{rest(e){return this.clone({...this._zod.def,rest:e})},partial(){let e=this._zod.def;if(e.checks?.length)throw new Error(".partial() cannot be used on tuple schemas containing refinements");return this.clone({...e,items:e.items.map(t=>new Nr({type:"optional",innerType:t}))})}});function oc(e,t,r){let n=t instanceof A,o=n?r:t,s=n?t:null;return new Pu({type:"tuple",items:e,rest:s,...S.normalizeParams(o)})}var Yi=h("ZodRecord",(e,t)=>{Fe(),rs.init(e,t),N.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Zi(e,r,n,o),e.keyType=t.keyType,e.valueType=t.valueType});function sc(e,t,r){return!t||!t._zod?new Yi({type:"record",keyType:Ue(),valueType:e,...S.normalizeParams(t)}):new Yi({type:"record",keyType:e,valueType:t,...S.normalizeParams(r)})}var Ar=h("ZodEnum",(e,t)=>{ns.init(e,t),N.init(e,t),e._zod.processJSONSchema=(n,o,s)=>yi(e,n,o,s),e.enum=t.entries,e.options=[...e._zod.values];let r=new Set(Object.keys(t.entries));e.extract=(n,o)=>{let s={};for(let i of n)if(r.has(i))s[i]=t.entries[i];else throw new Error(`Key ${i} not found in enum`);return new Ar({...t,checks:[],...S.normalizeParams(o),entries:s})},e.exclude=(n,o)=>{let s={...t.entries};for(let i of n)if(r.has(i))delete s[i];else throw new Error(`Key ${i} not found in enum`);return new Ar({...t,checks:[],...S.normalizeParams(o),entries:s})}});function Cr(e,t){let r=Array.isArray(e)?Object.fromEntries(e.map(n=>[n,n])):e;return new Ar({type:"enum",entries:r,...S.normalizeParams(t)})}var Zu=h("ZodTransform",(e,t)=>{Fe(),os.init(e,t),N.init(e,t),e._zod.processJSONSchema=(r,n,o)=>$i(e,r,n,o),e._zod.parse=(r,n)=>{if(n.direction==="backward")throw new xe(e.constructor.name);r.addIssue=s=>{if(typeof s=="string")r.issues.push(S.issue(s,r.value,t));else{let i=s;i.fatal&&(i.continue=!1),i.code??(i.code="custom"),"input"in i||(i.input=r.value),i.inst??(i.inst=e),r.issues.push(S.issue(i))}};let o=t.transform(r.value,r);return o instanceof Promise?o.then(s=>(r.value=s,r)):(r.value=o,r)}});function Ou(e){return new Zu({type:"transform",transform:e})}var Nr=h("ZodOptional",(e,t)=>{cr.init(e,t),N.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Ir(e,r,n,o),e.unwrap=()=>e._zod.def.innerType});function Qi(e){return new Nr({type:"optional",innerType:e})}var ic=h("ZodExactOptional",(e,t)=>{ss.init(e,t),N.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Ir(e,r,n,o),e.unwrap=()=>e._zod.def.innerType});function Iu(e){return new ic({type:"optional",innerType:e})}var Eu=h("ZodNullable",(e,t)=>{is.init(e,t),N.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Oi(e,r,n,o),e.unwrap=()=>e._zod.def.innerType});function ec(e){return new Eu({type:"nullable",innerType:e})}var Au=h("ZodDefault",(e,t)=>{cs.init(e,t),N.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Ai(e,r,n,o),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function Tu(e,t){return new Au({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():S.shallowClone(t)}})}var Cu=h("ZodPrefault",(e,t)=>{as.init(e,t),N.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Ti(e,r,n,o),e.unwrap=()=>e._zod.def.innerType});function Nu(e,t){return new Cu({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():S.shallowClone(t)}})}var cc=h("ZodNonOptional",(e,t)=>{us.init(e,t),N.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Ii(e,r,n,o),e.unwrap=()=>e._zod.def.innerType});function Mu(e,t){return new cc({type:"nonoptional",innerType:e,...S.normalizeParams(t)})}var Lu=h("ZodCatch",(e,t)=>{ls.init(e,t),N.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Ci(e,r,n,o),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function Ru(e,t){return new Lu({type:"catch",innerType:e,catchValue:typeof t=="function"?t:S.constantCatch(t)})}var ju=h("ZodPipe",(e,t)=>{ps.init(e,t),N.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Ni(e,r,n,o),e.in=t.in,e.out=t.out});function tc(e,t){return new ju({type:"pipe",in:e,out:t})}var Du=h("ZodReadonly",(e,t)=>{ds.init(e,t),N.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Mi(e,r,n,o),e.unwrap=()=>e._zod.def.innerType});function Fu(e){return new Du({type:"readonly",innerType:e})}var Uu=h("ZodCustom",(e,t)=>{fs.init(e,t),N.init(e,t),e._zod.processJSONSchema=(r,n,o)=>_i(e,r,n,o)});function Bu(e,t={}){return Qs(Uu,e,t)}function Ju(e,t){return ei(e,t)}var Vu=Tr({x:Be(),y:Be(),dir:Cr(["left","right","up","down"]).describe("The way a pipe leaves the port")}),Dd=Tr({svg:Ue().min(1).max(3e4).describe("SVG markup inside the symbol's box (no outer <svg>). Colours: var(--state), var(--body), var(--body2), var(--line), var(--accent), or fixed colours"),viewBox:oc([Be().positive(),Be().positive()]).default([100,100]).describe("Width and height of the box the markup is drawn in"),ports:sc(Ue().regex(/^[a-z][a-z0-9-]*$/),Vu).default({}).describe("Where pipes connect, in box coordinates, e.g. { in: { x: 0, y: 50, dir: 'left' } }"),description:Ue().max(200).optional()}),Ku={left:"l",right:"r",up:"u",down:"d"},X=(e,t={},r=[100,100],n)=>({svg:e.replace(/\n\s*/g,""),viewBox:r,ports:Object.fromEntries(Object.entries(t).map(([o,[s,i,c]])=>[o,{x:s,y:i,dir:c}])),...n?{description:n}:{}}),_e={motor:X(`<rect x="6" y="34" width="9" height="32" rx="2" fill="var(--body2)" stroke="var(--line)" stroke-width="2"/>
57
+ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let i of e.seen.entries()){let a=i[1];if(t===i[0]){s(i);continue}if(e.external){let u=e.external.registry.get(i[0])?.id;if(t!==i[0]&&u){s(i);continue}}if(e.metadataRegistry.get(i[0])?.id){s(i);continue}if(a.cycle){s(i);continue}a.count>1&&e.reused==="ref"&&s(i)}e.external&&(e.sharedDefsExtractedFor=e.external)}function ki(e){let t=e.anyOf;if(!Array.isArray(t)||t.length===0||e.type!==void 0)return;let r=[];for(let n of t){if(!n||typeof n!="object")return;ki(n);let o=Object.keys(n);if(o.length!==1||o[0]!=="type")return;let s=n.type;for(let i of Array.isArray(s)?s:[s]){if(typeof i!="string")return;r.includes(i)||r.push(i)}}delete e.anyOf,e.type=r.length===1?r[0]:r}var zi=new Set(["type","properties","required","additionalProperties"]),_i=["oneOf","anyOf"];function $i(e){let t=e.additionalProperties;return t===void 0||t===!1||typeof t!="object"||t===null?null:Object.keys(t).length?t:null}function Rr(e){let t=[];for(let s of e){if(typeof s!="object"||s.type!=="object")return null;for(let i in s)if(!zi.has(i))return null;t.push(s)}let r={},n=new Set;for(let s of t){for(let i in s.properties){if(Object.prototype.hasOwnProperty.call(r,i))continue;let a=[];for(let u of t){let l=u.properties?.[i]??$i(u);l!=null&&(a.some(p=>JSON.stringify(p)===JSON.stringify(l))||a.push(l))}let c=a.length===1?a[0]:Rr(a)??{allOf:a};q(r,i,c)}for(let i of s.required??[])n.add(i)}let o={type:"object",properties:r};if(n.size&&(o.required=[...n]),t.every(s=>s.additionalProperties===!1))o.additionalProperties=!1;else{let s=[];for(let i of t){let a=$i(i);a&&!s.some(c=>JSON.stringify(c)===JSON.stringify(a))&&s.push(a)}s.length===1?o.additionalProperties=s[0]:s.length>1&&(o.additionalProperties={allOf:s})}return o}function nu(e){let t=e.allOf;if(!Array.isArray(t)||t.length<2)return;for(let o of zi)if(o in e)return;let r=t.filter(o=>_i.some(s=>Array.isArray(o[s]))),n=null;if(!r.length)n=Rr(t);else{let o=r[0],s=_i.find(c=>Array.isArray(o[c]));if(Object.keys(o).length!==1)return;let i=t.filter(c=>c!==o),a=o[s].map(c=>Rr([...i,c]));if(a.some(c=>!c))return;n={[s]:a}}n&&(delete e.allOf,qe(e,n))}function Ur(e,t){let r=e.seen.get(t);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");let n=a=>{let c=e.seen.get(a);if(c.ref===null)return;let u=c.def??c.schema,l={...u},p=c.ref;if(c.ref=null,p){n(p);let f=e.seen.get(p),m=f.schema;if(m.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0")?(u.allOf=u.allOf??[],u.allOf.push(m)):qe(u,m),qe(u,l),a._zod.parent===p)for(let y in u)y==="$ref"||y==="allOf"||y in l||delete u[y];if(m.$ref&&f.def)for(let y in u)y==="$ref"||y==="allOf"||y in f.def&&JSON.stringify(u[y])===JSON.stringify(f.def[y])&&delete u[y]}let d=a._zod.parent;if(d&&d!==p){n(d);let f=e.seen.get(d);if(f?.schema.$ref&&(u.$ref=f.schema.$ref,f.def))for(let m in u)m==="$ref"||m==="allOf"||m in f.def&&JSON.stringify(u[m])===JSON.stringify(f.def[m])&&delete u[m]}e.override({zodSchema:a,jsonSchema:u,path:c.path??[]})};if(!e.external||e.sharedEmitDoneFor!==e.external){for(let a of[...e.seen.entries()].reverse())n(a[0]);if(e.target!=="openapi-3.0")for(let a of e.seen.entries())ki(a[1].def??a[1].schema);for(let a of e.deferred)a();if(e.intersections.length){let a=new Map;for(let c of e.seen.values())for(let u of[c.schema,c.def]){let l=u?.allOf;if(!Array.isArray(l))continue;let p=a.get(l);p?p.push(u):a.set(l,[u])}for(let c of e.intersections)for(let u of a.get(c)??[])nu(u)}}let o={};if(e.target==="draft-2020-12"?o.$schema="https://json-schema.org/draft/2020-12/schema":e.target==="draft-07"?o.$schema="http://json-schema.org/draft-07/schema#":e.target==="draft-04"?o.$schema="http://json-schema.org/draft-04/schema#":e.target,e.external?.uri){let a=e.external.registry.get(t)?.id;if(!a)throw new Error("Schema is missing an `id` property");o.$id=e.external.uri(a)}qe(o,r.defId?r.schema:r.def??r.schema);let s=e.metadataRegistry.get(t)?.id;s!==void 0&&o.id===s&&delete o.id;let i=e.external?.defs??{};if(!e.external||e.sharedEmitDoneFor!==e.external)for(let a of e.seen.entries()){let c=a[1];c.def&&c.defId&&(c.def.id===c.defId&&delete c.def.id,q(i,c.defId,c.def))}e.external&&(e.sharedEmitDoneFor=e.external),e.external||Object.keys(i).length>0&&(e.target==="draft-2020-12"?o.$defs=i:o.definitions=i);try{let a=JSON.parse(JSON.stringify(o));return Object.defineProperty(a,"~standard",{value:{...t["~standard"],jsonSchema:{input:Xe(t,"input",e.processors),output:Xe(t,"output",e.processors)}},enumerable:!1,writable:!1}),a}catch{throw new Error("Error converting schema to JSON.")}}function W(e,t){let r=t??{seen:new Set};if(r.seen.has(e))return!1;r.seen.add(e);let n=e._zod.def;if(n.type==="transform")return!0;if(n.type==="array")return W(n.element,r);if(n.type==="set")return W(n.valueType,r);if(n.type==="lazy")return W(n.getter(),r);if(n.type==="promise"||n.type==="optional"||n.type==="nonoptional"||n.type==="nullable"||n.type==="readonly"||n.type==="default"||n.type==="prefault"||n.type==="catch")return W(n.innerType,r);if(n.type==="intersection")return W(n.left,r)||W(n.right,r);if(n.type==="record"||n.type==="map")return W(n.keyType,r)||W(n.valueType,r);if(n.type==="pipe")return e._zod.traits.has("$ZodCodec")?!0:W(n.in,r)||W(n.out,r);if(n.type==="object"){for(let o in n.shape)if(W(n.shape[o],r))return!0;return!1}if(n.type==="union"){for(let o of n.options)if(W(o,r))return!0;return!1}if(n.type==="tuple"){for(let o of n.items)if(W(o,r))return!0;return!!(n.rest&&W(n.rest,r))}return!1}var wi=(e,t={})=>r=>{let n=Dr({...r,processors:t});return D(e,n),Fr(n,e),Ur(n,e)},Xe=(e,t,r={})=>n=>{let{libraryOptions:o,target:s}=n??{},i=Dr({...o??{},target:s,io:t,processors:r});return D(e,i),Fr(i,e),Ur(i,e)};var Te=(e,t,r)=>{(e[t]===void 0||r>e[t])&&(e[t]=r)},Ce=(e,t,r)=>{(e[t]===void 0||r<e[t])&&(e[t]=r)},Si=(e,t)=>{Te(e,"minimum",t),Ce(e,"maximum",t)},Ei=(e,t)=>{e.multipleOf??(e.multipleOf=[]),e.multipleOf.includes(t)||e.multipleOf.push(t)},Ii=(e,t)=>{e.patterns??(e.patterns=new Set),e.patterns.add(t)},Ai=(e,t)=>{e.mime=e.mime?e.mime.filter(r=>t.includes(r)):[...t]},Ti=(e,t)=>{e.format=t,t.includes("int")&&(e.isInt=!0)},Pi=(e,t)=>Te(e,"minimum",t.minimum),Zi=(e,t)=>Ce(e,"maximum",t.maximum),Oi=e=>(t,r)=>{Ti(t,r.format);let[n,o]=e[r.format];Te(t,"minimum",n),Ce(t,"maximum",o)},ou={greater_than:(e,t)=>Te(e,t.inclusive?"minimum":"exclusiveMinimum",t.value),less_than:(e,t)=>Ce(e,t.inclusive?"maximum":"exclusiveMaximum",t.value),multiple_of:(e,t)=>Ei(e,t.value),number_format:Oi(Re),bigint_format:Oi(ut),min_length:Pi,max_length:Zi,length_equals:(e,t)=>Si(e,t.length),min_size:Pi,max_size:Zi,size_equals:(e,t)=>Si(e,t.size),string_format:(e,t)=>{Ti(e,t.format),t.pattern&&Ii(e,t.pattern),(t.format==="base64"||t.format==="base64url")&&(e.contentEncoding=t.format),(t.local||t.precision===-1)&&(e.laxFormat=!0)},mime_type:(e,t)=>Ai(e,t.mime)};function Q(e){let t={},r=e._zod.def,n=e._zod.traits.has("$ZodCheck")?[e,...r.checks??[]]:r.checks??[];for(let s of n)ou[s._zod.def.check]?.(t,s._zod.def);let o=e._zod.bag;o.minimum!==void 0&&Te(t,"minimum",o.minimum),o.exclusiveMinimum!==void 0&&Te(t,"exclusiveMinimum",o.exclusiveMinimum),o.maximum!==void 0&&Ce(t,"maximum",o.maximum),o.exclusiveMaximum!==void 0&&Ce(t,"exclusiveMaximum",o.exclusiveMaximum),o.multipleOf!==void 0&&Ei(t,o.multipleOf),o.format!==void 0&&(t.format??(t.format=o.format),o.format.includes("int")&&(t.isInt=!0)),o.mime&&Ai(t,o.mime);for(let s of o.patterns??[])Ii(t,s);return t}var su={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},iu=new Map([[yr,Wn],[zt,Hn]]),Ci=e=>iu.get(e)??e,Ni=(e,t,r,n)=>{let o=r;o.type="string";let{minimum:s,maximum:i,format:a,patterns:c,contentEncoding:u,laxFormat:l}=Q(e);if(typeof s=="number"&&(o.minLength=s),typeof i=="number"&&(o.maxLength=i),a&&(o.format=su[a]??a,o.format===""&&delete o.format,(a==="time"||l)&&delete o.format),u&&(o.contentEncoding=u),c&&c.size>0){let p=[...c].map(Ci);p.length===1?o.pattern=p[0].source:p.length>1&&(o.allOf=[...p.map(d=>({...t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0"?{type:"string"}:{},pattern:d.source}))])}},ji=(e,t,r,n)=>{let o=r,{minimum:s,maximum:i,multipleOf:a,exclusiveMaximum:c,exclusiveMinimum:u,isInt:l}=Q(e);o.type=l?"integer":"number";let p=typeof u=="number"&&u>=(s??Number.NEGATIVE_INFINITY),d=typeof c=="number"&&c<=(i??Number.POSITIVE_INFINITY),f=t.target==="draft-04"||t.target==="openapi-3.0";if(p?f?(o.minimum=u,o.exclusiveMinimum=!0):o.exclusiveMinimum=u:typeof s=="number"&&(o.minimum=s),d?f?(o.maximum=c,o.exclusiveMaximum=!0):o.exclusiveMaximum=c:typeof i=="number"&&(o.maximum=i),a){let m=new Set;for(let _ of a)Number.isFinite(_)&&_!==0?m.add(Math.abs(_)):le(e,t,o,n,`A multipleOf divisor of ${_} cannot be represented in JSON Schema`);let[g,...y]=m;g!==void 0&&(o.multipleOf=g),y.length&&(o.allOf=[...o.allOf??[],...y.map(_=>({multipleOf:_}))])}},Li=(e,t,r,n)=>{r.type="boolean"};var Mi=(e,t,r,n)=>{r.not={}};var Ri=(e,t,r,n)=>{};var Di=(e,t,r,n)=>{let o=e._zod.def,s=Se(o.entries);if(s.length===0){r.not={};return}s.every(i=>typeof i=="number")&&(r.type="number"),s.every(i=>typeof i=="string")&&(r.type="string"),r.enum=s},Fi=(e,t,r,n)=>{let o=e._zod.def;if(o.values.length===0){r.not={};return}let s=[];for(let i of o.values)if(i===void 0){if(le(e,t,r,n,"Literal `undefined` cannot be represented in JSON Schema"))return}else if(typeof i=="bigint"){if(le(e,t,r,n,"BigInt literals cannot be represented in JSON Schema"))return;s.push(Number(i))}else s.push(i);if(s.length!==0)if(s.length===1){let i=s[0];r.type=i===null?"null":typeof i,t.target==="draft-04"||t.target==="openapi-3.0"?r.enum=[i]:r.const=i}else s.every(i=>typeof i=="number")&&(r.type="number"),s.every(i=>typeof i=="string")&&(r.type="string"),s.every(i=>typeof i=="boolean")&&(r.type="boolean"),s.every(i=>i===null)&&(r.type="null"),r.enum=s};var Ui=(e,t,r,n)=>{le(e,t,r,n,"Custom types cannot be represented in JSON Schema")};var Bi=(e,t,r,n)=>{le(e,t,r,n,"Transforms cannot be represented in JSON Schema")};var Ji=(e,t,r,n)=>{let o=r,s=e._zod.def,{minimum:i,maximum:a}=Q(e);typeof i=="number"&&(o.minItems=i),typeof a=="number"&&(o.maxItems=a),o.type="array",o.items=D(s.element,t,{...n,path:[...n.path,"items"]})};function Ye(e){let t=e._zod.def;return t.type==="pipe"&&t.in._zod.traits.has("$ZodTransform")?Ye(t.out):t.type==="catch"?Ye(t.innerType):e._zod.optin}var Vi=(e,t,r,n)=>{let o=r,s=e._zod.def,i=s.shape;if(Object.getOwnPropertySymbols(i).length&&le(e,t,o,n,"Symbol keys cannot be represented in JSON Schema"))return;o.type="object",o.properties={};for(let u in i)q(o.properties,u,D(i[u],t,{...n,path:[...n.path,"properties",u]}));let c=[];for(let u of Object.keys(i)){let l=s.shape[u];(t.io==="input"?Ye(l)===void 0:l._zod.optout===void 0)&&c.push(u)}c.length>0&&(o.required=c),s.catchall?._zod.def.type==="never"?o.additionalProperties=!1:s.catchall?s.catchall&&(o.additionalProperties=D(s.catchall,t,{...n,path:[...n.path,"additionalProperties"]})):t.io==="output"&&(o.additionalProperties=!1)},Ki=(e,t,r,n)=>{let o=e._zod.def,s=o.inclusive===!1,i=o.options.map((a,c)=>D(a,t,{...n,path:[...n.path,s?"oneOf":"anyOf",c]}));s?r.oneOf=i:r.anyOf=i},Gi=(e,t,r,n)=>{let o=e._zod.def,s=D(o.left,t,{...n,path:[...n.path,"allOf",0]}),i=D(o.right,t,{...n,path:[...n.path,"allOf",1]}),a=u=>"allOf"in u&&Object.keys(u).length===1,c=[...a(s)?s.allOf:[s],...a(i)?i.allOf:[i]];r.allOf=c,t.intersections.push(c)},Wi=(e,t,r,n)=>{let o=r,s=e._zod.def;o.type="array";let i=t.target==="draft-2020-12"?"prefixItems":"items",a=t.target==="draft-2020-12"||t.target==="openapi-3.0"?"items":"additionalItems",c=s.items.map((g,y)=>D(g,t,{...n,path:[...n.path,i,y]})),u=s.rest?D(s.rest,t,{...n,path:[...n.path,a,...t.target==="openapi-3.0"?[s.items.length]:[]]}):null,l=s.items.length;for(;l>0;){let g=s.items[l-1];if(!(t.io==="input"?Ye(g)!==void 0:g._zod.optout==="optional"))break;l--}let p=s.items.length,d=!s.rest;t.target==="draft-2020-12"?(o.prefixItems=c,d?o.items=!1:u&&(o.items=u),l>0&&(o.minItems=l),d&&(o.maxItems=p)):t.target==="openapi-3.0"?(o.items={anyOf:c},u&&o.items.anyOf.push(u),l>0&&(o.minItems=l),d&&(o.maxItems=p)):(o.items=c,d?o.additionalItems=!1:u&&(o.additionalItems=u),l>0&&(o.minItems=l),d&&(o.maxItems=p));let{minimum:f,maximum:m}=Q(e);typeof f=="number"&&(o.minItems=f),typeof m=="number"&&(o.maxItems=m)};function Br(e,t,r){if(t.$ref){if(r.has(t))return t;r.add(t);let m=e.get(t)?.def;if(!m)return t;let g=Br(e,m,r);return g===m?t:g}for(let m of["anyOf","oneOf"]){let g=t[m];if(!Array.isArray(g))continue;let y=g.map(_=>Br(e,_,r));y.some((_,A)=>_!==g[A])&&(t={...t,[m]:y})}let n=Array.isArray(t.type)?t.type:[t.type],o=!n.includes("string")&&n.some(m=>m==="number"||m==="integer"),s=t.enum??(t.const!==void 0?[t.const]:void 0);if(!o&&!s?.some(m=>typeof m=="number"))return t;let{minimum:i,maximum:a,exclusiveMinimum:c,exclusiveMaximum:u,multipleOf:l,format:p,id:d,...f}=t;return f.enum?f.enum=f.enum.map(m=>typeof m=="number"?String(m):m):typeof f.const=="number"&&(f.const=String(f.const)),o&&(f.type="string",s||(f.pattern=(n.includes("number")?Be:mr).source)),f}var Jr=new WeakMap;function au(e){let t=new Map;for(let n of e.seen.values())n.def&&!t.has(n.schema)&&t.set(n.schema,n);let r=new Map;for(let n of Jr.get(e)??[]){let o=e.seen.get(n),s=(o?.def??o?.schema)?.propertyNames;if(!s||s===!0||r.has(s))continue;let i=Br(t,s,new Set);i!==s&&r.set(s,i)}if(r.size)for(let n of e.seen.values())for(let o of[n.schema,n.def]){let s=o&&r.get(o.propertyNames);s&&(o.propertyNames=s)}}var Hi=(e,t,r,n)=>{let o=r,s=e._zod.def;o.type="object";let i=s.keyType,a=Q(i).patterns;if(s.mode==="loose"&&a&&a.size>0){let l=D(s.valueType,t,{...n,path:[...n.path,"patternProperties","*"]});o.patternProperties={};for(let p of a)q(o.patternProperties,Ci(p).source,l)}else{if(t.target==="draft-07"||t.target==="draft-2020-12"){o.propertyNames=D(s.keyType,t,{...n,path:[...n.path,"propertyNames"]});let l=Jr.get(t);l||(l=[],Jr.set(t,l),t.deferred.push(()=>au(t))),l.push(e)}o.additionalProperties=D(s.valueType,t,{...n,path:[...n.path,"additionalProperties"]})}let c=i._zod.values,u=t.io==="input"&&Ye(s.valueType)!==void 0;if(c&&!s.partial&&!u){let l=[...c].filter(p=>typeof p=="string"||typeof p=="number");l.length>0&&(o.required=l.map(String))}},qi=(e,t,r,n)=>{let o=e._zod.def,s=D(o.innerType,t,n),i=t.seen.get(e);t.target==="openapi-3.0"?(i.ref=o.innerType,r.nullable=!0):r.anyOf=[s,{type:"null"}]},Xi=(e,t,r,n)=>{let o=e._zod.def;D(o.innerType,t,n);let s=t.seen.get(e);s.ref=o.innerType},Vr=Symbol();function Yi(e,t,r,n,o){let s=!1,i=JSON.stringify(e,(a,c)=>typeof c!="bigint"?c:(s=!0,null));return s?(le(t,r,n,o,"BigInt defaults cannot be represented in JSON Schema"),Vr):JSON.parse(i)}var Qi=(e,t,r,n)=>{let o=e._zod.def;D(o.innerType,t,n);let s=t.seen.get(e);s.ref=o.innerType;let i=Yi(o.defaultValue,e,t,r,n);i!==Vr&&(r.default=i)},ea=(e,t,r,n)=>{let o=e._zod.def;D(o.innerType,t,n);let s=t.seen.get(e);if(s.ref=o.innerType,t.io!=="input")return;let i=Yi(o.defaultValue,e,t,r,n);i!==Vr&&(r._prefault=i)},ta=(e,t,r,n)=>{let o=e._zod.def;D(o.innerType,t,n);let s=t.seen.get(e);s.ref=o.innerType;let i;try{i=o.catchValue(void 0)}catch{le(e,t,r,n,"Dynamic catch values are not supported in JSON Schema");return}r.default=i},ra=(e,t,r,n)=>{let o=e._zod.def,s=o.in._zod.traits.has("$ZodTransform"),i=t.io==="input"?s?o.out:o.in:o.out;D(i,t,n);let a=t.seen.get(e);a.ref=i},na=(e,t,r,n)=>{let o=e._zod.def;D(o.innerType,t,n);let s=t.seen.get(e);s.ref=o.innerType,r.readOnly=!0};var Kr=(e,t,r,n)=>{let o=e._zod.def;D(o.innerType,t,n);let s=t.seen.get(e);s.ref=o.innerType};var oa=new WeakSet([Object.prototype,Error.prototype]);function Ct(e,t,r){Object.defineProperty(e,t,{configurable:!0,enumerable:!1,get(){let n=r(this);return Object.defineProperty(this,t,{value:n,configurable:!0,writable:!0}),n},set(n){Object.defineProperty(this,t,{value:n,configurable:!0,writable:!0})}})}var hu=(e,t)=>{_n.init(e,t),e.name="ZodError";let r=Object.getPrototypeOf(e);oa.has(r)||(oa.add(r),Ct(r,"format",n=>o=>kn(n,o)),Ct(r,"flatten",n=>o=>$n(n,o)),Ct(r,"addIssue",n=>o=>{n.issues.push(o),n.message=JSON.stringify(n.issues,Pe,2)}),Ct(r,"addIssues",n=>o=>{n.issues.push(...o),n.message=JSON.stringify(n.issues,Pe,2)}),Object.defineProperty(r,"isEmpty",{configurable:!0,enumerable:!1,get(){return this.issues.length===0}}))};var ee=h("ZodError",hu,void 0,{Parent:Error});var sa=mt(ee),ia=ht(ee),aa=gt(ee),ca=bt(ee),ua=wn(ee),la=Sn(ee),pa=Pn(ee),da=Zn(ee),fa=On(ee),ma=En(ee),ha=In(ee),ga=An(ee);function bu(){G.localeError||Y(js())}function Qe(){G.memoizer||Y({memoizer:Ns()})}var R=h("ZodType",(e,t)=>(bu(),j.init(e,t),e.def=t,e.type=t.type,e),{check(...e){let t=this.def;return this.clone(z.mergeDefs(t,{checks:[...t.checks??[],...e.map(r=>typeof r=="function"?{_zod:{check:r,def:{check:"custom"},onattach:[]}}:r)]}),{parent:!0})},with(...e){return this.check(...e)},clone(e,t){return re(this,e,t)},brand(){return this},register(e,t){return e.add(this,t),this},refine(e,t){return this.check(ml(e,t))},superRefine(e,t){return this.check(hl(e,t))},overwrite(e){return this.check(he(e))},optional(){return ya(this)},exactOptional(){return tl(this)},nullable(){return _a(this)},nullish(){return ya(_a(this))},nonoptional(e){return al(this,e)},array(){return K(this)},or(e){return jt([this,e])},and(e){return qu(this,e)},transform(e){return $a(this,el(e))},default(e){return ol(this,e)},prefault(e){return il(this,e)},catch(e){return ul(this,e)},pipe(e){return $a(this,e)},readonly(){return dl(this)},describe(e){let t=this.clone();return ye.add(t,{description:e}),t},meta(...e){if(e.length===0)return ye.get(this);let t=this.clone();return ye.add(t,e[0]),t},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(e,...t){return t.length===0?e(this):e(this,...t)},get"~standard"(){return z.hide(this,"~standard",{...vr(this),jsonSchema:{input:Xe(this,"input"),output:Xe(this,"output")}})},set"~standard"(e){z.own(this,"~standard",e)},parse:function e(t,r){return sa(this,t,r,{callee:e})},parseAsync:async function e(t,r){return await ia(this,t,r,{callee:e})},safeParse(e,t){return aa(this,e,t)},async safeParseAsync(e,t){return ca(this,e,t)},get spa(){return this?.safeParseAsync},set spa(e){z.own(this,"spa",e)},validate(e,t){return lr(this,e,t)},validateAsync(e,t){return pr(this,e,t)},encode:function e(t,r){return ua(this,t,r,{callee:e})},decode:function e(t,r){return la(this,t,r,{callee:e})},encodeAsync:async function e(t,r){return await pa(this,t,r,{callee:e})},decodeAsync:async function e(t,r){return await da(this,t,r,{callee:e})},safeEncode(e,t){return fa(this,e,t)},safeDecode(e,t){return ma(this,e,t)},async safeEncodeAsync(e,t){return ha(this,e,t)},async safeDecodeAsync(e,t){return ga(this,e,t)},toJSONSchema(e){return wi(this,{})(e)},get description(){return ye.get(this)?.description},get _def(){return this._zod.def}}),ka=h("_ZodString",(e,t)=>{kt.init(e,t),R.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Ni(e,r,n,o)},z.derived({format:e=>Q(e).format??null,minLength:e=>Q(e).minimum??null,maxLength:e=>Q(e).maximum??null},{regex(...e){return this.check(Zr(...e))},includes(...e){return this.check(Ir(...e))},startsWith(...e){return this.check(Ar(...e))},endsWith(...e){return this.check(Tr(...e))},min(...e){return this.check(Ae(...e))},max(...e){return this.check(At(...e))},length(...e){return this.check(Tt(...e))},nonempty(...e){return this.check(Ae(1,...e))},lowercase(e){return this.check(Or(e))},uppercase(e){return this.check(Er(e))},trim(){return this.check(Nr())},normalize(...e){return this.check(Cr(...e))},toLowerCase(){return this.check(jr())},toUpperCase(){return this.check(Lr())},slugify(){return this.check(Mr())}})),xu=h("ZodString",(e,t)=>{kt.init(e,t),ka.init(e,t)},{email(e){return this.check(Ds(ku,e))},url(e){return this.check(Ks(wu,e))},jwt(e){return this.check(ai(Du,e))},emoji(e){return this.check(Gs(Su,e))},guid(e){return this.check(Fs(zu,e))},uuid(e){return this.check(Us(Nt,e))},uuidv4(e){return this.check(Bs(Nt,e))},uuidv6(e){return this.check(Js(Nt,e))},uuidv7(e){return this.check(Vs(Nt,e))},nanoid(e){return this.check(Ws(Pu,e))},cuid(e){return this.check(Hs(Zu,e))},cuid2(e){return this.check(qs(Ou,e))},ulid(e){return this.check(Xs(Eu,e))},base64(e){return this.check(oi(Lu,e))},base64url(e){return this.check(si(Mu,e))},xid(e){return this.check(Ys(Iu,e))},ksuid(e){return this.check(Qs(Au,e))},ipv4(e){return this.check(ei(Tu,e))},ipv6(e){return this.check(ti(Cu,e))},cidrv4(e){return this.check(ri(Nu,e))},cidrv6(e){return this.check(ni(ju,e))},e164(e){return this.check(ii(Ru,e))},datetime(e){return this.check(ci(vu,e))},date(e){return this.check(ui(yu,e))},time(e){return this.check(li(_u,e))},duration(e){return this.check(pi($u,e))}});function Z(e){return Rs(xu,e)}var F=h("ZodStringFormat",(e,t)=>{L.init(e,t),ka.init(e,t)}),vu=h("ZodISODateTime",(e,t)=>{Wo.init(e,t),F.init(e,t)}),yu=h("ZodISODate",(e,t)=>{Ho.init(e,t),F.init(e,t)}),_u=h("ZodISOTime",(e,t)=>{qo.init(e,t),F.init(e,t)}),$u=h("ZodISODuration",(e,t)=>{Xo.init(e,t),F.init(e,t)}),ku=h("ZodEmail",(e,t)=>{Lo.init(e,t),F.init(e,t)});var zu=h("ZodGUID",(e,t)=>{No.init(e,t),F.init(e,t)});var Nt=h("ZodUUID",(e,t)=>{jo.init(e,t),F.init(e,t)});var wu=h("ZodURL",(e,t)=>{Do.init(e,t),F.init(e,t)});var Su=h("ZodEmoji",(e,t)=>{Fo.init(e,t),F.init(e,t)});var Pu=h("ZodNanoID",(e,t)=>{Uo.init(e,t),F.init(e,t)});var Zu=h("ZodCUID",(e,t)=>{Bo.init(e,t),F.init(e,t)});var Ou=h("ZodCUID2",(e,t)=>{Jo.init(e,t),F.init(e,t)});var Eu=h("ZodULID",(e,t)=>{Vo.init(e,t),F.init(e,t)});var Iu=h("ZodXID",(e,t)=>{Ko.init(e,t),F.init(e,t)});var Au=h("ZodKSUID",(e,t)=>{Go.init(e,t),F.init(e,t)});var Tu=h("ZodIPv4",(e,t)=>{Yo.init(e,t),F.init(e,t)});var Cu=h("ZodIPv6",(e,t)=>{es.init(e,t),F.init(e,t)});var Nu=h("ZodCIDRv4",(e,t)=>{ts.init(e,t),F.init(e,t)});var ju=h("ZodCIDRv6",(e,t)=>{rs.init(e,t),F.init(e,t)});var Lu=h("ZodBase64",(e,t)=>{os.init(e,t),F.init(e,t)});var Mu=h("ZodBase64URL",(e,t)=>{ss.init(e,t),F.init(e,t)});var Ru=h("ZodE164",(e,t)=>{is.init(e,t),F.init(e,t)});var Du=h("ZodJWT",(e,t)=>{as.init(e,t),F.init(e,t)});var za=h("ZodNumber",(e,t)=>{_r.init(e,t),R.init(e,t),e._zod.processJSONSchema=(r,n,o)=>ji(e,r,n,o),e.isFinite=!0},z.derived({minValue:e=>{let{minimum:t,exclusiveMinimum:r}=Q(e);return Math.max(t??Number.NEGATIVE_INFINITY,r??Number.NEGATIVE_INFINITY)},maxValue:e=>{let{maximum:t,exclusiveMaximum:r}=Q(e);return Math.min(t??Number.POSITIVE_INFINITY,r??Number.POSITIVE_INFINITY)},isInt:e=>{let{isInt:t,multipleOf:r}=Q(e);return!!t||!!r?.some(Number.isSafeInteger)},format:e=>Q(e).format??null},{gt(e,t){return this.check(Et(e,t))},gte(e,t){return this.check(He(e,t))},min(e,t){return this.check(He(e,t))},lt(e,t){return this.check(Ot(e,t))},lte(e,t){return this.check(We(e,t))},max(e,t){return this.check(We(e,t))},int(e){return this.check(ba(e))},safe(e){return this.check(ba(e))},positive(e){return this.check(Et(0,e))},nonnegative(e){return this.check(He(0,e))},negative(e){return this.check(Ot(0,e))},nonpositive(e){return this.check(We(0,e))},multipleOf(e,t){return this.check(It(e,t))},step(e,t){return this.check(It(e,t))},finite(){return this}}));function J(e){return di(za,e)}var Fu=h("ZodNumberFormat",(e,t)=>{cs.init(e,t),za.init(e,t)});function ba(e){return fi(Fu,e)}var Uu=h("ZodBoolean",(e,t)=>{us.init(e,t),R.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Li(e,r,n,o)});function Ne(e){return mi(Uu,e)}var Bu=h("ZodUnknown",(e,t)=>{ls.init(e,t),R.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Ri(e,r,n,o)});function xa(){return hi(Bu)}var Ju=h("ZodNever",(e,t)=>{ps.init(e,t),R.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Mi(e,r,n,o)});function Vu(e){return gi(Ju,e)}var Ku=h("ZodArray",(e,t)=>{Qe(),ds.init(e,t),R.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Ji(e,r,n,o),e.element=t.element},{min(e,t){return this.check(Ae(e,t))},nonempty(e){return this.check(Ae(1,e))},max(e,t){return this.check(At(e,t))},length(e,t){return this.check(Tt(e,t))},unwrap(){return this.element}});function K(e,t){return bi(Ku,e,t)}var Gu=h("ZodObject",(e,t)=>{Qe(),hs.init(e,t),R.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Vi(e,r,n,o),z.installLazyProp(e,"shape",r=>r._zod.def.shape,!1)},{keyof(){return pe(Object.keys(this._zod.def.shape))},catchall(e){return this.clone(z.mergeDefs(this._zod.def,{catchall:e}))},passthrough(){return this.clone(z.mergeDefs(this._zod.def,{catchall:xa()}))},loose(){return this.clone(z.mergeDefs(this._zod.def,{catchall:xa()}))},strict(){return this.clone(z.mergeDefs(this._zod.def,{catchall:Vu()}))},strip(){return this.clone(z.mergeDefs(this._zod.def,{catchall:void 0}))},extend(e){return z.extend(this,e)},safeExtend(e){return z.safeExtend(this,e)},merge(e){return z.merge(this,e)},pick(e){return z.pick(this,e)},omit(e){return z.omit(this,e)},partial(...e){return z.partial(qr,this,e[0])},exactPartial(...e){return z.partial(Pa,this,e[0],"exactPartial")},required(...e){return z.required(Za,this,e[0])}});function O(e,t){let r={type:"object",shape:e??{},...z.normalizeParams(t)};return new Gu(r)}var wa=h("ZodUnion",(e,t)=>{$r.init(e,t),R.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Ki(e,r,n,o),e.options=t.options});function jt(e,t){return new wa({type:"union",options:e,...z.normalizeParams(t)})}var Wu=h("ZodDiscriminatedUnion",(e,t)=>{wa.init(e,t),gs.init(e,t)});function Hr(e,t,r){return new Wu({type:"union",options:t,discriminator:e,...z.normalizeParams(r)})}var Hu=h("ZodIntersection",(e,t)=>{bs.init(e,t),R.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Gi(e,r,n,o)});function qu(e,t){return new Hu({type:"intersection",left:e,right:t})}var Xu=h("ZodTuple",(e,t)=>{Qe(),xs.init(e,t),R.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Wi(e,r,n,o)},{rest(e){return this.clone({...this._zod.def,rest:e})},partial(){let e=this._zod.def;if(e.checks?.length)throw new Error(".partial() cannot be used on tuple schemas containing refinements");return this.clone({...e,items:e.items.map(t=>new qr({type:"optional",innerType:t}))})}});function ge(e,t,r){let n=t instanceof j,o=n?r:t,s=n?t:null;return new Xu({type:"tuple",items:e,rest:s,...z.normalizeParams(o)})}var va=h("ZodRecord",(e,t)=>{Qe(),vs.init(e,t),R.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Hi(e,r,n,o),e.keyType=t.keyType,e.valueType=t.valueType});function Sa(e,t,r){return!t||!t._zod?new va({type:"record",keyType:Z(),valueType:e,...z.normalizeParams(t)}):new va({type:"record",keyType:e,valueType:t,...z.normalizeParams(r)})}var Wr=h("ZodEnum",(e,t)=>{ys.init(e,t),R.init(e,t),e._zod.processJSONSchema=(n,o,s)=>Di(e,n,o,s),e.enum=t.entries,e.options=[...e._zod.values];let r=new Set(Object.keys(t.entries));e.extract=(n,o)=>{let s={};for(let i of n)if(r.has(i))s[i]=t.entries[i];else throw new Error(`Key ${i} not found in enum`);return new Wr({...t,checks:[],...z.normalizeParams(o),entries:s})},e.exclude=(n,o)=>{let s={...t.entries};for(let i of n)if(r.has(i))delete s[i];else throw new Error(`Key ${i} not found in enum`);return new Wr({...t,checks:[],...z.normalizeParams(o),entries:s})}});function pe(e,t){let r=Array.isArray(e)?Object.fromEntries(e.map(n=>[n,n])):e;return new Wr({type:"enum",entries:r,...z.normalizeParams(t)})}var Yu=h("ZodLiteral",(e,t)=>{_s.init(e,t),R.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Fi(e,r,n,o),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function C(e,t){return new Yu({type:"literal",values:Array.isArray(e)?e:[e],...z.normalizeParams(t)})}var Qu=h("ZodTransform",(e,t)=>{Qe(),$s.init(e,t),R.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Bi(e,r,n,o),e._zod.parse=(r,n)=>{if(n.direction==="backward")throw new Ie(e.constructor.name);r.addIssue=s=>{if(typeof s=="string")r.issues.push(z.issue(s,r.value,t));else{let i=s;i.fatal&&(i.continue=!1),i.code??(i.code="custom"),"input"in i||(i.input=r.value),i.inst??(i.inst=e),r.issues.push(z.issue(i))}};let o=t.transform(r.value,r);return o instanceof Promise?o.then(s=>(r.value=s,r)):(r.value=o,r)}});function el(e){return new Qu({type:"transform",transform:e})}var qr=h("ZodOptional",(e,t)=>{kr.init(e,t),R.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Kr(e,r,n,o),e.unwrap=()=>e._zod.def.innerType});function ya(e){return new qr({type:"optional",innerType:e})}var Pa=h("ZodExactOptional",(e,t)=>{ks.init(e,t),R.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Kr(e,r,n,o),e.unwrap=()=>e._zod.def.innerType});function tl(e){return new Pa({type:"optional",innerType:e})}var rl=h("ZodNullable",(e,t)=>{zs.init(e,t),R.init(e,t),e._zod.processJSONSchema=(r,n,o)=>qi(e,r,n,o),e.unwrap=()=>e._zod.def.innerType});function _a(e){return new rl({type:"nullable",innerType:e})}var nl=h("ZodDefault",(e,t)=>{ws.init(e,t),R.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Qi(e,r,n,o),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function ol(e,t){return new nl({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():z.shallowClone(t)}})}var sl=h("ZodPrefault",(e,t)=>{Ss.init(e,t),R.init(e,t),e._zod.processJSONSchema=(r,n,o)=>ea(e,r,n,o),e.unwrap=()=>e._zod.def.innerType});function il(e,t){return new sl({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():z.shallowClone(t)}})}var Za=h("ZodNonOptional",(e,t)=>{Ps.init(e,t),R.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Xi(e,r,n,o),e.unwrap=()=>e._zod.def.innerType});function al(e,t){return new Za({type:"nonoptional",innerType:e,...z.normalizeParams(t)})}var cl=h("ZodCatch",(e,t)=>{Zs.init(e,t),R.init(e,t),e._zod.processJSONSchema=(r,n,o)=>ta(e,r,n,o),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function ul(e,t){return new cl({type:"catch",innerType:e,catchValue:typeof t=="function"?t:z.constantCatch(t)})}var ll=h("ZodPipe",(e,t)=>{Os.init(e,t),R.init(e,t),e._zod.processJSONSchema=(r,n,o)=>ra(e,r,n,o),e.in=t.in,e.out=t.out});function $a(e,t){return new ll({type:"pipe",in:e,out:t})}var pl=h("ZodReadonly",(e,t)=>{Es.init(e,t),R.init(e,t),e._zod.processJSONSchema=(r,n,o)=>na(e,r,n,o),e.unwrap=()=>e._zod.def.innerType});function dl(e){return new pl({type:"readonly",innerType:e})}var fl=h("ZodCustom",(e,t)=>{Is.init(e,t),R.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Ui(e,r,n,o)});function ml(e,t={}){return xi(fl,e,t)}function hl(e,t){return vi(e,t)}var bl=O({x:J(),y:J(),dir:pe(["left","right","up","down"]).describe("The way a pipe leaves the port")}),lf=O({svg:Z().min(1).max(3e4).describe("SVG markup inside the symbol's box (no outer <svg>). Colours: var(--state), var(--body), var(--body2), var(--line), var(--accent), or fixed colours"),viewBox:ge([J().positive(),J().positive()]).default([100,100]).describe("Width and height of the box the markup is drawn in"),ports:Sa(Z().regex(/^[a-z][a-z0-9-]*$/),bl).default({}).describe("Where pipes connect, in box coordinates, e.g. { in: { x: 0, y: 50, dir: 'left' } }"),description:Z().max(200).optional()}),xl={left:"l",right:"r",up:"u",down:"d"},ie=(e,t={},r=[100,100],n)=>({svg:e.replace(/\n\s*/g,""),viewBox:r,ports:Object.fromEntries(Object.entries(t).map(([o,[s,i,a]])=>[o,{x:s,y:i,dir:a}])),...n?{description:n}:{}}),_e={motor:ie(`<rect x="6" y="34" width="9" height="32" rx="2" fill="var(--body2)" stroke="var(--line)" stroke-width="2"/>
58
58
  <rect x="15" y="24" width="62" height="52" rx="9" fill="var(--body)" stroke="var(--state)" stroke-width="4"/>
59
59
  <path d="M27 30v40M37 30v40M55 30v40M65 30v40" stroke="var(--body2)" stroke-width="3.5" stroke-linecap="round"/>
60
60
  <rect x="33" y="10" width="26" height="14" rx="3" fill="var(--body2)" stroke="var(--line)" stroke-width="2"/>
61
61
  <rect x="77" y="44" width="17" height="12" rx="2" fill="var(--line)"/>
62
- <circle cx="46" cy="50" r="9" fill="var(--state)"/>`,{shaft:[94,50,"right"]},[100,100],"Electric motor, shaft to the right"),conveyor:X(`<rect x="5" y="16" width="190" height="28" rx="14" fill="var(--body2)" stroke="var(--state)" stroke-width="4"/>
62
+ <circle cx="46" cy="50" r="9" fill="var(--state)"/>`,{shaft:[94,50,"right"]},[100,100],"Electric motor, shaft to the right"),conveyor:ie(`<rect x="5" y="16" width="190" height="28" rx="14" fill="var(--body2)" stroke="var(--state)" stroke-width="4"/>
63
63
  <circle cx="19" cy="30" r="9" fill="var(--body)" stroke="var(--line)" stroke-width="2.5"/>
64
64
  <circle cx="181" cy="30" r="9" fill="var(--body)" stroke="var(--line)" stroke-width="2.5"/>
65
65
  <g class="spin"><path d="M19 23v14M12 30h14" stroke="var(--line)" stroke-width="2"/></g>
66
66
  <circle cx="62" cy="30" r="4" fill="var(--line)"/><circle cx="100" cy="30" r="4" fill="var(--line)"/><circle cx="138" cy="30" r="4" fill="var(--line)"/>
67
- <path d="M42 44l-6 14M158 44l6 14" stroke="var(--line)" stroke-width="3.5" stroke-linecap="round"/>`,{in:[5,30,"left"],out:[195,30,"right"]},[200,60],"Belt conveyor (twice as wide as high)"),heat_exchanger:X(`<circle cx="50" cy="50" r="38" fill="var(--body)" stroke="var(--state)" stroke-width="4"/>
68
- <path d="M12 50h14l10-18 14 36 14-36 10 18h14" fill="none" stroke="var(--line)" stroke-width="4" stroke-linejoin="round" stroke-linecap="round"/>`,{in:[12,50,"left"],out:[88,50,"right"],top:[50,12,"up"],bottom:[50,88,"down"]},[100,100],"Heat exchanger: tube side in/out, shell side top/bottom"),mixer:X(`<rect x="32" y="4" width="36" height="24" rx="5" fill="var(--body)" stroke="var(--state)" stroke-width="3.5"/>
67
+ <path d="M42 44l-6 14M158 44l6 14" stroke="var(--line)" stroke-width="3.5" stroke-linecap="round"/>`,{in:[5,30,"left"],out:[195,30,"right"]},[200,60],"Belt conveyor (twice as wide as high)"),heat_exchanger:ie(`<circle cx="50" cy="50" r="38" fill="var(--body)" stroke="var(--state)" stroke-width="4"/>
68
+ <path d="M12 50h14l10-18 14 36 14-36 10 18h14" fill="none" stroke="var(--line)" stroke-width="4" stroke-linejoin="round" stroke-linecap="round"/>`,{in:[12,50,"left"],out:[88,50,"right"],top:[50,12,"up"],bottom:[50,88,"down"]},[100,100],"Heat exchanger: tube side in/out, shell side top/bottom"),mixer:ie(`<rect x="32" y="4" width="36" height="24" rx="5" fill="var(--body)" stroke="var(--state)" stroke-width="3.5"/>
69
69
  <rect x="46" y="28" width="8" height="54" rx="2" fill="var(--line)"/>
70
- <path d="M50 80L22 72v18zM50 80l28-8v18z" fill="var(--state)" stroke="var(--line)" stroke-width="2" stroke-linejoin="round"/>`,{},[100,100],"Agitator: place it over a tank"),filter:X(`<rect x="18" y="12" width="64" height="76" rx="9" fill="var(--body)" stroke="var(--state)" stroke-width="4"/>
71
- <path d="M24 82L76 18" stroke="var(--line)" stroke-width="3.5" stroke-dasharray="7 5" stroke-linecap="round"/>`,{in:[18,50,"left"],out:[82,50,"right"],top:[50,12,"up"],bottom:[50,88,"down"]},[100,100],"Filter or strainer"),compressor:X(`<circle cx="50" cy="50" r="40" fill="var(--body)" stroke="var(--state)" stroke-width="4"/>
72
- <path d="M17 27l66 12M17 73l66-12" stroke="var(--line)" stroke-width="4" stroke-linecap="round"/>`,{in:[10,50,"left"],out:[90,50,"right"]},[100,100],"Compressor or blower, inlet left"),cylinder:X(`<rect x="6" y="14" width="84" height="32" rx="5" fill="var(--body)" stroke="var(--state)" stroke-width="4"/>
70
+ <path d="M50 80L22 72v18zM50 80l28-8v18z" fill="var(--state)" stroke="var(--line)" stroke-width="2" stroke-linejoin="round"/>`,{},[100,100],"Agitator: place it over a tank"),filter:ie(`<rect x="18" y="12" width="64" height="76" rx="9" fill="var(--body)" stroke="var(--state)" stroke-width="4"/>
71
+ <path d="M24 82L76 18" stroke="var(--line)" stroke-width="3.5" stroke-dasharray="7 5" stroke-linecap="round"/>`,{in:[18,50,"left"],out:[82,50,"right"],top:[50,12,"up"],bottom:[50,88,"down"]},[100,100],"Filter or strainer"),compressor:ie(`<circle cx="50" cy="50" r="40" fill="var(--body)" stroke="var(--state)" stroke-width="4"/>
72
+ <path d="M17 27l66 12M17 73l66-12" stroke="var(--line)" stroke-width="4" stroke-linecap="round"/>`,{in:[10,50,"left"],out:[90,50,"right"]},[100,100],"Compressor or blower, inlet left"),cylinder:ie(`<rect x="6" y="14" width="84" height="32" rx="5" fill="var(--body)" stroke="var(--state)" stroke-width="4"/>
73
73
  <rect x="44" y="18" width="9" height="24" rx="1" fill="var(--line)"/>
74
74
  <rect x="53" y="27" width="62" height="6" rx="2" fill="var(--line)"/>
75
- <rect x="22" y="46" width="7" height="10" fill="var(--line)"/><rect x="71" y="46" width="7" height="10" fill="var(--line)"/>`,{a:[25,56,"down"],b:[75,56,"down"]},[120,60],"Pneumatic cylinder, rod to the right; ports a and b underneath"),level_switch:X(`<rect x="34" y="4" width="32" height="14" rx="3" fill="var(--body2)" stroke="var(--line)" stroke-width="2"/>
75
+ <rect x="22" y="46" width="7" height="10" fill="var(--line)"/><rect x="71" y="46" width="7" height="10" fill="var(--line)"/>`,{a:[25,56,"down"],b:[75,56,"down"]},[120,60],"Pneumatic cylinder, rod to the right; ports a and b underneath"),level_switch:ie(`<rect x="34" y="4" width="32" height="14" rx="3" fill="var(--body2)" stroke="var(--line)" stroke-width="2"/>
76
76
  <path d="M50 18v36" stroke="var(--line)" stroke-width="4" stroke-linecap="round"/>
77
77
  <circle cx="50" cy="68" r="17" fill="var(--state)" stroke="var(--line)" stroke-width="3"/>
78
- <path d="M16 93h68" stroke="var(--line)" stroke-width="3" stroke-dasharray="6 4"/>`,{},[100,100],"Float level switch: place it inside a tank"),pressure_switch:X(`<circle cx="50" cy="40" r="33" fill="var(--body)" stroke="var(--state)" stroke-width="4"/>
78
+ <path d="M16 93h68" stroke="var(--line)" stroke-width="3" stroke-dasharray="6 4"/>`,{},[100,100],"Float level switch: place it inside a tank"),pressure_switch:ie(`<circle cx="50" cy="40" r="33" fill="var(--body)" stroke="var(--state)" stroke-width="4"/>
79
79
  <path d="M27 54a26 26 0 0 1 46 0" fill="none" stroke="var(--line)" stroke-width="2.5" stroke-dasharray="3 4"/>
80
80
  <path d="M50 40l19-17" stroke="var(--state)" stroke-width="4.5" stroke-linecap="round"/>
81
81
  <circle cx="50" cy="40" r="5" fill="var(--line)"/>
82
- <rect x="45" y="73" width="10" height="23" fill="var(--line)"/>`,{bottom:[50,96,"down"]},[100,100],"Pressure switch or gauge on a stem"),check_valve:X(`<path d="M4 30v40l46-20zM96 30v40L50 50z" fill="var(--state)" stroke="var(--line)" stroke-width="2.5" stroke-linejoin="round"/>
83
- <path d="M30 16h38M60 9l9 7-9 7" fill="none" stroke="var(--line)" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>`,{in:[4,50,"left"],out:[96,50,"right"]},[100,100],"Check (non-return) valve, flow left to right"),control_valve:X(`<path d="M50 50V22" stroke="var(--line)" stroke-width="4"/>
82
+ <rect x="45" y="73" width="10" height="23" fill="var(--line)"/>`,{bottom:[50,96,"down"]},[100,100],"Pressure switch or gauge on a stem"),check_valve:ie(`<path d="M4 30v40l46-20zM96 30v40L50 50z" fill="var(--state)" stroke="var(--line)" stroke-width="2.5" stroke-linejoin="round"/>
83
+ <path d="M30 16h38M60 9l9 7-9 7" fill="none" stroke="var(--line)" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>`,{in:[4,50,"left"],out:[96,50,"right"]},[100,100],"Check (non-return) valve, flow left to right"),control_valve:ie(`<path d="M50 50V22" stroke="var(--line)" stroke-width="4"/>
84
84
  <path d="M22 22a28 20 0 0 1 56 0z" fill="var(--body)" stroke="var(--line)" stroke-width="3" stroke-linejoin="round"/>
85
- <path d="M4 32v36l46-18zM96 32v36L50 50z" fill="var(--state)" stroke="var(--line)" stroke-width="2.5" stroke-linejoin="round"/>`,{in:[4,50,"left"],out:[96,50,"right"]},[100,100],"Control valve with diaphragm actuator")};function uc(e,t){return e.replace(/\bid="([^"]+)"/g,`id="${t}-$1"`).replace(/url\(#([^)]+)\)/g,`url(#${t}-$1)`)}function wt(e,t){return{w:t,h:t*e.viewBox[1]/e.viewBox[0]}}var ac=["r","d","l","u"],Gu=(e,t)=>ac[(ac.indexOf(e)+t/90)%4];function Hu(e,t,r,n,o){let{w:s,h:i}=wt(e,t.size),c=(r/e.viewBox[0]-.5)*s,a=(n/e.viewBox[1]-.5)*i,l=t.rotate??0;for(let u=0;u<l/90;u++)[c,a]=[-a,c];return[t.x+c,t.y+a/o]}function lc(e,t,r){return Object.fromEntries(Object.entries(e.ports).map(([n,o])=>[n,{at:Hu(e,t,o.x,o.y,r),dir:Gu(Ku[o.dir],t.rotate??0)}]))}function Mr(e,t,r){let{w:n,h:o}=wt(e,t.size),[s,i]=(t.rotate??0)%180?[o,n]:[n,o];return{x0:t.x-s/2,y0:t.y-i/2/r,x1:t.x+s/2,y1:t.y+i/2/r}}function zt(e,t){let r=Object.keys(e).find(n=>n.toLowerCase()===t.toLowerCase());return r?[r,e[r]]:void 0}var pc=e=>"id"in e&&e.id||"label"in e&&e.label||void 0;function Wu(e,t,r=_e){switch(e.type){case"symbol":{let n=zt(r,e.symbol);return n?lc(n[1],e,t):{}}case"tank":{let{x:n,y:o,w:s,h:i}=e,c=n+s/2;return{top:{at:[c,o],dir:"u"},bottom:{at:[c,o+i],dir:"d"},left:{at:[n,o+i*.85],dir:"l"},right:{at:[n+s,o+i*.85],dir:"r"},"left-high":{at:[n,o+i*.15],dir:"l"},"right-high":{at:[n+s,o+i*.15],dir:"r"}}}case"pump":case"fan":{let n=e.size/2,o=n/t;return{in:{at:[e.x-n,e.y],dir:"l"},out:{at:[e.x+n,e.y],dir:"r"},top:{at:[e.x,e.y-o],dir:"u"},bottom:{at:[e.x,e.y+o],dir:"d"}}}case"valve":{let n=e.size/2;return e.vertical?{in:{at:[e.x,e.y+n/t],dir:"d"},out:{at:[e.x,e.y-n/t],dir:"u"}}:{in:{at:[e.x-n,e.y],dir:"l"},out:{at:[e.x+n,e.y],dir:"r"}}}case"junction":return{c:{at:[e.x,e.y],dir:"r"}};default:return{}}}var qu={tank:["top","bottom","left","right","left-high","right-high"],pump:["in","out","top","bottom"],fan:["in","out","top","bottom"],valve:["in","out"],junction:["c"]},Xu=e=>e.type in qu||e.type==="symbol",Yu=e=>new Map(e.flatMap(t=>pc(t)&&Xu(t)?[[pc(t).toLowerCase(),t]]:[]));var Je=e=>e==="l"||e==="r";function Qu(e,t,r,n=_e){if(!e.from||!e.to)return e.points??[];let o=Yu(t),s=(y,I)=>{if(typeof y!="string"){if(y[0]<=5)return{at:y,dir:"l"};if(y[0]>=95)return{at:y,dir:"r"};if(y[1]<=5)return{at:y,dir:"u"};if(y[1]>=95)return{at:y,dir:"d"};let w=I??[50,50],z=w[0]-y[0],O=(w[1]-y[1])/r;return{at:y,dir:Math.abs(z)>=Math.abs(O)?z>=0?"r":"l":O>=0?"d":"u"}}let[F,$]=y.split("."),b=o.get(F.toLowerCase());return(b?Wu(b,r,n):{})[$]??{at:[50,50],dir:"r"}},i=typeof e.from=="string"?s(e.from):void 0,c=typeof e.to=="string"?s(e.to):void 0,a=i??s(e.from,c?.at??(Array.isArray(e.to)?e.to:void 0)),l=c??s(e.to,a.at),u=(y,I)=>{if(!(typeof e.from=="string"&&y===a&&e.from.endsWith(".c"))&&!(typeof e.to=="string"&&y===l&&e.to.endsWith(".c")))return y;let F=I[0]-y.at[0],$=(I[1]-y.at[1])/r;return{at:y.at,dir:Math.abs(F)>=Math.abs($)?F>=0?"r":"l":$>=0?"d":"u"}},p=u(a,l.at),d=u(l,a.at),f=[p.at],m=[...e.via??[],d.at],x=p.at,_=p.dir;return m.forEach((y,I)=>{let $=I===m.length-1?d.dir:void 0;for(let v of el(x,_,y,$))f.push(v);let b=f[f.length-2]??x;_=b[0]===y[0]?y[1]>=b[1]?"d":"u":y[0]>=b[0]?"r":"l",x=y}),tl(f)}function el(e,t,r,n){let o=(i,c)=>Math.abs(i-c)<1e-6;if(o(e[0],r[0])||o(e[1],r[1]))return[r];let s=n?Je(n):!Je(t);if(Je(t)&&s){let i=(e[0]+r[0])/2;return[[i,e[1]],[i,r[1]],r]}if(!Je(t)&&!s){let i=(e[1]+r[1])/2;return[[e[0],i],[r[0],i],r]}return Je(t)?[[r[0],e[1]],r]:[[e[0],r[1]],r]}function tl(e){let t=[];for(let r of e){let n=t[t.length-1];if(n&&Math.abs(n[0]-r[0])<1e-6&&Math.abs(n[1]-r[1])<1e-6)continue;let o=t[t.length-2];n&&o&&(Math.abs(o[0]-n[0])<1e-6&&Math.abs(n[0]-r[0])<1e-6||Math.abs(o[1]-n[1])<1e-6&&Math.abs(n[1]-r[1])<1e-6)&&t.pop(),t.push(r)}return t}function dc(e,t,r=_e){return e.map(n=>n.type==="pipe"?{...n,points:Qu(n,e,t,r),from:void 0,to:void 0,via:void 0}:n)}function Pt(e){let[t,r]=(e.size??"1280x720").split("x").map(Number);return r<=480?{w:t,h:r,header:54,pad:12,gap:9}:r>=1080?{w:t,h:r,header:96,pad:28,gap:18}:{w:t,h:r,header:76,pad:20,gap:14}}var P=e=>e.replace(/[&<>"']/g,t=>({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"})[t]),g=e=>Math.round(e*10)/10,St=["#38bdf8","#a78bfa","#fbbf24","#34d399","#f472b6","#60a5fa"];function rl(e,t){let[r,n]=e.grid,{w:o,h:s,header:i,pad:c,gap:a}=Pt(e),l=(o-2*c-(r-1)*a)/r,u=(s-i-c-(n-1)*a)/n,[p,d,f,m]=t;return{x:c+(p-1)*(l+a),y:i+(d-1)*(u+a),w:f*l+(f-1)*a,h:m*u+(m-1)*a}}function fc(e,t={}){let r=[],n=x=>`data-b="${r.push(x)-1}"`,o=0,s=x=>`${x}${++o}`,i=[],c=(x,_,y)=>{let I=`fp-${i.length+1}`;return i.push(nl(I,x,_,y,n)),`data-open="${I}"`},a=Pt(e),l={..._e,...t.symbols},u=e.widgets.map(x=>{let _=rl(e,x.at),y=ol(x,_,n,s,c,l),I=x.title?`<div class="t-title">${P(x.title)}</div>`:"";return`<section class="tile t-${x.type}${x.title?"":" untitled"}${_.h<110?" compact":""}" style="left:${g(_.x)}px;top:${g(_.y)}px;width:${g(_.w)}px;height:${g(_.h)}px">${I}<div class="t-body">${y}</div></section>`}),p=(t.pages?.length??0)>1?`<nav class="h-nav">${t.pages.map(x=>`<button class="h-page${x.name===e.name?" cur":""}" data-nav="${P(x.name)}">${P(x.title)}</button>`).join("")}</nav>`:"",d=(t.alarms??[]).map(x=>x.active),f=d.length?`<div class="h-alarm" ${n({kind:"count",vars:d})}><span class="dot"></span><span class="n">0</span><span class="lbl">alarms</span></div>`:"";return{html:`<div class="hmi theme-${e.theme}${a.h<=480?" small":a.h>=1080?" large":""}" style="width:${a.w}px;height:${a.h}px;--hdr:${a.header}px">
85
+ <path d="M4 32v36l46-18zM96 32v36L50 50z" fill="var(--state)" stroke="var(--line)" stroke-width="2.5" stroke-linejoin="round"/>`,{in:[4,50,"left"],out:[96,50,"right"]},[100,100],"Control valve with diaphragm actuator")};function Ea(e,t){return e.replace(/\bid="([^"]+)"/g,`id="${t}-$1"`).replace(/url\(#([^)]+)\)/g,`url(#${t}-$1)`)}function Lt(e,t){return{w:t,h:t*e.viewBox[1]/e.viewBox[0]}}var Oa=["r","d","l","u"],vl=(e,t)=>Oa[(Oa.indexOf(e)+t/90)%4];function yl(e,t,r,n,o){let{w:s,h:i}=Lt(e,t.size),a=(r/e.viewBox[0]-.5)*s,c=(n/e.viewBox[1]-.5)*i,u=t.rotate??0;for(let l=0;l<u/90;l++)[a,c]=[-c,a];return[t.x+a,t.y+c/o]}function Ia(e,t,r){return Object.fromEntries(Object.entries(e.ports).map(([n,o])=>[n,{at:yl(e,t,o.x,o.y,r),dir:vl(xl[o.dir],t.rotate??0)}]))}function Xr(e,t,r){let{w:n,h:o}=Lt(e,t.size),[s,i]=(t.rotate??0)%180?[o,n]:[n,o];return{x0:t.x-s/2,y0:t.y-i/2/r,x1:t.x+s/2,y1:t.y+i/2/r}}function Mt(e,t){let r=Object.keys(e).find(n=>n.toLowerCase()===t.toLowerCase());return r?[r,e[r]]:void 0}var Aa=e=>"id"in e&&e.id||"label"in e&&e.label||void 0;function _l(e,t,r=_e){switch(e.type){case"symbol":{let n=Mt(r,e.symbol);return n?Ia(n[1],e,t):{}}case"tank":{let{x:n,y:o,w:s,h:i}=e,a=n+s/2;return{top:{at:[a,o],dir:"u"},bottom:{at:[a,o+i],dir:"d"},left:{at:[n,o+i*.85],dir:"l"},right:{at:[n+s,o+i*.85],dir:"r"},"left-high":{at:[n,o+i*.15],dir:"l"},"right-high":{at:[n+s,o+i*.15],dir:"r"}}}case"pump":case"fan":{let n=e.size/2,o=n/t;return{in:{at:[e.x-n,e.y],dir:"l"},out:{at:[e.x+n,e.y],dir:"r"},top:{at:[e.x,e.y-o],dir:"u"},bottom:{at:[e.x,e.y+o],dir:"d"}}}case"valve":{let n=e.size/2;return e.vertical?{in:{at:[e.x,e.y+n/t],dir:"d"},out:{at:[e.x,e.y-n/t],dir:"u"}}:{in:{at:[e.x-n,e.y],dir:"l"},out:{at:[e.x+n,e.y],dir:"r"}}}case"junction":return{c:{at:[e.x,e.y],dir:"r"}};default:return{}}}var $l={tank:["top","bottom","left","right","left-high","right-high"],pump:["in","out","top","bottom"],fan:["in","out","top","bottom"],valve:["in","out"],junction:["c"]},kl=e=>e.type in $l||e.type==="symbol",zl=e=>new Map(e.flatMap(t=>Aa(t)&&kl(t)?[[Aa(t).toLowerCase(),t]]:[]));var et=e=>e==="l"||e==="r";function wl(e,t,r,n=_e){if(!e.from||!e.to)return e.points??[];let o=zl(t),s=(_,A)=>{if(typeof _!="string"){if(_[0]<=5)return{at:_,dir:"l"};if(_[0]>=95)return{at:_,dir:"r"};if(_[1]<=5)return{at:_,dir:"u"};if(_[1]>=95)return{at:_,dir:"d"};let $=A??[50,50],P=$[0]-_[0],w=($[1]-_[1])/r;return{at:_,dir:Math.abs(P)>=Math.abs(w)?P>=0?"r":"l":w>=0?"d":"u"}}let[M,H]=_.split("."),v=o.get(M.toLowerCase());return(v?_l(v,r,n):{})[H]??{at:[50,50],dir:"r"}},i=typeof e.from=="string"?s(e.from):void 0,a=typeof e.to=="string"?s(e.to):void 0,c=i??s(e.from,a?.at??(Array.isArray(e.to)?e.to:void 0)),u=a??s(e.to,c.at),l=(_,A)=>{if(!(typeof e.from=="string"&&_===c&&e.from.endsWith(".c"))&&!(typeof e.to=="string"&&_===u&&e.to.endsWith(".c")))return _;let M=A[0]-_.at[0],H=(A[1]-_.at[1])/r;return{at:_.at,dir:Math.abs(M)>=Math.abs(H)?M>=0?"r":"l":H>=0?"d":"u"}},p=l(c,u.at),d=l(u,c.at),f=[p.at],m=[...e.via??[],d.at],g=p.at,y=p.dir;return m.forEach((_,A)=>{let H=A===m.length-1?d.dir:void 0;for(let x of Sl(g,y,_,H))f.push(x);let v=f[f.length-2]??g;y=v[0]===_[0]?_[1]>=v[1]?"d":"u":_[0]>=v[0]?"r":"l",g=_}),Pl(f)}function Sl(e,t,r,n){let o=(i,a)=>Math.abs(i-a)<1e-6;if(o(e[0],r[0])||o(e[1],r[1]))return[r];let s=n?et(n):!et(t);if(et(t)&&s){let i=(e[0]+r[0])/2;return[[i,e[1]],[i,r[1]],r]}if(!et(t)&&!s){let i=(e[1]+r[1])/2;return[[e[0],i],[r[0],i],r]}return et(t)?[[r[0],e[1]],r]:[[e[0],r[1]],r]}function Pl(e){let t=[];for(let r of e){let n=t[t.length-1];if(n&&Math.abs(n[0]-r[0])<1e-6&&Math.abs(n[1]-r[1])<1e-6)continue;let o=t[t.length-2];n&&o&&(Math.abs(o[0]-n[0])<1e-6&&Math.abs(n[0]-r[0])<1e-6||Math.abs(o[1]-n[1])<1e-6&&Math.abs(n[1]-r[1])<1e-6)&&t.pop(),t.push(r)}return t}function Ta(e,t,r=_e){return e.map(n=>n.type==="pipe"?{...n,points:wl(n,e,t,r),from:void 0,to:void 0,via:void 0}:n)}function Dt(e){let[t,r]=(e.size??"1280x720").split("x").map(Number);return r<=480?{w:t,h:r,header:54,pad:12,gap:9}:r>=1080?{w:t,h:r,header:96,pad:28,gap:18}:{w:t,h:r,header:76,pad:20,gap:14}}var E=e=>e.replace(/[&<>"']/g,t=>({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"})[t]),b=e=>Math.round(e*10)/10,Rt=["#38bdf8","#a78bfa","#fbbf24","#34d399","#f472b6","#60a5fa"];function Zl(e,t){let[r,n]=e.grid,{w:o,h:s,header:i,pad:a,gap:c}=Dt(e),u=(o-2*a-(r-1)*c)/r,l=(s-i-a-(n-1)*c)/n,[p,d,f,m]=t;return{x:a+(p-1)*(u+c),y:i+(d-1)*(l+c),w:f*u+(f-1)*c,h:m*l+(m-1)*c}}function Ca(e,t={}){let r=[],n=g=>`data-b="${r.push(g)-1}"`,o=0,s=g=>`${g}${++o}`,i=[],a=(g,y,_)=>{let A=`fp-${i.length+1}`;return i.push(Ol(A,g,y,_,n)),`data-open="${A}"`},c=Dt(e),u={..._e,...t.symbols},l=e.widgets.map(g=>{let y=Zl(e,g.at),_=El(g,y,n,s,a,u),A=g.title?`<div class="t-title">${E(g.title)}</div>`:"";return`<section class="tile t-${g.type}${g.title?"":" untitled"}${y.h<110?" compact":""}" style="left:${b(y.x)}px;top:${b(y.y)}px;width:${b(y.w)}px;height:${b(y.h)}px">${A}<div class="t-body">${_}</div></section>`}),p=(t.pages?.length??0)>1?`<nav class="h-nav">${t.pages.map(g=>`<button class="h-page${g.name===e.name?" cur":""}" data-nav="${E(g.name)}">${E(g.title)}</button>`).join("")}</nav>`:"",d=(t.alarms??[]).map(g=>g.active),f=d.length?`<div class="h-alarm" ${n({kind:"count",vars:d})}><span class="dot"></span><span class="n">0</span><span class="lbl">alarms</span></div>`:"";return{html:`<div class="hmi theme-${e.theme}${c.h<=480?" small":c.h>=1080?" large":""}" style="width:${c.w}px;height:${c.h}px;--hdr:${c.header}px">
86
86
  <div class="glow"></div>
87
- <svg width="0" height="0" style="position:absolute" aria-hidden="true">${il}</svg>
88
- <header class="h-bar"><div class="h-titles"><div class="h-title">${P(e.title)}</div>${e.subtitle?`<div class="h-sub">${P(e.subtitle)}</div>`:""}</div>
89
- ${p}<div class="h-right">${f}<div class="h-sim" data-sim><span class="dot"></span><span class="lbl">Offline</span></div><div class="h-clock" data-clock>--:--:--</div></div></header>
90
- ${u.join(`
87
+ <svg width="0" height="0" style="position:absolute" aria-hidden="true">${Al}</svg>
88
+ <header class="h-bar"><div class="h-titles"><div class="h-title">${E(e.title)}</div>${e.subtitle?`<div class="h-sub">${E(e.subtitle)}</div>`:""}</div>
89
+ ${p}<div class="h-right">${t.languages?.length?`<div class="h-langs"><button class="h-lang${t.lang?"":" cur"}" data-lang="">EN</button>${t.languages.map(g=>`<button class="h-lang${t.lang===g?" cur":""}" data-lang="${E(g)}">${E(g.toUpperCase())}</button>`).join("")}</div>`:""}${f}<div class="h-sim" data-sim><span class="dot"></span><span class="lbl">Offline</span></div><div class="h-clock" data-clock>--:--:--</div></div></header>
90
+ ${l.join(`
91
91
  `)}
92
92
  ${i.join(`
93
93
  `)}
94
- </div>`,bindings:r,css:Rr}}function nl(e,t,r,n,o){let s=[n.running?`<span class="led tone-ok" ${o({kind:"on",v:n.running})}><span class="led-dot"></span>Running</span>`:"",n.open?`<span class="led tone-ok" ${o({kind:"on",v:n.open})}><span class="led-dot"></span>Open</span>`:"",n.fault?`<span class="led tone-alarm" ${o({kind:"on",v:n.fault})}><span class="led-dot"></span>Fault</span>`:""].join(""),i=r.auto?`<label class="sw" data-act="toggle" data-var="${P(r.auto)}" ${o({kind:"on",v:r.auto})}><span class="sw-track"><span class="sw-knob"></span></span><span class="sw-lbl">Automatic</span><span class="sw-state"><span class="s-on">AUTO</span><span class="s-off">MANUAL</span></span></label>`:"",c=(d,f,m)=>f?`<button class="btn tone-${m}" data-act="tap" data-var="${P(f)}" ${o({kind:"on",v:f})}>${d}</button>`:"",a=[c("Start",r.start,"ok"),c("Stop",r.stop,"alarm"),c("Open",r.open,"ok"),c("Close",r.close,"alarm"),c("Reset",r.reset,"warn")].join(""),l=(r.values??[]).map(d=>`<div class="fp-row"><span>${P(d.label)}</span><b ${o({kind:"text",v:d.value,decimals:d.decimals,unit:d.unit})}>\u2013</b></div>`).join(""),u=r.setpoint,p=u?`<div class="fp-sp"><div class="fp-row"><span>${P(u.label??"Setpoint")}</span></div><div class="sp" data-var="${P(u.variable)}" data-min="${u.min}" data-max="${u.max}" data-step="${u.step??1}" ${o({kind:"setpoint",v:u.variable,decimals:1})}><div class="sp-row"><button class="sp-btn" data-step="-1">\u2212</button><div class="sp-val"><span class="sp-num" ${o({kind:"text",v:u.variable,decimals:1})}>\u2013</span><span class="sp-unit">${P(u.unit??"")}</span></div><button class="sp-btn" data-step="1">+</button></div><input class="sp-range" type="range" min="${u.min}" max="${u.max}" step="${u.step??1}"></div></div>`:"";return`<div class="fp" id="${e}" hidden><div class="fp-card"><div class="fp-head"><div class="fp-title">${P(r.title??t)}</div><button class="fp-x" data-close>\xD7</button></div>${s?`<div class="fp-status">${s}</div>`:""}${i}${a?`<div class="btns fp-btns">${a}</div>`:""}${l}${p}</div></div>`}function Lr(e){return e??"accent"}function ol(e,t,r,n,o,s){let i=t.h-(e.title?44:20);switch(e.type){case"value":{let c=Math.max(22,Math.min(64,i*(e.trend?.36:.55),t.w/6)),a=e.trend?`<svg class="spark" viewBox="0 0 200 40" preserveAspectRatio="none" ${r({kind:"spark",v:e.value})}><path class="spark-fill"/><path class="spark-line"/></svg>`:"";return`<div class="v-wrap"><div class="v-num" style="font-size:${g(c)}px" ${r({kind:"text",v:e.value,decimals:e.decimals,bands:e.bands})}>\u2013</div>${e.unit?`<div class="v-unit">${P(e.unit)}</div>`:""}</div>${a}`}case"gauge":{let c=Math.min(t.w-24,i*1.25),a=80,l=sl(100,100,a,-120,120),u=g(240/360*2*Math.PI*a),p=Array.from({length:11},(d,f)=>{let m=(-120+f*24)*Math.PI/180,x=f%5===0?62:66;return`<line x1="${g(100+x*Math.sin(m))}" y1="${g(100-x*Math.cos(m))}" x2="${g(100+70*Math.sin(m))}" y2="${g(100-70*Math.cos(m))}"/>`}).join("");return`<svg class="gauge" style="width:${g(c)}px;height:${g(c*.86)}px;--len:${u}" viewBox="0 0 200 172" ${r({kind:"level",v:e.value,min:e.min,max:e.max,bands:e.bands})}>
95
- <path class="g-track" d="${l}"/><path class="g-val" d="${l}" style="stroke-dasharray:${u};"/><g class="g-ticks">${p}</g>
94
+ </div>`,bindings:r,css:Qr}}function Ol(e,t,r,n,o){let s=[n.running?`<span class="led tone-ok" ${o({kind:"on",v:n.running})}><span class="led-dot"></span>Running</span>`:"",n.open?`<span class="led tone-ok" ${o({kind:"on",v:n.open})}><span class="led-dot"></span>Open</span>`:"",n.fault?`<span class="led tone-alarm" ${o({kind:"on",v:n.fault})}><span class="led-dot"></span>Fault</span>`:""].join(""),i=r.auto?`<label class="sw" data-act="toggle" data-var="${E(r.auto)}" ${o({kind:"on",v:r.auto})}><span class="sw-track"><span class="sw-knob"></span></span><span class="sw-lbl">Automatic</span><span class="sw-state"><span class="s-on">AUTO</span><span class="s-off">MANUAL</span></span></label>`:"",a=(d,f,m)=>f?`<button class="btn tone-${m}" data-act="tap" data-var="${E(f)}" ${o({kind:"on",v:f})}>${d}</button>`:"",c=[a("Start",r.start,"ok"),a("Stop",r.stop,"alarm"),a("Open",r.open,"ok"),a("Close",r.close,"alarm"),a("Reset",r.reset,"warn")].join(""),u=(r.values??[]).map(d=>`<div class="fp-row"><span>${E(d.label)}</span><b ${o({kind:"text",v:d.value,decimals:d.decimals,unit:d.unit})}>\u2013</b></div>`).join(""),l=r.setpoint,p=l?`<div class="fp-sp"><div class="fp-row"><span>${E(l.label??"Setpoint")}</span></div><div class="sp" data-var="${E(l.variable)}" data-min="${l.min}" data-max="${l.max}" data-step="${l.step??1}" ${o({kind:"setpoint",v:l.variable,decimals:1})}><div class="sp-row"><button class="sp-btn" data-step="-1">\u2212</button><div class="sp-val"><span class="sp-num" ${o({kind:"text",v:l.variable,decimals:1})}>\u2013</span><span class="sp-unit">${E(l.unit??"")}</span></div><button class="sp-btn" data-step="1">+</button></div><input class="sp-range" type="range" min="${l.min}" max="${l.max}" step="${l.step??1}"></div></div>`:"";return`<div class="fp" id="${e}" hidden><div class="fp-card"><div class="fp-head"><div class="fp-title">${E(r.title??t)}</div><button class="fp-x" data-close>\xD7</button></div>${s?`<div class="fp-status">${s}</div>`:""}${i}${c?`<div class="btns fp-btns">${c}</div>`:""}${u}${p}</div></div>`}function Yr(e){return e??"accent"}function El(e,t,r,n,o,s){let i=t.h-(e.title?44:20);switch(e.type){case"value":{let a=Math.max(22,Math.min(64,i*(e.trend?.36:.55),t.w/6)),c=e.trend?`<svg class="spark" viewBox="0 0 200 40" preserveAspectRatio="none" ${r({kind:"spark",v:e.value})}><path class="spark-fill"/><path class="spark-line"/></svg>`:"";return`<div class="v-wrap"><div class="v-num" style="font-size:${b(a)}px" ${r({kind:"text",v:e.value,decimals:e.decimals,bands:e.bands})}>\u2013</div>${e.unit?`<div class="v-unit">${E(e.unit)}</div>`:""}</div>${c}`}case"gauge":{let a=Math.min(t.w-24,i*1.25),c=80,u=Il(100,100,c,-120,120),l=b(240/360*2*Math.PI*c),p=Array.from({length:11},(d,f)=>{let m=(-120+f*24)*Math.PI/180,g=f%5===0?62:66;return`<line x1="${b(100+g*Math.sin(m))}" y1="${b(100-g*Math.cos(m))}" x2="${b(100+70*Math.sin(m))}" y2="${b(100-70*Math.cos(m))}"/>`}).join("");return`<svg class="gauge" style="width:${b(a)}px;height:${b(a*.86)}px;--len:${l}" viewBox="0 0 200 172" ${r({kind:"level",v:e.value,min:e.min,max:e.max,bands:e.bands})}>
95
+ <path class="g-track" d="${u}"/><path class="g-val" d="${u}" style="stroke-dasharray:${l};"/><g class="g-ticks">${p}</g>
96
96
  <text x="100" y="104" class="g-num" ${r({kind:"text",v:e.value,decimals:e.decimals,bands:e.bands})}>\u2013</text>
97
- <text x="100" y="128" class="g-unit">${P(e.unit??"")}</text>
98
- <text x="${g(100-a*Math.sin(120*Math.PI/180))}" y="166" class="g-lim">${e.min}</text><text x="${g(100+a*Math.sin(120*Math.PI/180))}" y="166" class="g-lim">${e.max}</text></svg>`}case"bar":{let c=r({kind:"level",v:e.value,min:e.min,max:e.max,bands:e.bands});return`<div class="bar-wrap${e.vertical?" vert":""}"><div class="bar" ${c}><div class="bar-fill"></div></div><div class="bar-read"><span class="bar-num" ${r({kind:"text",v:e.value,decimals:1,bands:e.bands})}>\u2013</span> <span class="bar-unit">${P(e.unit??"")}</span><span class="bar-lim">${e.min} \u2013 ${e.max}</span></div></div>`}case"status":return`<ul class="status">${e.items.map(c=>`<li class="led tone-${Lr(c.tone??"ok")}" ${r({kind:"on",v:c.on,invert:c.invert})}><span class="led-dot"></span><span>${P(c.label)}</span></li>`).join("")}</ul>`;case"buttons":return`<div class="btns${e.items.length>2&&t.w<360?" col":""}">${e.items.map(c=>`<button class="btn tone-${Lr(c.tone??(/stop|reset|off/i.test(c.label)?"alarm":"accent"))}" data-act="${c.action}" data-var="${P(c.variable)}" ${c.action==="tap"||c.action==="toggle"?r({kind:"on",v:c.variable}):""}>${P(c.label)}</button>`).join("")}</div>`;case"switch":return`<label class="sw" data-act="toggle" data-var="${P(e.variable)}" ${r({kind:"on",v:e.variable})}><span class="sw-track"><span class="sw-knob"></span></span><span class="sw-lbl">${P(e.label??"")}</span><span class="sw-state"><span class="s-on">ON</span><span class="s-off">OFF</span></span></label>`;case"setpoint":{let c=e.step!==void 0&&!Number.isInteger(e.step)?String(e.step).split(".")[1].length:0;return`<div class="sp" data-var="${P(e.variable)}" data-min="${e.min}" data-max="${e.max}" data-step="${e.step??1}" ${r({kind:"setpoint",v:e.variable,decimals:c})}>
99
- <div class="sp-row"><button class="sp-btn" data-step="-1">\u2212</button><div class="sp-val"><span class="sp-num" ${r({kind:"text",v:e.variable,decimals:c})}>\u2013</span><span class="sp-unit">${P(e.unit??"")}</span></div><button class="sp-btn" data-step="1">+</button></div>
100
- <input class="sp-range" type="range" min="${e.min}" max="${e.max}" step="${e.step??1}"><div class="sp-lim"><span>${e.min}</span><span>${e.max}</span></div></div>`}case"trend":{let c=e.series.map((u,p)=>`<path class="tr-line" style="stroke:${St[p%St.length]}"/>`).join(""),a=e.series.map((u,p)=>`<span><i style="background:${St[p%St.length]}"></i>${P(u.label??u.value.split(".").pop())}</span>`).join(""),l=[.25,.5,.75].map(u=>`<line x1="0" x2="600" y1="${200*u}" y2="${200*u}"/>`).join("");return`<div class="tr-legend">${a}</div><svg class="trend" viewBox="0 0 600 200" preserveAspectRatio="none" ${r({kind:"trend",series:e.series.map(u=>u.value),min:e.min,max:e.max,seconds:e.seconds})}><g class="tr-grid">${l}</g>${c}</svg><div class="tr-axis"><span>\u2212${e.seconds} s</span><span class="tr-range"><span class="tr-min"></span> \u2013 <span class="tr-max"></span></span><span>now</span></div>`}case"alarms":return`<ul class="alarms">${e.items.map(c=>`<li class="al sev-${c.severity}" ${r({kind:"alarm",v:c.active})}><span class="al-badge">${c.severity==="info"?"INFO":c.severity==="warning"?"WARN":"ALARM"}</span><span class="al-text">${P(c.text)}</span><span class="al-st"></span><button class="al-ack" data-ack="${P(c.active)}">ACK</button></li>`).join("")}<li class="al-none">No active alarms</li></ul>`;case"text":return`<div class="txt">${P(e.text).replace(/\n/g,"<br>")}</div>`;case"process":{let a=g(100*Math.max(60,i)/Math.max(60,t.w-24)),l=a/100,u=dc(e.items,l,s).sort((p,d)=>(p.type==="pipe"?-1:0)-(d.type==="pipe"?-1:0));return`<svg class="proc" viewBox="0 0 100 ${a}" preserveAspectRatio="xMidYMid meet">${u.map(p=>al(p,l,r,n,o,s)).join("")}</svg>`}}}function sl(e,t,r,n,o){let s=u=>[e+r*Math.sin(u*Math.PI/180),t-r*Math.cos(u*Math.PI/180)].map(g),[i,c]=s(n),[a,l]=s(o);return`M${i} ${c} A${r} ${r} 0 ${o-n>180?1:0} 1 ${a} ${l}`}var il=`<defs>
97
+ <text x="100" y="128" class="g-unit">${E(e.unit??"")}</text>
98
+ <text x="${b(100-c*Math.sin(120*Math.PI/180))}" y="166" class="g-lim">${e.min}</text><text x="${b(100+c*Math.sin(120*Math.PI/180))}" y="166" class="g-lim">${e.max}</text></svg>`}case"bar":{let a=r({kind:"level",v:e.value,min:e.min,max:e.max,bands:e.bands});return`<div class="bar-wrap${e.vertical?" vert":""}"><div class="bar" ${a}><div class="bar-fill"></div></div><div class="bar-read"><span class="bar-num" ${r({kind:"text",v:e.value,decimals:1,bands:e.bands})}>\u2013</span> <span class="bar-unit">${E(e.unit??"")}</span><span class="bar-lim">${e.min} \u2013 ${e.max}</span></div></div>`}case"status":return`<ul class="status">${e.items.map(a=>`<li class="led tone-${Yr(a.tone??"ok")}" ${r({kind:"on",v:a.on,invert:a.invert})}><span class="led-dot"></span><span>${E(a.label)}</span></li>`).join("")}</ul>`;case"buttons":return`<div class="btns${e.items.length>2&&t.w<360?" col":""}">${e.items.map(a=>`<button class="btn tone-${Yr(a.tone??(/stop|reset|off/i.test(a.label)?"alarm":"accent"))}" data-act="${a.action}" data-var="${E(a.variable)}" ${a.action==="tap"||a.action==="toggle"?r({kind:"on",v:a.variable}):""}>${E(a.label)}</button>`).join("")}</div>`;case"switch":return`<label class="sw" data-act="toggle" data-var="${E(e.variable)}" ${r({kind:"on",v:e.variable})}><span class="sw-track"><span class="sw-knob"></span></span><span class="sw-lbl">${E(e.label??"")}</span><span class="sw-state"><span class="s-on">ON</span><span class="s-off">OFF</span></span></label>`;case"setpoint":{let a=e.step!==void 0&&!Number.isInteger(e.step)?String(e.step).split(".")[1].length:0;return`<div class="sp" data-var="${E(e.variable)}" data-min="${e.min}" data-max="${e.max}" data-step="${e.step??1}" ${r({kind:"setpoint",v:e.variable,decimals:a})}>
99
+ <div class="sp-row"><button class="sp-btn" data-step="-1">\u2212</button><div class="sp-val"><span class="sp-num" ${r({kind:"text",v:e.variable,decimals:a})}>\u2013</span><span class="sp-unit">${E(e.unit??"")}</span></div><button class="sp-btn" data-step="1">+</button></div>
100
+ <input class="sp-range" type="range" min="${e.min}" max="${e.max}" step="${e.step??1}"><div class="sp-lim"><span>${e.min}</span><span>${e.max}</span></div></div>`}case"trend":{let a=e.series.map((l,p)=>`<path class="tr-line" style="stroke:${Rt[p%Rt.length]}"/>`).join(""),c=e.series.map((l,p)=>`<span><i style="background:${Rt[p%Rt.length]}"></i>${E(l.label??l.value.split(".").pop())}</span>`).join(""),u=[.25,.5,.75].map(l=>`<line x1="0" x2="600" y1="${200*l}" y2="${200*l}"/>`).join("");return`<div class="tr-legend">${c}</div><svg class="trend" viewBox="0 0 600 200" preserveAspectRatio="none" ${r({kind:"trend",series:e.series.map(l=>l.value),min:e.min,max:e.max,seconds:e.seconds})}><g class="tr-grid">${u}</g>${a}</svg><div class="tr-axis"><span>\u2212${e.seconds} s</span><span class="tr-range"><span class="tr-min"></span> \u2013 <span class="tr-max"></span></span><span>now</span></div>`}case"alarms":return`<ul class="alarms">${e.items.map(a=>`<li class="al sev-${a.severity}" ${r({kind:"alarm",v:a.active})}><span class="al-badge">${a.severity==="info"?"INFO":a.severity==="warning"?"WARN":"ALARM"}</span><span class="al-text">${E(a.text)}</span><span class="al-st"></span><button class="al-ack" data-ack="${E(a.active)}">ACK</button></li>`).join("")}<li class="al-none">No active alarms</li></ul>`;case"text":return`<div class="txt">${E(e.text).replace(/\n/g,"<br>")}</div>`;case"recipe":{let a=`PRG_Recipe_${e.recipe}`,c=e.recipes.map((u,l)=>`<li><span class="rcp-name">${E(u)}</span><button class="btn tone-accent rcp-btn" data-act="value" data-var="${a}.iApply" data-val="${l}">Apply</button>${e.save?`<button class="btn tone-neutral rcp-btn" data-act="value" data-var="${a}.iSave" data-val="${l}">Save</button>`:""}</li>`).join("");return`<div class="rcp"><div class="rcp-active">Active <b ${r({kind:"text",v:`${a}.sActive`})}>\u2013</b></div><ul class="rcp-list">${c}</ul></div>`}case"process":{let c=b(100*Math.max(60,i)/Math.max(60,t.w-24)),u=c/100,l=Ta(e.items,u,s).sort((p,d)=>(p.type==="pipe"?-1:0)-(d.type==="pipe"?-1:0));return`<svg class="proc" viewBox="0 0 100 ${c}" preserveAspectRatio="xMidYMid meet">${l.map(p=>Cl(p,u,r,n,o,s)).join("")}</svg>`}}}function Il(e,t,r,n,o){let s=l=>[e+r*Math.sin(l*Math.PI/180),t-r*Math.cos(l*Math.PI/180)].map(b),[i,a]=s(n),[c,u]=s(o);return`M${i} ${a} A${r} ${r} 0 ${o-n>180?1:0} 1 ${c} ${u}`}var Al=`<defs>
101
101
  <linearGradient id="gShell" x1="0" x2="1"><stop offset="0" stop-color="var(--shell-a)"/><stop offset=".5" stop-color="var(--shell-b)"/><stop offset="1" stop-color="var(--shell-a)"/></linearGradient>
102
102
  <linearGradient id="gLiquid" x1="0" y1="0" x2="0" y2="1"><stop offset="0" stop-color="var(--liq-a)"/><stop offset="1" stop-color="var(--liq-b)"/></linearGradient>
103
103
  <radialGradient id="gHub" cx=".35" cy=".35" r=".8"><stop offset="0" stop-color="var(--hub-a)"/><stop offset="1" stop-color="var(--hub-b)"/></radialGradient>
104
104
  <filter id="fGlow" x="-50%" y="-50%" width="200%" height="200%"><feGaussianBlur stdDeviation="1.2" result="b"/><feMerge><feMergeNode in="b"/><feMergeNode in="SourceGraphic"/></feMerge></filter>
105
- </defs>`;function cl(e,t,r,n=0){let{w:o,h:s}=wt(t,r);return`<g${n?` transform="rotate(${n})"`:""}><svg x="${g(-o/2)}" y="${g(-s/2)}" width="${g(o)}" height="${g(s)}" viewBox="0 0 ${t.viewBox[0]} ${t.viewBox[1]}" overflow="visible">${uc(t.svg,`sym-${e}`)}</svg></g>`}function al(e,t,r,n,o,s){let i=a=>g(a*t),c=(a,l,u)=>u?`<text class="p-label" x="${g(a)}" y="${i(l)}">${P(u)}</text>`:"";switch(e.type){case"symbol":{let a=zt(s,e.symbol);if(!a)return"";let[l,u]=a,p=Mr(u,e,t),d=e.faceplate?`class="clickable" ${o(e.label??l,e.faceplate,{running:e.on,fault:e.fault})}`:"";return`<g ${e.fault?r({kind:"fault",v:e.fault}):""} ${d}><g class="sym sym-${P(l)}" ${e.on?r({kind:"on",v:e.on}):""}><g transform="translate(${g(e.x)} ${i(e.y)})">${cl(l,u,e.size,e.rotate??0)}</g></g>${c(e.x,p.y1+2.6/t,e.label)}</g>`}case"pipe":{let a=(e.points??[]).map(([l,u],p)=>`${p?"L":"M"}${g(l)} ${i(u)}`).join(" ");return`<g class="pipe" ${e.flow?r({kind:"on",v:e.flow}):""}><path class="pipe-outer" d="${a}"/><path class="pipe-inner" d="${a}"/><path class="pipe-flow" d="${a}"/></g>`}case"tank":{let a=g(e.x),l=i(e.y),u=g(e.w),p=i(e.h),d=n("tk"),f=[.25,.5,.75].map(m=>`<line x1="${g(a+u-2.2)}" x2="${g(a+u-.8)}" y1="${g(l+p*(1-m))}" y2="${g(l+p*(1-m))}"/>`).join("");return`<g class="tank" ${r({kind:"level",v:e.level,min:0,max:e.max,bands:e.bands})}>
106
- <clipPath id="${d}"><rect x="${a}" y="${l}" width="${u}" height="${p}" rx="${g(Math.min(u,p)*.12)}"/></clipPath>
107
- <rect class="tank-shell" x="${a}" y="${l}" width="${u}" height="${p}" rx="${g(Math.min(u,p)*.12)}"/>
108
- <g clip-path="url(#${d})"><g class="tank-liq" style="transform-origin:${a}px ${g(l+p)}px"><rect x="${a}" y="${l}" width="${u}" height="${p}" fill="url(#gLiquid)"/><path class="tank-wave" d="M${a} ${g(l+1)} q ${g(u/8)} -1.2 ${g(u/4)} 0 t ${g(u/4)} 0 t ${g(u/4)} 0 t ${g(u/4)} 0 t ${g(u/4)} 0 V ${g(l+3)} H ${a} Z"/></g></g>
109
- <rect class="tank-gloss" x="${g(a+u*.1)}" y="${g(l+p*.05)}" width="${g(u*.12)}" height="${g(p*.9)}" rx="${g(u*.06)}"/>
105
+ </defs>`;function Tl(e,t,r,n=0){let{w:o,h:s}=Lt(t,r);return`<g${n?` transform="rotate(${n})"`:""}><svg x="${b(-o/2)}" y="${b(-s/2)}" width="${b(o)}" height="${b(s)}" viewBox="0 0 ${t.viewBox[0]} ${t.viewBox[1]}" overflow="visible">${Ea(t.svg,`sym-${e}`)}</svg></g>`}function Cl(e,t,r,n,o,s){let i=c=>b(c*t),a=(c,u,l)=>l?`<text class="p-label" x="${b(c)}" y="${i(u)}">${E(l)}</text>`:"";switch(e.type){case"symbol":{let c=Mt(s,e.symbol);if(!c)return"";let[u,l]=c,p=Xr(l,e,t),d=e.faceplate?`class="clickable" ${o(e.label??u,e.faceplate,{running:e.on,fault:e.fault})}`:"";return`<g ${e.fault?r({kind:"fault",v:e.fault}):""} ${d}><g class="sym sym-${E(u)}" ${e.on?r({kind:"on",v:e.on}):""}><g transform="translate(${b(e.x)} ${i(e.y)})">${Tl(u,l,e.size,e.rotate??0)}</g></g>${a(e.x,p.y1+2.6/t,e.label)}</g>`}case"pipe":{let c=(e.points??[]).map(([u,l],p)=>`${p?"L":"M"}${b(u)} ${i(l)}`).join(" ");return`<g class="pipe" ${e.flow?r({kind:"on",v:e.flow}):""}><path class="pipe-outer" d="${c}"/><path class="pipe-inner" d="${c}"/><path class="pipe-flow" d="${c}"/></g>`}case"tank":{let c=b(e.x),u=i(e.y),l=b(e.w),p=i(e.h),d=n("tk"),f=[.25,.5,.75].map(m=>`<line x1="${b(c+l-2.2)}" x2="${b(c+l-.8)}" y1="${b(u+p*(1-m))}" y2="${b(u+p*(1-m))}"/>`).join("");return`<g class="tank" ${r({kind:"level",v:e.level,min:0,max:e.max,bands:e.bands})}>
106
+ <clipPath id="${d}"><rect x="${c}" y="${u}" width="${l}" height="${p}" rx="${b(Math.min(l,p)*.12)}"/></clipPath>
107
+ <rect class="tank-shell" x="${c}" y="${u}" width="${l}" height="${p}" rx="${b(Math.min(l,p)*.12)}"/>
108
+ <g clip-path="url(#${d})"><g class="tank-liq" style="transform-origin:${c}px ${b(u+p)}px"><rect x="${c}" y="${u}" width="${l}" height="${p}" fill="url(#gLiquid)"/><path class="tank-wave" d="M${c} ${b(u+1)} q ${b(l/8)} -1.2 ${b(l/4)} 0 t ${b(l/4)} 0 t ${b(l/4)} 0 t ${b(l/4)} 0 t ${b(l/4)} 0 V ${b(u+3)} H ${c} Z"/></g></g>
109
+ <rect class="tank-gloss" x="${b(c+l*.1)}" y="${b(u+p*.05)}" width="${b(l*.12)}" height="${b(p*.9)}" rx="${b(l*.06)}"/>
110
110
  <g class="tank-ticks">${f}</g>
111
- <text class="tank-num" x="${g(a+u/2)}" y="${g(l+p/2+1.5)}" ${r({kind:"text",v:e.level,decimals:0,unit:e.unit})}>\u2013</text>
112
- ${c(a+u/2,e.y+e.h+2.8/t,e.label)}</g>`}case"pump":{let a=e.size,l=g(e.x),u=i(e.y),p=g(a/2),d=[0,60,120,180,240,300].map(f=>`<path d="M0 0 Q ${g(p*.3)} ${g(-p*.25)} ${g(p*.12)} ${g(-p*.62)}" transform="rotate(${f})"/>`).join("");return`<g ${e.fault?r({kind:"fault",v:e.fault}):""} ${e.faceplate?`class="clickable" ${o(e.label??"Pump",e.faceplate,{running:e.running,fault:e.fault})}`:""}><g class="pump" ${r({kind:"on",v:e.running})}>
113
- <circle class="pump-ring" cx="${l}" cy="${u}" r="${p}"/><circle class="pump-body" cx="${l}" cy="${u}" r="${g(p*.86)}" fill="url(#gHub)"/>
114
- <g transform="translate(${l} ${u})"><g class="pump-imp">${d}<circle r="${g(p*.14)}" class="pump-hub"/></g></g>
115
- ${c(e.x,e.y+(a/2+2.6)/t,e.label)}</g></g>`}case"fan":{let a=e.size,l=g(e.x),u=i(e.y),p=g(a/2),d=[0,120,240].map(f=>`<path d="M0 0 C ${g(p*.5)} ${g(-p*.2)} ${g(p*.55)} ${g(-p*.8)} 0 ${g(-p*.86)} C ${g(-p*.2)} ${g(-p*.6)} ${g(-p*.1)} ${g(-p*.2)} 0 0Z" transform="rotate(${f})"/>`).join("");return`<g class="pump fan${e.faceplate?" clickable":""}" ${r({kind:"on",v:e.running})} ${e.faceplate?o(e.label??"Fan",e.faceplate,{running:e.running}):""}><circle class="pump-ring" cx="${l}" cy="${u}" r="${p}"/><circle class="pump-body" cx="${l}" cy="${u}" r="${g(p*.9)}" fill="url(#gHub)"/><g transform="translate(${l} ${u})"><g class="pump-imp">${d}<circle r="${g(p*.12)}" class="pump-hub"/></g></g>${c(e.x,e.y+(a/2+2.6)/t,e.label)}</g>`}case"valve":{let a=e.size,l=g(e.x),u=i(e.y),p=g(a/2),d=`<path class="valve-body" d="M${g(-p)} ${g(-p*.7)} L${p} ${g(p*.7)} L${p} ${g(-p*.7)} L${g(-p)} ${g(p*.7)} Z"/><line class="valve-stem" x1="0" y1="0" x2="0" y2="${g(-p*1.1)}"/><rect class="valve-act" x="${g(-p*.5)}" y="${g(-p*1.5)}" width="${p}" height="${g(p*.45)}" rx="${g(p*.1)}"/>`;return`<g class="valve${e.faceplate?" clickable":""}" ${r({kind:"on",v:e.open})} ${e.faceplate?o(e.label??"Valve",e.faceplate,{open:e.open}):""}><g transform="translate(${l} ${u})${e.vertical?" rotate(90)":""}">${d}</g>${e.label?e.vertical?`<text class="p-label left" x="${g(e.x+a*.75)}" y="${g(u+.6)}">${P(e.label)}</text>`:c(e.x,e.y+(a/2+2.6)/t,e.label):""}</g>`}case"sensor":{let a=g(e.x),l=i(e.y);return`<g class="sensor"><rect class="sen-box" x="${g(a-6.5)}" y="${g(l-2.1)}" width="13" height="4.2" rx="2.1"/><text class="sen-num" x="${a}" y="${g(l+.75)}" ${r({kind:"text",v:e.value,decimals:e.decimals??1,unit:e.unit})}>\u2013</text>${e.label?`<text class="sen-tag" x="${a}" y="${g(l-3)}">${P(e.label)}</text>`:""}</g>`}case"lamp":{let a=g(e.x),l=i(e.y);return`<g class="plamp tone-${Lr(e.tone??"ok")}" ${r({kind:"on",v:e.on})}><circle class="pl-halo" cx="${a}" cy="${l}" r="2.2"/><circle class="pl-dot" cx="${a}" cy="${l}" r="1.3"/>${e.label?`<text class="p-label left" x="${g(a+3)}" y="${g(l+.65)}">${P(e.label)}</text>`:""}</g>`}case"junction":return`<circle class="junction" cx="${g(e.x)}" cy="${i(e.y)}" r="1.1"/>`;case"label":return`<text class="p-text" x="${g(e.x)}" y="${i(e.y)}">${P(e.text)}</text>`}}var Rr=String.raw`
111
+ <text class="tank-num" x="${b(c+l/2)}" y="${b(u+p/2+1.5)}" ${r({kind:"text",v:e.level,decimals:0,unit:e.unit})}>\u2013</text>
112
+ ${a(c+l/2,e.y+e.h+2.8/t,e.label)}</g>`}case"pump":{let c=e.size,u=b(e.x),l=i(e.y),p=b(c/2),d=[0,60,120,180,240,300].map(f=>`<path d="M0 0 Q ${b(p*.3)} ${b(-p*.25)} ${b(p*.12)} ${b(-p*.62)}" transform="rotate(${f})"/>`).join("");return`<g ${e.fault?r({kind:"fault",v:e.fault}):""} ${e.faceplate?`class="clickable" ${o(e.label??"Pump",e.faceplate,{running:e.running,fault:e.fault})}`:""}><g class="pump" ${r({kind:"on",v:e.running})}>
113
+ <circle class="pump-ring" cx="${u}" cy="${l}" r="${p}"/><circle class="pump-body" cx="${u}" cy="${l}" r="${b(p*.86)}" fill="url(#gHub)"/>
114
+ <g transform="translate(${u} ${l})"><g class="pump-imp">${d}<circle r="${b(p*.14)}" class="pump-hub"/></g></g>
115
+ ${a(e.x,e.y+(c/2+2.6)/t,e.label)}</g></g>`}case"fan":{let c=e.size,u=b(e.x),l=i(e.y),p=b(c/2),d=[0,120,240].map(f=>`<path d="M0 0 C ${b(p*.5)} ${b(-p*.2)} ${b(p*.55)} ${b(-p*.8)} 0 ${b(-p*.86)} C ${b(-p*.2)} ${b(-p*.6)} ${b(-p*.1)} ${b(-p*.2)} 0 0Z" transform="rotate(${f})"/>`).join("");return`<g class="pump fan${e.faceplate?" clickable":""}" ${r({kind:"on",v:e.running})} ${e.faceplate?o(e.label??"Fan",e.faceplate,{running:e.running}):""}><circle class="pump-ring" cx="${u}" cy="${l}" r="${p}"/><circle class="pump-body" cx="${u}" cy="${l}" r="${b(p*.9)}" fill="url(#gHub)"/><g transform="translate(${u} ${l})"><g class="pump-imp">${d}<circle r="${b(p*.12)}" class="pump-hub"/></g></g>${a(e.x,e.y+(c/2+2.6)/t,e.label)}</g>`}case"valve":{let c=e.size,u=b(e.x),l=i(e.y),p=b(c/2),d=`<path class="valve-body" d="M${b(-p)} ${b(-p*.7)} L${p} ${b(p*.7)} L${p} ${b(-p*.7)} L${b(-p)} ${b(p*.7)} Z"/><line class="valve-stem" x1="0" y1="0" x2="0" y2="${b(-p*1.1)}"/><rect class="valve-act" x="${b(-p*.5)}" y="${b(-p*1.5)}" width="${p}" height="${b(p*.45)}" rx="${b(p*.1)}"/>`;return`<g class="valve${e.faceplate?" clickable":""}" ${r({kind:"on",v:e.open})} ${e.faceplate?o(e.label??"Valve",e.faceplate,{open:e.open}):""}><g transform="translate(${u} ${l})${e.vertical?" rotate(90)":""}">${d}</g>${e.label?e.vertical?`<text class="p-label left" x="${b(e.x+c*.75)}" y="${b(l+.6)}">${E(e.label)}</text>`:a(e.x,e.y+(c/2+2.6)/t,e.label):""}</g>`}case"sensor":{let c=b(e.x),u=i(e.y);return`<g class="sensor"><rect class="sen-box" x="${b(c-6.5)}" y="${b(u-2.1)}" width="13" height="4.2" rx="2.1"/><text class="sen-num" x="${c}" y="${b(u+.75)}" ${r({kind:"text",v:e.value,decimals:e.decimals??1,unit:e.unit})}>\u2013</text>${e.label?`<text class="sen-tag" x="${c}" y="${b(u-3)}">${E(e.label)}</text>`:""}</g>`}case"lamp":{let c=b(e.x),u=i(e.y);return`<g class="plamp tone-${Yr(e.tone??"ok")}" ${r({kind:"on",v:e.on})}><circle class="pl-halo" cx="${c}" cy="${u}" r="2.2"/><circle class="pl-dot" cx="${c}" cy="${u}" r="1.3"/>${e.label?`<text class="p-label left" x="${b(c+3)}" y="${b(u+.65)}">${E(e.label)}</text>`:""}</g>`}case"junction":return`<circle class="junction" cx="${b(e.x)}" cy="${i(e.y)}" r="1.1"/>`;case"label":return`<text class="p-text" x="${b(e.x)}" y="${i(e.y)}">${E(e.text)}</text>`}}var Qr=String.raw`
116
116
  .hmi{position:relative;overflow:hidden;font-family:"Segoe UI Variable Display","Segoe UI",Inter,system-ui,sans-serif;color:var(--fg);background:var(--bg);border-radius:18px;box-sizing:border-box;-webkit-font-smoothing:antialiased}
117
117
  .hmi *{box-sizing:border-box}
118
118
  .theme-dark{--bg:radial-gradient(1200px 600px at 15% -10%,#13284a 0%,transparent 60%),radial-gradient(900px 500px at 110% 110%,#1c1640 0%,transparent 55%),#070d1a;--fg:#e6edf7;--muted:#8193ad;--tile:linear-gradient(160deg,rgba(30,41,64,.72),rgba(14,21,37,.78));--tile-bd:rgba(148,163,184,.13);--tile-sh:0 10px 30px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.05);--track:rgba(148,163,184,.16);--accent:#38bdf8;--ok:#22c55e;--warn:#f59e0b;--alarm:#ef4444;--neutral:#64748b;--shell-a:#1e293b;--shell-b:#334155;--liq-a:#38bdf8;--liq-b:#0369a1;--hub-a:#475569;--hub-b:#0f172a;--pipe:#334155;--pipe-in:#1e293b;--btn:rgba(148,163,184,.1)}
@@ -129,6 +129,8 @@ ${c(e.x,e.y+(a/2+2.6)/t,e.label)}</g></g>`}case"fan":{let a=e.size,l=g(e.x),u=i(
129
129
  .h-nav{position:absolute;left:50%;transform:translateX(-50%);display:flex;gap:4px;padding:4px;border-radius:12px;background:var(--tile);border:1px solid var(--tile-bd)}
130
130
  .h-page{border:0;border-radius:9px;padding:8px 16px;background:transparent;color:var(--muted);font:600 13px/1 inherit;cursor:pointer;letter-spacing:.02em}
131
131
  .h-page:hover{color:var(--fg)}.h-page.cur{background:var(--accent);color:#04121f}
132
+ .h-langs{display:flex;gap:2px;padding:3px;border-radius:10px;background:var(--tile);border:1px solid var(--tile-bd)}
133
+ .h-lang{border:0;border-radius:7px;padding:5px 8px;background:transparent;color:var(--muted);font:700 11px/1 inherit;letter-spacing:.06em;cursor:pointer}.h-lang.cur{background:var(--accent);color:#04121f}
132
134
  .h-alarm{display:flex;align-items:center;gap:7px;padding:7px 12px;border-radius:999px;border:1px solid var(--tile-bd);background:var(--tile);font-size:12px;font-weight:700;color:var(--muted)}
133
135
  .h-alarm .dot{width:8px;height:8px;border-radius:50%;background:var(--ok)}.h-alarm.on{color:#fff;background:color-mix(in srgb,var(--alarm) 75%,transparent);border-color:var(--alarm);animation:blink 1.2s infinite}.h-alarm.on .dot{background:#fff}
134
136
  .clickable{cursor:pointer}.clickable:hover .pump-ring,.clickable:hover .valve-body{filter:drop-shadow(0 0 1.5px var(--accent))}
@@ -192,6 +194,9 @@ ${c(e.x,e.y+(a/2+2.6)/t,e.label)}</g></g>`}case"fan":{let a=e.size,l=g(e.x),u=i(
192
194
  .al-none{display:flex;align-items:center;gap:9px;color:var(--ok);font-size:14px}.al-none::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--ok);box-shadow:0 0 10px var(--ok)}
193
195
  .alarms.has .al-none{display:none}
194
196
  .txt{font-size:14px;line-height:1.5;color:var(--muted)}
197
+ .t-recipe .t-body{justify-content:flex-start}.rcp-active{font-size:12px;color:var(--muted);margin-bottom:8px}.rcp-active b{color:var(--accent);margin-left:6px;font-size:14px}
198
+ .rcp-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}.rcp-list li{display:flex;align-items:center;gap:8px}
199
+ .rcp-name{flex:1;font-size:14px;font-weight:600}.rcp-btn{flex:none;min-height:32px;padding:0 14px;font-size:12.5px}
195
200
  .proc{width:100%;height:100%;overflow:visible}
196
201
  .p-label{font-size:1.75px;fill:var(--muted);text-anchor:middle;font-weight:600;letter-spacing:.05em}.p-label.left{text-anchor:start}.p-text{font-size:2px;fill:var(--fg);font-weight:600}
197
202
  .junction{fill:var(--pipe)}
@@ -221,7 +226,7 @@ ${c(e.x,e.y+(a/2+2.6)/t,e.label)}</g></g>`}case"fan":{let a=e.size,l=g(e.x),u=i(
221
226
  .small .h-title{font-size:18px}.small .h-sub{display:none}.small .h-page{padding:6px 10px;font-size:11px}.small .t-title{font-size:10px}.small .tile{padding:9px 11px}
222
227
  .large .h-title{font-size:32px}.large .h-page{font-size:16px;padding:10px 20px}.large .t-title{font-size:14px}
223
228
  @media (prefers-reduced-motion:reduce){.hmi *{animation:none!important;transition:none!important}}
224
- `;function Zt(e){if(e===void 0)return;let t=e.trim();if(/^true$/i.test(t))return!0;if(/^false$/i.test(t))return!1;let r=/^[A-Z_]+#(.*)$/i.exec(t),n=r?r[1]:t;if(/^[+-]?\d+(\.\d+)?(e[+-]?\d+)?$/i.test(n))return Number(n);let o=/^(?:T|TIME|LTIME)#(.+)$/i.exec(t);if(o){let s=0;for(let i of o[1].matchAll(/(\d+(?:\.\d+)?)(ms|us|ns|d|h|m|s)/gi)){let c=Number(i[1]);s+={d:864e5,h:36e5,m:6e4,s:1e3,ms:1,us:.001,ns:1e-6}[i[2].toLowerCase()]*c}return s}return t}var Ve=e=>typeof e=="number"?e:typeof e=="boolean"?e?1:0:void 0,Ke=e=>e===!0||typeof e=="number"&&e!==0;function jr(e,t){if(typeof e=="boolean")return e?"ON":"OFF";if(typeof e=="number"){let r=t??(Number.isInteger(e)||Math.abs(e)>=100?0:Math.abs(e)>=10?1:2);return e.toLocaleString("en-US",{minimumFractionDigits:r,maximumFractionDigits:r})}return e===void 0?"\u2013":String(e)}function mc(e,t){if(e===void 0||!t?.length)return;let r;for(let n of[...t].sort((o,s)=>o.from-s.from))e>=n.from&&(r=n.tone);return r}var Ot=new Map;function hc(e,t,r,n){let o=($,b)=>{r($,b),I({[$]:b})},s=new Map;e.querySelectorAll("[data-b]").forEach($=>{let b=Number($.dataset.b);s.set(b,[...s.get(b)??[],$])});let i={},c=()=>Date.now(),a=$=>Zt(i[$]),l=$=>{let b=$.target.closest("[data-act]");if(!b||!e.contains(b))return;let v=b.dataset.var,w=b.dataset.act;if(w==="tap"){o(v,"TRUE");let z=()=>{o(v,"FALSE"),window.removeEventListener("pointerup",z),window.removeEventListener("pointercancel",z)};window.addEventListener("pointerup",z),window.addEventListener("pointercancel",z)}else w==="toggle"?o(v,Ke(a(v))?"FALSE":"TRUE"):w==="set"?o(v,"TRUE"):w==="reset"&&o(v,"FALSE");$.preventDefault()},u=($,b)=>{let v=Number($.dataset.min),w=Number($.dataset.max),z=Number($.dataset.step)||1,O=Math.min(w,Math.max(v,Math.round(b/z)*z));o($.dataset.var,String(Number(O.toFixed(6))))},p=$=>{let b=$.target,v=b.closest("[data-ack]");if(v)return r(`@ack:${v.dataset.ack}`,"TRUE");let w=b.closest("[data-nav]");if(w)return n?.(w.dataset.nav);let z=b.closest("[data-open]");if(z){e.querySelector(`#${z.getAttribute("data-open")}`)?.removeAttribute("hidden");return}if(b.closest("[data-close]")||b.classList.contains("fp")){b.closest(".fp")?.setAttribute("hidden","");return}let O=b.closest(".sp-btn");if(!O)return;let M=O.closest(".sp"),L=Ve(a(M.dataset.var))??Number(M.dataset.min);u(M,L+Number(O.dataset.step)*(Number(M.dataset.step)||1))},d=$=>{let b=$.target;b.classList.contains("sp-range")&&u(b.closest(".sp"),Number(b.value))};e.addEventListener("pointerdown",l),e.addEventListener("click",p),e.addEventListener("change",d);let f=e.querySelector("[data-clock]"),m=()=>f&&(f.textContent=new Date().toLocaleTimeString("en-GB"));m();let x=setInterval(m,1e3);function _($,b,v,w,z,O,M){let L=$.viewBox.baseVal,Ge=c(),ue=Ge-w*1e3,Et=v.flat().filter(ke=>ke.t>=ue).map(ke=>ke.v),oe=z??Math.min(...Et),le=O??Math.max(...Et);if(!Et.length)return{min:0,max:0};le-oe<1e-9&&(oe-=1,le+=1);let Fr=(le-oe)*.08;return z===void 0&&(oe-=Fr),O===void 0&&(le+=Fr),v.forEach((ke,Ur)=>{let At=ke.filter(pe=>pe.t>=ue).map((pe,vc)=>`${vc?"L":"M"}${((pe.t-ue)/(Ge-ue)*L.width).toFixed(1)} ${(L.height-(pe.v-oe)/(le-oe)*L.height).toFixed(1)}`).join(" ");b[Ur]?.setAttribute("d",At),M&&Ur===0&&At&&M.setAttribute("d",`${At} L${L.width} ${L.height} L0 ${L.height} Z`.replace(/^M[\d.]+/,pe=>pe))}),{min:oe,max:le}}let y;function I($,b=y){y=b,i={...i,...$};let v=c();for(let[z,O]of Object.entries($)){let M=Ve(Zt(O));if(M===void 0)continue;let L=Ot.get(z)??[];for(L.push({t:v,v:M});L.length&&L[0].t<v-36e5;)L.shift();Ot.set(z,L)}s.forEach((z,O)=>{let M=t[O];if(M)for(let L of z)F(L,M)}),e.querySelectorAll(".alarms").forEach(z=>z.classList.toggle("has",!!z.querySelector(".al.active")));let w=e.querySelector("[data-sim]");if(w){let z=b?.state,O=z==="run";w.classList.toggle("run",O),w.classList.toggle("stop",!!z&&!O),w.querySelector(".lbl").textContent=O?"Simulation running":z?`Simulation ${z}`:"Offline"}}function F($,b){switch(b.kind){case"text":{let v="v"in b?a(b.v):void 0;$.textContent=jr(v,b.decimals)+(b.unit&&v!==void 0?` ${b.unit}`:"");let w=mc(Ve(v),b.bands);w?$.dataset.tone=w:delete $.dataset.tone;break}case"on":$.classList.toggle("on",Ke(a(b.v))!==!!b.invert);break;case"fault":$.classList.toggle("fault",Ke(a(b.v)));break;case"alarm":{let v=i[`@alarm:${b.v}`],w=Ke(a(b.v)),z=w||v==="active"||v==="acknowledged"||v==="waiting"||v==="unacknowledged";$.classList.toggle("active",z),$.classList.toggle("cleared",z&&!w&&v!==void 0),$.classList.toggle("acked",v==="acknowledged"),$.classList.toggle("can-ack",v==="active"||v==="waiting"||v==="unacknowledged");let O=$.querySelector(".al-st");O&&(O.textContent=v==="waiting"?"cleared \xB7 confirm":v==="unacknowledged"?"cleared \xB7 acknowledge":v==="acknowledged"?"acknowledged":"");break}case"count":{let v=M=>Ke(a(M))||["waiting","unacknowledged"].includes(i[`@alarm:${M}`]??""),w=b.vars.filter(v).length;$.classList.toggle("on",w>0);let z=$.querySelector(".n");z&&(z.textContent=String(w));let O=$.querySelector(".lbl");O&&(O.textContent=w===1?"alarm":"alarms");break}case"level":{let v=Ve(a(b.v)),w=v===void 0?0:Math.min(1,Math.max(0,(v-b.min)/(b.max-b.min||1)));$.style.setProperty("--p",w.toFixed(4));let z=mc(v,b.bands);z?$.dataset.tone=z:delete $.dataset.tone;break}case"setpoint":{let v=$.querySelector(".sp-range"),w=Ve(a(b.v));v&&w!==void 0&&document.activeElement!==v&&(v.value=String(w));break}case"spark":{let v=$;_(v,[v.querySelector(".spark-line")],[Ot.get(b.v)??[]],60,void 0,void 0,v.querySelector(".spark-fill"));break}case"trend":{let v=$,w=_(v,[...v.querySelectorAll(".tr-line")],b.series.map(O=>Ot.get(O)??[]),b.seconds,b.min,b.max),z=v.parentElement?.querySelector(".tr-axis");z&&(z.querySelector(".tr-max").textContent=jr(w.max),z.querySelector(".tr-min").textContent=jr(w.min));break}}}return{update:I,destroy(){clearInterval(x),e.removeEventListener("pointerdown",l),e.removeEventListener("click",p),e.removeEventListener("change",d)}}}function gc(e,t,r=60){let n=Date.now(),o=Date.now;for(let s=30;s>=1;s--){let i=n-s*r*1e3/30;Date.now=()=>i;let c={};for(let[a,l]of Object.entries(t)){let u=Zt(l);c[a]=typeof u=="number"?String(u*(1+.08*Math.sin(s/3)+.03*Math.cos(s*1.7))):l}e.update(c)}Date.now=o,e.update(t)}var ul=`
229
+ `;function tt(e){if(e===void 0)return;let t=e.trim();if(/^true$/i.test(t))return!0;if(/^false$/i.test(t))return!1;let r=/^(?:W?STRING#)?["'](.*)["']$/is.exec(t);if(r)return r[1];let n=/^[A-Z_]+#(.*)$/i.exec(t),o=n?n[1]:t;if(/^[+-]?\d+(\.\d+)?(e[+-]?\d+)?$/i.test(o))return Number(o);let s=/^(?:T|TIME|LTIME)#(.+)$/i.exec(t);if(s){let i=0;for(let a of s[1].matchAll(/(\d+(?:\.\d+)?)(ms|us|ns|d|h|m|s)/gi)){let c=Number(a[1]);i+={d:864e5,h:36e5,m:6e4,s:1e3,ms:1,us:.001,ns:1e-6}[a[2].toLowerCase()]*c}return i}return t}var N=Z().min(1).describe("PLC variable, full path, e.g. 'PLC_PRG.fbPump.xRunning' or 'GVL.rLevel'"),Bt=pe(["accent","ok","warn","alarm","neutral"]),S=J(),Ut=O({from:S,tone:Bt}),Nl=ge([J().int().min(1),J().int().min(1),J().int().min(1),J().int().min(1)]).describe("[column, row, width, height] in grid cells, 1-based (the grid is 12 columns by 8 rows unless the screen sets grid)"),te={at:Nl,title:Z().optional().describe("Tile title")},rt=Z().optional().describe("Name pipes connect to (default: the label, e.g. 'P-101')"),Ft=O({title:Z().optional(),auto:N.optional().describe("BOOL: automatic mode (a switch)"),start:N.optional().describe("BOOL tapped by a Start button"),stop:N.optional().describe("BOOL tapped by a Stop button"),open:N.optional().describe("BOOL tapped by an Open button (valves)"),close:N.optional().describe("BOOL tapped by a Close button (valves)"),reset:N.optional().describe("BOOL tapped by a Reset button"),values:K(O({label:Z(),value:N,unit:Z().optional(),decimals:J().int().optional()})).max(6).optional(),setpoint:O({label:Z().optional(),variable:N,min:S,max:S,step:S.optional(),unit:Z().optional()}).optional()}).describe("A popup opened by clicking the symbol: mode switch, Start/Stop or Open/Close, Reset, values and a setpoint"),Na=jt([Z().regex(/^[^.]+\.[a-z-]+$/),ge([S,S])]).describe("A port 'P-101.out' (see the ports of each symbol) or a point [x, y] at the diagram's edge"),jl=Hr("type",[O({type:C("tank"),id:rt,x:S,y:S,w:S,h:S,level:N,max:S.default(100),unit:Z().optional(),label:Z().optional(),bands:K(Ut).optional()}),O({type:C("pump"),id:rt,x:S,y:S,size:S.default(12),running:N,fault:N.optional(),label:Z().optional(),faceplate:Ft.optional()}),O({type:C("fan"),id:rt,x:S,y:S,size:S.default(12),running:N,label:Z().optional(),faceplate:Ft.optional()}),O({type:C("valve"),id:rt,x:S,y:S,size:S.default(8),open:N,vertical:Ne().optional(),label:Z().optional(),faceplate:Ft.optional()}),O({type:C("junction"),id:Z(),x:S,y:S}).describe("A tee or bend that several pipes meet at"),O({type:C("symbol"),symbol:Z().describe("A standard symbol (motor, conveyor, heat_exchanger, mixer, filter, compressor, cylinder, level_switch, pressure_switch, check_valve, control_valve) or one saved with hmi_save_symbol"),id:rt,x:S.describe("Centre"),y:S.describe("Centre"),size:S.default(10).describe("Width in diagram units (0..100 across)"),rotate:jt([C(0),C(90),C(180),C(270)]).optional().describe("Clockwise, in degrees; ports turn with it"),on:N.optional().describe("BOOL: on or running (green)"),fault:N.optional().describe("BOOL: fault (red, wins over on)"),label:Z().optional(),faceplate:Ft.optional()}).describe("A symbol from the library: hmi_symbols lists them with their ports"),O({type:C("pipe"),from:Na.optional(),to:Na.optional(),via:K(ge([S,S])).optional().describe("Points the pipe must pass, in order"),points:K(ge([S,S])).min(2).optional().describe("Raw points instead of from/to (avoid: ends rarely meet the symbols)"),flow:N.optional().describe("BOOL: animate flow while TRUE")}).refine(e=>e.from&&e.to||e.points,{message:"a pipe needs from and to (ports or points), or points"}),O({type:C("sensor"),x:S,y:S,value:N,unit:Z().optional(),label:Z().optional(),decimals:J().int().optional()}),O({type:C("lamp"),x:S,y:S,on:N,tone:Bt.optional(),label:Z().optional()}),O({type:C("label"),x:S,y:S,text:Z()})]),Ll=Hr("type",[O({type:C("value"),...te,value:N,unit:Z().optional(),decimals:J().int().optional(),bands:K(Ut).optional(),trend:Ne().optional().describe("Small sparkline under the value")}),O({type:C("gauge"),...te,value:N,min:S.default(0),max:S.default(100),unit:Z().optional(),decimals:J().int().optional(),bands:K(Ut).optional()}),O({type:C("bar"),...te,value:N,min:S.default(0),max:S.default(100),unit:Z().optional(),vertical:Ne().optional(),bands:K(Ut).optional()}),O({type:C("status"),...te,items:K(O({label:Z(),on:N,tone:Bt.optional(),invert:Ne().optional()})).min(1)}),O({type:C("buttons"),...te,items:K(O({label:Z(),variable:N,action:pe(["tap","toggle","set","reset"]).default("tap").describe("tap: TRUE while pressed; toggle: flips; set: writes TRUE; reset: writes FALSE"),tone:Bt.optional()})).min(1)}),O({type:C("switch"),...te,variable:N,label:Z().optional()}),O({type:C("setpoint"),...te,variable:N,min:S,max:S,step:S.optional(),unit:Z().optional()}),O({type:C("trend"),...te,series:K(O({value:N,label:Z().optional()})).min(1).max(6),min:S.optional(),max:S.optional(),seconds:J().int().min(5).max(3600).default(60)}),O({type:C("alarms"),...te,items:K(O({active:N,text:Z(),severity:pe(["info","warning","alarm"]).default("alarm")})).min(1)}),O({type:C("text"),...te,text:Z()}),O({type:C("recipe"),...te,recipe:Z().regex(/^[A-Za-z][A-Za-z0-9_]*$/).describe("The name given to create_recipes"),recipes:K(Z()).min(1).describe("Its recipe names, in order"),save:Ne().default(!0).describe("Also offer Save (store the current values in a recipe)")}).describe("Recipes made with create_recipes: the active one, and Apply / Save per recipe"),O({type:C("process"),...te,items:K(jl).min(1)})]),_f=O({name:Z().regex(/^[A-Za-z][A-Za-z0-9_]*$/).describe("Screen name, e.g. 'Overview'"),title:Z().describe("Shown in the header"),subtitle:Z().optional(),theme:pe(["dark","light"]).default("dark"),size:pe(["1280x720","1920x1080","1024x768","800x480"]).default("1280x720").describe("Panel resolution; use the same on every page"),grid:ge([J().int().min(2).max(24),J().int().min(2).max(16)]).default([12,8]).describe("[columns, rows]"),widgets:K(Ll).min(1)});var Ml=new Set(["title","subtitle","label","text"]);function ja(e,t){if(!t||!Object.keys(t).length)return e;let r=n=>Array.isArray(n)?n.map(r):n&&typeof n=="object"?Object.fromEntries(Object.entries(n).map(([o,s])=>[o,Ml.has(o)&&typeof s=="string"?t[s]??s:r(s)])):n;return r(e)}var nt=e=>typeof e=="number"?e:typeof e=="boolean"?e?1:0:void 0,ot=e=>e===!0||typeof e=="number"&&e!==0;function en(e,t){if(typeof e=="boolean")return e?"ON":"OFF";if(typeof e=="number"){let r=t??(Number.isInteger(e)||Math.abs(e)>=100?0:Math.abs(e)>=10?1:2);return e.toLocaleString("en-US",{minimumFractionDigits:r,maximumFractionDigits:r})}return e===void 0?"\u2013":String(e)}function La(e,t){if(e===void 0||!t?.length)return;let r;for(let n of[...t].sort((o,s)=>o.from-s.from))e>=n.from&&(r=n.tone);return r}var Jt=new Map;function Ma(e,t,r,n,o){let s=(v,x)=>{r(v,x),M({[v]:x})},i=new Map;e.querySelectorAll("[data-b]").forEach(v=>{let x=Number(v.dataset.b);i.set(x,[...i.get(x)??[],v])});let a={},c=()=>Date.now(),u=v=>tt(a[v]),l=v=>{let x=v.target.closest("[data-act]");if(!x||!e.contains(x))return;let $=x.dataset.var,P=x.dataset.act;if(P==="tap"){s($,"TRUE");let w=()=>{s($,"FALSE"),window.removeEventListener("pointerup",w),window.removeEventListener("pointercancel",w)};window.addEventListener("pointerup",w),window.addEventListener("pointercancel",w)}else P==="toggle"?s($,ot(u($))?"FALSE":"TRUE"):P==="value"?s($,x.dataset.val??"0"):P==="set"?s($,"TRUE"):P==="reset"&&s($,"FALSE");v.preventDefault()},p=(v,x)=>{let $=Number(v.dataset.min),P=Number(v.dataset.max),w=Number(v.dataset.step)||1,T=Math.min(P,Math.max($,Math.round(x/w)*w));s(v.dataset.var,String(Number(T.toFixed(6))))},d=v=>{let x=v.target,$=x.closest("[data-lang]");if($)return o?.($.dataset.lang??"");let P=x.closest("[data-ack]");if(P)return r(`@ack:${P.dataset.ack}`,"TRUE");let w=x.closest("[data-nav]");if(w)return n?.(w.dataset.nav);let T=x.closest("[data-open]");if(T){e.querySelector(`#${T.getAttribute("data-open")}`)?.removeAttribute("hidden");return}if(x.closest("[data-close]")||x.classList.contains("fp")){x.closest(".fp")?.setAttribute("hidden","");return}let B=x.closest(".sp-btn");if(!B)return;let U=B.closest(".sp"),$e=nt(u(U.dataset.var))??Number(U.dataset.min);p(U,$e+Number(B.dataset.step)*(Number(U.dataset.step)||1))},f=v=>{let x=v.target;x.classList.contains("sp-range")&&p(x.closest(".sp"),Number(x.value))};e.addEventListener("pointerdown",l),e.addEventListener("click",d),e.addEventListener("change",f);let m=e.querySelector("[data-clock]"),g=()=>m&&(m.textContent=new Date().toLocaleTimeString("en-GB"));g();let y=setInterval(g,1e3);function _(v,x,$,P,w,T,B){let U=v.viewBox.baseVal,$e=c(),st=$e-P*1e3,Kt=$.flat().filter(Le=>Le.t>=st).map(Le=>Le.v),be=w??Math.min(...Kt),ke=T??Math.max(...Kt);if(!Kt.length)return{min:0,max:0};ke-be<1e-9&&(be-=1,ke+=1);let rn=(ke-be)*.08;return w===void 0&&(be-=rn),T===void 0&&(ke+=rn),$.forEach((Le,nn)=>{let Gt=Le.filter(ze=>ze.t>=st).map((ze,Ba)=>`${Ba?"L":"M"}${((ze.t-st)/($e-st)*U.width).toFixed(1)} ${(U.height-(ze.v-be)/(ke-be)*U.height).toFixed(1)}`).join(" ");x[nn]?.setAttribute("d",Gt),B&&nn===0&&Gt&&B.setAttribute("d",`${Gt} L${U.width} ${U.height} L0 ${U.height} Z`.replace(/^M[\d.]+/,ze=>ze))}),{min:be,max:ke}}let A;function M(v,x=A){A=x,a={...a,...v};let $=c();for(let[w,T]of Object.entries(v)){let B=nt(tt(T));if(B===void 0)continue;let U=Jt.get(w)??[];for(U.push({t:$,v:B});U.length&&U[0].t<$-36e5;)U.shift();Jt.set(w,U)}i.forEach((w,T)=>{let B=t[T];if(B)for(let U of w)H(U,B)}),e.querySelectorAll(".alarms").forEach(w=>w.classList.toggle("has",!!w.querySelector(".al.active")));let P=e.querySelector("[data-sim]");if(P){let w=x?.state,T=w==="run";P.classList.toggle("run",T),P.classList.toggle("stop",!!w&&!T),P.querySelector(".lbl").textContent=T?"Simulation running":w?`Simulation ${w}`:"Offline"}}function H(v,x){switch(x.kind){case"text":{let $="v"in x?u(x.v):void 0;v.textContent=en($,x.decimals)+(x.unit&&$!==void 0?` ${x.unit}`:"");let P=La(nt($),x.bands);P?v.dataset.tone=P:delete v.dataset.tone;break}case"on":v.classList.toggle("on",ot(u(x.v))!==!!x.invert);break;case"fault":v.classList.toggle("fault",ot(u(x.v)));break;case"alarm":{let $=a[`@alarm:${x.v}`],P=ot(u(x.v)),w=P||$==="active"||$==="acknowledged"||$==="waiting"||$==="unacknowledged";v.classList.toggle("active",w),v.classList.toggle("cleared",w&&!P&&$!==void 0),v.classList.toggle("acked",$==="acknowledged"),v.classList.toggle("can-ack",$==="active"||$==="waiting"||$==="unacknowledged");let T=v.querySelector(".al-st");T&&(T.textContent=$==="waiting"?"cleared \xB7 confirm":$==="unacknowledged"?"cleared \xB7 acknowledge":$==="acknowledged"?"acknowledged":"");break}case"count":{let $=B=>ot(u(B))||["waiting","unacknowledged"].includes(a[`@alarm:${B}`]??""),P=x.vars.filter($).length;v.classList.toggle("on",P>0);let w=v.querySelector(".n");w&&(w.textContent=String(P));let T=v.querySelector(".lbl");T&&(T.textContent=P===1?"alarm":"alarms");break}case"level":{let $=nt(u(x.v)),P=$===void 0?0:Math.min(1,Math.max(0,($-x.min)/(x.max-x.min||1)));v.style.setProperty("--p",P.toFixed(4));let w=La($,x.bands);w?v.dataset.tone=w:delete v.dataset.tone;break}case"setpoint":{let $=v.querySelector(".sp-range"),P=nt(u(x.v));$&&P!==void 0&&document.activeElement!==$&&($.value=String(P));break}case"spark":{let $=v;_($,[$.querySelector(".spark-line")],[Jt.get(x.v)??[]],60,void 0,void 0,$.querySelector(".spark-fill"));break}case"trend":{let $=v,P=_($,[...$.querySelectorAll(".tr-line")],x.series.map(T=>Jt.get(T)??[]),x.seconds,x.min,x.max),w=$.parentElement?.querySelector(".tr-axis");w&&(w.querySelector(".tr-max").textContent=en(P.max),w.querySelector(".tr-min").textContent=en(P.min));break}}}return{update:M,destroy(){clearInterval(y),e.removeEventListener("pointerdown",l),e.removeEventListener("click",d),e.removeEventListener("change",f)}}}function Ra(e,t,r=60){let n=Date.now(),o=Date.now;for(let s=30;s>=1;s--){let i=n-s*r*1e3/30;Date.now=()=>i;let a={};for(let[c,u]of Object.entries(t)){let l=tt(u);a[c]=typeof l=="number"?String(l*(1+.08*Math.sin(s/3)+.03*Math.cos(s*1.7))):u}e.update(a)}Date.now=o,e.update(t)}var Rl=`
225
230
  html,body{margin:0;height:100%;background:#05080f;overflow:hidden}
226
231
  #stage{position:absolute;left:50%;top:50%;transform-origin:0 0}
227
232
  #tabs{position:fixed;left:50%;bottom:14px;transform:translateX(-50%);display:flex;gap:6px;padding:5px;border-radius:999px;background:rgba(15,23,42,.75);border:1px solid rgba(148,163,184,.18);backdrop-filter:blur(10px);font:600 13px "Segoe UI",system-ui,sans-serif;z-index:5}
@@ -229,4 +234,4 @@ html,body{margin:0;height:100%;background:#05080f;overflow:hidden}
229
234
  #tabs button{border:0;border-radius:999px;padding:7px 16px;background:transparent;color:#94a3b8;font:inherit;cursor:pointer}
230
235
  #tabs button.cur{background:#38bdf8;color:#04121f}
231
236
  #banner{position:fixed;left:50%;top:14px;transform:translateX(-50%);padding:9px 16px;border-radius:10px;background:#7f1d1d;color:#fff;font:500 13px "Segoe UI",system-ui,sans-serif;z-index:6}
232
- `;function ll(e){let t=document.createElement("style");t.textContent=e,document.head.appendChild(t)}var xc;function bc(e,t,r,n={},o){let s=fc(t,n);return e.innerHTML=s.html,xc=t,hc(e.firstElementChild,s.bindings,r,o)}function Dr(e,t){if(t){e.style.left="0",e.style.top="0";return}let r=Pt(xc??{}),n=Math.min(innerWidth/r.w,innerHeight/r.h)*.98;e.style.left="50%",e.style.top="50%",e.style.transform=`translate(-50%,-50%) scale(${n})`,e.style.transformOrigin="center"}async function pl(e){let t=new URLSearchParams(location.search),r=t.get("t")??"",n=t.get("s")??void 0,o=document.getElementById("tabs"),s=document.getElementById("banner"),i=async(p,d)=>{let f=await fetch("/call",{method:"POST",headers:{"content-type":"application/json","x-viewer-token":r},body:JSON.stringify({name:p,arguments:d})});if(!f.ok)throw new Error(f.status===403?"This link is out of date: ask Claude to open the HMI again.":await f.text());let m=await f.json(),x=m.content?.[0]?.text??"{}";if(m.isError)throw new Error(x);return JSON.parse(x)},c=p=>{s.hidden=!p,s.textContent=p??""},a="",l,u=(p,d)=>{i("ui_hmi_write",{variable:p,value:d}).then(f=>c(f.ok===!1?String(f.message):void 0),f=>c(f.message))};for(;;){try{let p=await i("get_hmi",{screen:n});if(c(p.screen?void 0:"No HMI screens in this project yet: ask Claude to make one."),o.innerHTML="",p.screens.length>1&&p.screens.map(d=>`<button data-s="${d.name}" class="${d.name===p.screen?.name?"cur":""}">${d.title.replace(/[<&]/g,"")}</button>`).join(""),p.screen){let d=JSON.stringify([p.screen,p.screens,p.alarms,p.symbols]);if(d!==a){l?.destroy();let f=m=>{n=m,history.replaceState(null,"",`?t=${encodeURIComponent(r)}&s=${encodeURIComponent(m)}`),a=""};l=bc(e,p.screen,u,{pages:p.screens,alarms:p.alarms,symbols:p.symbols},f),a=d,document.title=p.screen.title,Dr(e,!1)}l.update(p.values??{},p.sim)}}catch(p){c(p.message.includes("fetch")?"The CODESYS MCP server isn't answering; this page reconnects by itself.":p.message)}await new Promise(p=>setTimeout(p,300)),o.onclick=p=>{let d=p.target.closest("button");d&&(n=d.dataset.s,history.replaceState(null,"",`?t=${encodeURIComponent(r)}&s=${encodeURIComponent(n??"")}`))}}}ll(Rr+ul);var It=document.getElementById("stage"),$e=window.HMI_STATIC;if($e){Dr(It,!0);let e=bc(It,$e.screen,()=>{},$e.page??{});gc(e,$e.values),e.update($e.values,$e.sim),document.body.dataset.ready="1"}else addEventListener("resize",()=>Dr(It,!1)),pl(It);})();
237
+ `;function Dl(e){let t=document.createElement("style");t.textContent=e,document.head.appendChild(t)}var Da;function Fa(e,t,r,n={},o,s){let i=Ca(t,n);return e.innerHTML=i.html,Da=t,Ma(e.firstElementChild,i.bindings,r,o,s)}var Ua="cmcp-hmi-lang";function Fl(){try{return new URLSearchParams(location.search).get("lang")??localStorage.getItem(Ua)??""}catch{return""}}function tn(e,t){if(t){e.style.left="0",e.style.top="0";return}let r=Dt(Da??{}),n=Math.min(innerWidth/r.w,innerHeight/r.h)*.98;e.style.left="50%",e.style.top="50%",e.style.transform=`translate(-50%,-50%) scale(${n})`,e.style.transformOrigin="center"}async function Ul(e){let t=new URLSearchParams(location.search),r=t.get("t")??"",n=t.get("s")??void 0,o=document.getElementById("tabs"),s=document.getElementById("banner"),i=async(d,f)=>{let m=await fetch("/call",{method:"POST",headers:{"content-type":"application/json","x-viewer-token":r},body:JSON.stringify({name:d,arguments:f})});if(!m.ok)throw new Error(m.status===403?"This link is out of date: ask Claude to open the HMI again.":await m.text());let g=await m.json(),y=g.content?.[0]?.text??"{}";if(g.isError)throw new Error(y);return JSON.parse(y)},a=d=>{s.hidden=!d,s.textContent=d??""},c="",u=Fl(),l,p=(d,f)=>{i("ui_hmi_write",{variable:d,value:f}).then(m=>a(m.ok===!1?String(m.message):void 0),m=>a(m.message))};for(;;){try{let d=await i("get_hmi",{screen:n}),f=u?d.translations?.[u]:void 0;if(a(d.screen?void 0:"No HMI screens in this project yet: ask Claude to make one."),o.innerHTML="",d.screens.length>1&&d.screens.map(m=>`<button data-s="${m.name}" class="${m.name===d.screen?.name?"cur":""}">${m.title.replace(/[<&]/g,"")}</button>`).join(""),d.screen){let m=JSON.stringify([d.screen,d.screens,d.alarms,d.symbols,u,f]);if(m!==c){l?.destroy();let g=M=>{n=M,history.replaceState(null,"",`?t=${encodeURIComponent(r)}&s=${encodeURIComponent(M)}`),c=""},y=M=>{u=M;try{localStorage.setItem(Ua,M)}catch{}c=""},_=Object.keys(d.translations??{}),A=d.screens.map(M=>({...M,title:f?.[M.title]??M.title}));l=Fa(e,ja(d.screen,f),p,{pages:A,alarms:d.alarms,symbols:d.symbols,..._.length?{languages:_,...f?{lang:u}:{}}:{}},g,y),c=m,document.title=d.screen.title,tn(e,!1)}l.update(d.values??{},d.sim)}}catch(d){a(d.message.includes("fetch")?"The CODESYS MCP server isn't answering; this page reconnects by itself.":d.message)}await new Promise(d=>setTimeout(d,300)),o.onclick=d=>{let f=d.target.closest("button");f&&(n=f.dataset.s,history.replaceState(null,"",`?t=${encodeURIComponent(r)}&s=${encodeURIComponent(n??"")}`))}}}Dl(Qr+Rl);var Vt=document.getElementById("stage"),je=window.HMI_STATIC;if(je){tn(Vt,!0);let e=Fa(Vt,je.screen,()=>{},je.page??{});Ra(e,je.values),e.update(je.values,je.sim),document.body.dataset.ready="1"}else addEventListener("resize",()=>tn(Vt,!1)),Ul(Vt);})();