tempest.games 0.1.33 → 0.1.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -0
- package/app/assets/{index-Bdrp8zDN.js → index-CMk_4lqk.js} +3 -3
- package/app/index.html +1 -1
- package/bin/backend.bun.js +1 -1
- package/bin/backend.worker.game.bun.js +2 -2
- package/bin/backend.worker.tribunal.bun.js +29 -29
- package/bin/frontend.bun.js +8 -8
- package/package.json +5 -5
package/bin/backend.bun.js
CHANGED
|
@@ -57,7 +57,7 @@ ${X.trace}`:`No previous disposal trace for ${o} was found.`);return}let p=n.mol
|
|
|
57
57
|
${J.trace}`:`No previous disposal trace for ${p} was found.`),o}let f=wn(i),a=x.molecules.get(f);if(!a){let J=n.disposalTraces.buffer.find((X)=>X?.key===f);return n.logger.error("\u274C","molecule",o,"claim failed:",`Could not allocate to ${f} in store "${n.config.name}".`,J?`
|
|
58
58
|
${f} was most recently disposed
|
|
59
59
|
${J.trace}`:`No previous disposal trace for ${f} was found.`),o}let v=n.moleculeGraph.getRelationEntries({downstreamMoleculeKey:m.stringKey}).filter(([,{source:J}])=>J!==p).map(([J])=>mi(J));if(c)x.moleculeGraph.delete(p);x.moleculeGraph.set({upstreamMoleculeKey:a.stringKey,downstreamMoleculeKey:m.stringKey},{source:a.stringKey});let $={type:"molecule_transfer",key:m.key,from:v,to:[a.key]};if(Gn(x)&&x.transactionMeta.phase==="building")x.transactionMeta.update.updates.push($);return o}function Ta(n,i,o){switch(i){case"newValue":{y$(n,o);break}case"oldValue":{Xc(o,n.token);break}}}function Fa(n,i,o){switch(i){case"newValue":{Xc(o,n.token);break}case"oldValue":{if(y$(n,o),n.subType==="atom")o.valueMap.set(n.token.key,n.value);break}}}function y$(n,i){let{family:o}=n.token;if(o){let c=i.families.get(o.key);if(c)r(i,c,mi(o.subKey))}}function k$(n,i,o){switch(i){case"newValue":Fc(o,n.provenance,n.key);break;case"oldValue":Rc(o,n.key);break}}function Z$(n,i,o){switch(i){case"newValue":Rc(o,n.key);break;case"oldValue":{let c=n.provenance.map(mi);Fc(o,c,n.key);for(let[p,x]of n.values){let m=o.families.get(p);if(m){r(o,m,n.key);let f=`${p}(${wn(n.key)})`;o.valueMap.set(f,x)}}}break}}function q$(n,i,o){switch(i){case"newValue":{let c=n.to.length===1?n.to[0]:n.to;ec(o,c,n.key,"exclusive")}break;case"oldValue":{let c=n.from.length===1?n.from[0]:n.from;ec(o,c,n.key,"exclusive")}break}}function wm(n,i,o){let c=n==="newValue"?i.updates:[...i.updates].reverse();for(let p of c)switch(p.type){case"atom_update":case"selector_update":$m(n,p,o);break;case"state_creation":Ta(p,n,o);break;case"state_disposal":Fa(p,n,o);break;case"molecule_creation":k$(p,n,o);break;case"molecule_disposal":Z$(p,n,o);break;case"molecule_transfer":q$(p,n,o);break;case"transaction_update":wm(n,p,o);break}}function P$(n,i,o){if(oi(n)&&i)n.transactionMeta.epoch.set(i,o)}function s$(n,i,o){if(!oi(n))return;let p=n.transactionMeta.actionContinuities.getRelatedKey(i);if(p!==void 0)n.transactionMeta.epoch.set(p,o)}var r$=(n,i)=>{let o=B(i),{parent:c}=o;if(c===null||!Gn(o)||o.transactionMeta?.phase!=="building"){i.logger.warn("\uD83D\uDC1E","transaction","???","applyTransaction called outside of a transaction. This is probably a bug in AtomIO.");return}o.transactionMeta.phase="applying",o.transactionMeta.update.output=n,c.child=null,c.on.transactionApplying.next(o.transactionMeta);let{updates:p}=o.transactionMeta.update;if(i.logger.info("\uD83D\uDEC4","transaction",o.transactionMeta.update.key,`Applying transaction with ${p.length} updates:`,p),wm("newValue",o.transactionMeta.update,c),oi(c))s$(c,o.transactionMeta.update.key,o.transactionMeta.update.epoch),Fn(i,{key:o.transactionMeta.update.key,type:"transaction"})?.subject.next(o.transactionMeta.update),i.logger.info("\uD83D\uDEEC","transaction",o.transactionMeta.update.key,"Finished applying transaction.");else if(Gn(c))c.transactionMeta.update.updates.push(o.transactionMeta.update);c.on.transactionApplying.next(null)};function t$(n,i,o){if(!oi(n))return;let{epoch:p,actionContinuities:x}=n.transactionMeta;if(x.set(i,o),!p.has(i))p.set(i,-1)}function g$(n){return{store:n}}function ln(n,...i){let o,c,p;if(i.length===1)o=i[0];else c=i[0],p=i[1],o=r(n,c,p);if("counterfeit"in o&&"family"in o){c=n.families.get(o.family.key);let x=o.family.subKey,m=n.disposalTraces.buffer.find((f)=>f?.key===x);switch(n.logger.error("\u274C",o.type,o.key,`could not be retrieved because it was not found in the store "${n.config.name}".`,m?`This state was previously disposed:
|
|
60
|
-
${m.trace}`:"No previous disposal trace was found."),c.type){case"atom_family":case"mutable_atom_family":return n.defaults.get(c.key);case"selector_family":case"readonly_selector_family":{if(n.defaults.has(c.key))return n.defaults.get(o.family.key);let f=Fn(n,c).default(x);return n.defaults.set(c.key,f),f}}}return yo(n,Fn(n,o))}class Zi extends Map{source;deleted=new Set;constructor(n){super();this.source=n}get(n){if(super.has(n))return super.get(n);if(!this.deleted.has(n)&&this.source.has(n))return this.source.get(n);return}set(n,i){return this.deleted.delete(n),super.set(n,i)}hasOwn(n){return super.has(n)}has(n){return!this.deleted.has(n)&&(super.has(n)||this.source.has(n))}delete(n){return this.deleted.add(n),super.delete(n)}}var d$=(n,i,o,c)=>{let p=B(n),x={parent:p,child:null,on:p.on,loggers:p.loggers,logger:p.logger,config:p.config,atoms:new Zi(p.atoms),atomsThatAreDefault:new Set(p.atomsThatAreDefault),families:new Zi(p.families),joins:new Zi(p.joins),operation:{open:!1},readonlySelectors:new Zi(p.readonlySelectors),timelines:new Zi(p.timelines),timelineTopics:new ii(p.timelineTopics.toJSON()),trackers:new Map,transactions:new Zi(p.transactions),selectorAtoms:new ii(p.selectorAtoms.toJSON()),selectorGraph:new ii(p.selectorGraph.toJSON(),{makeContentKey:(...v)=>v.sort().join(":")}),selectors:new Zi(p.selectors),valueMap:new Zi(p.valueMap),defaults:p.defaults,disposalTraces:n.disposalTraces.copy(),molecules:new Zi(p.molecules),moleculeGraph:new ii(p.moleculeGraph.toJSON(),{makeContentKey:p.moleculeGraph.makeContentKey}),moleculeData:new ii(p.moleculeData.toJSON(),{makeContentKey:p.moleculeData.makeContentKey}),moleculeJoins:new ii(p.moleculeJoins.toJSON(),{makeContentKey:p.moleculeJoins.makeContentKey}),miscResources:new Zi(p.miscResources)},m=e$(n,i),f={phase:"building",update:{type:"transaction_update",key:i,id:c,epoch:m===void 0?Number.NaN:m+1,updates:[],params:o,output:void 0},toolkit:{get:(...v)=>ln(a,...v),set:(...v)=>{On(a,...v)},run:(v,$=mm())=>gc(a,v,$),find:(v,$)=>r(a,v,$),json:(v)=>ni(a,v),dispose:(...v)=>{Xc(a,...v)},env:()=>g$(a)}},a=Object.assign(x,{transactionMeta:f});return p.child=a,n.logger.info("\uD83D\uDEEB","transaction",i,"Building transaction with params:",o),a};function Ra(n,i){let o={key:i.key,type:"transaction",run:(x,m)=>{let f=d$(n,i.key,x,m);try{let a=B(n),{toolkit:v}=f.transactionMeta,$=i.do(v,...x);return r$($,a),$}catch(a){throw Q$(c),n.logger.warn("\uD83D\uDCA5","transaction",i.key,"caught:",a),a}},install:(x)=>Ra(x,i),subject:new $n},c=B(n);c.transactions.set(o.key,o);let p=So(o);return n.on.transactionCreation.next(p),p}function e$(n,i){let o=oi(n),c=o?n.transactionMeta.actionContinuities.getRelatedKey(i):void 0;return o&&c!==void 0?n.transactionMeta.epoch.get(c):void 0}class n1{parent=null;child=null;valueMap=new Map;defaults=new Map;atoms=new Map;selectors=new Map;readonlySelectors=new Map;atomsThatAreDefault=new Set;selectorAtoms=new ii({between:["selectorKey","atomKey"],cardinality:"n:n"});selectorGraph=new ii({between:["upstreamSelectorKey","downstreamSelectorKey"],cardinality:"n:n"},{makeContentKey:(...n)=>n.sort().join(":")});trackers=new Map;families=new Map;joins=new Map;transactions=new Map;transactionMeta={epoch:new Map,actionContinuities:new ii({between:["continuity","action"],cardinality:"1:n"})};timelines=new Map;timelineTopics=new ii({between:["timelineKey","topicKey"],cardinality:"1:n"});disposalTraces=new fm(100);molecules=new Map;moleculeJoins=new ii({between:["moleculeKey","joinKey"],cardinality:"n:n"},{makeContentKey:(...n)=>n.sort().join(":")});moleculeGraph=new ii({between:["upstreamMoleculeKey","downstreamMoleculeKey"],cardinality:"n:n"},{makeContentKey:(...n)=>n.sort().join(":")});moleculeData=new ii({between:["moleculeKey","stateFamilyKey"],cardinality:"n:n"},{makeContentKey:(...n)=>n.sort().join(":")});miscResources=new Map;on={atomCreation:new $n,atomDisposal:new $n,selectorCreation:new $n,selectorDisposal:new $n,timelineCreation:new $n,transactionCreation:new $n,transactionApplying:new Ja(null),operationClose:new $n,moleculeCreation:new $n,moleculeDisposal:new $n};operation={open:!1};config={name:"IMPLICIT_STORE",lifespan:"ephemeral"};loggers=[new Wc("warn",(n,i,o)=>!o.includes("\uD83D\uDD0D"))];logger={error:(...n)=>{for(let i of this.loggers)i.error(...n)},info:(...n)=>{for(let i of this.loggers)i.info(...n)},warn:(...n)=>{for(let i of this.loggers)i.warn(...n)}};constructor(n,i=null){if(this.config={...i?.config,...n},i!==null){if(this.valueMap=new Map(i?.valueMap),this.operation={...i?.operation},oi(i))this.transactionMeta={epoch:new Map(i?.transactionMeta.epoch),actionContinuities:new ii(i?.transactionMeta.actionContinuities.toJSON())};for(let[,c]of i.families){if(c.internalRoles?.includes("mutable")||c.internalRoles?.includes("join"))continue;c.install(this)}let o=new Set;for(let[,c]of i.atoms){if(o.has(c.key))continue;if(c.install(this),c.type==="mutable_atom"){let p=ni(i,c),x=Uo(c);o.add(p.key),o.add(x.key)}}for(let[,c]of i.readonlySelectors)c.install(this);for(let[,c]of i.selectors){if(o.has(c.key))continue;c.install(this)}for(let[,c]of i.transactions)c.install(this);for(let[,c]of i.timelines)c.install(this)}}}var d={get STORE(){if(!globalThis.ATOM_IO_IMPLICIT_STORE)globalThis.ATOM_IO_IMPLICIT_STORE=new n1({name:"IMPLICIT_STORE",lifespan:"ephemeral"});return globalThis.ATOM_IO_IMPLICIT_STORE}};function Fn(n,i){let o,c=n;while(c!==null){switch(i.type){case"atom":case"mutable_atom":o=c.atoms.get(i.key);break;case"selector":o=c.selectors.get(i.key);break;case"readonly_selector":o=c.readonlySelectors.get(i.key);break;case"atom_family":case"mutable_atom_family":case"selector_family":case"readonly_selector_family":o=c.families.get(i.key);break;case"timeline":o=c.timelines.get(i.key);break;case"transaction":o=c.transactions.get(i.key);break}if(o)return o;c=c.child}throw new Tc(i,n)}function i1(n,i,o){let c=n.families.get(i.key);if(c===void 0)throw new Tc(i,n);let p=c(o),x=B(n);if(p.family){if(oi(x))switch(p.type){case"atom":case"mutable_atom":n.on.atomCreation.next(p);break;case"selector":case"readonly_selector":n.on.selectorCreation.next(p);break}else if(Gn(x)&&x.on.transactionApplying.state===null)x.transactionMeta.update.updates.push({type:"state_creation",token:p})}return p}function o1(n,i,o){let c=wn(o),p=`${i.key}(${c})`,x=B(n),m;switch(i.type){case"atom_family":case"mutable_atom_family":m=x.atoms.get(p);break;case"selector_family":m=x.selectors.get(p);break;case"readonly_selector_family":m=x.readonlySelectors.get(p);break}if(m)return So(m);return m}function r(n,i,o){let c=o1(n,i,o);if(c)return c;let p=wn(o),x=n.molecules.get(p);if(!x&&n.config.lifespan==="immortal"){let m=z$(i,o);return n.logger.error("\u274C",m.type,m.key,`was not found in store "${n.config.name}"; returned a counterfeit token.`),m}if(c=i1(n,i,o),x)B(n).moleculeData.set(p,i.key);return c}function Xc(n,...i){let o;if(i.length===1)o=i[0];else{let c=i[0],p=i[1];o=r(n,c,p)}try{Fn(n,o)}catch(c){n.logger.error("\u274C",o.type,o.key,`could not be disposed because it was not found in the store "${n.config.name}".`);return}switch(o.type){case"atom":case"mutable_atom":Xa(n,o);break;case"selector":case"readonly_selector":c1(n,o);break}}var Jm=(n,i)=>B(n).atoms.has(i),n7=(n,i)=>B(n).selectors.has(i),i7=(n,i)=>B(n).readonlySelectors.has(i),p1=(n,i)=>Jm(n,i)||n7(n,i)||i7(n,i);var Am=(n,i)=>{return B(i).selectorGraph.getRelationEntries({downstreamSelectorKey:n}).filter(([c,{source:p}])=>p!==n).map(([c,{source:p}])=>p).filter((c)=>p1(i,c))};var Wa=(n,i,o)=>{let c=[],p=Am(n,o);while(p.length>0){let x=p.shift();if(i.has(x))continue;if(i.add(x),!Jm(o,x))p.push(...Am(x,o));else if(!c.includes(x))c.push(x)}return c},x1=(n,i)=>{let o=n.key,c=Am(o,i),p=new Set;return c.flatMap((x)=>Jm(i,x)?x:Wa(x,p,i))};var m1=(n,i,o,c)=>{let p=B(c);if(i.type==="atom"||i.type==="mutable_atom")p.selectorAtoms.set({selectorKey:n,atomKey:i.key}),c.logger.info("\uD83D\uDD0D","selector",n,`discovers root atom "${i.key}"`);else{let x=Wa(i.key,o,c);c.logger.info("\uD83D\uDD0D","selector",n,`discovers root atoms: [ ${x.map((m)=>`"${m}"`).join(", ")} ]`);for(let m of x)p.selectorAtoms=p.selectorAtoms.set({selectorKey:n,atomKey:m})}o.add(i.key)};var Tm=(n,i,o)=>({get:(...c)=>{let p=B(o),x;if(c.length===2){let[a,v]=c;x=r(o,a,v)}else[x]=c;let m=Fn(o,x),f=yo(o,m);return o.logger.info("\uD83D\uDD0C","selector",n,`registers dependency ( "${x.key}" =`,f,")"),p.selectorGraph.set({upstreamSelectorKey:x.key,downstreamSelectorKey:n},{source:x.key}),m1(n,x,i,o),f},set:(...c)=>{let p,x;if(c.length===2)p=c[0],x=c[1];else{let a=c[0],v=c[1];x=c[2],p=r(o,a,v)}let m=B(o),f=Fn(m,p);vm(m,f,x)},find:(c,p)=>r(o,c,p),json:(c)=>ni(o,c)});var xx=(n,i,o)=>{let c=B(n),p=new $n,x=new Set,{get:m,find:f,json:a}=Tm(i.key,x,c),v=()=>{let X=i.get({get:m,find:f,json:a});return ki(B(n),i.key,X,p),x.clear(),X},$={...i,subject:p,install:(X)=>xx(X,i,o),get:v,type:"readonly_selector",...o&&{family:o}};c.readonlySelectors.set(i.key,$);let w=v();n.logger.info("\u2728",$.type,$.key,"=",w);let J={key:i.key,type:"readonly_selector"};if(o)J.family=o;return J};var ax=(n,i,o)=>{let c=B(n),p=new $n,x=new Set,m=Tm(i.key,x,c),{find:f,get:a,json:v}=m,$={find:f,get:a,json:v},w=(S=i.get,l=B(n))=>{let H=S($);return ki(l,i.key,H,p),x.clear(),H},X={...i,subject:p,install:(S)=>ax(S,i,o),get:w,set:(S)=>{let l=B(n),H=w(i.get,l),I=am(S)(H);if(n.logger.info("\uD83D\uDCDD","selector",i.key,"set (",H,"->",I,")"),ki(l,i.key,I,p),dc(l,i.key),oi(l))p.next({newValue:I,oldValue:H});i.set(m,I)},type:"selector",...o&&{family:o}};c.selectors.set(i.key,X);let W=w();n.logger.info("\u2728",X.type,X.key,"=",W);let R={key:i.key,type:"selector"};if(o)R.family=o;return R};function wa(n,i){if("set"in i){let p=ax(n,i,void 0);return n.on.selectorCreation.next(p),p}let c=xx(n,i,void 0);return n.on.selectorCreation.next(c),c}function c1(n,i){let o=B(n),{key:c}=i,p=Fn(o,i);if(!p.family)n.logger.error("\u274C","selector",c,"Standalone selectors cannot be disposed.");else{if(o.molecules.get(p.family.subKey))o.moleculeData.delete(p.family.subKey,p.family.key);let m;switch(i.type){case"selector":o.selectors.delete(c),m={key:p.family.key,type:"selector_family"},Fn(n,m).subject.next({type:"state_disposal",subType:"selector",token:i});break;case"readonly_selector":o.readonlySelectors.delete(c),m={key:p.family.key,type:"readonly_selector_family"},Fn(n,m).subject.next({type:"state_disposal",subType:"selector",token:i});break}if(o.valueMap.delete(c),o.selectorAtoms.delete(c),o.selectorGraph.delete(c),n.logger.info("\uD83D\uDD25",i.type,c,"deleted"),Gn(o)&&o.transactionMeta.phase==="building")o.transactionMeta.update.updates.push({type:"state_disposal",subType:"selector",token:i});else n.on.selectorDisposal.next(i)}}function mx(n,i,o){let c={key:i.key,type:"selector_family"},p=n.families.get(i.key);if(p)n.logger.error("\u2757","selector_family",i.key,`Overwriting an existing ${Ko(p)} "${p.key}" in store "${n.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let x=new $n,f=Object.assign((a)=>{let v=wn(a),$={key:i.key,subKey:v},w=`${i.key}(${v})`,J=B(n),X=ax(J,{key:w,get:i.get(a),set:i.set(a)},$);return x.next({type:"state_creation",token:X}),X},c,{internalRoles:o,subject:x,install:(a)=>mx(a,i),default:(a)=>{return i.get(a)({get:(...$)=>ln(n,...$),find:($,w)=>r(n,$,w),json:($)=>ni(n,$)})}});return n.families.set(i.key,f),c}function f1(n,i,o){return mx(n,{key:`${i.key}:JSON`,get:(p)=>({get:x})=>{let m=x(i,p);return o.toJson(m)},set:(p)=>({set:x},m)=>{x(i,p,o.fromJson(m))}},["mutable","json"])}var mi=(n)=>JSON.parse(n),wn=(n)=>JSON.stringify(n),_Q=[Array.prototype,Boolean.prototype,Number.prototype,Object.prototype,String.prototype];var a1=(n,i)=>{let o=B(n);if(o.operation.open)return o.operation.prev.get(i.key);return o.valueMap.get(i.key)};var Ga=(n,i)=>{let o=B(n);return x1(i,n).map((p)=>{let x=o.atoms.get(p);if(x===void 0)throw new Error(`Atom "${p}", a dependency of selector "${i.key}", not found in store "${n.config.name}".`);return x.subject.subscribe(`${i.type}:${i.key}`,(m)=>{n.logger.info("\uD83D\uDCE2",i.type,i.key,"root",p,"went",m.oldValue,"->",m.newValue);let f=a1(o,i),a=yo(o,i);n.logger.info("\u2728",i.type,i.key,"went",f,"->",a),i.subject.next({newValue:a,oldValue:f})})})};function Wi(n,i,o,c){function p(w){if(n.operation.open){let J=n.on.operationClose.subscribe(`state subscription ${o}`,()=>{J(),c(w)})}else c(w)}let x=Fn(n,i);n.logger.info("\uD83D\uDC40",x.type,x.key,`Adding subscription "${o}"`);let m=x.type==="selector"||x.type==="readonly_selector",f=null,a=p;if(m)f=Ga(n,x),a=(w)=>{if(f)f.length=0,f.push(...Ga(n,x));p(w)};let v=x.subject.subscribe(o,a);return()=>{if(n.logger.info("\uD83D\uDE48",x.type,x.key,`Removing subscription "${o}"`),v(),f)for(let w of f)w()}}var Ka=(n,i,o,c)=>{let p=Fn(n,i);n.logger.info("\uD83D\uDC40","timeline",i.key,`Adding subscription "${o}"`);let x=p.subject.subscribe(o,c);return()=>{n.logger.info("\uD83D\uDE48","timeline",i.key,`Removing subscription "${o}" from timeline`),x()}};var Sa=(n,i,o,c)=>{let p=Fn(n,i);n.logger.info("\uD83D\uDC40","transaction",i.key,`Adding subscription "${o}"`);let x=p.subject.subscribe(o,c);return()=>{n.logger.info("\uD83D\uDE48","transaction",i.key,`Removing subscription "${o}"`),x()}};class Kc{Update;initializeState(n,i){let o=`*${n.key}`;i.atoms.delete(o),i.valueMap.delete(o);let c=n.family?{key:`*${n.family.key}`,subKey:n.family.subKey}:void 0,p=Ac(i,{key:o,default:null},c);if(i.parent?.valueMap.has(o)){let x=i.parent.valueMap.get(o);i.valueMap.set(o,x)}return p}unsubscribeFromInnerValue;unsubscribeFromState;observeCore(n,i,o){let c=`tracker:${o.config.name}:${Gn(o)?o.transactionMeta.update.key:"main"}:${n.key}`,p=ln(o,n);this.unsubscribeFromInnerValue=p.subscribe(c,(x)=>{On(o,i,x)}),this.unsubscribeFromState=Wi(o,n,c,(x)=>{if(x.newValue!==x.oldValue)this.unsubscribeFromInnerValue(),this.unsubscribeFromInnerValue=x.newValue.subscribe(c,(m)=>{On(o,i,m)})})}updateCore(n,i,o){let c=`tracker:${o.config.name}:${Gn(o)?o.transactionMeta.update.key:"main"}:${n.key}`;Wi(o,i,c,({newValue:p,oldValue:x})=>{let m=o.timelineTopics.getRelatedKey(i.key);if(m){if(o.timelines.get(m)?.timeTraveling){let v=Ka(o,{key:m,type:"timeline"},c,($)=>{v(),On(o,n,(w)=>{if($==="redo"&&p)w.do(p);else if($==="undo"&&x)w.undo(x);return w})});return}}let f=o.on.operationClose.subscribe(c,()=>{f();let a=ln(o,n),v=p===null?-1:a.getUpdateNumber(p),$=v-a.cacheUpdateNumber;if(p&&$===1)On(o,n,(w)=>(w.do(p),w));else o.logger.info("\u274C","mutable_atom",n.key,`could not be updated. Expected update number ${a.cacheUpdateNumber+1}, but got ${v}`)})})}mutableState;latestUpdateState;[Symbol.dispose];constructor(n,i){this.mutableState=n;let o=B(i);this.latestUpdateState=this.initializeState(n,o),this.observeCore(n,this.latestUpdateState,o),this.updateCore(n,this.latestUpdateState,o),o.trackers.set(n.key,this),this[Symbol.dispose]=()=>{this.unsubscribeFromInnerValue(),this.unsubscribeFromState(),o.trackers.delete(n.key)}}}function vx(n,i,o){n.logger.info("\uD83D\uDD28","atom",i.key,`creating in store "${n.config.name}"`);let c=B(n),p=c.atoms.get(i.key);if(p&&p.type==="mutable_atom")return n.logger.error("\u274C","atom",i.key,"Tried to create atom, but it already exists in the store."),So(p);let x=new $n,m={...i,type:"mutable_atom",install:(v)=>{return v.logger.info("\uD83D\uDEE0\uFE0F","atom",i.key,`installing in store "${v.config.name}"`),vx(v,i,o)},subject:x};if(o)m.family=o;let f=i.default();c.atoms.set(m.key,m),Fm(n,i.key),ki(c,i.key,f,x);let a=So(m);if(i.effects){let v=0,$=[];for(let w of i.effects){let J=w({setSelf:(X)=>{On(n,a,X)},onSet:(X)=>Wi(n,a,`effect[${v}]`,X)});if(J)$.push(J);++v}m.cleanup=()=>{for(let w of $)w()}}if(new Kc(a,n),!o)l$(a,i,n);return a}class Ya{trackers=new Map;Update;latestUpdateAtoms;mutableAtoms;constructor(n,i){let o=Jc(i,{key:`*${n.key}`,default:null},["mutable","updates"]);this.latestUpdateAtoms=Fn(i,o),this.mutableAtoms=n,this.mutableAtoms.subject.subscribe(`store=${i.config.name}::tracker-atom-family`,(c)=>{let{type:p,token:x}=c;if(x.family){let m=mi(x.family.subKey);switch(p){case"state_creation":this.trackers.set(m,new Kc(x,i));break;case"state_disposal":{let f=this.trackers.get(m);if(f)f[Symbol.dispose](),this.trackers.delete(m)}break}}})}}function px(n,i,o){let c={key:i.key,type:"mutable_atom_family"},p=n.families.get(i.key);if(p)n.logger.error("\u2757","mutable_atom_family",i.key,`Overwriting an existing ${Ko(p)} "${p.key}" in store "${n.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let x=new $n,f=Object.assign((a)=>{let v=wn(a),$={key:i.key,subKey:v},w=`${i.key}(${v})`,J=B(n),X={key:w,default:()=>i.default(a),toJson:i.toJson,fromJson:i.fromJson,mutable:!0};if(i.effects)X.effects=i.effects(a);let W=vx(J,X,$);return x.next({type:"state_creation",token:W}),W},c,{subject:x,install:(a)=>px(a,i),toJson:i.toJson,fromJson:i.fromJson,internalRoles:o});return n.families.set(i.key,f),f1(n,f,i),new Ya(f,n),c}var la=(n,i)=>{let o=B(i),c=`${n.key}:JSON`;return o.families.get(c)};var ni=(n,i)=>{if(i.family){let c=B(n),x={key:`${i.family.key}:JSON`,type:"selector_family"},m=Fn(c,x),f=JSON.parse(i.family.subKey);return r(n,m,f)}return{type:"selector",key:`${i.key}:JSON`}};var Uo=(n)=>{let o={type:"atom",key:`*${n.key}`};if(n.family)o.family={key:`*${n.family.key}`,subKey:n.family.subKey};return o};function j$(n){return typeof n==="object"&&n!==null&&"do"in n&&"undo"in n&&"subscribe"in n}function fx(n,i,o){let c=o.valueMap.get(i.key),p=n.valueMap.get(i.key);if(c===p){if(c===void 0)return typeof i.default==="function"?i.default():i.default;o.logger.info("\uD83D\uDCC3","atom",i.key,"copying");let x=i.toJson(c),m=i.fromJson(x);return n.valueMap.set(i.key,m),new Kc(i,o),m}return p}function ki(n,i,o,c){let p=n.valueMap.get(i);if(p instanceof cx)p.use(o);if(o instanceof Promise){let x=new cx(o);return n.valueMap.set(i,x),x.then((m)=>{ki(n,i,m,c),c.next({newValue:m,oldValue:x})}).catch((m)=>{n.logger.error("\uD83D\uDCA5","state",i,"rejected:",m)}),x}return n.valueMap.set(i,o),o}var E$=(n,i)=>{let o=i.valueMap.get(n.key);if(n.type==="mutable_atom"&&Gn(i)){let{parent:c}=i;o=fx(i,n,c)}return o},B$=(n,i)=>{let o=i.valueMap.get(n);if(o instanceof cx){let c=o,p=i.selectors.get(n)??i.readonlySelectors.get(n);if(p)c.use(p.get());return}if(i.operation.open)i.operation.prev.set(n,o);i.valueMap.delete(n),i.logger.info("\uD83D\uDDD1","state",n,"evicted")};var D$=(n,i)=>{return B(n).atomsThatAreDefault.has(i)},Fm=(n,i)=>{let o=B(n);o.atomsThatAreDefault=new Set(o.atomsThatAreDefault).add(i)},N$=(n,i)=>{let o=B(n);o.atomsThatAreDefault=new Set(B(n).atomsThatAreDefault),o.atomsThatAreDefault.delete(i)};function Ac(n,i,o){n.logger.info("\uD83D\uDD28","atom",i.key,`creating in store "${n.config.name}"`);let c=B(n),p=c.atoms.get(i.key);if(p&&p.type==="atom")return n.logger.error("\u274C","atom",i.key,"Tried to create atom, but it already exists in the store."),So(p);let x=new $n,m={...i,type:"atom",install:(v)=>{return v.logger.info("\uD83D\uDEE0\uFE0F","atom",i.key,`installing in store "${v.config.name}"`),Ac(v,i,o)},subject:x};if(o)m.family=o;let f=i.default;if(i.default instanceof Function)f=i.default();c.atoms.set(m.key,m),Fm(n,i.key),ki(c,i.key,f,x);let a=So(m);if(i.effects){let v=0,$=[];for(let w of i.effects){let J=w({setSelf:(X)=>{On(n,a,X)},onSet:(X)=>Wi(n,a,`effect[${v}]`,X)});if(J)$.push(J);++v}m.cleanup=()=>{for(let w of $)w()}}return a}function v1(n,i){if("mutable"in i){let p=vx(n,i,void 0);return n.on.atomCreation.next(p),p}let c=Ac(n,i,void 0);return n.on.atomCreation.next(c),c}function Xa(n,i){let o=B(n),{key:c,family:p}=i,x=Fn(o,i);if(!p)n.logger.error("\u274C","atom",c,"Standalone atoms cannot be disposed.");else{x.cleanup?.();let m=n.valueMap.get(x.key),f=Fn(n,{key:p.key,type:"atom_family"}),a={type:"state_disposal",subType:"atom",token:i,value:m};f.subject.next(a);let v=Gn(o);if(o.atoms.delete(c),o.valueMap.delete(c),o.selectorAtoms.delete(c),o.atomsThatAreDefault.delete(c),n.timelineTopics.delete(c),i.type==="mutable_atom"){let $=Uo(i);Xa(n,$),n.trackers.delete(c)}if(n.logger.info("\uD83D\uDD25","atom",c,"deleted"),v&&o.transactionMeta.phase==="building"){let $=o.transactionMeta.update.updates.at(-1);if(!($?.type==="molecule_disposal"&&$.values.some(([X])=>X===x.family?.key)))o.transactionMeta.update.updates.push(a)}else n.on.atomDisposal.next(i)}}class ci extends Set{mode="record";subject=new $n;cacheLimit=0;cache=[];cacheIdx=-1;cacheUpdateNumber=-1;constructor(n,i=0){super(n);if(n instanceof ci)this.parent=n,this.cacheUpdateNumber=n.cacheUpdateNumber;if(i)this.cacheLimit=i,this.cache=new Array(i),this.subscribe("auto cache",(o)=>{this.cacheIdx++,this.cacheIdx%=this.cacheLimit,this.cache[this.cacheIdx]=o})}toJSON(){return{members:[...this],cache:this.cache,cacheLimit:this.cacheLimit,cacheIdx:this.cacheIdx,cacheUpdateNumber:this.cacheUpdateNumber}}static fromJSON(n){let i=new ci(n.members,n.cacheLimit);return i.cache=n.cache,i.cacheIdx=n.cacheIdx,i.cacheUpdateNumber=n.cacheUpdateNumber,i}add(n){let i=super.add(n);if(this.mode==="record")this.cacheUpdateNumber++,this.emit(`add:${wn(n)}`);return i}clear(){let n=this.mode==="record"?[...this]:null;if(super.clear(),n)this.cacheUpdateNumber++,this.emit(`clear:${JSON.stringify(n)}`)}delete(n){let i=super.delete(n);if(this.mode==="record")this.cacheUpdateNumber++,this.emit(`del:${wn(n)}`);return i}parent;child=null;transactionUpdates=null;transaction(n){this.mode="transaction",this.transactionUpdates=[],this.child=new ci(this);let i=this.child._subscribe("transaction",(o)=>{this.transactionUpdates?.push(o)});try{if(n(this.child)){for(let c of this.transactionUpdates)this.doStep(c);this.cacheUpdateNumber++,this.emit(`tx:${this.transactionUpdates.join(";")}`)}}catch(o){throw console.warn("Did not apply transaction to SetRTX; this error was thrown:",o),o}finally{i(),this.child=null,this.transactionUpdates=null,this.mode="record"}}_subscribe(n,i){return this.subject.subscribe(n,i)}subscribe(n,i){return this.subject.subscribe(n,(o)=>{i(`${this.cacheUpdateNumber}=${o}`)})}emit(n){this.subject.next(n)}doStep(n){let i=n.indexOf(":"),o=n.substring(0,i),c=n.substring(i+1);switch(o){case"add":this.add(JSON.parse(c));break;case"clear":this.clear();break;case"del":this.delete(JSON.parse(c));break;case"tx":for(let p of c.split(";"))this.doStep(p)}}getUpdateNumber(n){let i=n.indexOf("=");return Number(n.substring(0,i))}do(n){let i=n.indexOf("="),o=Number(n.substring(0,i)),c=o-this.cacheUpdateNumber;if(c>0){if(c===1){this.mode="playback";let x=n.substring(i+1);return this.doStep(x),this.mode="record",this.cacheUpdateNumber=o,null}return this.cacheUpdateNumber+1}if(Math.abs(c)<this.cacheLimit){let x=this.cacheIdx+c;if(this.cache[x]===n)return null;this.mode="playback";let f=!1;while(!f){this.cacheIdx%=this.cacheLimit;let v=this.cache[this.cacheIdx];if(this.cacheIdx--,!v)return"OUT_OF_RANGE";this.undo(v),f=this.cacheIdx===x-1}let a=n.substring(i+1);return this.doStep(a),this.mode="record",this.cacheUpdateNumber=o,null}return"OUT_OF_RANGE"}undoStep(n){let i=n.indexOf(":"),o=n.substring(0,i),c=n.substring(i+1);switch(o){case"add":this.delete(JSON.parse(c));break;case"del":this.add(JSON.parse(c));break;case"clear":{let p=JSON.parse(c);for(let x of p)this.add(x);break}case"tx":{let p=c.split(";");for(let x=p.length-1;x>=0;x--)this.undoStep(p[x])}}}undo(n){let i=n.indexOf("=");if(Number(n.substring(0,i))===this.cacheUpdateNumber){this.mode="playback";let c=n.substring(i+1);return this.undoStep(c),this.mode="record",this.cacheUpdateNumber--,null}return this.cacheUpdateNumber}}class $x{toolkit;options;defaultContent;molecules=new Map;relations;states;core;transact(n,i){let o=this.toolkit;this.toolkit=n,i(this),this.toolkit=o}store;realm;[Symbol.dispose](){}constructor(n,i,o=d.STORE){this.store=o,this.realm=new Ha(o),this.options=n,this.defaultContent=i,this.store.miscResources.set(`join:${n.key}`,this),this.realm.allocate("root",n.key),this.toolkit={get:(...Y)=>ln(o,...Y),set:(...Y)=>{On(o,...Y)},find:(...Y)=>r(o,...Y),json:(Y)=>ni(o,Y)};let c=n.between[0],p=n.between[1],x=px(o,{key:`${n.key}/relatedKeys`,default:()=>new ci,mutable:!0,fromJson:(Y)=>ci.fromJSON(Y),toJson:(Y)=>Y.toJSON()},["join","relations"]);this.core={relatedKeysAtoms:x};let m=({get:Y},z)=>Y(x,z),f=({set:Y},z,E)=>{if(!this.store.molecules.has(wn(z)))this.realm.allocate(n.key,z);Y(x,z,(Q)=>Q.add(E)),Y(x,E,(Q)=>Q.add(z))},a=({set:Y},z,E)=>{Y(x,z,(Q)=>{return Q.delete(E),Q}),Y(x,E,(Q)=>{return Q.delete(z),Q})},v=(Y,z,E)=>{let{find:Q,get:b,set:y}=Y,M=Q(x,z),fn=b(M);for(let Z of fn){if(E.includes(Z))continue;y(x,Z,(En)=>{return En.delete(z),En})}y(M,(Z)=>{return Z.transaction((an)=>{an.clear();for(let En of E){let gn=m(Y,En),_i=gn.has(z);if(this.relations.cardinality==="1:n"){let Oo=[];for(let O of gn){if(O===z)continue;let q=m(Y,O);if(q.delete(En),q.size===0)Oo.push(O)}if(!_i&&gn.size>0)gn.clear();for(let O of Oo){let q=[En,O].sort(),Rn=`"${q[0]}:${q[1]}"`;this.molecules.delete(Rn)}}if(!_i)gn.add(z);an.add(En)}return!0}),Z})},$=(Y,z,E)=>{let{set:Q}=Y;Q(x,z,(b)=>{return b.transaction((y)=>{for(let M of E)y.add(M);return!0}),b});for(let b of E)Q(x,b,(y)=>{return y.add(z),y});return!0},w=(Y,z,E)=>{let Q=m(Y,z);return E?Q.has(E):Q.size>0},J={getRelatedKeys:(Y)=>m(this.toolkit,Y),addRelation:(Y,z)=>{this.store.moleculeJoins.set(Y,n.key),this.store.moleculeJoins.set(z,n.key),f(this.toolkit,Y,z)},deleteRelation:(Y,z)=>{a(this.toolkit,Y,z)},replaceRelationsSafely:(Y,z)=>{v(this.toolkit,Y,z)},replaceRelationsUnsafely:(Y,z)=>{$(this.toolkit,Y,z)},has:(Y,z)=>w(this.toolkit,Y,z)},X,W;if(i){W=Jc(o,{key:`${n.key}/content`,default:i},["join","content"]);let Y=({get:Q},b)=>Q(W,b),z=({set:Q},b,y)=>{Q(W,b,y)};X=Object.assign(J,{getContent:(Q)=>{return Y(this.toolkit,Q)},setContent:(Q,b)=>{z(this.toolkit,Q,b)},deleteContent:(Q)=>{this.realm.deallocate(Q)}})}else X=J;let R=new ii(n,{externalStore:X,isAType:n.isAType,isBType:n.isBType,makeContentKey:(...Y)=>{let[z,E]=Y,Q=Y.sort(),b=`${Q[0]}:${Q[1]}`,y=o.molecules.get(wn(z)),M=o.molecules.get(wn(E));if(!y)this.realm.allocate(n.key,z);if(!M)this.realm.allocate(n.key,E);return this.realm.allocate(z,b,"all"),this.realm.claim(E,b),this.store.moleculeJoins.set(b,n.key),b}}),S=()=>Io(o,{key:`${n.key}/singleRelatedKey`,get:(Y)=>({get:z})=>{let E=z(x,Y);for(let Q of E)return Q;return null}},["join","keys"]),l=()=>{return Io(o,{key:`${n.key}/multipleRelatedKeys`,get:(Y)=>({get:z})=>{let E=la(x,o);return z(E,Y).members}},["join","keys"])},H=()=>Io(o,{key:`${n.key}/singleRelatedEntry`,get:(Y)=>({get:z})=>{let E=z(x,Y);for(let Q of E){let b=R.isAType?.(Y)?Y:void 0,y=b===void 0?Y:void 0;b??=Q,y??=Q;let M=R.makeContentKey(b,y),fn=z(W,M);return[Q,fn]}return null}},["join","entries"]),I=()=>Io(o,{key:`${n.key}/multipleRelatedEntries`,get:(Y)=>({get:z})=>{let E=la(x,o);return z(E,Y).members.map((b)=>{let y=R.isAType?.(Y)?Y:void 0,M=y===void 0?Y:void 0;y??=b,M??=b;let fn=R.makeContentKey(y,M),Z=z(W,fn);return[b,Z]})}},["join","entries"]);switch(n.cardinality){case"1:1":{let Y=S(),z=`${c}KeyOf${Hn(p)}`,E=`${p}KeyOf${Hn(c)}`,Q={[z]:Y,[E]:Y},b;if(i){let y=H(),M=`${c}EntryOf${Hn(p)}`,fn=`${p}EntryOf${Hn(c)}`,Z={[M]:y,[fn]:y};b=Object.assign(Q,Z)}else b=Q;this.relations=R,this.states=b;break}case"1:n":{let Y=S(),z=l(),E=`${c}KeyOf${Hn(p)}`,Q=`${p}KeysOf${Hn(c)}`,b={[E]:Y,[Q]:z},y;if(i){let M=H(),fn=I(),Z=`${c}EntryOf${Hn(p)}`,an=`${p}EntriesOf${Hn(c)}`,En={[Z]:M,[an]:fn};y=Object.assign(b,En)}else y=b;this.relations=R,this.states=y;break}case"n:n":{let Y=l(),z=`${c}KeysOf${Hn(p)}`,E=`${p}KeysOf${Hn(c)}`,Q={[z]:Y,[E]:Y},b;if(i){let y=I(),M=`${c}EntriesOf${Hn(p)}`,fn=`${p}EntriesOf${Hn(c)}`,Z={[M]:y,[fn]:y};b=Object.assign(Q,Z)}else b=Q;this.relations=R,this.states=b}}}}function np(n,i){let o=i.joins.get(n.key);if(o===void 0){let p=d.STORE.joins.get(n.key);if(p===void 0)throw new Error(`Join "${n.key}" not found in store "${i.config.name}"`);o=new $x(p.options,p.defaultContent,i),i.joins.set(n.key,o)}return o}function ko(n,i,o){let c=np(n,o),p=B(o);if(Gn(p)){let{toolkit:x}=p.transactionMeta;c.transact(x,({relations:m})=>{i(m)})}else i(c.relations)}function ip(n,i,o){let c=np(n,o),p;switch(n.cardinality){case"1:1":{let x=`${n.a}KeyOf${Hn(n.b)}`,m=`${n.b}KeyOf${Hn(n.a)}`;p={get[x](){let a=c.states[x];return r(o,a,i)},get[m](){let a=c.states[m];return r(o,a,i)}};let f=`${n.a}EntryOf${Hn(n.b)}`;if(f in c.states){let a=`${n.b}EntryOf${Hn(n.a)}`;Object.assign(p,{get[f](){let v=c.states[f];return r(o,v,i)},get[a](){let v=c.states[a];return r(o,v,i)}})}break}case"1:n":{let x=`${n.a}KeyOf${Hn(n.b)}`,m=`${n.b}KeysOf${Hn(n.a)}`;p={get[x](){let a=c.states[x];return r(o,a,i)},get[m](){let a=c.states[m];return r(o,a,i)}};let f=`${n.a}EntryOf${Hn(n.b)}`;if(f in c.states){let a=`${n.b}EntriesOf${Hn(n.a)}`;Object.assign(p,{get[f](){let v=c.states[f];return r(o,v,i)},get[a](){let v=c.states[a];return r(o,v,i)}})}break}case"n:n":{let x=`${n.a}KeysOf${Hn(n.b)}`,m=`${n.b}KeysOf${Hn(n.a)}`;p={get[x](){let a=c.states[x];return r(o,a,i)},get[m](){let a=c.states[m];return r(o,a,i)}};let f=`${n.a}EntriesOf${Hn(n.b)}`;if(f in c.states){let a=`${n.b}EntriesOf${Hn(n.a)}`;Object.assign(p,{get[f](){let v=c.states[f];return r(o,v,i)},get[a](){let v=c.states[a];return r(o,v,i)}})}}}return p}function $1(n,i){return np(n,i).core.relatedKeysAtoms}function Zo(n){return v1(d.STORE,n)}function Sc(n){return H$(d.STORE,n)}function Rm(n,i,o=d.STORE){return o.joins.set(n.key,new $x(n,i,o)),{key:n.key,type:"join",a:n.between[0],b:n.between[1],cardinality:n.cardinality}}function w1(n){return $1(n,d.STORE)}var Ma=(n)=>(i,o,c,p,...x)=>{console[n](`${i} ${o} "${c}" ${p}`,...x)},o7={error:Ma("error"),info:Ma("info"),warn:Ma("warn")};class Wc{logLevel;filter;logger;constructor(n,i,o=o7){this.logLevel=n;this.filter=i;this.logger=o}error=(...n)=>{if((this.filter?.(...n)??!0)&&this.logLevel!==null)this.logger.error(...n)};info=(...n)=>{if((this.filter?.(...n)??!0)&&this.logLevel==="info")this.logger.info(...n)};warn=(...n)=>{if((this.filter?.(...n)??!0)&&this.logLevel!=="error"&&this.logLevel!==null)this.logger.warn(...n)}}var dU=Symbol("claim");class J1{store;constructor(n=d.STORE){this.store=n,u$("root",n)}allocate(n,i,o){return Fc(this.store,n,i,o)}fuse(n,i,o){return I$(this.store,n,i,o)}deallocate(n){Rc(this.store,n)}claim(n,i,o){return ec(this.store,n,i,o)}}class Ha{store;realm;constructor(n=d.STORE){this.store=n,this.realm=new J1(n)}allocate(n,i,o){Fc(this.store,n,i,o)}deallocate(n){Rc(this.store,n)}claim(n,i,o){ec(this.store,n,i,o)}}function Xm(n){return M$(d.STORE,n)}function Gc(n){return Ra(d.STORE,n)}class A1 extends Map{set(n,i){if(this.has(n))return console.warn("Tried to set a key that already exists in an InvariantMap",{key:n,value:i}),this;return super.set(n,i)}clear(){throw new Error("Cannot clear an InvariantMap")}}class Wm{key;type="continuity";globals=[];actions=[];perspectives=[];constructor(n){this.key=n}static existing=new A1;static create(n,i){let o=new Wm(n),{type:c,globals:p,actions:x,perspectives:m}=i(o),f={type:c,key:n,globals:p,actions:x,perspectives:m};return Wm.existing.set(n,f),f}add(...n){switch(n[0].type){case"atom":case"mutable_atom":this.globals.push(...n);break;case"transaction":this.actions.push(...n);break;case"atom_family":case"mutable_atom_family":{let[o,c]=n;this.perspectives.push({type:"realtime_perspective",resourceAtoms:o,viewAtoms:c})}break}return this}}function T1(n){let{key:i,config:o}=n,c=Wm.create(i,o),{actions:p}=c;for(let x of p)t$(d.STORE,i,x.key);return P$(d.STORE,i,-1),c}var aV=Zo({key:"usersInRoomIndex",mutable:!0,default:()=>new ci,toJson:(n)=>n.toJSON(),fromJson:(n)=>ci.fromJSON(n)}),za=Zo({key:"roomIndex",default:()=>new ci,mutable:!0,toJson:(n)=>n.toJSON(),fromJson:(n)=>ci.fromJSON(n)}),c7={enteredAtEpoch:0},wx=Rm({key:"usersInRooms",between:["room","user"],cardinality:"1:n",isAType:(n)=>typeof n==="string",isBType:(n)=>typeof n==="string"},c7),vV=Xm({key:"usersInMyRoomView",get:(n)=>({find:i})=>{let o=w1(wx);return[i(o,n)]}});import{spawn as p7}from"child_process";class op{emit;listeners;globalListeners;handleEvent(n,...i){for(let c of this.globalListeners)c(n,...i);let o=this.listeners.get(n);if(o)for(let c of o)c(...i)}id="no_id_retrieved";constructor(n){this.emit=n;this.listeners=new Map,this.globalListeners=new Set}on(n,i){let o=this.listeners.get(n);if(o)o.add(i);else this.listeners.set(n,new Set([i]));return this}onAny(n){return this.globalListeners.add(n),this}off(n,i){let o=this.listeners.get(n);if(o)if(i)o.delete(i);else this.listeners.delete(n);return this}offAny(n){return this.globalListeners.delete(n),this}}class Jx extends op{incompleteData="";unprocessedEvents=[];incompleteLog="";unprocessedLogs=[];id="#####";process;key;logger;handleLog(n){if(Array.isArray(n)){let[i,...o]=n;switch(i){case"i":this.logger.info(...o);break;case"w":this.logger.warn(...o);break;case"e":this.logger.error(...o);break;default:return}}}constructor(n,i,o){super((c,...p)=>{let x=JSON.stringify([c,...p])+"\x03",m=(f)=>{if(f.code==="EPIPE")console.error("EPIPE error during write",this.process.stdin);this.process.stdin.removeListener("error",m)};return this.process.stdin.once("error",m),this.process.stdin.write(x),this});if(this.process=n,this.key=i,this.logger=o??{info:(...c)=>{console.info(this.id,this.key,...c)},warn:(...c)=>{console.warn(this.id,this.key,...c)},error:(...c)=>{console.error(this.id,this.key,...c)}},this.process.stdout.on("data",(c)=>{let p=c.toString();if(p==="ALIVE")return;this.unprocessedEvents.push(...p.split("\x03"));let x=this.unprocessedEvents.shift();this.incompleteData+=x??"";try{if(this.incompleteData.startsWith("error"))console.log("\u2757",this.incompleteData);let m=mi(this.incompleteData);this.handleEvent(...m);while(this.unprocessedEvents.length>0){let f=this.unprocessedEvents.shift();if(f){if(this.unprocessedEvents.length===0)this.incompleteData=f;m=mi(f),this.handleEvent(...m)}}this.incompleteData=""}catch(m){console.warn("\u26A0\uFE0F----------------\u26A0\uFE0F"),console.warn(this.incompleteData),console.warn("\u26A0\uFE0F----------------\u26A0\uFE0F"),console.error(m)}}),this.process.stderr.on("data",(c)=>{let p=c.toString();this.unprocessedLogs.push(...p.split("\x03"));let x=this.unprocessedLogs.shift();this.incompleteLog+=x??"";try{let m=mi(this.incompleteLog);this.handleLog(m);while(this.unprocessedLogs.length>0)if(this.incompleteLog=this.unprocessedLogs.shift()??"",this.incompleteLog)m=mi(this.incompleteLog),this.handleLog(m)}catch(m){console.error("\u274C\u274C\u274C"),console.error(this.incompleteLog),console.error(m),console.error("\u274C\u274C\u274C\uFE0F")}}),n.pid)this.id=n.pid.toString()}}class F1 extends op{in;out;id="no_id_retrieved";disposalFunctions=[];constructor(n){super((...i)=>{return this.out.next(i),this});this.id=n,this.in=new $n,this.out=new $n,this.in.subscribe("socket",(i)=>{this.handleEvent(...i)})}dispose(){for(let n of this.disposalFunctions)n()}}class Qa extends op{incompleteData="";unprocessedEvents=[];relays;relayServices;process;id="#####";log(...n){this.process.stderr.write(wn(n.map((i)=>i instanceof ci?`{ ${i.toJSON().members.join(" | ")} }`:i))+"\x03")}logger={info:(...n)=>{this.log("i",...n)},warn:(...n)=>{this.log("w",...n)},error:(...n)=>{this.log("e",...n)}};constructor(){super((n,...i)=>{let o=JSON.stringify([n,...i]);return this.process.stdout.write(o+"\x03"),this});if(this.process=process,this.process.stdin.resume(),this.relays=new Map,this.relayServices=[],this.process.stdin.on("data",(n)=>{let i=n.toString();this.unprocessedEvents.push(...i.split("\x03"));let o=this.unprocessedEvents.shift();this.incompleteData+=o??"";try{let c=mi(this.incompleteData);this.logger.info("\uD83C\uDFB0","received",c),this.handleEvent(...c);while(this.unprocessedEvents.length>0){let p=this.unprocessedEvents.shift();if(p){if(this.unprocessedEvents.length===0)this.incompleteData=p;let x=mi(p);this.handleEvent(...x)}}this.incompleteData=""}catch(c){if(c instanceof Error)this.logger.error("\u2757",c.message,c.cause,c.stack)}}),this.on("exit",()=>{this.logger.info("\uD83D\uDD25",this.id,'received "exit"'),process.exit(0)}),process.on("exit",(n)=>{this.logger.info("\uD83D\uDD25",this.id,`exited with code ${n}`)}),process.on("end",()=>{this.logger.info("\uD83D\uDD25",this.id,"ended"),process.exit(0)}),process.on("SIGTERM",()=>{this.logger.error("\uD83D\uDD25",this.id,"terminated"),process.exit(0)}),process.on("SIGINT",()=>{this.logger.error("\uD83D\uDD25",this.id,"interrupted"),process.exit(0)}),process.pid)this.id=process.pid?.toString();this.on("user-joins",(n)=>{this.logger.info("\uD83D\uDC64","user",n,"joined");let i=new F1(`user:${n}`);this.relays.set(n,i),this.logger.info("\uD83D\uDD17","attaching services:",`[${[...this.relayServices.keys()].join(", ")}]`);for(let o of this.relayServices){let c=o(i);if(c)i.disposalFunctions.push(c)}this.on(`user:${n}`,(...o)=>{i.in.next(o)}),i.out.subscribe("socket",(o)=>{this.emit(...o)})}),this.on("user-leaves",(n)=>{let i=this.relays.get(n);if(this.off(`relay:${n}`),i)i.dispose(),this.relays.delete(n)}),process.stdout.write("ALIVE")}relay(n){this.logger.info("\uD83D\uDD17","running relay method"),this.relayServices.push(n)}}var Ea=Sc({key:"roomArguments",default:["echo",["Hello World!"]]}),R1=Xm({key:"room",get:(n)=>async({get:i,find:o})=>{let c=o(Ea,n),p=i(c),[x,m]=p,f=await new Promise((a)=>{let v=p7(x,m,{env:process.env}),$=(w)=>{if(w.toString()==="ALIVE")v.stdout.off("data",$),a(v)};v.stdout.on("data",$)});return new Jx(f,n)}});var LV=Gc({key:"createRoom",do:({get:n,set:i,find:o},c,p,x)=>{let m=x?[p,x]:[p],f=o(Ea,c);i(f,m),i(za,($)=>$.add(c));let a=o(R1,c);return n(a)}}),DV=Gc({key:"joinRoom",do:(n,i,o,c)=>{let p={enteredAtEpoch:c};return ko(wx,(x)=>{x.set({room:i,user:o},p)},n.env().store),p}}),NV=Gc({key:"leaveRoom",do:(n,i,o)=>{ko(wx,(c)=>{c.delete({room:i,user:o})},n.env().store)}}),hV=Gc({key:"destroyRoom",do:(n,i)=>{ko(wx,(o)=>{o.delete({room:i})},n.env().store),n.set(za,(o)=>(o.delete(i),o))}});function Oa(n,i){return i.map((o)=>{switch(o.type){case"transaction_update":{let c=Oa(n,o.updates);return{...o,updates:c}}case"atom_update":case"selector_update":case"molecule_creation":case"molecule_disposal":case"molecule_transfer":case"state_creation":case"state_disposal":return o}}).filter((o)=>{switch(o.type){case"atom_update":case"selector_update":return n.includes(o.key);case"state_creation":case"state_disposal":return n.includes(o.token.key);case"molecule_creation":case"transaction_update":case"molecule_disposal":case"molecule_transfer":return!0}})}var IV=Sc({key:"redactor",default:{occlude:(n)=>n}}),cp=Sc({key:"unacknowledgedUpdates",default:()=>[]});var Km=Sc({key:"sockets",default:null}),Ua=Zo({key:"socketsIndex",mutable:!0,default:()=>new ci,toJson:(n)=>n.toJSON(),fromJson:(n)=>ci.fromJSON(n)}),Va=Zo({key:"usersIndex",mutable:!0,default:()=>new ci,toJson:(n)=>n.toJSON(),fromJson:(n)=>ci.fromJSON(n)}),Yc=Rm({key:"usersOfSockets",between:["user","socket"],cardinality:"1:1",isAType:(n)=>n.startsWith("user::"),isBType:(n)=>n.startsWith("socket::")});function X1(n,i,o,c){let p=i.key;return function x(){let m=[];for(let a of i.globals){let v=a.type==="mutable_atom"?ni(n,a):a,$=ln(n,v);m.push(v,$)}for(let a of i.perspectives){let{viewAtoms:v,resourceAtoms:$}=a,w=r(n,v,o),J=ln(n,w);n.logger.info("\uD83D\uDC41","atom",$.key,`${o} can see`,{viewAtoms:v,resourceAtoms:$,userView:J});for(let X of J){let W=X.type==="mutable_atom"?ni(n,X):X,R=ln(n,W);m.push(W,R)}}let f=oi(n)?n.transactionMeta.epoch.get(p)??null:null;c?.emit(`continuity-init:${p}`,f,m)}}function W1(n,i,o){let c=i.key;return function p(x){n.logger.info("\uD83D\uDECE\uFE0F","continuity",c,"received",x);let{key:m,id:f}=x,a=`tx-run:${m}:${f}`,v=`${a}:start`,$=`${a}:end`;performance.mark(v);try{gc(n,{type:"transaction",key:m},f)(...x.params)}catch(J){if(J instanceof Error)n.logger.error("\u274C","continuity",c,`failed to run transaction ${m} from ${o} with update ${f}`,J.message)}performance.mark($);let w=performance.measure(a,v,$);n?.logger.info("\uD83D\uDE80","transaction",m,f,o,w.duration)}}function K1(n,i,o,c){let p=i.key;return function x(m){if(n.logger.info("\uD83D\uDC4D","continuity",p,`${o} acknowledged epoch ${m}`),c[0]?.epoch===m)On(n,cp,o,(a)=>{return a.shift(),n.logger.info("\uD83D\uDC4D","continuity",p,`${o} unacknowledged update queue now has`,a.length,"items"),a})}}function S1(n,i,o,c){let p=i.key,x=[];for(let m of i.actions){let f=Sa(n,m,`sync-continuity:${p}:${o}`,(a)=>{try{let v=i.globals.map((J)=>{if(J.type==="atom")return J.key;return Uo(J).key}).concat(i.perspectives.flatMap((J)=>{let{viewAtoms:X}=J,W=r(n,X,o);return ln(n,W).map((S)=>{return S.type==="mutable_atom"?"*"+S.key:S.key})})),$=Oa(v,a.updates),w={...a,updates:$};On(n,cp,o,(J)=>{if(w)J.push(w),J.sort((X,W)=>X.epoch-W.epoch),n.logger.info("\uD83D\uDC4D","continuity",p,`${o} unacknowledged update queue now has`,J.length,"items");return J}),c?.emit(`tx-new:${p}`,w)}catch(v){if(v instanceof Error)n.logger.error("\u274C","continuity",p,`${o} failed to send update from transaction ${m.key} to ${o}`,v.message)}});x.push(f)}return x}function G1(n,i,o,c){let p=i.key,x=[];for(let m of i.perspectives){let{viewAtoms:f}=m,a=r(n,f,o),v=Wi(n,a,`sync-continuity:${p}:${o}:perspective:${m.resourceAtoms.key}`,({oldValue:$,newValue:w})=>{let J=$.map((S)=>S.key),X=w.map((S)=>S.key),W=$.filter((S)=>!X.includes(S.key)),R=w.filter((S)=>!J.includes(S.key)).flatMap((S)=>{let l=S.type==="mutable_atom"?ni(n,S):S,H=ln(n,l);return[l,H]});if(n.logger.info("\uD83D\uDC41","atom",m.resourceAtoms.key,`${o} has a new perspective`,{oldKeys:J,newKeys:X,revealed:R,concealed:W}),R.length>0)c?.emit(`reveal:${p}`,R);if(W.length>0)c?.emit(`conceal:${p}`,W)});x.push(v)}return x}function Y1({socket:n,store:i=d.STORE}){return function o(c){let p=n,x=c.key,m=ip(Yc,`socket::${p.id}`,i).userKeyOfSocket,f=ln(i,m);if(!f)return i.logger.error("\u274C","continuity",x,`Tried to create a synchronizer for a socket (${p.id}) that is not connected to a user.`),()=>{};let a=ip(Yc,f,i).socketKeyOfUser,v=Wi(i,a,`sync-continuity:${x}:${f}`,({newValue:l})=>{if(i.logger.info("\uD83D\uDC4B","continuity",x,`seeing ${f} on new socket ${l}`),l===null){i.logger.warn("\u274C","continuity",x,`User (${f}) is not connected to a socket, waiting for them to reappear.`);return}let H=r(i,Km,l);p=ln(i,H);for(let Y of $)p?.emit(`tx-new:${x}`,Y)}),$=ln(i,cp,f),w=[],J=G1(i,c,f,p),X=S1(i,c,f,p);w.push(...J,...X);let W=X1(i,c,f,n);p.off(`get:${x}`,W),p.on(`get:${x}`,W);let R=W1(i,c,f);p.off(`tx-run:${x}`,R),p.on(`tx-run:${x}`,R);let S=K1(i,c,f,$);return p?.on(`ack:${x}`,S),()=>{for(let l of w)l();p?.off(`ack:${x}`,S),p?.off(`get:${x}`,W),p?.off(`tx-run:${x}`,R)}}}var eR=$a(av(),1);var T=Symbol.for("drizzle:entityKind"),e_=Symbol.for("drizzle:hasOwnEntityKind");function G(n,i){if(!n||typeof n!=="object")return!1;if(n instanceof i)return!0;if(!Object.prototype.hasOwnProperty.call(i,T))throw new Error(`Class "${i.name??"<unknown>"}" doesn't look like a Drizzle entity. If this is incorrect and the class is provided by Drizzle, please report this as a bug.`);let o=Object.getPrototypeOf(n).constructor;if(o)while(o){if(T in o&&o[T]===i[T])return!0;o=Object.getPrototypeOf(o)}return!1}class Un{constructor(n,i){this.table=n,this.config=i,this.name=i.name,this.keyAsName=i.keyAsName,this.notNull=i.notNull,this.default=i.default,this.defaultFn=i.defaultFn,this.onUpdateFn=i.onUpdateFn,this.hasDefault=i.hasDefault,this.primary=i.primaryKey,this.isUnique=i.isUnique,this.uniqueName=i.uniqueName,this.uniqueType=i.uniqueType,this.dataType=i.dataType,this.columnType=i.columnType,this.generated=i.generated,this.generatedIdentity=i.generatedIdentity}static[T]="Column";name;keyAsName;primary;notNull;default;defaultFn;onUpdateFn;hasDefault;isUnique;uniqueName;uniqueType;dataType;columnType;enumValues=void 0;generated=void 0;generatedIdentity=void 0;config;mapFromDriverValue(n){return n}mapToDriverValue(n){return n}shouldDisableInsert(){return this.config.generated!==void 0&&this.config.generated.type!=="byDefault"}}class vv{static[T]="ColumnBuilder";config;constructor(n,i,o){this.config={name:n,keyAsName:n==="",notNull:!1,default:void 0,hasDefault:!1,primaryKey:!1,isUnique:!1,uniqueName:void 0,uniqueType:void 0,dataType:i,columnType:o,generated:void 0}}$type(){return this}notNull(){return this.config.notNull=!0,this}default(n){return this.config.default=n,this.config.hasDefault=!0,this}$defaultFn(n){return this.config.defaultFn=n,this.config.hasDefault=!0,this}$default=this.$defaultFn;$onUpdateFn(n){return this.config.onUpdateFn=n,this.config.hasDefault=!0,this}$onUpdate=this.$onUpdateFn;primaryKey(){return this.config.primaryKey=!0,this.config.notNull=!0,this}setName(n){if(this.config.name!=="")return;this.config.name=n}}var fo=Symbol.for("drizzle:Name");class $v{static[T]="PgForeignKeyBuilder";reference;_onUpdate="no action";_onDelete="no action";constructor(n,i){if(this.reference=()=>{let{name:o,columns:c,foreignColumns:p}=n();return{name:o,columns:c,foreignTable:p[0].table,foreignColumns:p}},i)this._onUpdate=i.onUpdate,this._onDelete=i.onDelete}onUpdate(n){return this._onUpdate=n===void 0?"no action":n,this}onDelete(n){return this._onDelete=n===void 0?"no action":n,this}build(n){return new WJ(n,this)}}class WJ{constructor(n,i){this.table=n,this.reference=i.reference,this.onUpdate=i._onUpdate,this.onDelete=i._onDelete}static[T]="PgForeignKey";reference;onUpdate;onDelete;getName(){let{name:n,columns:i,foreignColumns:o}=this.reference(),c=i.map((m)=>m.name),p=o.map((m)=>m.name),x=[this.table[fo],...c,o[0].table[fo],...p];return n??`${x.join("_")}_fk`}}function um(n,...i){return n(...i)}function KJ(n,i){return`${n[fo]}_${i.join("_")}_unique`}function SJ(n,i,o){for(let c=i;c<n.length;c++){let p=n[c];if(p==="\\"){c++;continue}if(p==='"')return[n.slice(i,c).replace(/\\/g,""),c+1];if(o)continue;if(p===","||p==="}")return[n.slice(i,c).replace(/\\/g,""),c]}return[n.slice(i).replace(/\\/g,""),n.length]}function GJ(n,i=0){let o=[],c=i,p=!1;while(c<n.length){let x=n[c];if(x===","){if(p||c===i)o.push("");p=!0,c++;continue}if(p=!1,x==="\\"){c+=2;continue}if(x==='"'){let[a,v]=SJ(n,c+1,!0);o.push(a),c=v;continue}if(x==="}")return[o,c+1];if(x==="{"){let[a,v]=GJ(n,c+1);o.push(a),c=v;continue}let[m,f]=SJ(n,c,!1);o.push(m),c=f}return[o,c]}function YJ(n){let[i]=GJ(n,1);return i}function wv(n){return`{${n.map((i)=>{if(Array.isArray(i))return wv(i);if(typeof i==="string")return`"${i.replace(/\\/g,"\\\\").replace(/"/g,"\\\"")}"`;return`${i}`}).join(",")}}`}class u extends vv{foreignKeyConfigs=[];static[T]="PgColumnBuilder";array(n){return new HJ(this.config.name,this,n)}references(n,i={}){return this.foreignKeyConfigs.push({ref:n,actions:i}),this}unique(n,i){return this.config.isUnique=!0,this.config.uniqueName=n,this.config.uniqueType=i?.nulls,this}generatedAlwaysAs(n){return this.config.generated={as:n,type:"always",mode:"stored"},this}buildForeignKeys(n,i){return this.foreignKeyConfigs.map(({ref:o,actions:c})=>{return um((p,x)=>{let m=new $v(()=>{let f=p();return{columns:[n],foreignColumns:[f]}});if(x.onUpdate)m.onUpdate(x.onUpdate);if(x.onDelete)m.onDelete(x.onDelete);return m.build(i)},o,c)})}buildExtraConfigColumn(n){return new lJ(n,this.config)}}class V extends Un{constructor(n,i){if(!i.uniqueName)i.uniqueName=KJ(n,[i.name]);super(n,i);this.table=n}static[T]="PgColumn"}class lJ extends V{static[T]="ExtraConfigColumn";getSQLType(){return this.getSQLType()}indexConfig={order:this.config.order??"asc",nulls:this.config.nulls??"last",opClass:this.config.opClass};defaultConfig={order:"asc",nulls:"last",opClass:void 0};asc(){return this.indexConfig.order="asc",this}desc(){return this.indexConfig.order="desc",this}nullsFirst(){return this.indexConfig.nulls="first",this}nullsLast(){return this.indexConfig.nulls="last",this}op(n){return this.indexConfig.opClass=n,this}}class lx{static[T]="IndexedColumn";constructor(n,i,o,c){this.name=n,this.keyAsName=i,this.type=o,this.indexConfig=c}name;keyAsName;type;indexConfig}class HJ extends u{static[T]="PgArrayBuilder";constructor(n,i,o){super(n,"array","PgArray");this.config.baseBuilder=i,this.config.size=o}build(n){let i=this.config.baseBuilder.build(n);return new Jv(n,this.config,i)}}class Jv extends V{constructor(n,i,o,c){super(n,i);this.baseColumn=o,this.range=c,this.size=i.size}size;static[T]="PgArray";getSQLType(){return`${this.baseColumn.getSQLType()}[${typeof this.size==="number"?this.size:""}]`}mapFromDriverValue(n){if(typeof n==="string")n=YJ(n);return n.map((i)=>this.baseColumn.mapFromDriverValue(i))}mapToDriverValue(n,i=!1){let o=n.map((c)=>c===null?null:G(this.baseColumn,Jv)?this.baseColumn.mapToDriverValue(c,!0):this.baseColumn.mapToDriverValue(c));if(i)return o;return wv(o)}}var Av=Symbol.for("drizzle:isPgEnum");function MJ(n){return!!n&&typeof n==="function"&&Av in n&&n[Av]===!0}class zJ extends u{static[T]="PgEnumColumnBuilder";constructor(n,i){super(n,"string","PgEnumColumn");this.config.enum=i}build(n){return new QJ(n,this.config)}}class QJ extends V{static[T]="PgEnumColumn";enum=this.config.enum;enumValues=this.config.enum.enumValues;constructor(n,i){super(n,i);this.enum=i.enum}getSQLType(){return this.enum.enumName}}function Im(n,i){return HW(n,i,void 0)}function HW(n,i,o){let c=Object.assign((p)=>new zJ(p??"",c),{enumName:n,enumValues:i,schema:o,[Av]:!0});return c}class pi{static[T]="Subquery";constructor(n,i,o,c=!1){this._={brand:"Subquery",sql:n,selectedFields:i,alias:o,isWith:c}}}class Hx extends pi{static[T]="WithSubquery"}var EJ="0.40.0";var Tv,Fv,Vn={startActiveSpan(n,i){if(!Tv)return i();if(!Fv)Fv=Tv.trace.getTracer("drizzle-orm",EJ);return um((o,c)=>c.startActiveSpan(n,(p)=>{try{return i(p)}catch(x){throw p.setStatus({code:o.SpanStatusCode.ERROR,message:x instanceof Error?x.message:"Unknown error"}),x}finally{p.end()}}),Tv,Fv)}};var bn=Symbol.for("drizzle:ViewBaseConfig");var ym=Symbol.for("drizzle:Schema"),km=Symbol.for("drizzle:Columns"),OJ=Symbol.for("drizzle:ExtraConfigColumns"),Rv=Symbol.for("drizzle:OriginalName"),Xv=Symbol.for("drizzle:BaseName"),Mx=Symbol.for("drizzle:IsAlias"),UJ=Symbol.for("drizzle:ExtraConfigBuilder"),MW=Symbol.for("drizzle:IsDrizzleTable");class D{static[T]="Table";static Symbol={Name:fo,Schema:ym,OriginalName:Rv,Columns:km,ExtraConfigColumns:OJ,BaseName:Xv,IsAlias:Mx,ExtraConfigBuilder:UJ};[fo];[Rv];[ym];[km];[OJ];[Xv];[Mx]=!1;[MW]=!0;[UJ]=void 0;constructor(n,i,o){this[fo]=this[Rv]=n,this[ym]=i,this[Xv]=o}}function fi(n){return n[fo]}function Ec(n){return`${n[ym]??"public"}.${n[fo]}`}function Wv(n){return n!==null&&n!==void 0&&typeof n.getSQL==="function"}function zW(n){let i={sql:"",params:[]};for(let o of n)if(i.sql+=o.sql,i.params.push(...o.params),o.typings?.length){if(!i.typings)i.typings=[];i.typings.push(...o.typings)}return i}class xi{static[T]="StringChunk";value;constructor(n){this.value=Array.isArray(n)?n:[n]}getSQL(){return new N([this])}}class N{constructor(n){this.queryChunks=n}static[T]="SQL";decoder=_J;shouldInlineParams=!1;append(n){return this.queryChunks.push(...n.queryChunks),this}toQuery(n){return Vn.startActiveSpan("drizzle.buildSQL",(i)=>{let o=this.buildQueryFromSourceParams(this.queryChunks,n);return i?.setAttributes({"drizzle.query.text":o.sql,"drizzle.query.params":JSON.stringify(o.params)}),o})}buildQueryFromSourceParams(n,i){let o=Object.assign({},i,{inlineParams:i.inlineParams||this.shouldInlineParams,paramStartIndex:i.paramStartIndex||{value:0}}),{casing:c,escapeName:p,escapeParam:x,prepareTyping:m,inlineParams:f,paramStartIndex:a}=o;return zW(n.map((v)=>{if(G(v,xi))return{sql:v.value.join(""),params:[]};if(G(v,Zm))return{sql:p(v.value),params:[]};if(v===void 0)return{sql:"",params:[]};if(Array.isArray(v)){let $=[new xi("(")];for(let[w,J]of v.entries())if($.push(J),w<v.length-1)$.push(new xi(", "));return $.push(new xi(")")),this.buildQueryFromSourceParams($,o)}if(G(v,N))return this.buildQueryFromSourceParams(v.queryChunks,{...o,inlineParams:f||v.shouldInlineParams});if(G(v,D)){let $=v[D.Symbol.Schema],w=v[D.Symbol.Name];return{sql:$===void 0||v[Mx]?p(w):p($)+"."+p(w),params:[]}}if(G(v,Un)){let $=c.getColumnCasing(v);if(i.invokeSource==="indexes")return{sql:p($),params:[]};let w=v.table[D.Symbol.Schema];return{sql:v.table[Mx]||w===void 0?p(v.table[D.Symbol.Name])+"."+p($):p(w)+"."+p(v.table[D.Symbol.Name])+"."+p($),params:[]}}if(G(v,Bi)){let $=v[bn].schema,w=v[bn].name;return{sql:$===void 0||v[bn].isAlias?p(w):p($)+"."+p(w),params:[]}}if(G(v,Di)){if(G(v.value,go))return{sql:x(a.value++,v),params:[v],typings:["none"]};let $=v.value===null?null:v.encoder.mapToDriverValue(v.value);if(G($,N))return this.buildQueryFromSourceParams([$],o);if(f)return{sql:this.mapInlineParam($,o),params:[]};let w=["none"];if(m)w=[m(v.encoder)];return{sql:x(a.value++,$),params:[$],typings:w}}if(G(v,go))return{sql:x(a.value++,v),params:[v],typings:["none"]};if(G(v,N.Aliased)&&v.fieldAlias!==void 0)return{sql:p(v.fieldAlias),params:[]};if(G(v,pi)){if(v._.isWith)return{sql:p(v._.alias),params:[]};return this.buildQueryFromSourceParams([new xi("("),v._.sql,new xi(") "),new Zm(v._.alias)],o)}if(MJ(v)){if(v.schema)return{sql:p(v.schema)+"."+p(v.enumName),params:[]};return{sql:p(v.enumName),params:[]}}if(Wv(v)){if(v.shouldOmitSQLParens?.())return this.buildQueryFromSourceParams([v.getSQL()],o);return this.buildQueryFromSourceParams([new xi("("),v.getSQL(),new xi(")")],o)}if(f)return{sql:this.mapInlineParam(v,o),params:[]};return{sql:x(a.value++,v),params:[v],typings:["none"]}}))}mapInlineParam(n,{escapeString:i}){if(n===null)return"null";if(typeof n==="number"||typeof n==="boolean")return n.toString();if(typeof n==="string")return i(n);if(typeof n==="object"){let o=n.toString();if(o==="[object Object]")return i(JSON.stringify(n));return i(o)}throw new Error("Unexpected param value: "+n)}getSQL(){return this}as(n){if(n===void 0)return this;return new N.Aliased(this,n)}mapWith(n){return this.decoder=typeof n==="function"?{mapFromDriverValue:n}:n,this}inlineParams(){return this.shouldInlineParams=!0,this}if(n){return n?this:void 0}}class Zm{constructor(n){this.value=n}static[T]="Name";brand;getSQL(){return new N([this])}}function VJ(n){return typeof n==="object"&&n!==null&&"mapToDriverValue"in n&&typeof n.mapToDriverValue==="function"}var _J={mapFromDriverValue:(n)=>n},BJ={mapToDriverValue:(n)=>n},uB={..._J,...BJ};class Di{constructor(n,i=BJ){this.value=n,this.encoder=i}static[T]="Param";brand;getSQL(){return new N([this])}}function F(n,...i){let o=[];if(i.length>0||n.length>0&&n[0]!=="")o.push(new xi(n[0]));for(let[c,p]of i.entries())o.push(p,new xi(n[c+1]));return new N(o)}((n)=>{function i(){return new N([])}n.empty=i;function o(a){return new N(a)}n.fromList=o;function c(a){return new N([new xi(a)])}n.raw=c;function p(a,v){let $=[];for(let[w,J]of a.entries()){if(w>0&&v!==void 0)$.push(v);$.push(J)}return new N($)}n.join=p;function x(a){return new Zm(a)}n.identifier=x;function m(a){return new go(a)}n.placeholder=m;function f(a,v){return new Di(a,v)}n.param=f})(F||(F={}));((n)=>{class i{constructor(o,c){this.sql=o,this.fieldAlias=c}static[T]="SQL.Aliased";isSelectionField=!1;getSQL(){return this.sql}clone(){return new i(this.sql,this.fieldAlias)}}n.Aliased=i})(N||(N={}));class go{constructor(n){this.name=n}static[T]="Placeholder";getSQL(){return new N([this])}}function Kv(n,i){return n.map((o)=>{if(G(o,go)){if(!(o.name in i))throw new Error(`No value for placeholder "${o.name}" was provided`);return i[o.name]}if(G(o,Di)&&G(o.value,go)){if(!(o.value.name in i))throw new Error(`No value for placeholder "${o.value.name}" was provided`);return o.encoder.mapToDriverValue(i[o.value.name])}return o})}var QW=Symbol.for("drizzle:IsDrizzleView");class Bi{static[T]="View";[bn];[QW]=!0;constructor({name:n,schema:i,selectedFields:o,query:c}){this[bn]={name:n,originalName:n,schema:i,selectedFields:o,query:c,isExisting:!c,isAlias:!1}}getSQL(){return new N([this])}}Un.prototype.getSQL=function(){return new N([this])};D.prototype.getSQL=function(){return new N([this])};pi.prototype.getSQL=function(){return new N([this])};class Xp{constructor(n){this.table=n}static[T]="ColumnAliasProxyHandler";get(n,i){if(i==="table")return this.table;return n[i]}}class zx{constructor(n,i){this.alias=n,this.replaceOriginalName=i}static[T]="TableAliasProxyHandler";get(n,i){if(i===D.Symbol.IsAlias)return!0;if(i===D.Symbol.Name)return this.alias;if(this.replaceOriginalName&&i===D.Symbol.OriginalName)return this.alias;if(i===bn)return{...n[bn],name:this.alias,isAlias:!0};if(i===D.Symbol.Columns){let c=n[D.Symbol.Columns];if(!c)return c;let p={};return Object.keys(c).map((x)=>{p[x]=new Proxy(c[x],new Xp(new Proxy(n,this)))}),p}let o=n[i];if(G(o,Un))return new Proxy(o,new Xp(new Proxy(n,this)));return o}}function qm(n,i){return new Proxy(n,new zx(i,!1))}function lo(n,i){return new Proxy(n,new Xp(new Proxy(n.table,new zx(i,!1))))}function Sv(n,i){return new N.Aliased(Qx(n.sql,i),n.fieldAlias)}function Qx(n,i){return F.join(n.queryChunks.map((o)=>{if(G(o,Un))return lo(o,i);if(G(o,N))return Qx(o,i);if(G(o,N.Aliased))return Sv(o,i);return o}))}class Pm extends Error{static[T]="DrizzleError";constructor({message:n,cause:i}){super(n);this.name="DrizzleError",this.cause=i}}class Gv extends Pm{static[T]="TransactionRollbackError";constructor(){super({message:"Rollback"})}}function bi(n,i){if(VJ(i)&&!Wv(n)&&!G(n,Di)&&!G(n,go)&&!G(n,Un)&&!G(n,D)&&!G(n,Bi))return new Di(n,i);return n}var Ho=(n,i)=>{return F`${n} = ${bi(i,n)}`},bJ=(n,i)=>{return F`${n} <> ${bi(i,n)}`};function Oc(...n){let i=n.filter((o)=>o!==void 0);if(i.length===0)return;if(i.length===1)return new N(i);return new N([new xi("("),F.join(i,new xi(" and ")),new xi(")")])}function jJ(...n){let i=n.filter((o)=>o!==void 0);if(i.length===0)return;if(i.length===1)return new N(i);return new N([new xi("("),F.join(i,new xi(" or ")),new xi(")")])}function LJ(n){return F`not ${n}`}var sm=(n,i)=>{return F`${n} > ${bi(i,n)}`},DJ=(n,i)=>{return F`${n} >= ${bi(i,n)}`},NJ=(n,i)=>{return F`${n} < ${bi(i,n)}`},hJ=(n,i)=>{return F`${n} <= ${bi(i,n)}`};function CJ(n,i){if(Array.isArray(i)){if(i.length===0)return F`false`;return F`${n} in ${i.map((o)=>bi(o,n))}`}return F`${n} in ${bi(i,n)}`}function uJ(n,i){if(Array.isArray(i)){if(i.length===0)return F`true`;return F`${n} not in ${i.map((o)=>bi(o,n))}`}return F`${n} not in ${bi(i,n)}`}function IJ(n){return F`${n} is null`}function yJ(n){return F`${n} is not null`}function kJ(n){return F`exists ${n}`}function ZJ(n){return F`not exists ${n}`}function qJ(n,i,o){return F`${n} between ${bi(i,n)} and ${bi(o,n)}`}function PJ(n,i,o){return F`${n} not between ${bi(i,n)} and ${bi(o,n)}`}function sJ(n,i){return F`${n} like ${i}`}function rJ(n,i){return F`${n} not like ${i}`}function tJ(n,i){return F`${n} ilike ${i}`}function gJ(n,i){return F`${n} not ilike ${i}`}function dJ(n){return F`${n} asc`}function eJ(n){return F`${n} desc`}class nA{static[T]="ConsoleLogWriter";write(n){console.log(n)}}class Yv{static[T]="DefaultLogger";writer;constructor(n){this.writer=n?.writer??new nA}logQuery(n,i){let o=i.map((p)=>{try{return JSON.stringify(p)}catch{return String(p)}}),c=o.length?` -- params: [${o.join(", ")}]`:"";this.writer.write(`Query: ${n}${c}`)}}class lv{static[T]="NoopLogger";logQuery(){}}class Ei{static[T]="QueryPromise";[Symbol.toStringTag]="QueryPromise";catch(n){return this.then(void 0,n)}finally(n){return this.then((i)=>{return n?.(),i},(i)=>{throw n?.(),i})}then(n,i){return this.execute().then(n,i)}}function iA(n,i,o){let c={},p=n.reduce((x,{path:m,field:f},a)=>{let v;if(G(f,Un))v=f;else if(G(f,N))v=f.decoder;else v=f.sql.decoder;let $=x;for(let[w,J]of m.entries())if(w<m.length-1){if(!(J in $))$[J]={};$=$[J]}else{let X=i[a],W=$[J]=X===null?null:v.mapFromDriverValue(X);if(o&&G(f,Un)&&m.length===2){let R=m[0];if(!(R in c))c[R]=W===null?fi(f.table):!1;else if(typeof c[R]==="string"&&c[R]!==fi(f.table))c[R]=!1}}return x},{});if(o&&Object.keys(c).length>0){for(let[x,m]of Object.entries(c))if(typeof m==="string"&&!o[m])p[x]=null}return p}function ti(n,i){return Object.entries(n).reduce((o,[c,p])=>{if(typeof c!=="string")return o;let x=i?[...i,c]:[c];if(G(p,Un)||G(p,N)||G(p,N.Aliased))o.push({path:x,field:p});else if(G(p,D))o.push(...ti(p[D.Symbol.Columns],x));else o.push(...ti(p,x));return o},[])}function Ex(n,i){let o=Object.keys(n),c=Object.keys(i);if(o.length!==c.length)return!1;for(let[p,x]of o.entries())if(x!==c[p])return!1;return!0}function rm(n,i){let o=Object.entries(i).filter(([,c])=>c!==void 0).map(([c,p])=>{if(G(p,N)||G(p,Un))return[c,p];else return[c,new Di(p,n[D.Symbol.Columns][c])]});if(o.length===0)throw new Error("No values to set");return Object.fromEntries(o)}function oA(n,i){for(let o of i)for(let c of Object.getOwnPropertyNames(o.prototype)){if(c==="constructor")continue;Object.defineProperty(n.prototype,c,Object.getOwnPropertyDescriptor(o.prototype,c)||Object.create(null))}}function cA(n){return n[D.Symbol.Columns]}function _o(n){return G(n,pi)?n._.alias:G(n,Bi)?n[bn].name:G(n,N)?void 0:n[D.Symbol.IsAlias]?n[D.Symbol.Name]:n[D.Symbol.BaseName]}function Jn(n,i){return{name:typeof n==="string"&&n.length>0?n:"",config:typeof n==="object"?n:i}}function pA(n){if(typeof n!=="object"||n===null)return!1;if(n.constructor.name!=="Object")return!1;if("logger"in n){let i=typeof n.logger;if(i!=="boolean"&&(i!=="object"||typeof n.logger.logQuery!=="function")&&i!=="undefined")return!1;return!0}if("schema"in n){let i=typeof n.logger;if(i!=="object"&&i!=="undefined")return!1;return!0}if("casing"in n){let i=typeof n.logger;if(i!=="string"&&i!=="undefined")return!1;return!0}if("mode"in n){if(n.mode!=="default"||n.mode!=="planetscale"||n.mode!==void 0)return!1;return!0}if("connection"in n){let i=typeof n.connection;if(i!=="string"&&i!=="object"&&i!=="undefined")return!1;return!0}if("client"in n){let i=typeof n.client;if(i!=="object"&&i!=="function"&&i!=="undefined")return!1;return!0}if(Object.keys(n).length===0)return!0;return!1}class eo extends u{static[T]="PgIntColumnBaseBuilder";generatedAlwaysAsIdentity(n){if(n){let{name:i,...o}=n;this.config.generatedIdentity={type:"always",sequenceName:i,sequenceOptions:o}}else this.config.generatedIdentity={type:"always"};return this.config.hasDefault=!0,this.config.notNull=!0,this}generatedByDefaultAsIdentity(n){if(n){let{name:i,...o}=n;this.config.generatedIdentity={type:"byDefault",sequenceName:i,sequenceOptions:o}}else this.config.generatedIdentity={type:"byDefault"};return this.config.hasDefault=!0,this.config.notNull=!0,this}}class xA extends eo{static[T]="PgBigInt53Builder";constructor(n){super(n,"number","PgBigInt53")}build(n){return new mA(n,this.config)}}class mA extends V{static[T]="PgBigInt53";getSQLType(){return"bigint"}mapFromDriverValue(n){if(typeof n==="number")return n;return Number(n)}}class fA extends eo{static[T]="PgBigInt64Builder";constructor(n){super(n,"bigint","PgBigInt64")}build(n){return new aA(n,this.config)}}class aA extends V{static[T]="PgBigInt64";getSQLType(){return"bigint"}mapFromDriverValue(n){return BigInt(n)}}function vA(n,i){let{name:o,config:c}=Jn(n,i);if(c.mode==="number")return new xA(o);return new fA(o)}class $A extends u{static[T]="PgBigSerial53Builder";constructor(n){super(n,"number","PgBigSerial53");this.config.hasDefault=!0,this.config.notNull=!0}build(n){return new wA(n,this.config)}}class wA extends V{static[T]="PgBigSerial53";getSQLType(){return"bigserial"}mapFromDriverValue(n){if(typeof n==="number")return n;return Number(n)}}class JA extends u{static[T]="PgBigSerial64Builder";constructor(n){super(n,"bigint","PgBigSerial64");this.config.hasDefault=!0}build(n){return new AA(n,this.config)}}class AA extends V{static[T]="PgBigSerial64";getSQLType(){return"bigserial"}mapFromDriverValue(n){return BigInt(n)}}function TA(n,i){let{name:o,config:c}=Jn(n,i);if(c.mode==="number")return new $A(o);return new JA(o)}class FA extends u{static[T]="PgBooleanBuilder";constructor(n){super(n,"boolean","PgBoolean")}build(n){return new RA(n,this.config)}}class RA extends V{static[T]="PgBoolean";getSQLType(){return"boolean"}}function Ox(n){return new FA(n??"")}class XA extends u{static[T]="PgCharBuilder";constructor(n,i){super(n,"string","PgChar");this.config.length=i.length,this.config.enumValues=i.enum}build(n){return new WA(n,this.config)}}class WA extends V{static[T]="PgChar";length=this.config.length;enumValues=this.config.enumValues;getSQLType(){return this.length===void 0?"char":`char(${this.length})`}}function KA(n,i={}){let{name:o,config:c}=Jn(n,i);return new XA(o,c)}class SA extends u{static[T]="PgCidrBuilder";constructor(n){super(n,"string","PgCidr")}build(n){return new GA(n,this.config)}}class GA extends V{static[T]="PgCidr";getSQLType(){return"cidr"}}function YA(n){return new SA(n??"")}class lA extends u{static[T]="PgCustomColumnBuilder";constructor(n,i,o){super(n,"custom","PgCustomColumn");this.config.fieldConfig=i,this.config.customTypeParams=o}build(n){return new HA(n,this.config)}}class HA extends V{static[T]="PgCustomColumn";sqlName;mapTo;mapFrom;constructor(n,i){super(n,i);this.sqlName=i.customTypeParams.dataType(i.fieldConfig),this.mapTo=i.customTypeParams.toDriver,this.mapFrom=i.customTypeParams.fromDriver}getSQLType(){return this.sqlName}mapFromDriverValue(n){return typeof this.mapFrom==="function"?this.mapFrom(n):n}mapToDriverValue(n){return typeof this.mapTo==="function"?this.mapTo(n):n}}function MA(n){return(i,o)=>{let{name:c,config:p}=Jn(i,o);return new lA(c,p,n)}}class Bo extends u{static[T]="PgDateColumnBaseBuilder";defaultNow(){return this.default(F`now()`)}}class zA extends Bo{static[T]="PgDateBuilder";constructor(n){super(n,"date","PgDate")}build(n){return new tm(n,this.config)}}class tm extends V{static[T]="PgDate";getSQLType(){return"date"}mapFromDriverValue(n){return new Date(n)}mapToDriverValue(n){return n.toISOString()}}class QA extends Bo{static[T]="PgDateStringBuilder";constructor(n){super(n,"string","PgDateString")}build(n){return new gm(n,this.config)}}class gm extends V{static[T]="PgDateString";getSQLType(){return"date"}}function EA(n,i){let{name:o,config:c}=Jn(n,i);if(c?.mode==="date")return new zA(o);return new QA(o)}class OA extends u{static[T]="PgDoublePrecisionBuilder";constructor(n){super(n,"number","PgDoublePrecision")}build(n){return new UA(n,this.config)}}class UA extends V{static[T]="PgDoublePrecision";getSQLType(){return"double precision"}mapFromDriverValue(n){if(typeof n==="string")return Number.parseFloat(n);return n}}function VA(n){return new OA(n??"")}class _A extends u{static[T]="PgInetBuilder";constructor(n){super(n,"string","PgInet")}build(n){return new BA(n,this.config)}}class BA extends V{static[T]="PgInet";getSQLType(){return"inet"}}function bA(n){return new _A(n??"")}class jA extends eo{static[T]="PgIntegerBuilder";constructor(n){super(n,"number","PgInteger")}build(n){return new LA(n,this.config)}}class LA extends V{static[T]="PgInteger";getSQLType(){return"integer"}mapFromDriverValue(n){if(typeof n==="string")return Number.parseInt(n);return n}}function dm(n){return new jA(n??"")}class DA extends u{static[T]="PgIntervalBuilder";constructor(n,i){super(n,"string","PgInterval");this.config.intervalConfig=i}build(n){return new NA(n,this.config)}}class NA extends V{static[T]="PgInterval";fields=this.config.intervalConfig.fields;precision=this.config.intervalConfig.precision;getSQLType(){let n=this.fields?` ${this.fields}`:"",i=this.precision?`(${this.precision})`:"";return`interval${n}${i}`}}function hA(n,i={}){let{name:o,config:c}=Jn(n,i);return new DA(o,c)}class CA extends u{static[T]="PgJsonBuilder";constructor(n){super(n,"json","PgJson")}build(n){return new em(n,this.config)}}class em extends V{static[T]="PgJson";constructor(n,i){super(n,i)}getSQLType(){return"json"}mapToDriverValue(n){return JSON.stringify(n)}mapFromDriverValue(n){if(typeof n==="string")try{return JSON.parse(n)}catch{return n}return n}}function uA(n){return new CA(n??"")}class IA extends u{static[T]="PgJsonbBuilder";constructor(n){super(n,"json","PgJsonb")}build(n){return new nf(n,this.config)}}class nf extends V{static[T]="PgJsonb";constructor(n,i){super(n,i)}getSQLType(){return"jsonb"}mapToDriverValue(n){return JSON.stringify(n)}mapFromDriverValue(n){if(typeof n==="string")try{return JSON.parse(n)}catch{return n}return n}}function yA(n){return new IA(n??"")}class kA extends u{static[T]="PgLineBuilder";constructor(n){super(n,"array","PgLine")}build(n){return new ZA(n,this.config)}}class ZA extends V{static[T]="PgLine";getSQLType(){return"line"}mapFromDriverValue(n){let[i,o,c]=n.slice(1,-1).split(",");return[Number.parseFloat(i),Number.parseFloat(o),Number.parseFloat(c)]}mapToDriverValue(n){return`{${n[0]},${n[1]},${n[2]}}`}}class qA extends u{static[T]="PgLineABCBuilder";constructor(n){super(n,"json","PgLineABC")}build(n){return new PA(n,this.config)}}class PA extends V{static[T]="PgLineABC";getSQLType(){return"line"}mapFromDriverValue(n){let[i,o,c]=n.slice(1,-1).split(",");return{a:Number.parseFloat(i),b:Number.parseFloat(o),c:Number.parseFloat(c)}}mapToDriverValue(n){return`{${n.a},${n.b},${n.c}}`}}function sA(n,i){let{name:o,config:c}=Jn(n,i);if(!c?.mode||c.mode==="tuple")return new kA(o);return new qA(o)}class rA extends u{static[T]="PgMacaddrBuilder";constructor(n){super(n,"string","PgMacaddr")}build(n){return new tA(n,this.config)}}class tA extends V{static[T]="PgMacaddr";getSQLType(){return"macaddr"}}function gA(n){return new rA(n??"")}class dA extends u{static[T]="PgMacaddr8Builder";constructor(n){super(n,"string","PgMacaddr8")}build(n){return new eA(n,this.config)}}class eA extends V{static[T]="PgMacaddr8";getSQLType(){return"macaddr8"}}function nT(n){return new dA(n??"")}class iT extends u{static[T]="PgNumericBuilder";constructor(n,i,o){super(n,"string","PgNumeric");this.config.precision=i,this.config.scale=o}build(n){return new of(n,this.config)}}class of extends V{static[T]="PgNumeric";precision;scale;constructor(n,i){super(n,i);this.precision=i.precision,this.scale=i.scale}getSQLType(){if(this.precision!==void 0&&this.scale!==void 0)return`numeric(${this.precision}, ${this.scale})`;else if(this.precision===void 0)return"numeric";else return`numeric(${this.precision})`}}function oT(n,i){let{name:o,config:c}=Jn(n,i);return new iT(o,c?.precision,c?.scale)}class cT extends u{static[T]="PgPointTupleBuilder";constructor(n){super(n,"array","PgPointTuple")}build(n){return new pT(n,this.config)}}class pT extends V{static[T]="PgPointTuple";getSQLType(){return"point"}mapFromDriverValue(n){if(typeof n==="string"){let[i,o]=n.slice(1,-1).split(",");return[Number.parseFloat(i),Number.parseFloat(o)]}return[n.x,n.y]}mapToDriverValue(n){return`(${n[0]},${n[1]})`}}class xT extends u{static[T]="PgPointObjectBuilder";constructor(n){super(n,"json","PgPointObject")}build(n){return new mT(n,this.config)}}class mT extends V{static[T]="PgPointObject";getSQLType(){return"point"}mapFromDriverValue(n){if(typeof n==="string"){let[i,o]=n.slice(1,-1).split(",");return{x:Number.parseFloat(i),y:Number.parseFloat(o)}}return n}mapToDriverValue(n){return`(${n.x},${n.y})`}}function fT(n,i){let{name:o,config:c}=Jn(n,i);if(!c?.mode||c.mode==="tuple")return new cT(o);return new xT(o)}function EW(n){let i=[];for(let o=0;o<n.length;o+=2)i.push(Number.parseInt(n.slice(o,o+2),16));return new Uint8Array(i)}function aT(n,i){let o=new ArrayBuffer(8),c=new DataView(o);for(let p=0;p<8;p++)c.setUint8(p,n[i+p]);return c.getFloat64(0,!0)}function Hv(n){let i=EW(n),o=0,c=i[o];o+=1;let p=new DataView(i.buffer),x=p.getUint32(o,c===1);o+=4;let m;if(x&536870912)m=p.getUint32(o,c===1),o+=4;if((x&65535)===1){let f=aT(i,o);o+=8;let a=aT(i,o);return o+=8,[f,a]}throw new Error("Unsupported geometry type")}class vT extends u{static[T]="PgGeometryBuilder";constructor(n){super(n,"array","PgGeometry")}build(n){return new $T(n,this.config)}}class $T extends V{static[T]="PgGeometry";getSQLType(){return"geometry(point)"}mapFromDriverValue(n){return Hv(n)}mapToDriverValue(n){return`point(${n[0]} ${n[1]})`}}class wT extends u{static[T]="PgGeometryObjectBuilder";constructor(n){super(n,"json","PgGeometryObject")}build(n){return new JT(n,this.config)}}class JT extends V{static[T]="PgGeometryObject";getSQLType(){return"geometry(point)"}mapFromDriverValue(n){let i=Hv(n);return{x:i[0],y:i[1]}}mapToDriverValue(n){return`point(${n.x} ${n.y})`}}function AT(n,i){let{name:o,config:c}=Jn(n,i);if(!c?.mode||c.mode==="tuple")return new vT(o);return new wT(o)}class TT extends u{static[T]="PgRealBuilder";constructor(n,i){super(n,"number","PgReal");this.config.length=i}build(n){return new FT(n,this.config)}}class FT extends V{static[T]="PgReal";constructor(n,i){super(n,i)}getSQLType(){return"real"}mapFromDriverValue=(n)=>{if(typeof n==="string")return Number.parseFloat(n);return n}}function RT(n){return new TT(n??"")}class XT extends u{static[T]="PgSerialBuilder";constructor(n){super(n,"number","PgSerial");this.config.hasDefault=!0,this.config.notNull=!0}build(n){return new WT(n,this.config)}}class WT extends V{static[T]="PgSerial";getSQLType(){return"serial"}}function KT(n){return new XT(n??"")}class ST extends eo{static[T]="PgSmallIntBuilder";constructor(n){super(n,"number","PgSmallInt")}build(n){return new GT(n,this.config)}}class GT extends V{static[T]="PgSmallInt";getSQLType(){return"smallint"}mapFromDriverValue=(n)=>{if(typeof n==="string")return Number(n);return n}}function YT(n){return new ST(n??"")}class lT extends u{static[T]="PgSmallSerialBuilder";constructor(n){super(n,"number","PgSmallSerial");this.config.hasDefault=!0,this.config.notNull=!0}build(n){return new HT(n,this.config)}}class HT extends V{static[T]="PgSmallSerial";getSQLType(){return"smallserial"}}function MT(n){return new lT(n??"")}class zT extends u{static[T]="PgTextBuilder";constructor(n,i){super(n,"string","PgText");this.config.enumValues=i.enum}build(n){return new QT(n,this.config)}}class QT extends V{static[T]="PgText";enumValues=this.config.enumValues;getSQLType(){return"text"}}function ET(n,i={}){let{name:o,config:c}=Jn(n,i);return new zT(o,c)}class OT extends Bo{constructor(n,i,o){super(n,"string","PgTime");this.withTimezone=i,this.precision=o,this.config.withTimezone=i,this.config.precision=o}static[T]="PgTimeBuilder";build(n){return new cf(n,this.config)}}class cf extends V{static[T]="PgTime";withTimezone;precision;constructor(n,i){super(n,i);this.withTimezone=i.withTimezone,this.precision=i.precision}getSQLType(){return`time${this.precision===void 0?"":`(${this.precision})`}${this.withTimezone?" with time zone":""}`}}function UT(n,i={}){let{name:o,config:c}=Jn(n,i);return new OT(o,c.withTimezone??!1,c.precision)}class VT extends Bo{static[T]="PgTimestampBuilder";constructor(n,i,o){super(n,"date","PgTimestamp");this.config.withTimezone=i,this.config.precision=o}build(n){return new pf(n,this.config)}}class pf extends V{static[T]="PgTimestamp";withTimezone;precision;constructor(n,i){super(n,i);this.withTimezone=i.withTimezone,this.precision=i.precision}getSQLType(){return`timestamp${this.precision===void 0?"":` (${this.precision})`}${this.withTimezone?" with time zone":""}`}mapFromDriverValue=(n)=>{return new Date(this.withTimezone?n:n+"+0000")};mapToDriverValue=(n)=>{return n.toISOString()}}class _T extends Bo{static[T]="PgTimestampStringBuilder";constructor(n,i,o){super(n,"string","PgTimestampString");this.config.withTimezone=i,this.config.precision=o}build(n){return new xf(n,this.config)}}class xf extends V{static[T]="PgTimestampString";withTimezone;precision;constructor(n,i){super(n,i);this.withTimezone=i.withTimezone,this.precision=i.precision}getSQLType(){return`timestamp${this.precision===void 0?"":`(${this.precision})`}${this.withTimezone?" with time zone":""}`}}function ao(n,i={}){let{name:o,config:c}=Jn(n,i);if(c?.mode==="string")return new _T(o,c.withTimezone??!1,c.precision);return new VT(o,c?.withTimezone??!1,c?.precision)}class BT extends u{static[T]="PgUUIDBuilder";constructor(n){super(n,"string","PgUUID")}defaultRandom(){return this.default(F`gen_random_uuid()`)}build(n){return new mf(n,this.config)}}class mf extends V{static[T]="PgUUID";getSQLType(){return"uuid"}}function Ni(n){return new BT(n??"")}class bT extends u{static[T]="PgVarcharBuilder";constructor(n,i){super(n,"string","PgVarchar");this.config.length=i.length,this.config.enumValues=i.enum}build(n){return new jT(n,this.config)}}class jT extends V{static[T]="PgVarchar";length=this.config.length;enumValues=this.config.enumValues;getSQLType(){return this.length===void 0?"varchar":`varchar(${this.length})`}}function Ji(n,i={}){let{name:o,config:c}=Jn(n,i);return new bT(o,c)}class LT extends u{static[T]="PgBinaryVectorBuilder";constructor(n,i){super(n,"string","PgBinaryVector");this.config.dimensions=i.dimensions}build(n){return new DT(n,this.config)}}class DT extends V{static[T]="PgBinaryVector";dimensions=this.config.dimensions;getSQLType(){return`bit(${this.dimensions})`}}function NT(n,i){let{name:o,config:c}=Jn(n,i);return new LT(o,c)}class hT extends u{static[T]="PgHalfVectorBuilder";constructor(n,i){super(n,"array","PgHalfVector");this.config.dimensions=i.dimensions}build(n){return new CT(n,this.config)}}class CT extends V{static[T]="PgHalfVector";dimensions=this.config.dimensions;getSQLType(){return`halfvec(${this.dimensions})`}mapToDriverValue(n){return JSON.stringify(n)}mapFromDriverValue(n){return n.slice(1,-1).split(",").map((i)=>Number.parseFloat(i))}}function uT(n,i){let{name:o,config:c}=Jn(n,i);return new hT(o,c)}class IT extends u{static[T]="PgSparseVectorBuilder";constructor(n,i){super(n,"string","PgSparseVector");this.config.dimensions=i.dimensions}build(n){return new yT(n,this.config)}}class yT extends V{static[T]="PgSparseVector";dimensions=this.config.dimensions;getSQLType(){return`sparsevec(${this.dimensions})`}}function kT(n,i){let{name:o,config:c}=Jn(n,i);return new IT(o,c)}class ZT extends u{static[T]="PgVectorBuilder";constructor(n,i){super(n,"array","PgVector");this.config.dimensions=i.dimensions}build(n){return new qT(n,this.config)}}class qT extends V{static[T]="PgVector";dimensions=this.config.dimensions;getSQLType(){return`vector(${this.dimensions})`}mapToDriverValue(n){return JSON.stringify(n)}mapFromDriverValue(n){return n.slice(1,-1).split(",").map((i)=>Number.parseFloat(i))}}function PT(n,i){let{name:o,config:c}=Jn(n,i);return new ZT(o,c)}function sT(){return{bigint:vA,bigserial:TA,boolean:Ox,char:KA,cidr:YA,customType:MA,date:EA,doublePrecision:VA,inet:bA,integer:dm,interval:hA,json:uA,jsonb:yA,line:sA,macaddr:gA,macaddr8:nT,numeric:oT,point:fT,geometry:AT,real:RT,serial:KT,smallint:YT,smallserial:MT,text:ET,time:UT,timestamp:ao,uuid:Ni,varchar:Ji,bit:NT,halfvec:uT,sparsevec:kT,vector:PT}}var Mv=Symbol.for("drizzle:PgInlineForeignKeys"),rT=Symbol.for("drizzle:EnableRLS");class Ai extends D{static[T]="PgTable";static Symbol=Object.assign({},D.Symbol,{InlineForeignKeys:Mv,EnableRLS:rT});[Mv]=[];[rT]=!1;[D.Symbol.ExtraConfigBuilder]=void 0;[D.Symbol.ExtraConfigColumns]={}}function OW(n,i,o,c,p=n){let x=new Ai(n,c,p),m=typeof i==="function"?i(sT()):i,f=Object.fromEntries(Object.entries(m).map(([$,w])=>{let J=w;J.setName($);let X=J.build(x);return x[Mv].push(...J.buildForeignKeys(X,x)),[$,X]})),a=Object.fromEntries(Object.entries(m).map(([$,w])=>{let J=w;J.setName($);let X=J.buildExtraConfigColumn(x);return[$,X]})),v=Object.assign(x,f);if(v[D.Symbol.Columns]=f,v[D.Symbol.ExtraConfigColumns]=a,o)v[Ai.Symbol.ExtraConfigBuilder]=o;return Object.assign(v,{enableRLS:()=>{return v[Ai.Symbol.EnableRLS]=!0,v}})}var nc=(n,i,o)=>{return OW(n,i,o,void 0)};function tT(...n){if(n[0].columns)return new Ux(n[0].columns,n[0].name);return new Ux(n)}class Ux{static[T]="PgPrimaryKeyBuilder";columns;name;constructor(n,i){this.columns=n,this.name=i}build(n){return new gT(n,this.columns,this.name)}}class gT{constructor(n,i,o){this.table=n,this.columns=i,this.name=o}static[T]="PgPrimaryKey";columns;name;getName(){return this.name??`${this.table[Ai.Symbol.Name]}_${this.columns.map((n)=>n.name).join("_")}_pk`}}class zv{constructor(n,i,o){this.sourceTable=n,this.referencedTable=i,this.relationName=o,this.referencedTableName=i[D.Symbol.Name]}static[T]="Relation";referencedTableName;fieldName}class dT{constructor(n,i){this.table=n,this.config=i}static[T]="Relations"}class ic extends zv{constructor(n,i,o,c){super(n,i,o?.relationName);this.config=o,this.isNullable=c}static[T]="One";withFieldName(n){let i=new ic(this.sourceTable,this.referencedTable,this.config,this.isNullable);return i.fieldName=n,i}}class Vx extends zv{constructor(n,i,o){super(n,i,o?.relationName);this.config=o}static[T]="Many";withFieldName(n){let i=new Vx(this.sourceTable,this.referencedTable,this.config);return i.fieldName=n,i}}function eT(){return{and:Oc,between:qJ,eq:Ho,exists:kJ,gt:sm,gte:DJ,ilike:tJ,inArray:CJ,isNull:IJ,isNotNull:yJ,like:sJ,lt:NJ,lte:hJ,ne:bJ,not:LJ,notBetween:PJ,notExists:ZJ,notLike:rJ,notIlike:gJ,notInArray:uJ,or:jJ,sql:F}}function nF(){return{sql:F,asc:dJ,desc:eJ}}function iF(n,i){if(Object.keys(n).length===1&&"default"in n&&!G(n.default,D))n=n.default;let o={},c={},p={};for(let[x,m]of Object.entries(n))if(G(m,D)){let f=Ec(m),a=c[f];o[f]=x,p[x]={tsName:x,dbName:m[D.Symbol.Name],schema:m[D.Symbol.Schema],columns:m[D.Symbol.Columns],relations:a?.relations??{},primaryKey:a?.primaryKey??[]};for(let $ of Object.values(m[D.Symbol.Columns]))if($.primary)p[x].primaryKey.push($);let v=m[D.Symbol.ExtraConfigBuilder]?.(m[D.Symbol.ExtraConfigColumns]);if(v){for(let $ of Object.values(v))if(G($,Ux))p[x].primaryKey.push(...$.columns)}}else if(G(m,dT)){let f=Ec(m.table),a=o[f],v=m.config(i(m.table)),$;for(let[w,J]of Object.entries(v))if(a){let X=p[a];if(X.relations[w]=J,$)X.primaryKey.push(...$)}else{if(!(f in c))c[f]={relations:{},primaryKey:$};c[f].relations[w]=J}}return{tables:p,tableNamesMap:o}}function UW(n){return function i(o,c){return new ic(n,o,c,c?.fields.reduce((p,x)=>p&&x.notNull,!0)??!1)}}function VW(n){return function i(o,c){return new Vx(n,o,c)}}function oF(n,i,o){if(G(o,ic)&&o.config)return{fields:o.config.fields,references:o.config.references};let c=i[Ec(o.referencedTable)];if(!c)throw new Error(`Table "${o.referencedTable[D.Symbol.Name]}" not found in schema`);let p=n[c];if(!p)throw new Error(`Table "${c}" not found in schema`);let x=o.sourceTable,m=i[Ec(x)];if(!m)throw new Error(`Table "${x[D.Symbol.Name]}" not found in schema`);let f=[];for(let a of Object.values(p.relations))if(o.relationName&&o!==a&&a.relationName===o.relationName||!o.relationName&&a.referencedTable===o.sourceTable)f.push(a);if(f.length>1)throw o.relationName?new Error(`There are multiple relations with name "${o.relationName}" in table "${c}"`):new Error(`There are multiple relations between "${c}" and "${o.sourceTable[D.Symbol.Name]}". Please specify relation name`);if(f[0]&&G(f[0],ic)&&f[0].config)return{fields:f[0].config.references,references:f[0].config.fields};throw new Error(`There is not enough information to infer relation "${m}.${o.fieldName}"`)}function cF(n){return{one:UW(n),many:VW(n)}}function ff(n,i,o,c,p=(x)=>x){let x={};for(let[m,f]of c.entries())if(f.isJson){let a=i.relations[f.tsKey],v=o[m],$=typeof v==="string"?JSON.parse(v):v;x[f.tsKey]=G(a,ic)?$&&ff(n,n[f.relationTableTsKey],$,f.selection,p):$.map((w)=>ff(n,n[f.relationTableTsKey],w,f.selection,p))}else{let a=p(o[m]),v=f.field,$;if(G(v,Un))$=v;else if(G(v,N))$=v.decoder;else $=v.sql.decoder;x[f.tsKey]=a===null?null:$.mapFromDriverValue(a)}return x}var Z6=$a(k6(),1),{Server:q6,Namespace:IN,Socket:yN}=Z6.default;import{readFileSync as fR}from"fs";import{resolve as z0}from"path";function QG(n,i){let o={},c=[];for(let p in n){let x=n[p],m=i[p],f=x["~standard"].validate(m);if(f instanceof Promise)throw new Error(`Validation must be synchronous, but ${p} returned a Promise.`);if(f.issues){c.push(...f.issues.map((a)=>({...a,path:[p,...a.path??[]]})));continue}o[p]=f.value}if(c.length)return{issues:c};return{value:o}}function P6(n){let i=n.runtimeEnvStrict??n.runtimeEnv??process.env;if(n.emptyStringAsUndefined??!1){for(let[H,I]of Object.entries(i))if(I==="")delete i[H]}if(!!n.skipValidation)return i;let p=typeof n.client==="object"?n.client:{},x=typeof n.server==="object"?n.server:{},m=typeof n.shared==="object"?n.shared:{},f=n.isServer??(typeof window==="undefined"||("Deno"in window)),a=f?{...x,...m,...p}:{...p,...m},v=QG(a,i),$=n.onValidationError??((H)=>{throw console.error("\u274C Invalid environment variables:",H),new Error("Invalid environment variables")}),w=n.onInvalidAccess??(()=>{throw new Error("\u274C Attempted to access a server-side environment variable on the client")});if(v.issues)return $(v.issues);let J=(H)=>{if(!n.clientPrefix)return!0;return!H.startsWith(n.clientPrefix)&&!(H in m)},X=(H)=>{return f||!J(H)},W=(H)=>{return H==="__esModule"||H==="$$typeof"},R=(n.extends??[]).reduce((H,I)=>{return Object.assign(H,I)},{}),S=Object.assign(v.value,R);return new Proxy(S,{get(H,I){if(typeof I!=="string")return;if(W(I))return;if(!X(I))return w(I);return Reflect.get(H,I)}})}var Tn;(function(n){n.assertEqual=(p)=>p;function i(p){}n.assertIs=i;function o(p){throw new Error}n.assertNever=o,n.arrayToEnum=(p)=>{let x={};for(let m of p)x[m]=m;return x},n.getValidEnumValues=(p)=>{let x=n.objectKeys(p).filter((f)=>typeof p[p[f]]!=="number"),m={};for(let f of x)m[f]=p[f];return n.objectValues(m)},n.objectValues=(p)=>{return n.objectKeys(p).map(function(x){return p[x]})},n.objectKeys=typeof Object.keys==="function"?(p)=>Object.keys(p):(p)=>{let x=[];for(let m in p)if(Object.prototype.hasOwnProperty.call(p,m))x.push(m);return x},n.find=(p,x)=>{for(let m of p)if(x(m))return m;return},n.isInteger=typeof Number.isInteger==="function"?(p)=>Number.isInteger(p):(p)=>typeof p==="number"&&isFinite(p)&&Math.floor(p)===p;function c(p,x=" | "){return p.map((m)=>typeof m==="string"?`'${m}'`:m).join(x)}n.joinValues=c,n.jsonStringifyReplacer=(p,x)=>{if(typeof x==="bigint")return x.toString();return x}})(Tn||(Tn={}));var Y0;(function(n){n.mergeShapes=(i,o)=>{return{...i,...o}}})(Y0||(Y0={}));var h=Tn.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),No=(n)=>{switch(typeof n){case"undefined":return h.undefined;case"string":return h.string;case"number":return isNaN(n)?h.nan:h.number;case"boolean":return h.boolean;case"function":return h.function;case"bigint":return h.bigint;case"symbol":return h.symbol;case"object":if(Array.isArray(n))return h.array;if(n===null)return h.null;if(n.then&&typeof n.then==="function"&&n.catch&&typeof n.catch==="function")return h.promise;if(typeof Map!=="undefined"&&n instanceof Map)return h.map;if(typeof Set!=="undefined"&&n instanceof Set)return h.set;if(typeof Date!=="undefined"&&n instanceof Date)return h.date;return h.object;default:return h.unknown}},U=Tn.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),EG=(n)=>{return JSON.stringify(n,null,2).replace(/"([^"]+)":/g,"$1:")};class Ii extends Error{get errors(){return this.issues}constructor(n){super();this.issues=[],this.addIssue=(o)=>{this.issues=[...this.issues,o]},this.addIssues=(o=[])=>{this.issues=[...this.issues,...o]};let i=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,i);else this.__proto__=i;this.name="ZodError",this.issues=n}format(n){let i=n||function(p){return p.message},o={_errors:[]},c=(p)=>{for(let x of p.issues)if(x.code==="invalid_union")x.unionErrors.map(c);else if(x.code==="invalid_return_type")c(x.returnTypeError);else if(x.code==="invalid_arguments")c(x.argumentsError);else if(x.path.length===0)o._errors.push(i(x));else{let m=o,f=0;while(f<x.path.length){let a=x.path[f];if(f!==x.path.length-1)m[a]=m[a]||{_errors:[]};else m[a]=m[a]||{_errors:[]},m[a]._errors.push(i(x));m=m[a],f++}}};return c(this),o}static assert(n){if(!(n instanceof Ii))throw new Error(`Not a ZodError: ${n}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,Tn.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(n=(i)=>i.message){let i={},o=[];for(let c of this.issues)if(c.path.length>0)i[c.path[0]]=i[c.path[0]]||[],i[c.path[0]].push(n(c));else o.push(n(c));return{formErrors:o,fieldErrors:i}}get formErrors(){return this.flatten()}}Ii.create=(n)=>{return new Ii(n)};var jp=(n,i)=>{let o;switch(n.code){case U.invalid_type:if(n.received===h.undefined)o="Required";else o=`Expected ${n.expected}, received ${n.received}`;break;case U.invalid_literal:o=`Invalid literal value, expected ${JSON.stringify(n.expected,Tn.jsonStringifyReplacer)}`;break;case U.unrecognized_keys:o=`Unrecognized key(s) in object: ${Tn.joinValues(n.keys,", ")}`;break;case U.invalid_union:o="Invalid input";break;case U.invalid_union_discriminator:o=`Invalid discriminator value. Expected ${Tn.joinValues(n.options)}`;break;case U.invalid_enum_value:o=`Invalid enum value. Expected ${Tn.joinValues(n.options)}, received '${n.received}'`;break;case U.invalid_arguments:o="Invalid function arguments";break;case U.invalid_return_type:o="Invalid function return type";break;case U.invalid_date:o="Invalid date";break;case U.invalid_string:if(typeof n.validation==="object")if("includes"in n.validation){if(o=`Invalid input: must include "${n.validation.includes}"`,typeof n.validation.position==="number")o=`${o} at one or more positions greater than or equal to ${n.validation.position}`}else if("startsWith"in n.validation)o=`Invalid input: must start with "${n.validation.startsWith}"`;else if("endsWith"in n.validation)o=`Invalid input: must end with "${n.validation.endsWith}"`;else Tn.assertNever(n.validation);else if(n.validation!=="regex")o=`Invalid ${n.validation}`;else o="Invalid";break;case U.too_small:if(n.type==="array")o=`Array must contain ${n.exact?"exactly":n.inclusive?"at least":"more than"} ${n.minimum} element(s)`;else if(n.type==="string")o=`String must contain ${n.exact?"exactly":n.inclusive?"at least":"over"} ${n.minimum} character(s)`;else if(n.type==="number")o=`Number must be ${n.exact?"exactly equal to ":n.inclusive?"greater than or equal to ":"greater than "}${n.minimum}`;else if(n.type==="date")o=`Date must be ${n.exact?"exactly equal to ":n.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(n.minimum))}`;else o="Invalid input";break;case U.too_big:if(n.type==="array")o=`Array must contain ${n.exact?"exactly":n.inclusive?"at most":"less than"} ${n.maximum} element(s)`;else if(n.type==="string")o=`String must contain ${n.exact?"exactly":n.inclusive?"at most":"under"} ${n.maximum} character(s)`;else if(n.type==="number")o=`Number must be ${n.exact?"exactly":n.inclusive?"less than or equal to":"less than"} ${n.maximum}`;else if(n.type==="bigint")o=`BigInt must be ${n.exact?"exactly":n.inclusive?"less than or equal to":"less than"} ${n.maximum}`;else if(n.type==="date")o=`Date must be ${n.exact?"exactly":n.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(n.maximum))}`;else o="Invalid input";break;case U.custom:o="Invalid input";break;case U.invalid_intersection_types:o="Intersection results could not be merged";break;case U.not_multiple_of:o=`Number must be a multiple of ${n.multipleOf}`;break;case U.not_finite:o="Number must be finite";break;default:o=i.defaultError,Tn.assertNever(n)}return{message:o}},g6=jp;function OG(n){g6=n}function bf(){return g6}var jf=(n)=>{let{data:i,path:o,errorMaps:c,issueData:p}=n,x=[...o,...p.path||[]],m={...p,path:x};if(p.message!==void 0)return{...p,path:x,message:p.message};let f="",a=c.filter((v)=>!!v).slice().reverse();for(let v of a)f=v(m,{data:i,defaultError:f}).message;return{...p,path:x,message:f}},UG=[];function L(n,i){let o=bf(),c=jf({issueData:i,data:n.data,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,o,o===jp?void 0:jp].filter((p)=>!!p)});n.common.issues.push(c)}class Mi{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray(n,i){let o=[];for(let c of i){if(c.status==="aborted")return g;if(c.status==="dirty")n.dirty();o.push(c.value)}return{status:n.value,value:o}}static async mergeObjectAsync(n,i){let o=[];for(let c of i){let p=await c.key,x=await c.value;o.push({key:p,value:x})}return Mi.mergeObjectSync(n,o)}static mergeObjectSync(n,i){let o={};for(let c of i){let{key:p,value:x}=c;if(p.status==="aborted")return g;if(x.status==="aborted")return g;if(p.status==="dirty")n.dirty();if(x.status==="dirty")n.dirty();if(p.value!=="__proto__"&&(typeof x.value!=="undefined"||c.alwaysSet))o[p.value]=x.value}return{status:n.value,value:o}}}var g=Object.freeze({status:"aborted"}),Bp=(n)=>({status:"dirty",value:n}),Ui=(n)=>({status:"valid",value:n}),l0=(n)=>n.status==="aborted",H0=(n)=>n.status==="dirty",Nc=(n)=>n.status==="valid",ux=(n)=>typeof Promise!=="undefined"&&n instanceof Promise;function Lf(n,i,o,c){if(o==="a"&&!c)throw new TypeError("Private accessor was defined without a getter");if(typeof i==="function"?n!==i||!c:!i.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return o==="m"?c:o==="a"?c.call(n):c?c.value:i.get(n)}function d6(n,i,o,c,p){if(c==="m")throw new TypeError("Private method is not writable");if(c==="a"&&!p)throw new TypeError("Private accessor was defined without a setter");if(typeof i==="function"?n!==i||!p:!i.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return c==="a"?p.call(n,o):p?p.value=o:i.set(n,o),o}var k;(function(n){n.errToObj=(i)=>typeof i==="string"?{message:i}:i||{},n.toString=(i)=>typeof i==="string"?i:i===null||i===void 0?void 0:i.message})(k||(k={}));var hx,Cx;class Fo{constructor(n,i,o,c){this._cachedPath=[],this.parent=n,this.data=i,this._path=o,this._key=c}get path(){if(!this._cachedPath.length)if(this._key instanceof Array)this._cachedPath.push(...this._path,...this._key);else this._cachedPath.push(...this._path,this._key);return this._cachedPath}}var s6=(n,i)=>{if(Nc(i))return{success:!0,data:i.value};else{if(!n.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let o=new Ii(n.common.issues);return this._error=o,this._error}}}};function cn(n){if(!n)return{};let{errorMap:i,invalid_type_error:o,required_error:c,description:p}=n;if(i&&(o||c))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if(i)return{errorMap:i,description:p};return{errorMap:(m,f)=>{var a,v;let{message:$}=n;if(m.code==="invalid_enum_value")return{message:$!==null&&$!==void 0?$:f.defaultError};if(typeof f.data==="undefined")return{message:(a=$!==null&&$!==void 0?$:c)!==null&&a!==void 0?a:f.defaultError};if(m.code!=="invalid_type")return{message:f.defaultError};return{message:(v=$!==null&&$!==void 0?$:o)!==null&&v!==void 0?v:f.defaultError}},description:p}}class pn{get description(){return this._def.description}_getType(n){return No(n.data)}_getOrReturnCtx(n,i){return i||{common:n.parent.common,data:n.data,parsedType:No(n.data),schemaErrorMap:this._def.errorMap,path:n.path,parent:n.parent}}_processInputParams(n){return{status:new Mi,ctx:{common:n.parent.common,data:n.data,parsedType:No(n.data),schemaErrorMap:this._def.errorMap,path:n.path,parent:n.parent}}}_parseSync(n){let i=this._parse(n);if(ux(i))throw new Error("Synchronous parse encountered promise.");return i}_parseAsync(n){let i=this._parse(n);return Promise.resolve(i)}parse(n,i){let o=this.safeParse(n,i);if(o.success)return o.data;throw o.error}safeParse(n,i){var o;let c={common:{issues:[],async:(o=i===null||i===void 0?void 0:i.async)!==null&&o!==void 0?o:!1,contextualErrorMap:i===null||i===void 0?void 0:i.errorMap},path:(i===null||i===void 0?void 0:i.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:n,parsedType:No(n)},p=this._parseSync({data:n,path:c.path,parent:c});return s6(c,p)}"~validate"(n){var i,o;let c={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:n,parsedType:No(n)};if(!this["~standard"].async)try{let p=this._parseSync({data:n,path:[],parent:c});return Nc(p)?{value:p.value}:{issues:c.common.issues}}catch(p){if((o=(i=p===null||p===void 0?void 0:p.message)===null||i===void 0?void 0:i.toLowerCase())===null||o===void 0?void 0:o.includes("encountered"))this["~standard"].async=!0;c.common={issues:[],async:!0}}return this._parseAsync({data:n,path:[],parent:c}).then((p)=>Nc(p)?{value:p.value}:{issues:c.common.issues})}async parseAsync(n,i){let o=await this.safeParseAsync(n,i);if(o.success)return o.data;throw o.error}async safeParseAsync(n,i){let o={common:{issues:[],contextualErrorMap:i===null||i===void 0?void 0:i.errorMap,async:!0},path:(i===null||i===void 0?void 0:i.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:n,parsedType:No(n)},c=this._parse({data:n,path:o.path,parent:o}),p=await(ux(c)?c:Promise.resolve(c));return s6(o,p)}refine(n,i){let o=(c)=>{if(typeof i==="string"||typeof i==="undefined")return{message:i};else if(typeof i==="function")return i(c);else return i};return this._refinement((c,p)=>{let x=n(c),m=()=>p.addIssue({code:U.custom,...o(c)});if(typeof Promise!=="undefined"&&x instanceof Promise)return x.then((f)=>{if(!f)return m(),!1;else return!0});if(!x)return m(),!1;else return!0})}refinement(n,i){return this._refinement((o,c)=>{if(!n(o))return c.addIssue(typeof i==="function"?i(o,c):i),!1;else return!0})}_refinement(n){return new no({schema:this,typeName:t.ZodEffects,effect:{type:"refinement",refinement:n}})}superRefine(n){return this._refinement(n)}constructor(n){this.spa=this.safeParseAsync,this._def=n,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:(i)=>this["~validate"](i)}}optional(){return To.create(this,this._def)}nullable(){return ho.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Ao.create(this)}promise(){return Ic.create(this,this._def)}or(n){return hp.create([this,n],this._def)}and(n){return Cp.create(this,n,this._def)}transform(n){return new no({...cn(this._def),schema:this,typeName:t.ZodEffects,effect:{type:"transform",transform:n}})}default(n){let i=typeof n==="function"?n:()=>n;return new kp({...cn(this._def),innerType:this,defaultValue:i,typeName:t.ZodDefault})}brand(){return new Nf({typeName:t.ZodBranded,type:this,...cn(this._def)})}catch(n){let i=typeof n==="function"?n:()=>n;return new Zp({...cn(this._def),innerType:this,catchValue:i,typeName:t.ZodCatch})}describe(n){return new this.constructor({...this._def,description:n})}pipe(n){return Px.create(this,n)}readonly(){return qp.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var VG=/^c[^\s-]{8,}$/i,_G=/^[0-9a-z]+$/,BG=/^[0-9A-HJKMNP-TV-Z]{26}$/i,bG=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,jG=/^[a-z0-9_-]{21}$/i,LG=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,DG=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,NG=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,hG="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",G0,CG=/^(?:(?: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])$/,uG=/^(?:(?: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])\/(3[0-2]|[12]?[0-9])$/,IG=/^(([0-9a-fA-F]{1,4}:){7,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}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,yG=/^(([0-9a-fA-F]{1,4}:){7,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}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,kG=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,ZG=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,e6="((\\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])))",qG=new RegExp(`^${e6}$`);function nR(n){let i="([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d";if(n.precision)i=`${i}\\.\\d{${n.precision}}`;else if(n.precision==null)i=`${i}(\\.\\d+)?`;return i}function PG(n){return new RegExp(`^${nR(n)}$`)}function iR(n){let i=`${e6}T${nR(n)}`,o=[];if(o.push(n.local?"Z?":"Z"),n.offset)o.push("([+-]\\d{2}:?\\d{2})");return i=`${i}(${o.join("|")})`,new RegExp(`^${i}$`)}function sG(n,i){if((i==="v4"||!i)&&CG.test(n))return!0;if((i==="v6"||!i)&&IG.test(n))return!0;return!1}function rG(n,i){if(!LG.test(n))return!1;try{let[o]=n.split("."),c=o.replace(/-/g,"+").replace(/_/g,"/").padEnd(o.length+(4-o.length%4)%4,"="),p=JSON.parse(atob(c));if(typeof p!=="object"||p===null)return!1;if(!p.typ||!p.alg)return!1;if(i&&p.alg!==i)return!1;return!0}catch(o){return!1}}function tG(n,i){if((i==="v4"||!i)&&uG.test(n))return!0;if((i==="v6"||!i)&&yG.test(n))return!0;return!1}class Jo extends pn{_parse(n){if(this._def.coerce)n.data=String(n.data);if(this._getType(n)!==h.string){let p=this._getOrReturnCtx(n);return L(p,{code:U.invalid_type,expected:h.string,received:p.parsedType}),g}let o=new Mi,c=void 0;for(let p of this._def.checks)if(p.kind==="min"){if(n.data.length<p.value)c=this._getOrReturnCtx(n,c),L(c,{code:U.too_small,minimum:p.value,type:"string",inclusive:!0,exact:!1,message:p.message}),o.dirty()}else if(p.kind==="max"){if(n.data.length>p.value)c=this._getOrReturnCtx(n,c),L(c,{code:U.too_big,maximum:p.value,type:"string",inclusive:!0,exact:!1,message:p.message}),o.dirty()}else if(p.kind==="length"){let x=n.data.length>p.value,m=n.data.length<p.value;if(x||m){if(c=this._getOrReturnCtx(n,c),x)L(c,{code:U.too_big,maximum:p.value,type:"string",inclusive:!0,exact:!0,message:p.message});else if(m)L(c,{code:U.too_small,minimum:p.value,type:"string",inclusive:!0,exact:!0,message:p.message});o.dirty()}}else if(p.kind==="email"){if(!NG.test(n.data))c=this._getOrReturnCtx(n,c),L(c,{validation:"email",code:U.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="emoji"){if(!G0)G0=new RegExp(hG,"u");if(!G0.test(n.data))c=this._getOrReturnCtx(n,c),L(c,{validation:"emoji",code:U.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="uuid"){if(!bG.test(n.data))c=this._getOrReturnCtx(n,c),L(c,{validation:"uuid",code:U.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="nanoid"){if(!jG.test(n.data))c=this._getOrReturnCtx(n,c),L(c,{validation:"nanoid",code:U.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="cuid"){if(!VG.test(n.data))c=this._getOrReturnCtx(n,c),L(c,{validation:"cuid",code:U.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="cuid2"){if(!_G.test(n.data))c=this._getOrReturnCtx(n,c),L(c,{validation:"cuid2",code:U.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="ulid"){if(!BG.test(n.data))c=this._getOrReturnCtx(n,c),L(c,{validation:"ulid",code:U.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="url")try{new URL(n.data)}catch(x){c=this._getOrReturnCtx(n,c),L(c,{validation:"url",code:U.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="regex"){if(p.regex.lastIndex=0,!p.regex.test(n.data))c=this._getOrReturnCtx(n,c),L(c,{validation:"regex",code:U.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="trim")n.data=n.data.trim();else if(p.kind==="includes"){if(!n.data.includes(p.value,p.position))c=this._getOrReturnCtx(n,c),L(c,{code:U.invalid_string,validation:{includes:p.value,position:p.position},message:p.message}),o.dirty()}else if(p.kind==="toLowerCase")n.data=n.data.toLowerCase();else if(p.kind==="toUpperCase")n.data=n.data.toUpperCase();else if(p.kind==="startsWith"){if(!n.data.startsWith(p.value))c=this._getOrReturnCtx(n,c),L(c,{code:U.invalid_string,validation:{startsWith:p.value},message:p.message}),o.dirty()}else if(p.kind==="endsWith"){if(!n.data.endsWith(p.value))c=this._getOrReturnCtx(n,c),L(c,{code:U.invalid_string,validation:{endsWith:p.value},message:p.message}),o.dirty()}else if(p.kind==="datetime"){if(!iR(p).test(n.data))c=this._getOrReturnCtx(n,c),L(c,{code:U.invalid_string,validation:"datetime",message:p.message}),o.dirty()}else if(p.kind==="date"){if(!qG.test(n.data))c=this._getOrReturnCtx(n,c),L(c,{code:U.invalid_string,validation:"date",message:p.message}),o.dirty()}else if(p.kind==="time"){if(!PG(p).test(n.data))c=this._getOrReturnCtx(n,c),L(c,{code:U.invalid_string,validation:"time",message:p.message}),o.dirty()}else if(p.kind==="duration"){if(!DG.test(n.data))c=this._getOrReturnCtx(n,c),L(c,{validation:"duration",code:U.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="ip"){if(!sG(n.data,p.version))c=this._getOrReturnCtx(n,c),L(c,{validation:"ip",code:U.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="jwt"){if(!rG(n.data,p.alg))c=this._getOrReturnCtx(n,c),L(c,{validation:"jwt",code:U.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="cidr"){if(!tG(n.data,p.version))c=this._getOrReturnCtx(n,c),L(c,{validation:"cidr",code:U.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="base64"){if(!kG.test(n.data))c=this._getOrReturnCtx(n,c),L(c,{validation:"base64",code:U.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="base64url"){if(!ZG.test(n.data))c=this._getOrReturnCtx(n,c),L(c,{validation:"base64url",code:U.invalid_string,message:p.message}),o.dirty()}else Tn.assertNever(p);return{status:o.value,value:n.data}}_regex(n,i,o){return this.refinement((c)=>n.test(c),{validation:i,code:U.invalid_string,...k.errToObj(o)})}_addCheck(n){return new Jo({...this._def,checks:[...this._def.checks,n]})}email(n){return this._addCheck({kind:"email",...k.errToObj(n)})}url(n){return this._addCheck({kind:"url",...k.errToObj(n)})}emoji(n){return this._addCheck({kind:"emoji",...k.errToObj(n)})}uuid(n){return this._addCheck({kind:"uuid",...k.errToObj(n)})}nanoid(n){return this._addCheck({kind:"nanoid",...k.errToObj(n)})}cuid(n){return this._addCheck({kind:"cuid",...k.errToObj(n)})}cuid2(n){return this._addCheck({kind:"cuid2",...k.errToObj(n)})}ulid(n){return this._addCheck({kind:"ulid",...k.errToObj(n)})}base64(n){return this._addCheck({kind:"base64",...k.errToObj(n)})}base64url(n){return this._addCheck({kind:"base64url",...k.errToObj(n)})}jwt(n){return this._addCheck({kind:"jwt",...k.errToObj(n)})}ip(n){return this._addCheck({kind:"ip",...k.errToObj(n)})}cidr(n){return this._addCheck({kind:"cidr",...k.errToObj(n)})}datetime(n){var i,o;if(typeof n==="string")return this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:n});return this._addCheck({kind:"datetime",precision:typeof(n===null||n===void 0?void 0:n.precision)==="undefined"?null:n===null||n===void 0?void 0:n.precision,offset:(i=n===null||n===void 0?void 0:n.offset)!==null&&i!==void 0?i:!1,local:(o=n===null||n===void 0?void 0:n.local)!==null&&o!==void 0?o:!1,...k.errToObj(n===null||n===void 0?void 0:n.message)})}date(n){return this._addCheck({kind:"date",message:n})}time(n){if(typeof n==="string")return this._addCheck({kind:"time",precision:null,message:n});return this._addCheck({kind:"time",precision:typeof(n===null||n===void 0?void 0:n.precision)==="undefined"?null:n===null||n===void 0?void 0:n.precision,...k.errToObj(n===null||n===void 0?void 0:n.message)})}duration(n){return this._addCheck({kind:"duration",...k.errToObj(n)})}regex(n,i){return this._addCheck({kind:"regex",regex:n,...k.errToObj(i)})}includes(n,i){return this._addCheck({kind:"includes",value:n,position:i===null||i===void 0?void 0:i.position,...k.errToObj(i===null||i===void 0?void 0:i.message)})}startsWith(n,i){return this._addCheck({kind:"startsWith",value:n,...k.errToObj(i)})}endsWith(n,i){return this._addCheck({kind:"endsWith",value:n,...k.errToObj(i)})}min(n,i){return this._addCheck({kind:"min",value:n,...k.errToObj(i)})}max(n,i){return this._addCheck({kind:"max",value:n,...k.errToObj(i)})}length(n,i){return this._addCheck({kind:"length",value:n,...k.errToObj(i)})}nonempty(n){return this.min(1,k.errToObj(n))}trim(){return new Jo({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new Jo({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new Jo({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find((n)=>n.kind==="datetime")}get isDate(){return!!this._def.checks.find((n)=>n.kind==="date")}get isTime(){return!!this._def.checks.find((n)=>n.kind==="time")}get isDuration(){return!!this._def.checks.find((n)=>n.kind==="duration")}get isEmail(){return!!this._def.checks.find((n)=>n.kind==="email")}get isURL(){return!!this._def.checks.find((n)=>n.kind==="url")}get isEmoji(){return!!this._def.checks.find((n)=>n.kind==="emoji")}get isUUID(){return!!this._def.checks.find((n)=>n.kind==="uuid")}get isNANOID(){return!!this._def.checks.find((n)=>n.kind==="nanoid")}get isCUID(){return!!this._def.checks.find((n)=>n.kind==="cuid")}get isCUID2(){return!!this._def.checks.find((n)=>n.kind==="cuid2")}get isULID(){return!!this._def.checks.find((n)=>n.kind==="ulid")}get isIP(){return!!this._def.checks.find((n)=>n.kind==="ip")}get isCIDR(){return!!this._def.checks.find((n)=>n.kind==="cidr")}get isBase64(){return!!this._def.checks.find((n)=>n.kind==="base64")}get isBase64url(){return!!this._def.checks.find((n)=>n.kind==="base64url")}get minLength(){let n=null;for(let i of this._def.checks)if(i.kind==="min"){if(n===null||i.value>n)n=i.value}return n}get maxLength(){let n=null;for(let i of this._def.checks)if(i.kind==="max"){if(n===null||i.value<n)n=i.value}return n}}Jo.create=(n)=>{var i;return new Jo({checks:[],typeName:t.ZodString,coerce:(i=n===null||n===void 0?void 0:n.coerce)!==null&&i!==void 0?i:!1,...cn(n)})};function gG(n,i){let o=(n.toString().split(".")[1]||"").length,c=(i.toString().split(".")[1]||"").length,p=o>c?o:c,x=parseInt(n.toFixed(p).replace(".","")),m=parseInt(i.toFixed(p).replace(".",""));return x%m/Math.pow(10,p)}class fc extends pn{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(n){if(this._def.coerce)n.data=Number(n.data);if(this._getType(n)!==h.number){let p=this._getOrReturnCtx(n);return L(p,{code:U.invalid_type,expected:h.number,received:p.parsedType}),g}let o=void 0,c=new Mi;for(let p of this._def.checks)if(p.kind==="int"){if(!Tn.isInteger(n.data))o=this._getOrReturnCtx(n,o),L(o,{code:U.invalid_type,expected:"integer",received:"float",message:p.message}),c.dirty()}else if(p.kind==="min"){if(p.inclusive?n.data<p.value:n.data<=p.value)o=this._getOrReturnCtx(n,o),L(o,{code:U.too_small,minimum:p.value,type:"number",inclusive:p.inclusive,exact:!1,message:p.message}),c.dirty()}else if(p.kind==="max"){if(p.inclusive?n.data>p.value:n.data>=p.value)o=this._getOrReturnCtx(n,o),L(o,{code:U.too_big,maximum:p.value,type:"number",inclusive:p.inclusive,exact:!1,message:p.message}),c.dirty()}else if(p.kind==="multipleOf"){if(gG(n.data,p.value)!==0)o=this._getOrReturnCtx(n,o),L(o,{code:U.not_multiple_of,multipleOf:p.value,message:p.message}),c.dirty()}else if(p.kind==="finite"){if(!Number.isFinite(n.data))o=this._getOrReturnCtx(n,o),L(o,{code:U.not_finite,message:p.message}),c.dirty()}else Tn.assertNever(p);return{status:c.value,value:n.data}}gte(n,i){return this.setLimit("min",n,!0,k.toString(i))}gt(n,i){return this.setLimit("min",n,!1,k.toString(i))}lte(n,i){return this.setLimit("max",n,!0,k.toString(i))}lt(n,i){return this.setLimit("max",n,!1,k.toString(i))}setLimit(n,i,o,c){return new fc({...this._def,checks:[...this._def.checks,{kind:n,value:i,inclusive:o,message:k.toString(c)}]})}_addCheck(n){return new fc({...this._def,checks:[...this._def.checks,n]})}int(n){return this._addCheck({kind:"int",message:k.toString(n)})}positive(n){return this._addCheck({kind:"min",value:0,inclusive:!1,message:k.toString(n)})}negative(n){return this._addCheck({kind:"max",value:0,inclusive:!1,message:k.toString(n)})}nonpositive(n){return this._addCheck({kind:"max",value:0,inclusive:!0,message:k.toString(n)})}nonnegative(n){return this._addCheck({kind:"min",value:0,inclusive:!0,message:k.toString(n)})}multipleOf(n,i){return this._addCheck({kind:"multipleOf",value:n,message:k.toString(i)})}finite(n){return this._addCheck({kind:"finite",message:k.toString(n)})}safe(n){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:k.toString(n)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:k.toString(n)})}get minValue(){let n=null;for(let i of this._def.checks)if(i.kind==="min"){if(n===null||i.value>n)n=i.value}return n}get maxValue(){let n=null;for(let i of this._def.checks)if(i.kind==="max"){if(n===null||i.value<n)n=i.value}return n}get isInt(){return!!this._def.checks.find((n)=>n.kind==="int"||n.kind==="multipleOf"&&Tn.isInteger(n.value))}get isFinite(){let n=null,i=null;for(let o of this._def.checks)if(o.kind==="finite"||o.kind==="int"||o.kind==="multipleOf")return!0;else if(o.kind==="min"){if(i===null||o.value>i)i=o.value}else if(o.kind==="max"){if(n===null||o.value<n)n=o.value}return Number.isFinite(i)&&Number.isFinite(n)}}fc.create=(n)=>{return new fc({checks:[],typeName:t.ZodNumber,coerce:(n===null||n===void 0?void 0:n.coerce)||!1,...cn(n)})};class ac extends pn{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse(n){if(this._def.coerce)try{n.data=BigInt(n.data)}catch(p){return this._getInvalidInput(n)}if(this._getType(n)!==h.bigint)return this._getInvalidInput(n);let o=void 0,c=new Mi;for(let p of this._def.checks)if(p.kind==="min"){if(p.inclusive?n.data<p.value:n.data<=p.value)o=this._getOrReturnCtx(n,o),L(o,{code:U.too_small,type:"bigint",minimum:p.value,inclusive:p.inclusive,message:p.message}),c.dirty()}else if(p.kind==="max"){if(p.inclusive?n.data>p.value:n.data>=p.value)o=this._getOrReturnCtx(n,o),L(o,{code:U.too_big,type:"bigint",maximum:p.value,inclusive:p.inclusive,message:p.message}),c.dirty()}else if(p.kind==="multipleOf"){if(n.data%p.value!==BigInt(0))o=this._getOrReturnCtx(n,o),L(o,{code:U.not_multiple_of,multipleOf:p.value,message:p.message}),c.dirty()}else Tn.assertNever(p);return{status:c.value,value:n.data}}_getInvalidInput(n){let i=this._getOrReturnCtx(n);return L(i,{code:U.invalid_type,expected:h.bigint,received:i.parsedType}),g}gte(n,i){return this.setLimit("min",n,!0,k.toString(i))}gt(n,i){return this.setLimit("min",n,!1,k.toString(i))}lte(n,i){return this.setLimit("max",n,!0,k.toString(i))}lt(n,i){return this.setLimit("max",n,!1,k.toString(i))}setLimit(n,i,o,c){return new ac({...this._def,checks:[...this._def.checks,{kind:n,value:i,inclusive:o,message:k.toString(c)}]})}_addCheck(n){return new ac({...this._def,checks:[...this._def.checks,n]})}positive(n){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:k.toString(n)})}negative(n){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:k.toString(n)})}nonpositive(n){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:k.toString(n)})}nonnegative(n){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:k.toString(n)})}multipleOf(n,i){return this._addCheck({kind:"multipleOf",value:n,message:k.toString(i)})}get minValue(){let n=null;for(let i of this._def.checks)if(i.kind==="min"){if(n===null||i.value>n)n=i.value}return n}get maxValue(){let n=null;for(let i of this._def.checks)if(i.kind==="max"){if(n===null||i.value<n)n=i.value}return n}}ac.create=(n)=>{var i;return new ac({checks:[],typeName:t.ZodBigInt,coerce:(i=n===null||n===void 0?void 0:n.coerce)!==null&&i!==void 0?i:!1,...cn(n)})};class Lp extends pn{_parse(n){if(this._def.coerce)n.data=Boolean(n.data);if(this._getType(n)!==h.boolean){let o=this._getOrReturnCtx(n);return L(o,{code:U.invalid_type,expected:h.boolean,received:o.parsedType}),g}return Ui(n.data)}}Lp.create=(n)=>{return new Lp({typeName:t.ZodBoolean,coerce:(n===null||n===void 0?void 0:n.coerce)||!1,...cn(n)})};class hc extends pn{_parse(n){if(this._def.coerce)n.data=new Date(n.data);if(this._getType(n)!==h.date){let p=this._getOrReturnCtx(n);return L(p,{code:U.invalid_type,expected:h.date,received:p.parsedType}),g}if(isNaN(n.data.getTime())){let p=this._getOrReturnCtx(n);return L(p,{code:U.invalid_date}),g}let o=new Mi,c=void 0;for(let p of this._def.checks)if(p.kind==="min"){if(n.data.getTime()<p.value)c=this._getOrReturnCtx(n,c),L(c,{code:U.too_small,message:p.message,inclusive:!0,exact:!1,minimum:p.value,type:"date"}),o.dirty()}else if(p.kind==="max"){if(n.data.getTime()>p.value)c=this._getOrReturnCtx(n,c),L(c,{code:U.too_big,message:p.message,inclusive:!0,exact:!1,maximum:p.value,type:"date"}),o.dirty()}else Tn.assertNever(p);return{status:o.value,value:new Date(n.data.getTime())}}_addCheck(n){return new hc({...this._def,checks:[...this._def.checks,n]})}min(n,i){return this._addCheck({kind:"min",value:n.getTime(),message:k.toString(i)})}max(n,i){return this._addCheck({kind:"max",value:n.getTime(),message:k.toString(i)})}get minDate(){let n=null;for(let i of this._def.checks)if(i.kind==="min"){if(n===null||i.value>n)n=i.value}return n!=null?new Date(n):null}get maxDate(){let n=null;for(let i of this._def.checks)if(i.kind==="max"){if(n===null||i.value<n)n=i.value}return n!=null?new Date(n):null}}hc.create=(n)=>{return new hc({checks:[],coerce:(n===null||n===void 0?void 0:n.coerce)||!1,typeName:t.ZodDate,...cn(n)})};class Ix extends pn{_parse(n){if(this._getType(n)!==h.symbol){let o=this._getOrReturnCtx(n);return L(o,{code:U.invalid_type,expected:h.symbol,received:o.parsedType}),g}return Ui(n.data)}}Ix.create=(n)=>{return new Ix({typeName:t.ZodSymbol,...cn(n)})};class Dp extends pn{_parse(n){if(this._getType(n)!==h.undefined){let o=this._getOrReturnCtx(n);return L(o,{code:U.invalid_type,expected:h.undefined,received:o.parsedType}),g}return Ui(n.data)}}Dp.create=(n)=>{return new Dp({typeName:t.ZodUndefined,...cn(n)})};class Np extends pn{_parse(n){if(this._getType(n)!==h.null){let o=this._getOrReturnCtx(n);return L(o,{code:U.invalid_type,expected:h.null,received:o.parsedType}),g}return Ui(n.data)}}Np.create=(n)=>{return new Np({typeName:t.ZodNull,...cn(n)})};class Cc extends pn{constructor(){super(...arguments);this._any=!0}_parse(n){return Ui(n.data)}}Cc.create=(n)=>{return new Cc({typeName:t.ZodAny,...cn(n)})};class mc extends pn{constructor(){super(...arguments);this._unknown=!0}_parse(n){return Ui(n.data)}}mc.create=(n)=>{return new mc({typeName:t.ZodUnknown,...cn(n)})};class zo extends pn{_parse(n){let i=this._getOrReturnCtx(n);return L(i,{code:U.invalid_type,expected:h.never,received:i.parsedType}),g}}zo.create=(n)=>{return new zo({typeName:t.ZodNever,...cn(n)})};class yx extends pn{_parse(n){if(this._getType(n)!==h.undefined){let o=this._getOrReturnCtx(n);return L(o,{code:U.invalid_type,expected:h.void,received:o.parsedType}),g}return Ui(n.data)}}yx.create=(n)=>{return new yx({typeName:t.ZodVoid,...cn(n)})};class Ao extends pn{_parse(n){let{ctx:i,status:o}=this._processInputParams(n),c=this._def;if(i.parsedType!==h.array)return L(i,{code:U.invalid_type,expected:h.array,received:i.parsedType}),g;if(c.exactLength!==null){let x=i.data.length>c.exactLength.value,m=i.data.length<c.exactLength.value;if(x||m)L(i,{code:x?U.too_big:U.too_small,minimum:m?c.exactLength.value:void 0,maximum:x?c.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:c.exactLength.message}),o.dirty()}if(c.minLength!==null){if(i.data.length<c.minLength.value)L(i,{code:U.too_small,minimum:c.minLength.value,type:"array",inclusive:!0,exact:!1,message:c.minLength.message}),o.dirty()}if(c.maxLength!==null){if(i.data.length>c.maxLength.value)L(i,{code:U.too_big,maximum:c.maxLength.value,type:"array",inclusive:!0,exact:!1,message:c.maxLength.message}),o.dirty()}if(i.common.async)return Promise.all([...i.data].map((x,m)=>{return c.type._parseAsync(new Fo(i,x,i.path,m))})).then((x)=>{return Mi.mergeArray(o,x)});let p=[...i.data].map((x,m)=>{return c.type._parseSync(new Fo(i,x,i.path,m))});return Mi.mergeArray(o,p)}get element(){return this._def.type}min(n,i){return new Ao({...this._def,minLength:{value:n,message:k.toString(i)}})}max(n,i){return new Ao({...this._def,maxLength:{value:n,message:k.toString(i)}})}length(n,i){return new Ao({...this._def,exactLength:{value:n,message:k.toString(i)}})}nonempty(n){return this.min(1,n)}}Ao.create=(n,i)=>{return new Ao({type:n,minLength:null,maxLength:null,exactLength:null,typeName:t.ZodArray,...cn(i)})};function _p(n){if(n instanceof un){let i={};for(let o in n.shape){let c=n.shape[o];i[o]=To.create(_p(c))}return new un({...n._def,shape:()=>i})}else if(n instanceof Ao)return new Ao({...n._def,type:_p(n.element)});else if(n instanceof To)return To.create(_p(n.unwrap()));else if(n instanceof ho)return ho.create(_p(n.unwrap()));else if(n instanceof Qo)return Qo.create(n.items.map((i)=>_p(i)));else return n}class un extends pn{constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let n=this._def.shape(),i=Tn.objectKeys(n);return this._cached={shape:n,keys:i}}_parse(n){if(this._getType(n)!==h.object){let a=this._getOrReturnCtx(n);return L(a,{code:U.invalid_type,expected:h.object,received:a.parsedType}),g}let{status:o,ctx:c}=this._processInputParams(n),{shape:p,keys:x}=this._getCached(),m=[];if(!(this._def.catchall instanceof zo&&this._def.unknownKeys==="strip")){for(let a in c.data)if(!x.includes(a))m.push(a)}let f=[];for(let a of x){let v=p[a],$=c.data[a];f.push({key:{status:"valid",value:a},value:v._parse(new Fo(c,$,c.path,a)),alwaysSet:a in c.data})}if(this._def.catchall instanceof zo){let a=this._def.unknownKeys;if(a==="passthrough")for(let v of m)f.push({key:{status:"valid",value:v},value:{status:"valid",value:c.data[v]}});else if(a==="strict"){if(m.length>0)L(c,{code:U.unrecognized_keys,keys:m}),o.dirty()}else if(a==="strip");else throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let a=this._def.catchall;for(let v of m){let $=c.data[v];f.push({key:{status:"valid",value:v},value:a._parse(new Fo(c,$,c.path,v)),alwaysSet:v in c.data})}}if(c.common.async)return Promise.resolve().then(async()=>{let a=[];for(let v of f){let $=await v.key,w=await v.value;a.push({key:$,value:w,alwaysSet:v.alwaysSet})}return a}).then((a)=>{return Mi.mergeObjectSync(o,a)});else return Mi.mergeObjectSync(o,f)}get shape(){return this._def.shape()}strict(n){return k.errToObj,new un({...this._def,unknownKeys:"strict",...n!==void 0?{errorMap:(i,o)=>{var c,p,x,m;let f=(x=(p=(c=this._def).errorMap)===null||p===void 0?void 0:p.call(c,i,o).message)!==null&&x!==void 0?x:o.defaultError;if(i.code==="unrecognized_keys")return{message:(m=k.errToObj(n).message)!==null&&m!==void 0?m:f};return{message:f}}}:{}})}strip(){return new un({...this._def,unknownKeys:"strip"})}passthrough(){return new un({...this._def,unknownKeys:"passthrough"})}extend(n){return new un({...this._def,shape:()=>({...this._def.shape(),...n})})}merge(n){return new un({unknownKeys:n._def.unknownKeys,catchall:n._def.catchall,shape:()=>({...this._def.shape(),...n._def.shape()}),typeName:t.ZodObject})}setKey(n,i){return this.augment({[n]:i})}catchall(n){return new un({...this._def,catchall:n})}pick(n){let i={};return Tn.objectKeys(n).forEach((o)=>{if(n[o]&&this.shape[o])i[o]=this.shape[o]}),new un({...this._def,shape:()=>i})}omit(n){let i={};return Tn.objectKeys(this.shape).forEach((o)=>{if(!n[o])i[o]=this.shape[o]}),new un({...this._def,shape:()=>i})}deepPartial(){return _p(this)}partial(n){let i={};return Tn.objectKeys(this.shape).forEach((o)=>{let c=this.shape[o];if(n&&!n[o])i[o]=c;else i[o]=c.optional()}),new un({...this._def,shape:()=>i})}required(n){let i={};return Tn.objectKeys(this.shape).forEach((o)=>{if(n&&!n[o])i[o]=this.shape[o];else{let p=this.shape[o];while(p instanceof To)p=p._def.innerType;i[o]=p}}),new un({...this._def,shape:()=>i})}keyof(){return oR(Tn.objectKeys(this.shape))}}un.create=(n,i)=>{return new un({shape:()=>n,unknownKeys:"strip",catchall:zo.create(),typeName:t.ZodObject,...cn(i)})};un.strictCreate=(n,i)=>{return new un({shape:()=>n,unknownKeys:"strict",catchall:zo.create(),typeName:t.ZodObject,...cn(i)})};un.lazycreate=(n,i)=>{return new un({shape:n,unknownKeys:"strip",catchall:zo.create(),typeName:t.ZodObject,...cn(i)})};class hp extends pn{_parse(n){let{ctx:i}=this._processInputParams(n),o=this._def.options;function c(p){for(let m of p)if(m.result.status==="valid")return m.result;for(let m of p)if(m.result.status==="dirty")return i.common.issues.push(...m.ctx.common.issues),m.result;let x=p.map((m)=>new Ii(m.ctx.common.issues));return L(i,{code:U.invalid_union,unionErrors:x}),g}if(i.common.async)return Promise.all(o.map(async(p)=>{let x={...i,common:{...i.common,issues:[]},parent:null};return{result:await p._parseAsync({data:i.data,path:i.path,parent:x}),ctx:x}})).then(c);else{let p=void 0,x=[];for(let f of o){let a={...i,common:{...i.common,issues:[]},parent:null},v=f._parseSync({data:i.data,path:i.path,parent:a});if(v.status==="valid")return v;else if(v.status==="dirty"&&!p)p={result:v,ctx:a};if(a.common.issues.length)x.push(a.common.issues)}if(p)return i.common.issues.push(...p.ctx.common.issues),p.result;let m=x.map((f)=>new Ii(f));return L(i,{code:U.invalid_union,unionErrors:m}),g}}get options(){return this._def.options}}hp.create=(n,i)=>{return new hp({options:n,typeName:t.ZodUnion,...cn(i)})};var Do=(n)=>{if(n instanceof up)return Do(n.schema);else if(n instanceof no)return Do(n.innerType());else if(n instanceof Ip)return[n.value];else if(n instanceof vc)return n.options;else if(n instanceof yp)return Tn.objectValues(n.enum);else if(n instanceof kp)return Do(n._def.innerType);else if(n instanceof Dp)return[void 0];else if(n instanceof Np)return[null];else if(n instanceof To)return[void 0,...Do(n.unwrap())];else if(n instanceof ho)return[null,...Do(n.unwrap())];else if(n instanceof Nf)return Do(n.unwrap());else if(n instanceof qp)return Do(n.unwrap());else if(n instanceof Zp)return Do(n._def.innerType);else return[]};class Df extends pn{_parse(n){let{ctx:i}=this._processInputParams(n);if(i.parsedType!==h.object)return L(i,{code:U.invalid_type,expected:h.object,received:i.parsedType}),g;let o=this.discriminator,c=i.data[o],p=this.optionsMap.get(c);if(!p)return L(i,{code:U.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[o]}),g;if(i.common.async)return p._parseAsync({data:i.data,path:i.path,parent:i});else return p._parseSync({data:i.data,path:i.path,parent:i})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(n,i,o){let c=new Map;for(let p of i){let x=Do(p.shape[n]);if(!x.length)throw new Error(`A discriminator value for key \`${n}\` could not be extracted from all schema options`);for(let m of x){if(c.has(m))throw new Error(`Discriminator property ${String(n)} has duplicate value ${String(m)}`);c.set(m,p)}}return new Df({typeName:t.ZodDiscriminatedUnion,discriminator:n,options:i,optionsMap:c,...cn(o)})}}function M0(n,i){let o=No(n),c=No(i);if(n===i)return{valid:!0,data:n};else if(o===h.object&&c===h.object){let p=Tn.objectKeys(i),x=Tn.objectKeys(n).filter((f)=>p.indexOf(f)!==-1),m={...n,...i};for(let f of x){let a=M0(n[f],i[f]);if(!a.valid)return{valid:!1};m[f]=a.data}return{valid:!0,data:m}}else if(o===h.array&&c===h.array){if(n.length!==i.length)return{valid:!1};let p=[];for(let x=0;x<n.length;x++){let m=n[x],f=i[x],a=M0(m,f);if(!a.valid)return{valid:!1};p.push(a.data)}return{valid:!0,data:p}}else if(o===h.date&&c===h.date&&+n===+i)return{valid:!0,data:n};else return{valid:!1}}class Cp extends pn{_parse(n){let{status:i,ctx:o}=this._processInputParams(n),c=(p,x)=>{if(l0(p)||l0(x))return g;let m=M0(p.value,x.value);if(!m.valid)return L(o,{code:U.invalid_intersection_types}),g;if(H0(p)||H0(x))i.dirty();return{status:i.value,value:m.data}};if(o.common.async)return Promise.all([this._def.left._parseAsync({data:o.data,path:o.path,parent:o}),this._def.right._parseAsync({data:o.data,path:o.path,parent:o})]).then(([p,x])=>c(p,x));else return c(this._def.left._parseSync({data:o.data,path:o.path,parent:o}),this._def.right._parseSync({data:o.data,path:o.path,parent:o}))}}Cp.create=(n,i,o)=>{return new Cp({left:n,right:i,typeName:t.ZodIntersection,...cn(o)})};class Qo extends pn{_parse(n){let{status:i,ctx:o}=this._processInputParams(n);if(o.parsedType!==h.array)return L(o,{code:U.invalid_type,expected:h.array,received:o.parsedType}),g;if(o.data.length<this._def.items.length)return L(o,{code:U.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),g;if(!this._def.rest&&o.data.length>this._def.items.length)L(o,{code:U.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),i.dirty();let p=[...o.data].map((x,m)=>{let f=this._def.items[m]||this._def.rest;if(!f)return null;return f._parse(new Fo(o,x,o.path,m))}).filter((x)=>!!x);if(o.common.async)return Promise.all(p).then((x)=>{return Mi.mergeArray(i,x)});else return Mi.mergeArray(i,p)}get items(){return this._def.items}rest(n){return new Qo({...this._def,rest:n})}}Qo.create=(n,i)=>{if(!Array.isArray(n))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Qo({items:n,typeName:t.ZodTuple,rest:null,...cn(i)})};class kx extends pn{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(n){let{status:i,ctx:o}=this._processInputParams(n);if(o.parsedType!==h.object)return L(o,{code:U.invalid_type,expected:h.object,received:o.parsedType}),g;let c=[],p=this._def.keyType,x=this._def.valueType;for(let m in o.data)c.push({key:p._parse(new Fo(o,m,o.path,m)),value:x._parse(new Fo(o,o.data[m],o.path,m)),alwaysSet:m in o.data});if(o.common.async)return Mi.mergeObjectAsync(i,c);else return Mi.mergeObjectSync(i,c)}get element(){return this._def.valueType}static create(n,i,o){if(i instanceof pn)return new kx({keyType:n,valueType:i,typeName:t.ZodRecord,...cn(o)});return new kx({keyType:Jo.create(),valueType:n,typeName:t.ZodRecord,...cn(i)})}}class Zx extends pn{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(n){let{status:i,ctx:o}=this._processInputParams(n);if(o.parsedType!==h.map)return L(o,{code:U.invalid_type,expected:h.map,received:o.parsedType}),g;let c=this._def.keyType,p=this._def.valueType,x=[...o.data.entries()].map(([m,f],a)=>{return{key:c._parse(new Fo(o,m,o.path,[a,"key"])),value:p._parse(new Fo(o,f,o.path,[a,"value"]))}});if(o.common.async){let m=new Map;return Promise.resolve().then(async()=>{for(let f of x){let a=await f.key,v=await f.value;if(a.status==="aborted"||v.status==="aborted")return g;if(a.status==="dirty"||v.status==="dirty")i.dirty();m.set(a.value,v.value)}return{status:i.value,value:m}})}else{let m=new Map;for(let f of x){let{key:a,value:v}=f;if(a.status==="aborted"||v.status==="aborted")return g;if(a.status==="dirty"||v.status==="dirty")i.dirty();m.set(a.value,v.value)}return{status:i.value,value:m}}}}Zx.create=(n,i,o)=>{return new Zx({valueType:i,keyType:n,typeName:t.ZodMap,...cn(o)})};class uc extends pn{_parse(n){let{status:i,ctx:o}=this._processInputParams(n);if(o.parsedType!==h.set)return L(o,{code:U.invalid_type,expected:h.set,received:o.parsedType}),g;let c=this._def;if(c.minSize!==null){if(o.data.size<c.minSize.value)L(o,{code:U.too_small,minimum:c.minSize.value,type:"set",inclusive:!0,exact:!1,message:c.minSize.message}),i.dirty()}if(c.maxSize!==null){if(o.data.size>c.maxSize.value)L(o,{code:U.too_big,maximum:c.maxSize.value,type:"set",inclusive:!0,exact:!1,message:c.maxSize.message}),i.dirty()}let p=this._def.valueType;function x(f){let a=new Set;for(let v of f){if(v.status==="aborted")return g;if(v.status==="dirty")i.dirty();a.add(v.value)}return{status:i.value,value:a}}let m=[...o.data.values()].map((f,a)=>p._parse(new Fo(o,f,o.path,a)));if(o.common.async)return Promise.all(m).then((f)=>x(f));else return x(m)}min(n,i){return new uc({...this._def,minSize:{value:n,message:k.toString(i)}})}max(n,i){return new uc({...this._def,maxSize:{value:n,message:k.toString(i)}})}size(n,i){return this.min(n,i).max(n,i)}nonempty(n){return this.min(1,n)}}uc.create=(n,i)=>{return new uc({valueType:n,minSize:null,maxSize:null,typeName:t.ZodSet,...cn(i)})};class bp extends pn{constructor(){super(...arguments);this.validate=this.implement}_parse(n){let{ctx:i}=this._processInputParams(n);if(i.parsedType!==h.function)return L(i,{code:U.invalid_type,expected:h.function,received:i.parsedType}),g;function o(m,f){return jf({data:m,path:i.path,errorMaps:[i.common.contextualErrorMap,i.schemaErrorMap,bf(),jp].filter((a)=>!!a),issueData:{code:U.invalid_arguments,argumentsError:f}})}function c(m,f){return jf({data:m,path:i.path,errorMaps:[i.common.contextualErrorMap,i.schemaErrorMap,bf(),jp].filter((a)=>!!a),issueData:{code:U.invalid_return_type,returnTypeError:f}})}let p={errorMap:i.common.contextualErrorMap},x=i.data;if(this._def.returns instanceof Ic){let m=this;return Ui(async function(...f){let a=new Ii([]),v=await m._def.args.parseAsync(f,p).catch((J)=>{throw a.addIssue(o(f,J)),a}),$=await Reflect.apply(x,this,v);return await m._def.returns._def.type.parseAsync($,p).catch((J)=>{throw a.addIssue(c($,J)),a})})}else{let m=this;return Ui(function(...f){let a=m._def.args.safeParse(f,p);if(!a.success)throw new Ii([o(f,a.error)]);let v=Reflect.apply(x,this,a.data),$=m._def.returns.safeParse(v,p);if(!$.success)throw new Ii([c(v,$.error)]);return $.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...n){return new bp({...this._def,args:Qo.create(n).rest(mc.create())})}returns(n){return new bp({...this._def,returns:n})}implement(n){return this.parse(n)}strictImplement(n){return this.parse(n)}static create(n,i,o){return new bp({args:n?n:Qo.create([]).rest(mc.create()),returns:i||mc.create(),typeName:t.ZodFunction,...cn(o)})}}class up extends pn{get schema(){return this._def.getter()}_parse(n){let{ctx:i}=this._processInputParams(n);return this._def.getter()._parse({data:i.data,path:i.path,parent:i})}}up.create=(n,i)=>{return new up({getter:n,typeName:t.ZodLazy,...cn(i)})};class Ip extends pn{_parse(n){if(n.data!==this._def.value){let i=this._getOrReturnCtx(n);return L(i,{received:i.data,code:U.invalid_literal,expected:this._def.value}),g}return{status:"valid",value:n.data}}get value(){return this._def.value}}Ip.create=(n,i)=>{return new Ip({value:n,typeName:t.ZodLiteral,...cn(i)})};function oR(n,i){return new vc({values:n,typeName:t.ZodEnum,...cn(i)})}class vc extends pn{constructor(){super(...arguments);hx.set(this,void 0)}_parse(n){if(typeof n.data!=="string"){let i=this._getOrReturnCtx(n),o=this._def.values;return L(i,{expected:Tn.joinValues(o),received:i.parsedType,code:U.invalid_type}),g}if(!Lf(this,hx,"f"))d6(this,hx,new Set(this._def.values),"f");if(!Lf(this,hx,"f").has(n.data)){let i=this._getOrReturnCtx(n),o=this._def.values;return L(i,{received:i.data,code:U.invalid_enum_value,options:o}),g}return Ui(n.data)}get options(){return this._def.values}get enum(){let n={};for(let i of this._def.values)n[i]=i;return n}get Values(){let n={};for(let i of this._def.values)n[i]=i;return n}get Enum(){let n={};for(let i of this._def.values)n[i]=i;return n}extract(n,i=this._def){return vc.create(n,{...this._def,...i})}exclude(n,i=this._def){return vc.create(this.options.filter((o)=>!n.includes(o)),{...this._def,...i})}}hx=new WeakMap;vc.create=oR;class yp extends pn{constructor(){super(...arguments);Cx.set(this,void 0)}_parse(n){let i=Tn.getValidEnumValues(this._def.values),o=this._getOrReturnCtx(n);if(o.parsedType!==h.string&&o.parsedType!==h.number){let c=Tn.objectValues(i);return L(o,{expected:Tn.joinValues(c),received:o.parsedType,code:U.invalid_type}),g}if(!Lf(this,Cx,"f"))d6(this,Cx,new Set(Tn.getValidEnumValues(this._def.values)),"f");if(!Lf(this,Cx,"f").has(n.data)){let c=Tn.objectValues(i);return L(o,{received:o.data,code:U.invalid_enum_value,options:c}),g}return Ui(n.data)}get enum(){return this._def.values}}Cx=new WeakMap;yp.create=(n,i)=>{return new yp({values:n,typeName:t.ZodNativeEnum,...cn(i)})};class Ic extends pn{unwrap(){return this._def.type}_parse(n){let{ctx:i}=this._processInputParams(n);if(i.parsedType!==h.promise&&i.common.async===!1)return L(i,{code:U.invalid_type,expected:h.promise,received:i.parsedType}),g;let o=i.parsedType===h.promise?i.data:Promise.resolve(i.data);return Ui(o.then((c)=>{return this._def.type.parseAsync(c,{path:i.path,errorMap:i.common.contextualErrorMap})}))}}Ic.create=(n,i)=>{return new Ic({type:n,typeName:t.ZodPromise,...cn(i)})};class no extends pn{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===t.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(n){let{status:i,ctx:o}=this._processInputParams(n),c=this._def.effect||null,p={addIssue:(x)=>{if(L(o,x),x.fatal)i.abort();else i.dirty()},get path(){return o.path}};if(p.addIssue=p.addIssue.bind(p),c.type==="preprocess"){let x=c.transform(o.data,p);if(o.common.async)return Promise.resolve(x).then(async(m)=>{if(i.value==="aborted")return g;let f=await this._def.schema._parseAsync({data:m,path:o.path,parent:o});if(f.status==="aborted")return g;if(f.status==="dirty")return Bp(f.value);if(i.value==="dirty")return Bp(f.value);return f});else{if(i.value==="aborted")return g;let m=this._def.schema._parseSync({data:x,path:o.path,parent:o});if(m.status==="aborted")return g;if(m.status==="dirty")return Bp(m.value);if(i.value==="dirty")return Bp(m.value);return m}}if(c.type==="refinement"){let x=(m)=>{let f=c.refinement(m,p);if(o.common.async)return Promise.resolve(f);if(f instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return m};if(o.common.async===!1){let m=this._def.schema._parseSync({data:o.data,path:o.path,parent:o});if(m.status==="aborted")return g;if(m.status==="dirty")i.dirty();return x(m.value),{status:i.value,value:m.value}}else return this._def.schema._parseAsync({data:o.data,path:o.path,parent:o}).then((m)=>{if(m.status==="aborted")return g;if(m.status==="dirty")i.dirty();return x(m.value).then(()=>{return{status:i.value,value:m.value}})})}if(c.type==="transform")if(o.common.async===!1){let x=this._def.schema._parseSync({data:o.data,path:o.path,parent:o});if(!Nc(x))return x;let m=c.transform(x.value,p);if(m instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:i.value,value:m}}else return this._def.schema._parseAsync({data:o.data,path:o.path,parent:o}).then((x)=>{if(!Nc(x))return x;return Promise.resolve(c.transform(x.value,p)).then((m)=>({status:i.value,value:m}))});Tn.assertNever(c)}}no.create=(n,i,o)=>{return new no({schema:n,typeName:t.ZodEffects,effect:i,...cn(o)})};no.createWithPreprocess=(n,i,o)=>{return new no({schema:i,effect:{type:"preprocess",transform:n},typeName:t.ZodEffects,...cn(o)})};class To extends pn{_parse(n){if(this._getType(n)===h.undefined)return Ui(void 0);return this._def.innerType._parse(n)}unwrap(){return this._def.innerType}}To.create=(n,i)=>{return new To({innerType:n,typeName:t.ZodOptional,...cn(i)})};class ho extends pn{_parse(n){if(this._getType(n)===h.null)return Ui(null);return this._def.innerType._parse(n)}unwrap(){return this._def.innerType}}ho.create=(n,i)=>{return new ho({innerType:n,typeName:t.ZodNullable,...cn(i)})};class kp extends pn{_parse(n){let{ctx:i}=this._processInputParams(n),o=i.data;if(i.parsedType===h.undefined)o=this._def.defaultValue();return this._def.innerType._parse({data:o,path:i.path,parent:i})}removeDefault(){return this._def.innerType}}kp.create=(n,i)=>{return new kp({innerType:n,typeName:t.ZodDefault,defaultValue:typeof i.default==="function"?i.default:()=>i.default,...cn(i)})};class Zp extends pn{_parse(n){let{ctx:i}=this._processInputParams(n),o={...i,common:{...i.common,issues:[]}},c=this._def.innerType._parse({data:o.data,path:o.path,parent:{...o}});if(ux(c))return c.then((p)=>{return{status:"valid",value:p.status==="valid"?p.value:this._def.catchValue({get error(){return new Ii(o.common.issues)},input:o.data})}});else return{status:"valid",value:c.status==="valid"?c.value:this._def.catchValue({get error(){return new Ii(o.common.issues)},input:o.data})}}removeCatch(){return this._def.innerType}}Zp.create=(n,i)=>{return new Zp({innerType:n,typeName:t.ZodCatch,catchValue:typeof i.catch==="function"?i.catch:()=>i.catch,...cn(i)})};class qx extends pn{_parse(n){if(this._getType(n)!==h.nan){let o=this._getOrReturnCtx(n);return L(o,{code:U.invalid_type,expected:h.nan,received:o.parsedType}),g}return{status:"valid",value:n.data}}}qx.create=(n)=>{return new qx({typeName:t.ZodNaN,...cn(n)})};var dG=Symbol("zod_brand");class Nf extends pn{_parse(n){let{ctx:i}=this._processInputParams(n),o=i.data;return this._def.type._parse({data:o,path:i.path,parent:i})}unwrap(){return this._def.type}}class Px extends pn{_parse(n){let{status:i,ctx:o}=this._processInputParams(n);if(o.common.async)return(async()=>{let p=await this._def.in._parseAsync({data:o.data,path:o.path,parent:o});if(p.status==="aborted")return g;if(p.status==="dirty")return i.dirty(),Bp(p.value);else return this._def.out._parseAsync({data:p.value,path:o.path,parent:o})})();else{let c=this._def.in._parseSync({data:o.data,path:o.path,parent:o});if(c.status==="aborted")return g;if(c.status==="dirty")return i.dirty(),{status:"dirty",value:c.value};else return this._def.out._parseSync({data:c.value,path:o.path,parent:o})}}static create(n,i){return new Px({in:n,out:i,typeName:t.ZodPipeline})}}class qp extends pn{_parse(n){let i=this._def.innerType._parse(n),o=(c)=>{if(Nc(c))c.value=Object.freeze(c.value);return c};return ux(i)?i.then((c)=>o(c)):o(i)}unwrap(){return this._def.innerType}}qp.create=(n,i)=>{return new qp({innerType:n,typeName:t.ZodReadonly,...cn(i)})};function r6(n,i){let o=typeof n==="function"?n(i):typeof n==="string"?{message:n}:n;return typeof o==="string"?{message:o}:o}function cR(n,i={},o){if(n)return Cc.create().superRefine((c,p)=>{var x,m;let f=n(c);if(f instanceof Promise)return f.then((a)=>{var v,$;if(!a){let w=r6(i,c),J=($=(v=w.fatal)!==null&&v!==void 0?v:o)!==null&&$!==void 0?$:!0;p.addIssue({code:"custom",...w,fatal:J})}});if(!f){let a=r6(i,c),v=(m=(x=a.fatal)!==null&&x!==void 0?x:o)!==null&&m!==void 0?m:!0;p.addIssue({code:"custom",...a,fatal:v})}return});return Cc.create()}var eG={object:un.lazycreate},t;(function(n){n.ZodString="ZodString",n.ZodNumber="ZodNumber",n.ZodNaN="ZodNaN",n.ZodBigInt="ZodBigInt",n.ZodBoolean="ZodBoolean",n.ZodDate="ZodDate",n.ZodSymbol="ZodSymbol",n.ZodUndefined="ZodUndefined",n.ZodNull="ZodNull",n.ZodAny="ZodAny",n.ZodUnknown="ZodUnknown",n.ZodNever="ZodNever",n.ZodVoid="ZodVoid",n.ZodArray="ZodArray",n.ZodObject="ZodObject",n.ZodUnion="ZodUnion",n.ZodDiscriminatedUnion="ZodDiscriminatedUnion",n.ZodIntersection="ZodIntersection",n.ZodTuple="ZodTuple",n.ZodRecord="ZodRecord",n.ZodMap="ZodMap",n.ZodSet="ZodSet",n.ZodFunction="ZodFunction",n.ZodLazy="ZodLazy",n.ZodLiteral="ZodLiteral",n.ZodEnum="ZodEnum",n.ZodEffects="ZodEffects",n.ZodNativeEnum="ZodNativeEnum",n.ZodOptional="ZodOptional",n.ZodNullable="ZodNullable",n.ZodDefault="ZodDefault",n.ZodCatch="ZodCatch",n.ZodPromise="ZodPromise",n.ZodBranded="ZodBranded",n.ZodPipeline="ZodPipeline",n.ZodReadonly="ZodReadonly"})(t||(t={}));var nY=(n,i={message:`Input not instance of ${n.name}`})=>cR((o)=>o instanceof n,i),pR=Jo.create,xR=fc.create,iY=qx.create,oY=ac.create,mR=Lp.create,cY=hc.create,pY=Ix.create,xY=Dp.create,mY=Np.create,fY=Cc.create,aY=mc.create,vY=zo.create,$Y=yx.create,wY=Ao.create,JY=un.create,AY=un.strictCreate,TY=hp.create,FY=Df.create,RY=Cp.create,XY=Qo.create,WY=kx.create,KY=Zx.create,SY=uc.create,GY=bp.create,YY=up.create,lY=Ip.create,HY=vc.create,MY=yp.create,zY=Ic.create,t6=no.create,QY=To.create,EY=ho.create,OY=no.createWithPreprocess,UY=Px.create,VY=()=>pR().optional(),_Y=()=>xR().optional(),BY=()=>mR().optional(),bY={string:(n)=>Jo.create({...n,coerce:!0}),number:(n)=>fc.create({...n,coerce:!0}),boolean:(n)=>Lp.create({...n,coerce:!0}),bigint:(n)=>ac.create({...n,coerce:!0}),date:(n)=>hc.create({...n,coerce:!0})},jY=g,Kn=Object.freeze({__proto__:null,defaultErrorMap:jp,setErrorMap:OG,getErrorMap:bf,makeIssue:jf,EMPTY_PATH:UG,addIssueToContext:L,ParseStatus:Mi,INVALID:g,DIRTY:Bp,OK:Ui,isAborted:l0,isDirty:H0,isValid:Nc,isAsync:ux,get util(){return Tn},get objectUtil(){return Y0},ZodParsedType:h,getParsedType:No,ZodType:pn,datetimeRegex:iR,ZodString:Jo,ZodNumber:fc,ZodBigInt:ac,ZodBoolean:Lp,ZodDate:hc,ZodSymbol:Ix,ZodUndefined:Dp,ZodNull:Np,ZodAny:Cc,ZodUnknown:mc,ZodNever:zo,ZodVoid:yx,ZodArray:Ao,ZodObject:un,ZodUnion:hp,ZodDiscriminatedUnion:Df,ZodIntersection:Cp,ZodTuple:Qo,ZodRecord:kx,ZodMap:Zx,ZodSet:uc,ZodFunction:bp,ZodLazy:up,ZodLiteral:Ip,ZodEnum:vc,ZodNativeEnum:yp,ZodPromise:Ic,ZodEffects:no,ZodTransformer:no,ZodOptional:To,ZodNullable:ho,ZodDefault:kp,ZodCatch:Zp,ZodNaN:qx,BRAND:dG,ZodBranded:Nf,ZodPipeline:Px,ZodReadonly:qp,custom:cR,Schema:pn,ZodSchema:pn,late:eG,get ZodFirstPartyTypeKind(){return t},coerce:bY,any:fY,array:wY,bigint:oY,boolean:mR,date:cY,discriminatedUnion:FY,effect:t6,enum:HY,function:GY,instanceof:nY,intersection:RY,lazy:YY,literal:lY,map:KY,nan:iY,nativeEnum:MY,never:vY,null:mY,nullable:EY,number:xR,object:JY,oboolean:BY,onumber:_Y,optional:QY,ostring:VY,pipeline:UY,preprocess:OY,promise:zY,record:WY,set:SY,strictObject:AY,string:pR,symbol:pY,transformer:t6,tuple:XY,undefined:xY,union:TY,unknown:aY,void:$Y,NEVER:jY,ZodIssueCode:U,quotelessJson:EG,ZodError:Ii});var LY="__vite_start_time"in globalThis,DY=typeof window!=="undefined",rN="vitest"in globalThis,Pn=P6({isServer:!LY&&!DY,server:{CI:Kn.string().transform((n)=>!0).optional(),POSTGRES_USER:Kn.string(),POSTGRES_PASSWORD:Kn.string(),POSTGRES_DATABASE:Kn.string(),POSTGRES_HOST:Kn.string(),POSTGRES_PORT:Kn.string().transform((n)=>Number.parseInt(n,10)),BACKEND_PORT:Kn.string().transform((n)=>Number.parseInt(n,10)),RUN_WORKERS_FROM_SOURCE:Kn.union([Kn.literal("true"),Kn.literal("false")]).optional().transform((n)=>n==="true"),FRONTEND_PORT:Kn.string().transform((n)=>Number.parseInt(n,10)),FRONTEND_ORIGINS:Kn.string().transform((n)=>JSON.parse(n)).pipe(Kn.array(Kn.string())),OPENAI_API_KEY:Kn.string().optional()},clientPrefix:"VITE_",client:{VITE_BACKEND_ORIGIN:Kn.string(),VITE_USE_SELF_SIGNED_CERTIFICATE:Kn.union([Kn.literal("true"),Kn.literal("false")]).optional().transform((n)=>n==="true")},runtimeEnv:import.meta.env,emptyStringAsUndefined:!0});var aR=z0(import.meta.dirname,"../dev"),Q0=Pn.VITE_USE_SELF_SIGNED_CERTIFICATE?{cert:fR(z0(aR,"./cert.pem"),"utf-8"),key:fR(z0(aR,"./key.pem"),"utf-8")}:void 0;var $c=new Qa,mn=Pn.VITE_USE_SELF_SIGNED_CERTIFICATE?console:$c.logger;d.STORE.loggers[0]=new Wc("warn",void 0,mn);if(mn!==console)Object.assign(console,mn,{log:mn.info});import{spawn as NY}from"child_process";import{resolve as hY}from"path";function E0(n,i,o=n.logger){let c=Pn.RUN_WORKERS_FROM_SOURCE?"ts":"js",p=i.endsWith(".bun")?"bun":"node",m=[hY(import.meta.dir,`${i}.${c}`)];if(p==="node"&&c==="ts")m.push("--experimental-strip-types");let f=NY(p,m);return new Jx(f,i,o)}var vR=$a(av(),1);var CY=604800000,hf=(()=>{let{__userSessionMap:n}=globalThis;if(!n){n=globalThis.__userSessionMap=new Map;let i=new vR.CronJob("00 00 03 * * *",()=>{for(let[o,c]of n.entries()){let p=Date.now();for(let[x,m]of c.entries())if(p-m>CY)c.delete(x);if(c.size===0)n.delete(o)}});i.start(),process.on("exit",()=>{i.stop(),mn.info("\uD83D\uDEEC autoExpiry stopped")})}return n})();import _2 from"path";import $2 from"os";import w2 from"fs";var Cf=new Map,O0=new Map,U0=Symbol("OriginError"),Pp={};class io extends Promise{constructor(n,i,o,c,p={}){let x,m;super((f,a)=>{x=f,m=a});this.tagged=Array.isArray(n.raw),this.strings=n,this.args=i,this.handler=o,this.canceller=c,this.options=p,this.state=null,this.statement=null,this.resolve=(f)=>(this.active=!1,x(f)),this.reject=(f)=>(this.active=!1,m(f)),this.active=!1,this.cancelled=null,this.executed=!1,this.signature="",this[U0]=this.handler.debug?new Error:this.tagged&&uY(this.strings)}get origin(){return(this.handler.debug?this[U0].stack:this.tagged&&O0.has(this.strings)?O0.get(this.strings):O0.set(this.strings,this[U0].stack).get(this.strings))||""}static get[Symbol.species](){return Promise}cancel(){return this.canceller&&(this.canceller(this),this.canceller=null)}simple(){return this.options.simple=!0,this.options.prepare=!1,this}async readable(){return this.simple(),this.streaming=!0,this}async writable(){return this.simple(),this.streaming=!0,this}cursor(n=1,i){if(this.options.simple=!1,typeof n==="function")i=n,n=1;if(this.cursorRows=n,typeof i==="function")return this.cursorFn=i,this;let o;return{[Symbol.asyncIterator]:()=>({next:()=>{if(this.executed&&!this.active)return{done:!0};o&&o();let c=new Promise((p,x)=>{this.cursorFn=(m)=>{return p({value:m,done:!1}),new Promise((f)=>o=f)},this.resolve=()=>(this.active=!1,p({done:!0})),this.reject=(m)=>(this.active=!1,x(m))});return this.execute(),c},return(){return o&&o(Pp),{done:!0}}})}}describe(){return this.options.simple=!1,this.onlyDescribe=this.options.prepare=!0,this}stream(){throw new Error(".stream has been renamed to .forEach")}forEach(n){return this.forEachFn=n,this.handle(),this}raw(){return this.isRaw=!0,this}values(){return this.isRaw="values",this}async handle(){!this.executed&&(this.executed=!0)&&await 1&&this.handler(this)}execute(){return this.handle(),this}then(){return this.handle(),super.then.apply(this,arguments)}catch(){return this.handle(),super.catch.apply(this,arguments)}finally(){return this.handle(),super.finally.apply(this,arguments)}}function uY(n){if(Cf.has(n))return Cf.get(n);let i=Error.stackTraceLimit;return Error.stackTraceLimit=4,Cf.set(n,new Error),Error.stackTraceLimit=i,Cf.get(n)}class sp extends Error{constructor(n){super(n.message);this.name=this.constructor.name,Object.assign(this,n)}}var tn={connection:$R,postgres:wR,generic:JR,notSupported:AR};function $R(n,i,o){let{host:c,port:p}=o||i,x=Object.assign(new Error("write "+n+" "+(i.path||c+":"+p)),{code:n,errno:n,address:i.path||c},i.path?{}:{port:p});return Error.captureStackTrace(x,$R),x}function wR(n){let i=new sp(n);return Error.captureStackTrace(i,wR),i}function JR(n,i){let o=Object.assign(new Error(n+": "+i),{code:n});return Error.captureStackTrace(o,JR),o}function AR(n){let i=Object.assign(new Error(n+" (B) is not supported"),{code:"MESSAGE_NOT_SUPPORTED",name:n});return Error.captureStackTrace(i,AR),i}var IY={string:{to:25,from:null,serialize:(n)=>""+n},number:{to:0,from:[21,23,26,700,701],serialize:(n)=>""+n,parse:(n)=>+n},json:{to:114,from:[114,3802],serialize:(n)=>JSON.stringify(n),parse:(n)=>JSON.parse(n)},boolean:{to:16,from:16,serialize:(n)=>n===!0?"t":"f",parse:(n)=>n==="t"},date:{to:1184,from:[1082,1114,1184],serialize:(n)=>(n instanceof Date?n:new Date(n)).toISOString(),parse:(n)=>new Date(n)},bytea:{to:17,from:17,serialize:(n)=>"\\x"+Buffer.from(n).toString("hex"),parse:(n)=>Buffer.from(n.slice(2),"hex")}};class yf{then(){V0()}catch(){V0()}finally(){V0()}}class gx extends yf{constructor(n){super();this.value=qf(n)}}class Eo extends yf{constructor(n,i,o){super();this.value=n,this.type=i,this.array=o}}class kf extends yf{constructor(n,i){super();this.first=n,this.rest=i}build(n,i,o,c){let p=yY.map(([x,m])=>({fn:m,i:n.search(x)})).sort((x,m)=>x.i-m.i).pop();return p.i===-1?L0(this.first,c):p.fn(this.first,this.rest,i,o,c)}}function Zf(n,i,o,c){let p=n instanceof Eo?n.value:n;if(p===void 0){if(n instanceof Eo?n.value=c.transform.undefined:p=n=c.transform.undefined,p===void 0)throw tn.generic("UNDEFINED_VALUE","Undefined values are not allowed")}return"$"+o.push(n instanceof Eo?(i.push(n.value),n.array?n.array[n.type||If(n.value)]||n.type||XR(n.value):n.type):(i.push(n),If(n)))}var FR=KR(IY);function b0(n,i,o,c,p,x){for(let m=1;m<n.strings.length;m++)i+=j0(i,o,c,p,x)+n.strings[m],o=n.args[m];return i}function j0(n,i,o,c,p){return i instanceof kf?i.build(n,o,c,p):i instanceof io?B0(i,o,c,p):i instanceof gx?i.value:i&&i[0]instanceof io?i.reduce((x,m)=>x+" "+B0(m,o,c,p),""):Zf(i,o,c,p)}function B0(n,i,o,c){return n.fragment=!0,b0(n,n.strings[0],n.args[0],i,o,c)}function RR(n,i,o,c,p){return n.map((x)=>"("+c.map((m)=>j0("values",x[m],i,o,p)).join(",")+")").join(",")}function TR(n,i,o,c,p){let x=Array.isArray(n[0]),m=i.length?i.flat():Object.keys(x?n[0]:n);return RR(x?n:[n],o,c,m,p)}function uf(n,i,o,c,p){if(typeof n==="string"&&(n=[n].concat(i)),Array.isArray(n))return L0(n,p);let x;return(i.length?i.flat():Object.keys(n)).map((f)=>{return x=n[f],(x instanceof io?B0(x,o,c,p):x instanceof gx?x.value:Zf(x,o,c,p))+" as "+qf(p.transform.column.to?p.transform.column.to(f):f)}).join(",")}var yY=Object.entries({values:TR,in:(...n)=>{let i=TR(...n);return i==="()"?"(null)":i},select:uf,as:uf,returning:uf,"\\(":uf,update(n,i,o,c,p){return(i.length?i.flat():Object.keys(n)).map((x)=>qf(p.transform.column.to?p.transform.column.to(x):x)+"="+j0("values",n[x],o,c,p))},insert(n,i,o,c,p){let x=i.length?i.flat():Object.keys(Array.isArray(n)?n[0]:n);return"("+L0(x,p)+")values"+RR(Array.isArray(n)?n:[n],o,c,x,p)}}).map(([n,i])=>[new RegExp("((?:^|[\\s(])"+n+"(?:$|[\\s(]))(?![\\s\\S]*\\1)","i"),i]);function V0(){throw tn.generic("NOT_TAGGED_CALL","Query not called as a tagged template literal")}var{serializers:kY,parsers:ZY}=FR;function XR(n){if(Array.isArray(n))return XR(n[0]);return typeof n==="string"?1009:0}var WR=function(n){let i=KR(n||{});return{serializers:Object.assign({},kY,i.serializers),parsers:Object.assign({},ZY,i.parsers)}};function KR(n){return Object.keys(n).reduce((i,o)=>{if(n[o].from&&[].concat(n[o].from).forEach((c)=>i.parsers[c]=n[o].parse),n[o].serialize)i.serializers[n[o].to]=n[o].serialize,n[o].from&&[].concat(n[o].from).forEach((c)=>i.serializers[c]=n[o].serialize);return i},{parsers:{},serializers:{}})}function L0(n,{transform:{column:i}}){return n.map((o)=>qf(i.to?i.to(o):o)).join(",")}var qf=function n(i){return'"'+i.replace(/"/g,'""').replace(/\./g,'"."')+'"'},If=function n(i){return i instanceof Eo?i.type:i instanceof Date?1184:i instanceof Uint8Array?17:i===!0||i===!1?16:typeof i==="bigint"?20:Array.isArray(i)?n(i[0]):0},qY=/\\/g,PY=/"/g;function sY(n){return n.replace(qY,"\\\\").replace(PY,"\\\"")}var SR=function n(i,o,c,p){if(Array.isArray(i)===!1)return i;if(!i.length)return"{}";let x=i[0],m=p===1020?";":",";if(Array.isArray(x)&&!x.type)return"{"+i.map((f)=>n(f,o,c,p)).join(m)+"}";return"{"+i.map((f)=>{if(f===void 0){if(f=c.transform.undefined,f===void 0)throw tn.generic("UNDEFINED_VALUE","Undefined values are not allowed")}return f===null?"null":'"'+sY(o?o(f.type?f.value:f):""+f)+'"'}).join(m)+"}"},_0={i:0,char:null,str:"",quoted:!1,last:0},GR=function n(i,o,c){return _0.i=_0.last=0,YR(_0,i,o,c)};function YR(n,i,o,c){let p=[],x=c===1020?";":",";for(;n.i<i.length;n.i++){if(n.char=i[n.i],n.quoted)if(n.char==="\\")n.str+=i[++n.i];else if(n.char==='"')p.push(o?o(n.str):n.str),n.str="",n.quoted=i[n.i+1]==='"',n.last=n.i+2;else n.str+=n.char;else if(n.char==='"')n.quoted=!0;else if(n.char==="{")n.last=++n.i,p.push(YR(n,i,o,c));else if(n.char==="}"){n.quoted=!1,n.last<n.i&&p.push(o?o(i.slice(n.last,n.i)):i.slice(n.last,n.i)),n.last=n.i+1;break}else if(n.char===x&&n.p!=="}"&&n.p!=='"')p.push(o?o(i.slice(n.last,n.i)):i.slice(n.last,n.i)),n.last=n.i+1;n.p=n.char}return n.last<n.i&&p.push(o?o(i.slice(n.last,n.i+1)):i.slice(n.last,n.i+1)),p}var yc=(n)=>{let i=n[0];for(let o=1;o<n.length;o++)i+=n[o]==="_"?n[++o].toUpperCase():n[o];return i},kc=(n)=>{let i=n[0].toUpperCase();for(let o=1;o<n.length;o++)i+=n[o]==="_"?n[++o].toUpperCase():n[o];return i},Zc=(n)=>n.replace(/_/g,"-"),sx=(n)=>n.replace(/([A-Z])/g,"_$1").toLowerCase(),rx=(n)=>(n.slice(0,1)+n.slice(1).replace(/([A-Z])/g,"_$1")).toLowerCase(),tx=(n)=>n.replace(/-/g,"_");function D0(n){return function i(o,c){return typeof o==="object"&&o!==null&&(c.type===114||c.type===3802)?Array.isArray(o)?o.map((p)=>i(p,c)):Object.entries(o).reduce((p,[x,m])=>Object.assign(p,{[n(x)]:i(m,c)}),{}):o}}yc.column={from:yc};yc.value={from:D0(yc)};sx.column={to:sx};var N0={...yc};N0.column.to=sx;kc.column={from:kc};kc.value={from:D0(kc)};rx.column={to:rx};var h0={...kc};h0.column.to=rx;Zc.column={from:Zc};Zc.value={from:D0(Zc)};tx.column={to:tx};var C0={...Zc};C0.column.to=tx;import lR from"net";import dY from"tls";import dx from"crypto";import u0 from"stream";import{performance as HR}from"perf_hooks";class qc extends Array{constructor(){super();Object.defineProperties(this,{count:{value:null,writable:!0},state:{value:null,writable:!0},command:{value:null,writable:!0},columns:{value:null,writable:!0},statement:{value:null,writable:!0}})}static get[Symbol.species](){return Array}}var yi=rY;function rY(n=[]){let i=n.slice(),o=0;return{get length(){return i.length-o},remove:(c)=>{let p=i.indexOf(c);return p===-1?null:(i.splice(p,1),c)},push:(c)=>(i.push(c),c),shift:()=>{let c=i[o++];if(o===i.length)o=0,i=[];else i[o-1]=void 0;return c}}}var zi=Buffer.allocUnsafe(256),tY="BCcDdEFfHPpQSX".split("").reduce((n,i)=>{let o=i.charCodeAt(0);return n[i]=()=>{return zi[0]=o,Qn.i=5,Qn},n},{}),Qn=Object.assign(gY,tY,{N:String.fromCharCode(0),i:0,inc(n){return Qn.i+=n,Qn},str(n){let i=Buffer.byteLength(n);return Pf(i),Qn.i+=zi.write(n,Qn.i,i,"utf8"),Qn},i16(n){return Pf(2),zi.writeUInt16BE(n,Qn.i),Qn.i+=2,Qn},i32(n,i){if(i||i===0)return zi.writeUInt32BE(n,i),Qn;return Pf(4),zi.writeUInt32BE(n,Qn.i),Qn.i+=4,Qn},z(n){return Pf(n),zi.fill(0,Qn.i,Qn.i+n),Qn.i+=n,Qn},raw(n){return zi=Buffer.concat([zi.subarray(0,Qn.i),n]),Qn.i=zi.length,Qn},end(n=1){zi.writeUInt32BE(Qn.i-n,n);let i=zi.subarray(0,Qn.i);return Qn.i=0,zi=Buffer.allocUnsafe(256),i}}),P=Qn;function Pf(n){if(zi.length-Qn.i<n){let i=zi,o=i.length;zi=Buffer.allocUnsafe(o+(o>>1)+n),i.copy(zi)}}function gY(){return Qn.i=0,Qn}var k0=QR,eY=1,wc=P().S().end(),MR=P().H().end(),n2=P().i32(8).i32(80877103).end(8),i2=Buffer.concat([P().E().str(P.N).i32(0).end(),wc]),o2=P().D().str("S").str(P.N).end(),rp=()=>{},c2=new Set(["FetchPreparedStatement","RevalidateCachedQuery","transformAssignedExpr"]),p2={83:"severity_local",86:"severity",67:"code",77:"message",68:"detail",72:"hint",80:"position",112:"internal_position",113:"internal_query",87:"where",115:"schema_name",116:"table_name",99:"column_name",100:"data type_name",110:"constraint_name",70:"file",76:"line",82:"routine"};function QR(n,i={},{onopen:o=rp,onend:c=rp,onclose:p=rp}={}){let{ssl:x,max:m,user:f,host:a,port:v,database:$,parsers:w,transform:J,onnotice:X,onnotify:W,onparameter:R,max_pipeline:S,keep_alive:l,backoff:H,target_session_attrs:I}=n,Y=yi(),z=eY++,E={pid:null,secret:null},Q=y0(fa,n.idle_timeout),b=y0(fa,n.max_lifetime),y=y0(m3,n.connect_timeout),M=null,fn,Z=new qc,an=Buffer.alloc(0),En=n.fetch_types,gn={},_i={},Oo=Math.random().toString(36).slice(2),O=1,q=0,Rn=0,Dn=0,dn=0,vn=0,_n=0,sn=0,hn=null,jn=null,Ti=!1,Bn=null,oo=null,Fi=null,Co=null,en=null,Ln=null,co=null,Xo=null,_=null,nx=null,Ri={queue:i.closed,idleTimer:Q,connect(A){Fi=A||!0,X$()},terminate:ox,execute:ix,cancel:o3,end:fa,count:0,id:z};return i.closed&&i.closed.push(Ri),Ri;async function i3(){let A;try{A=n.socket?await Promise.resolve(n.socket(n)):new lR.Socket}catch(K){tc(K);return}return A.on("error",tc),A.on("close",W$),A.on("drain",F$),A}async function o3({pid:A,secret:K},s,Xn){try{fn=P().i32(16).i32(80877102).i32(A).i32(K).end(16),await R$(),M.once("error",Xn),M.once("close",s)}catch(In){Xn(In)}}function ix(A){if(Ti)return xm(A,tn.connection("CONNECTION_DESTROYED",n));if(A.cancelled)return;try{return A.state=E,_?Y.push(A):(_=A,_.active=!0),x3(A),$i(c3(A))&&!A.describeFirst&&!A.cursorFn&&Y.length<S&&(!A.options.onexecute||A.options.onexecute(Ri))}catch(K){return Y.length===0&&$i(wc),Wo(K),!0}}function c3(A){if(A.parameters.length>=65534)throw tn.generic("MAX_PARAMETERS_EXCEEDED","Max number of parameters (65534) exceeded");return A.options.simple?P().Q().str(A.statement.string+P.N).end():A.describeFirst?Buffer.concat([J$(A),MR]):A.prepare?A.prepared?pm(A):Buffer.concat([J$(A),pm(A)]):p3(A)}function J$(A){return Buffer.concat([S$(A.statement.string,A.parameters,A.statement.types,A.statement.name),k3("S",A.statement.name)])}function pm(A){return Buffer.concat([y3(A.parameters,A.statement.types,A.statement.name,A.cursorName),A.cursorFn?G$("",A.cursorRows):i2])}function p3(A){return Buffer.concat([S$(A.statement.string,A.parameters,A.statement.types),o2,pm(A)])}function x3(A){let K=[],s=[],Xn=b0(A,A.strings[0],A.args[0],K,s,n);!A.tagged&&A.args.forEach((In)=>Zf(In,K,s,n)),A.prepare=n.prepare&&("prepare"in A.options?A.options.prepare:!0),A.string=Xn,A.signature=A.prepare&&s+Xn,A.onlyDescribe&&delete _i[A.signature],A.parameters=A.parameters||K,A.prepared=A.prepare&&A.signature in _i,A.describeFirst=A.onlyDescribe||K.length&&!A.prepared,A.statement=A.prepared?_i[A.signature]:{string:Xn,types:s,name:A.prepare?Oo+O++:""},typeof n.debug==="function"&&n.debug(z,Xn,K,s)}function $i(A,K){if(Ln=Ln?Buffer.concat([Ln,A]):Buffer.from(A),K||Ln.length>=1024)return A$(K);return jn===null&&(jn=setImmediate(A$)),!0}function A$(A){let K=M.write(Ln,A);return jn!==null&&clearImmediate(jn),Ln=jn=null,K}function m3(){Wo(tn.connection("CONNECT_TIMEOUT",n,M)),M.destroy()}async function T$(){if($i(n2),!await new Promise((K)=>M.once("data",(s)=>K(s[0]===83)))&&x==="prefer")return rc();M.removeAllListeners(),M=dY.connect({socket:M,servername:lR.isIP(M.host)?void 0:M.host,...x==="require"||x==="allow"||x==="prefer"?{rejectUnauthorized:!1}:x==="verify-full"?{}:typeof x==="object"?x:{}}),M.on("secureConnect",rc),M.on("error",tc),M.on("close",W$),M.on("drain",F$)}function F$(){!_&&o(Ri)}function ma(A){if(Bn){if(Bn.push(A),Rn-=A.length,Rn>=0)return}an=Bn?Buffer.concat(Bn,vn-Rn):an.length===0?A:Buffer.concat([an,A],an.length+A.length);while(an.length>4){if(vn=an.readUInt32BE(1),vn>=an.length){Rn=vn-an.length,Bn=[an];break}try{f3(an.subarray(0,vn+1))}catch(K){_&&(_.cursorFn||_.describeFirst)&&$i(wc),Wo(K)}an=an.subarray(vn+1),Rn=0,Bn=null}}async function R$(){if(Ti=!1,gn={},M||(M=await i3()),!M)return;if(y.start(),n.socket)return x?T$():rc();if(M.on("connect",x?T$:rc),n.path)return M.connect(n.path);M.ssl=x,M.connect(v[Dn],a[Dn]),M.host=a[Dn],M.port=v[Dn],Dn=(Dn+1)%v.length}function X$(){setTimeout(R$,q?q+_n-HR.now():0)}function rc(){try{_i={},En=n.fetch_types,Oo=Math.random().toString(36).slice(2),O=1,b.start(),M.on("data",ma),l&&M.setKeepAlive&&M.setKeepAlive(!0,1000*l);let A=q3();$i(A)}catch(A){tc(A)}}function tc(A){if(Ri.queue===i.connecting&&n.host[dn+1])return;Wo(A);while(Y.length)xm(Y.shift(),A)}function Wo(A){en&&(en.destroy(A),en=null),_&&xm(_,A),Fi&&(xm(Fi,A),Fi=null)}function xm(A,K){"query"in K||"parameters"in K||Object.defineProperties(K,{stack:{value:K.stack+A.origin.replace(/.*\n/,`
|
|
60
|
+
${m.trace}`:"No previous disposal trace was found."),c.type){case"atom_family":case"mutable_atom_family":return n.defaults.get(c.key);case"selector_family":case"readonly_selector_family":{if(n.defaults.has(c.key))return n.defaults.get(o.family.key);let f=Fn(n,c).default(x);return n.defaults.set(c.key,f),f}}}return yo(n,Fn(n,o))}class Zi extends Map{deleted=new Set;source;constructor(n){super();this.source=n}get(n){if(super.has(n))return super.get(n);if(!this.deleted.has(n)&&this.source.has(n))return this.source.get(n);return}set(n,i){return this.deleted.delete(n),super.set(n,i)}hasOwn(n){return super.has(n)}has(n){return!this.deleted.has(n)&&(super.has(n)||this.source.has(n))}delete(n){return this.deleted.add(n),super.delete(n)}}var d$=(n,i,o,c)=>{let p=B(n),x={parent:p,child:null,on:p.on,loggers:p.loggers,logger:p.logger,config:p.config,atoms:new Zi(p.atoms),atomsThatAreDefault:new Set(p.atomsThatAreDefault),families:new Zi(p.families),joins:new Zi(p.joins),operation:{open:!1},readonlySelectors:new Zi(p.readonlySelectors),timelines:new Zi(p.timelines),timelineTopics:new ii(p.timelineTopics.toJSON()),trackers:new Map,transactions:new Zi(p.transactions),selectorAtoms:new ii(p.selectorAtoms.toJSON()),selectorGraph:new ii(p.selectorGraph.toJSON(),{makeContentKey:(...v)=>v.sort().join(":")}),selectors:new Zi(p.selectors),valueMap:new Zi(p.valueMap),defaults:p.defaults,disposalTraces:n.disposalTraces.copy(),molecules:new Zi(p.molecules),moleculeGraph:new ii(p.moleculeGraph.toJSON(),{makeContentKey:p.moleculeGraph.makeContentKey}),moleculeData:new ii(p.moleculeData.toJSON(),{makeContentKey:p.moleculeData.makeContentKey}),moleculeJoins:new ii(p.moleculeJoins.toJSON(),{makeContentKey:p.moleculeJoins.makeContentKey}),miscResources:new Zi(p.miscResources)},m=e$(n,i),f={phase:"building",update:{type:"transaction_update",key:i,id:c,epoch:m===void 0?Number.NaN:m+1,updates:[],params:o,output:void 0},toolkit:{get:(...v)=>ln(a,...v),set:(...v)=>{On(a,...v)},run:(v,$=mm())=>gc(a,v,$),find:(v,$)=>r(a,v,$),json:(v)=>ni(a,v),dispose:(...v)=>{Xc(a,...v)},env:()=>g$(a)}},a=Object.assign(x,{transactionMeta:f});return p.child=a,n.logger.info("\uD83D\uDEEB","transaction",i,"Building transaction with params:",o),a};function Ra(n,i){let o={key:i.key,type:"transaction",run:(x,m)=>{let f=d$(n,i.key,x,m);try{let a=B(n),{toolkit:v}=f.transactionMeta,$=i.do(v,...x);return r$($,a),$}catch(a){throw Q$(c),n.logger.warn("\uD83D\uDCA5","transaction",i.key,"caught:",a),a}},install:(x)=>Ra(x,i),subject:new $n},c=B(n);c.transactions.set(o.key,o);let p=So(o);return n.on.transactionCreation.next(p),p}function e$(n,i){let o=oi(n),c=o?n.transactionMeta.actionContinuities.getRelatedKey(i):void 0;return o&&c!==void 0?n.transactionMeta.epoch.get(c):void 0}class n1{parent=null;child=null;valueMap=new Map;defaults=new Map;atoms=new Map;selectors=new Map;readonlySelectors=new Map;atomsThatAreDefault=new Set;selectorAtoms=new ii({between:["selectorKey","atomKey"],cardinality:"n:n"});selectorGraph=new ii({between:["upstreamSelectorKey","downstreamSelectorKey"],cardinality:"n:n"},{makeContentKey:(...n)=>n.sort().join(":")});trackers=new Map;families=new Map;joins=new Map;transactions=new Map;transactionMeta={epoch:new Map,actionContinuities:new ii({between:["continuity","action"],cardinality:"1:n"})};timelines=new Map;timelineTopics=new ii({between:["timelineKey","topicKey"],cardinality:"1:n"});disposalTraces=new fm(100);molecules=new Map;moleculeJoins=new ii({between:["moleculeKey","joinKey"],cardinality:"n:n"},{makeContentKey:(...n)=>n.sort().join(":")});moleculeGraph=new ii({between:["upstreamMoleculeKey","downstreamMoleculeKey"],cardinality:"n:n"},{makeContentKey:(...n)=>n.sort().join(":")});moleculeData=new ii({between:["moleculeKey","stateFamilyKey"],cardinality:"n:n"},{makeContentKey:(...n)=>n.sort().join(":")});miscResources=new Map;on={atomCreation:new $n,atomDisposal:new $n,selectorCreation:new $n,selectorDisposal:new $n,timelineCreation:new $n,transactionCreation:new $n,transactionApplying:new Ja(null),operationClose:new $n,moleculeCreation:new $n,moleculeDisposal:new $n};operation={open:!1};config={name:"IMPLICIT_STORE",lifespan:"ephemeral"};loggers=[new Wc("warn",(n,i,o)=>!o.includes("\uD83D\uDD0D"))];logger={error:(...n)=>{for(let i of this.loggers)i.error(...n)},info:(...n)=>{for(let i of this.loggers)i.info(...n)},warn:(...n)=>{for(let i of this.loggers)i.warn(...n)}};constructor(n,i=null){if(this.config={...i?.config,...n},i!==null){if(this.valueMap=new Map(i?.valueMap),this.operation={...i?.operation},oi(i))this.transactionMeta={epoch:new Map(i?.transactionMeta.epoch),actionContinuities:new ii(i?.transactionMeta.actionContinuities.toJSON())};for(let[,c]of i.families){if(c.internalRoles?.includes("mutable")||c.internalRoles?.includes("join"))continue;c.install(this)}let o=new Set;for(let[,c]of i.atoms){if(o.has(c.key))continue;if(c.install(this),c.type==="mutable_atom"){let p=ni(i,c),x=Uo(c);o.add(p.key),o.add(x.key)}}for(let[,c]of i.readonlySelectors)c.install(this);for(let[,c]of i.selectors){if(o.has(c.key))continue;c.install(this)}for(let[,c]of i.transactions)c.install(this);for(let[,c]of i.timelines)c.install(this)}}}var d={get STORE(){if(!globalThis.ATOM_IO_IMPLICIT_STORE)globalThis.ATOM_IO_IMPLICIT_STORE=new n1({name:"IMPLICIT_STORE",lifespan:"ephemeral"});return globalThis.ATOM_IO_IMPLICIT_STORE}};function Fn(n,i){let o,c=n;while(c!==null){switch(i.type){case"atom":case"mutable_atom":o=c.atoms.get(i.key);break;case"selector":o=c.selectors.get(i.key);break;case"readonly_selector":o=c.readonlySelectors.get(i.key);break;case"atom_family":case"mutable_atom_family":case"selector_family":case"readonly_selector_family":o=c.families.get(i.key);break;case"timeline":o=c.timelines.get(i.key);break;case"transaction":o=c.transactions.get(i.key);break}if(o)return o;c=c.child}throw new Tc(i,n)}function i1(n,i,o){let c=n.families.get(i.key);if(c===void 0)throw new Tc(i,n);let p=c(o),x=B(n);if(p.family){if(oi(x))switch(p.type){case"atom":case"mutable_atom":n.on.atomCreation.next(p);break;case"selector":case"readonly_selector":n.on.selectorCreation.next(p);break}else if(Gn(x)&&x.on.transactionApplying.state===null)x.transactionMeta.update.updates.push({type:"state_creation",token:p})}return p}function o1(n,i,o){let c=wn(o),p=`${i.key}(${c})`,x=B(n),m;switch(i.type){case"atom_family":case"mutable_atom_family":m=x.atoms.get(p);break;case"selector_family":m=x.selectors.get(p);break;case"readonly_selector_family":m=x.readonlySelectors.get(p);break}if(m)return So(m);return m}function r(n,i,o){let c=o1(n,i,o);if(c)return c;let p=wn(o),x=n.molecules.get(p);if(!x&&n.config.lifespan==="immortal"){let m=z$(i,o);return n.logger.error("\u274C",m.type,m.key,`was not found in store "${n.config.name}"; returned a counterfeit token.`),m}if(c=i1(n,i,o),x)B(n).moleculeData.set(p,i.key);return c}function Xc(n,...i){let o;if(i.length===1)o=i[0];else{let c=i[0],p=i[1];o=r(n,c,p)}try{Fn(n,o)}catch(c){n.logger.error("\u274C",o.type,o.key,`could not be disposed because it was not found in the store "${n.config.name}".`);return}switch(o.type){case"atom":case"mutable_atom":Xa(n,o);break;case"selector":case"readonly_selector":c1(n,o);break}}var Jm=(n,i)=>B(n).atoms.has(i),n7=(n,i)=>B(n).selectors.has(i),i7=(n,i)=>B(n).readonlySelectors.has(i),p1=(n,i)=>Jm(n,i)||n7(n,i)||i7(n,i);var Am=(n,i)=>{return B(i).selectorGraph.getRelationEntries({downstreamSelectorKey:n}).filter(([c,{source:p}])=>p!==n).map(([c,{source:p}])=>p).filter((c)=>p1(i,c))};var Wa=(n,i,o)=>{let c=[],p=Am(n,o);while(p.length>0){let x=p.shift();if(i.has(x))continue;if(i.add(x),!Jm(o,x))p.push(...Am(x,o));else if(!c.includes(x))c.push(x)}return c},x1=(n,i)=>{let o=n.key,c=Am(o,i),p=new Set;return c.flatMap((x)=>Jm(i,x)?x:Wa(x,p,i))};var m1=(n,i,o,c)=>{let p=B(c);if(i.type==="atom"||i.type==="mutable_atom")p.selectorAtoms.set({selectorKey:n,atomKey:i.key}),c.logger.info("\uD83D\uDD0D","selector",n,`discovers root atom "${i.key}"`);else{let x=Wa(i.key,o,c);c.logger.info("\uD83D\uDD0D","selector",n,`discovers root atoms: [ ${x.map((m)=>`"${m}"`).join(", ")} ]`);for(let m of x)p.selectorAtoms=p.selectorAtoms.set({selectorKey:n,atomKey:m})}o.add(i.key)};var Tm=(n,i,o)=>({get:(...c)=>{let p=B(o),x;if(c.length===2){let[a,v]=c;x=r(o,a,v)}else[x]=c;let m=Fn(o,x),f=yo(o,m);return o.logger.info("\uD83D\uDD0C","selector",n,`registers dependency ( "${x.key}" =`,f,")"),p.selectorGraph.set({upstreamSelectorKey:x.key,downstreamSelectorKey:n},{source:x.key}),m1(n,x,i,o),f},set:(...c)=>{let p,x;if(c.length===2)p=c[0],x=c[1];else{let a=c[0],v=c[1];x=c[2],p=r(o,a,v)}let m=B(o),f=Fn(m,p);vm(m,f,x)},find:(c,p)=>r(o,c,p),json:(c)=>ni(o,c)});var xx=(n,i,o)=>{let c=B(n),p=new $n,x=new Set,{get:m,find:f,json:a}=Tm(i.key,x,c),v=()=>{let X=i.get({get:m,find:f,json:a});return ki(B(n),i.key,X,p),x.clear(),X},$={...i,subject:p,install:(X)=>xx(X,i,o),get:v,type:"readonly_selector",...o&&{family:o}};c.readonlySelectors.set(i.key,$);let w=v();n.logger.info("\u2728",$.type,$.key,"=",w);let J={key:i.key,type:"readonly_selector"};if(o)J.family=o;return J};var ax=(n,i,o)=>{let c=B(n),p=new $n,x=new Set,m=Tm(i.key,x,c),{find:f,get:a,json:v}=m,$={find:f,get:a,json:v},w=(S=i.get,l=B(n))=>{let H=S($);return ki(l,i.key,H,p),x.clear(),H},X={...i,subject:p,install:(S)=>ax(S,i,o),get:w,set:(S)=>{let l=B(n),H=w(i.get,l),I=am(S)(H);if(n.logger.info("\uD83D\uDCDD","selector",i.key,"set (",H,"->",I,")"),ki(l,i.key,I,p),dc(l,i.key),oi(l))p.next({newValue:I,oldValue:H});i.set(m,I)},type:"selector",...o&&{family:o}};c.selectors.set(i.key,X);let W=w();n.logger.info("\u2728",X.type,X.key,"=",W);let R={key:i.key,type:"selector"};if(o)R.family=o;return R};function wa(n,i){if("set"in i){let p=ax(n,i,void 0);return n.on.selectorCreation.next(p),p}let c=xx(n,i,void 0);return n.on.selectorCreation.next(c),c}function c1(n,i){let o=B(n),{key:c}=i,p=Fn(o,i);if(!p.family)n.logger.error("\u274C","selector",c,"Standalone selectors cannot be disposed.");else{if(o.molecules.get(p.family.subKey))o.moleculeData.delete(p.family.subKey,p.family.key);let m;switch(i.type){case"selector":o.selectors.delete(c),m={key:p.family.key,type:"selector_family"},Fn(n,m).subject.next({type:"state_disposal",subType:"selector",token:i});break;case"readonly_selector":o.readonlySelectors.delete(c),m={key:p.family.key,type:"readonly_selector_family"},Fn(n,m).subject.next({type:"state_disposal",subType:"selector",token:i});break}if(o.valueMap.delete(c),o.selectorAtoms.delete(c),o.selectorGraph.delete(c),n.logger.info("\uD83D\uDD25",i.type,c,"deleted"),Gn(o)&&o.transactionMeta.phase==="building")o.transactionMeta.update.updates.push({type:"state_disposal",subType:"selector",token:i});else n.on.selectorDisposal.next(i)}}function mx(n,i,o){let c={key:i.key,type:"selector_family"},p=n.families.get(i.key);if(p)n.logger.error("\u2757","selector_family",i.key,`Overwriting an existing ${Ko(p)} "${p.key}" in store "${n.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let x=new $n,f=Object.assign((a)=>{let v=wn(a),$={key:i.key,subKey:v},w=`${i.key}(${v})`,J=B(n),X=ax(J,{key:w,get:i.get(a),set:i.set(a)},$);return x.next({type:"state_creation",token:X}),X},c,{internalRoles:o,subject:x,install:(a)=>mx(a,i),default:(a)=>{return i.get(a)({get:(...$)=>ln(n,...$),find:($,w)=>r(n,$,w),json:($)=>ni(n,$)})}});return n.families.set(i.key,f),c}function f1(n,i,o){return mx(n,{key:`${i.key}:JSON`,get:(p)=>({get:x})=>{let m=x(i,p);return o.toJson(m)},set:(p)=>({set:x},m)=>{x(i,p,o.fromJson(m))}},["mutable","json"])}var mi=(n)=>JSON.parse(n),wn=(n)=>JSON.stringify(n),_Q=[Array.prototype,Boolean.prototype,Number.prototype,Object.prototype,String.prototype];var a1=(n,i)=>{let o=B(n);if(o.operation.open)return o.operation.prev.get(i.key);return o.valueMap.get(i.key)};var Ga=(n,i)=>{let o=B(n);return x1(i,n).map((p)=>{let x=o.atoms.get(p);if(x===void 0)throw new Error(`Atom "${p}", a dependency of selector "${i.key}", not found in store "${n.config.name}".`);return x.subject.subscribe(`${i.type}:${i.key}`,(m)=>{n.logger.info("\uD83D\uDCE2",i.type,i.key,"root",p,"went",m.oldValue,"->",m.newValue);let f=a1(o,i),a=yo(o,i);n.logger.info("\u2728",i.type,i.key,"went",f,"->",a),i.subject.next({newValue:a,oldValue:f})})})};function Wi(n,i,o,c){function p(w){if(n.operation.open){let J=n.on.operationClose.subscribe(`state subscription ${o}`,()=>{J(),c(w)})}else c(w)}let x=Fn(n,i);n.logger.info("\uD83D\uDC40",x.type,x.key,`Adding subscription "${o}"`);let m=x.type==="selector"||x.type==="readonly_selector",f=null,a=p;if(m)f=Ga(n,x),a=(w)=>{if(f)f.length=0,f.push(...Ga(n,x));p(w)};let v=x.subject.subscribe(o,a);return()=>{if(n.logger.info("\uD83D\uDE48",x.type,x.key,`Removing subscription "${o}"`),v(),f)for(let w of f)w()}}var Ka=(n,i,o,c)=>{let p=Fn(n,i);n.logger.info("\uD83D\uDC40","timeline",i.key,`Adding subscription "${o}"`);let x=p.subject.subscribe(o,c);return()=>{n.logger.info("\uD83D\uDE48","timeline",i.key,`Removing subscription "${o}" from timeline`),x()}};var Sa=(n,i,o,c)=>{let p=Fn(n,i);n.logger.info("\uD83D\uDC40","transaction",i.key,`Adding subscription "${o}"`);let x=p.subject.subscribe(o,c);return()=>{n.logger.info("\uD83D\uDE48","transaction",i.key,`Removing subscription "${o}"`),x()}};class Kc{Update;initializeState(n,i){let o=`*${n.key}`;i.atoms.delete(o),i.valueMap.delete(o);let c=n.family?{key:`*${n.family.key}`,subKey:n.family.subKey}:void 0,p=Ac(i,{key:o,default:null},c);if(i.parent?.valueMap.has(o)){let x=i.parent.valueMap.get(o);i.valueMap.set(o,x)}return p}unsubscribeFromInnerValue;unsubscribeFromState;observeCore(n,i,o){let c=`tracker:${o.config.name}:${Gn(o)?o.transactionMeta.update.key:"main"}:${n.key}`,p=ln(o,n);this.unsubscribeFromInnerValue=p.subscribe(c,(x)=>{On(o,i,x)}),this.unsubscribeFromState=Wi(o,n,c,(x)=>{if(x.newValue!==x.oldValue)this.unsubscribeFromInnerValue(),this.unsubscribeFromInnerValue=x.newValue.subscribe(c,(m)=>{On(o,i,m)})})}updateCore(n,i,o){let c=`tracker:${o.config.name}:${Gn(o)?o.transactionMeta.update.key:"main"}:${n.key}`;Wi(o,i,c,({newValue:p,oldValue:x})=>{let m=o.timelineTopics.getRelatedKey(i.key);if(m){if(o.timelines.get(m)?.timeTraveling){let v=Ka(o,{key:m,type:"timeline"},c,($)=>{v(),On(o,n,(w)=>{if($==="redo"&&p)w.do(p);else if($==="undo"&&x)w.undo(x);return w})});return}}let f=o.on.operationClose.subscribe(c,()=>{f();let a=ln(o,n),v=p===null?-1:a.getUpdateNumber(p),$=v-a.cacheUpdateNumber;if(p&&$===1)On(o,n,(w)=>(w.do(p),w));else o.logger.info("\u274C","mutable_atom",n.key,`could not be updated. Expected update number ${a.cacheUpdateNumber+1}, but got ${v}`)})})}mutableState;latestUpdateState;[Symbol.dispose];constructor(n,i){this.mutableState=n;let o=B(i);this.latestUpdateState=this.initializeState(n,o),this.observeCore(n,this.latestUpdateState,o),this.updateCore(n,this.latestUpdateState,o),o.trackers.set(n.key,this),this[Symbol.dispose]=()=>{this.unsubscribeFromInnerValue(),this.unsubscribeFromState(),o.trackers.delete(n.key)}}}function vx(n,i,o){n.logger.info("\uD83D\uDD28","atom",i.key,`creating in store "${n.config.name}"`);let c=B(n),p=c.atoms.get(i.key);if(p&&p.type==="mutable_atom")return n.logger.error("\u274C","atom",i.key,"Tried to create atom, but it already exists in the store."),So(p);let x=new $n,m={...i,type:"mutable_atom",install:(v)=>{return v.logger.info("\uD83D\uDEE0\uFE0F","atom",i.key,`installing in store "${v.config.name}"`),vx(v,i,o)},subject:x};if(o)m.family=o;let f=i.default();c.atoms.set(m.key,m),Fm(n,i.key),ki(c,i.key,f,x);let a=So(m);if(i.effects){let v=0,$=[];for(let w of i.effects){let J=w({setSelf:(X)=>{On(n,a,X)},onSet:(X)=>Wi(n,a,`effect[${v}]`,X)});if(J)$.push(J);++v}m.cleanup=()=>{for(let w of $)w()}}if(new Kc(a,n),!o)l$(a,i,n);return a}class Ya{trackers=new Map;Update;latestUpdateAtoms;mutableAtoms;constructor(n,i){let o=Jc(i,{key:`*${n.key}`,default:null},["mutable","updates"]);this.latestUpdateAtoms=Fn(i,o),this.mutableAtoms=n,this.mutableAtoms.subject.subscribe(`store=${i.config.name}::tracker-atom-family`,(c)=>{let{type:p,token:x}=c;if(x.family){let m=mi(x.family.subKey);switch(p){case"state_creation":this.trackers.set(m,new Kc(x,i));break;case"state_disposal":{let f=this.trackers.get(m);if(f)f[Symbol.dispose](),this.trackers.delete(m)}break}}})}}function px(n,i,o){let c={key:i.key,type:"mutable_atom_family"},p=n.families.get(i.key);if(p)n.logger.error("\u2757","mutable_atom_family",i.key,`Overwriting an existing ${Ko(p)} "${p.key}" in store "${n.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);let x=new $n,f=Object.assign((a)=>{let v=wn(a),$={key:i.key,subKey:v},w=`${i.key}(${v})`,J=B(n),X={key:w,default:()=>i.default(a),toJson:i.toJson,fromJson:i.fromJson,mutable:!0};if(i.effects)X.effects=i.effects(a);let W=vx(J,X,$);return x.next({type:"state_creation",token:W}),W},c,{subject:x,install:(a)=>px(a,i),toJson:i.toJson,fromJson:i.fromJson,internalRoles:o});return n.families.set(i.key,f),f1(n,f,i),new Ya(f,n),c}var la=(n,i)=>{let o=B(i),c=`${n.key}:JSON`;return o.families.get(c)};var ni=(n,i)=>{if(i.family){let c=B(n),x={key:`${i.family.key}:JSON`,type:"selector_family"},m=Fn(c,x),f=JSON.parse(i.family.subKey);return r(n,m,f)}return{type:"selector",key:`${i.key}:JSON`}};var Uo=(n)=>{let o={type:"atom",key:`*${n.key}`};if(n.family)o.family={key:`*${n.family.key}`,subKey:n.family.subKey};return o};function j$(n){return typeof n==="object"&&n!==null&&"do"in n&&"undo"in n&&"subscribe"in n}function fx(n,i,o){let c=o.valueMap.get(i.key),p=n.valueMap.get(i.key);if(c===p){if(c===void 0)return typeof i.default==="function"?i.default():i.default;o.logger.info("\uD83D\uDCC3","atom",i.key,"copying");let x=i.toJson(c),m=i.fromJson(x);return n.valueMap.set(i.key,m),new Kc(i,o),m}return p}function ki(n,i,o,c){let p=n.valueMap.get(i);if(p instanceof cx)p.use(o);if(o instanceof Promise){let x=new cx(o);return n.valueMap.set(i,x),x.then((m)=>{ki(n,i,m,c),c.next({newValue:m,oldValue:x})}).catch((m)=>{n.logger.error("\uD83D\uDCA5","state",i,"rejected:",m)}),x}return n.valueMap.set(i,o),o}var E$=(n,i)=>{let o=i.valueMap.get(n.key);if(n.type==="mutable_atom"&&Gn(i)){let{parent:c}=i;o=fx(i,n,c)}return o},B$=(n,i)=>{let o=i.valueMap.get(n);if(o instanceof cx){let c=o,p=i.selectors.get(n)??i.readonlySelectors.get(n);if(p)c.use(p.get());return}if(i.operation.open)i.operation.prev.set(n,o);i.valueMap.delete(n),i.logger.info("\uD83D\uDDD1","state",n,"evicted")};var D$=(n,i)=>{return B(n).atomsThatAreDefault.has(i)},Fm=(n,i)=>{let o=B(n);o.atomsThatAreDefault=new Set(o.atomsThatAreDefault).add(i)},N$=(n,i)=>{let o=B(n);o.atomsThatAreDefault=new Set(B(n).atomsThatAreDefault),o.atomsThatAreDefault.delete(i)};function Ac(n,i,o){n.logger.info("\uD83D\uDD28","atom",i.key,`creating in store "${n.config.name}"`);let c=B(n),p=c.atoms.get(i.key);if(p&&p.type==="atom")return n.logger.error("\u274C","atom",i.key,"Tried to create atom, but it already exists in the store."),So(p);let x=new $n,m={...i,type:"atom",install:(v)=>{return v.logger.info("\uD83D\uDEE0\uFE0F","atom",i.key,`installing in store "${v.config.name}"`),Ac(v,i,o)},subject:x};if(o)m.family=o;let f=i.default;if(i.default instanceof Function)f=i.default();c.atoms.set(m.key,m),Fm(n,i.key),ki(c,i.key,f,x);let a=So(m);if(i.effects){let v=0,$=[];for(let w of i.effects){let J=w({setSelf:(X)=>{On(n,a,X)},onSet:(X)=>Wi(n,a,`effect[${v}]`,X)});if(J)$.push(J);++v}m.cleanup=()=>{for(let w of $)w()}}return a}function v1(n,i){if("mutable"in i){let p=vx(n,i,void 0);return n.on.atomCreation.next(p),p}let c=Ac(n,i,void 0);return n.on.atomCreation.next(c),c}function Xa(n,i){let o=B(n),{key:c,family:p}=i,x=Fn(o,i);if(!p)n.logger.error("\u274C","atom",c,"Standalone atoms cannot be disposed.");else{x.cleanup?.();let m=n.valueMap.get(x.key),f=Fn(n,{key:p.key,type:"atom_family"}),a={type:"state_disposal",subType:"atom",token:i,value:m};f.subject.next(a);let v=Gn(o);if(o.atoms.delete(c),o.valueMap.delete(c),o.selectorAtoms.delete(c),o.atomsThatAreDefault.delete(c),n.timelineTopics.delete(c),i.type==="mutable_atom"){let $=Uo(i);Xa(n,$),n.trackers.delete(c)}if(n.logger.info("\uD83D\uDD25","atom",c,"deleted"),v&&o.transactionMeta.phase==="building"){let $=o.transactionMeta.update.updates.at(-1);if(!($?.type==="molecule_disposal"&&$.values.some(([X])=>X===x.family?.key)))o.transactionMeta.update.updates.push(a)}else n.on.atomDisposal.next(i)}}class ci extends Set{mode="record";subject=new $n;cacheLimit=0;cache=[];cacheIdx=-1;cacheUpdateNumber=-1;constructor(n,i=0){super(n);if(n instanceof ci)this.parent=n,this.cacheUpdateNumber=n.cacheUpdateNumber;if(i)this.cacheLimit=i,this.cache=new Array(i),this.subscribe("auto cache",(o)=>{this.cacheIdx++,this.cacheIdx%=this.cacheLimit,this.cache[this.cacheIdx]=o})}toJSON(){return{members:[...this],cache:this.cache,cacheLimit:this.cacheLimit,cacheIdx:this.cacheIdx,cacheUpdateNumber:this.cacheUpdateNumber}}static fromJSON(n){let i=new ci(n.members,n.cacheLimit);return i.cache=n.cache,i.cacheIdx=n.cacheIdx,i.cacheUpdateNumber=n.cacheUpdateNumber,i}add(n){let i=super.add(n);if(this.mode==="record")this.cacheUpdateNumber++,this.emit(`add:${wn(n)}`);return i}clear(){let n=this.mode==="record"?[...this]:null;if(super.clear(),n)this.cacheUpdateNumber++,this.emit(`clear:${JSON.stringify(n)}`)}delete(n){let i=super.delete(n);if(this.mode==="record")this.cacheUpdateNumber++,this.emit(`del:${wn(n)}`);return i}parent;child=null;transactionUpdates=null;transaction(n){this.mode="transaction",this.transactionUpdates=[],this.child=new ci(this);let i=this.child._subscribe("transaction",(o)=>{this.transactionUpdates?.push(o)});try{if(n(this.child)){for(let c of this.transactionUpdates)this.doStep(c);this.cacheUpdateNumber++,this.emit(`tx:${this.transactionUpdates.join(";")}`)}}catch(o){throw console.warn("Did not apply transaction to SetRTX; this error was thrown:",o),o}finally{i(),this.child=null,this.transactionUpdates=null,this.mode="record"}}_subscribe(n,i){return this.subject.subscribe(n,i)}subscribe(n,i){return this.subject.subscribe(n,(o)=>{i(`${this.cacheUpdateNumber}=${o}`)})}emit(n){this.subject.next(n)}doStep(n){let i=n.indexOf(":"),o=n.substring(0,i),c=n.substring(i+1);switch(o){case"add":this.add(JSON.parse(c));break;case"clear":this.clear();break;case"del":this.delete(JSON.parse(c));break;case"tx":for(let p of c.split(";"))this.doStep(p)}}getUpdateNumber(n){let i=n.indexOf("=");return Number(n.substring(0,i))}do(n){let i=n.indexOf("="),o=Number(n.substring(0,i)),c=o-this.cacheUpdateNumber;if(c>0){if(c===1){this.mode="playback";let x=n.substring(i+1);return this.doStep(x),this.mode="record",this.cacheUpdateNumber=o,null}return this.cacheUpdateNumber+1}if(Math.abs(c)<this.cacheLimit){let x=this.cacheIdx+c;if(this.cache[x]===n)return null;this.mode="playback";let f=!1;while(!f){this.cacheIdx%=this.cacheLimit;let v=this.cache[this.cacheIdx];if(this.cacheIdx--,!v)return"OUT_OF_RANGE";this.undo(v),f=this.cacheIdx===x-1}let a=n.substring(i+1);return this.doStep(a),this.mode="record",this.cacheUpdateNumber=o,null}return"OUT_OF_RANGE"}undoStep(n){let i=n.indexOf(":"),o=n.substring(0,i),c=n.substring(i+1);switch(o){case"add":this.delete(JSON.parse(c));break;case"del":this.add(JSON.parse(c));break;case"clear":{let p=JSON.parse(c);for(let x of p)this.add(x);break}case"tx":{let p=c.split(";");for(let x=p.length-1;x>=0;x--)this.undoStep(p[x])}}}undo(n){let i=n.indexOf("=");if(Number(n.substring(0,i))===this.cacheUpdateNumber){this.mode="playback";let c=n.substring(i+1);return this.undoStep(c),this.mode="record",this.cacheUpdateNumber--,null}return this.cacheUpdateNumber}}class $x{toolkit;options;defaultContent;molecules=new Map;relations;states;core;transact(n,i){let o=this.toolkit;this.toolkit=n,i(this),this.toolkit=o}store;realm;[Symbol.dispose](){}constructor(n,i,o=d.STORE){this.store=o,this.realm=new Ha(o),this.options=n,this.defaultContent=i,this.store.miscResources.set(`join:${n.key}`,this),this.realm.allocate("root",n.key),this.toolkit={get:(...Y)=>ln(o,...Y),set:(...Y)=>{On(o,...Y)},find:(...Y)=>r(o,...Y),json:(Y)=>ni(o,Y)};let c=n.between[0],p=n.between[1],x=px(o,{key:`${n.key}/relatedKeys`,default:()=>new ci,mutable:!0,fromJson:(Y)=>ci.fromJSON(Y),toJson:(Y)=>Y.toJSON()},["join","relations"]);this.core={relatedKeysAtoms:x};let m=({get:Y},z)=>Y(x,z),f=({set:Y},z,E)=>{if(!this.store.molecules.has(wn(z)))this.realm.allocate(n.key,z);Y(x,z,(Q)=>Q.add(E)),Y(x,E,(Q)=>Q.add(z))},a=({set:Y},z,E)=>{Y(x,z,(Q)=>{return Q.delete(E),Q}),Y(x,E,(Q)=>{return Q.delete(z),Q})},v=(Y,z,E)=>{let{find:Q,get:b,set:y}=Y,M=Q(x,z),fn=b(M);for(let Z of fn){if(E.includes(Z))continue;y(x,Z,(En)=>{return En.delete(z),En})}y(M,(Z)=>{return Z.transaction((an)=>{an.clear();for(let En of E){let gn=m(Y,En),_i=gn.has(z);if(this.relations.cardinality==="1:n"){let Oo=[];for(let O of gn){if(O===z)continue;let q=m(Y,O);if(q.delete(En),q.size===0)Oo.push(O)}if(!_i&&gn.size>0)gn.clear();for(let O of Oo){let q=[En,O].sort(),Rn=`"${q[0]}:${q[1]}"`;this.molecules.delete(Rn)}}if(!_i)gn.add(z);an.add(En)}return!0}),Z})},$=(Y,z,E)=>{let{set:Q}=Y;Q(x,z,(b)=>{return b.transaction((y)=>{for(let M of E)y.add(M);return!0}),b});for(let b of E)Q(x,b,(y)=>{return y.add(z),y});return!0},w=(Y,z,E)=>{let Q=m(Y,z);return E?Q.has(E):Q.size>0},J={getRelatedKeys:(Y)=>m(this.toolkit,Y),addRelation:(Y,z)=>{this.store.moleculeJoins.set(Y,n.key),this.store.moleculeJoins.set(z,n.key),f(this.toolkit,Y,z)},deleteRelation:(Y,z)=>{a(this.toolkit,Y,z)},replaceRelationsSafely:(Y,z)=>{v(this.toolkit,Y,z)},replaceRelationsUnsafely:(Y,z)=>{$(this.toolkit,Y,z)},has:(Y,z)=>w(this.toolkit,Y,z)},X,W;if(i){W=Jc(o,{key:`${n.key}/content`,default:i},["join","content"]);let Y=({get:Q},b)=>Q(W,b),z=({set:Q},b,y)=>{Q(W,b,y)};X=Object.assign(J,{getContent:(Q)=>{return Y(this.toolkit,Q)},setContent:(Q,b)=>{z(this.toolkit,Q,b)},deleteContent:(Q)=>{this.realm.deallocate(Q)}})}else X=J;let R=new ii(n,{externalStore:X,isAType:n.isAType,isBType:n.isBType,makeContentKey:(...Y)=>{let[z,E]=Y,Q=Y.sort(),b=`${Q[0]}:${Q[1]}`,y=o.molecules.get(wn(z)),M=o.molecules.get(wn(E));if(!y)this.realm.allocate(n.key,z);if(!M)this.realm.allocate(n.key,E);return this.realm.allocate(z,b,"all"),this.realm.claim(E,b),this.store.moleculeJoins.set(b,n.key),b}}),S=()=>Io(o,{key:`${n.key}/singleRelatedKey`,get:(Y)=>({get:z})=>{let E=z(x,Y);for(let Q of E)return Q;return null}},["join","keys"]),l=()=>{return Io(o,{key:`${n.key}/multipleRelatedKeys`,get:(Y)=>({get:z})=>{let E=la(x,o);return z(E,Y).members}},["join","keys"])},H=()=>Io(o,{key:`${n.key}/singleRelatedEntry`,get:(Y)=>({get:z})=>{let E=z(x,Y);for(let Q of E){let b=R.isAType?.(Y)?Y:void 0,y=b===void 0?Y:void 0;b??=Q,y??=Q;let M=R.makeContentKey(b,y),fn=z(W,M);return[Q,fn]}return null}},["join","entries"]),I=()=>Io(o,{key:`${n.key}/multipleRelatedEntries`,get:(Y)=>({get:z})=>{let E=la(x,o);return z(E,Y).members.map((b)=>{let y=R.isAType?.(Y)?Y:void 0,M=y===void 0?Y:void 0;y??=b,M??=b;let fn=R.makeContentKey(y,M),Z=z(W,fn);return[b,Z]})}},["join","entries"]);switch(n.cardinality){case"1:1":{let Y=S(),z=`${c}KeyOf${Hn(p)}`,E=`${p}KeyOf${Hn(c)}`,Q={[z]:Y,[E]:Y},b;if(i){let y=H(),M=`${c}EntryOf${Hn(p)}`,fn=`${p}EntryOf${Hn(c)}`,Z={[M]:y,[fn]:y};b=Object.assign(Q,Z)}else b=Q;this.relations=R,this.states=b;break}case"1:n":{let Y=S(),z=l(),E=`${c}KeyOf${Hn(p)}`,Q=`${p}KeysOf${Hn(c)}`,b={[E]:Y,[Q]:z},y;if(i){let M=H(),fn=I(),Z=`${c}EntryOf${Hn(p)}`,an=`${p}EntriesOf${Hn(c)}`,En={[Z]:M,[an]:fn};y=Object.assign(b,En)}else y=b;this.relations=R,this.states=y;break}case"n:n":{let Y=l(),z=`${c}KeysOf${Hn(p)}`,E=`${p}KeysOf${Hn(c)}`,Q={[z]:Y,[E]:Y},b;if(i){let y=I(),M=`${c}EntriesOf${Hn(p)}`,fn=`${p}EntriesOf${Hn(c)}`,Z={[M]:y,[fn]:y};b=Object.assign(Q,Z)}else b=Q;this.relations=R,this.states=b}}}}function np(n,i){let o=i.joins.get(n.key);if(o===void 0){let p=d.STORE.joins.get(n.key);if(p===void 0)throw new Error(`Join "${n.key}" not found in store "${i.config.name}"`);o=new $x(p.options,p.defaultContent,i),i.joins.set(n.key,o)}return o}function ko(n,i,o){let c=np(n,o),p=B(o);if(Gn(p)){let{toolkit:x}=p.transactionMeta;c.transact(x,({relations:m})=>{i(m)})}else i(c.relations)}function ip(n,i,o){let c=np(n,o),p;switch(n.cardinality){case"1:1":{let x=`${n.a}KeyOf${Hn(n.b)}`,m=`${n.b}KeyOf${Hn(n.a)}`;p={get[x](){let a=c.states[x];return r(o,a,i)},get[m](){let a=c.states[m];return r(o,a,i)}};let f=`${n.a}EntryOf${Hn(n.b)}`;if(f in c.states){let a=`${n.b}EntryOf${Hn(n.a)}`;Object.assign(p,{get[f](){let v=c.states[f];return r(o,v,i)},get[a](){let v=c.states[a];return r(o,v,i)}})}break}case"1:n":{let x=`${n.a}KeyOf${Hn(n.b)}`,m=`${n.b}KeysOf${Hn(n.a)}`;p={get[x](){let a=c.states[x];return r(o,a,i)},get[m](){let a=c.states[m];return r(o,a,i)}};let f=`${n.a}EntryOf${Hn(n.b)}`;if(f in c.states){let a=`${n.b}EntriesOf${Hn(n.a)}`;Object.assign(p,{get[f](){let v=c.states[f];return r(o,v,i)},get[a](){let v=c.states[a];return r(o,v,i)}})}break}case"n:n":{let x=`${n.a}KeysOf${Hn(n.b)}`,m=`${n.b}KeysOf${Hn(n.a)}`;p={get[x](){let a=c.states[x];return r(o,a,i)},get[m](){let a=c.states[m];return r(o,a,i)}};let f=`${n.a}EntriesOf${Hn(n.b)}`;if(f in c.states){let a=`${n.b}EntriesOf${Hn(n.a)}`;Object.assign(p,{get[f](){let v=c.states[f];return r(o,v,i)},get[a](){let v=c.states[a];return r(o,v,i)}})}}}return p}function $1(n,i){return np(n,i).core.relatedKeysAtoms}function Zo(n){return v1(d.STORE,n)}function Sc(n){return H$(d.STORE,n)}function Rm(n,i,o=d.STORE){return o.joins.set(n.key,new $x(n,i,o)),{key:n.key,type:"join",a:n.between[0],b:n.between[1],cardinality:n.cardinality}}function w1(n){return $1(n,d.STORE)}var Ma=(n)=>(i,o,c,p,...x)=>{console[n](`${i} ${o} "${c}" ${p}`,...x)},o7={error:Ma("error"),info:Ma("info"),warn:Ma("warn")};class Wc{logLevel;filter;logger;constructor(n,i,o=o7){this.logLevel=n,this.filter=i,this.logger=o}error=(...n)=>{if((this.filter?.(...n)??!0)&&this.logLevel!==null)this.logger.error(...n)};info=(...n)=>{if((this.filter?.(...n)??!0)&&this.logLevel==="info")this.logger.info(...n)};warn=(...n)=>{if((this.filter?.(...n)??!0)&&this.logLevel!=="error"&&this.logLevel!==null)this.logger.warn(...n)}}var dU=Symbol("claim");class J1{store;constructor(n=d.STORE){this.store=n,u$("root",n)}allocate(n,i,o){return Fc(this.store,n,i,o)}fuse(n,i,o){return I$(this.store,n,i,o)}deallocate(n){Rc(this.store,n)}claim(n,i,o){return ec(this.store,n,i,o)}}class Ha{store;realm;constructor(n=d.STORE){this.store=n,this.realm=new J1(n)}allocate(n,i,o){Fc(this.store,n,i,o)}deallocate(n){Rc(this.store,n)}claim(n,i,o){ec(this.store,n,i,o)}}function Xm(n){return M$(d.STORE,n)}function Gc(n){return Ra(d.STORE,n)}class A1 extends Map{set(n,i){if(this.has(n))return console.warn("Tried to set a key that already exists in an InvariantMap",{key:n,value:i}),this;return super.set(n,i)}clear(){throw new Error("Cannot clear an InvariantMap")}}class Wm{type="continuity";globals=[];actions=[];perspectives=[];key;constructor(n){this.key=n}static existing=new A1;static create(n,i){let o=new Wm(n),{type:c,globals:p,actions:x,perspectives:m}=i(o),f={type:c,key:n,globals:p,actions:x,perspectives:m};return Wm.existing.set(n,f),f}add(...n){switch(n[0].type){case"atom":case"mutable_atom":this.globals.push(...n);break;case"transaction":this.actions.push(...n);break;case"atom_family":case"mutable_atom_family":{let[o,c]=n;this.perspectives.push({type:"realtime_perspective",resourceAtoms:o,viewAtoms:c})}break}return this}}function T1(n){let{key:i,config:o}=n,c=Wm.create(i,o),{actions:p}=c;for(let x of p)t$(d.STORE,i,x.key);return P$(d.STORE,i,-1),c}var aV=Zo({key:"usersInRoomIndex",mutable:!0,default:()=>new ci,toJson:(n)=>n.toJSON(),fromJson:(n)=>ci.fromJSON(n)}),za=Zo({key:"roomIndex",default:()=>new ci,mutable:!0,toJson:(n)=>n.toJSON(),fromJson:(n)=>ci.fromJSON(n)}),c7={enteredAtEpoch:0},wx=Rm({key:"usersInRooms",between:["room","user"],cardinality:"1:n",isAType:(n)=>typeof n==="string",isBType:(n)=>typeof n==="string"},c7),vV=Xm({key:"usersInMyRoomView",get:(n)=>({find:i})=>{let o=w1(wx);return[i(o,n)]}});import{spawn as p7}from"child_process";class op{listeners;globalListeners;handleEvent(n,...i){for(let c of this.globalListeners)c(n,...i);let o=this.listeners.get(n);if(o)for(let c of o)c(...i)}id="no_id_retrieved";emit;constructor(n){this.emit=n,this.listeners=new Map,this.globalListeners=new Set}on(n,i){let o=this.listeners.get(n);if(o)o.add(i);else this.listeners.set(n,new Set([i]));return this}onAny(n){return this.globalListeners.add(n),this}off(n,i){let o=this.listeners.get(n);if(o)if(i)o.delete(i);else this.listeners.delete(n);return this}offAny(n){return this.globalListeners.delete(n),this}}class Jx extends op{incompleteData="";unprocessedEvents=[];incompleteLog="";unprocessedLogs=[];id="#####";process;key;logger;handleLog(n){if(Array.isArray(n)){let[i,...o]=n;switch(i){case"i":this.logger.info(...o);break;case"w":this.logger.warn(...o);break;case"e":this.logger.error(...o);break;default:return}}}constructor(n,i,o){super((c,...p)=>{let x=JSON.stringify([c,...p])+"\x03",m=(f)=>{if(f.code==="EPIPE")console.error("EPIPE error during write",this.process.stdin);this.process.stdin.removeListener("error",m)};return this.process.stdin.once("error",m),this.process.stdin.write(x),this});if(this.process=n,this.key=i,this.logger=o??{info:(...c)=>{console.info(this.id,this.key,...c)},warn:(...c)=>{console.warn(this.id,this.key,...c)},error:(...c)=>{console.error(this.id,this.key,...c)}},this.process.stdout.on("data",(c)=>{let p=c.toString();if(p==="ALIVE")return;this.unprocessedEvents.push(...p.split("\x03"));let x=this.unprocessedEvents.shift();this.incompleteData+=x??"";try{if(this.incompleteData.startsWith("error"))console.log("\u2757",this.incompleteData);let m=mi(this.incompleteData);this.handleEvent(...m);while(this.unprocessedEvents.length>0){let f=this.unprocessedEvents.shift();if(f){if(this.unprocessedEvents.length===0)this.incompleteData=f;m=mi(f),this.handleEvent(...m)}}this.incompleteData=""}catch(m){console.warn("\u26A0\uFE0F----------------\u26A0\uFE0F"),console.warn(this.incompleteData),console.warn("\u26A0\uFE0F----------------\u26A0\uFE0F"),console.error(m)}}),this.process.stderr.on("data",(c)=>{let p=c.toString();this.unprocessedLogs.push(...p.split("\x03"));let x=this.unprocessedLogs.shift();this.incompleteLog+=x??"";try{let m=mi(this.incompleteLog);this.handleLog(m);while(this.unprocessedLogs.length>0)if(this.incompleteLog=this.unprocessedLogs.shift()??"",this.incompleteLog)m=mi(this.incompleteLog),this.handleLog(m)}catch(m){console.error("\u274C\u274C\u274C"),console.error(this.incompleteLog),console.error(m),console.error("\u274C\u274C\u274C\uFE0F")}}),n.pid)this.id=n.pid.toString()}}class F1 extends op{in;out;id="no_id_retrieved";disposalFunctions=[];constructor(n){super((...i)=>{return this.out.next(i),this});this.id=n,this.in=new $n,this.out=new $n,this.in.subscribe("socket",(i)=>{this.handleEvent(...i)})}dispose(){for(let n of this.disposalFunctions)n()}}class Qa extends op{incompleteData="";unprocessedEvents=[];relays;relayServices;process;id="#####";log(...n){this.process.stderr.write(wn(n.map((i)=>i instanceof ci?`{ ${i.toJSON().members.join(" | ")} }`:i))+"\x03")}logger={info:(...n)=>{this.log("i",...n)},warn:(...n)=>{this.log("w",...n)},error:(...n)=>{this.log("e",...n)}};constructor(){super((n,...i)=>{let o=JSON.stringify([n,...i]);return this.process.stdout.write(o+"\x03"),this});if(this.process=process,this.process.stdin.resume(),this.relays=new Map,this.relayServices=[],this.process.stdin.on("data",(n)=>{let i=n.toString();this.unprocessedEvents.push(...i.split("\x03"));let o=this.unprocessedEvents.shift();this.incompleteData+=o??"";try{let c=mi(this.incompleteData);this.logger.info("\uD83C\uDFB0","received",c),this.handleEvent(...c);while(this.unprocessedEvents.length>0){let p=this.unprocessedEvents.shift();if(p){if(this.unprocessedEvents.length===0)this.incompleteData=p;let x=mi(p);this.handleEvent(...x)}}this.incompleteData=""}catch(c){if(c instanceof Error)this.logger.error("\u2757",c.message,c.cause,c.stack)}}),this.on("exit",()=>{this.logger.info("\uD83D\uDD25",this.id,'received "exit"'),process.exit(0)}),process.on("exit",(n)=>{this.logger.info("\uD83D\uDD25",this.id,`exited with code ${n}`)}),process.on("end",()=>{this.logger.info("\uD83D\uDD25",this.id,"ended"),process.exit(0)}),process.on("SIGTERM",()=>{this.logger.error("\uD83D\uDD25",this.id,"terminated"),process.exit(0)}),process.on("SIGINT",()=>{this.logger.error("\uD83D\uDD25",this.id,"interrupted"),process.exit(0)}),process.pid)this.id=process.pid?.toString();this.on("user-joins",(n)=>{this.logger.info("\uD83D\uDC64","user",n,"joined");let i=new F1(`user:${n}`);this.relays.set(n,i),this.logger.info("\uD83D\uDD17","attaching services:",`[${[...this.relayServices.keys()].join(", ")}]`);for(let o of this.relayServices){let c=o(i);if(c)i.disposalFunctions.push(c)}this.on(`user:${n}`,(...o)=>{i.in.next(o)}),i.out.subscribe("socket",(o)=>{this.emit(...o)})}),this.on("user-leaves",(n)=>{let i=this.relays.get(n);if(this.off(`relay:${n}`),i)i.dispose(),this.relays.delete(n)}),process.stdout.write("ALIVE")}relay(n){this.logger.info("\uD83D\uDD17","running relay method"),this.relayServices.push(n)}}var Ea=Sc({key:"roomArguments",default:["echo",["Hello World!"]]}),R1=Xm({key:"room",get:(n)=>async({get:i,find:o})=>{let c=o(Ea,n),p=i(c),[x,m]=p,f=await new Promise((a)=>{let v=p7(x,m,{env:process.env}),$=(w)=>{if(w.toString()==="ALIVE")v.stdout.off("data",$),a(v)};v.stdout.on("data",$)});return new Jx(f,n)}});var LV=Gc({key:"createRoom",do:({get:n,set:i,find:o},c,p,x)=>{let m=x?[p,x]:[p],f=o(Ea,c);i(f,m),i(za,($)=>$.add(c));let a=o(R1,c);return n(a)}}),DV=Gc({key:"joinRoom",do:(n,i,o,c)=>{let p={enteredAtEpoch:c};return ko(wx,(x)=>{x.set({room:i,user:o},p)},n.env().store),p}}),NV=Gc({key:"leaveRoom",do:(n,i,o)=>{ko(wx,(c)=>{c.delete({room:i,user:o})},n.env().store)}}),hV=Gc({key:"destroyRoom",do:(n,i)=>{ko(wx,(o)=>{o.delete({room:i})},n.env().store),n.set(za,(o)=>(o.delete(i),o))}});function Oa(n,i){return i.map((o)=>{switch(o.type){case"transaction_update":{let c=Oa(n,o.updates);return{...o,updates:c}}case"atom_update":case"selector_update":case"molecule_creation":case"molecule_disposal":case"molecule_transfer":case"state_creation":case"state_disposal":return o}}).filter((o)=>{switch(o.type){case"atom_update":case"selector_update":return n.includes(o.key);case"state_creation":case"state_disposal":return n.includes(o.token.key);case"molecule_creation":case"transaction_update":case"molecule_disposal":case"molecule_transfer":return!0}})}var IV=Sc({key:"redactor",default:{occlude:(n)=>n}}),cp=Sc({key:"unacknowledgedUpdates",default:()=>[]});var Km=Sc({key:"sockets",default:null}),Ua=Zo({key:"socketsIndex",mutable:!0,default:()=>new ci,toJson:(n)=>n.toJSON(),fromJson:(n)=>ci.fromJSON(n)}),Va=Zo({key:"usersIndex",mutable:!0,default:()=>new ci,toJson:(n)=>n.toJSON(),fromJson:(n)=>ci.fromJSON(n)}),Yc=Rm({key:"usersOfSockets",between:["user","socket"],cardinality:"1:1",isAType:(n)=>n.startsWith("user::"),isBType:(n)=>n.startsWith("socket::")});function X1(n,i,o,c){let p=i.key;return function x(){let m=[];for(let a of i.globals){let v=a.type==="mutable_atom"?ni(n,a):a,$=ln(n,v);m.push(v,$)}for(let a of i.perspectives){let{viewAtoms:v,resourceAtoms:$}=a,w=r(n,v,o),J=ln(n,w);n.logger.info("\uD83D\uDC41","atom",$.key,`${o} can see`,{viewAtoms:v,resourceAtoms:$,userView:J});for(let X of J){let W=X.type==="mutable_atom"?ni(n,X):X,R=ln(n,W);m.push(W,R)}}let f=oi(n)?n.transactionMeta.epoch.get(p)??null:null;c?.emit(`continuity-init:${p}`,f,m)}}function W1(n,i,o){let c=i.key;return function p(x){n.logger.info("\uD83D\uDECE\uFE0F","continuity",c,"received",x);let{key:m,id:f}=x,a=`tx-run:${m}:${f}`,v=`${a}:start`,$=`${a}:end`;performance.mark(v);try{gc(n,{type:"transaction",key:m},f)(...x.params)}catch(J){if(J instanceof Error)n.logger.error("\u274C","continuity",c,`failed to run transaction ${m} from ${o} with update ${f}`,J.message)}performance.mark($);let w=performance.measure(a,v,$);n?.logger.info("\uD83D\uDE80","transaction",m,f,o,w.duration)}}function K1(n,i,o,c){let p=i.key;return function x(m){if(n.logger.info("\uD83D\uDC4D","continuity",p,`${o} acknowledged epoch ${m}`),c[0]?.epoch===m)On(n,cp,o,(a)=>{return a.shift(),n.logger.info("\uD83D\uDC4D","continuity",p,`${o} unacknowledged update queue now has`,a.length,"items"),a})}}function S1(n,i,o,c){let p=i.key,x=[];for(let m of i.actions){let f=Sa(n,m,`sync-continuity:${p}:${o}`,(a)=>{try{let v=i.globals.map((J)=>{if(J.type==="atom")return J.key;return Uo(J).key}).concat(i.perspectives.flatMap((J)=>{let{viewAtoms:X}=J,W=r(n,X,o);return ln(n,W).map((S)=>{return S.type==="mutable_atom"?"*"+S.key:S.key})})),$=Oa(v,a.updates),w={...a,updates:$};On(n,cp,o,(J)=>{if(w)J.push(w),J.sort((X,W)=>X.epoch-W.epoch),n.logger.info("\uD83D\uDC4D","continuity",p,`${o} unacknowledged update queue now has`,J.length,"items");return J}),c?.emit(`tx-new:${p}`,w)}catch(v){if(v instanceof Error)n.logger.error("\u274C","continuity",p,`${o} failed to send update from transaction ${m.key} to ${o}`,v.message)}});x.push(f)}return x}function G1(n,i,o,c){let p=i.key,x=[];for(let m of i.perspectives){let{viewAtoms:f}=m,a=r(n,f,o),v=Wi(n,a,`sync-continuity:${p}:${o}:perspective:${m.resourceAtoms.key}`,({oldValue:$,newValue:w})=>{let J=$.map((S)=>S.key),X=w.map((S)=>S.key),W=$.filter((S)=>!X.includes(S.key)),R=w.filter((S)=>!J.includes(S.key)).flatMap((S)=>{let l=S.type==="mutable_atom"?ni(n,S):S,H=ln(n,l);return[l,H]});if(n.logger.info("\uD83D\uDC41","atom",m.resourceAtoms.key,`${o} has a new perspective`,{oldKeys:J,newKeys:X,revealed:R,concealed:W}),R.length>0)c?.emit(`reveal:${p}`,R);if(W.length>0)c?.emit(`conceal:${p}`,W)});x.push(v)}return x}function Y1({socket:n,store:i=d.STORE}){return function o(c){let p=n,x=c.key,m=ip(Yc,`socket::${p.id}`,i).userKeyOfSocket,f=ln(i,m);if(!f)return i.logger.error("\u274C","continuity",x,`Tried to create a synchronizer for a socket (${p.id}) that is not connected to a user.`),()=>{};let a=ip(Yc,f,i).socketKeyOfUser,v=Wi(i,a,`sync-continuity:${x}:${f}`,({newValue:l})=>{if(i.logger.info("\uD83D\uDC4B","continuity",x,`seeing ${f} on new socket ${l}`),l===null){i.logger.warn("\u274C","continuity",x,`User (${f}) is not connected to a socket, waiting for them to reappear.`);return}let H=r(i,Km,l);p=ln(i,H);for(let Y of $)p?.emit(`tx-new:${x}`,Y)}),$=ln(i,cp,f),w=[],J=G1(i,c,f,p),X=S1(i,c,f,p);w.push(...J,...X);let W=X1(i,c,f,n);p.off(`get:${x}`,W),p.on(`get:${x}`,W);let R=W1(i,c,f);p.off(`tx-run:${x}`,R),p.on(`tx-run:${x}`,R);let S=K1(i,c,f,$);return p?.on(`ack:${x}`,S),()=>{for(let l of w)l();p?.off(`ack:${x}`,S),p?.off(`get:${x}`,W),p?.off(`tx-run:${x}`,R)}}}var eR=$a(av(),1);var T=Symbol.for("drizzle:entityKind"),e_=Symbol.for("drizzle:hasOwnEntityKind");function G(n,i){if(!n||typeof n!=="object")return!1;if(n instanceof i)return!0;if(!Object.prototype.hasOwnProperty.call(i,T))throw new Error(`Class "${i.name??"<unknown>"}" doesn't look like a Drizzle entity. If this is incorrect and the class is provided by Drizzle, please report this as a bug.`);let o=Object.getPrototypeOf(n).constructor;if(o)while(o){if(T in o&&o[T]===i[T])return!0;o=Object.getPrototypeOf(o)}return!1}class Un{constructor(n,i){this.table=n,this.config=i,this.name=i.name,this.keyAsName=i.keyAsName,this.notNull=i.notNull,this.default=i.default,this.defaultFn=i.defaultFn,this.onUpdateFn=i.onUpdateFn,this.hasDefault=i.hasDefault,this.primary=i.primaryKey,this.isUnique=i.isUnique,this.uniqueName=i.uniqueName,this.uniqueType=i.uniqueType,this.dataType=i.dataType,this.columnType=i.columnType,this.generated=i.generated,this.generatedIdentity=i.generatedIdentity}static[T]="Column";name;keyAsName;primary;notNull;default;defaultFn;onUpdateFn;hasDefault;isUnique;uniqueName;uniqueType;dataType;columnType;enumValues=void 0;generated=void 0;generatedIdentity=void 0;config;mapFromDriverValue(n){return n}mapToDriverValue(n){return n}shouldDisableInsert(){return this.config.generated!==void 0&&this.config.generated.type!=="byDefault"}}class vv{static[T]="ColumnBuilder";config;constructor(n,i,o){this.config={name:n,keyAsName:n==="",notNull:!1,default:void 0,hasDefault:!1,primaryKey:!1,isUnique:!1,uniqueName:void 0,uniqueType:void 0,dataType:i,columnType:o,generated:void 0}}$type(){return this}notNull(){return this.config.notNull=!0,this}default(n){return this.config.default=n,this.config.hasDefault=!0,this}$defaultFn(n){return this.config.defaultFn=n,this.config.hasDefault=!0,this}$default=this.$defaultFn;$onUpdateFn(n){return this.config.onUpdateFn=n,this.config.hasDefault=!0,this}$onUpdate=this.$onUpdateFn;primaryKey(){return this.config.primaryKey=!0,this.config.notNull=!0,this}setName(n){if(this.config.name!=="")return;this.config.name=n}}var fo=Symbol.for("drizzle:Name");class $v{static[T]="PgForeignKeyBuilder";reference;_onUpdate="no action";_onDelete="no action";constructor(n,i){if(this.reference=()=>{let{name:o,columns:c,foreignColumns:p}=n();return{name:o,columns:c,foreignTable:p[0].table,foreignColumns:p}},i)this._onUpdate=i.onUpdate,this._onDelete=i.onDelete}onUpdate(n){return this._onUpdate=n===void 0?"no action":n,this}onDelete(n){return this._onDelete=n===void 0?"no action":n,this}build(n){return new WJ(n,this)}}class WJ{constructor(n,i){this.table=n,this.reference=i.reference,this.onUpdate=i._onUpdate,this.onDelete=i._onDelete}static[T]="PgForeignKey";reference;onUpdate;onDelete;getName(){let{name:n,columns:i,foreignColumns:o}=this.reference(),c=i.map((m)=>m.name),p=o.map((m)=>m.name),x=[this.table[fo],...c,o[0].table[fo],...p];return n??`${x.join("_")}_fk`}}function um(n,...i){return n(...i)}function KJ(n,i){return`${n[fo]}_${i.join("_")}_unique`}function SJ(n,i,o){for(let c=i;c<n.length;c++){let p=n[c];if(p==="\\"){c++;continue}if(p==='"')return[n.slice(i,c).replace(/\\/g,""),c+1];if(o)continue;if(p===","||p==="}")return[n.slice(i,c).replace(/\\/g,""),c]}return[n.slice(i).replace(/\\/g,""),n.length]}function GJ(n,i=0){let o=[],c=i,p=!1;while(c<n.length){let x=n[c];if(x===","){if(p||c===i)o.push("");p=!0,c++;continue}if(p=!1,x==="\\"){c+=2;continue}if(x==='"'){let[a,v]=SJ(n,c+1,!0);o.push(a),c=v;continue}if(x==="}")return[o,c+1];if(x==="{"){let[a,v]=GJ(n,c+1);o.push(a),c=v;continue}let[m,f]=SJ(n,c,!1);o.push(m),c=f}return[o,c]}function YJ(n){let[i]=GJ(n,1);return i}function wv(n){return`{${n.map((i)=>{if(Array.isArray(i))return wv(i);if(typeof i==="string")return`"${i.replace(/\\/g,"\\\\").replace(/"/g,"\\\"")}"`;return`${i}`}).join(",")}}`}class u extends vv{foreignKeyConfigs=[];static[T]="PgColumnBuilder";array(n){return new HJ(this.config.name,this,n)}references(n,i={}){return this.foreignKeyConfigs.push({ref:n,actions:i}),this}unique(n,i){return this.config.isUnique=!0,this.config.uniqueName=n,this.config.uniqueType=i?.nulls,this}generatedAlwaysAs(n){return this.config.generated={as:n,type:"always",mode:"stored"},this}buildForeignKeys(n,i){return this.foreignKeyConfigs.map(({ref:o,actions:c})=>{return um((p,x)=>{let m=new $v(()=>{let f=p();return{columns:[n],foreignColumns:[f]}});if(x.onUpdate)m.onUpdate(x.onUpdate);if(x.onDelete)m.onDelete(x.onDelete);return m.build(i)},o,c)})}buildExtraConfigColumn(n){return new lJ(n,this.config)}}class V extends Un{constructor(n,i){if(!i.uniqueName)i.uniqueName=KJ(n,[i.name]);super(n,i);this.table=n}static[T]="PgColumn"}class lJ extends V{static[T]="ExtraConfigColumn";getSQLType(){return this.getSQLType()}indexConfig={order:this.config.order??"asc",nulls:this.config.nulls??"last",opClass:this.config.opClass};defaultConfig={order:"asc",nulls:"last",opClass:void 0};asc(){return this.indexConfig.order="asc",this}desc(){return this.indexConfig.order="desc",this}nullsFirst(){return this.indexConfig.nulls="first",this}nullsLast(){return this.indexConfig.nulls="last",this}op(n){return this.indexConfig.opClass=n,this}}class lx{static[T]="IndexedColumn";constructor(n,i,o,c){this.name=n,this.keyAsName=i,this.type=o,this.indexConfig=c}name;keyAsName;type;indexConfig}class HJ extends u{static[T]="PgArrayBuilder";constructor(n,i,o){super(n,"array","PgArray");this.config.baseBuilder=i,this.config.size=o}build(n){let i=this.config.baseBuilder.build(n);return new Jv(n,this.config,i)}}class Jv extends V{constructor(n,i,o,c){super(n,i);this.baseColumn=o,this.range=c,this.size=i.size}size;static[T]="PgArray";getSQLType(){return`${this.baseColumn.getSQLType()}[${typeof this.size==="number"?this.size:""}]`}mapFromDriverValue(n){if(typeof n==="string")n=YJ(n);return n.map((i)=>this.baseColumn.mapFromDriverValue(i))}mapToDriverValue(n,i=!1){let o=n.map((c)=>c===null?null:G(this.baseColumn,Jv)?this.baseColumn.mapToDriverValue(c,!0):this.baseColumn.mapToDriverValue(c));if(i)return o;return wv(o)}}var Av=Symbol.for("drizzle:isPgEnum");function MJ(n){return!!n&&typeof n==="function"&&Av in n&&n[Av]===!0}class zJ extends u{static[T]="PgEnumColumnBuilder";constructor(n,i){super(n,"string","PgEnumColumn");this.config.enum=i}build(n){return new QJ(n,this.config)}}class QJ extends V{static[T]="PgEnumColumn";enum=this.config.enum;enumValues=this.config.enum.enumValues;constructor(n,i){super(n,i);this.enum=i.enum}getSQLType(){return this.enum.enumName}}function Im(n,i){return HW(n,i,void 0)}function HW(n,i,o){let c=Object.assign((p)=>new zJ(p??"",c),{enumName:n,enumValues:i,schema:o,[Av]:!0});return c}class pi{static[T]="Subquery";constructor(n,i,o,c=!1){this._={brand:"Subquery",sql:n,selectedFields:i,alias:o,isWith:c}}}class Hx extends pi{static[T]="WithSubquery"}var EJ="0.40.0";var Tv,Fv,Vn={startActiveSpan(n,i){if(!Tv)return i();if(!Fv)Fv=Tv.trace.getTracer("drizzle-orm",EJ);return um((o,c)=>c.startActiveSpan(n,(p)=>{try{return i(p)}catch(x){throw p.setStatus({code:o.SpanStatusCode.ERROR,message:x instanceof Error?x.message:"Unknown error"}),x}finally{p.end()}}),Tv,Fv)}};var bn=Symbol.for("drizzle:ViewBaseConfig");var ym=Symbol.for("drizzle:Schema"),km=Symbol.for("drizzle:Columns"),OJ=Symbol.for("drizzle:ExtraConfigColumns"),Rv=Symbol.for("drizzle:OriginalName"),Xv=Symbol.for("drizzle:BaseName"),Mx=Symbol.for("drizzle:IsAlias"),UJ=Symbol.for("drizzle:ExtraConfigBuilder"),MW=Symbol.for("drizzle:IsDrizzleTable");class D{static[T]="Table";static Symbol={Name:fo,Schema:ym,OriginalName:Rv,Columns:km,ExtraConfigColumns:OJ,BaseName:Xv,IsAlias:Mx,ExtraConfigBuilder:UJ};[fo];[Rv];[ym];[km];[OJ];[Xv];[Mx]=!1;[MW]=!0;[UJ]=void 0;constructor(n,i,o){this[fo]=this[Rv]=n,this[ym]=i,this[Xv]=o}}function fi(n){return n[fo]}function Ec(n){return`${n[ym]??"public"}.${n[fo]}`}function Wv(n){return n!==null&&n!==void 0&&typeof n.getSQL==="function"}function zW(n){let i={sql:"",params:[]};for(let o of n)if(i.sql+=o.sql,i.params.push(...o.params),o.typings?.length){if(!i.typings)i.typings=[];i.typings.push(...o.typings)}return i}class xi{static[T]="StringChunk";value;constructor(n){this.value=Array.isArray(n)?n:[n]}getSQL(){return new N([this])}}class N{constructor(n){this.queryChunks=n}static[T]="SQL";decoder=_J;shouldInlineParams=!1;append(n){return this.queryChunks.push(...n.queryChunks),this}toQuery(n){return Vn.startActiveSpan("drizzle.buildSQL",(i)=>{let o=this.buildQueryFromSourceParams(this.queryChunks,n);return i?.setAttributes({"drizzle.query.text":o.sql,"drizzle.query.params":JSON.stringify(o.params)}),o})}buildQueryFromSourceParams(n,i){let o=Object.assign({},i,{inlineParams:i.inlineParams||this.shouldInlineParams,paramStartIndex:i.paramStartIndex||{value:0}}),{casing:c,escapeName:p,escapeParam:x,prepareTyping:m,inlineParams:f,paramStartIndex:a}=o;return zW(n.map((v)=>{if(G(v,xi))return{sql:v.value.join(""),params:[]};if(G(v,Zm))return{sql:p(v.value),params:[]};if(v===void 0)return{sql:"",params:[]};if(Array.isArray(v)){let $=[new xi("(")];for(let[w,J]of v.entries())if($.push(J),w<v.length-1)$.push(new xi(", "));return $.push(new xi(")")),this.buildQueryFromSourceParams($,o)}if(G(v,N))return this.buildQueryFromSourceParams(v.queryChunks,{...o,inlineParams:f||v.shouldInlineParams});if(G(v,D)){let $=v[D.Symbol.Schema],w=v[D.Symbol.Name];return{sql:$===void 0||v[Mx]?p(w):p($)+"."+p(w),params:[]}}if(G(v,Un)){let $=c.getColumnCasing(v);if(i.invokeSource==="indexes")return{sql:p($),params:[]};let w=v.table[D.Symbol.Schema];return{sql:v.table[Mx]||w===void 0?p(v.table[D.Symbol.Name])+"."+p($):p(w)+"."+p(v.table[D.Symbol.Name])+"."+p($),params:[]}}if(G(v,Bi)){let $=v[bn].schema,w=v[bn].name;return{sql:$===void 0||v[bn].isAlias?p(w):p($)+"."+p(w),params:[]}}if(G(v,Di)){if(G(v.value,go))return{sql:x(a.value++,v),params:[v],typings:["none"]};let $=v.value===null?null:v.encoder.mapToDriverValue(v.value);if(G($,N))return this.buildQueryFromSourceParams([$],o);if(f)return{sql:this.mapInlineParam($,o),params:[]};let w=["none"];if(m)w=[m(v.encoder)];return{sql:x(a.value++,$),params:[$],typings:w}}if(G(v,go))return{sql:x(a.value++,v),params:[v],typings:["none"]};if(G(v,N.Aliased)&&v.fieldAlias!==void 0)return{sql:p(v.fieldAlias),params:[]};if(G(v,pi)){if(v._.isWith)return{sql:p(v._.alias),params:[]};return this.buildQueryFromSourceParams([new xi("("),v._.sql,new xi(") "),new Zm(v._.alias)],o)}if(MJ(v)){if(v.schema)return{sql:p(v.schema)+"."+p(v.enumName),params:[]};return{sql:p(v.enumName),params:[]}}if(Wv(v)){if(v.shouldOmitSQLParens?.())return this.buildQueryFromSourceParams([v.getSQL()],o);return this.buildQueryFromSourceParams([new xi("("),v.getSQL(),new xi(")")],o)}if(f)return{sql:this.mapInlineParam(v,o),params:[]};return{sql:x(a.value++,v),params:[v],typings:["none"]}}))}mapInlineParam(n,{escapeString:i}){if(n===null)return"null";if(typeof n==="number"||typeof n==="boolean")return n.toString();if(typeof n==="string")return i(n);if(typeof n==="object"){let o=n.toString();if(o==="[object Object]")return i(JSON.stringify(n));return i(o)}throw new Error("Unexpected param value: "+n)}getSQL(){return this}as(n){if(n===void 0)return this;return new N.Aliased(this,n)}mapWith(n){return this.decoder=typeof n==="function"?{mapFromDriverValue:n}:n,this}inlineParams(){return this.shouldInlineParams=!0,this}if(n){return n?this:void 0}}class Zm{constructor(n){this.value=n}static[T]="Name";brand;getSQL(){return new N([this])}}function VJ(n){return typeof n==="object"&&n!==null&&"mapToDriverValue"in n&&typeof n.mapToDriverValue==="function"}var _J={mapFromDriverValue:(n)=>n},BJ={mapToDriverValue:(n)=>n},uB={..._J,...BJ};class Di{constructor(n,i=BJ){this.value=n,this.encoder=i}static[T]="Param";brand;getSQL(){return new N([this])}}function F(n,...i){let o=[];if(i.length>0||n.length>0&&n[0]!=="")o.push(new xi(n[0]));for(let[c,p]of i.entries())o.push(p,new xi(n[c+1]));return new N(o)}((n)=>{function i(){return new N([])}n.empty=i;function o(a){return new N(a)}n.fromList=o;function c(a){return new N([new xi(a)])}n.raw=c;function p(a,v){let $=[];for(let[w,J]of a.entries()){if(w>0&&v!==void 0)$.push(v);$.push(J)}return new N($)}n.join=p;function x(a){return new Zm(a)}n.identifier=x;function m(a){return new go(a)}n.placeholder=m;function f(a,v){return new Di(a,v)}n.param=f})(F||(F={}));((n)=>{class i{constructor(o,c){this.sql=o,this.fieldAlias=c}static[T]="SQL.Aliased";isSelectionField=!1;getSQL(){return this.sql}clone(){return new i(this.sql,this.fieldAlias)}}n.Aliased=i})(N||(N={}));class go{constructor(n){this.name=n}static[T]="Placeholder";getSQL(){return new N([this])}}function Kv(n,i){return n.map((o)=>{if(G(o,go)){if(!(o.name in i))throw new Error(`No value for placeholder "${o.name}" was provided`);return i[o.name]}if(G(o,Di)&&G(o.value,go)){if(!(o.value.name in i))throw new Error(`No value for placeholder "${o.value.name}" was provided`);return o.encoder.mapToDriverValue(i[o.value.name])}return o})}var QW=Symbol.for("drizzle:IsDrizzleView");class Bi{static[T]="View";[bn];[QW]=!0;constructor({name:n,schema:i,selectedFields:o,query:c}){this[bn]={name:n,originalName:n,schema:i,selectedFields:o,query:c,isExisting:!c,isAlias:!1}}getSQL(){return new N([this])}}Un.prototype.getSQL=function(){return new N([this])};D.prototype.getSQL=function(){return new N([this])};pi.prototype.getSQL=function(){return new N([this])};class Xp{constructor(n){this.table=n}static[T]="ColumnAliasProxyHandler";get(n,i){if(i==="table")return this.table;return n[i]}}class zx{constructor(n,i){this.alias=n,this.replaceOriginalName=i}static[T]="TableAliasProxyHandler";get(n,i){if(i===D.Symbol.IsAlias)return!0;if(i===D.Symbol.Name)return this.alias;if(this.replaceOriginalName&&i===D.Symbol.OriginalName)return this.alias;if(i===bn)return{...n[bn],name:this.alias,isAlias:!0};if(i===D.Symbol.Columns){let c=n[D.Symbol.Columns];if(!c)return c;let p={};return Object.keys(c).map((x)=>{p[x]=new Proxy(c[x],new Xp(new Proxy(n,this)))}),p}let o=n[i];if(G(o,Un))return new Proxy(o,new Xp(new Proxy(n,this)));return o}}function qm(n,i){return new Proxy(n,new zx(i,!1))}function lo(n,i){return new Proxy(n,new Xp(new Proxy(n.table,new zx(i,!1))))}function Sv(n,i){return new N.Aliased(Qx(n.sql,i),n.fieldAlias)}function Qx(n,i){return F.join(n.queryChunks.map((o)=>{if(G(o,Un))return lo(o,i);if(G(o,N))return Qx(o,i);if(G(o,N.Aliased))return Sv(o,i);return o}))}class Pm extends Error{static[T]="DrizzleError";constructor({message:n,cause:i}){super(n);this.name="DrizzleError",this.cause=i}}class Gv extends Pm{static[T]="TransactionRollbackError";constructor(){super({message:"Rollback"})}}function bi(n,i){if(VJ(i)&&!Wv(n)&&!G(n,Di)&&!G(n,go)&&!G(n,Un)&&!G(n,D)&&!G(n,Bi))return new Di(n,i);return n}var Ho=(n,i)=>{return F`${n} = ${bi(i,n)}`},bJ=(n,i)=>{return F`${n} <> ${bi(i,n)}`};function Oc(...n){let i=n.filter((o)=>o!==void 0);if(i.length===0)return;if(i.length===1)return new N(i);return new N([new xi("("),F.join(i,new xi(" and ")),new xi(")")])}function jJ(...n){let i=n.filter((o)=>o!==void 0);if(i.length===0)return;if(i.length===1)return new N(i);return new N([new xi("("),F.join(i,new xi(" or ")),new xi(")")])}function LJ(n){return F`not ${n}`}var sm=(n,i)=>{return F`${n} > ${bi(i,n)}`},DJ=(n,i)=>{return F`${n} >= ${bi(i,n)}`},NJ=(n,i)=>{return F`${n} < ${bi(i,n)}`},hJ=(n,i)=>{return F`${n} <= ${bi(i,n)}`};function CJ(n,i){if(Array.isArray(i)){if(i.length===0)return F`false`;return F`${n} in ${i.map((o)=>bi(o,n))}`}return F`${n} in ${bi(i,n)}`}function uJ(n,i){if(Array.isArray(i)){if(i.length===0)return F`true`;return F`${n} not in ${i.map((o)=>bi(o,n))}`}return F`${n} not in ${bi(i,n)}`}function IJ(n){return F`${n} is null`}function yJ(n){return F`${n} is not null`}function kJ(n){return F`exists ${n}`}function ZJ(n){return F`not exists ${n}`}function qJ(n,i,o){return F`${n} between ${bi(i,n)} and ${bi(o,n)}`}function PJ(n,i,o){return F`${n} not between ${bi(i,n)} and ${bi(o,n)}`}function sJ(n,i){return F`${n} like ${i}`}function rJ(n,i){return F`${n} not like ${i}`}function tJ(n,i){return F`${n} ilike ${i}`}function gJ(n,i){return F`${n} not ilike ${i}`}function dJ(n){return F`${n} asc`}function eJ(n){return F`${n} desc`}class nA{static[T]="ConsoleLogWriter";write(n){console.log(n)}}class Yv{static[T]="DefaultLogger";writer;constructor(n){this.writer=n?.writer??new nA}logQuery(n,i){let o=i.map((p)=>{try{return JSON.stringify(p)}catch{return String(p)}}),c=o.length?` -- params: [${o.join(", ")}]`:"";this.writer.write(`Query: ${n}${c}`)}}class lv{static[T]="NoopLogger";logQuery(){}}class Ei{static[T]="QueryPromise";[Symbol.toStringTag]="QueryPromise";catch(n){return this.then(void 0,n)}finally(n){return this.then((i)=>{return n?.(),i},(i)=>{throw n?.(),i})}then(n,i){return this.execute().then(n,i)}}function iA(n,i,o){let c={},p=n.reduce((x,{path:m,field:f},a)=>{let v;if(G(f,Un))v=f;else if(G(f,N))v=f.decoder;else v=f.sql.decoder;let $=x;for(let[w,J]of m.entries())if(w<m.length-1){if(!(J in $))$[J]={};$=$[J]}else{let X=i[a],W=$[J]=X===null?null:v.mapFromDriverValue(X);if(o&&G(f,Un)&&m.length===2){let R=m[0];if(!(R in c))c[R]=W===null?fi(f.table):!1;else if(typeof c[R]==="string"&&c[R]!==fi(f.table))c[R]=!1}}return x},{});if(o&&Object.keys(c).length>0){for(let[x,m]of Object.entries(c))if(typeof m==="string"&&!o[m])p[x]=null}return p}function ti(n,i){return Object.entries(n).reduce((o,[c,p])=>{if(typeof c!=="string")return o;let x=i?[...i,c]:[c];if(G(p,Un)||G(p,N)||G(p,N.Aliased))o.push({path:x,field:p});else if(G(p,D))o.push(...ti(p[D.Symbol.Columns],x));else o.push(...ti(p,x));return o},[])}function Ex(n,i){let o=Object.keys(n),c=Object.keys(i);if(o.length!==c.length)return!1;for(let[p,x]of o.entries())if(x!==c[p])return!1;return!0}function rm(n,i){let o=Object.entries(i).filter(([,c])=>c!==void 0).map(([c,p])=>{if(G(p,N)||G(p,Un))return[c,p];else return[c,new Di(p,n[D.Symbol.Columns][c])]});if(o.length===0)throw new Error("No values to set");return Object.fromEntries(o)}function oA(n,i){for(let o of i)for(let c of Object.getOwnPropertyNames(o.prototype)){if(c==="constructor")continue;Object.defineProperty(n.prototype,c,Object.getOwnPropertyDescriptor(o.prototype,c)||Object.create(null))}}function cA(n){return n[D.Symbol.Columns]}function _o(n){return G(n,pi)?n._.alias:G(n,Bi)?n[bn].name:G(n,N)?void 0:n[D.Symbol.IsAlias]?n[D.Symbol.Name]:n[D.Symbol.BaseName]}function Jn(n,i){return{name:typeof n==="string"&&n.length>0?n:"",config:typeof n==="object"?n:i}}function pA(n){if(typeof n!=="object"||n===null)return!1;if(n.constructor.name!=="Object")return!1;if("logger"in n){let i=typeof n.logger;if(i!=="boolean"&&(i!=="object"||typeof n.logger.logQuery!=="function")&&i!=="undefined")return!1;return!0}if("schema"in n){let i=typeof n.logger;if(i!=="object"&&i!=="undefined")return!1;return!0}if("casing"in n){let i=typeof n.logger;if(i!=="string"&&i!=="undefined")return!1;return!0}if("mode"in n){if(n.mode!=="default"||n.mode!=="planetscale"||n.mode!==void 0)return!1;return!0}if("connection"in n){let i=typeof n.connection;if(i!=="string"&&i!=="object"&&i!=="undefined")return!1;return!0}if("client"in n){let i=typeof n.client;if(i!=="object"&&i!=="function"&&i!=="undefined")return!1;return!0}if(Object.keys(n).length===0)return!0;return!1}class eo extends u{static[T]="PgIntColumnBaseBuilder";generatedAlwaysAsIdentity(n){if(n){let{name:i,...o}=n;this.config.generatedIdentity={type:"always",sequenceName:i,sequenceOptions:o}}else this.config.generatedIdentity={type:"always"};return this.config.hasDefault=!0,this.config.notNull=!0,this}generatedByDefaultAsIdentity(n){if(n){let{name:i,...o}=n;this.config.generatedIdentity={type:"byDefault",sequenceName:i,sequenceOptions:o}}else this.config.generatedIdentity={type:"byDefault"};return this.config.hasDefault=!0,this.config.notNull=!0,this}}class xA extends eo{static[T]="PgBigInt53Builder";constructor(n){super(n,"number","PgBigInt53")}build(n){return new mA(n,this.config)}}class mA extends V{static[T]="PgBigInt53";getSQLType(){return"bigint"}mapFromDriverValue(n){if(typeof n==="number")return n;return Number(n)}}class fA extends eo{static[T]="PgBigInt64Builder";constructor(n){super(n,"bigint","PgBigInt64")}build(n){return new aA(n,this.config)}}class aA extends V{static[T]="PgBigInt64";getSQLType(){return"bigint"}mapFromDriverValue(n){return BigInt(n)}}function vA(n,i){let{name:o,config:c}=Jn(n,i);if(c.mode==="number")return new xA(o);return new fA(o)}class $A extends u{static[T]="PgBigSerial53Builder";constructor(n){super(n,"number","PgBigSerial53");this.config.hasDefault=!0,this.config.notNull=!0}build(n){return new wA(n,this.config)}}class wA extends V{static[T]="PgBigSerial53";getSQLType(){return"bigserial"}mapFromDriverValue(n){if(typeof n==="number")return n;return Number(n)}}class JA extends u{static[T]="PgBigSerial64Builder";constructor(n){super(n,"bigint","PgBigSerial64");this.config.hasDefault=!0}build(n){return new AA(n,this.config)}}class AA extends V{static[T]="PgBigSerial64";getSQLType(){return"bigserial"}mapFromDriverValue(n){return BigInt(n)}}function TA(n,i){let{name:o,config:c}=Jn(n,i);if(c.mode==="number")return new $A(o);return new JA(o)}class FA extends u{static[T]="PgBooleanBuilder";constructor(n){super(n,"boolean","PgBoolean")}build(n){return new RA(n,this.config)}}class RA extends V{static[T]="PgBoolean";getSQLType(){return"boolean"}}function Ox(n){return new FA(n??"")}class XA extends u{static[T]="PgCharBuilder";constructor(n,i){super(n,"string","PgChar");this.config.length=i.length,this.config.enumValues=i.enum}build(n){return new WA(n,this.config)}}class WA extends V{static[T]="PgChar";length=this.config.length;enumValues=this.config.enumValues;getSQLType(){return this.length===void 0?"char":`char(${this.length})`}}function KA(n,i={}){let{name:o,config:c}=Jn(n,i);return new XA(o,c)}class SA extends u{static[T]="PgCidrBuilder";constructor(n){super(n,"string","PgCidr")}build(n){return new GA(n,this.config)}}class GA extends V{static[T]="PgCidr";getSQLType(){return"cidr"}}function YA(n){return new SA(n??"")}class lA extends u{static[T]="PgCustomColumnBuilder";constructor(n,i,o){super(n,"custom","PgCustomColumn");this.config.fieldConfig=i,this.config.customTypeParams=o}build(n){return new HA(n,this.config)}}class HA extends V{static[T]="PgCustomColumn";sqlName;mapTo;mapFrom;constructor(n,i){super(n,i);this.sqlName=i.customTypeParams.dataType(i.fieldConfig),this.mapTo=i.customTypeParams.toDriver,this.mapFrom=i.customTypeParams.fromDriver}getSQLType(){return this.sqlName}mapFromDriverValue(n){return typeof this.mapFrom==="function"?this.mapFrom(n):n}mapToDriverValue(n){return typeof this.mapTo==="function"?this.mapTo(n):n}}function MA(n){return(i,o)=>{let{name:c,config:p}=Jn(i,o);return new lA(c,p,n)}}class Bo extends u{static[T]="PgDateColumnBaseBuilder";defaultNow(){return this.default(F`now()`)}}class zA extends Bo{static[T]="PgDateBuilder";constructor(n){super(n,"date","PgDate")}build(n){return new tm(n,this.config)}}class tm extends V{static[T]="PgDate";getSQLType(){return"date"}mapFromDriverValue(n){return new Date(n)}mapToDriverValue(n){return n.toISOString()}}class QA extends Bo{static[T]="PgDateStringBuilder";constructor(n){super(n,"string","PgDateString")}build(n){return new gm(n,this.config)}}class gm extends V{static[T]="PgDateString";getSQLType(){return"date"}}function EA(n,i){let{name:o,config:c}=Jn(n,i);if(c?.mode==="date")return new zA(o);return new QA(o)}class OA extends u{static[T]="PgDoublePrecisionBuilder";constructor(n){super(n,"number","PgDoublePrecision")}build(n){return new UA(n,this.config)}}class UA extends V{static[T]="PgDoublePrecision";getSQLType(){return"double precision"}mapFromDriverValue(n){if(typeof n==="string")return Number.parseFloat(n);return n}}function VA(n){return new OA(n??"")}class _A extends u{static[T]="PgInetBuilder";constructor(n){super(n,"string","PgInet")}build(n){return new BA(n,this.config)}}class BA extends V{static[T]="PgInet";getSQLType(){return"inet"}}function bA(n){return new _A(n??"")}class jA extends eo{static[T]="PgIntegerBuilder";constructor(n){super(n,"number","PgInteger")}build(n){return new LA(n,this.config)}}class LA extends V{static[T]="PgInteger";getSQLType(){return"integer"}mapFromDriverValue(n){if(typeof n==="string")return Number.parseInt(n);return n}}function dm(n){return new jA(n??"")}class DA extends u{static[T]="PgIntervalBuilder";constructor(n,i){super(n,"string","PgInterval");this.config.intervalConfig=i}build(n){return new NA(n,this.config)}}class NA extends V{static[T]="PgInterval";fields=this.config.intervalConfig.fields;precision=this.config.intervalConfig.precision;getSQLType(){let n=this.fields?` ${this.fields}`:"",i=this.precision?`(${this.precision})`:"";return`interval${n}${i}`}}function hA(n,i={}){let{name:o,config:c}=Jn(n,i);return new DA(o,c)}class CA extends u{static[T]="PgJsonBuilder";constructor(n){super(n,"json","PgJson")}build(n){return new em(n,this.config)}}class em extends V{static[T]="PgJson";constructor(n,i){super(n,i)}getSQLType(){return"json"}mapToDriverValue(n){return JSON.stringify(n)}mapFromDriverValue(n){if(typeof n==="string")try{return JSON.parse(n)}catch{return n}return n}}function uA(n){return new CA(n??"")}class IA extends u{static[T]="PgJsonbBuilder";constructor(n){super(n,"json","PgJsonb")}build(n){return new nf(n,this.config)}}class nf extends V{static[T]="PgJsonb";constructor(n,i){super(n,i)}getSQLType(){return"jsonb"}mapToDriverValue(n){return JSON.stringify(n)}mapFromDriverValue(n){if(typeof n==="string")try{return JSON.parse(n)}catch{return n}return n}}function yA(n){return new IA(n??"")}class kA extends u{static[T]="PgLineBuilder";constructor(n){super(n,"array","PgLine")}build(n){return new ZA(n,this.config)}}class ZA extends V{static[T]="PgLine";getSQLType(){return"line"}mapFromDriverValue(n){let[i,o,c]=n.slice(1,-1).split(",");return[Number.parseFloat(i),Number.parseFloat(o),Number.parseFloat(c)]}mapToDriverValue(n){return`{${n[0]},${n[1]},${n[2]}}`}}class qA extends u{static[T]="PgLineABCBuilder";constructor(n){super(n,"json","PgLineABC")}build(n){return new PA(n,this.config)}}class PA extends V{static[T]="PgLineABC";getSQLType(){return"line"}mapFromDriverValue(n){let[i,o,c]=n.slice(1,-1).split(",");return{a:Number.parseFloat(i),b:Number.parseFloat(o),c:Number.parseFloat(c)}}mapToDriverValue(n){return`{${n.a},${n.b},${n.c}}`}}function sA(n,i){let{name:o,config:c}=Jn(n,i);if(!c?.mode||c.mode==="tuple")return new kA(o);return new qA(o)}class rA extends u{static[T]="PgMacaddrBuilder";constructor(n){super(n,"string","PgMacaddr")}build(n){return new tA(n,this.config)}}class tA extends V{static[T]="PgMacaddr";getSQLType(){return"macaddr"}}function gA(n){return new rA(n??"")}class dA extends u{static[T]="PgMacaddr8Builder";constructor(n){super(n,"string","PgMacaddr8")}build(n){return new eA(n,this.config)}}class eA extends V{static[T]="PgMacaddr8";getSQLType(){return"macaddr8"}}function nT(n){return new dA(n??"")}class iT extends u{static[T]="PgNumericBuilder";constructor(n,i,o){super(n,"string","PgNumeric");this.config.precision=i,this.config.scale=o}build(n){return new of(n,this.config)}}class of extends V{static[T]="PgNumeric";precision;scale;constructor(n,i){super(n,i);this.precision=i.precision,this.scale=i.scale}getSQLType(){if(this.precision!==void 0&&this.scale!==void 0)return`numeric(${this.precision}, ${this.scale})`;else if(this.precision===void 0)return"numeric";else return`numeric(${this.precision})`}}function oT(n,i){let{name:o,config:c}=Jn(n,i);return new iT(o,c?.precision,c?.scale)}class cT extends u{static[T]="PgPointTupleBuilder";constructor(n){super(n,"array","PgPointTuple")}build(n){return new pT(n,this.config)}}class pT extends V{static[T]="PgPointTuple";getSQLType(){return"point"}mapFromDriverValue(n){if(typeof n==="string"){let[i,o]=n.slice(1,-1).split(",");return[Number.parseFloat(i),Number.parseFloat(o)]}return[n.x,n.y]}mapToDriverValue(n){return`(${n[0]},${n[1]})`}}class xT extends u{static[T]="PgPointObjectBuilder";constructor(n){super(n,"json","PgPointObject")}build(n){return new mT(n,this.config)}}class mT extends V{static[T]="PgPointObject";getSQLType(){return"point"}mapFromDriverValue(n){if(typeof n==="string"){let[i,o]=n.slice(1,-1).split(",");return{x:Number.parseFloat(i),y:Number.parseFloat(o)}}return n}mapToDriverValue(n){return`(${n.x},${n.y})`}}function fT(n,i){let{name:o,config:c}=Jn(n,i);if(!c?.mode||c.mode==="tuple")return new cT(o);return new xT(o)}function EW(n){let i=[];for(let o=0;o<n.length;o+=2)i.push(Number.parseInt(n.slice(o,o+2),16));return new Uint8Array(i)}function aT(n,i){let o=new ArrayBuffer(8),c=new DataView(o);for(let p=0;p<8;p++)c.setUint8(p,n[i+p]);return c.getFloat64(0,!0)}function Hv(n){let i=EW(n),o=0,c=i[o];o+=1;let p=new DataView(i.buffer),x=p.getUint32(o,c===1);o+=4;let m;if(x&536870912)m=p.getUint32(o,c===1),o+=4;if((x&65535)===1){let f=aT(i,o);o+=8;let a=aT(i,o);return o+=8,[f,a]}throw new Error("Unsupported geometry type")}class vT extends u{static[T]="PgGeometryBuilder";constructor(n){super(n,"array","PgGeometry")}build(n){return new $T(n,this.config)}}class $T extends V{static[T]="PgGeometry";getSQLType(){return"geometry(point)"}mapFromDriverValue(n){return Hv(n)}mapToDriverValue(n){return`point(${n[0]} ${n[1]})`}}class wT extends u{static[T]="PgGeometryObjectBuilder";constructor(n){super(n,"json","PgGeometryObject")}build(n){return new JT(n,this.config)}}class JT extends V{static[T]="PgGeometryObject";getSQLType(){return"geometry(point)"}mapFromDriverValue(n){let i=Hv(n);return{x:i[0],y:i[1]}}mapToDriverValue(n){return`point(${n.x} ${n.y})`}}function AT(n,i){let{name:o,config:c}=Jn(n,i);if(!c?.mode||c.mode==="tuple")return new vT(o);return new wT(o)}class TT extends u{static[T]="PgRealBuilder";constructor(n,i){super(n,"number","PgReal");this.config.length=i}build(n){return new FT(n,this.config)}}class FT extends V{static[T]="PgReal";constructor(n,i){super(n,i)}getSQLType(){return"real"}mapFromDriverValue=(n)=>{if(typeof n==="string")return Number.parseFloat(n);return n}}function RT(n){return new TT(n??"")}class XT extends u{static[T]="PgSerialBuilder";constructor(n){super(n,"number","PgSerial");this.config.hasDefault=!0,this.config.notNull=!0}build(n){return new WT(n,this.config)}}class WT extends V{static[T]="PgSerial";getSQLType(){return"serial"}}function KT(n){return new XT(n??"")}class ST extends eo{static[T]="PgSmallIntBuilder";constructor(n){super(n,"number","PgSmallInt")}build(n){return new GT(n,this.config)}}class GT extends V{static[T]="PgSmallInt";getSQLType(){return"smallint"}mapFromDriverValue=(n)=>{if(typeof n==="string")return Number(n);return n}}function YT(n){return new ST(n??"")}class lT extends u{static[T]="PgSmallSerialBuilder";constructor(n){super(n,"number","PgSmallSerial");this.config.hasDefault=!0,this.config.notNull=!0}build(n){return new HT(n,this.config)}}class HT extends V{static[T]="PgSmallSerial";getSQLType(){return"smallserial"}}function MT(n){return new lT(n??"")}class zT extends u{static[T]="PgTextBuilder";constructor(n,i){super(n,"string","PgText");this.config.enumValues=i.enum}build(n){return new QT(n,this.config)}}class QT extends V{static[T]="PgText";enumValues=this.config.enumValues;getSQLType(){return"text"}}function ET(n,i={}){let{name:o,config:c}=Jn(n,i);return new zT(o,c)}class OT extends Bo{constructor(n,i,o){super(n,"string","PgTime");this.withTimezone=i,this.precision=o,this.config.withTimezone=i,this.config.precision=o}static[T]="PgTimeBuilder";build(n){return new cf(n,this.config)}}class cf extends V{static[T]="PgTime";withTimezone;precision;constructor(n,i){super(n,i);this.withTimezone=i.withTimezone,this.precision=i.precision}getSQLType(){return`time${this.precision===void 0?"":`(${this.precision})`}${this.withTimezone?" with time zone":""}`}}function UT(n,i={}){let{name:o,config:c}=Jn(n,i);return new OT(o,c.withTimezone??!1,c.precision)}class VT extends Bo{static[T]="PgTimestampBuilder";constructor(n,i,o){super(n,"date","PgTimestamp");this.config.withTimezone=i,this.config.precision=o}build(n){return new pf(n,this.config)}}class pf extends V{static[T]="PgTimestamp";withTimezone;precision;constructor(n,i){super(n,i);this.withTimezone=i.withTimezone,this.precision=i.precision}getSQLType(){return`timestamp${this.precision===void 0?"":` (${this.precision})`}${this.withTimezone?" with time zone":""}`}mapFromDriverValue=(n)=>{return new Date(this.withTimezone?n:n+"+0000")};mapToDriverValue=(n)=>{return n.toISOString()}}class _T extends Bo{static[T]="PgTimestampStringBuilder";constructor(n,i,o){super(n,"string","PgTimestampString");this.config.withTimezone=i,this.config.precision=o}build(n){return new xf(n,this.config)}}class xf extends V{static[T]="PgTimestampString";withTimezone;precision;constructor(n,i){super(n,i);this.withTimezone=i.withTimezone,this.precision=i.precision}getSQLType(){return`timestamp${this.precision===void 0?"":`(${this.precision})`}${this.withTimezone?" with time zone":""}`}}function ao(n,i={}){let{name:o,config:c}=Jn(n,i);if(c?.mode==="string")return new _T(o,c.withTimezone??!1,c.precision);return new VT(o,c?.withTimezone??!1,c?.precision)}class BT extends u{static[T]="PgUUIDBuilder";constructor(n){super(n,"string","PgUUID")}defaultRandom(){return this.default(F`gen_random_uuid()`)}build(n){return new mf(n,this.config)}}class mf extends V{static[T]="PgUUID";getSQLType(){return"uuid"}}function Ni(n){return new BT(n??"")}class bT extends u{static[T]="PgVarcharBuilder";constructor(n,i){super(n,"string","PgVarchar");this.config.length=i.length,this.config.enumValues=i.enum}build(n){return new jT(n,this.config)}}class jT extends V{static[T]="PgVarchar";length=this.config.length;enumValues=this.config.enumValues;getSQLType(){return this.length===void 0?"varchar":`varchar(${this.length})`}}function Ji(n,i={}){let{name:o,config:c}=Jn(n,i);return new bT(o,c)}class LT extends u{static[T]="PgBinaryVectorBuilder";constructor(n,i){super(n,"string","PgBinaryVector");this.config.dimensions=i.dimensions}build(n){return new DT(n,this.config)}}class DT extends V{static[T]="PgBinaryVector";dimensions=this.config.dimensions;getSQLType(){return`bit(${this.dimensions})`}}function NT(n,i){let{name:o,config:c}=Jn(n,i);return new LT(o,c)}class hT extends u{static[T]="PgHalfVectorBuilder";constructor(n,i){super(n,"array","PgHalfVector");this.config.dimensions=i.dimensions}build(n){return new CT(n,this.config)}}class CT extends V{static[T]="PgHalfVector";dimensions=this.config.dimensions;getSQLType(){return`halfvec(${this.dimensions})`}mapToDriverValue(n){return JSON.stringify(n)}mapFromDriverValue(n){return n.slice(1,-1).split(",").map((i)=>Number.parseFloat(i))}}function uT(n,i){let{name:o,config:c}=Jn(n,i);return new hT(o,c)}class IT extends u{static[T]="PgSparseVectorBuilder";constructor(n,i){super(n,"string","PgSparseVector");this.config.dimensions=i.dimensions}build(n){return new yT(n,this.config)}}class yT extends V{static[T]="PgSparseVector";dimensions=this.config.dimensions;getSQLType(){return`sparsevec(${this.dimensions})`}}function kT(n,i){let{name:o,config:c}=Jn(n,i);return new IT(o,c)}class ZT extends u{static[T]="PgVectorBuilder";constructor(n,i){super(n,"array","PgVector");this.config.dimensions=i.dimensions}build(n){return new qT(n,this.config)}}class qT extends V{static[T]="PgVector";dimensions=this.config.dimensions;getSQLType(){return`vector(${this.dimensions})`}mapToDriverValue(n){return JSON.stringify(n)}mapFromDriverValue(n){return n.slice(1,-1).split(",").map((i)=>Number.parseFloat(i))}}function PT(n,i){let{name:o,config:c}=Jn(n,i);return new ZT(o,c)}function sT(){return{bigint:vA,bigserial:TA,boolean:Ox,char:KA,cidr:YA,customType:MA,date:EA,doublePrecision:VA,inet:bA,integer:dm,interval:hA,json:uA,jsonb:yA,line:sA,macaddr:gA,macaddr8:nT,numeric:oT,point:fT,geometry:AT,real:RT,serial:KT,smallint:YT,smallserial:MT,text:ET,time:UT,timestamp:ao,uuid:Ni,varchar:Ji,bit:NT,halfvec:uT,sparsevec:kT,vector:PT}}var Mv=Symbol.for("drizzle:PgInlineForeignKeys"),rT=Symbol.for("drizzle:EnableRLS");class Ai extends D{static[T]="PgTable";static Symbol=Object.assign({},D.Symbol,{InlineForeignKeys:Mv,EnableRLS:rT});[Mv]=[];[rT]=!1;[D.Symbol.ExtraConfigBuilder]=void 0;[D.Symbol.ExtraConfigColumns]={}}function OW(n,i,o,c,p=n){let x=new Ai(n,c,p),m=typeof i==="function"?i(sT()):i,f=Object.fromEntries(Object.entries(m).map(([$,w])=>{let J=w;J.setName($);let X=J.build(x);return x[Mv].push(...J.buildForeignKeys(X,x)),[$,X]})),a=Object.fromEntries(Object.entries(m).map(([$,w])=>{let J=w;J.setName($);let X=J.buildExtraConfigColumn(x);return[$,X]})),v=Object.assign(x,f);if(v[D.Symbol.Columns]=f,v[D.Symbol.ExtraConfigColumns]=a,o)v[Ai.Symbol.ExtraConfigBuilder]=o;return Object.assign(v,{enableRLS:()=>{return v[Ai.Symbol.EnableRLS]=!0,v}})}var nc=(n,i,o)=>{return OW(n,i,o,void 0)};function tT(...n){if(n[0].columns)return new Ux(n[0].columns,n[0].name);return new Ux(n)}class Ux{static[T]="PgPrimaryKeyBuilder";columns;name;constructor(n,i){this.columns=n,this.name=i}build(n){return new gT(n,this.columns,this.name)}}class gT{constructor(n,i,o){this.table=n,this.columns=i,this.name=o}static[T]="PgPrimaryKey";columns;name;getName(){return this.name??`${this.table[Ai.Symbol.Name]}_${this.columns.map((n)=>n.name).join("_")}_pk`}}class zv{constructor(n,i,o){this.sourceTable=n,this.referencedTable=i,this.relationName=o,this.referencedTableName=i[D.Symbol.Name]}static[T]="Relation";referencedTableName;fieldName}class dT{constructor(n,i){this.table=n,this.config=i}static[T]="Relations"}class ic extends zv{constructor(n,i,o,c){super(n,i,o?.relationName);this.config=o,this.isNullable=c}static[T]="One";withFieldName(n){let i=new ic(this.sourceTable,this.referencedTable,this.config,this.isNullable);return i.fieldName=n,i}}class Vx extends zv{constructor(n,i,o){super(n,i,o?.relationName);this.config=o}static[T]="Many";withFieldName(n){let i=new Vx(this.sourceTable,this.referencedTable,this.config);return i.fieldName=n,i}}function eT(){return{and:Oc,between:qJ,eq:Ho,exists:kJ,gt:sm,gte:DJ,ilike:tJ,inArray:CJ,isNull:IJ,isNotNull:yJ,like:sJ,lt:NJ,lte:hJ,ne:bJ,not:LJ,notBetween:PJ,notExists:ZJ,notLike:rJ,notIlike:gJ,notInArray:uJ,or:jJ,sql:F}}function nF(){return{sql:F,asc:dJ,desc:eJ}}function iF(n,i){if(Object.keys(n).length===1&&"default"in n&&!G(n.default,D))n=n.default;let o={},c={},p={};for(let[x,m]of Object.entries(n))if(G(m,D)){let f=Ec(m),a=c[f];o[f]=x,p[x]={tsName:x,dbName:m[D.Symbol.Name],schema:m[D.Symbol.Schema],columns:m[D.Symbol.Columns],relations:a?.relations??{},primaryKey:a?.primaryKey??[]};for(let $ of Object.values(m[D.Symbol.Columns]))if($.primary)p[x].primaryKey.push($);let v=m[D.Symbol.ExtraConfigBuilder]?.(m[D.Symbol.ExtraConfigColumns]);if(v){for(let $ of Object.values(v))if(G($,Ux))p[x].primaryKey.push(...$.columns)}}else if(G(m,dT)){let f=Ec(m.table),a=o[f],v=m.config(i(m.table)),$;for(let[w,J]of Object.entries(v))if(a){let X=p[a];if(X.relations[w]=J,$)X.primaryKey.push(...$)}else{if(!(f in c))c[f]={relations:{},primaryKey:$};c[f].relations[w]=J}}return{tables:p,tableNamesMap:o}}function UW(n){return function i(o,c){return new ic(n,o,c,c?.fields.reduce((p,x)=>p&&x.notNull,!0)??!1)}}function VW(n){return function i(o,c){return new Vx(n,o,c)}}function oF(n,i,o){if(G(o,ic)&&o.config)return{fields:o.config.fields,references:o.config.references};let c=i[Ec(o.referencedTable)];if(!c)throw new Error(`Table "${o.referencedTable[D.Symbol.Name]}" not found in schema`);let p=n[c];if(!p)throw new Error(`Table "${c}" not found in schema`);let x=o.sourceTable,m=i[Ec(x)];if(!m)throw new Error(`Table "${x[D.Symbol.Name]}" not found in schema`);let f=[];for(let a of Object.values(p.relations))if(o.relationName&&o!==a&&a.relationName===o.relationName||!o.relationName&&a.referencedTable===o.sourceTable)f.push(a);if(f.length>1)throw o.relationName?new Error(`There are multiple relations with name "${o.relationName}" in table "${c}"`):new Error(`There are multiple relations between "${c}" and "${o.sourceTable[D.Symbol.Name]}". Please specify relation name`);if(f[0]&&G(f[0],ic)&&f[0].config)return{fields:f[0].config.references,references:f[0].config.fields};throw new Error(`There is not enough information to infer relation "${m}.${o.fieldName}"`)}function cF(n){return{one:UW(n),many:VW(n)}}function ff(n,i,o,c,p=(x)=>x){let x={};for(let[m,f]of c.entries())if(f.isJson){let a=i.relations[f.tsKey],v=o[m],$=typeof v==="string"?JSON.parse(v):v;x[f.tsKey]=G(a,ic)?$&&ff(n,n[f.relationTableTsKey],$,f.selection,p):$.map((w)=>ff(n,n[f.relationTableTsKey],w,f.selection,p))}else{let a=p(o[m]),v=f.field,$;if(G(v,Un))$=v;else if(G(v,N))$=v.decoder;else $=v.sql.decoder;x[f.tsKey]=a===null?null:$.mapFromDriverValue(a)}return x}var Z6=$a(k6(),1),{Server:q6,Namespace:IN,Socket:yN}=Z6.default;import{readFileSync as fR}from"fs";import{resolve as z0}from"path";function QG(n,i){let o={},c=[];for(let p in n){let x=n[p],m=i[p],f=x["~standard"].validate(m);if(f instanceof Promise)throw new Error(`Validation must be synchronous, but ${p} returned a Promise.`);if(f.issues){c.push(...f.issues.map((a)=>({...a,path:[p,...a.path??[]]})));continue}o[p]=f.value}if(c.length)return{issues:c};return{value:o}}function P6(n){let i=n.runtimeEnvStrict??n.runtimeEnv??process.env;if(n.emptyStringAsUndefined??!1){for(let[H,I]of Object.entries(i))if(I==="")delete i[H]}if(!!n.skipValidation)return i;let p=typeof n.client==="object"?n.client:{},x=typeof n.server==="object"?n.server:{},m=typeof n.shared==="object"?n.shared:{},f=n.isServer??(typeof window==="undefined"||("Deno"in window)),a=f?{...x,...m,...p}:{...p,...m},v=QG(a,i),$=n.onValidationError??((H)=>{throw console.error("\u274C Invalid environment variables:",H),new Error("Invalid environment variables")}),w=n.onInvalidAccess??(()=>{throw new Error("\u274C Attempted to access a server-side environment variable on the client")});if(v.issues)return $(v.issues);let J=(H)=>{if(!n.clientPrefix)return!0;return!H.startsWith(n.clientPrefix)&&!(H in m)},X=(H)=>{return f||!J(H)},W=(H)=>{return H==="__esModule"||H==="$$typeof"},R=(n.extends??[]).reduce((H,I)=>{return Object.assign(H,I)},{}),S=Object.assign(v.value,R);return new Proxy(S,{get(H,I){if(typeof I!=="string")return;if(W(I))return;if(!X(I))return w(I);return Reflect.get(H,I)}})}var Tn;(function(n){n.assertEqual=(p)=>p;function i(p){}n.assertIs=i;function o(p){throw new Error}n.assertNever=o,n.arrayToEnum=(p)=>{let x={};for(let m of p)x[m]=m;return x},n.getValidEnumValues=(p)=>{let x=n.objectKeys(p).filter((f)=>typeof p[p[f]]!=="number"),m={};for(let f of x)m[f]=p[f];return n.objectValues(m)},n.objectValues=(p)=>{return n.objectKeys(p).map(function(x){return p[x]})},n.objectKeys=typeof Object.keys==="function"?(p)=>Object.keys(p):(p)=>{let x=[];for(let m in p)if(Object.prototype.hasOwnProperty.call(p,m))x.push(m);return x},n.find=(p,x)=>{for(let m of p)if(x(m))return m;return},n.isInteger=typeof Number.isInteger==="function"?(p)=>Number.isInteger(p):(p)=>typeof p==="number"&&isFinite(p)&&Math.floor(p)===p;function c(p,x=" | "){return p.map((m)=>typeof m==="string"?`'${m}'`:m).join(x)}n.joinValues=c,n.jsonStringifyReplacer=(p,x)=>{if(typeof x==="bigint")return x.toString();return x}})(Tn||(Tn={}));var Y0;(function(n){n.mergeShapes=(i,o)=>{return{...i,...o}}})(Y0||(Y0={}));var h=Tn.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),No=(n)=>{switch(typeof n){case"undefined":return h.undefined;case"string":return h.string;case"number":return isNaN(n)?h.nan:h.number;case"boolean":return h.boolean;case"function":return h.function;case"bigint":return h.bigint;case"symbol":return h.symbol;case"object":if(Array.isArray(n))return h.array;if(n===null)return h.null;if(n.then&&typeof n.then==="function"&&n.catch&&typeof n.catch==="function")return h.promise;if(typeof Map!=="undefined"&&n instanceof Map)return h.map;if(typeof Set!=="undefined"&&n instanceof Set)return h.set;if(typeof Date!=="undefined"&&n instanceof Date)return h.date;return h.object;default:return h.unknown}},U=Tn.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),EG=(n)=>{return JSON.stringify(n,null,2).replace(/"([^"]+)":/g,"$1:")};class Ii extends Error{get errors(){return this.issues}constructor(n){super();this.issues=[],this.addIssue=(o)=>{this.issues=[...this.issues,o]},this.addIssues=(o=[])=>{this.issues=[...this.issues,...o]};let i=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,i);else this.__proto__=i;this.name="ZodError",this.issues=n}format(n){let i=n||function(p){return p.message},o={_errors:[]},c=(p)=>{for(let x of p.issues)if(x.code==="invalid_union")x.unionErrors.map(c);else if(x.code==="invalid_return_type")c(x.returnTypeError);else if(x.code==="invalid_arguments")c(x.argumentsError);else if(x.path.length===0)o._errors.push(i(x));else{let m=o,f=0;while(f<x.path.length){let a=x.path[f];if(f!==x.path.length-1)m[a]=m[a]||{_errors:[]};else m[a]=m[a]||{_errors:[]},m[a]._errors.push(i(x));m=m[a],f++}}};return c(this),o}static assert(n){if(!(n instanceof Ii))throw new Error(`Not a ZodError: ${n}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,Tn.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(n=(i)=>i.message){let i={},o=[];for(let c of this.issues)if(c.path.length>0)i[c.path[0]]=i[c.path[0]]||[],i[c.path[0]].push(n(c));else o.push(n(c));return{formErrors:o,fieldErrors:i}}get formErrors(){return this.flatten()}}Ii.create=(n)=>{return new Ii(n)};var jp=(n,i)=>{let o;switch(n.code){case U.invalid_type:if(n.received===h.undefined)o="Required";else o=`Expected ${n.expected}, received ${n.received}`;break;case U.invalid_literal:o=`Invalid literal value, expected ${JSON.stringify(n.expected,Tn.jsonStringifyReplacer)}`;break;case U.unrecognized_keys:o=`Unrecognized key(s) in object: ${Tn.joinValues(n.keys,", ")}`;break;case U.invalid_union:o="Invalid input";break;case U.invalid_union_discriminator:o=`Invalid discriminator value. Expected ${Tn.joinValues(n.options)}`;break;case U.invalid_enum_value:o=`Invalid enum value. Expected ${Tn.joinValues(n.options)}, received '${n.received}'`;break;case U.invalid_arguments:o="Invalid function arguments";break;case U.invalid_return_type:o="Invalid function return type";break;case U.invalid_date:o="Invalid date";break;case U.invalid_string:if(typeof n.validation==="object")if("includes"in n.validation){if(o=`Invalid input: must include "${n.validation.includes}"`,typeof n.validation.position==="number")o=`${o} at one or more positions greater than or equal to ${n.validation.position}`}else if("startsWith"in n.validation)o=`Invalid input: must start with "${n.validation.startsWith}"`;else if("endsWith"in n.validation)o=`Invalid input: must end with "${n.validation.endsWith}"`;else Tn.assertNever(n.validation);else if(n.validation!=="regex")o=`Invalid ${n.validation}`;else o="Invalid";break;case U.too_small:if(n.type==="array")o=`Array must contain ${n.exact?"exactly":n.inclusive?"at least":"more than"} ${n.minimum} element(s)`;else if(n.type==="string")o=`String must contain ${n.exact?"exactly":n.inclusive?"at least":"over"} ${n.minimum} character(s)`;else if(n.type==="number")o=`Number must be ${n.exact?"exactly equal to ":n.inclusive?"greater than or equal to ":"greater than "}${n.minimum}`;else if(n.type==="date")o=`Date must be ${n.exact?"exactly equal to ":n.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(n.minimum))}`;else o="Invalid input";break;case U.too_big:if(n.type==="array")o=`Array must contain ${n.exact?"exactly":n.inclusive?"at most":"less than"} ${n.maximum} element(s)`;else if(n.type==="string")o=`String must contain ${n.exact?"exactly":n.inclusive?"at most":"under"} ${n.maximum} character(s)`;else if(n.type==="number")o=`Number must be ${n.exact?"exactly":n.inclusive?"less than or equal to":"less than"} ${n.maximum}`;else if(n.type==="bigint")o=`BigInt must be ${n.exact?"exactly":n.inclusive?"less than or equal to":"less than"} ${n.maximum}`;else if(n.type==="date")o=`Date must be ${n.exact?"exactly":n.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(n.maximum))}`;else o="Invalid input";break;case U.custom:o="Invalid input";break;case U.invalid_intersection_types:o="Intersection results could not be merged";break;case U.not_multiple_of:o=`Number must be a multiple of ${n.multipleOf}`;break;case U.not_finite:o="Number must be finite";break;default:o=i.defaultError,Tn.assertNever(n)}return{message:o}},g6=jp;function OG(n){g6=n}function bf(){return g6}var jf=(n)=>{let{data:i,path:o,errorMaps:c,issueData:p}=n,x=[...o,...p.path||[]],m={...p,path:x};if(p.message!==void 0)return{...p,path:x,message:p.message};let f="",a=c.filter((v)=>!!v).slice().reverse();for(let v of a)f=v(m,{data:i,defaultError:f}).message;return{...p,path:x,message:f}},UG=[];function L(n,i){let o=bf(),c=jf({issueData:i,data:n.data,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,o,o===jp?void 0:jp].filter((p)=>!!p)});n.common.issues.push(c)}class Mi{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray(n,i){let o=[];for(let c of i){if(c.status==="aborted")return g;if(c.status==="dirty")n.dirty();o.push(c.value)}return{status:n.value,value:o}}static async mergeObjectAsync(n,i){let o=[];for(let c of i){let p=await c.key,x=await c.value;o.push({key:p,value:x})}return Mi.mergeObjectSync(n,o)}static mergeObjectSync(n,i){let o={};for(let c of i){let{key:p,value:x}=c;if(p.status==="aborted")return g;if(x.status==="aborted")return g;if(p.status==="dirty")n.dirty();if(x.status==="dirty")n.dirty();if(p.value!=="__proto__"&&(typeof x.value!=="undefined"||c.alwaysSet))o[p.value]=x.value}return{status:n.value,value:o}}}var g=Object.freeze({status:"aborted"}),Bp=(n)=>({status:"dirty",value:n}),Ui=(n)=>({status:"valid",value:n}),l0=(n)=>n.status==="aborted",H0=(n)=>n.status==="dirty",Nc=(n)=>n.status==="valid",ux=(n)=>typeof Promise!=="undefined"&&n instanceof Promise;function Lf(n,i,o,c){if(o==="a"&&!c)throw new TypeError("Private accessor was defined without a getter");if(typeof i==="function"?n!==i||!c:!i.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return o==="m"?c:o==="a"?c.call(n):c?c.value:i.get(n)}function d6(n,i,o,c,p){if(c==="m")throw new TypeError("Private method is not writable");if(c==="a"&&!p)throw new TypeError("Private accessor was defined without a setter");if(typeof i==="function"?n!==i||!p:!i.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return c==="a"?p.call(n,o):p?p.value=o:i.set(n,o),o}var k;(function(n){n.errToObj=(i)=>typeof i==="string"?{message:i}:i||{},n.toString=(i)=>typeof i==="string"?i:i===null||i===void 0?void 0:i.message})(k||(k={}));var hx,Cx;class Fo{constructor(n,i,o,c){this._cachedPath=[],this.parent=n,this.data=i,this._path=o,this._key=c}get path(){if(!this._cachedPath.length)if(this._key instanceof Array)this._cachedPath.push(...this._path,...this._key);else this._cachedPath.push(...this._path,this._key);return this._cachedPath}}var s6=(n,i)=>{if(Nc(i))return{success:!0,data:i.value};else{if(!n.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let o=new Ii(n.common.issues);return this._error=o,this._error}}}};function cn(n){if(!n)return{};let{errorMap:i,invalid_type_error:o,required_error:c,description:p}=n;if(i&&(o||c))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if(i)return{errorMap:i,description:p};return{errorMap:(m,f)=>{var a,v;let{message:$}=n;if(m.code==="invalid_enum_value")return{message:$!==null&&$!==void 0?$:f.defaultError};if(typeof f.data==="undefined")return{message:(a=$!==null&&$!==void 0?$:c)!==null&&a!==void 0?a:f.defaultError};if(m.code!=="invalid_type")return{message:f.defaultError};return{message:(v=$!==null&&$!==void 0?$:o)!==null&&v!==void 0?v:f.defaultError}},description:p}}class pn{get description(){return this._def.description}_getType(n){return No(n.data)}_getOrReturnCtx(n,i){return i||{common:n.parent.common,data:n.data,parsedType:No(n.data),schemaErrorMap:this._def.errorMap,path:n.path,parent:n.parent}}_processInputParams(n){return{status:new Mi,ctx:{common:n.parent.common,data:n.data,parsedType:No(n.data),schemaErrorMap:this._def.errorMap,path:n.path,parent:n.parent}}}_parseSync(n){let i=this._parse(n);if(ux(i))throw new Error("Synchronous parse encountered promise.");return i}_parseAsync(n){let i=this._parse(n);return Promise.resolve(i)}parse(n,i){let o=this.safeParse(n,i);if(o.success)return o.data;throw o.error}safeParse(n,i){var o;let c={common:{issues:[],async:(o=i===null||i===void 0?void 0:i.async)!==null&&o!==void 0?o:!1,contextualErrorMap:i===null||i===void 0?void 0:i.errorMap},path:(i===null||i===void 0?void 0:i.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:n,parsedType:No(n)},p=this._parseSync({data:n,path:c.path,parent:c});return s6(c,p)}"~validate"(n){var i,o;let c={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:n,parsedType:No(n)};if(!this["~standard"].async)try{let p=this._parseSync({data:n,path:[],parent:c});return Nc(p)?{value:p.value}:{issues:c.common.issues}}catch(p){if((o=(i=p===null||p===void 0?void 0:p.message)===null||i===void 0?void 0:i.toLowerCase())===null||o===void 0?void 0:o.includes("encountered"))this["~standard"].async=!0;c.common={issues:[],async:!0}}return this._parseAsync({data:n,path:[],parent:c}).then((p)=>Nc(p)?{value:p.value}:{issues:c.common.issues})}async parseAsync(n,i){let o=await this.safeParseAsync(n,i);if(o.success)return o.data;throw o.error}async safeParseAsync(n,i){let o={common:{issues:[],contextualErrorMap:i===null||i===void 0?void 0:i.errorMap,async:!0},path:(i===null||i===void 0?void 0:i.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:n,parsedType:No(n)},c=this._parse({data:n,path:o.path,parent:o}),p=await(ux(c)?c:Promise.resolve(c));return s6(o,p)}refine(n,i){let o=(c)=>{if(typeof i==="string"||typeof i==="undefined")return{message:i};else if(typeof i==="function")return i(c);else return i};return this._refinement((c,p)=>{let x=n(c),m=()=>p.addIssue({code:U.custom,...o(c)});if(typeof Promise!=="undefined"&&x instanceof Promise)return x.then((f)=>{if(!f)return m(),!1;else return!0});if(!x)return m(),!1;else return!0})}refinement(n,i){return this._refinement((o,c)=>{if(!n(o))return c.addIssue(typeof i==="function"?i(o,c):i),!1;else return!0})}_refinement(n){return new no({schema:this,typeName:t.ZodEffects,effect:{type:"refinement",refinement:n}})}superRefine(n){return this._refinement(n)}constructor(n){this.spa=this.safeParseAsync,this._def=n,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:(i)=>this["~validate"](i)}}optional(){return To.create(this,this._def)}nullable(){return ho.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Ao.create(this)}promise(){return Ic.create(this,this._def)}or(n){return hp.create([this,n],this._def)}and(n){return Cp.create(this,n,this._def)}transform(n){return new no({...cn(this._def),schema:this,typeName:t.ZodEffects,effect:{type:"transform",transform:n}})}default(n){let i=typeof n==="function"?n:()=>n;return new kp({...cn(this._def),innerType:this,defaultValue:i,typeName:t.ZodDefault})}brand(){return new Nf({typeName:t.ZodBranded,type:this,...cn(this._def)})}catch(n){let i=typeof n==="function"?n:()=>n;return new Zp({...cn(this._def),innerType:this,catchValue:i,typeName:t.ZodCatch})}describe(n){return new this.constructor({...this._def,description:n})}pipe(n){return Px.create(this,n)}readonly(){return qp.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var VG=/^c[^\s-]{8,}$/i,_G=/^[0-9a-z]+$/,BG=/^[0-9A-HJKMNP-TV-Z]{26}$/i,bG=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,jG=/^[a-z0-9_-]{21}$/i,LG=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,DG=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,NG=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,hG="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",G0,CG=/^(?:(?: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])$/,uG=/^(?:(?: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])\/(3[0-2]|[12]?[0-9])$/,IG=/^(([0-9a-fA-F]{1,4}:){7,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}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,yG=/^(([0-9a-fA-F]{1,4}:){7,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}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,kG=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,ZG=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,e6="((\\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])))",qG=new RegExp(`^${e6}$`);function nR(n){let i="([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d";if(n.precision)i=`${i}\\.\\d{${n.precision}}`;else if(n.precision==null)i=`${i}(\\.\\d+)?`;return i}function PG(n){return new RegExp(`^${nR(n)}$`)}function iR(n){let i=`${e6}T${nR(n)}`,o=[];if(o.push(n.local?"Z?":"Z"),n.offset)o.push("([+-]\\d{2}:?\\d{2})");return i=`${i}(${o.join("|")})`,new RegExp(`^${i}$`)}function sG(n,i){if((i==="v4"||!i)&&CG.test(n))return!0;if((i==="v6"||!i)&&IG.test(n))return!0;return!1}function rG(n,i){if(!LG.test(n))return!1;try{let[o]=n.split("."),c=o.replace(/-/g,"+").replace(/_/g,"/").padEnd(o.length+(4-o.length%4)%4,"="),p=JSON.parse(atob(c));if(typeof p!=="object"||p===null)return!1;if(!p.typ||!p.alg)return!1;if(i&&p.alg!==i)return!1;return!0}catch(o){return!1}}function tG(n,i){if((i==="v4"||!i)&&uG.test(n))return!0;if((i==="v6"||!i)&&yG.test(n))return!0;return!1}class Jo extends pn{_parse(n){if(this._def.coerce)n.data=String(n.data);if(this._getType(n)!==h.string){let p=this._getOrReturnCtx(n);return L(p,{code:U.invalid_type,expected:h.string,received:p.parsedType}),g}let o=new Mi,c=void 0;for(let p of this._def.checks)if(p.kind==="min"){if(n.data.length<p.value)c=this._getOrReturnCtx(n,c),L(c,{code:U.too_small,minimum:p.value,type:"string",inclusive:!0,exact:!1,message:p.message}),o.dirty()}else if(p.kind==="max"){if(n.data.length>p.value)c=this._getOrReturnCtx(n,c),L(c,{code:U.too_big,maximum:p.value,type:"string",inclusive:!0,exact:!1,message:p.message}),o.dirty()}else if(p.kind==="length"){let x=n.data.length>p.value,m=n.data.length<p.value;if(x||m){if(c=this._getOrReturnCtx(n,c),x)L(c,{code:U.too_big,maximum:p.value,type:"string",inclusive:!0,exact:!0,message:p.message});else if(m)L(c,{code:U.too_small,minimum:p.value,type:"string",inclusive:!0,exact:!0,message:p.message});o.dirty()}}else if(p.kind==="email"){if(!NG.test(n.data))c=this._getOrReturnCtx(n,c),L(c,{validation:"email",code:U.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="emoji"){if(!G0)G0=new RegExp(hG,"u");if(!G0.test(n.data))c=this._getOrReturnCtx(n,c),L(c,{validation:"emoji",code:U.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="uuid"){if(!bG.test(n.data))c=this._getOrReturnCtx(n,c),L(c,{validation:"uuid",code:U.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="nanoid"){if(!jG.test(n.data))c=this._getOrReturnCtx(n,c),L(c,{validation:"nanoid",code:U.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="cuid"){if(!VG.test(n.data))c=this._getOrReturnCtx(n,c),L(c,{validation:"cuid",code:U.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="cuid2"){if(!_G.test(n.data))c=this._getOrReturnCtx(n,c),L(c,{validation:"cuid2",code:U.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="ulid"){if(!BG.test(n.data))c=this._getOrReturnCtx(n,c),L(c,{validation:"ulid",code:U.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="url")try{new URL(n.data)}catch(x){c=this._getOrReturnCtx(n,c),L(c,{validation:"url",code:U.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="regex"){if(p.regex.lastIndex=0,!p.regex.test(n.data))c=this._getOrReturnCtx(n,c),L(c,{validation:"regex",code:U.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="trim")n.data=n.data.trim();else if(p.kind==="includes"){if(!n.data.includes(p.value,p.position))c=this._getOrReturnCtx(n,c),L(c,{code:U.invalid_string,validation:{includes:p.value,position:p.position},message:p.message}),o.dirty()}else if(p.kind==="toLowerCase")n.data=n.data.toLowerCase();else if(p.kind==="toUpperCase")n.data=n.data.toUpperCase();else if(p.kind==="startsWith"){if(!n.data.startsWith(p.value))c=this._getOrReturnCtx(n,c),L(c,{code:U.invalid_string,validation:{startsWith:p.value},message:p.message}),o.dirty()}else if(p.kind==="endsWith"){if(!n.data.endsWith(p.value))c=this._getOrReturnCtx(n,c),L(c,{code:U.invalid_string,validation:{endsWith:p.value},message:p.message}),o.dirty()}else if(p.kind==="datetime"){if(!iR(p).test(n.data))c=this._getOrReturnCtx(n,c),L(c,{code:U.invalid_string,validation:"datetime",message:p.message}),o.dirty()}else if(p.kind==="date"){if(!qG.test(n.data))c=this._getOrReturnCtx(n,c),L(c,{code:U.invalid_string,validation:"date",message:p.message}),o.dirty()}else if(p.kind==="time"){if(!PG(p).test(n.data))c=this._getOrReturnCtx(n,c),L(c,{code:U.invalid_string,validation:"time",message:p.message}),o.dirty()}else if(p.kind==="duration"){if(!DG.test(n.data))c=this._getOrReturnCtx(n,c),L(c,{validation:"duration",code:U.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="ip"){if(!sG(n.data,p.version))c=this._getOrReturnCtx(n,c),L(c,{validation:"ip",code:U.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="jwt"){if(!rG(n.data,p.alg))c=this._getOrReturnCtx(n,c),L(c,{validation:"jwt",code:U.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="cidr"){if(!tG(n.data,p.version))c=this._getOrReturnCtx(n,c),L(c,{validation:"cidr",code:U.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="base64"){if(!kG.test(n.data))c=this._getOrReturnCtx(n,c),L(c,{validation:"base64",code:U.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="base64url"){if(!ZG.test(n.data))c=this._getOrReturnCtx(n,c),L(c,{validation:"base64url",code:U.invalid_string,message:p.message}),o.dirty()}else Tn.assertNever(p);return{status:o.value,value:n.data}}_regex(n,i,o){return this.refinement((c)=>n.test(c),{validation:i,code:U.invalid_string,...k.errToObj(o)})}_addCheck(n){return new Jo({...this._def,checks:[...this._def.checks,n]})}email(n){return this._addCheck({kind:"email",...k.errToObj(n)})}url(n){return this._addCheck({kind:"url",...k.errToObj(n)})}emoji(n){return this._addCheck({kind:"emoji",...k.errToObj(n)})}uuid(n){return this._addCheck({kind:"uuid",...k.errToObj(n)})}nanoid(n){return this._addCheck({kind:"nanoid",...k.errToObj(n)})}cuid(n){return this._addCheck({kind:"cuid",...k.errToObj(n)})}cuid2(n){return this._addCheck({kind:"cuid2",...k.errToObj(n)})}ulid(n){return this._addCheck({kind:"ulid",...k.errToObj(n)})}base64(n){return this._addCheck({kind:"base64",...k.errToObj(n)})}base64url(n){return this._addCheck({kind:"base64url",...k.errToObj(n)})}jwt(n){return this._addCheck({kind:"jwt",...k.errToObj(n)})}ip(n){return this._addCheck({kind:"ip",...k.errToObj(n)})}cidr(n){return this._addCheck({kind:"cidr",...k.errToObj(n)})}datetime(n){var i,o;if(typeof n==="string")return this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:n});return this._addCheck({kind:"datetime",precision:typeof(n===null||n===void 0?void 0:n.precision)==="undefined"?null:n===null||n===void 0?void 0:n.precision,offset:(i=n===null||n===void 0?void 0:n.offset)!==null&&i!==void 0?i:!1,local:(o=n===null||n===void 0?void 0:n.local)!==null&&o!==void 0?o:!1,...k.errToObj(n===null||n===void 0?void 0:n.message)})}date(n){return this._addCheck({kind:"date",message:n})}time(n){if(typeof n==="string")return this._addCheck({kind:"time",precision:null,message:n});return this._addCheck({kind:"time",precision:typeof(n===null||n===void 0?void 0:n.precision)==="undefined"?null:n===null||n===void 0?void 0:n.precision,...k.errToObj(n===null||n===void 0?void 0:n.message)})}duration(n){return this._addCheck({kind:"duration",...k.errToObj(n)})}regex(n,i){return this._addCheck({kind:"regex",regex:n,...k.errToObj(i)})}includes(n,i){return this._addCheck({kind:"includes",value:n,position:i===null||i===void 0?void 0:i.position,...k.errToObj(i===null||i===void 0?void 0:i.message)})}startsWith(n,i){return this._addCheck({kind:"startsWith",value:n,...k.errToObj(i)})}endsWith(n,i){return this._addCheck({kind:"endsWith",value:n,...k.errToObj(i)})}min(n,i){return this._addCheck({kind:"min",value:n,...k.errToObj(i)})}max(n,i){return this._addCheck({kind:"max",value:n,...k.errToObj(i)})}length(n,i){return this._addCheck({kind:"length",value:n,...k.errToObj(i)})}nonempty(n){return this.min(1,k.errToObj(n))}trim(){return new Jo({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new Jo({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new Jo({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find((n)=>n.kind==="datetime")}get isDate(){return!!this._def.checks.find((n)=>n.kind==="date")}get isTime(){return!!this._def.checks.find((n)=>n.kind==="time")}get isDuration(){return!!this._def.checks.find((n)=>n.kind==="duration")}get isEmail(){return!!this._def.checks.find((n)=>n.kind==="email")}get isURL(){return!!this._def.checks.find((n)=>n.kind==="url")}get isEmoji(){return!!this._def.checks.find((n)=>n.kind==="emoji")}get isUUID(){return!!this._def.checks.find((n)=>n.kind==="uuid")}get isNANOID(){return!!this._def.checks.find((n)=>n.kind==="nanoid")}get isCUID(){return!!this._def.checks.find((n)=>n.kind==="cuid")}get isCUID2(){return!!this._def.checks.find((n)=>n.kind==="cuid2")}get isULID(){return!!this._def.checks.find((n)=>n.kind==="ulid")}get isIP(){return!!this._def.checks.find((n)=>n.kind==="ip")}get isCIDR(){return!!this._def.checks.find((n)=>n.kind==="cidr")}get isBase64(){return!!this._def.checks.find((n)=>n.kind==="base64")}get isBase64url(){return!!this._def.checks.find((n)=>n.kind==="base64url")}get minLength(){let n=null;for(let i of this._def.checks)if(i.kind==="min"){if(n===null||i.value>n)n=i.value}return n}get maxLength(){let n=null;for(let i of this._def.checks)if(i.kind==="max"){if(n===null||i.value<n)n=i.value}return n}}Jo.create=(n)=>{var i;return new Jo({checks:[],typeName:t.ZodString,coerce:(i=n===null||n===void 0?void 0:n.coerce)!==null&&i!==void 0?i:!1,...cn(n)})};function gG(n,i){let o=(n.toString().split(".")[1]||"").length,c=(i.toString().split(".")[1]||"").length,p=o>c?o:c,x=parseInt(n.toFixed(p).replace(".","")),m=parseInt(i.toFixed(p).replace(".",""));return x%m/Math.pow(10,p)}class fc extends pn{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(n){if(this._def.coerce)n.data=Number(n.data);if(this._getType(n)!==h.number){let p=this._getOrReturnCtx(n);return L(p,{code:U.invalid_type,expected:h.number,received:p.parsedType}),g}let o=void 0,c=new Mi;for(let p of this._def.checks)if(p.kind==="int"){if(!Tn.isInteger(n.data))o=this._getOrReturnCtx(n,o),L(o,{code:U.invalid_type,expected:"integer",received:"float",message:p.message}),c.dirty()}else if(p.kind==="min"){if(p.inclusive?n.data<p.value:n.data<=p.value)o=this._getOrReturnCtx(n,o),L(o,{code:U.too_small,minimum:p.value,type:"number",inclusive:p.inclusive,exact:!1,message:p.message}),c.dirty()}else if(p.kind==="max"){if(p.inclusive?n.data>p.value:n.data>=p.value)o=this._getOrReturnCtx(n,o),L(o,{code:U.too_big,maximum:p.value,type:"number",inclusive:p.inclusive,exact:!1,message:p.message}),c.dirty()}else if(p.kind==="multipleOf"){if(gG(n.data,p.value)!==0)o=this._getOrReturnCtx(n,o),L(o,{code:U.not_multiple_of,multipleOf:p.value,message:p.message}),c.dirty()}else if(p.kind==="finite"){if(!Number.isFinite(n.data))o=this._getOrReturnCtx(n,o),L(o,{code:U.not_finite,message:p.message}),c.dirty()}else Tn.assertNever(p);return{status:c.value,value:n.data}}gte(n,i){return this.setLimit("min",n,!0,k.toString(i))}gt(n,i){return this.setLimit("min",n,!1,k.toString(i))}lte(n,i){return this.setLimit("max",n,!0,k.toString(i))}lt(n,i){return this.setLimit("max",n,!1,k.toString(i))}setLimit(n,i,o,c){return new fc({...this._def,checks:[...this._def.checks,{kind:n,value:i,inclusive:o,message:k.toString(c)}]})}_addCheck(n){return new fc({...this._def,checks:[...this._def.checks,n]})}int(n){return this._addCheck({kind:"int",message:k.toString(n)})}positive(n){return this._addCheck({kind:"min",value:0,inclusive:!1,message:k.toString(n)})}negative(n){return this._addCheck({kind:"max",value:0,inclusive:!1,message:k.toString(n)})}nonpositive(n){return this._addCheck({kind:"max",value:0,inclusive:!0,message:k.toString(n)})}nonnegative(n){return this._addCheck({kind:"min",value:0,inclusive:!0,message:k.toString(n)})}multipleOf(n,i){return this._addCheck({kind:"multipleOf",value:n,message:k.toString(i)})}finite(n){return this._addCheck({kind:"finite",message:k.toString(n)})}safe(n){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:k.toString(n)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:k.toString(n)})}get minValue(){let n=null;for(let i of this._def.checks)if(i.kind==="min"){if(n===null||i.value>n)n=i.value}return n}get maxValue(){let n=null;for(let i of this._def.checks)if(i.kind==="max"){if(n===null||i.value<n)n=i.value}return n}get isInt(){return!!this._def.checks.find((n)=>n.kind==="int"||n.kind==="multipleOf"&&Tn.isInteger(n.value))}get isFinite(){let n=null,i=null;for(let o of this._def.checks)if(o.kind==="finite"||o.kind==="int"||o.kind==="multipleOf")return!0;else if(o.kind==="min"){if(i===null||o.value>i)i=o.value}else if(o.kind==="max"){if(n===null||o.value<n)n=o.value}return Number.isFinite(i)&&Number.isFinite(n)}}fc.create=(n)=>{return new fc({checks:[],typeName:t.ZodNumber,coerce:(n===null||n===void 0?void 0:n.coerce)||!1,...cn(n)})};class ac extends pn{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse(n){if(this._def.coerce)try{n.data=BigInt(n.data)}catch(p){return this._getInvalidInput(n)}if(this._getType(n)!==h.bigint)return this._getInvalidInput(n);let o=void 0,c=new Mi;for(let p of this._def.checks)if(p.kind==="min"){if(p.inclusive?n.data<p.value:n.data<=p.value)o=this._getOrReturnCtx(n,o),L(o,{code:U.too_small,type:"bigint",minimum:p.value,inclusive:p.inclusive,message:p.message}),c.dirty()}else if(p.kind==="max"){if(p.inclusive?n.data>p.value:n.data>=p.value)o=this._getOrReturnCtx(n,o),L(o,{code:U.too_big,type:"bigint",maximum:p.value,inclusive:p.inclusive,message:p.message}),c.dirty()}else if(p.kind==="multipleOf"){if(n.data%p.value!==BigInt(0))o=this._getOrReturnCtx(n,o),L(o,{code:U.not_multiple_of,multipleOf:p.value,message:p.message}),c.dirty()}else Tn.assertNever(p);return{status:c.value,value:n.data}}_getInvalidInput(n){let i=this._getOrReturnCtx(n);return L(i,{code:U.invalid_type,expected:h.bigint,received:i.parsedType}),g}gte(n,i){return this.setLimit("min",n,!0,k.toString(i))}gt(n,i){return this.setLimit("min",n,!1,k.toString(i))}lte(n,i){return this.setLimit("max",n,!0,k.toString(i))}lt(n,i){return this.setLimit("max",n,!1,k.toString(i))}setLimit(n,i,o,c){return new ac({...this._def,checks:[...this._def.checks,{kind:n,value:i,inclusive:o,message:k.toString(c)}]})}_addCheck(n){return new ac({...this._def,checks:[...this._def.checks,n]})}positive(n){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:k.toString(n)})}negative(n){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:k.toString(n)})}nonpositive(n){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:k.toString(n)})}nonnegative(n){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:k.toString(n)})}multipleOf(n,i){return this._addCheck({kind:"multipleOf",value:n,message:k.toString(i)})}get minValue(){let n=null;for(let i of this._def.checks)if(i.kind==="min"){if(n===null||i.value>n)n=i.value}return n}get maxValue(){let n=null;for(let i of this._def.checks)if(i.kind==="max"){if(n===null||i.value<n)n=i.value}return n}}ac.create=(n)=>{var i;return new ac({checks:[],typeName:t.ZodBigInt,coerce:(i=n===null||n===void 0?void 0:n.coerce)!==null&&i!==void 0?i:!1,...cn(n)})};class Lp extends pn{_parse(n){if(this._def.coerce)n.data=Boolean(n.data);if(this._getType(n)!==h.boolean){let o=this._getOrReturnCtx(n);return L(o,{code:U.invalid_type,expected:h.boolean,received:o.parsedType}),g}return Ui(n.data)}}Lp.create=(n)=>{return new Lp({typeName:t.ZodBoolean,coerce:(n===null||n===void 0?void 0:n.coerce)||!1,...cn(n)})};class hc extends pn{_parse(n){if(this._def.coerce)n.data=new Date(n.data);if(this._getType(n)!==h.date){let p=this._getOrReturnCtx(n);return L(p,{code:U.invalid_type,expected:h.date,received:p.parsedType}),g}if(isNaN(n.data.getTime())){let p=this._getOrReturnCtx(n);return L(p,{code:U.invalid_date}),g}let o=new Mi,c=void 0;for(let p of this._def.checks)if(p.kind==="min"){if(n.data.getTime()<p.value)c=this._getOrReturnCtx(n,c),L(c,{code:U.too_small,message:p.message,inclusive:!0,exact:!1,minimum:p.value,type:"date"}),o.dirty()}else if(p.kind==="max"){if(n.data.getTime()>p.value)c=this._getOrReturnCtx(n,c),L(c,{code:U.too_big,message:p.message,inclusive:!0,exact:!1,maximum:p.value,type:"date"}),o.dirty()}else Tn.assertNever(p);return{status:o.value,value:new Date(n.data.getTime())}}_addCheck(n){return new hc({...this._def,checks:[...this._def.checks,n]})}min(n,i){return this._addCheck({kind:"min",value:n.getTime(),message:k.toString(i)})}max(n,i){return this._addCheck({kind:"max",value:n.getTime(),message:k.toString(i)})}get minDate(){let n=null;for(let i of this._def.checks)if(i.kind==="min"){if(n===null||i.value>n)n=i.value}return n!=null?new Date(n):null}get maxDate(){let n=null;for(let i of this._def.checks)if(i.kind==="max"){if(n===null||i.value<n)n=i.value}return n!=null?new Date(n):null}}hc.create=(n)=>{return new hc({checks:[],coerce:(n===null||n===void 0?void 0:n.coerce)||!1,typeName:t.ZodDate,...cn(n)})};class Ix extends pn{_parse(n){if(this._getType(n)!==h.symbol){let o=this._getOrReturnCtx(n);return L(o,{code:U.invalid_type,expected:h.symbol,received:o.parsedType}),g}return Ui(n.data)}}Ix.create=(n)=>{return new Ix({typeName:t.ZodSymbol,...cn(n)})};class Dp extends pn{_parse(n){if(this._getType(n)!==h.undefined){let o=this._getOrReturnCtx(n);return L(o,{code:U.invalid_type,expected:h.undefined,received:o.parsedType}),g}return Ui(n.data)}}Dp.create=(n)=>{return new Dp({typeName:t.ZodUndefined,...cn(n)})};class Np extends pn{_parse(n){if(this._getType(n)!==h.null){let o=this._getOrReturnCtx(n);return L(o,{code:U.invalid_type,expected:h.null,received:o.parsedType}),g}return Ui(n.data)}}Np.create=(n)=>{return new Np({typeName:t.ZodNull,...cn(n)})};class Cc extends pn{constructor(){super(...arguments);this._any=!0}_parse(n){return Ui(n.data)}}Cc.create=(n)=>{return new Cc({typeName:t.ZodAny,...cn(n)})};class mc extends pn{constructor(){super(...arguments);this._unknown=!0}_parse(n){return Ui(n.data)}}mc.create=(n)=>{return new mc({typeName:t.ZodUnknown,...cn(n)})};class zo extends pn{_parse(n){let i=this._getOrReturnCtx(n);return L(i,{code:U.invalid_type,expected:h.never,received:i.parsedType}),g}}zo.create=(n)=>{return new zo({typeName:t.ZodNever,...cn(n)})};class yx extends pn{_parse(n){if(this._getType(n)!==h.undefined){let o=this._getOrReturnCtx(n);return L(o,{code:U.invalid_type,expected:h.void,received:o.parsedType}),g}return Ui(n.data)}}yx.create=(n)=>{return new yx({typeName:t.ZodVoid,...cn(n)})};class Ao extends pn{_parse(n){let{ctx:i,status:o}=this._processInputParams(n),c=this._def;if(i.parsedType!==h.array)return L(i,{code:U.invalid_type,expected:h.array,received:i.parsedType}),g;if(c.exactLength!==null){let x=i.data.length>c.exactLength.value,m=i.data.length<c.exactLength.value;if(x||m)L(i,{code:x?U.too_big:U.too_small,minimum:m?c.exactLength.value:void 0,maximum:x?c.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:c.exactLength.message}),o.dirty()}if(c.minLength!==null){if(i.data.length<c.minLength.value)L(i,{code:U.too_small,minimum:c.minLength.value,type:"array",inclusive:!0,exact:!1,message:c.minLength.message}),o.dirty()}if(c.maxLength!==null){if(i.data.length>c.maxLength.value)L(i,{code:U.too_big,maximum:c.maxLength.value,type:"array",inclusive:!0,exact:!1,message:c.maxLength.message}),o.dirty()}if(i.common.async)return Promise.all([...i.data].map((x,m)=>{return c.type._parseAsync(new Fo(i,x,i.path,m))})).then((x)=>{return Mi.mergeArray(o,x)});let p=[...i.data].map((x,m)=>{return c.type._parseSync(new Fo(i,x,i.path,m))});return Mi.mergeArray(o,p)}get element(){return this._def.type}min(n,i){return new Ao({...this._def,minLength:{value:n,message:k.toString(i)}})}max(n,i){return new Ao({...this._def,maxLength:{value:n,message:k.toString(i)}})}length(n,i){return new Ao({...this._def,exactLength:{value:n,message:k.toString(i)}})}nonempty(n){return this.min(1,n)}}Ao.create=(n,i)=>{return new Ao({type:n,minLength:null,maxLength:null,exactLength:null,typeName:t.ZodArray,...cn(i)})};function _p(n){if(n instanceof un){let i={};for(let o in n.shape){let c=n.shape[o];i[o]=To.create(_p(c))}return new un({...n._def,shape:()=>i})}else if(n instanceof Ao)return new Ao({...n._def,type:_p(n.element)});else if(n instanceof To)return To.create(_p(n.unwrap()));else if(n instanceof ho)return ho.create(_p(n.unwrap()));else if(n instanceof Qo)return Qo.create(n.items.map((i)=>_p(i)));else return n}class un extends pn{constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let n=this._def.shape(),i=Tn.objectKeys(n);return this._cached={shape:n,keys:i}}_parse(n){if(this._getType(n)!==h.object){let a=this._getOrReturnCtx(n);return L(a,{code:U.invalid_type,expected:h.object,received:a.parsedType}),g}let{status:o,ctx:c}=this._processInputParams(n),{shape:p,keys:x}=this._getCached(),m=[];if(!(this._def.catchall instanceof zo&&this._def.unknownKeys==="strip")){for(let a in c.data)if(!x.includes(a))m.push(a)}let f=[];for(let a of x){let v=p[a],$=c.data[a];f.push({key:{status:"valid",value:a},value:v._parse(new Fo(c,$,c.path,a)),alwaysSet:a in c.data})}if(this._def.catchall instanceof zo){let a=this._def.unknownKeys;if(a==="passthrough")for(let v of m)f.push({key:{status:"valid",value:v},value:{status:"valid",value:c.data[v]}});else if(a==="strict"){if(m.length>0)L(c,{code:U.unrecognized_keys,keys:m}),o.dirty()}else if(a==="strip");else throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let a=this._def.catchall;for(let v of m){let $=c.data[v];f.push({key:{status:"valid",value:v},value:a._parse(new Fo(c,$,c.path,v)),alwaysSet:v in c.data})}}if(c.common.async)return Promise.resolve().then(async()=>{let a=[];for(let v of f){let $=await v.key,w=await v.value;a.push({key:$,value:w,alwaysSet:v.alwaysSet})}return a}).then((a)=>{return Mi.mergeObjectSync(o,a)});else return Mi.mergeObjectSync(o,f)}get shape(){return this._def.shape()}strict(n){return k.errToObj,new un({...this._def,unknownKeys:"strict",...n!==void 0?{errorMap:(i,o)=>{var c,p,x,m;let f=(x=(p=(c=this._def).errorMap)===null||p===void 0?void 0:p.call(c,i,o).message)!==null&&x!==void 0?x:o.defaultError;if(i.code==="unrecognized_keys")return{message:(m=k.errToObj(n).message)!==null&&m!==void 0?m:f};return{message:f}}}:{}})}strip(){return new un({...this._def,unknownKeys:"strip"})}passthrough(){return new un({...this._def,unknownKeys:"passthrough"})}extend(n){return new un({...this._def,shape:()=>({...this._def.shape(),...n})})}merge(n){return new un({unknownKeys:n._def.unknownKeys,catchall:n._def.catchall,shape:()=>({...this._def.shape(),...n._def.shape()}),typeName:t.ZodObject})}setKey(n,i){return this.augment({[n]:i})}catchall(n){return new un({...this._def,catchall:n})}pick(n){let i={};return Tn.objectKeys(n).forEach((o)=>{if(n[o]&&this.shape[o])i[o]=this.shape[o]}),new un({...this._def,shape:()=>i})}omit(n){let i={};return Tn.objectKeys(this.shape).forEach((o)=>{if(!n[o])i[o]=this.shape[o]}),new un({...this._def,shape:()=>i})}deepPartial(){return _p(this)}partial(n){let i={};return Tn.objectKeys(this.shape).forEach((o)=>{let c=this.shape[o];if(n&&!n[o])i[o]=c;else i[o]=c.optional()}),new un({...this._def,shape:()=>i})}required(n){let i={};return Tn.objectKeys(this.shape).forEach((o)=>{if(n&&!n[o])i[o]=this.shape[o];else{let p=this.shape[o];while(p instanceof To)p=p._def.innerType;i[o]=p}}),new un({...this._def,shape:()=>i})}keyof(){return oR(Tn.objectKeys(this.shape))}}un.create=(n,i)=>{return new un({shape:()=>n,unknownKeys:"strip",catchall:zo.create(),typeName:t.ZodObject,...cn(i)})};un.strictCreate=(n,i)=>{return new un({shape:()=>n,unknownKeys:"strict",catchall:zo.create(),typeName:t.ZodObject,...cn(i)})};un.lazycreate=(n,i)=>{return new un({shape:n,unknownKeys:"strip",catchall:zo.create(),typeName:t.ZodObject,...cn(i)})};class hp extends pn{_parse(n){let{ctx:i}=this._processInputParams(n),o=this._def.options;function c(p){for(let m of p)if(m.result.status==="valid")return m.result;for(let m of p)if(m.result.status==="dirty")return i.common.issues.push(...m.ctx.common.issues),m.result;let x=p.map((m)=>new Ii(m.ctx.common.issues));return L(i,{code:U.invalid_union,unionErrors:x}),g}if(i.common.async)return Promise.all(o.map(async(p)=>{let x={...i,common:{...i.common,issues:[]},parent:null};return{result:await p._parseAsync({data:i.data,path:i.path,parent:x}),ctx:x}})).then(c);else{let p=void 0,x=[];for(let f of o){let a={...i,common:{...i.common,issues:[]},parent:null},v=f._parseSync({data:i.data,path:i.path,parent:a});if(v.status==="valid")return v;else if(v.status==="dirty"&&!p)p={result:v,ctx:a};if(a.common.issues.length)x.push(a.common.issues)}if(p)return i.common.issues.push(...p.ctx.common.issues),p.result;let m=x.map((f)=>new Ii(f));return L(i,{code:U.invalid_union,unionErrors:m}),g}}get options(){return this._def.options}}hp.create=(n,i)=>{return new hp({options:n,typeName:t.ZodUnion,...cn(i)})};var Do=(n)=>{if(n instanceof up)return Do(n.schema);else if(n instanceof no)return Do(n.innerType());else if(n instanceof Ip)return[n.value];else if(n instanceof vc)return n.options;else if(n instanceof yp)return Tn.objectValues(n.enum);else if(n instanceof kp)return Do(n._def.innerType);else if(n instanceof Dp)return[void 0];else if(n instanceof Np)return[null];else if(n instanceof To)return[void 0,...Do(n.unwrap())];else if(n instanceof ho)return[null,...Do(n.unwrap())];else if(n instanceof Nf)return Do(n.unwrap());else if(n instanceof qp)return Do(n.unwrap());else if(n instanceof Zp)return Do(n._def.innerType);else return[]};class Df extends pn{_parse(n){let{ctx:i}=this._processInputParams(n);if(i.parsedType!==h.object)return L(i,{code:U.invalid_type,expected:h.object,received:i.parsedType}),g;let o=this.discriminator,c=i.data[o],p=this.optionsMap.get(c);if(!p)return L(i,{code:U.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[o]}),g;if(i.common.async)return p._parseAsync({data:i.data,path:i.path,parent:i});else return p._parseSync({data:i.data,path:i.path,parent:i})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(n,i,o){let c=new Map;for(let p of i){let x=Do(p.shape[n]);if(!x.length)throw new Error(`A discriminator value for key \`${n}\` could not be extracted from all schema options`);for(let m of x){if(c.has(m))throw new Error(`Discriminator property ${String(n)} has duplicate value ${String(m)}`);c.set(m,p)}}return new Df({typeName:t.ZodDiscriminatedUnion,discriminator:n,options:i,optionsMap:c,...cn(o)})}}function M0(n,i){let o=No(n),c=No(i);if(n===i)return{valid:!0,data:n};else if(o===h.object&&c===h.object){let p=Tn.objectKeys(i),x=Tn.objectKeys(n).filter((f)=>p.indexOf(f)!==-1),m={...n,...i};for(let f of x){let a=M0(n[f],i[f]);if(!a.valid)return{valid:!1};m[f]=a.data}return{valid:!0,data:m}}else if(o===h.array&&c===h.array){if(n.length!==i.length)return{valid:!1};let p=[];for(let x=0;x<n.length;x++){let m=n[x],f=i[x],a=M0(m,f);if(!a.valid)return{valid:!1};p.push(a.data)}return{valid:!0,data:p}}else if(o===h.date&&c===h.date&&+n===+i)return{valid:!0,data:n};else return{valid:!1}}class Cp extends pn{_parse(n){let{status:i,ctx:o}=this._processInputParams(n),c=(p,x)=>{if(l0(p)||l0(x))return g;let m=M0(p.value,x.value);if(!m.valid)return L(o,{code:U.invalid_intersection_types}),g;if(H0(p)||H0(x))i.dirty();return{status:i.value,value:m.data}};if(o.common.async)return Promise.all([this._def.left._parseAsync({data:o.data,path:o.path,parent:o}),this._def.right._parseAsync({data:o.data,path:o.path,parent:o})]).then(([p,x])=>c(p,x));else return c(this._def.left._parseSync({data:o.data,path:o.path,parent:o}),this._def.right._parseSync({data:o.data,path:o.path,parent:o}))}}Cp.create=(n,i,o)=>{return new Cp({left:n,right:i,typeName:t.ZodIntersection,...cn(o)})};class Qo extends pn{_parse(n){let{status:i,ctx:o}=this._processInputParams(n);if(o.parsedType!==h.array)return L(o,{code:U.invalid_type,expected:h.array,received:o.parsedType}),g;if(o.data.length<this._def.items.length)return L(o,{code:U.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),g;if(!this._def.rest&&o.data.length>this._def.items.length)L(o,{code:U.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),i.dirty();let p=[...o.data].map((x,m)=>{let f=this._def.items[m]||this._def.rest;if(!f)return null;return f._parse(new Fo(o,x,o.path,m))}).filter((x)=>!!x);if(o.common.async)return Promise.all(p).then((x)=>{return Mi.mergeArray(i,x)});else return Mi.mergeArray(i,p)}get items(){return this._def.items}rest(n){return new Qo({...this._def,rest:n})}}Qo.create=(n,i)=>{if(!Array.isArray(n))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Qo({items:n,typeName:t.ZodTuple,rest:null,...cn(i)})};class kx extends pn{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(n){let{status:i,ctx:o}=this._processInputParams(n);if(o.parsedType!==h.object)return L(o,{code:U.invalid_type,expected:h.object,received:o.parsedType}),g;let c=[],p=this._def.keyType,x=this._def.valueType;for(let m in o.data)c.push({key:p._parse(new Fo(o,m,o.path,m)),value:x._parse(new Fo(o,o.data[m],o.path,m)),alwaysSet:m in o.data});if(o.common.async)return Mi.mergeObjectAsync(i,c);else return Mi.mergeObjectSync(i,c)}get element(){return this._def.valueType}static create(n,i,o){if(i instanceof pn)return new kx({keyType:n,valueType:i,typeName:t.ZodRecord,...cn(o)});return new kx({keyType:Jo.create(),valueType:n,typeName:t.ZodRecord,...cn(i)})}}class Zx extends pn{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(n){let{status:i,ctx:o}=this._processInputParams(n);if(o.parsedType!==h.map)return L(o,{code:U.invalid_type,expected:h.map,received:o.parsedType}),g;let c=this._def.keyType,p=this._def.valueType,x=[...o.data.entries()].map(([m,f],a)=>{return{key:c._parse(new Fo(o,m,o.path,[a,"key"])),value:p._parse(new Fo(o,f,o.path,[a,"value"]))}});if(o.common.async){let m=new Map;return Promise.resolve().then(async()=>{for(let f of x){let a=await f.key,v=await f.value;if(a.status==="aborted"||v.status==="aborted")return g;if(a.status==="dirty"||v.status==="dirty")i.dirty();m.set(a.value,v.value)}return{status:i.value,value:m}})}else{let m=new Map;for(let f of x){let{key:a,value:v}=f;if(a.status==="aborted"||v.status==="aborted")return g;if(a.status==="dirty"||v.status==="dirty")i.dirty();m.set(a.value,v.value)}return{status:i.value,value:m}}}}Zx.create=(n,i,o)=>{return new Zx({valueType:i,keyType:n,typeName:t.ZodMap,...cn(o)})};class uc extends pn{_parse(n){let{status:i,ctx:o}=this._processInputParams(n);if(o.parsedType!==h.set)return L(o,{code:U.invalid_type,expected:h.set,received:o.parsedType}),g;let c=this._def;if(c.minSize!==null){if(o.data.size<c.minSize.value)L(o,{code:U.too_small,minimum:c.minSize.value,type:"set",inclusive:!0,exact:!1,message:c.minSize.message}),i.dirty()}if(c.maxSize!==null){if(o.data.size>c.maxSize.value)L(o,{code:U.too_big,maximum:c.maxSize.value,type:"set",inclusive:!0,exact:!1,message:c.maxSize.message}),i.dirty()}let p=this._def.valueType;function x(f){let a=new Set;for(let v of f){if(v.status==="aborted")return g;if(v.status==="dirty")i.dirty();a.add(v.value)}return{status:i.value,value:a}}let m=[...o.data.values()].map((f,a)=>p._parse(new Fo(o,f,o.path,a)));if(o.common.async)return Promise.all(m).then((f)=>x(f));else return x(m)}min(n,i){return new uc({...this._def,minSize:{value:n,message:k.toString(i)}})}max(n,i){return new uc({...this._def,maxSize:{value:n,message:k.toString(i)}})}size(n,i){return this.min(n,i).max(n,i)}nonempty(n){return this.min(1,n)}}uc.create=(n,i)=>{return new uc({valueType:n,minSize:null,maxSize:null,typeName:t.ZodSet,...cn(i)})};class bp extends pn{constructor(){super(...arguments);this.validate=this.implement}_parse(n){let{ctx:i}=this._processInputParams(n);if(i.parsedType!==h.function)return L(i,{code:U.invalid_type,expected:h.function,received:i.parsedType}),g;function o(m,f){return jf({data:m,path:i.path,errorMaps:[i.common.contextualErrorMap,i.schemaErrorMap,bf(),jp].filter((a)=>!!a),issueData:{code:U.invalid_arguments,argumentsError:f}})}function c(m,f){return jf({data:m,path:i.path,errorMaps:[i.common.contextualErrorMap,i.schemaErrorMap,bf(),jp].filter((a)=>!!a),issueData:{code:U.invalid_return_type,returnTypeError:f}})}let p={errorMap:i.common.contextualErrorMap},x=i.data;if(this._def.returns instanceof Ic){let m=this;return Ui(async function(...f){let a=new Ii([]),v=await m._def.args.parseAsync(f,p).catch((J)=>{throw a.addIssue(o(f,J)),a}),$=await Reflect.apply(x,this,v);return await m._def.returns._def.type.parseAsync($,p).catch((J)=>{throw a.addIssue(c($,J)),a})})}else{let m=this;return Ui(function(...f){let a=m._def.args.safeParse(f,p);if(!a.success)throw new Ii([o(f,a.error)]);let v=Reflect.apply(x,this,a.data),$=m._def.returns.safeParse(v,p);if(!$.success)throw new Ii([c(v,$.error)]);return $.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...n){return new bp({...this._def,args:Qo.create(n).rest(mc.create())})}returns(n){return new bp({...this._def,returns:n})}implement(n){return this.parse(n)}strictImplement(n){return this.parse(n)}static create(n,i,o){return new bp({args:n?n:Qo.create([]).rest(mc.create()),returns:i||mc.create(),typeName:t.ZodFunction,...cn(o)})}}class up extends pn{get schema(){return this._def.getter()}_parse(n){let{ctx:i}=this._processInputParams(n);return this._def.getter()._parse({data:i.data,path:i.path,parent:i})}}up.create=(n,i)=>{return new up({getter:n,typeName:t.ZodLazy,...cn(i)})};class Ip extends pn{_parse(n){if(n.data!==this._def.value){let i=this._getOrReturnCtx(n);return L(i,{received:i.data,code:U.invalid_literal,expected:this._def.value}),g}return{status:"valid",value:n.data}}get value(){return this._def.value}}Ip.create=(n,i)=>{return new Ip({value:n,typeName:t.ZodLiteral,...cn(i)})};function oR(n,i){return new vc({values:n,typeName:t.ZodEnum,...cn(i)})}class vc extends pn{constructor(){super(...arguments);hx.set(this,void 0)}_parse(n){if(typeof n.data!=="string"){let i=this._getOrReturnCtx(n),o=this._def.values;return L(i,{expected:Tn.joinValues(o),received:i.parsedType,code:U.invalid_type}),g}if(!Lf(this,hx,"f"))d6(this,hx,new Set(this._def.values),"f");if(!Lf(this,hx,"f").has(n.data)){let i=this._getOrReturnCtx(n),o=this._def.values;return L(i,{received:i.data,code:U.invalid_enum_value,options:o}),g}return Ui(n.data)}get options(){return this._def.values}get enum(){let n={};for(let i of this._def.values)n[i]=i;return n}get Values(){let n={};for(let i of this._def.values)n[i]=i;return n}get Enum(){let n={};for(let i of this._def.values)n[i]=i;return n}extract(n,i=this._def){return vc.create(n,{...this._def,...i})}exclude(n,i=this._def){return vc.create(this.options.filter((o)=>!n.includes(o)),{...this._def,...i})}}hx=new WeakMap;vc.create=oR;class yp extends pn{constructor(){super(...arguments);Cx.set(this,void 0)}_parse(n){let i=Tn.getValidEnumValues(this._def.values),o=this._getOrReturnCtx(n);if(o.parsedType!==h.string&&o.parsedType!==h.number){let c=Tn.objectValues(i);return L(o,{expected:Tn.joinValues(c),received:o.parsedType,code:U.invalid_type}),g}if(!Lf(this,Cx,"f"))d6(this,Cx,new Set(Tn.getValidEnumValues(this._def.values)),"f");if(!Lf(this,Cx,"f").has(n.data)){let c=Tn.objectValues(i);return L(o,{received:o.data,code:U.invalid_enum_value,options:c}),g}return Ui(n.data)}get enum(){return this._def.values}}Cx=new WeakMap;yp.create=(n,i)=>{return new yp({values:n,typeName:t.ZodNativeEnum,...cn(i)})};class Ic extends pn{unwrap(){return this._def.type}_parse(n){let{ctx:i}=this._processInputParams(n);if(i.parsedType!==h.promise&&i.common.async===!1)return L(i,{code:U.invalid_type,expected:h.promise,received:i.parsedType}),g;let o=i.parsedType===h.promise?i.data:Promise.resolve(i.data);return Ui(o.then((c)=>{return this._def.type.parseAsync(c,{path:i.path,errorMap:i.common.contextualErrorMap})}))}}Ic.create=(n,i)=>{return new Ic({type:n,typeName:t.ZodPromise,...cn(i)})};class no extends pn{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===t.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(n){let{status:i,ctx:o}=this._processInputParams(n),c=this._def.effect||null,p={addIssue:(x)=>{if(L(o,x),x.fatal)i.abort();else i.dirty()},get path(){return o.path}};if(p.addIssue=p.addIssue.bind(p),c.type==="preprocess"){let x=c.transform(o.data,p);if(o.common.async)return Promise.resolve(x).then(async(m)=>{if(i.value==="aborted")return g;let f=await this._def.schema._parseAsync({data:m,path:o.path,parent:o});if(f.status==="aborted")return g;if(f.status==="dirty")return Bp(f.value);if(i.value==="dirty")return Bp(f.value);return f});else{if(i.value==="aborted")return g;let m=this._def.schema._parseSync({data:x,path:o.path,parent:o});if(m.status==="aborted")return g;if(m.status==="dirty")return Bp(m.value);if(i.value==="dirty")return Bp(m.value);return m}}if(c.type==="refinement"){let x=(m)=>{let f=c.refinement(m,p);if(o.common.async)return Promise.resolve(f);if(f instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return m};if(o.common.async===!1){let m=this._def.schema._parseSync({data:o.data,path:o.path,parent:o});if(m.status==="aborted")return g;if(m.status==="dirty")i.dirty();return x(m.value),{status:i.value,value:m.value}}else return this._def.schema._parseAsync({data:o.data,path:o.path,parent:o}).then((m)=>{if(m.status==="aborted")return g;if(m.status==="dirty")i.dirty();return x(m.value).then(()=>{return{status:i.value,value:m.value}})})}if(c.type==="transform")if(o.common.async===!1){let x=this._def.schema._parseSync({data:o.data,path:o.path,parent:o});if(!Nc(x))return x;let m=c.transform(x.value,p);if(m instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:i.value,value:m}}else return this._def.schema._parseAsync({data:o.data,path:o.path,parent:o}).then((x)=>{if(!Nc(x))return x;return Promise.resolve(c.transform(x.value,p)).then((m)=>({status:i.value,value:m}))});Tn.assertNever(c)}}no.create=(n,i,o)=>{return new no({schema:n,typeName:t.ZodEffects,effect:i,...cn(o)})};no.createWithPreprocess=(n,i,o)=>{return new no({schema:i,effect:{type:"preprocess",transform:n},typeName:t.ZodEffects,...cn(o)})};class To extends pn{_parse(n){if(this._getType(n)===h.undefined)return Ui(void 0);return this._def.innerType._parse(n)}unwrap(){return this._def.innerType}}To.create=(n,i)=>{return new To({innerType:n,typeName:t.ZodOptional,...cn(i)})};class ho extends pn{_parse(n){if(this._getType(n)===h.null)return Ui(null);return this._def.innerType._parse(n)}unwrap(){return this._def.innerType}}ho.create=(n,i)=>{return new ho({innerType:n,typeName:t.ZodNullable,...cn(i)})};class kp extends pn{_parse(n){let{ctx:i}=this._processInputParams(n),o=i.data;if(i.parsedType===h.undefined)o=this._def.defaultValue();return this._def.innerType._parse({data:o,path:i.path,parent:i})}removeDefault(){return this._def.innerType}}kp.create=(n,i)=>{return new kp({innerType:n,typeName:t.ZodDefault,defaultValue:typeof i.default==="function"?i.default:()=>i.default,...cn(i)})};class Zp extends pn{_parse(n){let{ctx:i}=this._processInputParams(n),o={...i,common:{...i.common,issues:[]}},c=this._def.innerType._parse({data:o.data,path:o.path,parent:{...o}});if(ux(c))return c.then((p)=>{return{status:"valid",value:p.status==="valid"?p.value:this._def.catchValue({get error(){return new Ii(o.common.issues)},input:o.data})}});else return{status:"valid",value:c.status==="valid"?c.value:this._def.catchValue({get error(){return new Ii(o.common.issues)},input:o.data})}}removeCatch(){return this._def.innerType}}Zp.create=(n,i)=>{return new Zp({innerType:n,typeName:t.ZodCatch,catchValue:typeof i.catch==="function"?i.catch:()=>i.catch,...cn(i)})};class qx extends pn{_parse(n){if(this._getType(n)!==h.nan){let o=this._getOrReturnCtx(n);return L(o,{code:U.invalid_type,expected:h.nan,received:o.parsedType}),g}return{status:"valid",value:n.data}}}qx.create=(n)=>{return new qx({typeName:t.ZodNaN,...cn(n)})};var dG=Symbol("zod_brand");class Nf extends pn{_parse(n){let{ctx:i}=this._processInputParams(n),o=i.data;return this._def.type._parse({data:o,path:i.path,parent:i})}unwrap(){return this._def.type}}class Px extends pn{_parse(n){let{status:i,ctx:o}=this._processInputParams(n);if(o.common.async)return(async()=>{let p=await this._def.in._parseAsync({data:o.data,path:o.path,parent:o});if(p.status==="aborted")return g;if(p.status==="dirty")return i.dirty(),Bp(p.value);else return this._def.out._parseAsync({data:p.value,path:o.path,parent:o})})();else{let c=this._def.in._parseSync({data:o.data,path:o.path,parent:o});if(c.status==="aborted")return g;if(c.status==="dirty")return i.dirty(),{status:"dirty",value:c.value};else return this._def.out._parseSync({data:c.value,path:o.path,parent:o})}}static create(n,i){return new Px({in:n,out:i,typeName:t.ZodPipeline})}}class qp extends pn{_parse(n){let i=this._def.innerType._parse(n),o=(c)=>{if(Nc(c))c.value=Object.freeze(c.value);return c};return ux(i)?i.then((c)=>o(c)):o(i)}unwrap(){return this._def.innerType}}qp.create=(n,i)=>{return new qp({innerType:n,typeName:t.ZodReadonly,...cn(i)})};function r6(n,i){let o=typeof n==="function"?n(i):typeof n==="string"?{message:n}:n;return typeof o==="string"?{message:o}:o}function cR(n,i={},o){if(n)return Cc.create().superRefine((c,p)=>{var x,m;let f=n(c);if(f instanceof Promise)return f.then((a)=>{var v,$;if(!a){let w=r6(i,c),J=($=(v=w.fatal)!==null&&v!==void 0?v:o)!==null&&$!==void 0?$:!0;p.addIssue({code:"custom",...w,fatal:J})}});if(!f){let a=r6(i,c),v=(m=(x=a.fatal)!==null&&x!==void 0?x:o)!==null&&m!==void 0?m:!0;p.addIssue({code:"custom",...a,fatal:v})}return});return Cc.create()}var eG={object:un.lazycreate},t;(function(n){n.ZodString="ZodString",n.ZodNumber="ZodNumber",n.ZodNaN="ZodNaN",n.ZodBigInt="ZodBigInt",n.ZodBoolean="ZodBoolean",n.ZodDate="ZodDate",n.ZodSymbol="ZodSymbol",n.ZodUndefined="ZodUndefined",n.ZodNull="ZodNull",n.ZodAny="ZodAny",n.ZodUnknown="ZodUnknown",n.ZodNever="ZodNever",n.ZodVoid="ZodVoid",n.ZodArray="ZodArray",n.ZodObject="ZodObject",n.ZodUnion="ZodUnion",n.ZodDiscriminatedUnion="ZodDiscriminatedUnion",n.ZodIntersection="ZodIntersection",n.ZodTuple="ZodTuple",n.ZodRecord="ZodRecord",n.ZodMap="ZodMap",n.ZodSet="ZodSet",n.ZodFunction="ZodFunction",n.ZodLazy="ZodLazy",n.ZodLiteral="ZodLiteral",n.ZodEnum="ZodEnum",n.ZodEffects="ZodEffects",n.ZodNativeEnum="ZodNativeEnum",n.ZodOptional="ZodOptional",n.ZodNullable="ZodNullable",n.ZodDefault="ZodDefault",n.ZodCatch="ZodCatch",n.ZodPromise="ZodPromise",n.ZodBranded="ZodBranded",n.ZodPipeline="ZodPipeline",n.ZodReadonly="ZodReadonly"})(t||(t={}));var nY=(n,i={message:`Input not instance of ${n.name}`})=>cR((o)=>o instanceof n,i),pR=Jo.create,xR=fc.create,iY=qx.create,oY=ac.create,mR=Lp.create,cY=hc.create,pY=Ix.create,xY=Dp.create,mY=Np.create,fY=Cc.create,aY=mc.create,vY=zo.create,$Y=yx.create,wY=Ao.create,JY=un.create,AY=un.strictCreate,TY=hp.create,FY=Df.create,RY=Cp.create,XY=Qo.create,WY=kx.create,KY=Zx.create,SY=uc.create,GY=bp.create,YY=up.create,lY=Ip.create,HY=vc.create,MY=yp.create,zY=Ic.create,t6=no.create,QY=To.create,EY=ho.create,OY=no.createWithPreprocess,UY=Px.create,VY=()=>pR().optional(),_Y=()=>xR().optional(),BY=()=>mR().optional(),bY={string:(n)=>Jo.create({...n,coerce:!0}),number:(n)=>fc.create({...n,coerce:!0}),boolean:(n)=>Lp.create({...n,coerce:!0}),bigint:(n)=>ac.create({...n,coerce:!0}),date:(n)=>hc.create({...n,coerce:!0})},jY=g,Kn=Object.freeze({__proto__:null,defaultErrorMap:jp,setErrorMap:OG,getErrorMap:bf,makeIssue:jf,EMPTY_PATH:UG,addIssueToContext:L,ParseStatus:Mi,INVALID:g,DIRTY:Bp,OK:Ui,isAborted:l0,isDirty:H0,isValid:Nc,isAsync:ux,get util(){return Tn},get objectUtil(){return Y0},ZodParsedType:h,getParsedType:No,ZodType:pn,datetimeRegex:iR,ZodString:Jo,ZodNumber:fc,ZodBigInt:ac,ZodBoolean:Lp,ZodDate:hc,ZodSymbol:Ix,ZodUndefined:Dp,ZodNull:Np,ZodAny:Cc,ZodUnknown:mc,ZodNever:zo,ZodVoid:yx,ZodArray:Ao,ZodObject:un,ZodUnion:hp,ZodDiscriminatedUnion:Df,ZodIntersection:Cp,ZodTuple:Qo,ZodRecord:kx,ZodMap:Zx,ZodSet:uc,ZodFunction:bp,ZodLazy:up,ZodLiteral:Ip,ZodEnum:vc,ZodNativeEnum:yp,ZodPromise:Ic,ZodEffects:no,ZodTransformer:no,ZodOptional:To,ZodNullable:ho,ZodDefault:kp,ZodCatch:Zp,ZodNaN:qx,BRAND:dG,ZodBranded:Nf,ZodPipeline:Px,ZodReadonly:qp,custom:cR,Schema:pn,ZodSchema:pn,late:eG,get ZodFirstPartyTypeKind(){return t},coerce:bY,any:fY,array:wY,bigint:oY,boolean:mR,date:cY,discriminatedUnion:FY,effect:t6,enum:HY,function:GY,instanceof:nY,intersection:RY,lazy:YY,literal:lY,map:KY,nan:iY,nativeEnum:MY,never:vY,null:mY,nullable:EY,number:xR,object:JY,oboolean:BY,onumber:_Y,optional:QY,ostring:VY,pipeline:UY,preprocess:OY,promise:zY,record:WY,set:SY,strictObject:AY,string:pR,symbol:pY,transformer:t6,tuple:XY,undefined:xY,union:TY,unknown:aY,void:$Y,NEVER:jY,ZodIssueCode:U,quotelessJson:EG,ZodError:Ii});var LY="__vite_start_time"in globalThis,DY=typeof window!=="undefined",rN="vitest"in globalThis,Pn=P6({isServer:!LY&&!DY,server:{CI:Kn.string().transform((n)=>!0).optional(),POSTGRES_USER:Kn.string(),POSTGRES_PASSWORD:Kn.string(),POSTGRES_DATABASE:Kn.string(),POSTGRES_HOST:Kn.string(),POSTGRES_PORT:Kn.string().transform((n)=>Number.parseInt(n,10)),BACKEND_PORT:Kn.string().transform((n)=>Number.parseInt(n,10)),RUN_WORKERS_FROM_SOURCE:Kn.union([Kn.literal("true"),Kn.literal("false")]).optional().transform((n)=>n==="true"),FRONTEND_PORT:Kn.string().transform((n)=>Number.parseInt(n,10)),FRONTEND_ORIGINS:Kn.string().transform((n)=>JSON.parse(n)).pipe(Kn.array(Kn.string())),OPENAI_API_KEY:Kn.string().optional()},clientPrefix:"VITE_",client:{VITE_BACKEND_ORIGIN:Kn.string(),VITE_USE_SELF_SIGNED_CERTIFICATE:Kn.union([Kn.literal("true"),Kn.literal("false")]).optional().transform((n)=>n==="true")},runtimeEnv:import.meta.env,emptyStringAsUndefined:!0});var aR=z0(import.meta.dirname,"../dev"),Q0=Pn.VITE_USE_SELF_SIGNED_CERTIFICATE?{cert:fR(z0(aR,"./cert.pem"),"utf-8"),key:fR(z0(aR,"./key.pem"),"utf-8")}:void 0;var $c=new Qa,mn=Pn.VITE_USE_SELF_SIGNED_CERTIFICATE?console:$c.logger;d.STORE.loggers[0]=new Wc("warn",void 0,mn);if(mn!==console)Object.assign(console,mn,{log:mn.info});import{spawn as NY}from"child_process";import{resolve as hY}from"path";function E0(n,i,o=n.logger){let c=Pn.RUN_WORKERS_FROM_SOURCE?"ts":"js",p=i.endsWith(".bun")?"bun":"node",m=[hY(import.meta.dir,`${i}.${c}`)];if(p==="node"&&c==="ts")m.push("--experimental-strip-types");let f=NY(p,m);return new Jx(f,i,o)}var vR=$a(av(),1);var CY=604800000,hf=(()=>{let{__userSessionMap:n}=globalThis;if(!n){n=globalThis.__userSessionMap=new Map;let i=new vR.CronJob("00 00 03 * * *",()=>{for(let[o,c]of n.entries()){let p=Date.now();for(let[x,m]of c.entries())if(p-m>CY)c.delete(x);if(c.size===0)n.delete(o)}});i.start(),process.on("exit",()=>{i.stop(),mn.info("\uD83D\uDEEC autoExpiry stopped")})}return n})();import _2 from"path";import $2 from"os";import w2 from"fs";var Cf=new Map,O0=new Map,U0=Symbol("OriginError"),Pp={};class io extends Promise{constructor(n,i,o,c,p={}){let x,m;super((f,a)=>{x=f,m=a});this.tagged=Array.isArray(n.raw),this.strings=n,this.args=i,this.handler=o,this.canceller=c,this.options=p,this.state=null,this.statement=null,this.resolve=(f)=>(this.active=!1,x(f)),this.reject=(f)=>(this.active=!1,m(f)),this.active=!1,this.cancelled=null,this.executed=!1,this.signature="",this[U0]=this.handler.debug?new Error:this.tagged&&uY(this.strings)}get origin(){return(this.handler.debug?this[U0].stack:this.tagged&&O0.has(this.strings)?O0.get(this.strings):O0.set(this.strings,this[U0].stack).get(this.strings))||""}static get[Symbol.species](){return Promise}cancel(){return this.canceller&&(this.canceller(this),this.canceller=null)}simple(){return this.options.simple=!0,this.options.prepare=!1,this}async readable(){return this.simple(),this.streaming=!0,this}async writable(){return this.simple(),this.streaming=!0,this}cursor(n=1,i){if(this.options.simple=!1,typeof n==="function")i=n,n=1;if(this.cursorRows=n,typeof i==="function")return this.cursorFn=i,this;let o;return{[Symbol.asyncIterator]:()=>({next:()=>{if(this.executed&&!this.active)return{done:!0};o&&o();let c=new Promise((p,x)=>{this.cursorFn=(m)=>{return p({value:m,done:!1}),new Promise((f)=>o=f)},this.resolve=()=>(this.active=!1,p({done:!0})),this.reject=(m)=>(this.active=!1,x(m))});return this.execute(),c},return(){return o&&o(Pp),{done:!0}}})}}describe(){return this.options.simple=!1,this.onlyDescribe=this.options.prepare=!0,this}stream(){throw new Error(".stream has been renamed to .forEach")}forEach(n){return this.forEachFn=n,this.handle(),this}raw(){return this.isRaw=!0,this}values(){return this.isRaw="values",this}async handle(){!this.executed&&(this.executed=!0)&&await 1&&this.handler(this)}execute(){return this.handle(),this}then(){return this.handle(),super.then.apply(this,arguments)}catch(){return this.handle(),super.catch.apply(this,arguments)}finally(){return this.handle(),super.finally.apply(this,arguments)}}function uY(n){if(Cf.has(n))return Cf.get(n);let i=Error.stackTraceLimit;return Error.stackTraceLimit=4,Cf.set(n,new Error),Error.stackTraceLimit=i,Cf.get(n)}class sp extends Error{constructor(n){super(n.message);this.name=this.constructor.name,Object.assign(this,n)}}var tn={connection:$R,postgres:wR,generic:JR,notSupported:AR};function $R(n,i,o){let{host:c,port:p}=o||i,x=Object.assign(new Error("write "+n+" "+(i.path||c+":"+p)),{code:n,errno:n,address:i.path||c},i.path?{}:{port:p});return Error.captureStackTrace(x,$R),x}function wR(n){let i=new sp(n);return Error.captureStackTrace(i,wR),i}function JR(n,i){let o=Object.assign(new Error(n+": "+i),{code:n});return Error.captureStackTrace(o,JR),o}function AR(n){let i=Object.assign(new Error(n+" (B) is not supported"),{code:"MESSAGE_NOT_SUPPORTED",name:n});return Error.captureStackTrace(i,AR),i}var IY={string:{to:25,from:null,serialize:(n)=>""+n},number:{to:0,from:[21,23,26,700,701],serialize:(n)=>""+n,parse:(n)=>+n},json:{to:114,from:[114,3802],serialize:(n)=>JSON.stringify(n),parse:(n)=>JSON.parse(n)},boolean:{to:16,from:16,serialize:(n)=>n===!0?"t":"f",parse:(n)=>n==="t"},date:{to:1184,from:[1082,1114,1184],serialize:(n)=>(n instanceof Date?n:new Date(n)).toISOString(),parse:(n)=>new Date(n)},bytea:{to:17,from:17,serialize:(n)=>"\\x"+Buffer.from(n).toString("hex"),parse:(n)=>Buffer.from(n.slice(2),"hex")}};class yf{then(){V0()}catch(){V0()}finally(){V0()}}class gx extends yf{constructor(n){super();this.value=qf(n)}}class Eo extends yf{constructor(n,i,o){super();this.value=n,this.type=i,this.array=o}}class kf extends yf{constructor(n,i){super();this.first=n,this.rest=i}build(n,i,o,c){let p=yY.map(([x,m])=>({fn:m,i:n.search(x)})).sort((x,m)=>x.i-m.i).pop();return p.i===-1?L0(this.first,c):p.fn(this.first,this.rest,i,o,c)}}function Zf(n,i,o,c){let p=n instanceof Eo?n.value:n;if(p===void 0){if(n instanceof Eo?n.value=c.transform.undefined:p=n=c.transform.undefined,p===void 0)throw tn.generic("UNDEFINED_VALUE","Undefined values are not allowed")}return"$"+o.push(n instanceof Eo?(i.push(n.value),n.array?n.array[n.type||If(n.value)]||n.type||XR(n.value):n.type):(i.push(n),If(n)))}var FR=KR(IY);function b0(n,i,o,c,p,x){for(let m=1;m<n.strings.length;m++)i+=j0(i,o,c,p,x)+n.strings[m],o=n.args[m];return i}function j0(n,i,o,c,p){return i instanceof kf?i.build(n,o,c,p):i instanceof io?B0(i,o,c,p):i instanceof gx?i.value:i&&i[0]instanceof io?i.reduce((x,m)=>x+" "+B0(m,o,c,p),""):Zf(i,o,c,p)}function B0(n,i,o,c){return n.fragment=!0,b0(n,n.strings[0],n.args[0],i,o,c)}function RR(n,i,o,c,p){return n.map((x)=>"("+c.map((m)=>j0("values",x[m],i,o,p)).join(",")+")").join(",")}function TR(n,i,o,c,p){let x=Array.isArray(n[0]),m=i.length?i.flat():Object.keys(x?n[0]:n);return RR(x?n:[n],o,c,m,p)}function uf(n,i,o,c,p){if(typeof n==="string"&&(n=[n].concat(i)),Array.isArray(n))return L0(n,p);let x;return(i.length?i.flat():Object.keys(n)).map((f)=>{return x=n[f],(x instanceof io?B0(x,o,c,p):x instanceof gx?x.value:Zf(x,o,c,p))+" as "+qf(p.transform.column.to?p.transform.column.to(f):f)}).join(",")}var yY=Object.entries({values:TR,in:(...n)=>{let i=TR(...n);return i==="()"?"(null)":i},select:uf,as:uf,returning:uf,"\\(":uf,update(n,i,o,c,p){return(i.length?i.flat():Object.keys(n)).map((x)=>qf(p.transform.column.to?p.transform.column.to(x):x)+"="+j0("values",n[x],o,c,p))},insert(n,i,o,c,p){let x=i.length?i.flat():Object.keys(Array.isArray(n)?n[0]:n);return"("+L0(x,p)+")values"+RR(Array.isArray(n)?n:[n],o,c,x,p)}}).map(([n,i])=>[new RegExp("((?:^|[\\s(])"+n+"(?:$|[\\s(]))(?![\\s\\S]*\\1)","i"),i]);function V0(){throw tn.generic("NOT_TAGGED_CALL","Query not called as a tagged template literal")}var{serializers:kY,parsers:ZY}=FR;function XR(n){if(Array.isArray(n))return XR(n[0]);return typeof n==="string"?1009:0}var WR=function(n){let i=KR(n||{});return{serializers:Object.assign({},kY,i.serializers),parsers:Object.assign({},ZY,i.parsers)}};function KR(n){return Object.keys(n).reduce((i,o)=>{if(n[o].from&&[].concat(n[o].from).forEach((c)=>i.parsers[c]=n[o].parse),n[o].serialize)i.serializers[n[o].to]=n[o].serialize,n[o].from&&[].concat(n[o].from).forEach((c)=>i.serializers[c]=n[o].serialize);return i},{parsers:{},serializers:{}})}function L0(n,{transform:{column:i}}){return n.map((o)=>qf(i.to?i.to(o):o)).join(",")}var qf=function n(i){return'"'+i.replace(/"/g,'""').replace(/\./g,'"."')+'"'},If=function n(i){return i instanceof Eo?i.type:i instanceof Date?1184:i instanceof Uint8Array?17:i===!0||i===!1?16:typeof i==="bigint"?20:Array.isArray(i)?n(i[0]):0},qY=/\\/g,PY=/"/g;function sY(n){return n.replace(qY,"\\\\").replace(PY,"\\\"")}var SR=function n(i,o,c,p){if(Array.isArray(i)===!1)return i;if(!i.length)return"{}";let x=i[0],m=p===1020?";":",";if(Array.isArray(x)&&!x.type)return"{"+i.map((f)=>n(f,o,c,p)).join(m)+"}";return"{"+i.map((f)=>{if(f===void 0){if(f=c.transform.undefined,f===void 0)throw tn.generic("UNDEFINED_VALUE","Undefined values are not allowed")}return f===null?"null":'"'+sY(o?o(f.type?f.value:f):""+f)+'"'}).join(m)+"}"},_0={i:0,char:null,str:"",quoted:!1,last:0},GR=function n(i,o,c){return _0.i=_0.last=0,YR(_0,i,o,c)};function YR(n,i,o,c){let p=[],x=c===1020?";":",";for(;n.i<i.length;n.i++){if(n.char=i[n.i],n.quoted)if(n.char==="\\")n.str+=i[++n.i];else if(n.char==='"')p.push(o?o(n.str):n.str),n.str="",n.quoted=i[n.i+1]==='"',n.last=n.i+2;else n.str+=n.char;else if(n.char==='"')n.quoted=!0;else if(n.char==="{")n.last=++n.i,p.push(YR(n,i,o,c));else if(n.char==="}"){n.quoted=!1,n.last<n.i&&p.push(o?o(i.slice(n.last,n.i)):i.slice(n.last,n.i)),n.last=n.i+1;break}else if(n.char===x&&n.p!=="}"&&n.p!=='"')p.push(o?o(i.slice(n.last,n.i)):i.slice(n.last,n.i)),n.last=n.i+1;n.p=n.char}return n.last<n.i&&p.push(o?o(i.slice(n.last,n.i+1)):i.slice(n.last,n.i+1)),p}var yc=(n)=>{let i=n[0];for(let o=1;o<n.length;o++)i+=n[o]==="_"?n[++o].toUpperCase():n[o];return i},kc=(n)=>{let i=n[0].toUpperCase();for(let o=1;o<n.length;o++)i+=n[o]==="_"?n[++o].toUpperCase():n[o];return i},Zc=(n)=>n.replace(/_/g,"-"),sx=(n)=>n.replace(/([A-Z])/g,"_$1").toLowerCase(),rx=(n)=>(n.slice(0,1)+n.slice(1).replace(/([A-Z])/g,"_$1")).toLowerCase(),tx=(n)=>n.replace(/-/g,"_");function D0(n){return function i(o,c){return typeof o==="object"&&o!==null&&(c.type===114||c.type===3802)?Array.isArray(o)?o.map((p)=>i(p,c)):Object.entries(o).reduce((p,[x,m])=>Object.assign(p,{[n(x)]:i(m,c)}),{}):o}}yc.column={from:yc};yc.value={from:D0(yc)};sx.column={to:sx};var N0={...yc};N0.column.to=sx;kc.column={from:kc};kc.value={from:D0(kc)};rx.column={to:rx};var h0={...kc};h0.column.to=rx;Zc.column={from:Zc};Zc.value={from:D0(Zc)};tx.column={to:tx};var C0={...Zc};C0.column.to=tx;import lR from"net";import dY from"tls";import dx from"crypto";import u0 from"stream";import{performance as HR}from"perf_hooks";class qc extends Array{constructor(){super();Object.defineProperties(this,{count:{value:null,writable:!0},state:{value:null,writable:!0},command:{value:null,writable:!0},columns:{value:null,writable:!0},statement:{value:null,writable:!0}})}static get[Symbol.species](){return Array}}var yi=rY;function rY(n=[]){let i=n.slice(),o=0;return{get length(){return i.length-o},remove:(c)=>{let p=i.indexOf(c);return p===-1?null:(i.splice(p,1),c)},push:(c)=>(i.push(c),c),shift:()=>{let c=i[o++];if(o===i.length)o=0,i=[];else i[o-1]=void 0;return c}}}var zi=Buffer.allocUnsafe(256),tY="BCcDdEFfHPpQSX".split("").reduce((n,i)=>{let o=i.charCodeAt(0);return n[i]=()=>{return zi[0]=o,Qn.i=5,Qn},n},{}),Qn=Object.assign(gY,tY,{N:String.fromCharCode(0),i:0,inc(n){return Qn.i+=n,Qn},str(n){let i=Buffer.byteLength(n);return Pf(i),Qn.i+=zi.write(n,Qn.i,i,"utf8"),Qn},i16(n){return Pf(2),zi.writeUInt16BE(n,Qn.i),Qn.i+=2,Qn},i32(n,i){if(i||i===0)return zi.writeUInt32BE(n,i),Qn;return Pf(4),zi.writeUInt32BE(n,Qn.i),Qn.i+=4,Qn},z(n){return Pf(n),zi.fill(0,Qn.i,Qn.i+n),Qn.i+=n,Qn},raw(n){return zi=Buffer.concat([zi.subarray(0,Qn.i),n]),Qn.i=zi.length,Qn},end(n=1){zi.writeUInt32BE(Qn.i-n,n);let i=zi.subarray(0,Qn.i);return Qn.i=0,zi=Buffer.allocUnsafe(256),i}}),P=Qn;function Pf(n){if(zi.length-Qn.i<n){let i=zi,o=i.length;zi=Buffer.allocUnsafe(o+(o>>1)+n),i.copy(zi)}}function gY(){return Qn.i=0,Qn}var k0=QR,eY=1,wc=P().S().end(),MR=P().H().end(),n2=P().i32(8).i32(80877103).end(8),i2=Buffer.concat([P().E().str(P.N).i32(0).end(),wc]),o2=P().D().str("S").str(P.N).end(),rp=()=>{},c2=new Set(["FetchPreparedStatement","RevalidateCachedQuery","transformAssignedExpr"]),p2={83:"severity_local",86:"severity",67:"code",77:"message",68:"detail",72:"hint",80:"position",112:"internal_position",113:"internal_query",87:"where",115:"schema_name",116:"table_name",99:"column_name",100:"data type_name",110:"constraint_name",70:"file",76:"line",82:"routine"};function QR(n,i={},{onopen:o=rp,onend:c=rp,onclose:p=rp}={}){let{ssl:x,max:m,user:f,host:a,port:v,database:$,parsers:w,transform:J,onnotice:X,onnotify:W,onparameter:R,max_pipeline:S,keep_alive:l,backoff:H,target_session_attrs:I}=n,Y=yi(),z=eY++,E={pid:null,secret:null},Q=y0(fa,n.idle_timeout),b=y0(fa,n.max_lifetime),y=y0(m3,n.connect_timeout),M=null,fn,Z=new qc,an=Buffer.alloc(0),En=n.fetch_types,gn={},_i={},Oo=Math.random().toString(36).slice(2),O=1,q=0,Rn=0,Dn=0,dn=0,vn=0,_n=0,sn=0,hn=null,jn=null,Ti=!1,Bn=null,oo=null,Fi=null,Co=null,en=null,Ln=null,co=null,Xo=null,_=null,nx=null,Ri={queue:i.closed,idleTimer:Q,connect(A){Fi=A||!0,X$()},terminate:ox,execute:ix,cancel:o3,end:fa,count:0,id:z};return i.closed&&i.closed.push(Ri),Ri;async function i3(){let A;try{A=n.socket?await Promise.resolve(n.socket(n)):new lR.Socket}catch(K){tc(K);return}return A.on("error",tc),A.on("close",W$),A.on("drain",F$),A}async function o3({pid:A,secret:K},s,Xn){try{fn=P().i32(16).i32(80877102).i32(A).i32(K).end(16),await R$(),M.once("error",Xn),M.once("close",s)}catch(In){Xn(In)}}function ix(A){if(Ti)return xm(A,tn.connection("CONNECTION_DESTROYED",n));if(A.cancelled)return;try{return A.state=E,_?Y.push(A):(_=A,_.active=!0),x3(A),$i(c3(A))&&!A.describeFirst&&!A.cursorFn&&Y.length<S&&(!A.options.onexecute||A.options.onexecute(Ri))}catch(K){return Y.length===0&&$i(wc),Wo(K),!0}}function c3(A){if(A.parameters.length>=65534)throw tn.generic("MAX_PARAMETERS_EXCEEDED","Max number of parameters (65534) exceeded");return A.options.simple?P().Q().str(A.statement.string+P.N).end():A.describeFirst?Buffer.concat([J$(A),MR]):A.prepare?A.prepared?pm(A):Buffer.concat([J$(A),pm(A)]):p3(A)}function J$(A){return Buffer.concat([S$(A.statement.string,A.parameters,A.statement.types,A.statement.name),k3("S",A.statement.name)])}function pm(A){return Buffer.concat([y3(A.parameters,A.statement.types,A.statement.name,A.cursorName),A.cursorFn?G$("",A.cursorRows):i2])}function p3(A){return Buffer.concat([S$(A.statement.string,A.parameters,A.statement.types),o2,pm(A)])}function x3(A){let K=[],s=[],Xn=b0(A,A.strings[0],A.args[0],K,s,n);!A.tagged&&A.args.forEach((In)=>Zf(In,K,s,n)),A.prepare=n.prepare&&("prepare"in A.options?A.options.prepare:!0),A.string=Xn,A.signature=A.prepare&&s+Xn,A.onlyDescribe&&delete _i[A.signature],A.parameters=A.parameters||K,A.prepared=A.prepare&&A.signature in _i,A.describeFirst=A.onlyDescribe||K.length&&!A.prepared,A.statement=A.prepared?_i[A.signature]:{string:Xn,types:s,name:A.prepare?Oo+O++:""},typeof n.debug==="function"&&n.debug(z,Xn,K,s)}function $i(A,K){if(Ln=Ln?Buffer.concat([Ln,A]):Buffer.from(A),K||Ln.length>=1024)return A$(K);return jn===null&&(jn=setImmediate(A$)),!0}function A$(A){let K=M.write(Ln,A);return jn!==null&&clearImmediate(jn),Ln=jn=null,K}function m3(){Wo(tn.connection("CONNECT_TIMEOUT",n,M)),M.destroy()}async function T$(){if($i(n2),!await new Promise((K)=>M.once("data",(s)=>K(s[0]===83)))&&x==="prefer")return rc();M.removeAllListeners(),M=dY.connect({socket:M,servername:lR.isIP(M.host)?void 0:M.host,...x==="require"||x==="allow"||x==="prefer"?{rejectUnauthorized:!1}:x==="verify-full"?{}:typeof x==="object"?x:{}}),M.on("secureConnect",rc),M.on("error",tc),M.on("close",W$),M.on("drain",F$)}function F$(){!_&&o(Ri)}function ma(A){if(Bn){if(Bn.push(A),Rn-=A.length,Rn>=0)return}an=Bn?Buffer.concat(Bn,vn-Rn):an.length===0?A:Buffer.concat([an,A],an.length+A.length);while(an.length>4){if(vn=an.readUInt32BE(1),vn>=an.length){Rn=vn-an.length,Bn=[an];break}try{f3(an.subarray(0,vn+1))}catch(K){_&&(_.cursorFn||_.describeFirst)&&$i(wc),Wo(K)}an=an.subarray(vn+1),Rn=0,Bn=null}}async function R$(){if(Ti=!1,gn={},M||(M=await i3()),!M)return;if(y.start(),n.socket)return x?T$():rc();if(M.on("connect",x?T$:rc),n.path)return M.connect(n.path);M.ssl=x,M.connect(v[Dn],a[Dn]),M.host=a[Dn],M.port=v[Dn],Dn=(Dn+1)%v.length}function X$(){setTimeout(R$,q?q+_n-HR.now():0)}function rc(){try{_i={},En=n.fetch_types,Oo=Math.random().toString(36).slice(2),O=1,b.start(),M.on("data",ma),l&&M.setKeepAlive&&M.setKeepAlive(!0,1000*l);let A=q3();$i(A)}catch(A){tc(A)}}function tc(A){if(Ri.queue===i.connecting&&n.host[dn+1])return;Wo(A);while(Y.length)xm(Y.shift(),A)}function Wo(A){en&&(en.destroy(A),en=null),_&&xm(_,A),Fi&&(xm(Fi,A),Fi=null)}function xm(A,K){"query"in K||"parameters"in K||Object.defineProperties(K,{stack:{value:K.stack+A.origin.replace(/.*\n/,`
|
|
61
61
|
`),enumerable:n.debug},query:{value:A.string,enumerable:n.debug},parameters:{value:A.parameters,enumerable:n.debug},args:{value:A.args,enumerable:n.debug},types:{value:A.statement&&A.statement.types,enumerable:n.debug}}),A.reject(K)}function fa(){return Co||(!Ri.reserved&&c(Ri),!Ri.reserved&&!Fi&&!_&&Y.length===0?(ox(),new Promise((A)=>M&&M.readyState!=="closed"?M.once("close",A):A())):Co=new Promise((A)=>co=A))}function ox(){if(Ti=!0,en||_||Fi||Y.length)tc(tn.connection("CONNECTION_DESTROYED",n));if(clearImmediate(jn),M)M.removeListener("data",ma),M.removeListener("connect",rc),M.readyState==="open"&&M.end(P().X().end());co&&(co(),Co=co=null)}async function W$(A){if(an=Buffer.alloc(0),Rn=0,Bn=null,clearImmediate(jn),M.removeListener("data",ma),M.removeListener("connect",rc),Q.cancel(),b.cancel(),y.cancel(),M.removeAllListeners(),M=null,Fi)return X$();!A&&(_||Y.length)&&tc(tn.connection("CONNECTION_CLOSED",n,M)),q=HR.now(),A&&n.shared.retries++,_n=(typeof H==="function"?H(n.shared.retries):H)*1000,p(Ri,tn.connection("CONNECTION_CLOSED",n,M))}function f3(A,K=A[0]){(K===68?a3:K===100?j3:K===65?O3:K===83?v3:K===90?$3:K===67?w3:K===50?K$:K===49?J3:K===116?A3:K===84?T3:K===82?F3:K===110?G3:K===75?Y3:K===69?Q3:K===115?U3:K===51?V3:K===71?_3:K===78?D3:K===72?B3:K===99?L3:K===73?N3:K===86?h3:K===118?C3:K===87?b3:u3)(A)}function a3(A){let K=7,s,Xn,In,Xi=_.isRaw?new Array(_.statement.columns.length):{};for(let Qi=0;Qi<_.statement.columns.length;Qi++)Xn=_.statement.columns[Qi],s=A.readInt32BE(K),K+=4,In=s===-1?null:_.isRaw===!0?A.subarray(K,K+=s):Xn.parser===void 0?A.toString("utf8",K,K+=s):Xn.parser.array===!0?Xn.parser(A.toString("utf8",K+1,K+=s)):Xn.parser(A.toString("utf8",K,K+=s)),_.isRaw?Xi[Qi]=_.isRaw===!0?In:J.value.from?J.value.from(In,Xn):In:Xi[Xn.name]=J.value.from?J.value.from(In,Xn):In;_.forEachFn?_.forEachFn(J.row.from?J.row.from(Xi):Xi,Z):Z[sn++]=J.row.from?J.row.from(Xi):Xi}function v3(A){let[K,s]=A.toString("utf8",5,A.length-1).split(P.N);if(gn[K]=s,n.parameters[K]!==s)n.parameters[K]=s,R&&R(K,s)}function $3(A){if(_&&_.options.simple&&_.resolve(oo||Z),_=oo=null,Z=new qc,y.cancel(),Fi){if(I){if(!gn.in_hot_standby||!gn.default_transaction_read_only)return z3();else if(M3(I,gn))return ox()}if(En)return Fi===!0&&(Fi=null),l3();Fi!==!0&&ix(Fi),n.shared.retries=dn=0,Fi=null;return}while(Y.length&&(_=Y.shift())&&(_.active=!0,_.cancelled))QR(n).cancel(_.state,_.cancelled.resolve,_.cancelled.reject);if(_)return;Ri.reserved?!Ri.reserved.release&&A[5]===73?Co?ox():(Ri.reserved=null,o(Ri)):Ri.reserved():Co?ox():o(Ri)}function w3(A){sn=0;for(let K=A.length-1;K>0;K--){if(A[K]===32&&A[K+1]<58&&Z.count===null)Z.count=+A.toString("utf8",K+1,A.length-1);if(A[K-1]>=65){Z.command=A.toString("utf8",5,K),Z.state=E;break}}if(nx&&(nx(),nx=null),Z.command==="BEGIN"&&m!==1&&!Ri.reserved)return Wo(tn.generic("UNSAFE_TRANSACTION","Only use sql.begin, sql.reserved or max: 1"));if(_.options.simple)return K$();if(_.cursorFn)Z.count&&_.cursorFn(Z),$i(wc);_.resolve(Z)}function J3(){_.parsing=!1}function K$(){!Z.statement&&(Z.statement=_.statement),Z.columns=_.statement.columns}function A3(A){let K=A.readUInt16BE(5);for(let s=0;s<K;++s)!_.statement.types[s]&&(_.statement.types[s]=A.readUInt32BE(7+s*4));_.prepare&&(_i[_.signature]=_.statement),_.describeFirst&&!_.onlyDescribe&&($i(pm(_)),_.describeFirst=!1)}function T3(A){if(Z.command)oo=oo||[Z],oo.push(Z=new qc),Z.count=null,_.statement.columns=null;let K=A.readUInt16BE(5),s=7,Xn;_.statement.columns=Array(K);for(let In=0;In<K;++In){Xn=s;while(A[s++]!==0);let Xi=A.readUInt32BE(s),Qi=A.readUInt16BE(s+4),uo=A.readUInt32BE(s+6);_.statement.columns[In]={name:J.column.from?J.column.from(A.toString("utf8",Xn,s-1)):A.toString("utf8",Xn,s-1),parser:w[uo],table:Xi,number:Qi,type:uo},s+=18}if(Z.statement=_.statement,_.onlyDescribe)return _.resolve(_.statement),$i(wc)}async function F3(A,K=A.readUInt32BE(5)){(K===3?R3:K===5?X3:K===10?W3:K===11?K3:K===12?S3:K!==0?I3:rp)(A,K)}async function R3(){let A=await aa();$i(P().p().str(A).z(1).end())}async function X3(A){let K="md5"+await zR(Buffer.concat([Buffer.from(await zR(await aa()+f)),A.subarray(9)]));$i(P().p().str(K).z(1).end())}async function W3(){Xo=(await dx.randomBytes(18)).toString("base64"),P().p().str("SCRAM-SHA-256"+P.N);let A=P.i;$i(P.inc(4).str("n,,n=*,r="+Xo).i32(P.i-A-4,A).end())}async function K3(A){let K=A.toString("utf8",9).split(",").reduce((Qi,uo)=>(Qi[uo[0]]=uo.slice(2),Qi),{}),s=await dx.pbkdf2Sync(await aa(),Buffer.from(K.s,"base64"),parseInt(K.i),32,"sha256"),Xn=await sf(s,"Client Key"),In="n=*,r="+Xo+",r="+K.r+",s="+K.s+",i="+K.i+",c=biws,r="+K.r;hn=(await sf(await sf(s,"Server Key"),In)).toString("base64");let Xi="c=biws,r="+K.r+",p="+m2(Xn,Buffer.from(await sf(await x2(Xn),In))).toString("base64");$i(P().p().str(Xi).end())}function S3(A){if(A.toString("utf8",9).split(P.N,1)[0].slice(2)===hn)return;Wo(tn.generic("SASL_SIGNATURE_MISMATCH","The server did not return the correct signature")),M.destroy()}function aa(){return Promise.resolve(typeof n.pass==="function"?n.pass():n.pass)}function G3(){if(Z.statement=_.statement,Z.statement.columns=[],_.onlyDescribe)return _.resolve(_.statement),$i(wc)}function Y3(A){E.pid=A.readUInt32BE(5),E.secret=A.readUInt32BE(9)}async function l3(){En=!1,(await new io([`
|
|
62
62
|
select b.oid, b.typarray
|
|
63
63
|
from pg_catalog.pg_type a
|